82 lines
1.9 KiB
PHP
82 lines
1.9 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Alias class, Alias.php
|
|
* Alias 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 Alias extends ObjectModel
|
|
{
|
|
public $alias;
|
|
public $search;
|
|
public $active = true;
|
|
|
|
protected $fieldsRequired = array('alias', 'search');
|
|
protected $fieldsSize = array('alias' => 255, 'search' => 255);
|
|
protected $fieldsValidate = array('search' => 'isValidSearch', 'alias' => 'isValidSearch', 'active' => 'isBool');
|
|
|
|
protected $table = 'alias';
|
|
protected $identifier = 'id_alias';
|
|
|
|
function __construct($id = NULL, $alias = NULL, $search = NULL, $id_lang = NULL)
|
|
{
|
|
if ($id)
|
|
parent::__construct($id);
|
|
elseif ($alias AND Validate::isValidSearch($alias))
|
|
{
|
|
$row = Db::getInstance()->getRow('
|
|
SELECT a.id_alias, a.search, a.alias
|
|
FROM `'._DB_PREFIX_.'alias` a
|
|
WHERE `alias` LIKE \''.pSQL($alias).'\' AND `active` = 1');
|
|
|
|
if ($row)
|
|
{
|
|
$this->id = intval($row['id_alias']);
|
|
$this->search = $search ? trim($search) : $row['search'];
|
|
$this->alias = $row['alias'];
|
|
}
|
|
else
|
|
{
|
|
$this->alias = trim($alias);
|
|
$this->search = trim($search);
|
|
}
|
|
}
|
|
}
|
|
|
|
static public function deleteAliases($search)
|
|
{
|
|
return Db::getInstance()->Execute('
|
|
DELETE
|
|
FROM `'._DB_PREFIX_.'alias`
|
|
WHERE `search` LIKE \''.pSQL($search).'\'');
|
|
}
|
|
|
|
public function getAliases()
|
|
{
|
|
$aliases = Db::getInstance()->ExecuteS('
|
|
SELECT a.alias
|
|
FROM `'._DB_PREFIX_.'alias` a
|
|
WHERE `search` = \''.pSQL($this->search).'\'');
|
|
$aliases = array_map('implode', $aliases);
|
|
return implode(', ', $aliases);
|
|
}
|
|
|
|
public function getFields()
|
|
{
|
|
parent::validateFields();
|
|
|
|
$fields['alias'] = pSQL($this->alias);
|
|
$fields['search'] = pSQL($this->search);
|
|
$fields['active'] = intval($this->active);
|
|
return $fields;
|
|
}
|
|
}
|
|
|
|
?>
|