Pagina 1 van 1

Birthdayhack met Group Color mod (Nivisec)

Geplaatst: 10 aug 2004, 20:16
door cartoontje
Ik ben er al een tijdje op aan het prutsen geweest, terwijl het volgensmij vrij simpel is. Hoe kan ik de Colourgroupsmod van Nivisec samen laten werken met de birthdayhack (op forumindex)?

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);
}
Indien je meer info nodig hebt over groups color mod, hier wat voorbeelden van wijzigingen die in de mod zijn inbegrepen:

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++;
				}
				
# 
#-----[ OPEN ]------------------------------------------ 
# 
viewonline.php

# 
#-----[ FIND ]------------------------------------------ 
#
			$username = $row['username'];

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

# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
			include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);
			$username = color_group_colorize_name($user_id, true);

Geplaatst: 11 aug 2004, 08:13
door WebSiteNet
Volgens mij moet het zo.

VIND:

Code: Selecteer alles

            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>,'; 
Vervang met:

Code: Selecteer alles

           $birthday_today_list .= color_group_colorize_name($row['user_id']) . "&nbsp;(" . $user_age . ")&nbsp; &nbsp;"; 
Het is niet helemaal zoals het moet, maar het heeft resultaat.

Geplaatst: 11 aug 2004, 13:17
door cartoontje
Er zijn toch 2 plekken die veranderd moeten worden?

Geplaatst: 11 aug 2004, 14:11
door WebSiteNet
Het tweede stuk is voor viewonline.php. Dat heeft hier geloof ik weinig mee te maken.

Geplaatst: 11 aug 2004, 14:25
door cartoontje
Nee, ik bedoel bij de brithdaymod is er een stuk voor jarig in de komende 7 dagen én voor vandaag jarig.

Geplaatst: 11 aug 2004, 14:38
door Stef
Dat eerste stuk dus wat WebSiteNet heeft aangepast, zorgt er voor dat op de index pagina, toch goed verschijnt.

Geplaatst: 17 aug 2004, 18:43
door cartoontje
Oke, heb het nu pas getest, maar alleen de leeftijd wordt weergegeven.

"Gebruikers die vandaag jarig zijn: (15)"

En dit terwijl hij bij: "Gebruikers die binnen 7 dagen vanaf nu jarig zijn:" hoort te staan (en dus verkeerd staat).

:?

Geplaatst: 27 aug 2004, 19:51
door Relax
ik heb exact hetzelfde.. wel de leeftijd, niet de usernames...

Misschien heeft iemand een verbetering?


Toekomstige jarigen worden op vandaag gezet maar zonder naam.