مهمان عزیز خوش آمدید. ورود ثبت نام



صفحه‌ها (2):
امتیاز موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
کلمات کلیدی
مهم ویرایش پلاگین user profile premission

█[مهم]█ ویرایش پلاگین user-profile-premission
با سلام و عرض ادب
خواهش میکنم ابتدا کامل بخونید
دوستان کسی می تونه این پلاگین رو برای ما ویرایش کنه ؟
مطمئنن برای استادان نه سخته نه وقت گیر ، مشکلش رو دقیق براتون شرح میدم
http://mods.mybb.com/view/user-profile-premission

بعد از فعال سازی پلاگین سه گزینه به ترتیب زیر در ویرایش پروفایل اضافه میشه

پروفایل به چه کسانی نمایش داده شود
1-هیچکس
2-فقط دوستان
3-همه


الان چون کسانی که در لیست ایگنور هستن هم پروفایل کاربر مد نظر براشون بسته میشه دقیقا همون چیزیه که میخوایم

ما انتخاب این گزینه ها رو از قالب برداشتیم! یعنی گزینه ایی نیست که کاربر انتخاب کنه و تغییر بده دسترسی رو

اما الان یک کاربری جدید عضو میشه ، وقتی تنظیمات پروفایلش رو به روز رسانی میکنه نمیدونم چرا پروفایلش برای همه جز مدیران بسته میشه؟ این تنها مشکلشه


البته پیشفرض بروی گزینه 3 قرار داره تنظیمات ، می تونه دلیلش این باشه کاربر بعد از بروزرسانی یهو گزینه بروی یک قرار بگیره ؟ یا علتش چیز دیگریست که پروفایل"بعضی از کاربران" به صورت خودجوش بسته میشه؟!

الان میشه کلا تنظیمات "بستن پروفایل برای همه" رو بست؟ یعنی نه اینکه گزینش نباشه کلا از پلاگین حذف شه تا خود جوش دیگه انتخاب نشه
گزینه پیشفرض و اولی هم باز بودن پروفایل برای همه باشه و گزینه دوم فقط برای دوستان!


یکی بزرگواری کنه برای ویرایش این پروفایل سپاسگزار میشم ، والا نه وقت گیره نه محتویات چندان پیچیده ایی داره ! البته برای ما نامفهمون و سخت هستش!


این فایل پلاگین ک فقط همین یک فایل رو داره
کد پی‌اچ‌پی:
<?php

