Exemple #1
0
 public function insertBlock(Varien_Event_Observer $observer)
 {
     if (Mage::app()->getFrontController()->getAction()->getFullActionName() === 'adminhtml_dashboard_index') {
         if ($observer->getBlock()->getUseAsDashboardHook()) {
             $html = $observer->getTransport()->getHtml();
             $zendeskDash = $observer->getBlock()->getLayout()->createBlock('zendesk/adminhtml_dashboard')->setName('zendesk_dashboard');
             $zendeskGrid = $zendeskDash->getLayout()->createBlock('zendesk/adminhtml_dashboard_grids')->setName('zendesk_dashboard_grids');
             $zendeskDash->setChild('zendesk_dashboard_grids', $zendeskGrid);
             $html .= $zendeskDash->toHtml();
             $observer->getTransport()->setHtml($html);
         }
     }
 }
Exemple #2
0
 /**
  * observe adminhtml_block_html_before
  *
  * @param Varien_Event_Observer $event
  * @return void
  */
 public function adminhtmlBlockHtmlBefore(Varien_Event_Observer $event)
 {
     $block = $event->getBlock();
     if (in_array($block->getId(), Mage::getSingleton('firegento_gridcontrol/config')->getGridList())) {
         Mage::getModel('firegento_gridcontrol/processor')->processBlock($block);
     }
 }
Exemple #3
0
 /**
  * Adds a button to the view-shipment page, allowing the merchant to create a MyParcel-consignment.
  * The button is not showed when a consignment is already present.
  *
  * @param Varien_Event_Observer $observer
  *
  * @return $this
  *
  * @event    adminhtml_widget_container_html_before
  *
  * @observer tig_myparcel_adminhtml_view_shipment
  */
 public function adminhtmlWidgetContainerHtmlBefore(Varien_Event_Observer $observer)
 {
     /** @var Mage_Adminhtml_Block_Widget_Container $block ; */
     $block = $observer->getBlock();
     /** @var TIG_MyParcel2014_Helper_Data $helper */
     $helper = Mage::helper('tig_myparcel');
     if ($block instanceof Mage_Adminhtml_Block_Sales_Order_Shipment_View) {
         $shipmentId = $block->getRequest()->getParam('shipment_id');
         $shippingMethod = Mage::getModel('sales/order_shipment')->load($shipmentId)->getOrder()->getShippingMethod();
         if (!$helper->shippingMethodIsMyParcel($shippingMethod)) {
             return;
         }
         $myParcelShipment = Mage::getModel('tig_myparcel/shipment')->load($shipmentId, 'shipment_id');
         if (!$myParcelShipment->hasConsignmentId()) {
             $block->addButton('myparcel_create_consignment', array('label' => $helper->__('Create MyParcel Consignment'), 'id' => 'createMyParcelConsignment', 'class' => 'go'));
             // remove Send Tracking Information button
             $block->removeButton('save');
         } else {
             if ($myParcelShipment->getShipment()->getShippingAddress()->getCountry() == 'NL') {
                 $retourUrl = $block->getUrl(self::RETOURLINK_ROUTE, array('shipment_id' => $shipmentId));
                 $block->addButton('myparcel_create_return_url', array('label' => $helper->__('Mail retour label'), 'class' => 'go', 'onclick' => "setLocation('" . $retourUrl . "')"));
             }
         }
     }
 }
 /**
  * @param Varien_Event_Observer $observer
  *
  * @return $this
  */
 public function handleInlineJs(Varien_Event_Observer $observer)
 {
     Varien_Profiler::start('MeanbeeFooterJs');
     /** @var Meanbee_Footerjs_Helper_Data $helper */
     $helper = Mage::helper('meanbee_footerjs');
     if (!$helper->isEnabled()) {
         return $this;
     }
     /** @var Mage_Core_Block_Abstract $block */
     $block = $observer->getBlock();
     if (!is_null($block->getParentBlock())) {
         // Only look for JS at the root block
         return $this;
     }
     /** @var Varien_Object $transport */
     $transport = $observer->getTransport();
     $patterns = array('js' => self::REGEX_JS, 'document_end' => self::REGEX_DOCUMENT_END);
     foreach ($patterns as $pattern) {
         $matches = array();
         $html = $transport->getHtml();
         $success = preg_match_all($pattern, $html, $matches);
         if ($success) {
             $text = implode('', $matches[0]);
             $html = preg_replace($pattern, '', $html);
             $transport->setHtml($html . $text);
         }
     }
     Varien_Profiler::stop('MeanbeeFooterJs');
     return $this;
 }
 /**
  * Appends the "sortable" js code to the bottom of ajax-Request for the category-products loaded after
  * changing sort order.
  *
  * @param Varien_Event_Observer $observer
  */
 public function addSortableScriptOnGrid(Varien_Event_Observer $observer)
 {
     $_block = $observer->getBlock();
     $_type = $_block->getType();
     if (Mage::helper('ffuenf_categoryproductsortbackend')->isExtensionActive() && $_type == 'adminhtml/catalog_category_tab_product') {
         $content = $observer->getTransport()->getHtml();
         $dom = new DOMDocument('1.0', 'utf-8');
         $doc = new DOMDocument('1.0', 'utf-8');
         $dom->loadHTML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'));
         foreach ($dom->getElementsByTagName('select') as $element) {
             if ($element->getAttribute('name') == 'limit') {
                 $option = $dom->createElement('option');
                 $option->appendChild($dom->createTextNode('All'));
                 $option->setAttribute('value', 0);
                 $option = $element->appendChild($option);
             }
         }
         $additionalHtml = $this->appendScript($content);
         $additionalDoc = new DOMDocument();
         $additionalDoc->loadHTML($additionalHtml);
         $additionalDocScript = $additionalDoc->getElementsByTagName('script')->item(0);
         $body = $dom->getElementsByTagName('body')->item(0);
         foreach ($body->childNodes as $child) {
             $doc->appendChild($doc->importNode($child, true));
         }
         $doc->appendChild($doc->importNode($additionalDocScript, true));
         $content = $doc->saveHTML();
         $observer->getTransport()->setHtml($content);
     }
 }
