public function startExec()
 {
     if (_currentUser()->isConnected()) {
         $userId = _currentUser()->getId();
         $userInfos = Kernel::getUserInfo('ID', $userId);
         $this->director = false;
         $this->animator = _currentUser()->hasAssistance();
         $this->idEn = isset($userInfos['id']) ? $userInfos['id'] : null;
         $this->id = $userId * 1;
         $this->type = isset($userInfos['type']) ? $userInfos['type'] : null;
         $this->root = false;
         $this->login = $userInfos['login'];
         $this->nom = $userInfos['nom'];
         $this->prenom = $userInfos['prenom'];
         $this->connected = true;
         $this->chartValid = isset($_SESSION['chartValid']) ? $_SESSION['chartValid'] : false;
     } else {
         $this->director = false;
         $this->animator = false;
         $this->id = 0;
         $this->type = 'USER_ANON';
         $this->root = false;
         $this->login = '******';
         $this->nom = 'Anon';
         $this->prenom = 'Anon';
         $this->connected = false;
         $this->idEn = 0;
         $this->chartValid = true;
     }
 }
 public function getModules()
 {
     $my_modules = array();
     $nodes = Kernel::getMyNodes();
     if (sizeof($nodes)) {
         foreach ($nodes as $node_key => $node) {
             $modules = Kernel::getModEnabled($node->type, $node->id, _currentUser()->getExtra('type'), _currentUser()->getExtra('id'));
             foreach ($modules as $modules_key => $module) {
                 if ($module->module_type != "MOD_PREFS" && preg_match('#^MOD_(.+)$#', $module->module_type, $regs)) {
                     $mod_tmp = new CopixPPO();
                     $mod_tmp->type = $module->module_type;
                     $mod_tmp->nom = $module->module_nom;
                     $mod_tmp->rep = strtolower($regs[1]);
                     $my_modules[$module->module_type] = $mod_tmp;
                     unset($mod_tmp);
                 }
             }
         }
     }
     ksort($my_modules);
     $pref_module['MOD_PREFS'] = new CopixPPO();
     $pref_module['MOD_PREFS']->type = 'MOD_PREFS';
     $pref_module['MOD_PREFS']->nom = CopixI18N::get('prefs|prefs.string.generalprefs');
     $pref_module['MOD_PREFS']->rep = 'prefs';
     $all_modules = array_merge($pref_module, $my_modules);
     return $all_modules;
 }
 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');
 }
