public function _createContent(&$toReturn)
 {
     $tpl = new CopixTpl();
     $module_type = $this->getParam('module_type');
     $module_id = $this->getParam('module_id');
     $action = $this->getParam('action');
     $date_debut = $this->getParam('date_debut', null);
     $date_fin = $this->getParam('date_fin', null);
     $dao = _dao('stats|logs');
     $stats = $dao->getStatsModuleAction(array('module_type' => $module_type, 'module_id' => $module_id, 'action' => $action, 'date_debut' => $date_debut, 'date_fin' => $date_fin));
     //print_r($stats);
     foreach ($stats as $k => $s) {
         // Détection du nom Copix du module
         list(, $module) = explode("_", strtolower($module_type));
         $class = CopixClassesFactory::create("{$module}|Stats{$module}");
         $obj = $class->getObjet($action, $s->objet_a);
         //print_r($obj);
         $stats[$k]->objet_name = isset($obj->name) ? $obj->name : '';
     }
     $tpl->assign('name', CopixI18N::get('stats.action.' . $module_type . '-' . $action));
     $tpl->assign('stats', $stats);
     //$tpl->assign ('canWriteOnline' , BlogAuth::canMakeInBlog('ADMIN_ARTICLE_MAKE_ONLINE',create_blog_object($id_blog)));
     // retour de la fonction :
     $toReturn = $tpl->fetch('module.action.tpl');
     return true;
 }
 function _createContent(&$toReturn)
 {
     //Création du sous template.
     $tpl =& new CopixTpl();
     //require_once (COPIX_MODULE_PATH.'cms/'.COPIX_CLASSES_DIR.'cmsworkflow.class.php');
     require_once COPIX_MODULE_PATH . 'cms/' . COPIX_CLASSES_DIR . 'cmspage.services.class.php';
     CopixContext::push('cms');
     $sHeadings =& CopixClassesFactory::instanceOf('copixheadings|CopixHeadingsServices');
     $headings = $sHeadings->getTree();
     $cmsPages =& new ServicesCMSPage();
     $pages = $cmsPages->getList();
     if (isset($this->params['onlyLastVersion']) && $this->params['onlyLastVersion'] == 1) {
         $pages = $this->_filterLastVersion($pages);
     }
     CopixContext::pop();
     //pagination
     foreach ($pages as $page) {
         $arPages[$page->id_head][] = $page;
     }
     $tpl->assign('arPublished', $arPages);
     $tpl->assign('arHeadings', $headings);
     $tpl->assign('select', $this->params['select']);
     $tpl->assign('back', $this->params['back']);
     $tpl->assign('popup', $this->params['popup']);
     $tpl->assign('height', Copixconfig::get('htmleditor|height'));
     $tpl->assign('width', Copixconfig::get('htmleditor|width'));
     $tpl->assign('editorType', CopixConfig::get('htmleditor|type'));
     $tpl->assign('editorName', $this->params['editorName']);
     $toReturn = $tpl->fetch('page.select.ptpl');
     return true;
 }
 public static function get($pType, $pParams, $pAssert = true)
 {
     if ($pType === null) {
         $pType = 'varchar';
     }
     if (isset(self::$_arFields[$pType])) {
         $class = self::$_arFields[$pType];
         return new $class($pParams);
     } else {
         if (strpos($pType, '|')) {
             return CopixClassesFactory::create($pType, array($pParams));
         } else {
             if (class_exists('CopixField' . $pType)) {
                 $class = 'CopixField' . $pType;
                 return new $class($pParams);
             } else {
                 if ($pAssert) {
                     throw new CopixException('Ce type n\'existe pas [' . $pType . ']');
                 } else {
                     return new CopixFieldVarchar($pParams);
                 }
             }
         }
     }
 }
 /**
  * Accueil des stats
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2007/03/19
  */
 public function home()
 {
     if (!Admin::canAdmin()) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get()));
     }
     $tpl = new CopixTpl();
     $tpl->assign('TITLE_PAGE', CopixI18N::get('sysutils|admin.menu.stats'));
     $tpl->assign('MENU', Admin::getMenu('stats'));
     $tplStats = new CopixTpl();
     $modules = Kernel::getAllModules();
     $tab = array();
     foreach ($modules as $mod_val) {
         $arModulesPath = CopixConfig::instance()->arModulesPath;
         foreach ($arModulesPath as $modulePath) {
             $class_file = $modulePath . $mod_val . '/' . COPIX_CLASSES_DIR . 'kernel' . $mod_val . '.class.php';
             if (!file_exists($class_file)) {
                 continue;
             }
             $module_class =& CopixClassesFactory::Create($mod_val . '|Kernel' . $mod_val);
             //print_r($module_class);
             if (!is_callable(array($module_class, 'getStatsRoot'))) {
                 continue;
             }
             //$classeModule = CopixClassesFactory::create("$label|Kernel$label");
             $tab[$mod_val]['module_nom'] = Kernel::Code2Name('mod_' . $mod_val);
             $tab[$mod_val]['stats'] = $module_class->getStatsRoot();
         }
     }
     //print_r($tab);
     $tplStats->assign('tab', $tab);
     $tpl->assign('MAIN', $tplStats->fetch('sysutils|stats.modules.tpl'));
     return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl);
 }
 /**
  * Affiche les infos d'une classe (enseignant et �l�ves)
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2006/01/18
  * @param integer $rClasse Recordset de la classe
  */
 public function _createContent(&$toReturn)
 {
     $tpl = new CopixTpl();
     $annuaireService =& CopixClassesFactory::Create('annuaire|AnnuaireService');
     $rClasse = $this->getParam('rClasse') ? $this->getParam('rClasse') : NULL;
     if ($rClasse) {
         $classe = $rClasse['id'];
         $enseignants = $annuaireService->getEnseignantInClasse($classe);
         $eleves = $annuaireService->getElevesInClasse($classe);
         $rClasse["eleves"] = $eleves;
         $rClasse["enseignants"] = $enseignants;
         $matrix =& enic::get('matrixCache');
         $matrix->display();
         $droit = $matrix->classe($classe)->_right->USER_ENS->voir;
         if (!$droit) {
             $rClasse["enseignants"] = 'NONE';
         }
         $canWrite = $matrix->classe($classe)->_right->USER_ENS->communiquer;
         $tpl->assign('canWriteUSER_ENS', $canWrite);
         $droit = $matrix->classe($classe)->_right->USER_ELE->voir;
         if (!$droit) {
             $rClasse["eleves"] = 'NONE';
         }
         $canWrite = $matrix->classe($classe)->_right->USER_ELE->communiquer;
         $tpl->assign('canWriteUSER_ELE', $canWrite);
         $tpl->assign('classe', $rClasse);
         $toReturn = $tpl->fetch('infosclasse.tpl');
     }
     return true;
 }
