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_Tax_Block_Adminhtml_Frontend_Region_Updater
  • Mage_Tax_Block_Checkout_Discount
  • Mage_Tax_Block_Checkout_Grandtotal
  • Mage_Tax_Block_Checkout_Shipping
  • Mage_Tax_Block_Checkout_Subtotal
  • Mage_Tax_Block_Checkout_Tax
  • Mage_Tax_Block_Sales_Order_Tax
  • Mage_Tax_Helper_Data
  • Mage_Tax_Model_Calculation
  • Mage_Tax_Model_Calculation_Rate
  • Mage_Tax_Model_Calculation_Rate_Title
  • Mage_Tax_Model_Calculation_Rule
  • Mage_Tax_Model_Class
  • Mage_Tax_Model_Class_Source_Customer
  • Mage_Tax_Model_Class_Source_Product
  • Mage_Tax_Model_Config
  • Mage_Tax_Model_Config_Price_Include
  • Mage_Tax_Model_Mysql4_Calculation
  • Mage_Tax_Model_Mysql4_Calculation_Collection
  • Mage_Tax_Model_Mysql4_Calculation_Rate
  • Mage_Tax_Model_Mysql4_Calculation_Rate_Collection
  • Mage_Tax_Model_Mysql4_Calculation_Rate_Title
  • Mage_Tax_Model_Mysql4_Calculation_Rate_Title_Collection
  • Mage_Tax_Model_Mysql4_Calculation_Rule
  • Mage_Tax_Model_Mysql4_Calculation_Rule_Collection
  • Mage_Tax_Model_Mysql4_Class
  • Mage_Tax_Model_Mysql4_Class_Collection
  • Mage_Tax_Model_Mysql4_Report_Collection
  • Mage_Tax_Model_Mysql4_Report_Tax
  • Mage_Tax_Model_Mysql4_Report_Updatedat_Collection
  • Mage_Tax_Model_Mysql4_Sales_Order_Tax
  • Mage_Tax_Model_Mysql4_Sales_Order_Tax_Collection
  • Mage_Tax_Model_Mysql4_Setup
  • Mage_Tax_Model_Observer
  • Mage_Tax_Model_Resource_Calculation
  • Mage_Tax_Model_Resource_Calculation_Collection
  • Mage_Tax_Model_Resource_Calculation_Rate
  • Mage_Tax_Model_Resource_Calculation_Rate_Collection
  • Mage_Tax_Model_Resource_Calculation_Rate_Title
  • Mage_Tax_Model_Resource_Calculation_Rate_Title_Collection
  • Mage_Tax_Model_Resource_Calculation_Rule
  • Mage_Tax_Model_Resource_Calculation_Rule_Collection
  • Mage_Tax_Model_Resource_Class
  • Mage_Tax_Model_Resource_Class_Collection
  • Mage_Tax_Model_Resource_Report_Collection
  • Mage_Tax_Model_Resource_Report_Tax
  • Mage_Tax_Model_Resource_Report_Tax_Createdat
  • Mage_Tax_Model_Resource_Report_Tax_Updatedat
  • Mage_Tax_Model_Resource_Report_Updatedat_Collection
  • Mage_Tax_Model_Resource_Sales_Order_Tax
  • Mage_Tax_Model_Resource_Sales_Order_Tax_Collection
  • Mage_Tax_Model_Resource_Sales_Order_Tax_Item
  • Mage_Tax_Model_Resource_Sales_Order_Tax_Item_Collection
  • Mage_Tax_Model_Resource_Setup
  • Mage_Tax_Model_Sales_Order_Tax
  • Mage_Tax_Model_Sales_Order_Tax_Item
  • Mage_Tax_Model_Sales_Pdf_Grandtotal
  • Mage_Tax_Model_Sales_Pdf_Shipping
  • Mage_Tax_Model_Sales_Pdf_Subtotal
  • Mage_Tax_Model_Sales_Pdf_Tax
  • Mage_Tax_Model_Sales_Total_Quote_Discount
  • Mage_Tax_Model_Sales_Total_Quote_Nominal_Subtotal
  • Mage_Tax_Model_Sales_Total_Quote_Nominal_Tax
  • Mage_Tax_Model_Sales_Total_Quote_Shipping
  • Mage_Tax_Model_Sales_Total_Quote_Subtotal
  • Mage_Tax_Model_Sales_Total_Quote_Tax
  • Mage_Tax_Model_System_Config_Source_Algorithm
  • Mage_Tax_Model_System_Config_Source_Apply
  • Mage_Tax_Model_System_Config_Source_PriceType
  • Mage_Tax_Model_System_Config_Source_Tax_Country
  • Mage_Tax_Model_System_Config_Source_Tax_Display_Type
  • Mage_Tax_Model_System_Config_Source_Tax_Region

