134 lines
8.1 KiB
PHP
134 lines
8.1 KiB
PHP
|
|
<?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">
|
|||
|
|
<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
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
} ?>
|