public function savePublishUrl($entityId, $entityType, $url)
 {
     $model = PublishUrl::find()->where(['url' => $url, 'entity_id' => $entityId, 'entity_type' => $entityType])->orderBy('id desc')->one();
     if ($model) {
         $model->updatedOn = date('Y-m-d H:i:s');
         if ($model->save()) {
             $model->addUrlToCachePurge();
             Yii::info("entity re-published with same url", 'url-publish');
         }
     } else {
         $model = new PublishUrl();
         $model->entity_id = $entityId;
         $model->entity_type = $entityType;
         $model->url = $url;
         $model->createdOn = date('Y-m-d H:i:s');
         if ($model->save()) {
             $model->addOldUrlToCachePurge();
             Yii::info("entity published new url", 'url-publish');
         }
     }
 }
Esempio n. 2
0
 public function addOldUrlToCachePurge()
 {
     $old = PublishUrl::find()->where(['entity_id' => $this->entity_id, 'entity_type' => $this->entity_type])->andWhere('id != ' . $this->id)->orderBy('id desc')->one();
     if ($old) {
         $already = PurgeUrl::find()->where(['url' => $old->url, 'status' => 0])->one();
         if (!$already) {
             $PurgeModel = new PurgeUrl();
             $PurgeModel->url = $old->url;
             $PurgeModel->createdOn = date('Y-m-d H:i:s');
             $PurgeModel->save();
         } else {
             Yii::info('old url already added into cache purge', 'url-publish');
         }
     } else {
         Yii::info('no old url found', 'url-publish');
     }
 }