আমার একই সমস্যা রয়েছে (যে কারণে আমি একটি অনুগ্রহ শুরু করেছি)।
আমি এটি এইভাবে সমাধান।
আমি একটি কাস্টম মডিউল একটি ফাংশন যোগ। আপনি দুটি ফাইল সহ / সাইট / সমস্ত / মডিউলগুলিতে একটি নতুন ফোল্ডার তৈরি করে আপনার নিজস্ব মডিউলটি সহজেই তৈরি করতে পারেন:
yourname_module.info - >>
name = "Custom Functions"
description = "Allows execution of custom code for the website"
core = 7.x
package = "yourname_customs"
version = 7.x-1.x
yourname.module
<?php
function yourname_add_role_to_user($uid, $role_name) {
$user = user_load($uid);
if ($user === false || !isset($user->uid) || !is_array($user->roles)) {
//Display an ugly error when user is not set correctly
exit('$user is not set correctly <pre>' . print_r($user, true) . "</pre>");
}
//Get the user roles
$roles = user_roles(TRUE);
$rid = array_search($role_name, $roles);
if ($rid != FALSE) {
$new_role[$rid] = $role_name;
// Add new role to existing roles.
$all_roles = $user->roles + $new_role;
//Delete all user roles from DB
db_delete('users_roles')
->condition('uid', $user->uid)
->execute();
//Insert all user roles in DB
$query = db_insert('users_roles')->fields(array('uid', 'rid'));
foreach (array_keys($all_roles) as $rid) {
if (!in_array($rid, array(DRUPAL_ANONYMOUS_RID, DRUPAL_AUTHENTICATED_RID))) {
$query->values(array(
'uid' => $user->uid,
'rid' => $rid,
));
}
}
$query->execute();
} else {
//Display an ugly error wen role not found
exit("Could not find role " . htmlspecialchars($role_name) . "<br/>
Vald roles: <pre>" . print_r($roles, true) . "</pre>");
}
}
তারপরে আপনার মডিউলগুলি যান এবং "কাস্টম ফাংশন" সক্ষম করুন।
আপনার মডিউল কাস্টম পিএইচপি কোড সক্ষম হয়েছে তা নিশ্চিত করুন।
তারপরে কর্মের পরিবর্তে বিধিগুলিতে ব্যবহারকারীকে ভূমিকা রাখতে যোগ করুন: কাস্টম পিএইচপি কোড চালান এবং প্রবেশ করুন:
yourname_add_role_to_user($account->uid, "Members");
header("Location: /admin/people");
exit;
এটি ব্যবহারকারীকে ভূমিকাটিতে যুক্ত করে এবং স্ক্রিপ্টটি বন্ধ করে দেয়। আপনি যদি স্ক্রিপ্টটি বন্ধ না করেন, ভূমিকাটি সংরক্ষণ করা হবে না। এবং আমার একটি মডিউল যুক্ত করার দরকার ছিল কারণ মৃত্যুর user_save
সময় কার্যকর হয় না custom php code
।
সুতরাং, আমি জানি এটি খুব কুৎসিত, তবে এটি আমার পক্ষে কাজ করে।