Exemple #6
0
 /**
  * override the template of option edit tab
  *
  * @param   Varien_Event_Observer $observer
  */
 public function layerLoadBefore(Varien_Event_Observer $observer)
 {
     $block = $observer->getBlock();
     if (Mage::getStoreConfig('magetools_optionfilter/setting/enabled') && $block instanceof Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Option) {
         $block->setTemplate('magetools/optionfilter/product_option.phtml');
     }
 }
 /**
  * Rewrite select template 
  * 
  * @see core_block_abstract_to_html_before
  * @param Varien_Event_Observer $observer
  */
 public function changeOptionsTypeSelectTemplate($observer)
 {
     $block = $observer->getBlock();
     if (get_class($block) == 'Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Type_Select') {
         $block->setTemplate('aydus/customconfigurable/catalog/product/edit/options/type/select.phtml');
     }
     return $this;
 }
Exemple #8
0
 public function addMassaction(Varien_Event_Observer $observer)
 {
     $block = $observer->getBlock();
     if (!isset($block)) {
         return;
     }
     $block->getMassactionBlock()->addItem('set_fetured', array('label' => Mage::helper('sm_featured')->__('Set featured'), 'url' => Mage::app()->getStore()->getUrl('*/*/massFeatured', array('_current' => true)), 'additional' => array('visibility' => array('name' => 'status', 'type' => 'select', 'class' => 'required-entry', 'label' => Mage::helper('sm_featured')->__('Status'), 'values' => array(0 => 'Disable', 1 => 'Enable')))));
 }
 /**
  * Prepare the adminhtml category products view
  *
  * @param Varien_Event_Observer $observer Observer Instance
  */
 public function adminhtmlBlockHtmlBefore(Varien_Event_Observer $observer)
 {
     /* @var $block Mage_Adminhtml_Block_Widget_Grid */
     $block = $observer->getBlock();
     if ($block instanceof Mage_Adminhtml_Block_Widget_Grid && $block->getId() == 'catalog_category_products' && $block->getCategory()->getId()) {
         $block->addColumn('dynamic', array('header' => Mage::helper('catalog')->__('Type'), 'width' => '80', 'index' => 'dynamic', 'sortable' => false, 'filter' => false, 'frame_callback' => array($this, 'decorateType')));
     }
 }
