Kalender Mx 1.5?

Begonnen von AngeL_DusT, 10 Juni 2005, 13:36:04

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

AngeL_DusT

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

Andi

Hi :)

Ja, das soll rein und wird kommen.
Aber einen Termin kann ich leider noch nicht nennen, sorry :(
schön´s Grüssle, Andi

AngeL_DusT

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


Atze

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ß


Fahr mal das Becks hoch!

susi18

Nehmt doch bestimmte Modulwünsche als Sticky damit nicht jeder nen Thread aufmacht.

Energy-drink

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 :)
Ich bin alt aber bezahlt.... ;-)
Ich würde ja gerne die Welt verändern,
aber Gott gibt mir den Quellcode nicht!

Andi

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...
schön´s Grüssle, Andi

susi18

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.

smartmusic

was ist so besonders an dem kalender von mambo?

pete

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*

Cramp

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 = "&nbsp;";
}
$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&uuml;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 = "&nbsp;";
}
$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&uuml;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 . "&amp;op=day&amp;" . $event["startDateListLink"] . "\">" . $event["startDateLong"] . "</a>";
        $event["endDateLong"] = "<a href=\"" . CAL_MODULE_LINK . "&amp;op=day&amp;" . $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&amp;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\">&nbsp;&nbsp;&nbsp;<a href=\"" . CAL_MODULE_LINK . "&amp;op=list&amp;" . $event["startDateListLink"] . "&amp;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

spike

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