Christoph: Function für Serverüberlastung verantwortlich?

Beitrag lesen

Hallo Christoph,

Was hast Du an Deiner Funktion geändert? Das könnte die Suche vielleicht eingrenzen.

Viele Grüße,

Stefan

Hallo Stefan,

die original Function sieht so aus:

function get_buddies_list(&$data, $mode = '')
{
 global $db, $lang, $template, $theme, $images, $phpEx;

$current_time = time();
 $session_time = 60;
 $end_session = $current_time - $session_time;

$sql = "SELECT b.buddy_id, u.username AS buddy_name, u.user_allow_viewonline, u.user_session_time
   FROM " . BUDDIES_TABLE . " b, " . USERS_TABLE . " u
   WHERE b.user_id = " . $data['user_id'] . "
    AND u.user_id = b.buddy_id
   ORDER BY u.username ASC";
 if( !$result = $db->sql_query($sql) )
 {
  message_die(GENERAL_ERROR, 'Could not query buddies information', '', __LINE__, __FILE__, $sql);
 }

$buddies = array();
 while( $row = $db->sql_fetchrow($result) )
 {
  $buddies[] = $row;
 }
 $db->sql_freeresult($result);

//
 // Dump vars to template
 //
 $template->assign_vars(array(
  'L_BUDDYLIST' => $lang['Buddylist']
  )
 );

//
 // Okay, let's build the online buddies list
 //
 $s_buddies = '';
 if( count($buddies) == 0 )
 {
  $s_buddies = $lang['No_buddies'];
 }
 else
 {
  for( $i = 0; $i < count($buddies); $i++ )
  {
   $buddy_id = $buddies[$i]['buddy_id'];

if( ($buddies[$i]['user_allow_viewonline'] || $data['user_level'] == ADMIN) && ($buddies[$i]['user_session_time'] >= $end_session) )
   {
    $buddy_name = '<b>' . $buddies[$i]['buddy_name'] . '</b>';
   }
   else
   {
    $buddy_name = $buddies[$i]['buddy_name'];
   }

$temp_url = append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=$buddy_id");
   $buddy_profile = '<a href="' . $temp_url . '">' . $buddy_name . '</a>';

$temp_url = append_sid("privmsg.$phpEx?mode=post&amp;" . POST_USERS_URL . "=$buddy_id");
   $buddy_pm = '<a href="' . $temp_url . '">' . $buddy_name . '</a>';

$s_buddies .= ( ( $s_buddies != '' ) ? ', ' : '' ) . ( ( $mode == 'pm' ) ? $buddy_pm : $buddy_profile );
  }
 }

$template->assign_vars(array(
  'S_BUDDIES' => $s_buddies
  )
 );

return;
}

Gruß
Christoph