/**
  * Pr�paration � l'�dition d'une page.
  */
 public function doPrepareEditPage()
 {
     $id_blog = $this->getRequest('id_blog', null);
     $blogDAO = CopixDAOFactory::create('blog|blog');
     $blog = $blogDAO->get($id_blog);
     if ($id_blog == null) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.param'), 'back' => CopixUrl::get('blog|admin|listBlog')));
     }
     if (!BlogAuth::canMakeInBlog('ADMIN_PAGES', $blog)) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.cannotManagePage'), 'back' => CopixUrl::get('blog|admin|listBlog')));
     }
     $tpl = new CopixTpl();
     $id_bpge = $this->getRequest('id_bpge', null);
     $page = null;
     if ($id_bpge != null) {
         // EDITION D'UNE PAGE
         $pageDAO = CopixDAOFactory::create('blog|blogpage');
         $page = $pageDAO->get($id_bpge);
     } else {
         $page->is_online = CopixConfig::get('blog|blog.default.default_is_online_page');
         $page->format_bpge = $blog->default_format_articles;
     }
     $tpl->assign('TITLE_PAGE', $blog->name_blog);
     //		$menu = '<a href="'.CopixUrl::get ('blog|admin|showBlog', array("id_blog"=>$id_blog, "kind"=>5)).'">'.CopixI18N::get('blog|blog.nav.pages').'</a>';
     $menu = getBlogAdminMenu($blog, 5);
     $tpl->assign('MENU', $menu);
     $tpl->assign('MAIN', CopixZone::process('EditPage', array('id_blog' => $id_blog, 'id_bpge' => $id_bpge, 'page' => $page, 'kind' => $this->getRequest('kind', '0'))));
     return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl);
 }
 /**
  * Préparation à l'affichage de la liste des blogs.
  */
 public function doPrepareEditRss()
 {
     $id_blog = $this->getRequest('id_blog', null);
     $blogDAO = CopixDAOFactory::create('blog|blog');
     $blog = $blogDAO->get($id_blog);
     if ($id_blog == null) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.param'), 'back' => CopixUrl::get('blog|admin|listBlog')));
     }
     if (!BlogAuth::canMakeInBlog('ADMIN_RSS', $blog)) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.cannotManageRss'), 'back' => CopixUrl::get('blog|admin|listBlog')));
     }
     $tpl = new CopixTpl();
     $id_bfrs = $this->getRequest('id_bfrs', null);
     if ($id_bfrs != null) {
         // EDITION D'UN BLOG
         $fluxRssDAO = CopixDAOFactory::create('blog|blogfluxrss');
         $fluxRss = $fluxRssDAO->get($id_bfrs);
         //$tpl->assign ('TITLE_PAGE', CopixI18N::get('blog.get.edit.link.title'));
     } else {
         // CREATION D'UN BLOG
         $fluxRss = null;
         //$tpl->assign ('TITLE_PAGE', CopixI18N::get('blog.get.create.link.title'));
     }
     $tpl->assign('TITLE_PAGE', $blog->name_blog);
     //		$menu = '<a href="'.CopixUrl::get ('blog|admin|showBlog', array("id_blog"=>$id_blog, "kind"=>6)).'">'.CopixI18N::get('blog|blog.nav.rss').'</a>';
     $menu = getBlogAdminMenu($blog, 6);
     $tpl->assign('MENU', $menu);
     $tpl->assign('MAIN', CopixZone::process('EditRss', array('id_blog' => $id_blog, 'id_bfrs' => $id_bfrs, 'fluxRss' => $fluxRss, 'kind' => $this->getRequest('kind', '0'))));
     return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl);
 }
 /**
  * Pr�paration � l'�dition d'une cat�gorie.
  */
 public function doPrepareEditCategory()
 {
     $id_blog = $this->getRequest('id_blog', null);
     $blogDAO = CopixDAOFactory::create('blog|blog');
     $blog = $blogDAO->get($id_blog);
     if ($id_blog == null) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.param'), 'back' => CopixUrl::get('blog|admin|listBlog')));
     }
     if (!BlogAuth::canMakeInBlog('ADMIN_CATEGORIES', $blog)) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.cannotManageCategory'), 'back' => CopixUrl::get('blog|admin|listBlog')));
     }
     $tpl = new CopixTpl();
     $id_bacg = $this->getRequest('id_bacg', null);
     if ($id_bacg != null) {
         // EDITION D'UN BLOG
         $categoryDAO = CopixDAOFactory::create('blog|blogarticlecategory');
         $category = $categoryDAO->get($id_bacg);
         //$tpl->assign ('TITLE_PAGE', CopixI18N::get('blog.get.edit.category.title'));
     } else {
         // CREATION D'UN BLOG
         $category = null;
         //$tpl->assign ('TITLE_PAGE', CopixI18N::get('blog.get.create.category.title'));
     }
     $tpl->assign('TITLE_PAGE', $blog->name_blog);
     //		$menu = '<a href="'.CopixUrl::get ('blog|admin|showBlog', array("id_blog"=>$id_blog, "kind"=>1)).'">'.CopixI18N::get('blog|blog.nav.categories').'</a>';
     $menu = getBlogAdminMenu($blog, 1);
     $tpl->assign('MENU', $menu);
     $tpl->assign('MAIN', CopixZone::process('EditCategory', array('id_blog' => $id_blog, 'id_bacg' => $id_bacg, 'category' => $category, 'kind' => $this->getRequest('kind', '0'))));
     return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl);
 }
 /**
  * Pr�paration � l'�dition d'un commentaire.
  */
 public function doPrepareEditComment()
 {
     $id_blog = $this->getRequest('id_blog', null);
     if (strlen($id_blog) == 0) {
         $id_blog = null;
     }
     $id_bact = $this->getRequest('id_bact', null);
     if (strlen($id_bact) == 0) {
         $id_bact = null;
     }
     $id_bacc = $this->getRequest('id_bacc', null);
     if (strlen($id_bacc) == 0) {
         $id_bacc = null;
     }
     if ($id_blog == null || $id_bact == null || $id_bacc == null) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.param'), 'back' => CopixUrl::get('blog|admin|listBlog')));
     }
     if (!BlogAuth::canMakeInBlog('ADMIN_COMMENTS', create_blog_object($id_blog))) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.cannotManageComment'), 'back' => CopixUrl::get('blog|admin|listBlog')));
     }
     $tpl = new CopixTpl();
     if (BlogAuth::canMakeInBlog('ADMIN_COMMENTS', create_blog_object($id_blog))) {
         //			$menu = '<a href="'.CopixUrl::get ('blog|admin|showBlog', array("id_blog"=>$id_blog, "kind"=>0)).'">'.CopixI18N::get('blog|blog.nav.articles').'</a>';
         $menu = getBlogAdminMenu($blog);
     }
     $tpl->assign('MENU', $menu);
     // EDITION D'UN BLOG
     $articleDAO = CopixDAOFactory::create('blog|blogarticle');
     $article = $articleDAO->get($id_bact);
     $commentDAO = CopixDAOFactory::create('blog|blogarticlecomment');
     $comment = $commentDAO->get($id_bacc);
     $comment->name_bact = $article->name_bact;
     $comment->time_bacc = BDToTime($comment->time_bacc);
     $tpl->assign('TITLE_PAGE', CopixI18N::get('blog.get.edit.comment.title'));
     $tpl->assign('MAIN', CopixZone::process('EditComment', array('id_blog' => $id_blog, 'id_bact' => $id_bact, 'id_bacc' => $id_bacc, 'comment' => $comment)));
     return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl);
 }
 /**
  * Validation d'un commentaire.
  */
 public function doValidComment()
 {
     if (Kernel::isSpam()) {
         return new CopixActionReturn(CopixActionReturn::HTTPCODE, CopixHTTPHeader::get404(), "Page introuvable");
     }
     $url_bact = _request('url_bact');
     //On verifit que le blog existe (on r�cup�re le blog avec son nom)
     $dao = CopixDAOFactory::create('blog|blog');
     if (!($blog = $dao->getBlogByName(_request('blog')))) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.unableToFindBlog'), 'back' => CopixUrl::get('')));
     }
     // On v�rifie que le droit de lecture est pr�sent
     if (!BlogAuth::canMakeInBlog('READ', $blog)) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get('')));
     }
     if (!$blog->has_comments_activated) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.add.comment.closed'), 'back' => CopixUrl::get('', array('blog' => _request('blog')))));
     }
     $id_bact = $this->getRequest('id_bact', null);
     if (!BlogAuth::canComment($blog->id_blog)) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.cannotManageComment'), 'back' => CopixUrl::get('', array('blog' => _request('blog')))));
     }
     $tpl = new CopixTpl();
     $commentDAO = CopixDAOFactory::create('blog|blogarticlecomment');
     $comment = CopixDAOFactory::createRecord('blog|blogarticlecomment');
     $this->_validFromPostProperties($comment);
     $comment->date_bacc = date('Ymd');
     $comment->time_bacc = date('Hi');
     $comment->is_online = $blog->type_moderation_comments != 'POST' ? 0 : 1;
     $comment->authorip_bacc = $_SERVER["REMOTE_ADDR"];
     CopixHTMLHeader::addCSSLink(CopixUrl::get('blog||getBlogCss', array('id_blog' => $blog->id_blog)));
     $tpl->assign('blog', $blog);
     $errors = $commentDAO->check($comment);
     //print_r($comment);
     $showErrors = false;
     if ($errors != 1) {
         // Traitement des erreurs
         $showErrors = true;
     } else {
         // Insertion dans la base
         $commentDAO->insert($comment);
     }
     $zoneArticle = CopixZone::process('ShowArticle', array('blog' => $blog, 'article' => $this->getRequest('article', ''), 'errors' => $errors, 'showErrors' => $showErrors, 'comment' => $comment));
     list($title, $article) = explode("{/}", $zoneArticle);
     $tpl->assign('TITLE_PAGE', $title . ' - ' . $blog->name_blog);
     $tpl->assign('Article', $article);
     $tpl->assign('ListLink', CopixZone::process('ListLink', array('blog' => $blog)));
     $tpl->assign('ListCategory', CopixZone::process('ListCategory', array('blog' => $blog)));
     $tpl->assign('ListArchive', CopixZone::process('ListArchive', array('blog' => $blog)));
     $tpl->assign('ListPage', CopixZone::process('ListPage', array('blog' => $blog)));
     $tpl->assign('ListSearch', CopixZone::process('ListSearch', array('blog' => $blog)));
     if (!$showErrors) {
         if ($comment->is_online == 1) {
             return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('blog||showArticle', array('blog' => urlencode($blog->url_blog), 'article' => _request('article'))) . '#comments');
         } else {
             return CopixActionGroup::process('genericTools|Messages::getInformation', array('message' => CopixI18N::get('blog.comments.offline.info'), 'continue' => CopixUrl::get('blog|default|showArticle', array('blog' => $blog->url_blog, 'article' => $url_bact))));
         }
     }
     //		$menu = array();
     $parent = Kernel::getModParentInfo("MOD_BLOG", $blog->id_blog);
     //print_r($parent);
     $blog->parent = $parent;
     /*
             if ($parent['type']=='CLUB') {
                 $droit = Kernel::getLevel($parent['type'], $parent['id']);
                 //print_r($droit);
                 if (GroupeService::canMakeInGroupe('VIEW_HOME', $droit))
                     $menu[] = array('url'=>CopixUrl::get ('groupe||getHome', array("id"=>$parent['id'])), 'txt'=>CopixI18N::get ('blog.menuToGroup'));
             }
             if (BlogAuth::canMakeInBlog('ACCESS_ADMIN',$blog))
                 $menu[] = array('url'=>CopixUrl::get ('admin|showBlog', array("id_blog"=>$blog->id_blog)), 'txt'=>CopixI18N::get ('blog.menuAdmin'));
     */
     //print_r($menu);
     $menu = array();
     if (BlogAuth::canMakeInBlog('ACCESS_ADMIN', $blog)) {
         $menu = getBlogAdminMenu($blog);
     }
     $tpl->assign('MENU', $menu);
     CopixHtmlHeader::addOthers('<link rel="alternate" href="' . CopixUrl::get('blog||rss', array("blog" => $blog->url_blog)) . '" type="application/rss+xml" title="' . htmlentities($blog->name_blog) . '" />');
     if ($blog->template) {
         $MAIN = $tpl->fetch($blog->template);
     } else {
         $MAIN = $tpl->fetch('blog_main.tpl');
     }
     $tpl->assign('MAIN', $MAIN);
     $tpl->assign('HEADER_MODE', 'compact');
     return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl);
 }
 /**
  * Pr�paration � l'�dition d'un article.
  */
 public function doPrepareEditArticle()
 {
     CopixHTMLHeader::addJSLink(_resource("js/jquery/jquery.ui.datepicker-fr.js"));
     $id_blog = $this->getRequest('id_blog', null);
     $blogDAO = CopixDAOFactory::create('blog|blog');
     $blog = $blogDAO->get($id_blog);
     if ($id_blog == null) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.param'), 'back' => CopixUrl::get('blog|admin|listBlog')));
     }
     if (!BlogAuth::canMakeInBlog('ADMIN_ARTICLES', $blog)) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.cannotManageArticle'), 'back' => CopixUrl::get('blog|admin|listBlog')));
     }
     $tpl = new CopixTpl();
     $tabSelectCat = array();
     $id_bact = $this->getRequest('id_bact', null);
     $article = CopixDAOFactory::createRecord('blogarticle');
     // Pr�paration du filtre CATEGORIES
     $blogArticleCategoryDAO = CopixDAOFactory::create('blog|blogarticlecategory');
     $resArticleCategory = $blogArticleCategoryDAO->findAllOrder($id_blog);
     if ($id_bact != null) {
         // EDITION D'UN BILLET
         $articleDAO = CopixDAOFactory::create('blog|blogarticle');
         $article = $articleDAO->get($id_bact);
         $article->time_bact = BDToTime($article->time_bact);
         // Recherche des cat�gories correspondantes � cet article
         $artctgDAO = CopixDAOFactory::create('blog|blogarticle_blogarticlecategory');
         $tabSelectCat = $artctgDAO->findIdCategoryForArticle($article->id_bact);
         //var_dump($tabSelectCat);
         //$tpl->assign ('TITLE_PAGE', CopixI18N::get('blog.get.edit.article.title'));
         // Si l'article est en ligne, il faut les droits de modération pour le modifier.
         if ($article->is_online && !BlogAuth::canMakeInBlog('ADMIN_ARTICLE_DELETE', $blog)) {
             return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.cannotManageArticle'), 'back' => CopixUrl::get('blog|admin|listBlog')));
         }
     } else {
         // CREATION D'UN BILLET
         //$article->date_bact = date('Ymd');
         //$article->time_bact = date('H:i');
         //$tpl->assign ('TITLE_PAGE', CopixI18N::get('blog.get.create.article.title'));
         //$article = $this->_getSessionArticle();
         $article->is_online = CopixConfig::get('blog|blog.default.default_is_online_article');
         $article->format_bact = $blog->default_format_articles;
         if (count($resArticleCategory) == 1) {
             $tabSelectCat[] = $resArticleCategory[0]->id_bacg;
         }
         //print_r($article);
         //die();
         //$tabSelectCat = $article->tabSelectCat;
     }
     $tpl->assign('BODY_ON_LOAD', "setDatePicker('#date_bact')");
     $tpl->assign('TITLE_PAGE', $blog->name_blog);
     //		$menu = '<a href="'.CopixUrl::get ('blog|admin|showBlog', array("id_blog"=>$id_blog, "kind"=>0)).'">'.CopixI18N::get('blog|blog.nav.articles').'</a>';
     $menu = getBlogAdminMenu($blog, 0);
     $tpl->assign('MENU', $menu);
     $tabArticleCategory = array();
     foreach ($resArticleCategory as $cat) {
         if (in_array($cat->id_bacg, $tabSelectCat)) {
             $cat->selected = true;
         } else {
             $cat->selected = false;
         }
         array_push($tabArticleCategory, $cat);
     }
     $kind = $this->getRequest('kind', '0');
     $tpl->assign('MAIN', CopixZone::process('EditArticle', array('id_blog' => $id_blog, 'id_bact' => $id_bact, 'article' => $article, 'kind' => $kind, 'tabArticleCategory' => $tabArticleCategory)));
     return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl);
 }
 /**
  * Préparation à l'affichage de la modif d'un blog
  * @todo rendre la création impossible
  */
 function doPrepareEditBlog()
 {
     $id_blog = $this->getRequest('id_blog', null);
     $blogDAO = CopixDAOFactory::create('blog|blog');
     $blog = $blogDAO->get($id_blog);
     if (!BlogAuth::canMakeInBlog('ADMIN_OPTIONS', $blog)) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.cannotManageBlog'), 'back' => $blog ? CopixUrl::get('|', array('blog' => $blog->url_blog)) : CopixUrl::get('||')));
     }
     $tpl = new CopixTpl();
     $tabFunctions = returnAllBlogFunctions();
     if ($id_blog != null) {
         // EDITION D'UN BLOG
         //$tpl->assign ('TITLE_PAGE', CopixI18N::get('blog.get.edit.blog.title'));
         $tpl->assign('TITLE_PAGE', $blog->name_blog);
         $blogFunctionsDAO = CopixDAOFactory::create('blog|blogfunctions');
         $resBlogFunctions = $blogFunctionsDAO->get($id_blog);
     } else {
         // CREATION D'UN BLOG
         $blog = null;
         $resBlogFunctions = null;
         $tpl->assign('TITLE_PAGE', CopixI18N::get('blog.get.create.blog.title'));
     }
     $menu = getBlogAdminMenu($blog, 4);
     $tpl->assign('MENU', $menu);
     $tabBlogFunctions = array();
     foreach ($tabFunctions as $fct) {
         if ($resBlogFunctions != null) {
             eval('$fct->selected = $resBlogFunctions->' . $fct->value . ';');
         } else {
             $fct->selected = 1;
         }
         array_push($tabBlogFunctions, $fct);
     }
     $tpl->assign('MAIN', CopixZone::process('EditBlog', array('id_blog' => $id_blog, 'blog' => $blog, 'kind' => $this->getRequest('kind', 0), 'tabBlogFunctions' => $tabBlogFunctions)));
     return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl);
 }