예제 #1
0
 /**
  * Detail d'une procedure
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2008/01/30
  * @param object $rFiche Recordset de la procedure
  */
 public function _createContent(&$toReturn)
 {
     $tpl = new CopixTpl();
     $rFiche = $this->getParam('rFiche');
     $errors = $this->getParam('errors');
     $ok = $this->getParam('ok');
     $print = $this->getParam('print');
     //var_dump($rFiche);
     //$daoType = & _dao ('type');
     //$tpl->assign ('arTypes', $daoType->findAll ());
     $arResponsables = preg_split('/[\\s,]+/', $rFiche->responsables);
     $rFiche->tabResponsables = $arResponsables;
     $mondroit = $this->getParam('mondroit');
     $rEcole = Kernel::getNodeInfo('BU_ECOLE', $rFiche->idetabliss, false);
     //var_dump($rEcole);
     $rFiche->ecole_nom = $rEcole['ALL']->eco_nom;
     $rFiche->ecole_type = $rEcole['ALL']->eco_type;
     $rFiche->ecole_tel = $rEcole['ALL']->eco_tel;
     $rFiche->ecole_dir = AnnuaireService::getDirecteurInEcole($rFiche->idetabliss);
     $daoType =& _dao('teleprocedures|type');
     if ($tmp = $daoType->get($rFiche->idtype)) {
         $rFiche->idtype_nom = $tmp->nom;
     }
     $daoStatu =& _dao('teleprocedures|statu');
     if ($tmp = $daoStatu->get($rFiche->idstatu)) {
         $rFiche->idstatu_nom = $tmp->nom;
     }
     $canDelegue = TeleproceduresService::canMakeInTelep('DELEGUE', $mondroit, array('idinter' => $rFiche->idinter));
     $tpl->assign('canDelegue', $canDelegue);
     $tpl->assign('canViewDelai', TeleproceduresService::canMakeInTelep('VIEW_DELAI', $mondroit));
     $tpl->assign('rFiche', $rFiche);
     $tpl->assign('errors', $errors);
     $tpl->assign('ok', $ok);
     $tpl->assign('print', $print);
     $tplFiche = $tpl->fetch('fiche-zone.tpl');
     $toReturn = $tplFiche;
     return true;
 }
