/[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.34 - (hide annotations)
Wed May 7 12:12:32 2025 UTC (10 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.33: +11 -18 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 sysadm 1.33 IMG.auto_adjust
103     {
104     display: none;
105     }
106 sysadm 1.27 </style>
107     <script src="../js/polyfill.min.js"></script>
108     <script src="../js/axios.min.js"></script>
109 sysadm 1.33 <script src="../js/jquery.min.js"></script>
110 sysadm 1.27 <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 sysadm 1.1
118 sysadm 1.27 function ch_rpp()
119 sysadm 1.1 {
120 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;
121     document.change_page.submit();
122 sysadm 1.1 return false;
123     }
124    
125 sysadm 1.27 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 sysadm 1.1 break;
164 sysadm 1.27 }
165     })
166     .catch(function (error) {
167     console.log(error);
168     });
169 sysadm 1.1
170 sysadm 1.27 return false;
171     }
172 sysadm 1.1
173 sysadm 1.27 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 sysadm 1.1
189 sysadm 1.27 if (confirm && window.confirm('真的要操作吗?') == false)
190     {
191     return false;
192     }
193 sysadm 1.1
194 sysadm 1.27 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 sysadm 1.1
233 sysadm 1.27 return false;
234     }
235 sysadm 1.1
236 sysadm 1.27 function move_article(sid)
237 sysadm 1.1 {
238 sysadm 1.27 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 sysadm 1.1 });
268 sysadm 1.27
269     return false;
270 sysadm 1.1 }
271    
272 sysadm 1.27 function set_ex_dir(fid)
273 sysadm 1.1 {
274 sysadm 1.27 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 sysadm 1.1 });
304 sysadm 1.27
305     return false;
306 sysadm 1.1 }
307    
308 sysadm 1.27 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 sysadm 1.34 $(document).ready(function() {
315     $("#ex_dir").on("change", function(e) {
316     set_ex_dir($("#ex_dir").find(":selected").val());
317     });
318 sysadm 1.27
319 sysadm 1.34 $("#move_article").on("submit", (e) => {
320     e.preventDefault();
321     if ($("#move_article").find("#sid").find(":selected").val() > 0)
322     {
323     move_article($("#move_article").find("#sid").find(":selected").val());
324     }
325     });
326 sysadm 1.27
327 sysadm 1.33 $("img[class=auto_adjust]").on("load", function() {
328     if ($(this).width() > {$BBS_img_max_width})
329     {
330     $(this).width({$BBS_img_max_width});
331     }
332     $(this).show();
333     })
334     .on("mousewheel", function(e) {
335     var zoom = parseFloat($(this).css("zoom"));
336     zoom *= (1 + e.originalEvent.wheelDelta / 1000);
337     if (zoom > 0)
338     {
339     $(this).css("zoom", zoom);
340     }
341     });
342     });
343 sysadm 1.27 </script>
344     <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3013347141025996" crossorigin="anonymous">
345     </script>
346     </head>
347     <body>
348 sysadm 1.1 <a name="top"></a>
349     <center>
350     <span id="err_msg_prompt" name="err_msg" style="color: red;"></span>
351 sysadm 1.7 <table cols="2" border="0" cellpadding="0" cellspacing="0" width="1050">
352 sysadm 1.1 <tr>
353     <td width="50%">
354 sysadm 1.27 {$navigator_bar}
355 sysadm 1.1 </td>
356     <td width="50%" align="right">
357 sysadm 1.27 {$ex_dir_selector}
358 sysadm 1.1 </td>
359     </tr>
360 sysadm 1.7 <tr bgcolor="#d0d3F0" height="25">
361 sysadm 1.1 <td colspan="2" align="center" class="title">
362 sysadm 1.27 [{$result_set["data"]["id"]}]&nbsp;主题:&nbsp;{$title}
363 sysadm 1.1 </td>
364     </tr>
365     </table>
366 sysadm 1.27 HTML;
367    
368 sysadm 1.1 foreach ($result_set["data"]["articles"] as $article)
369     {
370     $color_index = ($color_index + 1) % count($color);
371    
372 sysadm 1.27 $user_viewable = (isset($result_set["data"]["author_list"][$article["uid"]]) ? "true" : "false");
373 sysadm 1.8
374 sysadm 1.1 if ($article["tid"] != 0)
375     {
376 sysadm 1.27 echo <<<HTML
377     <a name="{$article['aid']}"></a>
378     <table border="0" cellpadding="0" cellspacing="0" width="1050">
379     <tr height="1" bgcolor="#202020">
380     <td>
381     </td>
382     </tr>
383     </table>
384     HTML;
385 sysadm 1.1 }
386 sysadm 1.27
387     $article_ctrl_bar = "";
388 sysadm 1.1 if ($_SESSION["BBS_priv"]->checkpriv(0, S_MSG) && $_SESSION["BBS_uid"] != $article["uid"])
389     {
390 sysadm 1.27 $article_ctrl_bar .= <<<HTML
391     <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>
392     HTML;
393 sysadm 1.1 }
394     if ($article["visible"])
395     {
396     if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) && $_SESSION["BBS_uid"] == $article["uid"] && (!$article["excerption"]))
397     {
398 sysadm 1.27 $article_ctrl_bar .= <<<HTML
399     <a class="s4" href="article_post.php?id={$article['aid']}" title="修改该文章">修改</a>
400     HTML;
401 sysadm 1.1 }
402     if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) &&
403     ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_MAN_S) || $_SESSION["BBS_uid"] == $article["uid"]) && (!$article["excerption"]))
404     {
405 sysadm 1.27 $article_ctrl_bar .= <<<HTML
406     <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>
407     HTML;
408 sysadm 1.1 }
409     if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST))
410     {
411 sysadm 1.27 $article_ctrl_bar .= <<<HTML
412     <img src="images/edit.gif" width="16" height="16"><a class="s4" href="article_post.php?reply_id={$article['aid']}" title="引用回复该文章">回复</a>
413     HTML;
414 sysadm 1.1 }
415     if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S))
416     {
417 sysadm 1.27 $set_ex_display = ($article["excerption"] ? "none" : "inline");
418     $unset_ex_display = ($article["excerption"] ? "inline" : "none");
419    
420     $article_ctrl_bar .= <<<HTML
421     <a class="s4" id="set_excerption_{$article['aid']}" style="display: {$set_ex_display}" href="" onclick="return article_op('excerption', {$article['aid']}, 1)" title="加入文摘区">收录</a>
422     <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>
423     HTML;
424 sysadm 1.1 }
425     if ($article["tid"] == 0 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S))
426     {
427 sysadm 1.27 $set_ontop_display = ($article["ontop"] ? "none" : "inline");
428     $unset_ontop_display = ($article["ontop"] ? "inline" : "none");
429    
430     $article_ctrl_bar .= <<<HTML
431     <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>
432     <a class="s4" id="unset_ontop_{$article['aid']}" style="display: {$unset_ontop_display}" href="" onclick="return article_op('ontop', {$article['aid']}, 0)" title="取消置顶">取消置顶</a>
433     HTML;
434 sysadm 1.1 }
435 sysadm 1.29 if ($article["tid"] == 0 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) &&
436 sysadm 1.1 ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_MAN_S) || $_SESSION["BBS_uid"] == $article["uid"]))
437     {
438 sysadm 1.27 $set_lock_display = ($article["lock"] ? "none" : "inline");
439     $unset_lock_display = ($article["lock"] ? "inline" : "none");
440    
441     $article_ctrl_bar .= <<<HTML
442     <a class="s4" id="set_lock_{$article['aid']}" style="display: {$set_lock_display}" href="" onclick="return article_op('lock', {$article['aid']}, 1);" title="禁止回复">静默</a>
443     <a class="s4" id="unset_lock_{$article['aid']}" style="display: {$unset_lock_display}" href="" onclick="return article_op('lock', {$article['aid']}, 0);" title="取消禁止回复">取消静默</a>
444     HTML;
445 sysadm 1.1 }
446     if ($article["tid"] == 0 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S) && (!$article["transship"]) && (!$article["excerption"]))
447     {
448 sysadm 1.27 $set_transship_display = ($article["transship"] ? "none" : "inline");
449    
450     $article_ctrl_bar .= <<<HTML
451     <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>
452     <a class="s4" id="unset_transship_{$article['aid']}" style="display: none" href=""></a>
453     HTML;
454 sysadm 1.1 }
455     }
456     else
457     {
458     if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S) && $article["m_del"])
459     {
460 sysadm 1.27 $article_ctrl_bar .= <<<HTML
461     <a class="s4" id="set_restore_{$article['aid']}" href="" onclick="return article_op('restore', {$article['aid']}, 1, true);" title="恢复删除">恢复</a>
462     HTML;
463     }
464     }
465    
466     $username = htmlspecialchars($article["username"], ENT_HTML401, 'UTF-8');
467     $nickname = htmlspecialchars($article["nickname"], ENT_HTML401, 'UTF-8');
468     $title_f = split_line(htmlspecialchars($article["title"], ENT_HTML401, 'UTF-8'), "", 65, 2, "<br />");
469     $title_class = ($article["visible"] ? "title_normal" : "title_deleted");
470 sysadm 1.29 $content_f = LML(htmlspecialchars($article["content"], ENT_HTML401, 'UTF-8'), true, true, 80);
471 sysadm 1.27 $content_class = ($article["visible"] ? "content_normal" : "content_deleted");
472    
473     $transship_info = "";
474     if ($article["transship"])
475     {
476     $transship_info = <<<HTML
477     <font color="red">[转载]</font>
478     HTML;
479     }
480    
481     $level = user_level($article["exp"]);
482    
483     $atta_list = "";
484     foreach ($article["attachments"] as $attachment)
485     {
486     $filename = $attachment["filename"];
487    
488     $atta_list .= <<<HTML
489     <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"]}字节)
490     HTML;
491    
492     if (!$attachment["check"])
493     {
494     $atta_list .= <<<HTML
495     <font color="red">未审核</font>
496     HTML;
497     }
498    
499     if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) &&
500     ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_MAN_S) || $_SESSION["BBS_uid"] == $article["uid"]) && (!$article["excerption"]))
501     {
502     $atta_list .= <<<HTML
503     <a class="s2" href="#" onclick="return upload_del({$attachment['aid']});">删除</a>
504     <span id="err_msg_attachment_{$attachment['aid']}" name="err_msg" style="color: red;"></span>
505     HTML;
506     }
507    
508     if ($attachment["check"])
509     {
510 sysadm 1.28 $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
511 sysadm 1.27 switch ($ext)
512     {
513     case "bmp":
514     case "gif":
515     case "jpg":
516     case "jpeg":
517     case "png":
518     case "tif":
519     case "tiff":
520     $atta_list .= <<<HTML
521     <br />
522 sysadm 1.33 <img class="auto_adjust" src="dl_file.php?aid={$attachment['aid']}">
523 sysadm 1.27 HTML;
524     break;
525     }
526 sysadm 1.1 }
527 sysadm 1.27
528     $atta_list .= <<<HTML
529     </span><br />
530     HTML;
531 sysadm 1.1 }
532 sysadm 1.27
533     echo <<<HTML
534     <table bgcolor="{$color[$color_index]}" border="0" cellpadding="0" cellspacing="10" width="1050">
535     <tr>
536     <td width="20%">
537     </td>
538     <td width="75%">
539     {$article_ctrl_bar}
540     <span id="err_msg_ctrl_{$article['aid']}" name="err_msg" style="color: red;"></span>
541 sysadm 1.1 </td>
542     <td width="5%">
543     </td>
544     </tr>
545     <tr>
546     <td width="20%" align="center">
547 sysadm 1.27 作者:&nbsp;<a class="s2" href="view_user.php?uid={$article['uid']}" onclick='return {$user_viewable}' target=_blank title="查看用户资料">{$username}</a>
548 sysadm 1.1 </td>
549     <td width="75%" class="body">
550 sysadm 1.29 <span style="color: #606060">标题:</span>
551 sysadm 1.27 <img src="images/expression/{$article['icon']}.gif">
552     <span id="title_{$article['aid']}" class="{$title_class}">
553     {$title_f}
554 sysadm 1.1 </span>
555 sysadm 1.27 {$transship_info}
556 sysadm 1.1 </td>
557     <td width="5%">
558     </td>
559     </tr>
560     <tr>
561     <td align="center">
562 sysadm 1.29 昵称:&nbsp;<span style="color: #909090">{$nickname}</span>
563 sysadm 1.1 </td>
564     <td class="body">
565 sysadm 1.29 <span style="color: #606060">来自:</span>&nbsp;<span style="color: #909090">{$article["sub_ip"]}</span>
566 sysadm 1.1 </td>
567     <td>
568     </td>
569     </tr>
570     <tr>
571     <td align="center">
572 sysadm 1.27 经验值:&nbsp;<span style="color:red;">{$article["exp"]}</span>
573 sysadm 1.1 </td>
574     <td class="body">
575 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>
576 sysadm 1.1 </td>
577     <td>
578     </td>
579     </tr>
580     <tr>
581     <td align="center">
582 sysadm 1.29 等级:&nbsp;<span style="color: #909090">{$level}</span>
583 sysadm 1.1 </td>
584     <td class="body">
585 sysadm 1.29 <span style="color: #606060">长度:</span>&nbsp;<span style="color: #909090">{$article["length"]}字</span>
586 sysadm 1.1 </td>
587     <td>
588     </td>
589     </tr>
590     <tr height="2">
591     <td>
592     </td>
593 sysadm 1.29 <td style="background-color: #909090">
594 sysadm 1.1 </td>
595     <td>
596     </td>
597     </tr>
598     <tr>
599     <td align="center" valign="top">
600 sysadm 1.27 <img src="{$article['photo_path']}" border="0">
601 sysadm 1.1 </td>
602 sysadm 1.27 <td id="content_{$article['aid']}" class="{$content_class}">
603     <pre>{$content_f}</pre>
604 sysadm 1.1 </td>
605     <td>
606     </td>
607     </tr>
608     <tr>
609     <td>
610     </td>
611 sysadm 1.29 <td style="color: #000000">
612 sysadm 1.1 ========== * * * * * ==========
613     <br />
614 sysadm 1.27 {$atta_list}
615 sysadm 1.1 </td>
616     <td>
617     </td>
618     </tr>
619     </table>
620 sysadm 1.27
621     HTML;
622     }
623    
624     $rpp_options = "";
625     foreach ($BBS_view_rpp_options as $v)
626     {
627     $selected = ($v == $result_set["data"]["rpp"] ? "selected" : "");
628    
629     $rpp_options .= <<<HTML
630     <option value="{$v}" {$selected}>{$v}</option>
631     HTML;
632 sysadm 1.1 }
633 sysadm 1.27
634     echo <<<HTML
635 sysadm 1.7 <table cols="3" border="0" cellpadding="5" cellspacing="0" width="1050">
636 sysadm 1.1 <tr bgcolor="#d0d3F0" height="10">
637     <td colspan="3">
638     </td>
639     </tr>
640     <tr>
641 sysadm 1.10 <td width="40%" style="color: #909090">
642 sysadm 1.1 <form action="view_article.php" method="get" id="change_page" name="change_page">
643 sysadm 1.27 <input type="hidden" id="id" name="id" value="{$result_set['data']['id']}">
644     <input type="hidden" id="ex" name="ex" value="{$result_set['data']['ex']}">
645     <input type="hidden" id="trash" name="trash" value="{$result_set['data']['trash']}">
646     每页<select size="1" id="rpp" name="rpp" onchange="ch_rpp()">
647     {$rpp_options}
648 sysadm 1.1 </select>条
649 sysadm 1.27 HTML;
650    
651 sysadm 1.1 if ($result_set["data"]["page"] > 1)
652     {
653 sysadm 1.27 echo <<<HTML
654     <a class="s8" title="首页" href="" onclick="return ch_page(1)">|◀</a>
655     <a class="s8" title="上一页" href="" onclick="return ch_page({$result_set['data']['page']} - 1)">◀</a>
656     HTML;
657 sysadm 1.1 }
658     else
659     {
660 sysadm 1.27 echo <<<HTML
661     |◀ ◀
662     HTML;
663 sysadm 1.1 }
664 sysadm 1.27
665     echo <<<HTML
666     第<input id="page" name="page" value="{$result_set['data']['page']}" style="width: 30px;">/{$result_set['data']['page_total']}页
667     HTML;
668    
669 sysadm 1.1 if ($result_set["data"]["page"] < $result_set["data"]["page_total"])
670     {
671 sysadm 1.27 echo <<<HTML
672     <a class="s8" title="下一页" href="" onclick="return ch_page({$result_set['data']['page']} + 1)">▶</a>
673     <a class="s8" title="尾页" href="" onclick="return ch_page({$result_set['data']['page_total']})">▶|</a>
674     HTML;
675 sysadm 1.1 }
676     else
677     {
678 sysadm 1.27 echo <<<HTML
679     ▶ ▶|
680     HTML;
681 sysadm 1.1 }
682 sysadm 1.27
683     echo <<<HTML
684 sysadm 1.1 </form>
685     </td>
686     <td width="35%" align="center">
687 sysadm 1.27 HTML;
688    
689 sysadm 1.1 if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S) && (!$result_set["data"]["excerption"]))
690     {
691 sysadm 1.27 echo <<<HTML
692 sysadm 1.1 <form method="post" id="move_article" name="move_article" action="#">
693     <select id="sid" name="sid" size="1">
694 sysadm 1.27 {$result_set["data"]["section_list_options"]}
695 sysadm 1.1 </select>
696     <input type="submit" value="移动">
697     <span id="err_msg_move" name="err_msg" style="color: red;"></span>
698     </form>
699 sysadm 1.27 HTML;
700 sysadm 1.1 }
701 sysadm 1.27
702     echo <<<HTML
703     </td>
704 sysadm 1.1 <td width="25%" align="right">
705     <a class="s2" href="#top" title="返回页首"><img src="images/gotop.gif" border="0">Top<img src="images/gotop.gif" border="0"></a>
706     </td>
707     </tr>
708     </table>
709     </center>
710 sysadm 1.27 HTML;
711    
712 sysadm 1.1 include "./foot.inc.php";
713 sysadm 1.27
714     echo <<<HTML
715     </body>
716     </html>
717     HTML;

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