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,74 @@
<link rel="stylesheet" href="/_public/assets/css/page.css">
<link rel="stylesheet" href="/_public/assets/css/article-module.css">
<?php
use app\models\Ts;
use app\services\ViewReg;
use app\widgets\Carousel;
use app\widgets\Includes;
/**
* @var \yii\web\View $this
* @var \app\models\Articles $model ;
* @var $type
* @var $partnerSlug
*/
Ts::set([2, 12, 6, 7, 8]);
$encode = '?' . base64_encode(json_encode(['art_table' => 'art_table=news']));
/** @var \app\models\register\Partner $partner */
$partner = \app\models\register\Partner::getPartnerBySlug($partnerSlug);
$articlesUrl = ViewReg::generateArticleListUrl($partnerSlug);
echo $this->render('/partner/inner-pages/_partner-header', ['partner' => $partner, 'model' => $model, 'link' => null])
?>
<div class="content">
<div class="top50 filter-buttons flex-center">
<button data-type="news"
data-filter="art_table=news" <?= $type == 'news' ? 'class="active"' : '' ?>><?= Ts::get(6) ?></button>
<button data-type="events"
data-filter="art_table=events" <?= $type == 'events' ? 'class="active"' : '' ?>><?= Ts::get(7) ?></button>
<button data-type="campaigns"
data-filter="art_table=campaigns" <?= $type == 'campaigns' ? 'class="active"' : '' ?>><?= Ts::get(8) ?></button>
</div>
<div class="detail-title top50"><?= $model->article->title() ?></div>
<div class="top50">
<?php Carousel::widget(['article' => $model->article, 'type' => 'article_detail_gallery']) ?>
</div>
<div class="top25">
<?= $this->render('/site/includes/relation_buttons') ?>
</div>
<div class="content-inner top25">
<div class="detail-date">
<?= date('d.m.Y', strtotime($model->publish_date)) ?>
</div>
<div class="detail-text">
<?= $model->article->text() ?>
</div>
</div>
<div class="top20">
<?php
Carousel::widget([
'type' => 'partner_more_articles',
'id' => 1,
'partner_id' => $partner->id
]);
?>
</div>
</div>
<script>
const l = '<?= $articlesUrl ?>';
const partner_id = '<?= $partner->id ?>';
document.querySelectorAll('[data-filter]').forEach(e => {
e.addEventListener('click', () => {
let filter = {};
filter['art_table'] = e.dataset.filter;
filter['partner_id'] = `partner_id=${partner_id}`;
const key = `?${btoa(JSON.stringify(filter))}`
window.location.href = l + key
})
})
</script>
@@ -0,0 +1,83 @@
<?php
/* @var $this \yii\web\View */
/* @var $slug mixed */
/**
* @var $slug
* @var $partnerSlug
*/
use app\models\register\Collections;
use app\models\Ts;
use app\services\Formatter;
use app\services\ViewReg;
use app\widgets\Carousel;
/** @var \app\models\register\Partner $partner */
$partner = \app\models\register\Partner::getPartnerBySlug($partnerSlug);
$encodeId = explode('-', $slug)[0];
$id = Formatter::decodeId($encodeId);
/** @var Collections $model */
$model = Collections::findOne($id);
ViewReg::localePartnerSwitchPage('collections', $model->id, $model->name, $model->name_en);
Ts::set([41, 42, 43])
?>
<link rel="stylesheet" href="/_public/assets/css/page.css">
<link rel="stylesheet" href="/_public/assets/css/article-module.css">
<style>
header {
border-bottom: 0 !important;
}
.dp-collection-selected-collections {
margin: -30px 0 0 -10px;
}
.dp-collection-selected-collections .top-care {
display: none;
}
</style>
<div class="content">
<div class="page-header" style="height: 400px; overflow: hidden">
<a href="<?= Yii::$app->goHome() ?>" class="top-care">
<?php if (Yii::$app->language == 'en'): ?>
<img src="/_public/images/logo_en/N-logo-02.png" style="margin-top: 15px">
<?php else: ?>
<img src="/_public/images/logo-b.png" style="margin-top: 15px">
<?php endif; ?>
</a>
<?php if ($model && $model->getHeaderImg()): ?>
<img class="header-img" src="<?= $model->getHeaderImg() ?>" style="width: 100%">
<?php endif; ?>
<div class="header-image-title"><?= $model->title() ?></div>
<a class="bottom-care link"
href="<?= ViewReg::generateListUrl('collections') ?>"><?= \app\models\Ts::get(42) ?></a>
</div>
</div>
<div class="content">
<div class="detail-text top50">
<?= $model->textDescription() ?>
</div>
<div class="top25">
<div class="flex flex-right"><?= $this->render('/site/includes/relation_buttons') ?></div>
</div>
<?= $this->render('/site/includes/list_collection_objects', ['model' => $model, 'partner_id' => $partner->id]) ?>
<div class="title-list top15">
<?= Ts::get(43) ?>
</div>
<div class="dp-collection-selected-collections">
<?php Carousel::widget([
'type' => 'positions_inner_page_collections',
'id' => 1
]);
?>
</div>
</div>
@@ -0,0 +1,184 @@
<link rel="stylesheet" href="/_public/assets/css/page.css">
<link rel="stylesheet" href="/_public/assets/css/article-module.css">
<?php
use app\models\Ts;
use app\services\ELibraryModels;
use app\services\Formatter;
use app\models\RegisterObjects;
use app\services\JWT;
use app\services\ViewReg;
/**
* @var $slug
* @var $partnerSlug
*/
$encodeId = explode('-', $slug)[0];
$id = Formatter::decodeId($encodeId);
/** @var RegisterObjects $model */
$model = RegisterObjects::findOne($id);
ViewReg::localeSwitchPage('e-library', $model->id, $model->name, $model->ts_en_name);
Yii::$app->controller->pageTitle = $model->getTitle();
\app\models\Ts::set([115, 162, 166, 167, 168, 169, 180, 223]);
$lg = Yii::$app->language;
Yii::$app->controller->pageTitle = $model->getTitle();
Yii::$app->controller->description = strip_tags($model->getLongText());
Yii::$app->controller->img = $model->getImg();
if ($partnerSlug) {
/** @var \app\models\register\Partner $partner */
$partner = \app\models\register\Partner::getPartnerBySlug($partnerSlug);
}
?>
<div class="content">
<div class="page-header mobile-hide" style="height: 80px">
<a href="<?= Yii::$app->goHome() ?>" class="header-logo top-care">
<?php if (Yii::$app->language == 'en'): ?>
<img src="/_public/images/logo_en/N-logo-03.png">
<?php else: ?>
<img src="/_public/images/logo.png">
<?php endif; ?>
</a>
</div>
</div>
<div class="ld top25">
<div class="filter-buttons flex-center">
<?php if ($partnerSlug): ?>
<button onclick="window.location.href='<?= Yii::$app->goToAction(($lg == 'en' ? 'partner' : 'partnjor') . '/' . $partnerSlug . '/' . ($lg == 'en' ? 'e-library' : 'e-biblioteka')) ?>'">
<i class="la la-undo"></i> <?= Ts::get(169) ?></button>
<?php else: ?>
<button onclick="window.location.href='<?= Yii::$app->goToAction($lg == 'en' ? 'e-library' : 'e-biblioteka') ?>'">
<i class="la la-undo"></i> <?= Ts::get(169) ?></button>
<?php endif; ?>
</div>
<div class="flex top25">
<div class="book-image">
<img src="<?= $model->getMainImgFile() ?>">
<div class="top25">
<?= $this->render('/site/includes/relation_buttons', ['model' => $model]) ?>
</div>
</div>
<div class="book-info">
<div class="title"><?= $model->getTitle() ?></div>
<div class="author top25">
<span class="list-label news"><?= Ts::get(162) ?></span>
<span class="font-bold"><?= $model->created_by ?></span>
</div>
<?php if ($model->created_year): ?>
<div class="info-row">
<label><?= Ts::get(167) ?>:</label>
<div class="font-bold"><?= $model->created_year ?></div>
</div>
<?php endif; ?>
<?php foreach ($model->registerObjectFields as $objectField): ?>
<?php if ($objectField->field && $objectField->fieldValue): ?>
<div class="info-row">
<label><?= $objectField->field->getNameByLocale() ?>:</label>
<div class="font-bold"><?= $objectField->fieldValue->getNameByLocale() ?></div>
</div>
<?php endif; ?>
<?php endforeach; ?>
<?php if ($model->partner): ?>
<div class="author top25 flex partner">
<span class="list-label campaigns"><?= Ts::get(166) ?></span>
<span class="partner-name"><?= $model->partner->getTsName() ?></span>
</div>
<?php endif; ?>
<?php if ($model->pdf): ?>
<?php if ($model->price && $model->is_payable): ?>
<div class="price top50"><?= number_format($model->price, 2, '.', ' ') ?> лв.</div>
<?php
$user = \app\services\Auth::getUser();
$paid = false;
if ($user) {
$product = \app\models\OrderProduct::find()->joinWith('order')->where(['model_class' => RegisterObjects::class, 'model_id' => $model->id, 'user_id' => $user->id])->one();
if ($product && $product->order->payment && $product->order->payment->status == 'PAID') {
$paid = true;
}
}
?>
<?php if (!$paid): ?>
<button data-cart="<?= $model->cartKey ?>"
onclick="cart.add(this, e => {cart.updateSubscriptions(e, 'add')})"
class="button top25"><i
class="la la-shopping-cart"></i> <?= Ts::get(115) ?></button>
<?php else: ?>
<div class="top25">
<button data-pdf="<?= JWT::encode(['id' => $model->pdf->id], JWT::SECRET_KEY) ?>/"
class="button"><?= Ts::get(168) ?></button>
</div>
<?php endif ?>
<?php else: ?>
<div class="top25">
<button data-pdf="<?= JWT::encode(['id' => $model->pdf->id], JWT::SECRET_KEY) ?>/"
class="button"><?= Ts::get(168) ?></button>
</div>
<?php endif ?>
<?php else: ?>
<p style="color: coral"><?= Ts::get(180) ?></p>
<?php endif; ?>
</div>
</div>
<?php //if ($model->library && !empty($_GET['lib']) && $_GET['lib'] == 'sichtbar'): ?>
<?php
$labelIndex = $lg == 'en' ? 1 : 0
?>
<div class="library-nodes-wrapper open top25">
<label onclick="toggleInfo(this)"><?= $lg == 'en' ? 'Information' : 'Информация' ?><i
class="la la-chevron-up"></i><i class="la la-chevron-down"></i></label>
<div class="library-nodes">
<div class="node">
<b><?= $lg == 'en' ? 'Keywords' : 'Ключови думи' ?></b>: <?= $model->getTagsList(', ') ?>
</div>
<?php if ($model->library): ?>
<?php foreach ($model->library as $key => $value):
if ($key == "id" || $key == "object_id" || $value == "''" || $value == "") continue;
switch ($key) {
case 'lib_variant':
$value = ELibraryModels::$lib_types[$value][$labelIndex] ?? $value;
break;
case 'lib_format':
$value = ELibraryModels::$lib_format_opt[$value][$labelIndex] ?? $value;
break;
case 'lib_language':
$value = ELibraryModels::getLanguages($value);
break;
case 'lib_license':
$value = ELibraryModels::$lib_licenses[$value][$labelIndex] ?? $value;
break;
case 'lib_rights':
$value = ELibraryModels::$lib_rights[$value][$labelIndex] ?? $value;
break;
}
?>
<div class="node">
<b><?= ELibraryModels::$key_labels[$key][$labelIndex] ?? $key ?></b>: <?= strip_tags($value) ?>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
</div>
<?php //endif; ?>
<div class="book-description top50">
<?= $model->getAnnotation() ?>
</div>
</div>
<script>
function toggleInfo(e) {
if (e.parentNode.classList.contains('open')) {
e.parentNode.classList.remove('open')
} else {
e.parentNode.classList.add('open')
}
}
</script>
@@ -0,0 +1,90 @@
<link rel="stylesheet" href="/_public/assets/css/page.css">
<link rel="stylesheet" href="/_public/assets/css/article-module.css">
<?php
/* @var $this \yii\web\View */
/* @var $slug mixed */
/**
* @var $slug
* @var $partnerSlug
*/
use app\models\Expositions;
use app\models\Ts;
use app\services\Formatter;
use app\services\ViewReg;
use app\widgets\Carousel;
use app\widgets\Includes;
$encodeId = explode('-', $slug)[0];
$id = Formatter::decodeId($encodeId);
/** @var Expositions $model */
$model = Expositions::findOne($id);
ViewReg::localeSwitchPage('expositions', $model->id, $model->name, $model->ts_en_name);
Yii::$app->controller->pageTitle = $model->title();
Includes::widget(['type' => 'detail_page_header']);
Ts::set([43, 46, 47]);
$exposition_id = base64_decode($_SERVER['QUERY_STRING']);
$exposition = \app\models\Expositions::findOne($exposition_id);
?>
<style>
.dp-collection-selected-collections {
margin: -30px 0 0 -10px;
}
.dp-collection-selected-collections .top-care {
display: none;
}
.bottom-care {
display: none !important;
}
</style>
<?php
ViewReg::localePartnerSwitchPage('expositions', $model->id, $model->name, $model->ts_en_name);
/** @var \app\models\register\Partner $partner */
$partner = \app\models\register\Partner::getPartnerBySlug($partnerSlug);
$articlesUrl = ViewReg::generateArticleListUrl($partnerSlug);
echo $this->render('/partner/inner-pages/_partner-header', ['partner' => $partner, 'model' => $model, 'link' => null])
?>
<div class="content">
<div class="detail-page-breadcrumb flex-center flex top50">
<a href="/<?= Yii::$app->language . '/' . ViewReg::partnerSite() ?>/">Начало</a>
<a href="<?= \app\services\ViewReg::generateListUrl('expositions') ?>"><?= Ts::get(46) /* Expositions */ ?></a>
<?php if ($exposition): ?><a href="<?= $exposition->getUrl() ?>"><?= $exposition->title() ?></a><?php endif; ?>
</div>
<div class="detail-title top50">
<?= $model->title() ?>
</div>
<div class="top50">
<?php Carousel::widget(['article' => $model, 'type' => 'exposition_detail_gallery']) ?>
</div>
<div class="top25">
<?= $this->render('/site/includes/relation_buttons') ?>
</div>
</div>
<div class="content">
<div class="detail-text top50">
<?= $model->textDescription() ?>
</div>
<?= $this->render('/site/includes/list_exposition_objects', ['model' => $model, 'partner_id' => $partner->id]) ?>
<div class="title-list top15">
<?= Ts::get(43) ?>
</div>
<div class="dp-collection-selected-collections">
<?php Carousel::widget([
'type' => 'positions_inner_page_expositions',
'id' => 1
]);
?>
</div>
</div>
@@ -0,0 +1,87 @@
<link rel="stylesheet" href="/_public/assets/css/page.css">
<link rel="stylesheet" href="/_public/assets/css/article-module.css">
<?php
/**
* @var $slug
* @var $partnerSlug
* @var $webPage
*/
use app\models\RegisterObjects;
use app\models\Ts;
use app\services\Formatter;
use app\services\ViewReg;
use app\widgets\Carousel;
use app\widgets\Includes;
$encodeId = explode('-', $slug)[0];
$id = Formatter::decodeId($encodeId);
/** @var \app\models\RegisterObjects $model */
$model = RegisterObjects::findOne($id);
ViewReg::localePartnerSwitchPage($webPage, $model->id, $model->name, $model->ts_en_name);
Yii::$app->controller->pageTitle = $model->getTitle();
Ts::set([41, 44, 46, 49, 128, 133, 155, 156, 157, 158, 159, 160, 161]);
Includes::widget(['type' => 'detail_page_header']);
/** @var \app\models\register\Partner $partner */
$partner = \app\models\register\Partner::getPartnerBySlug($partnerSlug);
$articlesUrl = ViewReg::generateArticleListUrl($partnerSlug);
echo $this->render('/partner/inner-pages/_partner-header', ['partner' => $partner, 'model' => $model])
?>
<div class="content">
<div class="detail-page-breadcrumb flex-center flex top50">
<a href="/<?= Yii::$app->language . '/' . ViewReg::partnerSite() ?>"><?= Ts::get(49)?></a>
<?php if($webPage == 'collections-objects' || $webPage == 'kolektsii-obekti'): ?>
<?php
$collection_id = base64_decode($_SERVER['QUERY_STRING']);
$collection = \app\models\register\Collections::findOne($collection_id);
?>
<a href="<?= \app\services\ViewReg::generateListUrl('collections') ?>"><?= Ts::get(44) /* Collections */ ?></a>
<?php if ($collection): ?><a href="<?= $collection->getUrl() ?>"><?= $collection->title() ?></a><?php endif; ?>
<?php endif ?>
<?php if($webPage == 'expositions-objects' || $webPage == 'ekspozitsii-obekti'): ?>
<?php
$exposition_id = base64_decode($_SERVER['QUERY_STRING']);
$exposition = \app\models\Expositions::findOne($exposition_id);
?>
<a href="<?= \app\services\ViewReg::generateListUrl('expositions') ?>"><?= Ts::get(46) /* Expositions */ ?></a>
<?php if ($exposition): ?><a href="<?= $exposition->getUrl() ?>"><?= $exposition->title() ?></a><?php endif; ?>
<?php endif ?>
</div>
<div class="detail-title top50">
<?= $model->getTitle() ?>
</div>
<div class="top50">
<?php Carousel::widget(['article' => $model, 'type' => 'object_detail_gallery']) ?>
</div>
<div class="top25">
<?= $this->render('/site/includes/relation_buttons') ?>
</div>
<div class="detail-date top50">
<?= date('d.m.Y/H:i', strtotime($model->publish_date)) ?>
</div>
<div class="flex top25">
<div class="detail-text cw8 right-50">
<?= $model->getLongText() ?>
</div>
<div class="object-detail-info cw4">
<?= $this->render('/site/includes/info_object', ['model' => $model])?>
</div>
</div>
<?php if ($model->getVideoCount() > 0): ?>
<?= $this->render('/site/includes/list_collection_objects_videos', ['model' => $model]) ?>
<?php endif; ?>
<?php if(sizeof($model->pdfDocuments) > 0): ?>
<?= $this->render('/site/includes/list_object_pdf_files', ['model' => $model]) ?>
<?php endif; ?>
<?= $this->render('/site/includes/object_tabs', ['model' => $model]) ?>
</div>
<?= $this->render('/_object_location_map', ['model' => $model])?>
@@ -0,0 +1,172 @@
<?php
/**
* @var $slug
*/
use app\models\Projects;
use app\models\Ts;
use app\services\Formatter;
use app\services\ViewReg;
$encodeId = explode('-', $slug)[0];
$id = Formatter::decodeId($encodeId);
/** @var Projects $model */
$model = Projects::findOne($id);
ViewReg::localeSwitchPage('projects', $model->id, $model->title, $model->ts_en_title);
Ts::set([25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 50]);
?>
<link rel="stylesheet" href="/_public/assets/css/page.css">
<link rel="stylesheet" href="/_public/assets/css/article-module.css">
<div class="content">
<?php
/** @var \app\models\register\Partner $partner */
$partner = \app\models\register\Partner::getPartnerBySlug(Yii::$app->controller->partnerSlug);
echo $this->render('/partner/inner-pages/_partner-header', ['partner' => $partner, 'model' => $model, 'link' => [
'url' => ViewReg::generateListUrl('projects'),
'title' => \app\models\Ts::get(50)
]]);
?>
<div class="detail-title top50"><?= $model->title() ?></div>
<div class="top50 detail-page-image">
<img src="<?= $model->getSrcOfSingleImage('title_project_image') ?>">
</div>
<div class="top25">
<?= $this->render('/site/includes/relation_buttons') ?>
</div>
<div class="content top50">
<div class="detail-date">
<?= date('d.m.Y/H:i', strtotime($model->publish_date)) ?>
</div>
<div class="flex">2
<div class="detail-text cw8 right-50">
<?= $model->textLong() ?>
</div>
<div class="right-info cw4">
<div class="header-title"><?= Ts::get(26) ?></div>
<div class="body body-info">
<?php if ($model->period_date_start): ?>
<div class="body-row">
<b><?= Ts::get(27) ?>
:</b> <?= Formatter::dates($model->period_date_start, $model->period_date_end) ?>
</div>
<?php endif; ?>
<?php if (sizeof($model->projectPartners)): ?>
<div class="body-row">
<b><?= Ts::get(29) ?>:</b>
<?php
$partners = [];
/** @var \app\models\ProjectsPartner $projectPartner */
foreach ($model->projectPartners as $projectPartner):
$partners[] = $projectPartner->partner->name;
endforeach; ?>
<?= implode(', ', $partners) ?>
</div>
<?php endif; ?>
<?php if ($model->text_contract): ?>
<div class="body-row">
<b><?= Ts::get(30) ?>:</b> <?= $model->textContract() ?>
</div>
<?php endif; ?>
<div class="body-row">
<b><?= Ts::get(31) ?>:</b>
<?php if ($model->text_short): ?>
<?= $model->textShort() ?>
<?php endif; ?>
</div>
<?php if ($model->website): ?>
<div class="body-row">
<b><?= Ts::get(32) ?>:</b>
<?= $model->website ?>
</div>
<?php endif; ?>
<!-- Publications -->
<?php if (sizeof($model->getPublications()) > 0): ?>
<div class="body-row">
<b><?= Ts::get(33) ?>:</b>
<?= $model->website ?>
</div>
<?php endif; ?>
</div>
<div class="header-title"><?= Ts::get(28) ?></div>
<div class="body body-files">
<!-- GALLERY -->
<?php if (sizeof($model->getSrcOfMultipleImages('project_images', null)) > 0): ?>
<div class="body-row flex">
<b><?= Ts::get(34) ?>:</b> <a style="cursor: pointer" onclick="openGallery()"><?= Ts::get(36) ?></a>
</div>
<?php endif; ?>
<!-- PRESENTATION -->
<?php if (sizeof($model->getPresentationList()) > 0): ?>
<div class="body-row flex">
<b><?= Ts::get(35) ?>:</b>
<div>
<?php foreach ($model->getPresentationList() as $document): ?>
<a href="<?= $document->download ?>"><?= $document->name ?></a>
<?php endforeach; ?>
</div>
</div>
<?php endif; ?>
<?php if (sizeof($model->videoList()) > 0): ?>
<!-- VIDEO -->
<div class="body-row flex">
<b><?= Ts::get(37) ?>:</b>
<?php foreach ($model->videoList() as $document): ?>
<a target="_blank" href="<?= $document->preview ?>"><?= $document->name ?></a>
<?php endforeach; ?>
</div>
<?php endif; ?>
<!-- AUDIO -->
<?php if (sizeof($model->audioList())): ?>
<div class="body-row flex">
<b><?= Ts::get(38) ?>:</b>
<?php foreach ($model->audioList() as $document): ?>
<a target="_blank" href="<?= $document->preview ?>"><?= $document->name ?></a>
<?php endforeach; ?>
</div>
<?php endif; ?>
<?php if (sizeof($model->getDocsList()) > 0): ?>
<!-- DOCUMENTS -->
<div class="body-row flex">
<b><?= Ts::get(39) ?>:</b>
<div>
<?php foreach ($model->getDocsList() as $document): ?>
<a target="_blank" href="<?= $document->download ?>"><?= $document->name ?></a>
<?php endforeach; ?>
</div>
</div>
<?php endif; ?>
</div>
</div>
</div>
</div>
</div>
<div class="gallery photoswipe-gallery" data-pswp-uid="1" style="display: none">
<?php foreach ($model->getSrcOfMultipleImages('project_images', null) as $picture): ?>
<a href="<?= $picture ?>"
data-size="1183x1183"
data-med="<?= $picture ?>"
data-med-size="1183x1183"
data-title="">
<img class="load" src="<?= $picture ?>" style="height: 500px">
</a>
<?php endforeach; ?>
</div>
<?= $this->render('/site/includes/_photoswipe'); ?>
<script>
const galleryFirstElement = document.querySelector('.gallery a:first-child');
function openGallery() {
event.preventDefault();
galleryFirstElement.click();
}
</script>