Bladeren bron

date del photo

amic 1 maand geleden
bovenliggende
commit
f5d7bf2936
5 gewijzigde bestanden met toevoegingen van 44 en 4 verwijderingen
  1. 2 1
      config/params.php
  2. 21 1
      models/News.php
  3. 10 0
      views/news/archive/_archive_item.php
  4. 3 2
      views/news/view.php
  5. 8 0
      views/news/view/inject.php

+ 2 - 1
config/params.php

@@ -8,5 +8,6 @@ return [
 	'moderatorEmail' => 'moderator@amic.ru',
 	'orgname' => 'ИА Амител',
 	'mydomain' => ['amic.ru','amitel.ru','fmprod.ru'],
-	'bsVersion' => '4.x'
+	'bsVersion' => '4.x',
+    'delPhoto' => '1998-01-01 00:00:00'
 ];

+ 21 - 1
models/News.php

@@ -157,7 +157,9 @@ class News extends \app\models\base\News
     public static function getMainOfWeek(){
         return self::find()->joinWith("topics t")->andWhere(["t.id"=>[35,]]);
     }
-
+    public function getDatePub(){
+		return $this->dt_pub;
+	}
     public function getPublishedAt(){
         if($this->dt_pub<date("Y-m-d H:i:s",strtotime("-1 day"))){
             return
@@ -191,6 +193,7 @@ class News extends \app\models\base\News
             //Нужно воткнуть рекламу после второго абзаца
             $body = self::processBody($body,$this);
 //            $body = self::processSingleImg($body);
+			$body = $this->DateDelImg($body);
             $body = self::processTextImg($body);
             $body = self::processInjects($body);
             $body = self::processAudio($body);
@@ -523,6 +526,23 @@ class News extends \app\models\base\News
         },$text);
         return $res;
     }
+	public function DateDelImg($text)
+	{
+		$obj = $this;
+		$re = '/(<img[^>]*>)/i';
+		$text = preg_replace_callback($re,function (array $mt) use($obj): string
+		{
+			/*
+				После этой даты не выводить фото до подтверждения юриста
+			*/
+			if( strtotime( $obj->getDatePub() ) < strtotime(Yii::$app->params['delPhoto']) ){
+				$bad = '/images/default.jpg';
+				return '<span><picture class="w-100"><img src="'.$bad.'" width="100%"/></picture></span>';
+			};
+			return $mt[0];
+		}, $text);
+		return $text;
+	}
 
     public static function processTextImg($text)
     {

+ 10 - 0
views/news/archive/_archive_item.php

@@ -20,6 +20,16 @@ if( $retina === false || $normal == false ){
 	$normal = $bad;
 	$retina = $bad;
 }
+
+/*
+ После этой даты не выводить фото до подтверждения юриста
+ */
+if( isset( $model->dt_pub ) && strtotime( $model->dt_pub ) < strtotime(Yii::$app->params['delPhoto']) ){
+	$bad = '/images/default.jpg';
+	$normal = $bad;
+	$retina = $bad;
+};
+
 $normal .= "?v=".$model->rev;
 $retina .= "?v=".$model->rev;
 $bad .= "?v=".$model->rev;

+ 3 - 2
views/news/view.php

@@ -49,12 +49,13 @@ $retina .= "?v=".$model->rev;
 $bad .= "?v=".$model->rev;
 /*
  После этой даты не выводить фото до подтверждения юриста
-if( isset( $model->dt_pub ) && strtotime( $model->dt_pub ) < strtotime('2015-01-01 00:00:00') ){
+ */
+if( isset( $model->dt_pub ) && strtotime( $model->dt_pub ) < strtotime(Yii::$app->params['delPhoto']) ){
 	$bad = '/images/default.jpg';
 	$normal = $bad;
 	$retina = $bad;
 };
- */
+
 $txt_date = date( "[Y-m-d] ", strtotime( $model->dt_pub ) );
 Yii::$app->og->title =($model->meta_title)?$model->meta_title:$model->title;
 Yii::$app->og->description = ($model->lid && trim($model->lid) <> '')?str_replace( '"', "&quot;", strip_tags($model->lid) ):$txt_date.trim(str_replace( '"',"'",substr(strip_tags( $model->text ),0,150)))."...";

+ 8 - 0
views/news/view/inject.php

@@ -15,6 +15,14 @@ $retina = $preview->getUrl(Image::SIZE_500x282,"webp");
 $normal = $preview->getUrl(Image::SIZE_320x180,"webp");
 $bad = $preview->getUrl(Image::SIZE_320x180,'jpg');
 $bad = $bad?$bad:'/images/default.jpg';
+/*
+ После этой даты не выводить фото до подтверждения юриста
+ */
+if( isset( $post->dt_pub ) && strtotime( $post->dt_pub ) < strtotime(Yii::$app->params['delPhoto']) ){
+	$bad = '/images/default.jpg';
+	$normal = $bad;
+	$retina = $bad;
+};
 
 if( $retina === false || $normal === false ){
 	$normal = $bad;