follow_feed.htm 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758
  1. <!--{if $do == 'feed'}-->
  2. <!--{template common/header}-->
  3. <div id="pt" class="bm cl">
  4. <div class="z">
  5. <a href="./" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a> <em>&rsaquo;</em>
  6. <a href="home.php?mod=follow">{lang follow}</a>
  7. </div>
  8. </div>
  9. <style id="diy_style" type="text/css"></style>
  10. <div class="wp">
  11. <!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]-->
  12. </div>
  13. <div id="ct" class="ct2_a wp cl">
  14. <!--{if $_G[setting][homestyle]}-->
  15. <div class="appl">
  16. <!--{subtemplate common/userabout}-->
  17. </div>
  18. <!--{else}-->
  19. <div class="appl">
  20. <div class="tbn">
  21. <h2 class="mt bbda">{lang follow}</h2>
  22. <ul>
  23. <li$actives[follow]><a href="home.php?mod=follow&view=follow">{lang follow_following}</a></li>
  24. <li$actives[special]><a href="home.php?mod=follow&view=special">{lang follow_special_following}</a></li>
  25. <li$actives[other]><a href="home.php?mod=follow&view=other">{lang follow_hall}</a></li>
  26. <!--{hook/follow_nav_extra}-->
  27. </ul>
  28. </div>
  29. </div>
  30. <!--{/if}-->
  31. <div class="mn">
  32. <!--[diy=diycontenttop]--><div id="diycontenttop" class="area"></div><!--[/diy]-->
  33. <!--{else}-->
  34. <!--{if $_G[setting][homepagestyle]}-->
  35. <!--{subtemplate home/space_header}-->
  36. <div id="ct" class="ct2 wp cl">
  37. <div class="mn">
  38. <div class="bm">
  39. <div class="bm_h">
  40. <h1 class="mt">{lang follow}</h1>
  41. </div>
  42. <div class="bm_c">
  43. <!--{else}-->
  44. <!--{template common/header}-->
  45. <div id="pt" class="bm cl">
  46. <div class="z">
  47. <a href="./" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a> <em>&rsaquo;</em>
  48. <a href="home.php?mod=space&uid=$space[uid]">{$space[username]}</a> <em>&rsaquo;</em>
  49. <a href="home.php?mod=follow&uid=$space[uid]&do=view&from=space">{lang follow}</a>
  50. </div>
  51. </div>
  52. <style id="diy_style" type="text/css"></style>
  53. <div class="wp">
  54. <!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]-->
  55. </div>
  56. <!--{template home/space_menu}-->
  57. <div id="ct" class="ct1 wp cl">
  58. <div class="mn">
  59. <!--[diy=diycontenttop]--><div id="diycontenttop" class="area"></div><!--[/diy]-->
  60. <div class="bm bw0">
  61. <div class="bm_c">
  62. <!--{/if}-->
  63. <!--{/if}-->
  64. <!--{hook/follow_top}-->
  65. <!--{if in_array($do, array('feed', 'view'))}-->
  66. <!--{if helper_access::check_module('follow') && ( $do == 'feed' || ( $do == 'view' && $viewself))}-->
  67. <div id="flw_header" class="mbw bbs cl">
  68. <!--{if $do == 'feed'}-->
  69. <div class="my_flw_stats y">
  70. <ul>
  71. <li><span class="xg1">{lang follow}</span><a href="home.php?mod=space&uid=$uid"><strong class="xi2">$space['feeds']</strong></a></li>
  72. <li><span class="xg1">{lang follow_add}</span><a href="home.php?mod=follow&do=following&uid=$uid"><strong class="xi2">$space['following']</strong></a></li>
  73. <li><span class="xg1">{lang follow_follower}</span><a href="home.php?mod=follow&do=follower&uid=$uid"><strong class="xi2">$space['follower']</strong></a></li>
  74. </ul>
  75. </div>
  76. <!--{/if}-->
  77. <script type="text/javascript" src="{$_G[setting][jspath]}forum.js?{VERHASH}"></script>
  78. <script type="text/javascript" src="{$_G[setting][jspath]}forum_moderate.js?{VERHASH}"></script>
  79. <script type="text/javascript">
  80. var postminchars = parseInt('$_G['setting']['minpostsize']');
  81. var postmaxchars = parseInt('$_G['setting']['maxpostsize']');
  82. var disablepostctrl = parseInt('{$_G['group']['disablepostctrl']}');
  83. </script>
  84. <!--{eval $dmfid = $_G['setting']['followforumid'] && !empty($defaultforum) ? $_G['setting']['followforumid'] : 0;}-->
  85. <form method="post" autocomplete="off" id="fastpostform" action="home.php?mod=spacecp&ac=follow&op=newthread&topicsubmit=yes&infloat=yes&handlekey=fastnewpost&inajax=1" onsubmit="return fastpostvalidate(this);" style="float: left;">
  86. <div id="fastpostreturn" style="margin:-5px 0 5px"></div>
  87. <div id="flw_post_subject" style="display:none;">
  88. <span id="flw_checklen" class="y"><span id="checklen" class="xg1">80</span></span>
  89. <input type="text" id="subject" name="subject" onkeyup="strLenCalc(this, 'checklen', 80);" tabindex="11" />
  90. </div>
  91. <div id="flw_post_extra" class="mtn cl">
  92. <div{if $_G[setting][fastsmilies]} class="hasfsl"{/if} id="fastposteditor">
  93. <div class="tedt">
  94. <div class="area">
  95. <textarea rows="5" cols="80" name="message" id="fastpostmessage" onKeyDown="seditor_ctlent(event, '$(\'fastpostsubmit\').click()');" tabindex="12" class="pt xs2"></textarea>
  96. </div>
  97. <div id="flw_bar" class="bar">
  98. <!--{eval $seditor = array('fastpost', array('smilies', 'at'), 0, '<span id="spanButtonPlaceholder">{lang upload}</span>');}-->
  99. <!--{subtemplate common/seditor}-->
  100. </div>
  101. </div>
  102. </div>
  103. <script type="text/javascript">
  104. var editorid = '';
  105. var ATTACHNUM = {'imageused':0,'imageunused':0,'attachused':0,'attachunused':0}, ATTACHUNUSEDAID = new Array(), IMGUNUSEDAID = new Array();
  106. </script>
  107. <div class="upfl{if empty($_GET[from]) && $_G[setting][fastsmilies]} hasfsl{/if}">
  108. <div id="attachlist" class="fieldset flash cl"><span style="font-size:0"></span></div>
  109. <!--{if empty($_G['setting']['pluginhooks']['follow_upload_extend'])}-->
  110. <!--{subtemplate common/upload}-->
  111. <script type="text/javascript">
  112. var upload = new SWFUpload({
  113. // Backend Settings
  114. upload_url: "{$_G[siteurl]}misc.php?mod=swfupload&action=swfupload&operation=upload&fid={$dmfid}",
  115. post_params: {"uid" : "$_G[uid]", "hash":"$swfconfig[hash]"},
  116. // File Upload Settings
  117. file_size_limit : "$swfconfig[max]", // 100MB
  118. file_types : "$swfconfig[attachexts][ext]",
  119. file_types_description : "$swfconfig[attachexts][depict]",
  120. file_upload_limit : $swfconfig['limit'],
  121. file_queue_limit : 0,
  122. // Event Handler Settings (all my handlers are in the Handler.js file)
  123. swfupload_preload_handler : preLoad,
  124. swfupload_load_failed_handler : loadFailed,
  125. file_dialog_start_handler : fileDialogStart,
  126. file_queued_handler : fileQueued,
  127. file_queue_error_handler : fileQueueError,
  128. file_dialog_complete_handler : fileDialogComplete,
  129. upload_start_handler : uploadStart,
  130. upload_progress_handler : uploadProgress,
  131. upload_error_handler : uploadError,
  132. upload_success_handler : uploadSuccess,
  133. upload_complete_handler : uploadComplete,
  134. // Button Settings
  135. button_image_url : "{IMGDIR}/flw_post_attach.png",
  136. button_placeholder_id : "spanButtonPlaceholder",
  137. button_width: 18,
  138. button_height: 25,
  139. button_cursor:SWFUpload.CURSOR.HAND,
  140. button_window_mode: "transparent",
  141. custom_settings : {
  142. progressTarget : "attachlist",
  143. uploadSource: 'forum',
  144. uploadType: 'attach',
  145. <!--{if $swfconfig['maxsizeperday']}-->
  146. maxSizePerDay: $swfconfig['maxsizeperday'],
  147. <!--{/if}-->
  148. <!--{if $swfconfig['maxattachnum']}-->
  149. maxAttachNum: $swfconfig['maxattachnum'],
  150. <!--{/if}-->
  151. uploadFrom: 'fastpost'
  152. },
  153. // Debug Settings
  154. debug: false
  155. });
  156. </script>
  157. <!--{else}-->
  158. <!--{hook/follow_upload_extend}-->
  159. <!--{/if}-->
  160. <script type="text/javascript">
  161. var fid = <!--{if $_G['setting']['followforumid']}-->$_G['setting']['followforumid']<!--{else}-->0<!--{/if}-->;
  162. var resulttype = 'follow';
  163. var attachBtn = $('flw_bar').getElementsByTagName('object')[0];
  164. var flwbarBtn = $('flw_bar').getElementsByTagName('a');
  165. if(BROWSER.ie && BROWSER.ie < 7 && attachBtn) {
  166. attachBtn.style.left = flwbarBtn ? flwbarBtn.length * 25 : 0;
  167. }
  168. </script>
  169. </div>
  170. <!--{if $secqaacheck || $seccodecheck}-->
  171. <!--{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}-->
  172. <div class="mtm sec"><!--{subtemplate common/seccheck}--></div>
  173. <!--{/if}-->
  174. <input type="hidden" name="formhash" value="{FORMHASH}" />
  175. <input type="hidden" name="usesig" value="$usesigcheck" />
  176. <input type="hidden" name="adddynamic" value="1" />
  177. <input type="hidden" name="addfeed" value="1" />
  178. <input type="hidden" name="topicsubmit" value="true" />
  179. <input type="hidden" name="referer" value="{echo dreferer()}" />
  180. <div class="cl">
  181. <div class="z ptm" id="forumlistdev" style="display: none;">
  182. <select name="defaultforum" id="fid" class="ps z" onchange="modifyformurl(this.value);">
  183. <option value="0">{lang follow_other_forum}</option>
  184. </select>
  185. <select name="forumlist" id="forumlist" class="ps z" onchange="addforumlist(this);" style="display: none;">
  186. <option value="0">{lang follow_select_forum}</option>
  187. $forumlist
  188. </select>
  189. <div class="ftid">
  190. <span class="ftid" id="threadclass"></span>
  191. </div>
  192. </div>
  193. <div class="y">
  194. <p class="ptm pnpost">
  195. <label><input type="checkbox" name="syncbbs" id="syncbbs" value="1" onclick="showSyncInfo(this.checked)" />{lang follow_sync_forum}</label>&nbsp;
  196. <button {if $_G['uid']}type="submit" {else}type="button" onclick="showWindow('login', 'member.php?mod=logging&action=login&guestmessage=yes')" {/if}name="topicsubmit_btn" id="fastpostsubmit" value="topicsubmitbtn" tabindex="13" class="pn pnc"><strong>{lang follow_new_thread}</strong></button>
  197. </p>
  198. </div>
  199. </div>
  200. </div>
  201. </form>
  202. <script type="text/javascript">
  203. var nofollowfeed = <!--{if !empty($list['feed'])}-->0<!--{else}-->1<!--{/if}-->;
  204. var userdatakey = cookiepre+'fastpost{$_G[uid]}';
  205. function showSyncInfo(flag) {
  206. display('flw_post_subject');
  207. display('forumlistdev');
  208. var sObj = $('subject');
  209. sObj.value = '';
  210. strLenCalc(sObj, 'checklen', 80);
  211. }
  212. function fastpostvalidateextra() {
  213. var sObj = $('subject');
  214. if(!$('syncbbs').checked) {
  215. $('subject').value = ' ';
  216. }
  217. return true;
  218. }
  219. function backupContent() {
  220. var obj = $('fastpostform');
  221. if(!obj) return;
  222. var data = subject = message = '';
  223. saveUserdata(userdatakey, data);
  224. for(var i = 0; i < obj.elements.length; i++) {
  225. var el = obj.elements[i];
  226. if(el.name != '' && el.tagName == 'SELECT') {
  227. var elvalue = el.value;
  228. if(trim(elvalue)) {
  229. data += el.name + String.fromCharCode(9) + el.tagName + String.fromCharCode(9) + el.type + String.fromCharCode(9) + elvalue + String.fromCharCode(9, 9);
  230. if(el.tagName == 'SELECT' && el.name == 'defaultforum') {
  231. var values = {};
  232. for(var j = 0; j < el.options.length; j++) {
  233. var option = el.options[j];
  234. var ov = parseInt(option.value);
  235. if(typeof values[option.value] == 'undefined' && !isNaN(ov) && option.innerText != '' && option.innerText != 'undefined') {
  236. data += el.name + String.fromCharCode(9) + option.tagName + String.fromCharCode(9) + option.value + String.fromCharCode(9) + option.text + String.fromCharCode(9, 9);
  237. values[option.value] = option.value;
  238. }
  239. }
  240. }
  241. }
  242. }
  243. }
  244. saveUserdata(userdatakey, data);
  245. }
  246. function addforumlist(listObj) {
  247. var fid = listObj.value;
  248. if(fid) {
  249. var dforum = $('fid');
  250. //判断是否已经在列表中
  251. var haveoption = false;
  252. for(var i = 0; i < dforum.options.length; i++) {
  253. if(dforum.options[i].value == fid) {
  254. dforum.selectedIndex = i;
  255. haveoption = true;
  256. break;
  257. }
  258. }
  259. if(!haveoption) {
  260. var option = listObj.options[listObj.selectedIndex];
  261. var oOption = document.createElement("OPTION");
  262. oOption.text = trim(option.text);
  263. oOption.value = option.value;
  264. dforum.options.add(oOption);
  265. dforum.selectedIndex = dforum.options.length-1;
  266. }
  267. modifyformurl(fid);
  268. }
  269. dforum.style.display = '';
  270. listObj.style.display = 'none';
  271. }
  272. function modifyformurl(mfid) {
  273. if(parseInt(mfid)) {
  274. backupContent();
  275. //noteX 修改表单中的两个固定地址
  276. $('fastpostform').action = 'home.php?mod=spacecp&ac=follow&op=newthread&topicsubmit=yes&infloat=yes&handlekey=fastnewpost&inajax=1&fid='+mfid;
  277. if(upload) {
  278. fid = mfid;
  279. var uploadurl = '{$_G[siteroot]}misc.php?mod=swfupload&action=swfupload&operation=upload&fid='+mfid;
  280. upload.setUploadURL(uploadurl);
  281. }
  282. getthreadclass();
  283. } else {
  284. var flist = $('forumlist');
  285. var dforum = $('fid');
  286. dforum.style.display = 'none';
  287. flist.style.display = '';
  288. }
  289. }
  290. function resumeContent() {
  291. var data = loadUserdata(userdatakey);
  292. if(in_array((data = trim(data)), ['', 'null', 'false', null, false])) {
  293. modifyformurl();
  294. return false;
  295. }
  296. var data = data.split(/\x09\x09/);
  297. var formObj = $('fastpostform');
  298. var sValue = 0;
  299. for(var i = 0; i < formObj.elements.length; i++) {
  300. var el = formObj.elements[i];
  301. if(el.name != '' && el.tagName == 'SELECT') {
  302. for(var j = 0; j < data.length; j++) {
  303. var ele = data[j].split(/\x09/);
  304. if(ele[0] == el.name) {
  305. elvalue = !isUndefined(ele[3]) ? ele[3] : '';
  306. if(ele[1] == 'SELECT') {
  307. //添加选项
  308. var values = {0:0<!--{if $_G['setting']['followforumid']}-->,$_G['setting']['followforumid']:$_G['setting']['followforumid']<!--{/if}-->};
  309. for(var oi = 0; oi < data.length; oi++) {
  310. var oObj = data[oi].split(/\x09/);
  311. if(oObj[0] == el.name && oObj[1] == 'OPTION' && typeof values[oObj[2]] == 'undefined') {
  312. var oOption = document.createElement("OPTION");
  313. el.options.add(oOption);
  314. oOption.text = oObj[3];
  315. values[oObj[2]] = oOption.value = oObj[2];
  316. if(elvalue == oObj[2]) {
  317. el.selectedIndex = el.options.length-1;
  318. modifyformurl(elvalue);
  319. }
  320. }
  321. }
  322. if(el.options.length < 2) {
  323. modifyformurl(0);
  324. }
  325. }
  326. break
  327. }
  328. }
  329. }
  330. }
  331. }
  332. function succeedhandle_fastnewpost(url, msg, values) {
  333. if(nofollowfeed) {
  334. window.location.reload();
  335. } else {
  336. if(parseInt(values.feedid)) {
  337. getNewFollowFeed(values.tid, values.fid, values.pid, values.feedid);
  338. } else {
  339. showDialog(msg, 'notice', null, null, 0, null, null, null, null, 3);
  340. }
  341. showCreditPrompt();
  342. //清空上次的输入
  343. var sObj = $('subject');
  344. $('attachlist').innerHTML = $('fastpostmessage').value = sObj.value = '';
  345. strLenCalc(sObj, 'checklen', 80);
  346. if(values.sechash) {
  347. updatesecqaa(values.sechash);
  348. updateseccode(values.sechash);
  349. $('seccodeverify_'+values.sechash).value='';
  350. }
  351. //var msg = '您的主题已发布,<a href="'+url+'" class="xi2">点击这里查看主题</a>'
  352. //showDialog(msg, 'notice', null, null, 0, null, null, null, null, 3);
  353. }
  354. }
  355. function getNewFollowFeed(tid, fid, pid, feedid) {
  356. var x = new Ajax();
  357. x.get('forum.php?mod=ajax&action=getpostfeed&inajax=1&tid='+tid+'&fid='+fid+'&pid='+pid+'&feedid='+feedid, function(s){
  358. newli = document.createElement("li");
  359. newli.innerHTML = s;
  360. var listObj = $('followlist');
  361. listObj.insertBefore(newli, listObj.firstChild);
  362. });
  363. }
  364. resumeContent();
  365. function cleartitle(obj) {
  366. if($('flw_post_subject').style.display== 'none') {
  367. var sObj = $('subject');
  368. sObj.value = '';
  369. strLenCalc(sObj, 'checklen', 80);
  370. obj.innerHTML = '{lang follow_add_title}';
  371. } else {
  372. obj.innerHTML = '{lang follow_auto_title}';
  373. }
  374. }
  375. </script>
  376. </div>
  377. <!--{/if}-->
  378. <!--{if in_array($do, array('feed', 'view'))}-->
  379. <!--{if $do == 'feed' && $_G[setting][homestyle]}-->
  380. <ul class="mbw tb cl">
  381. <li$actives[follow]><a href="home.php?mod=follow&view=follow">{lang follow_following}</a></li>
  382. <li$actives[special]><a href="home.php?mod=follow&view=special">{lang follow_special_following}</a></li>
  383. <li$actives[other]><a href="home.php?mod=follow&view=other">{lang follow_hall}</a></li>
  384. <!--{hook/follow_nav_extra}-->
  385. </ul>
  386. <!--{/if}-->
  387. <!--{if !empty($list['feed'])}-->
  388. <div class="flw_feed">
  389. <ul id="followlist">
  390. <!--{subtemplate home/follow_feed_li}-->
  391. </ul>
  392. <!--{if count($list['feed']) > 19 && ($archiver || $primary)}-->
  393. <div id="loadingfeed" class="flw_more"><a href="javascript:;" onclick="loadmore();return false;" class="xi2">{lang follow_more} &raquo;</a></div>
  394. <!--{else}-->
  395. <div id="loadingfeed"></div>
  396. <!--{/if}-->
  397. <iframe id="downloadframe" name="downloadframe" width="0" height="0" marginwidth="0" frameborder="0" src="about:blank"></iframe>
  398. <script type="text/javascript">
  399. function succeedhandle_attachpay(url, msg, values) {
  400. hideWindow('attachpay');
  401. window.location.href = url;
  402. //$('downloadframe').src = url;
  403. }
  404. </script>
  405. </div>
  406. <!--{else}-->
  407. <div class="emp">
  408. <h2 class="mbw xg1 xs2 hm"><!--{if $viewself}-->{lang follow_following_null}<!--{else}-->{lang follow_no_content}<!--{/if}--></h2>
  409. <!--{if $do == 'feed' && $view == 'special'}-->
  410. <div class="mtw hm xg1">
  411. {lang follow_add_special_tip}<a href="home.php?mod=follow&do=following&uid=$uid" class="xi2">{lang follow_add_special_following}</a>
  412. </div>
  413. <!--{/if}-->
  414. <!--{if !empty($recommend) && $showrecommend && $view != 'special'}-->
  415. <!--{eval $showrecommend = false;}-->
  416. <div class="flw_user_list mbm">
  417. <h3 class="xi2 xs2 mbw ptm pbm bbda">{lang follow_recommend}</h3>
  418. <ul class="ml mls cl">
  419. <!--{loop $recommend $ruid $rusername}-->
  420. <li>
  421. <a href="home.php?mod=space&uid=$ruid" class="avt" c="1" shref="home.php?mod=space&uid=$ruid"><!--{avatar($ruid,small)}--></a>
  422. <p><a href="home.php?mod=space&uid=$ruid" style="text-decoration: none !important;">$rusername</a></p>
  423. <!--{if helper_access::check_module('follow')}-->
  424. <span><a id="a_followmod_{$ruid}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$ruid&from=block" onclick="ajaxget(this.href);doane(event);" style="text-decoration: none !important;">{lang follow_add}</a></span>
  425. <!--{/if}-->
  426. </li>
  427. <!--{/loop}-->
  428. </ul>
  429. </div>
  430. <!--{/if}-->
  431. </div>
  432. <!--{/if}-->
  433. <!--{if count($list['feed']) > 19 && ($archiver || $primary)}-->
  434. <script type="text/javascript">
  435. var scrollY = 0;
  436. var page = 2;
  437. var feedInfo = {scrollY: 0, archiver: $archiver, primary: $primary, query: true, scrollNum:1};
  438. var loadingfeed = $('loadingfeed');
  439. function loadmore() {
  440. var currentScroll = document.documentElement.scrollTop || document.body.scrollTop;
  441. var sHeight = document.documentElement.scrollHeight;
  442. if(currentScroll >= scrollY && currentScroll > (sHeight/5-5) && (feedInfo.primary ||feedInfo.archiver) && feedInfo.query) {
  443. /*
  444. if(feedInfo.scrollNum) {
  445. loadingfeed.className="flw_loading hm vm";
  446. loadingfeed.innerHTML = "<img src=\"{IMGDIR}/loading.gif\" class=\"vm\" /> {lang follow_loading}";
  447. }
  448. */
  449. feedInfo.query = false;
  450. var archiver = 0;
  451. if(feedInfo.primary) {
  452. archiver = 0;
  453. } else if(feedInfo.archiver) {
  454. archiver = 1;
  455. }
  456. var url = 'home.php?mod=spacecp&ac=follow&op=getfeed&archiver='+archiver+'&page='+page+'&inajax=1'<!--{if $do == 'feed'}-->+'&viewtype=$view'<!--{elseif $do == 'view'}-->+'&uid=$uid&banavatar=1'<!--{/if}-->;
  457. var x = new Ajax();
  458. x.get(url, function(s) {
  459. if(trim(s) == 'false') {
  460. if(!archiver) {
  461. feedInfo.primary = false;
  462. loadmore();
  463. page = 1;
  464. } else {
  465. feedInfo.archiver = false;
  466. page = 1;
  467. }
  468. } else {
  469. $('followlist').innerHTML = $('followlist').innerHTML + s;
  470. }
  471. if(!feedInfo.primary && !feedInfo.archiver) {
  472. loadingfeed.className = "";
  473. loadingfeed.innerHTML = "";
  474. }
  475. feedInfo.query = true;
  476. });
  477. page++;
  478. if(feedInfo.scrollNum) {
  479. feedInfo.scrollNum--;
  480. } else if(!feedInfo.scrollNum) {
  481. window.onscroll = null;
  482. }
  483. }
  484. scrollY = currentScroll;
  485. }
  486. window.onload = function() {
  487. scrollY = document.documentElement.scrollTop || document.body.scrollTop;
  488. window.onscroll = loadmore;
  489. }
  490. </script>
  491. <!--{/if}-->
  492. <!--{/if}-->
  493. <script type="text/javascript">
  494. var boxflag = {};
  495. var parentReplyId = '';
  496. function quickreply(fid, tid, feedid) {
  497. $('relaybox_'+feedid).style.display = 'none';
  498. var replyboxid = 'replybox_'+feedid;
  499. if(parentReplyId && parentReplyId != feedid) {
  500. var oldbox = $('replybox_'+parentReplyId);
  501. oldbox.innerHTML = '';
  502. oldbox.style.display = 'none';
  503. }
  504. if($(replyboxid).style.display == '' && boxflag[replyboxid]) {
  505. $(replyboxid).style.display = 'none';
  506. } else {
  507. boxflag[replyboxid] = true;
  508. ajaxget('forum.php?mod=ajax&action=quickreply&tid='+tid+'&fid='+fid+'&handlekey=qreply_'+feedid+'&feedid='+feedid, replyboxid);
  509. $(replyboxid).style.display = '';
  510. }
  511. parentReplyId = feedid;
  512. }
  513. function quickrelay(feedid, tid) {
  514. $('replybox_'+feedid).style.display = 'none';
  515. var replyboxid = 'relaybox_'+feedid;
  516. if($(replyboxid).style.display == '') {
  517. $(replyboxid).style.display = 'none';
  518. } else {
  519. ajaxget('home.php?mod=spacecp&ac=follow&op=relay&feedid='+feedid+'&tid='+tid+'&handlekey=qrelay_'+feedid, replyboxid);
  520. $(replyboxid).style.display = '';
  521. }
  522. }
  523. </script>
  524. <!--{elseif in_array($do, array('following', 'follower'))}-->
  525. <!--{if $list}-->
  526. <ul class="flw_ulist">
  527. <!--{loop $list $fuid $fuser}-->
  528. <li class="cl<!--{if in_array($fuser['uid'], $newfollower_list)}--> unread<!--{/if}-->">
  529. <!--{if $do=='following'}-->
  530. <a href="home.php?mod=space&uid=$fuser['followuid']" title="$fuser['fusername']" id="edit_avt" class="flw_avt" shref="home.php?mod=space&uid=$fuser['followuid']"><!--{avatar($fuser['followuid'],small)}--></a>
  531. <!--{if $viewself}-->
  532. <a id="a_followmod_{$fuser['followuid']}" href="home.php?mod=spacecp&ac=follow&op=del&fuid=$fuser['followuid']" onclick="ajaxget(this.href);doane(event);" class="flw_btn_unfo">{lang follow_del}</a>
  533. <!--{elseif $fuser[followuid] != $_G[uid]}-->
  534. <!--{if $fuser['mutual']}-->
  535. <!--{if $fuser['mutual'] > 0}--><span class="z flw_status_2">{lang follow_follower_mutual}</span><!--{else}--><span class="z flw_status_1">{lang did_not_follow_to_me}</span><!--{/if}--><a id="a_followmod_{$fuser['followuid']}" href="home.php?mod=spacecp&ac=follow&op=del&fuid=$fuser['followuid']" onclick="ajaxget(this.href);doane(event);" class="flw_btn_unfo">{lang follow_del}</a>
  536. <!--{elseif helper_access::check_module('follow')}-->
  537. <a id="a_followmod_{$fuser['followuid']}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$fuser['followuid']" onclick="ajaxget(this.href);doane(event);" class="flw_btn_fo">{lang follow_add}</a>
  538. <!--{/if}-->
  539. <!--{/if}-->
  540. <h6 class="pbn xs2"><a href="home.php?mod=space&uid=$fuser['followuid']" title="$fuser['fusername']" class="xi2" c="1" shref="home.php?mod=space&uid=$fuser['followuid']">$fuser['fusername']</a>&nbsp;<span id="followbkame_{$fuser['followuid']}" class="xg1 xs1 xw0"><!--{if $fuser['bkname']}-->$fuser[bkname]<!--{/if}--></span></h6>
  541. <!--{if !empty($fuser['recentnote'])}--><p><span class="xg1">{lang follow_recent_note}: </span>$fuser[recentnote]</p><!--{/if}-->
  542. <p class="ptm xg1">
  543. <!--{if $memberprofile[$fuid]['resideprovince'] || $memberprofile[$fuid]['residecity']}-->{lang comefrom}: $memberprofile[$fuid]['resideprovince'] $memberprofile[$fuid]['residecity'] &nbsp;<!--{/if}-->
  544. {lang follow_follower}: <a href="home.php?mod=follow&do=follower&uid=$fuser['followuid']"><strong class="xi2" id="followernum_$fuser['followuid']">$memberinfo[$fuid]['follower']</strong></a>{lang person} &nbsp;
  545. {lang follow_add}: <a href="home.php?mod=follow&do=following&uid=$fuser['followuid']"><strong class="xi2">$memberinfo[$fuid]['following']</strong></a>{lang person} &nbsp;
  546. <!--{if $viewself && $fuser[followuid] != $_G[uid]}-->
  547. <span class="pipe">|</span>
  548. <a href="home.php?mod=spacecp&ac=follow&op=bkname&fuid=$fuser['followuid']&handlekey=followbkame_$fuser['followuid']" id="fbkname_$fuser['followuid']" onclick="showWindow('followbkame_{$fuser['followuid']}', this.href, 'get', 0);"><!--{if $fuser['bkname']}-->{lang follow_mod_bkname}<!--{else}-->{lang follow_add_bkname}<!--{/if}--></a>
  549. <!--{if helper_access::check_module('follow')}-->
  550. <span class="pipe">|</span>
  551. <a id="a_specialfollow_{$fuser['followuid']}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&special={if $fuser['status'] == 1}2{else}1{/if}&fuid=$fuser['followuid']" onclick="ajaxget(this.href);doane(event);"><!--{if $fuser['status'] == 1}-->{lang follow_del_special_following}<!--{else}-->{lang follow_add_special_following}<!--{/if}--></a>
  552. <!--{/if}-->
  553. <!--{/if}-->
  554. </p>
  555. <!--{else}-->
  556. <a href="home.php?mod=space&uid=$fuser['uid']" title="$fuser['username']" id="edit_avt" class="flw_avt" c="1" shref="home.php?mod=space&uid=$fuser['uid']"><!--{avatar($fuser['uid'],small)}--></a>
  557. <!--{if $fuser[uid] != $_G[uid]}-->
  558. <!--{if $fuser['mutual']}-->
  559. <!--{if $fuser['mutual'] > 0}--><span class="z flw_status_2">{lang follow_follower_mutual}</span><!--{else}--><span class="z flw_status_1">{lang did_not_follow_to_me}</span><!--{/if}--><a id="a_followmod_{$fuser['uid']}" href="home.php?mod=spacecp&ac=follow&op=del&fuid=$fuser['uid']" onclick="ajaxget(this.href);doane(event);" class="flw_btn_unfo">{lang follow_del}</a>
  560. <!--{elseif helper_access::check_module('follow')}-->
  561. <a id="a_followmod_{$fuser['uid']}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$fuser['uid']" onclick="ajaxget(this.href);doane(event);" class="flw_btn_fo">{lang follow_add}</a>
  562. <!--{/if}-->
  563. <!--{/if}-->
  564. <h6 class="pbn xs2"><a href="home.php?mod=space&uid=$fuser['uid']" title="$fuser['username']" class="xi2" c="1" shref="home.php?mod=space&uid=$fuser['uid']">$fuser['username']</a></h6>
  565. <p><span class="xg1">{lang follow_recent_note}: </span>$fuser[recentnote]</p>
  566. <p class="ptm xg1">
  567. <!--{if $memberprofile[$fuid]['resideprovince'] || $memberprofile[$fuid]['residecity']}-->{lang comefrom}: $memberprofile[$fuid]['resideprovince'] $memberprofile[$fuid]['residecity'] &nbsp;<!--{/if}-->
  568. {lang follow_follower}: <a href="home.php?mod=follow&do=follower&uid=$fuser['uid']"><strong class="xi2" id="followernum_$fuser['uid']">$memberinfo[$fuid]['follower']</strong></a>{lang person} &nbsp;
  569. {lang follow_add}: <a href="home.php?mod=follow&do=following&uid=$fuser['uid']"><strong class="xi2">$memberinfo[$fuid]['following']</strong></a>{lang person}
  570. </p>
  571. <!--{/if}-->
  572. </li>
  573. <!--{/loop}-->
  574. </ul>
  575. <!--{if !empty($multi)}--><div>$multi</div><!--{/if}-->
  576. <br/>
  577. <!--{else}-->
  578. <div id="nofollowmsg">
  579. <div class="flw_thread">
  580. <ul>
  581. <li class="flw_article">
  582. <div class="emp">
  583. <h2 class="xg1 xs2 hm">
  584. <!--{if $viewself}-->
  585. <!--{if $do=='following'}-->
  586. {lang follow_you_following_none}<a href="home.php?mod=follow&view=other" class="xi2">{lang follow_hall}</a>{lang follow_fetch_interested_user}
  587. <!--{else}-->
  588. {lang follow_you_follower_none1}<a href="home.php?mod=follow" class="xi2">{lang follow_add_feed}</a>{lang follow_you_follower_none2}
  589. <!--{/if}-->
  590. <!--{else}-->
  591. <!--{if $do=='following'}-->
  592. {lang follow_user_following_none}
  593. <!--{else}-->
  594. {lang follow_user_follower_none}
  595. <!--{/if}-->
  596. <!--{/if}-->
  597. </h2>
  598. </div>
  599. </li>
  600. </ul>
  601. </div>
  602. </div>
  603. <!--{/if}-->
  604. <!--{/if}-->
  605. <!--{if !$_G[setting][homepagestyle]}--><!--[diy=diycontentbottom]--><div id="diycontentbottom" class="area"></div><!--[/diy]--><!--{/if}-->
  606. <!--{if $do != 'feed'}-->
  607. </div>
  608. </div>
  609. <!--{if $_G[setting][homepagestyle]}-->
  610. </div>
  611. <div class="sd">
  612. <!--{subtemplate home/space_userabout}-->
  613. <!--{/if}-->
  614. <!--{/if}-->
  615. </div>
  616. </div>
  617. <!--{if !$_G[setting][homepagestyle]}-->
  618. <div class="wp mtn">
  619. <!--[diy=diy3]--><div id="diy3" class="area"></div><!--[/diy]-->
  620. </div>
  621. <!--{/if}-->
  622. <!--{if $showguide && $do == 'feed'}-->
  623. <style type="text/css">
  624. .widthauto #nv_menu { width: 95%; }
  625. .widthauto #nv_menu div { position: absolute;left: 50%;margin-left: -472px;width:944px; }
  626. </style>
  627. <div id="nv_menu" style="display:none;">
  628. <div>
  629. <img src="{IMGDIR}/flw_guide.png" alt="" />
  630. <button class="pn pnc" style="margin: -50px 0 20px 430px;" onclick="hideMenu()"><span>{lang follow_i_know}</span></button>
  631. </div>
  632. </div>
  633. <script type="text/javascript">
  634. showMenu({'ctrlid':'nv','pos':'13','cover':'1'});
  635. </script>
  636. <!--{/if}-->
  637. <script type="text/javascript" reload="1">
  638. function succeedhandle_followmod(url, msg, values) {
  639. var numObj = $('followernum_'+values['fuid']);
  640. if(numObj) {followernum = parseInt(numObj.innerHTML);}
  641. if(values['type'] == 'add') {
  642. if(values['from'] == 'head') {
  643. if($('followflag')) $('followflag').style.display = '';
  644. if($('unfollowflag')) $('unfollowflag').style.display = 'none';
  645. if($('fbkname_'+values['fuid'])) $('fbkname_'+values['fuid']).style.display = '';
  646. } else if($('a_followmod_'+values['fuid'])) {
  647. $('a_followmod_'+values['fuid']).innerHTML = '{lang follow_del}';
  648. if(values['from'] != 'block') {
  649. $('a_followmod_'+values['fuid']).className = 'flw_btn_unfo';
  650. }
  651. $('a_followmod_'+values['fuid']).href = 'home.php?mod=spacecp&ac=follow&op=del&fuid='+values['fuid']+(values['from'] == 'block' ? '&from=block' : '');
  652. }
  653. if(numObj) {
  654. numObj.innerHTML = followernum + 1;
  655. }
  656. } else if(values['type'] == 'del') {
  657. if(values['from'] == 'head') {
  658. if($('followflag')) $('followflag').style.display = 'none';
  659. if($('unfollowflag')) $('unfollowflag').style.display = '';
  660. if($('followbkame_'+values['fuid'])) $('followbkame_'+values['fuid']).innerHTML = '';
  661. if($('fbkname_'+values['fuid'])) {
  662. $('fbkname_'+values['fuid']).innerHTML = '[{lang follow_add_bkname}]';
  663. $('fbkname_'+values['fuid']).style.display = 'none';
  664. }
  665. } else if($('a_followmod_'+values['fuid'])) {
  666. $('a_followmod_'+values['fuid']).innerHTML = '{lang follow_add}';
  667. if(values['from'] != 'block') {
  668. $('a_followmod_'+values['fuid']).className = 'flw_btn_fo';
  669. }
  670. $('a_followmod_'+values['fuid']).href = 'home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid='+values['fuid']+(values['from'] == 'block' ? '&from=block' : '');
  671. }
  672. if(numObj) {
  673. numObj.innerHTML = followernum - 1;
  674. }
  675. } else if(values['type'] == 'special') {
  676. if(values['from'] == 'head') {
  677. var specialObj = $('specialflag_'+values['fuid']);
  678. if(values['special'] == 1) {
  679. specialObj.className = 'flw_specialfo';
  680. specialObj.innerHTML = '{lang follow_add_special_following}';
  681. } else {
  682. specialObj.className = 'flw_specialunfo';
  683. specialObj.innerHTML = '{lang follow_del_special_following}';
  684. }
  685. specialObj.title = specialObj.innerHTML;
  686. specialObj.href = 'home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&special='+values['special']+'&fuid='+values['fuid']+'&from=head';
  687. } else {
  688. $('a_specialfollow_'+values['fuid']).innerHTML = values['special'] == 1 ? '{lang follow_add_special_following}' : '{lang follow_del_special_following}';
  689. $('a_specialfollow_'+values['fuid']).href = 'home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&special='+values['special']+'&fuid='+values['fuid'];
  690. }
  691. }
  692. }
  693. function changefeed(tid, pid, flag, obj) {
  694. var x = new Ajax();
  695. var o = obj.parentNode;
  696. for(var i = 0; i < 4; i++) {
  697. if(o.id.indexOf('original_content_') == -1) {
  698. o = o.parentNode;
  699. } else {
  700. break;
  701. }
  702. }
  703. x.get('forum.php?mod=ajax&action=getpostfeed&inajax=1&tid='+tid+'&pid='+pid+'&type=changefeed&flag='+flag, function(s){
  704. o.innerHTML = s;
  705. });
  706. }
  707. function vieworiginal(clickobj, id) {
  708. var obj = $(id);
  709. if(obj.style.display == 'none') {
  710. obj.style.display = '';
  711. clickobj.innerHTML = '- {lang pack_up}';
  712. } else {
  713. obj.style.display = 'none';
  714. clickobj.innerHTML = '+ {lang follow_open_feed}';
  715. }
  716. }
  717. </script>
  718. <!--{template common/footer}-->