[Erweiterung] kommende Geburtstage

Forum rules
This forum is not for support requests.

Only post Modifications for Board3 Portal 1.0.x in this forum.
User avatar

Topic author
kendoo
Tester
Posts: 121
Joined: 31. December 2007 13:25
Location: Hannover
Contact:

[Erweiterung] kommende Geburtstage

Post by kendoo »

Hi leute,
ich hab mir mal die Arbeit gemacht und in meinem Portal die Geburtstagsliste um die Funktion kommende Geburtstage erweitert. Ich habe dazu die Mod Upcoming Birthday list als Grundlage genommen http://www.phpbb.com/community/viewtopi ... 9#p3186661

Ich poste hier jetzt nur mal das, was für die Erweiterung der Gerburtstagsliste des Portals davon notwenig wäre:

Zunächst muss die Tabelle phpbb_portal_config um einen Eintrag erweitert werden

Code: Select all

INSERT INTO `phpbb_portal_config` (`config_name`, `config_value`) VALUES ('portal_birthdays_ahead', '30');
Dann müssen in den jeweiligen language/(en/de)/mods/lang_portal.php Dateien zwei zusätzliche Sprachvariablen angelegt werden:
einmal für englisch

Code: Select all

//Birthdays
'BIRTHDAYS_AHEAD'		=> 'Birthday within the next %s days',
'NO_BIRTHDAYS_AHEAD'    => 'No birthdays in this time',
einaml für deutsch

Code: Select all

//Birthdays
'BIRTHDAYS_AHEAD'		=> 'In den nächsten %s Tagen',
'NO_BIRTHDAYS_AHEAD'    => 'In diesem Zeitraum hat kein Mitglied Geburtstag',
Dann kommen wir zu den Anpassungen im Portal, ich poste hier gleich die kompletten von mir überarbeiteten zwei Dateien root/portal/block/birthday_list.php und root/styles/prosilver/template/portal/block/birthday_list.html

root/portal/block/birthday_list.php

Code: Select all

<?php

/**
*
* @package - Board3portal
* @version $Id: birthday_list.php 99 2008-01-15 20:31:25Z kevin74 $
* @copyright (c) kevin / saint ( http://www.board3.de/ ), (c) nickvergessen ( http://mods.flying-bits.org/ ), (c) redbull254 ( http://www.digitalfotografie-foren.de ), (c)kendoo (http://kfa-teampage.pytalhost.com)
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
*
*/

if (!defined('IN_PHPBB') || !defined('IN_PORTAL'))
{
   exit;
}

// Generate birthday list if required ...   / borrowed from index.php (RC4) 
$birthday_list = '';
$birthday_ahead_list = '';
if ($config['load_birthdays'] && $config['allow_birthdays'])
{
	$now = getdate(time() + $user->timezone + $user->dst - date('Z'));
    $today = (mktime(0, 0, 0, $now['mon'], $now['mday'], $now['year']));
	
	$sql = 'SELECT user_id, username, user_colour, user_birthday
		FROM ' . USERS_TABLE . "
		WHERE user_birthday <> ''
			AND user_type IN (" . USER_NORMAL . ', ' . USER_FOUNDER . ') ORDER BY SUBSTRING(user_birthday FROM 4 FOR 2) ASC, SUBSTRING(user_birthday FROM 1 FOR 2) ASC, username_clean ASC';
	$result = $db->sql_query($sql);

	while ($row = $db->sql_fetchrow($result))
	{
	   $birthdaydate = (gmdate('Y') . '-' . trim(substr($row['user_birthday'],3,-5)) . '-' . trim(substr($row['user_birthday'],0,-8) ));
       $user_birthday = strtotime($birthdaydate);
	   if($user_birthday == $today)
	   {
		$birthday_list .= get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);

		if ($age = (int) substr($row['user_birthday'], -4))
		{
			$birthday_list .= ' (' . ($now['year'] - $age) . ')<br  />'."\n";
		}	   
	   }
       
	   if( $portal_config['portal_birthdays_ahead'] > 0 )
	   {
	     if ( $user_birthday >= ($today + 86400) && $user_birthday <= ($today + ($portal_config['portal_birthdays_ahead'] * 86400) ) )
	     {
		   if ($row['user_colour'])
		   {
		      $user_colour = ' style="color:#' . $row['user_colour'] . '"';
			  $row['username'] = '<strong>' . $row['username'] . '</strong>';
		   }
		   else
		   {
			  $user_colour = '';
		   }

	          $birthday_ahead_list .= '<a' . $user_colour . ' href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']) . '" title="' . date('d M', $user_birthday) . '">' . $row['username'] . '</a>';

		   if ( $age = (int) substr($row['user_birthday'], -4) )
		   {
			  $birthday_ahead_list .= ' (' . ($now['year'] - $age) . ')<br  />'."\n";
		   }
		  }
	    }
	}
	$db->sql_freeresult($result);
}

