Ejemplo n.º 1
0
 public function updateAlias($event, $insert = false)
 {
     $url = $this->url;
     $alias = $this->owner->{$this->field} ? $this->owner->{$this->field} : $this->pattern;
     $alias = $this->prepareAlias($alias);
     if ($alias) {
         $model = \backend\models\UrlRule::findByUrl($url);
         if (isset($model->url)) {
             $model->eid = $this->owner->id;
             $model->model = get_class($this->owner);
             $model->model = substr($model->model, strrpos($model->model, '\\') + strlen('\\'));
             $model->alias = $alias;
             $model->url = $url;
             $model->update();
         } else {
             $model = new \backend\models\UrlRule();
             $model->eid = $this->owner->id;
             $model->model = get_class($this->owner);
             $model->model = substr($model->model, strrpos($model->model, '\\') + strlen('\\'));
             $model->alias = $alias;
             $model->url = $url;
             $model->save();
         }
     } elseif (!$insert) {
         $model = \backend\models\UrlRule::findByUrl($url);
         if (isset($model->url)) {
             $model->delete();
         }
     }
 }