/**
  *
  * return Mage_Adminhtml_Block_Widget_Form
  */
 protected function _prepareForm()
 {
     $model = AO::registry('checkout_agreement');
     $form = new Varien_Data_Form(array('id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post'));
     $fieldset = $form->addFieldset('base_fieldset', array('legend' => AO::helper('checkout')->__('Terms and Conditions Information'), 'class' => 'fieldset-wide'));
     if ($model->getId()) {
         $fieldset->addField('agreement_id', 'hidden', array('name' => 'agreement_id'));
     }
     $fieldset->addField('name', 'text', array('name' => 'name', 'label' => AO::helper('checkout')->__('Condition Name'), 'title' => AO::helper('checkout')->__('Condition Name'), 'required' => true));
     $fieldset->addField('is_active', 'select', array('label' => AO::helper('checkout')->__('Status'), 'title' => AO::helper('checkout')->__('Status'), 'name' => 'is_active', 'required' => true, 'options' => array('1' => AO::helper('checkout')->__('Enabled'), '0' => AO::helper('checkout')->__('Disabled'))));
     $fieldset->addField('is_html', 'select', array('label' => AO::helper('checkout')->__('Show Content as'), 'title' => AO::helper('checkout')->__('Show Content as'), 'name' => 'is_html', 'required' => true, 'options' => array(0 => AO::helper('checkout')->__('Text'), 1 => AO::helper('checkout')->__('HTML'))));
     if (!AO::app()->isSingleStoreMode()) {
         $fieldset->addField('store_id', 'multiselect', array('name' => 'stores[]', 'label' => AO::helper('checkout')->__('Store View'), 'title' => AO::helper('checkout')->__('Store View'), 'required' => true, 'values' => AO::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true)));
     } else {
         $fieldset->addField('store_id', 'hidden', array('name' => 'stores[]', 'value' => AO::app()->getStore(true)->getId()));
         $model->setStoreId(AO::app()->getStore(true)->getId());
     }
     $fieldset->addField('checkbox_text', 'editor', array('name' => 'checkbox_text', 'label' => AO::helper('checkout')->__('Checkbox text'), 'title' => AO::helper('checkout')->__('Checkbox text'), 'rows' => '5', 'cols' => '30', 'wysiwyg' => false, 'required' => true));
     $fieldset->addField('content', 'editor', array('name' => 'content', 'label' => AO::helper('checkout')->__('Content'), 'title' => AO::helper('checkout')->__('Content'), 'style' => 'height:24em;', 'wysiwyg' => false, 'required' => true));
     $fieldset->addField('content_height', 'text', array('name' => 'content_height', 'label' => AO::helper('checkout')->__('Content Height (css)'), 'title' => AO::helper('checkout')->__('Content Height'), 'maxlength' => 25, 'class' => 'validate-css-length'));
     $form->setValues($model->getData());
     $form->setUseContainer(true);
     $this->setForm($form);
     return parent::_prepareForm();
 }
Пример #2
0
 /**
  * Get tier prices (formatted)
  *
  * @param Mage_Catalog_Model_Product $product
  * @return array
  */
 public function getTierPrices($product = null)
 {
     if (is_null($product)) {
         $product = $this->getProduct();
     }
     $prices = $product->getFormatedTierPrice();
     $res = array();
     if (is_array($prices)) {
         foreach ($prices as $price) {
             $price['price_qty'] = $price['price_qty'] * 1;
             if ($product->getPrice() != $product->getFinalPrice()) {
                 $productPrice = $product->getFinalPrice();
             } else {
                 $productPrice = $product->getPrice();
             }
             if ($price['price'] < $productPrice) {
                 $price['savePercent'] = ceil(100 - 100 / $productPrice * $price['price']);
                 $price['formated_price'] = AO::app()->getStore()->formatPrice(AO::app()->getStore()->convertPrice(AO::helper('tax')->getPrice($product, $price['website_price'])));
                 $price['formated_price_incl_tax'] = AO::app()->getStore()->formatPrice(AO::app()->getStore()->convertPrice(AO::helper('tax')->getPrice($product, $price['website_price'], true)));
                 $res[] = $price;
             }
         }
     }
     return $res;
 }
Пример #3
0
 public function getTotalReviews()
 {
     if (!$this->getTotalReviewsCache()) {
         $this->setTotalReviewsCache(AO::getModel('review/review')->getTotalReviews($this->getProductData()->getId(), false, AO::app()->getStore()->getId()));
     }
     return $this->getTotalReviewsCache();
 }
 public function getStoreSwitcherHtml()
 {
     if (AO::app()->isSingleStoreMode()) {
         return '';
     }
     return $this->getChildHtml('store_switcher');
 }
Пример #5
0
 protected function _beforeDelete()
 {
     if ($coupon = $this->getCouponCode()) {
         AO::app()->cleanCache('salesrule_coupon_' . $coupon);
     }
     parent::_beforeDelete();
 }
