Birthday Hack (index.php) i.c.m. Group Color

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
cartoontje
Berichten: 1518
Lid geworden op: 29 jun 2003, 10:57
Locatie: Home Sweet Home
Contacteer:

Birthday Hack (index.php) i.c.m. Group Color

Bericht door cartoontje » 18 jun 2004, 22:37

Scroll naar beneden voor de nieuwe vraag! :)

--------------------------------------------------------------------------------------

Hoe kan ik ervoor zorgen dat Color Groups wordt gebruikt in de Users of the day mod?

Code: Selecteer alles

# 
#-----[ ACTION: open ]--------------------------------
# 
/includes/page_header.php

# 
#-----[ ACTION: find ]--------------------------------
# 
//
// Obtain number of new private messages
// if user is logged in
//

# 
#-----[ ACTION: add before ]--------------------------
# 
//
// Users of the day MOD
//

// ############ Edit below ############
// #
$display_not_day_userlist = 0;	// change to 1 here if you also want the list of the users who didn't visit to be displayed
$users_list_delay = 24;		// change here to the number of hours wanted for the list
// #
// ############ Edit above ############

$sql = "SELECT user_id, username, user_allow_viewonline, user_level, user_session_time
	FROM ".USERS_TABLE."
	WHERE user_id > 0
	ORDER BY user_level DESC, username ASC";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not obtain user/day information', '', __LINE__, __FILE__, $sql);
}

$day_userlist = '';
$day_users = 0;
$not_day_userlist = '';
$not_day_users = 0;

while( $row = $db->sql_fetchrow($result) )
{
	$style_color = '';
	if ( $row['user_level'] == ADMIN )
	{
		$row['username'] = '<b>' . $row['username'] . '</b>';
		$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
	}
	else if ( $row['user_level'] == MOD )
	{
		$row['username'] = '<b>' . $row['username'] . '</b>';
		$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
	}
	if ( $row['user_allow_viewonline'] )
	{
		$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>';
	}
	else
	{
		$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>';
	}
	if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
	{
		if ( $row['user_session_time'] >= ( time() - $users_list_delay * 3600 ) )
		{
			$day_userlist .= ( $day_userlist != '' ) ? ', ' . $user_day_link : $user_day_link;
			$day_users++;
		}
		else
		{
			$not_day_userlist .= ( $not_day_userlist != '' ) ? ', ' . $user_day_link : $user_day_link;
			$not_day_users++;
		}
	}
}

$day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Day_users'], $day_users, $users_list_delay) ) . ' ' . $day_userlist;

$not_day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Not_day_users'], $not_day_users, $users_list_delay) ) . ' ' . $not_day_userlist;

if ( $display_not_day_userlist )
{
	$day_userlist .= '<br />' . $not_day_userlist;
}

//
// End of MOD
//
Dat stuk moet dus aangepast worden.

Bij Who Is On-line deed Color Groups dat zo:

Code: Selecteer alles

# 
#-----[ FIND ]------------------------------------------ 
#
				$style_color = '';
				if ( $row['user_level'] == ADMIN )
				{
					$row['username'] = '<b>' . $row['username'] . '</b>';
					$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
				}
				else if ( $row['user_level'] == MOD )
				{
					$row['username'] = '<b>' . $row['username'] . '</b>';
					$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
				}
				if ( $row['user_allow_viewonline'] )
				{
					$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>';
					$logged_visible_online++;
				}
				else
				{
					$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>';
					$logged_hidden_online++;
				}

# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
				$user_online_link = color_group_colorize_name($row['user_id']);
				if ( $row['user_allow_viewonline'] )
				{
					$logged_visible_online++;
				}
				else
				{
					$logged_hidden_online++;
				}
Ik heb al geprobeerd om:

Code: Selecteer alles

	$style_color = '';
	if ( $row['user_level'] == ADMIN )
	{
		$row['username'] = '<b>' . $row['username'] . '</b>';
		$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
	}
	else if ( $row['user_level'] == MOD )
	{
		$row['username'] = '<b>' . $row['username'] . '</b>';
		$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
	}
Te veranderen in:

Code: Selecteer alles

$user_online_link = color_group_colorize_name($row['user_id']);
Maar dan wordt er helemaal geen onderscheid meer gemaakt tussen users, mods en admins.

Iemand een idee?
Laatst gewijzigd door cartoontje op 01 jul 2004, 18:15, 3 keer totaal gewijzigd.

sukkelaap
Berichten: 1345
Lid geworden op: 03 dec 2003, 19:09
Locatie: Zeist

Bericht door sukkelaap » 18 jun 2004, 23:47

Ik heb het al vaak gevraagd alleen niemand weet antwoord.

Gebruikersavatar
WebSiteNet
Berichten: 6524
Lid geworden op: 20 okt 2003, 16:56
Locatie: Wieringerwerf
Contacteer:

Bericht door WebSiteNet » 19 jun 2004, 06:41

Ik denk zo:

