هذه هي الفكرة الأساسية. أفترض أنك ستحتاج إلى إضافة بعض الشروط إلى الدالة بحيث لا تتم إضافة جميع المستخدمين إلى مجموعة المشرفين عند تغيير أدوارهم.
function add_user_to_discourse_group_on_role_change( $user_id, $role ) {
$sso_params = array(
'external_id' => $user_id,
'moderator' => 'true', // يجب تعيين القيم المنطقية 'true' و 'false' كسلاسل نصية!
'add_groups' => 'volunteers' // قائمة مفصولة بفواصل، بدون مسافات بعد الفواصل
);
DiscourseUtilities::sync_sso_record( $sso_params );
}