* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ /** * Class GenderCore. * * @since 1.5.0 */ class GenderCore extends ObjectModel { public const TYPE_MALE = '0'; public const TYPE_FEMALE = '1'; public const TYPE_OTHER = '2'; public $id; public $id_gender; public $name; public $type; /** * @see ObjectModel::$definition */ public static $definition = [ 'table' => 'gender', 'primary' => 'id_gender', 'multilang' => true, 'fields' => [ 'type' => ['type' => self::TYPE_INT, 'required' => true], /* Lang fields */ 'name' => ['type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isString', 'required' => true, 'size' => 20], ], ]; /** * GenderCore constructor. * * @param int|null $id * @param int|null $idLang * @param int|null $idShop */ public function __construct($id = null, $idLang = null, $idShop = null) { parent::__construct($id, $idLang, $idShop); $this->image_dir = _PS_GENDERS_DIR_; } /** * Get all Genders. * * @param int|null $idLang Language ID * * @return PrestaShopCollection */ public static function getGenders($idLang = null) { if (null === $idLang) { $idLang = Context::getContext()->language->id; } $genders = new PrestaShopCollection('Gender', $idLang); return $genders; } /** * Get Gender image. * * @return string File path */ public function getImage() { if (!isset($this->id) || empty($this->id) || !file_exists(_PS_GENDERS_DIR_ . $this->id . '.jpg')) { return _THEME_GENDERS_DIR_ . 'Unknown.jpg'; } return _THEME_GENDERS_DIR_ . $this->id . '.jpg'; } }