Calendar 1.4und Birthday
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5394
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
So, ich habe es endlich geschafft: Die Anzeige der Geburtstage im Calender lite 1.4.x.x!!!
EDIT: CODE ENTFERNT! SIEHE FOLGEBEITRÄGE!!!
BITTE ZUNÄCHST DEN CODE VOM ÜBERNÄCHSTEN BEITRAG INSTALLIEREN, UND DANN DEN ERSTEN. SOMIT BLEIBT DIE REIHENFOLGE GEWAHRT.
EDIT: CODE ENTFERNT! SIEHE FOLGEBEITRÄGE!!!
BITTE ZUNÄCHST DEN CODE VOM ÜBERNÄCHSTEN BEITRAG INSTALLIEREN, UND DANN DEN ERSTEN. SOMIT BLEIBT DIE REIHENFOLGE GEWAHRT.
Zuletzt geändert von oxpus am 21.04.2003 02:50, insgesamt 2-mal geändert.
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5394
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
So, hier die Lösung für das Layout-Problem:
Die Zellen sind jetzt immer mind. 5 Zeilen hoch und für einen Monat immer gleich.
Code: Alles auswählen
#
# Find in calendar.php
#
// Changed the range to do ALL the days not require duplicate code later.
#
# After add
#
$max_query = 0;
#
# Find
#
$query_num = count($this_date);
#
# After add
#
if (($query_num + $correction) > $max_query)
{
$max_query = $query_num + $correction;
}
#
# Find and delete
#
if (($query_num - $correction) < 4) {
for ($j=0; $j<(4 - ($query_num-$correction)); $j++) {
$event_list .= '<span class=gensmall>&<br></span>';
}
}
#
# Find
#
$template->assign_block_vars('daycell', array(
'S_CELL' => $cellback,
'U_DAY' => $url_day,
'NUM_DAY' => $thisday,
'DAY_EVENT_LIST' => $event_list,
'S_HEAD' => $cellhead,
'S_DETAILS' => $cellbody,
'WEEK_ROW' => $week_end)
);
if ($week_end) {
++$rowrow;
if ($rowrow == '3') {
$rowrow = '1';
}
}
}
#
# After add
#
if ($max_query < 5) $max_query = 5;
$max_height = $max_query * 12;
#
# Find
#
$template->assign_vars(array(
'CAL_VERSION' => 'Ver: '.$cal_version,
'CALENDAR' => $lang['Calendar'],
'L_CAL_NEW' => $lang['Cal_add_event'],
'U_INDEX' => append_sid("index.$phpEx"),
'L_INDEX' => sprintf($lang['Forum_Index'], $board_config['sitename']),
'U_CAL_HOME' => $homeurl)
);
#
# Replace with
#
$template->assign_vars(array(
'CAL_VERSION' => 'Ver: '.$cal_version,
'CALENDAR' => $lang['Calendar'],
'L_CAL_NEW' => $lang['Cal_add_event'],
'U_INDEX' => append_sid("index.$phpEx"),
'L_INDEX' => sprintf($lang['Forum_Index'], $board_config['sitename']),
'U_CAL_HOME' => $homeurl,
'MAX_HEIGHT' => 'height=' . $max_height . 'px')
);
#
# Find in templates/{template}/cal_view_month_lite.tpl
#
<!-- BEGIN daycell -->
<td valign=top {daycell.S_CELL}>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr><td align=center {daycell.S_HEAD}><a href='{daycell.U_DAY}' class=genmed><b>{daycell.NUM_DAY}</b></a></td></tr>
<tr><td valign=top {daycell.S_DETAILS}>{daycell.DAY_EVENT_LIST}</td></tr>
</table>
</td>{daycell.WEEK_ROW}
<!-- END daycell -->
#
# Replace with
#
<!-- BEGIN daycell -->
<td valign=top {daycell.S_CELL}>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr><td align=center {daycell.S_HEAD}><a href='{daycell.U_DAY}' class=genmed><b>{daycell.NUM_DAY}</b></a></td></tr>
<tr {MAX_HEIGHT}><td valign=top {daycell.S_DETAILS}>{daycell.DAY_EVENT_LIST}</td></tr>
</table>
</td>{daycell.WEEK_ROW}
<!-- END daycell -->
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5394
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
Code-Korrektur!!!
Ich habe eine Lösung für die hohe Anzahl an Queries durch meinen ersten Code gefunden. Alle Änderungen beziehen sich auf das File "calendar.php" und dort in der Funktion "defaultview":
FIND
AFTER ADD
FIND
AFTER ADD
Damit werden die Queries auf die Datenbank auf 14 reduziert (eine mehr, als ohne den Code!). Mit der ersten Änderung von mir waren es immerhin noch geschlagene 48 Queries!!!
Die Korrektur-Änderungen für das Layout sind gleich geblieben...
OXPUS
FIND
Code: Alles auswählen
{
$currentday = create_date("j", time(), $board_config['board_timezone']);
$currentmonth = create_date("m", time(), $board_config['board_timezone']);
$currentyear = create_date("Y", time(), $board_config['board_timezone']);
}
Code: Alles auswählen
$username = array();
$user_id = array();
$birthday = array();
$birthmonth = array();
$useryear = array();
$ii = 0;
$sql = "SELECT username, user_id, user_birthday
FROM " . USERS_TABLE . "
WHERE user_birthday < '999999'
ORDER BY username";
if( ($result = $db->sql_query($sql)) )
{
while( $row = $db->sql_fetchrow($result))
{
$ii++;
$username[$ii] = $row['username'];
$user_id[$ii] = $row['user_id'];
$birthday[$ii] = realdate('j', $row['user_birthday']);
$birthmonth[$ii] = realdate('m', $row['user_birthday']);
$useryear[$ii] = realdate('Y', $row['user_birthday']);
}
}
Code: Alles auswählen
$event_list = '';
$correction = 0;
Code: Alles auswählen
$ii = 0;
for ($ii; $ii<=count($useryear); $ii++)
{
if ( $birthday[$ii] == $thisday AND $birthmonth[$ii] == $month)
{
$userage = $year - $useryear[$ii];
$correction++;
$event_list .= '<span class="gensmall">-> <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id[$ii]") . '">' . $username[$ii] . ' (' . $userage .')</a></span><br />';
}
}
Die Korrektur-Änderungen für das Layout sind gleich geblieben...
OXPUS
Zuletzt geändert von oxpus am 21.04.2003 02:49, insgesamt 3-mal geändert.
-
- Mitglied
- Beiträge: 473
- Registriert: 03.12.2002 20:13
- Wohnort: Buseck
- Kontaktdaten:
-
- Mitglied
- Beiträge: 473
- Registriert: 03.12.2002 20:13
- Wohnort: Buseck
- Kontaktdaten:
-
- Mitglied
- Beiträge: 473
- Registriert: 03.12.2002 20:13
- Wohnort: Buseck
- Kontaktdaten: