/** * Detail d'une ecole * * @author Christophe Beyer <*****@*****.**> * @since 2008/09/03 * @param object $rEcole Recordset de l'ecole * @param object $rFiche Recordset de la fiche ecole */ public function _createContent(&$toReturn) { $tpl = new CopixTpl(); $rEcole = $this->getParam('rEcole'); $rFiche = $this->getParam('rFiche'); $arClasses = AnnuaireService::getClassesInEcole($rEcole->numero, array('forceCanViewEns' => true, 'withNiveaux' => true)); usort($arClasses, array("ZoneFiche", "_usortClasses")); //var_dump($arClasses); $canModify = FichesEcolesService::canMakeInFicheEcole($rEcole->numero, 'MODIFY'); $blog = getNodeBlog('BU_ECOLE', $rEcole->numero, array('is_public' => 1)); //var_dump($blog); $arClassesBlogs = false; if ($blog) { $rEcole->blog = $blog; } else { // Si pas de blog, on regarde s'il y a des blogs publics de classes $arClassesBlogs = AnnuaireService::getClassesInEcole($rEcole->numero, array('onlyWithBlog' => true, 'onlyWithBlogIsPublic' => 1, 'enseignant' => false)); } //Kernel::deb($arClassesBlogs); $rEcole->directeur = AnnuaireService::getDirecteurInEcole($rEcole->numero); //var_dump($rEcole); $matrix =& enic::get('matrixCache'); $nodeVocabularyCatalogDAO = _ioDAO('kernel|kernel_i18n_node_vocabularycatalog'); $vocabularyCatalog = $nodeVocabularyCatalogDAO->getCatalogForNode('BU_ECOLE', $rEcole->numero); $tpl->assign('rEcole', $rEcole); $tpl->assign('rFiche', $rFiche); $tpl->assign('arClasses', $arClasses); $tpl->assign('arClassesBlogs', $arClassesBlogs); $tpl->assign('canModify', $canModify); $_right = $matrix->ecole($rEcole->numero)->_right; $tpl->assign('canViewDir', $_right->USER_DIR->voir); $tpl->assign('canWriteDir', $_right->USER_DIR->communiquer); $tpl->assign('canViewEns', $_right->USER_ENS->voir); $tpl->assign('canWriteEns', $_right->USER_ENS->communiquer); $tpl->assign('id_vc', $vocabularyCatalog->id_vc); $toReturn = $tpl->fetch('fiche.tpl'); return true; }
/** * Affichage de la fiche d'une ecole * * @author Christophe Beyer <*****@*****.**> * @since 2008/09/03 * @param integer $id Id de l'ecole */ public function blogs() { $id = $this->getRequest('id', null); $pAnnee = $this->getRequest('annee', null); // $ecoleDAO = CopixDAOFactory::create('kernel|kernel_bu_ecole'); $ficheDAO = CopixDAOFactory::create("fiches_ecoles"); $criticErrors = array(); if (!($rEcole = $ecoleDAO->get($id))) { $criticErrors[] = CopixI18N::get('fichesecoles.error.param'); } elseif (!FichesEcolesService::canMakeInFicheEcole($id, 'VIEW')) { $criticErrors[] = CopixI18N::get('kernel|kernel.error.noRights'); } if ($criticErrors) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => implode('<br/>', $criticErrors), 'back' => CopixUrl::get('annuaire||'))); } $arClasses = AnnuaireService::getClassesInEcole($rEcole->numero, array('forceCanViewEns' => true, 'onlyWithBlog' => true, 'onlyWithBlogIsPublic' => 1, 'enseignant' => false, 'annee' => $pAnnee)); $rEcole->blog = getNodeBlog('BU_ECOLE', $rEcole->numero, array('is_public' => 1)); // Get vocabulary catalog to use $nodeVocabularyCatalogDAO = _ioDAO('kernel|kernel_i18n_node_vocabularycatalog'); $vocabularyCatalog = $nodeVocabularyCatalogDAO->getCatalogForNode('BU_ECOLE', $id); $tpl = new CopixTpl(); $tpl->assign('rEcole', $rEcole); $tpl->assign('arClasses', $arClasses); $tpl->assign('catalog', $vocabularyCatalog->id_vc); if ($anneeDebutBlogs = CopixConfig::get('fichesecoles|anneeDebutBlogs')) { $anneeFinBlogs = Kernel::getAnneeScolaireCourante()->id_as; //Kernel::deb("anneeDebutBlogs=$anneeDebutBlogs / anneeFinBlogs=$anneeFinBlogs"); if (!$pAnnee) { $pAnnee = $anneeFinBlogs; } if ($anneeFinBlogs > $anneeDebutBlogs) { $comboAnnees = CopixZone::process('kernel|combo_annees', array('name' => 'annee', 'selected' => $pAnnee, 'debut' => $anneeDebutBlogs, 'fin' => $anneeFinBlogs, 'extra2' => 'onChange="ficheViewBlogs(' . $id . ',this.options[this.selectedIndex].value);"')); $tpl->assign('comboAnnees', $comboAnnees); } } $result = $tpl->fetch('blogs.tpl'); header('Content-type: text/html; charset=utf-8'); //echo utf8_encode($result); echo $result; return new CopixActionReturn(COPIX_AR_NONE, 0); }
/** * Retourne les classes d'une ville, avec les infos des enseignants affect�s * * @author Christophe Beyer <*****@*****.**> * @since 2006/01/19 * @param integer $ville Id de la ville * @param array $options Tableau d'options. [droit] pour n'avoir que les classes sur lesquelles on a ce droit * @return array Tableau avec les classes */ public function getClassesInVille($ville, $options = array()) { $classes = array(); if (isset($options['getNodeInfo_light']) && $options['getNodeInfo_light']) { $getNodeInfo_full = false; $getClassesInEcole_params = array('no_enseignant' => 1, 'getNodeInfo_light' => true); } else { $getNodeInfo_full = true; $getClassesInEcole_params = array(); } $matrix =& enic::get('matrixCache'); if (isset($options['droit'])) { $ecoles = AnnuaireService::getEcolesInVille($ville, array('droit' => $options['droit'])); $getClassesInEcole_params['droit'] = $options['droit']; } else { $ecoles = AnnuaireService::getEcolesInVille($ville); } //echo "> getEcolesInVille ".(microtime(true)-$start)."<br />"; //$start = microtime(true); foreach ($ecoles as $ecole) { $tmp = AnnuaireService::getClassesInEcole($ecole['id'], $getClassesInEcole_params); if (count($tmp) > 0) { $nom = $ecole['nom']; if (isset($ecole['type']) && $ecole['type']) { $nom .= ' (' . $ecole['type'] . ')'; } $classes[] = array('id' => '0', 'nom' => $nom); $classes = array_merge($classes, $tmp); } } //echo "> getClassesInEcole ".(microtime(true)-$start)."<br />"; return $classes; }