Birthday Box im Portal - Code umschreiben aber wie?

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Any
Mitglied
Beiträge: 296
Registriert: 14.04.2005 20:24
Wohnort: Flensburg
Kontaktdaten:

Birthday Box im Portal - Code umschreiben aber wie?

Beitrag von Any »

Nabend Leute! :)

Ich hab den
Birthday-Mod eingebaut: mod-birthday_event_103b_with_ch_214.txt was auch funktioniert.

Nun wollte ich gern eine kleine Box im Portal, so wie sie es für den Birthday Mod von Nils gibt. Dazu habe ich erfahren, muss man den Code umschreiben, aber ich weiß nicht wie :(

Mag mir jemand helfen?

hab hier mal den Quelltext der portal.php

Code: Alles auswählen

// SWITCH BIRTHDAY MOD START
if( $introportalmod_config['birthdaymod_active'] == "1" )
{
// CODE TAKEN FROM Birthday Mod Version 1.51 from Niels Chr. Rød Denmark http://mods.db9.dk/ START
$time_now = time();
$date_now = create_date('md', $time_now, $board_config['board_timezone']);
$date_forward = create_date('md', $time_now+($board_config['birthday_check_day']*86400), $board_config['board_timezone']);
$sql = ($board_config['birthday_check_day']) ? "SELECT user_id, username, user_birthday, user_level FROM ".USERS_TABLE." WHERE user_birthday<>999999 AND
(user_birthday<0 OR DATE_FORMAT(FROM_DAYS(user_birthday),'%m%d') BETWEEN ".(($date_now<$date_forward) ? "'($date_now+0)' AND '$date_forward'" : "'($date_now+0)' AND '1231' OR DATE_FORMAT(FROM_DAYS(user_birthday),'%m%d') BETWEEN '0101' AND '$date_forward'") .") ORDER BY username" : "";
if(!$result = $db->sql_query($sql))
{
      message_die(GENERAL_ERROR, "Could not fetch birthday for users.", "", __LINE__, __FILE__, $sql);
} else
{
 $birthdayrows = array();
 $birthdayrows = $db->sql_fetchrowset($result);
}
 if (!empty($birthdayrows))
 {
  $this_year = create_date('Y', $time_now, $board_config['board_timezone']);
  $date_today = $this_year.$date_now;
  $date_forward = $this_year.$date_forward;
       while (list($user_number, $birthdayrow) = each($birthdayrows))
  {
        $user_birthday2 = $this_year.($user_birthday = realdate("md",$birthdayrow['user_birthday'] ));
   // give user a year more, if he alread have had birthday
        if ( $user_birthday2 < $date_today ) $user_birthday2 += 10000;
   if ( $user_birthday2 == $date_today )
        {
    //user have birthday today
    $user_age = $this_year - realdate ( 'Y',$birthdayrow['user_birthday'] );
    switch ($birthdayrow['user_level'])
    {
     case ADMIN :
           $birthdayrow['username'] = '<b>' . $birthdayrow['username'] . '</b>';
           $style_color = 'style="color:#' . $theme['fontcolor3'] . '"';      break;
     case MOD :
           $birthdayrow['username'] = '<b>' . $birthdayrow['username'] . '</b>';
           $style_color = 'style="color:#' . $theme['fontcolor2'] . '"';      break;
     default: $style_color = '';
    }
    $birthday_today_list .= ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $birthdayrow['user_id']) . '"' . $style_color .'>' . $birthdayrow['username'] . ' ('.$user_age.')</a>,';
        } else if ( $user_birthday2 > $date_today  && $user_birthday2 <= $date_forward )
   {
    // user are having birthday within the next days
    $user_age = ( $this_year.$user_birthday < $date_today ) ? $this_year - realdate ('Y',$birthdayrow['user_birthday'])+1 : $this_year- realdate ('Y',$birthdayrow['user_birthday']);
    switch ($birthdayrow['user_level'])
    {
     case ADMIN :
           $birthdayrow['username'] = '<b>' . $birthdayrow['username'] . '</b>';
           $style_color = 'style="color:#' . $theme['fontcolor3'] . '"';break;
     case MOD :
           $birthdayrow['username'] = '<b>' . $birthdayrow['username'] . '</b>';
           $style_color = 'style="color:#' . $theme['fontcolor2'] . '"';break;
     default: $style_color = '';
    }
    $birthday_week_list .= ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $birthdayrow['user_id']) . '"' . $style_color .'>' . $birthdayrow['username'] . ' ('.$user_age.')</a>,';
   }
  }
  if ($birthday_today_list) $birthday_today_list[ strlen( $birthday_today_list)-1] = ' ';
  if ($birthday_week_list) $birthday_week_list[ strlen( $birthday_week_list)-1] = ' ';
 }
