Backend\Modules\Faq\Engine\Model::getURLForCategory PHP Method

getURLForCategory() public static method

Retrieve the unique URL for a category
public static getURLForCategory ( string $url, integer $id = null ) : string
$url string
$id integer The id of the category to ignore.
return string
    public static function getURLForCategory($url, $id = null)
    {
        $url = CommonUri::getUrl((string) $url);
        $db = BackendModel::get('database');
        // new category
        if ($id === null) {
            if ((bool) $db->getVar('SELECT 1
                 FROM faq_categories 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::getURLForCategory($url);
            }
        } else {
            // current category should be excluded
            if ((bool) $db->getVar('SELECT 1
                 FROM faq_categories 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::getURLForCategory($url, $id);
            }
        }
        return $url;
    }