/[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.40 - (show annotations)
Fri Oct 24 02:45:16 2025 UTC (4 months, 3 weeks ago) by sysadm
Branch: MAIN
Changes since 1.39: +1 -1 lines
Remove legacy param $use_proxy of LML()

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

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