Пример #6
0
 protected function _prepareColumns()
 {
     $baseUrl = $this->getUrl();
     $this->addColumn('name', array('header' => AO::helper('tag')->__('Tag'), 'index' => 'name'));
     $this->addColumn('total_used', array('header' => AO::helper('tag')->__('Uses'), 'width' => '140px', 'align' => 'right', 'index' => 'uses', 'type' => 'number'));
     $this->addColumn('products', array('header' => AO::helper('tag')->__('Products'), 'width' => '140px', 'align' => 'right', 'index' => 'products', 'type' => 'number'));
     $this->addColumn('customers', array('header' => AO::helper('tag')->__('Customers'), 'width' => '140px', 'align' => 'right', 'index' => 'customers', 'type' => 'number'));
     $this->addColumn('popularity', array('header' => AO::helper('tag')->__('Popularity'), 'width' => '140px', 'align' => 'right', 'index' => 'popularity', 'type' => 'number'));
     /*
     $this->addColumn('status', array(
         'header'    => AO::helper('tag')->__('Status'),
         'width'     => '90px',
         'index'     => 'status',
         'type'      => 'options',
         'filter'    => false,
         'sortable'  => false,
         'options'    => array(
             Mage_Tag_Model_Tag::STATUS_DISABLED => AO::helper('tag')->__('Disabled'),
             Mage_Tag_Model_Tag::STATUS_PENDING  => AO::helper('tag')->__('Pending'),
             Mage_Tag_Model_Tag::STATUS_APPROVED => AO::helper('tag')->__('Approved'),
         ),
     ));
     */
     // Collection for stores filters
     if (!($collection = AO::registry('stores_select_collection'))) {
         $collection = AO::app()->getStore()->getResourceCollection()->load();
         AO::register('stores_select_collection', $collection);
     }
     if (!AO::app()->isSingleStoreMode()) {
         $this->addColumn('visible_in', array('header' => AO::helper('tag')->__('Visible In'), 'type' => 'store', 'index' => 'stores', 'sortable' => false, 'store_view' => true));
     }
     $this->addColumn('actions', array('header' => AO::helper('tag')->__('Actions'), 'width' => '100px', 'type' => 'action', 'sortable' => false, 'filter' => false, 'actions' => array(array('caption' => AO::helper('tag')->__('Edit Tag'), 'url' => $this->getUrl('*/*/edit', array('ret' => 'pending', 'tag_id' => '$tag_id'))), array('caption' => AO::helper('tag')->__('View Products'), 'url' => $this->getUrl('*/*/product', array('ret' => 'pending', 'tag_id' => '$tag_id'))), array('caption' => AO::helper('tag')->__('View Customers'), 'url' => $this->getUrl('*/*/customer', array('ret' => 'pending', 'tag_id' => '$tag_id'))))));
     return parent::_prepareColumns();
 }
Пример #7
0
 /**
  * Display search result
  */
 public function indexAction()
 {
     $query = AO::helper('catalogSearch')->getQuery();
     /* @var $query Mage_CatalogSearch_Model_Query */
     $query->setStoreId(AO::app()->getStore()->getId());
     if ($query->getQueryText()) {
         if (AO::helper('catalogSearch')->isMinQueryLength()) {
             $query->setId(0)->setIsActive(1)->setIsProcessed(1);
         } else {
             if ($query->getId()) {
                 $query->setPopularity($query->getPopularity() + 1);
             } else {
                 $query->setPopularity(1);
             }
             if ($query->getRedirect()) {
                 $query->save();
                 $this->getResponse()->setRedirect($query->getRedirect());
                 return;
             } else {
                 $query->prepare();
             }
         }
         AO::helper('catalogSearch')->checkNotes();
         $this->loadLayout();
         $this->_initLayoutMessages('catalog/session');
         $this->renderLayout();
         if (!AO::helper('catalogSearch')->isMinQueryLength()) {
             $query->save();
         }
     } else {
         $this->_redirectReferer();
     }
 }
Пример #8
0
 /**
  * Check is enable catalog product for store
  *
  * @param mixed $store
  * @return bool
  */
 public function isEnabled($store = null)
 {
     if (AO::app()->getStore($store)->isAdmin()) {
         return false;
     }
     return AO::getStoreConfigFlag(self::XML_PATH_USE_PRODUCT_FLAT, $store);
 }
