Initial import
This commit is contained in:
@@ -0,0 +1,201 @@
|
||||
<?php
|
||||
|
||||
use app\models\Events;
|
||||
use app\models\PriceObject;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var Events $model
|
||||
* @var PriceObject $object
|
||||
*/
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<?php if (empty($model->id)): ?>
|
||||
<p style="color: darkorange; font-weight: bold">* Формата ще бъде активна след попълването на "Основни
|
||||
данни"</p>
|
||||
<?php endif; ?>
|
||||
<form autocomplete="off" class="<?= empty($model->id) ? 'disabled' : '' ?>">
|
||||
<div class="row" style="width: 250px">
|
||||
<label class="require">Време за дневно посещение</label>
|
||||
<input data-min-h="7" data-max-h="20" type="hidden" name="daily_open_time" id="daily_open_time"
|
||||
value="<?= $model->daily_open_time ?>">
|
||||
</div>
|
||||
<div class="row c4 top15">
|
||||
<label class="require">Максимален брой посетители за деня</label>
|
||||
<input data-format="integer" name="max_visitors" style="width: 60px" value="<?= $model->max_visitors ?>">
|
||||
</div>
|
||||
<div class="row top15">
|
||||
<label>Цени</label>
|
||||
</div>
|
||||
<div class="top-page-panel c9">
|
||||
<div class="row c5">
|
||||
<div onclick="addPrice(this)" data-id="<?= $model->id ?>"
|
||||
class="btn-ib btn-default">
|
||||
<i class="la la-plus-circle"></i> Добавяне на цена
|
||||
</div>
|
||||
<div id="bDelete" data-model="app\models\PriceObject" onclick="checkDelete(this)"
|
||||
class="btn-ib btn-default ct disabled">
|
||||
<i class="la la-trash-o"></i> Изтриване на цена <span id="delCount">(0)</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="top15">
|
||||
<table class="cms-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-right c1">
|
||||
<input id="checkAll" onclick="checkAllPositions(this)" title="Избери всички"
|
||||
class="delete-checkbox <?= sizeof($model->price_objects) == 0 ? 'hide' : '' ?>" type="checkbox">
|
||||
No
|
||||
</th>
|
||||
<th>Текст [bg]</th>
|
||||
<th>Текст [en]</th>
|
||||
<th style="width: 100px">Цена</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="price_list">
|
||||
<?php foreach ($model->price_objects as $i => $object): ?>
|
||||
<tr>
|
||||
<td class="text-right">
|
||||
<input onclick="checkSingle(this)"
|
||||
data-del="<?= $object->id ?>"
|
||||
class="delete-checkbox"
|
||||
type="checkbox"
|
||||
style="top: calc(50% - 10px)">
|
||||
<span><?= $i + 1 ?></span></td>
|
||||
<td><input name="price_object[id_<?= $object->id ?>][text_bg]" value="<?= $object->text_bg ?>" type="text"></td>
|
||||
<td><input name="price_object[id_<?= $object->id ?>][text_en]" value="<?= $object->text_en ?>" type="text"></td>
|
||||
<td><input name="price_object[id_<?= $object->id ?>][price]" value="<?= $object->price ?>" type="text"
|
||||
data-format="money"></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
<tr id="empty_row" class="<?= (sizeof($model->price_objects) > 0 ? 'hide' : '') ?>">
|
||||
<td colspan="4" class="ct"
|
||||
style="font-size: 14px; padding: 15px; color: var(--base-background-dark); pointer-events: none">
|
||||
Няма добавени цени
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row c9 top15 flex">
|
||||
<?= Includes::formButtons('website/events') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const checkAll = one('#checkAll');
|
||||
|
||||
function addPrice(e) {
|
||||
const price_list = one('#price_list');
|
||||
const row = document.createElement('tr');
|
||||
const count = all('#price_list tr').length
|
||||
one('#empty_row').addClass('hide')
|
||||
row.innerHTML = `
|
||||
<td class="text-right">
|
||||
<input onclick="checkSingle(this)"
|
||||
data-del
|
||||
class="delete-checkbox"
|
||||
type="checkbox"
|
||||
style="top: calc(50% - 10px)">
|
||||
<span>${count + 1}</span></td>
|
||||
<td><input name="price_object[c_${count + 1}][text_bg]" type="text"></td>
|
||||
<td><input name="price_object[c_${count + 1}][text_en]" type="text"></td>
|
||||
<td><input name="price_object[c_${count + 1}][price]" type="text" data-format="money"></td>
|
||||
`;
|
||||
price_list.appendChild(row);
|
||||
dataFormat();
|
||||
checkAll.removeClass('hide')
|
||||
}
|
||||
|
||||
timeRange('#daily_open_time');
|
||||
|
||||
let sl = [];
|
||||
|
||||
function checkAllPositions(el) {
|
||||
sl = [];
|
||||
all('td [data-del]').forEach(e => {
|
||||
e.checked = el.checked === true;
|
||||
if (el.checked) {
|
||||
sl.push(e.dataset.del);
|
||||
e.parentNode.parentNode.addClass('checked');
|
||||
} else {
|
||||
e.parentNode.parentNode.removeClass('checked');
|
||||
}
|
||||
|
||||
})
|
||||
updateActionButtons();
|
||||
}
|
||||
|
||||
function checkSingle(e) {
|
||||
if (e.checked) {
|
||||
sl.push(e.dataset.del);
|
||||
console.log(sl)
|
||||
e.parentNode.parentNode.addClass('checked');
|
||||
} else {
|
||||
one('#checkAll').checked = false;
|
||||
e.parentNode.parentNode.removeClass('checked');
|
||||
const f = sl.indexOf(e.dataset.del);
|
||||
sl.splice(f, 1);
|
||||
}
|
||||
updateActionButtons(e.dataset.del);
|
||||
}
|
||||
|
||||
function updateActionButtons() {
|
||||
const bDelete = one('#bDelete');
|
||||
const delCount = one('#delCount');
|
||||
const c = sl.length;
|
||||
if (delCount)
|
||||
delCount.innerText = '(' + c + ')';
|
||||
if (c > 0) {
|
||||
if (bDelete)
|
||||
bDelete.removeClass('disabled');
|
||||
} else {
|
||||
if (bDelete)
|
||||
bDelete.addClass('disabled');
|
||||
}
|
||||
}
|
||||
|
||||
function checkDelete(e) {
|
||||
const msg = 'Сигурни ли сте, че искате да изтриете ' + (sl.length > 1 ? 'тези ' + sl.length + ' записа?' : 'този запис?');
|
||||
modal.confirm(msg, () => {
|
||||
if(all('[data-del]').length === 0) {
|
||||
const checkAll = one('#checkAll')
|
||||
checkAll.checked = false;
|
||||
checkAll.addClass('hide')
|
||||
one('#empty_row').removeClass('hide')
|
||||
}
|
||||
all('[data-del]').forEach(e => {
|
||||
if (e.checked)
|
||||
e.parentNode.parentNode.remove();
|
||||
});
|
||||
all('[data-del]').forEach((e, i) => {
|
||||
const number = e.parentNode.querySelector('span');
|
||||
number.innerText = (i + 1).toString();
|
||||
})
|
||||
const ids = [];
|
||||
sl.forEach(value => {
|
||||
if(value) {
|
||||
ids.push(value);
|
||||
}
|
||||
});
|
||||
sl = [];
|
||||
updateActionButtons();
|
||||
if(ids.length > 0) {
|
||||
request({
|
||||
url: window.location.href.split('?')[0] + '?o=d',
|
||||
post: {
|
||||
ids: JSON.stringify(ids),
|
||||
model: e.dataset.model
|
||||
},
|
||||
done: e => {
|
||||
window.location.reload()
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
use app\models\Projects;
|
||||
use app\widgets\DocumentWidget;
|
||||
/**
|
||||
* @var $model Projects
|
||||
*/
|
||||
$document_key = $model->getDocumentKey();
|
||||
|
||||
DocumentWidget::widget([
|
||||
'document_key' => $document_key,
|
||||
'model_class' => Projects::class,
|
||||
'model' => $model
|
||||
]);
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
use app\models\RegisterObjects;
|
||||
use app\models\Partner;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var RegisterObjects $model
|
||||
*/
|
||||
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<!-- EDIT -->
|
||||
<div class="row top15 c7">
|
||||
<label class="require">Наименование на обекта</label>
|
||||
<input name="name" value="<?= $model->name ?>">
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label class="require">Анотация</label>
|
||||
<textarea name="annotation"><?= $model->annotation ?></textarea>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Кратко описание</label>
|
||||
<textarea name="short_description"><?= $model->short_description ?></textarea>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label class="require">Подробно описание</label>
|
||||
<textarea class="ckEditor" name="description"><?= $model->description ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15 flex">
|
||||
<?= Includes::formButtons('website/objects') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,122 @@
|
||||
<?php
|
||||
|
||||
|
||||
use app\models\Campaigns;
|
||||
use app\models\register\Partner;
|
||||
use app\widgets\FileWidget;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var Campaigns $model
|
||||
*/
|
||||
$media_key = $model->getMediaKey();
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<div class="row c2">
|
||||
<label class="require">Дати на кампанията</label>
|
||||
<input type="hidden" name="event_dates" id="event_dates" value="<?= $model->event_dates ?>">
|
||||
</div>
|
||||
<div class="row c6 top15">
|
||||
<label>Локация</label>
|
||||
<input name="location" placeholder="Въведи локация на събитието" value="<?= $model->location ?>"/>
|
||||
</div>
|
||||
<div class="row c6 top15">
|
||||
<label class="require">Заглавие</label>
|
||||
<input name="title" placeholder="Въведи заглавие на събитието" value="<?= $model->title ?>"/>
|
||||
</div>
|
||||
<div class="row top15" style="width: 350px">
|
||||
<label>Заглавно изображение</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'title_campaigns_image',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне',
|
||||
'edit' => 'Редакция',
|
||||
'delete' => 'Премахване'
|
||||
],
|
||||
'single_file' => true,
|
||||
'resolutions' => ['16:11', '16:9', '1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
<?= $this->render('/shared/instruction_1') ?>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Кратък текст</label>
|
||||
<textarea class="ckEditor" name="text_short"><?= $model->text_short ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Пълен текст</label>
|
||||
<textarea class="ckEditor" name="text"><?= $model->text ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label>Изображения в кампанията</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'campaigns_images',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне на изображения',
|
||||
'edit' => 'Редакция на изображение',
|
||||
'delete' => 'Премахване на изображения'
|
||||
],
|
||||
'resolutions' => ['16:11', '16:9', '1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
<div class="row c9 top15 flex">
|
||||
<div class="c7 right10">
|
||||
<label>Стрийминг линк</label>
|
||||
<input onkeyup="updateLabelRequire(this, '#sta')" name="stream_url"
|
||||
placeholder="Въведи линк на стрийминг"
|
||||
value="<?= $model->stream_url ?>"/>
|
||||
</div>
|
||||
<div class="left10">
|
||||
<label id="sta">Достъп</label>
|
||||
<div class="flex top-page-panel"
|
||||
style="height: 14px; border-radius: 3px; border-color: var(--base-background-dark)">
|
||||
<?php foreach ([1 => 'Частен', 2 => 'Публичен'] as $v => $t): ?>
|
||||
<label style="margin-top: -3px" class="right10 radio-error"><input
|
||||
style="width: 14px; height: 14px;" type="radio"
|
||||
name="stream_access" <?= $model->stream_access == $v ? 'checked' : '' ?>
|
||||
value="<?= $v ?>"/> <?= $t ?>
|
||||
</label>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c3 top15">
|
||||
<label class="require">Дата на публикуване</label>
|
||||
<input type="hidden" name="publish_date" id="publish_date" value="<?= $model->getPublishDate() ?>">
|
||||
</div>
|
||||
<div class="row c9 top15 flex">
|
||||
<?= Includes::formButtons('website/campaigns') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script src="/_public/assets/js/order.js"></script>
|
||||
<script src="/_public/assets/js/file-img.js"></script>
|
||||
<script src="/_public/plugins/cropperJs/cropper.min.js"></script>
|
||||
<script src="/_public/plugins/air-datepicker/locales.js"></script>
|
||||
<script src="/_public/plugins/air-datepicker/air-datepicker.js"></script>
|
||||
<script>
|
||||
new AirDatepicker('#event_dates', {
|
||||
inline: true,
|
||||
locale: locales.bg,
|
||||
multipleDates: true,
|
||||
multipleDatesSeparator: ',',
|
||||
selectedDates: document.querySelector('#event_dates').value.split(',')
|
||||
|
||||
});
|
||||
|
||||
new AirDatepicker('#publish_date', {
|
||||
inline: true,
|
||||
locale: locales.bg,
|
||||
selectedDates: [document.querySelector('#publish_date').value]
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
/** @var \app\models\register\Collections $model */
|
||||
|
||||
?>
|
||||
<div class="inner-content p20">
|
||||
<?php if ($model->thumbnail && $model->thumbnail != "''"): ?>
|
||||
<img src="https://reg.nasle.eu/uploads/collections/<?= $model->thumbnail ?>" style="height: 200px">
|
||||
<?php endif; ?>
|
||||
<div class="flex">
|
||||
<div class="row c6">
|
||||
<p><i class="lg lg-bg"></i> български</p>
|
||||
<div class="row">
|
||||
<h2><?= $model->name ?></h2>
|
||||
</div>
|
||||
<div class="row top15">
|
||||
<label>Кратко описание</label>
|
||||
<div>
|
||||
<?= $model->annotation ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row top15">
|
||||
<label>Oписание</label>
|
||||
<div>
|
||||
<?= $model->description ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c6">
|
||||
<p><i class="lg lg-bg"></i> английски</p>
|
||||
<div class="row">
|
||||
<h2><?= $model->name_en ?></h2>
|
||||
</div>
|
||||
<div class="row top15">
|
||||
<label>Кратко описание</label>
|
||||
<div>
|
||||
<?= $model->annotation_en ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row top15">
|
||||
<label>Oписание</label>
|
||||
<div>
|
||||
<?= $model->description_en ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
use app\models\RegisterObjects;
|
||||
use app\models\Partner;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var RegisterObjects $model
|
||||
*/
|
||||
use app\services\ELibraryModels;
|
||||
?>
|
||||
<div class="inner-content p10 preview-mode">
|
||||
<?php if ($model->mainImgFile): ?>
|
||||
<img data-preview="<?= $model->mainImgFile ?>" src="<?= $model->mainImgFile ?>" style="height: 300px">
|
||||
<?php endif; ?>
|
||||
<!-- EDIT -->
|
||||
<div class="row top15 c7">
|
||||
<label>Име на публикацията</label>
|
||||
<div><?= $model->name ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Анотация</label>
|
||||
<div><?= $model->annotation ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Кратко описание</label>
|
||||
<div><?= $model->short_description ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Подробно описание</label>
|
||||
<div><?= $model->description ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Ключови думи</label>
|
||||
<div><?= $model->getTagsList(', ') ?></div>
|
||||
</div>
|
||||
<?php if ($model->library): ?>
|
||||
<div class="row top15 c7">
|
||||
<label>Информация</label>
|
||||
<div>
|
||||
<?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] ?? $value;
|
||||
break;
|
||||
case 'lib_format':
|
||||
$value = ELibraryModels::$lib_format_opt[$value] ?? $value;
|
||||
break;
|
||||
case 'lib_license':
|
||||
$value = ELibraryModels::$lib_licenses[$value][0];
|
||||
break;
|
||||
case 'lib_rights':
|
||||
$value = ELibraryModels::$lib_rights[$value][0];
|
||||
break;
|
||||
case 'lib_language':
|
||||
$value = ELibraryModels::getLanguages($value);
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<div><b><?= ELibraryModels::$key_labels[$key] ?? $key ?></b>: <?= strip_tags($value) ?></div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.querySelectorAll('[data-preview]').forEach(e => {
|
||||
e.classList.add('pointer')
|
||||
e.addEventListener('click', () => {
|
||||
modal.modalPreview(e.dataset.preview);
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@@ -0,0 +1,122 @@
|
||||
<?php
|
||||
|
||||
|
||||
use app\models\Events;
|
||||
use app\models\register\Partner;
|
||||
use app\widgets\FileWidget;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var Events $model
|
||||
*/
|
||||
$media_key = $model->getMediaKey();
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<?php if ($model->getEventType()): ?>
|
||||
<input name="type" type="hidden" value="<?= $model->getEventType() ?>">
|
||||
<?php endif; ?>
|
||||
<div class="row c2">
|
||||
<label class="require">Дати на събитието</label>
|
||||
<input type="hidden" name="event_dates" id="event_dates" value="<?= $model->event_dates ?>">
|
||||
</div>
|
||||
<div class="row c6 top15">
|
||||
<label>Локация</label>
|
||||
<input name="location" placeholder="Въведи локация на събитието" value="<?= $model->location ?>"/>
|
||||
</div>
|
||||
<div class="row c6 top15">
|
||||
<label class="require">Заглавие</label>
|
||||
<input name="title" placeholder="Въведи заглавие на събитието" value="<?= $model->title ?>"/>
|
||||
</div>
|
||||
<div class="row top15" style="width: 350px">
|
||||
<label>Заглавно изображение</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'title_event_image',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне',
|
||||
'edit' => 'Редакция',
|
||||
'delete' => 'Премахване'
|
||||
],
|
||||
'single_file' => true,
|
||||
'resolutions' => ['16:11', '4:3', '1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
<?= $this->render('/shared/instruction_1') ?>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Кратък текст</label>
|
||||
<textarea class="ckEditor" name="text_short"><?= $model->text_short ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Пълен текст</label>
|
||||
<textarea class="ckEditor" name="text"><?= $model->text ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label>Изображения в събитието</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'event_images',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне на изображения',
|
||||
'edit' => 'Редакция на изображение',
|
||||
'delete' => 'Премахване на изображения'
|
||||
],
|
||||
'resolutions' => ['16:11', '16:9', '1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
<?php if ($model->type == 'simple'): ?>
|
||||
<div class="row c9 top15 flex">
|
||||
<div class="c7 right10">
|
||||
<label>Стрийминг линк</label>
|
||||
<input onkeyup="updateLabelRequire(this, '#sta')" name="stream_url"
|
||||
placeholder="Въведи линк на стрийминг"
|
||||
value="<?= $model->stream_url ?>"/>
|
||||
</div>
|
||||
<div class="left10">
|
||||
<label id="sta">Достъп</label>
|
||||
<div class="flex top-page-panel"
|
||||
style="height: 14px; border-radius: 3px; border-color: var(--base-background-dark)">
|
||||
<?php foreach ([1 => 'Частен', 2 => 'Публичен'] as $v => $t): ?>
|
||||
<label style="margin-top: -3px" class="right10 radio-error"><input
|
||||
style="width: 14px; height: 14px;" type="radio"
|
||||
name="stream_access" <?= $model->stream_access == $v ? 'checked' : '' ?>
|
||||
value="<?= $v ?>"/> <?= $t ?>
|
||||
</label>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="row c9 top15 flex">
|
||||
<?= Includes::formButtons('website/events') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script src="/_public/assets/js/order.js"></script>
|
||||
<script src="/_public/assets/js/file-img.js"></script>
|
||||
<script src="/_public/plugins/cropperJs/cropper.min.js"></script>
|
||||
<script src="/_public/plugins/air-datepicker/locales.js"></script>
|
||||
<script src="/_public/plugins/air-datepicker/air-datepicker.js"></script>
|
||||
<script>
|
||||
new AirDatepicker('#event_dates', {
|
||||
inline: true,
|
||||
locale: locales.bg,
|
||||
multipleDates: true,
|
||||
multipleDatesSeparator: ',',
|
||||
selectedDates: document.querySelector('#event_dates').value.split(',')
|
||||
});
|
||||
|
||||
new AirDatepicker('#publish_date', {
|
||||
inline: true,
|
||||
locale: locales.bg,
|
||||
selectedDates: [document.querySelector('#publish_date').value]
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,163 @@
|
||||
<div class="wl-switch">
|
||||
<a class="" href="?listtab=list"><i class="la la-navicon"></i> Списък с експозиции</a>
|
||||
<a class="selected" href="?listtab=tags"><i class="la la-navicon"></i> Тагове</a>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
use app\models\ExpositionsTags;
|
||||
|
||||
$translations = ExpositionsTags::find()->orderBy(['id' => SORT_DESC])->all();
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<div class="c10 row">
|
||||
<div class="row top15">
|
||||
<div onclick="addTs(this)" class="btn-ib btn-default add-ts"><i class="la la-plus-circle"></i> Добави нов
|
||||
таг
|
||||
</div>
|
||||
</div>
|
||||
<div class="row-panel top15">
|
||||
<input id="searchByName" style="height:13px; width: 300px" type="text" onkeydown="searchByName(this)"
|
||||
placeholder="Търси по име на таг">
|
||||
<div id="clearButton" onclick="clearButton()" class="btn-ib btn-default add-ts disabled left5"><i
|
||||
class="la la-remove"></i>
|
||||
Изчисти
|
||||
</div>
|
||||
<div onclick="searchButton()" class="btn-ib btn-default add-ts"><i class="la la-search"></i> Търси</div>
|
||||
</div>
|
||||
<table class="cms-table top15">
|
||||
<thead id="header" class="<?= sizeof($translations) == 0 ? 'hidden-row' : '' ?>">
|
||||
</thead>
|
||||
<tbody id="tslist">
|
||||
<?php if (sizeof($translations) == 0): ?>
|
||||
<tr id="empty-row">
|
||||
<td class="ct" style="font-size: 16px; padding: 20px" colspan="3">Няма добавени тагове</td>
|
||||
</tr>
|
||||
<?php else: ?>
|
||||
<?php foreach ($translations as $ts): ?>
|
||||
<tr class="<?= \app\services\Auth::userPartner()->partner_id != $ts->partner_id ? 'disabled' : '' ?>"
|
||||
id="ID<?= $ts->id ?>" data-row-id="<?= $ts->id ?>">
|
||||
<td class="c5">
|
||||
<div class="flex left10">
|
||||
<i class="lg lg-bg" style="margin-top: 10px"></i>
|
||||
<input autocomplete="off" oninput="updateTs(this)" data-input-id="<?= $ts->id ?>"
|
||||
name="name" placeholder="[BG]" value="<?= $ts->name ?>"/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="c5">
|
||||
<div class="flex left10">
|
||||
<i class="lg lg-en" style="margin-top: 10px"></i>
|
||||
<input autocomplete="off" oninput="updateTs(this)" data-input-id="<?= $ts->id ?>"
|
||||
name="name_en" placeholder="[EN]" value="<?= $ts->name_en ?>"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
<?php endif; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
const newRow = (id) => {
|
||||
return `<tr id="ID${id}" data-row-id="${id}">
|
||||
<td class="c5">
|
||||
<div class="flex left10">
|
||||
<i class="lg lg-bg" style="margin-top: 10px"></i>
|
||||
<input autocomplete="off" oninput="updateTs(this)" data-input-id="${id}" name="name" placeholder="[BG]" value=""/>
|
||||
</div>
|
||||
</td>
|
||||
<td class="c5">
|
||||
<div class="flex left10">
|
||||
<i class="lg lg-en" style="margin-top: 10px"></i>
|
||||
<input autocomplete="off" oninput="updateTs(this)" data-input-id="${id}" name="name_en" placeholder="[EN]" value=""/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>`;
|
||||
}
|
||||
const addTs = (e) => {
|
||||
e.classList.add('disabled')
|
||||
request({
|
||||
post: {},
|
||||
done: r => {
|
||||
if (r.id) {
|
||||
e.classList.remove('disabled')
|
||||
if (one('#empty-row')) {
|
||||
one('#tslist').innerHTML = newRow(r.id)
|
||||
one('#header').classList.remove('hidden-row')
|
||||
} else {
|
||||
|
||||
let firstRow = one('#tslist tr:first-child')
|
||||
let tb = document.createElement('tbody')
|
||||
tb.innerHTML = newRow(r.id)
|
||||
one('#tslist').insertBefore(tb.firstChild, firstRow)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
const updateTs = (e) => {
|
||||
let post = {}
|
||||
post[e.name] = e.value || 'null'
|
||||
request({
|
||||
url: `?listtab=tags&o=w&id=${e.dataset.inputId}`, post
|
||||
})
|
||||
}
|
||||
|
||||
const searchByName = (e) => {
|
||||
if (event.keyCode === 13) {
|
||||
const search = e.value.toLowerCase();
|
||||
const clearButton = one('#clearButton');
|
||||
if (search !== '') {
|
||||
clearButton.removeClass('disabled');
|
||||
} else {
|
||||
clearButton.addClass('disabled');
|
||||
}
|
||||
document.querySelectorAll(`#tslist tr`).forEach(tr => {
|
||||
const vBg = tr.querySelector('td:nth-child(1) input').value.toLowerCase();
|
||||
const vEn = tr.querySelector('td:nth-child(2) input').value.toLowerCase();
|
||||
if (search !== '') {
|
||||
if (vBg.indexOf(search) > -1 || vEn.indexOf(search) > -1) {
|
||||
tr.classList.remove('hidden-row')
|
||||
} else {
|
||||
tr.classList.add('hidden-row')
|
||||
}
|
||||
} else {
|
||||
tr.classList.remove('hidden-row')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const searchButton = () => {
|
||||
const search = one('#searchByName').value.toLowerCase();
|
||||
const clearButton = one('#clearButton');
|
||||
if (search !== '') {
|
||||
clearButton.removeClass('disabled');
|
||||
} else {
|
||||
clearButton.addClass('disabled');
|
||||
}
|
||||
document.querySelectorAll(`#tslist tr`).forEach(tr => {
|
||||
const vBg = tr.querySelector('td:nth-child(1) input').value.toLowerCase();
|
||||
const vEn = tr.querySelector('td:nth-child(2) input').value.toLowerCase();
|
||||
if (search !== '') {
|
||||
if (vBg.indexOf(search) > -1 || vEn.indexOf(search) > -1) {
|
||||
tr.classList.remove('hidden-row')
|
||||
} else {
|
||||
tr.classList.add('hidden-row')
|
||||
}
|
||||
} else {
|
||||
tr.classList.remove('hidden-row')
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const clearButton = () => {
|
||||
one('#searchByName').value = '';
|
||||
document.querySelectorAll(`#tslist tr`).forEach(tr => {
|
||||
tr.classList.remove('hidden-row')
|
||||
})
|
||||
const clearButton = one('#clearButton');
|
||||
clearButton.addClass('disabled');
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
|
||||
use app\models\ExpositionsCategories;
|
||||
use app\models\Partner;
|
||||
use app\widgets\FileWidget;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var \app\models\Expositions $model
|
||||
*/
|
||||
|
||||
$media_key = $model->getMediaKey();
|
||||
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
|
||||
<div class="row c9 top15">
|
||||
<label>Галерия</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'title_expositions_images',
|
||||
'media_key' => $media_key,
|
||||
'model_id' => $model->id,
|
||||
'model_class' => \app\models\Expositions::class,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне на изображение',
|
||||
'edit' => 'Редакция на изображенито',
|
||||
'delete' => 'Премахване на изображението'
|
||||
],
|
||||
'resolutions' => ['1:1', '16:11'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
<div class="flex top15 c9">
|
||||
<div class="row c6 right10">
|
||||
<label class="require">Име на експозиция (BG)</label>
|
||||
<input name="name" placeholder="Въведи име на експозиция"
|
||||
value="<?= $model->name ?>"/>
|
||||
</div>
|
||||
<div class="row c6">
|
||||
<label class="require">Име на експозиция (EN)</label>
|
||||
<input name="ts_en_name" placeholder="Въведи име на експозиция"
|
||||
value="<?= $model->ts_en_name ?>"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex top15 c9">
|
||||
<div class="row c3 right10">
|
||||
<label class="require">Категория</label>
|
||||
<select name="category_id">
|
||||
<option selected disabled>-- избери категория --</option>
|
||||
<?php foreach (ExpositionsCategories::dropDownList($model->category_id) as $category): ?>
|
||||
<option value="<?= $category->id ?>" <?= $category->selected ?>><?= $category->name ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Анотация</label>
|
||||
<textarea class="ckEditor" name="annotation"><?= $model->{'annotation'} ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Описание</label>
|
||||
<textarea class="ckEditor" name="description"><?= $model->{'description'} ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label>Тагове</label>
|
||||
<select style="display:none;" class="search-select-box" multiple
|
||||
name="tag_list[]">
|
||||
<option disabled value="">-- избери тагове --</option>
|
||||
<?php foreach ($model->getTagList() as $item): ?>
|
||||
<option <?= $item['selected'] ?>
|
||||
value="<?= $item['id'] ?>"><?= $item['name'] ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Информационен център</label>
|
||||
<input name="info_center" placeholder="Въведи име на информационен център"
|
||||
value="<?= $model->info_center ?>"/>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Информационен център адрес</label>
|
||||
<input name="info_center_address" placeholder="Въведи адрес на информационен център"
|
||||
value="<?= $model->info_center_address ?>"/>
|
||||
</div>
|
||||
<div class="row flex c9 top15">
|
||||
<?= Includes::formButtons('website/expositions') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script src="/_public/assets/js/order.js"></script>
|
||||
<script src="/_public/assets/js/file-img.js"></script>
|
||||
<script src="/_public/plugins/cropperJs/cropper.min.js"></script>
|
||||
<script src="/_public/assets/js/search-box.js"></script>
|
||||
|
||||
<script>
|
||||
all('.search-select-box').forEach(el => {
|
||||
new SearchBox(el)
|
||||
})
|
||||
</script>
|
||||
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
|
||||
use app\models\News;
|
||||
use app\models\register\Partner;
|
||||
use app\widgets\FileWidget;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var News $model
|
||||
*/
|
||||
$media_key = $model->getMediaKey();
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<div class="row c5 top15">
|
||||
<label class="require">Заглавие</label>
|
||||
<input name="title" placeholder="Въведи заглавие на новината" value="<?= $model->title ?>"/>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label>Заглавно изображение</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'title_news_image',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне на изображение',
|
||||
'edit' => 'Редакция на изображенито',
|
||||
'delete' => 'Премахване на изображението'
|
||||
],
|
||||
'single_file' => true,
|
||||
'resolutions' => ['16:11', '1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
<?= $this->render('/shared/instruction_1') ?>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Кратък текст (на български)</label>
|
||||
<textarea class="ckEditor" name="text_short"><?= $model->text_short ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Пълен текст (на български)</label>
|
||||
<textarea class="ckEditor" name="text"><?= $model->text ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label>Изображения в новината</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'news_images',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне на изображения',
|
||||
'edit' => 'Редакция на изображение',
|
||||
'delete' => 'Премахване на изображения'
|
||||
],
|
||||
'resolutions' => ['16:11', '16:9', '1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
<div class="row c9 top15 flex">
|
||||
<div class="c7 right10">
|
||||
<label>Стрийминг линк</label>
|
||||
<input onkeyup="updateLabelRequire(this, '#sta')" name="stream_url" placeholder="Въведи линк на стрийминг"
|
||||
value="<?= $model->stream_url ?>"/>
|
||||
</div>
|
||||
<div class="left10">
|
||||
<label id="sta">Достъп</label>
|
||||
<div class="flex top-page-panel" style="height: 14px; border-radius: 3px; border-color: var(--base-background-dark)">
|
||||
<?php foreach ([1 => 'Частен', 2 => 'Публичен'] as $v => $t): ?>
|
||||
<label style="margin-top: -3px" class="right10 radio-error"><input style="width: 14px; height: 14px;" type="radio" name="stream_access" <?= $model->stream_access == $v ? 'checked' : '' ?>
|
||||
value="<?= $v ?>"/> <?= $t ?>
|
||||
</label>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row c9 top15 flex">
|
||||
<?= Includes::formButtons('website/news') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script src="/_public/assets/js/order.js"></script>
|
||||
<script src="/_public/assets/js/file-img.js"></script>
|
||||
<script src="/_public/plugins/cropperJs/cropper.min.js"></script>
|
||||
<script src="/_public/plugins/air-datepicker/locales.js"></script>
|
||||
<script src="/_public/plugins/air-datepicker/air-datepicker.js"></script>
|
||||
<script>
|
||||
new AirDatepicker('#publish_date', {
|
||||
inline: true,
|
||||
locale: locales.bg,
|
||||
selectedDates: [document.querySelector('#publish_date').value]
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
use app\models\CmsRights;
|
||||
use app\widgets\FileWidget;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @var CmsRights $model
|
||||
*/
|
||||
$media_key = $model->getMediaKey();
|
||||
|
||||
;
|
||||
?>
|
||||
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<div class="row c5">
|
||||
<h2><?= $model->name ?></h2>
|
||||
</div>
|
||||
<div class="row top30" style="width: 350px">
|
||||
<label>Лого</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'partner_logo_image',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне',
|
||||
'edit' => 'Редакция',
|
||||
'delete' => 'Премахване'
|
||||
],
|
||||
'single_file' => true,
|
||||
'resolutions' => ['1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
<div class="row top15" style="width: 350px">
|
||||
<label>Хедър изображение за страницата на партньор</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'partner_header_image',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне',
|
||||
'edit' => 'Редакция',
|
||||
'delete' => 'Премахване'
|
||||
],
|
||||
'single_file' => true,
|
||||
'resolutions' => ['21:5'],
|
||||
'max_file_size' => 4,
|
||||
'error_message' => 'Файловете по-големи от 4МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
<div class="row top15 c5">
|
||||
<label>Описание</label>
|
||||
<p><?= $model->description ?></p>
|
||||
</div>
|
||||
<div class="row top15 c5">
|
||||
<label>Уебсайт</label>
|
||||
<p><?= $model->website ?></p>
|
||||
</div>
|
||||
<div class="row top15 c5">
|
||||
<label>Телефон</label>
|
||||
<p><?= $model->phone ?></p>
|
||||
</div>
|
||||
<div class="row top15 c5">
|
||||
<label>E-mail</label>
|
||||
<p><?= $model->email ?></p>
|
||||
</div>
|
||||
<p class="upload-info">Партньорът ще бъде визоализиран на сайта, след като има качено и обработено лого изображение за него във формат 1:1</p>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script src="/_public/assets/js/order.js"></script>
|
||||
<script src="/_public/assets/js/file-img.js"></script>
|
||||
<script src="/_public/plugins/cropperJs/cropper.min.js"></script>
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
|
||||
use app\models\Projects;
|
||||
use app\models\register\Partner;
|
||||
use app\widgets\FileWidget;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var Projects $model
|
||||
*/
|
||||
$media_key = $model->getMediaKey();
|
||||
$partnerIds = $model->partnersIds();
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<div class="row c5 top15">
|
||||
<label class="require">Заглавие</label>
|
||||
<input name="title" placeholder="Въведи заглавие на проекта" value="<?= $model->title ?>"/>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label>Заглавно изображение</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'title_project_image',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне на изображение',
|
||||
'edit' => 'Редакция на изображенито',
|
||||
'delete' => 'Премахване на изображението'
|
||||
],
|
||||
'single_file' => true,
|
||||
'resolutions' => ['11:14', '16:11', '16:9', '1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Пълен текст (на български)</label>
|
||||
<textarea class="ckEditor" name="text"><?= $model->text ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label>Кратък текст (на български)</label>
|
||||
<textarea class="ckEditor" name="text_short"><?= $model->text_short ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label>Договор (на български)</label>
|
||||
<textarea class="ckEditor" name="text_contract"><?= $model->text_contract ?></textarea>
|
||||
</div>
|
||||
<div class="row c5 top15">
|
||||
<label>Период (начална дата - крайна дата)</label>
|
||||
<input name="period" value="<?= $model->period ?>">
|
||||
</div>
|
||||
<div class="row c5 top15">
|
||||
<label>Уебсайт на проекта</label>
|
||||
<input name="website" placeholder="Въведи заглавие на проекта" value="<?= $model->website ?>"/>
|
||||
</div>
|
||||
<div class="row c9 top30 flex">
|
||||
<?= Includes::formButtons('website/projects') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script src="/_public/assets/js/order.js"></script>
|
||||
<script src="/_public/assets/js/file-img.js"></script>
|
||||
<script src="/_public/plugins/cropperJs/cropper.min.js"></script>
|
||||
<script src="/_public/plugins/air-datepicker/locales.js"></script>
|
||||
<script src="/_public/plugins/air-datepicker/air-datepicker.js"></script>
|
||||
<script src="/_public/assets/js/search-box.js"></script>
|
||||
<script>
|
||||
|
||||
new AirDatepicker('#period_date_start', {
|
||||
inline: true,
|
||||
locale: locales.bg,
|
||||
selectedDates: [document.querySelector('#period_date_start').value]
|
||||
});
|
||||
new AirDatepicker('#period_date_end', {
|
||||
inline: true,
|
||||
locale: locales.bg,
|
||||
selectedDates: [document.querySelector('#period_date_end').value]
|
||||
});
|
||||
all('.search-select-box').forEach(el => {
|
||||
new SearchBox(el)
|
||||
})
|
||||
</script>
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use app\models\RegisterObjects;
|
||||
use app\models\Partner;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var RegisterObjects $model
|
||||
*/
|
||||
|
||||
?>
|
||||
<div class="inner-content p10 preview-mode">
|
||||
<!-- EDIT -->
|
||||
<div class="row top15 c7">
|
||||
<label>Име на обекта</label>
|
||||
<div><?= $model->name ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Анотация</label>
|
||||
<div><?= $model->annotation ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Кратко описание</label>
|
||||
<div><?= $model->short_description ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Подробно описание</label>
|
||||
<div><?= $model->description ?></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,175 @@
|
||||
<?php
|
||||
|
||||
use app\models\CmsRoles;
|
||||
use app\models\Partner;
|
||||
use app\models\UserPartner;
|
||||
use app\services\JWT;
|
||||
|
||||
/**
|
||||
* @var \app\models\UserPartner $model
|
||||
*/
|
||||
?>
|
||||
<style>
|
||||
.preview-only form * {
|
||||
pointer-events: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="inner-content p10 preview-only">
|
||||
|
||||
<?php if (!empty($_GET['id'])): ?>
|
||||
<form autocomplete="off">
|
||||
<input name="password_change" type="hidden" value="1">
|
||||
<div class="row c7 top15">
|
||||
<div class="top-title">Смяна на парола</div>
|
||||
</div>
|
||||
<div class="c7 flex top15 top-page-panel">
|
||||
<div class="row c6 right10">
|
||||
<label class="require"><?= $model->password ? 'Нова парола' : 'Парола' ?></label>
|
||||
<input type="password" name="password"
|
||||
placeholder="<?= $model->password ? 'Смени паролата за логиин' : 'Въведи парола за логин в системата' ?> "
|
||||
value=""/>
|
||||
</div>
|
||||
<div class="row c6">
|
||||
<label class="require">Повтори паролата</label>
|
||||
<input type="password" name="cPassword" placeholder="Повторете паролата" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<button class="btn btn-default"><i class="la la-lock"></i> Смени паролата</button>
|
||||
</div>
|
||||
</form>
|
||||
<?php endif ?>
|
||||
<form autocomplete="off">
|
||||
<input name="profile_update" type="hidden" value="1">
|
||||
<div class="row c7 top15">
|
||||
<div class="top-title">Данни на потребителя</div>
|
||||
</div>
|
||||
<div class="row c7 top15">
|
||||
<div class="c6">
|
||||
<label>Снимка</label>
|
||||
<div class="image-upload cursor-default">
|
||||
<div class="actions"
|
||||
data-image-name="upload_image"
|
||||
data-add="Добави снимка"
|
||||
data-edit="Смени снимката"
|
||||
data-remove="Премахни снимката"
|
||||
data-remove-msg="Искате ли снимката да бъде премахната?"
|
||||
data-remove-ready="Снимката е премахната"
|
||||
data-warning="Снимката ще се актуализира след запазване на цялата форма"
|
||||
data-default="la la-user"
|
||||
data-src="<?= $model->getSingleImageSrc('user/partner') ?>"
|
||||
></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<div class="right10 c6">
|
||||
<label class="require">Служебен имейл</label>
|
||||
<input name="email_login" placeholder="Въведи ел. поща за логин в системата"
|
||||
value="<?= $model->email_login ?>"/>
|
||||
</div>
|
||||
<div class="c6">
|
||||
<label class="require">Научна степен / звание</label>
|
||||
<input name="science_degree" placeholder="Въведи научна степен / звание"
|
||||
value="<?= $model->science_degree ?>"/>
|
||||
</div>
|
||||
</div>
|
||||
<?php if (empty($_GET['id'])): ?>
|
||||
<div class="c7 flex top15">
|
||||
<div class="row c6 right10">
|
||||
<label class="require"><?= $model->password ? 'Нова парола' : 'Парола' ?></label>
|
||||
<input type="password" name="password"
|
||||
placeholder="<?= $model->password ? 'Смени паролата за логиин' : 'Въведи парола за логин в системата' ?> "
|
||||
value=""/>
|
||||
</div>
|
||||
<div class="row c6">
|
||||
<label class="require">Повтори паролата</label>
|
||||
<input type="password" name="cPassword" placeholder="Повторете паролата" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="row c7 top15 flex">
|
||||
<div class="right10 c6">
|
||||
<label class="require">Име</label>
|
||||
<input name="first_name" placeholder="Име" value="<?= $model->first_name ?>">
|
||||
</div>
|
||||
<div class="right10 c6">
|
||||
<label class="require">Презиме</label>
|
||||
<input name="middle_name" placeholder="Презиме" value="<?= $model->middle_name ?>">
|
||||
</div>
|
||||
<div class="c6">
|
||||
<label class="require">Фамилия</label>
|
||||
<input name="last_name" placeholder="Фамилия" value="<?= $model->last_name ?>">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<div class="c6 right10">
|
||||
<label>Длъжност</label>
|
||||
<input name="position" placeholder="Въведете длъжност" value="<?= $model->position ?>">
|
||||
</div>
|
||||
<div class="c6 right10">
|
||||
<label>Телефон</label>
|
||||
<input name="phone" placeholder="Въведете телефон" value="<?= $model->phone ?>">
|
||||
</div>
|
||||
<div class="c6"></div>
|
||||
</div>
|
||||
<div class="row c7 top15">
|
||||
<div class="c8">
|
||||
<label>Представяне</label>
|
||||
<textarea name="presentation"><?= $model->presentation ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15">
|
||||
<div class="c8">
|
||||
<label class="require">Роля / група</label>
|
||||
<select name="role_id" data-update="<?= Yii::$app->goTo('role-rights') ?>"
|
||||
onchange="updateCheckListByRole(this)">
|
||||
<option disabled selected>-- Избери роля / група --</option>
|
||||
<?php foreach (CmsRoles::roleList() as $id => $name): ?>
|
||||
<option <?= $model->role_id == $id ? 'selected' : '' ?> value="<?= $id ?>"><?= $name ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 flex top15">
|
||||
<div class="row c8">
|
||||
<label>Добавяне на права</label>
|
||||
<div class="p10 border-default">
|
||||
<input onkeyup="searchInCheckList(this)" placeholder="Филтър на права">
|
||||
<div class="check-list p10 border-default top5" style="width: calc(100% - 20px)">
|
||||
<?= UserPartner::getRightList($model) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c7 top15 flex">
|
||||
<a href="<?= Yii::$app->goTo('website/users') ?><?= isset($_GET['p']) ? '?p=' . $_GET['p'] : '' ?>"
|
||||
class="btn btn-default right10"><i class="la la-undo"></i> Назад</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function updateCheckListByRole(e) {
|
||||
if (e.value) {
|
||||
request({
|
||||
url: e.dataset.update + '?role_id=' + e.value,
|
||||
done: r => {
|
||||
if (r.rights) {
|
||||
all('.check-list input', e => {
|
||||
e.checked = false;
|
||||
});
|
||||
r.rights.forEach(e => {
|
||||
console.log(e)
|
||||
const inputRight = one('.check-list input[value="' + e + '"]');
|
||||
inputRight.checked = true;
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
use app\models\Collections;
|
||||
use app\widgets\FileWidget;
|
||||
|
||||
/**
|
||||
* @var $model \app\models\Expositions
|
||||
*/
|
||||
|
||||
$media_key = $model->getMediaKey();
|
||||
|
||||
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<?php if (empty($model->id)): ?>
|
||||
<p style="color: darkorange; font-weight: bold">* Формата ще бъде активна след попълването на "Основни
|
||||
данни"</p>
|
||||
<?php endif; ?>
|
||||
<div class="<?= empty($model->id) ? 'disabled' : '' ?>">
|
||||
<div class="inner-content p10">
|
||||
<?php if ($model->name): ?>
|
||||
<div class="row info-table c5 top15">
|
||||
<div class="row-flex">
|
||||
<div>Име на експозиция:</div>
|
||||
<div class="txt-no-transform"><?= $model->name ?></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="row c9 top15">
|
||||
<label>Заглавно изображение</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'title_expositions_image',
|
||||
'media_key' => $media_key,
|
||||
'model_id' => $model->id,
|
||||
'model_class' => \app\models\Expositions::class,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне на изображение',
|
||||
'edit' => 'Редакция на изображенито',
|
||||
'delete' => 'Премахване на изображението'
|
||||
],
|
||||
'single_file' => true,
|
||||
'resolutions' => ['1:1', '16:11'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/_public/assets/js/order.js"></script>
|
||||
<script src="/_public/assets/js/file-img.js"></script>
|
||||
<script src="/_public/plugins/cropperJs/cropper.min.js"></script>
|
||||
|
||||
<?php if ($model->id && !$model->media_key): ?>
|
||||
<script>
|
||||
const media_key = '<?= $media_key ?>';
|
||||
request({
|
||||
url: window.location.href + '&media_key_update=1',
|
||||
post: {media_key: media_key}
|
||||
})
|
||||
</script>
|
||||
<?php endif; ?>
|
||||
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
|
||||
use app\models\Objects;
|
||||
use app\widgets\FileWidget;
|
||||
/**
|
||||
* @var $model Objects
|
||||
*/
|
||||
$media_key = $model->getMediaKey();
|
||||
|
||||
?>
|
||||
<?php if ($model->ot_id && $model->sc_id): ?>
|
||||
|
||||
<form autocomplete="off">
|
||||
<div class="inner-content p10">
|
||||
<div class="row info-table c5 top15">
|
||||
<div class="row-flex">
|
||||
<div>Категория:</div>
|
||||
<div><?= $model->subCategory->mainCategory->name ?></div>
|
||||
</div>
|
||||
<div class="row-flex">
|
||||
<div>Под категория:</div>
|
||||
<div><?= $model->subCategory->name ?></div>
|
||||
</div>
|
||||
<div class="row-flex">
|
||||
<div>Вид обект:</div>
|
||||
<div><?= $model->objectTemplate->name ?></div>
|
||||
</div>
|
||||
<?php if ($model->name): ?>
|
||||
<div class="row-flex">
|
||||
<div>Име на обект:</div>
|
||||
<div><?= $model->name ?></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="row c9 top15">
|
||||
<label>Заглавно изображение</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'title_object_image',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне на изображение',
|
||||
'edit' => 'Редакция на изображенито',
|
||||
'delete' => 'Премахване на изображението'
|
||||
],
|
||||
'single_file' => true,
|
||||
'resolutions' => ['4:3', '1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
|
||||
<div class="row c9 top15">
|
||||
<label>Изображения в обекта</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'object_images',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне на изображения',
|
||||
'edit' => 'Редакция на изображение',
|
||||
'delete' => 'Премахване на изображения'
|
||||
],
|
||||
'resolutions' => ['4:3', '16:9', '1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script src="/_public/assets/js/order.js"></script>
|
||||
<script src="/_public/assets/js/file-img.js"></script>
|
||||
<script src="/_public/plugins/cropperJs/cropper.min.js"></script>
|
||||
<?php if (!$model->media_key): ?>
|
||||
<script>
|
||||
const media_key = '<?= $media_key ?>';
|
||||
request({
|
||||
url: window.location.href + '&media_key_update=1',
|
||||
post: {media_key: media_key}
|
||||
})
|
||||
</script>
|
||||
<?php endif; ?>
|
||||
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
use app\models\Pages;
|
||||
use app\widgets\FileWidget;
|
||||
|
||||
/**
|
||||
* @var $model Pages
|
||||
*/
|
||||
$media_key = $model->getMediaKey();
|
||||
|
||||
?>
|
||||
|
||||
<form autocomplete="off">
|
||||
<div class="inner-content p10">
|
||||
|
||||
<?php if ($model->name): ?>
|
||||
<div class="row info-table c5 top15">
|
||||
<div class="row-flex">
|
||||
<div>Страница</div>
|
||||
<div class="txt-no-transform"><?= $model->name ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="row c9 top15">
|
||||
<label>Хедър изображение</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'header_page_image',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне на изображение',
|
||||
'edit' => 'Редакция на изображенито',
|
||||
'delete' => 'Премахване на изображението'
|
||||
],
|
||||
'single_file' => true,
|
||||
'resolutions' => ['21:5'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
|
||||
<div class="row c9 top15">
|
||||
<label>Изображения в страницата</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'page_images',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне на изображения',
|
||||
'edit' => 'Редакция на изображение',
|
||||
'delete' => 'Премахване на изображения'
|
||||
],
|
||||
'resolutions' => ['4:3', '16:9', '1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script src="/_public/assets/js/order.js"></script>
|
||||
<script src="/_public/assets/js/file-img.js"></script>
|
||||
<script src="/_public/plugins/cropperJs/cropper.min.js"></script>
|
||||
<?php if (!$model->media_key): ?>
|
||||
<script>
|
||||
const media_key = '<?= $media_key ?>';
|
||||
request({
|
||||
url: window.location.href + '&media_key_update=1',
|
||||
post: {media_key: media_key}
|
||||
})
|
||||
</script>
|
||||
<?php endif; ?>
|
||||
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
* @var $model Projects
|
||||
*/
|
||||
|
||||
use app\models\Projects;
|
||||
use app\widgets\FileWidget;
|
||||
|
||||
$media_key = $model->getMediaKey();
|
||||
|
||||
|
||||
?>
|
||||
<form autocomplete="off">
|
||||
<div class="inner-content p10">
|
||||
<div class="row c9 top15">
|
||||
<label>Изображения в проекта</label>
|
||||
<?= FileWidget::widget([
|
||||
'media_type' => 'image',
|
||||
'object_key' => 'project_images',
|
||||
'media_key' => $media_key,
|
||||
'files' => $model->getFiles('thumb'),
|
||||
'actions' => [
|
||||
'add' => 'Добавяне на изображения',
|
||||
'edit' => 'Редакция на изображение',
|
||||
'delete' => 'Премахване на изображения'
|
||||
],
|
||||
'resolutions' => ['16:11', '16:9', '1:1'],
|
||||
'max_file_size' => 2,
|
||||
'error_message' => 'Файловете по-големи от 2МБ, не бяха добавени'
|
||||
]) ?>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script src="/_public/assets/js/order.js"></script>
|
||||
<script src="/_public/assets/js/file-img.js"></script>
|
||||
<script src="/_public/plugins/cropperJs/cropper.min.js"></script>
|
||||
<?php if (!$model->media_key): ?>
|
||||
<script>
|
||||
const media_key = '<?= $media_key ?>';
|
||||
request({
|
||||
url: window.location.href + '&media_key_update=1',
|
||||
post: {media_key: media_key}
|
||||
})
|
||||
</script>
|
||||
<?php endif; ?>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
use app\models\RegisterObjects;
|
||||
use app\services\JWT;
|
||||
use app\widgets\FileWidget;
|
||||
|
||||
/**
|
||||
* @var $model RegisterObjects
|
||||
*/
|
||||
echo $this->render('/shared/register_object_files', ['model' => $model])
|
||||
?>
|
||||
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
use app\models\RegisterObjects;
|
||||
|
||||
/**
|
||||
* @var RegisterObjects $model
|
||||
*/
|
||||
?>
|
||||
<style>
|
||||
.nom {
|
||||
width: calc(100% / 4 - 16px);
|
||||
padding: 8px;
|
||||
height: 50px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.nom .row-panel {
|
||||
height: 100%;
|
||||
box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
|
||||
border: 1px solid #cccccc;
|
||||
background: #FFFFFF;
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
<div class="inner-content p10 top30">
|
||||
<!--
|
||||
<div class="flex flex-wrap">
|
||||
<?php if ($model->city): ?>
|
||||
<div class="row nom">
|
||||
<div class="row-panel">
|
||||
<label>Населено място</label>
|
||||
<div><?= $model->city->place ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php foreach ($model->registerObjectFields as $registerObjectField): ?>
|
||||
<div class="row nom">
|
||||
<div class="row-panel">
|
||||
<label>
|
||||
<?php if ($registerObjectField->field): ?>
|
||||
<?= $registerObjectField->field->name ?>
|
||||
</label>
|
||||
<?php endif; ?>
|
||||
<div>
|
||||
<?php if ($registerObjectField->fieldValue): ?>
|
||||
<?= $registerObjectField->fieldValue->name ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
-->
|
||||
<table class="cms-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<?php if ($model->city): ?>
|
||||
<tr>
|
||||
<td class="c2 text-right bold">Населено място:</td>
|
||||
<td><?= $model->city->place ?></td>
|
||||
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<?php foreach ($model->registerObjectFields as $registerObjectField): ?>
|
||||
<tr>
|
||||
<td class="c2 text-right bold">
|
||||
<?php if ($registerObjectField->field): ?>
|
||||
<?= $registerObjectField->field->name ?>:
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php if ($registerObjectField->fieldValue): ?>
|
||||
<?= $registerObjectField->fieldValue->name ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -0,0 +1,144 @@
|
||||
<?php
|
||||
|
||||
use app\models\Collections;
|
||||
use app\models\Objects;
|
||||
use app\services\api\NomenclatureService;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var Objects $model
|
||||
*/
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<?php if ($model->ot_id && $model->sc_id): ?>
|
||||
<?php $newTemplateFields = $model->newTemplateFields() ?>
|
||||
<?php if (!empty($newTemplateFields)): ?>
|
||||
<form autocomplete="off">
|
||||
<div class="row-info c5 top15">
|
||||
<p class="upload-info">В шаблона на обекта има нови полета. Желаете ли да бъдат добавени в
|
||||
обекта?</p>
|
||||
<div class="row info-table top15">
|
||||
<?php
|
||||
$index = 0;
|
||||
foreach ($model->newTemplateFields() as $id => $field): ?>
|
||||
<div class="row-flex">
|
||||
<div style="width: 350px"><?= ++$index ?>. <?= $field['type'] ?>:</div>
|
||||
<div><?= $field['name'] ?></div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<input name="new_object_fields" type="hidden" value="1">
|
||||
<div class="row c9 top15 flex">
|
||||
<button id="save" class="btn btn-default">
|
||||
<i class="la la-arrow-right"></i> Добави новите полета
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<form autocomplete="off">
|
||||
<!-- EDIT -->
|
||||
<?php if ($model->ot_id && $model->sc_id): ?>
|
||||
<div class="row info-table c5 top15">
|
||||
<div class="row-flex">
|
||||
<div>Категория:</div>
|
||||
<div class="fl-capitalize"><?= $model->subCategory->mainCategory->name ?></div>
|
||||
</div>
|
||||
<div class="row-flex">
|
||||
<div>Под категория:</div>
|
||||
<div class="fl-capitalize"><?= $model->subCategory->name ?></div>
|
||||
</div>
|
||||
<div class="row-flex">
|
||||
<div>Вид обект:</div>
|
||||
<div class="fl-capitalize"><?= $model->objectTemplate->name ?></div>
|
||||
</div>
|
||||
<?php if ($model->name): ?>
|
||||
<div class="row-flex">
|
||||
<div>Име на обект:</div>
|
||||
<div class="fl-capitalize"><?= $model->name ?></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="row-flex">
|
||||
<div>Партньор:</div>
|
||||
<div class="fl-capitalize"><?= $model->partner->name ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row c5">
|
||||
<label>Колекции</label>
|
||||
<select style="display: none" id="collections" multiple name="collections[]">
|
||||
<option disabled value="">-- Закачи към колекции --</option>
|
||||
<?php foreach ($model->getCollectionsSelectList() as $id => $item): ?>
|
||||
<option <?= $item['selected'] ? 'selected' : '' ?> value="<?= $id ?>"><?= $item['name'] ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
<?php foreach ($model->objectFields as $objectField): ?>
|
||||
<div class="row c10 top15"><?= $objectField->getUserInterface() ?></div>
|
||||
<?php endforeach; ?>
|
||||
<div class="row c9 top15 flex">
|
||||
<?= Includes::formButtons('web-portal/objects') ?>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="row c6">
|
||||
<label class="require">Партньор</label>
|
||||
<select name="partner_id">
|
||||
<option value=""> -- Изберете партньор --</option>
|
||||
<?php foreach (\app\models\Partner::partnerList() as $id => $name): ?>
|
||||
<option value="<?= $id ?>"><?= $name ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
<!-- NEW -->
|
||||
<div class="row c6 top15">
|
||||
<label class="require">Категория</label>
|
||||
<select name="sc_id" id="category_search_box" style="display: none">
|
||||
<option value=""> -- Изберете категория --</option>
|
||||
<?php foreach (NomenclatureService::categorySelect() as $item): ?>
|
||||
<option value="<?= $item['id'] ?>"><?= $item['name'] ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="row c6 top15">
|
||||
<label class="require">Вид обект</label>
|
||||
<select name="ot_id" id="object_type_search_box" class="disabled" style="display: none">
|
||||
<option value="">-- Изберете вид обект --</option>
|
||||
</select>
|
||||
</div>
|
||||
<p class="upload-info top15">Изберете първо категорията и вида на обекта, след което ще получите
|
||||
възможност
|
||||
да
|
||||
попълнете
|
||||
данните за конкретния обект.</p>
|
||||
<div class="row c9 top15 flex">
|
||||
<a href="<?= Yii::$app->goTo('web-portal/objects') ?><?= isset($_GET['p']) ? '?p=' . $_GET['p'] : '' ?>"
|
||||
class="btn btn-default right10"><i class="la la-undo"></i> Назад</a>
|
||||
<button id="save" class="btn btn-default">
|
||||
<i class="la la-arrow-right"></i> Потвърди и продължи
|
||||
</button>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</form>
|
||||
</div>
|
||||
<script src="/_public/plugins/air-datepicker/locales.js"></script>
|
||||
<script src="/_public/plugins/air-datepicker/air-datepicker.js"></script>
|
||||
<script>
|
||||
all('[data-format="date"]', e => {
|
||||
if (e.dataset.format === 'date') {
|
||||
new AirDatepicker(`[name="${e.name}"]`, {
|
||||
inline: true,
|
||||
locale: locales.bg,
|
||||
selectedDates: [e.value]
|
||||
});
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<script src="/_public/assets/js/search-box-remote.js"></script>
|
||||
<script>
|
||||
new SearchBoxRemote('.sbr', {
|
||||
url: '/settlements/get-data/',
|
||||
id: 'settlement_id',
|
||||
columns: {t_v_m: 'град/село', name: 'Населено място', oblast: 'Област', obstina: 'Община'}
|
||||
})
|
||||
</script>
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
use app\models\RegisterObjects;
|
||||
|
||||
/**
|
||||
* @var RegisterObjects $model
|
||||
*/
|
||||
?>
|
||||
<style>
|
||||
.nom {
|
||||
width: calc(100% / 4 - 16px);
|
||||
padding: 8px;
|
||||
height: 50px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.nom .row-panel {
|
||||
height: 100%;
|
||||
box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
|
||||
border: 1px solid #cccccc;
|
||||
background: #FFFFFF;
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
<div class="inner-content p10 top30">
|
||||
<!--
|
||||
<div class="flex flex-wrap">
|
||||
<?php if ($model->city): ?>
|
||||
<div class="row nom">
|
||||
<div class="row-panel">
|
||||
<label>Населено място</label>
|
||||
<div><?= $model->city->place ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php foreach ($model->registerObjectFields as $registerObjectField): ?>
|
||||
<div class="row nom">
|
||||
<div class="row-panel">
|
||||
<label>
|
||||
<?php if ($registerObjectField->field): ?>
|
||||
<?= $registerObjectField->field->name ?>
|
||||
</label>
|
||||
<?php endif; ?>
|
||||
<div>
|
||||
<?php if ($registerObjectField->fieldValue): ?>
|
||||
<?= $registerObjectField->fieldValue->name ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
-->
|
||||
<table class="cms-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<?php if ($model->city): ?>
|
||||
<tr>
|
||||
<td class="c2 text-right bold">Населено място:</td>
|
||||
<td><?= $model->city->place ?></td>
|
||||
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<?php foreach ($model->registerObjectFields as $registerObjectField): ?>
|
||||
<tr>
|
||||
<td class="c2 text-right bold">
|
||||
<?php if ($registerObjectField->field): ?>
|
||||
<?= $registerObjectField->field->name ?>:
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php if ($registerObjectField->fieldValue): ?>
|
||||
<?= $registerObjectField->fieldValue->name ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
use app\models\RegisterObjects;
|
||||
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> Медия файлове';
|
||||
}
|
||||
|
||||
/**
|
||||
* @var RegisterObjects $model
|
||||
*/
|
||||
echo '<h1>Обекти</h1>';
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,103 @@
|
||||
<?php
|
||||
/**
|
||||
* @var \app\models\Expositions $model
|
||||
* @var $this \yii\web\View
|
||||
*/
|
||||
?>
|
||||
<link href="/_public/assets/css/search-box-remote.css" rel="stylesheet">
|
||||
<h1>Test</h1>
|
||||
<div class="inner-content p10">
|
||||
<?php if ($model->name): ?>
|
||||
<div class="row-panel info-table c9 top15">
|
||||
<div class="row-flex">
|
||||
<div>експозиция:</div>
|
||||
<div class="txt-no-transform"><?= $model->name ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<input type="hidden" id="exposition_id" value="<?= $model->id ?>">
|
||||
<div class="row-panel c9">
|
||||
<div class="row" style="position: relative">
|
||||
<div data-domain="<?= Yii::$app->params['cms'] ?>" onclick="openObjects(this)" data-exposition-id="<?= $model->id ?>" class="btn btn-default pointer input-main-search"><i
|
||||
class="la la-database"></i> Избери и добави обект към тази експозиция
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row-panel c9">
|
||||
<div class="object-list"></div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
function openObjects(e) {
|
||||
modal.modalFrame(`${e.dataset.domain}/partner/website/_objects-register/?expId= ${e.dataset.expositionId}`)
|
||||
}
|
||||
|
||||
function clearSelected() {
|
||||
event.preventDefault();
|
||||
const smi = one('.input-main-search')
|
||||
smi.innerHTML = '<i class="la la-database"></i> Избери и добави обект към тази експозиция';
|
||||
}
|
||||
|
||||
function addSelected() {
|
||||
event.preventDefault();
|
||||
const smi = one('.input-main-search')
|
||||
const hiddenInput = document.querySelector('input[name="search-object"]');
|
||||
const exposition_id = document.querySelector('#exposition_id').value;
|
||||
const object_id = hiddenInput.value;
|
||||
request({
|
||||
post: {
|
||||
exposition_id,
|
||||
object_id
|
||||
},
|
||||
done: (e) => {
|
||||
if (e.error) {
|
||||
flash.error('Този обект вече е добавен, изберете друг');
|
||||
} else {
|
||||
flash.success('Обекта е добавен към експозицията');
|
||||
}
|
||||
}
|
||||
})
|
||||
smi.innerHTML = '<i class="la la-database"></i> Избери и добави обект към тази експозиция';
|
||||
|
||||
}
|
||||
|
||||
function removeObject(e) {
|
||||
//alert(e.dataset.objectId)
|
||||
const container = e.parentNode;
|
||||
e.classList.add('disabled')
|
||||
request({
|
||||
post: {
|
||||
exposition_id: e.dataset.expositionId,
|
||||
object_id: e.dataset.objectId,
|
||||
delete: 1
|
||||
},
|
||||
done: (data) => {
|
||||
|
||||
if (container)
|
||||
container.remove();
|
||||
flash.success('Обекта е махнат от експозицията');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function loadExpositionObjects() {
|
||||
request({
|
||||
url: '/remote/get-exposition-objects/',
|
||||
dataType: 'text',
|
||||
get: {
|
||||
exposition_remote_list: '<?= $model->id ?>'
|
||||
},
|
||||
done: function (html) {
|
||||
const list = document.querySelector('.object-list');
|
||||
list.innerHTML = html;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
window.addEventListener('DOMContentLoaded', function () {
|
||||
loadExpositionObjects();
|
||||
})
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
/**
|
||||
* @var \app\models\Expositions $model
|
||||
*/
|
||||
?>
|
||||
|
||||
<div class="inner-content p10">
|
||||
<?php if ($model->name): ?>
|
||||
<div class="row-panel info-table c9 top15">
|
||||
<div class="row-flex">
|
||||
<div></div>
|
||||
<div class="txt-no-transform"><?= $model->name ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<input type="hidden" id="exposition_id" value="<?= $model->id ?>">
|
||||
<div class="row-panel c9">
|
||||
<div class="row" style="position: relative">
|
||||
<div class="sbr input-main-search" data-sbr-name="search-object" data-sbr-value=""><i
|
||||
class="la la-database"></i> Избери и добави обект към тази експозиция
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row-panel c9">
|
||||
<div class="object-list">
|
||||
<?php foreach ($model->objectList as $expositionObject): ?>
|
||||
<div class="flex row-result">
|
||||
<div class="img-container flex flex-center">
|
||||
<img src="<?= $expositionObject->object->getMainImgFile() ?>" style="height: 80px">
|
||||
</div>
|
||||
<div style="padding-top: 30px; margin-left: 10px">
|
||||
<a href="<?= $expositionObject->object->getUrl() ?>"><?= $expositionObject->object->name ?></a>
|
||||
</div>
|
||||
<div onclick="removeObject(this)" data-object-id="<?= $expositionObject->object_id ?>"
|
||||
data-exposition-id="<?= $model->id ?>" class="remove-object"><i class="la la-remove"></i></div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="/_public/assets/js/search-box-remote-select.js"></script>
|
||||
<script>
|
||||
window.addEventListener('DOMContentLoaded', function () {
|
||||
new SearchBoxRemote('.sbr', {
|
||||
url: '/remote/get-autocomplete-objects/',
|
||||
id: 'object_id',
|
||||
columns: {name: 'Име на обект'}
|
||||
})
|
||||
})
|
||||
|
||||
function clearSelected() {
|
||||
event.preventDefault();
|
||||
const smi = one('.input-main-search')
|
||||
smi.innerHTML = '<i class="la la-database"></i> Избери и добави обект към тази експозиция';
|
||||
}
|
||||
|
||||
function addSelected() {
|
||||
event.preventDefault();
|
||||
const smi = one('.input-main-search')
|
||||
const hiddenInput = document.querySelector('input[name="search-object"]');
|
||||
const exposition_id = document.querySelector('#exposition_id').value;
|
||||
const object_id = hiddenInput.value;
|
||||
request({
|
||||
post: {
|
||||
exposition_id,
|
||||
object_id
|
||||
},
|
||||
done: (e) => {
|
||||
if (e.error) {
|
||||
flash.error('Този обект вече е добавен, изберете друг');
|
||||
} else {
|
||||
flash.success('Обекта е добавен към експозицията');
|
||||
}
|
||||
}
|
||||
})
|
||||
smi.innerHTML = '<i class="la la-database"></i> Избери и добави обект към тази експозиция';
|
||||
|
||||
}
|
||||
|
||||
function removeObject(e) {
|
||||
//alert(e.dataset.objectId)
|
||||
const container = e.parentNode;
|
||||
e.classList.add('disabled')
|
||||
request({
|
||||
post: {
|
||||
exposition_id: e.dataset.expositionId,
|
||||
object_id: e.dataset.objectId,
|
||||
delete: 1
|
||||
},
|
||||
done: (data) => {
|
||||
|
||||
if(container)
|
||||
container.remove();
|
||||
flash.success('Обекта е махнат от експозицията');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1 @@
|
||||
<?php
|
||||
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
use app\models\Events;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var Events $model
|
||||
*/
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<?php if(empty($model->id)): ?>
|
||||
<p style="color: darkorange; font-weight: bold">* Формата ще бъде активна след попълването на "Основни данни"</p>
|
||||
<?php endif; ?>
|
||||
<form autocomplete="off" class="<?= empty($model->id) ? 'disabled' : '' ?>">
|
||||
|
||||
<?php if ($model->getEventType()): ?>
|
||||
<input name="type" type="hidden" value="<?= $model->getEventType() ?>">
|
||||
<?php endif; ?>
|
||||
<div class="row top15" style="width: 300px">
|
||||
<label class="require">Време на излъчване</label>
|
||||
<input data-min-h="0" data-max-h="23" type="hidden" name="daily_open_time" id="daily_open_time"
|
||||
value="<?= $model->daily_open_time ?>">
|
||||
</div>
|
||||
<div class="row c9 top15 flex">
|
||||
<div class="c9 right10">
|
||||
<label class="require">Стрийминг линк</label>
|
||||
<input onkeyup="updateLabelRequire(this, '#sta')" name="stream_url"
|
||||
placeholder="Въведи линк на стрийминг"
|
||||
value="<?= $model->stream_url ?>"/>
|
||||
</div>
|
||||
<div class="left10">
|
||||
<label id="sta">Достъп</label>
|
||||
<div class="flex top-page-panel"
|
||||
style="width: 200px; height: 14px; border-radius: 3px; border-color: var(--base-background-dark)">
|
||||
<?php foreach ([1 => 'Частен', 2 => 'Публичен'] as $v => $t): ?>
|
||||
<label onclick="updateStreamAccess(this)" style="margin-top: -3px" class="right10 radio-error"><input
|
||||
style="width: 14px; height: 14px;" type="radio"
|
||||
name="stream_access" <?= $model->get_stream_access() == $v ? 'checked' : '' ?>
|
||||
value="<?= $v ?>"/> <?= $t ?>
|
||||
</label>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="price_selection" class="row c4 top15 <?= $model->get_stream_access() == 2 ? 'disabled' : '' ?>" >
|
||||
<label id="price_module" class="<?= $model->get_stream_access() == 1 ? 'require' : '' ?>">Цена</label>
|
||||
<div class="flex top-page-panel"
|
||||
style="height: 30px; border-radius: 3px; border-color: var(--base-background-super-bright); width: 400px">
|
||||
<input id="individual_price" <?= $model->get_stream_purchase_type() != 'individual_price' ? 'readonly class="disabled"' : '' ?>
|
||||
data-format="money" style="height: 20px; width: 60px; margin-top: -3px; margin-right: 10px"
|
||||
name="stream_price"
|
||||
value="<?= $model->stream_purchase_type == 'individual_price' ? $model->stream_price : '' ?>">
|
||||
<?php foreach (['individual_price' => 'Индивидуална цена', 'subscription' => 'С абонамент'] as $v => $t): ?>
|
||||
<label style="margin-top: 7px;" onclick="updateIndividualPrice(this)" class="right10 radio-error">
|
||||
<input style="width: 14px; height: 14px;" type="radio"
|
||||
name="stream_purchase_type" <?= $model->get_stream_purchase_type() == $v ? 'checked' : '' ?>
|
||||
value="<?= $v ?>"/> <?= $t ?>
|
||||
</label>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row c9 top15 flex">
|
||||
<?= Includes::formButtons('website/events') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
timeRange('#daily_open_time')
|
||||
function updateIndividualPrice(e) {
|
||||
let ip = one('#individual_price')
|
||||
let check = e.querySelector('input')
|
||||
if(check.checked && check.value === 'individual_price') {
|
||||
ip.removeAttribute('readonly')
|
||||
ip.removeClass('disabled')
|
||||
} else {
|
||||
ip.setAttribute('readonly', true)
|
||||
ip.addClass('disabled')
|
||||
ip.value = ''
|
||||
e.parentNode.removeClass('form-error')
|
||||
}
|
||||
}
|
||||
|
||||
function updateStreamAccess(e) {
|
||||
let ps = one('#price_selection')
|
||||
let ip = one('#individual_price')
|
||||
let price_module = one('#price_module')
|
||||
let check = e.querySelector('input')
|
||||
let stream_purchase_type = all('[name="stream_purchase_type"]')
|
||||
if(check.checked && check.value === '1') {
|
||||
ps.removeClass('disabled')
|
||||
price_module.addClass('require');
|
||||
stream_purchase_type[0].checked = true
|
||||
stream_purchase_type[1].checked = false
|
||||
} else {
|
||||
ps.addClass('disabled')
|
||||
ip.value = ''
|
||||
stream_purchase_type[0].checked = false
|
||||
stream_purchase_type[1].checked = false
|
||||
ip.removeAttribute('readonly')
|
||||
ip.removeClass('disabled')
|
||||
price_module.removeClass('require')
|
||||
ip.parentNode.removeClass('form-error')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use app\models\RegisterObjects;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var RegisterObjects $model
|
||||
*/
|
||||
$ts = $_GET['tab']
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<!-- EDIT -->
|
||||
<div class="row top15 c5">
|
||||
<label class="require">Наименование на обекта</label>
|
||||
<input name="<?= $ts ?>_name" value="<?= $model->{$ts . '_name'} ?>">
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label class="require">Анотация</label>
|
||||
<textarea name="<?= $ts ?>_annotation"><?= $model->{$ts . '_annotation'} ?></textarea>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Кратко описание</label>
|
||||
<textarea name="<?= $ts ?>_short_description"><?= $model->{$ts . '_short_description'} ?></textarea>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label class="require">Подробно описание</label>
|
||||
<textarea class="ckEditor" name="<?= $ts ?>_description"><?= $model->{$ts . '_description'} ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15 flex">
|
||||
<?= Includes::formButtons('website/objects') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
use app\models\Campaigns;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var Campaigns $model
|
||||
*/
|
||||
$ts = $_GET['tab'];
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<div class="row c5 top15">
|
||||
<label>Локация</label>
|
||||
<input name="<?= $ts ?>_location" placeholder="Въведи локация на кампанията"
|
||||
value="<?= $model->{$ts . '_location'} ?>"/>
|
||||
</div>
|
||||
<div class="row c5 top15">
|
||||
<label class="require">Заглавие</label>
|
||||
<input name="<?= $ts ?>_title" placeholder="Въведи заглавие на кампанията"
|
||||
value="<?= $model->{$ts . '_title'} ?>"/>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Кратък текст</label>
|
||||
<textarea class="ckEditor" name="<?= $ts ?>_text_short"><?= $model->{$ts . '_text_short'} ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Пълен текст</label>
|
||||
<textarea class="ckEditor" name="<?= $ts ?>_text"><?= $model->{$ts . '_text'} ?></textarea>
|
||||
</div>
|
||||
<div class="row flex c9 top15">
|
||||
<?= Includes::formButtons('website/campaigns') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
use app\models\RegisterObjects;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var RegisterObjects $model
|
||||
*/
|
||||
$ts = $_GET['tab']
|
||||
?>
|
||||
<div class="inner-content p10 preview-mode">
|
||||
<!-- EDIT -->
|
||||
<div class="row top15 c7">
|
||||
<label>Име на публикацията</label>
|
||||
<div><?= $model->{$ts . '_name'} ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Анотация</label>
|
||||
<div><?= $model->{$ts . '_annotation'} ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Кратко описание</label>
|
||||
<div><?= $model->{$ts . '_short_description'} ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Подробно описание</label>
|
||||
<div><?= $model->{$ts . '_description'} ?></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use app\models\Events;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var Events $model
|
||||
*/
|
||||
$ts = $_GET['tab'];
|
||||
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<div class="row c5 top15">
|
||||
<label>Локация</label>
|
||||
<input name="<?= $ts ?>_location" placeholder="Въведи локация на събитието"
|
||||
value="<?= $model->{$ts . '_location'} ?>"/>
|
||||
</div>
|
||||
<div class="row c5 top15">
|
||||
<label class="require">Заглавие</label>
|
||||
<input name="<?= $ts ?>_title" placeholder="Въведи заглавие на събитието"
|
||||
value="<?= $model->{$ts . '_title'} ?>"/>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Кратък текст</label>
|
||||
<textarea class="ckEditor" name="<?= $ts ?>_text_short"><?= $model->{$ts . '_text_short'} ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Пълен текст</label>
|
||||
<textarea class="ckEditor" name="<?= $ts ?>_text"><?= $model->{$ts . '_text'} ?></textarea>
|
||||
</div>
|
||||
<div class="row flex c9 top15">
|
||||
<?= Includes::formButtons('website/events') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
use app\models\Collections;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var \app\models\Expositions $model
|
||||
*/
|
||||
$ts = $_GET['tab'];
|
||||
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<?php if (empty($model->id)): ?>
|
||||
<p style="color: darkorange; font-weight: bold">* Формата ще бъде активна след попълването на "Основни
|
||||
данни"</p>
|
||||
<?php endif; ?>
|
||||
<form autocomplete="off" class="<?= empty($model->id) ? 'disabled' : '' ?>">
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Анотация</label>
|
||||
<textarea class="ckEditor" name="<?= $ts ?>_annotation"><?= $model->{$ts . '_annotation'} ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Описание</label>
|
||||
<textarea class="ckEditor" name="<?= $ts ?>_description"><?= $model->{$ts . '_description'} ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Информационен център</label>
|
||||
<input name="<?= $ts ?>_info_center" placeholder="Въведи наименование на информационен център"
|
||||
value="<?= $model->{$ts . '_info_center'} ?>"/>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Информационен център адрес</label>
|
||||
<input name="<?= $ts ?>_info_center_address" placeholder="Въведи адрес на информационен център"
|
||||
value="<?= $model->{$ts.'_info_center_address'} ?>"/>
|
||||
</div>
|
||||
<div class="row flex c9 top15">
|
||||
<?= Includes::formButtons('nomenclature/collections') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use app\models\News;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var News $model
|
||||
*/
|
||||
$ts = $_GET['tab'];
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<div class="row c5 top15">
|
||||
<label class="require">Заглавие</label>
|
||||
<input name="<?= $ts ?>_title" placeholder="Въведи заглавие на новината"
|
||||
value="<?= $model->{$ts . '_title'} ?>"/>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Кратък текст</label>
|
||||
<textarea class="ckEditor" name="<?= $ts ?>_text_short"><?= $model->{$ts . '_text_short'} ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Пълен текст</label>
|
||||
<textarea class="ckEditor" name="<?= $ts ?>_text"><?= $model->{$ts . '_text'} ?></textarea>
|
||||
</div>
|
||||
<div class="row flex c9 top15">
|
||||
<?= Includes::formButtons('website/news') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
use app\models\Projects;
|
||||
use app\models\register\Partner;
|
||||
use app\widgets\FileWidget;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var Projects $model
|
||||
*/
|
||||
|
||||
$ts = $_GET['tab'];
|
||||
|
||||
?>
|
||||
<div class="inner-content p10">
|
||||
<form autocomplete="off">
|
||||
<div class="row c5 top15">
|
||||
<label class="require">Заглавие</label>
|
||||
<input name="<?= $ts ?>_title" placeholder="Въведи заглавие на проекта" value="<?= $model->{$ts.'_title'} ?>"/>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label class="require">Пълен текст (на английски)</label>
|
||||
<textarea class="ckEditor" name="<?= $ts ?>_text"><?= $model->{$ts. '_text'} ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label>Кратък текст (на английски)</label>
|
||||
<textarea class="ckEditor" name="<?= $ts ?>_text_short"><?= $model->{ $ts. '_text_short'} ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top15">
|
||||
<label>Договор (на английски)</label>
|
||||
<textarea class="ckEditor" name="<?= $ts ?>_text_contract"><?= $model->{$ts. '_text_contract'} ?></textarea>
|
||||
</div>
|
||||
<div class="row c9 top30 flex">
|
||||
<?= Includes::formButtons('website/projects') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
use app\models\RegisterObjects;
|
||||
use app\widgets\services\Includes;
|
||||
|
||||
/**
|
||||
* @var RegisterObjects $model
|
||||
*/
|
||||
$ts = $_GET['tab']
|
||||
?>
|
||||
<div class="inner-content p10 preview-mode">
|
||||
<!-- EDIT -->
|
||||
<div class="row top15 c5">
|
||||
<label>Наименование на обекта</label>
|
||||
<div><?= $model->{$ts . '_name'} ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Анотация</label>
|
||||
<div><?= $model->{$ts . '_annotation'} ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Кратко описание</label>
|
||||
<div><?= $model->{$ts . '_short_description'} ?></div>
|
||||
</div>
|
||||
<div class="row top15 c7">
|
||||
<label>Подробно описание</label>
|
||||
<div><?= $model->{$ts . '_description'} ?></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1 @@
|
||||
<?php
|
||||
Reference in New Issue
Block a user