public function _createContent(&$toReturn) { $tpl = new CopixTpl(); $blog = $this->getParam('blog', ''); $cat = $this->getParam('cat', null); $critere = $this->getParam('critere', null); //on récupère l'ensemble des articles du blog $dao = _dao('blog|blogarticle'); if ($cat == null) { $date = $this->getParam('date', null); $arData = $dao->getAllArticlesFromBlog($blog->id_blog, $date); } else { $arData = $dao->getAllArticlesFromBlogByCat($blog->id_blog, $cat->id_bacg); $tpl->assign('cat', $cat); } //on filtre si on a fait une recherche sur les articles if ($critere != null) { $arData = $dao->getAllArticlesFromBlogByCritere($blog->id_blog, $critere); } //var_dump($arData); //on construit un tableau associatif entre l'identifiant de l'article et le nombre de commentaires foreach ($arData as $article) { //var_dump($article); $daoArticleComment =& CopixDAOFactory::getInstanceOf('blog|blogarticlecomment'); $record = _record('blog|blogarticlecomment'); $criteres = _daoSp(); $criteres->addCondition('id_bact', '=', $article->id_bact); $criteres->addCondition('is_online', '=', 1); $resultat = $daoArticleComment->findBy($criteres); $arNbCommentByArticle[$article->id_bact] = count($resultat); } if (count($arData) > 0) { //encodage des URL des catégories pour caractères spéciaux foreach ($arData as $key => $data) { //Modification suite à apparition d'un warning due à l'absence de catégories , vboniface 06.11.2006 $arData[$key]->key = $key; if (isset($arData[$key]->categories)) { foreach ($arData[$key]->categories as $keyCat => $categorie) { $arData[$key]->categories[$keyCat]->url_bacg = urlencode($categorie->url_bacg); } } } if (count($arData) <= intval(CopixConfig::get('blog|nbMaxArticles'))) { $tpl->assign('pager', ""); $tpl->assign('listArticle', $arData); $tpl->assign('arNbCommentByArticle', $arNbCommentByArticle); } else { $params = array('perPage' => intval(CopixConfig::get('blog|nbMaxArticles')), 'delta' => 5, 'recordSet' => $arData, 'template' => '|pager.tpl'); $Pager = CopixPager::Load($params); $tpl->assign('pager', $Pager->GetMultipage()); $tpl->assign('listArticle', $Pager->data); $tpl->assign('arNbCommentByArticle', $arNbCommentByArticle); } //rajout suite à bug mantis 54 vboniface 06.11.2006 $tpl->assign('blog', $blog); } // retour de la fonction : $toReturn = $tpl->fetch('listarticle.tpl'); return true; }
public function _createContent(&$toReturn) { $agendaService = new AgendaService(); $serviceDate = new DateService(); //on détermine le jour d'affichage if ($this->getParam('day') == null) { $day = date('Ymd'); } else { $day = $this->getParam('day'); } //on récupère les évènements de la journée foreach ($this->getParam('arAgendasAffiches') as $idAgenda) { $arEventsSemaine[$idAgenda] = $agendaService->checkEventOfAgendaInBdd($idAgenda, $day, $day); } //on ordonne les évènements par ordre croissant d'heure de début d'évènement dans la journée $arEventByDay = $agendaService->getEventsByDay($arEventsSemaine, $day, $day); $arEventByDay = $agendaService->getEventsInOrderByDay($arEventByDay); //on simplifie le tableau pour le passer à la zone $arDayEvent = $arEventByDay[$day]->events; //on récupère la couleur d'affichage de chaque évènement //$arColorByEvent = $agendaService->getColorByIdEvent($arDayEvent); $arAgendas = $agendaService->getTilteAgendaByIdAgenda($this->getParam('arAgendasAffiches')); //on récupère la couleur d'affichage pour chaque agenda $boolCroise = array(); $daoAgenda =& CopixDAOFactory::getInstanceOf('agenda|agenda'); foreach ($this->getParam('arAgendasAffiches') as $id) { $agenda = $daoAgenda->get($id); $boolCroise[$agenda->type_agenda] = $boolCroise[$agenda->type_agenda] == false; $colors = $agendaService->getColorAgendaByIdAgenda($id); $arColorAgenda[$id] = $boolCroise[$agenda->type_agenda] ? $colors[0] : $colors[1]; } $arEventToDisplay = array(); foreach ($arDayEvent as $event) { $event->color = $arColorAgenda[$event->id_agenda]; $arEventToDisplay[] = $event; } $jour = substr($day, 6, 2); $mois = $serviceDate->moisNumericToMoisLitteral(substr($day, 4, 2)); $annee = substr($day, 0, 4); $tpl = new CopixTpl(); $tpl->assign('jour', $jour); $tpl->assign('mois', $mois); $tpl->assign('annee', $annee); //$tpl->assign('arEvent' , $arDayEvent); $tpl->assign('arEvent', $arEventToDisplay); $tpl->assign('arAgendas', $arAgendas); $tpl->assign('arColorByEvent', $arColorByEvent); $tpl->assign('arColorAgenda', $arColorAgenda); $toReturn = $tpl->fetch('aujourdhui.agenda.tpl'); return true; }
/** * Création d'un agenda * * @author Christophe Beyer <*****@*****.**> * @since 2006/08/24 * @param array $infos (option) informations permettant d'initialiser le blog. Index: title, node_type, node_id * @return integer l'Id de l'agenda créé ou NULL si erreur */ public function create($infos = array()) { $daoAgenda =& CopixDAOFactory::getInstanceOf('agenda|agenda'); $res = null; $agenda = _record('agenda|agenda'); if ($infos['title']) { $agenda->title_agenda = $infos['title']; } else { //$agenda->title_agenda = CopixI18N::get ('agenda|agenda.default.title'); $agenda->title_agenda = "Agenda"; } $agenda->desc_agenda = $agenda->title_agenda; $agenda->type_agenda = AgendaType::getAgendaTypeForNode($infos['node_type'], $infos['node_id']); $daoAgenda->insert($agenda); return $agenda->id_agenda !== NULL ? $agenda->id_agenda : NULL; }
/** * Test d'une DAO automatique */ public function testDAOAuto() { CopixDAOFactory::getInstanceOf('copixtestautodao')->findAll(); }
/** * Fonction qui est appelée lorsque l'on valide la saisie d'un évènement * Met à jour l'objet avec les données du formulaire * Vérifie les informations saisies dans le formulaire * @author Audrey Vassal <*****@*****.**> * @return redirige vers l'action "getVueSemaine" de l'actiongroup agenda */ public function doValid() { $serviceAuth = new AgendaAuth(); $serviceAgenda = new AgendaService(); $serviceType = new AgendaType(); if (!($toValid = $this->_getSessionLecon())) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('agenda.error.cannotFindSession'), 'back' => CopixUrl::get('agenda|agenda|vueSemaine'))); } if ($serviceAuth->getCapability($toValid->id_agenda) < $serviceAuth->getWriteLecon() || $serviceAgenda->getTypeAgendaByIdAgenda($toValid->id_agenda) != $serviceType->getClassRoom()) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('agenda.error.enableToWrite'), 'back' => CopixUrl::get('agenda|agenda|vueSemaine'))); } //demande de mettre l'objet à jour en fonction des valeurs saisies dans le formulaire $this->_validFromForm($toValid); $errors = $this->_check(); if (count($errors) > 0) { $this->_setSessionLecon($toValid); return CopixActionGroup::process('agenda|Lecon::getEdit', array('e' => 1, 'errors' => $errors)); } else { $daoLecon =& CopixDAOFactory::getInstanceOf('lecon'); $record =& CopixDAOFactory::createRecord('lecon'); $criteres = _daoSp(); $criteres->addCondition('id_lecon', '=', $toValid->id_lecon); $resultat = $daoLecon->findBy($criteres); $modif = false; if (count($resultat) > 0) { //modification $record = $resultat[0]; $modif = true; } $record->id_agenda = $toValid->id_agenda; $record->desc_lecon = $toValid->desc_lecon; $record->date_lecon = $toValid->date_lecon; if ($modif) { $daoLecon->update($record); } else { $daoLecon->insert($record); } //on vide la session $this->_setSessionLecon(null); return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('agenda|agenda|vueSemaine')); } }
public function delete($id_blog) { //suppression du blog $blogDAO =& _dao('blog|blog'); $blogDAO->delete($id_blog); //suppression des pages liées au blog $daoPage =& CopixDAOFactory::getInstanceOf('blog|blogpage'); $record = _record('blog|blogpage'); $criteres = _daoSp(); $criteres->addCondition('id_blog', '=', $id_blog); $resultat = $daoPage->findBy($criteres); $daoPage =& _dao('blog|blogpage'); foreach ($resultat as $page) { $daoPage->delete($page); } //suppression des liens liés au blog $daoLien =& CopixDAOFactory::getInstanceOf('blog|bloglink'); $record = _record('blog|bloglink'); $criteres = _daoSp(); $criteres->addCondition('id_blog', '=', $id_blog); $resultat = $daoLien->findBy($criteres); foreach ($resultat as $lien) { $daoLien->delete($lien); } //suppression des catégories du blog $daoCategorie =& CopixDAOFactory::getInstanceOf('blog|blogarticlecategory'); $record = _record('blog|blogarticlecategory'); $criteres = _daoSp(); $criteres->addCondition('id_blog', '=', $id_blog); $resultat = $daoCategorie->findBy($criteres); foreach ($resultat as $categorie) { $daoCategorie->delete($categorie); } //suppression des articles, des commentaires et des liens catégories / articles $arIdBact = array(); $daoArticle =& CopixDAOFactory::getInstanceOf('blog|blogarticle'); $record = _record('blog|blogarticle'); $criteres = _daoSp(); $criteres->addCondition('id_blog', '=', $id_blog); $resultat = $daoArticle->findBy($criteres); foreach ($resultat as $article) { $daoArticle->delete($article); } Kernel::unregisterModule("MOD_BLOG", $id_blog); return true; }
/** * Fonction qui est appel�e lors de la suppression d'un �v�nement * R�cup�re l'objet 'event' en base de donn�es gr�ce � l'id_event * Supprime l'objet en base de donn�es */ public function doDelete() { $serviceAuth = new AgendaAuth(); if (!_request('id_event')) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('agenda.error.missingParameters'), 'back' => CopixUrl::get('agenda|agenda|vueSemaine'))); } $daoEvent =& CopixDAOFactory::getInstanceOf('event'); if (!($toDelete = $daoEvent->get(_request('id_event')))) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('agenda.unableToFind'), 'back' => CopixUrl::get('agenda|agenda|vueSemaine'))); } //on v�rifie si l'utilisateur a les droits de suppression sur l'agenda concern� if ($serviceAuth->getCapability($toDelete->id_agenda) < $serviceAuth->getModerate()) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('agenda.error.enableToWrite'), 'back' => CopixUrl::get('agenda|agenda|vueSemaine'))); } //Confirmation screen ? if (!_request('confirm')) { return CopixActionGroup::process('genericTools|Messages::getConfirm', array('title' => CopixI18N::get('agenda.title.confirmdelevent'), 'message' => CopixI18N::get('agenda.message.confirmdelevent'), 'confirm' => CopixUrl::get('agenda|event|delete', array('id_event' => $toDelete->id_event, 'confirm' => '1')), 'cancel' => CopixUrl::get('agenda|agenda|vueSemaine'))); } //Delete event $daoEvent->delete($toDelete->id_event); return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('agenda|agenda|vueSemaine')); }
/** * Alias à CopixDAOFactory::getInstanceOf * @param string $pDAOid identifiant de la DAO à instancier de façon unique * @param string $pConnectionName * @return ICopixDAO * @see CopixDAOFactory::instanceOf */ function _ioDAO($pDAOid, $pConnectionName = null) { return CopixDAOFactory::getInstanceOf($pDAOid, $pConnectionName); }
/** * Fonction qui retourne un tableau associant l'identifiant de l'évènement et sa couleur d'affichage * @author Audrey Vassal <*****@*****.**> * @since 2006/08/08 * @param array $pArIdAgenda tableau d'identifiant d'agenda * @return array $arTitleAgenda tableau associant l'identifiant de l'agenda à son titre */ public function getTilteAgendaByIdAgenda($pArIdAgenda) { foreach ($pArIdAgenda as $key => $idAgenda) { $daoSearchParams = _daoSp(); $daoSearchParams->addCondition('id_agenda', '=', $idAgenda); $daoAgenda =& CopixDAOFactory::getInstanceOf('agenda|agenda'); $arAgenda = $daoAgenda->findBy($daoSearchParams); if (count($arAgenda) > 0) { $arTitleAgenda[$key] = $arAgenda[0]->title_agenda; } } return $arTitleAgenda; }