public static function getURL($url, $id = null)
{
$url = (string) $url;
// get db
$db = BackendModel::getContainer()->get('database');
// new item
if ($id === null) {
// already exists
if ((bool) $db->getVar('SELECT 1
FROM blog_posts AS i
INNER JOIN meta AS m ON i.meta_id = m.id
WHERE i.language = ? AND m.url = ?
LIMIT 1', array(BL::getWorkingLanguage(), $url))) {
$url = BackendModel::addNumber($url);
return self::getURL($url);
}
} else {
// current category should be excluded
if ((bool) $db->getVar('SELECT 1
FROM blog_posts AS i
INNER JOIN meta AS m ON i.meta_id = m.id
WHERE i.language = ? AND m.url = ? AND i.id != ?
LIMIT 1', array(BL::getWorkingLanguage(), $url, $id))) {
$url = BackendModel::addNumber($url);
return self::getURL($url, $id);
}
}
return $url;
}