コード例 #1
0
ファイル: System.php プロジェクト: blrtromax/seobility
 /**
  * Подготовка СЕО ссылки
  * @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;
 }
コード例 #2
0
ファイル: FileModule.php プロジェクト: blrtromax/seobility
 public function generateName($dir, $ext = '', $lettersNumber = 10)
 {
     $dir = rtrim($dir, DS);
     do {
         $checkName = $name = cText::cropStr(md5(date("YmdHis") . rand(1, 1000)), $lettersNumber);
         if ($ext != '') {
             $checkName = $name . '.' . $ext;
         }
     } while (!Yii::app()->cFile->set($dir . DS . $checkName));
     return $name;
 }