예제 #1
0
 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());
 }
예제 #2
0
} 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);