Exemple #10
0
 public function coreBlockAbstractToHtmlBefore(Varien_Event_Observer $observer)
 {
     /** @var Mage_Core_Block_Abstract $block */
     $block = $observer->getBlock();
     if ($block instanceof Mage_Core_Block_Template && Mage::helper('sse_debugerrors')->isEnabled()) {
         $this->_checkPossibleTemplateErrors($block);
     }
 }
 /**
  * @param Varien_Event_Observer $observer
  */
 public function addExtraColumnsToGrid(Varien_Event_Observer $observer)
 {
     // Get the block
     $block = $observer->getBlock();
     if ($block instanceof Mage_Adminhtml_Block_Report_Shopcart_Abandoned_Grid) {
         $block->addColumnAfter('abandoned_notified', array('header' => Mage::helper('abandonedcarts')->__('Abandoned cart email sent'), 'index' => 'abandoned_notified', 'type' => 'options', 'options' => array(0 => Mage::helper('abandonedcarts')->__('No'), 1 => Mage::helper('abandonedcarts')->__('Yes'))), 'remote_ip');
         $block->addColumnAfter('abandoned_sale_notified', array('header' => Mage::helper('abandonedcarts')->__('Abandoned cart sale email sent'), 'index' => 'abandoned_sale_notified', 'type' => 'options', 'options' => array(0 => Mage::helper('abandonedcarts')->__('No'), 1 => Mage::helper('abandonedcarts')->__('Yes'))), 'abandoned_notified');
     }
 }
 /**
  * Remove popup block after rendering, so that following renderers can use their own instance
  * 
  * @param Varien_Event_Observer $observer
  */
 public function removePopupBlockFromLayout(Varien_Event_Observer $observer)
 {
     $block = $observer->getBlock();
     if ($this->_shouldAddPopup($block)) {
         /* @var $container Mage_Core_Block_Text_List */
         $container = $block->getLayout()->getBlock('additional.product.info');
         $container->unsetChild(self::POPUP_ALIAS_IN_LAYOUT);
     }
 }
 public function addFeaturedColumn(Varien_Event_Observer $observer)
 {
     //        echo __METHOD__;
     $block = $observer->getBlock();
     if ($block->getType() == 'adminhtml/catalog_product_grid') {
         //        if ($block->getId() == 'productGrid'){
         $block->addColumnAfter('featured', array('header' => Mage::helper('catalog')->__('is Featured'), 'width' => '70px', 'index' => 'is_featured', 'type' => 'options', 'options' => array(0 => 'No', 1 => 'Category', 2 => 'Home')), 'action');
     }
 }
 /**
  * Set flag to add unprocessed event count after load.
  * Uses core_block_abstract_to_html_before because this is the only event fired before
  * grid is prepared and collection loaded. Cannot use collection flag because collection
  * is not instantiated yet.
  * 
  * @see event core_block_abstract_to_html_before
  * @param Varien_Event_Observer $observer
  * @return Hackathon_AsyncIndex_Model_Observer
  */
 public function prepareCollectionForGrid(Varien_Event_Observer $observer)
 {
     /* @var $block Mage_Core_Block_Abstract $block */
     $block = $observer->getBlock();
     if ($block instanceof Mage_Index_Block_Adminhtml_Process_Grid) {
         $this->_shouldLoadUnprocessedEventCount = true;
     }
     return $this;
 }
 /**
  * @see event adminhtml_block_html_before
  * @return 
  */
 public function addIndexStatusColumn(Varien_Event_Observer $observer)
 {
     /** @var Mage_Adminhtml_Block_Template $block */
     $block = $observer->getBlock();
     if ($block instanceof Mage_Index_Block_Adminhtml_Process_Grid) {
         $this->_addIndexStatusColumnTo($block);
         $this->_changeActionColumnToAjax($block);
     }
 }
 /**
  * Add massAction option to Productgrid
  *
  * @param  Varien_Event_Observer $observer
  * @return self
  */
 public function addMassactionToProductGrid($observer)
 {
     $block = $observer->getBlock();
     if ($block instanceof Mage_Adminhtml_Block_Catalog_Product_Grid) {
         $sets = Mage::getResourceModel('eav/entity_attribute_set_collection')->setEntityTypeFilter(Mage::getModel('catalog/product')->getResource()->getTypeId())->load()->toOptionHash();
         $block->getMassactionBlock()->addItem('flagbit_changeattributeset', array('label' => Mage::helper('catalog')->__('Change attribute set'), 'url' => $block->getUrl('*/*/changeattributeset', array('_current' => TRUE)), 'additional' => array('visibility' => array('name' => 'attribute_set', 'type' => 'select', 'class' => 'required-entry', 'label' => Mage::helper('catalog')->__('Attribute Set'), 'values' => $sets))));
     }
     return $this;
 }
