/** * Выставляем роли пользователям сообщества (выставлять может только автор сообщества?? это верно или нет). * * @param integer $commune_id ИД Сообщества * @param integer $member_id ИД Пользователя * @param boolean $is_moder Флаг модератора * @param boolean $is_manager Флаг менеджера * * @return */ function setRoleUser($commune_id, $member_id, $is_moder, $is_manager) { $objResponse = new xajaxResponse(); if (!isset($_SESSION['uid'])) { return; } $cm = new commune(); $comm = $cm->GetCommune($commune_id); // Только хозяин сообщества может такое творить @todo нужно уточнить кто может назначать админов и менеджеров. if ($comm['author_id'] == $_SESSION['uid']) { $cm->UpdateAdmin($member_id, '', $is_moder, $is_manager, $comm); if ($is_moder or $is_manager) { $objResponse->assign('cau_admin' . $member_id, 'innerHTML', 'Admin '); } else { if (!$is_moder and !$is_manager) { $objResponse->assign('cau_admin' . $member_id, 'innerHTML', ''); } } $objResponse->script('$("is_mod_value' . $member_id . '").set("value", ' . intval($is_moder) . ');'); $objResponse->script('$("is_men_value' . $member_id . '").set("value", ' . intval($is_manager) . ');'); } return $objResponse; }
break; } switch ($action) { case 'do.Update.admin': $alert = NULL; $member_id = __paramInit('array', NULL, 'member_id'); $note = __paramInit('array', NULL, 'note'); $is_moderator = __paramInit('array', NULL, 'is_moderator'); $is_manager = __paramInit('array', NULL, 'is_manager'); $mCnt = count($member_id); for ($i = 0; $i < $mCnt; ++$i) { $n = change_q_new($note[$i], TRUE); if (strlen($n) > commune::MEMBER_NOTE_MAX_LENGTH) { $n = substr($n, 0, commune::MEMBER_NOTE_MAX_LENGTH); } commune::UpdateAdmin(intval($member_id[$i]), $n, $is_moderator[$i] ? 1 : 0, $is_manager[$i] ? 1 : 0); } header("Location: /commune/?id={$id}&site=Admin"); exit; break; case 'do.Add.admin': $commune_output = 'admin.php'; $user_login = __paramInit('string', 'user_login', NULL); $alert = NULL; if (!trim($user_login)) { header("Location: /commune/?id={$id}&site=Admin"); exit; } $r = commune::AddAdmin($id, $user_login, $e); if (!$r) { $alert['user_login'] = "******";