if (isset($result))
{
 $db->sql_freeresult($result);
}
// CODE TAKEN FROM Birthday Mod Version 1.51 from Niels Chr. Rød Denmark http://mods.db9.dk/ END
$template->assign_block_vars('switch_birthdaymod_active', array(
$template->assign_vars(array(
// CODE TAKEN FROM Birthday Mod Version 1.4.15 from Niels Chr. Rød Denmark http://mods.db9.dk/ START
'L_Birthday_Portal' => $lang['Birthday_Portal'],
'L_WHOSBIRTHDAY_WEEK' => ($board_config['birthday_check_day']>1) ? sprintf((($birthday_week_list)? $lang['Birthday_week'].$birthday_week_list:$lang['Nobirthday_week']),$board_config['birthday_check_day']) : '',
'L_WHOSBIRTHDAY_TODAY' => ($board_config['birthday_check_day']) ? ($birthday_today_list)? $lang['Birthday_today'].$birthday_today_list:$lang['Nobirthday_today'] : ''
// CODE TAKEN FROM Birthday Mod Version 1.4.15 from Niels Chr. Rød Denmark http://mods.db9.dk/ END
))
));
}
// SWITCH BIRTHDAY MOD END
index.php

Code: Alles auswählen

//-- mod : birthday ------------------------------------------------------------
//-- add
// bdays
$bdays->display_bdays();
//-- fin mod : birthday -------------------------------------------------------- 
und portal_body.tpl

Code: Alles auswählen

<!-- ##### BIRTHDAY START ##### -->
<!-- BEGIN switch_birthdaymod_active -->
<table width="100%" border="0" cellpadding="1" cellspacing="1" style="border-collapse: collapse" class="forumline">
<tr>
     <td class="catHead" colspan="2" height="25"><span class="cattitle"><center>{L_Birthday_Portal}:</center></span></td>
  </tr>
 <tr>
        <td colspan="2" height="1" class="row3"><img src="images/spacer.gif" width="1" height="1" alt="."></td>
  </tr>
  <tr>
   <td class="row1" align="left"><span class="gensmall">

   <br>{L_WHOSBIRTHDAY_TODAY}<br /><br />{L_WHOSBIRTHDAY_WEEK}<br><br>


   </span></td>
  </tr>
</table> <br>
<!-- END switch_birthdaymod_active -->
<!-- ##### BIRTHDAY ENDE ##### --> 
Warte gespannt :)
besuch mich doch mal auf meiner Homepage :)
Benutzeravatar
vb-biker
Mitglied
Beiträge: 260
Registriert: 04.03.2004 14:13
Wohnort: Kölle
Kontaktdaten:

Re: Birthday Box im Portal - Code umschreiben aber wie?

Beitrag von vb-biker »

Probier mal folgendes (frei nach dem Motto: was für die Index gilt, gilt auch für's Portal):

portal.php

Code: Alles auswählen

include($phpbb_root_path . 'includes/page_header.'.$phpEx);
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : birthday ------------------------------------------------------------
//-- add
	$bdays->display_bdays();
//-- fin mod : birthday --------------------------------------------------------
portal_body.tpl

Code: Alles auswählen

<!-- ##### BIRTHDAY START ##### -->
{BDAYS_BOX}
<!-- ##### BIRTHDAY ENDE ##### --> 
Wenn es Darstellungsprobleme im Portal gibt, dann die index_bday_box.tpl anpassen.
Benutzeravatar
Any
Mitglied
Beiträge: 296
Registriert: 14.04.2005 20:24
Wohnort: Flensburg
Kontaktdaten:

Beitrag von Any »

Hi! Danke für die Hilfe :)

Leider kommt dann aber folgendes
Fatal error: Call to undefined function: realdate() in /home/httpd/vhosts/risibility.de/subdomains/libellus/httpdocs/portal.php on line 601
601 ist diese Zeile:

Code: Alles auswählen

$user_birthday2 = $this_year.($user_birthday = realdate("md",$birthdayrow['user_birthday'] ));
siehe oben :)

in der index_bdays_box.tpl steht

Code: Alles auswählen

<!-- BEGIN birthday -->
<br clear="all" />

