مرجع پارسی MyBB

نسخه‌ی کامل: دو سوال در مورد کاربران در انتظار فعال سازی
شما درحال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب‌بندی مناسب.
با سلام و خسته نباشید خدمت دوستان
دو سوال داشتم:
1) آیا پلاگینی وجود دارد که کاربران در انتظار فعال سازی را که اکانت خود را بعد از مدتی مثلا 48 ساعت ، فعال نکردند از لیست اعضا حذف کنه؟. اگر نه چطور میشه هر از گاهی این کاربران رو بصورت جمعی نه یک به یک از لیست موردنظر حذف کرد ( فقط امکان حذف کاربر به صورت تکی وجود داره)

2)من میخوام کاربران در انتظار فعال سازی نیز مثل کاربران میهمان باشند مثلا مانند میهمان ها که بعد از فعال کردن پلاگین میهمان ها قادر به مشاهده لینک ها نیستند آن ها نیز نتوانند لینک های هیدن را مشاهده کنند.؟ در واقع گروه کاربریشون همون مهمان بشه؟
درود

1- خبر
2- از دسترسی گروه ها تنظیم کنید.
(۱۳۸۹/۶/۴، ۱۴:۱۲:۴۸ عصر)sia1 نوشته است: [ -> ]...
چطور میشه هر از گاهی این کاربران رو بصورت جمعی نه یک به یک از لیست موردنظر حذف کرد ( فقط امکان حذف کاربر به صورت تکی وجود داره)

اگر نسخه MyBB خود را به 1.6 ارتقا دهید امکان حذف چندین کاربر به صورت یکجا در این نسخه وجود دارد.
با تشکر از اساتید محترم پارس و kevin

البته بنده پلاگینی در این زمینه در این آدرس یافتم که بسیار کاربردیه ولی نتونستم دانلود کنم
اما با اجرای کوئری زیر کاربرای در انتظار فعال سازی همگی حذف مشن ( خودم لازمش داشتم گفتم شاید دوستان هم به این مشکل بر خوردن اینجا قرار دادم)
کد:
DELETE FROM `mybb_users` WHERE `usergroup` = '5'

اما خواهش دیگری دارم میشه پلاگین http://community.mybbiran.com/thread-12-...l#pid12110 تغییراتی در اون داد تا برای کاربرانی که در انتظار فعال سازی هستند هم کار کند؟
درمورد پلاگین : http://www.mybbcentral.com/thread-1710.html باید خدمتتان عرض کنم که این پلاگین غیر رایگان است و تنها با پرداخت 10$ می توانید به طور دائم عضو سایت MyBBCentral شوید و از پلاگین های آن استفاده کنید.

درمورد دوم هم نیازی به ویرایش پلاگین نیست در تنظیمات پلاگین --> تنظیم "SCD Hide From Groups" را روی "بله" قرار دهید سپس در تنظیم "Comma separated list of groups you wish to have the code and php boxes hidden from" شناسه گروه های کاربری مورد نظر را وارد کنید . مثلا اگر میخواهید گروه کاربری میهمان و در انتظار فعال سازی را انتخاب کنید اینچنین قرار دهید:

کد:
1,5
با تشکر از شما کوین جان
متاسفانه من تنظیماتی که شما فرمودید را نیافتم
تصویر تنظیمات پلاگین
[تصویر:  6isy03pyp0c0stz837r.jpeg]

فکر میکنم یک تغییراتی در پلاگین باید انجام شود
متن پلاگین
کد:
<?php
/**
* Author: DragonFever
* Copyright: © 2008 DragonFever
* Website:  http://www.dragonfever.info
**/

// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
    die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

// Plugin hook
$plugins->add_hook("parse_message", "hidelinks_hide");

// Plugin info
function hidelinks_info()
{
    return array(
        "name"            => "Hide Links to Guests",
        "description"    => "Show a message to guests instead of links.",
        "website"        => "http://www.dragonfever.info",
        "author"        => "DragonFever",
        "authorsite"    => "http://www.dragonfever.info",
        "version"        => "1.0",
        "guid"            => "d424f74b9c2e851a6b9aea25de43598b",
        "compatibility" => "14*"
    );

}

