Пример #1
0
 public function getXMLFile($path = "", $lang = "")
 {
     $moduleID = 14;
     $db = Zend_Registry::get('db');
     $xmlString = "";
     $arrayForXML = array();
     $productCollection = new ProductsCollection(array('lang' => $lang));
     $select2 = $db->select()->distinct()->from('Blocks')->join('BlocksIndex', 'BlocksIndex.BI_BlockID = Blocks.B_ID')->join('ModuleCategoryViewPage', 'ModuleCategoryViewPage.MCVP_PageID = Blocks.B_PageID')->join('ModuleViews', 'ModuleViews.MV_ID = ModuleCategoryViewPage.MCVP_ViewID')->join('PagesIndex', 'PagesIndex.PI_PageID = ModuleCategoryViewPage.MCVP_PageID')->where('Blocks.B_ModuleID = ?', $moduleID)->where('PagesIndex.PI_LanguageID = ?', $lang)->where('ModuleCategoryViewPage.MCVP_ModuleID = ?', $moduleID)->where('Blocks.B_Online = 1')->where('BlocksIndex.BI_LanguageID =?', $lang)->order('Blocks.B_Position ASC');
     $Rows = $db->fetchAll($select2);
     foreach ($Rows as $row) {
         $details_page = $row['PI_PageIndex'];
         $list_page = Cible_FunctionsCategories::getPagePerCategoryView($row['MCVP_CategoryID'], 'list', $moduleID, $lang);
         if (in_array($row['MV_Name'], $this->_specificAction)) {
             $productArray = $productCollection->getProductsUrl();
             foreach ($productArray as $product) {
                 $arrayURL = array();
                 array_push($arrayURL, $path . "/" . $details_page . "/" . $product);
                 array_push($arrayURL, "0.5");
                 array_push($arrayURL, "weekly");
                 array_push($arrayURL, date("Y-m-d H:m:s"));
                 array_push($arrayForXML, $arrayURL);
             }
         }
     }
     return $arrayForXML;
 }
Пример #2
0
 public function __construct($options = null)
 {
     parent::__construct($options);
     $moduleID = -1;
     $moduleName = '';
     if (!empty($options['moduleID'])) {
         $moduleID = $options['moduleID'];
         $moduleName = Cible_FunctionsModules::getModuleNameByID($moduleID);
     }
     // input text for the title of the text module
     $categoryTitle = new Zend_Form_Element_Text('Title');
     $categoryTitle->setLabel($this->getView()->getCibleText('form_category_title_label') . '*')->setRequired(true)->addFilter('StripTags')->addFilter('StringTrim')->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => $this->_view->getCibleText('validation_message_empty_field'))))->setAttrib('class', 'stdTextInput');
     $this->addElement($categoryTitle);
     $categoryDescription = new Zend_Form_Element_Text('WordingShowAllRecords');
     $categoryDescription->setLabel($this->_view->getCibleText('form_category_view_all_label'));
     $this->addElement($categoryDescription);
     $views = Cible_FunctionsCategories::getCategoryViews($moduleID);
     foreach ($views as $view) {
         $pickerName = $view['MV_Name'];
         $controllerName = new Zend_Form_Element_Text("{$pickerName}_controllerName");
         $controllerName->setLabel($this->getView()->getCibleText("form_select_option_view_{$moduleName}_{$pickerName}"))->setAttrib('onfocus', "openPagePicker('page-picker-{$pickerName}');");
         $this->addElement($controllerName);
         $pagePicker = new Cible_Form_Element_PagePicker("{$pickerName}_pageID", array('associatedElement' => "{$pickerName}_controllerName", 'onclick' => "javascript:closePagePicker(\"page-picker-{$pickerName}\")"));
         $pagePicker->setLabel($this->_view->getCibleText('form_category_associated_page_label'));
         $pagePicker->setDecorators(array('ViewHelper', array(array('row' => 'HtmlTag'), array('tag' => 'dd', 'class' => "page-picker", 'id' => "page-picker-{$pickerName}"))));
         $this->addElement($pagePicker);
     }
     $module = new Zend_Form_Element_Hidden('ModuleID');
     $module->setValue($moduleID)->removeDecorator('label')->removeDecorator('DtDdWrapper');
     $this->addElement($module);
 }
Пример #3
0
 public function getXMLFile($path = "", $lang = "")
 {
     $moduleID = 2;
     $db = Zend_Registry::get('db');
     $xmlString = "";
     $arrayForXML = array();
     $select2 = $db->select()->distinct()->from('Blocks')->join('BlocksIndex', 'BlocksIndex.BI_BlockID = Blocks.B_ID')->join('ModuleCategoryViewPage', 'ModuleCategoryViewPage.MCVP_PageID = Blocks.B_PageID')->join('ModuleViews', 'ModuleViews.MV_ID = ModuleCategoryViewPage.MCVP_ViewID')->join('PagesIndex', 'PagesIndex.PI_PageID = ModuleCategoryViewPage.MCVP_PageID')->where('Blocks.B_ModuleID = ?', $moduleID)->where('PagesIndex.PI_LanguageID = ?', $lang)->where('ModuleCategoryViewPage.MCVP_ModuleID = ?', $moduleID)->where('Blocks.B_Online = 1')->where('BlocksIndex.BI_LanguageID =?', $lang)->order('Blocks.B_Position ASC');
     $Rows = $db->fetchAll($select2);
     foreach ($Rows as $row) {
         if (in_array($row['MV_Name'], $this->_specificAction)) {
             $select3 = $db->select()->distinct()->from('NewsIndex')->join('NewsData', 'NewsIndex.NI_NewsDataID = NewsData.ND_ID')->where('NewsIndex.NI_Status = 1')->where('NewsIndex.NI_LanguageID =?', $lang)->order('NewsData.ND_ReleaseDate DESC');
             $NewsRows = $db->fetchAll($select3);
             foreach ($NewsRows as $NewsRow) {
                 $details_page = Cible_FunctionsCategories::getPagePerCategoryView($row['MCVP_CategoryID'], 'details', $moduleID, $lang);
                 $arrayURL = array();
                 array_push($arrayURL, $path . "/" . $details_page . "/" . $NewsRow['ND_ReleaseDate'] . "/" . $NewsRow['NI_ValUrl']);
                 array_push($arrayURL, "0.5");
                 array_push($arrayURL, "weekly");
                 array_push($arrayURL, date("Y-m-d H:m:s"));
                 array_push($arrayForXML, $arrayURL);
             }
         }
     }
     return $arrayForXML;
 }
