Joywork/ajax/modals/objectFieldsSearchWinContentReq.php

134 lines
8.1 KiB
PHP
Raw Permalink Normal View History

2026-05-22 20:21:54 +02:00
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/config.php");
if ($_SESSION['id']) {
$agency_id = User::getUserAgencyID($_SESSION['id']);
$sql = "SELECT `fields`.*, `blocks`.`title` AS `block_title`
FROM `object_fields` AS `fields`
LEFT JOIN `object_fields_blocks` AS `blocks` ON (`fields`.`block_id`=`blocks`.`id` OR `fields`.`block_id`=0)
WHERE `fields`.`agency_id`='$agency_id' AND `fields`.`type` IN (1, 2, 3, 4) AND `fields`.`is_active`=1 AND `fields`.`is_filtrable`=1
GROUP BY `fields`.`id` ORDER BY `blocks`.`order`, `fields`.`order`";
$filter = $_SESSION['filter_object_fields_req'];
if ($query = mysql_query($sql)) {
$inputs = 0;
$blocks = [];
if ($total_inputs = mysql_num_rows($query)) { ?>
<span class="pseudo-link closer"><i class="ti-close"></i></span>
<div class="full_modal jw__big-add" id="objectFieldsSearchReq" style="display: none;">
<form class="form-validate" method="post" id="objectFieldsSearchFormReq">
<div class="modal-inner">
<h2>Дополнительные поля</h2>
<?php while($field = mysql_fetch_assoc($query)) {
$field_id = $field['id'];
$label = $field['title'];
$name = $field['name'];
$block_title = $field['block_title'];
if ($field['block_id'] == 0)
$block_title = 'Общие поля';
if (!is_null($field['params']))
$params = json_decode($field['params'], true);
else
$params = null;
$inputs++;
if (!in_array($block_title, $blocks)) {
if (!empty($blocks)) { ?>
<!-- END^ -->
</div>
</div>
<?php } ?>
<div>
<h3 class="block-title" style="font-size:18px;border-bottom:1px dashed #e0e0e0;padding-bottom:8px;"><?= $block_title; ?></h3>
<div class="fields">
<?php
$blocks[] = $block_title;
} ?>
<?php if (intval($field['type']) == 1) : ?>
<div class="form-block">
<div class="label"><span><?= $label; ?>:</span></div>
<div class="control-inputs">
<div class="inputs-group">
<input type="number" placeholder="от" id="custom__<?= $name; ?>_ot" name="fields[<?= $field_id."_ot"; ?>]" value="<?= ((isset($filter['fields'][$field_id."_ot"])) ? $filter['fields'][$field_id."_ot"] : ""); ?>" class="number text small-input no-mrg-left">&nbsp;
<input type="number" placeholder="до" id="custom__<?= $name; ?>_do" name="fields[<?= $field_id."_do"; ?>]" value="<?= ((isset($filter['fields'][$field_id."_do"])) ? $filter['fields'][$field_id."_do"] : ""); ?>" class="number text small-input">
</div>
</div>
<div class="clear"></div>
</div>
<?php elseif (intval($field['type']) == 2 || intval($field['type']) == 3) : ?>
<div class="form-block">
<div class="label"><span><?= $label; ?>:</span></div>
<div class="inputs">
<select id="custom__<?= $name; ?>" name="fields[<?= $field_id; ?>][]">
<option value="0">Не выбрано</option>
<?php if (is_array($params['items'])) {
$items = $params['items'];
foreach ($items as $item) {
if (empty($item['value']) || empty($item['name']))
continue;
if ($item['value'] == $filter['fields'][$field_id])
$selected = " selected";
else
$selected = "";
echo '<option value="'.$item['value'].'"'.$selected.'>'.$item['name'].'</option>';
}
} ?>
</select>
<script type="text/javascript">
$('#custom__<?= $name; ?>').fastselect({placeholder: 'Не выбрано'});
</script>
</div>
<div class="clear"></div>
</div>
<?php elseif (intval($field['type']) == 4) : ?>
<div class="form-block">
<div class="label"><span><?= $label; ?>:</span></div>
<div class="inputs">
<div class="checkbox small">
<?php
if ((isset($filter['fields'][$field_id]) && boolval($filter['fields'][$field_id])))
$checked = ' checked="checked"';
else
$checked = "";
?>
<input type="checkbox" id="custom__<?= $name; ?>" name="fields[<?= $field_id; ?>]" value="1"<?= $checked; ?> <?= (intval($field['is_required'])) ? 'required' : '' ?>>
<label for="custom__<?= $name; ?>"></label>
</div>
</div>
<div class="clear"></div>
</div>
<?php endif; ?>
<?php if ($total_inputs == $inputs) { ?>
<!-- END^ -->
</div>
</div>
<?php }
} ?>
<div class="clear"></div>
</div>
<div class="modal-submit">
<input type="hidden" name="user_id" value="<?php echo $_SESSION['id']; ?>">
<button type="submit">Применить</button>
</div>
</form>
</div>
<?php } else { ?>
<span class="pseudo-link closer"><i class="ti-close"></i></span>
<div class="full_modal jw__big-add" id="objectFieldsSearchReq" style="display: none;">
<div class="modal-inner">
<h2>Дополнительные поля</h2>
<p>Не найдены дополнительные поля доступные для фильтрации объектов.</p>
<div class="clear"></div>
</div>
</div>
<?php
}
}
} ?>