1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
|
// wenn periodische Termine
// Termin festlegen, bis zu dem die Eintragungen erfogenen sollen
$date_bis = date("Y-m-d", mktime(0, 0, 0, $_POST['date_bis_month'], $_POST['date_bis_day'], $_POST['date_bis_year']));
//wenn Termin woechentlich
if($wiederkehrend=="jede_woche") {
while($eventdate < $date_bis) {
$db->unbuffered_query("INSERT INTO bb".$n."_events".
"(userid,termintyp,subject,event,eventdate,eventenddate, ".
"public,allowsmilies,allowhtml,allowbbcode,".
"allowimages,locationid,locationname,wiederkehrend) VALUES ('$wbbuserdata[userid]',".
"'".addslashes($termintyp)."','".addslashes($subject)."','".addslashes($message)."',".
"'$eventdate','$eventenddate','$public','$allowsmilies',".
"'$allowhtml','$allowbbcode','$allowimages','$event_location_id','$event_location_name','$wiederkehrend')",1);
$postid = $db->insert_id();
$postsubject = $subject;
// 7 Tage hinzufuegen
$plus7days = $db->unbuffered_query("SELECT DATE_ADD('$eventdate',INTERVAL 7 DAY)");
while($eventdate_new = $db->fetch_array($plus7days)) {
$eventdate = $eventdate_new[0];
}
$plus7days_end = $db->unbuffered_query("SELECT DATE_ADD('$eventenddate',INTERVAL 7 DAY)");
while($eventenddate_new = $db->fetch_array($plus7days_end)) {
$eventenddate = $eventenddate_new[0];
}
}
// Create Thread
if($event_create_thread && $type=="public") {
$boardid = intval($event_create_thread);
$board=getBoardAccessData($boardid);
if ($eventenddate>$eventdate) $event_thread_date=$day.".".$month.".".$year." - ".$endday.".".$endmonth.".".$endyear;
else $event_thread_date=$day.".".$month.".".$year;
if(!$board['boardid']) unset($boardid);
if(!$boardid) eval("error(\"".$lang->get4eval("LANG_CALENDAR_ERROR_BOARD")."\");");
$prefix="";
if ($event_thread_prefix) $prefix=$event_thread_prefix;
if ($event_use_date_as_prefix) $prefix=$event_thread_date;
eval ("\$LANG_CALENDAR_THREAD_ONE = \"".$lang->get4eval("LANG_CALENDAR_THREAD_ONE")."\";");
$threadtext = $message.$LANG_CALENDAR_THREAD_ONE;
InsertEventThread($boardid,$subject,$threadtext,$prefix,$wbbuserdata['username'],$wbbuserdata['userid'],$wbbuserdata['userposts'],$wbbuserdata['rankgroupid'],$wbbuserdata['gender'],$wbbuserdata['rankid']);
$db->unbuffered_query("update bb".$n."_events SET threadid=$threadid WHERE eventid='$postid'",1);
$db->unbuffered_query("update bb".$n."_events SET threadid=$threadid WHERE threadid='0'AND subject='$postsubject'",1);
}
// wenn Termin alle 14 Tage
elseif($wiederkehrend=="alle_14_tage") {
while($eventdate < $date_bis) {
$db->unbuffered_query("INSERT INTO bb".$n."_events ".
"(userid,termintyp,subject,event,eventdate,eventenddate, ".
"public,allowsmilies,allowhtml,allowbbcode,".
"allowimages,locationid,locationname,wiederkehrend) VALUES ('$wbbuserdata[userid]',".
"'".addslashes($termintyp)."','".addslashes($subject)."','".addslashes($message)."',".
"'$eventdate','$eventenddate','$public','$allowsmilies',".
"'$allowhtml','$allowbbcode','$allowimages','$event_location_id','$event_location_name','$wiederkehrend')",1);
$postid = $db->insert_id();
$postsubject = $subject;
// 14 Tage hinzufuegen
$plus14days = $db->unbuffered_query("SELECT DATE_ADD('$eventdate',INTERVAL 14 DAY)");
while($eventdate_new = $db->fetch_array($plus14days)) {
$eventdate = $eventdate_new[0];
}
$plus14days_end = $db->unbuffered_query("SELECT DATE_ADD('$eventenddate',INTERVAL 14 DAY)");
while($eventenddate_new = $db->fetch_array($plus14days_end)) {
$eventenddate = $eventenddate_new[0];
}
}
// Create Thread
if($event_create_thread && $type=="public") {
$boardid = intval($event_create_thread);
$board=getBoardAccessData($boardid);
if ($eventenddate>$eventdate) $event_thread_date=$day.".".$month.".".$year." - ".$endday.".".$endmonth.".".$endyear;
else $event_thread_date=$day.".".$month.".".$year;
if(!$board['boardid']) unset($boardid);
if(!$boardid) eval("error(\"".$lang->get4eval("LANG_CALENDAR_ERROR_BOARD")."\");");
$prefix="";
if ($event_thread_prefix) $prefix=$event_thread_prefix;
if ($event_use_date_as_prefix) $prefix=$event_thread_date;
eval ("\$LANG_CALENDAR_THREAD_ONE = \"".$lang->get4eval("LANG_CALENDAR_THREAD_ONE")."\";");
$threadtext = $message.$LANG_CALENDAR_THREAD_ONE;
InsertEventThread($boardid,$subject,$threadtext,$prefix,$wbbuserdata['username'],$wbbuserdata['userid'],$wbbuserdata['userposts'],$wbbuserdata['rankgroupid'],$wbbuserdata['gender'],$wbbuserdata['rankid']);
$db->unbuffered_query("update bb".$n."_events SET threadid=$threadid WHERE eventid='$postid'",1);
$db->unbuffered_query("update bb".$n."_events SET threadid=$threadid WHERE threadid='0'AND subject='$postsubject'",1);
}
// wenn Termin monatlich (z.B.: an jedem zweiten Freitag eines Monates)
elseif($wiederkehrend=="monatlich") {
while($eventdate < $date_bis) {
$db->unbuffered_query("INSERT INTO bb".$n."_events ".
"(userid,termintyp,subject,event,eventdate,eventenddate, ".
"public,allowsmilies,allowhtml,allowbbcode,".
"allowimages,locationid,locationname,wiederkehrend) VALUES ('$wbbuserdata[userid]',".
"'".addslashes($termintyp)."','".addslashes($subject)."','".addslashes($message)."',".
"'$eventdate','$eventenddate','$public','$allowsmilies',".
"'$allowhtml','$allowbbcode','$allowimages','$event_location_id','$event_location_name','$wiederkehrend')",1);
$postid = $db->insert_id();
$postsubject = $subject;
//eventdate
// jahr, monat, wochentag und wievielter wochentag ermitteln
$eventdateexploded = explode("-", $eventdate);
$event_year = $eventdateexploded[0];
$event_month = $eventdateexploded[1];
$event_day = $eventdateexploded[2];
$event_dayname = date("w", mktime(0, 0, 0, $eventdateexploded[1], $eventdateexploded[2], $eventdateexploded[0]));
$wievielterwochentag = ceil($eventdateexploded[2] / 7);
// zum naechsten Monat springen und den richtigen wochentag einstellen
$eventdate_new = mktime(0, 0, 0, $eventdateexploded[1] + 1, $eventdateexploded[2], $eventdateexploded[0]);
while(date("w", $eventdate_new) <> $event_dayname) {
$eventdate_new = $eventdate_new + 86400;
}
if(ceil(date("d", $eventdate_new) / 7) > $wievielterwochentag){
if(ceil(date("d", $eventdate_new) / 7) - $wievielterwochentag == 1) $eventdate = date("Y-m-d", $eventdate_new - 604800);
elseif(ceil(date("d", $eventdate_new) / 7) - $wievielterwochentag == 2) $eventdate = date("Y-m-d", $eventdate_new - 604800);
elseif(ceil(date("d", $eventdate_new) / 7) - $wievielterwochentag == 3) $eventdate = date("Y-m-d", $eventdate_new - 1209600);
elseif(ceil(date("d", $eventdate_new) / 7) - $wievielterwochentag == 4) $eventdate = date("Y-m-d", $eventdate_new - 1814400);
else date("Y-m-d", $eventdate_new - 2419200);
}
elseif(ceil(date("d", $eventdate_new) / 7) < $wievielterwochentag){
if(ceil(date("d", $eventdate_new) / 7) - $wievielterwochentag == -1) $eventdate = date("Y-m-d", $eventdate_new + 604800);
elseif(ceil(date("d", $eventdate_new) / 7) - $wievielterwochentag == -2) $eventdate = date("Y-m-d", $eventdate_new + 604800);
elseif(ceil(date("d", $eventdate_new) / 7) - $wievielterwochentag == -3) $eventdate = date("Y-m-d", $eventdate_new + 1209600);
elseif(ceil(date("d", $eventdate_new) / 7) - $wievielterwochentag == -4) $eventdate = date("Y-m-d", $eventdate_new + 1814400);
else date("Y-m-d", $eventdate_new + 2419200);
}
else $eventdate = date("Y-m-d", $eventdate_new);
// $eventenddate
// jahr, monat, wochentag und wievielter wochentag ermitteln
$eventenddateexploded = explode("-", $eventenddate);
$eventend_year = $eventenddateexploded[0];
$eventend_month = $eventenddateexploded[1];
$eventend_day = $eventenddateexploded[2];
$eventend_dayname = date("w", mktime(0, 0, 0, $eventenddateexploded[1], $eventenddateexploded[2], $eventenddateexploded[0]));
$wievielterendwochentag = ceil($eventenddateexploded[2] / 7);
// zum naechsten Monat springen und den richtigen wochentag einstellen
$eventenddate_new = mktime(0, 0, 0, $eventenddateexploded[1] + 1, $eventenddateexploded[2], $eventenddateexploded[0]);
while(date("w", $eventenddate_new) <> $eventend_dayname) {
$eventenddate_new = $eventenddate_new + 86400;
}
if(ceil(date("d", $eventenddate_new) / 7) > $wievielterendwochentag){
if(ceil(date("d", $eventenddate_new) / 7) - $wievielterendwochentag == 1) $eventenddate = date("Y-m-d", $eventenddate_new - 604800);
elseif(ceil(date("d", $eventenddate_new) / 7) - $wievielterendwochentag == 2) $eventenddate = date("Y-m-d", $eventenddate_new - 604800);
elseif(ceil(date("d", $eventenddate_new) / 7) - $wievielterendwochentag == 3) $eventenddate = date("Y-m-d", $eventenddate_new - 1209600);
elseif(ceil(date("d", $eventenddate_new) / 7) - $wievielterendwochentag == 4) $eventenddate = date("Y-m-d", $eventenddate_new - 1814400);
else date("Y-m-d", $eventenddate_new - 2419200);
}
elseif(ceil(date("d", $eventenddate_new) / 7) < $wievielterwochentag){
if(ceil(date("d", $eventenddate_new) / 7) - $wievielterendwochentag == -1) $eventenddate = date("Y-m-d", $eventenddate_new + 604800);
elseif(ceil(date("d", $eventenddate_new) / 7) - $wievielterendwochentag == -2) $eventenddate = date("Y-m-d", $eventenddate_new + 604800);
elseif(ceil(date("d", $eventenddate_new) / 7) - $wievielterendwochentag == -3) $eventenddate = date("Y-m-d", $eventenddate_new + 1209600);
elseif(ceil(date("d", $eventenddate_new) / 7) - $wievielterendwochentag == -4) $eventenddate = date("Y-m-d", $eventenddate_new + 1814400);
else date("Y-m-d", $eventenddate_new + 2419200);
}
else $eventenddate = date("Y-m-d", $eventenddate_new);
}
// Create Thread
if($event_create_thread && $type=="public") {
$boardid = intval($event_create_thread);
$board=getBoardAccessData($boardid);
if ($eventenddate>$eventdate) $event_thread_date=$day.".".$month.".".$year." - ".$endday.".".$endmonth.".".$endyear;
else $event_thread_date=$day.".".$month.".".$year;
if(!$board['boardid']) unset($boardid);
if(!$boardid) eval("error(\"".$lang->get4eval("LANG_CALENDAR_ERROR_BOARD")."\");");
$prefix="";
if ($event_thread_prefix) $prefix=$event_thread_prefix;
if ($event_use_date_as_prefix) $prefix=$event_thread_date;
eval ("\$LANG_CALENDAR_THREAD_ONE = \"".$lang->get4eval("LANG_CALENDAR_THREAD_ONE")."\";");
$threadtext = $message.$LANG_CALENDAR_THREAD_ONE;
InsertEventThread($boardid,$subject,$threadtext,$prefix,$wbbuserdata['username'],$wbbuserdata['userid'],$wbbuserdata['userposts'],$wbbuserdata['rankgroupid'],$wbbuserdata['gender'],$wbbuserdata['rankid']);
$db->unbuffered_query("update bb".$n."_events SET threadid=$threadid WHERE eventid='$postid'",1);
$db->unbuffered_query("update bb".$n."_events SET threadid=$threadid WHERE threadid='0'AND subject='$postsubject'",1);
}
// Ende periodische Termine - original Prozedur
else { |