Files
register/marko_unpacked/marko/cms/views/partner/website/e-library.php
T
Admin Nasledstvo ac168868ee Initial import
2026-05-01 20:52:04 +03:00

136 lines
4.5 KiB
PHP

<?php
use app\models\register\CollectionsObjects;
use app\models\RegisterObjects;
use app\services\Auth;
use app\widgets\FormWidget;
use app\widgets\services\Includes;
use app\widgets\TableWidget;
$tab = $_GET['tab'] ?? 'main';
$_GET['tab'] = $tab;
if (!empty($_GET['id'])) {
//$tabs['nomenclature'] = '<i class="la la-clipboard-list"></i> Номенклатури';
$tabs['main'] = '<i class="la la-database"></i> Основни данни';
$tabs['ts_en'] = '<i class="lg lg-en"></i> Превод английски';
//$tabs['media'] = '<i class="la la-file-movie-o"></i> Медия файлове';
}
$condition = Yii::$app->getFilterData('or', ['identifier']);
$identifier = null;
if (!empty($_GET['q'])) {
foreach (explode('|', $_GET['q']) as $id) {
$filter = explode(':', $id);
if ($filter[0] == 'identifier' && !empty($filter[1])) {
$identifier = $filter[1];
break;
}
}
}
$data = RegisterObjects::find();
$data->where(['lib_type' => 2, 'partner_id' => Auth::userPartner()->partner_id]);
if ($identifier) {
$data->innerJoinWith('library');
$data->andWhere([
'or',
['=', 'lib_identifier_isbn_print', $identifier],
['=', 'lib_identifier_isbn_online', $identifier],
['=', 'lib_identifier_issn_print', $identifier],
['=', 'lib_identifier_issn_online', $identifier],
['=', 'lib_identifier_doi', $identifier],
['=', 'lib_identifier_ismn', $identifier],
['=', 'lib_identifier_isan', $identifier],
]);
}
$data->andWhere($condition)
->orderBy(['date_updated' => SORT_DESC]);
TableWidget::widget([
'filter' => [
[
'identifier' => ['Идентификатор', 'c2'],
'name' => ['Наименование', 'c3'],
'ref_num' => ['Реф.№', 'c1']
]
],
//'advanced_filter' => $this->render('_advanced_filters/object'),
'top' => [
'title' => 'Е-библиотека',
'data' => [
'index/dashboard' => 'Начало',
'website/expositions' => 'Уебпортал',
]
],
'actions' => [
'edit' => 'Преглед на публикация'
],
'th' => [
'ID' => 'c05 text-right',
'Реф. №' => 'c05 text-right',
'Наименование' => 'c2 ct',
'Изображение' => 'ct c1',
'Партньор' => 'c2 ct',
'Дата на добавяне' => 'ct',
'Дата на последна актуализация' => 'ct',
'Публикувана' => '',
],
'data' => $data->loop([
'id',
'ref_num',
function (RegisterObjects $model) {
if ($model->name)
return '<a href="' . Yii::$app->setQueryString(['o' => 'w', 'id' => $model->id]) . '">' . $model->name . '</a>';
},
function (RegisterObjects $model) {
if ($model->mainImgFile) {
return '<img src="' . $model->mainImgFile . '" style="height: 130px">';
}
},
function (RegisterObjects $model) {
if($model->partner)
return $model->partner->name;
},
function (RegisterObjects $model) {
//date published
if ($model->date_added)
return date('d.m.Y H:i', strtotime($model->date_added));
},
function (RegisterObjects $model) {
//date published
if ($model->date_updated)
return date('d.m.Y H:i', strtotime($model->date_updated));
},
function (RegisterObjects $model) {
return $model->is_active ? '<span style="font-weight: bold; color: green">да</span>': 'не';
},
], $_GET['p'] ?? 1, 30)
]);
FormWidget::widget([
'top' => [
'title' => 'Нова публикация',
'title_edit' => 'Преглед на публикация',
'data' => [
'index/dashboard' => 'Начало',
'website/expositions' => 'Уебпортал',
'website/e-library' => 'Е-библиотека'
],
],
'tabs' => $tabs ?? [],
'writeView' => empty($_GET['id']) ? "website/tabs/main/e_library_w" : "website/tabs/" . Includes::tab($tab) . "/e_library_w",
'model' => RegisterObjects::class,
'validation' => function ($p) use ($tab) {
},
'postService' => function ($p, RegisterObjects $model) use ($tab) {
}
]);