// Assign index specific vars
$template->assign_vars(array(
	'BIRTHDAY_LIST'	=> $birthday_list,
	'BIRTHDAYS_AHEAD_LIST'	=> ( $portal_config['portal_birthdays_ahead'] > 0 ) ? $birthday_ahead_list : '',
	'L_BIRTHDAYS_AHEAD'	=> sprintf($user->lang['BIRTHDAYS_AHEAD'], $portal_config['portal_birthdays_ahead']),
	'S_DISPLAY_BIRTHDAY_LIST'	=> ($config['load_birthdays']) ? true : false,
	)
);

?>
root/styles/prosilver/template/portal/block/birthday_list.html

Code: Select all

<div class="panel">
	<div class="inner">
		<span class="corners-top"><span></span></span>
			<h3>{L_BIRTHDAYS}</h3>
			<!-- IF BIRTHDAY_LIST -->
			<strong>{BIRTHDAY_LIST}</strong>
			<!-- ELSE -->
			{L_NO_BIRTHDAYS}
			<!-- ENDIF -->
			<h3>{L_BIRTHDAYS_AHEAD}</h3>
			<!-- IF BIRTHDAYS_AHEAD_LIST -->
			<strong>{BIRTHDAYS_AHEAD_LIST}</strong>
			<!-- ELSE -->
			{L_NO_BIRTHDAYS_AHEAD}
			<!-- ENDIF -->
		<span class="corners-bottom"><span></span></span>
	</div>
</div>
<br style="clear:both" />
Hoffe habe nichts vergessen :D
Demo kann man sich hier anschauen http://sumsum.pytalhost.de

Nun sollten sich die Portalcoder mal überlegen, ob es nicht sinnvoll wäre, diese Erweiterung gleich mit zu integrieren,
Im Adminbereich gibt es dafür so natürlich noch keine Einstellungsmöglichkeit, welche sich aber ohnehin nur auf den Zeitraum der Tage beschränken würde, diese ist so jetzt fest auf 30 Tage eingestellt, wer sich die komplette orginale Mod installiert, hat dann auch im Adminbereich Einstellungsmöglichkeiten dafür und die Liste wird auch im Forum selbst angezeigt, zumindest im Subsilver Style

Meine Version ist ausschließlich für das Portal gedacht und wenn man es integrieren sollte, wäre eine entsprechende Erweiterung im acp notwendig

//edit: Anpassung der Variablen auf das Portal
mfg Kendoo
Last edited by kendoo on 5. February 2008 04:53, edited 8 times in total.
mfg Kendoo

Tragt Euch in unsere Topliste ein
Image
Community
KFA Board
User avatar

Kevin
Site Admin
Posts: 2989
Joined: 7. January 2006 20:11
phpBB.de User: Saint
phpBB.com User: Saint_hh
Location: Hamburg
Contact:

Re: [Erweiterung] kommende Geburtstage

Post by Kevin »

Das sieht gut aus - sehr schöne Idee!

Ich hab nur kurz drüber geschaut, aber schon mal vorweg, was sinnvoll wäre um das fest ins Portal zu integrieren:
  • der DB Eintrag sollte nicht in die phpbb_config, sondern in die phpbb_portal_config
  • die Language Variablen sollten in die lang_portal.php
Das hält das Original phpBB3 schlank und es müssen diese Änderungen dann nicht händisch gemacht werden.

Wenn Du magst erstelle doch bitte einen Feature Request im Bugtracker, mit Link zu diesem Post, damit wir das nicht aus den Augen verlieren.
Am besten auf Englisch, da wir ja nun auch einen englischen Entwickler im Team haben.
~~~ They say the definition of madness is doing the same thing and expecting a different result ~~~

Kein Support per PN / No support via PM!
User avatar

