示例#1
0
 /**
  * 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');
     }
 }
示例#2
0
 /**
  * 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);
 }
示例#3
0
  /**
 * 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;
 }