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_ask()
|
Chris@76
|
14 {
|
Chris@76
|
15 global $context, $settings, $options, $txt, $scripturl;
|
Chris@76
|
16
|
Chris@76
|
17 echo '
|
Chris@76
|
18 <div id="split_topics">
|
Chris@76
|
19 <form action="', $scripturl, '?action=splittopics;sa=execute;topic=', $context['current_topic'], '.0" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
20 <input type="hidden" name="at" value="', $context['message']['id'], '" />
|
Chris@76
|
21 <div class="cat_bar">
|
Chris@76
|
22 <h3 class="catbg">', $txt['split'], '</h3>
|
Chris@76
|
23 </div>
|
Chris@76
|
24 <div class="windowbg">
|
Chris@76
|
25 <span class="topslice"><span></span></span>
|
Chris@76
|
26 <div class="content">
|
Chris@76
|
27 <p class="split_topics">
|
Chris@76
|
28 <strong><label for="subname">', $txt['subject_new_topic'], '</label>:</strong>
|
Chris@76
|
29 <input type="text" name="subname" id="subname" value="', $context['message']['subject'], '" size="25" class="input_text" />
|
Chris@76
|
30 </p>
|
Chris@76
|
31 <ul class="reset split_topics">
|
Chris@76
|
32 <li>
|
Chris@76
|
33 <input type="radio" id="onlythis" name="step2" value="onlythis" checked="checked" class="input_radio" /> <label for="onlythis">', $txt['split_this_post'], '</label>
|
Chris@76
|
34 </li>
|
Chris@76
|
35 <li>
|
Chris@76
|
36 <input type="radio" id="afterthis" name="step2" value="afterthis" class="input_radio" /> <label for="afterthis">', $txt['split_after_and_this_post'], '</label>
|
Chris@76
|
37 </li>
|
Chris@76
|
38 <li>
|
Chris@76
|
39 <input type="radio" id="selective" name="step2" value="selective" class="input_radio" /> <label for="selective">', $txt['select_split_posts'], '</label>
|
Chris@76
|
40 </li>
|
Chris@76
|
41 </ul>
|
Chris@76
|
42 <div class="righttext">
|
Chris@76
|
43 <input type="submit" value="', $txt['split'], '" class="button_submit" />
|
Chris@76
|
44 </div>
|
Chris@76
|
45 </div>
|
Chris@76
|
46 <span class="botslice"><span></span></span>
|
Chris@76
|
47 </div>
|
Chris@76
|
48 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
49 </form>
|
Chris@76
|
50 </div>';
|
Chris@76
|
51 }
|
Chris@76
|
52
|
Chris@76
|
53 function template_main()
|
Chris@76
|
54 {
|
Chris@76
|
55 global $context, $settings, $options, $txt, $scripturl;
|
Chris@76
|
56
|
Chris@76
|
57 echo '
|
Chris@76
|
58 <div id="split_topics">
|
Chris@76
|
59 <div class="cat_bar">
|
Chris@76
|
60 <h3 class="catbg">', $txt['split'], '</h3>
|
Chris@76
|
61 </div>
|
Chris@76
|
62 <div class="windowbg">
|
Chris@76
|
63 <span class="topslice"><span></span></span>
|
Chris@76
|
64 <div class="content">
|
Chris@76
|
65 <p>', $txt['split_successful'], '</p>
|
Chris@76
|
66 <ul class="reset">
|
Chris@76
|
67 <li>
|
Chris@76
|
68 <a href="', $scripturl, '?board=', $context['current_board'], '.0">', $txt['message_index'], '</a>
|
Chris@76
|
69 </li>
|
Chris@76
|
70 <li>
|
Chris@76
|
71 <a href="', $scripturl, '?topic=', $context['old_topic'], '.0">', $txt['origin_topic'], '</a>
|
Chris@76
|
72 </li>
|
Chris@76
|
73 <li>
|
Chris@76
|
74 <a href="', $scripturl, '?topic=', $context['new_topic'], '.0">', $txt['new_topic'], '</a>
|
Chris@76
|
75 </li>
|
Chris@76
|
76 </ul>
|
Chris@76
|
77 </div>
|
Chris@76
|
78 <span class="botslice"><span></span></span>
|
Chris@76
|
79 </div>
|
Chris@76
|
80 </div>';
|
Chris@76
|
81 }
|
Chris@76
|
82
|
Chris@76
|
83 function template_select()
|
Chris@76
|
84 {
|
Chris@76
|
85 global $context, $settings, $options, $txt, $scripturl;
|
Chris@76
|
86
|
Chris@76
|
87 echo '
|
Chris@76
|
88 <div id="split_topics">
|
Chris@76
|
89 <form action="', $scripturl, '?action=splittopics;sa=splitSelection;board=', $context['current_board'], '.0" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
90 <div id="not_selected" class="floatleft">
|
Chris@76
|
91 <div class="cat_bar">
|
Chris@76
|
92 <h3 class="catbg">', $txt['split'], ' - ', $txt['select_split_posts'], '</h3>
|
Chris@76
|
93 </div>
|
Chris@76
|
94 <div class="information">
|
Chris@76
|
95 ', $txt['please_select_split'], '
|
Chris@76
|
96 </div>
|
Chris@76
|
97 <div class="pagesection">
|
Chris@76
|
98 <strong>', $txt['pages'], ':</strong> <span id="pageindex_not_selected">', $context['not_selected']['page_index'], '</span>
|
Chris@76
|
99 </div>
|
Chris@76
|
100 <ul id="messages_not_selected" class="split_messages smalltext reset">';
|
Chris@76
|
101
|
Chris@76
|
102 foreach ($context['not_selected']['messages'] as $message)
|
Chris@76
|
103 echo '
|
Chris@76
|
104 <li class="windowbg', $message['alternate'] ? '2' : '', '" id="not_selected_', $message['id'], '">
|
Chris@76
|
105 <span class="topslice"><span></span></span>
|
Chris@76
|
106 <div class="content">
|
Chris@76
|
107 <div class="message_header">
|
Chris@76
|
108 <a class="split_icon floatright" href="', $scripturl, '?action=splittopics;sa=selectTopics;subname=', $context['topic']['subject'], ';topic=', $context['topic']['id'], '.', $context['not_selected']['start'], ';start2=', $context['selected']['start'], ';move=down;msg=', $message['id'], '" onclick="return select(\'down\', ', $message['id'], ');"><img src="', $settings['images_url'], '/split_select.gif" alt="->" /></a>
|
Chris@76
|
109 <strong>', $message['subject'], '</strong> ', $txt['by'], ' <strong>', $message['poster'], '</strong><br />
|
Chris@76
|
110 <em>', $message['time'], '</em>
|
Chris@76
|
111 </div>
|
Chris@76
|
112 <div class="post">', $message['body'], '</div>
|
Chris@76
|
113 </div>
|
Chris@76
|
114 <span class="botslice"><span></span></span>
|
Chris@76
|
115 </li>';
|
Chris@76
|
116
|
Chris@76
|
117 echo '
|
Chris@76
|
118 <li class="dummy" />
|
Chris@76
|
119 </ul>
|
Chris@76
|
120 </div>
|
Chris@76
|
121 <div id="selected" class="floatright">
|
Chris@76
|
122 <div class="cat_bar">
|
Chris@76
|
123 <h3 class="catbg">
|
Chris@76
|
124 ', $txt['split_selected_posts'], ' (<a href="', $scripturl, '?action=splittopics;sa=selectTopics;subname=', $context['topic']['subject'], ';topic=', $context['topic']['id'], '.', $context['not_selected']['start'], ';start2=', $context['selected']['start'], ';move=reset;msg=0" onclick="return select(\'reset\', 0);">', $txt['split_reset_selection'], '</a>)
|
Chris@76
|
125 </h3>
|
Chris@76
|
126 </div>
|
Chris@76
|
127 <div class="information">
|
Chris@76
|
128 ', $txt['split_selected_posts_desc'], '
|
Chris@76
|
129 </div>
|
Chris@76
|
130 <div class="pagesection">
|
Chris@76
|
131 <strong>', $txt['pages'], ':</strong> <span id="pageindex_selected">', $context['selected']['page_index'], '</span>
|
Chris@76
|
132 </div>
|
Chris@76
|
133 <ul id="messages_selected" class="split_messages smalltext reset">';
|
Chris@76
|
134
|
Chris@76
|
135 if (!empty($context['selected']['messages']))
|
Chris@76
|
136 foreach ($context['selected']['messages'] as $message)
|
Chris@76
|
137 echo '
|
Chris@76
|
138 <li class="windowbg', $message['alternate'] ? '2' : '', '" id="selected_', $message['id'], '">
|
Chris@76
|
139 <span class="topslice"><span></span></span>
|
Chris@76
|
140 <div class="content">
|
Chris@76
|
141 <div class="message_header">
|
Chris@76
|
142 <a class="split_icon floatleft" href="', $scripturl, '?action=splittopics;sa=selectTopics;subname=', $context['topic']['subject'], ';topic=', $context['topic']['id'], '.', $context['not_selected']['start'], ';start2=', $context['selected']['start'], ';move=up;msg=', $message['id'], '" onclick="return select(\'up\', ', $message['id'], ');"><img src="', $settings['images_url'], '/split_deselect.gif" alt="<-" /></a>
|
Chris@76
|
143 <strong>', $message['subject'], '</strong> ', $txt['by'], ' <strong>', $message['poster'], '</strong><br />
|
Chris@76
|
144 <em>', $message['time'], '</em>
|
Chris@76
|
145 </div>
|
Chris@76
|
146 <div class="post">', $message['body'], '</div>
|
Chris@76
|
147 </div>
|
Chris@76
|
148 <span class="botslice"><span></span></span>
|
Chris@76
|
149 </li>';
|
Chris@76
|
150
|
Chris@76
|
151 echo '
|
Chris@76
|
152 <li class="dummy" />
|
Chris@76
|
153 </ul>
|
Chris@76
|
154 </div>
|
Chris@76
|
155 <br class="clear" />
|
Chris@76
|
156 <p>
|
Chris@76
|
157 <input type="hidden" name="topic" value="', $context['current_topic'], '" />
|
Chris@76
|
158 <input type="hidden" name="subname" value="', $context['new_subject'], '" />
|
Chris@76
|
159 <input type="submit" value="', $txt['split'], '" class="button_submit" />
|
Chris@76
|
160 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
161 </p>
|
Chris@76
|
162 </form>
|
Chris@76
|
163 </div>
|
Chris@76
|
164 <br class="clear" />
|
Chris@76
|
165 <script type="text/javascript"><!-- // --><![CDATA[
|
Chris@76
|
166 var start = new Array();
|
Chris@76
|
167 start[0] = ', $context['not_selected']['start'], ';
|
Chris@76
|
168 start[1] = ', $context['selected']['start'], ';
|
Chris@76
|
169
|
Chris@76
|
170 function select(direction, msg_id)
|
Chris@76
|
171 {
|
Chris@76
|
172 if (window.XMLHttpRequest)
|
Chris@76
|
173 {
|
Chris@76
|
174 getXMLDocument(smf_prepareScriptUrl(smf_scripturl) + "action=splittopics;sa=selectTopics;subname=', $context['topic']['subject'], ';topic=', $context['topic']['id'], '." + start[0] + ";start2=" + start[1] + ";move=" + direction + ";msg=" + msg_id + ";xml", onDocReceived);
|
Chris@76
|
175 return false;
|
Chris@76
|
176 }
|
Chris@76
|
177 else
|
Chris@76
|
178 return true;
|
Chris@76
|
179 }
|
Chris@76
|
180 function applyWindowClasses(oList)
|
Chris@76
|
181 {
|
Chris@76
|
182 var bAlternate = false;
|
Chris@76
|
183 oListItems = oList.getElementsByTagName("LI");
|
Chris@76
|
184 for (i = 0; i < oListItems.length; i++)
|
Chris@76
|
185 {
|
Chris@76
|
186 // Skip dummies.
|
Chris@76
|
187 if (oListItems[i].id == "")
|
Chris@76
|
188 continue;
|
Chris@76
|
189 oListItems[i].className = "windowbg" + (bAlternate ? "2" : "");
|
Chris@76
|
190 bAlternate = !bAlternate;
|
Chris@76
|
191 }
|
Chris@76
|
192 }
|
Chris@76
|
193 function onDocReceived(XMLDoc)
|
Chris@76
|
194 {
|
Chris@76
|
195 var i, j, pageIndex;
|
Chris@76
|
196 for (i = 0; i < 2; i++)
|
Chris@76
|
197 {
|
Chris@76
|
198 pageIndex = XMLDoc.getElementsByTagName("pageIndex")[i];
|
Chris@76
|
199 setInnerHTML(document.getElementById("pageindex_" + pageIndex.getAttribute("section")), pageIndex.firstChild.nodeValue);
|
Chris@76
|
200 start[i] = pageIndex.getAttribute("startFrom");
|
Chris@76
|
201 }
|
Chris@76
|
202 var numChanges = XMLDoc.getElementsByTagName("change").length;
|
Chris@76
|
203 var curChange, curSection, curAction, curId, curList, curData, newItem, sInsertBeforeId;
|
Chris@76
|
204 for (i = 0; i < numChanges; i++)
|
Chris@76
|
205 {
|
Chris@76
|
206 curChange = XMLDoc.getElementsByTagName("change")[i];
|
Chris@76
|
207 curSection = curChange.getAttribute("section");
|
Chris@76
|
208 curAction = curChange.getAttribute("curAction");
|
Chris@76
|
209 curId = curChange.getAttribute("id");
|
Chris@76
|
210 curList = document.getElementById("messages_" + curSection);
|
Chris@76
|
211 if (curAction == "remove")
|
Chris@76
|
212 curList.removeChild(document.getElementById(curSection + "_" + curId));
|
Chris@76
|
213 // Insert a message.
|
Chris@76
|
214 else
|
Chris@76
|
215 {
|
Chris@76
|
216 // By default, insert the element at the end of the list.
|
Chris@76
|
217 sInsertBeforeId = null;
|
Chris@76
|
218 // Loop through the list to try and find an item to insert after.
|
Chris@76
|
219 oListItems = curList.getElementsByTagName("LI");
|
Chris@76
|
220 for (j = 0; j < oListItems.length; j++)
|
Chris@76
|
221 {
|
Chris@76
|
222 if (parseInt(oListItems[j].id.substr(curSection.length + 1)) < curId)
|
Chris@76
|
223 {
|
Chris@76
|
224 // This would be a nice place to insert the row.
|
Chris@76
|
225 sInsertBeforeId = oListItems[j].id;
|
Chris@76
|
226 // We\'re done for now. Escape the loop.
|
Chris@76
|
227 j = oListItems.length + 1;
|
Chris@76
|
228 }
|
Chris@76
|
229 }
|
Chris@76
|
230
|
Chris@76
|
231 // Let\'s create a nice container for the message.
|
Chris@76
|
232 newItem = document.createElement("LI");
|
Chris@76
|
233 newItem.className = "windowbg2";
|
Chris@76
|
234 newItem.id = curSection + "_" + curId;
|
Chris@76
|
235 newItem.innerHTML = "<span class=\\"topslice\\"><span></span></span><div class=\\"content\\"><div class=\\"message_header\\"><a class=\\"split_icon float" + (curSection == "selected" ? "left" : "right") + "\\" href=\\"" + smf_prepareScriptUrl(smf_scripturl) + "action=splittopics;sa=selectTopics;subname=', $context['topic']['subject'], ';topic=', $context['topic']['id'], '.', $context['not_selected']['start'], ';start2=', $context['selected']['start'], ';move=" + (curSection == "selected" ? "up" : "down") + ";msg=" + curId + "\\" onclick=\\"return select(\'" + (curSection == "selected" ? "up" : "down") + "\', " + curId + ");\\"><img src=\\"', $settings['images_url'], '/split_" + (curSection == "selected" ? "de" : "") + "select.gif\\" alt=\\"" + (curSection == "selected" ? "<-" : "->") + "\\" /></a><strong>" + curChange.getElementsByTagName("subject")[0].firstChild.nodeValue + "</strong> ', $txt['by'], ' <strong>" + curChange.getElementsByTagName("poster")[0].firstChild.nodeValue + "</strong><br /><em>" + curChange.getElementsByTagName("time")[0].firstChild.nodeValue + "</em></div><div class=\\"post\\">" + curChange.getElementsByTagName("body")[0].firstChild.nodeValue + "</div></div><span class=\\"botslice\\"><span></span></span>";
|
Chris@76
|
236
|
Chris@76
|
237 // So, where do we insert it?
|
Chris@76
|
238 if (typeof sInsertBeforeId == "string")
|
Chris@76
|
239 curList.insertBefore(newItem, document.getElementById(sInsertBeforeId));
|
Chris@76
|
240 else
|
Chris@76
|
241 curList.appendChild(newItem);
|
Chris@76
|
242 }
|
Chris@76
|
243 }
|
Chris@76
|
244 // After all changes, make sure the window backgrounds are still correct for both lists.
|
Chris@76
|
245 applyWindowClasses(document.getElementById("messages_selected"));
|
Chris@76
|
246 applyWindowClasses(document.getElementById("messages_not_selected"));
|
Chris@76
|
247 }
|
Chris@76
|
248 // ]]></script>';
|
Chris@76
|
249 }
|
Chris@76
|
250
|
Chris@76
|
251 function template_merge_done()
|
Chris@76
|
252 {
|
Chris@76
|
253 global $context, $settings, $options, $txt, $scripturl;
|
Chris@76
|
254
|
Chris@76
|
255 echo '
|
Chris@76
|
256 <div id="merge_topics">
|
Chris@76
|
257 <div class="cat_bar">
|
Chris@76
|
258 <h3 class="catbg">', $txt['merge'], '</h3>
|
Chris@76
|
259 </div>
|
Chris@76
|
260 <div class="windowbg">
|
Chris@76
|
261 <span class="topslice"><span></span></span>
|
Chris@76
|
262 <div class="content">
|
Chris@76
|
263 <p>', $txt['merge_successful'], '</p>
|
Chris@76
|
264 <br />
|
Chris@76
|
265 <ul class="reset">
|
Chris@76
|
266 <li>
|
Chris@76
|
267 <a href="', $scripturl, '?board=', $context['target_board'], '.0">', $txt['message_index'], '</a>
|
Chris@76
|
268 </li>
|
Chris@76
|
269 <li>
|
Chris@76
|
270 <a href="', $scripturl, '?topic=', $context['target_topic'], '.0">', $txt['new_merged_topic'], '</a>
|
Chris@76
|
271 </li>
|
Chris@76
|
272 </ul>
|
Chris@76
|
273 </div>
|
Chris@76
|
274 <span class="botslice"><span></span></span>
|
Chris@76
|
275 </div>
|
Chris@76
|
276 </div>
|
Chris@76
|
277 <br class="clear" />';
|
Chris@76
|
278 }
|
Chris@76
|
279
|
Chris@76
|
280 function template_merge()
|
Chris@76
|
281 {
|
Chris@76
|
282 global $context, $settings, $options, $txt, $scripturl;
|
Chris@76
|
283
|
Chris@76
|
284 echo '
|
Chris@76
|
285 <div id="merge_topics">
|
Chris@76
|
286 <div class="cat_bar">
|
Chris@76
|
287 <h3 class="catbg">', $txt['merge'], '</h3>
|
Chris@76
|
288 </div>
|
Chris@76
|
289 <div class="information">
|
Chris@76
|
290 ', $txt['merge_desc'], '
|
Chris@76
|
291 </div>
|
Chris@76
|
292 <div class="windowbg">
|
Chris@76
|
293 <span class="topslice"><span></span></span>
|
Chris@76
|
294 <div class="content">
|
Chris@76
|
295 <dl class="settings merge_topic">
|
Chris@76
|
296 <dt>
|
Chris@76
|
297 <strong>', $txt['topic_to_merge'], ':</strong>
|
Chris@76
|
298 </dt>
|
Chris@76
|
299 <dd>
|
Chris@76
|
300 ', $context['origin_subject'], '
|
Chris@76
|
301 </dd>';
|
Chris@76
|
302
|
Chris@76
|
303 if (!empty($context['boards']) && count($context['boards']) > 1)
|
Chris@76
|
304 {
|
Chris@76
|
305 echo '
|
Chris@76
|
306 <dt>
|
Chris@76
|
307 <strong>', $txt['target_board'], ':</strong>
|
Chris@76
|
308 </dt>
|
Chris@76
|
309 <dd>
|
Chris@76
|
310 <form action="' . $scripturl . '?action=mergetopics;from=' . $context['origin_topic'] . ';targetboard=' . $context['target_board'] . ';board=' . $context['current_board'] . '.0" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
311 <input type="hidden" name="from" value="' . $context['origin_topic'] . '" />
|
Chris@76
|
312 <select name="targetboard" onchange="this.form.submit();">';
|
Chris@76
|
313 foreach ($context['boards'] as $board)
|
Chris@76
|
314 echo '
|
Chris@76
|
315 <option value="', $board['id'], '"', $board['id'] == $context['target_board'] ? ' selected="selected"' : '', '>', $board['category'], ' - ', $board['name'], '</option>';
|
Chris@76
|
316 echo '
|
Chris@76
|
317 </select>
|
Chris@76
|
318 <input type="submit" value="', $txt['go'], '" class="button_submit" />
|
Chris@76
|
319 </form>
|
Chris@76
|
320 </dd>';
|
Chris@76
|
321 }
|
Chris@76
|
322
|
Chris@76
|
323 echo '
|
Chris@76
|
324 </dl>
|
Chris@76
|
325 <hr class="hrcolor" />
|
Chris@76
|
326 <dl class="settings merge_topic">
|
Chris@76
|
327 <dt>
|
Chris@76
|
328 <strong>', $txt['merge_to_topic_id'], ': </strong>
|
Chris@76
|
329 </dt>
|
Chris@76
|
330 <dd>
|
Chris@76
|
331 <form action="', $scripturl , '?action=mergetopics;sa=options" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
332 <input type="hidden" name="topics[]" value="', $context['origin_topic'], '" />
|
Chris@76
|
333 <input type="text" name="topics[]" class="input_text" />
|
Chris@76
|
334 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
335 <input type="submit" value="', $txt['merge'], '" class="button_submit" />
|
Chris@76
|
336 </form>
|
Chris@76
|
337 </dd>';
|
Chris@76
|
338
|
Chris@76
|
339 echo '
|
Chris@76
|
340 </dl>
|
Chris@76
|
341 </div>
|
Chris@76
|
342 <span class="botslice"><span></span></span>
|
Chris@76
|
343 </div><br />
|
Chris@76
|
344 <div class="cat_bar">
|
Chris@76
|
345 <h3 class="catbg">', $txt['target_topic'], '</h3>
|
Chris@76
|
346 </div>
|
Chris@76
|
347 <div class="pagesection">
|
Chris@76
|
348 <strong>', $txt['pages'], ':</strong> ', $context['page_index'], '
|
Chris@76
|
349 </div>
|
Chris@76
|
350 <div class="windowbg2">
|
Chris@76
|
351 <span class="topslice"><span></span></span>
|
Chris@76
|
352 <div class="content">
|
Chris@76
|
353 <ul class="reset merge_topics">';
|
Chris@76
|
354
|
Chris@76
|
355 $merge_button = create_button('merge.gif', 'merge', '');
|
Chris@76
|
356
|
Chris@76
|
357 foreach ($context['topics'] as $topic)
|
Chris@76
|
358 echo '
|
Chris@76
|
359 <li>
|
Chris@76
|
360 <a href="', $scripturl, '?action=mergetopics;sa=options;board=', $context['current_board'], '.0;from=', $context['origin_topic'], ';to=', $topic['id'], ';', $context['session_var'], '=', $context['session_id'], '">', $merge_button, '</a>
|
Chris@76
|
361 <a href="', $scripturl, '?topic=', $topic['id'], '.0" target="_blank" class="new_win">', $topic['subject'], '</a> ', $txt['started_by'], ' ', $topic['poster']['link'], '
|
Chris@76
|
362 </li>';
|
Chris@76
|
363
|
Chris@76
|
364 echo '
|
Chris@76
|
365 </ul>
|
Chris@76
|
366 </div>
|
Chris@76
|
367 <span class="botslice"><span></span></span>
|
Chris@76
|
368 </div>
|
Chris@76
|
369 <div class="pagesection">
|
Chris@76
|
370 <strong>', $txt['pages'], ':</strong> ', $context['page_index'], '
|
Chris@76
|
371 </div>
|
Chris@76
|
372 </div>
|
Chris@76
|
373 <br class="clear" />';
|
Chris@76
|
374 }
|
Chris@76
|
375
|
Chris@76
|
376 function template_merge_extra_options()
|
Chris@76
|
377 {
|
Chris@76
|
378 global $context, $settings, $options, $txt, $scripturl;
|
Chris@76
|
379
|
Chris@76
|
380 echo '
|
Chris@76
|
381 <div id="merge_topics">
|
Chris@76
|
382 <form action="', $scripturl, '?action=mergetopics;sa=execute;" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
383 <div class="title_bar">
|
Chris@76
|
384 <h3 class="titlebg">', $txt['merge_topic_list'], '</h3>
|
Chris@76
|
385 </div>
|
Chris@76
|
386 <table width="100%" class="bordercolor table_grid">
|
Chris@76
|
387 <thead>
|
Chris@76
|
388 <tr class="catbg">
|
Chris@76
|
389 <th scope="col" class="first_th" align="center" width="10px">', $txt['merge_check'], '</th>
|
Chris@76
|
390 <th scope="col" class="lefttext">', $txt['subject'], '</th>
|
Chris@76
|
391 <th scope="col" class="lefttext">', $txt['started_by'], '</th>
|
Chris@76
|
392 <th scope="col" class="lefttext">', $txt['last_post'], '</th>
|
Chris@76
|
393 <th scope="col" class="last_th" width="20px">' . $txt['merge_include_notifications'] . '</th>
|
Chris@76
|
394 </tr>
|
Chris@76
|
395 </thead>
|
Chris@76
|
396 <tbody>';
|
Chris@76
|
397 foreach ($context['topics'] as $topic)
|
Chris@76
|
398 echo '
|
Chris@76
|
399 <tr class="windowbg2">
|
Chris@76
|
400 <td align="center">
|
Chris@76
|
401 <input type="checkbox" class="input_check" name="topics[]" value="' . $topic['id'] . '" checked="checked" />
|
Chris@76
|
402 </td>
|
Chris@76
|
403 <td>
|
Chris@76
|
404 <a href="' . $scripturl . '?topic=' . $topic['id'] . '.0" target="_blank" class="new_win">' . $topic['subject'] . '</a>
|
Chris@76
|
405 </td>
|
Chris@76
|
406 <td>
|
Chris@76
|
407 ', $topic['started']['link'], '<br />
|
Chris@76
|
408 <span class="smalltext">', $topic['started']['time'], '</span>
|
Chris@76
|
409 </td>
|
Chris@76
|
410 <td>
|
Chris@76
|
411 ' . $topic['updated']['link'] . '<br />
|
Chris@76
|
412 <span class="smalltext">', $topic['updated']['time'], '</span>
|
Chris@76
|
413 </td>
|
Chris@76
|
414 <td align="center">
|
Chris@76
|
415 <input type="checkbox" class="input_check" name="notifications[]" value="' . $topic['id'] . '" checked="checked" />
|
Chris@76
|
416 </td>
|
Chris@76
|
417 </tr>';
|
Chris@76
|
418 echo '
|
Chris@76
|
419 </tbody>
|
Chris@76
|
420 </table>
|
Chris@76
|
421 <br />
|
Chris@76
|
422 <div class="windowbg">
|
Chris@76
|
423 <span class="topslice"><span></span></span>
|
Chris@76
|
424 <div class="content">';
|
Chris@76
|
425
|
Chris@76
|
426 echo '
|
Chris@76
|
427 <fieldset id="merge_subject" class="merge_options">
|
Chris@76
|
428 <legend>', $txt['merge_select_subject'], '</legend>
|
Chris@76
|
429 <select name="subject" onchange="this.form.custom_subject.style.display = (this.options[this.selectedIndex].value != 0) ? \'none\': \'\' ;">';
|
Chris@76
|
430 foreach ($context['topics'] as $topic)
|
Chris@76
|
431 echo '
|
Chris@76
|
432 <option value="', $topic['id'], '"' . ($topic['selected'] ? ' selected="selected"' : '') . '>', $topic['subject'], '</option>';
|
Chris@76
|
433 echo '
|
Chris@76
|
434 <option value="0">', $txt['merge_custom_subject'], ':</option>
|
Chris@76
|
435 </select>
|
Chris@76
|
436 <br /><input type="text" name="custom_subject" size="60" id="custom_subject" class="input_text custom_subject" style="display: none;" />
|
Chris@76
|
437 <br />
|
Chris@76
|
438 <label for="enforce_subject"><input type="checkbox" class="input_check" name="enforce_subject" id="enforce_subject" value="1" /> ', $txt['merge_enforce_subject'], '</label>
|
Chris@76
|
439 </fieldset>';
|
Chris@76
|
440
|
Chris@76
|
441 if (!empty($context['boards']) && count($context['boards']) > 1)
|
Chris@76
|
442 {
|
Chris@76
|
443 echo '
|
Chris@76
|
444 <fieldset id="merge_board" class="merge_options">
|
Chris@76
|
445 <legend>', $txt['merge_select_target_board'], '</legend>
|
Chris@76
|
446 <ul class="reset">';
|
Chris@76
|
447 foreach ($context['boards'] as $board)
|
Chris@76
|
448 echo '
|
Chris@76
|
449 <li>
|
Chris@76
|
450 <input type="radio" name="board" value="' . $board['id'] . '"' . ($board['selected'] ? ' checked="checked"' : '') . ' class="input_radio" /> ' . $board['name'] . '
|
Chris@76
|
451 </li>';
|
Chris@76
|
452 echo '
|
Chris@76
|
453 </ul>
|
Chris@76
|
454 </fieldset>';
|
Chris@76
|
455 }
|
Chris@76
|
456 if (!empty($context['polls']))
|
Chris@76
|
457 {
|
Chris@76
|
458 echo '
|
Chris@76
|
459 <fieldset id="merge_poll" class="merge_options">
|
Chris@76
|
460 <legend>' . $txt['merge_select_poll'] . '</legend>
|
Chris@76
|
461 <ul class="reset">';
|
Chris@76
|
462 foreach ($context['polls'] as $poll)
|
Chris@76
|
463 echo '
|
Chris@76
|
464 <li>
|
Chris@76
|
465 <input type="radio" name="poll" value="' . $poll['id'] . '"' . ($poll['selected'] ? ' checked="checked"' : '') . ' class="input_radio" /> ' . $poll['question'] . ' (' . $txt['topic'] . ': <a href="' . $scripturl . '?topic=' . $poll['topic']['id'] . '.0" target="_blank" class="new_win">' . $poll['topic']['subject'] . '</a>)
|
Chris@76
|
466 </li>';
|
Chris@76
|
467 echo '
|
Chris@76
|
468 <li>
|
Chris@76
|
469 <input type="radio" name="poll" value="-1" class="input_radio" /> (' . $txt['merge_no_poll'] . ')
|
Chris@76
|
470 </li>
|
Chris@76
|
471 </ul>
|
Chris@76
|
472 </fieldset>';
|
Chris@76
|
473 }
|
Chris@76
|
474 echo '
|
Chris@76
|
475 <input type="submit" value="' . $txt['merge'] . '" class="button_submit floatright" />
|
Chris@76
|
476 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
477 <input type="hidden" name="sa" value="execute" /><br class="clear" />
|
Chris@76
|
478 </div>
|
Chris@76
|
479 <span class="botslice"><span></span></span>
|
Chris@76
|
480 </div>
|
Chris@76
|
481 </form>
|
Chris@76
|
482 </div>
|
Chris@76
|
483 <br class="clear" />';
|
Chris@76
|
484 }
|
Chris@76
|
485
|
Chris@76
|
486 ?> |