Topic author
kendoo
Tester
Posts: 121
Joined: 31. December 2007 13:25
Location: Hannover
Contact:

Re: [Erweiterung] kommende Geburtstage

Post by kendoo »

also das mit den Variablen ist klar, ich bin ja dabei noch nicht davon ausgegangen, dass es mit integirert wird,

joa also Feautere Request kein Problem aber my english is to bad um das in Englisch zu schreiben
Ich schreibe es in Duetsch und jemand muss es übersetzen wenn das wichtig ist :D
mfg Kendoo

Tragt Euch in unsere Topliste ein
Image
Community
KFA Board
User avatar

Kevin
Site Admin
Posts: 2989
Joined: 7. January 2006 20:11
phpBB.de User: Saint
phpBB.com User: Saint_hh
Location: Hamburg
Contact:

Re: [Erweiterung] kommende Geburtstage

Post by Kevin »

kendoo wrote:also das mit den Variablen ist klar, ich bin ja dabei noch nicht davon ausgegangen, dass es mit integirert wird
Selbst wenn es nicht integriert würde, würde ich es in den entsprechenden Portal Table integrieren und auch die Sprachvariablen in den Portaldateien integrieren.
Ansonsten finde ich das eine sehr feine Sache und würde es gerne schon mit in die nächste Beta aufnehmen, wenn du (und auch der original Mod Autor) damit einverstanden bist.
kendoo wrote:joa also Feautere Request kein Problem aber my english is to bad um das in Englisch zu schreiben
Ich schreibe es in Duetsch und jemand muss es übersetzen wenn das wichtig ist
Kein Problem, hau es in Deutsch rein.
~~~ They say the definition of madness is doing the same thing and expecting a different result ~~~

Kein Support per PN / No support via PM!
User avatar

Topic author
kendoo
Tester
Posts: 121
Joined: 31. December 2007 13:25
Location: Hannover
Contact:

Re: [Erweiterung] kommende Geburtstage

Post by kendoo »

also das mit den Variablen ist ja nun so, meine jetzige Ausführung bezieht sich ausschließlich auf die Integration ins Portal, das hat mit dem Originalmod eigentlich nur noch die Variablennamen gemeinsam hat, die Kernproblematik dabei war ja die DB Abfrage, womit man jetzt gleich beide Werte also wer hat heute B-Day und wer in den nächsten x Tagen zusammen aus einer Abfrage bekommt, was im Originalmod ja nicht der Fall ist

Ich würde das so wie es ist, natürlich die Variablen so wie sie für das Portal verwendet werden (wie von Dir beschrieben) integrieren. Ich werde das morgen oben noch entsprechend korrigieren. Ich dachte zunächst an die Kompatibilität, wenn jemand noch zusätzlich die Mod einbaut, dann würden die dafür notwendigen Variablen schon vorhanden sein. Sonst sind sie ja doppelt vorhanden aber das ist ja dann nicht das Problem des Portals
mfg Kendoo

Tragt Euch in unsere Topliste ein
Image
Community
KFA Board
User avatar

morte
Active Member
Posts: 46
Joined: 21. January 2008 16:23

Re: [Erweiterung] kommende Geburtstage

Post by morte »

Die Idee gefällt mir gut aber hast du das in deinem Beispielforum ausgeschaltet? Da sehe ich es nicht mehr.
User avatar

Topic author
kendoo
Tester
Posts: 121
Joined: 31. December 2007 13:25
Location: Hannover
Contact:

Re: [Erweiterung] kommende Geburtstage

Post by kendoo »

So, hab es jetzt für die Integration ins Portal angepasst und der Block bei mir ist wieder eingeschaltet, falls noch jemand schauen möchte
mfg Kendoo

Tragt Euch in unsere Topliste ein
Image
Community
KFA Board
User avatar

Kevin
Site Admin
Posts: 2989
Joined: 7. January 2006 20:11
phpBB.de User: Saint
phpBB.com User: Saint_hh
Location: Hamburg
Contact:

Re: [Erweiterung] kommende Geburtstage

Post by Kevin »

Wird ins nächste Release rein genommen:
bugtracker/viewbug.php?b=37

Besten Dank kendoo! :smile:
~~~ They say the definition of madness is doing the same thing and expecting a different result ~~~

Kein Support per PN / No support via PM!

DJmension
Active Member
Posts: 11
Joined: 20. January 2008 01:12

