Initial import
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace app\widgets;
|
||||
|
||||
|
||||
use app\models\Navigation;
|
||||
use app\models\register\Partner;
|
||||
use app\models\RegisterObjects;
|
||||
use app\models\Slides;
|
||||
use yii\base\Widget;
|
||||
|
||||
class Slider extends _Base
|
||||
{
|
||||
public $type;
|
||||
|
||||
public function run()
|
||||
{
|
||||
switch ($this->type) {
|
||||
case 'home_page':
|
||||
return $this->render('slider/home_page', ['slides' => $this->getSlider()]);
|
||||
case 'home_page_e_library':
|
||||
return $this->render('slider/home_page_e_library', ['slides' => $this->getELibrary()]);
|
||||
case 'join_to_us':
|
||||
return $this->render('slider/join_to_us', ['slides' => $this->getJoinToUs()]);
|
||||
case 'home_page_partners':
|
||||
return $this->render('slider/home_page_partners', ['slides' => $this->getPartners()]);
|
||||
}
|
||||
}
|
||||
|
||||
private function getSlider()
|
||||
{
|
||||
return Slides::find()->where(['is_active' => 1, 'type' => $this->type])
|
||||
->orderBy(['order_index' => SORT_ASC])
|
||||
->parseAll('id, media_key', [
|
||||
'title' => 'ts_en_title',
|
||||
'text' => 'ts_en_text',
|
||||
'relation' => 'ts_en_relation'
|
||||
])->all();
|
||||
}
|
||||
|
||||
private function getELibrary()
|
||||
{
|
||||
|
||||
$library = RegisterObjects::find()->andWhere(['is_active' => 1, 'lib_type' => 2])->orderBy(['date_updated' => SORT_DESC])->limit(20)->all();
|
||||
|
||||
$books = [];
|
||||
foreach ($library as $book) {
|
||||
$books[] = (object)[
|
||||
'img' => $book->getImg(),
|
||||
'title' => $book->getTitle(),
|
||||
'url' => $book->getLibraryUrl()
|
||||
];
|
||||
}
|
||||
|
||||
return $books;
|
||||
}
|
||||
|
||||
|
||||
public function getJoinToUs()
|
||||
{
|
||||
|
||||
$data = Navigation::find()
|
||||
->where(['is_active' => 1, 'home_conn' => 1])->orderBy(['order_index' => SORT_ASC])->all();
|
||||
|
||||
$imgNum = 0;
|
||||
$result = [];
|
||||
|
||||
foreach ($data as $link) {
|
||||
$imgNum++;
|
||||
if(file_exists($_SERVER['DOCUMENT_ROOT'].'/_public/images/dev/join-us-' . $imgNum . '.png')) {
|
||||
$plateImg = '/_public/images/dev/join-us-' . $imgNum . '.png';
|
||||
} else {
|
||||
$plateImg = '/_public/images/dev/join-us-1.png';
|
||||
}
|
||||
$result[] = (object)[
|
||||
'img' => $plateImg,
|
||||
'title' => \Yii::$app->language == 'en' ? $link->ts_en_name : $link->name,
|
||||
'text' => '',
|
||||
'url' => $link->url ? $link->url : $link->page->getUrl(),
|
||||
];
|
||||
//if ($imgNum == 4) $imgNum = 0;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getPartners()
|
||||
{
|
||||
$partnersArr = [];
|
||||
$partners = Partner::find()->where(['active' => 1, 'deleted' => 0])
|
||||
->andWhere(['<', 'type', 2])
|
||||
->all();
|
||||
foreach ($partners as $partner) {
|
||||
$partnersArr[] = (object)[
|
||||
'url' => $partner->getUrl(),
|
||||
'name' => $partner->getTsName(),
|
||||
'logo' => $partner->getSrcOfSingleImage('partner_logo_image', '1:1', '/_public/assets/images/emptysq.png')
|
||||
];
|
||||
}
|
||||
return $partnersArr;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user