예제 #6
0
 /**
  * Récupération de l'objet utilisateur.
  */
 function &getUser()
 {
     if (!isset($_SESSION[$this->config->session_name])) {
         $_SESSION[$this->config->session_name] =& CopixClassesFactory::create($this->config->class_name);
     }
     return $_SESSION[$this->config->session_name];
 }
 public function _createContent(&$toReturn)
 {
     //Création du sous template.
     $tpl = new CopixTpl();
     CopixClassesFactory::fileInclude('cms|ServicesCMSPage');
     CopixContext::push('cms');
     $sHeadings = CopixClassesFactory::getInstanceOf('copixheadings|CopixHeadingsServices');
     $headings = $sHeadings->getTree();
     $cmsPages = new ServicesCMSPage();
     $pages = $cmsPages->getList();
     if (isset($this->_params['onlyLastVersion']) && $this->_params['onlyLastVersion'] == 1) {
         $pages = $this->_filterLastVersion($pages);
     }
     CopixContext::pop();
     //pagination
     foreach ($pages as $page) {
         $arPages[$page->id_head][] = $page;
     }
     $tpl->assign('arPublished', $arPages);
     $tpl->assign('arHeadings', $headings);
     $tpl->assign('select', $this->getParam('select'));
     $tpl->assign('back', $this->getParam('back'));
     $tpl->assign('popup', $this->getParam('popup'));
     $tpl->assign('height', Copixconfig::get('htmleditor|height'));
     $tpl->assign('width', Copixconfig::get('htmleditor|width'));
     //$tpl->assign ('editorType' , CopixConfig::get('htmleditor|type'));
     $tpl->assign('editorName', $this->getParam('editorName'));
     $toReturn = $tpl->fetch('page.select.ptpl');
     return true;
 }
 /**
  * ici on retourne la factory en fonction des parametres dans module.xml
  */
 public static function getChartFactory()
 {
     switch (CopixConfig::get('Chart|chartfactory')) {
         case 'SwfChart':
             return CopixClassesFactory::getInstanceOf('chart_swf|SwfChartFactory');
             break;
     }
 }
 /**
  * Enregistre les valeurs des préférences
  *
  * @author Frederic Mossmann <*****@*****.**>
  * @since 2006/12/01
  * @param string $module Nom du module
  * @param array $data Valeurs
  */
 public function setPrefs($module, $data)
 {
     if (!isset($data['alerte_carnet'])) {
         $data['alerte_carnet'] = 0;
     }
     $pref_service =& CopixClassesFactory::Create('prefs|prefs');
     $pref_service->setPrefs($module, $data);
 }
