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'); } }
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'); } } }