Forked from
Stud.IP / Stud.IP
1422 commits behind, 297 commits ahead of the upstream repository.
-
Michaela Brückner authored
Closes #4091 Merge request studip/studip!3071
Michaela Brückner authoredCloses #4091 Merge request studip/studip!3071
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
search-widget.php 3.44 KiB
<form action="<?= URLHelper::getLink($url) ?>"
method="<?= $method ?>"
<? $id = $id ?? 'form-'.md5(uniqid()) ?>
<? printf('id="%s"', htmlReady($id)) ?>
<?= $onsubmit ? 'onsubmit="'.htmlReady($onsubmit).'"' : '' ?>
class="sidebar-search">
<? foreach ($url_params as $key => $value): ?>
<?=addHiddenFields($key,$value)?>
<? endforeach; ?>
<ul class="needles">
<? foreach ($needles as $needle): ?>
<? $hash = md5($url . '|' . $needle['name']) ?>
<li <? if ($needle['quick_search'] && $needle['quick_search']->hasExtendedLayout()) echo 'class="extendedLayout" id="' . $needle['quick_search']->getId() . '_frame"'; ?>>
<div class="input-group files-search">
<label for="needle-<?= $hash ?>" <? if ($needle['placeholder']) echo 'class="sr-only"'; ?>>
<?= htmlReady($needle['label']) ?>
</label>
<? if ($needle['quick_search']): ?>
<?= $needle['quick_search']->render() ?>
<? else: ?>
<input type="text" id="needle-<?= $hash ?>"
name="<?= htmlReady($needle['name']) ?>"
value="<?= htmlReady($needle['value']) ?>"
<? if ($needle['placeholder']) printf('placeholder="%s"', htmlReady($needle['label'])); ?>
<?= arrayToHtmlAttributes($needle['attributes']) ?>>
<? endif; ?>
<? if ($reset_link): ?>
<? if ($onsubmit) : ?>
<?= Icon::create('decline')->asInput([
'title' => _('Suche zurücksetzen'),
'class' => 'reset-search',
'onclick' => "window.document.getElementById('needle-".$hash."').value = '';"
]) ?>
<? else : ?>
<a class="reset-search" href="<?= $reset_link ?>" tabindex="0" role="button"
<?= $onsubmit ? 'onclick="'."window.document.getElementById('needle-".$hash."').value = ''; window.document.getElementById('".$id."').submit(); return false; ".'"' : '' ?>
title="<?= _('Suche zurücksetzen') ?>">
<?= Icon::create('decline')->asImg(20) ?>
</a>
<? endif ?>
<? endif; ?>
<button type="submit" class="submit-search<?= $reset_link ? ' is-executed' : '' ?>"
title="<?= _('Suche ausführen') ?>">
<?= Icon::create('search')->asImg(20) ?>
</button>
</li>
<? endforeach; ?>
</ul>
<? if (!empty($filters)): ?>
<ul class="filters">
<? foreach ($filters as $key => $label): ?>
<input type="hidden" name="<?= htmlReady($key) ?>" value="0" id="<?= md5($url . $key) ?>">
<label>
<input type="checkbox" name="<?= htmlReady($key) ?>" value="1"
<? if (!$has_data || Request::int($key)) echo 'checked'; ?>
data-deactivates="#<?= md5($url . $key) ?>">
<?= htmlReady($label) ?>
</label>
<? endforeach; ?>
</ul>
<? endif; ?>
<? if (!empty($quick_search)): ?>
<script>
(function ($) {
<? foreach ($quick_search as $needle): ?>
STUDIP.QuickSearch.autocomplete('needle-<?= md5($url . '|' . $needle['name']) ?>', '<?= $url ?>');
<? endforeach; ?>
}(jQuery));
</script>
<? endif; ?>
</form>