Calendar 0.1.0 (alightner) und Event-Vorschau

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Calendar 0.1.0 (alightner) und Event-Vorschau

Beitrag von Helmut »

Hallo,

ich möchte für meine neue Homepage (ist noch nicht Online) auf der Startseite einen Bereich für die Vorschau von Events einrichten. Ich habe mir dazu schon eine Kopie der Datei includes/functions_calendar.php etwas angepasst und das funktioniert auch schon soweit, es werden alle Events des aktuellen Monats angezeigt.

Nun stehe ich aber an einem Problem und komme irgendwie nicht weiter. Ich möchte haben, dass nur die Events von aktuellen Tag und den nächsten 14 Tagen angezeigt werden, nicht aber zurück liegende Events des aktuellen Monats. Ich denke das hängt irgendwie mit der folgenden Stelle im Codes ab:

Code: Alles auswählen

[...]

function calendar_display_month()
{
    global $auth, $db, $user, $config, $template, $date, $available_etype_colors, $available_etype_images, $available_etype_display_names, $month_sel_code, $day_sel_code, $year_sel_code, $mode_sel_code;
    global $phpEx, $phpbb_root_path;

    init_calendar_data();
    init_view_selection_code("month");

[...]

    $counter = 0;
    for ($j = 1; $j < $number_days+1; $j++, $counter++)
    {

[...]

        if ( $user_can_view_events )
        {
            //find any events on this day
            $start_temp_date = gmmktime(0,0,0,$date['month_no'], $j, $date['year'])  - $user->timezone - $user->dst;            
            $end_temp_date = $start_temp_date + 86399;

            $sql = 'SELECT * FROM ' . CALENDAR_EVENTS_TABLE . '
                    WHERE ( (event_access_level = 2) OR
                        (event_access_level = 0 AND poster_id = '.$db->sql_escape($user->data['user_id']).' ) OR
                        (event_access_level = 1 AND ('.$db->sql_escape($group_options).'))) AND
                        ((( event_start_time >= '.$db->sql_escape($start_temp_date).' AND event_start_time <= '.$db->sql_escape($end_temp_date).' ) OR
                        ( event_end_time > '.$db->sql_escape($start_temp_date).' AND event_end_time <= '.$db->sql_escape($end_temp_date).' ) OR
                        ( event_start_time < '.$db->sql_escape($start_temp_date).' AND event_end_time > '.$db->sql_escape($end_temp_date)." )) OR
                        ((event_all_day = 1) AND (event_day LIKE '" . $db->sql_escape(sprintf('%2d-%2d-%4d', $j, $date['month_no'], $date['year'])) . "'))
                        ) ORDER BY etype_id, event_start_time ASC";


            $result = $db->sql_query($sql);
            while ($row = $db->sql_fetchrow($result))
            {
                $event_output['COLOR'] = $available_etype_colors[$row['etype_id']];
                $event_output['IMAGE'] = $available_etype_images[$row['etype_id']];
                $event_output['EVENT_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=event&calEid=".$row['event_id']);

[...]
 
Wie muss ich nun die Abfrage der Datenbank ändern, dass statt der Events des aktuellen Monats, nur die Events ab den aktuellen Tag des Monats und die kommenden 14 Tage angezeigt werden, auch wenn einige Termine dann in den folgenden Monat/Jahr fallen würden?

Die Events sollen dann zuerst nach Event Type und dann Event Datum/Tag sortiert ausgegeben werden.

Ich würde mich sehr über eure Hilfe freuen :)

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Re: Calendar 0.1.0 (alightner) und Event-Vorschau

Beitrag von Helmut »

Hallo,

mal hochschieb ..... :wink:

Habe leider bis jetzt noch keine Lösung gefunden und würde mich über eine Unterstützung freuen.

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Re: Calendar 0.1.0 (alightner) und Event-Vorschau

Beitrag von Helmut »

Hallo,

und noch einmal hochschieb ..... :wink:

leider habe ich immer noch keine Lösung gefunden, wie ich die Abfrage anpassen muss, dass in der Vorschau nur die Events vom aktuellen Tag und 14 Tage im voraus angezeigt werden. Ich wäre über jede Unterstützung dankbar.

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Passat
Mitglied
Beiträge: 636
Registriert: 26.03.2008 17:50

Re: Calendar 0.1.0 (alightner) und Event-Vorschau

Beitrag von Passat »

Im ACP kannst du einstellen, das alte Termine gelöscht werden.
Wenn dir alte Termine nicht wichtig sind, wäre das evtl. eine Lösung.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Re: Calendar 0.1.0 (alightner) und Event-Vorschau

Beitrag von Helmut »

Hallo Passat,

ja das habe ich schon gesehen, aber die Termine sollen alle in der Datenbank erhalten bleiben, lediglich die Anzeige soll wie oben genannt erfolgen. Ich möchte bei mir auf der Startseite so eine Art kurze Übersicht über die anstehenden Termine der nächsten 14 Tagen haben, auch Monats/Jahr übergreifend.

Jetzt habe ich es nur geschafft, alle Termine des aktuellen Monats, auch die schon zurück liegenden anzeigen zu lassen. Es soll aber so ähnlich sein, wie die Anzeige der Geburtstage für 14 Tage im Voraus vom Upcoming Birthdays Mod.

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Re: Calendar 0.1.0 (alightner) und Event-Vorschau

Beitrag von Helmut »

Hallo,

und noch einmal hochschieb .....


Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Re: Calendar 0.1.0 (alightner) und Event-Vorschau

Beitrag von Helmut »

Hallo,

also das Problem ist gelöst, der Calendar Mod bietet diese Funktion bereits. Aber so wie es aussieht, ist diese vermutlich für eine spätere Version vom Mod gedacht, da sie in der aktuellen Version 0.1.0 nicht verwendet werden, zumindest habe ich nichts dazu gefunden. Es gibt da gleich mehrere unterschiedliche Funktionen in der Datei functions_calendar.php. hier mal die Funktionen die ich gefunden habe:

Code: Alles auswählen

/* displays the next x number of upcoming events */
function display_next_events( $x )
 

Code: Alles auswählen

/* displays the upcoming events for the next x number of days */
function display_next_events_for_x_days( $x )
 

Code: Alles auswählen

/* used to generate the UCP "manage my events" module */
function display_posters_next_events_for_x_days( $x, $user_id )
 

Code: Alles auswählen

/* used to generate the UCP "manage event registration" module */
function display_users_next_events_for_x_days( $x, $user_id )
 
Aufgerufen werden die Funktionen über die Datei calendar.php mit case "next":. Wenn ihr zum Beispiel "calendar.php?view=next" im Browser eingebt, dann werden alle Events der nächsten x Tage angezeigt. Der Wert lässt sich in der calendar.php einstellen:

Code: Alles auswählen

$daycount = request_var('daycount', 60 ); 
Anscheinend sind da später noch UCP Module geplant soweit ich das an den Funktionen sehen kann. Wann das dann aber kommt, das weiss ich auch nicht.

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Antworten

Zurück zu „[3.0.x] Mod Support“