Пример #9
0
 public function loadByName(Mage_Directory_Model_Region $region, $regionName, $countryId)
 {
     $locale = AO::app()->getLocale()->getLocaleCode();
     $select = $this->_read->select()->from(array('region' => $this->_regionTable))->where('region.country_id=?', $countryId)->where('region.default_name=?', $regionName)->join(array('rname' => $this->_regionNameTable), 'rname.region_id=region.region_id AND rname.locale=\'' . $locale . '\'', array('name'));
     $region->setData($this->_read->fetchRow($select));
     return $this;
 }
 protected function _prepareForm()
 {
     $form = new Varien_Data_Form();
     $fieldset = $form->addFieldset('googleoptimizer_fields', array('legend' => AO::helper('googleoptimizer')->__('Google Optimizer Scripts')));
     if ($this->getProduct()->getStoreId() == '0') {
         AO::helper('googleoptimizer')->setStoreId(AO::app()->getDefaultStoreView());
     } else {
         AO::helper('googleoptimizer')->setStoreId($this->getProduct()->getStoreId());
     }
     $disabledScriptsFields = false;
     $values = array();
     if ($this->getGoogleOptimizer() && $this->getGoogleOptimizer()->getData()) {
         $disabledScriptsFields = true;
         $values = $this->getGoogleOptimizer()->getData();
         $checkedUseDefault = true;
         if ($this->getGoogleOptimizer()->getStoreId() == $this->getProduct()->getStoreId()) {
             $checkedUseDefault = false;
             $disabledScriptsFields = false;
             $fieldset->addField('code_id', 'hidden', array('name' => 'code_id'));
         }
         // show 'use default' checkbox if store different for default and product has scripts for default store
         if ($this->getProduct()->getStoreId() != '0') {
             $fieldset->addField('store_flag', 'checkbox', array('name' => 'store_flag', 'value' => '1', 'label' => AO::helper('googleoptimizer')->__('Use Default Values'), 'class' => 'checkbox', 'required' => false, 'onchange' => 'googleOptimizerScopeAction()'))->setIsChecked($checkedUseDefault);
         }
     }
     $fieldset->addField('conversion_page', 'select', array('name' => 'conversion_page', 'label' => AO::helper('googleoptimizer')->__('Conversion Page'), 'values' => AO::getModel('googleoptimizer/adminhtml_system_config_source_googleoptimizer_conversionpages')->toOptionArray(), 'class' => 'select googleoptimizer validate-googleoptimizer', 'required' => false, 'onchange' => 'googleOptimizerConversionPageAction(this)'));
     if ($this->getProduct()->getStoreId() == '0' && !AO::app()->isSingleStoreMode()) {
         $fieldset->addField('conversion_page_url', 'note', array('name' => 'conversion_page_url', 'label' => AO::helper('googleoptimizer')->__('Conversion Page URL'), 'text' => AO::helper('googleoptimizer')->__('Please select store view to see the URL')));
     } else {
         $fieldset->addField('conversion_page_url', 'text', array('name' => 'conversion_page_url', 'label' => AO::helper('googleoptimizer')->__('Conversion Page URL'), 'class' => 'input-text', 'readonly' => 'readonly', 'required' => false, 'note' => AO::helper('googleoptimizer')->__('Please copy and paste this value to experiment edit form')));
     }
     $fieldset->addField('export_controls', 'text', array('name' => 'export_controls'));
     $fieldset->addField('control_script', 'textarea', array('name' => 'control_script', 'label' => AO::helper('googleoptimizer')->__('Control Script'), 'class' => 'textarea googleoptimizer validate-googleoptimizer', 'required' => false));
     $fieldset->addField('tracking_script', 'textarea', array('name' => 'tracking_script', 'label' => AO::helper('googleoptimizer')->__('Tracking Script'), 'class' => 'textarea googleoptimizer validate-googleoptimizer', 'required' => false));
     $fieldset->addField('conversion_script', 'textarea', array('name' => 'conversion_script', 'label' => AO::helper('googleoptimizer')->__('Conversion Script'), 'class' => 'textarea googleoptimizer validate-googleoptimizer', 'required' => false));
     $attributes = AO::helper('googleoptimizer')->getProductAttributes($this->getProduct());
     $fieldset->addField('attributes', 'multiselect', array('name' => 'attributes', 'label' => AO::helper('googleoptimizer')->__('Attributes'), 'class' => 'googleoptimizer validate-googleoptimizer validate-googleoptimizer-attributes', 'values' => $attributes, 'required' => false, 'onchange' => 'googleOptimizerAttributesCheckAction(this)', 'note' => AO::helper('googleoptimizer')->__('Limit is 8 attributes only.')));
     if (AO::helper('googleoptimizer')->getConversionPagesUrl() && $this->getGoogleOptimizer() && $this->getGoogleOptimizer()->getConversionPage()) {
         $form->getElement('conversion_page_url')->setValue(AO::helper('googleoptimizer')->getConversionPagesUrl()->getData($this->getGoogleOptimizer()->getConversionPage()));
     }
     if ($disabledScriptsFields) {
         foreach ($fieldset->getElements() as $element) {
             if ($element->getType() == 'textarea' || $element->getType() == 'select') {
                 $element->setDisabled($disabledScriptsFields);
             }
         }
         $form->getElement('export_controls')->setDisabled($disabledScriptsFields);
     }
     $fakeEntityAttribute = AO::getModel('catalog/resource_eav_attribute');
     foreach ($fieldset->getElements() as $element) {
         if ($element->getId() != 'store_flag') {
             $element->setEntityAttribute($fakeEntityAttribute);
         }
     }
     $form->getElement('export_controls')->setRenderer($this->getLayout()->createBlock('adminhtml/catalog_form_renderer_googleoptimizer_import'));
     $form->addValues($values);
     $form->setFieldNameSuffix('googleoptimizer');
     $this->setForm($form);
     return parent::_prepareForm();
 }
 public function _beforeToHtml()
 {
     $this->_currency = AO::getModel('directory/currency')->load(AO::getStoreConfig(Mage_Directory_Model_Currency::XML_PATH_CURRENCY_BASE));
     $this->_collection = AO::getResourceModel('sales/sale_collection')->setCustomerFilter(AO::registry('current_customer'))->load();
     $this->_groupedCollection = array();
     foreach ($this->_collection as $sale) {
         if (!is_null($sale->getStoreId())) {
             $store = AO::app()->getStore($sale->getStoreId());
             $websiteId = $store->getWebsiteId();
             $groupId = $store->getGroupId();
             $storeId = $store->getId();
             $sale->setWebsiteId($store->getWebsiteId());
             $sale->setWebsiteName($store->getWebsite()->getName());
             $sale->setGroupId($store->getGroupId());
             $sale->setGroupName($store->getGroup()->getName());
         } else {
             $websiteId = 0;
             $groupId = 0;
             $storeId = 0;
             $sale->setStoreName(AO::helper('customer')->__('Deleted Stores'));
         }
         $this->_groupedCollection[$websiteId][$groupId][$storeId] = $sale;
         $this->_websiteCounts[$websiteId] = isset($this->_websiteCounts[$websiteId]) ? $this->_websiteCounts[$websiteId] + 1 : 1;
     }
     return parent::_beforeToHtml();
 }
