Srv Bebeboutik 6c0978166c add modules
2016-01-04 12:49:26 +01:00

147 lines
3.6 KiB
PHP
Executable File

<?php
/*
* Copyright (C) 2006 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Classes used to handle tax rules and tables
*/
/**
* Represents a tax rule
*
* @see GoogleDefaultTaxRule
* @see GoogleAlternateTaxRule
*
* @abstract
*/
class GoogleTaxRule {
var $tax_rate;
var $world_area = false;
var $country_codes_arr;
var $postal_patterns_arr;
var $state_areas_arr;
var $zip_patterns_arr;
var $country_area;
function GoogleTaxRule() {
}
function SetWorldArea($world_area = true) {
$this->world_area = $world_area;
}
function AddPostalArea($country_code, $postal_pattern = "") {
$this->country_codes_arr[] = $country_code;
$this->postal_patterns_arr[]= $postal_pattern;
}
function SetStateAreas($areas) {
if (is_array($areas))
$this->state_areas_arr = $areas;
else
$this->state_areas_arr = array($areas);
}
function SetZipPatterns($zips) {
if (is_array($zips))
$this->zip_patterns_arr = $zips;
else
$this->zip_patterns_arr = array($zips);
}
function SetCountryArea($country_area) {
switch ($country_area) {
case "CONTINENTAL_48":
case "FULL_50_STATES":
case "ALL":
$this->country_area = $country_area;
break;
default:
$this->country_area = "";
break;
}
}
}
/**
* Represents a default tax rule
*
* GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_default-tax-rule <default-tax-rule>}
*/
class GoogleDefaultTaxRule extends GoogleTaxRule {
var $shipping_taxed = false;
function GoogleDefaultTaxRule($tax_rate, $shipping_taxed = "false") {
$this->tax_rate = $tax_rate;
$this->shipping_taxed= $shipping_taxed;
$this->country_codes_arr = array();
$this->postal_patterns_arr = array();
$this->state_areas_arr = array();
$this->zip_patterns_arr = array();
}
}
/**
* Represents an alternate tax rule
*
* GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_alternate-tax-rule <alternate-tax-rule>}
*/
class GoogleAlternateTaxRule extends GoogleTaxRule {
function GoogleAlternateTaxRule($tax_rate) {
$this->tax_rate = $tax_rate;
$this->country_codes_arr = array();
$this->postal_patterns_arr = array();
$this->state_areas_arr = array();
$this->zip_patterns_arr = array();
}
}
/**
* Represents an alternate tax table
*
* GC tag: {@link http://code.google.com/apis/checkout/developer/index.html#tag_alternate-tax-table <alternate-tax-table>}
*/
class GoogleAlternateTaxTable {
var $name;
var $tax_rules_arr;
var $standalone;
function GoogleAlternateTaxTable($name = "", $standalone = "false") {
if ($name != "") {
$this->name = $name;
$this->tax_rules_arr = array();
$this->standalone = $standalone;
}
}
function AddAlternateTaxRules($rules) {
$this->tax_rules_arr[] = $rules;
}
}