/[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.42 - (hide annotations)
Fri Oct 31 04:39:10 2025 UTC (4 months, 2 weeks ago) by sysadm
Branch: MAIN
Changes since 1.41: +1 -1 lines
Adjust width limit of lines

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 sysadm 1.38 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 sysadm 1.27 <a class="s2" href="article_post.php?reply_id={$result_set['data']['id']}&quote=0" title="直接回复该文章">[快速回复]</a>
33     HTML;
34 sysadm 1.38 }
35    
36 sysadm 1.27 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 sysadm 1.1 {
44 sysadm 1.27 $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 sysadm 1.1 }
48    
49 sysadm 1.27 $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 sysadm 1.1
72 sysadm 1.27 $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 sysadm 1.1
85 sysadm 1.27 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 sysadm 1.33 IMG.auto_adjust
111     {
112     display: none;
113     }
114 sysadm 1.27 </style>
115     <script src="../js/polyfill.min.js"></script>
116     <script src="../js/axios.min.js"></script>
117 sysadm 1.33 <script src="../js/jquery.min.js"></script>
118 sysadm 1.27 <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 sysadm 1.1
126 sysadm 1.27 function ch_rpp()
127 sysadm 1.1 {
128 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;
129     document.change_page.submit();
130 sysadm 1.1 return false;
131     }
132    
133 sysadm 1.27 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 sysadm 1.1 break;
172 sysadm 1.27 }
173     })
174     .catch(function (error) {
175     console.log(error);
176     });
177 sysadm 1.1
178 sysadm 1.27 return false;
179     }
180 sysadm 1.1
181 sysadm 1.27 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 sysadm 1.39 ["favorite", "article_service_favor.php"],
191 sysadm 1.27 ]);
192    
193     var opNeedRefresh = new Set([
194     "delete",
195     "restore",
196     ]);
197 sysadm 1.1
198 sysadm 1.27 if (confirm && window.confirm('真的要操作吗?') == false)
199     {
200     return false;
201     }
202 sysadm 1.1
203 sysadm 1.27 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 sysadm 1.1
242 sysadm 1.27 return false;
243     }
244 sysadm 1.1
245 sysadm 1.27 function move_article(sid)
246 sysadm 1.1 {
247 sysadm 1.27 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 sysadm 1.1 });
277 sysadm 1.27
278     return false;
279 sysadm 1.1 }
280    
281 sysadm 1.27 function set_ex_dir(fid)
282 sysadm 1.1 {
283 sysadm 1.27 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 sysadm 1.1 });
313 sysadm 1.27
314     return false;
315 sysadm 1.1 }
316    
317 sysadm 1.27 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 sysadm 1.35 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 sysadm 1.27
332 sysadm 1.35 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 sysadm 1.27
345 sysadm 1.35 $(document).ready(function() {
346 sysadm 1.33 $("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 sysadm 1.27 </script>
363     </head>
364     <body>
365 sysadm 1.1 <a name="top"></a>
366     <center>
367     <span id="err_msg_prompt" name="err_msg" style="color: red;"></span>
368 sysadm 1.7 <table cols="2" border="0" cellpadding="0" cellspacing="0" width="1050">
369 sysadm 1.1 <tr>
370     <td width="50%">
371 sysadm 1.27 {$navigator_bar}
372 sysadm 1.1 </td>
373     <td width="50%" align="right">
374 sysadm 1.27 {$ex_dir_selector}
375 sysadm 1.1 </td>
376     </tr>
377 sysadm 1.7 <tr bgcolor="#d0d3F0" height="25">
378 sysadm 1.1 <td colspan="2" align="center" class="title">
379 sysadm 1.27 [{$result_set["data"]["id"]}]&nbsp;主题:&nbsp;{$title}
380 sysadm 1.1 </td>
381     </tr>
382     </table>
383 sysadm 1.27 HTML;
384    
385 sysadm 1.1 foreach ($result_set["data"]["articles"] as $article)
386     {
387     $color_index = ($color_index + 1) % count($color);
388    
389 sysadm 1.27 $user_viewable = (isset($result_set["data"]["author_list"][$article["uid"]]) ? "true" : "false");
390 sysadm 1.8
391 sysadm 1.1 if ($article["tid"] != 0)
392     {
393 sysadm 1.27 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 sysadm 1.1 }
403 sysadm 1.27
404     $article_ctrl_bar = "";
405 sysadm 1.1 if ($_SESSION["BBS_priv"]->checkpriv(0, S_MSG) && $_SESSION["BBS_uid"] != $article["uid"])
406     {
407 sysadm 1.27 $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 sysadm 1.1 }
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 sysadm 1.27 $article_ctrl_bar .= <<<HTML
416     <a class="s4" href="article_post.php?id={$article['aid']}" title="修改该文章">修改</a>
417     HTML;
418 sysadm 1.1 }
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 sysadm 1.27 $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 sysadm 1.1 }
426 sysadm 1.37 if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) &&
427     (!$result_set["data"]["lock"]))
428 sysadm 1.1 {
429 sysadm 1.27 $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 sysadm 1.1 }
433     if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S))
434     {
435 sysadm 1.27 $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 sysadm 1.1 }
443     if ($article["tid"] == 0 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S))
444     {
445 sysadm 1.37 $set_ontop_display = ($result_set["data"]["ontop"] ? "none" : "inline");
446     $unset_ontop_display = ($result_set["data"]["ontop"] ? "inline" : "none");
447 sysadm 1.27
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 sysadm 1.1 }
453 sysadm 1.29 if ($article["tid"] == 0 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST) &&
454 sysadm 1.1 ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_MAN_S) || $_SESSION["BBS_uid"] == $article["uid"]))
455     {
456 sysadm 1.37 $set_lock_display = ($result_set["data"]["lock"] ? "none" : "inline");
457     $unset_lock_display = ($result_set["data"]["lock"] ? "inline" : "none");
458 sysadm 1.27
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 sysadm 1.1 }
464     if ($article["tid"] == 0 && $_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S) && (!$article["transship"]) && (!$article["excerption"]))
465     {
466 sysadm 1.27 $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 sysadm 1.1 }
473 sysadm 1.39 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 sysadm 1.1 }
484     else
485     {
486     if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S) && $article["m_del"])
487     {
488 sysadm 1.27 $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 sysadm 1.42 $content_f = LML(htmlspecialchars($article["content"], ENT_HTML401, 'UTF-8'), true, 80);
499 sysadm 1.27 $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 sysadm 1.28 $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
539 sysadm 1.27 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 sysadm 1.33 <img class="auto_adjust" src="dl_file.php?aid={$attachment['aid']}">
551 sysadm 1.27 HTML;
552     break;
553     }
554 sysadm 1.1 }
555 sysadm 1.27
556     $atta_list .= <<<HTML
557     </span><br />
558     HTML;
559 sysadm 1.1 }
560 sysadm 1.27
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 sysadm 1.1 </td>
570     <td width="5%">
571     </td>
572     </tr>
573     <tr>
574     <td width="20%" align="center">
575 sysadm 1.27 作者:&nbsp;<a class="s2" href="view_user.php?uid={$article['uid']}" onclick='return {$user_viewable}' target=_blank title="查看用户资料">{$username}</a>
576 sysadm 1.1 </td>
577     <td width="75%" class="body">
578 sysadm 1.29 <span style="color: #606060">标题:</span>
579 sysadm 1.27 <img src="images/expression/{$article['icon']}.gif">
580     <span id="title_{$article['aid']}" class="{$title_class}">
581     {$title_f}
582 sysadm 1.1 </span>
583 sysadm 1.27 {$transship_info}
584 sysadm 1.1 </td>
585     <td width="5%">
586     </td>
587     </tr>
588     <tr>
589     <td align="center">
590 sysadm 1.29 昵称:&nbsp;<span style="color: #909090">{$nickname}</span>
591 sysadm 1.1 </td>
592     <td class="body">
593 sysadm 1.29 <span style="color: #606060">来自:</span>&nbsp;<span style="color: #909090">{$article["sub_ip"]}</span>
594 sysadm 1.1 </td>
595     <td>
596     </td>
597     </tr>
598     <tr>
599     <td align="center">
600 sysadm 1.27 经验值:&nbsp;<span style="color:red;">{$article["exp"]}</span>
601 sysadm 1.1 </td>
602     <td class="body">
603 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>
604 sysadm 1.1 </td>
605     <td>
606     </td>
607     </tr>
608     <tr>
609     <td align="center">
610 sysadm 1.29 等级:&nbsp;<span style="color: #909090">{$level}</span>
611 sysadm 1.1 </td>
612     <td class="body">
613 sysadm 1.29 <span style="color: #606060">长度:</span>&nbsp;<span style="color: #909090">{$article["length"]}字</span>
614 sysadm 1.1 </td>
615     <td>
616     </td>
617     </tr>
618     <tr height="2">
619     <td>
620     </td>
621 sysadm 1.29 <td style="background-color: #909090">
622 sysadm 1.1 </td>
623     <td>
624     </td>
625     </tr>
626     <tr>
627     <td align="center" valign="top">
628 sysadm 1.27 <img src="{$article['photo_path']}" border="0">
629 sysadm 1.1 </td>
630 sysadm 1.27 <td id="content_{$article['aid']}" class="{$content_class}">
631     <pre>{$content_f}</pre>
632 sysadm 1.1 </td>
633     <td>
634     </td>
635     </tr>
636     <tr>
637     <td>
638     </td>
639 sysadm 1.29 <td style="color: #000000">
640 sysadm 1.1 ========== * * * * * ==========
641     <br />
642 sysadm 1.27 {$atta_list}
643 sysadm 1.1 </td>
644     <td>
645     </td>
646     </tr>
647     </table>
648 sysadm 1.27
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 sysadm 1.1 }
661 sysadm 1.27
662     echo <<<HTML
663 sysadm 1.7 <table cols="3" border="0" cellpadding="5" cellspacing="0" width="1050">
664 sysadm 1.1 <tr bgcolor="#d0d3F0" height="10">
665     <td colspan="3">
666     </td>
667     </tr>
668     <tr>
669 sysadm 1.10 <td width="40%" style="color: #909090">
670 sysadm 1.1 <form action="view_article.php" method="get" id="change_page" name="change_page">
671 sysadm 1.27 <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 sysadm 1.1 </select>条
677 sysadm 1.27 HTML;
678    
679 sysadm 1.1 if ($result_set["data"]["page"] > 1)
680     {
681 sysadm 1.27 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 sysadm 1.1 }
686     else
687     {
688 sysadm 1.27 echo <<<HTML
689     |◀ ◀
690     HTML;
691 sysadm 1.1 }
692 sysadm 1.27
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 sysadm 1.1 if ($result_set["data"]["page"] < $result_set["data"]["page_total"])
698     {
699 sysadm 1.27 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 sysadm 1.1 }
704     else
705     {
706 sysadm 1.27 echo <<<HTML
707     ▶ ▶|
708     HTML;
709 sysadm 1.1 }
710 sysadm 1.27
711     echo <<<HTML
712 sysadm 1.1 </form>
713     </td>
714     <td width="35%" align="center">
715 sysadm 1.27 HTML;
716    
717 sysadm 1.1 if ($_SESSION["BBS_priv"]->checkpriv($result_set["data"]["sid"], S_POST | S_MAN_S) && (!$result_set["data"]["excerption"]))
718     {
719 sysadm 1.27 echo <<<HTML
720 sysadm 1.1 <form method="post" id="move_article" name="move_article" action="#">
721     <select id="sid" name="sid" size="1">
722 sysadm 1.27 {$result_set["data"]["section_list_options"]}
723 sysadm 1.1 </select>
724     <input type="submit" value="移动">
725     <span id="err_msg_move" name="err_msg" style="color: red;"></span>
726     </form>
727 sysadm 1.27 HTML;
728 sysadm 1.1 }
729 sysadm 1.27
730     echo <<<HTML
731     </td>
732 sysadm 1.1 <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 sysadm 1.27 HTML;
739    
740 sysadm 1.1 include "./foot.inc.php";
741 sysadm 1.27
742     echo <<<HTML
743     </body>
744     </html>
745     HTML;

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