Code: Selecteer alles

   $style_color = ''; 
   if ( $row['user_level'] == ADMIN ) 
   { 
      $row['username'] = '<b>' . $row['username'] . '</b>'; 
      $style_color = 'style="color:#' . $theme['fontcolor3'] . '"'; 
   } 
   else if ( $row['user_level'] == MOD ) 
   { 
      $row['username'] = '<b>' . $row['username'] . '</b>'; 
      $style_color = 'style="color:#' . $theme['fontcolor2'] . '"'; 
   } 
   if ( $row['user_allow_viewonline'] ) 
   { 
      $user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>'; 
   } 
   else 
   { 
      $user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>'; 
   } 
En vervang dat met:

Code: Selecteer alles

$user_day_link = color_group_colorize_name($row['user_id']);
Ik hoop dat hij zo werkt. ik weet niet of die functie er ook gelijk een link van maakt, maar ik denk het wel.

sukkelaap
Berichten: 1345
Lid geworden op: 03 dec 2003, 19:09
Locatie: Zeist

Bericht door sukkelaap » 19 jun 2004, 09:07

In welk bestand moet ik dat vinden?

Gebruikersavatar
WebSiteNet
Berichten: 6524
Lid geworden op: 20 okt 2003, 16:56
Locatie: Wieringerwerf
Contacteer:

Bericht door WebSiteNet » 19 jun 2004, 09:34

Open het tekstbestandje van users of the day mod en zoek in welk bestand je dat moest toevoegen. :wink:

cartoontje
Berichten: 1518
Lid geworden op: 29 jun 2003, 10:57
Locatie: Home Sweet Home
Contacteer:

Bericht door cartoontje » 19 jun 2004, 10:41

sukkelaap schreef:In welk bestand moet ik dat vinden?
page_header.php :)

cartoontje
Berichten: 1518
Lid geworden op: 29 jun 2003, 10:57
Locatie: Home Sweet Home
Contacteer:

Bericht door cartoontje » 19 jun 2004, 10:46

Het werkt!!! :D

Thanks WebSiteNet! :D

---

Edit: Alleen als ik nu een bericht wil posten:

Code: Selecteer alles

Fatal error: Call to undefined function: color_group_colorize_name() in /usr/local/psa/home/vhosts/mr-ski.nl/subdomains/timtheweb/httpdocs/phpBB2/includes/page_header.php on line 280
Lijn 280 van page_header.php

Code: Selecteer alles

$user_day_link = color_group_colorize_name($row['user_id']);
Laatst gewijzigd door cartoontje op 19 jun 2004, 10:50, 1 keer totaal gewijzigd.

sukkelaap
Berichten: 1345
Lid geworden op: 03 dec 2003, 19:09
Locatie: Zeist

Bericht door sukkelaap » 19 jun 2004, 10:49

Bij mij ook thanxxxxxxxxxxxxxxx :thumb:

cartoontje
Berichten: 1518
Lid geworden op: 29 jun 2003, 10:57
Locatie: Home Sweet Home
Contacteer:

Bericht door cartoontje » 19 jun 2004, 10:54

De oplossing heb ik ook! :)

Vind:

Code: Selecteer alles

//
// Users of the day MOD
//
Voeg daarna toe:

Code: Selecteer alles

include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);

sukkelaap
Berichten: 1345
Lid geworden op: 03 dec 2003, 19:09
Locatie: Zeist

Bericht door sukkelaap » 19 jun 2004, 10:57

idd dat porbleme had ik ook is nu opgelost. Thanxxxx. Als er meer problemen zijn horen jullie het wel :bier:

cartoontje
Berichten: 1518
Lid geworden op: 29 jun 2003, 10:57
Locatie: Home Sweet Home
Contacteer:

Bericht door cartoontje » 01 jul 2004, 14:02

Ik zou dit ook graag voor de birthdayhack op de index pagina willen hebben. Dit is de code:

Code: Selecteer alles