Пример #12
0
 public function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     $format = AO::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT);
     if ($date = $object->getDateFrom()) {
         $date = AO::app()->getLocale()->date($date, $format, null, false);
         $object->setDateFrom($date->toString(Varien_Date::DATETIME_INTERNAL_FORMAT));
     } else {
         $object->setDateFrom(null);
     }
     if ($date = $object->getDateTo()) {
         $date = AO::app()->getLocale()->date($date, $format, null, false);
         $object->setDateTo($date->toString(Varien_Date::DATETIME_INTERNAL_FORMAT));
     } else {
         $object->setDateTo(null);
     }
     if (!is_null($object->getDateFrom()) && !is_null($object->getDateTo()) && strtotime($object->getDateFrom()) > strtotime($object->getDateTo())) {
         AO::throwException(AO::helper('core')->__('Start date can\'t be greater than end date'));
     }
     $check = $this->_checkIntersection($object->getStoreId(), $object->getDateFrom(), $object->getDateTo(), $object->getId());
     if ($check) {
         AO::throwException(AO::helper('core')->__('Your design change for the specified store intersects with another one, please specify another date range'));
     }
     if (is_null($object->getDateFrom())) {
         $object->setDateFrom(new Zend_Db_Expr('null'));
     }
     if (is_null($object->getDateTo())) {
         $object->setDateTo(new Zend_Db_Expr('null'));
     }
     parent::_beforeSave($object);
 }
Пример #13
0
 public function getStores()
 {
     if (!$this->_stores) {
         $this->_stores = AO::app()->getStore()->getResourceCollection()->load();
     }
     return $this->_stores;
 }
Пример #14
0
 public function actionPreDispatchAdmin($event)
 {
     $session = AO::getSingleton('admin/session');
     /* @var $session Mage_Admin_Model_Session */
     $request = AO::app()->getRequest();
     $user = $session->getUser();
     if ($request->getActionName() == 'forgotpassword' || $request->getActionName() == 'logout') {
         $request->setDispatched(true);
     } else {
         if ($user) {
             $user->reload();
         }
         if (!$user || !$user->getId()) {
             if ($request->getPost('login')) {
                 $postLogin = $request->getPost('login');
                 $username = $postLogin['username'];
                 $password = $postLogin['password'];
                 $user = $session->login($username, $password, $request);
             }
             if (!$request->getParam('forwarded')) {
                 if ($request->getParam('isIframe')) {
                     $request->setParam('forwarded', true)->setControllerName('index')->setActionName('deniedIframe')->setDispatched(false);
                 } elseif ($request->getParam('isAjax')) {
                     $request->setParam('forwarded', true)->setControllerName('index')->setActionName('deniedJson')->setDispatched(false);
                 } else {
                     $request->setParam('forwarded', true)->setRouteName('adminhtml')->setControllerName('index')->setActionName('login')->setDispatched(false);
                 }
                 return false;
             }
         }
     }
     $session->refreshAcl();
 }
