/** * Подготовка СЕО ссылки * @param string $url * @param string $wordName * @param obj $class * @param int $id * @return string */ public static function prepairUrl($url, $wordName = null, $class = false, $id = false) { //Если сслыка пустая if ($url == '') { //Обрезаем часть слова $url = cText::wordTrim($wordName, 30); } //И превращаем в ссылку $url = Translit::asURLSegment($url); $criteria = new CDbCriteria(); $criteria->compare('url', $url, true); if ($id) { $criteria->addCondition("id != " . $id . ""); } if ($class !== false) { $model = new $class(); $data = $model->find($criteria); $baseURl = $url; $i = 1; if ($data !== null) { do { $url = $baseURl . $i; $criteria->compare('url', $url, true); $data = $model->find($criteria); $i++; } while ($data !== null); } } return $url; }