Exemple #17
0
 /**
  * Looks for the hook we set and adds our own custom block.
  *
  * @param Varien_Event_Observer $observer
  * @return Smartbear_Alertsite_Model_Observer
  */
 public function coreBlockAbstractToHtmlAfter(Varien_Event_Observer $observer)
 {
     if (!Mage::helper('alertsite')->getConfig('alertsite_config', 'enabled') || strlen(trim(Mage::helper('alertsite')->getConfig('alertsite_config', 'alertsite_user'))) < 1) {
         return $this;
     }
     if (Mage::app()->getFrontController()->getAction()->getFullActionName() === 'adminhtml_dashboard_index') {
         if ($observer->getBlock()->getAlertsiteDashboardHook()) {
             $html = $observer->getTransport()->getHtml();
             // grab the html that's already rendered
             /** @var $dashboardBox Smartbear_Alertsite_Block_Adminhtml_Dashboard */
             $dashboardBox = $observer->getBlock()->getLayout()->createBlock('alertsite/adminhtml_dashboard');
             $dashboardBox->insert($observer->getBlock()->getLayout()->createBlock('core/template', 'alertsite.subheader')->setTemplate('alertsite/subheader.phtml'));
             $html .= $dashboardBox->toHtml();
             $observer->getTransport()->setHtml($html);
         }
     }
     return $this;
 }
Exemple #18
0
 public function beforeBlockToHtml(Varien_Event_Observer $observer)
 {
     $grid = $observer->getBlock();
     /**
      * Mage_Adminhtml_Block_Customer_Grid
      */
     if ($grid instanceof Mage_Adminhtml_Block_Customer_Grid) {
         $grid->addColumnAfter('points', array('header' => 'Points for Order', 'type' => 'text', 'index' => 'points'), 'email');
     }
 }
 /**
  * Checks the block being created and if its the authorize.net payment
  * form block, creates an anonymous child block to add to it so
  * we can spit out an error message if auth.net is in test mode
  *
  * @param Varien_Event_Observer $observer
  *
  * @return void
  */
 public function checkBlock(Varien_Event_Observer $observer)
 {
     Varien_Profiler::start('AUTH NET TEST MODE');
     $block = $observer->getBlock();
     if ('payment/form_cc' == $block->getType()) {
         $validate = Mage::app()->getLayout()->createBlock('atlanticbt_authnettestmode/checkout_onepage_validate');
         $block->setChild('atlanticbt_authnettestmode', $validate);
     }
     Varien_Profiler::stop('AUTH NET TEST MODE');
 }