Пример #15
0
 protected function _prepareForm()
 {
     /** @var Cms_Model_Page */
     $model = AO::registry('cms_page');
     $form = new Varien_Data_Form();
     $form->setHtmlIdPrefix('page_');
     $fieldset = $form->addFieldset('base_fieldset', array('legend' => AO::helper('cms')->__('General Information'), 'class' => 'fieldset-wide'));
     if ($model->getPageId()) {
         $fieldset->addField('page_id', 'hidden', array('name' => 'page_id'));
     }
     $fieldset->addField('title', 'text', array('name' => 'title', 'label' => AO::helper('cms')->__('Page Title'), 'title' => AO::helper('cms')->__('Page Title'), 'required' => true));
     $fieldset->addField('identifier', 'text', array('name' => 'identifier', 'label' => AO::helper('cms')->__('SEF URL Identifier'), 'title' => AO::helper('cms')->__('SEF URL Identifier'), 'required' => true, 'class' => 'validate-identifier', 'after_element_html' => '<p class="nm"><small>' . AO::helper('cms')->__('(eg: domain.com/identifier)') . '</small></p>'));
     /**
      * Check is single store mode
      */
     if (!AO::app()->isSingleStoreMode()) {
         $fieldset->addField('store_id', 'multiselect', array('name' => 'stores[]', 'label' => AO::helper('cms')->__('Store View'), 'title' => AO::helper('cms')->__('Store View'), 'required' => true, 'values' => AO::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true)));
     } else {
         $fieldset->addField('store_id', 'hidden', array('name' => 'stores[]', 'value' => AO::app()->getStore(true)->getId()));
         $model->setStoreId(AO::app()->getStore(true)->getId());
     }
     $fieldset->addField('is_active', 'select', array('label' => AO::helper('cms')->__('Status'), 'title' => AO::helper('cms')->__('Page Status'), 'name' => 'is_active', 'required' => true, 'options' => array('1' => AO::helper('cms')->__('Enabled'), '0' => AO::helper('cms')->__('Disabled'))));
     $fieldset->addField('content', 'editor', array('name' => 'content', 'label' => AO::helper('cms')->__('Content'), 'title' => AO::helper('cms')->__('Content'), 'style' => 'height:36em;', 'wysiwyg' => false, 'required' => true));
     $form->setValues($model->getData());
     $this->setForm($form);
     return parent::_prepareForm();
 }
Пример #16
0
 protected function _toHtml()
 {
     $localeCode = AO::app()->getLocale()->getLocaleCode();
     // get days names
     $days = Zend_Locale_Data::getList($localeCode, 'days');
     $this->assign('days', array('wide' => Zend_Json::encode(array_values($days['format']['wide'])), 'abbreviated' => Zend_Json::encode(array_values($days['format']['abbreviated']))));
     // get months names
     $months = Zend_Locale_Data::getList($localeCode, 'months');
     $this->assign('months', array('wide' => Zend_Json::encode(array_values($months['format']['wide'])), 'abbreviated' => Zend_Json::encode(array_values($months['format']['abbreviated']))));
     // get "today" and "week" words
     $this->assign('today', Zend_Json::encode(Zend_Locale_Data::getContent($localeCode, 'relative', 0)));
     $this->assign('week', Zend_Json::encode(Zend_Locale_Data::getContent($localeCode, 'field', 'week')));
     // get "am" & "pm" words
     $this->assign('am', Zend_Json::encode(Zend_Locale_Data::getContent($localeCode, 'am')));
     $this->assign('pm', Zend_Json::encode(Zend_Locale_Data::getContent($localeCode, 'pm')));
     // get first day of week and weekend days
     $this->assign('firstDay', (int) AO::getStoreConfig('general/locale/firstday'));
     $this->assign('weekendDays', Zend_Json::encode((string) AO::getStoreConfig('general/locale/weekend')));
     // define default format and tooltip format
     $this->assign('defaultFormat', Zend_Json::encode(AO::app()->getLocale()->getDateStrFormat(Mage_Core_Model_Locale::FORMAT_TYPE_MEDIUM)));
     $this->assign('toolTipFormat', Zend_Json::encode(AO::app()->getLocale()->getDateStrFormat(Mage_Core_Model_Locale::FORMAT_TYPE_LONG)));
     // get days and months for en_US locale - calendar will parse exactly in this locale
     $days = Zend_Locale_Data::getList('en_US', 'days');
     $months = Zend_Locale_Data::getList('en_US', 'months');
     $enUS = new stdClass();
     $enUS->m = new stdClass();
     $enUS->m->wide = array_values($months['format']['wide']);
     $enUS->m->abbr = array_values($months['format']['abbreviated']);
     $this->assign('enUS', Zend_Json::encode($enUS));
     return parent::_toHtml();
 }
Пример #17
0
    public function loadFile()
    {
        if (!$_FILES) {
            ?>
<form method="POST" enctype="multipart/form-data">
File to upload: <input type="file" name="io_file"/> <input type="submit" value="Upload"/>
</form>
<?php 
            exit;
        }
        if (!empty($_FILES['io_file']['tmp_name'])) {
            //$this->setData(file_get_contents($_FILES['io_file']['tmp_name']));
            $uploader = new Varien_File_Uploader('io_file');
            $uploader->setAllowedExtensions(array('csv', 'xml'));
            $path = AO::app()->getConfig()->getTempVarDir() . '/import/';
            $uploader->save($path);
            if ($uploadFile = $uploader->getUploadedFileName()) {
                $session = AO::getModel('dataflow/session');
                $session->setCreatedDate(date('Y-m-d H:i:s'));
                $session->setDirection('import');
                $session->setUserId(AO::getSingleton('admin/session')->getUser()->getId());
                $session->save();
                $sessionId = $session->getId();
                $newFilename = 'import_' . $sessionId . '_' . $uploadFile;
                rename($path . $uploadFile, $path . $newFilename);
                $session->setFile($newFilename);
                $session->save();
                $this->setData(file_get_contents($path . $newFilename));
                AO::register('current_dataflow_session_id', $sessionId);
            }
        }
        return $this;
    }
