/** * Gestiona-Informa dels usuaris d'un grup de zikula del catàleg * * > Retorna la informació de tots els membres del grup triat.\n * > Depenent del grup, permetrà la seva edició o només mostrarà la informació.\n * > Per als grups generals (Catàleg, Excatàleg, Personals, Genèrics) i pel grup Editors obtindrem la informació.\n * > El grup Gestors només podrà ser editat per el Gestor-Administrador. * * ### Paràmetres rebuts per GET: * * numeric **gid** gid del grup de zikula a gestionar. * * @return void Plantilla *Cataleg_admin_membersGroupview.tpl* o *Cataleg_admin_membersGroupgest.tpl* */ public function membersGroupgest() { //Comprovacions de seguretat. Només els gestors poden crear i editar usuaris if (!SecurityUtil::checkPermission('Cataleg::', '::', ACCESS_ADMIN)) { return LogUtil::registerPermissionError(); } $gid = FormUtil::getPassedValue('gid', null, 'GET'); $grup = UserUtil::getGroup($gid); //Només es poden gestionar els membres dels grups del catàleg $grupsUnitats = ModUtil::getVar('Cataleg', 'grupsUnitats'); $grupsZikula = ModUtil::getVar('Cataleg', 'grupsZikula'); if (!in_array($gid, $grupsUnitats) && !in_array($gid, $grupsZikula)) { LogUtil::registerError($this->__('No es poden gestionar els membres del grup indicat.')); return system::redirect(ModUtil::url('Cataleg', 'admin', 'groupsgest')); } $users = UserUtil::getUsers('', 'uname', -1, -1, 'uid'); foreach ($users as $key => $user) { $users[$key]['iw'] = DBUtil::selectObject('IWusers', 'where iw_uid =' . $key); } $catUsersList = UserUtil::getUsersForGroup($grupsZikula['Sirius']); $groupUsersList = UserUtil::getUsersForGroup($gid); foreach ($users as $user) { if (in_array($user['uid'], $catUsersList)) { if (in_array($user['uid'], $groupUsersList)) { $usuaris[1][] = $user; } else { $usuaris[0][] = $user; } } else { if (in_array($user['uid'], $groupUsersList)) { $usuaris[2][] = $user; } } } $this->view->assign('usuaris', $usuaris); $this->view->assign('grup', $grup); if ((!SecurityUtil::checkPermission('CatalegAdmin::', '::', ACCESS_ADMIN) && $gid == $grupsZikula['Gestors']) || $gid == $grupsZikula['UNI'] || $gid == $grupsZikula['ST'] || $gid == $grupsZikula['SE'] || $gid == $grupsZikula['Gestform'] || $gid == $grupsZikula['LectorsCat'] || $gid == $grupsZikula['EditorsCat'] || $gid == $grupsZikula['Personals'] || $gid == $grupsZikula['Generics'] || $gid == $grupsZikula['Sirius'] || $gid == $grupsZikula['ExSirius']) { return $this->view->fetch('admin/Cataleg_admin_membersGroupview.tpl'); } else { return $this->view->fetch('admin/Cataleg_admin_membersGroupgest.tpl'); } }
/** * Return a PN array strcuture for the PN user dropdown box. * * @param string $name The selector name. * @param integer $gid The group ID to get users for (optional) (default=null). * @param integer $selectedValue The currently selected value of the selector (optional) (default=0). * @param integer $defaultValue The default value of the selector (optional) (default=0). * @param string $defaultText The text of the default value (optional) (default=''). * @param integer $allValue The value to assign for the "All" choice (optional) (default=''). * @param string $allText The text to display for the "All" choice (optional) (default=''). * @param string $excludeList A (string) list of IDs to exclude (optional) (default=null). * @param boolean $submit Whether or not to auto-submit the selector (optional) (default=false). * @param boolean $disabled Whether or not to disable selector (optional) (default=false). * @param integer $multipleSize The size to use for a multiple selector, 1 produces a normal/single selector (optional (default=1). * * @return The string for the user group selector. */ public static function getSelector_User($name = 'userid', $gid = null, $selectedValue = 0, $defaultValue = 0, $defaultText = '', $allValue = 0, $allText = '', $excludeList = '', $submit = false, $disabled = false, $multipleSize = 1) { $where = ''; if ($excludeList) { $where = "WHERE uid NOT IN ({$excludeList})"; } if ($gid) { $users = UserUtil::getUsersForGroup($gid); if ($users) { $and = $where ? ' AND ' : ''; $where .= $and . 'uid IN (' . implode(',', $users) . ')'; } } $data = array(); $userlist = UserUtil::getUsers($where, 'ORDER BY uname'); foreach ($userlist as $k => $v) { $data[$k] = $v['uname']; } return self::getSelector_Generic($name, $data, $selectedValue, $defaultValue, $defaultText, $allValue, $allText, $submit, $disabled, $multipleSize); }
/** * Funció per l'obtenció de la informació d'una entitat-gtaf * * > Obté un array amb la informació de l'entitat-gtaf * * @return array *gtafEntity* amb tota la informació de la entitat */ public function getGtafGroups($gtafgid) { $gtafInfo = array(); if (isset($gtafgid)){ $gtafInfo['group'] = DBUtil::selectObject('cataleg_gtafGroups','gtafGroupId="'.$gtafgid.'"'); } $gtafInfo['groups'] = DBUtil::selectFieldArray('cataleg_gtafGroups','gtafGroupId'); $grupsZikula = ModUtil::getVar("Cataleg", "grupsZikula"); $usercatlist = UserUtil::getUsersForGroup($grupsZikula['Sirius']); $users = UserUtil::getUsers('', 'uname', -1, -1, 'uid'); foreach ($users as $key => $user) { if (in_array($key, $usercatlist)) { $gtafInfo['catusers'][$key] = array('zk' => $user, 'iw' => DBUtil::selectObject('IWusers', 'where iw_uid =' . $key)); } } return $gtafInfo; }