// Activate plugin
function hidelinks_activate()
{
    global $db;

    $hidelinks_group = array(
        "gid"            => "NULL",
        "name"            => "hidelinks_settings",
        "title"         => "Hide Links to Guests",
        "description"    => "Settings for Hide Links to Guests plugin.",
        "disporder"        => "100",
        "isdefault"        => "no",
    );
    $db->insert_query("settinggroups", $hidelinks_group);
    $gid = $db->insert_id();
    
    $hidelinks_setting_1 = array(
        "sid"            => "NULL",
        "name"            => "hidelinks_enabled",
        "title"            => "Enable/Disable",
        "description"    => "Enable Hide Links to Guests ?",
        "optionscode"    => "yesno",
        "value"            => "no",
        "disporder"        => "1",
        "gid"            => intval($gid),
    );
        
    $hidelinks_setting_2 = array(
        "sid"            => "NULL",
        "name"            => "hidelinks_message",
        "title"            => "Message",
        "description"    => "Insert the message here to be displayed to guests instead of links (You can use HTML):",
        "optionscode"    => "textarea",
        "value"            => "<font color=\"red\">Guests cannot see links in the messages. Please register to forum by clicking <a href=\"member.php?action=register\"><strong>here</strong></a> to see links.</font>",
        "disporder"        => "5",
        "gid"            => intval($gid),
        );
    
    $db->insert_query("settings", $hidelinks_setting_1);
    $db->insert_query("settings", $hidelinks_setting_2);
    
    // Optimizing database
    $db->query("OPTIMIZE TABLE ".TABLE_PREFIX."settinggroups");
    $db->query("OPTIMIZE TABLE ".TABLE_PREFIX."settings");
    $db->query("OPTIMIZE TABLE ".TABLE_PREFIX."sessions");
    
    // Rebuilding settings
    rebuildsettings();
}

// Deactivate plugin
function hidelinks_deactivate()
{
    global $db;

    $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='hidelinks_settings'");
    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='hidelinks_enabled'");
    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='hidelinks_message'");
    
    // Optimizing database
    $db->query("OPTIMIZE TABLE ".TABLE_PREFIX."settinggroups");
    $db->query("OPTIMIZE TABLE ".TABLE_PREFIX."settings");
    $db->query("OPTIMIZE TABLE ".TABLE_PREFIX."sessions");
    
    // Rebuilding settings
    rebuildsettings();
}

// Run plugin
function hidelinks_hide(&$message)
{
    global $settings, $mybb;
    
    if ($mybb->settings['hidelinks_enabled'] == "1")
    {
        if($mybb->user['usergroup'] == "1")
        {
            $message = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "{$mybb->settings['hidelinks_message']}", $message);
        }
    }
}
?>

در این خط if($mybb->user['usergroup'] == "1") آیا میشود تغییراتی داد تا group id 5 را در نظر بگیرد؟
این تنظیماتی که شما از آن Screenshot گرفته اید مربوط به پلاگین Hide Links To Guest است نه پلاگین SCD Hide From Groups که شما لینک آن را قرار داده اید.
با تشکر
ولی من لینک پلاگین Hide Links To Guest رو قرار دادم نه پلاگینی که شما فرمودید لطفا یکبار دیگر چک بفرمایید
بگذریم برای این پلاگین راه حلی وجود داره ممنون میشم راهنمایی کنید
خسته نباشید خدمت اساتید محترم
بنده در متن پلاگین ( hide links to guest ) که قرار دادم تغییرات زیر را انجام دادم اگه میشه بفرمایید از نظر امنیتی و کارکرد مشکلی ایجاد نمیشه ( اصولا یک if تکرار شده که به نظر مشکلی نمیاد) با این تغییرات هم برای گروه 1 مهمان و هم برای گروه 5 کاربران در انتظار فعال سازی لینک ها پنهان میشوند.( امتحان شده و کار میکنه) ممنون میشم بفرمایید آیا مشکلی وجود داره یا نه؟

در قسمت زیر :

کد:
// Run plugin
function hidelinks_hide(&$message)
{
    global $settings, $mybb;
    
    if ($mybb->settings['hidelinks_enabled'] == "1")
    {
        if($mybb->user['usergroup'] == "1")
        {
            $message = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "{$mybb->settings['hidelinks_message']}", $message);
        }
    }
}
?>

خط زیر اضافه شده:

کد:
if ($mybb->settings['hidelinks_enabled'] == "1" && $mybb->user['usergroup'] == "5")
        $post['message'] = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "{$mybb->settings['hidelinks_message']}", $post['message']);

و در نهایت تبدیل به کد زیر شده:
کد:
// Run plugin
function hidelinks_hide($post)
{
    global $settings, $mybb;

    if ($mybb->settings['hidelinks_enabled'] == "1" && $mybb->user['usergroup'] == "1")
        $post['message'] = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "{$mybb->settings['hidelinks_message']}", $post['message']);
if ($mybb->settings['hidelinks_enabled'] == "1" && $mybb->user['usergroup'] == "5")
        $post['message'] = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "{$mybb->settings['hidelinks_message']}", $post['message']);


}

?>