forumdisplay.php 30 KB

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