예제 #10
0
 public function service($iService)
 {
     if (!is_string($iService)) {
         trigger_error('Enic failed to load Service : invalid name', E_USER_WARNING);
     }
     if (!isset($this->shared['s' . $iService])) {
         $this->shared['s' . $iService] =& CopixClassesFactory::create($iService);
     }
     return $this->shared['s' . $iService];
 }
 /**
  * Zone qui affiche un lien permettant d'ouvrir l'annuaire avec les utilisateurs
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2006/01/23
  * @param string $field Nom du champ où vont figurer les logins
  * @param string $profil (option) Profil qu'on veut afficher par defaut
  * @param string $right (option) Droit à vérifier
  */
 public function _createContent(&$toReturn)
 {
     $annuaireService =& CopixClassesFactory::Create('annuaire|AnnuaireService');
     $field = $this->getParam('field') ? $this->getParam('field') : NULL;
     $profil = $this->getParam('profil');
     $tpl = new CopixTpl();
     $tpl->assign('field', $field);
     $tpl->assign('profil', $profil);
     $tpl->assign('right', $this->getParam('right'));
     $toReturn = $tpl->fetch('linkpopup.tpl');
     return true;
 }
 /**
  * Statistiques d'un groupe
  *
  * Renvoie des éléments chiffrés relatifs à un groupe : nombre de membres
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2005/11/17
  * @return array Tableau dont les clefs représentent les libellés des stats et les valeurs les stats chiffrées. Clefs utilisées : ["Membres"]
  */
 public function getStats($id_groupe)
 {
     //$kernelService = & CopixClassesFactory::Create ('kernel|kernel');
     $groupeService =& CopixClassesFactory::Create('groupe|groupeService');
     $res = array();
     $members = $groupeService->getNbMembersInGroupe($id_groupe);
     $res['nbMembers'] = array('name' => CopixI18N::get('groupe|groupe.stats.nbMembers', array($members['inscrits'])));
     if ($members['waiting']) {
         $res['nbMembersWaiting'] = array('name' => CopixI18N::get('groupe|groupe.stats.nbMembersWaiting', array($members['waiting'])));
     }
     return $res;
 }
 function _createContent(&$toReturn)
 {
     $tpl =& new CopixTpl();
     $service =& CopixClassesFactory::create('InstallService');
     if (isset($this->params['newInstall'])) {
         $tpl->assign('newInstall', $this->params['newInstall']);
     } else {
         $tpl->assign('newInstall', false);
     }
     $tpl->assign('arModules', $service->getModules());
     $toReturn = $tpl->fetch('install.customised.tpl');
 }
 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);
 }
 public function testSimpleRTFTemplate()
 {
     $template = CopixClassesFactory::create('genericTools|RTFTemplate');
     $template->assign('VARIABLE_1', 'Voici une belle présentation <b>avec des infos importantes</b> ', true);
     $template->assign('VARIABLE_2', '<ul><li>puce 1</li><li>puce 2</li><li>puce 3</li></ul>', true);
     $template->assign('VARIABLE_3', 'Contenu simple', true);
     $codeDuDocumentRTFFinal = $template->fetch('generictools|rtftest.rtf');
     $selector = CopixSelectorFactory::create('generictools|rtftest.expectedresult.rtf');
     $expectedResultFilePath = $selector->getPath(COPIX_TEMPLATES_DIR) . $selector->fileName;
     $codeDuDocumentRTFTest = file_get_contents($expectedResultFilePath);
     CopixFile::write('/tmp/document_sortie.rtf', $codeDuDocumentRTFFinal);
     $this->assertEquals($codeDuDocumentRTFFinal, $codeDuDocumentRTFTest);
 }
 public function _createContent(&$toReturn)
 {
     //load TPL
     $tpl = new CopixTpl();
     //get the id for current zone
     $idZone = $this->getParam('idZone');
     $annuaireService =& CopixClassesFactory::Create('annuaire|AnnuaireService');
     $ecolesDatas = $annuaireService->getEcolesInVille($idZone);
     $tpl->assign('ecoles', $ecolesDatas);
     //return the html content
     $toReturn = $tpl->fetch('zone.dashboard.ville.tpl');
     return true;
 }
 public function _createContent(&$toReturn)
 {
     //load TPL
     $tpl = new CopixTpl();
     //get the id for current zone (force int)
     $idZone = $this->getParam('idZone') * 1;
     $catalog = $this->getParam('catalog');
     $enseignants = array();
     $oEns = array();
     //check the matrix right for current classe :
     if ($this->matrix->ecole($idZone)->_right->enseignant->voir) {
         $annuaireService =& CopixClassesFactory::Create('annuaire|AnnuaireService');
         //get the children's node
         $childNodeDatas = Kernel::getNodeChilds('BU_ECOLE', $idZone, false, array('skip_user' => true));
         //if the child is a CLASSE get the enseignant
         foreach ($childNodeDatas as $child) {
             if ($child['type'] == 'BU_CLASSE') {
                 $enseignants[] = $annuaireService->getEnseignantInClasse($child['id']);
             }
         }
         /*
          * delete the multiple ereg
          */
         $uniqueEnsId = array();
         foreach ($enseignants as $enseignant) {
             foreach ($enseignant as $ens) {
                 //check if the ens is already ereg
                 if (in_array($ens['id'], $uniqueEnsId)) {
                     continue;
                 } else {
                     $oEns[] = $ens;
                     $uniqueEnsId[] = $ens['id'];
                 }
             }
         }
         /*
          * get the school's picture
          */
         $pic = $this->model->query('SELECT photo FROM module_fiches_ecoles WHERE id = ' . $idZone)->toString();
         $tpl->assign('ens', $oEns);
         $tpl->assign('pic', $pic);
         $tpl->assign('idZone', $idZone);
         $tpl->assign('catalog', $catalog);
         //return the html content
         $toReturn = $tpl->fetch('zone.dashboard.ecole.tpl');
         return true;
     }
     //if the uses have no right : display a default tpl
     $toReturn = $tpl->fetch('zone.dashboard.noRight.tpl');
     return true;
 }
 /**
  * Pour le dashboard, zone affichant le lien vers l'annuaire des groupes, et le bouton pour creer un groupe
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2010/06/11
  */
 public function _createContent(&$toReturn)
 {
     $groupeService =& CopixClassesFactory::Create('groupe|groupeService');
     $tpl = new CopixTpl();
     //$tpl->assign ('list', $groupes);
     $tpl->assign('canCreate', $groupeService->canMakeInGroupe('ADD_GROUP', NULL) ? 1 : 0);
     if (!CopixConfig::exists('|can_group_showlist') || CopixConfig::get('|can_group_showlist')) {
         $tpl->assign('can_group_showlist', 1);
     } else {
         $tpl->assign('can_group_showlist', 0);
     }
     $toReturn = $tpl->fetch('dashboardgroups.tpl');
     return true;
 }
 /**
  * Ajoute un message à une liste, et s'occupe de l'envoyer à tous ses membres en minimail
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2005/11/23
  * @param integer $liste Id de la liste
  * @param integer $auteur Id de l'utilisateur auteur du message
  * @param string $titre Titre du message
  * @param string $message Corps du message
  * @return integer l'Id du message inséré ou NULL si erreur
  */
 public function addListeMessage($liste, $auteur, $titre, $message)
 {
     $daoListes = _dao("liste|liste_listes");
     $daoMessages = _dao("liste|liste_messages");
     $kernelService =& CopixClassesFactory::Create('kernel|kernel');
     $minimailService =& CopixClassesFactory::Create('minimail|minimailService');
     $res = NULL;
     $rListe = $daoListes->get($liste);
     if ($rListe) {
         $parent = $kernelService->getModParentInfo("MOD_LISTE", $liste);
         //print_r($parent);
         $rListe->parent = $parent;
         //die();
         $newMessage = _record("liste|liste_messages");
         $newMessage->liste = $liste;
         $newMessage->auteur = $auteur;
         $newMessage->titre = $titre;
         $newMessage->message = $message;
         $newMessage->date = date("Y-m-d H:i:s");
         $daoMessages->insert($newMessage);
         if ($newMessage->id !== NULL) {
             $dest = array();
             // On cherche le parent
             $parent = $kernelService->getModParentInfo("MOD_LISTE", $liste);
             // Puis les membres du parent
             $childs = $kernelService->getNodeChilds($parent["type"], $parent["id"]);
             // On parcourt les membres
             foreach ($childs as $child) {
                 $userInfo = $kernelService->getUserInfo($child["type"], $child["id"]);
                 if ($userInfo && $userInfo["user_id"] && $userInfo["user_id"] != $auteur) {
                     $dest[$userInfo["user_id"]] = 1;
                 }
             }
             if ($dest) {
                 $format = CopixConfig::get('minimail|default_format');
                 if ($format == 'dokuwiki' || $format == 'wiki') {
                     $message .= "\n\n----\n" . CopixI18N::get('liste|liste.message.footer', array(1 => $rListe->parent["nom"], 2 => CopixUrl::get($rListe->parent["module"] . '||getHomeAdmin', array("id" => $rListe->parent["id"]))));
                 } else {
                     $message .= "<p>-- </p><p>" . CopixI18N::get('liste|liste.message.footerHtml', array(1 => $rListe->parent["nom"], 2 => CopixUrl::get($rListe->parent["module"] . '||getHomeAdmin', array("id" => $rListe->parent["id"])))) . "</p>";
                 }
                 $send = $minimailService->sendMinimail($titre, $message, $auteur, $dest, CopixConfig::get('minimail|default_format'));
             }
             $res = $newMessage->id;
         }
     }
     return $res;
 }
 /**
  * Affiche la liste déroulante avec toutes les écoles d'une ville
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2006/01/06
  * @param integer $ville Id de la ville
  * @param integer $value Valeur actuelle de la combo
  * @param string $fieldName Nom du champ de type SELECT qui en résulte
  * @param string $attribs Attributs HTML de la liste (STYLE, ONCHANGE...)
  * @param string $droit Si on ne veut afficher que les ecoles sur lesquelles l'usager a un certain droit (VOIR / COMM, ou voir / communiquer)
  */
 public function _createContent(&$toReturn)
 {
     $annuaireService =& CopixClassesFactory::Create('annuaire|AnnuaireService');
     $ville = $this->getParam('ville') ? $this->getParam('ville') : NULL;
     $value = $this->getParam('value') ? $this->getParam('value') : 0;
     $fieldName = $this->getParam('fieldName') ? $this->getParam('fieldName') : NULL;
     $attribs = $this->getParam('attribs') ? $this->getParam('attribs') : NULL;
     $pDroit = $this->getParam('droit');
     $ecoles = $annuaireService->getEcolesInVille($ville, array('droit' => $pDroit));
     $tpl = new CopixTpl();
     $tpl->assign('items', $ecoles);
     $tpl->assign('value', $value);
     $tpl->assign('fieldName', $fieldName);
     $tpl->assign('attribs', $attribs);
     $toReturn = $tpl->fetch('comboecoles.tpl');
     return true;
 }
 /**
  * Affiche les infos d'une �cole (coordonn�es, directeur, classes...)
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2006/01/18
  * @param integer $rEcole Recordset de l'�cole
  */
 public function _createContent(&$toReturn)
 {
     $tpl = new CopixTpl();
     $annuaireService =& CopixClassesFactory::Create('annuaire|AnnuaireService');
     $rEcole = $this->getParam('rEcole') ? $this->getParam('rEcole') : NULL;
     if ($rEcole) {
         //print_r($rEcole);
         $ecole = $rEcole['id'];
         // BOOST 2.5s
         if ($this->getParam('classes')) {
             $classes = $this->getParam('classes');
         } else {
             $classes = $annuaireService->getClassesInEcole($ecole, array('droit' => 'VOIR'));
         }
         $matrix =& enic::get('matrixCache');
         $droit = $matrix->ecole($ecole)->_right->USER_DIR->voir;
         if ($droit) {
             $rEcole['directeur'] = $annuaireService->getDirecteurInEcole($ecole);
             $canWrite = $matrix->ecole($ecole)->_right->USER_DIR->communiquer;
             $tpl->assign('canWriteUSER_DIR', $canWrite);
         }
         //$droit = $matrix->ecole($ecole)->_right->USER_ADM->voir;
         $droit = 1;
         if ($droit) {
             $rEcole['administratif'] = $annuaireService->getAdministratifInEcole($ecole);
             $canWrite = $matrix->ecole($ecole)->_right->USER_DIR->communiquer;
             $tpl->assign('canWriteUSER_ADM', $canWrite);
         }
         $tpl->assign('canWriteUSER_ENS', $matrix->ecole($ecole)->_right->USER_ENS->communiquer);
         //$rEcole['directeur'] = $annuaireService->checkVisibility( $rEcole['directeur'] );
         //$rEcole['administratif'] = $annuaireService->checkVisibility( $rEcole['administratif'] );
         $tpl->assign('ecole', $rEcole);
         $tpl->assign('classes', $classes);
         // BOOST 1s
         if (CopixConfig::exists('|can_annuaire_menu') && !CopixConfig::get('|can_annuaire_menu')) {
             $tpl->assign('displayComboEcoles', false);
         } else {
             $tpl->assign('displayComboEcoles', true);
         }
         $tpl->assign('comboecoles', CopixZone::process('annuaire|comboecolesinville', array('droit' => 'VOIR', 'ville' => $rEcole['ALL']->vil_id_vi, 'value' => $ecole, 'fieldName' => 'ecole', 'attribs' => 'CLASS="annu_combo_popup" ONCHANGE="if (this.value) this.form.submit();"')));
         $toReturn = $tpl->fetch('infosecole.tpl');
     }
     return true;
 }
 public function _createContent(&$toReturn)
 {
     //load TPL
     $tpl = new CopixTpl();
     //get the id for current zone
     $idZone = $this->getParam('idZone');
     //check the matrix right for current classe :
     if ($this->matrix->classe($idZone)->_right->eleve->voir) {
         $annuaireService =& CopixClassesFactory::Create('annuaire|AnnuaireService');
         $elevesDatas = $annuaireService->getElevesInClasse($idZone);
         $tpl->assign('eleves', $elevesDatas);
         //return the html content
         $toReturn = $tpl->fetch('zone.dashboard.classe.tpl');
         return true;
     }
     //if the uses have no right : display a default tpl
     $toReturn = $tpl->fetch('zone.dashboard.noRight.tpl');
     return true;
 }
 /**
  * Affiche la liste déroulante avec toutes les classes d'une ville
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2006/01/06
  * @param integer $ville Id de la ville
  * @param integer $value Valeur actuelle de la combo
  * @param string $fieldName Nom du champ de type SELECT qui en résulte
  * @param string $attribs Attributs HTML de la liste (STYLE, ONCHANGE...)
  * @param array $linesSup Lignes supplémentaires à ajouter en haut de la liste au-dessus des dossiers (ex: "Choisissez l'école"). Chaque ligne est un tableau, de type array ("value"=>"", "libelle"=>"Choisissez")
  */
 public function _createContent(&$toReturn)
 {
     $annuaireService =& CopixClassesFactory::Create('annuaire|AnnuaireService');
     $ville = $this->getParam('ville') ? $this->getParam('ville') : NULL;
     $value = $this->getParam('value') ? $this->getParam('value') : 0;
     $fieldName = $this->getParam('fieldName') ? $this->getParam('fieldName') : NULL;
     $attribs = $this->getParam('attribs') ? $this->getParam('attribs') : NULL;
     $linesSup = $this->getParam('linesSup') ? $this->getParam('linesSup') : NULL;
     $classes = $annuaireService->getClassesInVille($ville, array('getNodeInfo_light' => 1));
     //echo "<pre>"; print_r($classes); die();
     $tpl = new CopixTpl();
     $tpl->assign('items', $classes);
     $tpl->assign('value', $value);
     $tpl->assign('fieldName', $fieldName);
     $tpl->assign('attribs', $attribs);
     $tpl->assign('linesSup', $linesSup);
     $toReturn = $tpl->fetch('comboclasses.tpl');
     return true;
 }
 /**
  * Affiche la liste des personnes ayant des droits spécifiques sur un blog
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2007/05/31
  * @param object $blog Blog (recordset)
  * @param integer $kind Numéro générique de la rubrique (ne pas y toucher)
  * @param string $attribs Attributs HTML de la liste (STYLE, ONCHANGE...)
  */
 public function _createContent(&$toReturn)
 {
     //Getting the user.
     //Create Services, and DAO
     $tpl = new CopixTpl();
     $blog = $this->getParam('blog', null);
     $kind = $this->getParam('kind', null);
     $droit = $this->getParam('droit', null);
     $errors = $this->getParam('errors');
     $membres = $this->getParam('membres');
     $droit = $this->getParam('droit');
     //Kernel::deb("droit=$droit");
     //print_r($blog);
     // On vérifie le droit d'être ici
     if (!BlogAuth::canMakeInBlog("ADMIN_DROITS", $blog)) {
         return false;
     }
     $groupeService =& CopixClassesFactory::Create('groupe|groupeService');
     $childs = Kernel::getNodeChilds("MOD_BLOG", $blog->id_blog);
     foreach ($childs as $k => $v) {
         //print_r($v);
         $userInfo = Kernel::getUserInfo($v["type"], $v["id"]);
         $childs[$k]["login"] = $userInfo["login"];
         $childs[$k]["nom"] = $userInfo["nom"];
         $childs[$k]["prenom"] = $userInfo["prenom"];
         $childs[$k]["droitnom"] = $groupeService->getRightName($v['droit']);
     }
     //print_r($childs);
     $tplHome = new CopixTpl();
     //$tplHome->assign ('groupe', $groupe[0]);
     $tpl->assign('kind', $kind);
     $tpl->assign('droit', $droit);
     $tpl->assign('list', $childs);
     $tpl->assign('errors', $errors);
     $tpl->assign('membres', $membres);
     $tpl->assign('linkpopup', CopixZone::process('annuaire|linkpopup', array('field' => 'membres')));
     $tpl->assign('droit_values', array(PROFILE_CCV_VALID => $groupeService->getRightName(PROFILE_CCV_VALID), PROFILE_CCV_MODERATE => $groupeService->getRightName(PROFILE_CCV_MODERATE)));
     $tpl->assign('blog', $blog);
     // retour de la fonction :
     $toReturn = $tpl->fetch('blog.show.droits.tpl');
     return true;
 }
 /**
  * Affiche la liste déroulante avec tous les dossiers d'une malle
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2005/12/07
  * @param integer $malle Id de la malle
  * @param integer $folder Id du dossier (0 si racine)
  * @param string $fieldName Nom du champ de type SELECT qui en résulte
  * @param string $attribs Attributs HTML de la liste (STYLE, ONCHANGE...)
  * @param array $linesSup Lignes supplémentaires à ajouter en haut de la liste au-dessus des dossiers (ex: "Choisissez le dossier"). Chaque ligne est un tableau, de type array ("value"=>"", "libelle"=>"Choisissez")
  */
 public function _createContent(&$toReturn)
 {
     //$daoFolders = _dao("malle|malle_folders");
     $malleService =& CopixClassesFactory::Create('malle|malleService');
     $tpl = new CopixTpl();
     $res = array();
     $malle = $this->getParam('malle') ? $this->getParam('malle') : NULL;
     $folder = $this->getParam('folder') ? $this->getParam('folder') : 0;
     $fieldName = $this->getParam('fieldName') ? $this->getParam('fieldName') : NULL;
     $attribs = $this->getParam('attribs') ? $this->getParam('attribs') : NULL;
     $linesSup = $this->getParam('linesSup') ? $this->getParam('linesSup') : NULL;
     $res = $malleService->buildComboFolders($malle);
     //print_r($res);
     $tpl->assign('combofolders', $res);
     $tpl->assign('folder', $folder);
     $tpl->assign('fieldName', $fieldName);
     $tpl->assign('attribs', $attribs);
     $tpl->assign('linesSup', $linesSup);
     $toReturn = $tpl->fetch('combofolders.tpl');
     return true;
 }
 /**
  * Affiche la fiche détaillée d'un utilisateur (login, nom, prénom...)
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2006/01/04
  * @param string $type Type de personne (USER_ELE, USER_ELE...)
  * @param integer $id Id
  */
 public function _createContent(&$toReturn)
 {
     $annuaireService =& CopixClassesFactory::Create('annuaire|AnnuaireService');
     $type = $this->getParam('type') ? $this->getParam('type') : NULL;
     $id = $this->getParam('id') ? $this->getParam('id') : NULL;
     $canWrite = $canView = false;
     if ($type && $id) {
         $usr = Kernel::getUserInfo($type, $id);
         $usr['type_nom'] = Kernel::Code2Name($usr['type']);
         //Kernel::myDebug($usr);
         $droits = Kernel::getUserInfoMatrix($usr);
         $canView = $droits['voir'];
         $canWrite = $droits['communiquer'];
         if ($canView) {
             // Avatar
             $avatar = '';
             if (isset($usr['user_id'])) {
                 $avatar = Prefs::get('prefs', 'avatar', $usr['user_id']);
             }
             $usr['avatar'] = $avatar ? CopixConfig::get('prefs|avatar_path') . $avatar : '';
             $parents = $enfants = array();
             if ($type == 'USER_ELE') {
                 // Pour un élève, on cherche ses parents
                 $parents = $annuaireService->getParentsFromEleve($id);
             } elseif ($type == 'USER_RES') {
                 // Pour un parent, on cherche ses enfants
                 $enfants = $annuaireService->getEnfantsFromParent($id);
             }
         } else {
             $usr = $parents = $enfants = false;
         }
         $tpl = new CopixTpl();
         $tpl->assign('usr', $usr);
         $tpl->assign('canWrite', $canWrite);
         $tpl->assign('parents', $parents);
         $tpl->assign('enfants', $enfants);
         $toReturn = $tpl->fetch('getuserprofilzone.tpl');
     }
     return true;
 }
 function _createContent(&$toReturn)
 {
     $tpl =& new CopixTpl();
     $plugAuth =& $GLOBALS['COPIX']['COORD']->getPlugin('auth|auth');
     $user =& $plugAuth->getUser();
     if ($user->isConnected()) {
         $tpl->assign('showErrors', $this->params['e']);
         //dao error or something else
         if (isset($this->params['toEdit']->errors)) {
             $tpl->assign('errors', $this->params['toEdit']->errors);
         } else {
             $tpl->assign('errors', $this->params['toEdit']->check());
         }
         $tpl->assign('toEdit', $this->params['toEdit']);
         $services =& CopixClassesFactory::create('comment|commentservices');
         $tpl->assign('formatList', $services->getFormatList());
         $toReturn = $tpl->fetch('comment.add.tpl');
     } else {
         $toReturn = CopixI18N::get('comment|comment.messages.needLogin');
     }
     return true;
 }
