forumdisplay.htm 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576
  1. <!--{template common/header}-->
  2. <!--{if $_G['forum']['ismoderator']}-->
  3. <script type="text/javascript" src="{$_G[setting][jspath]}forum_moderate.js?{VERHASH}"></script>
  4. <!--{/if}-->
  5. <style id="diy_style" type="text/css"></style>
  6. <!--[diy=diynavtop]--><div id="diynavtop" class="area"></div><!--[/diy]-->
  7. <div id="pt" class="bm cl">
  8. <div class="z">
  9. <a href="./" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a><em>&raquo;</em><a href="forum.php">{$_G[setting][navs][2][navname]}</a>$navigation
  10. </div>
  11. </div>
  12. <!--{ad/text/wp a_t}-->
  13. <div class="wp">
  14. <!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]-->
  15. </div>
  16. <div class="boardnav">
  17. <div id="ct" class="wp cl{if $_G['forum']['allowside']} ct2{/if}"{if $leftside} style="margin-left:{$_G['leftsidewidth_mwidth']}px"{/if}>
  18. <!--{if $leftside}-->
  19. <div id="sd_bdl" class="bdl" onmouseover="showMenu({'ctrlid':this.id, 'pos':'dz'});" style="width:{$_G['setting']['leftsidewidth']}px;margin-left:-{$_G['leftsidewidth_mwidth']}px">
  20. <!--{hook/forumdisplay_leftside_top}-->
  21. <!--[diy=diyleftsidetop]--><div id="diyleftsidetop" class="area"></div><!--[/diy]-->
  22. <div class="tbn" id="forumleftside">
  23. <!--{subtemplate forum/forumdisplay_leftside}-->
  24. </div>
  25. <!--[diy=diyleftsidebottom]--><div id="diyleftsidebottom" class="area"></div><!--[/diy]-->
  26. <!--{hook/forumdisplay_leftside_bottom}-->
  27. </div>
  28. <!--{/if}-->
  29. <div class="mn">
  30. <div class="bm bml pbn">
  31. <!--{if $_G[forum][banner] && !$subforumonly}--><img src="$_G[forum][banner]" alt="$_G['forum'][name]" /><!--{/if}-->
  32. <div class="bm_h cl">
  33. <!--{if $_G['page'] == 1 && $_G['forum']['rules']}--><span class="o"><img id="forum_rules_{$_G[fid]}_img" src="{IMGDIR}/collapsed_{$collapse[forum_rulesimg]}.gif" title="{lang spread}" alt="{lang spread}" onclick="toggle_collapse('forum_rules_{$_G[fid]}')" /></span><!--{/if}-->
  34. <span class="y">
  35. <a href="home.php?mod=spacecp&ac=favorite&type=forum&id=$_G[fid]&handlekey=favoriteforum&formhash={FORMHASH}" id="a_favorite" class="fa_fav" onclick="showWindow(this.id, this.href, 'get', 0);">{lang forum_favorite} <strong class="xi1" id="number_favorite" {if !$_G[forum][favtimes]} style="display:none;"{/if}>(<span id="number_favorite_num">$_G[forum][favtimes]</span>)</strong></a>
  36. <!--{if rssforumperm($_G['forum']) && $_G[setting][rssstatus] && !$_GET['archiveid'] && !$subforumonly}--><span class="pipe">|</span><a href="forum.php?mod=rss&fid=$_G[fid]&auth=$rssauth" class="fa_rss" target="_blank" title="RSS">{lang rss_subscribe_this}</a><!--{/if}-->
  37. <!--{if !empty($forumarchive)}-->
  38. <span class="pipe">|</span><a id="forumarchive" href="javascript:;" class="fa_achv" onmouseover="showMenu(this.id)"><!--{if $_GET['archiveid']}-->$forumarchive[$_GET['archiveid']]['displayname']<!--{else}-->{lang forum_archive}<!--{/if}--></a>
  39. <!--{/if}-->
  40. <!--{hook/forumdisplay_forumaction}-->
  41. <!--{if $_G['forum']['ismoderator']}-->
  42. <!--{if $_G['forum']['recyclebin']}-->
  43. <span class="pipe">|</span><a href="{if $_G['adminid'] == 1}admin.php?mod=forum&action=recyclebin&frames=yes{elseif $_G['forum']['ismoderator']}forum.php?mod=modcp&action=recyclebin&fid=$_G[fid]{/if}" class="fa_bin" target="_blank">{lang forum_recyclebin}</a>
  44. <!--{/if}-->
  45. <!--{if $_G['forum']['ismoderator'] && !$_GET['archiveid']}-->
  46. <span class="pipe">|</span><strong>
  47. <!--{if $_G['forum']['status'] != 3}-->
  48. <a href="forum.php?mod=modcp&fid=$_G[fid]">{lang modcp}</a>
  49. <!--{else}-->
  50. <a href="forum.php?mod=group&action=manage&fid=$_G[fid]">{lang modcp}</a>
  51. <!--{/if}-->
  52. </strong>
  53. <!--{/if}-->
  54. <!--{hook/forumdisplay_modlink}-->
  55. <!--{/if}-->
  56. </span>
  57. <h1 class="xs2">
  58. <a href="forum.php?mod=forumdisplay&fid=$_G[fid]">$_G['forum'][name]</a>
  59. <!--{if !$subforumonly}--><span class="xs1 xw0 i">{lang index_today}: <strong class="xi1">$_G[forum][todayposts]</strong><!--{if $_G[forum][todayposts]}--><!--{if $_G[forum][todayposts] < $_G[forum][yesterdayposts]}--><b class="ico_fall">&nbsp;</b><!--{else}--><b class="ico_increase">&nbsp;</b><!--{/if}--><!--{/if}--><span class="pipe">|</span>{lang index_threads}: <strong class="xi1">$_G[forum][threads]</strong><!--{if $_G[forum][rank]}--><span class="pipe">|</span>{lang rank}: <strong class="xi1" title="{lang previous_rank}:$_G[forum][oldrank]">$_G[forum][rank]</strong><!--{if $_G[forum][rank] <= $_G[forum][oldrank]}--><b class="ico_increase">&nbsp;</b><!--{else}--><b class="ico_fall">&nbsp;</b><!--{/if}--><!--{/if}--></span><!--{/if}-->
  60. </h1>
  61. </div>
  62. <!--{if (!empty($_G[forum][domain]) && !empty($_G['setting']['domain']['root']['forum'])) || $moderatedby || ($_G['page'] == 1 && $_G['forum']['rules'])}-->
  63. <div class="bm_c cl pbn">
  64. <!--{if !empty($_G[forum][domain]) && !empty($_G['setting']['domain']['root']['forum'])}-->
  65. <div class="pbn">{lang forum_domain}: <a href="http://{$_G[forum][domain]}.{$_G['setting']['domain']['root']['forum']}" id="group_link">http://{$_G[forum][domain]}.{$_G['setting']['domain']['root']['forum']}</a></div>
  66. <!--{/if}-->
  67. <!--{if $moderatedby}--><div>{lang forum_modedby}: <span class="xi2">$moderatedby</span></div><!--{/if}-->
  68. <!--{if $_G['page'] == 1 && $_G['forum']['rules']}-->
  69. <div id="forum_rules_{$_G[fid]}" style="$collapse['forum_rules'];">
  70. <div class="ptn xg2">$_G['forum'][rules]</div>
  71. </div>
  72. <!--{/if}-->
  73. </div>
  74. <!--{/if}-->
  75. <!--{if !empty($forumarchive)}-->
  76. <div id="forumarchive_menu" class="p_pop" style="display:none">
  77. <ul>
  78. <li><a href="forum.php?mod=forumdisplay&fid=$_G[fid]">{lang threads_all}</a></li>
  79. <!--{loop $forumarchive $id $info}-->
  80. <li><a href="forum.php?mod=forumdisplay&fid=$_G[fid]&archiveid=$id">{$info['displayname']} ({$info['threads']})</a></li>
  81. <!--{/loop}-->
  82. </ul>
  83. </div>
  84. <!--{/if}-->
  85. </div>
  86. <!--{hook/forumdisplay_top}-->
  87. <!--{if $subexists && $_G['page'] == 1}--><!--{template forum/forumdisplay_subforum}--><!--{/if}-->
  88. <div class="drag">
  89. <!--[diy=diy4]--><div id="diy4" class="area"></div><!--[/diy]-->
  90. </div>
  91. <!--{if !empty($_G['forum']['recommendlist'])}-->
  92. <div class="bm bmw">
  93. <div class="bm_h cl">
  94. <h2>{lang forum_recommend}</h2>
  95. </div>
  96. <div class="bm_c cl">
  97. <!--{subtemplate forum/recommend}-->
  98. </div>
  99. </div>
  100. <!--{/if}-->
  101. <!--{hook/forumdisplay_middle}-->
  102. <!--{if !$subforumonly}-->
  103. <!--{if $recommendgroups && !$_G['forum']['allowside']}-->
  104. <div class="bm bmw fl{if $_G['forum']['forumcolumns']} flg{/if}">
  105. <div class="bm_h cl">
  106. <span class="o"><img id="recommendgroups_{$_G[forum][fid]}_img" src="{IMGDIR}/$collapseimg[recommendgroups]" title="{lang spread}" alt="{lang spread}" onclick="toggle_collapse('recommendgroups_{$_G[forum][fid]}');" /></span>
  107. <h2>{lang recommended_groups}</h2>
  108. </div>
  109. <div class="bm_c" id="recommendgroups_{$_G[forum][fid]}" style="$collapse[recommendgroups]">
  110. <table cellspacing="0" cellpadding="0" class="fl_tb">
  111. <!--{loop $recommendgroups $key $group}-->
  112. <!--{if $_G['forum']['forumcolumns']}-->
  113. <!--{if $key && ($key % $_G['forum']['forumcolumns'] == 0)}-->
  114. </tr>
  115. <!--{if $key < $_G['forum']['forumcolumns']}-->
  116. <tr class="fl_row">
  117. <!--{/if}-->
  118. <!--{/if}-->
  119. <td class="fl_g">
  120. <div class="fl_icn_g">
  121. <a href="forum.php?mod=group&fid=$group[fid]" title="$group[name]" target="_blank"><img src="$group[icon]" alt="$group[name]" width="32" /></a>
  122. </div>
  123. <dl>
  124. <dt><a href="forum.php?mod=group&fid=$group[fid]" target="_blank">$group[name]</a><span class="xg1 xw0"> ($group[membernum] {lang activity_member_unit})</span>
  125. <dd><em>{lang forum_threads}: $group[threads]</em></dd>
  126. <dd>
  127. <!--{if is_array($group['lastpost'])}-->
  128. <!--{if $_G['forum']['forumcolumns'] < 3}-->
  129. <a href="forum.php?mod=redirect&tid=$group[lastpost][tid]&goto=lastpost#lastpost" class="xi2"><!--{echo cutstr($group[lastpost][subject], 30)}--></a> <cite>$group[lastpost][dateline] <!--{if $group['lastpost']['author']}--><a href="home.php?mod=space&username={$group[lastpost][encode_author]}">{$group[lastpost][author]}</a><!--{else}-->$_G[setting][anonymoustext]<!--{/if}--></cite>
  130. <!--{else}-->
  131. <a href="forum.php?mod=redirect&tid=$group[lastpost][tid]&goto=lastpost#lastpost" class="xi2">$group[lastpost][dateline]</a>
  132. <!--{/if}--> <!--{else}-->
  133. {lang never}
  134. <!--{/if}-->
  135. </dd>
  136. </dl>
  137. </td>
  138. <!--{else}-->
  139. <tr {if $key != 0}class="fl_row"{/if}>
  140. <td class="fl_icn">
  141. <a href="forum.php?mod=group&fid=$group[fid]" title="$group[name]" target="_blank"><img src="$group[icon]" alt="$group[name]" width="32" /></a>
  142. </td>
  143. <td>
  144. <h2><a href="forum.php?mod=group&fid=$group[fid]" target="_blank">$group[name]</a><span class="xg1 xw0"> ($group[membernum] {lang activity_member_unit})</span></h2>
  145. <p><!--{echo cutstr($group[description], 100)}--></p>
  146. </td>
  147. <td class="fl_i">
  148. <span class="xi2">$group[threads] {lang index_threads}</span>
  149. </td>
  150. <td class="fl_by">
  151. <div>
  152. <!--{if is_array($group['lastpost'])}-->
  153. <a href="forum.php?mod=redirect&tid=$group[lastpost][tid]&goto=lastpost#lastpost" class="xi2"><!--{echo cutstr($group[lastpost][subject], 30)}--></a> <cite>$group[lastpost][dateline] <!--{if $group['lastpost']['author']}--><a href="home.php?mod=space&username={$group[lastpost][encode_author]}">{$group[lastpost][author]}</a><!--{else}-->$_G[setting][anonymoustext]<!--{/if}--></cite>
  154. <!--{else}-->
  155. {lang never}
  156. <!--{/if}-->
  157. </div>
  158. </td>
  159. </tr>
  160. <!--{/if}-->
  161. <!--{/loop}-->
  162. </table>
  163. </div>
  164. </div>
  165. <!--{/if}-->
  166. <!--{if $threadmodcount}--><div class="bm"><div class="ntc_l hm xi2"><strong>{lang forum_moderate_unhandled}</strong></div></div><!--{/if}-->
  167. <!--{if $livethread}-->
  168. <div id="livethread" class="tl bm bmw cl" style="padding:10px 15px;">
  169. <div class="livethreadtitle vm">
  170. <span class="replynumber xg1">{lang reply} <span id="livereplies" class="xi1">$livethread[replies]</span></span>
  171. <a href="forum.php?mod=viewthread&tid=$livethread[tid]" target="_blank">$livethread[subject]</a> <img src="{IMGDIR}/livethreadtitle.png" />
  172. </div>
  173. <div class="livethreadcon">$livemessage</div>
  174. <div id="livereplycontentout">
  175. <div id="livereplycontent">
  176. </div>
  177. </div>
  178. <div id="liverefresh">{lang forum_live_newreply_refresh}</div>
  179. <div id="livefastreply">
  180. <form id="livereplypostform" method="post" action="forum.php?mod=post&action=reply&fid=$_G[fid]&tid=$livethread[tid]&replysubmit=yes&infloat=yes&handlekey=livereplypost&inajax=1" onsubmit="return livereplypostvalidate(this)">
  181. <div id="livefastcomment">
  182. <textarea id="livereplymessage" name="message" style="color:gray;<!--{if !$liveallowpostreply}-->display:none;<!--{/if}-->">{lang forum_live_fastreply_notice}</textarea>
  183. <!--{if !$liveallowpostreply}-->
  184. <div>
  185. <!--{if !$_G[uid]}-->
  186. {lang login_to_reply} <a href="member.php?mod=logging&action=login" onclick="showWindow('login', this.href)" class="xi2">{lang login}</a> | <a href="member.php?mod={$_G[setting][regname]}" class="xi2">$_G['setting']['reglinkname']</a>
  187. <!--{else}-->
  188. {lang no_permission_to_post}<a href="javascript:;" onclick="ajaxpost('livereplypostform', 'livereplypostreturn', 'livereplypostreturn', 'onerror', $('livereplysubmit'));" class="xi2">{lang click_to_show_reason}</a>
  189. <!--{/if}-->
  190. </div>
  191. <!--{/if}-->
  192. </div>
  193. <div id="livepostsubmit" style="display:none;">
  194. <!--{if $secqaacheck || $seccodecheck}-->
  195. <!--{block sectpl}--><sec> <span id="sec<hash>" onclick="showMenu(this.id)"><sec></span><div id="sec<hash>_menu" class="p_pop p_opt" style="display:none"><sec></div><!--{/block}-->
  196. <div class="mtm sec" style="text-align:right;"><!--{subtemplate common/seccheck}--></div>
  197. <!--{/if}-->
  198. <p class="ptm pnpost" style="margin-bottom:10px;">
  199. <button type="submit" name="replysubmit" class="pn pnc vm" style="float:right;" value="replysubmit" id="livereplysubmit">
  200. <strong>{lang forum_live_post}</strong>
  201. </button>
  202. </p>
  203. </div>
  204. <input type="hidden" name="formhash" value="{FORMHASH}">
  205. <input type="hidden" name="subject" value=" ">
  206. </form>
  207. </div>
  208. <span id="livereplypostreturn"></span>
  209. </div>
  210. <script type="text/javascript">
  211. var postminchars = parseInt('$_G['setting']['minpostsize']');
  212. var postmaxchars = parseInt('$_G['setting']['maxpostsize']');
  213. var disablepostctrl = parseInt('{$_G['group']['disablepostctrl']}');
  214. var replycontentlist = new Array();
  215. var addreplylist = new Array();
  216. var timeoutid = timeid = movescrollid = waitescrollid = null;
  217. var replycontentnum = 0;
  218. getnewlivepostlist(1);
  219. timeid = setInterval(getnewlivepostlist, 5000);
  220. $('livereplycontent').style.position = 'absolute';
  221. $('livereplycontent').style.width = ($('livereplycontentout').clientWidth - 50) + 'px';
  222. $('livereplymessage').onfocus = function() {
  223. if(this.style.color == 'gray') {
  224. this.value = '';
  225. this.style.color = 'black';
  226. $('livepostsubmit').style.display = 'block';
  227. this.style.height = '56px';
  228. $('livefastcomment').style.height = '57px';
  229. }
  230. };
  231. $('livereplymessage').onblur = function() {
  232. if(this.value == '') {
  233. this.style.color = 'gray';
  234. this.value = '{lang forum_live_fastreply_notice}';
  235. }
  236. };
  237. $('liverefresh').onclick = function() {
  238. $('livereplycontent').style.position = 'absolute';
  239. getnewlivepostlist();
  240. this.style.display = 'none';
  241. };
  242. $('livereplycontentout').onmouseover = function(e) {
  243. if($('livereplycontent').style.position == 'absolute' && $('livereplycontent').clientHeight > 215) {
  244. $('livereplycontent').style.position = 'static';
  245. this.scrollTop = this.scrollHeight;
  246. }
  247. if(this.scrollTop + this.clientHeight != this.scrollHeight) {
  248. clearInterval(timeid);
  249. clearTimeout(timeoutid);
  250. clearInterval(movescrollid);
  251. timeid = timeoutid = movescrollid = null;
  252. if(waitescrollid == null) {
  253. waitescrollid = setTimeout(function() {
  254. $('liverefresh').style.display = 'block';
  255. }, 60000 * 10);
  256. }
  257. } else {
  258. clearTimeout(waitescrollid);
  259. waitescrollid = null;
  260. }
  261. };
  262. $('livereplycontentout').onmouseout = function(e) {
  263. if(this.scrollTop + this.clientHeight == this.scrollHeight) {
  264. $('livereplycontent').style.position = 'absolute';
  265. clearInterval(timeid);
  266. timeid = setInterval(getnewlivepostlist, 10000);
  267. }
  268. };
  269. function getnewlivepostlist(first) {
  270. var x = new Ajax('JSON');
  271. x.getJSON('forum.php?mod=misc&action=livelastpost&fid=$livethread[fid]', function(s, x) {
  272. var count = s.data.count;
  273. $('livereplies').innerHTML = count;
  274. var newpostlist = s.data.list;
  275. for(i in newpostlist) {
  276. var postid = i;
  277. var postcontent = '';
  278. postcontent += newpostlist[i].authorid ? '<dt><a href="home.php?mod=space&uid=' + newpostlist[i].authorid + '" target="_blank">' + newpostlist[i].avatar + '</a></dt>' : '<dt></dt>';
  279. postcontent += newpostlist[i].authorid ? '<dd><a href="home.php?mod=space&uid=' + newpostlist[i].authorid + '" target="_blank">' + newpostlist[i].author + '</a></dd>' : '<dd>' + newpostlist[i].author + '</dd>';
  280. postcontent += '<dd>' + htmlspecialchars(newpostlist[i].message) + '</dd>';
  281. postcontent += '<dd class="dateline">' + newpostlist[i].dateline + '</dd>';
  282. if(replycontentlist[postid]) {
  283. $('livereply_' + postid).innerHTML = postcontent;
  284. continue;
  285. }
  286. addreplylist[postid] = '<dl id="livereply_' + postid + '">' + postcontent + '</dl>';
  287. }
  288. if(first) {
  289. for(i in addreplylist) {
  290. replycontentlist[i] = addreplylist[i];
  291. replycontentnum++;
  292. var div = document.createElement('div');
  293. div.innerHTML = addreplylist[i];
  294. $('livereplycontent').appendChild(div);
  295. delete addreplylist[i];
  296. }
  297. } else {
  298. livecontentfacemove();
  299. }
  300. });
  301. }
  302. function livecontentfacemove() {
  303. //note 从队列中取出数据
  304. var reply = '';
  305. for(i in addreplylist) {
  306. reply = replycontentlist[i] = addreplylist[i];
  307. replycontentnum++;
  308. delete addreplylist[i];
  309. break;
  310. }
  311. if(reply) {
  312. var div = document.createElement('div');
  313. div.innerHTML = reply;
  314. var oldclientHeight = $('livereplycontent').clientHeight;
  315. $('livereplycontent').appendChild(div);
  316. $('livereplycontentout').style.overflowY = 'hidden';
  317. $('livereplycontent').style.bottom = oldclientHeight - $('livereplycontent').clientHeight + 'px';
  318. if(replycontentnum > 20) {
  319. $('livereplycontent').removeChild($('livereplycontent').firstChild);
  320. for(i in replycontentlist) {
  321. delete replycontentlist[i];
  322. break;
  323. }
  324. replycontentnum--;
  325. }
  326. if(!movescrollid) {
  327. movescrollid = setInterval(function() {
  328. if(parseInt($('livereplycontent').style.bottom) < 0) {
  329. $('livereplycontent').style.bottom =
  330. ((parseInt($('livereplycontent').style.bottom) + 5) > 0 ? 0 : (parseInt($('livereplycontent').style.bottom) + 5)) + 'px';
  331. } else {
  332. $('livereplycontentout').style.overflowY = 'auto';
  333. clearInterval(movescrollid);
  334. movescrollid = null;
  335. timeoutid = setTimeout(livecontentfacemove, 1000);
  336. }
  337. }, 100);
  338. }
  339. }
  340. }
  341. function livereplypostvalidate(theform) {
  342. var s;
  343. if(theform.message.value == '' || $('livereplymessage').style.color == 'gray') {
  344. s = '{lang forum_live_nocontent_error}';
  345. }
  346. if(!disablepostctrl && ((postminchars != 0 && mb_strlen(theform.message.value) < postminchars) || (postmaxchars != 0 && mb_strlen(theform.message.value) > postmaxchars))) {
  347. s = {lang forum_live_nolength_error};
  348. }
  349. if(s) {
  350. showError(s);
  351. doane();
  352. $('livereplysubmit').disabled = false;
  353. return false;
  354. }
  355. $('livereplysubmit').disabled = true;
  356. theform.message.value = theform.message.value.replace(/([^>=\]"'\/]|^)((((https?|ftp):\/\/)|www\.)([\w\-]+\.)*[\w\-\u4e00-\u9fa5]+\.([\.a-zA-Z0-9]+|\u4E2D\u56FD|\u7F51\u7EDC|\u516C\u53F8)((\?|\/|:)+[\w\.\/=\?%\-&~`@':+!]*)+\.(jpg|gif|png|bmp))/ig, '$1[img]$2[/img]');
  357. theform.message.value = parseurl(theform.message.value);
  358. ajaxpost('livereplypostform', 'livereplypostreturn', 'livereplypostreturn', 'onerror', $('livereplysubmit'));
  359. return false;
  360. }
  361. function succeedhandle_livereplypost(url, msg, param) {
  362. $('livereplymessage').value = '';
  363. $('livereplycontent').style.position = 'absolute';
  364. if(param['sechash']) {
  365. updatesecqaa(param['sechash']);
  366. updateseccode(param['sechash']);
  367. }
  368. getnewlivepostlist();
  369. }
  370. </script>
  371. <!--{/if}-->
  372. <div id="pgt" class="bm bw0 pgs cl">
  373. <span id="fd_page_top">$multipage</span>
  374. <span class="pgb y" {if $_G[setting][visitedforums]}id="visitedforums" onmouseover="$('visitedforums').id = 'visitedforumstmp';this.id = 'visitedforums';showMenu({'ctrlid':this.id,'pos':'34'})"{/if} ><a href="forum.php">{lang return_index}</a></span>
  375. <!--{if !$_GET['archiveid']}--><a href="javascript:;" id="newspecial" onmouseover="$('newspecial').id = 'newspecialtmp';this.id = 'newspecial';showMenu({'ctrlid':this.id})"{if !$_G['forum']['allowspecialonly'] && empty($_G['forum']['picstyle']) && !$_G['forum']['threadsorts']['required']} onclick="showWindow('newthread', 'forum.php?mod=post&action=newthread&fid=$_G[fid]')"{else} onclick="location.href='forum.php?mod=post&action=newthread&fid=$_G[fid]';return false;"{/if} title="{lang send_posts}"><img src="{IMGDIR}/pn_post.png" alt="{lang send_posts}" /></a><!--{/if}-->
  376. <!--{hook/forumdisplay_postbutton_top}-->
  377. </div>
  378. <!--{if ($_G['forum']['threadtypes'] && $_G['forum']['threadtypes']['listable']) || count($_G['forum']['threadsorts']['types']) > 0}-->
  379. <ul id="thread_types" class="ttp bm cl">
  380. <!--{hook/forumdisplay_threadtype_inner}-->
  381. <li id="ttp_all" {if !$_GET['typeid'] && !$_GET['sortid']}class="xw1 a"{/if}><a href="forum.php?mod=forumdisplay&fid=$_G[fid]{if $_G['forum']['threadsorts']['defaultshow']}&filter=sortall&sortall=1{/if}{if $_GET['archiveid']}&archiveid={$_GET['archiveid']}{/if}">{lang forum_viewall}</a></li>
  382. <!--{if $_G['forum']['threadtypes']}-->
  383. <!--{loop $_G['forum']['threadtypes']['types'] $id $name}-->
  384. <!--{if $_GET['typeid'] == $id}-->
  385. <li class="xw1 a"><a href="forum.php?mod=forumdisplay&fid=$_G[fid]{if $_GET['sortid']}&filter=sortid&sortid=$_GET['sortid']{/if}{if $_GET['archiveid']}&archiveid={$_GET['archiveid']}{/if}"><!--{if $_G[forum][threadtypes][icons][$id] && $_G['forum']['threadtypes']['prefix'] == 2}--><img class="vm" src="$_G[forum][threadtypes][icons][$id]" alt="" /> <!--{/if}-->$name<!--{if $showthreadclasscount[typeid][$id]}--><span class="xg1 num">$showthreadclasscount[typeid][$id]</span><!--{/if}--></a></li>
  386. <!--{else}-->
  387. <li><a href="forum.php?mod=forumdisplay&fid=$_G[fid]&filter=typeid&typeid=$id$forumdisplayadd[typeid]{if $_GET['archiveid']}&archiveid={$_GET['archiveid']}{/if}"><!--{if $_G[forum][threadtypes][icons][$id] && $_G['forum']['threadtypes']['prefix'] == 2}--><img class="vm" src="$_G[forum][threadtypes][icons][$id]" alt="" /> <!--{/if}-->$name<!--{if $showthreadclasscount[typeid][$id]}--><span class="xg1 num">$showthreadclasscount[typeid][$id]</span><!--{/if}--></a></li>
  388. <!--{/if}-->
  389. <!--{/loop}-->
  390. <!--{/if}-->
  391. <!--{if $_G['forum']['threadsorts']}-->
  392. <!--{if $_G['forum']['threadtypes']}--><li><span class="pipe">|</span></li><!--{/if}-->
  393. <!--{loop $_G['forum']['threadsorts']['types'] $id $name}-->
  394. <!--{if $_GET['sortid'] == $id}-->
  395. <li class="xw1 a"><a href="forum.php?mod=forumdisplay&fid=$_G[fid]{if $_GET['typeid']}&filter=typeid&typeid=$_GET['typeid']{/if}{if $_GET['archiveid']}&archiveid={$_GET['archiveid']}{/if}">$name<!--{if $showthreadclasscount[sortid][$id]}--><span class="xg1 num">$showthreadclasscount[sortid][$id]</span><!--{/if}--></a></li>
  396. <!--{else}-->
  397. <li><a href="forum.php?mod=forumdisplay&fid=$_G[fid]&filter=sortid&sortid=$id$forumdisplayadd[sortid]{if $_GET['archiveid']}&archiveid={$_GET['archiveid']}{/if}">$name<!--{if $showthreadclasscount[sortid][$id]}--><span class="xg1 num">$showthreadclasscount[sortid][$id]</span><!--{/if}--></a></li>
  398. <!--{/if}-->
  399. <!--{/loop}-->
  400. <!--{/if}-->
  401. <!--{hook/forumdisplay_filter_extra}-->
  402. </ul>
  403. <script type="text/javascript">showTypes('thread_types');</script>
  404. <!--{/if}-->
  405. <!--{hook/forumdisplay_threadtype_extra}-->
  406. <!--{if empty($_G['forum']['sortmode'])}-->
  407. <!--{subtemplate forum/forumdisplay_list}-->
  408. <!--{else}-->
  409. <!--{subtemplate forum/forumdisplay_sort}-->
  410. <!--{/if}-->
  411. <!--{/if}-->
  412. <!--[diy=diyfastposttop]--><div id="diyfastposttop" class="area"></div><!--[/diy]-->
  413. <!--{if $fastpost}-->
  414. <!--{template forum/forumdisplay_fastpost}-->
  415. <!--{/if}-->
  416. <!--{hook/forumdisplay_bottom}-->
  417. <!--[diy=diyforumdisplaybottom]--><div id="diyforumdisplaybottom" class="area"></div><!--[/diy]-->
  418. </div>
  419. <!--{if $_G['forum']['allowside']}-->
  420. <div class="sd">
  421. <!--{hook/forumdisplay_side_top}-->
  422. <!--{if !$subforumonly}-->
  423. <div class="bm">
  424. <div class="bm_h">
  425. <h2>{lang their}: <!--{eval echo cutstr($_G['cache']['forums'][$_G['forum']['fup']]['name'], 22, '')}--></h2>
  426. </div>
  427. <div class="bm_c">
  428. <ul class="xl xl2 cl">
  429. <!--{loop $_G['cache']['forums'] $bforum}-->
  430. <!--{if $bforum['fup'] == $_G['forum']['fup'] && $bforum['status']}-->
  431. <li><a href="forum.php?mod=forumdisplay&fid=$bforum[fid]">$bforum['name']</a></li>
  432. <!--{/if}-->
  433. <!--{/loop}-->
  434. </ul>
  435. </div>
  436. </div>
  437. <!--{if $recommendgroups}-->
  438. <div class="bm">
  439. <div class="bm_h cl">
  440. <h2>{lang recommended_groups}</h2>
  441. </div>
  442. <div class="bm_c cl">
  443. <ul class="ml mls cl">
  444. <!--{loop $recommendgroups $key $group}-->
  445. <li>
  446. <a href="forum.php?mod=group&fid=$group[fid]" title="$group[name]" target="_blank" class="avt"><img src="$group[icon]" alt="$group[name]"></a>
  447. <p><a href="forum.php?mod=group&fid=$group[fid]" target="_blank">$group[name]</a></p>
  448. </li>
  449. <!--{/loop}-->
  450. </ul>
  451. </div>
  452. </div>
  453. <!--{/if}-->
  454. <!--{if !($_G['forum']['simple'] & 1) && $_G[setting][whosonlinestatus]}-->
  455. <div class="bm">
  456. <!--{if $detailstatus}-->
  457. <div class="bm_h cl">
  458. <span class="o y"><a href="forum.php?mod=forumdisplay&fid=$_G[fid]&page=$page&showoldetails=no#online"><img src="{IMGDIR}/collapsed_no.gif" alt="" /></a></span>
  459. <h2>{lang forum_activeusers} ($onlinenum)</h2>
  460. </div>
  461. <div class="bm_c">
  462. <ul class="ml mls cl">
  463. <!--{loop $whosonline $key $online}-->
  464. <li>
  465. <a href="home.php?mod=space&uid=$online[uid]" class="avt"><!--{avatar($online[uid],small)}--></a>
  466. <!--{if $online['uid']}-->
  467. <p><a href="home.php?mod=space&uid=$online[uid]">$online[username]</a></p>
  468. <!--{else}-->
  469. <p>$online[username]</p>
  470. <!--{/if}-->
  471. <span>$online[lastactivity]{LF}</span>
  472. </li>
  473. <!--{/loop}-->
  474. </ul>
  475. </div>
  476. <!--{else}-->
  477. <div class="bm_h cl">
  478. <span class="o y"><a href="forum.php?mod=forumdisplay&fid=$_G[fid]&page=$page&showoldetails=yes#online" class="nobdr"><img src="{IMGDIR}/collapsed_yes.gif" alt="" /></a></span>
  479. <h2>{lang forum_activeusers} ($onlinenum)</h2>
  480. </div>
  481. <!--{/if}-->
  482. </div>
  483. <!--{/if}-->
  484. <!--{/if}-->
  485. <div class="drag">
  486. <!--[diy=diy2]--><div id="diy2" class="area"></div><!--[/diy]-->
  487. </div>
  488. <!--{hook/forumdisplay_side_bottom}-->
  489. </div>
  490. <!--{/if}-->
  491. </div>
  492. </div>
  493. <!--{if $_G['group']['allowpost'] && ($_G['group']['allowposttrade'] || $_G['group']['allowpostpoll'] || $_G['group']['allowpostreward'] || $_G['group']['allowpostactivity'] || $_G['group']['allowpostdebate'] || $_G['setting']['threadplugins'] || $_G['forum']['threadsorts'])}-->
  494. <ul class="p_pop" id="newspecial_menu" style="display: none">
  495. <!--{if !$_G['forum']['allowspecialonly']}--><li><a href="forum.php?mod=post&action=newthread&fid=$_G[fid]">{lang post_newthread}</a></li><!--{/if}-->
  496. <!--{if $_G['forum']['threadsorts'] && !$_G['forum']['allowspecialonly']}-->
  497. <!--{loop $_G['forum']['threadsorts']['types'] $id $threadsorts}-->
  498. <!--{if $_G['forum']['threadsorts']['show'][$id]}-->
  499. <li class="popupmenu_option"><a href="forum.php?mod=post&action=newthread&fid=$_G[fid]&extra=$extra&sortid=$id">$threadsorts</a></li>
  500. <!--{/if}-->
  501. <!--{/loop}-->
  502. <!--{/if}-->
  503. <!--{if $_G['group']['allowpostpoll']}--><li class="poll"><a href="forum.php?mod=post&action=newthread&fid=$_G[fid]&special=1">{lang post_newthreadpoll}</a></li><!--{/if}-->
  504. <!--{if $_G['group']['allowpostreward']}--><li class="reward"><a href="forum.php?mod=post&action=newthread&fid=$_G[fid]&special=3">{lang post_newthreadreward}</a></li><!--{/if}-->
  505. <!--{if $_G['group']['allowpostdebate']}--><li class="debate"><a href="forum.php?mod=post&action=newthread&fid=$_G[fid]&special=5">{lang post_newthreaddebate}</a></li><!--{/if}-->
  506. <!--{if $_G['group']['allowpostactivity']}--><li class="activity"><a href="forum.php?mod=post&action=newthread&fid=$_G[fid]&special=4">{lang post_newthreadactivity}</a></li><!--{/if}-->
  507. <!--{if $_G['group']['allowposttrade']}--><li class="trade"><a href="forum.php?mod=post&action=newthread&fid=$_G[fid]&special=2">{lang post_newthreadtrade}</a></li><!--{/if}-->
  508. <!--{if $_G['setting']['threadplugins']}-->
  509. <!--{loop $_G['forum']['threadplugin'] $tpid}-->
  510. <!--{if array_key_exists($tpid, $_G['setting']['threadplugins']) && @in_array($tpid, $_G['group']['allowthreadplugin'])}-->
  511. <li class="popupmenu_option"{if $_G['setting']['threadplugins'][$tpid][icon]} style="background-image:url(source/plugin/$tpid/$_G[setting][threadplugins][$tpid][icon])"{/if}><a href="forum.php?mod=post&action=newthread&fid=$_G[fid]&specialextra=$tpid">{$_G[setting][threadplugins][$tpid][name]}</a></li>
  512. <!--{/if}-->
  513. <!--{/loop}-->
  514. <!--{/if}-->
  515. </ul>
  516. <!--{/if}-->
  517. <!--{if $_G['setting']['visitedforums'] && $_G['forum']['status'] != 3}-->
  518. <div id="visitedforums_menu" class="p_pop blk cl" style="display: none;">
  519. <table cellspacing="0" cellpadding="0">
  520. <tr>
  521. <td id="v_forums">
  522. <h3 class="mbn pbn bbda xg1">{lang viewed_forums}</h3>
  523. <ul class="xl xl1">
  524. $_G['setting']['visitedforums']
  525. </ul>
  526. </td>
  527. </tr>
  528. </table>
  529. </div>
  530. <!--{/if}-->
  531. <!--{if $_G['setting']['threadmaxpages'] > 1 && $page && !$subforumonly}-->
  532. <script type="text/javascript">document.onkeyup = function(e){keyPageScroll(e, <!--{if $page > 1}-->1<!--{else}-->0<!--{/if}-->, <!--{if $page < $_G['setting']['threadmaxpages'] && $page < $_G['page_next']}-->1<!--{else}-->0<!--{/if}-->, 'forum.php?mod=forumdisplay&fid={$_G[fid]}&filter={$filter}&orderby={$_GET[orderby]}{$forumdisplayadd[page]}&{$multipage_archive}', $page);}</script>
  533. <!--{/if}-->
  534. <!--{if empty($_G['forum']['picstyle']) && $_GET['orderby'] == 'lastpost' && empty($_GET['filter']) }-->
  535. <script type="text/javascript">checkForumnew_handle = setTimeout(function () {checkForumnew($_G[fid], lasttime);}, checkForumtimeout);</script>
  536. <!--{/if}-->
  537. <div class="wp mtn">
  538. <!--[diy=diy3]--><div id="diy3" class="area"></div><!--[/diy]-->
  539. </div>
  540. <!--{if empty($_G['setting']['disfixednv_forumdisplay']) }--><script>fixed_top_nv();</script><!--{/if}-->
  541. <!--{template common/footer}-->