function search($user_ = null) { $res = $_SESSION['service']->users_groups_list_partial($this->search_item, $this->search_fields, $user_); if (is_null($res) or is_null($res['data'])) { return array(); } $groups = array(); foreach ($res['data'] as $item_id => $item) { $group = new UsersGroup($item); if (!$group->is_valid()) { continue; } $groups[] = $group; } uasort($groups, "usergroup_cmp"); $this->partial_result = $res['partial']; $this->result = $groups; return $this->result; }
public function usersLogin() { Logger::debug('main', 'UsersGroup_dynamic::usersLogin'); $static = parent::usersLogin(); $ls = Abstract_Liaison_dynamic::load('UsersGroup', NULL, $this->getUniqueID()); $dynamic = array(); if (is_array($ls)) { foreach ($ls as $l) { $dynamic[] = $l->element; } } return array_unique(array_merge($static, $dynamic)); }
public function users_group_info($id_) { $args = func_get_args(); // func_get_args(): Can't be used as a function parameter before PHP 5.3.0 $res = $this->__call('users_group_info', $args); if ($res === null) { return null; } $group = new UsersGroup($res); if (!$group->is_valid()) { return null; } return $group; }
public function postEdit($id = null) { if (empty($id) || !is_numeric($id)) { redirect(); } $user = User::findOrNew($id); if (empty($user->id)) { redirect(); } $confirm = $this->input->post('confirm'); $form = $this->input->post('form'); $errors = []; if (!empty($confirm) && $confirm == 'ok') { $validator = new \Wasp\Validator($form, $this->validation); if (!$validator->checkAll()) { $errors = $validator->getMessages(); } if (array_count($errors) == 0) { $current_user = $this->auth->getAuthUser(); $group_level = $this->users->getGroupLevel($form['group_id']); $user_data = ['birthday' => wasp_date_format($form['birthday'], 'Y-m-d')]; if ($this->users->groupIdExists($form['group_id']) && ($group_level < $current_user->group->level || $this->auth->is_root())) { if ($user->id != $this->auth->getAuthUserId()) { $user_data['group_id'] = intval($form['group_id']); $user_data['blocked'] = intval($form['blocked']); } } if ($user->id == $current_user->id || $this->auth->isAdmin()) { foreach ($form as $key => $val) { if (!array_key_isset($key, $user_data)) { $user_data[$key] = $val; } } } $this->users->update($user_data); redirect(['controller' => 'users', 'method' => 'edit', 'id' => $id]); } } $this->layout->useThemeCss('datepicker.css')->useThemeJs('bootstrap-datepicker.js', false); return $this->ui->assign('errors', $errors)->assign('user', $user)->assign('groups', UsersGroup::get())->fetch('users/edit'); }
function do_validate() { if ($_SESSION['wizard']['use_users'] == 'users') { if (!checkAuthorization('manageUsersGroups')) { redirect(); } $g = new UsersGroup(array('id' => NULL, 'name' => $_SESSION['wizard']['user_group_name'], 'description' => $_SESSION['wizard']['user_group_description'], 'published' => 1)); $res = $_SESSION['service']->users_group_add($g->getAttribute('name'), $g->getAttribute('description')); if (is_null($res)) { popup_error(_('Cannot create User Group')); } $g->id = $res; $g->setAttribute('id', $res); $users = $_SESSION['wizard']['users']; foreach ($users as $user) { $_SESSION['service']->users_group_add_user($user, $g->id); } $usergroups = array($g->id); } else { $usergroups = $_SESSION['wizard']['usergroups']; } if ($_SESSION['wizard']['use_apps'] == 'apps') { if (!checkAuthorization('manageApplicationsGroups')) { redirect(); } $g = new ApplicationsGroup(array('id' => NULL, 'name' => $_SESSION['wizard']['application_group_name'], 'description' => $_SESSION['wizard']['application_group_description'], 'published' => 1)); $res = $_SESSION['service']->applications_group_add($g->getAttribute('name'), $g->getAttribute('description')); if (!$res) { popup_error(_('Cannot create Application Group')); } $g->id = $res; $g->setAttribute('id', $res); $apps = $_SESSION['wizard']['apps']; foreach ($apps as $app) { $ret = $_SESSION['service']->applications_group_add_application($app, $g->id); } $appgroups = array($g->id); } else { $appgroups = $_SESSION['wizard']['appgroups']; } foreach ($usergroups as $usergroup) { foreach ($appgroups as $appgroup) { $_SESSION['service']->publication_add($usergroup, $appgroup); } } if (isset($_SESSION['wizard'])) { } unset($_SESSION['wizard']); redirect('publications.php'); die; }
public function getCurrentGroup() { $criteria = new CDbCriteria(); $criteria->with = array('group'); $criteria->condition = 'group.status = 1 AND t.user_id = ' . $this->id; $group = UsersGroup::model()->find($criteria); if ($group != null) { return $group->group_id; } return null; }