Пример #4
0
 private function _newAccountClient()
 {
     $confirm_page = Zend_Registry::get('absolute_web_root') . "/" . Cible_FunctionsCategories::getPagePerCategoryView(0, 'confirm_email', $this->_moduleId, $this->_data['language']) . "/email/{$this->_data['email']}/validateNumber/{$this->_data['validatedEmail']}";
     $this->_message = str_replace('##validated_email_link##', $confirm_page, $this->_message);
     $this->_message = str_replace('##siteName##', $this->_siteName, $this->_message);
     foreach ($this->_data as $key => $value) {
         $search = '##' . $key . '##';
         $this->_message = str_replace($search, $value, $this->_message);
     }
     $this->_emailRenderData['message'] = $this->_message;
 }
Пример #5
0
 public function editCategoriesAction()
 {
     if ($this->view->aclIsAllowed($this->view->current_module, 'edit')) {
         $id = $this->_getParam('ID');
         $categoriesObject = new CategoriesObject();
         $options = array('moduleID' => Cible_FunctionsModules::getModuleIDByName($this->view->current_module), 'cancelUrl' => "{$this->view->baseUrl()}/{$this->view->current_module}/index/list-categories/");
         $form = new FormCategory($options);
         $this->view->assign('form', $form);
         if ($this->_request->isPost()) {
             $formData = $this->_request->getPost();
             if ($form->isValid($formData)) {
                 // save
                 $categoriesObject->save($id, $formData, $this->_currentEditLanguage);
                 $allViews = Cible_FunctionsCategories::getCategoryViews($this->_moduleID);
                 $views = Cible_FunctionsCategories::getCategoryViews($this->_moduleID, $id);
                 $reference_views = array();
                 foreach ($views as $view) {
                     $reference_views[$view['MV_ID']] = $view;
                 }
                 $views = $reference_views;
                 $this->view->dump($views);
                 foreach ($allViews as $view) {
                     $this->view->dump($view);
                     $data = array('MCVP_ModuleID' => $this->_moduleID, 'MCVP_CategoryID' => $id, 'MCVP_ViewID' => $view['MV_ID'], 'MCVP_PageID' => $formData["{$view['MV_Name']}_pageID"]);
                     if (!empty($formData["{$view['MV_Name']}_pageID"])) {
                         if (isset($views[$view['MV_ID']]) && isset($views[$view['MV_ID']]['MCVP_ID'])) {
                             $this->_db->update('ModuleCategoryViewPage', $data, "MCVP_ID = '{$views[$view['MV_ID']]['MCVP_ID']}'");
                         } else {
                             $this->_db->insert('ModuleCategoryViewPage', $data);
                         }
                     }
                 }
                 $this->_redirect("{$this->view->current_module}/index/list-categories/");
             } else {
                 $formData = $this->_request->getPost();
                 $form->populate($formData);
             }
         } else {
             $data = $categoriesObject->populate($id, $this->_currentEditLanguage);
             $views = Cible_FunctionsCategories::getCategoryViews($this->_moduleID, $id);
             if ($views) {
                 foreach ($views as $view) {
                     if (!empty($view['MCVP_PageID'])) {
                         $data["{$view['MV_Name']}_pageID"] = $view['MCVP_PageID'];
                         $data["{$view['MV_Name']}_controllerName"] = $view['PI_PageIndex'];
                     }
                 }
             }
             $form->populate($data);
         }
     }
 }
Пример #6
0
 public function getXMLFile($path = "", $lang = "")
 {
     $action_infolettre = "details_release";
     $action_article = "details_article";
     $moduleID = 8;
     $db = Zend_Registry::get('db');
     $xmlString = "";
     $arrayForXML = array();
     $selectY = "SELECT DISTINCT `ModuleViews`.`MV_Name` FROM `Blocks`\r\n            INNER JOIN `BlocksIndex` ON BlocksIndex.BI_BlockID = Blocks.B_ID\r\n            INNER JOIN `ModuleCategoryViewPage` ON ModuleCategoryViewPage.MCVP_PageID = Blocks.B_PageID\r\n            INNER JOIN `ModuleViews` ON ModuleViews.MV_ID = ModuleCategoryViewPage.MCVP_ViewID\r\n            INNER JOIN `PagesIndex` ON PagesIndex.PI_PageID = ModuleCategoryViewPage.MCVP_PageID\r\n            WHERE (Blocks.B_ModuleID = 8) AND (PagesIndex.PI_LanguageID ='" . $lang . "')\r\n            AND (ModuleCategoryViewPage.MCVP_ModuleID = 8) AND (Blocks.B_Online = 1)\r\n            AND (BlocksIndex.BI_LanguageID ='" . $lang . "') ORDER BY `Blocks`.`B_Position` ASC";
     $Rows = $db->fetchAll($selectY);
     foreach ($Rows as $row) {
         if (in_array($row['MV_Name'], $this->_specificAction)) {
             if ($row['MV_Name'] == $action_infolettre) {
                 $arrayURL = array();
                 $select3 = $db->select()->distinct()->from('Newsletter_Releases')->where('NR_Online = 1')->where('NR_Date < ?', date("Y-m-d H:m:s"))->where('NR_LanguageID =?', $lang);
                 $NewsRows = $db->fetchAll($select3);
                 foreach ($NewsRows as $NewsRow) {
                     $details_page = Cible_FunctionsCategories::getPagePerCategoryView($NewsRow['NR_CategoryID'], 'details_release', $moduleID, $lang);
                     array_push($arrayURL, $path . "/" . $details_page . "/" . $NewsRow['NR_Date'] . "/" . $NewsRow['NR_ValUrl']);
                     array_push($arrayURL, "0.5");
                     array_push($arrayURL, "weekly");
                     array_push($arrayURL, date("Y-m-d H:m:s"));
                     array_push($arrayForXML, $arrayURL);
                     //echo $NewsRow['NR_ValUrl'];
                 }
             } else {
                 if ($row['MV_Name'] == $action_article) {
                     $select3 = $db->select()->distinct()->from('Newsletter_Releases')->join('Newsletter_Articles', 'Newsletter_Articles.NA_ReleaseID = Newsletter_Releases.NR_ID')->where('NR_Online = 1')->where('NR_Date < ?', date("Y-m-d H:m:s"))->where('NR_LanguageID =?', $lang);
                     $NewsRows = $db->fetchAll($select3);
                     foreach ($NewsRows as $NewsRow) {
                         $arrayURL = array();
                         $details_page = Cible_FunctionsCategories::getPagePerCategoryView($NewsRow['NR_CategoryID'], 'details_article', $moduleID, $lang);
                         array_push($arrayURL, $path . "/" . $details_page . "/" . $NewsRow['NR_Date'] . "/" . $NewsRow['NA_ValUrl']);
                         array_push($arrayURL, "0.5");
                         array_push($arrayURL, "weekly");
                         array_push($arrayURL, date("Y-m-d H:m:s"));
                         array_push($arrayForXML, $arrayURL);
                     }
                 }
             }
         }
     }
     return $arrayForXML;
 }
