Initial import
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @var string $media_key
|
||||
* @var string $object_key
|
||||
* @var boolean $single_file
|
||||
* @var array $actions
|
||||
* @var int $max_file_size
|
||||
* @var string $error_message
|
||||
* @var array $files
|
||||
* @var array $resolutions
|
||||
* @var string $model_class
|
||||
* @var int $model_id
|
||||
*/
|
||||
foreach ($resolutions as $i => $r) {
|
||||
$resolutions[$i] = explode(':', $r);
|
||||
}
|
||||
|
||||
if (!empty($files[$object_key])) {
|
||||
if(isset($files[$object_key][0]) && $files[$object_key][0] == null)
|
||||
$files[$object_key] = [];
|
||||
}
|
||||
?>
|
||||
|
||||
<input class="media-key" type="hidden" name="media_key" value="<?= $media_key ?>">
|
||||
<input class="model-class" type="hidden" name="model_class" value="<?= $model_class ?>">
|
||||
<input class="model-id" type="hidden" name="model_id" value="<?= $model_id ?>">
|
||||
<div id="<?= $object_key ?>" class="top-page-panel">
|
||||
<input class="allowed_resolutions" type="hidden" value='<?= json_encode($resolutions) ?>'>
|
||||
<input class="max_file_size" type="hidden" value="<?= $max_file_size ?>">
|
||||
<input class="error_message" type="hidden" value="<?= $error_message ?>">
|
||||
<div class="action-buttons">
|
||||
<?php if (!empty($actions['add'])): ?>
|
||||
<div data-object-key="<?= $object_key ?>"
|
||||
data-single-file="<?= $single_file ?>"
|
||||
onclick="addFileImage(this)"
|
||||
data-edit-mode="<?= !empty($_GET['id']) ?>"
|
||||
class="btn-ib btn-default ct <?= $single_file == 1 && !empty($files[$object_key]) ? 'disabled' : '' ?>">
|
||||
<i class="la la-cloud-upload"></i> <?= $actions['add'] ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php if (!empty($actions['edit'])): ?>
|
||||
<div data-object-key="<?= $object_key ?>" onclick="editFileImage(this)"
|
||||
class="btnEdit btn-ib btn-default ct disabled"><i class="la la-crop-alt"></i> <?= $actions['edit'] ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php if (!empty($actions['delete'])): ?>
|
||||
<div onclick="removeFileImage(this)" data-object-key="<?= $object_key ?>"
|
||||
class="btnDelete btn-ib btn-default ct disabled"><i
|
||||
class="la la-trash"></i> <?= $actions['delete'] ?>
|
||||
<span class="delCount">(0)</span>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="files-container" style="<?= !empty($files[$object_key]) ? 'display:flex' : 'display:none' ?>">
|
||||
<div class="all-files" style="<?= $single_file ? 'margin-top: -7px' : '' ?>">
|
||||
<label style="<?= $single_file ? 'opacity: 0; height: 0; overflow: hidden' : '' ?>">
|
||||
<input data-object-key="<?= $object_key ?>" onclick="checkAll(this)" type="checkbox">
|
||||
<span>Маркирай всички изображения</span>
|
||||
</label>
|
||||
</div>
|
||||
<?php if (!empty($files[$object_key])): ?>
|
||||
<?php foreach ($files[$object_key] as $i => $file): ?>
|
||||
<?php if (!empty($file['id'])): ?>
|
||||
<div data-file-index="<?= $i ?>" class="file-img visible"
|
||||
data-file-id="<?= $file['id'] ?>">
|
||||
<img onclick="editSingleFileImage(this)" id="<?= $object_key ?>_<?= $i ?>"
|
||||
src="<?= $file['src'] ?>"/>
|
||||
<input type="checkbox"
|
||||
data-del="<?= $file['id'] ?>"
|
||||
data-id="<?= $object_key ?>_<?= $i ?>"
|
||||
data-object-key="<?= $object_key ?>"
|
||||
data-media-key="<?= $media_key ?>"
|
||||
data-file-name="<?= $file['file_name'] ?>"
|
||||
data-file-type="<?= $file['type'] ?>"
|
||||
data-src-raw="<?= $file['src_raw'] ?>"
|
||||
data-crop-files='<?= json_encode($file['crop_files']) ?>'
|
||||
onclick="checkSingle(this)">
|
||||
<div class="crops">
|
||||
<?php foreach ($file['crops'] as $crop): ?>
|
||||
<span><?= $crop ?></span>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -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; ?>
|
||||
Reference in New Issue
Block a user