public function _createContent(&$toReturn) { //load PPO $ppo = new CopixPPO(); $ppo->user = _currentUser(); //if user is connected : load personal informations if ($ppo->user->isConnected()) { $ppo->animateur = _sessionGet('user_animateur') ? 1 : 0; $ppo->ien = _sessionGet('prisedecontrole_ien') ? 1 : 0; $type = $ppo->user->getExtra('type'); $sexe = $ppo->user->getExtra('sexe') == 2 ? 2 : ''; $ppo->usertype = strtolower($type) . $sexe; } // Get vocabulary catalog to use if ($myNode = CopixSession::get('myNode')) { $nodeVocabularyCatalogDAO = _ioDAO('kernel|kernel_i18n_node_vocabularycatalog'); $vocabularyCatalog = $nodeVocabularyCatalogDAO->getCatalogForNode($myNode['type'], $myNode['id']); } $ppo->vocabularyCatalogId = isset($vocabularyCatalog) ? $vocabularyCatalog->id_vc : CopixConfig::get('kernel|defaultVocabularyCatalog'); $this->addJs('js/iconito/module_auth.js'); $this->addCss('styles/module_auth.css'); $ppo->conf_Cas_actif = CopixConfig::exists('default|conf_Cas_actif') ? CopixConfig::get('default|conf_Cas_actif') : 0; $ppo->conf_Saml_actif = CopixConfig::exists('default|conf_Saml_actif') ? CopixConfig::get('default|conf_Saml_actif') : 0; //load tpl $toReturn = $this->_usePPO($ppo, 'userlogged.tpl'); }
public function _createContent(&$toReturn) { $ppo = new CopixPPO(); // Récupérations des filtres en session $ppo->selected = $this->getParam('selected', null); $ppo->withLabel = $this->getParam('with_label', true); $ppo->withEmpty = $this->getParam('with_empty', true); $ppo->labelEmpty = $this->getParam('label_empty', null); $ppo->name = $this->getParam('name', null); $ppo->all = $this->getParam('all', false); $grade = $this->getParam('grade', _sessionGet('grade', Kernel::getAnneeScolaireCourante()->id_as)); if (!is_null($schoolId = $this->getParam('school_id', null))) { // Récupération des écoles de la ville sélectionnée pour liste déroulante $classroomDAO = _ioDAO('kernel|kernel_bu_ecole_classe'); if (_currentUser()->testCredential('module:school|' . $schoolId . '|classroom|create@gestionautonome') || $ppo->all) { $classes = $classroomDAO->getBySchool($schoolId, $grade); } else { $groups = _currentUser()->getGroups(); $classes = $classroomDAO->findBySchoolIdAndUserGroups($schoolId, $groups['gestionautonome|iconitogrouphandler'], $grade); } $ppo->classesIds = array(); $ppo->classesNames = array(); foreach ($classes as $class) { $ppo->classesIds[] = $class->id; $ppo->classesNames[] = $class->nom; } } $toReturn = $this->_usePPO($ppo, '_filter_class.tpl'); }
public function _createContent(&$toReturn) { $ppo = new CopixPPO(); // Récupération des paramètres $ppo->classeurId = $this->getParam('classeurId'); $ppo->dossierId = $this->getParam('dossierId'); $ppo->current = $this->getParam('current'); // Gestion des droits $ppo->niveauUtilisateur = Kernel::getLevel('MOD_CLASSEUR', $ppo->classeurId); $ppo->typeUtilisateur = _currentUser()->getExtra('type'); $ppo->vue = !is_null(_sessionGet('classeur|typeVue')) ? _sessionGet('classeur|typeVue') : 'liste'; $ppo->conf_ModClasseur_options = CopixConfig::exists('default|conf_ModClasseur_options') ? CopixConfig::get('default|conf_ModClasseur_options') : 0; // L'album public est t-il publié ? $ppo->estPublic = false; if (!is_null($ppo->dossierId) && $ppo->dossierId != 0) { $dossierDAO = _ioDAO('classeur|classeurdossier'); $ppo->dossier = $dossierDAO->get($ppo->dossierId); if ($ppo->dossier->public) { $ppo->estPublic = true; } } else { $classeurDAO = _ioDAO('classeur|classeur'); $classeur = $classeurDAO->get($ppo->classeurId); if ($classeur->public) { $ppo->estPublic = true; } } $toReturn = $this->_usePPO($ppo, '_affichage_menu.tpl'); }
public function testShortcut() { _sessionSet('copixtest|key', 'value'); $this->assertEquals(_sessionGet('copixtest|key'), 'value'); _sessionSet('copixtest|key', null); $this->assertEquals(_sessionGet('copixtest|key'), null); }
public function _createContent(&$toReturn) { $ppo = new CopixPPO(); // Récupération des paramètres $ppo->nodeId = $this->getParam('nodeId'); $ppo->nodeType = $this->getParam('nodeType'); $ppo->cpt = $this->getParam('cpt'); $ppo->studentId = $this->getParam('studentId', false); // Récupération des relations $parentLinkDAO = _ioDAO('kernel_bu_lien_parental'); $parentLinks = $parentLinkDAO->findAll(); $ppo->linkNames = array(); $ppo->linkIds = array(); foreach ($parentLinks as $parentLink) { $ppo->linkNames[] = $parentLink->parente; $ppo->linkIds[] = $parentLink->id_pa; } $ppo->genderNames = array('Homme', 'Femme'); $ppo->genderIds = array('1', '2'); // Récupération des responsables de l'élève if (false !== $ppo->studentId) { $personsInChargeDAO = _ioDAO('kernel|kernel_bu_res'); $ppo->persons = $personsInChargeDAO->getByStudent($ppo->studentId); } else { // Récupération des responsables en session (devant être créés lors de la création de l'élève) $ppo->personsInSession = _sessionGet('modules|gestionautonome|tmpAccount'); } $ppo->user = _currentUser(); // Get vocabulary catalog to use $nodeVocabularyCatalogDAO = _ioDAO('kernel|kernel_i18n_node_vocabularycatalog'); $ppo->vocabularyCatalog = $nodeVocabularyCatalogDAO->getCatalogForNode($ppo->nodeType, $ppo->nodeId); $toReturn = $this->_usePPO($ppo, '_create_person_in_charge.tpl'); }
/** * Test si un utilisateur est reconnecté en animateur * @return boolean true si un utilisateur est connectÈ, false sinon * @author Frédéric MOSSMANN * @since 13.11.2009 * */ public function is_animateur() { $isAnim = _sessionGet('user_animateur'); if ($isAnim != '') { return true; } return false; }
public function _createContent(&$toReturn) { $ppo = new CopixPPO(); // Récupération des paramètres $ppo->classeurId = $this->getParam('classeurId'); $ppo->dossierCourant = $this->getParam('dossierCourant'); // Paramètres pour la vue popup $ppo->field = $this->getParam('field'); $ppo->format = $this->getParam('format'); $ppo->withPersonal = _sessionGet('user_animateur') ? false : $this->getParam('withPersonal', true); $ppo->moduleType = $this->getParam('moduleType', null); $ppo->moduleId = $this->getParam('moduleId', null); // Récupération des classeurs accessibles à l'utilisateur $classeurIds = array(); // Récupération de ses ressources (obligatoire pour récupérer le classeur personnel) $nodes = Kernel::getMyNodes(_currentUser()->getExtra('type'), _currentUser()->getExtra('id')); foreach ($nodes as $node) { $modules = Kernel::getModEnabled($node->type, $node->id, _currentUser()->getExtra('type'), _currentUser()->getExtra('id')); foreach ($modules as $module) { if ($module->module_type == 'MOD_CLASSEUR' && Kernel::getLevel('MOD_CLASSEUR', $module->module_id) >= PROFILE_CCV_READ) { // Le module correspond-il au classeur personnel if ($ppo->withPersonal && strpos($module->node_type, 'USER_') !== false && ($module->node_type == _currentUser()->getExtra('type') && $module->node_id == _currentUser()->getExtra('id'))) { $ppo->classeurPersonnel = $module->module_id; $classeurIds[] = $module->module_id; } elseif (null === $ppo->moduleType) { $classeurIds[] = $module->module_id; } } } } // Récupération des ressources if (null !== $ppo->moduleType) { $node = Kernel::getModParentInfo($ppo->moduleType, $ppo->moduleId); $modules = Kernel::getModEnabled($node['type'], $node['id'], _currentUser()->getExtra('type'), _currentUser()->getExtra('id')); foreach ($modules as $module) { if ($module->module_type == 'MOD_CLASSEUR' && Kernel::getLevel('MOD_CLASSEUR', $module->module_id) >= PROFILE_CCV_READ) { $classeurIds[] = $module->module_id; } } } // Dédoublonnage des classeurs (responsables avec plusieurs enfants) $classeurIds = array_unique($classeurIds); $ppo->classeurs = array(); $classeurDAO = _dao("classeur|classeur"); foreach ($classeurIds as $classeurId) { $classeur = $classeurDAO->get($classeurId); $classeur->titre = $classeur->realName(); $ppo->classeurs[] = $classeur; } _classInclude('classeurservice'); $ppo->classeursOuverts = ClasseurService::getClasseursTreeState(); if (!is_array($ppo->classeursOuverts)) { $ppo->classeursOuverts = array(); } $this->flash->addCycle(); $toReturn = $this->_usePPO($ppo, '_arborescence_classeurs.tpl'); }
/** * fonction getUserInfos * param : * return : Le prénom et le nom de l'utilisateur connecté */ public function getUserInfos($id_blog = NULL) { $user = new user(); if ($id_blog) { if (!_sessionGet('cache|right|MOD_BLOG|' . $id_blog)) { _sessionSet('cache|right|MOD_BLOG|' . $id_blog, Kernel::getLevel("MOD_BLOG", $id_blog)); } $user->right = _sessionGet('cache|right|MOD_BLOG|' . $id_blog); } return $user; }
public function _createContent(&$toReturn) { $ppo = new CopixPPO(); // Récupération des paramètres $ppo->classeurId = $this->getParam('classeurId'); $ppo->dossierId = $this->getParam('dossierId'); $ppo->idClasseurPersonnel = _sessionGet('classeur|idClasseurPersonnel'); // Gestion des droits $ppo->niveauUtilisateur = Kernel::getLevel('MOD_CLASSEUR', $ppo->classeurId); // Récupération du dossier courant $dossierDAO = _ioDAO('classeur|classeurdossier'); $ppo->dossier = $dossierDAO->get($ppo->dossierId); $toReturn = $this->_usePPO($ppo, '_actions_de_masse.tpl'); }
public function _createContent(&$toReturn) { $toReturn = ''; $passwordsList = _sessionGet('modules|gestionautonome|passwordsList'); if (!empty($passwordsList)) { foreach ($passwordsList as $line) { if (!empty($line)) { $ppo = new CopixPPO(); $toReturn = $this->_usePPO($ppo, '_get_passwords_list.tpl'); break; } } } }
/** * @param CopixActionReturn $ToProcess */ public function afterProcess($actionreturn) { //print_r($copixaction); // === Si les stats ne sont pas du tout activés, on zappe === $statsEnabled = CopixConfig::get('default|statsEnabled'); if (!$statsEnabled) { return; } // ====== $objMetier = new DAOPluginStats(); include_once COPIX_UTILS_PATH . 'CopixUtils.lib.php'; $par = getUrlTab(); $module = $this->module ? $this->module : (isset($par['module']) ? $par['module'] : ''); $action = $this->action ? $this->action : (isset($par['action']) ? $par['action'] : ''); $modules = array(); $modules['blog'] = 'MOD_BLOG'; $modules['groupe'] = 'MOD_GROUPE'; $modules['minimail'] = 'MOD_MINIMAIL'; $actions = array(); $actions['blog'] = array('default' => array('action' => 'listArticle'), 'listArticle' => array('action' => 'listArticle'), 'showArticle' => array('action' => 'showArticle', 'needObjetA' => true), 'showPage' => array('action' => 'showPage', 'needObjetA' => true)); $actions['groupe'] = array('getHome' => array('action' => 'getHome')); $actions['minimail'] = array('sendMinimail' => array('action' => 'sendMinimail', 'needObjetA' => true), 'getMessage' => array('action' => 'readMinimail', 'needObjetA' => true)); //print_r($module); //print_r($action); if (isset($modules[$module]) && isset($actions[$module][$action])) { // Verification (pour eviter de logger des 404) if (isset($actions[$module][$action]['needObjetA']) && $actions[$module][$action]['needObjetA'] && !$this->objet_a) { return; } $par['profil'] = _currentUser()->getExtra('type'); $par['module_id'] = $this->module_id; $par['parent_type'] = $this->parent_type; $par['parent_id'] = $this->parent_id; $par['module_type'] = $modules[$module]; $par['action'] = $actions[$module][$action]['action']; $par['objet_a'] = $this->objet_a; $par['objet_b'] = $this->objet_b; $chaine = $par['module_type'] . '/' . $par['module_id'] . '/' . $par['action'] . '/' . $par['objet_a'] . '/' . $par['objet_b']; if ($this->config->cache == true && _sessionGet('cache|stats|' . $chaine)) { return; } $objMetier->add($par); if ($this->config->cache == true) { _sessionSet('cache|stats|' . $chaine, 1); } } }
/** * Affichage des groupes de villes */ public function _createContent(&$toReturn) { $ppo = new CopixPPO(); $citiesGroupDAO = _ioDAO('kernel|kernel_bu_groupe_villes'); if (_currentUser()->testCredential('module:*||cities_group|create@gestionautonome')) { $criteria = _daoSp(); $criteria->orderBy('nom_groupe'); $ppo->citiesGroups = $citiesGroupDAO->findBy($criteria); } else { $groups = _currentUser()->getGroups(); $ppo->citiesGroups = $citiesGroupDAO->findByUserGroups($groups['gestionautonome|iconitogrouphandler']); } // Récupération des noeuds ouvert $ppo->nodes = _sessionGet('cities_groups_nodes'); if (is_null($ppo->nodes)) { $ppo->nodes = array(); } $toReturn = $this->_usePPO($ppo, '_cities_group.tpl'); }
/** * Retourne le niveau de droit de la personne connectée * @param integer $idAgenda l'identifiant de l'agenda */ public function getCapability($idAgenda) { if (!$idAgenda) { return 0; } if (!($d = _sessionGet('modules|agenda|rights|' . $idAgenda))) { $d = Kernel::getModRight('MOD_AGENDA', $idAgenda); _sessionSet('modules|agenda|rights|' . $idAgenda, $d); } if ($d >= PROFILE_CCV_MEMBER) { $res = AgendaAuth::getModerate(); } elseif ($d >= PROFILE_CCV_READ) { $res = AgendaAuth::getRead(); } else { $res = AgendaAuth::getNone(); } //print_r ("idAgenda=$idAgenda / res=$res<br>"); return $res; }
/** * Affichage des classes */ public function _createContent(&$toReturn) { $ppo = new CopixPPO(); // Récupération de l'année scolaire if (is_null($grade = _sessionGet('grade'))) { $grade = Kernel::getAnneeScolaireCourante()->id_as; } if (is_null($schoolId = $this->getParam('school_id'))) { $toReturn = ''; return; } $classroomDAO = _ioDAO('kernel|kernel_bu_ecole_classe'); if (_currentUser()->testCredential('module:school|' . $schoolId . '|classroom|create@gestionautonome')) { $ppo->classrooms = $classroomDAO->getBySchool($schoolId, $grade); } else { $groups = _currentUser()->getGroups(); $ppo->classrooms = $classroomDAO->findBySchoolIdAndUserGroups($schoolId, $groups['gestionautonome|iconitogrouphandler'], $grade); } $toReturn = $this->_usePPO($ppo, '_classroom.tpl'); }
public function beforeAction() { _currentUser()->assertCredential('group:[current_user]'); $this->menu = array(); if (Kernel::isAdmin() || _currentUser()->hasAssistance('can_comptes')) { if (CopixConfig::exists('kernel|gestionAutonomeEnabled') && CopixConfig::get('kernel|gestionAutonomeEnabled')) { $this->menu[] = array('txt' => CopixI18N::get('comptes|comptes.menu.getUsers'), 'url' => CopixUrl::get('gestionautonome||showTree'), 'type' => 'users'); } else { $this->menu[] = array('txt' => CopixI18N::get('comptes|comptes.menu.getUsers'), 'url' => CopixUrl::get('comptes||'), 'type' => 'users'); } $this->menu[] = array('txt' => CopixI18N::get('comptes|comptes.menu.getExt'), 'url' => CopixUrl::get('comptes||getUserExt'), 'type' => 'acl'); } if (Kernel::isAdmin()) { $this->menu[] = array('txt' => CopixI18N::get('comptes|comptes.menu.getRoles'), 'url' => CopixUrl::get('comptes||getRoles'), 'type' => 'acl', 'current' => 'current'); $this->menu[] = array('txt' => CopixI18N::get('comptes|comptes.menu.manageGrades'), 'url' => CopixUrl::get('gestionautonome||manageGrades'), 'type' => 'agendalist'); } $session = _sessionGet('modules|comptes|doLoginCreate|success'); if ($session && is_array($session) && sizeof($session)) { $this->menu[] = array('txt' => CopixI18N::get('comptes.strings.showloginresult', sizeof($session)), 'url' => CopixUrl::get('comptes||getLoginResult'), 'size' => 145); } }
/** * Affichage des écoles */ public function _createContent(&$toReturn) { $ppo = new CopixPPO(); if (is_null($cityId = $this->getParam('city_id'))) { $toReturn = ''; return; } $schoolDAO = _ioDAO('kernel|kernel_bu_ecole'); if (_currentUser()->testCredential('module:city|' . $cityId . '|school|create@gestionautonome')) { $ppo->schools = $schoolDAO->getByCity($cityId); } else { $groups = _currentUser()->getGroups(); $ppo->schools = $schoolDAO->findByCityIdAndUserGroups($cityId, $groups['gestionautonome|iconitogrouphandler']); } // Récupération des noeuds ouvert $ppo->nodes = _sessionGet('schools_nodes'); if (is_null($ppo->nodes)) { $ppo->nodes = array(); } $toReturn = $this->_usePPO($ppo, '_school.tpl'); }
public function loadXml() { if (!is_null($myNode = _sessionGet('myNode'))) { $ppo = new CopixPPO(); $ppo->targetId = $myNode['id']; $ppo->targetType = $myNode['type']; $ppo->myNodeInfos = Kernel::getNodeInfo($myNode['type'], $myNode['id']); if ($ppo->targetType == "BU_CLASSE") { $ppo->url_classe = urlencode($ppo->myNodeInfos['nom']); $ppo->siret_ecole = $ppo->myNodeInfos['ALL']->eco_siret; } } $this->rssUrl = $this->helpers->config('rssetagere|rss_url'); // $this->rssUrl = $this->rssUrl.'?classe='.$ppo->url_classe.'&siren='.$ppo->url_ecole.($ppo->targetType=="BU_CLASSE"?'&classeId='.$ppo->targetId:''); $this->rssUrl = $this->rssUrl . '?siren=' . $ppo->siret_ecole . ($ppo->targetType == "BU_CLASSE" ? '&classe=' . $ppo->targetId : ''); if (CopixConfig::exists('default|rssEtagereEnt') && ($ent = CopixConfig::get('default|rssEtagereEnt'))) { $this->rssUrl .= '&ent=' . urlencode($ent); } $this->xml = @simplexml_load_file($this->rssUrl); if ($this->xml == false) { return false; } return true; }
public function getSwitchUser() { $login = _request('login'); if ($login != '') { $me_info = Kernel::getUserInfo("ME", 0); $animateurs_dao =& CopixDAOFactory::create("kernel|kernel_animateurs"); $animateur = $animateurs_dao->get($me_info['type'], $me_info['id']); $ien_dao =& CopixDAOFactory::create("kernel|kernel_ien"); $ien = $ien_dao->get($me_info['type'], $me_info['id']); // echo "<pre>"; print_r($ien); die("</pre>"); if (!$ien && (!$animateur || !isset($animateur->can_connect) || !$animateur->can_connect)) { return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('assistance||users', array('error' => 'forbidden'))); } $user_info = Kernel::getUserInfo("LOGIN", $login); // $user_info->user_id if (!$user_info) { return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('assistance||users', array('error' => 'forbidden'))); } $ok = false; $assistance_service =& CopixClassesFactory::Create('assistance|assistance'); $user_assistance = $assistance_service->getAssistanceUsers(); if (!$user_assistance) { return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('assistance||users', array('error' => 'forbidden'))); } foreach ($user_assistance as $ville_id => $ville) { foreach ($ville as $ecole_id => $ecole) { foreach ($ecole->personnels as $personnel_id => $personnel) { if ($personnel->id_copix == $user_info['user_id']) { $ok = $personnel->assistance; } } } } if (!$ok) { return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('assistance||users', array('error' => 'forbidden'))); } $currentUserLogin = _currentUser()->getLogin(); CopixSession::destroyNamespace('default'); _sessionSet('user_animateur', $currentUserLogin); _sessionSet('prisedecontrole_ien', $ien ? true : false); _currentUser()->login(array('login' => $login, 'assistance' => true)); $url_return = CopixUrl::get('kernel||doSelectHome'); } else { if ($session = _sessionGet('user_animateur')) { CopixSession::destroyNamespace('default'); //_sessionSet('user_animateur', null); _currentUser()->login(array('login' => $session, 'assistance' => true)); } $url_return = CopixUrl::get('assistance||users'); } return new CopixActionReturn(COPIX_AR_REDIRECT, $url_return); }
/** * doPurgeResult * * Efface les information de création de comptes, mémorisées en session. * @author Frédéric Mossmann */ public function doPurgeResult() { $inSession = _sessionGet('modules|comptes|doLoginCreate|success'); foreach (_request('users') as $typeid) { if ($inSession && is_array($inSession) && array_key_exists($typeid, $inSession)) { unset($inSession[$typeid]); } } _sessionSet('modules|comptes|doLoginCreate|success', $inSession); $urlReturn = CopixUrl::get('comptes||getLoginResult'); return new CopixActionReturn(COPIX_AR_REDIRECT, $urlReturn); }
public function _createContent(&$toReturn) { $ppo = new CopixPPO(); // Récupération des paramètres $id = $this->getParam('node_id'); $ppo->type = $this->getParam('node_type'); $ppo->tab = $this->getParam('tab') ? $this->getParam('tab') : 0; // Récupération de l'utilisateur connecté $ppo->user = _currentUser(); if (!is_null($ppo->type) && !is_null($id)) { $ppo->parent = Kernel::getNodeInfo($ppo->type, $id); $personnelDAO = _ioDAO('kernel|kernel_bu_personnel'); switch ($ppo->type) { case 'BU_GRVILLE': $ppo->persons = $personnelDAO->findCitiesAgentsByCitiesGroupId($id); break; case 'BU_VILLE': $ppo->persons = $personnelDAO->findCityAgentsByCityId($id); break; case 'BU_ECOLE': $personEntityDAO = _ioDAO('kernel|kernel_bu_personnel_entite'); $classroomDAO = _ioDAO('kernel|kernel_bu_ecole_classe'); $classnames = array(); $ppo->persons = $personnelDAO->findAdministrationStaffAndPrincipalBySchoolId($id); foreach ($ppo->persons as $person) { // Pour les enseignants, on récupère leurs affectations pour déterminer s'il est possible de les désaffecter de l'école if ($person->role == DAOKernel_bu_personnel_entite::ROLE_TEACHER && $personEntityDAO->hasTeacherRoleInSchool($person->numero, $id, true)) { $person->hasTeacherRoleInSchool = true; // Récupération du nom des classes ou il est affecté $classnames = array(); $personEntities = $personEntityDAO->getTeacherRoleInSchool($person->numero, $id, true); foreach ($personEntities as $personEntity) { $class = $classroomDAO->get($personEntity->pers_entite_reference); $classnames[] = $class->nom; } $person->classrooms = implode(', ', $classnames); } else { $person->hasTeacherRoleInSchool = false; } } break; case 'BU_CLASSE': // Récupération des enseignants $ppo->persons = $personnelDAO->findTeachersByClassroomId($id); // Récupération des élèves $studentDAO = _ioDAO('kernel|kernel_bu_ele'); $ppo->students = $studentDAO->getStudentsByClass($id); // Récupération des parents $responsableDAO = _ioDAO('kernel|kernel_bu_res'); $ppo->responsables = $responsableDAO->getParentsInClasse($id); _classInclude('gestionautonome|GestionAutonomeService'); $ppo->isTeachersLimitByClassroomReached = false; if (GestionAutonomeService::hasTeachersLimitByClassroom()) { $ppo->isTeachersLimitByClassroomReached = count($ppo->persons) >= CopixConfig::get('gestionautonome|teachersLimitByClassroom'); } $ppo->isStudentsLimitByClassroomReached = false; if (GestionAutonomeService::hasStudentsLimitByClassroom()) { $ppo->isStudentsLimitByClassroomReached = count($ppo->students) >= CopixConfig::get('gestionautonome|studentsLimitByClassroom'); } break; } } // Récupération du catalogue de vocabulaire à utiliser $nodeVocabularyCatalogDAO = _ioDAO('kernel|kernel_i18n_node_vocabularycatalog'); $ppo->vocabularyCatalog = $nodeVocabularyCatalogDAO->getCatalogForNode($ppo->type, $id); // Récupération de l'année scolaire suivante $ppo->nextGrade = _ioDAO('kernel|kernel_bu_annee_scolaire')->getNextGrade(_sessionGet('grade')); $toReturn = $this->_usePPO($ppo, '_persons_data.tpl'); }
/** * Récupération en session des paramètres de la semaine à afficher * @access : private. */ public function _getSessionSemaineParams() { $inSession = _sessionGet('modules|agenda|vue_semaine'); return $inSession ? unserialize($inSession) : null; }
/** * Récupération en session des paramètres de l'évènement en édition * @access: private. */ public function _getSessionExport() { $inSession = _sessionGet('modules|agenda|export_agenda'); return $inSession ? unserialize($inSession) : null; }
/** * Retourne le tri pour l'affichage des contenus du classeur * * @return array */ public static function getContentSort() { $sort = _sessionGet('classeur|tri_affichage_contenu'); if (is_null($sort)) { return array('colonne' => 'titre', 'direction' => 'ASC'); } return $sort; }
/** * R�cup�ration en session des param�tres de l'�v�nement en �dition * @access: private. */ public function _getSessionEvent() { $tmp = _ioDao('event'); $inSession = _sessionGet('modules|agenda|edited_event'); return $inSession ? unserialize($inSession) : null; }
/** * checkThumbnail * * V�rifie la pr�sence des vignettes d'une image * * @author Fr�d�ric Mossmann <*****@*****.**> * @param string $album Nom de la photo et cl�, s�par�s par '_' * @param string $file Nom de l'album et cl�, s�par�s par '_' * @param string $ext Extension de la photo (jpg, gif, etc.) */ public function checkThumbnail($album, $file, $ext, $key) { $failed = 0; $path2data = realpath("static"); $pathfolder = $path2data . '/album/' . $album; $tailles = explode(",", CopixConfig::get('album|thumb_sizes')); foreach ($tailles as $taille) { $savedfile = $pathfolder . '/' . $file . '_' . $taille . '.' . $ext; //print_r($savedfile); if (!file_exists($savedfile)) { $failed++; if (!($get = _sessionGet('modules|album|vignettes|' . $key))) { $get = array(); } $get[] = array('album' => $album, 'photo' => $file, 'taille' => $taille, 'ext' => $ext); _sessionSet('modules|album|vignettes|' . $key, $get); $nb = _sessionGet('modules|album|vignettes|nb-' . $key); _sessionSet('modules|album|vignettes|nb-' . $key, $nb + 1); } } return $failed; }
/** * AJAX ONLY ! - Met à jour l'état d'ouverture des classes sur l'écran de gestion des affectations (ouvert / fermé) */ public function processChangeManageAssignmentClassroomState() { $id = _request('id', null); $type = _request('type', null); // Paramètres obligatoires if (null === $id || null === $type) { return new CopixActionReturn(CopixActionReturn::HTTPCODE, array('Content-Type: text/plain; charset=utf-8', 'HTTP/1.1 400 Bad Request'), 'Une erreur est survenue'); } // Changement d'état $state = _sessionGet('gestionautonome|assignments_management_classroom_state'); if (isset($state[$type][$id])) { unset($state[$type][$id]); } else { $state[$type][$id] = 1; } _sessionSet('gestionautonome|assignments_management_classroom_state', $state); return _arNone(); }
/** * Retourne si une entité à un rôle d'enseignant dans les classes d'une école donnée * * @param int $id * @param int $schoolId * @param bool $forCurrentGrade * * @return bool */ public function getTeacherRoleInSchool($id, $schoolId, $forCurrentGrade = false) { $toReturn = false; $schoolClassDAO = _ioDAO('kernel|kernel_bu_ecole_classe'); if ($forCurrentGrade) { if (is_null($grade = _sessionGet('grade'))) { $grade = Kernel::getAnneeScolaireCourante()->id_as; } $classrooms = $schoolClassDAO->getBySchool($schoolId, $grade); } else { $classrooms = $schoolClassDAO->getBySchool($schoolId); } foreach ($classrooms as $classroom) { if ($entity = self::getByIdReferenceAndType($id, $classroom->id, 'CLASSE')) { $toReturn[] = $entity; } } return $toReturn; }
/** * Cr�ation des vignettes manquantes * * Si des vignettes sont � cr�er, cette page va cr�er une vignette et se recharger pour cr�er les suivantes. * Ceci permet d'afficher l'avanc� de la g�n�ration, et �viter les timeout. * * @author Fr�d�ric Mossmann <*****@*****.**> */ public function vignettes() { CopixHTMLHeader::addCSSLink(_resource("styles/module_album.css")); if (!_request("album")) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('album.error.noalbum'), 'back' => CopixUrl::get('||'))); } if (!_sessionGet('modules|album|vignettes|' . _request("key"))) { return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('album|default|album', array('album_id' => _request("album"), 'dossier_id' => _request("dossier")))); /* return CopixActionGroup::process ('genericTools|Messages::getError', array ( 'message'=>CopixI18N::get ('album.error.nothumbscreate'), 'back'=>CopixUrl::get('album||album',array('album_id'=>_request("album"))))); */ } $finish = false; $tpl = new CopixTpl(); $vignettes = _sessionGet('modules|album|vignettes|' . _request("key")); //print_r($vignettes); $image = array_shift($vignettes); _sessionSet('modules|album|vignettes|' . _request("key"), $vignettes); if ($image == NULL) { $finish = true; $tpl->assign('url_album', _request("album")); $tpl->assign('url_dossier', _request("dossier")); $tpl->assign('url_key', _request("key")); $tpl->assign('finish', $finish); $tpl->assign('message', CopixI18N::get('album.message.thumbs_end')); return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('album|default|album', array('album_id' => _request("album"), 'dossier_id' => _request("dossier")))); // return new CopixActionReturn (COPIX_AR_DISPLAY_IN, $tpl, "album|vignettes.tpl" ); } $photo_dao = null; $ok = Album::createThumbnail($image['album'], $image['photo'], $image['ext'], $image['taille']); if (!$ok) { if (ereg("^([0-9]+)_([0-9a-fA-F]+)\$", $image['photo'], $photo_regs)) { if ($photo_dao == null) { $photo_dao = CopixDAOFactory::create("photo"); } $photo_dao->delete($photo_regs[1]); } } $pAlbum = _request("album"); $pDossier = _request("dossier"); $pKey = _request("key"); $nb = _sessionGet('modules|album|vignettes|nb-' . $pKey); $vignettes = _sessionGet('modules|album|vignettes|' . $pKey); $tpl->assign('message', CopixI18N::get('album.message.thumbs_create', array($nb - sizeof($vignettes), $nb))); $tpl->assign('bar_max', $nb); $tpl->assign('bar_value', $nb - sizeof($vignettes)); $result = $tpl->fetch('vignettes.tpl'); $ppo = new CopixPPO(); $ppo->result = $result; $ppo->TITLE_PAGE = CopixI18N::get('album|album.moduleDescription'); CopixHTMLHeader::addCSSLink(_resource("styles/module_album.css")); if ($finish) { CopixHTMLHeader::addOthers('<meta HTTP-EQUIV="REFRESH" content="3; url=' . CopixUrl::get('album||album', array('album_id' => $pAlbum, 'dossier' => $pDossier)) . '"'); } else { CopixHTMLHeader::addOthers('<meta HTTP-EQUIV="REFRESH" content="0; url=' . CopixUrl::get('album||vignettes', array('album' => $pAlbum, 'dossier' => $pDossier, 'key' => $pKey)) . '"'); } $ppo->CAN_CLOSE = false; return _arPPO($ppo, array('template' => 'vignettes_ppo.tpl', 'mainTemplate' => 'default|main_popup.php')); //return new CopixActionReturn (COPIX_AR_DISPLAY_IN, $tpl, "album|vignettes.tpl" ); }
/** * Récupération en session des paramètres de la leçon en édition * @access: private. */ public function _getSessionLecon() { $tmp = _ioDao('lecon'); $inSession = _sessionGet('modules|agenda|edited_lecon'); return $inSession ? unserialize($inSession) : null; }
public function _createContent(&$toReturn) { $ppo = new CopixPPO(); // Récupération du context en session $ppo->filters = _sessionGet('gestionautonome|assignments_management_filters'); $ppo->openedClassrooms = _sessionGet('gestionautonome|assignments_management_classroom_state'); // Initialisation des tableaux des affectations $originAssignments = array(); $destinationAssignments = array(); $withoutAssignments = array(); $classroomDAO = _ioDAO('kernel|kernel_bu_ecole_classe'); $groups = _currentUser()->getGroups(); $studentDAO = _ioDAO('kernel|kernel_bu_ele'); $personnelDAO = _ioDAO('kernel|kernel_bu_personnel'); // Récupération des éléves ou des enseignants if ($ppo->filters['searchMode'] === 'byStructure') { if ($ppo->filters['originUserType'] == 'USER_ELE') { if ($ppo->filters['mode'] == 'changeClassroom') { $originAssignments = $studentDAO->findStudentsForAssignment($ppo->filters['originGrade'], array('cityGroup' => $ppo->filters['originCityGroup'], 'city' => $ppo->filters['originCity'], 'school' => $ppo->filters['originSchool'], 'classroom' => $ppo->filters['originClassroom'], 'level' => $ppo->filters['originLevel'], 'lastname' => $ppo->filters['originLastname'], 'firstname' => $ppo->filters['originFirstname'])); } else { $originAssignments = $studentDAO->findForManageAssignments($ppo->filters['originGrade'], $ppo->filters); } } elseif ($ppo->filters['originUserType'] === 'USER_ENS') { $originAssignments = $personnelDAO->findTeachersAssignedToSchoolByStructure($ppo->filters['originGrade'], $ppo->filters['originSchool'], $ppo->filters['originClassroom'], $ppo->filters['originLevel'], $ppo->filters['originFirstname'], $ppo->filters['originLastname']); } } elseif ($ppo->filters['searchMode'] === 'byName' && ($ppo->filters['originFirstnameSearch'] || $ppo->filters['originLastnameSearch'])) { if ($ppo->filters['originUserTypeSearch'] == 'USER_ELE') { if ($ppo->filters['mode'] === 'changeClassroom') { $originAssignments = $studentDAO->findStudentsForAssignmentByName($ppo->filters['originGrade'], $ppo->filters['originFirstnameSearch'], $ppo->filters['originLastnameSearch']); } else { $originAssignments = $studentDAO->findForManageAssignmentsByName($ppo->filters['originGrade'], $ppo->filters['destinationGrade'], $ppo->filters['originFirstnameSearch'], $ppo->filters['originLastnameSearch']); } } elseif ($ppo->filters['originUserTypeSearch'] === 'USER_ENS') { $originAssignments = $personnelDAO->findTeachersByName($ppo->filters['originGrade'], $ppo->filters['originFirstnameSearch'], $ppo->filters['originLastnameSearch']); } } if ($ppo->filters['originUserTypeSearch'] == 'USER_ELE' || $ppo->filters['originUserTypeSearch'] == 'USER_ELE') { $destinationAssignments = $studentDAO->findAssigned(array('grade' => $ppo->filters['destinationGrade'], 'cityGroup' => $ppo->filters['destinationCityGroup'], 'city' => $ppo->filters['destinationCity'], 'school' => $ppo->filters['destinationSchool'], 'classroom' => $ppo->filters['destinationClassroom'], 'level' => $ppo->filters['destinationLevel']), !_currentUser()->testCredential('module:school|' . $ppo->filters['destinationSchool'] . '|teacher|update@gestionautonome') ? $groups['gestionautonome|iconitogrouphandler'] : null); } if ($ppo->filters['originUserTypeSearch'] == 'USER_ENS' || $ppo->filters['originUserTypeSearch'] == 'USER_ENS') { $destinationAssignments = $personnelDAO->findTeachersAssignedToClassroomByStructure($ppo->filters['destinationGrade'], $ppo->filters['destinationSchool'], $ppo->filters['destinationClassroom'], $ppo->filters['destinationLevel']); } foreach ($originAssignments as $originAssignment) { if ($ppo->filters['originUserType'] == 'USER_ELE' && $originAssignment->current || $ppo->filters['originUserType'] == 'USER_ENS' && $originAssignment->nom_classe != '') { if ($ppo->filters['originUserType'] == 'USER_ENS') { // Regroupement des enseignants dans la même classe. Pas de distinction des niveaux $ppo->originAssignments[''][$originAssignment->id_classe][$originAssignment->user_id] = $originAssignment; } elseif ($ppo->filters['originUserType'] == 'USER_ELE') { $ppo->originAssignments[$originAssignment->id_niveau][$originAssignment->id_classe][] = $originAssignment; } $ppo->classrooms[$originAssignment->id_classe] = $originAssignment->nom_classe; $ppo->classroomLevels[$originAssignment->id_niveau] = $originAssignment->nom_niveau; } elseif (is_null($ppo->filters['originClassroom']) || $ppo->filters['mode'] != 'changeClassroom') { $ppo->classrooms[0] = 'Sans affectation'; $withoutAssignments[] = $originAssignment; } } foreach ($withoutAssignments as $withoutAssignment) { $ppo->originAssignments[''][0][] = $withoutAssignment; } // Construction du tableau des affectations de destination pour l'affichage if (!isset($ppo->filters['destinationClassroom'])) { if ($ppo->filters['originUserType'] == 'USER_ELE') { if (isset($ppo->filters['destinationLevel']) && !is_null($ppo->filters['destinationLevel'])) { // On récupère toutes les classes disponibles pour l'école et le niveau de classe sélectionnés if (_currentUser()->testCredential('module:school|' . $ppo->filters['destinationSchool'] . '|classroom|create@gestionautonome')) { $destinationClassrooms = $classroomDAO->getBySchoolAndLevel($ppo->filters['destinationSchool'], $ppo->filters['destinationLevel'], $ppo->filters['destinationGrade']); } else { $destinationClassrooms = $classroomDAO->findBySchoolIdAndUserGroups($ppo->filters['destinationSchool'], $groups['gestionautonome|iconitogrouphandler'], $ppo->filters['destinationGrade'], $ppo->filters['destinationLevel']); } foreach ($destinationClassrooms as $destinationClassroom) { $classroomLevel = _ioDAO('kernel|kernel_bu_classe_niveau')->get($ppo->filters['destinationLevel']); $ppo->destinationAssignments[$ppo->filters['destinationLevel']][$destinationClassroom->id] = array(); $ppo->classrooms[$destinationClassroom->id] = $destinationClassroom->nom; $ppo->classroomLevels[$ppo->filters['destinationLevel']] = $classroomLevel->niveau_court; } } else { // On récupère toutes les classes disponibles pour l'école if (_currentUser()->testCredential('module:school|' . $ppo->filters['destinationSchool'] . '|classroom|create@gestionautonome')) { $destinationClassrooms = $classroomDAO->getBySchool($ppo->filters['destinationSchool'], $ppo->filters['destinationGrade']); } else { $destinationClassrooms = $classroomDAO->findBySchoolIdAndUserGroups($ppo->filters['destinationSchool'], $groups['gestionautonome|iconitogrouphandler'], $ppo->filters['destinationGrade']); } foreach ($destinationClassrooms as $destinationClassroom) { $levels = $destinationClassroom->getLevels(); foreach ($levels as $level) { $ppo->destinationAssignments[$level->id_n][$destinationClassroom->id] = array(); $ppo->classrooms[$destinationClassroom->id] = $destinationClassroom->nom; $ppo->classroomLevels[$level->id_n] = $level->niveau_court; } } } } else { if (isset($ppo->filters['destinationLevel']) && !is_null($ppo->filters['destinationLevel'])) { if (_currentUser()->testCredential('module:school|' . $ppo->filters['destinationSchool'] . '|classroom|create@gestionautonome')) { $destinationClassrooms = $classroomDAO->getBySchoolAndLevel($ppo->filters['destinationSchool'], $ppo->filters['destinationLevel'], $ppo->filters['destinationGrade']); } else { $destinationClassrooms = $classroomDAO->findBySchoolIdAndUserGroups($ppo->filters['destinationSchool'], $groups['gestionautonome|iconitogrouphandler'], $ppo->filters['destinationGrade'], $ppo->filters['destinationLevel']); } } else { if (_currentUser()->testCredential('module:school|' . $ppo->filters['destinationSchool'] . '|classroom|create@gestionautonome')) { $destinationClassrooms = $classroomDAO->getBySchool($ppo->filters['destinationSchool'], $ppo->filters['destinationGrade']); } else { $destinationClassrooms = $classroomDAO->findBySchoolIdAndUserGroups($ppo->filters['destinationSchool'], $groups['gestionautonome|iconitogrouphandler'], $ppo->filters['destinationGrade']); } } foreach ($destinationClassrooms as $destinationClassroom) { $ppo->destinationAssignments[''][$destinationClassroom->id] = array(); $ppo->classrooms[$destinationClassroom->id] = $destinationClassroom->nom; } } } else { // Récupération de la classe sélectionnée par les filtres $destinationClassroom = $classroomDAO->get($ppo->filters['destinationClassroom']); if ($ppo->filters['originUserType'] == 'USER_ELE') { if (isset($ppo->filters['destinationLevel']) && !is_null($ppo->filters['destinationLevel'])) { $classroomLevel = _ioDAO('kernel|kernel_bu_classe_niveau')->get($ppo->filters['destinationLevel']); $ppo->destinationAssignments[$classroomLevel->id_n][$destinationClassroom->id] = array(); $ppo->classrooms[$destinationClassroom->id] = $destinationClassroom->nom; $ppo->classroomLevels[$classroomLevel->id_n] = $classroomLevel->niveau_court; } else { $levels = $destinationClassroom->getLevels(); foreach ($levels as $level) { $ppo->destinationAssignments[$level->id_n][$destinationClassroom->id] = array(); $ppo->classrooms[$destinationClassroom->id] = $destinationClassroom->nom; $ppo->classroomLevels[$level->id_n] = $level->niveau_court; } } } else { $ppo->destinationAssignments[''][$destinationClassroom->id] = array(); $ppo->classrooms[$destinationClassroom->id] = $destinationClassroom->nom; } } // Ajout des affectations au tableau des affectations de destination destiné à l'affichage foreach ($destinationAssignments as $destinationAssignment) { if ($ppo->filters['originUserType'] == 'USER_ENS') { // Regroupement des enseignants dans la même classe. Pas de distinction des niveaux $ppo->destinationAssignments[''][$destinationAssignment->id_classe][$destinationAssignment->user_id] = $destinationAssignment; } elseif ($ppo->filters['originUserType'] == 'USER_ELE') { $ppo->destinationAssignments[$destinationAssignment->id_niveau][$destinationAssignment->id_classe][] = $destinationAssignment; } $ppo->classrooms[$destinationAssignment->id_classe] = $destinationAssignment->nom_classe; $ppo->classroomLevels[$destinationAssignment->id_niveau] = $destinationAssignment->nom_niveau; } // Gestion des limites _classInclude('gestionautonome|GestionAutonomeService'); $ppo->personsLimitByClassroom = 0; if ($ppo->filters['originUserType'] == 'USER_ENS') { if (GestionAutonomeService::hasTeachersLimitByClassroom()) { $ppo->personsLimitByClassroom = CopixConfig::get('gestionautonome|teachersLimitByClassroom'); } } elseif ($ppo->filters['originUserType'] == 'USER_ELE') { if (GestionAutonomeService::hasStudentsLimitByClassroom()) { $ppo->personsLimitByClassroom = CopixConfig::get('gestionautonome|studentsLimitByClassroom'); } } $ppo->totalPersonsByClassroom = array(); foreach ($ppo->destinationAssignments as $level) { foreach ($level as $classroomId => $persons) { if (!array_key_exists($classroomId, $ppo->totalPersonsByClassroom)) { $ppo->totalPersonsByClassroom[$classroomId] = 0; } $ppo->totalPersonsByClassroom[$classroomId] += count($persons); } } if (CopixConfig::exists('|can_search_by_name') && CopixConfig::get('|can_search_by_name')) { $ppo->can_search_by_name = true; } else { $ppo->can_search_by_name = false; } $toReturn = $this->_usePPO($ppo, '_manage_assignments.tpl'); }