Пример #18
0
 public function isSingleStoreMode()
 {
     if (!AO::app()->isSingleStoreMode()) {
         return false;
     }
     return true;
 }
 /**
  * Retrieve Flat Table name
  *
  * @param mixed $store
  * @return string
  */
 public function getFlatTableName($store = null)
 {
     if (!is_numeric($store)) {
         $store = AO::app()->getStore($store)->getId();
     }
     return $this->getTable('catalog/product_flat') . '_' . $store;
 }
 public function getRoot($parentNodeCategory = null, $recursionLevel = 3)
 {
     if (!is_null($parentNodeCategory) && $parentNodeCategory->getId()) {
         return $this->getNode($parentNodeCategory, $recursionLevel);
     }
     $root = AO::registry('root');
     if (is_null($root)) {
         $storeId = (int) $this->getRequest()->getParam('store');
         if ($storeId) {
             $store = AO::app()->getStore($storeId);
             $rootId = $store->getRootCategoryId();
         } else {
             $rootId = Mage_Catalog_Model_Category::TREE_ROOT_ID;
         }
         $tree = AO::getResourceSingleton('catalog/category_tree')->load($rootId, $recursionLevel);
         if ($this->getCategory()) {
             $tree->loadEnsuredNodes($this->getCategory(), $tree->getNodeById($rootId));
         }
         $tree->addCollectionData($this->getCategoryCollection());
         $root = $tree->getNodeById($rootId);
         if ($root && $rootId != Mage_Catalog_Model_Category::TREE_ROOT_ID) {
             $root->setIsVisible(true);
         } elseif ($root && $root->getId() == Mage_Catalog_Model_Category::TREE_ROOT_ID) {
             $root->setName(AO::helper('catalog')->__('Root'));
         }
         AO::register('root', $root);
     }
     return $root;
 }
Пример #21
0
    public function load()
    {
        if (!$_FILES) {
            ?>
<form method="POST" enctype="multipart/form-data">
File to upload: <input type="file" name="io_file"/> <input type="submit" value="Upload"/>
</form>
<?php 
            exit;
        }
        if (!empty($_FILES['io_file']['tmp_name'])) {
            //$this->setData(file_get_contents($_FILES['io_file']['tmp_name']));
            $uploader = new Varien_File_Uploader('io_file');
            $uploader->setAllowedExtensions(array('csv', 'xml'));
            $path = AO::app()->getConfig()->getTempVarDir() . '/import/';
            $uploader->save($path);
            if ($uploadFile = $uploader->getUploadedFileName()) {
                $fp = fopen($uploadFile, 'rb');
                while ($row = fgetcsv($fp)) {
                }
                fclose($fp);
            }
        }
        return $this;
    }
Пример #22
0
 /**
  * Get store object
  *
  * @return Mage_Core_Model_Store
  */
 public function getStore()
 {
     if ($this->getShipment()) {
         return $this->getShipment()->getStore();
     }
     return AO::app()->getStore();
 }
Пример #23
0
 protected function _prepareLayout()
 {
     $isFilter = $this->getRequest()->getParam('store') || $this->getRequest()->getParam('website') || $this->getRequest()->getParam('group');
     $collection = AO::getResourceModel('reports/order_collection')->calculateTotals($isFilter);
     if ($this->getRequest()->getParam('store')) {
         $collection->addAttributeToFilter('store_id', $this->getRequest()->getParam('store'));
     } else {
         if ($this->getRequest()->getParam('website')) {
             $storeIds = AO::app()->getWebsite($this->getRequest()->getParam('website'))->getStoreIds();
             $collection->addAttributeToFilter('store_id', array('in' => $storeIds));
         } else {
             if ($this->getRequest()->getParam('group')) {
                 $storeIds = AO::app()->getGroup($this->getRequest()->getParam('group'))->getStoreIds();
                 $collection->addAttributeToFilter('store_id', array('in' => $storeIds));
             }
         }
     }
     $collection->load();
     $collectionArray = $collection->toArray();
     $totals = array_pop($collectionArray);
     $this->addTotal($this->__('Revenue'), $totals['revenue']);
     $this->addTotal($this->__('Tax'), $totals['tax']);
     $this->addTotal($this->__('Shipping'), $totals['shipping']);
     $this->addTotal($this->__('Quantity'), $totals['quantity'] * 1, true);
 }
