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'] ? '' : ' <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" /> ', $txt['search_and'], ' <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'], ' "', $context['search_topic']['link'], '".</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="" /> ', $txt['mlist_search_results'],': ',$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">« ',$txt['by'],' <strong>', $message['member']['link'], '</strong> ',$txt['on'],' <em>', $message['time'], '</em> »</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) . '=>' : '', ' ', $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 != \'\' && 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="" /> ', $txt['mlist_search_results'],': ',$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">« ', $txt['message'], ' ', $txt['by'], ' <strong>', $message['member']['link'], ' </strong>', $txt['on'], ' <em>', $message['time'], '</em> »</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"> </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 ?> |