Terminvorschau auf der Forumstartseite

Sachsen Queens
Titel: Terminvorschau auf der Forumstartseite
Version: 1.0
Beschreibung: Habe keine Ahnung ob dies als Hack oder als Style Veränderung gilt. Auch ob es diese Veränderung schon gibt! Egal:

Termine wurden bisher erst am Tag des Termin, auf der Forumstartseite, angezeigt. Um nun z.B. eine Terminvorschau der nächsten 7 Tage zu erhalten gehe bitte wie folgt vor:


Öffne die wbboard/index.php und suche dort diesen Eintrag:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
/* ############## EVENTS ############## */
unset($eventbit);
if($showevents==1 && $wbbuserdata['can_view_calendar']!=0) {
 $currentdate = date("Y-m-d");
 $result = $db->unbuffered_query("SELECT eventid, subject, public FROM bb".$n."_events WHERE eventdate = '$currentdate' AND (public=2 OR (public=1 AND groupid = '$wbbuserdata[groupid]') OR (public=0 AND userid = '$wbbuserdata[userid]')) ORDER BY public ASC, subject ASC");
 while($row = $db->fetch_array($result)) {
  $row['subject']=htmlconverter($row['subject']);
  if(isset($eventbit)) eval ("\$eventbit .= \"".$tpl->get("index_eventbit")."\";");
  else eval ("\$eventbit = \"".$tpl->get("index_eventbit")."\";");
 }
 }


darunter solltest du folgenden Code einfügen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
unset($eventbit2);
if($showevents==1 && $wbbuserdata['can_view_calendar']!=0) {
$heute = time();
for($i=1; $i<8; $i++) {
 $currentdate1=date('Y.m.d',mktime(0,0,0, date('m',$heute), date('d',$heute)+$i, date('Y',$heute)));
 $result = $db->unbuffered_query("SELECT eventid, subject, public FROM bb".$n."_events WHERE eventdate = '$currentdate1' AND (public=2 OR (public=1 AND groupid = '$wbbuserdata[groupid]') OR (public=0 AND userid = '$wbbuserdata[userid]')) ORDER BY public ASC, subject ASC");
 while($row = $db->fetch_array($result)) {
  $row['subject']=htmlconverter($row['subject']);
  if(isset($eventbit2)) eval ("\$eventbit2 .= \"".$tpl->get("index_eventbit2")."\";");
  else eval ("\$eventbit2 = \"".$tpl->get("index_eventbit2")."\";");
                                         }
                      }
}



Du solltest jetzt ein neues Template im ACP hinzufügen:
Dazu einen Klick auf "Templates bearbeiten" und du findest den Link: "Template hinzufügen"
Als Templatename: index_eventbit2 eingeben
Zum Templateinhalt folgendes eingeben:
code:
1:
2:
3:
<if(isset($eventbit2))><then>, </then></if><a href="calendar.php?action=viewevent&amp;id=$row[eventid]&amp;sid=$session[hash]">$row[subject]</a>



Die Templatedatei: index muß als letztes im ACP angepaßt werden!
Suche dort den folgenden Inhalt:
code:
1:
<if(isset($birthdaybit) || isset($eventbit))>


Ersetze den Code mit:
code:
1:
<if(isset($birthdaybit) || isset($eventbit) || isset($eventbit2))>



Suche jetzt noch nach:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
<if(isset($eventbit))>
    <then>
     <tr>
      <td class="tableb" align="center"><img src="{$style['imagefolder']}/events.gif" alt="" title="" border="0" /></td>
      <td class="tablea" colspan="<if($hide_modcell==0)><then>5</then><else>4</else></if>" align="left"><span class="smallfont"><b>{$lang->items['LANG_START_TODAYEVENT']}</b><br />$eventbit</span></td>
     </tr>
    </then>
   </if>


Darunter bitte diesen Code eingeben:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
<if(isset($eventbit2))>
    <then>
     <tr>
      <td class="tableb" align="center"><img src="{$style['imagefolder']}/events2.gif" alt="" title="" border="0" /></td>
      <td class="tablea" colspan="<if($hide_modcell==0)><then>5</then><else>4</else></if>" align="left"><span class="smallfont">&nbsp;<b>Terminvorschau (bis zu 7 Tage):</b><br />&nbsp;$eventbit2</span></td>
      </tr>
     </then>
    </if>


Zwei wichtige Hinweise noch:
Nicht vergessen: die wbboard/index.php wieder hochladen.
Das Bild: events2.gif was im Code verwendet wird:
könnt ihr euch hier entnehmen: [IMG]http://www.girl-soccer-player.de/wbboard/images/events2.gif[/IMG]
http://www.girl-soccer-player.de/wbboard/images/events2.gif

Wer passend noch ein event.gif benötigt: [IMG]http://www.girl-soccer-player.de/wbboard/images/events.gif[/IMG]
http://www.girl-soccer-player.de/wbboard/images/events.gif

Beide Bilder sollten in das Verzeichnis: wboard/images/ kopiert werden
----
Demo: http://www.girl-soccer-player.de/picture...**/vorschau.jpg

weiter zum Download
matze2k1
Super, vielen Dank!

funktioniert bestens.

Ist es vielleicht noch möglich, neben dem Terminbetreff in Klammern das Datum des Termins anzeigen zu lassen? So stehen nur viele Termine nebeneinander.
Sachsen Queens
Hallo matze2k1
zusätzlich solltest du den roten Code in die index.php einfügen...
--------------------------------------------------------
unset($eventbit2);
if($showevents==1 && $wbbuserdata['can_view_calendar']!=0) {
$heute = time();
for($i=1; $i<8; $i++) {
$currentdate1=date('Y.m.d',mktime(0,0,0, date('m',$heute), date('d',$heute)+$i, date('Y',$heute)));
$result = $db->unbuffered_query("SELECT eventid, subject, eventdate, public FROM bb".$n."_events WHERE eventdate = '$currentdate1' AND (public=2 OR (public=1 AND groupid = '$wbbuserdata[groupid]') OR (public=0 AND userid = '$wbbuserdata[userid]')) ORDER BY public ASC, subject ASC");
while($row = $db->fetch_array($result)) {
$row['subject']=htmlconverter($row['subject']);
$ndatum = date("d.m.y", strtotime($row['eventdate']));
if(isset($eventbit2)) eval ("\$eventbit2 .= \"".$tpl->get("index_eventbit2")."\";");
else eval ("\$eventbit2 = \"".$tpl->get("index_eventbit2")."\";");
}
}
}
----------------------------------------------------------

weiterhin zusätzlich im Template: index_eventbit2 den roten Code einfügen
-------------------------------------------------------------
<if(isset($eventbit2))><then>, </then></if><a href="calendar.php?action=viewevent&amp;id=$row[eventid]&amp;sid=$session[h
ash]">$row[subject]</a> ($ndatum)
--------------------------------------------------------
matze2k1
Ich habe eben gesehen, dass ich mich gar nicht für die weitere Modifikation bedankte: Danke dir! smile
Spacekid
Danke, danach hab ich gesucht. Funktioniert einwandfrei. Augenzwinkern