<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
  <tr>
	<td class="catHead" colspan="2" height="28"><span class="cattitle">{L_BDAY_BIRTHDAYS}</span></td>
  </tr>
  <tr>
	<td class="row1" align="center" valign="middle"><img src="{I_BDAY_CAKE}" alt="{L_BDAY_BIRTHDAYS}" /></td>
	<td class="row1 gensmall" align="left" width="100%">
		{L_BDAY_DETAILS}&nbsp;<!-- BEGIN list --><!-- BEGIN sep -->, <!-- END sep --><a href="{birthday.list.U_BDAY}" title="{birthday.list.L_BDAY_HAPPY}" class="gensmall">{birthday.list.BDAY_NAME}</a>{birthday.list.BDAY_AGE}<!-- END list -->
	</td>
  </tr>
</table>
<!-- END birthday -->
daran liegts ja aber nich, gell?
besuch mich doch mal auf meiner Homepage :)
Benutzeravatar
vb-biker
Mitglied
Beiträge: 260
Registriert: 04.03.2004 14:13
Wohnort: Kölle
Kontaktdaten:

Beitrag von vb-biker »

Any hat geschrieben:daran liegts ja aber nich, gell?
Eher nicht.

Dieser Birthday-Mod scheint ein eigenständiger Mod zu sein.
Lösche mal den Birthday-Code von Niels in der portal.php oder kommentiere ihn aus.

Code: Alles auswählen

// SWITCH BIRTHDAY MOD START
.
.
.
// SWITCH BIRTHDAY MOD END
Und schauen, was passiert. :o
Benutzeravatar
Any
Mitglied
Beiträge: 296
Registriert: 14.04.2005 20:24
Wohnort: Flensburg
Kontaktdaten:

Beitrag von Any »

muss mich korrigieren!! Es geht doch, ich hatte nen Denkfehler gehabt...

Hab aber noch ne Frage.. :) Könnte man das noch so anpassen, dass die Geburtstage der nächsten 7 Tage angezeigt werden? Also "innerhalb der nächsten 7 Tage haben folgende User Geburtstag:"
besuch mich doch mal auf meiner Homepage :)
Benutzeravatar
Any
Mitglied
Beiträge: 296
Registriert: 14.04.2005 20:24
Wohnort: Flensburg
Kontaktdaten:

Beitrag von Any »

weiß evtl. jemand wie man das machen könnte? :)
besuch mich doch mal auf meiner Homepage :)
Benutzeravatar
Any
Mitglied
Beiträge: 296
Registriert: 14.04.2005 20:24
Wohnort: Flensburg
Kontaktdaten:

Beitrag von Any »

schaaaaaaadeee :(
besuch mich doch mal auf meiner Homepage :)
Benutzeravatar
rotuganda
Mitglied
Beiträge: 117
Registriert: 20.03.2006 16:08
Kontaktdaten:

Beitrag von rotuganda »

Any hat geschrieben:muss mich korrigieren!! Es geht doch, ich hatte nen Denkfehler gehabt...

Hab aber noch ne Frage.. :) Könnte man das noch so anpassen, dass die Geburtstage der nächsten 7 Tage angezeigt werden? Also "innerhalb der nächsten 7 Tage haben folgende User Geburtstag:"
weiß denn da wirklich niemand rat, sowas wäre doch ne feine sache!

es gibt einen MOd in kombi mit dem birthday mod glaube von nils, ich hätte das aber wie any schrieb auch gerne, jedoch ohne einen zusätzlichen kalender dafür.

vielleicht weiß da jemand was?!
Benutzeravatar
Any
Mitglied
Beiträge: 296
Registriert: 14.04.2005 20:24
Wohnort: Flensburg
Kontaktdaten:

Beitrag von Any »

weiß das echt niemand? :o
besuch mich doch mal auf meiner Homepage :)
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Selbstgemachte Probleme, würd ich mal sagen.

Wozu 2 Birthday mods :-?

Wenn ihr die von reddog verwenden wollt, was soll dann jetzt
der Code von Niels in der portal.php (und wer weiß wo noch überall)
Wie wärs mit löschen? Oder wenigstens mal auskommentieren.

Weil sonst gibts halt solche Fehlermeldungen
Any hat geschrieben:Fatal error: Call to undefined function: realdate() in /home/httpd/vhosts/risibility.de/subdomains/libellus/httpdocs/portal.php on line 601
Zuletzt geändert von easygo am 09.05.2006 18:27, insgesamt 1-mal geändert.
Antworten

Zurück zu „phpBB 2.0: Mod Support“