Overview

Packages

  • currencysymbol
  • MAbout
  • Mage
    • Admin
    • Adminhtml
    • AdminNotification
    • Api
    • Api2
    • Authorizenet
    • Backup
    • Bundle
    • Captcha
    • Catalog
    • CatalogIndex
    • CatalogInventory
    • CatalogRule
    • CatalogSearch
    • Centinel
    • Checkout
    • Cms
    • Compiler
    • Connect
    • Contacts
    • Core
    • Cron
    • CurrencySymbol
    • Customer
    • Dataflow
    • Directory
    • DirtectPost
    • Downloadable
    • Eav
    • GiftMessage
    • GoogleAnalytics
    • GoogleBase
    • GoogleCheckout
    • ImportExport
    • Index
    • Install
    • Log
    • Media
    • Newsletter
    • Oauth
    • Page
    • PageCache
    • Paygate
    • Payment
    • Paypal
    • PaypalUk
    • Persistent
    • Poll
    • ProductAlert
    • Rating
    • Reports
    • Review
    • Rss
    • Rule
    • Sales
    • SalesRule
    • Sedfriend
    • Sendfriend
    • Shipping
    • Sitemap
    • Tag
    • Tax
    • Usa
    • Weee
    • Widget
    • Wishlist
    • XmlConnect
  • None
  • Phoenix
    • Moneybookers
  • PHP
  • Zend
    • Date
    • Mime
    • XmlRpc

Classes

  • Mage_SalesRule_Exception
  • Mage_SalesRule_Helper_Coupon
  • Mage_SalesRule_Helper_Data
  • Mage_SalesRule_Model_Coupon
  • Mage_SalesRule_Model_Coupon_Codegenerator
  • Mage_SalesRule_Model_Coupon_Massgenerator
  • Mage_SalesRule_Model_Mysql4_Coupon
  • Mage_SalesRule_Model_Mysql4_Coupon_Collection
  • Mage_SalesRule_Model_Mysql4_Coupon_Usage
  • Mage_SalesRule_Model_Mysql4_Report_Collection
  • Mage_SalesRule_Model_Mysql4_Report_Rule
  • Mage_SalesRule_Model_Mysql4_Report_Updatedat_Collection
  • Mage_SalesRule_Model_Mysql4_Rule
  • Mage_SalesRule_Model_Mysql4_Rule_Collection
  • Mage_SalesRule_Model_Mysql4_Rule_Customer
  • Mage_SalesRule_Model_Mysql4_Rule_Customer_Collection
  • Mage_SalesRule_Model_Mysql4_Rule_Product
  • Mage_SalesRule_Model_Mysql4_Rule_Product_Collection
  • Mage_SalesRule_Model_Observer
  • Mage_SalesRule_Model_Quote_Discount
  • Mage_SalesRule_Model_Quote_Freeshipping
  • Mage_SalesRule_Model_Quote_Nominal_Discount
  • Mage_SalesRule_Model_Resource_Coupon
  • Mage_SalesRule_Model_Resource_Coupon_Collection
  • Mage_SalesRule_Model_Resource_Coupon_Usage
  • Mage_SalesRule_Model_Resource_Report_Collection
  • Mage_SalesRule_Model_Resource_Report_Rule
  • Mage_SalesRule_Model_Resource_Report_Rule_Createdat
  • Mage_SalesRule_Model_Resource_Report_Rule_Updatedat
  • Mage_SalesRule_Model_Resource_Report_Updatedat_Collection
  • Mage_SalesRule_Model_Resource_Rule
  • Mage_SalesRule_Model_Resource_Rule_Collection
  • Mage_SalesRule_Model_Resource_Rule_Customer
  • Mage_SalesRule_Model_Resource_Rule_Customer_Collection
  • Mage_SalesRule_Model_Resource_Rule_Product
  • Mage_SalesRule_Model_Resource_Rule_Product_Collection
  • Mage_SalesRule_Model_Rule
  • Mage_SalesRule_Model_Rule_Action_Collection
  • Mage_SalesRule_Model_Rule_Action_Product
  • Mage_SalesRule_Model_Rule_Condition_Address
  • Mage_SalesRule_Model_Rule_Condition_Combine
  • Mage_SalesRule_Model_Rule_Condition_Product
  • Mage_SalesRule_Model_Rule_Condition_Product_Combine
  • Mage_SalesRule_Model_Rule_Condition_Product_Found
  • Mage_SalesRule_Model_Rule_Condition_Product_Subselect
  • Mage_SalesRule_Model_Rule_Customer
  • Mage_SalesRule_Model_Rule_Product
  • Mage_SalesRule_Model_System_Config_Source_Coupon_Format
  • Mage_SalesRule_Model_Validator

