params['media_server']; } public function getTableName() { return self::getTableSchema()->name; } /** * @param $object_key * @param $rez * @return string|null */ public function getSrcOfSingleImage($object_key, $rez = null, $default = null) { if ($this->media_key) { /** @var FileCms $image */ $image = $this->hasOne(FileCms::class, ['media_key' => 'media_key']) ->where(['object_key' => $object_key])->orderBy(['order_index' => SORT_ASC])->one(); if ($image) { $ready = self::DOMAIN() . '/_files/ready/' . $this->media_key . '/' . $image->object_key . '/' . $rez . '/' . $image->file_name; if ($rez && $this->check_image_url($ready)) { return $ready; } else { return self::DOMAIN() . '/_files/raw/' . $this->media_key . '/' . $image->object_key . '/' . $image->file_name; } } } return $default; } /** * @param $object_key * @param $rez * @return array */ public function getSrcOfMultipleImages($object_key, $rez = null) { $srcArr = []; if ($this->media_key) { $images = $this->hasMany(FileCms::class, ['media_key' => 'media_key']) ->where(['object_key' => $object_key])->orderBy(['order_index' => SORT_ASC])->all(); /** @var FileCms $image */ foreach ($images as $image) { if ($image) { $ready = self::DOMAIN() . '/_files/ready/' . $this->media_key . '/' . $image->object_key . '/' . $rez . '/' . $image->file_name; if ($rez && $this->check_image_url($ready)) { $srcArr[] = $ready; } else { $srcArr[] = self::DOMAIN() . '/_files/raw/' . $this->media_key . '/' . $image->object_key . '/' . $image->file_name; } } } } return $srcArr; } private function check_image_url($image_url) { $headers = @get_headers($image_url); if ($headers && strpos($headers[0], '200 OK') !== false) { return true; } else { return false; } } /** * @param $object_key * @param $rez * @return string */ public function getSrcOfFirstImage($object_key, $rez = null) { if ($this->media_key) { $image = $this->hasMany(FileCms::class, ['media_key' => 'media_key']) ->where(['object_key' => $object_key])->orderBy(['order_index' => SORT_ASC])->one(); /** @var FileCms $image */ if ($image) { $ready = self::DOMAIN() . '/_files/ready/' . $this->media_key . '/' . $image->object_key . '/' . $rez . '/' . $image->file_name; if ($rez && $this->check_image_url($ready)) { return $ready; } else { return self::DOMAIN() . '/_files/raw/' . $this->media_key . '/' . $image->object_key . '/' . $image->file_name; } } } return '/_public/images/empty.png'; } }