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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.29 - (hide annotations)
Sun Apr 27 04:01:04 2025 UTC (10 months, 2 weeks ago) by sysadm
Branch: MAIN
Changes since 1.28: +10 -10 lines
Refine

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

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