Exemple #20
0
 public function appendRecommendationColumn(Varien_Event_Observer $evt)
 {
     $block = $evt->getBlock();
     if (!isset($block)) {
         return $this;
     }
     if ($block->getType() == 'adminhtml/sales_order_grid') {
         $block->addColumnAfter('recommendation', array('header' => Mage::helper('sales')->__('Recommendation'), 'index' => 'recommendation', 'type' => 'text'), 'status');
     }
 }
 /**
  * before block to html observer
  *
  * @param Varien_Event_Observer $observer
  */
 public function beforeBlockToHtml(Varien_Event_Observer $observer)
 {
     $grid = $observer->getBlock();
     /**
      * Mage_Adminhtml_Block_Customer_Grid
      */
     if ($grid instanceof Mage_Adminhtml_Block_Promo_Quote_Edit_Tab_Coupons_Grid) {
         $grid->addColumnAfter('expiration_date', array('header' => Mage::helper('salesrule')->__('Expiration date'), 'index' => 'expiration_date', 'type' => 'datetime', 'default' => '-', 'align' => 'center', 'width' => '160'), 'created_at')->addColumnAfter('generated_by_dotmailer', array('header' => Mage::helper('salesrule')->__('Generated By dotmailer'), 'index' => 'generated_by_dotmailer', 'type' => 'options', 'options' => array('null' => 'No', '1' => 'Yes'), 'width' => '30', 'align' => 'center', 'filter_condition_callback' => array($this, 'filterCallbackContact')), 'expiration_date');
     }
 }
 public function optimizeCmsBlocksCache(Varien_Event_Observer $observer)
 {
     $block = $observer->getBlock();
     if ($block instanceof Mage_Cms_Block_Widget_Block || $block instanceof Mage_Cms_Block_Block) {
         $cacheKeyData = array(Mage_Cms_Model_Block::CACHE_TAG, $block->getBlockId(), Mage::app()->getStore()->getId());
         $block->setCacheKey(implode('_', $cacheKeyData));
         $block->setCacheTags(array(Mage_Cms_Model_Block::CACHE_TAG));
         $block->setCacheLifetime(false);
     }
 }
Exemple #23
0
 /**
  * Observes core_block_abstract_to_html_before
  *
  * Calls observers for each block. @see readme.md for details.
  *
  * @param Varien_Event_Observer $eventObserver
  */
 public function customBlockCache(Varien_Event_Observer $eventObserver)
 {
     /** @var Mage_Core_Block_Abstract $block */
     $block = $eventObserver->getBlock();
     $cacheObserverConfig = Mage::getSingleton('cacheobserver/config');
     $observers = $cacheObserverConfig->getObserversByBlockInstance($block);
     foreach ($observers as $observer) {
         Mage::getModel($observer['model_alias'])->{$observer}['method']($block);
     }
 }
Exemple #24
0
 /**
  * Append the baseprice html if necessary (frontend)
  *
  * @param Varien_Event_Observer $observer
  */
 public function blockCatalogProductGetPriceHtml($observer)
 {
     if (!Mage::helper('baseprice')->moduleActive() || Mage::helper('baseprice')->inAdmin() || !Mage::helper('baseprice')->getConfig('auto_append_base_price')) {
         return;
     }
     $block = $observer->getBlock();
     $container = $observer->getContainer();
     $block->setTemplate('baseprice/baseprice.phtml');
     $html = $container->getHtml() . $block->toHtml();
     $container->setHtml($html);
 }