Пример #24
0
 protected function _prepareColumns()
 {
     $this->addColumn('entity_id', array('header' => AO::helper('customer')->__('ID'), 'width' => '50px', 'index' => 'entity_id', 'type' => 'number'));
     /*$this->addColumn('firstname', array(
           'header'    => AO::helper('customer')->__('First Name'),
           'index'     => 'firstname'
       ));
       $this->addColumn('lastname', array(
           'header'    => AO::helper('customer')->__('Last Name'),
           'index'     => 'lastname'
       ));*/
     $this->addColumn('name', array('header' => AO::helper('customer')->__('Name'), 'index' => 'name'));
     $this->addColumn('email', array('header' => AO::helper('customer')->__('Email'), 'width' => '150', 'index' => 'email'));
     $groups = AO::getResourceModel('customer/group_collection')->addFieldToFilter('customer_group_id', array('gt' => 0))->load()->toOptionHash();
     $this->addColumn('group', array('header' => AO::helper('customer')->__('Group'), 'width' => '100', 'index' => 'group_id', 'type' => 'options', 'options' => $groups));
     $this->addColumn('Telephone', array('header' => AO::helper('customer')->__('Telephone'), 'width' => '100', 'index' => 'billing_telephone'));
     $this->addColumn('billing_postcode', array('header' => AO::helper('customer')->__('ZIP'), 'width' => '90', 'index' => 'billing_postcode'));
     $this->addColumn('billing_country_id', array('header' => AO::helper('customer')->__('Country'), 'width' => '100', 'type' => 'country', 'index' => 'billing_country_id'));
     $this->addColumn('billing_region', array('header' => AO::helper('customer')->__('State/Province'), 'width' => '100', 'index' => 'billing_region'));
     $this->addColumn('customer_since', array('header' => AO::helper('customer')->__('Customer Since'), 'type' => 'datetime', 'align' => 'center', 'index' => 'created_at', 'gmtoffset' => true));
     if (!AO::app()->isSingleStoreMode()) {
         $websites = AO::getSingleton('adminhtml/system_store')->getWebsiteValuesForGridFilter(true, true);
         $this->addColumn('website_id', array('header' => AO::helper('customer')->__('Website'), 'align' => 'center', 'width' => '80px', 'type' => 'options', 'options' => $websites, 'index' => 'website_id'));
     }
     $this->addColumn('action', array('header' => AO::helper('customer')->__('Action'), 'width' => '100', 'type' => 'action', 'getter' => 'getId', 'actions' => array(array('caption' => AO::helper('customer')->__('Edit'), 'url' => array('base' => '*/*/edit'), 'field' => 'id')), 'filter' => false, 'sortable' => false, 'index' => 'stores', 'is_system' => true));
     $this->addExportType('*/*/exportCsv', AO::helper('customer')->__('CSV'));
     $this->addExportType('*/*/exportXml', AO::helper('customer')->__('XML'));
     return parent::_prepareColumns();
 }
Пример #25
0
 /**
  *  Send request to Google Checkout and return Responce Api
  *
  *  @return	  object Mage_GoogleCheckout_Model_Api_Xml_Checkout
  */
 protected function _getApi()
 {
     $session = AO::getSingleton('checkout/session');
     $api = AO::getModel('googlecheckout/api');
     if (!$session->getQuote()->hasItems()) {
         $this->getResponse()->setRedirect(AO::getUrl('checkout/cart'));
         $api->setError(true);
     }
     $storeQuote = AO::getModel('sales/quote')->setStoreId(AO::app()->getStore()->getId());
     $storeQuote->merge($session->getQuote());
     $storeQuote->setItemsCount($session->getQuote()->getItemsCount())->setItemsQty($session->getQuote()->getItemsQty())->setChangedFlag(false);
     $storeQuote->save();
     $baseCurrency = $session->getQuote()->getBaseCurrencyCode();
     $currency = AO::app()->getStore($session->getQuote()->getStoreId())->getBaseCurrency();
     $session->getQuote()->setForcedCurrency($currency)->collectTotals()->save();
     if (!$api->getError()) {
         $api = $api->setAnalyticsData($this->getRequest()->getPost('analyticsdata'))->checkout($session->getQuote());
         $response = $api->getResponse();
         if ($api->getError()) {
             AO::getSingleton('checkout/session')->addError($api->getError());
         } else {
             $session->replaceQuote($storeQuote);
             AO::getModel('checkout/cart')->init()->save();
             if (AO::getStoreConfigFlag('google/checkout/hide_cart_contents')) {
                 $session->setGoogleCheckoutQuoteId($session->getQuoteId());
                 $session->setQuoteId(null);
             }
         }
     }
     return $api;
 }
Пример #26
0
 protected function _prepareForm()
 {
     $model = AO::registry('cms_block');
     $form = new Varien_Data_Form(array('id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post'));
     $form->setHtmlIdPrefix('block_');
     $fieldset = $form->addFieldset('base_fieldset', array('legend' => AO::helper('cms')->__('General Information'), 'class' => 'fieldset-wide'));
     if ($model->getBlockId()) {
         $fieldset->addField('block_id', 'hidden', array('name' => 'block_id'));
     }
     $fieldset->addField('title', 'text', array('name' => 'title', 'label' => AO::helper('cms')->__('Block Title'), 'title' => AO::helper('cms')->__('Block Title'), 'required' => true));
     $fieldset->addField('identifier', 'text', array('name' => 'identifier', 'label' => AO::helper('cms')->__('Identifier'), 'title' => AO::helper('cms')->__('Identifier'), 'required' => true, 'class' => 'validate-xml-identifier'));
     /**
      * Check is single store mode
      */
     if (!AO::app()->isSingleStoreMode()) {
         $fieldset->addField('store_id', 'multiselect', array('name' => 'stores[]', 'label' => AO::helper('cms')->__('Store View'), 'title' => AO::helper('cms')->__('Store View'), 'required' => true, 'values' => AO::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true)));
     } else {
         $fieldset->addField('store_id', 'hidden', array('name' => 'stores[]', 'value' => AO::app()->getStore(true)->getId()));
         $model->setStoreId(AO::app()->getStore(true)->getId());
     }
     $fieldset->addField('is_active', 'select', array('label' => AO::helper('cms')->__('Status'), 'title' => AO::helper('cms')->__('Status'), 'name' => 'is_active', 'required' => true, 'options' => array('1' => AO::helper('cms')->__('Enabled'), '0' => AO::helper('cms')->__('Disabled'))));
     $fieldset->addField('content', 'editor', array('name' => 'content', 'label' => AO::helper('cms')->__('Content'), 'title' => AO::helper('cms')->__('Content'), 'style' => 'height:36em', 'wysiwyg' => false, 'required' => true));
     $form->setValues($model->getData());
     $form->setUseContainer(true);
     $this->setForm($form);
     return parent::_prepareForm();
 }
