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; }
/** * 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); }
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; }