Exemple #25
0
 public function coreBlockAbstractToHtmlAfter(Varien_Event_Observer $observer)
 {
     if (!Mage::helper('aw_giftcard')->isModuleOutputEnabled()) {
         return $this;
     }
     if ($observer->getBlock() instanceof Mage_Checkout_Block_Cart_Coupon) {
         $block = Mage::app()->getLayout()->createBlock('aw_giftcard/frontend_checkout_cart_giftcard');
         $observer->getTransport()->setHtml($observer->getTransport()->getHtml() . $block->toHtml());
     }
     return $this;
 }
 /**
  * Adds column to admin sales order grid
  *
  * @param   Varien_Event_Observer $observer
  * @return  void
  */
 public function appendColumnToSalesOrderGrid(Varien_Event_Observer $observer)
 {
     $block = $observer->getBlock();
     if (!isset($block)) {
         return;
     }
     if ($block->getType() == 'adminhtml/sales_order_grid') {
         /* @var Mage_Adminhtml_Block_Sales_Order_Grid $block */
         $block->addColumnAfter('ordercomment', array('header' => Mage::helper('ordercomment')->__('Last Comment'), 'type' => 'text', 'index' => 'customer_note', 'filter_index' => 'order.customer_note'), 'status');
     }
 }
Exemple #27
0
 /**
  * Instantiate analytics block after layout has been rendered, 
  *  so that it'll contain the current log handle & session id.
  */
 public function initAnalytics(Varien_Event_Observer $observer)
 {
     $_block = $observer->getBlock();
     $_type = $_block->getType();
     if ($_type == 'catalogsearch/result' || $_type == 'catalogsearch/advanced_result' || $_type == 'catalog/category_view') {
         if (Mage::helper('conversionpro')->hasSearchResults()) {
             $layout = Mage::getSingleton('core/layout');
             $block = $layout->createBlock('conversionpro/analytics_view')->setTemplate('conversionpro/analytics/tracking.search.phtml');
             $layout->getBlock('before_body_end')->append($block);
         }
     }
 }
 /**
  * Prepare the adminhtml category products view
  *
  * @param Varien_Event_Observer $observer
  * @return void
  */
 public function adminhtmlBlockHtmlBefore(Varien_Event_Observer $observer)
 {
     /* @var $block Mage_Adminhtml_Block_Widget_Grid */
     $block = $observer->getBlock();
     if (($block instanceof Mage_Index_Block_Adminhtml_Process_Grid || $block instanceof Enterprise_Index_Block_Adminhtml_Process_Grid) && $block->getId() == 'indexer_processes_grid') {
         // add process ids
         if (Mage::helper('flagbit_cronindexer')->isNewIndexerEnabled()) {
             $this->_enrichIndexCollection($block->getCollection());
         }
         $block->addColumn('dynamic', array('header' => Mage::helper('flagbit_cronindexer')->__('Schedule'), 'width' => '80', 'index' => 'schedule', 'sortable' => false, 'filter' => false, 'frame_callback' => array($this, 'decorateType')));
         $block->getMassactionBlock()->addItem('flagbit_cronindexer', array('label' => Mage::helper('flagbit_cronindexer')->__('Reindex Data (Cronjob)'), 'url' => $block->getUrl('*/*/massReindexCron'), 'selected' => true));
     }
 }
Exemple #29
0
 public function coreBlockAbstractToHtmlAfter(Varien_Event_Observer $observer)
 {
     $store = Mage::app()->getStore();
     if (!$store->isAdmin() && Mage::getModel('cmsassistant/assistant')->isEnabled($store->getId())) {
         $transport = $observer->getTransport();
         if ($transport->getHtml()) {
             $html = $this->addAssistant($observer->getBlock(), $transport->getHtml());
             if ($html) {
                 $transport->setHtml($html);
             }
         }
     }
 }
Exemple #30
0
 /**
  * This method is minifying HTML of every block.
  * Multiple calls per page but they are cached.
  * 
  * @param Varien_Event_Observer $observer
  */
 public function minifyBlockHtml(Varien_Event_Observer $observer)
 {
     if ($this->getBlockMinifyStatus()) {
         $block = $observer->getBlock();
         $transport = $observer->getTransport();
         $html = $transport->getHtml();
         if ($this->getMaxMinifyStatus()) {
             $transport->setHtml(Minify_HTMLMaxComp::minify($html, $this->minifyOptions));
         } else {
             $transport->setHtml(Minify_HTMLComp::minify($html, $this->minifyOptions));
         }
     }
 }