Re: [Erweiterung] kommende Geburtstage

Post by DJmension »

Eigenartig ???

bei mir kommt der eintrag im Portal so :

Geburtstage
Heute hat kein Mitglied Geburtstag
In den nächsten Tagen
In diesem Zeitraum hat kein Mitglied Geburtstag

und so sollte es eigentlich aussehen :
Geburtstage
Heute hat kein Mitglied Geburtstag
In den nächsten 30 Tagen
In diesem Zeitraum hat kein Mitglied Geburtstag

Datenbankeintrag ist vorhanden , äääähm grübel grübel

DB eintrag : allow_birthdays_ahead 30
User avatar

Kevin
Site Admin
Posts: 2989
Joined: 7. January 2006 20:11
phpBB.de User: Saint
phpBB.com User: Saint_hh
Location: Hamburg
Contact:

Re: [Erweiterung] kommende Geburtstage

Post by Kevin »

Wir haben es jetzt als portal_birthdays_ahead in den Portal Configtable eingepflegt.
Wie auch immer - mit der nächsten Beta sollte es dann bei dir stimmen. :wink:
~~~ They say the definition of madness is doing the same thing and expecting a different result ~~~

Kein Support per PN / No support via PM!
User avatar

Topic author
kendoo
Tester
Posts: 121
Joined: 31. December 2007 13:25
Location: Hannover
Contact:

Re: [Erweiterung] kommende Geburtstage

Post by kendoo »

kontrolliere noch mal die Sprachvariablen, dort besonders ob das %s auch vorhanden ist
mfg Kendoo

Tragt Euch in unsere Topliste ein
Image
Community
KFA Board

DJmension
Active Member
Posts: 11
Joined: 20. January 2008 01:12

Re: [Erweiterung] kommende Geburtstage

Post by DJmension »

ist auch drinn :-)
User avatar

Topic author
kendoo
Tester
Posts: 121
Joined: 31. December 2007 13:25
Location: Hannover
Contact:

Re: [Erweiterung] kommende Geburtstage

Post by kendoo »

dann hast Du wohl an anderer Stelle etwas vergessen, so wie es oben steht funktioniert es bereits auf mehreren Portalen exzellent 8)
also warte lieber bis die Jungs hier die nächste Version freigeben, dort ist es bereits integriert dann
mfg Kendoo

Tragt Euch in unsere Topliste ein
Image
Community
KFA Board
User avatar

Redbull254
Former Team Member
Posts: 693
Joined: 19. January 2006 22:50
Location: Kamen
Contact:

Re: [Erweiterung] kommende Geburtstage

Post by Redbull254 »

So ist es ;-)
LG
Walter

"Klug ist nicht, wer keine Fehler macht. Klug ist der, der es versteht, sie zu korrigieren."

DJmension
Active Member
Posts: 11
Joined: 20. January 2008 01:12

Re: [Erweiterung] kommende Geburtstage

Post by DJmension »

seid mir jetzt bitte nicht böse , aber was gibt es da falsch zu machen ?
1. Datenbank eintrag vornemen : Das erledigt schonmal SQL ganz bequem für mich , nur Code ins SQL einfügen ausführen fertig !
2. Sprach Variablen einfügen : deutsch de-Du , de-Sie , en -------- auch kein Problem :?
3. Datei inhallt ersetzen von root/portal/block/birthday_list.php und root/styles/prosilver/template/portal/block/birthday_list.html ------- alles komplett ersetzt.

Also sollte es funktionieren !

Tut es aber nicht Cookies und Themplatates habe ich alle aktualisiert , und es wird immernoch müde der language inhallt angezeigt . Die Zahl 30 taucht nicht auf , und mein Name auch nicht , obwohl ich am 16.02. Geburtstag hätte, ich könnte es auch verstehen wenn ich mein Datum in meinem Profil nicht angegeben hätte , aber verflixt dort steht es auch drin.

Jetzt hab ich mir die Codes mal etwas genauer angesehen , ich kann dort auch nicht finden wo die Datenbank abfgrage an die Variable %s übergeben wird.

jetzt bitte sagt mir was ich vergessen haben soll , von diesen wenigen schritten etwas zu vergessen ist doch sehr unwahrscheinlich , da ich das ganze nun schon schritt für schritt 4 mal durch gegangen bin ?
Locked

Return to “board3 Portal v1.0.x - Modifications in Dev”