/** * Retorna la informació d'una prioritat sol·licitada. * * @param array $args Array amb els paràmetres de la funció * * ### Paràmetres de l'array $args: * * integer **priId** Identificador de prioritat * * @return array Conté la informació de la prioritat sol·licitada */ public function getPrioritat($args) { if (!SecurityUtil::checkPermission('Cataleg::', "::", ACCESS_READ)) { return false; } $priId = isset($args['priId']) ? $args['priId'] : null; //Comprovem que el paràmetre hagi arribat correctament $registre = array(); if (isset($priId) && is_numeric($priId)) { $registre = DBUtil::selectObject('cataleg_prioritats', 'priId=' . $priId); $eix = ModUtil::apifunc('Cataleg', 'user', 'getEix', array('eixId' => $registre['eixId'])); $registre['eix'] = $eix; $cataleg = ModUtil::apifunc('Cataleg', 'user', 'getCataleg', array('catId' => $eix['catId'])); $registre['cataleg'] = $cataleg; } //Retormem una matriu amb la informació del cataleg, l'eix i la prioritat return $registre; }
public function referenced($args) { // Security check if (!SecurityUtil::checkPermission('IWtimeframes::', "::", ACCESS_ADMIN)) { return LogUtil::registerError($this->__('Not authorized to manage timeFrames.'), 403); } if (ModUtil::apifunc('IWtimeframes', 'admin', 'installed', 'IWbookings')) { $mdid = FormUtil::getPassedValue('mdid', isset($args['mdid']) ? $args['mdid'] : null, 'POST'); $tablename = 'IWbookings_spaces'; $where = 'mdid = ' . $mdid; return (DBUtil::selectObjectCount($tablename, $where) > 0); //$n = DBUtil::selectObjectCount($tablename, $where); } else { return false; //$n = 0; } /* $modid = ModUtil::getIdFromName('IWbookings'); $modinfo = ModUtil::getInfo($modid); if ($modinfo['state'] > 1) { $mdid = FormUtil::getPassedValue('mdid', isset($args['mdid']) ? $args['mdid'] : null, 'POST'); $tablename = 'IWbookings_spaces'; $where = 'mdid = ' . $mdid; return (DBUtil::selectObjectCount($tablename, $where) > 0); } else { return false; } * */ }
/** * Crea una nova activitat o actualitza les dadea d'una existent * * > Si existeix actId s'actualitza el contingut de la fitxa d'activitat corresponent.\n * > Si no existeix actId, la fitxa correspon a una nova activitat, es crea.\n * > En el moment de crear-la/actualitzar-la es pot decidir si es desa com a esborrany o * > s'envia per a la seva validació (publicació). * * ### Paràmetres rebuts per POST: * * integer **catId** identificador de la prioritat * * integer **actId** identificador de l'activitat * * integer **uniResp** identificador de la unitat responsable de l'activitat * * integer **prioritat** identificador de la prioritat que contempla l'activitat * * Els camps de la taula cataleg_activitats * * Els camps de la taula cataleg_contactes, * * Els camps de la taula cataleg_activitatsZona * * Els camps de la taula centresActivitat * * ### Paràmetres rebuts per GET: * * boolean **show** indica si després de desar les dades es retorna a la vista d'activitat * * @return void */ public function save() { // Verificació de seguretat $this->throwForbiddenUnless(SecurityUtil::checkPermission('Cataleg::', '::', ACCESS_ADD)); $item['catId'] = FormUtil::getPassedValue('catId', null, 'POST'); // Id del catàleg $item['actId'] = FormUtil::getPassedValue('actId', null, 'POST'); // Id de l'activitat (si existeix) $item['uniId'] = FormUtil::getPassedValue('uniResp', null, 'POST'); // id de la unitat responsable de l'activitat $item['priId'] = FormUtil::getPassedValue('prioritat', null, 'POST'); //id de la prioritat en la que s'emmarca l'activitat $back = FormUtil::getPassedValue('back', null, 'POST'); if ($item['actId']) $haveAccess = ModUtil::apiFunc($this->name, 'user', 'haveAccess', array('accio' => 'save', 'id' => $item['actId'])); else $haveAccess = ModUtil::apiFunc($this->name, 'user', 'haveAccess', array('accio' => 'new', 'id' => $item['uniId'])); // $haveAccess és true si l'usuari té accés a modificar o crear activitats del catàleg i la unitat if ($haveAccess && !is_null($item['priId'])) { // DESTINATARIS DE LA FORMACIÓ $d = FormUtil::getPassedValue('dest', null, 'POST'); // Si $show = true retornarem a la vista d'activitat $show = FormUtil::getPassedValue('show', FALSE, 'GET'); $item['destinataris'] = serialize($d); // OBJECTIUS $o = FormUtil::getPassedValue('obj', null, 'POST'); $item['objectius'] = serialize($o); // CONTINGUTS $c = FormUtil::getPassedValue('con', null, 'POST'); $item['continguts'] = serialize($c); // INFO SOBRE DIFERENTS ASPECTES DE GESTIÓ $g = FormUtil::getPassedValue('gestio', null, 'POST'); $item['gestio'] = serialize($g); // CENTRES QUE PROBABLEMENT REALITZARAN AQUESTA ACTIVITAT $hihacentres = FormUtil::getPassedValue('hihacentres', null, 'POST'); if ($hihacentres) { $centres = FormUtil::getPassedValue('lcentres', null, 'POST'); if ($centres > " ") { // Eliminar els codis de centre erronis $filtered = ModUtil::apiFunc($this->name, 'user', 'checkCentres', array('centres' => $centres)); $ncentres = $filtered['codis']; $item['llocs'] = explode(",", $ncentres); } $item['centres'] = FormUtil::getPassedValue('obslloc', null, 'POST'); } $item['sprId'] = FormUtil::getPassedValue('subprioritat', null, 'POST'); $item['prioritaria'] = FormUtil::getPassedValue('prioritzada', null, 'POST'); $item['tGTAF'] = FormUtil::getPassedValue('tGTAF', null, 'POST'); $item['titol'] = FormUtil::getPassedValue('titol', null, 'POST'); $item['observacions'] = FormUtil::getPassedValue('obs', null, 'POST'); $item['curs'] = FormUtil::getPassedValue('tcurs', null, 'POST'); $item['presencialitat'] = FormUtil::getPassedValue('tpres', null, 'POST'); $item['abast'] = FormUtil::getPassedValue('tabast', null, 'POST'); $item['hores'] = FormUtil::getPassedValue('nhores', null, 'POST'); $item['obs_editor'] = FormUtil::getPassedValue('obs_editor', null, 'POST'); $item['obs_validador'] = FormUtil::getPassedValue('obs_validador', null, 'POST'); $item['actsPerZona'] = FormUtil::getPassedValue('az', null, 'POST'); $item['contactes'] = FormUtil::getPassedValue('contacte', null, 'POST'); $item['info'] = FormUtil::getPassedValue('info', null, 'POST'); $estat = FormUtil::getPassedValue('estat1', null, 'POST'); if (!is_null($estat)) $item['estat'] = $estat; // Si no s'indica estat és manté el que tenia $item['activa'] = FormUtil::getPassedValue('activa', 1, 'POST'); $item['ordre'] = 127; /* Estats de la fitxa: * Esborrany 0 * Enviada 1 * Per revisar 2 * validada 3 * modificada 4 * anul·lada 5 */ if ($item['estat'] == Cataleg_Constant::VALIDADA) { // Validar // si no ha estat mai validada es guarda la informació if (!(ModUtil::apiFunc($this->name, 'user', 'isValidated', $item['actId']))) { // Establir data de validació i uid del validador $item['validador'] = UserUtil::getVar('uid'); $item['dataVal'] = date('Y-m-d H:i:s'); } } // S'ha marcat l'activitata modificadaa per a ser mostrada al bloc de novetats $novetat = FormUtil::getPassedValue('novetat', null, 'POST'); if ($novetat) { // Escriure dataModif; $item['dataModif'] = date('Y-m-d H:i:s'); } // S'ha marcat per deixar de mostrar l'activitat modificada al bloc de novetats $eraseDataMod = FormUtil::getPassedValue('eraseMod', false, 'POST'); if ($eraseDataMod) $item['dataModif'] = null; //Esborrem la data de modificació a efectes de visualització en el bloc novetats if ($item['actId']) { // Estem editant. L'activitat ja existeix $r = ModUtil::apifunc('Cataleg', 'user', 'updateActivitat', $item); } else { // S'ha de crear nova $r = ModUtil::apifunc('Cataleg', 'user', 'addActivitat', $item); } if ($r) LogUtil::registerStatus($this->__('Les dades s\'han desat correctament.')); else LogUtil::registerError($this->__('No s\'han pogut desar totes les dades de l\'activitat.')); if ($show) { return system::redirect(ModUtil::url('Cataleg', 'user', 'show', array('back' => $back, 'actId' => $item['actId']))); } else { return system::redirect(ModUtil::url('Cataleg', 'user', 'view', array('catId' => $item['catId']))); } } else { // No hi ha accés a crear o modificar $view = Zikula_View::getInstance('Cataleg', false); $view->assign('icon', 'error.png'); $view->assign('msg', $this->$this->__('No teniu permís per actualitzar o crear activitats en aquest catàleg.')); return $view->fetch('user/Cataleg_user_msg.tpl'); } }
/** * When Zikula authentication has failed, start SiriusXtecAuth * * @return bool true authetication succesful */ public static function trySiriusXtecAuth(Zikula_Event $event) { $authentication_info = FormUtil::getPassedValue('authentication_info', isset($args['authentication_info']) ? $args['authentication_info'] : null, 'POST'); // Argument check if ($authentication_info['login_id'] == '' || $authentication_info['pass'] == '') { LogUtil::registerError(__('Usuari o contrasenya en blanc.')); return System::redirect(System::getHomepageUrl()); } $uname = $authentication_info['login_id']; $pass = $authentication_info['pass']; // check if ldap is active if (!ModUtil::getVar('SiriusXtecAuth','ldap_active',false)) return false; // checking new users case $userid = UserUtil::getIdFromName($uname); if (($userid === false) && (ModUtil::getVar('SiriusXtecAuth','users_creation',false) === false)) return false; // connect to ldap server if (!$ldap_ds = ldap_connect(ModUtil::getVar('SiriusXtecAuth', 'ldap_server'))) { LogUtil::registerError(__('No ha pogut connectar amb el servidor ldap.')); return false; } /////////////////// // Checking ldap validation $ldaprdn = ModUtil::getVar('SiriusXtecAuth', 'ldap_searchattr') . '=' . $uname . ',' . ModUtil::getVar('SiriusXtecAuth', 'ldap_basedn'); $bind = @ldap_bind($ldap_ds, $ldaprdn, $pass); if (!$bind) { LogUtil::registerError(__('La informació introduïda no correspon a cap validació manual ni XTEC.')); return false; } LogUtil::getErrorMessages(); // Case new users if ($userid === false) { $userLdapFields = array ('cn', 'uid', 'givenname', 'sn', 'mail'); // search the directory for our user if (!$ldap_sr = ldap_search($ldap_ds, ModUtil::getVar('SiriusXtecAuth', 'ldap_basedn'), ModUtil::getVar('SiriusXtecAuth', 'ldap_searchattr') . '=' . DataUtil::formatForStore($uname),$userLdapFields)) { LogUtil::registerError(__('Problemes en la creació d\'un nou usuari de Sirus des de la validació XTEC (I).')); return false; } $info = ldap_get_entries($ldap_ds, $ldap_sr); if (!$info || $info['count'] == 0) { LogUtil::registerError('Problemes en la creació d\'un nou usuari de Sirus des de la validació XTEC (II).'); return false; } else { if (!isset($info[0]['dn'])) { LogUtil::registerError('Problemes en la creació d\'un nou usuari de Sirus des de la validació XTEC (III).'); return false; } } $user['zk']['uname'] =$uname; $user['zk']['email'] = $info[0]['mail'][0]; if (ModUtil::getVar('SiriusXtecAuth','iw_write',false) && ModUtil::available('IWusers')) { $user['iw']['nom'] = ucwords(strtolower($info[0]['givenname'][0])); $cognom_separator = strpos($info[0]['sn'][0],' '); if ($cognom_separator && ModUtil::getVar('SiriusXtecAuth','iw_lastnames',false)) { $user['iw']['cognom1'] = ucwords(strtolower(substr($info[0]['sn'][0],0,$cognom_separator))); $user['iw']['cognom2'] = ucwords(strtolower(substr($info[0]['sn'][0],$cognom_separator+1))); } else{ $user['iw']['cognom1'] = ucwords(strtolower($info[0]['sn'][0])); $user['iw']['cognom1'] = ''; } } if (ModUtil::getVar('SiriusXtecAuth','new_users_activation', false)) { $user['zk']['activated'] = 1; }else { $user['zk']['activated'] = 0; } $user['gr'] = ModUtil::getVar('SiriusXtecAuth','new_users_groups'); $userid = ModUtil::apifunc('SiriusXtecAuth', 'listeners', 'createUser', $user); if (!$userid) { LogUtil::registerError(__('No s\'ha pogut crear l\'usuari. Torneu a validar-vos.')); return false; } } @ldap_unbind($ldap_ds); UserUtil::setUserByUid($userid); if (!ModUtil::getVar('SiriusXtecAuth','loginXtecApps',false)) { return System::redirect(System::getHomepageUrl()); } else { $pass_e = urlencode(base64_encode($pass)); return System::redirect(ModUtil::url('SiriusXtecAuth', 'user', 'logingXtecApps',array('uname'=>$uname,'pass'=>$pass_e,'logtype'=>'in'))); } }
public function grups($args) { $gid = FormUtil::getPassedValue('gid', isset($args['gid']) ? $args['gid'] : 0, 'GETPOST'); $gid1 = FormUtil::getPassedValue('gid1', isset($args['gid1']) ? $args['gid1'] : 0, 'GETPOST'); $action = FormUtil::getPassedValue('action', isset($args['action']) ? $args['action'] : 0, 'GETPOST'); $uid0 = FormUtil::getPassedValue('uid0', isset($args['uid0']) ? $args['uid0'] : array(), 'GETPOST'); $uid1 = FormUtil::getPassedValue('uid1', isset($args['uid1']) ? $args['uid1'] : array(), 'GETPOST'); $confirmation = FormUtil::getPassedValue('confirmation', isset($args['confirmation']) ? $args['confirmation'] : 0, 'POST'); // Security check if (!SecurityUtil::checkPermission('IWgroups::', '::', ACCESS_ADMIN)) { throw new Zikula_Exception_Forbidden(); } //Si els dos grup estan buits. Cancelem l'acció if (($gid == 0 || $gid == '') && ($gid1 == 0 || $gid1 == '')) { LogUtil::registerError($this->__('Incorrect action during the group change')); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } // Confirm authorisation code $this->checkCsrfToken(); switch ($action) { case 1: if (empty($uid0)) { LogUtil::registerError($this->__('No user selected')); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } //Si el grup de destí és el buit. Cancel·lem l'acció if (($gid1 == 0 || $gid1 == '')) { LogUtil::registerError($this->__('Incorrect action during the group change')); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } //Si l'usuari prové del grup buit no es demana confirmació i simplement s'afegeix al grup de destí if ($gid == '' || $gid == 0) { $afegit = ModUtil::apiFunc('IWgroups', 'admin', 'afegeix_membres', array('gid' => $gid1, 'uid' => $uid0)); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } //Si no cal demanar confirmació segons la configuració posem $comfirmacio=true if (ModUtil::getVar('IWgroups', 'confmou') == 0) { $confirmation = 1; } if ($confirmation == 0) { $group1 = ModUtil::apifunc('IWgroups', 'user', 'get', array('gid' => $gid)); $group2 = ModUtil::apifunc('IWgroups', 'user', 'get', array('gid' => $gid1)); $usersList = '$$'; foreach ($uid0 as $userId) { $usersList .= $userId . '$$'; } foreach ($uid1 as $userId) { $usersList .= $userId . '$$'; } //get all users information $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); $usersInfo = ModUtil::func('IWmain', 'user', 'getAllUsersInfo', array('sv' => $sv, 'list' => $usersList, 'info' => 'ccn')); return $this->view->assign('usersInfo', $usersInfo) ->assign('group1', $group1) ->assign('group2', $group2) ->assign('uid0', $uid0) ->assign('action', $action) ->assign('gid', $gid) ->assign('gid1', $gid1) ->fetch('IWgroups_admin_grups.tpl'); } if (ModUtil::apifunc('IWgroups', 'admin', 'mou_membres', array('gid' => $gid, 'uid' => $uid0, 'gid1' => $gid1))) { //El deplaçament dels usuaris ha anat bé LogUtil::registerStatus($this->__('The groups changes have been successfull')); } break; case 2: if (empty($uid0)) { LogUtil::registerError($this->__('No user selected')); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } //Si el grup de destí és el buit. Cancel·lem l'acció if (($gid1 == 0 || $gid1 == '')) { LogUtil::registerError($this->__('Incorrect action during the group change')); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } if (ModUtil::apifunc('IWgroups', 'admin', 'afegeix_membres', array('gid' => $gid1, 'uid' => $uid0))) { LogUtil::registerStatus($this->__('Users added to group successfully')); } break; case 3: if (empty($uid1)) { LogUtil::registerError($this->__('No user selected')); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } //Si el grup de destí és el buit. Cancel·lem l'acció if (($gid == 0 || $gid == '')) { LogUtil::registerError($this->__('Incorrect action during the group change')); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } //Si l'usuari prové del grup buit no es demana confirmació i simplement s'afegeix al grup de destí if ($gid1 == '' || $gid1 == 0) { $afegit = ModUtil::apiFunc('IWgroups', 'admin', 'afegeix_membres', array('gid' => $gid, 'uid' => $uid1)); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } //Si no cal demanar confirmació segons la configuració posem $comfirmacio=true if (ModUtil::getVar('IWgroups', 'confmou') == 0) { $confirmation = 1; } if ($confirmation == 0) { $group1 = ModUtil::apifunc('IWgroups', 'user', 'get', array('gid' => $gid1)); $group2 = ModUtil::apifunc('IWgroups', 'user', 'get', array('gid' => $gid)); $usersList = '$$'; foreach ($uid0 as $userId) { $usersList .= $userId . '$$'; } foreach ($uid1 as $userId) { $usersList .= $userId . '$$'; } //get all users information $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); $usersInfo = ModUtil::func('IWmain', 'user', 'getAllUsersInfo', array('sv' => $sv, 'list' => $usersList, 'info' => 'ncc')); return $this->view->assign('usersInfo', $usersInfo) ->assign('group1', $group1) ->assign('group2', $group2) ->assign('uid1', $uid1) ->assign('action', $action) ->assign('gid', $gid) ->assign('gid1', $gid1) ->fetch('IWgroups_admin_grups.tpl'); } //Cridem la funció API que farà l'esborrament del registre if (ModUtil::apifunc('IWgroups', 'admin', 'mou_membres', array('gid' => $gid1, 'uid' => $uid1, 'gid1' => $gid))) { //El deplaçament dels usuaris ha anat bé LogUtil::registerStatus($this->__('The groups changes have been successfull')); } break; case 4: if (empty($uid1)) { LogUtil::registerError($this->__('No user selected')); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } //Si el grup de destí és el buit. Cancel·lem l'acció if (($gid == 0 || $gid == '')) { LogUtil::registerError($this->__('Incorrect action during the group change')); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } if (ModUtil::apifunc('IWgroups', 'admin', 'afegeix_membres', array('gid' => $gid, 'uid' => $uid1))) { LogUtil::registerStatus($this->__('Users added to group successfully')); } break; case 5: if (empty($uid0) && empty($uid1)) { LogUtil::registerError($this->__('No user selected')); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } //Si no cal demanar confirmació segons la configuració posem $comfirmacio=true if (ModUtil::getVar('IWgroups', 'confesb') == 0) { $confirmation = 1; } if ($confirmation == 0) { if ($gid > 0) { $group1 = ModUtil::apifunc('IWgroups', 'user', 'get', array('gid' => $gid)); } else { $group1 = array(); } if ($gid1 > 0) { $group2 = ModUtil::apifunc('IWgroups', 'user', 'get', array('gid' => $gid1)); } else { $group2 = array(); } $usersList = '$$'; foreach ($uid0 as $userId) { $usersList .= $userId . '$$'; } foreach ($uid1 as $userId) { $usersList .= $userId . '$$'; } //get all users information $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); $usersInfo = ModUtil::func('IWmain', 'user', 'getAllUsersInfo', array('sv' => $sv, 'list' => $usersList, 'info' => 'ncc')); return $this->view->assign('usersInfo', $usersInfo) ->assign('group1', $group1) ->assign('group2', $group2) ->assign('uid1', $uid1) ->assign('uid0', $uid0) ->assign('action', $action) ->assign('gid', $gid) ->assign('gid1', $gid1) ->fetch('IWgroups_admin_grups.tpl'); } //Cridem la funció API que farà l'esborrament del registre if (ModUtil::apifunc('IWgroups', 'admin', 'esborra_membres', array('uid' => $uid0, 'gid' => $gid, 'uid1' => $uid1, 'gid1' => $gid1))) { //L'esborrament ha estat un éxit i ho notifiquem LogUtil::registerStatus($this->__('Users removed from groups successfully')); } break; case 6: if (empty($uid0) && empty($uid1)) { LogUtil::registerError($this->__('No user selected')); return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); } if (!empty($uid0) && !empty($uid1)) { $users = array_merge($uid0, $uid1); } elseif (!empty($uid0)) { $users = $uid0; } else { $users = $uid1; } $usersList = '$$'; foreach ($users as $userId) { $usersList .= $userId . '$$'; } $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); $usersInfo = ModUtil::func('IWmain', 'user', 'getAllUsersInfo', array('sv' => $sv, 'list' => $usersList, 'info' => 'ccn')); foreach ($users as $userId) { $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); $quinsgrups[$userId] = ModUtil::func('IWmain', 'user', 'getAllUserGroups', array('sv' => $sv, 'uid' => $userId)); } $sv1 = ModUtil::func('IWmain', 'user', 'genSecurityValue'); $groups = ModUtil::func('IWmain', 'user', 'getAllGroupsInfo', array('sv' => $sv1)); return $this->view->assign('usersInfo', $usersInfo) ->assign('action', $action) ->assign('users', $users) ->assign('gid', $gid) ->assign('gid1', $gid1) ->assign('quinsgrups', $quinsgrups) ->assign('groups', $groups) ->fetch('IWgroups_admin_grups.tpl'); case 0: if ($gid == '') { $gid = 0; } if ($gid1 == '') { $gid1 = 0; } break; } return System::redirect(ModUtil::url('IWgroups', 'admin', 'membres', array('gid' => $gid, 'gid1' => $gid1))); }
public function addeditAuxElement() { //copiat i pendent d'arranjar if (!SecurityUtil::checkPermission('SiriusAdmin::', '::', ACCESS_ADMIN)) { return LogUtil::registerPermissionError(); } $item['auxId'] = FormUtil::getPassedValue('auxId', null, 'POST'); $item['tipus'] = FormUtil::getPassedValue('tipus', null, 'POST'); $item['ordre'] = FormUtil::getPassedValue('ordre', null, 'POST'); $item['nom'] = FormUtil::getPassedValue('nom', null, 'POST'); $item['nomCurt'] = FormUtil::getPassedValue('nomCurt', null, 'POST'); $item['visible'] = FormUtil::getPassedValue('visible', 0, 'POST'); $r = ModUtil::apifunc('Cataleg', 'admin', 'saveAuxElement', $item); if ($r) { if ($r == 'edit') { LogUtil::registerStatus($this->__('L\'element s\'ha editat correctament.')); } else { LogUtil::registerStatus($this->__('L\'elements\'ha creat correctament.')); } } else { LogUtil::registerError($this->__('No s\'ha pogut desar l\'element.')); } return system::redirect(ModUtil::url('Cataleg', 'admin', 'auxgest')); }
/** * Save the news that have the user in the different modules iw * * @author Albert Pérez Monfort (aperezm@xtec.cat) * @param $where: * res->All * fo->Forums * fu->Forms * me->Messages * ta->Noteboard * ag->Agendas * @return The news prepared for HTML seen */ public function news($args) { $where = FormUtil::getPassedValue('where', isset($args['where']) ? $args['where'] : null, 'POST'); $uid = FormUtil::getPassedValue('uid', isset($args['uid']) ? $args['uid'] : null, 'POST'); $sv = FormUtil::getPassedValue('sv', isset($args['sv']) ? $args['sv'] : null, 'POST'); if (ModUtil::func('IWmain', 'user', 'checkSecurityValue', array('sv' => $sv))) { $requestByCron = true; } if ($uid == null) { $uid = UserUtil::getVar('uid'); } $before = ''; $after = ''; $newsArray = array(); $realUid = UserUtil::getVar('uid'); if ($where != '') { $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); $news = ModUtil::func('IWmain', 'user', 'userGetVar', array('uid' => $uid, 'module' => 'IWmain_block_news', 'name' => 'news', 'sv' => $sv, 'nult' => true)); $init = '<!---' . $where . '--->'; $end = '<!---/' . $where . '--->'; $pos_init = strpos($news, $init); $pos_end = ModUtil::func('IWmain', 'user', 'stringrpos', array('sHaystack' => $news, 'sNeedle' => $end)); $calc = strlen($news) - $pos_end; $before = substr($news, 0, $pos_init); $after = substr($news, - $calc); } //IWnoteboard $modid = ModUtil::getIdFromName('IWnoteboard'); $modinfo = ModUtil::getInfo($modid); //if module is active if ($modinfo['state'] == 3 && ($where == 'ta' || $where == '')) { //Check that user can access the module if (SecurityUtil::checkPermission('IWnoteboard::', "::", ACCESS_READ) || $requestByCron) { //Get news of the user if ($uid != $realUid) { $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); } $noves = ModUtil::apiFunc('IWnoteboard', 'user', 'noves', array('uid' => $uid, 'sv' => $sv)); if ($noves['nombre'] > 0) { $newsArray[] = array('code' => '<!---ta--->'); $newsArray[] = array('code' => '', 'nNotes' => $noves['nombre'], 'url' => ModUtil::getVar('IWmain', 'URLBase') . 'index.php?module=IWnoteboard&func=main', 'element' => $this->__('Noteboard notes'), 'title' => ''); $newsArray[] = array('code' => '<!---/ta--->'); } } } //IWagendas $modid = ModUtil::getIdFromName('IWagendas'); $modinfo = ModUtil::getInfo($modid); //if module is active if ($modinfo['state'] == 3 && ($where == 'ag' || $where == '')) { //Check that user can access the module if (SecurityUtil::checkPermission('IWagendas::', "::", ACCESS_READ) || $requestByCron) { if ($uid != $realUid) { $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); } $noves = ModUtil::apiFunc('IWagendas', 'user', 'newItem', array('uid' => $uid, 'sv' => $sv)); //Get user news in agendas if ($noves > 0) { $newsArray[] = array('code' => '<!---ag--->'); $newsArray[] = array('code' => '', 'nNotes' => $noves, 'url' => ModUtil::getVar('IWmain', 'URLBase') . 'index.php?module=IWagendas', 'element' => $this->__('Personal agenda'), 'title' => ''); $newsArray[] = array('code' => '<!---/ag--->'); } } } //Private messages $modid = ModUtil::getIdFromName('IWmessages'); $modinfo = ModUtil::getInfo($modid); //if module is active if ($modinfo['state'] == 3 && ($where == 'me' || $where == '')) { if (SecurityUtil::checkPermission('IWmessages::', "::", ACCESS_READ) || $requestByCron) { if ($uid != $realUid) { $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); } $noves = ModUtil::apiFunc('IWmessages', 'user', 'countitems', array('uid' => $uid, 'unread' => true, 'sv' => $sv)); if ($noves > 0) { $newsArray[] = array('code' => '<!---me--->'); $newsArray[] = array('code' => '', 'nNotes' => $noves, 'url' => ModUtil::getVar('IWmain', 'URLBase') . 'index.php?module=IWmessages&func=main', 'element' => $this->__('Private messages'), 'title' => ''); $newsArray[] = array('code' => '<!---/me--->'); } } } //IWforums $modid = ModUtil::getIdFromName('IWforums'); $modinfo = ModUtil::getInfo($modid); if ($modinfo['state'] == 3 && ($where == 'fo' || $where == '')) { if (SecurityUtil::checkPermission('IWforums::', "::", ACCESS_READ) || $requestByCron) { if ($uid != $realUid) { $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); } $registres = ModUtil::apiFunc('IWforums', 'user', 'getall', array('uid' => $uid, 'sv' => $sv)); $newsArray[] = array('code' => '<!---fo--->'); foreach ($registres as $registre) { if ($uid != $realUid) { $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); } if ($registre['actiu'] == 1 && ModUtil::func('IWforums', 'user', 'access', array('fid' => $registre['fid'], 'uid' => $uid, 'sv' => $sv)) > 0) { if ($uid != $realUid) { $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); } $noves = ModUtil::apiFunc('IWforums', 'user', 'compta_msg', array('fid' => $registre['fid'], 'tots' => true, 'uid' => $uid, 'sv' => $sv)); if ($noves['nollegits'] > 0) { $newsArray[] = array('code' => '', 'nNotes' => $noves['nollegits'], 'url' => ModUtil::getVar('IWmain', 'URLBase') . 'index.php?module=IWforums&func=forum&fid=' . $registre['fid'], 'element' => $this->__('Forum'), 'title' => $registre['nom_forum']); } } } $newsArray[] = array('code' => '<!---/fo--->'); } } //IWforms $modid = ModUtil::getIdFromName('IWforms'); $modinfo = ModUtil::getInfo($modid); if ($modinfo['state'] == 3 && ($where == 'fu' || $where == '')) { if (SecurityUtil::checkPermission('IWforms::', "::", ACCESS_READ) || $requestByCron) { //get all the active forms if ($uid != $realUid) { $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); } $forms = ModUtil::apiFunc('IWforms', 'user', 'getAllForms', array('user' => 1, 'sv' => $sv)); //get all the groups of the user $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); $userGroups = ModUtil::func('IWmain', 'user', 'getAllUserGroups', array('uid' => $uid, 'sv' => $sv)); foreach ($userGroups as $group) { $userGroupsArray[] = $group['id']; } } foreach ($forms as $form) { if ($uid != $realUid) { $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); } $access = ModUtil::func('IWforms', 'user', 'access', array('fid' => $form['fid'], 'userGroups' => $userGroupsArray, 'uid' => $uid, 'sv' => $sv)); $newsArray[] = array('code' => '<!---fu--->'); if ($access['level'] > 1) { // get not view user news if ($uid != $realUid) { $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); } $nNotes = ModUtil::apiFunc('IWforms', 'user', 'getNewNotes', array('fid' => $form['fid'], 'uid' => $uid, 'sv' => $sv)); if (count($nNotes) > 0) { // user can read the notes $url = ($access['level'] == 7) ? ModUtil::getVar('IWmain', 'URLBase') . 'index.php?module=IWforms&func=manage&fid=' . $form['fid'] : ModUtil::getVar('IWmain', 'URLBase') . 'index.php?module=IWforms&func=read&fid=' . $form['fid']; $newsArray[] = array('code' => '', 'nNotes' => count($nNotes), 'url' => $url, 'element' => $this->__('Form'), 'title' => $form['formName']); } } $newsArray[] = array('code' => '<!---/fu--->'); } } //Change avatar requests if (SecurityUtil::checkPermission('IWusers::', '::', ACCESS_ADMIN) && ($where == 'ch' || $where == '')) { $avatars = ModUtil::apifunc('IWusers', 'admin', 'getNotValidatedAvatars'); if (count($avatars) > 0) { $newsArray[] = array('code' => '<!---ch--->'); $newsArray[] = array('code' => '', 'nNotes' => count($avatars), 'url' => ModUtil::getVar('IWmain', 'URLBase') . 'index.php?module=IWusers&type=admin&func=changeAvatarView', 'element' => $this->__('Avatar replacement'), 'title' => ''); $newsArray[] = array('code' => '<!---/ch--->'); } } $news = $this->view->assign('newsArray', $newsArray) ->fetch('IWmain_block_news.tpl'); $news = $before . $news . $after; $news = str_replace('\'', '´', $news); $sv = ModUtil::func('IWmain', 'user', 'genSecurityValue'); ModUtil::func('IWmain', 'user', 'userSetVar', array('uid' => $uid, 'name' => 'news', 'module' => 'IWmain_block_news', 'sv' => $sv, 'value' => $news, 'lifetime' => '700')); return true; }