High Ho!
Ist zwar nicht mehr ganz das Thema des Threads, aber für Angel_Dust:
Mit ein paar Codeschnipseln kannst du selber eine Anwesenheitsliste pro Termin mit einbauen. Dieses Script stammt im Ursprung von Cyberpagan für die Version 1.3, habe es dann selber an 1.4 modifiziert und jetzt in 1.4c eingebaut...
in die Tabelle
prefix_events werden zwei zusätzliche Spalten eingefügt:
bindanumber INT (11)
bindanames text
Hier nun die modifizierten Scripte:
index.php
ab ca. Zeile 854 hinter "function calViewEvent()"
function calBinDaEintrag($req) {
global $user, $bindauser, $bindanames, $bindanumber;
global $bindanumber2, $bindanames2, $bindaqry, $eid;
global $dbi, $userdata;
extract($req);
$eid = (int)$eid;
$qry="SELECT * FROM ".CAL_TABLE_EVENTS." WHERE eid=$eid AND activ=1";
$result = sql_query($qry, $dbi);
$event = sql_fetch_array($result, $dbi);
$bindanames = $event["bindanames"];
if (strlen($bindanames) < 3) {
$bindanames = " ";
}
$bindanumber = $event["bindanumber"];
$userdata=cookiedecode($user);
$bindauser = " ".$userdata[1]."<br>";
$bindanumber2 = $bindanumber + 1;
$bindanames2 = "$bindanames-$bindauser";
$bindaqry="UPDATE ".CAL_TABLE_EVENTS." SET bindanames = '$bindanames2', bindanumber = $bindanumber2 WHERE eid = ".$event["eid"]."";
$result = sql_query($bindaqry, $dbi);
echo "Danke, ".$userdata[1]."! Dein Eintrag wurde gespeichert!<br>";
echo "<a href=\"modules.php?name=Kalender&op=view&eid=".$event["eid"]."\">Zurück zum Termin</a>";
}
########################################################################################
function calBinDaAustrag($req) {
global $user, $bindauser, $bindanames, $bindanumber;
global $bindanumber2, $bindanames2, $bindaqry, $eid;
global $dbi, $userdata;
extract($req);
$eid = (int)$eid;
$qry="SELECT * FROM ".CAL_TABLE_EVENTS." WHERE eid=$eid AND activ=1";
$result = sql_query($qry, $dbi);
$event = sql_fetch_array($result, $dbi);
$bindanames = $event["bindanames"];
$bindanumber = $event["bindanumber"];
$userdata=cookiedecode($user);
$bindauser = "- ".$userdata[1]."<br>";
$bindanames2 = str_replace ($bindauser, "", $bindanames);
if (strlen($bindanames2) < 3) {
$bindanames2 = " ";
}
$bindanumber2 = $bindanumber - 1;
$bindaqry="UPDATE ".CAL_TABLE_EVENTS." SET bindanames = '$bindanames2', bindanumber = $bindanumber2 WHERE eid = ".$event["eid"]."";
$result = sql_query($bindaqry, $dbi);
echo "Danke, ".$userdata[1]."! Dein Eintrag wurde entfernt!<br>";
echo "<a href=\"modules.php?name=Kalender&op=view&eid=".$event["eid"]."\">Zurück zum Termin</a>";
}
außerdem ebenfalls in der
index.php:
ab ca. Zeile 1160 (hinter 'switch(req["op"])')
case "eintrag":
calBinDaEintrag($req);
break;
case "austrag":
calBinDaAustrag($req);
break;
außerdem noch in der Datei
includes/function.php:
die Funktion "calEventView" mit folgendem Code ersetzen:
function calEventView($event)
{
global $user, $bindauser, $bindanames, $bindanumber, $calconf, $dbi;
global $bindanames2, $bindanumer2;
global $bgcolor1, $bgcolor2, $bgcolor3, $textcolor1, $textcolor2;
$bindanames = $event["bindanames"];
$bindanumber = $event["bindanumber"];
if (is_user($user)) {
$userdata=cookiedecode($user);
$bindauser = "- ".$userdata[1]."<br>";
}
else {
$bindauser = "";
}
$eventsdates = calGetEventDates($event);
$event = array_merge($event, $eventsdates);
if (!empty($calconf['showlinks'])) {
$event["startDateLong"] = "<a href=\"" . CAL_MODULE_LINK . "&op=day&" . $event["startDateListLink"] . "\">" . $event["startDateLong"] . "</a>";
$event["endDateLong"] = "<a href=\"" . CAL_MODULE_LINK . "&op=day&" . $event["endDateListLink"] . "\">" . $event["endDateLong"] . "</a>";
}
$event["informant"] = (empty($event["informant"])) ? $GLOBALS["anonymous"] : $event["informant"];
$event["alldayevent"] = (empty($event["alldayevent"])) ? 0 : 1;
$event["categorie"] = calGetCurrentEventPoint($event["categorie"]);
$categoriealt = calGetBarColorAlt($event["categorie"]);
$event["title"] = strip_tags($event["title"]);
if (empty($event["title"])) {
$event["title"] = "<img src=\"" . CAL_IMAGE_PATH . "caution.gif\" alt=\"\" width=\"10\" height=\"21\" border=\"0\" align=\"middle\" vspace=\"5\" hspace=\"5\"> " . _CALNOSUBJECT . "";
}
$event["hometext"] = strip_tags($event["hometext"], calGetAllowedtags());
$event["hometext"] = (empty($event["hometext"])) ? $event["title"] : $event["hometext"];
if ($calconf['usetopics'] > 0) {
if (empty($event["topic"])) {
if (calIsAdmin()) {
if ($event["eid"]) {
$topicimage = "<a href=\"admin.php?op=CalendarEditEvent&eid=" . $event["eid"] . "\"><img src=\"" . $GLOBALS["tipath"] . "AllTopics.gif\" border=\"0\"><br /><span class='tiny'><img src=\"" . CAL_IMAGE_PATH . "caution.gif\" alt=\"\" width=\"10\" height=\"21\" border=\"0\" align=\"middle\" vspace=\"5\" hspace=\"5\">" . _CALSELECTTOPIC . "!</span></a>";
} else {
$topicimage = "<img src=\"" . $GLOBALS["tipath"] . "AllTopics.gif\" border=\"0\"><br /><span class='tiny'><img src=\"" . CAL_IMAGE_PATH . "caution.gif\" alt=\"\" width=\"10\" height=\"21\" border=\"0\" align=\"middle\" vspace=\"5\" hspace=\"5\">" . _CALSELECTTOPIC . "</span>";
}
} else {
$topicimage = "<img src=\"" . CAL_IMAGE_PATH . "calendar.gif\" width=\"32\" height=\"32\" border=\"0\">";
}
} else {
$result = sql_query("select topicimage, topictext from " . CAL_TABLE_MX_TOPICS . " where topicid=" . $event["topic"] . "", $dbi);
list($topicimage, $topictext) = sql_fetch_row($result, $dbi);
$topicimage = "<a href=\"" . CAL_MOD_TOPICSEARCH . $event["topic"] . "\"><img src=\"" . $GLOBALS["tipath"] . "" . $topicimage . "\" border=\"0\" alt=\"" . strip_tags($topictext) . "\" title=\"" . strip_tags($topictext) . "\"></a>";
}
} else {
$topicimage = "<img src=\"" . CAL_IMAGE_PATH . "calendar.gif\" width=\"32\" height=\"32\" border=\"0\">";
}
$colspan = ($event["alldayevent"]) ? "colspan=\"3\"" : "";
$rowspan = ($event["startTimestamp"] == $event["endTimestamp"]) ? "rowspan=\"2\"" : "";
OpenTable();
echo "<center>";
echo "<table width=\"90%\" border=\"0\" cellspacing=\"1\" cellpadding=\"4\" style=\"background-color: $bgcolor3;\">\n";
echo "<tr valign=\"top\"><td align=\"center\" colspan=\"5\" style=\"background-color: $bgcolor2;\"><br /><span class=\"title\">" . $event["title"] . "</span><br /><br /></td></tr>";
echo "<tr valign=\"top\">";
echo "<td nowrap style=\"background-color: $bgcolor2;\" $rowspan><span class=\"content\"><b>" . _CALEVENTDATETEXT . "</b>:</span></td>";
echo "<td nowrap style=\"background-color: $bgcolor1;\" $colspan $rowspan><span class=\"content\">" . $event["startDateLong"] . "</span></td>";
if (!$event["alldayevent"]) {
echo "<td nowrap style=\"background-color: $bgcolor2;\"><span class=\"content\"><b>" . _CALSTARTTIME . "</b>:</span></td>";
echo "<td style=\"background-color: $bgcolor1;\"><span class=\"content\">" . $event["startTimeFormat"] . "</span></td>";
}
echo "<td rowspan=\"4\" valign=\"top\" align=\"center\" style=\"background-color: $bgcolor2;\">$topicimage</td></tr>";
echo "<tr valign=\"top\">";
if ($event["startTimestamp"] != $event["endTimestamp"]) {
echo "<td style=\"background-color: $bgcolor2;\"><span class=\"content\"><b>" . _CALENDDATEPREVIEW . "</b>:</span></td>";
echo "<td nowrap style=\"background-color: $bgcolor1;\" $colspan><span class=\"content\">" . $event["endDateLong"] . "</span></td>";
}
if (!$event["alldayevent"]) {
echo "<td nowrap style=\"background-color: $bgcolor2;\"><span class=\"content\"><b>" . _CALENDTIME . "</b>:</span></td>";
echo "<td style=\"background-color: $bgcolor1;\"><span class=\"content\">" . $event["endTimeFormat"] . "</span></td>";
}
echo "</tr>";
echo "<tr valign=\"top\"><td style=\"background-color: $bgcolor2;\"><span class=\"content\"><b>" . _CALBARCOLORTEXT . "</b>:</span></td><td colspan=\"3\" style=\"background-color: $bgcolor1;\"><span class=\"content\"><img src=\"" . calGetBarImage("ball", $event["categorie"]) . "\" align=\"middle\" alt=\"$categoriealt\" title=\"$categoriealt\"> <a href=\"" . CAL_MODULE_LINK . "&op=list&" . $event["startDateListLink"] . "&col=" . $event["categorie"] . "\">$categoriealt</a></span></td></tr>";
echo "<tr valign=\"top\"><td style=\"background-color: $bgcolor2;\"><span class=\"content\"><b>" . _CALARTICLETEXT . "</b>:</span></td><td colspan=\"3\" style=\"background-color: $bgcolor1;\"><span class=\"content\">" . $event["hometext"] . "</span></td></tr>";
echo "<tr valign=\"top\"><td nowrap colspan=\"5\" align=\"center\" style=\"background-color: $bgcolor2;\"><span class=\"tiny\">";
if (!empty($calconf['showlinks']) && $event["informant"] != $GLOBALS["anonymous"]) {
echo "" . _CALPOSTEDBY . " <a href=\"" . CAL_MOD_USERINFO . $event["informant"] . "\"><span class=\"tiny\">" . $event["informant"] . "</span></a> " . _CALPOSTEDON . " " . $event["postDateShort"] . " ";
} else {
echo "" . _CALPOSTEDBY . " " . $event["informant"] . " " . _CALPOSTEDON . " " . $event["postDateShort"] . " ";
}
if ($event["aid"] != $event["informant"] && $event["aid"]) {
echo "" . _CALACCEPTEDBY . " " . $event["aid"] . "";
}
if (is_user($user)) {
$userdata=cookiedecode($user);
echo "<br>Wahrscheinlich anwesend: " .$bindanumber. " Mitglieder:<br>" .$bindanames. "<br></font>";
if(ereg($bindauser,$event["bindanames"])) {
#User hat sich schon eingetragen
echo "<a href=\"modules.php?name=Kalender&op=austrag&eid=".$event["eid"]."\">Ich bin wohl nicht da!</a>";
}
else {
#User hat sich noch nicht eingetragen
echo "<a href=\"modules.php?name=Kalender&op=eintrag&eid=".$event["eid"]."\">Ich bin wohl auch da!</a>";
}
echo "</td></tr>";
echo "</table><br>";
}
else {
echo "</span>";
echo "</td></tr>";
echo "</table>";
}
echo "</center>";
CloseTable();
echo "<br />";
}
Da hier mehrere Änderungen vorgenommen wurden, habe ich die ganze Funktion gepostet...
Ist relativ simpel gehalten aber immerhin schon mal eine Lösungsmöglichkeit....
Gruß
Cramp