Interfaces

  • Mage_SalesRule_Model_Coupon_CodegeneratorInterface
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * Magento
  4:  *
  5:  * NOTICE OF LICENSE
  6:  *
  7:  * This source file is subject to the Open Software License (OSL 3.0)
  8:  * that is bundled with this package in the file LICENSE.txt.
  9:  * It is also available through the world-wide-web at this URL:
 10:  * http://opensource.org/licenses/osl-3.0.php
 11:  * If you did not receive a copy of the license and are unable to
 12:  * obtain it through the world-wide-web, please send an email
 13:  * to license@magentocommerce.com so we can send you a copy immediately.
 14:  *
 15:  * DISCLAIMER
 16:  *
 17:  * Do not edit or add to this file if you wish to upgrade Magento to newer
 18:  * versions in the future. If you wish to customize Magento for your
 19:  * needs please refer to http://www.magentocommerce.com for more information.
 20:  *
 21:  * @category    Mage
 22:  * @package     Mage_SalesRule
 23:  * @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
 24:  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 25:  */
 26: 
 27: 
 28: class Mage_SalesRule_Model_Rule_Condition_Product_Subselect
 29:     extends Mage_SalesRule_Model_Rule_Condition_Product_Combine
 30: {
 31:     public function __construct()
 32:     {
 33:         parent::__construct();
 34:         $this->setType('salesrule/rule_condition_product_subselect')
 35:             ->setValue(null);
 36:     }
 37: 
 38:     public function loadArray($arr, $key='conditions')
 39:     {
 40:         $this->setAttribute($arr['attribute']);
 41:         $this->setOperator($arr['operator']);
 42:         parent::loadArray($arr, $key);
 43:         return $this;
 44:     }
 45: 
 46:     public function asXml($containerKey='conditions', $itemKey='condition')
 47:     {
 48:         $xml = '<attribute>'.$this->getAttribute().'</attribute>'
 49:             . '<operator>'.$this->getOperator().'</operator>'
 50:             . parent::asXml($containerKey, $itemKey);
 51:         return $xml;
 52:     }
 53: 
 54:     public function loadAttributeOptions()
 55:     {
 56:         $this->setAttributeOption(array(
 57:             'qty'  => Mage::helper('salesrule')->__('total quantity'),
 58:             'base_row_total'  => Mage::helper('salesrule')->__('total amount'),
 59:         ));
 60:         return $this;
 61:     }
 62: 
 63:     public function loadValueOptions()
 64:     {
 65:         return $this;
 66:     }
 67: 
 68:     public function loadOperatorOptions()
 69:     {
 70:         $this->setOperatorOption(array(
 71:             '=='  => Mage::helper('rule')->__('is'),
 72:             '!='  => Mage::helper('rule')->__('is not'),
 73:             '>='  => Mage::helper('rule')->__('equals or greater than'),
 74:             '<='  => Mage::helper('rule')->__('equals or less than'),
 75:             '>'   => Mage::helper('rule')->__('greater than'),
 76:             '<'   => Mage::helper('rule')->__('less than'),
 77:             '()'  => Mage::helper('rule')->__('is one of'),
 78:             '!()' => Mage::helper('rule')->__('is not one of'),
 79:         ));
 80:         return $this;
 81:     }
 82: 
 83:     public function getValueElementType()
 84:     {
 85:         return 'text';
 86:     }
 87: 
 88:     public function asHtml()
 89:     {
 90:         $html = $this->getTypeElement()->getHtml().
 91:         Mage::helper('salesrule')->__("If %s %s %s for a subselection of items in cart matching %s of these conditions:", $this->getAttributeElement()->getHtml(), $this->getOperatorElement()->getHtml(), $this->getValueElement()->getHtml(), $this->getAggregatorElement()->getHtml());
 92:         if ($this->getId() != '1') {
 93:             $html .= $this->getRemoveLinkHtml();
 94:         }
 95:         return $html;
 96:     }
 97: 
 98:     /**
 99:      * validate
100:      *
101:      * @param Varien_Object $object Quote
102:      * @return boolean
103:      */
104:     public function validate(Varien_Object $object)
105:     {
106:         if (!$this->getConditions()) {
107:             return false;
108:         }
109: 
110: //        $value = $this->getValue();
111: //        $aggregatorArr = explode('/', $this->getAggregator());
112: //        $this->setValue((int)$aggregatorArr[0])->setAggregator($aggregatorArr[1]);
113: 
114:         $attr = $this->getAttribute();
115:         $total = 0;
116:         foreach ($object->getQuote()->getAllItems() as $item) {
117:             if (parent::validate($item)) {
118:                 $total += $item->getData($attr);
119:             }
120:         }
121: //        $this->setAggregator(join('/', $aggregatorArr))->setValue($value);
122: 
123:         return $this->validateAttribute($total);
124:     }
125: }
126: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0