বৈশিষ্ট্যগুলি এই জাতীয় জিনিসগুলির জন্য বেশ কার্যকর hand তবে, আপনার যদি ভূমিকা তৈরি করতে এবং প্রোগ্রামিকভাবে অনুমতিগুলি যুক্ত করার প্রয়োজন হয়, আপনাকে নিজের ডাটাবেসটি খনন করতে হবে না।
আপনি যখন একটি নতুন ব্যবহারকারীর ভূমিকাটি তৈরি করবেন user_role_save(), এটি আপনাকে বরাদ্দ করা নতুন ব্যবহারকারীর ভূমিকা আইডির সাথে পাস করা অবজেক্টটি আপডেট করবে। আপনি standard_install()স্ট্যান্ডার্ড ইনস্টলেশন প্রোফাইলে ফাংশনটিতে এর উদাহরণ দেখতে পাচ্ছেন ।
$admin_role = new stdClass();
$admin_role->name = 'administrator';
...
user_role_save($admin_role);
user_role_grant_permissions($admin_role->rid, array_keys(module_invoke_all('permission')));
এই উদাহরণটি দেখায় যে আপনি একটি নতুন ব্যবহারকারীর ভূমিকা তৈরি করতে পারেন, তারপরে তার ridসম্পত্তিটি অ্যাক্সেস করতে পারেন যা দ্বারা পূরণ করা হয়েছিল user_role_save()। এটি সেই ভূমিকার সাথে কীভাবে অনুমতি যুক্ত করতে হয় তাও দেখায় user_role_grant_permissions()। এক্ষেত্রে, এটি 'প্রশাসক' ভূমিকা সমস্ত উপলব্ধ অনুমতি প্রদান করে role
আপনার যদি অন্য কারও দ্বারা নির্মিত কোনও ব্যবহারকারী ভূমিকার আইডি পেতে প্রয়োজন হয় তবে আপনি user_role_load_by_name()সেই ব্যবহারকারীর ভূমিকার জন্য অবজেক্টটি পেতে পারেন । তারপরে আপনি কেবল আইডিটি ধরুন $role->rid।