public function getHtml() { $htmlId = $this->_getHtmlId() . microtime(true); $format = $this->getLocale()->getDateStrFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT); $html = '<div class="range"><div class="range-line date"> <span class="label">' . AO::helper('adminhtml')->__('From') . ':</span> <input type="text" name="' . $this->_getHtmlName() . '[from]" id="' . $htmlId . '_from" value="' . $this->getEscapedValue('from') . '" class="input-text no-changes"/> <img src="' . Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/grid-cal.gif') . '" alt="" class="v-middle" id="' . $htmlId . '_from_trig" title="' . $this->htmlEscape(AO::helper('adminhtml')->__('Date selector')) . '"/> </div>'; $html .= '<div class="range-line date"> <span class="label">' . AO::helper('adminhtml')->__('To') . ' :</span> <input type="text" name="' . $this->_getHtmlName() . '[to]" id="' . $htmlId . '_to" value="' . $this->getEscapedValue('to') . '" class="input-text no-changes"/> <img src="' . Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/grid-cal.gif') . '" alt="" class="v-middle" id="' . $htmlId . '_to_trig" title="' . $this->htmlEscape(AO::helper('adminhtml')->__('Date selector')) . '"/> </div></div>'; $html .= '<input type="hidden" name="' . $this->_getHtmlName() . '[locale]" value="' . $this->getLocale()->getLocaleCode() . '"/>'; $html .= '<script type="text/javascript"> Calendar.setup({ inputField : "' . $htmlId . '_from", ifFormat : "' . $format . '", button : "' . $htmlId . '_from_trig", align : "Bl", singleClick : true }); Calendar.setup({ inputField : "' . $htmlId . '_to", ifFormat : "' . $format . '", button : "' . $htmlId . '_to_trig", align : "Bl", singleClick : true }); </script>'; return $html; }
/** * JS Calendar html * * @return string Formatted Html */ public function getCalendarDateHtml() { // $require = $this->getOption()->getIsRequire() ? ' required-entry' : ''; $require = ''; $calendar = $this->getLayout()->createBlock('core/html_date')->setId('options_' . $this->getOption()->getId() . '_date')->setName('options[' . $this->getOption()->getId() . '][date]')->setClass('product-custom-option datetime-picker input-text' . $require)->setImage(Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/grid-cal.gif'))->setExtraParams('onchange="opConfig.reloadPrice()"')->setFormat(AO::app()->getLocale()->getDateStrFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT)); return $calendar->getHtml(); }
protected function _construct() { parent::_construct(); Mage_Core_Model_Design_Package::getDesign()->setArea('install')->setPackageName('default')->setTheme('default'); $this->getLayout()->setArea('install'); $this->setFlag('', self::FLAG_NO_CHECK_INSTALLATION, true); }
protected function _beforeSave() { $value = $this->getValue(); if (empty($value)) { throw new Exception('package name is empty.'); } if (!Mage_Core_Model_Design_Package::getDesign()->designPackageExists($value)) { throw new Exception('package with this name does not exist and cannot be set.'); } }
public function getInclude($template, array $variables) { $filename = Mage_Core_Model_Design_Package::getDesign()->getTemplateFilename($template); if (!$filename) { return ''; } extract($variables); ob_start(); include $filename; return ob_get_clean(); }
public function translateAction() { if ($translate = $this->getRequest()->getPost('translate')) { try { if ($area = $this->getRequest()->getPost('area')) { Mage_Core_Model_Design_Package::getDesign()->setArea($area); } AO::getModel('core/translate_inline')->processAjaxPost($translate); echo "{success:true}"; } catch (Exception $e) { echo "{error:true,message:'" . $e->getMessage() . "'}"; } } exit; }
public function getAllOptions($withEmpty = true) { if (is_null($this->_options)) { $design = Mage_Core_Model_Design_Package::getDesign()->getThemeList(); $options = array(); foreach ($design as $package => $themes) { $packageOption = array('label' => $package); $themeOptions = array(); foreach ($themes as $theme) { $themeOptions[] = array('label' => $theme, 'value' => $package . '/' . $theme); } $packageOption['value'] = $themeOptions; $options[] = $packageOption; } $this->_options = $options; } $options = $this->_options; if ($withEmpty) { array_unshift($options, array('value' => '', 'label' => AO::helper('core')->__('-- Please Select --'))); } return $options; }
/** * Retrieve small image url * * @return unknown */ public function getSmallImageUrl($product) { $url = false; if (!$product->getSmallImage()) { $url = Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/no_image.jpg'); } elseif ($attribute = $product->getResource()->getAttribute('small_image')) { $url = $attribute->getFrontend()->getUrl($product); } return $url; }
public function setTheme($theme) { $arr = explode('/', $theme); if (isset($arr[1])) { Mage_Core_Model_Design_Package::getDesign()->setPackageName($arr[0])->setTheme($arr[1]); } else { Mage_Core_Model_Design_Package::getDesign()->setTheme($theme); } return $this; }
public function getRemoveLinkHtml() { $src = Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/rule_component_remove.gif'); $html = ' <span class="rule-param"><a href="javascript:void(0)" class="rule-param-remove" title="' . AO::helper('rule')->__('Remove') . '"><img src="' . $src . '" alt="" class="v-middle" /></a></span>'; return $html; }
/** * Loading current theme translation * * @return Mage_Core_Model_Translate */ protected function _loadThemeTranslation($forceReload = false) { $d = Mage_Core_Model_Design_Package::getDesign(); $file = $d->getLocaleFileName('translate.csv'); $this->_addData($this->_getFileData($file), false, $forceReload); return $this; }
/** * Retrieve skin JS file url * * @param string $file * @return string */ public function getJsSkinUrl($file) { return Mage_Core_Model_Design_Package::getDesign()->getSkinUrl($file, array()); }
/** * Render block * * @return string */ public function renderView() { if (VPROF) { Varien_Profiler::start(__METHOD__); } $this->setScriptPath(AO::getBaseDir('design')); $params = array('_relative' => true); if ($area = $this->getArea()) { $params['_area'] = $area; } $templateName = Mage_Core_Model_Design_Package::getDesign()->getTemplateFilename($this->getTemplate(), $params); $templateName = scrunchName($templateName, 5); //var_dump($templateName); //var_dump(get_class($this)); $html = $this->fetchView($templateName); if (VPROF) { Varien_Profiler::stop(__METHOD__); } return $html; }
protected function _initDesign() { $designPackage = Mage_Core_Model_Design_Package::getDesign(); if ($designPackage->getArea() != self::AREA_FRONTEND) { return; } $currentStore = AO::app()->getStore()->getStoreId(); $designChange = AO::getSingleton('core/design')->loadChange($currentStore); if ($designChange->getData()) { $designPackage->setPackageName($designChange->getPackage())->setTheme($designChange->getTheme()); } }
protected function _toHtml() { $profile = $this->getProfile(); echo '<html><head>'; echo '<script type="text/javascript">var FORM_KEY = "' . AO::getSingleton('core/session')->getFormKey() . '";</script>'; $headBlock = $this->getLayout()->createBlock('page/html_head'); $headBlock->addJs('prototype/prototype.js'); $headBlock->addJs('mage/adminhtml/loader.js'); echo $headBlock->getCssJsHtml(); echo '<style type="text/css"> ul { list-style-type:none; padding:0; margin:0; } li { margin-left:0; border:1px solid #ccc; margin:2px; padding:2px 2px 2px 2px; font:normal 12px sans-serif; } img { margin-right:5px; } </style> <title>' . ($profile->getId() ? $this->htmlEscape($profile->getName()) : $this->__('No profile')) . '</title> </head><body>'; echo '<ul>'; echo '<li>'; if ($profile->getId()) { echo '<img src="' . Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/note_msg_icon.gif') . '" class="v-middle" style="margin-right:5px"/>'; echo $this->__("Starting profile execution, please wait..."); echo '</li>'; echo '<li style="background-color:#FFD;">'; echo '<img src="' . Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/fam_bullet_error.gif') . '" class="v-middle" style="margin-right:5px"/>'; echo $this->__("Warning: Please don't close window during importing/exporting data"); } else { echo '<img src="' . Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/error_msg_icon.gif') . '" class="v-middle" style="margin-right:5px"/>'; echo $this->__("No profile loaded..."); } echo '</li>'; echo '</ul>'; if ($profile->getId()) { echo '<ul id="profileRows">'; ob_implicit_flush(); $profile->run(); foreach ($profile->getExceptions() as $e) { switch ($e->getLevel()) { case Varien_Convert_Exception::FATAL: $img = 'error_msg_icon.gif'; $liStyle = 'background-color:#FBB; '; break; case Varien_Convert_Exception::ERROR: $img = 'error_msg_icon.gif'; $liStyle = 'background-color:#FDD; '; break; case Varien_Convert_Exception::WARNING: $img = 'fam_bullet_error.gif'; $liStyle = 'background-color:#FFD; '; break; case Varien_Convert_Exception::NOTICE: $img = 'fam_bullet_success.gif'; $liStyle = 'background-color:#DDF; '; break; } echo '<li style="' . $liStyle . '">'; echo '<img src="' . Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/' . $img) . '" class="v-middle"/>'; echo $e->getMessage(); if ($e->getPosition()) { echo " <small>(" . $e->getPosition() . ")</small>"; } echo "</li>"; } echo '<li id="liFinished" style="display:none;">'; echo '<img src="' . Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/note_msg_icon.gif') . '" class="v-middle" style="margin-right:5px"/>'; echo $this->__("Finished profile execution."); echo '</li>'; echo "</ul>"; $showFinished = true; $batchModel = AO::getSingleton('dataflow/batch'); /* @var $batchModel Mage_Dataflow_Model_Batch */ if ($batchModel->getId()) { if ($batchModel->getAdapter()) { $numberOfRecords = $profile->getData('gui_data/import/number_of_records'); $numberOfRecords = $numberOfRecords ? $numberOfRecords : 1; $showFinished = false; $batchImportModel = $batchModel->getBatchImportModel(); $importIds = $batchImportModel->getIdCollection(); $countItems = count($importIds); $batchConfig = array('styles' => array('error' => array('icon' => Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/error_msg_icon.gif'), 'bg' => '#FDD'), 'message' => array('icon' => Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/fam_bullet_success.gif'), 'bg' => '#DDF'), 'loader' => Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/ajax-loader.gif')), 'template' => '<li style="#{style}" id="#{id}">' . '<img id="#{id}_img" src="#{image}" class="v-middle" style="margin-right:5px"/>' . '<span id="#{id}_status" class="text">#{text}</span>' . '</li>', 'text' => $this->__('Processed <strong>%s%% %s/%d</strong> records', '#{percent}', '#{updated}', $countItems), 'successText' => $this->__('Imported <strong>%s</strong> records', '#{updated}')); echo ' <script type="text/javascript"> var countOfStartedProfiles = 0; var countOfUpdated = 0; var countOfError = 0; var importData = []; var totalRecords = ' . $countItems . '; var config= ' . Zend_Json::encode($batchConfig) . '; </script> <script type="text/javascript"> function addImportData(data) { importData.push(data); } function execImportData() { if (importData.length == 0) { $("updatedRows_img").src = config.styles.message.icon; $("updatedRows").style.backgroundColor = config.styles.message.bg; Element.insert($("liFinished"), {before: config.tpl.evaluate({ style: "background-color:"+config.styles.message.bg, image: config.styles.message.icon, text: config.tplSccTxt.evaluate({updated:(countOfUpdated-countOfError)}), id: "updatedFinish" })}); new Ajax.Request("' . $this->getUrl('*/*/batchFinish', array('id' => $batchModel->getId())) . '", { method: "post", parameters: {form_key: FORM_KEY}, onComplete: function(transport) { if (transport.responseText.isJSON()) { var response = transport.responseText.evalJSON(); if (response.error) { Element.insert($("liFinished"), {before: config.tpl.evaluate({ style: "background-color:"+config.styles.error.bg, image: config.styles.error.icon, text: response.error.escapeHTML(), id: "error-finish" })}); } } $(\'liFinished\').show(); } }); } else { sendImportData(importData.shift()); } } function sendImportData(data) { if (!config.tpl) { config.tpl = new Template(config.template); config.tplTxt = new Template(config.text); config.tplSccTxt = new Template(config.successText); } if (!$("updatedRows")) { Element.insert($("liFinished"), {before: config.tpl.evaluate({ style: "background-color: #FFD;", image: config.styles.loader, text: config.tplTxt.evaluate({updated:countOfUpdated, percent:getPercent()}), id: "updatedRows" })}); } countOfStartedProfiles++; if (!data.form_key) { data.form_key = FORM_KEY; } new Ajax.Request("' . $this->getUrl('*/*/batchRun') . '", { method: "post", parameters: data, onSuccess: function(transport) { countOfStartedProfiles --; countOfUpdated += data["rows[]"].length; if (transport.responseText.isJSON()) { addProfileRow(transport.responseText.evalJSON()); } else { Element.insert($("updatedRows"), {before: config.tpl.evaluate({ style: "background-color:"+config.styles.error.bg, image: config.styles.error.icon, text: transport.responseText.escapeHTML(), id: "error-" + countOfStartedProfiles })}); countOfError += data["rows[]"].length; } execImportData(); } }); } function getPercent() { return Math.ceil((countOfUpdated/totalRecords)*1000)/10; } function addProfileRow(data) { if (data.errors.length > 0) { for (var i=0, length=data.errors.length; i<length; i++) { Element.insert($("updatedRows"), {before: config.tpl.evaluate({ style: "background-color:"+config.styles.error.bg, image: config.styles.error.icon, text: data.errors[i], id: "id-" + (countOfUpdated + i + 1) })}); countOfError ++; } } $("updatedRows_status").update(config.tplTxt.evaluate({updated:countOfUpdated, percent:getPercent()})); } </script> '; $jsonIds = array_chunk($importIds, $numberOfRecords); foreach ($jsonIds as $part => $ids) { $data = array('batch_id' => $batchModel->getId(), 'rows[]' => $ids); echo '<script type="text/javascript">addImportData(' . Zend_Json::encode($data) . ')</script>'; } echo '<script type="text/javascript">execImportData()</script>'; //print $this->getUrl('*/*/batchFinish', array('id' => $batchModel->getId())); } else { $batchModel->delete(); } } if ($showFinished) { echo "<script type=\"text/javascript\">\$('liFinished').show();</script>"; } } /* echo '<li>'; echo '<img src="'.Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/note_msg_icon.gif').'" class="v-middle" style="margin-right:5px"/>'; echo $this->__("Finished profile execution."); echo '</li>'; echo "</ul>"; */ echo '</body></html>'; exit; }
public function storeDirective($construction) { $params = $this->_getIncludeParameters($construction[2]); if (!isset($params['_query'])) { $params['_query'] = array(); } foreach ($params as $k => $v) { if (strpos($k, '_query_') === 0) { $params['_query'][substr($k, 7)] = $v; unset($params[$k]); } } $params['_absolute'] = $this->_useAbsoluteLinks; if (isset($params['direct_url'])) { $path = ''; $params['_direct'] = $params['direct_url']; unset($params['direct_url']); } else { $path = $params['url']; unset($params['url']); } if (!self::$_urlInstance) { self::$_urlInstance = AO::getModel('core/url')->setStore(AO::app()->getStore(Mage_Core_Model_Design_Package::getDesign()->getStore()->getId())); } $_urlInstanceOldStore = null; if (!empty($path) && !AO::getStoreConfigFlag(Mage_Core_Model_Store::XML_PATH_STORE_IN_URL) && !AO::app()->isSingleStoreMode()) { $params['_query']['___store'] = AO::app()->getStore(Mage_Core_Model_Design_Package::getDesign()->getStore())->getCode(); } elseif (!empty($path) && AO::getStoreConfigFlag(Mage_Core_Model_Store::XML_PATH_STORE_IN_URL) && !AO::app()->isSingleStoreMode()) { $_urlInstanceOldStore = self::$_urlInstance->getStore(); self::$_urlInstance->setStore(AO::app()->getStore(Mage_Core_Model_Design_Package::getDesign()->getStore())->getCode()); } $url = self::$_urlInstance->getUrl($path, $params); if (null == !$_urlInstanceOldStore) { self::$_urlInstance->setStore($_urlInstanceOldStore); } return $url; }
public function addActionLayoutHandles() { $update = $this->getLayout()->getUpdate(); // load store handle $update->addHandle('STORE_' . AO::app()->getStore()->getCode()); // load theme handle $package = Mage_Core_Model_Design_Package::getDesign(); //$package = AO::getSingleton('core/design_package'); $update->addHandle('THEME_' . $package->getArea() . '_' . $package->getPackageName() . '_' . $package->getTheme('layout')); // load action handle $update->addHandle(strtolower($this->getFullActionName())); return $this; }
public function customerSaveBeforeObserver($observer) { $customer = $observer->getEvent()->getCustomer(); $isAdmin = Mage_Core_Model_Design_Package::getDesign()->getArea() === 'adminhtml'; $email = $customer->getEmail(); $host = AO::app()->getStore()->getConfig(Mage_Customer_Model_Customer::XML_PATH_DEFAULT_EMAIL_DOMAIN); $fakeEmail = $customer->getIncrementId() . '@' . $host; if ($email && $email != $fakeEmail && $customer->dataHasChangedFor('email') && (!$isAdmin || $isAdmin && $this->getConfigData('email_verification', 'check_admin'))) { $this->emailVerify($email); } }
function printError($error, $line = null) { if ($error == null) { return false; } $img = 'error_msg_icon.gif'; $liStyle = 'background-color:#FDD; '; echo '<li style="' . $liStyle . '">'; echo '<img src="' . Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/' . $img) . '" class="v-middle"/>'; echo $error; if ($line) { echo '<small>, Line: <b>' . $line . '</b></small>'; } echo "</li>"; }
/** * Send customer email * * @return bool */ public function send() { if (is_null($this->_website) || is_null($this->_customer)) { return false; } if ($this->_type == 'price' && count($this->_priceProducts) == 0 || $this->_type == 'stock' && count($this->_stockProducts) == 0) { return false; } if (!$this->_website->getDefaultGroup() || !$this->_website->getDefaultGroup()->getDefaultStore()) { return false; } $storeId = $this->_website->getDefaultGroup()->getDefaultStore()->getId(); $storeCode = $this->_website->getDefaultGroup()->getDefaultStore()->getCode(); if ($this->_type == 'price' && !AO::getStoreConfig(self::XML_PATH_EMAIL_PRICE_TEMPLATE, $storeId)) { return false; } elseif ($this->_type == 'stock' && !AO::getStoreConfig(self::XML_PATH_EMAIL_STOCK_TEMPLATE, $storeId)) { return false; } Mage_Core_Model_Design_Package::getDesign()->setStore($storeId); Mage_Core_Model_Design_Package::getDesign()->setArea('frontend'); $translate = AO::getSingleton('core/translate'); /* @var $translate Mage_Core_Model_Translate */ $translate->setTranslateInline(false); if ($this->_type == 'price') { $this->_getPriceBlock()->setStoreCode($storeCode); foreach ($this->_priceProducts as $product) { $product->setCustomerGroupId($this->_customer->getGroupId()); $this->_getPriceBlock()->addProduct($product); } $block = $this->_getPriceBlock()->toHtml(); $templateId = AO::getStoreConfig(self::XML_PATH_EMAIL_PRICE_TEMPLATE, $storeId); } elseif ($this->_type == 'stock') { $this->_getStockBlock()->setStoreCode($storeCode); foreach ($this->_stockProducts as $product) { $product->setCustomerGroupId($this->_customer->getGroupId()); $this->_getStockBlock()->addProduct($product); } $block = $this->_getStockBlock()->toHtml(); $templateId = AO::getStoreConfig(self::XML_PATH_EMAIL_STOCK_TEMPLATE, $storeId); } else { return false; } AO::getModel('core/email_template')->setDesignConfig(array('area' => 'frontend', 'store' => $storeId))->sendTransactional($templateId, AO::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY, $storeId), $this->_customer->getEmail(), $this->_customer->getName(), array('customerName' => $this->_customer->getName(), 'alertGrid' => $block)); $translate->setTranslateInline(true); return true; }
/** * Revert design settings to previous * * @return Mage_Core_Model_Email_Template */ protected function _cancelDesignConfig() { if ($this->getDesignConfig()) { if ($this->getDesignConfig()->getOldArea()) { Mage_Core_Model_Design_Package::getDesign()->setArea($this->getDesignConfig()->getOldArea()); } if ($this->getDesignConfig()->getOldStore()) { Mage_Core_Model_Design_Package::getDesign()->setStore($this->getDesignConfig()->getOldStore()); Mage_Core_Model_Design_Package::getDesign()->setTheme(''); Mage_Core_Model_Design_Package::getDesign()->setPackageName(''); } } AO::app()->getLocale()->revert(); return $this; }
protected function _insertInlineScriptsHtml() { if ($this->_isScriptInserted || stripos($this->_content, '</body>') === false) { return; } $baseJsUrl = AO::getBaseUrl('js'); $ajaxUrl = AO::getUrl('core/ajax/translate', array('_secure' => AO::app()->getStore()->isCurrentlySecure())); $trigImg = $this->design->getSkinUrl('images/fam_book_open.png'); ob_start(); ?> <!-- script type="text/javascript" src="<?php echo $baseJsUrl; ?> prototype/effects.js"></script --> <script type="text/javascript" src="<?php echo $baseJsUrl; ?> prototype/window.js"></script> <link rel="stylesheet" type="text/css" href="<?php echo $baseJsUrl; ?> prototype/windows/themes/default.css"/> <link rel="stylesheet" type="text/css" href="<?php echo $baseJsUrl; ?> prototype/windows/themes/magento.css"/> <script type="text/javascript" src="<?php echo $baseJsUrl; ?> mage/translate_inline.js"></script> <link rel="stylesheet" type="text/css" href="<?php echo $baseJsUrl; ?> mage/translate_inline.css"/> <div id="translate-inline-trig"><img src="<?php echo $trigImg; ?> " alt="[TR]"/></div> <script type="text/javascript"> new TranslateInline('translate-inline-trig', '<?php echo $ajaxUrl; ?> ', '<?php echo Mage_Core_Model_Design_Package::getDesign()->getArea(); ?> '); </script> <?php $html = ob_get_clean(); $this->_content = str_ireplace('</body>', $html . '</body>', $this->_content); $this->_isScriptInserted = true; }
/** * @return Mage_Catalog_Model_Product_Image */ public function setWatermark($file, $position = null, $size = null, $width = null, $heigth = null) { $filename = false; if (!$file) { return $this; } $baseDir = AO::getSingleton('catalog/product_media_config')->getBaseMediaPath(); if (file_exists($baseDir . '/watermark/stores/' . AO::app()->getStore()->getId() . $file)) { $filename = $baseDir . '/watermark/stores/' . AO::app()->getStore()->getId() . $file; } elseif (file_exists($baseDir . '/watermark/websites/' . AO::app()->getWebsite()->getId() . $file)) { $filename = $baseDir . '/watermark/websites/' . AO::app()->getWebsite()->getId() . $file; } elseif (file_exists($baseDir . '/watermark/default/' . $file)) { $filename = $baseDir . '/watermark/default/' . $file; } elseif (file_exists($baseDir . '/watermark/' . $file)) { $filename = $baseDir . '/watermark/' . $file; } else { $baseDir = Mage_Core_Model_Design_Package::getDesign()->getSkinBaseDir(); if (file_exists($baseDir . $file)) { $filename = $baseDir . $file; } } if ($filename) { $this->getImageProcessor()->setWatermarkPosition($position ? $position : $this->getWatermarkPosition())->setWatermarkWidth($width ? $width : $this->getWatermarkWidth())->setWatermarkHeigth($heigth ? $heigth : $this->getWatermarkHeigth())->watermark($filename); } return $this; }
/** * Retrieve value element * * @return Varien_Data_Form_Element_Abstract */ public function getValueElement() { $element = parent::getValueElement(); if (is_object($this->getAttributeObject())) { switch ($this->getAttributeObject()->getFrontendInput()) { case 'date': $element->setImage(Mage_Core_Model_Design_Package::getDesign()->getSkinUrl('images/grid-cal.gif')); break; } } return $element; }
/** * Sending email with invoice update information * * @return Mage_Sales_Model_Order_Invoice */ public function sendUpdateEmail($notifyCustomer = true, $comment = '') { if (!AO::helper('sales')->canSendCreditmemoCommentEmail($this->getOrder()->getStore()->getId())) { return $this; } $currentDesign = Mage_Core_Model_Design_Package::getDesign()->setAllGetOld(array('package' => AO::getStoreConfig('design/package/name', $this->getStoreId()))); $translate = AO::getSingleton('core/translate'); /* @var $translate Mage_Core_Model_Translate */ $translate->setTranslateInline(false); $order = $this->getOrder(); $copyTo = $this->_getEmails(self::XML_PATH_UPDATE_EMAIL_COPY_TO); $copyMethod = AO::getStoreConfig(self::XML_PATH_UPDATE_EMAIL_COPY_METHOD, $this->getStoreId()); if (!$notifyCustomer && !$copyTo) { return $this; } $mailTemplate = AO::getModel('core/email_template'); if ($order->getCustomerIsGuest()) { $template = AO::getStoreConfig(self::XML_PATH_UPDATE_EMAIL_GUEST_TEMPLATE, $order->getStoreId()); $customerName = $order->getBillingAddress()->getName(); } else { $template = AO::getStoreConfig(self::XML_PATH_UPDATE_EMAIL_TEMPLATE, $order->getStoreId()); $customerName = $order->getCustomerName(); } if ($notifyCustomer) { $sendTo[] = array('name' => $customerName, 'email' => $order->getCustomerEmail()); if ($copyTo && $copyMethod == 'bcc') { foreach ($copyTo as $email) { $mailTemplate->addBcc($email); } } } if ($copyTo && ($copyMethod == 'copy' || !$notifyCustomer)) { foreach ($copyTo as $email) { $sendTo[] = array('name' => null, 'email' => $email); } } foreach ($sendTo as $recipient) { $mailTemplate->setDesignConfig(array('area' => 'frontend', 'store' => $order->getStoreId()))->sendTransactional($template, AO::getStoreConfig(self::XML_PATH_UPDATE_EMAIL_IDENTITY, $order->getStoreId()), $recipient['email'], $recipient['name'], array('order' => $order, 'billing' => $order->getBillingAddress(), 'creditmemo' => $this, 'comment' => $comment)); } $translate->setTranslateInline(true); Mage_Core_Model_Design_Package::getDesign()->setAllGetOld($currentDesign); return $this; }
/** * Controller predispatch method * * @return Mage_Adminhtml_Controller_Action */ public function preDispatch() { Mage_Core_Model_Design_Package::getDesign()->setArea('adminhtml')->setPackageName((string) AO::getConfig()->getNode('stores/admin/design/package/name'))->setTheme((string) AO::getConfig()->getNode('stores/admin/design/theme/default')); $this->getLayout()->setArea('adminhtml'); AO::dispatchEvent('adminhtml_controller_action_predispatch_start', array()); parent::preDispatch(); $_isValidFormKey = true; $_isValidSecretKey = true; $_keyErrorMsg = ''; if (AO::getSingleton('admin/session')->isLoggedIn()) { if ($this->getRequest()->isPost()) { $_isValidFormKey = $this->_validateFormKey(); $_keyErrorMsg = 'Invalid Form Key'; } elseif (AO::getSingleton('adminhtml/url')->useSecretKey()) { $_isValidSecretKey = $this->_validateSecretKey(); $_keyErrorMsg = 'Invalid Secret Key'; } } if (!$_isValidFormKey || !$_isValidSecretKey) { $this->setFlag('', self::FLAG_NO_DISPATCH, true); $this->setFlag('', self::FLAG_NO_POST_DISPATCH, true); if ($this->getRequest()->getQuery('isAjax', false) || $this->getRequest()->getQuery('ajax', false)) { $this->getResponse()->setBody(Zend_Json::encode(array('error' => true, 'error_msg' => AO::helper('adminhtml')->__($_keyErrorMsg)))); } else { $this->_redirect('*/index/index'); } return $this; } if ($this->getRequest()->isDispatched() && $this->getRequest()->getActionName() !== 'denied' && !$this->_isAllowed()) { $this->_forward('denied'); $this->setFlag('', self::FLAG_NO_DISPATCH, true); return $this; } if (!$this->getFlag('', self::FLAG_IS_URLS_CHECKED) && !$this->getRequest()->getParam('forwarded') && !$this->_getSession()->getIsUrlNotice(true) && !AO::getConfig()->getNode('global/can_use_base_url')) { $this->_checkUrlSettings(); $this->setFlag('', self::FLAG_IS_URLS_CHECKED, true); } if (is_null(AO::getSingleton('adminhtml/session')->getLocale())) { AO::getSingleton('adminhtml/session')->setLocale(AO::app()->getLocale()->getLocaleCode()); } return $this; }
public function __toString() { try { if ($this->getImageFile()) { $this->_getModel()->setBaseFile($this->getImageFile()); } else { $this->_getModel()->setBaseFile($this->getProduct()->getData($this->_getModel()->getDestinationSubdir())); } if ($this->_getModel()->isCached()) { return $this->_getModel()->getUrl(); } else { if ($this->_scheduleRotate) { $this->_getModel()->rotate($this->getAngle()); } if ($this->_scheduleResize) { $this->_getModel()->resize(); } if ($this->_scheduleWatermark) { $this->_getModel()->setWatermarkPosition($this->getWatermarkPosition())->setWatermarkSize($this->parseSize($this->getWatermarkSize()))->setWatermark($this->getWatermark(), $this->getWatermarkPosition()); } else { if ($watermark = AO::getStoreConfig("design/watermark/{$this->_getModel()->getDestinationSubdir()}_image")) { $this->_getModel()->setWatermarkPosition($this->getWatermarkPosition())->setWatermarkSize($this->parseSize($this->getWatermarkSize()))->setWatermark($watermark, $this->getWatermarkPosition()); } } $url = $this->_getModel()->saveFile()->getUrl(); } } catch (Exception $e) { $url = Mage_Core_Model_Design_Package::getDesign()->getSkinUrl($this->getPlaceholder()); } return $url; }
public function fetchFileLayoutUpdates() { $coreConfig = AO::getConfig(); $elementClass = $this->getElementClass(); $design = Mage_Core_Model_Design_Package::getDesign(); $area = $design->getArea(); $storeId = AO::app()->getStore()->getId(); $cacheKey = 'LAYOUT_' . $area . '_STORE' . $storeId . '_' . $design->getPackageName() . '_' . $design->getTheme('layout'); #echo "TEST:".$cacheKey; $cacheTags = array('layout'); if (AO::app()->useCache('layout') && ($layoutStr = AO::app()->loadCache($cacheKey))) { $this->_packageLayout = simplexml_load_string($layoutStr); } if (empty($layoutStr)) { $updatesRoot = $coreConfig->getNode($area . '/layout/updates'); $updateFiles = array(); foreach ($updatesRoot->children() as $updateNode) { if ($updateNode->file) { $module = $coreConfig->getAttribute($updateNode, 'module'); if ($module && AO::getStoreConfigFlag('advanced/modules_disable_output/' . $module)) { continue; } $updateFiles[] = (string) $updateNode->file; } } // custom local layout updates file - load always last $updateFiles[] = 'local.xml'; $layoutStr = ''; #$layoutXml = new $elementClass('<layouts/>'); foreach ($updateFiles as $file) { $filename = $design->getLayoutFilename($file); if (!is_readable($filename)) { continue; } $fileStr = file_get_contents($filename); $fileStr = str_replace($this->_subst['from'], $this->_subst['to'], $fileStr); $fileXml = simplexml_load_string($fileStr); if (!$fileXml instanceof SimpleXMLElement) { continue; } $layoutStr .= $coreConfig->innerXml($fileXml); #$layoutXml->appendChild($fileXml); } $layoutXml = simplexml_load_string('<layouts>' . $layoutStr . '</layouts>'); $this->_packageLayout = $layoutXml; if (AO::app()->useCache('layout')) { AO::app()->saveCache($this->_packageLayout->asXml(), $cacheKey, $cacheTags, null); } } return $this; }
/** * Add comment to order * * @param string $orderIncrementId * @param string $status * @param string $comment * @param boolean $notify * @return boolean */ public function addComment($orderIncrementId, $status, $comment = null, $notify = false) { $order = $this->_initOrder($orderIncrementId); $order->addStatusToHistory($status, $comment, $notify); try { if ($notify && $comment) { $oldStore = Mage_Core_Model_Design_Package::getDesign()->getStore(); $oldArea = Mage_Core_Model_Design_Package::getDesign()->getArea(); Mage_Core_Model_Design_Package::getDesign()->setStore($order->getStoreId()); Mage_Core_Model_Design_Package::getDesign()->setArea('frontend'); } $order->sendOrderUpdateEmail($notify, $comment); $order->save(); if ($notify && $comment) { Mage_Core_Model_Design_Package::getDesign()->setStore($oldStore); Mage_Core_Model_Design_Package::getDesign()->setArea($oldArea); } } catch (Mage_Core_Exception $e) { $this->_fault('status_not_changed', $e->getMessage()); } return true; }
public function getGridParentHtml() { $templateName = Mage_Core_Model_Design_Package::getDesign()->getTemplateFilename($this->_parentTemplate, array('_relative' => true)); return $this->fetchView($templateName); }