public function delete($id) { if ($this->getParentName() == 'users') { return $this->changeUserToGroupLink($id, array('status' => 'F')); } if (!fn_is_usergroup_exists($id)) { return array('status' => Response::STATUS_NOT_FOUND); } fn_delete_usergroups((array) $id); return array('status' => Response::STATUS_NO_CONTENT, 'data' => array()); }
} elseif ($mode == 'privileges') { fn_add_breadcrumb(fn_get_lang_var('usergroups'), "usergroups.manage"); $privileges = db_get_hash_multi_array("SELECT a.*, b.*, c.description as section FROM ?:privileges as a LEFT JOIN ?:privilege_descriptions as b ON b.privilege = a.privilege AND b.lang_code = ?s INNER JOIN ?:privilege_section_descriptions as c on c.section_id = b.section_id AND c.lang_code = ?s ORDER BY b.section_id, b.description", array('section_id'), DESCR_SL, DESCR_SL); $view->assign('privileges', $privileges); } elseif ($mode == 'manage') { $where = defined('RESTRICTED_ADMIN') ? "a.type!='A' " : '1'; $usergroups = db_get_array("SELECT a.usergroup_id, a.status, a.type, b.usergroup FROM ?:usergroups as a LEFT JOIN ?:usergroup_descriptions as b ON b.usergroup_id = a.usergroup_id AND b.lang_code = ?s WHERE {$where} ORDER BY usergroup", DESCR_SL); $view->assign('usergroups', $usergroups); Registry::set('navigation.tabs', array('general_0' => array('title' => fn_get_lang_var('general'), 'js' => true))); } elseif ($mode == 'update') { $usergroup = db_get_row("SELECT a.usergroup_id, a.status, a.type, b.usergroup FROM ?:usergroups as a LEFT JOIN ?:usergroup_descriptions as b ON b.usergroup_id = a.usergroup_id AND b.lang_code = ?s WHERE a.usergroup_id = ?i", DESCR_SL, $_REQUEST['usergroup_id']); $view->assign('usergroup', $usergroup); Registry::set('navigation.tabs', array('general_' . $_REQUEST['usergroup_id'] => array('title' => fn_get_lang_var('general'), 'js' => true))); } elseif ($mode == 'delete') { if (!empty($_REQUEST['usergroup_id'])) { fn_delete_usergroups((array) $_REQUEST['usergroup_id']); } return array(CONTROLLER_STATUS_REDIRECT, "usergroups.manage"); } elseif ($mode == 'update_status') { $user_data = fn_get_user_info($_REQUEST['user_id']); if (empty($user_data) || defined('COMPANY_ID') && $user_data['is_root'] == 'Y' || defined('RESTRICTED_ADMIN') && ($auth['user_id'] == $_REQUEST['user_id'] || fn_is_restricted_admin(array('user_id' => $_REQUEST['user_id'])))) { fn_set_notification('E', fn_get_lang_var('error'), fn_get_lang_var('access_denied')); exit; } $old_status = db_get_field("SELECT status FROM ?:usergroup_links WHERE user_id = ?i AND usergroup_id = ?i", $_REQUEST['user_id'], $_REQUEST['id']); $result = fn_change_usergroup_status($_REQUEST['status'], $_REQUEST['user_id'], $_REQUEST['id'], fn_get_notification_rules($_REQUEST)); if ($result) { fn_set_notification('N', fn_get_lang_var('notice'), fn_get_lang_var('status_changed')); } else { fn_set_notification('E', fn_get_lang_var('error'), fn_get_lang_var('error_status_not_changed')); $ajax->assign('return_status', empty($old_status) ? 'F' : $old_status);