annotate forum/Themes/Vamp/Search.template.php @ 76:e3e11437ecea website

Add forum code
author Chris Cannam
date Sun, 07 Jul 2013 11:25:48 +0200
parents
children
rev   line source
Chris@76 1 <?php
Chris@76 2 /**
Chris@76 3 * Simple Machines Forum (SMF)
Chris@76 4 *
Chris@76 5 * @package SMF
Chris@76 6 * @author Simple Machines
Chris@76 7 * @copyright 2011 Simple Machines
Chris@76 8 * @license http://www.simplemachines.org/about/smf/license.php BSD
Chris@76 9 *
Chris@76 10 * @version 2.0
Chris@76 11 */
Chris@76 12
Chris@76 13 function template_main()
Chris@76 14 {
Chris@76 15 global $context, $settings, $options, $txt, $scripturl, $modSettings;
Chris@76 16
Chris@76 17 echo '
Chris@76 18 <form action="', $scripturl, '?action=search2" method="post" accept-charset="', $context['character_set'], '" name="searchform" id="searchform">
Chris@76 19 <div class="cat_bar">
Chris@76 20 <h3 class="catbg">
Chris@76 21 <span class="ie6_header floatleft">', !empty($settings['use_buttons']) ? '<img src="' . $settings['images_url'] . '/buttons/search.gif" alt="" class="icon" />' : ' ', $txt['set_parameters'], '</span>
Chris@76 22 </h3>
Chris@76 23 </div>';
Chris@76 24
Chris@76 25 if (!empty($context['search_errors']))
Chris@76 26 echo '
Chris@76 27 <p id="search_error" class="error">', implode('<br />', $context['search_errors']['messages']), '</p>';
Chris@76 28
Chris@76 29 // Simple Search?
Chris@76 30 if ($context['simple_search'])
Chris@76 31 {
Chris@76 32 echo '
Chris@76 33 <fieldset id="simple_search">
Chris@76 34 <span class="upperframe"><span></span></span>
Chris@76 35 <div class="roundframe">
Chris@76 36 <div id="search_term_input">
Chris@76 37 <strong>', $txt['search_for'], ':</strong>
Chris@76 38 <input type="text" name="search"', !empty($context['search_params']['search']) ? ' value="' . $context['search_params']['search'] . '"' : '', ' maxlength="', $context['search_string_limit'], '" size="40" class="input_text" />
Chris@76 39 ', $context['require_verification'] ? '' : '&nbsp;<input type="submit" name="submit" value="' . $txt['search'] . '" class="button_submit" />
Chris@76 40 </div>';
Chris@76 41
Chris@76 42 if (empty($modSettings['search_simple_fulltext']))
Chris@76 43 echo '
Chris@76 44 <p class="smalltext">', $txt['search_example'], '</p>';
Chris@76 45
Chris@76 46 if ($context['require_verification'])
Chris@76 47 echo '
Chris@76 48 <div class="verification>
Chris@76 49 <strong>', $txt['search_visual_verification_label'], ':</strong>
Chris@76 50 <br />', template_control_verification($context['visual_verification_id'], 'all'), '<br />
Chris@76 51 <input id="submit" type="submit" name="submit" value="' . $txt['search'] . '" class="button_submit" />
Chris@76 52 </div>';
Chris@76 53
Chris@76 54 echo '
Chris@76 55 <a href="', $scripturl, '?action=search;advanced" onclick="this.href += \';search=\' + escape(document.forms.searchform.search.value);">', $txt['search_advanced'], '</a>
Chris@76 56 <input type="hidden" name="advanced" value="0" />
Chris@76 57 </div>
Chris@76 58 <span class="lowerframe"><span></span></span>
Chris@76 59 </fieldset>';
Chris@76 60 }
Chris@76 61
Chris@76 62 // Advanced search!
Chris@76 63 else
Chris@76 64 {
Chris@76 65 echo '
Chris@76 66 <fieldset id="advanced_search">
Chris@76 67 <span class="upperframe"><span></span></span>
Chris@76 68 <div class="roundframe">
Chris@76 69 <input type="hidden" name="advanced" value="1" />
Chris@76 70 <span class="enhanced">
Chris@76 71 <strong>', $txt['search_for'], ':</strong>
Chris@76 72 <input type="text" name="search"', !empty($context['search_params']['search']) ? ' value="' . $context['search_params']['search'] . '"' : '', ' maxlength="', $context['search_string_limit'], '" size="40" class="input_text" />
Chris@76 73 <script type="text/javascript"><!-- // --><![CDATA[
Chris@76 74 function initSearch()
Chris@76 75 {
Chris@76 76 if (document.forms.searchform.search.value.indexOf("%u") != -1)
Chris@76 77 document.forms.searchform.search.value = unescape(document.forms.searchform.search.value);
Chris@76 78 }
Chris@76 79 createEventListener(window);
Chris@76 80 window.addEventListener("load", initSearch, false);
Chris@76 81 // ]]></script>
Chris@76 82 <select name="searchtype">
Chris@76 83 <option value="1"', empty($context['search_params']['searchtype']) ? ' selected="selected"' : '', '>', $txt['all_words'], '</option>
Chris@76 84 <option value="2"', !empty($context['search_params']['searchtype']) ? ' selected="selected"' : '', '>', $txt['any_words'], '</option>
Chris@76 85 </select>
Chris@76 86 </span>';
Chris@76 87
Chris@76 88 if (empty($modSettings['search_simple_fulltext']))
Chris@76 89 echo '
Chris@76 90 <em class="smalltext">', $txt['search_example'], '</em>';
Chris@76 91
Chris@76 92 echo '
Chris@76 93 <dl id="search_options">
Chris@76 94 <dt>', $txt['by_user'], ':</dt>
Chris@76 95 <dd><input id="userspec" type="text" name="userspec" value="', empty($context['search_params']['userspec']) ? '*' : $context['search_params']['userspec'], '" size="40" class="input_text" /></dd>
Chris@76 96 <dt>', $txt['search_order'], ':</dt>
Chris@76 97 <dd>
Chris@76 98 <select id="sort" name="sort">
Chris@76 99 <option value="relevance|desc">', $txt['search_orderby_relevant_first'], '</option>
Chris@76 100 <option value="num_replies|desc">', $txt['search_orderby_large_first'], '</option>
Chris@76 101 <option value="num_replies|asc">', $txt['search_orderby_small_first'], '</option>
Chris@76 102 <option value="id_msg|desc">', $txt['search_orderby_recent_first'], '</option>
Chris@76 103 <option value="id_msg|asc">', $txt['search_orderby_old_first'], '</option>
Chris@76 104 </select>
Chris@76 105 </dd>
Chris@76 106 <dt class="options">', $txt['search_options'], ':</dt>
Chris@76 107 <dd class="options">
Chris@76 108 <label for="show_complete"><input type="checkbox" name="show_complete" id="show_complete" value="1"', !empty($context['search_params']['show_complete']) ? ' checked="checked"' : '', ' class="input_check" /> ', $txt['search_show_complete_messages'], '</label><br />
Chris@76 109 <label for="subject_only"><input type="checkbox" name="subject_only" id="subject_only" value="1"', !empty($context['search_params']['subject_only']) ? ' checked="checked"' : '', ' class="input_check" /> ', $txt['search_subject_only'], '</label>
Chris@76 110 </dd>
Chris@76 111 <dt class="between">', $txt['search_post_age'], ': </dt>
Chris@76 112 <dd>', $txt['search_between'], ' <input type="text" name="minage" value="', empty($context['search_params']['minage']) ? '0' : $context['search_params']['minage'], '" size="5" maxlength="4" class="input_text" />&nbsp;', $txt['search_and'], '&nbsp;<input type="text" name="maxage" value="', empty($context['search_params']['maxage']) ? '9999' : $context['search_params']['maxage'], '" size="5" maxlength="4" class="input_text" /> ', $txt['days_word'], '</dd>
Chris@76 113 </dl>';
Chris@76 114
Chris@76 115 // Require an image to be typed to save spamming?
Chris@76 116 if ($context['require_verification'])
Chris@76 117 {
Chris@76 118 echo '
Chris@76 119 <p>
Chris@76 120 <strong>', $txt['verification'], ':</strong>
Chris@76 121 ', template_control_verification($context['visual_verification_id'], 'all'), '
Chris@76 122 </p>';
Chris@76 123 }
Chris@76 124
Chris@76 125 // If $context['search_params']['topic'] is set, that means we're searching just one topic.
Chris@76 126 if (!empty($context['search_params']['topic']))
Chris@76 127 echo '
Chris@76 128 <p>', $txt['search_specific_topic'], ' &quot;', $context['search_topic']['link'], '&quot;.</p>
Chris@76 129 <input type="hidden" name="topic" value="', $context['search_topic']['id'], '" />';
Chris@76 130
Chris@76 131 echo '
Chris@76 132 </div>
Chris@76 133 <span class="lowerframe"><span></span></span>
Chris@76 134 </fieldset>';
Chris@76 135
Chris@76 136 if (empty($context['search_params']['topic']))
Chris@76 137 {
Chris@76 138 echo '
Chris@76 139 <fieldset class="flow_hidden">
Chris@76 140 <span class="upperframe"><span></span></span>
Chris@76 141 <div class="roundframe">
Chris@76 142 <div class="title_bar">
Chris@76 143 <h4 class="titlebg">
Chris@76 144 <a href="javascript:void(0);" onclick="expandCollapseBoards(); return false;"><img src="', $settings['images_url'], '/expand.gif" id="expandBoardsIcon" alt="" /></a> <a href="javascript:void(0);" onclick="expandCollapseBoards(); return false;"><strong>', $txt['choose_board'], '</strong></a>
Chris@76 145 </h4>
Chris@76 146 </div>
Chris@76 147 <div class="flow_auto" id="searchBoardsExpand"', $context['boards_check_all'] ? ' style="display: none;"' : '', '>
Chris@76 148 <ul class="ignoreboards floatleft">';
Chris@76 149
Chris@76 150 $i = 0;
Chris@76 151 $limit = ceil($context['num_boards'] / 2);
Chris@76 152 foreach ($context['categories'] as $category)
Chris@76 153 {
Chris@76 154 echo '
Chris@76 155 <li class="category">
Chris@76 156 <a href="javascript:void(0);" onclick="selectBoards([', implode(', ', $category['child_ids']), ']); return false;">', $category['name'], '</a>
Chris@76 157 <ul>';
Chris@76 158
Chris@76 159 foreach ($category['boards'] as $board)
Chris@76 160 {
Chris@76 161 if ($i == $limit)
Chris@76 162 echo '
Chris@76 163 </ul>
Chris@76 164 </li>
Chris@76 165 </ul>
Chris@76 166 <ul class="ignoreboards floatright">
Chris@76 167 <li class="category">
Chris@76 168 <ul>';
Chris@76 169
Chris@76 170 echo '
Chris@76 171 <li class="board" style="margin-', $context['right_to_left'] ? 'right' : 'left', ': ', $board['child_level'], 'em;">
Chris@76 172 <label for="brd', $board['id'], '"><input type="checkbox" id="brd', $board['id'], '" name="brd[', $board['id'], ']" value="', $board['id'], '"', $board['selected'] ? ' checked="checked"' : '', ' class="input_check" /> ', $board['name'], '</label>
Chris@76 173 </li>';
Chris@76 174
Chris@76 175 $i ++;
Chris@76 176 }
Chris@76 177
Chris@76 178 echo '
Chris@76 179 </ul>
Chris@76 180 </li>';
Chris@76 181 }
Chris@76 182
Chris@76 183 echo '
Chris@76 184 </ul>
Chris@76 185 </div>
Chris@76 186 <br class="clear" />';
Chris@76 187
Chris@76 188 echo '
Chris@76 189 <div class="padding">
Chris@76 190 <input type="checkbox" name="all" id="check_all" value=""', $context['boards_check_all'] ? ' checked="checked"' : '', ' onclick="invertAll(this, this.form, \'brd\');" class="input_check floatleft" />
Chris@76 191 <label for="check_all" class="floatleft">', $txt['check_all'], '</label>
Chris@76 192 <input type="submit" name="submit" value="', $txt['search'], '" class="button_submit floatright" />
Chris@76 193 </div>
Chris@76 194 <br class="clear" />
Chris@76 195 </div>
Chris@76 196 <span class="lowerframe"><span></span></span>
Chris@76 197 </fieldset>';
Chris@76 198 }
Chris@76 199
Chris@76 200 }
Chris@76 201
Chris@76 202 echo '
Chris@76 203 </form>
Chris@76 204
Chris@76 205 <script type="text/javascript"><!-- // --><![CDATA[
Chris@76 206 function selectBoards(ids)
Chris@76 207 {
Chris@76 208 var toggle = true;
Chris@76 209
Chris@76 210 for (i = 0; i < ids.length; i++)
Chris@76 211 toggle = toggle & document.forms.searchform["brd" + ids[i]].checked;
Chris@76 212
Chris@76 213 for (i = 0; i < ids.length; i++)
Chris@76 214 document.forms.searchform["brd" + ids[i]].checked = !toggle;
Chris@76 215 }
Chris@76 216
Chris@76 217 function expandCollapseBoards()
Chris@76 218 {
Chris@76 219 var current = document.getElementById("searchBoardsExpand").style.display != "none";
Chris@76 220
Chris@76 221 document.getElementById("searchBoardsExpand").style.display = current ? "none" : "";
Chris@76 222 document.getElementById("expandBoardsIcon").src = smf_images_url + (current ? "/expand.gif" : "/collapse.gif");
Chris@76 223 }';
Chris@76 224
Chris@76 225 echo '
Chris@76 226 // ]]></script>';
Chris@76 227 }
Chris@76 228
Chris@76 229 function template_results()
Chris@76 230 {
Chris@76 231 global $context, $settings, $options, $txt, $scripturl, $message;
Chris@76 232
Chris@76 233 if (isset($context['did_you_mean']) || empty($context['topics']))
Chris@76 234 {
Chris@76 235 echo '
Chris@76 236 <div id="search_results">
Chris@76 237 <div class="cat_bar">
Chris@76 238 <h3 class="catbg">
Chris@76 239 ', $txt['search_adjust_query'], '
Chris@76 240 </h3>
Chris@76 241 </div>
Chris@76 242 <span class="upperframe"><span></span></span>
Chris@76 243 <div class="roundframe">';
Chris@76 244
Chris@76 245 // Did they make any typos or mistakes, perhaps?
Chris@76 246 if (isset($context['did_you_mean']))
Chris@76 247 echo '
Chris@76 248 <p>', $txt['search_did_you_mean'], ' <a href="', $scripturl, '?action=search2;params=', $context['did_you_mean_params'], '">', $context['did_you_mean'], '</a>.</p>';
Chris@76 249
Chris@76 250 echo '
Chris@76 251 <form action="', $scripturl, '?action=search2" method="post" accept-charset="', $context['character_set'], '">
Chris@76 252 <strong>', $txt['search_for'], ':</strong>
Chris@76 253 <input type="text" name="search"', !empty($context['search_params']['search']) ? ' value="' . $context['search_params']['search'] . '"' : '', ' maxlength="', $context['search_string_limit'], '" size="40" class="input_text" />
Chris@76 254 <input type="submit" name="submit" value="', $txt['search_adjust_submit'], '" class="button_submit" />
Chris@76 255 <input type="hidden" name="searchtype" value="', !empty($context['search_params']['searchtype']) ? $context['search_params']['searchtype'] : 0, '" />
Chris@76 256 <input type="hidden" name="userspec" value="', !empty($context['search_params']['userspec']) ? $context['search_params']['userspec'] : '', '" />
Chris@76 257 <input type="hidden" name="show_complete" value="', !empty($context['search_params']['show_complete']) ? 1 : 0, '" />
Chris@76 258 <input type="hidden" name="subject_only" value="', !empty($context['search_params']['subject_only']) ? 1 : 0, '" />
Chris@76 259 <input type="hidden" name="minage" value="', !empty($context['search_params']['minage']) ? $context['search_params']['minage'] : '0', '" />
Chris@76 260 <input type="hidden" name="maxage" value="', !empty($context['search_params']['maxage']) ? $context['search_params']['maxage'] : '9999', '" />
Chris@76 261 <input type="hidden" name="sort" value="', !empty($context['search_params']['sort']) ? $context['search_params']['sort'] : 'relevance', '" />';
Chris@76 262
Chris@76 263 if (!empty($context['search_params']['brd']))
Chris@76 264 foreach ($context['search_params']['brd'] as $board_id)
Chris@76 265 echo '
Chris@76 266 <input type="hidden" name="brd[', $board_id, ']" value="', $board_id, '" />';
Chris@76 267
Chris@76 268 echo '
Chris@76 269 </form>
Chris@76 270 </div>
Chris@76 271 <span class="lowerframe"><span></span></span>
Chris@76 272 </div><br />';
Chris@76 273 }
Chris@76 274
Chris@76 275 if ($context['compact'])
Chris@76 276 {
Chris@76 277 // Quick moderation set to checkboxes? Oh, how fun :/.
Chris@76 278 if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1)
Chris@76 279 echo '
Chris@76 280 <form action="', $scripturl, '?action=quickmod" method="post" accept-charset="', $context['character_set'], '" name="topicForm">';
Chris@76 281
Chris@76 282 echo '
Chris@76 283 <div class="cat_bar">
Chris@76 284 <h3 class="catbg">
Chris@76 285 <span class="floatright">';
Chris@76 286 if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1)
Chris@76 287 echo '
Chris@76 288 <input type="checkbox" onclick="invertAll(this, this.form, \'topics[]\');" class="input_check" />';
Chris@76 289 echo '
Chris@76 290 </span>
Chris@76 291 <span class="ie6_header floatleft"><img src="' . $settings['images_url'] . '/buttons/search.gif" alt="" />&nbsp;', $txt['mlist_search_results'],':&nbsp;',$context['search_params']['search'],'</span>
Chris@76 292 </h3>
Chris@76 293 </div>
Chris@76 294 <div class="pagesection">
Chris@76 295 <span>', $txt['pages'], ': ', $context['page_index'], '</span>
Chris@76 296 </div>';
Chris@76 297
Chris@76 298 while ($topic = $context['get_topics']())
Chris@76 299 {
Chris@76 300 $color_class = '';
Chris@76 301 if ($topic['is_sticky'])
Chris@76 302 $color_class = 'stickybg';
Chris@76 303 if ($topic['is_locked'])
Chris@76 304 $color_class .= 'lockedbg';
Chris@76 305
Chris@76 306 echo '
Chris@76 307 <div class="search_results_posts">
Chris@76 308 <div class="', $message['alternate'] == 0 ? 'windowbg' : 'windowbg2', ' core_posts">
Chris@76 309 <span class="topslice"><span></span></span>
Chris@76 310 <div class="content flow_auto">';
Chris@76 311
Chris@76 312 foreach ($topic['matches'] as $message)
Chris@76 313 {
Chris@76 314 echo '
Chris@76 315 <div class="topic_details floatleft" style="width: 94%">
Chris@76 316 <div class="counter">', $message['counter'], '</div>
Chris@76 317 <h5>', $topic['board']['link'], ' / <a href="', $scripturl, '?topic=', $topic['id'], '.msg', $message['id'], '#msg', $message['id'], '">', $message['subject_highlighted'], '</a></h5>
Chris@76 318 <span class="smalltext">&#171;&nbsp;',$txt['by'],'&nbsp;<strong>', $message['member']['link'], '</strong>&nbsp;',$txt['on'],'&nbsp;<em>', $message['time'], '</em>&nbsp;&#187;</span>
Chris@76 319 </div>';
Chris@76 320
Chris@76 321 if (!empty($options['display_quick_mod']))
Chris@76 322 {
Chris@76 323 echo '
Chris@76 324 <div class="floatright">';
Chris@76 325
Chris@76 326 if ($options['display_quick_mod'] == 1)
Chris@76 327 {
Chris@76 328 echo '
Chris@76 329 <input type="checkbox" name="topics[]" value="', $topic['id'], '" class="input_check" />';
Chris@76 330 }
Chris@76 331 else
Chris@76 332 {
Chris@76 333 if ($topic['quick_mod']['remove'])
Chris@76 334 echo '
Chris@76 335 <a href="', $scripturl, '?action=quickmod;actions[', $topic['id'], ']=remove;', $context['session_var'], '=', $context['session_id'], '" onclick="return confirm(\'', $txt['quickmod_confirm'], '\');"><img src="', $settings['images_url'], '/icons/quick_remove.gif" width="16" alt="', $txt['remove_topic'], '" title="', $txt['remove_topic'], '" /></a>';
Chris@76 336
Chris@76 337 if ($topic['quick_mod']['lock'])
Chris@76 338 echo '
Chris@76 339 <a href="', $scripturl, '?action=quickmod;actions[', $topic['id'], ']=lock;', $context['session_var'], '=', $context['session_id'], '" onclick="return confirm(\'', $txt['quickmod_confirm'], '\');"><img src="', $settings['images_url'], '/icons/quick_lock.gif" width="16" alt="', $txt['set_lock'], '" title="', $txt['set_lock'], '" /></a>';
Chris@76 340
Chris@76 341 if ($topic['quick_mod']['lock'] || $topic['quick_mod']['remove'])
Chris@76 342 echo '
Chris@76 343 <br />';
Chris@76 344
Chris@76 345 if ($topic['quick_mod']['sticky'])
Chris@76 346 echo '
Chris@76 347 <a href="', $scripturl, '?action=quickmod;actions[', $topic['id'], ']=sticky;', $context['session_var'], '=', $context['session_id'], '" onclick="return confirm(\'', $txt['quickmod_confirm'], '\');"><img src="', $settings['images_url'], '/icons/quick_sticky.gif" width="16" alt="', $txt['set_sticky'], '" title="', $txt['set_sticky'], '" /></a>';
Chris@76 348
Chris@76 349 if ($topic['quick_mod']['move'])
Chris@76 350 echo '
Chris@76 351 <a href="', $scripturl, '?action=movetopic;topic=', $topic['id'], '.0"><img src="', $settings['images_url'], '/icons/quick_move.gif" width="16" alt="', $txt['move_topic'], '" title="', $txt['move_topic'], '" /></a>';
Chris@76 352 }
Chris@76 353
Chris@76 354 echo '
Chris@76 355 </div>';
Chris@76 356 }
Chris@76 357
Chris@76 358 if ($message['body_highlighted'] != '')
Chris@76 359 echo '
Chris@76 360 <br class="clear" />
Chris@76 361 <div class="list_posts double_height">', $message['body_highlighted'], '</div>';
Chris@76 362 }
Chris@76 363
Chris@76 364 echo '
Chris@76 365 </div>
Chris@76 366 <span class="botslice"><span></span></span>
Chris@76 367 </div>
Chris@76 368 </div>';
Chris@76 369
Chris@76 370 }
Chris@76 371 if (!empty($context['topics']))
Chris@76 372 echo '
Chris@76 373 <div class="pagesection">
Chris@76 374 <span>', $txt['pages'], ': ', $context['page_index'], '</span>
Chris@76 375 </div>';
Chris@76 376
Chris@76 377 if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 && !empty($context['topics']))
Chris@76 378 {
Chris@76 379 echo '
Chris@76 380 <div class="middletext titlebg2" style="padding: 4px;">
Chris@76 381 <div class="floatright">
Chris@76 382 <select name="qaction"', $context['can_move'] ? ' onchange="this.form.moveItTo.disabled = (this.options[this.selectedIndex].value != \'move\');"' : '', '>
Chris@76 383 <option value="">--------</option>', $context['can_remove'] ? '
Chris@76 384 <option value="remove">' . $txt['quick_mod_remove'] . '</option>' : '', $context['can_lock'] ? '
Chris@76 385 <option value="lock">' . $txt['quick_mod_lock'] . '</option>' : '', $context['can_sticky'] ? '
Chris@76 386 <option value="sticky">' . $txt['quick_mod_sticky'] . '</option>' : '', $context['can_move'] ? '
Chris@76 387 <option value="move">' . $txt['quick_mod_move'] . ': </option>' : '', $context['can_merge'] ? '
Chris@76 388 <option value="merge">' . $txt['quick_mod_merge'] . '</option>' : '', '
Chris@76 389 <option value="markread">', $txt['quick_mod_markread'], '</option>
Chris@76 390 </select>';
Chris@76 391
Chris@76 392 if ($context['can_move'])
Chris@76 393 {
Chris@76 394 echo '
Chris@76 395 <select id="moveItTo" name="move_to" disabled="disabled">';
Chris@76 396
Chris@76 397 foreach ($context['move_to_boards'] as $category)
Chris@76 398 {
Chris@76 399 echo '
Chris@76 400 <optgroup label="', $category['name'], '">';
Chris@76 401 foreach ($category['boards'] as $board)
Chris@76 402 echo '
Chris@76 403 <option value="', $board['id'], '"', $board['selected'] ? ' selected="selected"' : '', '>', $board['child_level'] > 0 ? str_repeat('==', $board['child_level'] - 1) . '=&gt;' : '', ' ', $board['name'], '</option>';
Chris@76 404 echo '
Chris@76 405 </optgroup>';
Chris@76 406 }
Chris@76 407 echo '
Chris@76 408 </select>';
Chris@76 409 }
Chris@76 410
Chris@76 411 echo '
Chris@76 412 <input type="hidden" name="redirect_url" value="', $scripturl . '?action=search2;params=' . $context['params'], '" />
Chris@76 413 <input type="submit" style="font-size: 0.8em;" value="', $txt['quick_mod_go'], '" onclick="return this.form.qaction.value != \'\' &amp;&amp; confirm(\'', $txt['quickmod_confirm'], '\');" class="button_submit" />
Chris@76 414 </div>
Chris@76 415 <br class="clear" />
Chris@76 416 </div>';
Chris@76 417 }
Chris@76 418
Chris@76 419
Chris@76 420 if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 && !empty($context['topics']))
Chris@76 421 echo '
Chris@76 422 <input type="hidden" name="' . $context['session_var'] . '" value="' . $context['session_id'] . '" />
Chris@76 423 </form>';
Chris@76 424
Chris@76 425 }
Chris@76 426 else
Chris@76 427 {
Chris@76 428 echo '
Chris@76 429 <div class="cat_bar">
Chris@76 430 <h3 class="catbg">
Chris@76 431 <span class="ie6_header floatleft"><img src="' . $settings['images_url'] . '/buttons/search.gif" alt="" />&nbsp;', $txt['mlist_search_results'],':&nbsp;',$context['search_params']['search'],'</span>
Chris@76 432 </h3>
Chris@76 433 </div>
Chris@76 434 <div class="pagesection">
Chris@76 435 <span>', $txt['pages'], ': ', $context['page_index'], '</span>
Chris@76 436 </div>';
Chris@76 437
Chris@76 438 if (empty($context['topics']))
Chris@76 439 echo '
Chris@76 440 <div class="information">(', $txt['search_no_results'], ')</div>';
Chris@76 441
Chris@76 442 while ($topic = $context['get_topics']())
Chris@76 443 {
Chris@76 444 foreach ($topic['matches'] as $message)
Chris@76 445 {
Chris@76 446 echo '
Chris@76 447 <div class="search_results_posts">
Chris@76 448 <div class="', $message['alternate'] == 0 ? 'windowbg' : 'windowbg2', ' core_posts">
Chris@76 449 <span class="topslice"><span></span></span>
Chris@76 450 <div class="content">
Chris@76 451 <div class="counter">', $message['counter'], '</div>
Chris@76 452 <div class="topic_details">
Chris@76 453 <h5>', $topic['board']['link'], ' / <a href="', $scripturl, '?topic=', $topic['id'], '.', $message['start'], ';topicseen#msg', $message['id'], '">', $message['subject_highlighted'], '</a></h5>
Chris@76 454 <span class="smalltext">&#171;&nbsp;', $txt['message'], ' ', $txt['by'], ' <strong>', $message['member']['link'], ' </strong>', $txt['on'], '&nbsp;<em>', $message['time'], '</em>&nbsp;&#187;</span>
Chris@76 455 </div>
Chris@76 456 <div class="list_posts">', $message['body_highlighted'], '</div>';
Chris@76 457
Chris@76 458 if ($topic['can_reply'] || $topic['can_mark_notify'])
Chris@76 459 echo '
Chris@76 460 <div class="quickbuttons_wrap">
Chris@76 461 <ul class="reset smalltext quickbuttons">';
Chris@76 462
Chris@76 463 // If they *can* reply?
Chris@76 464 if ($topic['can_reply'])
Chris@76 465 echo '
Chris@76 466 <li class="reply_button"><a href="', $scripturl . '?action=post;topic=' . $topic['id'] . '.' . $message['start'], '">', $txt['reply'], '</a></li>';
Chris@76 467
Chris@76 468 // If they *can* quote?
Chris@76 469 if ($topic['can_quote'])
Chris@76 470 echo '
Chris@76 471 <li class="quote_button"><a href="', $scripturl . '?action=post;topic=' . $topic['id'] . '.' . $message['start'] . ';quote=' . $message['id'] . '">', $txt['quote'], '</a></li>';
Chris@76 472
Chris@76 473 // Can we request notification of topics?
Chris@76 474 if ($topic['can_mark_notify'])
Chris@76 475 echo '
Chris@76 476 <li class="notify_button"><a href="', $scripturl . '?action=notify;topic=' . $topic['id'] . '.' . $message['start'], '">', $txt['notify'], '</a></li>';
Chris@76 477
Chris@76 478 if ($topic['can_reply'] || $topic['can_mark_notify'])
Chris@76 479 echo '
Chris@76 480 </ul>
Chris@76 481 </div>';
Chris@76 482 echo '
Chris@76 483 <br class="clear" />
Chris@76 484 </div>
Chris@76 485 <span class="botslice"><span></span></span>
Chris@76 486 </div>
Chris@76 487 </div>';
Chris@76 488 }
Chris@76 489 }
Chris@76 490
Chris@76 491 echo '
Chris@76 492 <div class="pagesection">
Chris@76 493 <span>', $txt['pages'], ': ', $context['page_index'], '</span>
Chris@76 494 </div>';
Chris@76 495 }
Chris@76 496
Chris@76 497 // Show a jump to box for easy navigation.
Chris@76 498 echo '
Chris@76 499 <br class="clear" />
Chris@76 500 <div class="smalltext righttext" id="search_jump_to">&nbsp;</div>
Chris@76 501 <script type="text/javascript"><!-- // --><![CDATA[
Chris@76 502 if (typeof(window.XMLHttpRequest) != "undefined")
Chris@76 503 aJumpTo[aJumpTo.length] = new JumpTo({
Chris@76 504 sContainerId: "search_jump_to",
Chris@76 505 sJumpToTemplate: "<label class=\"smalltext\" for=\"%select_id%\">', $context['jump_to']['label'], ':<" + "/label> %dropdown_list%",
Chris@76 506 iCurBoardId: 0,
Chris@76 507 iCurBoardChildLevel: 0,
Chris@76 508 sCurBoardName: "', $context['jump_to']['board_name'], '",
Chris@76 509 sBoardChildLevelIndicator: "==",
Chris@76 510 sBoardPrefix: "=> ",
Chris@76 511 sCatSeparator: "-----------------------------",
Chris@76 512 sCatPrefix: "",
Chris@76 513 sGoButtonLabel: "', $txt['quick_mod_go'], '"
Chris@76 514 });
Chris@76 515 // ]]></script>';
Chris@76 516
Chris@76 517 }
Chris@76 518
Chris@76 519 ?>