سلام
ميدنيد كه محتوای فايلهاي بلوكهاي phpnuke چیزی جز کدهای php و html نیست .
یه بلوک گیر آوردم که کاربران online در mesenger یاهو رو نشان میده .
این بلوک بطور معمول در صفحه اصلی سایت قرار میگیره .
ولی به جهت اینکه این بلوک به شدت سرعت ایجاد صفحه رو کم می کنه . تصمیم دارم این بلوک رو در صفحه مجزایی قرار بدم .
مثلا این مسیر :
http://www.sitename.com\blockname
ما چه تغییراتی بر روی فایل php مربوط به بلوک مورد نظرمون باید انجام بدیم که به هدف ذکر شده برسیم ؟
محتوای بلوک مربوطه رو اینجا قرار میدم
کد:
<?php
if (eregi("block-YahooChat.php", $_SERVER['PHP_SELF'])) {
Header("Location: index.php");
die();
}
global $prefix, $db, $offlineicon;
function is_online($yid)
{
global $offlineicon;
$yahoohandle = fopen ("http://opi.yahoo.com/online?u=$yid&m=g&t=0", "rb");
if ($yahoohandle and $offlineicon){
$icon = fread($yahoohandle, 30);
if ($icon==$offlineicon)
return false;
else
return true;
fclose ($yahoohandle);
}else return false;
}
@set_time_limit(60);
$yahoohandle = @fopen ("http://opi.yahoo.com/online?u=***&m=g&t=0", "rb");
if ($yahoohandle){
$offlineicon = fread($yahoohandle, 30);
fclose ($yahoohandle);
}
$count=0;
$result = $db->sql_query("SELECT username, user_yim FROM ".$prefix."_users WHERE user_yim!='' ORDER BY user_yim");
$content = "<p dir=ltr align=left>";
while ($row = $db->sql_fetchrow($result)) {
$username = $row['username'];
$user_yim = $row['user_yim'];
if (strpos($user_yim,"@")>1)$user_yim=substr($user_yim,0,strpos($user_yim,"@"));
if (@is_online($user_yim)){
$count++;
$content .= "<a href=\"ymsgr:sendim?$user_yim\"><img src=\"http://opi.yahoo.com/online?u=$user_yim&m=g&t=0\" border=0 alt=$username width=12 height=12>$user_yim</a>";
$content .= "<br>";
}
}
$content .= "</p>";
$content = "<p align=justify>هم اكنون <b>$count</b> نفر از اعضاي گروه در ياهو آنلاين هستند.<br>براي چت كردن روي ID مورد نظر كليك كنيد (بايد ياهو مسنجر داشته باشيد): </p>$content";
if ($count==0) $content="هم اكنون هيچ يك از اعضا در ياهو آنلاين نيستند.";
?>
چه تغییراتی بر روی این فایل باید انجام بگیره ؟
ممنون میشم