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'); }
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'); }