96 lines
2.5 KiB
PHP
96 lines
2.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* State class, State.php
|
|
* States management
|
|
* @category classes
|
|
*
|
|
* @author PrestaShop <support@prestashop.com>
|
|
* @copyright PrestaShop
|
|
* @license http://www.opensource.org/licenses/osl-3.0.php Open-source licence 3.0
|
|
* @version 1.3
|
|
*
|
|
*/
|
|
|
|
class State extends ObjectModel
|
|
{
|
|
/** @var integer Country id which state belongs */
|
|
public $id_country;
|
|
|
|
/** @var integer Zone id which state belongs */
|
|
public $id_zone;
|
|
|
|
/** @var string 2 letters iso code */
|
|
public $iso_code;
|
|
|
|
/** @var string Name */
|
|
public $name;
|
|
|
|
/** @var interger Tax behavior */
|
|
public $tax_behavior;
|
|
|
|
/** @var boolean Status for delivery */
|
|
public $active = true;
|
|
|
|
protected $fieldsRequired = array('id_country', 'id_zone', 'iso_code', 'name', 'tax_behavior');
|
|
protected $fieldsSize = array('iso_code' => 4, 'name' => 32);
|
|
protected $fieldsValidate = array('id_country' => 'isUnsignedId', 'id_zone' => 'isUnsignedId', 'iso_code' => 'isStateIsoCode', 'name' => 'isGenericName', 'tax_behavior' => 'isUnsignedInt', 'active' => 'isBool');
|
|
|
|
protected $table = 'state';
|
|
protected $identifier = 'id_state';
|
|
|
|
public function getFields()
|
|
{
|
|
parent::validateFields();
|
|
$fields['id_country'] = intval($this->id_country);
|
|
$fields['id_zone'] = intval($this->id_zone);
|
|
$fields['iso_code'] = pSQL(strtoupper($this->iso_code));
|
|
$fields['name'] = pSQL($this->name);
|
|
$fields['tax_behavior'] = intval($this->tax_behavior);
|
|
$fields['active'] = intval($this->active);
|
|
return $fields;
|
|
}
|
|
|
|
public static function getStates($id_lang, $active = false)
|
|
{
|
|
return Db::getInstance()->ExecuteS('
|
|
SELECT `id_state`, `id_country`, `id_zone`, `iso_code`, `name`, `tax_behavior`, `active`
|
|
FROM `'._DB_PREFIX_.'state`
|
|
'.($active ? 'WHERE active = 1' : '').'
|
|
ORDER BY `name` ASC');
|
|
}
|
|
|
|
/**
|
|
* Get a state name with its ID
|
|
*
|
|
* @param integer $id_state Country ID
|
|
* @return string State name
|
|
*/
|
|
static public function getNameById($id_state)
|
|
{
|
|
$result = Db::getInstance()->getRow('
|
|
SELECT `name`
|
|
FROM `'._DB_PREFIX_.'state`
|
|
WHERE `id_state` = '.intval($id_state));
|
|
|
|
return $result['name'];
|
|
}
|
|
|
|
/**
|
|
* Get a state id with its name
|
|
*
|
|
* @param string $id_state Country ID
|
|
* @return integer state id
|
|
*/
|
|
static public function getIdByName($state)
|
|
{
|
|
$result = Db::getInstance()->getRow('
|
|
SELECT `id_state`
|
|
FROM `'._DB_PREFIX_.'state`
|
|
WHERE `name` LIKE \''.pSQL($state).'\'');
|
|
|
|
return (intval($result['id_state']));
|
|
}
|
|
}
|
|
|
|
?>
|