/**
 * Author: Hamid Nozari
 * Comaptible with: MyBB 1.4.*
 * Website: http://www.shceg.com
 * License: GNU/GPL
 * User Profile Premission v1.0.1 - 2010/02/13
 * Use at your own risk

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

// 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.");
}

$plugins->add_hook("datahandler_user_update""upp_update");
$plugins->add_hook("member_profile_start","upp_member_profile");
$plugins->add_hook('usercp_profile_start''upp_template_update');

function 
upp_info()
{
    return array(
        
"name"            => "User Profile Premission",
        
"description"    => "This plugin allows each user to specify what users have access to his profile and see it",
        
"website"        => "http://www.shceg.com",
        
"author"        => "Hamid Nozari",
        
"authorsite"    => "http://www.shceg.com",
        
"version"        => "1.0.1",
        
"guid"             => "ccd76b688c5556826b1c97d396fee518",
        
"compatibility" => "14*"
    
);
}

function 
upp_install()
{
    global 
$db;

    
//Delete old template if exist
    
$db->delete_query("templates""title='upp_usercp'");
    
    
//Insert template
    
$upp_usercp = array(
        
"title"    =>  "upp_usercp",
        
"template" =>  "<br />

<fieldset class=\"trow2\">
<legend><strong>{\$lang->uppusercp_title}</strong></legend>
<table cellspacing=\"0\" cellpadding=\"{\$theme[tablespace]}\" width=\"100%\">
    <tr>
        <td>
            <select name=\"upp\">
                <option value=\"0\" {\$selected1}>{\$lang->upp_nobody}</option>
                <option value=\"1\" {\$selected2}>{\$lang->upp_friends}</option>
                <option value=\"2\" {\$selected3}>{\$lang->upp_everyone}</option>
            </select>
        </td>
    </tr>
</table>
</fieldset>
                        "
,
        
"sid"      =>  '-1',
        
"version"  =>  '',
        
"dateline" => TIME_NOW
        
);
    
$db->insert_query("templates"$upp_usercp);
    
    
//Insert upp field to users table
    
if(!$db->field_exists('upp''users'))
    {
        
$db->query("ALTER TABLE ".TABLE_PREFIX."users ADD `upp` tinyint(1) NOT NULL default '2'");
    }
}

function 
upp_is_installed()
{
    global 
$db;
    
    if(
$db->field_exists('upp''users'))
    {
        return 
true;
    }
    
    return 
false;
}

function 
upp_activate()
{
    global 
$db;
 
    include 
MYBB_ROOT.'/inc/adminfunctions_templates.php';
    
find_replace_templatesets("usercp_profile""#".preg_quote('{$customfields}')."#i"'{$upp}{$customfields}');
}

function 
upp_deactivate()
{
    global 
$db;

    include 
MYBB_ROOT."/inc/adminfunctions_templates.php";
    
find_replace_templatesets("usercp_profile""#".preg_quote('{$upp}')."#i"''0);
}

function 
upp_uninstall()
{
    global 
$db;
    
    
//Delete template
    
$db->delete_query("templates""title='upp_usercp'");
    
    
//Drop upp field from users tabel
    
if($db->field_exists('upp''users'))
    {
        
$db->query("ALTER TABLE ".TABLE_PREFIX."users DROP `upp`");
    }
}

function 
upp_update()
{
    global 
$mybb$db;
    
$upp intval($mybb->input['upp']);
    
    if (
$upp 2)
        
$upp 0;
    
    
//Update upp field in users table
    
$db->query("UPDATE ".TABLE_PREFIX."users SET upp = " $upp " WHERE uid = " $mybb->user['uid']);
}

function 
upp_member_profile()
{
    global 
$db$mybb$uid$lang$theme$memprofile;
    
    
upp_lang();
    
    
// Set $uid var
    
if($mybb->input['uid'])
    {
        
$uid intval($mybb->input['uid']);
    }
    else
    {
        
$uid $mybb->user['uid'];
    }
    
    
// Set logged user uid
    
$this_user $mybb->user['uid'];
    
    
//Check user premission to see desired profile
    
if ($uid != $this_user)
        if (!
CanViewUserProfile($uid$this_user))
        {
            
$ret=$db->simple_select('users','username, usergroup, displaygroup, upp','uid = '.$uid);
            
$upp $db->fetch_array($ret);
            
$username format_name($upp['username'], $upp['usergroup'], $upp['displaygroup']);
            if (
$upp['upp'] == 1)
                
error($lang->sprintf($lang->upp_error_friend$username));
            else
                
error($lang->sprintf($lang->upp_error$username));
        }
}

function 
upp_template_update()
{
    global 
$mybb$templates$theme$upp$lang$selected1$selected2$selected3;
    
upp_lang();
    
    
//Set user upp state
    
$selected1 $selected2 $selected3 "";
    
    if (
$mybb->user['upp']==0)
        
$selected1 "selected";
    else
    if (
$mybb->user['upp']==1)
        
$selected2 "selected";
    else 
    if (
$mybb->user['upp']==2)
        
$selected3 "selected";
        
    eval(
"\$upp= \"".$templates->get("upp_usercp")."\";");
}

//Functions//
function upp_lang()
{
    global 
$lang;
    
    
$lang->load('upp',false,true);
    
$l['uppusercp_title']='Who can view my profile:';
    
$l['upp_nobody']='Nobody';
    
$l['upp_friends']='My friend\'s only';
    
$l['upp_everyone']='Everyone';
    
$l['upp_error'] = 'You don\'t have premission to see {1} profile';
    
$l['upp_error_friend'] = 'Only {1} friend\'s can see his profile';
    
    foreach(
$l as $key=>$val)
    {
        if(!
$lang->$key)
        {
            
$lang->$key=$val;
        }
    }
}

function 
CanViewUserProfile($uid$this_user)
{
    global 
$db$mybb;

    
$gid $mybb->user['usergroup'];
    
    if (
$gid == || $gid == || $gid == 6)
        return 
true;
    
    
$ret $db->simple_select('users','upp, buddylist, ignorelist','uid = '.$uid);
    
$upp $db->fetch_array($ret);
    
$buddylist $upp['buddylist'];
    
$ignorelist $upp['ignorelist'];
    
$upp $upp['upp'];

    if (
$upp == 0)
    {
        return 
false;
    }
    else
    if (
$upp == 1)
    {
        
$buddyuidarray explode(",",$buddylist);
        if (
in_array($this_user$buddyuidarraytrue))
            return 
true;
        else 
            return 
false;
    }
    else
    {
        
$buddyuidarray explode(",",$ignorelist);
        if (
in_array($this_user$buddyuidarraytrue))
            return 
false;
    }
    return 
true;
}
?>
 


Huh
Tofighi میگه:
کد زیر رو پیدا کن:
کد پی‌اچ‌پی:
$upp intval($mybb->input['upp']); 
و به 
کد پی‌اچ‌پی:
$upp 2
تغییر بده.
میتونی ۲ رو به ۱ تغییر بدی که بشه فقط برای دوستان یا به ۰ تغییر بدی که بشه برای هیچ کس


دعای خیر برای اعضای گروه مای بی‌بی فارسی را فراموش نکنید!تصویر: http://www.cdn.my-bb.ir/images/smilies-v6/lightbulb.gif

HeartHeart خیلی التماس دعا دارم... دعام کنید لطفا HeartHeart

اگر از گروه مای بی‌بی فارسی راضی هستید، پس لطفا آنرا حمایت کنید: حمایت می‌کنم
KalKalForum میگه:
این کارو انجام دادیم سپاس این ارور باز نشدن از بین رفت و فقط برای اونایی که در ایگنور هستن نمایش میده
اما
حالا از تنظیمات هرکاری میکنیم مثلا برای هیچکس میذاریم خودش بروی همه میاد
یا حتی برای دوستان هم میذاریم خودش برای همه میاد!

فقط میخواستیم این گزینه هیچکس کلا حذف بشه هم تنظیماتش هم اجرا شدنش و فقط گزینه انتخاب دوستان و همه باقی بمونه! یعنی یجوری ک کسی تنظیماتش قبلا بروی هیچکس هم بوده اعمال نشه مثه الان


Huh
KalKalForum میگه:
بزرگواران کسی نیست راهنمایی کنه؟
الان مشکل پلاگین میخوایم رفع شه

یعنی گزینه بستن پروفایل برای همه کلا از پلاگین حذف شه و فقط گزینه باز شدن برای همه + باز شدن فقط برای دوستان باز بمونه ترتیبشونم اول گزینه باز شدن باشه بعد برای دوستان
این بستن پروفایل برای ایگنوره لیستام ب پای خودش باقی بمونه


Huh
Tofighi میگه:
این کد رو هم از پلاگین حذف کن! Smile
کد پی‌اچ‌پی:
if ($upp == 0)
    {
        return 
false;
    }
    else 
 


دعای خیر برای اعضای گروه مای بی‌بی فارسی را فراموش نکنید!تصویر: http://www.cdn.my-bb.ir/images/smilies-v6/lightbulb.gif

HeartHeart خیلی التماس دعا دارم... دعام کنید لطفا HeartHeart

اگر از گروه مای بی‌بی فارسی راضی هستید، پس لطفا آنرا حمایت کنید: حمایت می‌کنم
KalKalForum میگه:
سپاس
این ترتیب بندی رو نمیشه درست کرد؟ مثلا گزینه اول نمایش برای همه گزینه دوم دوستان گزینه سوم هیچکس باشه!
الان فکر کنم باز این مشکل قبل پیش بیاد و پروفایل خیلیا سرخود بروی نمایش فقط برای دوستان قرار بگیره!


Huh
KalKalForum میگه:
عزیز من الان خواستم تنظیمات این رو به تنظیمات خصوصی منتقل کنم جای ویرایش پروفایل

متغیرشو قرار دادیم نیومد
الان در پلاگین تغییرات دادیم و ی چند خطی این بود
کد پی‌اچ‌پی:
$plugins->add_hook("member_profile_start","upp_member_profile");
$plugins->add_hook('usercp_profile_start''upp_template_update'); 
جای پروفایل option رو قرار دادیم حالا متغییر رو میذاریم اضافه میشه مشکلی پیش نمیاد؟

بعد باز تاکید میکنم این پلاگین برای 1.4 بود یک بررسی میکنید ببینید چرا ناخوانی داره ؟ و چرا سرخورد بعضی مواقع گزینه هارو عوض میکنه یهو مثلا پروفایل برای دوستان میشه یهو باز میشه برای همه


Huh
KalKalForum میگه:
کسی از بزرگواران نیست این مشکل رو رسیدگی کنه ، زیاد حجمی نداره فایل پلاگین
بعد باز تاکید میکنم این پلاگین برای 1.4 بود یک بررسی میکنید ببینید چرا ناخوانی داره ؟ و چرا سرخورد بعضی مواقع گزینه هارو عوض میکنه یهو مثلا پروفایل برای دوستان میشه یهو باز میشه برای همه


Huh
wildbuzz میگه:
سلام
کد پی‌اچ‌پی:
"compatibility" => "14*" 
رو به
کد پی‌اچ‌پی:
"compatibility" => "16*" 
تغییر بدید


KalKalForum میگه:
(۲۷ فروردین ۱۳۹۳، ۰۸:۵۷ ب.ظ)wildbuzz نوشته:  سلام
کد پی‌اچ‌پی:
       "compatibility" => "14*" 
رو به
کد پی‌اچ‌پی:
       "compatibility" => "16*" 
تغییر بدید

حسابی خسته نباشید ، زحمت شد !
شما دو سه ارسال بالاتر بندرو خوندید؟ این پلاگین مشکل داره کلا! خودش تغییر گزینه میده
پروفایل رو محدود میکنیم یهو میبینیم جای لیست دوستان شده باز بودن برای همه یا بسته شدن برای همه این مشکل و تغییرات سرخود بدون تغییرکاربر
میخوایم رفع بشه


Huh
صفحه‌ها (2):


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  مشکل با پلاگین موضوع مشابه باراد 5 1,097 ۰۷ آذر ۱۳۹۳، ۰۵:۲۶ ب.ظ
آخرین ارسال: Tofighi
  مشکل پلاگین کلمات کلیدی IrIsT 4 758 ۰۶ مهر ۱۳۹۳، ۰۸:۴۳ ب.ظ
آخرین ارسال: Tofighi
  مشکل با پلاگین Sitemap Generator mersadnouri 0 724 ۲۹ شهریور ۱۳۹۳، ۰۷:۰۴ ق.ظ
آخرین ارسال: mersadnouri
  اضافه کردن پلاگین به ckeditor mghaffari 3 1,591 ۱۸ شهریور ۱۳۹۳، ۰۳:۰۱ ب.ظ
آخرین ارسال: Tofighi
  مشکل با پلاگین Ckeditor mghaffari 5 1,056 ۱۰ شهریور ۱۳۹۳، ۰۷:۴۸ ب.ظ
آخرین ارسال: mghaffari
  مشکل با پلاگین محدود کردن مدیران ارشد در مای بی بی 16.13 vahid800 9 1,626 ۰۸ شهریور ۱۳۹۳، ۰۶:۴۲ ب.ظ
آخرین ارسال: Amir-Me
  درخواست لینک دانلود پلاگین ویرایشگر خود my-bb.ir mohammadhero 7 1,192 ۰۴ شهریور ۱۳۹۳، ۱۰:۰۵ ب.ظ
آخرین ارسال: Tofighi
  مشکل با پلاگین موبایل bivafadl 1 618 ۲۷ مرداد ۱۳۹۳، ۰۴:۵۶ ب.ظ
آخرین ارسال: Tofighi
  مشکل پلاگین ckeditor life 3 625 ۲۷ تير ۱۳۹۳، ۰۴:۳۹ ب.ظ
آخرین ارسال: KalKalForum
  آموزش نصب پلاگین New Points _Arman 10 2,765 ۲۰ تير ۱۳۹۳، ۰۷:۰۳ ب.ظ
آخرین ارسال: Tofighi

پرش به انجمن:


کاربران در حال بازدید این موضوع:

1 مهمان


درباره‌ی ما

گروه پشتیبانی فارسی مای بی بی My-BB.Ir در واپسین روزهای پاییز 1391 کار خود را در زمینه مای بی بی آغاز کرد. این گروه با توکل بر خدای منان و دانش فنی خود در تلاش است فعالیتی هرچند ناچیز در زمینه ارتقا و پشتیبانی مای بی بی انجام دهد.
تمامی حقوق برای وب‌سایت پشتیبانی فارسی مای بی‌بی (My-BB.Ir) محفوظ می‌باشد و هرگونه کپی‌برداری از آن شرعا حرام و قانونا غیرمجاز می‌باشد.
قدرت گرفته از مای بی‌بی - فارسی‌ساز: My-BB.Ir و IORA.Ir