public function listApprobationRequestAction() { if ($this->view->aclIsAllowed('news', 'publish')) { $tables = array('NewsData' => array('ND_ID', 'ND_CategoryID', 'ND_ReleaseDate'), 'NewsIndex' => array('NI_NewsDataID', 'NI_LanguageID', 'NI_Title', 'NI_Status'), 'CategoriesIndex' => array('CI_Title')); $field_list = array('NI_Title' => array('width' => '400px'), 'CI_Title' => array(), 'ND_ReleaseDate' => array('width' => '120px')); $news = new NewsData(); $select = $news->select()->from('NewsData')->setIntegrityCheck(false)->join('NewsIndex', 'NewsData.ND_ID = NewsIndex.NI_NewsDataID')->joinRight('CategoriesIndex', 'NewsData.ND_CategoryID = CategoriesIndex.CI_CategoryID')->joinRight('Languages', 'Languages.L_ID = NewsIndex.NI_LanguageID')->where('NewsData.ND_ToApprove = ?', 1)->where('NewsIndex.NI_LanguageID = CategoriesIndex.CI_LanguageID')->order('NI_Title'); $options = array('disable-export-to-excel' => 'true', 'filters' => array('filter_1' => array('default_value' => null, 'associatedTo' => 'CI_Title', 'choices' => Cible_FunctionsCategories::getFilterCategories($this->_moduleID)), 'filter_2' => array('default_value' => null, 'associatedTo' => 'CI_LanguageID', 'choices' => Cible_FunctionsGeneral::getFilterLanguages())), 'action_panel' => array('width' => '50', 'actions' => array('edit' => array('label' => $this->view->getCibleText('button_edit'), 'url' => "{$this->view->baseUrl()}/news/index/edit/newsID/%ID%/lang/%LANG%/approbation/true", 'findReplace' => array(array('search' => '%ID%', 'replace' => 'ND_ID'), array('search' => '%LANG%', 'replace' => 'L_Suffix')))))); $mylist = new Cible_Paginator($select, $tables, $field_list, $options); $this->view->assign('mylist', $mylist); } }
public static function indexationBuild() { set_time_limit(0); /* * ****** PAGE ******* */ $pageSelect = new PagesIndex(); $select = $pageSelect->select()->where('PI_Status = 1'); $pageData = $pageSelect->fetchAll($select)->toArray(); $cpt = count($pageData); for ($i = 0; $i < $cpt; $i++) { $indexData['action'] = "add"; $indexData['pageID'] = $pageData[$i]['PI_PageID']; $indexData['moduleID'] = 0; $indexData['contentID'] = $pageData[$i]['PI_PageID']; $indexData['languageID'] = $pageData[$i]['PI_LanguageID']; $indexData['title'] = $pageData[$i]['PI_PageTitle']; $indexData['text'] = ''; $indexData['link'] = ''; $indexData['contents'] = $pageData[$i]['PI_PageTitle']; Cible_FunctionsIndexation::indexation($indexData); } /* * ****** TEXT ******* */ if (class_exists('Text', false)) { $textSelect = new Text(); $select = $textSelect->select()->setIntegrityCheck(false)->from('TextData', array('ID' => 'TD_ID', 'LanguageID' => 'TD_LanguageID', 'Text' => 'TD_OnlineText'))->join('Blocks', 'B_ID = TD_BlockID', array('BlockID' => 'B_ID', 'ModuleID' => 'B_ModuleID'))->where('B_Online = 1')->join('PagesIndex', 'PI_PageID = B_PageID', array('PageID' => 'PI_PageID', 'Title' => 'PI_PageTitle'))->where('PI_Status = 1')->where('PI_LanguageID = TD_LanguageID'); $textData = $textSelect->fetchAll($select)->toArray(); $cpt = count($textData); for ($i = 0; $i < $cpt; $i++) { $indexData['action'] = "add"; $indexData['pageID'] = $textData[$i]['PageID']; $indexData['moduleID'] = $textData[$i]['ModuleID']; $indexData['contentID'] = $textData[$i]['ID']; $indexData['languageID'] = $textData[$i]['LanguageID']; $indexData['title'] = $textData[$i]['Title']; $indexData['text'] = ''; $indexData['link'] = ''; $indexData['contents'] = $textData[$i]['Title'] . " " . $textData[$i]['Text']; Cible_FunctionsIndexation::indexation($indexData); } } /* * ********************* */ /* * ****** NEWS ******* */ if (class_exists('NewsData', false)) { $newsSelect = new NewsData(); $select = $newsSelect->select()->setIntegrityCheck(false)->from('NewsData', array('NewsID' => 'ND_ID', 'CategoryID' => 'ND_CategoryID'))->join('NewsIndex', 'NI_NewsDataID = ND_ID', array('LanguageID' => 'NI_LanguageID', 'NewsTitle' => 'NI_Title', 'NewsBrief' => 'NI_Brief', 'NewsText' => 'NI_Text', 'NewsImageAlt' => 'NI_ImageAlt'))->where('NI_Status = 1'); $newsData = $newsSelect->fetchAll($select); $cpt = count($newsData); for ($i = 0; $i < $cpt; $i++) { $indexData['action'] = "add"; $indexData['pageID'] = $newsData[$i]['CategoryID']; $indexData['moduleID'] = 2; $indexData['contentID'] = $newsData[$i]['NewsID']; $indexData['languageID'] = $newsData[$i]['LanguageID']; $indexData['title'] = $newsData[$i]['NewsTitle']; $indexData['text'] = ''; $indexData['link'] = ''; $indexData['contents'] = $newsData[$i]['NewsTitle'] . " " . $newsData[$i]['NewsBrief'] . " " . $newsData[$i]['NewsText'] . " " . $newsData[$i]['NewsImageAlt']; Cible_FunctionsIndexation::indexation($indexData); } } /* * ********************* */ /* * ****** EVENTS ******* */ if (class_exists('EventsIndex', false)) { $eventsSelect = new EventsIndex(); $select = $eventsSelect->select()->setIntegrityCheck(false)->from('EventsIndex', array('ID' => 'EI_EventsDataID', 'LanguageID' => 'EI_LanguageID', 'Title' => 'EI_Title', 'Brief' => 'EI_Brief', 'Text' => 'EI_Text', 'ImageAlt' => 'EI_ImageAlt'))->join('EventsData', 'ED_ID = EI_EventsDataID', array('CategoryID' => 'ED_CategoryID'))->where('EI_Status = 1'); $eventsData = $eventsSelect->fetchAll($select)->toArray(); $cpt = count($eventsData); for ($i = 0; $i < $cpt; $i++) { $indexData['action'] = "add"; $indexData['pageID'] = $eventsData[$i]['CategoryID']; $indexData['moduleID'] = 7; $indexData['contentID'] = $eventsData[$i]['ID']; $indexData['languageID'] = $eventsData[$i]['LanguageID']; $indexData['title'] = $eventsData[$i]['Title']; $indexData['text'] = ''; $indexData['link'] = ''; $indexData['contents'] = $eventsData[$i]['Title'] . " " . $eventsData[$i]['Brief'] . " " . $eventsData[$i]['Text'] . " " . $eventsData[$i]['ImageAlt']; Cible_FunctionsIndexation::indexation($indexData); } } /* * ********************* */ /* * ****** GALLERY ******* */ if (class_exists('Galleries', false)) { $gallerySelect = new Galleries(); $select = $gallerySelect->select()->setIntegrityCheck(false)->from('Galleries', array('ID' => 'G_ID', 'CategoryID' => 'G_CategoryID'))->where('G_Online = 1')->join('GalleriesIndex', 'GI_GalleryID = G_ID', array('LanguageID' => 'GI_LanguageID', 'Title' => 'GI_Title', 'Description' => 'GI_Description'))->join('ImagesIndex', 'II_ImageID = G_ImageID', array('ImageTitle' => 'II_Title', 'ImageDescription' => 'II_Description'))->where('II_LanguageID = GI_LanguageID'); $galleryData = $gallerySelect->fetchAll($select); $cpt = count($galleryData); for ($i = 0; $i < $cpt; $i++) { $indexData['action'] = "add"; $indexData['pageID'] = $galleryData[$i]['CategoryID']; $indexData['moduleID'] = 9; $indexData['contentID'] = $galleryData[$i]['ID']; $indexData['languageID'] = $galleryData[$i]['LanguageID']; $indexData['title'] = $galleryData[$i]['Title']; $indexData['text'] = ''; $indexData['link'] = 'gallery'; $indexData['contents'] = $galleryData[$i]['Title'] . " " . $galleryData[$i]['Description'] . " " . $galleryData[$i]['ImageTitle'] . " " . $galleryData[$i]['ImageDescription']; Cible_FunctionsIndexation::indexation($indexData); $imagesSelect = new GalleriesImages(); $select = $imagesSelect->select()->setIntegrityCheck(false)->from('Galleries_Images', array('ID' => 'GI_ImageID'))->where('GI_GalleryID = ?', $galleryData[$i]['ID'])->where('GI_Online = 1')->join('ImagesIndex', 'II_ImageID = GI_ImageID', array('LanguageID' => 'II_LanguageID', 'Title' => 'II_Title', 'Description' => 'II_Description')); $imagesData = $imagesSelect->fetchAll($select); $cptImage = count($imagesData); for ($y = 0; $y < $cptImage; $y++) { $indexData['action'] = "add"; $indexData['pageID'] = $galleryData[$i]['CategoryID']; $indexData['moduleID'] = 9; $indexData['contentID'] = $galleryData[$i]['ID']; $indexData['languageID'] = $imagesData[$y]['LanguageID']; $indexData['title'] = $imagesData[$y]['Title']; $indexData['text'] = ''; $indexData['link'] = 'image'; $indexData['contents'] = $imagesData[$y]['Title'] . " " . $imagesData[$y]['Description']; Cible_FunctionsIndexation::indexation($indexData); } } } /* * ********************* */ /* * ****** NEWSLETTERS ******* */ if (class_exists('NewsletterRelease', false)) { $newsletterSelect = new NewsletterReleases(); $select = $newsletterSelect->select()->from('Newsletter_Releases', array('ID' => 'NR_ID', 'LanguageID' => 'NR_LanguageID', 'Title' => 'NR_Title'))->where('NR_Online = 1'); $newsletterData = $newsletterSelect->fetchAll($select)->toArray(); $cpt = count($newsletterData); for ($i = 0; $i < $cpt; $i++) { $indexData['action'] = "add"; $indexData['pageID'] = $newsletterData[$i]['ID']; $indexData['moduleID'] = 8; $indexData['contentID'] = $newsletterData[$i]['ID']; $indexData['languageID'] = $newsletterData[$i]['LanguageID']; $indexData['title'] = $newsletterData[$i]['Title']; $indexData['text'] = ''; $indexData['link'] = 'release'; $indexData['contents'] = $newsletterData[$i]['Title']; Cible_FunctionsIndexation::indexation($indexData); $articlesSelect = new NewsletterArticles(); $select = $articlesSelect->select()->from('Newsletter_Articles', array('ID' => 'NA_ID', 'Title' => 'NA_Title', 'Resume' => 'NA_Resume', 'Text' => 'NA_Text'))->where('NA_ReleaseID = ?', $newsletterData[$i]['ID']); $articlesData = $articlesSelect->fetchAll($select); $cptArticle = count($articlesData); for ($y = 0; $y < $cptArticle; $y++) { $indexData['action'] = "add"; $indexData['pageID'] = $newsletterData[$i]['ID']; $indexData['moduleID'] = 8; $indexData['contentID'] = $articlesData[$y]['ID']; $indexData['languageID'] = $newsletterData[$i]['LanguageID']; $indexData['title'] = $articlesData[$y]['Title']; $indexData['text'] = ''; $indexData['link'] = 'article'; $indexData['contents'] = $articlesData[$y]['Title'] . " " . $articlesData[$y]['Resume'] . " " . $articlesData[$y]['Text']; Cible_FunctionsIndexation::indexation($indexData); } } } /* * ********************* */ }
public function indexAction() { $params['keywords'] = $searchParams['words'] = $searchWords = $this->_getParam('words'); $this->view->assign('words', $searchParams['words']); $languageID = $lang = Zend_Registry::get('languageID'); $db = Zend_Registry::get("db"); $searchResults = array(); $searchCount = 0; $searchResult = Cible_FunctionsIndexation::indexationSearch($searchParams); //$this->view->dump($searchResult); /* * ********* TEXT ************* */ $moduleID = 1; $i = 0; $y = 0; $pageSelect = new PagesIndex(); $searchPage = array(); $pageIDArray = array(); foreach ($searchResult as $result) { if ($result['moduleID'] == $moduleID && $result['languageID'] == $languageID || $result['moduleID'] == 0 && $result['languageID'] == $languageID) { $select = $pageSelect->select()->where('PI_PageID = ?', $result['pageID'])->where('PI_LanguageID = ?', $result['languageID'])->where('PI_Status = 1'); $pageData = $pageSelect->fetchRow($select); if ($pageData && !in_array($result['pageID'], $pageIDArray)) { $pageIDArray[] = $result['pageID']; $searchPage[$y]['moduleID'] = $result['moduleID']; $searchPage[$y]['pageID'] = $result['pageID']; $searchPage[$y]['contentID'] = $result['contentID']; $searchPage[$y]['languageID'] = $result['languageID']; $searchPage[$y]['title'] = $result['title']; $searchPage[$y]['text'] = $result['text']; $searchPage[$y]['link'] = $result['link']; $searchPage[$y]['pageTitle'] = $pageData['PI_PageTitle']; $searchPage[$y]['pageIndex'] = $pageData['PI_PageIndex']; $y++; $searchCount++; } array_splice($searchResult, $i, 1); } else { $i++; } } $this->view->assign('searchPage', $searchPage); /* * *************************** */ /* * ********* NEWS ************* */ $moduleID = 2; $i = 0; $y = 0; $searchNews = array(); foreach ($searchResult as $result) { if ($result['moduleID'] == $moduleID && $result['languageID'] == $languageID) { $newsSelect = new NewsData(); $select = $newsSelect->select()->where('ND_ID = ?', $result['contentID']); $newsData = $newsSelect->fetchRow($select); $link = Cible_FunctionsCategories::getPagePerCategoryView($result['pageID'], 'details'); if ($newsData['ND_ReleaseDate'] <= date('Y-m-d') && $link != '') { $searchNews[$y]['moduleID'] = $result['moduleID']; $searchNews[$y]['pageID'] = $result['pageID']; $searchNews[$y]['contentID'] = $result['contentID']; $searchNews[$y]['languageID'] = $result['languageID']; $searchNews[$y]['title'] = $result['title']; $searchNews[$y]['text'] = $result['text']; $searchNews[$y]['link'] = $link; $y++; $searchCount++; } array_splice($searchResult, $i, 1); } else { $i++; } } $this->view->assign('searchNews', $searchNews); /* * *************************** */ /* * ********* EVENTS ************* */ $moduleID = 7; $i = 0; $y = 0; $searchEvents = array(); foreach ($searchResult as $result) { if ($result['moduleID'] == $moduleID && $result['languageID'] == $languageID) { $link = Cible_FunctionsCategories::getPagePerCategoryView($result['pageID'], 'details'); if ($link != '') { $searchEvents[$y]['moduleID'] = $result['moduleID']; $searchEvents[$y]['pageID'] = $result['pageID']; $searchEvents[$y]['contentID'] = $result['contentID']; $searchEvents[$y]['languageID'] = $result['languageID']; $searchEvents[$y]['title'] = $result['title']; $searchEvents[$y]['text'] = $result['text']; $searchEvents[$y]['link'] = $link; $y++; $searchCount++; } array_splice($searchResult, $i, 1); } else { $i++; } } $this->view->assign('searchEvents', $searchEvents); /* * *************************** */ /* * ********* NEWSLETTERS ************* */ $moduleID = 8; $i = 0; $y = 0; $searchNewsletters = array(); foreach ($searchResult as $result) { if ($result['moduleID'] == $moduleID && $result['languageID'] == $languageID) { $searchNewsletters[$y]['moduleID'] = $result['moduleID']; $searchNewsletters[$y]['pageID'] = $result['pageID']; $searchNewsletters[$y]['contentID'] = $result['contentID']; $searchNewsletters[$y]['languageID'] = $result['languageID']; $searchNewsletters[$y]['title'] = $result['title']; $searchNewsletters[$y]['text'] = $result['text']; if ($result['link'] == 'release') { $searchNewsletters[$y]['link'] = Cible_FunctionsCategories::getPagePerCategoryView(0, 'details_release', 8) . "/ID/" . $result['contentID']; } else { $searchNewsletters[$y]['link'] = Cible_FunctionsCategories::getPagePerCategoryView(0, 'details_article', 8) . "/ID/" . $result['contentID']; } $y++; $searchCount++; array_splice($searchResult, $i, 1); } else { $i++; } } $this->view->assign('searchNewsletters', $searchNewsletters); /* * *************************** */ /* * ********* GALLERY ************* */ $moduleID = 9; $i = 0; $y = 0; $searchGalleries = array(); $galleryID = array(); foreach ($searchResult as $result) { if ($result['moduleID'] == $moduleID && $result['languageID'] == $languageID) { $link = Cible_FunctionsCategories::getPagePerCategoryView($result['pageID'], 'details', 9); if ($link != '' && !in_array($result['contentID'], $galleryID)) { $searchGalleries[$y]['moduleID'] = $result['moduleID']; $searchGalleries[$y]['pageID'] = $result['pageID']; $searchGalleries[$y]['contentID'] = $result['contentID']; $searchGalleries[$y]['languageID'] = $result['languageID']; $searchGalleries[$y]['title'] = $result['title']; $searchGalleries[$y]['text'] = $result['text']; $galleryID[] = $result['contentID']; /* if($result['link'] == 'image') $searchGalleries[$y]['link'] = $link."/ID/{$result['pageID']}"; else $searchGalleries[$y]['link'] = $link."/ID/{$result['contentID']}"; */ $searchGalleries[$y]['link'] = $link . "/ID/{$result['contentID']}"; $y++; $searchCount++; } array_splice($searchResult, $i, 1); } else { $i++; } } $this->view->assign('searchGalleries', $searchGalleries); $this->view->assign('searchCount', $searchCount); }