Ejemplo n.º 1
0
 /**
  * Add CMS page tag on all CMS pages except homepage
  *
  * @param Varien_Event_Observer $observer
  */
 public function addPageTag(Varien_Event_Observer $observer)
 {
     $pageId = $observer->getPage()->getIdentifier();
     $homePageId = Mage::getStoreConfig('web/default/cms_home_page');
     if ($pageId != $homePageId) {
         $observer->getControllerAction()->getLayout()->getUpdate()->addHandle('mbiz_trackingtags_page');
     }
 }
 /**
  * @param Varien_Event_Observer $event
  */
 public function trackFiles($event)
 {
     $page = $event->getPage();
     $storeId = $event->getStoreId();
     $pageId = $page->getId();
     $pageContent = $page->getContent();
     $links = array();
     $allowedFileTypes = $this->getAllowedFileTypesRegex();
     preg_match_all('/<a href=\\"\\/([^\\"]*)\\.' . $allowedFileTypes . '\\".*>.*<\\/a>/iU', $pageContent, $links);
     if (empty($links[0])) {
         // bail out if we didn't find any file links, save a couple CPU cycles
         return;
     }
     $foundFiles = array();
     $trackedFiles = $this->getTrackedFilesForPage($pageId);
     $numberOfFiles = count($links[0]);
     for ($i = 0; $i < $numberOfFiles; $i++) {
         $foundFiles[] = '/' . htmlspecialchars_decode($links[1][$i]) . '.' . $links[2][$i];
     }
     $addedFiles = array_diff($foundFiles, $trackedFiles);
     $removedFiles = array_diff($trackedFiles, $foundFiles);
     $this->addFilesToTracking($storeId, $pageId, $addedFiles);
     $this->removeFilesFromTracking($storeId, $pageId, $removedFiles);
 }
Ejemplo n.º 3
0
 /**
  * add CMSPAGE_{ID} handle to layout on cms page render
  *
  * @param Varien_Event_Observer $observer
  * @return Varien_Event_Observer
  */
 public function cmsPageRender(Varien_Event_Observer $observer)
 {
     $observer->getControllerAction()->getLayout()->getUpdate()->addHandle('CMSPAGE_' . $observer->getPage()->getId());
 }
Ejemplo n.º 4
0
 /**
  * Adds a barcode representing the order number to the shipment if activated.
  *
  * @param  Varien_Event_Observer $observer observer which is passed by magento
  *
  * @return FireGento_Pdf_Model_Observer
  */
 public function addBarcode(Varien_Event_Observer $observer)
 {
     if (!Mage::getStoreConfigFlag('sales_pdf/shipment/order_id_as_barcode')) {
         return $this;
     }
     $page = $observer->getPage();
     $order = $observer->getOrder();
     $barcodeConfig = array('drawText' => false, 'orientation' => 90, 'text' => $order->getIncrementId());
     $rendererConfig = array('verticalPosition' => 'middle', 'moduleSize' => 0.9);
     // create dummy Zend_Pdf object, which just stores the current page, so that we can pass it in
     // Zend_Barcode_Renderer_Pdf->setResource()
     $pdf = new Zend_Pdf();
     $pdf->pages[] = $page;
     /** @var $renderer Zend_Barcode_Renderer_Pdf */
     $renderer = Zend_Barcode::factory('code128', 'pdf', $barcodeConfig, $rendererConfig)->setResource($pdf, 0);
     // calculate left offset so that barcode is printed on the right with a little margin
     $leftOffset = $page->getWidth() - $renderer->getBarcode()->getWidth(true) * $renderer->getModuleSize() - 10;
     $renderer->setLeftOffset($leftOffset);
     $renderer->draw();
     return $this;
 }