Пример #7
0
 public function listAction()
 {
     $this->view->title = "Liste des galleries";
     if ($this->view->aclIsAllowed('gallery', 'manage', true)) {
         // variables
         $this->view->params = $this->_getAllParams();
         $blockID = $this->_getParam('blockID');
         $pageID = $this->_getParam('pageID');
         $baseDir = $this->view->baseUrl();
         $base = substr($baseDir, 0, strpos($baseDir, "/{$this->_config->document_root}/"));
         if ($blockID != '') {
             $blockParameters = Cible_FunctionsBlocks::getBlockParameters($blockID);
             $this->_categoryID = $blockParameters[0]['P_Value'];
         }
         $this->view->headScript()->appendFile($baseDir . '/js/jquery.json-1.3.min.js');
         $this->view->headScript()->appendFile($baseDir . '/js/tiny_mce/plugins/imagemanager/js/mcimagemanager.js');
         //get category details
         $this->view->categoryDetails = Cible_FunctionsCategories::getCategoryDetails($this->_categoryID);
         // get all galleries
         $galleriesSelect = new Galleries();
         $select = $galleriesSelect->select()->setIntegrityCheck(false)->from('Galleries')->join('GalleriesIndex', 'G_ID = GI_GalleryID')->join('Images', 'G_ImageID = I_ID')->where('GI_LanguageID = ?', $this->_defaultEditLanguage)->order('G_Position')->order('GI_Title');
         if ($this->_categoryID > 0) {
             $select->where('G_CategoryID = ?', $this->_categoryID);
         }
         $galleriesData = $galleriesSelect->fetchAll($select);
         $this->view->galleriesData = $galleriesData->toArray();
         $this->view->imagesAjaxLink = "{$baseDir}/gallery/index/list-all-images";
         if ($blockID != '') {
             $this->view->imagesEditLink = "{$baseDir}/gallery/image/edit/blockID/{$blockID}";
         } else {
             $this->view->imagesEditLink = "{$baseDir}/gallery/image/edit";
         }
         $this->view->imagesDeleteLink = "{$baseDir}/gallery/image/delete";
         /*
          $galleriesImages = new GalleriesImages();
          $select = $galleriesImages->select()->setIntegrityCheck(false)
          ->from('Galleries_Images')
          ->join('ImagesIndex', 'II_ImageID = GI_ImageID')
          ->where('GI_GalleryID = ?', $galleryID);
         
          $ImagesData = $galleriesImages->fetchAll($select);
         */
     }
 }
Пример #8
0
 public function getXMLFile($path = "", $lang = "")
 {
     $moduleID = 9;
     $db = Zend_Registry::get('db');
     $xmlString = "";
     $arrayForXML = array();
     $select2 = $db->select()->distinct()->from('Blocks')->join('BlocksIndex', 'BlocksIndex.BI_BlockID = Blocks.B_ID')->join('ModuleCategoryViewPage', 'ModuleCategoryViewPage.MCVP_PageID = Blocks.B_PageID')->join('ModuleViews', 'ModuleViews.MV_ID = ModuleCategoryViewPage.MCVP_ViewID')->join('PagesIndex', 'PagesIndex.PI_PageID = ModuleCategoryViewPage.MCVP_PageID')->where('Blocks.B_ModuleID = ?', $moduleID)->where('PagesIndex.PI_LanguageID = ?', $lang)->where('ModuleCategoryViewPage.MCVP_ModuleID = ?', $moduleID)->where('Blocks.B_Online = 1')->where('BlocksIndex.BI_LanguageID =?', $lang)->order('Blocks.B_Position ASC');
     $Rows = $db->fetchAll($select2);
     foreach ($Rows as $row) {
         if (in_array($row['MV_Name'], $this->_specificAction)) {
             $select3 = $db->select()->distinct()->from('GalleriesIndex')->join('Galleries', 'GalleriesIndex.GI_GalleryID = Galleries.G_ID')->where('GalleriesIndex.GI_LanguageID =?', $lang);
             $NewsRows = $db->fetchAll($select3);
             foreach ($NewsRows as $NewsRow) {
                 $details_page = Cible_FunctionsCategories::getPagePerCategoryView($row['MCVP_CategoryID'], 'details', $moduleID, $lang);
                 $arrayURL = array();
                 array_push($arrayURL, $path . "/" . $details_page . "/" . $NewsRow['GI_ValUrl']);
                 array_push($arrayURL, "0.5");
                 array_push($arrayURL, "weekly");
                 array_push($arrayURL, date("Y-m-d H:m:s"));
                 array_push($arrayForXML, $arrayURL);
                 $select4 = $db->select()->distinct()->from('Galleries_Images')->where('Galleries_Images.GI_GalleryID=?', $NewsRow['G_ID']);
                 $RowsGalleryImages = $db->fetchAll($select4);
                 $iii = 0;
                 foreach ($RowsGalleryImages as $RowsGalleryImage) {
                     $arrayURL = array();
                     array_push($arrayURL, $path . "/" . $details_page . "/" . $NewsRow['GI_ValUrl'] . "#!prettyPhoto[gallery1]/" . $iii . "/");
                     array_push($arrayURL, "0.5");
                     array_push($arrayURL, "weekly");
                     array_push($arrayURL, date("Y-m-d H:m:s"));
                     array_push($arrayForXML, $arrayURL);
                     $iii++;
                 }
             }
         }
     }
     return $arrayForXML;
 }
