تغییردرماژول تعداد حاضران
درود بر شما دوستان
در مامبو های قبلی برای بالا بردن تعداد حاضران در ماژول مربوطه به این صورت عمل می کردیم ( عددی را که با حروف قرمز تایپ شده به دلخواه تغییر می دادیم اما در مامبو 4.6 این کار باعث ایجاد مشکل می شود ، راه حل چیست ؟ سپاسگزارم
[tt]<?php
/**
* @version $Id: mod_whosonline.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
* @package Mambo
* @copyright (C) 2000 - 2005 Miro International Pty Ltd
* @license [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] GNU/GPL
* Mambo is Free Software
*/
/** ensure this file is being included by a parent file */
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
$showmode = $params->get( 'showmode' );
$moduleclass_sfx = $params->get( 'moduleclass_sfx' );
$content="";
if ($showmode==0 || $showmode==2) {
$query1 = "SELECT 3*count(session_id) as guest_online FROM #__session WHERE guest=1 AND (usertype is NULL OR usertype='')";
$database->setQuery($query1);
$guest_array = $database->loadResult();
$query2 = "SELECT DISTINCT count(username) as user_online FROM #__session WHERE guest=0 AND usertype <> 'administrator' AND usertype <> 'superadministrator'";
$database->setQuery($query2);
$user_array = $database->loadResult();
if ($guest_array<>0 && $user_array==0) {
if ($guest_array==1) {
$content.=_WE_HAVE;
$content.=_GUEST_COUNT;
$content.=_ONLINE;
eval ("\$content = \"$content\";");
} else {
$content.=_WE_HAVE;
$content.=_GUESTS_COUNT;
$content.=_ONLINE;
eval ("\$content = \"$content\";");
}
}
if ($guest_array==0 && $user_array<>0) {
if ($user_array==1) {
$content.=_WE_HAVE;
$content.=_MEMBER_COUNT;
$content.=_ONLINE;
eval ("\$content = \"$content\";");
} else {
$content.=_WE_HAVE;
$content.=_MEMBERS_COUNT;
$content.=_ONLINE;
eval ("\$content = \"$content\";");
}
}
if ($guest_array<>0 && $user_array<>0) {
if ($guest_array==1) {
$content.=_WE_HAVE;
$content.=_GUEST_COUNT;
$content.=_AND;
eval ("\$content = \"$content\";");
} else {
$content.=_WE_HAVE;
$content.=_GUESTS_COUNT;
$content.=_ONLINE;
$content.=_AND;
eval ("\$content = \"$content\";");
}
if ($user_array==1) {
$content.=_MEMBER_COUNT;
$content.=_ONLINE;
eval ("\$content = \"$content\";");
} else {
$content.=_MEMBERS_COUNT;
$content.=_ONLINE;
eval ("\$content = \"$content\";");
}
}
}
if ($showmode==1 || $showmode==2) {
$query = "SELECT DISTINCT a.username"
."\n FROM #__session AS a"
."\n WHERE (a.guest=0)";
$database->setQuery($query);
$rows = $database->loadObjectList();
foreach($rows as $row) {
$content .= "<ul>\n";
$content .= "<li><strong>" . $row->username . "</strong></li>\n";
$content .= "</ul>\n";
}
if ($content == "") {
echo _NONE ."\n";
}
}
?>[/tt]
پاسخ : تغییردرماژول تعداد حاضران
سلام
از اين كد استفاده كن:
کد:
<?php
/**
* @package Mambo Open Source
* @copyright (C) 2005 - 2006 Mambo Foundation Inc.
* @license [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] GNU/GPL
*
* Mambo was originally developed by Miro ([مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure
* that Mambo remained free Open Source software owned and managed by the community.
* Mambo is Free Software
*/
/** ensure this file is being included by a parent file */
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
$showmode = $params->get( 'showmode' );
$moduleclass_sfx = $params->get( 'moduleclass_sfx' );
$content="";
if ($showmode==0 || $showmode==2) {
$query1 = "SELECT count(session_id) as guest_online FROM #__session WHERE guest=1 AND (usertype is NULL OR usertype='')";
$database->setQuery($query1);
$guest_array = $database->loadResult();
$query2 = "SELECT DISTINCT count(username) as user_online FROM #__session WHERE guest=0 AND usertype <> 'administrator' AND usertype <> 'superadministrator'";
$database->setQuery($query2);
$user_array = $database->loadResult();
if ($guest_array<>0 && $user_array==0) {
$content .= sprintf(Tn_('We have %d guest online', 'We have %d guests online', $guest_array*3), $guest_array*3);
}
if ($guest_array==0 && $user_array<>0) {
$content .= sprintf(Tn_('We have %d member online','We have %d members online', $user_array*3), $user_array*3);
}
if ($guest_array<>0 && $user_array<>0) {
$content .= sprintf(Tn_('We have %d guest online and ','We have %d guests online and ', $guest_array*3), $guest_array*3);
$content .= sprintf(Tn_(' %d member online',' %d members online', $user_array*3), $user_array*3);
}
}
if ($showmode==1 || $showmode==2) {
$query = "SELECT DISTINCT a.username"
."\n FROM #__session AS a"
."\n WHERE (a.guest=0)";
$database->setQuery($query);
$rows = $database->loadObjectList();
if (is_array($rows)) {
foreach($rows as $row) {
$content .= "<ul>\n";
$content .= "<li><strong>" . $row->username . "</strong></li>\n";
$content .= "</ul>\n";
}
}
if ($content == "") {
echo T_('No Users Online') ."\n";
}
}
?>
پاسخ : تغییردرماژول تعداد حاضران
پاسخ : تغییردرماژول تعداد حاضران
سلام
كيوان جان اين كدي كه دادم يه سوتي داره رو قسمت اعضا (وقتي وارد ميشند مينويسه 3 عضو؛ ولي فقط يكي مينويسه ;) ) يكم كد هاش رو نگا نگا كني خودت ميتوني مشكلش رو برداري (تو *3 ها نگاه كن) اگه نتونستي بگو برات درستش كنم؛ ولي سعي خودت رو بكن تا ماهيگيري رو ياد بگيري ;)
يا علي (ع)