رفتن به مطلب
وحید حاجی پور

بدست اوردن اطلاعات راجع کاربر یا کاربران سایت

پست های پیشنهاد شده

در جوملا هر درخواستی انجام می شه و صفحه ای لود میشه و اسکریپتی اجرا می شه دلیل اون یک کاربر است که می توان اطلاعات آن از یک شی درون فریم ورک استخراج کرد .

   $user =& JFactory::getUser();

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

و یا اطلاعات یک شخصی رو که در سایت عضو هست اش رو می تونیم با استفاده از ای دی و یا یوزرنیم اون بدست بیاریم.

$user =& JFactory::getUser(99);	   $user =& JFactory::getUser('johnsmith');

بیشتر اطلاعات در رابطه با کاربر از طریق متغییر ها عمومی در شی user در دسترس هستند

echo "
Your name is {$user->name}, your email is {$user->email}, and your username is {$user->username}";	echo "
Your usertype is {$user->usertype} which has a group id of {$user->gid}.";

در کد بالا می تویند از طریق شی user به نام و ایمیل و نام و سطح کاربری و ایدی گروه ان دسترسی پیدا کنید .

متغییر ها و پارامتر های متعلق به شی

id - The unique, numerical user id. Use this when referencing the user record in other database tables.
[right]name - The name of the user. (e.g. Vint Cerf)[/right]
username - The login/screen name of the user. (e.g. shmuffin1979)
email - The email address of the user. (e.g. crashoverride@hackers.com)
password - The encrypted version of the user's password
password_clear - Set to the user's password only when it is being changed. Otherwise, remains blank.
usertype - The role of the user within Joomla!. (Super Administrator, Editor, etc...)
gid - Set to the user's group id, which corresponds to the usertype.
block - Set to '1' when the user is set to 'blocked' in Joomla!.
registerDate - Set to the date when the user was first registered.
lastvisitDate - Set to the date the user last visited the site.
guest - If the user is not logged in, this variable will be set to '1'. The other variables will be unset or default values

mall">علاوه بر این می توانیم متغییر های عضوی که درون ستون های جدول مربوط به کاربر ذخیره شده اند و به عنوان پارامتر ها هستند را بدست بیاوریم برای این کار از طریق شی و تابع getParam() اقدام می کنیم .

برای این کار نام پارامتر را به تابع مذکور پاس می کنیم و پارامتر دوم را default قرار می دهیم . بس برای دسترسی به این پارامتر ها با ید از تابع عضو getParam() استفاده کرد.

خوب با این اطلاعات می تونیم ببینیم که کاربر که داخل سایت وجود دارد و صفحات را بارگذاری می کند مهمان است یا عضو سایت .

در اینجا ما برای اینکه اطلاعاتی را به کاربر بدهیم چک می کنیم ببینیم وارد سایت شده است یا نه این را هم با شی user انجام می دهیم در صورتی که مهمان باشد کد زیر


$user->guest 

مقدار یک را بر می گرداند و در غیر اینصورت مقدار صفر بقیه کد نیز واضح است .

>
$user =& JFactory::getUser();    
if ($user->guest) {	  
   echo "
You must login to see the content. I want your email address.";    } 
else {    ?>    
Impromptu leftovers salad that goes well with fish    
</pre>
<ul>
1/2 cup chopped celery
1/4 cup raisins
1 teaspoon Extra Virgin Olive Oil
2 tablespoons of faux Thai lemongrass marinade
1/4 cup shredded fresh basil
    Sprinkling of dill weed
    Big pinch of kosher salt
		 Several lettuce leaves	   </ul>
<br><p>Wash the lettuce and basil and place in a salad bowl.
Get out a much smaller bowl and swish around all of the remaining ingredients.
Pour this over the greens and toss. Serves two.</p>	   <br><?php    }

همونطور که می دنیم در جوملا کاربران یک سایت حقوق مساوی در دسترسی به منابع ندارند و می توانیم بر این اساس نیز کاربران رو مدیریت کنیم .

کد زیر رو نگاه کنید .


$user =& JFactory::getUser();		if ($user->authorize('com_content', 'edit', 'content', 'all')) {	    echo "
You may edit all content.";	} else {	    echo "
You may not edit all content.";	}		if ($user->authorize('com_content', 'publish', 'content', 'own')) {	    echo "
You may publish your own content.";	} else {	    echo "
You may not publish your own content.";	}

فکر کنم کد ها گویا باشن نیازی به توضیح نداشته باشه .

دوستان یک سری مجوزها که در هسته جوملا وجود داره ممکنه در بعضی از افزونه هایی که می خواهیم تهیه کنیم برای ما مفید نباشه برای این می یایم و خودمون یک سری مجوز ها تعریف می کنیم که این از طریق تابع getACL انجام می شود.


$auth =& JFactory::getACL();		$auth->addACL('com_userinfo15', 'persuade', 'users', 'super administrator');	$auth->addACL('com_userinfo15', 'persuade', 'users', 'administrator');	$auth->addACL('com_userinfo15', 'persuade', 'users', 'manager');	 $user =& JFactory::getUser();		if ($user->authorize('com_userinfo15', 'persuade')) {	    echo "
You may persuade the system to do what you wish.";	} else {	    echo "
You are not very persuasive.";	}

این هم نمونه کد ی که این کار رو انجام داده .

ما با استفاده از یک اشاره گر به متغییر ها ی سطوح دسترسی می یام و اونها رو تغییر می دیم .

از آقای رزاقی هم بابت راهنمایی شون کمال تشکر رو دارم .

انشا الله هر جا که هستند سلامت و پیروز باشند

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...