Example #4
0
function getZones($position, $collapse = true, $dispmode = "STD")
{
    $module = CopixRequest::get('module');
    $user = _currentUser();
    $userstatus = $user->isConnected() ? 'connected' : 'visitor';
    $layout = getTheme("zones", $dispmode);
    $jzones_default = isset($layout->{$userstatus}->default->{$position}) ? $layout->{$userstatus}->default->{$position} : array();
    $jzones_module = isset($layout->{$userstatus}->{$module}->{$position}) ? $layout->{$userstatus}->{$module}->{$position} : array();
    $jzones = array_merge((array) $jzones_default, (array) $jzones_module);
    if (empty($jzones)) {
        if ($collapse) {
            echo '<div class="collapse"></div>';
        } else {
            echo '<div class="filler"></div>';
        }
    } else {
        foreach ($jzones as $zone) {
            if ($zone->params != "") {
                $params = $zone->params;
                $params = unserialize($params);
                $zoneContent = CopixZone::process($zone->supplier . '|' . $zone->zone, $params);
            } else {
                $zoneContent = CopixZone::process($zone->supplier . '|' . $zone->zone);
            }
            if (!$zoneContent) {
                continue;
            }
            $id = $position == 'popup' ? 'id="' . $module . '-' . $zone->zone . '" ' : '';
            echo '<div ' . $id . 'class="' . $module . ' ' . $zone->zone . '">';
            echo $zoneContent;
            echo '</div>';
        }
    }
}
 public function processDefault()
 {
     $tpl = new CopixTpl();
     $tplModule = new CopixTpl();
     //if user is not connected :
     if (1) {
         // S'il y a un blog prevu a l'accueil
         $dispBlog = false;
         $getKernelLimitsIdBlog = Kernel::getKernelLimits('id_blog');
         if ($getKernelLimitsIdBlog) {
             _classInclude('blog|kernelblog');
             if ($blog = _ioDao('blog|blog')->getBlogById($getKernelLimitsIdBlog)) {
                 // On v�rifie qu'il y a au moins un article
                 $stats = KernelBlog::getStats($blog->id_blog);
                 if ($stats['nbArticles']['value'] > 0) {
                     $dispBlog = true;
                 }
             }
         }
         if ($dispBlog) {
             //return CopixActionGroup::process ('blog|frontblog::getListArticle', array ('blog'=>$blog->url_blog));
             return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('blog||', array('blog' => $blog->url_blog)));
         }
         if (!CopixConfig::exists('|can_public_rssfeed') || CopixConfig::get('|can_public_rssfeed')) {
             CopixHtmlHeader::addOthers('<link rel="alternate" href="' . CopixUrl::get('public||rss', array()) . '" type="application/rss+xml" title="' . htmlentities(CopixI18N::get('public|public.rss.flux.title')) . '" />');
         }
         CopixHTMLHeader::addCSSLink(_resource("styles/module_fichesecoles.css"));
         $tplModule->assign('user', _currentUser());
         $result = $tplModule->fetch('welcome|welcome_' . CopixI18N::getLang() . '.tpl');
         $tpl->assign('TITLE_PAGE', '' . CopixI18N::get('public|public.welcome.title'));
         $tpl->assign('MAIN', $result);
         return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl);
     }
 }
 public function _createContent(&$toReturn)
 {
     $ppo = new CopixPPO();
     // Récupération des paramètres
     $ppo->cahierId = $this->getParam('cahierId');
     $ppo->jour = $this->getParam('date_jour');
     $ppo->mois = $this->getParam('date_mois');
     $ppo->annee = $this->getParam('date_annee');
     $ppo->eleve = $this->getParam('eleve');
     $time = mktime(0, 0, 0, $ppo->mois, $ppo->jour, $ppo->annee);
     $cahierInfos = Kernel::getModParent('MOD_CAHIERDETEXTES', $ppo->cahierId);
     $nodeId = isset($cahierInfos[0]) ? $cahierInfos[0]->node_id : null;
     $ppo->niveauUtilisateur = Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId);
     $estAdmin = $ppo->niveauUtilisateur >= PROFILE_CCV_PUBLISH ? true : false;
     // Récupération des mémos suivant les accès de l'utilisateur courant (élève / responsable / enseignant)
     $memoDAO = _ioDAO('cahierdetextes|cahierdetextesmemo');
     if ($estAdmin) {
         $ppo->memos = $memoDAO->findByClasse($nodeId, true);
     } elseif (Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId) == PROFILE_CCV_READ) {
         $ppo->memos = $memoDAO->findByEleve($ppo->eleve, true);
     } else {
         $ppo->memos = $memoDAO->findByEleve(_currentUser()->getExtra('id'), true);
     }
     $toReturn = $this->_usePPO($ppo, '_memos.tpl');
 }
 public function _createContent(&$toReturn)
 {
     $ppo = new CopixPPO();
     _classInclude('classeur|ClasseurService');
     // Récupération des paramètres
     $ppo->classeurId = $this->getParam('classeurId');
     $ppo->dossierId = $this->getParam('dossierId');
     // Gestion des droits
     $ppo->niveauUtilisateur = Kernel::getLevel('MOD_CLASSEUR', $ppo->classeurId);
     $ppo->typeUtilisateur = _currentUser()->getExtra('type');
     $ppo->idUtilisateur = _currentUser()->getExtra('id');
     // Récupération des paramètres d'affichages
     $ppo->tri = ClasseurService::getContentSort();
     // Récupération des dossiers & des fichiers / favoris
     $dossierDAO = _ioDAO('classeur|classeurdossier');
     if ($ppo->dossier = $dossierDAO->get($ppo->dossierId)) {
         if ($ppo->dossier->parent_id != 0) {
             $ppo->dossierParent = $dossierDAO->get($ppo->dossier->parent_id);
         } else {
             $classeurDAO = _ioDAO('classeur|classeur');
             $ppo->classeurParent = $classeurDAO->get($ppo->classeurId);
             $ppo->classeurParent->isPersonnel = ClasseurService::getClasseurPersonnelId() == $ppo->classeurParent->id;
         }
     }
     if (!$ppo->dossier->casier || $ppo->niveauUtilisateur >= PROFILE_CCV_MODERATE) {
         $ppo->contenus = $dossierDAO->getContenus($ppo->classeurId, $ppo->dossierId, $ppo->tri);
         foreach ($ppo->contenus as $contenu) {
             if ($ppo->dossier->casier) {
                 $user = Kernel::getUserInfo($contenu->user_type, $contenu->user_id);
                 $contenu->user = $user['prenom'] . ' ' . $user['nom'];
             }
         }
     }
     $toReturn = $this->_usePPO($ppo, '_vue_liste.tpl');
 }
 public function _createContent(&$toReturn)
 {
     $ppo = new CopixPPO();
     // Récupération des paramètres
     $ppo->cahierId = $this->getParam('cahierId');
     $ppo->jour = $this->getParam('date_jour');
     $ppo->mois = $this->getParam('date_mois');
     $ppo->annee = $this->getParam('date_annee');
     $ppo->vue = $this->getParam('vue');
     $ppo->eleve = $this->getParam('eleve');
     $time = mktime(0, 0, 0, $ppo->mois, $ppo->jour, $ppo->annee);
     $cahierInfos = Kernel::getModParent('MOD_CAHIERDETEXTES', $ppo->cahierId);
     $nodeId = isset($cahierInfos[0]) ? $cahierInfos[0]->node_id : null;
     $ppo->estAdmin = Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId) >= PROFILE_CCV_PUBLISH ? true : false;
     // Récupération des travaux suivant les accès de l'utilisateur courant (élève / responsable / enseignant)
     $travailDAO = _ioDAO('cahierdetextes|cahierdetextestravail');
     if ($ppo->estAdmin) {
         $ppo->travaux = $travailDAO->findByClasseEtTypeDeTravail($nodeId, DAOCahierDeTextesTravail::TYPE_EN_CLASSE, $time);
     } elseif (Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId) == PROFILE_CCV_READ) {
         $ppo->travaux = $travailDAO->findByEleveEtTypeDeTravail($ppo->eleve, DAOCahierDeTextesTravail::TYPE_EN_CLASSE, $time);
     } else {
         $ppo->travaux = $travailDAO->findByEleveEtTypeDeTravail(_currentUser()->getExtra('id'), DAOCahierDeTextesTravail::TYPE_EN_CLASSE, $time);
     }
     $toReturn = $this->_usePPO($ppo, '_travaux_en_classe.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);
     if (!is_null($schoolId = $this->getParam('school_id', null))) {
         // Récupération des niveaux de la classe sélectionnée pour liste déroulante
         $classroomLevelDAO = _ioDAO('kernel|kernel_bu_classe_niveau');
         $classroomId = $this->getParam('classroom_id', null);
         if (is_null($classroomId)) {
             if (_currentUser()->testCredential('module:school|' . $schoolId . '|classroom|create@gestionautonome') || $ppo->all) {
                 $niveaux = $classroomLevelDAO->findBySchoolId($schoolId, $this->getParam('grade', null));
             } else {
                 $groups = _currentUser()->getGroups();
                 $niveaux = $classroomLevelDAO->findBySchoolIdAndUserGroups($schoolId, $groups['gestionautonome|iconitogrouphandler'], $this->getParam('grade', null));
             }
         } else {
             $niveaux = $classroomLevelDAO->findByClassId($classroomId);
         }
         $ppo->niveauxIds = array();
         $ppo->niveauxNames = array();
         foreach ($niveaux as $niveau) {
             $ppo->niveauxIds[] = $niveau->id_n;
             $ppo->niveauxNames[] = $niveau->niveau_court;
         }
     }
     $toReturn = $this->_usePPO($ppo, '_filter_classlevel.tpl');
 }
 public function _createContent(&$toReturn)
 {
     $ppo = new CopixPPO();
     $ppo->conf = new CopixPPO();
     $ppo->conf->directorGlobalAffectation = CopixConfig::get('gestionautonome|directorGlobalAffectation');
     // 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->name = $this->getParam('name', null);
     if (!is_null($cityId = $this->getParam('city_id', null))) {
         // Récupération des écoles de la ville sélectionnée pour liste déroulante
         $schoolDAO = _dao('kernel|kernel_bu_ecole');
         if (_currentUser()->testCredential('module:city|' . $cityId . '|school|create@gestionautonome') || _currentUser()->isDirector && $ppo->conf->directorGlobalAffectation) {
             $schools = $schoolDAO->getByCity($cityId);
         } else {
             $groups = _currentUser()->getGroups();
             $schools = $schoolDAO->findByCityIdAndUserGroups($cityId, $groups['gestionautonome|iconitogrouphandler']);
         }
         $ppo->schoolsIds = array();
         $ppo->schoolsNames = array();
         foreach ($schools as $school) {
             $ppo->schoolsIds[] = $school->numero;
             $ppo->schoolsNames[] = $school->nom;
         }
     }
     $toReturn = $this->_usePPO($ppo, '_filter_school.tpl');
 }
 /**
  * go
  *
  * Appel automatique, avec détection du noeud à afficher.
  * @author	Frédéric Mossmann
  * @since	10.03.2009
  *
  */
 public function go()
 {
     if (!Kernel::is_connected()) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.nologin'), 'back' => CopixUrl::get('auth|default|login')));
     }
     CopixHtmlHeader::addJSLink(CopixUrl::get() . 'js/iconito/module_concerto.js');
     if (!_request("id") || !ereg('^[0-9]+$', _request("id"))) {
         return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('kernel||getNodes'));
     }
     $sql = 'SELECT login,password FROM kernel_bu_auth WHERE node_type=\'responsable\' AND node_id=' . _currentUser()->getExtra('id') . ' AND id=\'' . addslashes(_request("id")) . '\' AND service=\'concerto\'';
     $concerto = _doQuery($sql);
     if (!$concerto) {
         return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('kernel||getNodes'));
     }
     $tpl = new CopixTpl();
     $tpl->assign('TITLE_PAGE', CopixI18N::get('concerto|concerto.title'));
     // $tpl->assign ('MENU', '<a href="'.CopixUrl::get ('groupe||getListPublic').'">'.CopixI18N::get ('groupe|groupe.annuaire').'</a> :: <a href="'.CopixUrl::get ('groupe||getListMy').'">'.CopixI18N::get ('groupe|groupe.my').'</a>');
     $tplListe = new CopixTpl();
     $tplListe->assign('login', $concerto[0]->login);
     $tplListe->assign('password', $concerto[0]->password);
     $result = $tplListe->fetch("concerto-form.tpl");
     $tpl->assign("MAIN", $result);
     $tpl->assign('BODY_ON_LOAD', 'concerto_redirect();');
     return new CopixActionReturn(COPIX_AR_DISPLAY, $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 _createContent(&$toReturn)
 {
     $ppo = new CopixPPO();
     $ppo->conf = new CopixPPO();
     $ppo->conf->directorGlobalAffectation = CopixConfig::get('gestionautonome|directorGlobalAffectation');
     // 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);
     if (!is_null($cityGroupId = $this->getParam('city_group_id', null))) {
         $cityDAO = _dao('kernel|kernel_bu_ville');
         if (_currentUser()->testCredential('module:cities_group|' . $cityGroupId . '|city|create@gestionautonome') || _currentUser()->isDirector && $ppo->conf->directorGlobalAffectation) {
             $cities = $cityDAO->getByIdGrville($cityGroupId);
         } else {
             $groups = _currentUser()->getGroups();
             $cities = $cityDAO->findByCitiesGroupIdAndUserGroups($cityGroupId, $groups['gestionautonome|iconitogrouphandler']);
         }
         $ppo->citiesIds = array();
         $ppo->citiesNames = array();
         foreach ($cities as $city) {
             $ppo->citiesIds[] = $city->id_vi;
             $ppo->citiesNames[] = $city->nom;
         }
     }
     $toReturn = $this->_usePPO($ppo, '_filter_city.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)
 {
     //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();
     $ppo->conf = new CopixPPO();
     $ppo->conf->directorGlobalAffectation = CopixConfig::get('gestionautonome|directorGlobalAffectation');
     // Récupérations des filtres en session
     $ppo->selected = $this->getParam('selected', 0);
     $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->cityGroupsIds = array();
     $ppo->cityGroupsNames = array();
     $citiesGroupDAO = _ioDAO('kernel|kernel_bu_groupe_villes');
     if (_currentUser()->testCredential('module:*||cities_group|create@gestionautonome') || _currentUser()->isDirector && $ppo->conf->directorGlobalAffectation) {
         $criteria = _daoSp();
         $criteria->orderBy('nom_groupe');
         $cityGroups = $citiesGroupDAO->findBy($criteria);
     } else {
         $groups = _currentUser()->getGroups();
         $cityGroups = $citiesGroupDAO->findByUserGroups($groups['gestionautonome|iconitogrouphandler']);
     }
     foreach ($cityGroups as $cityGroup) {
         $ppo->cityGroupsIds[] = $cityGroup->id_grv;
         $ppo->cityGroupsNames[] = $cityGroup->nom_groupe;
     }
     $toReturn = $this->_usePPO($ppo, '_filter_groupcity.tpl');
 }
 public function beforeAction()
 {
     _currentUser()->assertCredential('group:[current_user]');
     if (!Admin::canAdmin()) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get()));
     }
 }
 /**
  * On protège la page avec les droits d'administration
  */
 public function beforeAction()
 {
     //On souhaite, pour éviter tout problème, tester explicitement les droits.
     //Cette volontée de tester explicitement les droits est pour éviter tout problème
     //de conflits avec les écrans de modification des handlers
     CopixConfig::instance()->copixauth_cache = false;
     _currentUser()->assertCredential('basic:admin');
 }
 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');
 }
 /**
  * Logout
  */
 public function processOut()
 {
     Logs::set(array('type' => 'LOG', 'message' => 'Logout: ' . _currentUser()->getLogin()));
     CopixAuth::getCurrentUser()->logout(array());
     CopixEventNotifier::notify('logout', array('login' => CopixAuth::getCurrentUser()->getLogin()));
     CopixAuth::destroyCurrentUser();
     CopixSession::destroyNamespace('default');
     return _arRedirect(CopixRequest::get('auth_url_return', _url('||')));
 }
 public function _createContent(&$toReturn)
 {
     $tpl = new CopixTpl();
     $kernel = _class("kernel");
     $toReturn = "";
     $arModulesPath = CopixConfig::instance()->arModulesPath;
     $display = false;
     foreach ($arModulesPath as $modulePath) {
         if (file_exists(COPIX_PROJECT_PATH . "themes/" . $kernel->getTheme() . "/kernel/footer.tpl")) {
             $tpl_file = COPIX_PROJECT_PATH . "themes/" . $kernel->getTheme() . "/kernel/footer.tpl";
         } else {
             $tpl_file = $modulePath . 'kernel/templates/footer.tpl';
         }
         if (!file_exists($tpl_file)) {
             continue;
         }
         $display = true;
         // Récupération des infos de géolocalisation.
         $whereami = Kernel::whereAmI();
         if (isset($whereami['BU_GRVILLE'])) {
             $tpl->assign('grville_id', $whereami['BU_GRVILLE']['id']);
             $tpl->assign('grville_nom', $whereami['BU_GRVILLE']['nom']);
         }
         if (isset($whereami['BU_VILLE'])) {
             $tpl->assign('ville_id', $whereami['BU_VILLE']['id']);
             $tpl->assign('ville_nom', $whereami['BU_VILLE']['nom']);
         }
         if (isset($whereami['BU_ECOLE'])) {
             $tpl->assign('ecole_id', $whereami['BU_ECOLE']['id']);
             $tpl->assign('ecole_nom', $whereami['BU_ECOLE']['nom']);
         }
         if (isset($whereami['BU_CLASSE'])) {
             $tpl->assign('classe_id', $whereami['BU_CLASSE']['id']);
             $tpl->assign('classe_nom', $whereami['BU_CLASSE']['nom']);
         }
         // Récupération des valeurs d'URL.
         if ($module = CopixRequest::get('module')) {
             $tpl->assign('module', $module);
         }
         if ($action = CopixRequest::get('action')) {
             $tpl->assign('action', $action);
         }
         // Récupération des valeurs de sessions (personne).
         if (_currentUser()->getExtra('type')) {
             $tpl->assign('user_type', _currentUser()->getExtra('type'));
             $tpl->assign('user_id', _currentUser()->getExtra('id'));
         }
     }
     // Si le fichier de template n'existe pas, pas d'erreur.
     if ($display) {
         $toReturn = $tpl->fetch('kernel|footer.tpl');
     }
     return true;
 }
 public function _createContent(&$toReturn)
 {
     $ppo = new CopixPPO();
     $user = _currentUser();
     if ($user->isConnected()) {
         $ppo->breadcrumb = _i18n('kernel|kernel.breadcrumb.fake');
     } else {
         $ppo->breadcrumb = _i18n('kernel|kernel.breadcrumb.home');
     }
     $toReturn = $this->_usePPO($ppo, 'breadcrumb.tpl');
     return true;
 }
 public function _createContent(&$toReturn)
 {
     $ppo = new CopixPPO();
     // Récupération des paramètres
     $ppo->nodeId = $this->getParam('node_id');
     $ppo->nodeType = $this->getParam('node_type');
     $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, '_tree_actions.tpl');
 }
 /**
  * Affiche le nb de messages non lus de l'utilisateur courant
  *
  * Le nb de messages est cliquable et renvoie vers sa boîte de réception. S'il n'y a pas de messages, la zone n'affiche rien.
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2005/10/17
  */
 public function _createContent(&$toReturn)
 {
     $tpl = new CopixTpl();
     $idUser = _currentUser()->getId();
     if ($idUser) {
         $dao = _dao("minimail|minimail_to");
         $messages = $dao->getListRecvUnread($idUser);
         $nbMessages = count($messages);
         $tpl->assign('nbMessages', $nbMessages);
         // retour de la fonction :
         $toReturn = $tpl->fetch('newminimail.tpl');
     }
     return true;
 }
 public function _createContent(&$toReturn)
 {
     $ppo = new CopixPPO();
     // Récupération des paramètres
     $ppo->nodeId = $this->getParam('nodeId');
     $ppo->nodeType = $this->getParam('nodeType');
     $ppo->personId = $this->getParam('personId');
     $eleveDAO = _ioDAO('kernel|kernel_bu_ele');
     $ppo->students = $eleveDAO->getStudentsByPersonInChargeId($ppo->personId);
     $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, '_students.tpl');
 }
 /**
  * @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);
         }
     }
 }
 public function beforeProcess(&$action)
 {
     if (CopixConfig::get('conf_Saml_actif') != 1) {
         return;
     }
     require_once COPIX_UTILS_PATH . '../../simplesamlphp/lib/_autoload.php';
     $asId = 'iconito-sql';
     if (CopixConfig::exists('default|conf_Saml_authSource') && CopixConfig::get('default|conf_Saml_authSource')) {
         $asId = CopixConfig::get('default|conf_Saml_authSource');
     }
     $as = new SimpleSAML_Auth_Simple($asId);
     $ppo->user = _currentUser();
     if ($as->isAuthenticated() && !$ppo->user->isConnected()) {
         $attributes = $as->getAttributes();
         $uidAttribute = 'login_dbuser';
         if (CopixConfig::exists('default|conf_Saml_uidAttribute') && CopixConfig::get('default|conf_Saml_uidAttribute')) {
             $uidAttribute = CopixConfig::get('default|conf_Saml_uidAttribute');
         }
         $ppo->saml_user = null;
         if (isset($attributes[$uidAttribute]) && isset($attributes[$uidAttribute][0])) {
             $ppo->saml_user = $attributes[$uidAttribute][0];
         }
         if ($ppo->saml_user) {
             $ppo->iconito_user = Kernel::getUserInfo("LOGIN", $ppo->saml_user);
             if ($ppo->iconito_user['login']) {
                 _currentUser()->login(array('login' => $ppo->iconito_user['login'], 'assistance' => true));
                 $url_return = CopixUrl::get('kernel||doSelectHome');
                 // $url_return = CopixUrl::get ('assistance||users');
                 return new CopixActionReturn(COPIX_AR_REDIRECT, $url_return);
             } else {
                 $ppo->cas_error = 'no-iconito-user';
                 return _arPpo($ppo, 'cas.tpl');
             }
         }
     }
     if (!$as->isAuthenticated() && $ppo->user->isConnected()) {
         $ppo->user = _currentUser();
         if ($ppo->user->isConnected()) {
             CopixAuth::getCurrentUser()->logout(array());
             CopixEventNotifier::notify('logout', array('login' => CopixAuth::getCurrentUser()->getLogin()));
             CopixAuth::destroyCurrentUser();
             CopixSession::destroyNamespace('default');
         }
     }
 }
 /**
  * Ecran d'accueil des opérations d'administration
  *
  */
 public function processDefault()
 {
     //Inclusion de la classe checker pour tester les pré-requis
     _classInclude('InstallChecker');
     $checker = new InstallChecker();
     $ppo = new CopixPPO();
     $ppo->TITLE_PAGE = _i18n('install.title.admin');
     $tips = $this->_getTips();
     $ppo->tips = $tips->tips;
     $ppo->warning = $tips->warning;
     $ppo->homePageUrl = CopixConfig::get('|homePage');
     $ppo->pdomysqlEnabled = $checker->typeDbInstalled('pdo_mysql');
     if (!$ppo->pdomysqlEnabled) {
         $ppo->tips[] = _i18n('install.tips.pdomysql');
     }
     $ppo->phpunitEnabled = @(include_once 'PHPUnit/Framework.php');
     if (!$ppo->phpunitEnabled) {
         $ppo->tips[] = _i18n('install.tips.unittest');
     }
     $ppo->databaseEnabled = $checker->isValidDefaultDatabase();
     if (!$ppo->databaseEnabled) {
         $ppo->tips[] = _i18n('install.tips.database');
     }
     if (!_currentUser()->testCredential('basic:admin')) {
         $ppo->tips = array();
     }
     // recherche des liens
     $ppo->links = array();
     foreach (CopixModule::getList() as $moduleName) {
         $moduleInformations = CopixModule::getInformations($moduleName);
         // si on a au moins un lien
         if (count($moduleInformations->admin_links) > 0) {
             $groupid = !is_null($moduleInformations->admin_links_group->id) ? $moduleInformations->admin_links_group->id : uniqid();
             foreach ($moduleInformations->admin_links as $linkInformations) {
                 if ($linkInformations['credentials'] == null || CopixAuth::getCurrentUser()->testCredential($linkInformations['credentials'])) {
                     $ppo->links[$groupid]['modules'][][$linkInformations['url']] = $linkInformations['caption'];
                     $ppo->links[$groupid]['caption'] = $moduleInformations->description;
                     $ppo->links[$groupid]['groupcaption'] = $moduleInformations->admin_links_group->caption;
                     $ppo->links[$groupid]['icon'] = !is_null($moduleInformations->admin_links_group->icon) ? $moduleInformations->admin_links_group->icon : $moduleInformations->icon;
                 }
             }
         }
     }
     return _arPPO($ppo, 'admin.tpl');
 }
 /**
  * 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');
 }
 public function _createContent(&$toReturn)
 {
     $ppo = new CopixPPO();
     _classInclude('classeur|ClasseurService');
     // Récupération des paramètres
     $ppo->classeurId = $this->getParam('classeurId');
     $ppo->dossierId = $this->getParam('dossierId');
     // Gestion des droits
     $ppo->niveauUtilisateur = Kernel::getLevel('MOD_CLASSEUR', $ppo->classeurId);
     $ppo->typeUtilisateur = _currentUser()->getExtra('type');
     $ppo->idUtilisateur = _currentUser()->getExtra('id');
     // Récupération des paramètres d'affichages
     $ppo->tri = ClasseurService::getContentSort();
     // Récupération des dossiers & des fichiers / favoris
     $fichierDAO = _ioDAO('classeur|classeurfichier');
     $dossierDAO = _ioDAO('classeur|classeurdossier');
     if ($ppo->dossier = $dossierDAO->get($ppo->dossierId)) {
         if ($ppo->dossier->parent_id != 0) {
             $ppo->dossierParent = $dossierDAO->get($ppo->dossier->parent_id);
         } else {
             $classeurDAO = _ioDAO('classeur|classeur');
             $ppo->classeurParent = $classeurDAO->get($ppo->classeurId);
             $ppo->classeurParent->isPersonnel = ClasseurService::getClasseurPersonnelId() == $ppo->classeurParent->id;
         }
     }
     if (!$ppo->dossier->casier || $ppo->niveauUtilisateur >= PROFILE_CCV_MODERATE) {
         $imgTypes = array('PNG', 'GIF', 'JPG', 'JPEG', 'png', 'gif', 'jpg', 'jpeg');
         $ppo->contenus = $dossierDAO->getContenus($ppo->classeurId, $ppo->dossierId, $ppo->tri);
         foreach ($ppo->contenus as $contenu) {
             if ($contenu->content_type == 'fichier' && in_array($contenu->type, $imgTypes)) {
                 $fichier = $fichierDAO->get($contenu->id);
                 $contenu->lienMiniature = $fichier->getLienMiniature(90);
             }
             if ($ppo->dossier->casier) {
                 $user = Kernel::getUserInfo($contenu->user_type, $contenu->user_id);
                 $contenu->user = $user['prenom'] . ' ' . $user['nom'];
             }
         }
         $ppo->fileExtensionAllowed = array('ai', 'avi', 'bmp', 'css', 'csv', 'doc', 'docx', 'eps', 'gif', 'html', 'ico', 'jpg', 'jpeg', 'js', 'json', 'mov', 'mp3', 'odp', 'ods', 'odt', 'pdf', 'png', 'ppt', 'pptx', 'psd', 'svg', 'swf', 'tiff', 'ttf', 'txt', 'wav', 'xls', 'xlsx', 'xml', 'zip');
     }
     $toReturn = $this->_usePPO($ppo, '_vue_vignette.tpl');
 }