예제 #2
0
 /**
  * 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);
 }
 /**
  * L'adresse de l'ecole en une ligne
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2011/11/02
  * @return string L'adresse
  */
 public function getFullAddress()
 {
     $address = AnnuaireService::googleMapsFormatAdresse('ecole', $this);
     return $address;
 }
 /**
  * Retourne les classes d'un groupe de villes, avec les infos des enseignants affect�s
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2006/01/19
  * @param integer $grville Id du groupe de villes
  * @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 getClassesInGrville($grville, $options = array())
 {
     $classes = array();
     if (isset($options['getNodeInfo_light']) && $options['getNodeInfo_light']) {
         $getNodeInfo_full = false;
     } else {
         $getNodeInfo_full = true;
     }
     $matrix =& enic::get('matrixCache');
     $childs = Kernel::getNodeChilds('BU_GRVILLE', $grville);
     foreach ($childs as $child) {
         if ($child['type'] == 'BU_VILLE') {
             if (($ville_as_array = Kernel::getKernelLimits('ville_as_array')) && !in_array($child['id'], $ville_as_array)) {
                 continue;
             }
             if (isset($options['droit'])) {
                 $tmp = AnnuaireService::getClassesInVille($child['id'], array('droit' => $options['droit']));
             } else {
                 $tmp = AnnuaireService::getClassesInVille($child['id']);
             }
             if (count($tmp) > 0) {
                 $node = Kernel::getNodeInfo($child['type'], $child['id'], $getNodeInfo_full);
                 $classes[] = array('id' => '0', 'nom' => "----- " . $node['nom'] . " -----");
                 $classes = array_merge($classes, $tmp);
             }
         }
     }
     return $classes;
 }
 /**
  * Affiche la liste des blogs ayant au moins un article, pour un groupe de ville, ou une ou plusieurs villes
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2006/03/23
  * @param string $kw Mot-cl� pour la recherche (option)
  * @param integer grville Id de groupe de ville
  * @param array ville Tableau avec les ID des villes
  */
 public function _createContent(&$toReturn)
 {
     CopixHtmlHeader::addJSLink(CopixUrl::get() . 'js/iconito/module_fichesecoles.js');
     $kw = $this->getParam('kw', null);
     $pGrVille = $this->getParam('grville', null);
     $pVille = $this->getParam('ville', null);
     // Tableau
     $tpl = new CopixTpl();
     if ($pVille) {
         $villes = AnnuaireService::getVilles($pVille);
     } else {
         $villes = AnnuaireService::getVillesInGrville($pGrVille);
     }
     //print_r($villes);
     $tpl->assign('villes', $villes);
     $ecoles = array();
     foreach ($villes as $ville) {
         //$ecoles
         $ec = AnnuaireService::getEcolesInVille($ville['id'], array('directeur' => false));
         foreach ($ec as $k => $e) {
             $blog = getNodeBlog('BU_ECOLE', $e['id']);
             //print_r($blog);
             if ($blog && $blog->is_public == 1) {
                 $ec[$k]['blog']['url_blog'] = $blog->url_blog;
             }
         }
         $ecoles[$ville['id']] = $ec;
     }
     //print_r($ecoles);
     $tpl->assign('ecoles', $ecoles);
     if ($kw) {
         $critere = " SELECT * FROM module_blog WHERE is_public=1 AND name_blog LIKE '%" . addslashes($kw) . "%' ORDER BY name_blog";
     } else {
         $critere = " SELECT * FROM module_blog WHERE is_public=1 AND 1 ORDER BY name_blog";
     }
     $sql = _doQuery($critere);
     $list = array();
     $arTypes = array();
     if (CopixConfig::exists('public|blogs.types') && CopixConfig::get('public|blogs.types')) {
         $arTypes = explode(",", CopixConfig::get('public|blogs.types'));
     }
     $arTypes[] = 'CLUB';
     //print_r($sql);
     foreach ($sql as $blog) {
         $parent = Kernel::getModParentInfo("MOD_BLOG", $blog->id_blog);
         if ($parent) {
             if ($arTypes && !in_array($parent['type'], $arTypes)) {
                 continue;
             }
             //var_dump($parent);
             $blog->parent = $parent['nom'];
             switch ($parent['type']) {
                 case 'CLUB':
                     if (Kernel::getKernelLimits('ville')) {
                         $ville = GroupeService::getGroupeVille($parent['id']);
                         if (!in_array($ville, Kernel::getKernelLimits('ville_as_array'))) {
                             continue;
                         }
                     }
                     $blog->type = CopixI18N::get('public.blog.typeClub');
                     break;
                     /*
                     case 'BU_CLASSE' :
                         $blog->type = CopixI18N::get ('public.blog.typeClasse');
                         $blog->parent .= ' - '.$parent['ALL']->eco_nom;
                         if ($parent['ALL']->eco_type)
                             $blog->parent .= ' - '.$parent['ALL']->eco_type.'';
                         break;
                     */
                     //case 'BU_ECOLE' : $blog->type = CopixI18N::get ('public.blog.typeEcole'); break;
                     //case 'BU_VILLE' : $blog->type = CopixI18N::get ('public.blog.typeVille'); break;
                     //case 'BU_GRVILLE' : $blog->type = CopixI18N::get ('public.blog.typeGrville'); break;
                     //default : $blog->type = $parent['type']; break;
             }
             if (!isset($blog->type)) {
                 continue;
             }
             $blog->stats = KernelBlog::getStats($blog->id_blog);
             //print_r($blog);
             /* Activer pour cacher les blogs non lisibles */
             // if( !blogauth::canMakeInBlog('READ', $blog) ) continue;
             if ($blog->stats['nbArticles']['value'] > 0) {
                 $list[] = $blog;
             }
         }
     }
     usort($list, "order_tab_blogs");
     $tpl->assign('list', $list);
     if (!CopixConfig::exists('|can_public_rssfeed') || CopixConfig::get('|can_public_rssfeed')) {
         $tpl->assign('can_public_rssfeed', 1);
     } else {
         $tpl->assign('can_public_rssfeed', 0);
     }
     $toReturn = $tpl->fetch('getlistblogszone2.tpl');
     return true;
 }