* @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'])); } } ?>