/[LeafOK_CVS]/fenglin/bbs/themes/default/view_article.view.php
ViewVC logotype

Contents of /fenglin/bbs/themes/default/view_article.view.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.37 - (show annotations)
Tue Jun 3 02:48:10 2025 UTC (9 months, 2 weeks ago) by sysadm
Branch: MAIN
Changes since 1.36: +6 -5 lines
Move ontop/lock flag from article level to topic level

1 <?php
2 // Prevent load standalone
3 if (!isset($result_set))
4 {
5 exit();
6 }
7
8 require_once "../lib/lml.inc.php";
9 require_once "../lib/str_process.inc.php";
10 require_once "./user_level.inc.php";
11
12 // Pre-defined color setting of article display
13 $color = array(
14 "#FAFBFC",
15 "#f0F3Fa"
16 );
17 $color_index = 0;
18
19 $title = htmlspecialchars($result_set["data"]["title"], ENT_HTML401, 'UTF-8');
20 $section_scope = ($result_set["data"]["ex"] ? "文摘区" : "讨论区");
21
22 $css_file = get_theme_file('css/default');
23
24 $navigator_bar = <<<HTML
25 <a class="s2" href="main.php?sid={$result_set['data']['sid']}">{$BBS_name}</a>&gt;&gt;<a class="s2" href="list.php?sid={$result_set['data']['sid']}">{$result_set["data"]["section_title"]}</a>&gt;&gt;<a class="s2" href="list.php?sid={$result_set['data']['sid']}&ex={$result_set['data']['ex']}">{$section_scope}</a>
26 <a class="s2" href="article_post.php?reply_id={$result_set['data']['id']}&quote=0" title="直接回复该文章">[快速回复]</a>
27 HTML;
28 if ($previous_id > 0)
29 {
30 $navigator_bar .= <<<HTML
31 <a class="s2" href="view_article.php?id={$previous_id}&ex={$result_set['data']['ex']}&trash={$result_set['data']['trash']}">[上一主题]</a>
32 HTML;
33 }
34 if ($next_id > 0)
35 {
36 $navigator_bar .= <<<HTML
37 <a class="s2" href="view_article.php?id={$next_id}&ex={$result_set['data']['ex']}&trash={$result_set['data']['trash']}">[下一主题]</a>
38 HTML;
39 }
40
41 $ex_dir_selector = "";
42 // Only show set_ex_file at page 1
43 if ($result_set["data"]["excerption"] && $result_set["data"]["page"] == 1 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S))
44 {
45 $option_non_ex_checked = ($result_set["data"]["fid"] == -1 ? "selected" : "");
46 $option_root_checked = ($result_set["data"]["fid"] == 0 ? "selected" : "");
47
48 $ex_dir_selector .= <<<HTML
49 <span id="err_msg_ex_dir" name="err_msg" style="color: red;"></span>
50 <select id="ex_dir" name="ex_dir" size="1">
51 <option value="-1" {$option_non_ex_checked}>[不属于精华区]</option>
52 <option value="0" {$option_root_checked}>(根目录)</option>
53 HTML;
54
55 foreach ($result_set["data"]["section_ex_dirs"] as $section_ex_dir)
56 {
57 $option_checked = ($result_set["data"]["fid"] == $section_ex_dir["fid"] ? "selected" : "");
58
59 $ex_dir_selector .= <<<HTML
60 <option value="{$section_ex_dir['fid']}" {$option_checked}>{$section_ex_dir["dir"]}({$section_ex_dir["name"]})</option>
61 HTML;
62 }
63
64 $ex_dir_selector .= <<<HTML
65 </select>
66 HTML;
67 }
68 else if ($result_set["data"]["fid"] >= 0)
69 {
70 $ex_dir_selector .= <<<HTML
71 <a class="s2" href="/gen_ex/{$result_set['data']['sid']}/{$result_set['data']['ex_dir']}" target="_blank" title="精华区目录">
72 {$result_set["data"]["ex_dir"]}({$result_set["data"]["ex_name"]})
73 </a>
74 HTML;
75 }
76
77 echo <<<HTML
78 <html>
79 <head>
80 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
81 <title>{$title}</title>
82 <link rel="stylesheet" href="{$css_file}" type="text/css">
83 <style type="text/css">
84 SPAN.title_normal
85 {
86 color: #909090;
87 }
88 SPAN.title_deleted
89 {
90 color: red;
91 text-decoration: line-through;
92 }
93 TD.content_normal
94 {
95 font-size: 16px;
96 }
97 TD.content_deleted
98 {
99 font-size: 16px;
100 text-decoration: line-through;
101 }
102 IMG.auto_adjust
103 {
104 display: none;
105 }
106 </style>
107 <script src="../js/polyfill.min.js"></script>
108 <script src="../js/axios.min.js"></script>
109 <script src="../js/jquery.min.js"></script>
110 <script type="text/javascript">
111 function ch_page(page)
112 {
113 document.change_page.page.value = page;
114 document.change_page.submit();
115 return false;
116 }
117
118 function ch_rpp()
119 {
120 document.change_page.page.value = Math.floor((document.change_page.page.value - 1) * {$result_set["data"]["rpp"]} / document.change_page.rpp.value) + 1;
121 document.change_page.submit();
122 return false;
123 }
124
125 function refresh_err_msg(errorFieldMap)
126 {
127 document.getElementsByName("err_msg").forEach(element => {
128 element.innerHTML = (errorFieldMap.has(element.id) ? errorFieldMap.get(element.id) : "");
129 });
130 }
131
132 function upload_del(id)
133 {
134 if (window.confirm('真的要删除吗?') == false)
135 {
136 return false;
137 }
138
139 instance.post('upload_service_del.php', {
140 aid: id,
141 })
142 .then(function (response) {
143 var ret = response.data;
144 var errorFieldMap = new Map();
145 switch (ret.return.code)
146 {
147 case 0: // OK
148 case 1: // Already deleted
149 document.getElementById("attachment_" + id).style.display = "none";
150 refresh_err_msg(errorFieldMap);
151 break;
152 case -1: // Input validation failed
153 errorFieldMap.set("err_msg_attachment_" + id, ret.return.message);
154 refresh_err_msg(errorFieldMap);
155 break;
156 case -2: // Internal error
157 console.log(ret.return.message);
158 errorFieldMap.set("err_msg_attachment_" + id, "内部错误<br />");
159 refresh_err_msg(errorFieldMap);
160 break;
161 default:
162 console.log(ret.return.code);
163 break;
164 }
165 })
166 .catch(function (error) {
167 console.log(error);
168 });
169
170 return false;
171 }
172
173 function article_op(op_type, id, set, confirm = false)
174 {
175 var opService = new Map([
176 ["delete", "article_service_del.php"],
177 ["restore", "article_service_restore.php"],
178 ["excerption", "article_service_excerption.php"],
179 ["ontop", "article_service_ontop.php"],
180 ["lock", "article_service_lock.php"],
181 ["transship", "article_service_transship.php"],
182 ]);
183
184 var opNeedRefresh = new Set([
185 "delete",
186 "restore",
187 ]);
188
189 if (confirm && window.confirm('真的要操作吗?') == false)
190 {
191 return false;
192 }
193
194 instance.post(opService.get(op_type), {
195 id: id,
196 set: set,
197 })
198 .then(function (response) {
199 var ret = response.data;
200 var errorFieldMap = new Map();
201 switch (ret.return.code)
202 {
203 case 0: // OK
204 case 1: // Already set
205 if (opNeedRefresh.has(op_type))
206 {
207 // Refresh with additional parameters
208 document.location = "view_article.php?trash=1&rpp={$result_set["data"]["rpp"]}&ts=" + Date.now() + "&id=" + id + "#" + id;
209 break;
210 }
211 document.getElementById("set_" + op_type + "_" + id).style.display = (set ? "none" : "inline");
212 document.getElementById("unset_" + op_type + "_" + id).style.display = (set ? "inline" : "none");
213 refresh_err_msg(errorFieldMap);
214 break;
215 case -1: // Input validation failed
216 errorFieldMap.set("err_msg_ctrl_" + id, ret.return.message);
217 refresh_err_msg(errorFieldMap);
218 break;
219 case -2: // Internal error
220 console.log(ret.return.message);
221 errorFieldMap.set("err_msg_ctrl_" + id, "内部错误");
222 refresh_err_msg(errorFieldMap);
223 break;
224 default:
225 console.log(ret.return.code);
226 break;
227 }
228 })
229 .catch(function (error) {
230 console.log(error);
231 });
232
233 return false;
234 }
235
236 function move_article(sid)
237 {
238 instance.post('article_service_move.php', {
239 id: {$result_set["data"]["id"]},
240 sid: sid,
241 })
242 .then(function (response) {
243 var ret = response.data;
244 var errorFieldMap = new Map();
245 switch (ret.return.code)
246 {
247 case 0: // OK
248 refresh_err_msg(errorFieldMap);
249 document.location = "view_article.php?id={$result_set["data"]["id"]}&trash={$result_set["data"]["trash"]}&rpp={$result_set["data"]["rpp"]}&ts=" + Date.now();
250 break;
251 case -1: // Input validation failed
252 errorFieldMap.set("err_msg_move", ret.return.message);
253 refresh_err_msg(errorFieldMap);
254 break;
255 case -2: // Internal error
256 console.log(ret.return.message);
257 errorFieldMap.set("err_msg_move", "内部错误");
258 refresh_err_msg(errorFieldMap);
259 break;
260 default:
261 console.log(ret.return.code);
262 break;
263 }
264 })
265 .catch(function (error) {
266 console.log(error);
267 });
268
269 return false;
270 }
271
272 function set_ex_dir(fid)
273 {
274 instance.post('article_service_genex.php', {
275 id: {$result_set["data"]["id"]},
276 fid: fid,
277 })
278 .then(function (response) {
279 var ret = response.data;
280 var errorFieldMap = new Map();
281 switch (ret.return.code)
282 {
283 case 0: // OK
284 refresh_err_msg(errorFieldMap);
285 document.location = "view_article.php?id={$result_set["data"]["id"]}&trash={$result_set["data"]["trash"]}&rpp={$result_set["data"]["rpp"]}&ts=" + Date.now();
286 break;
287 case -1: // Input validation failed
288 errorFieldMap.set("err_msg_ex_dir", ret.return.message);
289 refresh_err_msg(errorFieldMap);
290 break;
291 case -2: // Internal error
292 console.log(ret.return.message);
293 errorFieldMap.set("err_msg_ex_dir", "内部错误");
294 refresh_err_msg(errorFieldMap);
295 break;
296 default:
297 console.log(ret.return.code);
298 break;
299 }
300 })
301 .catch(function (error) {
302 console.log(error);
303 });
304
305 return false;
306 }
307
308 const instance = axios.create({
309 withCredentials: true,
310 timeout: 3000,
311 baseURL: document.location.protocol + '//' + document.location.hostname + (document.location.port=='' ? '' : (':' + document.location.port)) + '/bbs/',
312 });
313
314 window.addEventListener("load", () => {
315 var s = document.getElementById("ex_dir");
316 if (s)
317 {
318 s.addEventListener("change", (e) => {
319 set_ex_dir(s.value);
320 });
321 }
322
323 var f = document.getElementById("move_article");
324 if (f)
325 {
326 f.addEventListener("submit", (e) => {
327 e.preventDefault();
328 if (f.sid.value > 0)
329 {
330 move_article(f.sid.value);
331 }
332 });
333 }
334 });
335
336 $(document).ready(function() {
337 $("img[class=auto_adjust]").on("load", function() {
338 if ($(this).width() > {$BBS_img_max_width})
339 {
340 $(this).width({$BBS_img_max_width});
341 }
342 $(this).show();
343 })
344 .on("mousewheel", function(e) {
345 var zoom = parseFloat($(this).css("zoom"));
346 zoom *= (1 + e.originalEvent.wheelDelta / 1000);
347 if (zoom > 0)
348 {
349 $(this).css("zoom", zoom);
350 }
351 });
352 });
353 </script>
354 </head>
355 <body>
356 <a name="top"></a>
357 <center>
358 <span id="err_msg_prompt" name="err_msg" style="color: red;"></span>
359 <table cols="2" border="0" cellpadding="0" cellspacing="0" width="1050">
360 <tr>
361 <td width="50%">
362 {$navigator_bar}
363 </td>
364 <td width="50%" align="right">
365 {$ex_dir_selector}
366 </td>
367 </tr>
368 <tr bgcolor="#d0d3F0" height="25">
369 <td colspan="2" align="center" class="title">
370 [{$result_set["data"]["id"]}]&nbsp;主题:&nbsp;{$title}
371 </td>
372 </tr>
373 </table>
374 HTML;
375
376 foreach ($result_set["data"]["articles"] as $article)
377 {
378 $color_index = ($color_index + 1) % count($color);
379
380 $user_viewable = (isset($result_set["data"]["author_list"][$article["uid"]]) ? "true" : "false");
381
382 if ($article["tid"] != 0)
383 {
384 echo <<<HTML
385 <a name="{$article['aid']}"></a>
386 <table border="0" cellpadding="0" cellspacing="0" width="1050">
387 <tr height="1" bgcolor="#202020">
388 <td>
389 </td>
390 </tr>
391 </table>
392 HTML;
393 }
394
395 $article_ctrl_bar = "";
396 if ($_SESSION["BBS_priv"]->checkpriv(0, S_MSG) && $_SESSION["BBS_uid"] != $article["uid"])
397 {
398 $article_ctrl_bar .= <<<HTML
399 <img src="images/mail.gif" width="16" height="16"><a class="s4" href="msg_read.php?sent=1&uid={$article['uid']}" target="_blank" title="给作者发消息">消息</a>
400 HTML;
401 }
402 if ($article["visible"])
403 {
404 if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) && $_SESSION["BBS_uid"] == $article["uid"] && (!$article["excerption"]))
405 {
406 $article_ctrl_bar .= <<<HTML
407 <a class="s4" href="article_post.php?id={$article['aid']}" title="修改该文章">修改</a>
408 HTML;
409 }
410 if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) &&
411 ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_MAN_S) || $_SESSION["BBS_uid"] == $article["uid"]) && (!$article["excerption"]))
412 {
413 $article_ctrl_bar .= <<<HTML
414 <span id="set_delete_{$article['aid']}"><img src="images/del.gif" width="16" height="16"><a class="s4" href="" onclick="return article_op('delete', {$article['aid']}, 1, true);" title="删除该文章">删除</a></span>
415 HTML;
416 }
417 if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) &&
418 (!$result_set["data"]["lock"]))
419 {
420 $article_ctrl_bar .= <<<HTML
421 <img src="images/edit.gif" width="16" height="16"><a class="s4" href="article_post.php?reply_id={$article['aid']}" title="引用回复该文章">回复</a>
422 HTML;
423 }
424 if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S))
425 {
426 $set_ex_display = ($article["excerption"] ? "none" : "inline");
427 $unset_ex_display = ($article["excerption"] ? "inline" : "none");
428
429 $article_ctrl_bar .= <<<HTML
430 <a class="s4" id="set_excerption_{$article['aid']}" style="display: {$set_ex_display}" href="" onclick="return article_op('excerption', {$article['aid']}, 1)" title="加入文摘区">收录</a>
431 <a class="s4" id="unset_excerption_{$article['aid']}" style="display: {$unset_ex_display}" href="" onclick="return article_op('excerption', {$article['aid']}, 0, true)" title="移出文摘区">移出</a>
432 HTML;
433 }
434 if ($article["tid"] == 0 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S))
435 {
436 $set_ontop_display = ($result_set["data"]["ontop"] ? "none" : "inline");
437 $unset_ontop_display = ($result_set["data"]["ontop"] ? "inline" : "none");
438
439 $article_ctrl_bar .= <<<HTML
440 <a class="s4" id="set_ontop_{$article['aid']}" style="display: {$set_ontop_display}" href="" onclick="return article_op('ontop', {$article['aid']}, 1, true)" title="置顶">置顶</a>
441 <a class="s4" id="unset_ontop_{$article['aid']}" style="display: {$unset_ontop_display}" href="" onclick="return article_op('ontop', {$article['aid']}, 0)" title="取消置顶">取消置顶</a>
442 HTML;
443 }
444 if ($article["tid"] == 0 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) &&
445 ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_MAN_S) || $_SESSION["BBS_uid"] == $article["uid"]))
446 {
447 $set_lock_display = ($result_set["data"]["lock"] ? "none" : "inline");
448 $unset_lock_display = ($result_set["data"]["lock"] ? "inline" : "none");
449
450 $article_ctrl_bar .= <<<HTML
451 <a class="s4" id="set_lock_{$article['aid']}" style="display: {$set_lock_display}" href="" onclick="return article_op('lock', {$article['aid']}, 1);" title="禁止回复">静默</a>
452 <a class="s4" id="unset_lock_{$article['aid']}" style="display: {$unset_lock_display}" href="" onclick="return article_op('lock', {$article['aid']}, 0);" title="取消禁止回复">取消静默</a>
453 HTML;
454 }
455 if ($article["tid"] == 0 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S) && (!$article["transship"]) && (!$article["excerption"]))
456 {
457 $set_transship_display = ($article["transship"] ? "none" : "inline");
458
459 $article_ctrl_bar .= <<<HTML
460 <a class="s4" id="set_transship_{$article['aid']}" style="display: {$set_transship_display}" href="" onclick="return article_op('transship', {$article['aid']}, 1, true);" title="设为转载">设为转载</a>
461 <a class="s4" id="unset_transship_{$article['aid']}" style="display: none" href=""></a>
462 HTML;
463 }
464 }
465 else
466 {
467 if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S) && $article["m_del"])
468 {
469 $article_ctrl_bar .= <<<HTML
470 <a class="s4" id="set_restore_{$article['aid']}" href="" onclick="return article_op('restore', {$article['aid']}, 1, true);" title="恢复删除">恢复</a>
471 HTML;
472 }
473 }
474
475 $username = htmlspecialchars($article["username"], ENT_HTML401, 'UTF-8');
476 $nickname = htmlspecialchars($article["nickname"], ENT_HTML401, 'UTF-8');
477 $title_f = split_line(htmlspecialchars($article["title"], ENT_HTML401, 'UTF-8'), "", 65, 2, "<br />");
478 $title_class = ($article["visible"] ? "title_normal" : "title_deleted");
479 $content_f = LML(htmlspecialchars($article["content"], ENT_HTML401, 'UTF-8'), true, true, 80);
480 $content_class = ($article["visible"] ? "content_normal" : "content_deleted");
481
482 $transship_info = "";
483 if ($article["transship"])
484 {
485 $transship_info = <<<HTML
486 <font color="red">[转载]</font>
487 HTML;
488 }
489
490 $level = user_level($article["exp"]);
491
492 $atta_list = "";
493 foreach ($article["attachments"] as $attachment)
494 {
495 $filename = $attachment["filename"];
496
497 $atta_list .= <<<HTML
498 <span id="attachment_{$attachment['aid']}"><img src="images/closed.gif"><a class="s2" href="dl_file.php?aid={$attachment['aid']}" target="_target">{$filename}</a> ({$attachment["size"]}字节)
499 HTML;
500
501 if (!$attachment["check"])
502 {
503 $atta_list .= <<<HTML
504 <font color="red">未审核</font>
505 HTML;
506 }
507
508 if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) &&
509 ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_MAN_S) || $_SESSION["BBS_uid"] == $article["uid"]) && (!$article["excerption"]))
510 {
511 $atta_list .= <<<HTML
512 <a class="s2" href="#" onclick="return upload_del({$attachment['aid']});">删除</a>
513 <span id="err_msg_attachment_{$attachment['aid']}" name="err_msg" style="color: red;"></span>
514 HTML;
515 }
516
517 if ($attachment["check"])
518 {
519 $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
520 switch ($ext)
521 {
522 case "bmp":
523 case "gif":
524 case "jpg":
525 case "jpeg":
526 case "png":
527 case "tif":
528 case "tiff":
529 $atta_list .= <<<HTML
530 <br />
531 <img class="auto_adjust" src="dl_file.php?aid={$attachment['aid']}">
532 HTML;
533 break;
534 }
535 }
536
537 $atta_list .= <<<HTML
538 </span><br />
539 HTML;
540 }
541
542 echo <<<HTML
543 <table bgcolor="{$color[$color_index]}" border="0" cellpadding="0" cellspacing="10" width="1050">
544 <tr>
545 <td width="20%">
546 </td>
547 <td width="75%">
548 {$article_ctrl_bar}
549 <span id="err_msg_ctrl_{$article['aid']}" name="err_msg" style="color: red;"></span>
550 </td>
551 <td width="5%">
552 </td>
553 </tr>
554 <tr>
555 <td width="20%" align="center">
556 作者:&nbsp;<a class="s2" href="view_user.php?uid={$article['uid']}" onclick='return {$user_viewable}' target=_blank title="查看用户资料">{$username}</a>
557 </td>
558 <td width="75%" class="body">
559 <span style="color: #606060">标题:</span>
560 <img src="images/expression/{$article['icon']}.gif">
561 <span id="title_{$article['aid']}" class="{$title_class}">
562 {$title_f}
563 </span>
564 {$transship_info}
565 </td>
566 <td width="5%">
567 </td>
568 </tr>
569 <tr>
570 <td align="center">
571 昵称:&nbsp;<span style="color: #909090">{$nickname}</span>
572 </td>
573 <td class="body">
574 <span style="color: #606060">来自:</span>&nbsp;<span style="color: #909090">{$article["sub_ip"]}</span>
575 </td>
576 <td>
577 </td>
578 </tr>
579 <tr>
580 <td align="center">
581 经验值:&nbsp;<span style="color:red;">{$article["exp"]}</span>
582 </td>
583 <td class="body">
584 <span style="color: #606060">发贴时间:</span>&nbsp;<span style="color: #909090">{$article["sub_dt"]->format("Y年m月d日 H:i:s (\U\T\C P)")}</span>
585 </td>
586 <td>
587 </td>
588 </tr>
589 <tr>
590 <td align="center">
591 等级:&nbsp;<span style="color: #909090">{$level}</span>
592 </td>
593 <td class="body">
594 <span style="color: #606060">长度:</span>&nbsp;<span style="color: #909090">{$article["length"]}字</span>
595 </td>
596 <td>
597 </td>
598 </tr>
599 <tr height="2">
600 <td>
601 </td>
602 <td style="background-color: #909090">
603 </td>
604 <td>
605 </td>
606 </tr>
607 <tr>
608 <td align="center" valign="top">
609 <img src="{$article['photo_path']}" border="0">
610 </td>
611 <td id="content_{$article['aid']}" class="{$content_class}">
612 <pre>{$content_f}</pre>
613 </td>
614 <td>
615 </td>
616 </tr>
617 <tr>
618 <td>
619 </td>
620 <td style="color: #000000">
621 ========== * * * * * ==========
622 <br />
623 {$atta_list}
624 </td>
625 <td>
626 </td>
627 </tr>
628 </table>
629
630 HTML;
631 }
632
633 $rpp_options = "";
634 foreach ($BBS_view_rpp_options as $v)
635 {
636 $selected = ($v == $result_set["data"]["rpp"] ? "selected" : "");
637
638 $rpp_options .= <<<HTML
639 <option value="{$v}" {$selected}>{$v}</option>
640 HTML;
641 }
642
643 echo <<<HTML
644 <table cols="3" border="0" cellpadding="5" cellspacing="0" width="1050">
645 <tr bgcolor="#d0d3F0" height="10">
646 <td colspan="3">
647 </td>
648 </tr>
649 <tr>
650 <td width="40%" style="color: #909090">
651 <form action="view_article.php" method="get" id="change_page" name="change_page">
652 <input type="hidden" id="id" name="id" value="{$result_set['data']['id']}">
653 <input type="hidden" id="ex" name="ex" value="{$result_set['data']['ex']}">
654 <input type="hidden" id="trash" name="trash" value="{$result_set['data']['trash']}">
655 每页<select size="1" id="rpp" name="rpp" onchange="ch_rpp()">
656 {$rpp_options}
657 </select>条
658 HTML;
659
660 if ($result_set["data"]["page"] > 1)
661 {
662 echo <<<HTML
663 <a class="s8" title="首页" href="" onclick="return ch_page(1)">|◀</a>
664 <a class="s8" title="上一页" href="" onclick="return ch_page({$result_set['data']['page']} - 1)">◀</a>
665 HTML;
666 }
667 else
668 {
669 echo <<<HTML
670 |◀ ◀
671 HTML;
672 }
673
674 echo <<<HTML
675 第<input id="page" name="page" value="{$result_set['data']['page']}" style="width: 30px;">/{$result_set['data']['page_total']}页
676 HTML;
677
678 if ($result_set["data"]["page"] < $result_set["data"]["page_total"])
679 {
680 echo <<<HTML
681 <a class="s8" title="下一页" href="" onclick="return ch_page({$result_set['data']['page']} + 1)">▶</a>
682 <a class="s8" title="尾页" href="" onclick="return ch_page({$result_set['data']['page_total']})">▶|</a>
683 HTML;
684 }
685 else
686 {
687 echo <<<HTML
688 ▶ ▶|
689 HTML;
690 }
691
692 echo <<<HTML
693 </form>
694 </td>
695 <td width="35%" align="center">
696 HTML;
697
698 if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S) && (!$result_set["data"]["excerption"]))
699 {
700 echo <<<HTML
701 <form method="post" id="move_article" name="move_article" action="#">
702 <select id="sid" name="sid" size="1">
703 {$result_set["data"]["section_list_options"]}
704 </select>
705 <input type="submit" value="移动">
706 <span id="err_msg_move" name="err_msg" style="color: red;"></span>
707 </form>
708 HTML;
709 }
710
711 echo <<<HTML
712 </td>
713 <td width="25%" align="right">
714 <a class="s2" href="#top" title="返回页首"><img src="images/gotop.gif" border="0">Top<img src="images/gotop.gif" border="0"></a>
715 </td>
716 </tr>
717 </table>
718 </center>
719 HTML;
720
721 include "./foot.inc.php";
722
723 echo <<<HTML
724 </body>
725 </html>
726 HTML;

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1