Exceptions

  • Mage_Tax_Exception
  • 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_Tax
 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: /**
 29:  * Tax Setup Resource Model
 30:  *
 31:  * @category    Mage
 32:  * @package     Mage_Tax
 33:  * @author      Magento Core Team <core@magentocommerce.com>
 34:  */
 35: class Mage_Tax_Model_Resource_Setup extends Mage_Sales_Model_Resource_Setup
 36: {
 37:     /**
 38:      * Convert old Tax data
 39:      * @deprecated since 1.5.0.0
 40:      */
 41:     public function convertOldTaxData()
 42:     {
 43:         $oldRules = $this->_loadTableData('tax_rule');
 44: 
 45:         $oldRateTypes = $this->_loadTableData('tax_rate_type');
 46: 
 47:         $rateById = array();
 48:         foreach ($oldRateTypes as $type) {
 49:             $rateById[$type['type_id']] = $type['type_name'];
 50:         }
 51: 
 52:         $oldRates = $this->_loadOldRates($oldRateTypes);
 53: 
 54:         $oldToNewRateIds = array();
 55: 
 56:         foreach ($oldRates as $rate) {
 57:             foreach ($oldRateTypes as $type) {
 58:                 $rateIndex = sprintf('data_%s', $type['type_id']);
 59:                 if (isset($rate[$rateIndex])) {
 60:                     $rateValue = $rate[$rateIndex];
 61:                 } else {
 62:                     continue;
 63:                 }
 64: 
 65:                 $region     = Mage::getModel('directory/region')->load($rate['tax_region_id']);
 66:                 $regionName = $region->getCode() ? $region->getCode() : '*';
 67:                 $code       = "{$rate['tax_country_id']}-{$regionName}-{$rate['tax_postcode']}-{$type['type_name']}";
 68: 
 69:                 if ($rateValue > 0) {
 70:                     $insertData = array(
 71:                         'tax_country_id'    => $rate['tax_country_id'],
 72:                         'tax_region_id'     => $rate['tax_region_id'],
 73:                         'tax_postcode'      => $rate['tax_postcode'],
 74:                         'code'              => $code,
 75:                         'rate'              => $rateValue,
 76:                     );
 77: 
 78:                     $newRateModel = Mage::getModel('tax/calculation_rate');
 79: 
 80:                     $newRateModel->setData($insertData)->save();
 81:                     $oldToNewRateIds[$rate['tax_rate_id']] = $newRateModel->getId();
 82:                     $ratesByType[$type['type_id']][] = $newRateModel->getId();
 83:                 }
 84:             }
 85:         }
 86: 
 87:         foreach ($oldRules as $rule) {
 88:             if (!isset($ratesByType[$rule['tax_rate_type_id']]) || !count($ratesByType[$rule['tax_rate_type_id']])) {
 89:                 continue;
 90:             }
 91: 
 92:             $customerTaxClasses = array($rule['tax_customer_class_id']);
 93:             $productTaxClasses = array($rule['tax_product_class_id']);
 94: 
 95:             $ctc    = Mage::getModel('tax/class')->load($rule['tax_customer_class_id']);
 96:             $ptc    = Mage::getModel('tax/class')->load($rule['tax_product_class_id']);
 97:             $type   = $rateById[$rule['tax_rate_type_id']];
 98: 
 99:             $rates  = $ratesByType[$rule['tax_rate_type_id']];
100:             $code   = "{$ctc->getClassName()}-{$ptc->getClassName()}-{$type}";
101: 
102:             $ruleData = array(
103:                 'tax_rate'              => $rates,
104:                 'tax_product_class'     => $productTaxClasses,
105:                 'tax_customer_class'    => $customerTaxClasses,
106:                 'code'                  => $code,
107:                 'priority'              => 1,
108:                 'position'              => 1
109:             );
110:             Mage::getModel('tax/calculation_rule')->setData($ruleData)->save();
111:         }
112: 
113:         return $this;
114:     }
115: 
116:     /**
117:      * Load Tax Table Data
118:      *
119:      * @param string $table
120:      * @return array
121:      */
122:     protected function _loadTableData($table)
123:     {
124:         $table = $this->getTable($table);
125:         $select = $this->_conn->select();
126:         $select->from($table);
127:         return $this->_conn->fetchAll($select);
128:     }
129: 
130:     /**
131:      * Load Old Rate Data
132:      * @deprecated since 1.5.0.0
133:      * 
134:      * @param array $oldRateTypes
135:      * @return array
136:      */
137:     protected function _loadOldRates($oldRateTypes)
138:     {
139:         $table  = $this->getTable('tax_rate');
140:         $select = $this->_conn->select()
141:             ->from(array('main_table'=>$table));
142:         foreach ($oldRateTypes as $type){
143:             $id = $type['type_id'];
144:             $select->joinLeft(
145:                 array("data_{$id}"=>$this->getTable('tax_rate_data')),
146:                 "data_{$id}.rate_type_id = {$id} AND data_{$id}.tax_rate_id = main_table.tax_rate_id",
147:                 array("data_{$id}"=>'rate_value')
148:             );
149:         }
150:         return $this->_conn->fetchAll($select);
151:     }
152: }
153: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0