Пример #9
0
 public function listAction()
 {
     $blockID = $this->_getParam('BlockID');
     $blockParameters = Cible_FunctionsBlocks::getBlockParameters($blockID);
     $categoryID = $blockParameters[0]['P_Value'];
     $galleriesSelect = new Galleries();
     $select = $galleriesSelect->select()->setIntegrityCheck(false)->from('Galleries')->join('GalleriesIndex', 'GI_GalleryID = G_ID AND GI_LanguageID = ' . Zend_Registry::get("languageID"))->join('Images', 'I_ID = G_ImageID')->where('G_CategoryID = ?', $categoryID)->where('G_Online = 1')->order('G_Position');
     $galleriesData = $galleriesSelect->fetchAll($select)->toArray();
     $config = Zend_Registry::get('config')->toArray();
     $thumbMaxHeight = $config['gallery']['image']['thumb']['maxHeight'];
     $thumbMaxWidth = $config['gallery']['image']['thumb']['maxWidth'];
     $i = 0;
     foreach ($galleriesData as $gallery) {
         $galleriesData[$i]['I_ThumbLink'] = str_replace($gallery['I_OriginalLink'], $thumbMaxWidth . 'x' . $thumbMaxHeight . '_' . $gallery['I_OriginalLink'], $gallery['I_OriginalLink']);
         $galleriesData[$i]['linkDetails'] = Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'details', 9);
         $i++;
     }
     // var_dump($galleriesData);
     $details_page = Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'details', 9);
     $this->view->assign('details_page', $details_page);
     $this->view->assign('galleriesData', $galleriesData);
 }