function smarty_function_commentthis($params, &$smarty)
{
    extract($params);
    if (empty($displaytype)) {
        $displaytype = 'list';
    }
    if (empty($type)) {
        $smarty->trigger_error('commentthis: missing type parameter');
    }
    if (empty($id)) {
        $smarty->trigger_error('commentthis: missing id parameter');
    }
    if (empty($dest)) {
        $dest = CopixUrl::get('comment||getList', array('type' => $type, 'id' => $id, 'back' => $back));
    }
    $dao =& CopixDAOFactory::create('comment|Comment');
    $services =& CopixClassesFactory::create('comment|commentservices');
    $services->enableComment($id, $type);
    switch ($displaytype) {
        case 'link':
            $nbComment = $dao->getNbComment($id, $type);
            $toReturn = '<a href=' . $dest . '>' . $nbComment . ' ';
            $toReturn .= $nbComment > 1 ? CopixI18N::get('comment|comment.messages.comments') : CopixI18N::get('comment|comment.messages.comment');
            $toReturn .= '</a>';
            break;
        case 'form':
            $back = CopixUrl::getCurrentUrl();
            CopixActionGroup::process('comment|comment::doPrepareAdd', array('type' => $type, 'id' => $id, 'back' => $back));
            $toEdit = CopixActionGroup::process('comment|comment::_getSessionComment');
            $toReturn = CopixZone::process('comment|AddComment', array('toEdit' => $toEdit));
            break;
        case 'list':
        default:
            $toReturn = CopixZone::process('comment|CommentList', array('type' => $type, 'id' => $id));
            break;
    }
    return $toReturn;
}
 public function _createContent(&$toReturn)
 {
     $tpl = new CopixTpl();
     // ID du fil à afficher (Si non précisé, on prend 'main' par défaut)
     $breadcrumbsId = $this->getParam('breadcrumbsId', 'main');
     $cBc = CopixClassesFactory::getInstanceOf('generictools|CopixBreadcrumbs', $breadcrumbsId);
     // Niveau de départ (Si non précisé, on prend 0 par défaut, c'est à dire la racine)
     $from = $this->getParam('from', 0);
     // Titre éventuel du fil d'ariane (ex. : "Vous êtes ici :")
     $tpl->assign('title', $this->getParam('title', null));
     // Récupération du fil d'ariane (tableau de liens)
     $arCBcItems = $cBc->getItems($from);
     // Racine du chemin (si l'url n'est pas précisée, on prend celle de la page par défaut)
     if (isset($this->_params['rootText']) && $from == 0) {
         $link = $this->getParam('rootLink', CopixUrl::get() . CopixConfig::get('|homePage'));
         array_unshift($arCBcItems, new CopixBreadcrumbsItem($link, $this->_params['rootText']));
         // Ajout de l'élément racine en DEBUT de fil (d'où le dernier paramètre à vrai)
     }
     $tpl->assign('arBreadcrumbsItems', $arCBcItems);
     // Template à utiliser (Si non précisé, on prend 'breadcrumbs.tpl' par défaut)
     $toReturn = $tpl->fetch($this->getParam('template', 'breadcrumbs.tpl'));
     return true;
 }
 /**
  * Affiche la liste déroulante avec toutes les villes d'un groupe de ville
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2006/01/17
  * @param integer $grville Id du groupe de ville
  * @param integer $value Valeur actuelle de la combo
  * @param string $fieldName Nom du champ de type SELECT qui en résulte
  * @param string $attribs Attributs HTML de la liste (STYLE, ONCHANGE...)
  * @param array $linesSup Lignes supplémentaires à ajouter en haut de la liste au-dessus des dossiers (ex: "Choisissez la ville"). Chaque ligne est un tableau, de type array ("value"=>"", "libelle"=>"Choisissez")
  * @param string $droit Si on ne veut afficher que les villes sur lesquelles l'usager a un certain droit (VOIR / COMM, ou voir / communiquer)
  */
 public function _createContent(&$toReturn)
 {
     $annuaireService =& CopixClassesFactory::Create('annuaire|AnnuaireService');
     $grville = $this->getParam('grville') ? $this->getParam('grville') : NULL;
     $value = $this->getParam('value') ? $this->getParam('value') : 0;
     $fieldName = $this->getParam('fieldName') ? $this->getParam('fieldName') : NULL;
     $attribs = $this->getParam('attribs') ? $this->getParam('attribs') : NULL;
     $linesSup = $this->getParam('linesSup') ? $this->getParam('linesSup') : NULL;
     $pDroit = $this->getParam('droit');
     if ($ville_as_array = Kernel::getKernelLimits('ville_as_array')) {
         $villes = $annuaireService->getVilles($ville_as_array, array('droit' => $pDroit));
     } else {
         $villes = $annuaireService->getVillesInGrville($grville, array('droit' => $pDroit));
     }
     $tpl = new CopixTpl();
     $tpl->assign('items', $villes);
     $tpl->assign('value', $value);
     $tpl->assign('fieldName', $fieldName);
     $tpl->assign('attribs', $attribs);
     $tpl->assign('linesSup', $linesSup);
     $toReturn = $tpl->fetch('combovilles.tpl');
     return true;
 }