public function getPreparedName($dirUnderWebroot = false) { if (!$this->_preparedName) { if (!$dirUnderWebroot) { $dirUnderWebroot = self::DIR_UNDER_WEBROOT; } $translitedName = Translit::file($this->baseName); // by default $fileName = '/' . $dirUnderWebroot . '/' . $translitedName . '.' . $this->extension; $rand_dir = rand(1, 100); $full_dir = Yii::getAlias('@webroot') . '/' . $dirUnderWebroot . '/' . $rand_dir . '/'; if (!is_dir($full_dir)) { mkdir($full_dir); } if (is_dir($full_dir)) { $fileName = '/' . $dirUnderWebroot . '/' . $rand_dir . '/' . $translitedName . '.' . $this->extension; //now find duplicates if (is_file(Yii::getAlias('@webroot') . $fileName)) { $cnt = 1; $newFileName = '/' . $dirUnderWebroot . '/' . $rand_dir . '/' . $translitedName . '(' . $cnt . ').' . $this->extension; while (is_file(Yii::getAlias('@webroot') . $newFileName)) { $cnt++; $newFileName = '/' . $dirUnderWebroot . '/' . $rand_dir . '/' . $translitedName . '(' . $cnt . ').' . $this->extension; } $fileName = $newFileName; } } $this->_preparedName = $fileName; } return $this->_preparedName; }
protected function _fillSeourl() { if (empty($this->title)) { $this->title = $this->name; } if (empty($this->seourl)) { $this->seourl = Translit::url($this->title); } }
protected function fillSeourl(StructureRecord $model) { if (empty($model->title)) { $model->title = $model->label; } if (empty($model->seourl)) { $model->seourl = Translit::url($model->title); } }