/[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.37 - (hide 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 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.35 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 sysadm 1.27
323 sysadm 1.35 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 sysadm 1.27
336 sysadm 1.35 $(document).ready(function() {
337 sysadm 1.33 $("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 sysadm 1.27 </script>
354     </head>
355     <body>
356 sysadm 1.1 <a name="top"></a>
357     <center>
358     <span id="err_msg_prompt" name="err_msg" style="color: red;"></span>
359 sysadm 1.7 <table cols="2" border="0" cellpadding="0" cellspacing="0" width="1050">
360 sysadm 1.1 <tr>
361     <td width="50%">
362 sysadm 1.27 {$navigator_bar}
363 sysadm 1.1 </td>
364     <td width="50%" align="right">
365 sysadm 1.27 {$ex_dir_selector}
366 sysadm 1.1 </td>
367     </tr>
368 sysadm 1.7 <tr bgcolor="#d0d3F0" height="25">
369 sysadm 1.1 <td colspan="2" align="center" class="title">
370 sysadm 1.27 [{$result_set["data"]["id"]}]&nbsp;主题:&nbsp;{$title}
371 sysadm 1.1 </td>
372     </tr>
373     </table>
374 sysadm 1.27 HTML;
375    
376 sysadm 1.1 foreach ($result_set["data"]["articles"] as $article)
377     {
378     $color_index = ($color_index + 1) % count($color);
379    
380 sysadm 1.27 $user_viewable = (isset($result_set["data"]["author_list"][$article["uid"]]) ? "true" : "false");
381 sysadm 1.8
382 sysadm 1.1 if ($article["tid"] != 0)
383     {
384 sysadm 1.27 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 sysadm 1.1 }
394 sysadm 1.27
395     $article_ctrl_bar = "";
396 sysadm 1.1 if ($_SESSION["BBS_priv"]->checkpriv(0, S_MSG) && $_SESSION["BBS_uid"] != $article["uid"])
397     {
398 sysadm 1.27 $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 sysadm 1.1 }
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 sysadm 1.27 $article_ctrl_bar .= <<<HTML
407     <a class="s4" href="article_post.php?id={$article['aid']}" title="修改该文章">修改</a>
408     HTML;
409 sysadm 1.1 }
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 sysadm 1.27 $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 sysadm 1.1 }
417 sysadm 1.37 if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) &&
418     (!$result_set["data"]["lock"]))
419 sysadm 1.1 {
420 sysadm 1.27 $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 sysadm 1.1 }
424     if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S))
425     {
426 sysadm 1.27 $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 sysadm 1.1 }
434     if ($article["tid"] == 0 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S))
435     {
436 sysadm 1.37 $set_ontop_display = ($result_set["data"]["ontop"] ? "none" : "inline");
437     $unset_ontop_display = ($result_set["data"]["ontop"] ? "inline" : "none");
438 sysadm 1.27
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 sysadm 1.1 }
444 sysadm 1.29 if ($article["tid"] == 0 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) &&
445 sysadm 1.1 ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_MAN_S) || $_SESSION["BBS_uid"] == $article["uid"]))
446     {
447 sysadm 1.37 $set_lock_display = ($result_set["data"]["lock"] ? "none" : "inline");
448     $unset_lock_display = ($result_set["data"]["lock"] ? "inline" : "none");
449 sysadm 1.27
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 sysadm 1.1 }
455     if ($article["tid"] == 0 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S) && (!$article["transship"]) && (!$article["excerption"]))
456     {
457 sysadm 1.27 $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 sysadm 1.1 }
464     }
465     else
466     {
467     if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S) && $article["m_del"])
468     {
469 sysadm 1.27 $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 sysadm 1.29 $content_f = LML(htmlspecialchars($article["content"], ENT_HTML401, 'UTF-8'), true, true, 80);
480 sysadm 1.27 $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 sysadm 1.28 $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
520 sysadm 1.27 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 sysadm 1.33 <img class="auto_adjust" src="dl_file.php?aid={$attachment['aid']}">
532 sysadm 1.27 HTML;
533     break;
534     }
535 sysadm 1.1 }
536 sysadm 1.27
537     $atta_list .= <<<HTML
538     </span><br />
539     HTML;
540 sysadm 1.1 }
541 sysadm 1.27
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 sysadm 1.1 </td>
551     <td width="5%">
552     </td>
553     </tr>
554     <tr>
555     <td width="20%" align="center">
556 sysadm 1.27 作者:&nbsp;<a class="s2" href="view_user.php?uid={$article['uid']}" onclick='return {$user_viewable}' target=_blank title="查看用户资料">{$username}</a>
557 sysadm 1.1 </td>
558     <td width="75%" class="body">
559 sysadm 1.29 <span style="color: #606060">标题:</span>
560 sysadm 1.27 <img src="images/expression/{$article['icon']}.gif">
561     <span id="title_{$article['aid']}" class="{$title_class}">
562     {$title_f}
563 sysadm 1.1 </span>
564 sysadm 1.27 {$transship_info}
565 sysadm 1.1 </td>
566     <td width="5%">
567     </td>
568     </tr>
569     <tr>
570     <td align="center">
571 sysadm 1.29 昵称:&nbsp;<span style="color: #909090">{$nickname}</span>
572 sysadm 1.1 </td>
573     <td class="body">
574 sysadm 1.29 <span style="color: #606060">来自:</span>&nbsp;<span style="color: #909090">{$article["sub_ip"]}</span>
575 sysadm 1.1 </td>
576     <td>
577     </td>
578     </tr>
579     <tr>
580     <td align="center">
581 sysadm 1.27 经验值:&nbsp;<span style="color:red;">{$article["exp"]}</span>
582 sysadm 1.1 </td>
583     <td class="body">
584 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>
585 sysadm 1.1 </td>
586     <td>
587     </td>
588     </tr>
589     <tr>
590     <td align="center">
591 sysadm 1.29 等级:&nbsp;<span style="color: #909090">{$level}</span>
592 sysadm 1.1 </td>
593     <td class="body">
594 sysadm 1.29 <span style="color: #606060">长度:</span>&nbsp;<span style="color: #909090">{$article["length"]}字</span>
595 sysadm 1.1 </td>
596     <td>
597     </td>
598     </tr>
599     <tr height="2">
600     <td>
601     </td>
602 sysadm 1.29 <td style="background-color: #909090">
603 sysadm 1.1 </td>
604     <td>
605     </td>
606     </tr>
607     <tr>
608     <td align="center" valign="top">
609 sysadm 1.27 <img src="{$article['photo_path']}" border="0">
610 sysadm 1.1 </td>
611 sysadm 1.27 <td id="content_{$article['aid']}" class="{$content_class}">
612     <pre>{$content_f}</pre>
613 sysadm 1.1 </td>
614     <td>
615     </td>
616     </tr>
617     <tr>
618     <td>
619     </td>
620 sysadm 1.29 <td style="color: #000000">
621 sysadm 1.1 ========== * * * * * ==========
622     <br />
623 sysadm 1.27 {$atta_list}
624 sysadm 1.1 </td>
625     <td>
626     </td>
627     </tr>
628     </table>
629 sysadm 1.27
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 sysadm 1.1 }
642 sysadm 1.27
643     echo <<<HTML
644 sysadm 1.7 <table cols="3" border="0" cellpadding="5" cellspacing="0" width="1050">
645 sysadm 1.1 <tr bgcolor="#d0d3F0" height="10">
646     <td colspan="3">
647     </td>
648     </tr>
649     <tr>
650 sysadm 1.10 <td width="40%" style="color: #909090">
651 sysadm 1.1 <form action="view_article.php" method="get" id="change_page" name="change_page">
652 sysadm 1.27 <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 sysadm 1.1 </select>条
658 sysadm 1.27 HTML;
659    
660 sysadm 1.1 if ($result_set["data"]["page"] > 1)
661     {
662 sysadm 1.27 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 sysadm 1.1 }
667     else
668     {
669 sysadm 1.27 echo <<<HTML
670     |◀ ◀
671     HTML;
672 sysadm 1.1 }
673 sysadm 1.27
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 sysadm 1.1 if ($result_set["data"]["page"] < $result_set["data"]["page_total"])
679     {
680 sysadm 1.27 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 sysadm 1.1 }
685     else
686     {
687 sysadm 1.27 echo <<<HTML
688     ▶ ▶|
689     HTML;
690 sysadm 1.1 }
691 sysadm 1.27
692     echo <<<HTML
693 sysadm 1.1 </form>
694     </td>
695     <td width="35%" align="center">
696 sysadm 1.27 HTML;
697    
698 sysadm 1.1 if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S) && (!$result_set["data"]["excerption"]))
699     {
700 sysadm 1.27 echo <<<HTML
701 sysadm 1.1 <form method="post" id="move_article" name="move_article" action="#">
702     <select id="sid" name="sid" size="1">
703 sysadm 1.27 {$result_set["data"]["section_list_options"]}
704 sysadm 1.1 </select>
705     <input type="submit" value="移动">
706     <span id="err_msg_move" name="err_msg" style="color: red;"></span>
707     </form>
708 sysadm 1.27 HTML;
709 sysadm 1.1 }
710 sysadm 1.27
711     echo <<<HTML
712     </td>
713 sysadm 1.1 <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 sysadm 1.27 HTML;
720    
721 sysadm 1.1 include "./foot.inc.php";
722 sysadm 1.27
723     echo <<<HTML
724     </body>
725     </html>
726     HTML;

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