Пример #10
0
 public function listarchivesAction()
 {
     // Newsletter ID and Category ID
     $categoryID = $this->_getParam('categoryID');
     $newsletterID = $this->_getParam('newsletterID');
     $back_to_newsletter = !empty($newsletterID) ? "/ID/{$newsletterID}" : '';
     // Get the Newsletter ID to dont show
     $newsletterSelect = new NewsletterReleases();
     $select = $newsletterSelect->select()->setIntegrityCheck(false);
     $select->from('Newsletter_Releases')->join('Languages', 'L_ID = NR_LanguageID', array())->join('CategoriesIndex', 'CI_CategoryID = NR_CategoryID', array())->join('Newsletter_Models_Index', 'NMI_NewsletterModelID = NR_ModelID', array())->join('Newsletter_Models', 'NM_ID = NMI_NewsletterModelID', array())->where('CI_LanguageID = ?', Zend_Registry::get("languageID"))->where('NR_LanguageID = ?', Zend_Registry::get("languageID"))->where('NR_Online = ?', 1)->order('NR_Date DESC');
     $newsletterData = $newsletterSelect->fetchRow($select);
     $actualNewsletterOnline = $newsletterData['NR_ID'];
     if ($actualNewsletterOnline != '') {
         if (empty($categoryID) || $categoryID == '') {
             $categoryID = $newsletterData['NR_CategoryID'];
         }
         //get all releases exept the one online
         $releasesSelect = new NewsletterReleases();
         $select = $releasesSelect->select()->setIntegrityCheck(false);
         $select->from('Newsletter_Releases')->join('CategoriesIndex', 'CI_CategoryID = NR_CategoryID')->join('Status', 'Newsletter_Releases.NR_Online = Status.S_ID')->where('CI_LanguageID = ?', Zend_Registry::get("languageID"))->where('NR_LanguageID = ?', Zend_Registry::get("languageID"))->where('NR_Online = ?', 1)->where('NR_CategoryID = ?', $categoryID)->where('NR_ID <> ?', $actualNewsletterOnline)->order('NR_Date DESC');
         $releasesData = $releasesSelect->fetchAll($select);
         $this->view->assign('listArchives', $releasesData);
         $this->view->assign('subscribeLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'subscribe', 8));
         $this->view->assign('unsubscribeLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'unsubscribe', 8));
         //$this->view->assign('detailsRelease', $this->view->baseUrl()."/".Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'details_release', 8));
         $this->view->assign('detailsRelease', Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'details_release', 8));
         //$this->view->assign('back_to_release', Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'details_release', 8));
         $this->view->assign('back_to_release', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'details_release', 8) . $back_to_newsletter);
         $this->view->assign('archivesLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'list_archives', 8) . '/categoryID/' . $categoryID);
     } else {
         $this->view->assign('listArchives', array());
         $blockID = $this->_getParam('BlockID');
         $blockParams = Cible_FunctionsBlocks::getBlockParameters($blockID)->toArray();
         $newsletterCategoryID = $blockParams[0]['P_Value'];
         $this->view->assign('subscribeLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'subscribe', 8));
         $this->view->assign('unsubscribeLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'unsubscribe', 8));
         $this->view->assign('back_to_release', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'details_release', 8) . $back_to_newsletter);
         $this->view->assign('archivesLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'list_archives', 8) . '/categoryID/' . $newsletterCategoryID);
     }
 }
Пример #11
0
 public function listpromosAction()
 {
     $blockID = $this->_request->getParam('BlockID');
     if ($blockID) {
         $this->_blockID = $blockID;
         $params = Cible_FunctionsBlocks::getBlockParameters($blockID);
     }
     foreach ($params as $param) {
         $blockParams[$param['P_Number']] = $param['P_Value'];
     }
     $this->view->assign('autoPlay', $blockParams[2]);
     $this->view->assign('delais', $blockParams[3]);
     $this->view->assign('transition', $blockParams[4]);
     $this->view->assign('navi', $blockParams[5]);
     $this->view->assign('effect', $blockParams[6]);
     if ($blockParams[7]) {
         $category = Cible_FunctionsCategories::getCategoryDetails($blockParams[7]);
         $this->view->assign('promoLbl', $category['CI_Title']);
     } else {
         $this->view->assign('promoLbl', $this->view->getClientText('catalog_promo_default_label_render'));
     }
     $oPromo = new PromosObject();
     $promos = $oPromo->getPromosByCategory($blockParams[7]);
     $this->view->assign('promos', $promos);
 }
Пример #12
0
 public function getCategoriesList()
 {
     $categories = array();
     $data = Cible_FunctionsCategories::getRootCategoriesList($this->_moduleId);
     foreach ($data as $category) {
         $categories[$category['C_ID']] = $category;
     }
     return $categories;
 }
Пример #13
0
 /**
  * Sends mass mailing.
  * Prepares data and tests the recipients list before sendig emails.
  *
  * @param int $releaseID The release of the the newsletter to send.
  *
  * @return array Contains data corresponding to the send result.
  */
 public function sendMassMailingAction($releaseID = null)
 {
     $this->disableView();
     if (!$releaseID) {
         $releaseID = $_REQUEST['releaseID'];
     }
     //            $releaseID  = $this->view->params['releaseID'];
     // 1- Get all newsletter to send
     $dateTimeNow = date('Y-m-d H:i:s');
     $newsletterSelect = new NewsletterReleases();
     $select = $newsletterSelect->select()->setIntegrityCheck(false);
     $select->from('Newsletter_Releases')->join('Languages', 'L_ID = NR_LanguageID')->join('CategoriesIndex', 'CI_CategoryID = NR_CategoryID')->join('Newsletter_Models_Index', 'NMI_NewsletterModelID = NR_ModelID')->join('Newsletter_Models', 'NM_ID = NMI_NewsletterModelID')->where('CI_LanguageID = NR_LanguageID')->where('NMI_LanguageID = NR_LanguageID')->where('NR_Status <> 1')->where('NR_ID = ?', $releaseID);
     $newsletterData = $newsletterSelect->fetchAll($select);
     foreach ($newsletterData as $release) {
         $listSent = array();
         $listDest = array();
         $listIds = array();
         $mailLog = array();
         $date = new Zend_Date($release['NR_Date'], null, Zend_Registry::get('languageSuffix') == 'fr' ? 'fr_CA' : 'en_CA');
         $date_string = Cible_FunctionsGeneral::dateToString($date, Cible_FunctionsGeneral::DATE_LONG_NO_DAY, '.');
         $date_string_url = Cible_FunctionsGeneral::dateToString($date, Cible_FunctionsGeneral::DATE_SQL, '-');
         $releaseLanguage = $release['NR_LanguageID'];
         $this->view->assign('languageRelease', $releaseLanguage);
         $filteredData = $this->_countFilterMembers($release['NR_CollectionFiltersID'], $releaseLanguage);
         $members = $filteredData['members'];
         $selection = $filteredData['selection'];
         $dateTimeStart = date('Y-m-d H:i:s');
         $member_count = 0;
         $stats = array('action' => 'set', 'sentTo' => 0, 'targetedTotal' => 0);
         if ($release['NR_Status'] == 0 || $release['NR_Status'] == 3) {
             //Send to all recipient even if they have already received it
             $member_count = count($members);
         } elseif ($release['NR_Status'] == 2) {
             $member_count = count($members);
             $stats['action'] = 'increment';
             //Send to recipient who have not already received it
             $alreadyMembersRecievedSelect = new NewsletterReleasesMembers();
             $select = $alreadyMembersRecievedSelect->select()->where('NRM_ReleaseID = ?', $release['NR_ID']);
             $alreadyMembersRecievedData = $alreadyMembersRecievedSelect->fetchAll($select);
             $already_received_count = count($alreadyMembersRecievedData);
             $membersTmp = array();
             for ($i = 0; $i < $member_count; $i++) {
                 $received = "false";
                 for ($j = 0; $j < $already_received_count; $j++) {
                     if ($members[$i]['GP_MemberID'] == $alreadyMembersRecievedData[$j]['NRM_MemberID']) {
                         $received = "true";
                     }
                 }
                 if ($received == "false") {
                     array_push($membersTmp, $members[$i]);
                 }
             }
             $members = $membersTmp;
             $member_count = count($members);
         }
         $stats['targetedTotal'] = $member_count;
         if (!empty($members) && $member_count > 0) {
             $newsletterArticlesSelect = new NewsletterArticles();
             $select = $newsletterArticlesSelect->select();
             $select->where('NA_ReleaseID = ?', $release['NR_ID'])->order('NA_ZoneID')->order('NA_PositionID');
             $newsletterArticlesData = $newsletterArticlesSelect->fetchAll($select);
             $this->view->articles = $newsletterArticlesData->toArray();
             $registry = Zend_Registry::getInstance()->set('format', 'email');
             $config = Zend_Registry::get('config')->toArray();
             $nbMax = $config['massMailing']['packof'];
             $sleep = $config['massMailing']['sleep'];
             $server = $config['massMailing']['server'];
             $i = 0;
             set_time_limit(0);
             $emailValidator = new Zend_Validate_EmailAddress();
             $sentToCount = 0;
             $failedEmailAddress = array();
             for ($k = 0; $k < $member_count; $k++) {
                 try {
                     if ($i == $nbMax) {
                         $protocol->quit();
                         $protocol->disconnect();
                         sleep($sleep);
                         $i = 0;
                     }
                     if ($i == 0) {
                         $transport = new Zend_Mail_Transport_Smtp();
                         $protocol = new Zend_Mail_Protocol_Smtp($server);
                         $protocol->connect();
                         $protocol->helo($server);
                         $transport->setConnection($protocol);
                     }
                     $protocol->rset();
                     if ($emailValidator->isValid($members[$k]['GP_Email'])) {
                         $date = new Zend_Date($release['NR_Date'], null, Zend_Registry::get('languageSuffix') == 'fr' ? 'fr_CA' : 'en_CA');
                         $date_string = Cible_FunctionsGeneral::dateToString($date, Cible_FunctionsGeneral::DATE_LONG_NO_DAY, '.');
                         $date_string_url = Cible_FunctionsGeneral::dateToString($date, Cible_FunctionsGeneral::DATE_SQL, '-');
                         $newsletterCategoryID = $release['NR_CategoryID'];
                         $this->view->assign('unsubscribeLink', "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'unsubscribe', 8));
                         $this->view->assign('subscribeLink', "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'subscribe', 8, $releaseLanguage));
                         $this->view->assign('archiveLink', "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'list_archives', 8, $releaseLanguage));
                         //$this->view->assign('details_release', "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'details_release', 8) . "/ID/" . $release['NR_ID']);
                         $this->view->assign('details_release', "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'details_release', 8, $releaseLanguage) . "/" . $date_string_url . "/" . $release['NR_Title']);
                         $this->view->assign('details_page', Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'details_article', 8));
                         $this->view->assign('isOnline', $release['NR_Online']);
                         $this->view->assign('newsletterID', $release['NR_ID']);
                         $this->view->assign('memberId', $members[$k]['GP_MemberID']);
                         $this->view->assign('moduleId', $this->_moduleID);
                         $this->view->assign('dateString', $date_string);
                         $this->view->assign('parutionDate', $date_string_url);
                         $bodyText = $this->view->render($release['NM_DirectoryEmail']);
                         $salutationsSelect = new Salutations();
                         $select = $salutationsSelect->select()->setIntegrityCheck(false);
                         $salutationId = $members[$k]['GP_Salutation'];
                         if (is_null($salutationId)) {
                             $salutationId = 0;
                         }
                         $select->from('Salutations')->join('Static_Texts', 'ST_Identifier = S_StaticTitle')->where('ST_LangID = ?', Zend_Registry::get("languageID"))->where('S_ID = ?', $salutationId);
                         $salutationsData = $salutationsSelect->fetchRow($select);
                         $bodyText = str_replace('#prenom#', $members[$k]['GP_FirstName'], $bodyText);
                         $bodyText = str_replace('#nom#', $members[$k]['GP_LastName'], $bodyText);
                         $bodyText = str_replace('#courtoisie#', $salutationsData['ST_Value'], $bodyText);
                         //$newsletterData['NR_AfficherTitre'] = $form->getValue('NR_AfficherTitre');
                         $newsletterAfficherTitre = $release['NR_AfficherTitre'];
                         $newsletterTextIntro = $release['NR_TextIntro'];
                         $newsletterTextIntro = str_replace('##prenom##', $members[$k]['GP_FirstName'], $newsletterTextIntro);
                         $newsletterTextIntro = str_replace('##nom##', $members[$k]['GP_LastName'], $newsletterTextIntro);
                         $newsletterTextIntro = str_replace('##salutation##', $salutationsData['ST_Value'], $newsletterTextIntro);
                         $this->view->intro = $newsletterTextIntro;
                         $this->view->newsletterAfficherTitre = $newsletterAfficherTitre;
                         $mail = new Zend_Mail();
                         $mail->setBodyHtml($bodyText);
                         $mail->setFrom($release['NM_FromEmail'], $release['NMI_FromName']);
                         $mail->addTo($members[$k]['GP_Email']);
                         $mail->setSubject($release['NR_Title']);
                         if (!$mail->send()) {
                             array_push($failedEmailAddress, array('fname' => $members[$k]['GP_FirstName'], 'lname' => $members[$k]['GP_LastName'], 'email' => $members[$k]['GP_Email']));
                         }
                         $sentToCount++;
                         $releaseMember = new NewsletterReleasesMembers();
                         $releaseMemberData = $releaseMember->createRow();
                         $releaseMemberData['NRM_ReleaseID'] = $release['NR_ID'];
                         $releaseMemberData['NRM_MemberID'] = $members[$k]['GP_MemberID'];
                         $releaseMemberData['NRM_DateTimeReceived'] = date('Y-m-d H:i:s');
                         $insert = $releaseMemberData->save();
                         $i++;
                     } else {
                         array_push($failedEmailAddress, array('fname' => $members[$k]['GP_FirstName'], 'lname' => $members[$k]['GP_LastName'], 'email' => $members[$k]['GP_Email']));
                     }
                 } catch (Exception $exc) {
                     $index = $releaseID . '-';
                     $index .= $k + 1 . '-';
                     $index .= $members[$k]['GP_MemberID'];
                     $mailLog[$index]['message'] = $exc->getCode() . '-' . $exc->getFile() . '-' . $exc->getLine();
                     $mailLog[$index]['log'] = $protocol->getResponse();
                     $columnsMap = array('NEL_IdIndex' => 'NEL_IdIndex', 'NEL_CodeFileLine' => 'NEL_CodeFileLine', 'NEL_Response' => 'NEL_Response', 'NEL_Timestamp' => 'timestamp');
                     $writer = new Zend_Log_Writer_Db($this->_db, 'Newsletter_ErrorsLog', $columnsMap);
                     $oZLog = new Zend_Log($writer);
                     $oZLog->setEventItem('NEL_IdIndex', $index);
                     $oZLog->setEventItem('NEL_CodeFileLine', $mailLog[$index]['message']);
                     $oZLog->setEventItem('NEL_Response', $mailLog[$index]['log'][0]);
                     $oZLog->log('errors', 4);
                 }
             }
             $protocol->quit();
             $protocol->disconnect();
         } else {
             echo Zend_Json::encode(array('sentTo' => '0', 'targetedTotal' => '0', 'failedEmail' => array(), 'select' => $selection));
             break;
         }
         $stats['sentTo'] = $sentToCount;
         $dateTimeEnd = date('Y-m-d H:i:s');
         $release['NR_MailingDateTimeStart'] = $dateTimeStart;
         $release['NR_MailingDateTimeEnd'] = $dateTimeEnd;
         $release['NR_SendTo'] = $stats['action'] == 'set' ? $stats['sentTo'] : $release['NR_SendTo'] + $stats['sentTo'];
         $release['NR_TargetedTotal'] = $stats['action'] == 'set' ? $stats['targetedTotal'] : $release['NR_TargetedTotal'] + $stats['targetedTotal'];
         $release['NR_Status'] = 1;
         $release->save();
         if (count($failedEmailAddress) > 0) {
             $this->_recordEmails($failedEmailAddress, $releaseID);
         }
         $this->_stats = array('invalidEmails' => count($failedEmailAddress), 'errors' => count($mailLog), 'totalToSend' => $stats['targetedTotal'], 'totalSent' => $stats['sentTo']);
         if ($this->_isXmlHttpRequest) {
             array_push($listSent, $release['NR_Title']);
             array_push($listIds, $release['NR_ID']);
             array_push($listDest, $release['NR_AdminEmail']);
             $data = array('list' => $listSent, 'dest' => $listDest, 'ids' => $listIds);
             $this->_adminNotification($data);
             $this->_logSending($data);
         }
         echo Zend_Json::encode(array('sentTo' => $stats['sentTo'], 'targetedTotal' => $stats['targetedTotal'], 'failedEmail' => $failedEmailAddress, 'select' => $selection));
         exit;
     }
     // If all the newsletter have a status = 1, we don't pass through the foreach
     // So redirect the action to the newsletter
     //        echo(Zend_Json::encode(array('sentTo' => '0', 'targetedTotal' => '0', 'failedEmail' => array(), 'select' => '')));
     //        exit;
 }
Пример #14
0
 public function listall3columnsAction()
 {
     $_blockID = $this->_request->getParam('BlockID');
     $newsObject = new NewsCollection($_blockID);
     $details_page = Cible_FunctionsCategories::getPagePerCategoryView($newsObject->getBlockParam('1'), 'details');
     $this->view->assign('details_page', $details_page);
     $news = $newsObject->getList();
     $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Array($news));
     $paginator->setItemCountPerPage($newsObject->getBlockParam('2'));
     $paginator->setCurrentPageNumber($this->_request->getParam('page'));
     $this->view->assign('params', $newsObject->getBlockParams());
     $this->view->assign('paginator', $paginator);
 }
Пример #15
0
 public function calendrierAction()
 {
     $_blockID = $this->_request->getParam('BlockID');
     $this->view->BlockID = $_blockID;
     $events1 = new EventsCollection($_blockID);
     $details_page = Cible_FunctionsCategories::getPagePerCategoryView($events1->getBlockParam('1'), 'details');
     $detail_page = $this->view->baseUrl() . '/' . $details_page . "/";
     if ($this->_isXmlHttpRequest) {
         $_year = $this->_request->getParam('Year');
         $_month = $this->_request->getParam('Month');
         $eventsObject = new EventsCollection($_blockID);
         $events = $eventsObject->getListYearMonth($_year, $_month, null);
         $responseObject = array();
         $resultObject = array();
         foreach ($events as $key => $result) {
             foreach ($result['dates'] as $keydate1 => $row1) {
                 $date_string = '';
                 $date_stringURL = '';
                 $resultObject['EventID'] = $result['ED_ID'];
                 $resultObject['Title'] = strip_tags(utf8_encode($result['EI_Title']));
                 $resultObject['Description'] = strip_tags($result['EI_Brief']);
                 $resultObject['StartDate'] = $row1['EDR_StartDate'];
                 $resultObject['EndDate'] = $row1['EDR_EndDate'];
                 //$resultObject['URL'] =  $this->baseUrl() . '/' . $this->details_page . "/"  . $date_string_url . "/" . $event['EI_ValUrl'];
                 foreach ($result['dates'] as $keydate => $row) {
                     $startDate = new Zend_Date($row['EDR_StartDate'], null, 'fr_CA');
                     $endDate = new Zend_Date($row['EDR_EndDate'], null, 'fr_CA');
                     $date_stringURL = sprintf("%d-%d-%d", $startDate->get(Zend_Date::DAY), $startDate->get(Zend_Date::MONTH), $startDate->get(Zend_Date::YEAR));
                     if (!empty($date_string)) {
                         $date_string .= ' et ';
                     }
                     if ($startDate->get(Zend_Date::MONTH) == $endDate->get(Zend_Date::MONTH) && $startDate->get(Zend_Date::YEAR) == $endDate->get(Zend_Date::YEAR)) {
                         if ($startDate->get(Zend_Date::DAY) != $endDate->get(Zend_Date::DAY)) {
                             $date_string .= sprintf("%d-%d %s %d", $startDate->get(Zend_Date::DAY), $endDate->get(Zend_Date::DAY), $startDate->get(Zend_Date::MONTH_NAME), $startDate->get(Zend_Date::YEAR));
                         } else {
                             $date_string .= sprintf("%d %s %d", $startDate->get(Zend_Date::DAY), $startDate->get(Zend_Date::MONTH_NAME), $startDate->get(Zend_Date::YEAR));
                         }
                     } else {
                         $date_string .= sprintf("%d %s %d au %d %s %d", $startDate->get(Zend_Date::DAY), $startDate->get(Zend_Date::MONTH_NAME), $startDate->get(Zend_Date::YEAR), $endDate->get(Zend_Date::DAY), $endDate->get(Zend_Date::MONTH_NAME), $endDate->get(Zend_Date::YEAR));
                     }
                 }
                 $resultObject['URL'] = $detail_page . $date_stringURL . "/" . $result['EI_ValUrl'];
                 $resultObject['DateComplete'] = utf8_encode($date_string);
                 $resultObject['CellsIds'] = "";
                 array_push($responseObject, $resultObject);
             }
         }
         $this->getHelper('viewRenderer')->setNoRender();
         echo json_encode($responseObject);
     }
 }
Пример #16
0
 public function listApprobationRequestAction()
 {
     if ($this->view->aclIsAllowed('LecteurRss', 'publish')) {
         $tables = array('LecteurRssData' => array('ND_ID', 'ND_CategoryID', 'ND_ReleaseDate'), 'LecteurRssIndex' => array('NI_LecteurRssDataID', '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'));
         $LecteurRss = new LecteurRssData();
         $select = $LecteurRss->select()->from('LecteurRssData')->setIntegrityCheck(false)->join('LecteurRssIndex', 'LecteurRssData.ND_ID = LecteurRssIndex.NI_LecteurRssDataID')->joinRight('CategoriesIndex', 'LecteurRssData.ND_CategoryID = CategoriesIndex.CI_CategoryID')->joinRight('Languages', 'Languages.L_ID = LecteurRssIndex.NI_LanguageID')->where('LecteurRssData.ND_ToApprove = ?', 1)->where('LecteurRssIndex.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()}/LecteurRss/index/edit/LecteurRssID/%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);
     }
 }
Пример #17
0
 public function readAction()
 {
     $this->disableLayout();
     $this->disableView();
     $ressource_dir = dirname(dirname(__FILE__)) . '/ressources';
     /* var_dump($this->_request);
        exit;*/
     $feed = $this->_request->getParam('feed');
     $catID = $this->_request->getParam('catID');
     $feed = str_replace('.xml', "-{$catID}.xml", $feed);
     $rssLimit = Cible_FunctionsCategories::getRssItemsLimitPerCategory($catID);
     $langId = Cible_FunctionsGeneral::getLanguageID($this->_request->getParam('lang'));
     Zend_Registry::set('languageID', $langId);
     $lang = $this->_request->getParam('lang');
     $feed_url = Zend_Registry::get('absolute_web_root') . "/{$this->_request->getParam('lang')}/{$this->_request->getParam('feed')}";
     if (file_exists("{$ressource_dir}/{$lang}/{$feed}")) {
         $lastUpdate = new Zend_Date(filemtime("{$ressource_dir}/{$lang}/{$feed}"));
         $now = new Zend_Date();
     }
     if (file_exists("{$ressource_dir}/{$lang}/{$feed}") && !$now->isLater($lastUpdate->addMinute($this->_config->rss->refresh->delay))) {
         $xml = file_get_contents("{$ressource_dir}/{$lang}/{$feed}");
     } else {
         $file = fopen("{$ressource_dir}/{$lang}/{$feed}", "w");
         $select = $this->_db->select();
         $select->from('NewsData')->joinLeft('NewsIndex', 'NewsData.ND_ID = NewsIndex.NI_NewsDataID')->joinleft('CategoriesIndex', 'CategoriesIndex.CI_CategoryID = NewsData.ND_CategoryID')->joinleft('Categories', 'Categories.C_ID = NewsData.ND_CategoryID')->where('CategoriesIndex.CI_LanguageID = ?', $langId)->where('NewsIndex.NI_LanguageID = ?', $langId)->where('Categories.C_ID = ?', $catID)->where('Categories.C_ShowInRss = ?', 1)->order('ND_Date DESC')->limit($rssLimit);
         //die($select);
         $news = $this->_db->fetchAll($select);
         $feedPubDate = date("r", strtotime('now'));
         $xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
         $xml .= "<rss version=\"2.0\">";
         $xml .= "<channel>";
         $xml .= "<title>" . $this->_config->site->title . "</title>";
         $xml .= "<description>";
         $xml .= str_replace('##SITE_NAME##', $this->_config->site->title, $this->view->getCibleText('rss_read_description_field_label'));
         $xml .= "</description>";
         $xml .= "<lastBuildDate>{$feedPubDate}</lastBuildDate>";
         $xml .= "<link>{$feed_url}</link>";
         foreach ($news as $details) {
             if ($details['NI_Status'] == 1) {
                 // Titres des nouvelles (FR)
                 $title = str_replace("'", "'", $details['NI_Title']);
                 $title = str_replace("<br>", "<br />", $title);
                 $title = str_replace("&", "&amp;", $title);
                 // Textes des nouvelles (FR)
                 $description = str_replace("'", "'", $this->KeepTextOnly($details["NI_Brief"]));
                 $description = htmlspecialchars($description);
                 $description = str_replace("<br>", "<br />", $description);
                 $pubDate = date("r", strtotime($details["ND_ReleaseDate"]));
                 $news_url = Zend_Registry::get('absolute_web_root') . '/' . Cible_FunctionsCategories::getPagePerCategoryView($details["ND_CategoryID"], 'details') . "/ID/{$details['ND_ID']}";
                 $xml .= "<item>";
                 $xml .= "<title>{$title}</title>";
                 $xml .= "<description>{$description}</description>";
                 $xml .= "<pubDate>{$pubDate}</pubDate>";
                 $xml .= "<guid>{$news_url}</guid>";
                 $xml .= "<link>{$news_url}</link>";
                 $xml .= "</item>";
             }
         }
         $xml .= "</channel>";
         $xml .= "</rss>";
         fwrite($file, $xml);
         fclose($file);
     }
     $this->_response->setHeader('Content-Type', 'application/rss+xml');
     echo $xml;
 }
Пример #18
0
 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);
 }
Пример #19
0
 public function listAllAction()
 {
     if ($this->view->aclIsAllowed('events', 'edit', true)) {
         // NEW LIST GENERATOR CODE //
         $tables = array('EventsData' => array('ED_ID', 'ED_CategoryID'), 'EventsIndex' => array('EI_EventsDataID', 'EI_LanguageID', 'EI_Title', 'EI_Status'), 'Status' => array('S_Code'), 'CategoriesIndex' => array('CI_Title'));
         $field_list = array('EI_Title' => array('width' => '300px'), 'CI_Title' => array(), 'S_Code' => array('width' => '80px', 'postProcess' => array('type' => 'dictionnary', 'prefix' => 'status_')));
         $events = new EventsData();
         $select = $events->select()->from('EventsData')->setIntegrityCheck(false)->join('EventsIndex', 'EventsData.ED_ID = EventsIndex.EI_EventsDataID')->join('Status', 'EventsIndex.EI_Status = Status.S_ID')->joinRight('CategoriesIndex', 'EventsData.ED_CategoryID = CategoriesIndex.CI_CategoryID')->joinRight('Categories', 'EventsData.ED_CategoryID = Categories.C_ID')->joinRight('Languages', 'Languages.L_ID = EventsIndex.EI_LanguageID')->where('EI_LanguageID = ?', $this->_defaultEditLanguage)->where('EventsIndex.EI_LanguageID = CategoriesIndex.CI_LanguageID')->where('C_ModuleID = ?', $this->_moduleID);
         //->order('EI_Title');
         $options = array('commands' => array($this->view->link($this->view->url(array('controller' => 'index', 'action' => 'add')), $this->view->getCibleText('button_add_events'), array('class' => 'action_submit add'))), 'filters' => array('events-category-filter' => array('default_value' => null, 'associatedTo' => 'ED_CategoryID', 'choices' => Cible_FunctionsCategories::getFilterCategories($this->_moduleID)), 'events-status-filter' => array('label' => 'Filtre 2', 'default_value' => null, 'associatedTo' => 'S_Code', 'choices' => array('' => $this->view->getCibleText('filter_empty_status'), 'online' => $this->view->getCibleText('status_online'), 'offline' => $this->view->getCibleText('status_offline')))), 'action_panel' => array('width' => '50', 'actions' => array('edit' => array('label' => $this->view->getCibleText('button_edit'), 'url' => "{$this->view->baseUrl()}/events/index/edit/eventID/%ID%/lang/%LANG%/return/list-all/", 'findReplace' => array(array('search' => '%ID%', 'replace' => 'ED_ID'), array('search' => '%LANG%', 'replace' => 'L_Suffix'))), 'delete' => array('label' => $this->view->getCibleText('button_delete'), 'url' => "{$this->view->baseUrl()}/events/index/delete/eventID/%ID%/return/list-all/", 'findReplace' => array('search' => '%ID%', 'replace' => 'ED_ID')))));
         $mylist = new Cible_Paginator($select, $tables, $field_list, $options);
         $this->view->assign('mylist', $mylist);
     }
 }
Пример #20
0
 private function _buildData($orderOnly = false)
 {
     $url = Cible_FunctionsCategories::getPagePerCategoryView(0, 'list_collections', 14);
     $this->view->headLink()->appendStylesheet($this->view->locateFile('cart.css'));
     $account = Cible_FunctionsGeneral::getAuthentication();
     if (!$account) {
         $this->_redirect($url);
     }
     $oMember = new MemberProfile();
     $user = $oMember->findMember($account);
     $orderId = $this->_getParam('qr');
     $oOrder = new OrderCollection();
     if ($orderId) {
         $oOrder->setOrderId($orderId);
     }
     $oOrder->setUserId($user['member_id']);
     $oOrder->setOrderOnly($orderOnly);
     $select = $oOrder->getData();
     return $select;
 }