Servus zusammen
wollte mal Nachfragen wie der Stand aussieht mit dem Kalender Update das im Thema "KalenderMx 1.4 (Bin dabei)" diskutiert wurde. Scheinbar hat PapaMike, der das ursprünglich mal angefangen hat, die vorhandenen Code-Schnipsel weitergegeben. Es ging ja darum das im Kalender pro Termin eine Mitglieder An-/Abmeldung (Bin dabei) hinzugefügt wird.
Gibts da irgendwelche Infos drüber?
mfg
AngeL_DusT
Hi :)
Ja, das soll rein und wird kommen.
Aber einen Termin kann ich leider noch nicht nennen, sorry :(
Thx dir fürs Info Andi :)
Ich hoffe das der Kalender bis Oktober fertig wird, wär ne voll geniale Sache für unsere Eishockeytermine wo sich unsere Spieler zu Trainings und Spiele an-/abmelden könnten. Geht ja noch ne Weile bis die Saison wieder beginnt, erst mal Sommer geniessen. ;)
mfg
AngeL_DusT / aka Hene
Und wenn Ihr schon den Kalender überarbeitet,
dann kuckt doch ob evtl. ständig wiederkehrende Termine mit nur einmaligem anlegen
eingepflegt werden könnten.
Und das man evtl. die Möglichkeit bekämme,
die Beschreibung aufzugliedern in verschiedene weitere Punkte mit seperatem Eingabefeld.
z.B. für
Eintritt:
Veranstalter:
min. Alter:
Dresscode:
Beschreibung:
etc...
Danke Gruß
Nehmt doch bestimmte Modulwünsche als Sticky damit nicht jeder nen Thread aufmacht.
Es gibt schon einige Modulwünsche die zur Zeit in der PragmaMx 0.2 integriert werden.
Was du aber mit Sticky meinst ist mir ein rätzel :)
Vorab:
es gibt noch keinerlei Terminvorstellungen wann es in der Entwicklung des Kalenders weitergeht.
Nachfolgend die Features/Todo Liste für die nächsten Kalenderversionen:
- wiederkehrende Termine
http://www.pragmamx.org/modules.php?name=Forum&topic=7852.0
- Geburtstage
http://www.pragmamx.org/modules.php?name=Forum&topic=9196.0
- Ausblenden Enddatum/-zeit --- deepsleep
http://www.pragmamx.org/modules.php?name=Forum&topic=10584.0
http://www.pragmamx.org/modules.php?name=Forum&topic=11193.0
- Kalender mit "bin dabei"
http://www.pragmamx.org/modules.php?name=Forum&topic=8909.0
- Filter und Suche über mehrere Kategorien
http://www.pragmamx.org/modules.php?name=Forum&topic=11144.0
- bbCode oder wysiwyg?
http://www.pragmamx.org/modules.php?name=Forum&topic=11248.0
- Wochenansicht
- User können eigene termine ändern/löschen
- Terminänderungsvorschläge
- Kommentarfunktion
- Multilinguale Termine
- Newsartikel über ID verknüpfen
- komplette News-Ansicht?
- Löschfunktionen für alte Termine
- Benachrichtigen/Erinnern bei Terminen
- Adminbenachrichtigung bei Neueingänegn/Änderungswünschen
Ich glaube auch nicht, dass es überhaupt noch eine phpNuke kompatible Version geben wird.
Es widerspricht eigentlich dem Gedanken unser eignes CMS voranzubringen und dann irgendwas für phpNuke zu coden...
Schade, solange es diesen neuen Kalender noch nicht gibt muss ich wohl noch
bei Mambo CMS bleiben. Würde gerne umsteigen, da Phpnuke bzw. PragmaMX
zahlreiche Module bietet. Der Event Kalender ist bisher bei Mambo unübertroffen.
was ist so besonders an dem kalender von mambo?
Ich freu mich dann auch schon mal auf den Kalender, wann immer er auch kommen mag. Ich habe viele Termine, die wiederkehrend sind, ist etwas mühsam, aber Geduld ist ja eine Tugend ;)
PS.
Ich finde Eure Arbeit hier wirklich toll, stelle aber fest, dass so mancher User dies nicht besonders würdigt. Finde den Schreibstil manchmal schon ziemlich bedenklich, etwa so "wann ist denn das endlich fertig etc." *kopfschüttel*
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
also erstmal grosses lob für den kalender :)
aber ich hab ne frage ;)
und zwar hab ich ja nun auch gelesen, das die version 1.5 irgendwann kommen soll, abe rkein termin da ist (versteh ich nur zu gut, hab auch schon nen antrag gestellt das der tag doch bitte 36 stunden haben möge)
gibts aber trotzdem vielleicht ne möglichkeit in der aktuellen version 1.4c die endzeit auszublenden (in der listenansicht gehts ja) bzw irgendwo ne zeile auszukommentieren das er nicht mehr abfragt ob die endzeit des termins VOR der startzeit des termins liegt ?
muss auch nix sauber gecodetes sein. mir würds reichen das erstmal soweit nur auszublenden (oder das er die endzeit einfach komplett ignoriert ) also startzeit zwar angeben und anzeigen aber endzeit einfach komplett NICHT anzuzeigen und auch nicht anzugeben zu müssen.
oder kann ich evtl nen platzhalter für die endzeit setzen (ein fargezeichen oder sowas) das man einfach auswählen könnte.
lg spike