| 1 | {include file='header' __disableAds=true} |
| 2 | |
| 3 | <form id="extendedSearchForm" method="post" action="{link controller='Search'}{if $extended}extended=1{/if}{/link}"> |
| 4 | <div class="section"> |
| 5 | <div class="searchBar"> |
| 6 | <input id="searchQuery" class="searchQuery long" type="text" name="q" value="" maxlength="255" placeholder="{lang}wcf.global.search.enterSearchTerm{/lang}" autocomplete="off" autofocus required> |
| 7 | <select id="searchType" class="searchType" name="type" aria-label="{lang}wcf.search.type{/lang}"> |
| 8 | <option value="">{lang}wcf.search.type.everywhere{/lang}</option> |
| 9 | {foreach from=$objectTypes key=objectTypeName item=objectType} |
| 10 | {if $objectType->isAccessible()} |
| 11 | <option value="{$objectTypeName}">{lang}wcf.search.type.{@$objectTypeName}{/lang}</option> |
| 12 | {/if} |
| 13 | {/foreach} |
| 14 | </select> |
| 15 | <button type="submit" class="searchButton button buttonPrimary">{lang}wcf.global.button.search{/lang}</button> |
| 16 | </div> |
| 17 | |
| 18 | <details class="searchFiltersContainer"{if $extended} open{/if}> |
| 19 | <summary class="searchShowMoreFiltersButton">{lang}wcf.search.button.showMoreFilters{/lang}</summary> |
| 20 | |
| 21 | <div class="searchFilters defaultSearchFilters"> |
| 22 | <dl> |
| 23 | <dt><label>{lang}wcf.search.searchIn{/lang}</label></dt> |
| 24 | <dd> |
| 25 | <label><input type="radio" name="subjectOnly" value="" checked> {lang}wcf.search.searchIn.subjectAndMessage{/lang}</label> |
| 26 | <label><input type="radio" name="subjectOnly" value="1"> {lang}wcf.search.searchIn.subjectOnly{/lang}</label> |
| 27 | {* deprecated *}{event name='queryOptions'} |
| 28 | </dd> |
| 29 | </dl> |
| 30 | |
| 31 | <dl> |
| 32 | <dt><label for="sortField">{lang}wcf.search.sortBy{/lang}</label></dt> |
| 33 | <dd> |
| 34 | <select id="sortField" name="sortField"> |
| 35 | <option value="relevance"{if $sortField == 'relevance'} selected{/if}>{lang}wcf.search.sortBy.relevance{/lang}</option> |
| 36 | <option value="subject"{if $sortField == 'subject'} selected{/if}>{lang}wcf.global.subject{/lang}</option> |
| 37 | <option value="time"{if $sortField == 'time'} selected{/if}>{lang}wcf.search.sortBy.time{/lang}</option> |
| 38 | <option value="username"{if $sortField == 'username'} selected{/if}>{lang}wcf.search.sortBy.username{/lang}</option> |
| 39 | </select> |
| 40 | |
| 41 | <select name="sortOrder"> |
| 42 | <option value="ASC"{if $sortOrder == 'ASC'} selected{/if}>{lang}wcf.global.sortOrder.ascending{/lang}</option> |
| 43 | <option value="DESC"{if $sortOrder == 'DESC'} selected{/if}>{lang}wcf.global.sortOrder.descending{/lang}</option> |
| 44 | </select> |
| 45 | {* deprecated *}{event name='displayOptions'} |
| 46 | </dd> |
| 47 | </dl> |
| 48 | |
| 49 | <dl> |
| 50 | <dt><label for="searchAuthor">{lang}wcf.search.author{/lang}</label></dt> |
| 51 | <dd> |
| 52 | <input type="text" id="searchAuthor" name="usernames" value="" class="medium" autocomplete="off"> |
| 53 | {* deprecated *}{event name='authorOptions'} |
| 54 | </dd> |
| 55 | </dl> |
| 56 | |
| 57 | <dl> |
| 58 | <dt><label for="startDate">{lang}wcf.search.period{/lang}</label></dt> |
| 59 | <dd> |
| 60 | <input type="date" id="startDate" name="startDate" value="" data-placeholder="{lang}wcf.date.period.start{/lang}"> |
| 61 | <input type="date" id="endDate" name="endDate" value="" data-placeholder="{lang}wcf.date.period.end{/lang}"> |
| 62 | {* deprecated *}{event name='periodOptions'} |
| 63 | </dd> |
| 64 | </dl> |
| 65 | |
| 66 | {* deprecated *}{event name='generalFields'} |
| 67 | {event name='searchFilters'} |
| 68 | </div> |
| 69 | |
| 70 | <div class="searchFiltersTitle" aria-hidden="true" hidden></div> |
| 71 | |
| 72 | {foreach from=$objectTypes key=objectTypeName item=objectType} |
| 73 | {if $objectType->isAccessible() && $objectType->getFormTemplateName()} |
| 74 | <div class="searchFilters objectTypeSearchFilters" data-object-type="{$objectTypeName}" hidden> |
| 75 | {include file=$objectType->getFormTemplateName() application=$objectType->getApplication()} |
| 76 | </div> |
| 77 | {/if} |
| 78 | {/foreach} |
| 79 | |
| 80 | <button type="submit" class="searchButton button buttonPrimary">{lang}wcf.global.button.search{/lang}</button> |
| 81 | </details> |
| 82 | </div> |
| 83 | </form> |
| 84 | |
| 85 | <script data-relocate="true"> |
| 86 | require(['WoltLabSuite/Core/Ui/ItemList/User'], function(UiItemListUser) { |
| 87 | UiItemListUser.init('searchAuthor', { |
| 88 | maxItems: 5 |
| 89 | }); |
| 90 | }); |
| 91 | require(['WoltLabSuite/Core/Ui/Search/Extended'], ({ UiSearchExtended }) => { |
| 92 | new UiSearchExtended(); |
| 93 | }); |
| 94 | </script> |
| 95 | |
| 96 | {include file='footer' __disableAds=true} |