Пример #27
0
 /**
  * Prepare product collection
  *
  * @param Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection $collection
  * @return Mage_Catalog_Model_Layer
  */
 public function prepareProductCollection($collection)
 {
     $collection->addAttributeToSelect(AO::getSingleton('catalog/config')->getProductAttributes())->addSearchFilter(AO::helper('catalogSearch')->getEscapedQueryText())->setStore(AO::app()->getStore())->addMinimalPrice()->addFinalPrice()->addTaxPercents()->addStoreFilter()->addUrlRewrite();
     AO::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
     AO::getSingleton('catalog/product_visibility')->addVisibleInSearchFilterToCollection($collection);
     return $this;
 }
Пример #28
0
 /**
  * Get store object
  *
  * @return unknown
  */
 public function getStore()
 {
     if ($this->getOrder()) {
         return $this->getOrder()->getStore();
     }
     return AO::app()->getStore();
 }
Пример #29
0
 /**
  * Translate a phrase
  *
  * @return string
  */
 public function __()
 {
     $args = func_get_args();
     $expr = new Mage_Core_Model_Translate_Expr(array_shift($args), $this->_getRealModuleName());
     array_unshift($args, $expr);
     return AO::app()->getTranslator()->translate($args);
 }
 /**
  * Prepare form fields
  *
  * @return Mage_Adminhtml_Block_Catalog_Search_Edit_Form
  */
 protected function _prepareForm()
 {
     $model = AO::registry('current_catalog_search');
     /* @var $model Mage_CatalogSearch_Model_Query */
     $form = new Varien_Data_Form(array('id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post'));
     $fieldset = $form->addFieldset('base_fieldset', array('legend' => AO::helper('catalog')->__('General Information')));
     $yesno = array(array('value' => 0, 'label' => AO::helper('catalog')->__('No')), array('value' => 1, 'label' => AO::helper('catalog')->__('Yes')));
     if ($model->getId()) {
         $fieldset->addField('query_id', 'hidden', array('name' => 'query_id'));
     }
     $fieldset->addField('query_text', 'text', array('name' => 'query_text', 'label' => AO::helper('catalog')->__('Search Query'), 'title' => AO::helper('catalog')->__('Search Query'), 'required' => true));
     if (!AO::app()->isSingleStoreMode()) {
         $fieldset->addField('store_id', 'select', array('name' => 'store_id', 'label' => AO::helper('catalog')->__('Store'), 'title' => AO::helper('catalog')->__('Store'), 'values' => AO::getSingleton('adminhtml/system_store')->getStoreValuesForForm(true, false), 'required' => true));
     } else {
         $fieldset->addField('store_id', 'hidden', array('name' => 'store_id'));
         $model->setStoreId(AO::app()->getStore(true)->getId());
     }
     if ($model->getId()) {
         $fieldset->addField('num_results', 'text', array('name' => 'num_results', 'label' => AO::helper('catalog')->__('Number of results<br/>(For last time placed)'), 'title' => AO::helper('catalog')->__('Number of results<br/>(For last time placed)'), 'required' => true));
         $fieldset->addField('popularity', 'text', array('name' => 'popularity', 'label' => AO::helper('catalog')->__('Number of Uses'), 'title' => AO::helper('catalog')->__('Number of Uses'), 'required' => true));
     }
     $afterElementHtml = '<p class="nm"><small>' . AO::helper('catalog')->__('(Will make search for the query above return results for this search.)') . '</small></p>';
     $fieldset->addField('synonim_for', 'text', array('name' => 'synonim_for', 'label' => AO::helper('catalog')->__('Synonym For'), 'title' => AO::helper('catalog')->__('Synonym For'), 'after_element_html' => $afterElementHtml));
     $afterElementHtml = '<p class="nm"><small>' . AO::helper('catalog')->__('ex. http://domain.com') . '</small></p>';
     $fieldset->addField('redirect', 'text', array('name' => 'redirect', 'label' => AO::helper('catalog')->__('Redirect URL'), 'title' => AO::helper('catalog')->__('Redirect URL'), 'after_element_html' => $afterElementHtml));
     $fieldset->addField('display_in_terms', 'select', array('name' => 'display_in_terms', 'label' => AO::helper('catalog')->__('Display in Suggested Terms'), 'title' => AO::helper('catalog')->__('Display in Suggested Terms'), 'values' => $yesno));
     $form->setValues($model->getData());
     $form->setUseContainer(true);
     $this->setForm($form);
     return parent::_prepareForm();
 }