// Birthday Mod, Show users with birthday 
$sql = ($board_config['birthday_check_day']) ? "SELECT user_id, username, user_birthday,user_level FROM " . USERS_TABLE. " WHERE user_birthday!=999999 ORDER BY username" :"";
if($result = $db->sql_query($sql)) 
{ 
	if (!empty($result)) 
	{ 
		$time_now = time();
		$this_year = create_date('Y', $time_now, $board_config['board_timezone']);
		$date_today = create_date('Ymd', $time_now, $board_config['board_timezone']);
		$date_forward = create_date('Ymd', $time_now+($board_config['birthday_check_day']*86400), $board_config['board_timezone']);
	      while ($birthdayrow = $db->sql_fetchrow($result))
		{ 
usleep(2);
		      $user_birthday2 = $this_year.($user_birthday = realdate("md",$birthdayrow['user_birthday'] )); 
      		if ( $user_birthday2 < $date_today ) $user_birthday2 += 10000;
			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>,'; 
			} else 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>,'; 
		      }
			 
		}
		if ($birthday_today_list) $birthday_today_list[ strlen( $birthday_today_list)-1] = ' ';
		if ($birthday_week_list) $birthday_week_list[ strlen( $birthday_week_list)-1] = ' ';
	} 
	$db->sql_freeresult($result);
}
Ik ben er al mee bezig geweest, maar ik kreeg telkens een Parse Error ( Expecting { or : ).

Kan iemand die code misschien op die Colour Groups code op die 2 plekken goed invoegen (zie 1e post voor meer uitleg m.b.t. die code).

Volgensmij ben ik ook vergeten de leeftijd erachter te plakken! :?
Laatst gewijzigd door cartoontje op 01 jul 2004, 14:13, 2 keer totaal gewijzigd.

Gebruikersavatar
WebSiteNet
Berichten: 6524
Lid geworden op: 20 okt 2003, 16:56
Locatie: Wieringerwerf
Contacteer:

Bericht door WebSiteNet » 01 jul 2004, 14:04

Wat is de preciese foutmelding?

Zou je de code van index.php willen geven rond die regel met 10 regels er boven en er onder?

cartoontje
Berichten: 1518
Lid geworden op: 29 jun 2003, 10:57
Locatie: Home Sweet Home
Contacteer:

Bericht door cartoontje » 01 jul 2004, 14:12

De code uit mijn vorige post (dat is de originele code) heb ik gewijzigd in

Code: Selecteer alles

// Birthday Mod, Show users with birthday 
$sql = ($board_config['birthday_check_day']) ? "SELECT user_id, username, user_birthday,user_level FROM " . USERS_TABLE. " WHERE user_birthday!=999999 ORDER BY username" :"";
if($result = $db->sql_query($sql)) 
{ 
	if (!empty($result)) 
	{ 
		$time_now = time();
		$this_year = create_date('Y', $time_now, $board_config['board_timezone']);
		$date_today = create_date('Ymd', $time_now, $board_config['board_timezone']);
		$date_forward = create_date('Ymd', $time_now+($board_config['birthday_check_day']*86400), $board_config['board_timezone']);
	      while ($birthdayrow = $db->sql_fetchrow($result))
		{ 
usleep(2);
		      $user_birthday2 = $this_year.($user_birthday = realdate("md",$birthdayrow['user_birthday'] )); 
      		if ( $user_birthday2 < $date_today ) $user_birthday2 += 10000;
			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'])
				$birthday_week_list .= color_group_colorize_name($row['user_id']); 
			} else if ( $user_birthday2 == $date_today ) 
      		{ 
				//user have birthday today 
				$user_age = $this_year - realdate ( 'Y',$birthdayrow['user_birthday'] ); 
				switch ($birthdayrow['user_level'])
				$birthday_today_list .= color_group_colorize_name($row['user_id']); 
		      }
			 
		}
		if ($birthday_today_list) $birthday_today_list[ strlen( $birthday_today_list)-1] = ' ';
		if ($birthday_week_list) $birthday_week_list[ strlen( $birthday_week_list)-1] = ' ';
	} 
	$db->sql_freeresult($result);
}
Ik krijg dan de volgende foutmelding in index.php

Code: Selecteer alles

Parse error: parse error, expecting `':'' or `'{'' in /usr/local/psa/home/vhosts/mr-ski.nl/subdomains/timtheweb/httpdocs/phpBB2/index.php on line 330
De code is op 2 plaatsen gewijzigd (bij komende 7 dagen en vandaag).
Volgensmij heb ik me ook iets te letterlijk aan jouw wijziging bij users of the day gehouden! :roll:

Gebruikersavatar
WebSiteNet
Berichten: 6524
Lid geworden op: 20 okt 2003, 16:56
Locatie: Wieringerwerf
Contacteer:

Bericht door WebSiteNet » 01 jul 2004, 16:13

Welke regel is dan precieds 330?

cartoontje
Berichten: 1518
Lid geworden op: 29 jun 2003, 10:57
Locatie: Home Sweet Home
Contacteer:

Bericht door cartoontje » 01 jul 2004, 18:16

Code: Selecteer alles

$birthday_week_list .= color_group_colorize_name($row['user_id']);

Gebruikersavatar
WebSiteNet
Berichten: 6524
Lid geworden op: 20 okt 2003, 16:56
Locatie: Wieringerwerf
Contacteer:

Bericht door WebSiteNet » 02 jul 2004, 17:56

Er staat iets van 2 keer dit in. Dat zorgt voor dee error en mag verwijderd worden:

Code: Selecteer alles

switch ($birthdayrow['user_level']) 

cartoontje
Berichten: 1518
Lid geworden op: 29 jun 2003, 10:57
Locatie: Home Sweet Home
Contacteer:

Bericht door cartoontje » 03 jul 2004, 13:55

Dankje! :thumb:

Alleen klopt de code nu voor geen meter. Ik heb me iets te letterlijk aan je wijziging bij users of the day gehouden en nu wordt de naam van user + leeftijd e.d. niet weergegeven. Ik ben weer ermee bezig gegaan en krijg het er niet goed in.

Weet jij misschien hoe ik alles hetzelfde houd, maar dan met de color groups kleuren, want ik maak er nu een zooitje van! :roll:

Gesloten