Initial import

This commit is contained in:
Admin Nasledstvo
2026-05-01 20:52:04 +03:00
commit ac168868ee
10028 changed files with 2337954 additions and 0 deletions
@@ -0,0 +1,109 @@
<?php
namespace app\models;
use app\models\parsed\CartInterface;
use app\models\parsed\CartModel;
use yii\db\ActiveRecord;
/**
* Class _Base
* @package app\models
* @property $media_key
* @property $id
* @property $is_active
*/
class _Base extends ActiveRecord
{
public static function DOMAIN()
{
return \Yii::$app->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';
}
}