Exemplo n.º 1
0
$okt->faq->filtersStart();
# ré-initialisation filtres
if (!empty($_GET['init_filters'])) {
    $okt->faq->filters->initFilters();
    http::redirect($okt->faq->config->url);
}
# paramètres personnalisés
if (!empty($aFaqCustomParams) && is_array($aFaqCustomParams)) {
    $aFaqParams = array_merge($aFaqParams, $aFaqCustomParams);
}
# initialisation des filtres
$okt->faq->filters->setQuestionsParams($aFaqParams);
$okt->faq->filters->getFilters();
# initialisation de la pagination
$iNumFilteredQuestions = $okt->faq->getQuestions($aFaqParams, true);
$oFaqPager = new publicPager($okt->faq->filters->params->page, $iNumFilteredQuestions, $okt->faq->filters->params->nb_per_page);
$iNumPages = $oFaqPager->getNbPages();
$okt->faq->filters->normalizePage($iNumPages);
$aFaqParams['limit'] = ($okt->faq->filters->params->page - 1) * $okt->faq->filters->params->nb_per_page . ',' . $okt->faq->filters->params->nb_per_page;
# récupération des questions
$faqList = $okt->faq->getQuestions($aFaqParams);
$count_line = 0;
while ($faqList->fetch()) {
    $faqList->odd_even = $count_line % 2 == 0 ? 'even' : 'odd';
    $count_line++;
    $faqList->url = $faqList->getQuestionUrl();
    if (!$okt->faq->config->enable_rte) {
        $faqList->content = util::nlToP($faqList->content);
    }
    if ($okt->faq->config->public_truncat_char > 0) {
        $faqList->content = html::clean($faqList->content);
Exemplo n.º 2
0
 /**
  * Affichage de la liste des articles d'une rubrique.
  *
  */
 public function newsCategory($aMatches)
 {
     # module actuel
     $this->okt->page->module = 'news';
     $this->okt->page->action = 'category';
     # si les rubriques ne sont pas actives -> 404
     if (!$this->okt->news->config->categories['enable']) {
         $this->serve404();
     }
     # récupération de la rubrique en fonction du slug
     if (!empty($aMatches[0])) {
         $sCategorySlug = $aMatches[0];
     } else {
         $this->serve404();
     }
     # récupération de la rubrique
     $rsCategory = $this->okt->news->categories->getCategories(array('active' => 1, 'language' => $this->okt->user->language, 'slug' => $sCategorySlug));
     if ($rsCategory->isEmpty()) {
         $this->serve404();
     }
     # permission de lecture ?
     if (!$this->okt->news->isPublicAccessible()) {
         if ($this->okt->user->is_guest) {
             http::redirect(html::escapeHTML(usersHelpers::getLoginUrl(newsHelpers::getCategoryUrl($rsCategory->slug))));
         } else {
             $this->serve404();
         }
     }
     # is default route ?
     $bIsDefaultRoute = $this->isDefaultRoute(__CLASS__, __FUNCTION__, $sCategorySlug);
     # formatage description rubrique
     if (!$this->okt->news->config->categories['rte']) {
         $rsCategory->content = util::nlToP($rsCategory->content);
     }
     # initialisation paramètres
     $aNewsParams = array('active' => 1, 'language' => $this->okt->user->language, 'category_id' => $rsCategory->id);
     # initialisation des filtres
     $this->okt->news->filtersStart('public');
     # ré-initialisation filtres
     if (!empty($_GET['init_news_filters'])) {
         $this->okt->news->filters->initFilters();
         http::redirect($this->okt->news->config->url);
     }
     # initialisation des filtres
     $this->okt->news->filters->setPostsParams($aNewsParams);
     $this->okt->news->filters->getFilters();
     # initialisation de la pagination
     $iNumFilteredPosts = $this->okt->news->getPostsCount($aNewsParams);
     $oNewsPager = new publicPager($this->okt->news->filters->params->page, $iNumFilteredPosts, $this->okt->news->filters->params->nb_per_page);
     $iNumPages = $oNewsPager->getNbPages();
     $this->okt->news->filters->normalizePage($iNumPages);
     $aNewsParams['limit'] = ($this->okt->news->filters->params->page - 1) * $this->okt->news->filters->params->nb_per_page . ',' . $this->okt->news->filters->params->nb_per_page;
     # récupération des articles
     $rsPostsList = $this->okt->news->getPosts($aNewsParams);
     # meta description
     if (!empty($rsCategory->meta_description)) {
         $this->okt->page->meta_description = $rsCategory->meta_description;
     } elseif (!empty($this->okt->news->config->meta_description[$this->okt->user->language])) {
         $this->okt->page->meta_description = $this->okt->news->config->meta_description[$this->okt->user->language];
     } else {
         $this->okt->page->meta_description = util::getSiteMetaDesc();
     }
     # meta keywords
     if (!empty($rsCategory->meta_keywords)) {
         $this->okt->page->meta_keywords = $rsCategory->meta_keywords;
     } elseif (!empty($this->okt->news->config->meta_keywords[$this->okt->user->language])) {
         $this->okt->page->meta_keywords = $this->okt->news->config->meta_keywords[$this->okt->user->language];
     } else {
         $this->okt->page->meta_keywords = util::getSiteMetaKeywords();
     }
     # ajout du numéro de page au title
     if ($this->okt->news->filters->params->page > 1) {
         $this->okt->page->addTitleTag(sprintf(__('c_c_Page_%s'), $this->okt->news->filters->params->page));
     }
     # title tag
     $this->okt->page->addTitleTag(!empty($rsCategory->title_tag) ? $rsCategory->title_tag : $rsCategory->title);
     # fil d'ariane
     if (!$bIsDefaultRoute) {
         $this->okt->page->breadcrumb->add($this->okt->news->getName(), $this->okt->news->config->url);
         # ajout de la hiérarchie des rubriques au fil d'ariane
         $rsPath = $this->okt->news->categories->getPath($rsCategory->id, true, $this->okt->user->language);
         while ($rsPath->fetch()) {
             $this->okt->page->breadcrumb->add($rsPath->title, newsHelpers::getCategoryUrl($rsPath->slug));
         }
     }
     # titre de la page
     $this->okt->page->setTitle($rsCategory->title);
     # titre SEO de la page
     $this->okt->page->setTitleSeo($rsCategory->title_seo);
     # raccourcis
     $rsPostsList->numPages = $iNumPages;
     $rsPostsList->pager = $oNewsPager;
     # affichage du template
     echo $this->okt->tpl->render($this->okt->news->getCategoryTplPath($rsCategory->tpl), array('rsPostsList' => $rsPostsList, 'rsCategory' => $rsCategory));
 }
Exemplo n.º 3
0
                }
                $mail_body .= 'Cordialement' . PHP_EOL . PHP_EOL . '--' . PHP_EOL . 'Email automatique,' . PHP_EOL . 'ne repondez pas à ce message';
                $oMail->message->setBody($mail_body);
                $dests = array_map('trim', explode(',', $okt->guestbook->config->emails_list));
                $oMail->message->setTo($dests);
                $oMail->send();
            }
            http::redirect($okt->guestbook->config->url . '?added=1');
        }
    }
}
# signatures à afficher
$aGuestbookParams = array('is_not_spam' => true, 'is_visible' => true, 'language' => $okt->user->language);
# initialisation de la pagination
$iPage = !empty($_GET['page']) ? intval($_GET['page']) : 1;
$oGuestbookPager = new publicPager($iPage, $okt->guestbook->getSig($aGuestbookParams, true), $okt->guestbook->config->nbparpage_public);
$iNumPages = $oGuestbookPager->getNbPages();
# récupération des signatures
$aGuestbookParams['limit'] = ($iPage - 1) * $okt->guestbook->config->nbparpage_public . ',' . $okt->guestbook->config->nbparpage_public;
$signaturesList = $okt->guestbook->getSig($aGuestbookParams);
$aLanguages = array();
foreach ($okt->languages->list as $aLanguage) {
    if (isset($okt->guestbook->config->public_url[$aLanguage['title']])) {
        $aLanguages[$aLanguage['title']] = $aLanguage['title'];
    }
}
# formatage des données
$num_sig = 0;
while ($signaturesList->fetch()) {
    $signaturesList->number = ++$num_sig;
    # note
Exemplo n.º 4
0
 /**
  * Affichage de la liste des produits d'une rubrique.
  *
  */
 public function catalogCategory($aMatches)
 {
     # si les rubriques ne sont pas actives -> 404
     if (!$this->okt->catalog->config->categories_enable) {
         $this->serve404();
     }
     # module actuel
     $this->okt->page->module = 'catalog';
     $this->okt->page->action = 'category';
     # récupération de la rubrique en fonction du slug
     if (!empty($aMatches[0])) {
         $slug = $aMatches[0];
     } else {
         $this->serve404();
     }
     $rsCategory = $this->okt->catalog->getCategories(array('slug' => $slug, 'visibility' => 1));
     if ($rsCategory->isEmpty()) {
         $this->serve404();
     }
     # route par défaut ?
     $bIsDefaultRoute = $this->isDefaultRoute(__CLASS__, __FUNCTION__, $slug);
     # initialisation des paramètres
     $aProductsParams = array('visibility' => 1, 'category_id' => $rsCategory->id);
     # initialisation des filtres
     $this->okt->catalog->filtersStart();
     # ré-initialisation filtres
     if (!empty($_GET['catalog_init_filters'])) {
         $this->okt->catalog->filters->initFilters();
         http::redirect($this->okt->catalog->config->url);
     }
     # initialisation des filtres
     $this->okt->catalog->filters->setCatalogParams($aProductsParams);
     $this->okt->catalog->filters->getFilters();
     # initialisation de la pagination
     $num_filtered_products = $this->okt->catalog->getProds($aProductsParams, true);
     $oProductsPager = new publicPager($this->okt->catalog->filters->params->page, $num_filtered_products, $this->okt->catalog->filters->params->nb_per_page);
     $iNumPages = $oProductsPager->getNbPages();
     $this->okt->catalog->filters->normalizePage($iNumPages);
     $aProductsParams['limit'] = ($this->okt->catalog->filters->params->page - 1) * $this->okt->catalog->filters->params->nb_per_page . ',' . $this->okt->catalog->filters->params->nb_per_page;
     # récupération des produits
     $productsList = $this->okt->catalog->getProds($aProductsParams);
     $count_line = 0;
     while ($productsList->fetch()) {
         $productsList->odd_even = $count_line % 2 == 0 ? 'even' : 'odd';
         $count_line++;
         $productsList->url = $productsList->getProductUrl();
         if (!$this->okt->catalog->config->rte_enable) {
             $productsList->content = util::nlToP($productsList->content);
         }
         if ($this->okt->catalog->config->public_truncat_char > 0) {
             $productsList->content = html::clean($productsList->content);
             $productsList->content = text::cutString($productsList->content, $this->okt->catalog->config->public_truncat_char);
         }
         $productsList->category_url = $productsList->getCategoryUrl();
     }
     # meta description
     if ($this->okt->catalog->config->meta_description != '') {
         $this->okt->page->meta_description = $this->okt->catalog->config->meta_description;
     } else {
         $this->okt->page->meta_description = util::getSiteMetaDesc();
     }
     # meta keywords
     if ($this->okt->catalog->config->meta_keywords != '') {
         $this->okt->page->meta_keywords = $this->okt->catalog->config->meta_keywords;
     } else {
         $this->okt->page->meta_keywords = util::getSiteMetaKeywords();
     }
     # ajout du numéro de page au title
     if ($this->okt->catalog->filters->params->page > 1) {
         $this->okt->page->addTitleTag(sprintf(__('c_c_Page_%s'), $this->okt->catalog->filters->params->page));
     }
     # title tag du module
     $this->okt->page->addTitleTag($this->okt->catalog->getTitle());
     # fil d'ariane
     if (!$bIsDefaultRoute) {
         $this->okt->page->breadcrumb->add($this->okt->catalog->getName(), $this->okt->catalog->config->url);
         $rsPath = $this->okt->catalog->getPath($rsCategory->id, true);
         while ($rsPath->fetch()) {
             $this->okt->page->addTitleTag($rsPath->name);
             $this->okt->page->breadcrumb->add($rsPath->name, $this->okt->page->getBaseUrl() . $this->okt->catalog->config->public_catalog_url . '/' . $rsPath->slug);
         }
     }
     # titre de la page
     $this->okt->page->setTitle($rsCategory->name);
     # titre SEO de la page
     $this->okt->page->setTitleSeo($rsCategory->name);
     # raccourcis
     $productsList->numPages = $iNumPages;
     $productsList->pager = $oProductsPager;
     # affichage du template
     echo $this->okt->tpl->render('catalog_list_tpl', array('productsList' => $productsList, 'rsCategory' => $rsCategory));
 }
Exemplo n.º 5
0
 /**
  * Affichage de la liste des questions.
  *
  */
 public function faqList()
 {
     # module actuel
     $this->okt->page->module = 'faq';
     $this->okt->page->action = 'list_questions';
     # paramètres de base de selection des articles
     $aFaqParams = array('visibility' => 1, 'language' => $this->okt->user->language);
     # initialisation des filtres
     $this->okt->faq->filtersStart();
     # ré-initialisation filtres
     if (!empty($_GET['init_filters'])) {
         $this->okt->faq->filters->initFilters();
         http::redirect($this->okt->faq->config->url);
     }
     # initialisation des filtres
     $this->okt->faq->filters->setQuestionsParams($aFaqParams);
     $this->okt->faq->filters->getFilters();
     # initialisation de la pagination
     $iNumFilteredQuestions = $this->okt->faq->getQuestions($aFaqParams, true);
     $oFaqPager = new publicPager($this->okt->faq->filters->params->page, $iNumFilteredQuestions, $this->okt->faq->filters->params->nb_per_page);
     $iNumPages = $oFaqPager->getNbPages();
     $this->okt->faq->filters->normalizePage($iNumPages);
     $aFaqParams['limit'] = ($this->okt->faq->filters->params->page - 1) * $this->okt->faq->filters->params->nb_per_page . ',' . $this->okt->faq->filters->params->nb_per_page;
     # récupération des questions
     $faqList = $this->okt->faq->getQuestions($aFaqParams);
     $count_line = 0;
     while ($faqList->fetch()) {
         $faqList->odd_even = $count_line % 2 == 0 ? 'even' : 'odd';
         $count_line++;
         $faqList->url = $faqList->getQuestionUrl();
         if (!$this->okt->faq->config->enable_rte) {
             $faqList->content = util::nlToP($faqList->content);
         }
         if ($this->okt->faq->config->public_truncat_char > 0) {
             $faqList->content = html::clean($faqList->content);
             $faqList->content = text::cutString($faqList->content, $this->okt->faq->config->public_truncat_char);
         }
     }
     unset($count_line);
     # fil d'ariane
     if (!$this->isDefaultRoute(__CLASS__, __FUNCTION__)) {
         $this->okt->page->breadcrumb->add($this->okt->faq->getName(), $this->okt->faq->config->url);
     }
     # ajout du numéro de page au title
     if ($this->okt->faq->filters->params->page > 1) {
         $this->okt->page->addTitleTag(sprintf(__('c_c_Page_%s'), $this->okt->faq->filters->params->page));
     }
     # title tag du module
     $this->okt->page->addTitleTag($this->okt->faq->getTitle());
     # titre de la page
     $this->okt->page->setTitle($this->okt->faq->getName());
     # titre SEO de la page
     $this->okt->page->setTitleSeo($this->okt->faq->getNameSeo());
     # raccourcis
     $faqList->numPages = $iNumPages;
     $faqList->pager = $oFaqPager;
     # affichage du template
     if ($this->okt->faq->config->enable_categories) {
         $sTemplatename = 'faq_list_questions_with_categories_tpl';
     } else {
         $sTemplatename = 'faq_list_questions_tpl';
     }
     echo $this->okt->tpl->render($sTemplatename, array('faqList' => $faqList));
 }
 /**
  * Affichage de la page guestbook.
  *
  */
 public function guestbookPage()
 {
     # module actuel
     $this->okt->page->module = 'guestbook';
     $this->okt->page->action = 'list';
     # -- CORE TRIGGER : publicModuleGuestbookControllerStart
     $this->okt->triggers->callTrigger('publicModuleGuestbookControllerStart', $this->okt, $this->okt->guestbook->config->captcha);
     $aSigData = array('language' => $this->okt->user->language, 'message' => '', 'nom' => '', 'email' => '', 'url' => 'http://', 'note' => 'nc');
     # formulaire envoyé
     if (!empty($_POST['sign'])) {
         $aSigData = array('language' => isset($_POST['language']) ? $_POST['language'] : $this->okt->user->language, 'message' => isset($_POST['msg']) ? $_POST['msg'] : null, 'nom' => isset($_POST['nom']) ? $_POST['nom'] : null, 'email' => isset($_POST['email']) ? $_POST['email'] : null, 'url' => isset($_POST['url']) ? $_POST['url'] : 'http://', 'note' => isset($_POST['note']) ? $_POST['note'] : null, 'ip' => http::realIP(), 'visible' => $this->okt->guestbook->config->validation ? 0 : 1);
         $aSigData = $this->okt->guestbook->handleUserData($aSigData);
         # -- CORE TRIGGER : publicModuleGuestbookControllerFormCheckValues
         $this->okt->triggers->callTrigger('publicModuleGuestbookControllerFormCheckValues', $this->okt, $this->okt->guestbook->config->captcha);
         if (!$this->okt->error->hasError()) {
             if ($this->okt->guestbook->addSig($aSigData)) {
                 if ($this->okt->guestbook->config->emails_list != '') {
                     $oMail = new oktMail($this->okt);
                     $oMail->setFrom();
                     $oMail->message->setSubject('Nouveau message sur le livre d’or de ' . util::getSiteTitle());
                     $mail_body = 'Bonjour,' . "\n\n" . 'Un utilisateur a laissé un nouveau message ' . 'sur le livre d’or de "' . util::getSiteTitle() . '".' . "\n\n";
                     if ($this->okt->guestbook->config->validation) {
                         $mail_body .= 'Ce nouveau message peut être validé ' . 'en vous rendant sur l’administration.' . "\n\n";
                     }
                     $mail_body .= 'Cordialement' . PHP_EOL . PHP_EOL . '--' . PHP_EOL . 'Email automatique,' . PHP_EOL . 'ne repondez pas à ce message';
                     $oMail->message->setBody($mail_body);
                     $dests = array_map('trim', explode(',', $this->okt->guestbook->config->emails_list));
                     $oMail->message->setTo($dests);
                     $oMail->send();
                 }
                 http::redirect($this->okt->guestbook->config->url . '?added=1');
             }
         }
     }
     # signatures à afficher
     $aGuestbookParams = array('is_not_spam' => true, 'is_visible' => true, 'language' => $this->okt->user->language);
     # initialisation de la pagination
     $iPage = !empty($_GET['page']) ? intval($_GET['page']) : 1;
     $oGuestbookPager = new publicPager($iPage, $this->okt->guestbook->getSig($aGuestbookParams, true), $this->okt->guestbook->config->nbparpage_public);
     $iNumPages = $oGuestbookPager->getNbPages();
     # récupération des signatures
     $aGuestbookParams['limit'] = ($iPage - 1) * $this->okt->guestbook->config->nbparpage_public . ',' . $this->okt->guestbook->config->nbparpage_public;
     $signaturesList = $this->okt->guestbook->getSig($aGuestbookParams);
     $aLanguages = array();
     foreach ($this->okt->languages->list as $aLanguage) {
         if (isset($this->okt->guestbook->config->public_url[$aLanguage['code']])) {
             $aLanguages[$aLanguage['title']] = $aLanguage['code'];
         }
     }
     # formatage des données
     $num_sig = 0;
     while ($signaturesList->fetch()) {
         $signaturesList->number = ++$num_sig;
         # note
         if ($this->okt->guestbook->config->chp_note) {
             if (!is_numeric($signaturesList->note)) {
                 $signaturesList->note = 'nc';
             } else {
                 $signaturesList->note = ceil($signaturesList->note) . '/20';
             }
         } else {
             $signaturesList->note = null;
         }
     }
     # meta description
     if ($this->okt->guestbook->config->meta_description[$this->okt->user->language] != '') {
         $this->okt->page->meta_description = $this->okt->guestbook->config->meta_description[$this->okt->user->language];
     } else {
         $this->okt->page->meta_description = util::getSiteMetaDesc();
     }
     # meta keywords
     if ($this->okt->guestbook->config->meta_keywords[$this->okt->user->language] != '') {
         $this->okt->page->meta_keywords = $this->okt->guestbook->config->meta_keywords[$this->okt->user->language];
     } else {
         $this->okt->page->meta_keywords = util::getSiteMetaKeywords();
     }
     # ajout du numéro de page au title
     if ($iPage > 1) {
         $this->okt->page->addTitleTag(sprintf(__('c_c_Page_%s'), $iPage));
     }
     # title tag
     $this->okt->page->addTitleTag($this->okt->guestbook->getTitle());
     # titre de la page
     $this->okt->page->setTitle($this->okt->guestbook->getName());
     # titre SEO de la page
     $this->okt->page->setTitleSeo($this->okt->guestbook->getNameSeo());
     # fil d'ariane de la page
     if (!$this->isDefaultRoute(__CLASS__, __FUNCTION__)) {
         $this->okt->page->breadcrumb->add($this->okt->guestbook->getName(), $this->okt->guestbook->config->url);
     }
     # raccourcis
     $signaturesList->numPages = $iNumPages;
     $signaturesList->pager = $oGuestbookPager;
     # affichage du template
     echo $this->okt->tpl->render('guestbook_tpl', array('aSigData' => $aSigData, 'signaturesList' => $signaturesList, 'aLanguages' => $aLanguages));
 }
Exemplo n.º 7
0
$okt->catalog->filtersStart();
# ré-initialisation filtres
if (!empty($_GET['catalog_init_filters'])) {
    $okt->catalog->filters->initFilters();
    http::redirect($okt->catalog->config->url);
}
# paramètres personnalisés
if (!empty($aProductsCustomParams) && is_array($aProductsCustomParams)) {
    $aProductsParams = array_merge($aProductsParams, $aProductsCustomParams);
}
# initialisation des filtres
$okt->catalog->filters->setCatalogParams($aProductsParams);
$okt->catalog->filters->getFilters();
# initialisation de la pagination
$num_filtered_products = $okt->catalog->getProds($aProductsParams, true);
$oProductsPager = new publicPager($okt->catalog->filters->params->page, $num_filtered_products, $okt->catalog->filters->params->nb_per_page);
$iNumPages = $oProductsPager->getNbPages();
$okt->catalog->filters->normalizePage($iNumPages);
$aProductsParams['limit'] = ($okt->catalog->filters->params->page - 1) * $okt->catalog->filters->params->nb_per_page . ',' . $okt->catalog->filters->params->nb_per_page;
# récupération des produits
$productsList = $okt->catalog->getProds($aProductsParams);
$count_line = 0;
while ($productsList->fetch()) {
    $productsList->odd_even = $count_line % 2 == 0 ? 'even' : 'odd';
    $count_line++;
    $productsList->url = $productsList->getProductUrl();
    if (!$okt->catalog->config->rte_enable) {
        $productsList->content = util::nlToP($productsList->content);
    }
    if ($okt->catalog->config->public_truncat_char > 0) {
        $productsList->content = html::clean($productsList->content);