PageRenderTime 65ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 1ms

/source/admincp/admincp_setting.php

https://github.com/kuaileshike/upload
PHP | 3171 lines | 2885 code | 280 blank | 6 comment | 641 complexity | 45515ef9ae419ff6d63b2a459491470c MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: admincp_setting.php 31744 2012-09-27 06:40:33Z zhangguosheng $
  7. */
  8. if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
  9. exit('Access Denied');
  10. }
  11. cpheader();
  12. $setting = C::t('common_setting')->fetch_all(null);
  13. if(!$isfounder) {
  14. unset($setting['ftp']);
  15. }
  16. $extbutton = '';
  17. $operation = $operation ? $operation : 'basic';
  18. if($operation == 'styles') {
  19. $floatwinkeys = array('login', 'sendpm', 'newthread', 'reply', 'viewratings', 'viewwarning', 'viewthreadmod', 'viewvote', 'tradeorder', 'activity', 'debate', 'nav', 'usergroups', 'task');
  20. $floatwinarray = array();
  21. foreach($floatwinkeys as $k) {
  22. $floatwinarray[] = array($k, $lang['setting_styles_global_allowfloatwin_'.$k]);
  23. }
  24. }
  25. if(!submitcheck('settingsubmit')) {
  26. if($operation == 'ec') {
  27. shownav('extended', 'nav_ec', 'nav_ec_config');
  28. } elseif(in_array($operation, array('memory', 'cachethread', 'serveropti'))) {
  29. shownav('global', 'setting_optimize');
  30. } elseif($operation == 'seo') {
  31. shownav('global', 'nav_seo');
  32. } elseif($operation == 'styles') {
  33. shownav('style', 'setting_styles');
  34. } elseif($operation == 'editor') {
  35. shownav('style', 'setting_editor');
  36. } elseif($operation == 'profile') {
  37. shownav('user', 'nav_members_profile_group');
  38. } elseif(in_array($operation, array('mail', 'uc'))) {
  39. shownav('founder', 'setting_'.$operation);
  40. } else {
  41. shownav('global', 'setting_'.$operation);
  42. }
  43. if(in_array($operation, array('memory', 'cachethread', 'serveropti', 'memorydata'))) {
  44. $current = array($operation => 1);
  45. $memorydata = memory('check') ? array('setting_memorydata', 'setting&operation=memorydata', $current['memorydata']) : '';
  46. showsubmenu('setting_optimize', array(
  47. array('setting_cachethread', 'setting&operation=cachethread', $current['cachethread']),
  48. array('setting_serveropti', 'setting&operation=serveropti', $current['serveropti']),
  49. array('setting_memory', 'setting&operation=memory', $current['memory']),
  50. $memorydata
  51. ));
  52. } elseif($operation == 'seo') {
  53. $_GET['anchor'] = in_array($_GET['anchor'], array('rewrite', 'portal', 'forum', 'home', 'group')) ? $_GET['anchor'] : 'rewrite';
  54. showsubmenuanchors('nav_seo', array(
  55. array('nav_seo_rewrite', 'rewrite', $_GET['anchor'] == 'rewrite'),
  56. array('nav_seo_portal', 'portal', $_GET['anchor'] == 'portal'),
  57. array('nav_seo_forum', 'forum', $_GET['anchor'] == 'forum'),
  58. array('nav_seo_home', 'home', $_GET['anchor'] == 'home'),
  59. array('nav_seo_group', 'group', $_GET['anchor'] == 'group'),
  60. array('other', 'other', $_GET['anchor'] == 'other'),
  61. ));
  62. } elseif($operation == 'ec') {
  63. showsubmenu('nav_ec', array(
  64. array('nav_ec_config', 'setting&operation=ec', 1),
  65. array('nav_ec_tenpay', 'ec&operation=tenpay', 0),
  66. array('nav_ec_alipay', 'ec&operation=alipay', 0),
  67. array('nav_ec_credit', 'ec&operation=credit', 0),
  68. array('nav_ec_orders', 'ec&operation=orders', 0),
  69. array('nav_ec_tradelog', 'tradelog&mod=forum', 0),
  70. array('nav_ec_inviteorders', 'ec&operation=inviteorders', 0)
  71. ));
  72. } elseif($operation == 'access') {
  73. $_GET['anchor'] = in_array($_GET['anchor'], array('register', 'access')) ? $_GET['anchor'] : 'register';
  74. showsubmenuanchors('setting_access', array(
  75. array('setting_access_register', 'register', $_GET['anchor'] == 'register'),
  76. array('setting_access_access', 'access', $_GET['anchor'] == 'access')
  77. ));
  78. } elseif($operation == 'follow') {
  79. $_GET['anchor'] = 'base';
  80. showsubmenuanchors('setting_follow', array(
  81. array('setting_follow_base', 'base', true)
  82. ));
  83. } elseif($operation == 'home') {
  84. $_GET['anchor'] = in_array($_GET['anchor'], array('base', 'privacy')) ? $_GET['anchor'] : 'base';
  85. showsubmenuanchors('setting_home', array(
  86. array('setting_home_base', 'base', $_GET['anchor'] == 'base'),
  87. array('setting_home_privacy', 'privacy', $_GET['anchor'] == 'privacy')
  88. ));
  89. } elseif($operation == 'profile') {
  90. $_GET['anchor'] = in_array($_GET['anchor'], array('base', 'edit')) ? $_GET['anchor'] : 'base';
  91. } elseif($operation == 'mail') {
  92. $_GET['anchor'] = in_array($_GET['anchor'], array('setting', 'check')) ? $_GET['anchor'] : 'setting';
  93. showsubmenuanchors('setting_mail', array(
  94. array('setting_mail_setting', 'mailsetting', $_GET['anchor'] == 'setting'),
  95. array('setting_mail_check', 'mailcheck', $_GET['anchor'] == 'check')
  96. ));
  97. } elseif($operation == 'sec') {
  98. $_GET['anchor'] = in_array($_GET['anchor'], array('base', 'seccode', 'secqaa', 'reginput', 'postperiodtime')) ? $_GET['anchor'] : 'base';
  99. showsubmenuanchors('setting_sec', array(
  100. array('setting_sec_base', 'base', $_GET['anchor'] == 'base'),
  101. array('setting_sec_seccode', 'seccode', $_GET['anchor'] == 'seccode'),
  102. array('setting_sec_secqaa', 'secqaa', $_GET['anchor'] == 'secqaa'),
  103. array('setting_sec_reginput', 'reginput', $_GET['anchor'] == 'reginput'),
  104. array('setting_sec_postperiodtime', 'postperiodtime', $_GET['anchor'] == 'postperiodtime')
  105. ));
  106. } elseif($operation == 'attach') {
  107. $_GET['anchor'] = in_array($_GET['anchor'], array('basic', 'forumattach', 'remote', 'albumattach', 'portalarticle')) ? $_GET['anchor'] : 'basic';
  108. showsubmenuanchors('setting_attach', array(
  109. array('setting_attach_basic', 'basic', $_GET['anchor'] == 'basic'),
  110. $isfounder ? array('setting_attach_remote', 'remote', $_GET['anchor'] == 'remote') : '',
  111. array('setting_attach_forumattach', 'forumattach', $_GET['anchor'] == 'forumattach'),
  112. array('setting_attach_album', 'albumattach', $_GET['anchor'] == 'albumattach'),
  113. array('setting_attach_portal_article_attach', 'portalarticle', $_GET['anchor'] == 'portalarticle'),
  114. ));
  115. } elseif($operation == 'styles') {
  116. $_GET['anchor'] = in_array($_GET['anchor'], array('global', 'index', 'forumdisplay', 'viewthread', 'refresh', 'sitemessage')) ? $_GET['anchor'] : 'global';
  117. $current = array($_GET['anchor'] => 1);
  118. showsubmenu('setting_styles', array(
  119. array('setting_styles_global', 'setting&operation=styles&anchor=global', $current['global']),
  120. array('setting_styles_index', 'setting&operation=styles&anchor=index', $current['index']),
  121. array('setting_styles_forumdisplay', 'setting&operation=styles&anchor=forumdisplay', $current['forumdisplay']),
  122. array('setting_styles_viewthread', 'setting&operation=styles&anchor=viewthread', $current['viewthread']),
  123. array('setting_styles_refresh', 'setting&operation=styles&anchor=refresh', $current['refresh']),
  124. array('setting_styles_sitemessage', 'setting&operation=styles&anchor=sitemessage', $current['sitemessage'])
  125. ));
  126. } elseif($operation == 'functions') {
  127. $_GET['anchor'] = in_array($_GET['anchor'], array('curscript', 'mod', 'heatthread', 'recommend', 'comment', 'activity', 'other', 'guide')) ? $_GET['anchor'] : 'curscript';
  128. showsubmenu('setting_functions', array(
  129. array('setting_functions_curscript', 'setting&operation=functions&anchor=curscript', $_GET['anchor'] == 'curscript'),
  130. array('setting_functions_mod', 'setting&operation=functions&anchor=mod', $_GET['anchor'] == 'mod'),
  131. array('setting_functions_heatthread', 'setting&operation=functions&anchor=heatthread', $_GET['anchor'] == 'heatthread'),
  132. array('setting_functions_recommend', 'setting&operation=functions&anchor=recommend', $_GET['anchor'] == 'recommend'),
  133. array('setting_functions_comment', 'setting&operation=functions&anchor=comment', $_GET['anchor'] == 'comment'),
  134. array('setting_functions_guide', 'setting&operation=functions&anchor=guide', $_GET['anchor'] == 'guide'),
  135. array('setting_functions_activity', 'setting&operation=functions&anchor=activity', $_GET['anchor'] == 'activity'),
  136. array('setting_functions_other', 'setting&operation=functions&anchor=other', $_GET['anchor'] == 'other'),
  137. ));
  138. } elseif($operation == 'credits') {
  139. $_GET['anchor'] = in_array($_GET['anchor'], array('base', 'policytable')) ? $_GET['anchor'] : 'base';
  140. $current = array($_GET['anchor'] => 1);
  141. showsubmenu('setting_credits', array(
  142. array('setting_credits_base', 'setting&operation=credits&anchor=base', $current['base']),
  143. array('setting_credits_policy', 'credits&operation=list&anchor=policytable', $current['policytable']),
  144. ));
  145. } elseif($operation == 'editor') {
  146. showsubmenu('setting_editor', array(
  147. array('setting_editor_global', 'setting&operation=editor', 1),
  148. array('setting_editor_code', 'misc&operation=bbcode', 0),
  149. ));
  150. } elseif($operation == 'imgwater') {
  151. $_GET['anchor'] = in_array($_GET['anchor'], array('portal', 'forum', 'album')) ? $_GET['anchor'] : 'portal';
  152. showsubmenuanchors('setting_imgwater', array(
  153. array('setting_imgwater_portal', 'portal', $_GET['anchor'] == 'portal'),
  154. array('setting_imgwater_forum', 'forum', $_GET['anchor'] == 'forum'),
  155. array('setting_imgwater_album', 'album', $_GET['anchor'] == 'album'),
  156. ));
  157. } elseif($operation == 'mobile') {
  158. $_GET['anchor'] = in_array($_GET['anchor'], array('status')) ? $_GET['anchor'] : 'status';
  159. showsubmenuanchors('setting_mobile', array(
  160. array('setting_mobile_status', 'status', $_GET['anchor'] == 'status')
  161. ));
  162. } else {
  163. showsubmenu('setting_'.$operation);
  164. }
  165. showformheader('setting&edit=yes');
  166. showhiddenfields(array('operation' => $operation));
  167. if($operation == 'basic') {
  168. showtableheader('');
  169. showsetting('setting_basic_bbname', 'settingnew[bbname]', $setting['bbname'], 'text');
  170. showsetting('setting_basic_sitename', 'settingnew[sitename]', $setting['sitename'], 'text');
  171. showsetting('setting_basic_siteurl', 'settingnew[siteurl]', $setting['siteurl'], 'text');
  172. showsetting('setting_basic_adminemail', 'settingnew[adminemail]', $setting['adminemail'], 'text');
  173. showsetting('setting_basic_icp', 'settingnew[icp]', $setting['icp'], 'text');
  174. showsetting('setting_basic_boardlicensed', 'settingnew[boardlicensed]', $setting['boardlicensed'], 'radio');
  175. showsetting('setting_basic_stat', 'settingnew[statcode]', $setting['statcode'], 'textarea');
  176. showtablefooter();
  177. showtableheader('setting_basic_bbclosed');
  178. showsetting('setting_basic_bbclosed', 'settingnew[bbclosed]', $setting['bbclosed'], 'radio', 0, 1);
  179. showsetting('setting_basic_closedreason', 'settingnew[closedreason]', $setting['closedreason'], 'textarea');
  180. showsetting('setting_basic_bbclosed_activation', 'settingnew[closedallowactivation]', $setting['closedallowactivation'], 'radio');
  181. showtagfooter('tbody');
  182. } elseif($operation == 'follow') {
  183. require_once libfile('function/forumlist');
  184. showtableheader('', 'nobottom', 'id="base"'.($_GET['anchor'] != 'base' ? ' style="display: none"' : ''));
  185. showsetting('setting_follow_base_default_follow_retain_day', 'settingnew[followretainday]', $setting['followretainday'], 'text');
  186. showsetting('setting_follow_base_default_view_profile', 'settingnew[allowquickviewprofile]', $setting['allowquickviewprofile'], 'radio');
  187. showtablefooter();
  188. } elseif($operation == 'home') {
  189. require_once libfile('function/forumlist');
  190. showtableheader('', 'nobottom', 'id="base"'.($_GET['anchor'] != 'base' ? ' style="display: none"' : ''));
  191. showsetting('setting_home_base_feedday', 'settingnew[feedday]', $setting['feedday'], 'text');
  192. showsetting('setting_home_base_feedmaxnum', 'settingnew[feedmaxnum]', $setting['feedmaxnum'], 'text');
  193. showsetting('setting_home_base_feedhotday', 'settingnew[feedhotday]', $setting['feedhotday'], 'text');
  194. showsetting('setting_home_base_feedhotmin', 'settingnew[feedhotmin]', $setting['feedhotmin'], 'text');
  195. showsetting('setting_home_base_feedtargetblank', 'settingnew[feedtargetblank]', $setting['feedtargetblank'], 'radio');
  196. showsetting('setting_home_base_showallfriendnum', 'settingnew[showallfriendnum]', $setting['showallfriendnum'], 'text');
  197. showsetting('setting_home_base_feedhotnum', 'settingnew[feedhotnum]', $setting['feedhotnum'], 'text');
  198. showsetting('setting_home_base_maxpage', 'settingnew[maxpage]', $setting['maxpage'], 'text');
  199. showsetting('setting_home_base_sendmailday', 'settingnew[sendmailday]', $setting['sendmailday'], 'text');
  200. showtagfooter('tbody');
  201. loadcache('forums');
  202. showsetting('setting_home_base_groupnum', 'settingnew[friendgroupnum]', $setting['friendgroupnum'], 'text');
  203. $threadtype = array('1' => 'poll', '2' => 'trade', '3' => 'reward', '4' => 'activity', '5' => 'debate');
  204. $oldforums = $_G['cache']['forums'];
  205. foreach($threadtype as $special => $key) {
  206. if($special == 0) {
  207. $fields = C::t('forum_forumfield')->fetch_all_by_fid(array_keys($_G['cache']['forums']));
  208. foreach($fields as $fid => $field) {
  209. if(!empty($field['threadsorts'])) {
  210. unset($_G['cache']['forums'][$fid]);
  211. }
  212. }
  213. } else {
  214. $_G['cache']['forums'] = $oldforums;
  215. }
  216. $forumselect = "<select name=\"%s\">\n<option value=\"\">&nbsp;&nbsp;> ".cplang('select')."</option>".str_replace('%', '%%', forumselect(FALSE, 0, $setting[$key.'forumid'], TRUE, FALSE, $special)).'</select>';
  217. showsetting('setting_home_base_default_'.$key.'_forum', "settingnew[{$key}forumid]", $setting[$key.'forumid'], sprintf($forumselect, "settingnew[{$key}forumid]"));
  218. }
  219. showsetting('setting_home_base_default_doing', 'settingnew[defaultdoing]', $setting['defaultdoing'], 'textarea');
  220. showtablefooter();
  221. if(isset($setting['privacy'])) {
  222. $setting['privacy'] = dunserialize($setting['privacy']);
  223. }
  224. showtableheader('', 'nobottom', 'id="privacy"'.($_GET['anchor'] != 'privacy' ? ' style="display: none"' : ''));
  225. showtitle('setting_home_privacy_new_user');
  226. showsetting('setting_home_privacy_view_index', array('settingnew[privacy][view][index]', array(
  227. array(0, $lang['setting_home_privacy_alluser']),
  228. array(1, $lang['setting_home_privacy_friend']),
  229. array(2, $lang['setting_home_privacy_self']),
  230. array(3, $lang['setting_home_privacy_register'])
  231. )), $setting['privacy']['view']['index'], 'select');
  232. showsetting('setting_home_privacy_view_friend', array('settingnew[privacy][view][friend]', array(
  233. array(0, $lang['setting_home_privacy_alluser']),
  234. array(1, $lang['setting_home_privacy_friend']),
  235. array(2, $lang['setting_home_privacy_self']),
  236. array(3, $lang['setting_home_privacy_register'])
  237. )), $setting['privacy']['view']['friend'], 'select');
  238. showsetting('setting_home_privacy_view_wall', array('settingnew[privacy][view][wall]', array(
  239. array(0, $lang['setting_home_privacy_alluser']),
  240. array(1, $lang['setting_home_privacy_friend']),
  241. array(2, $lang['setting_home_privacy_self']),
  242. array(3, $lang['setting_home_privacy_register'])
  243. )), $setting['privacy']['view']['wall'], 'select');
  244. showsetting('setting_home_privacy_view_feed', array('settingnew[privacy][view][home]', array(
  245. array(0, $lang['setting_home_privacy_alluser']),
  246. array(1, $lang['setting_home_privacy_friend']),
  247. array(3, $lang['setting_home_privacy_register'])
  248. )), $setting['privacy']['view']['home'], 'select');
  249. showsetting('setting_home_privacy_view_doing', array('settingnew[privacy][view][doing]', array(
  250. array(0, $lang['setting_home_privacy_alluser']),
  251. array(1, $lang['setting_home_privacy_friend']),
  252. array(3, $lang['setting_home_privacy_register'])
  253. )), $setting['privacy']['view']['doing'], 'select');
  254. showsetting('setting_home_privacy_view_blog', array('settingnew[privacy][view][blog]', array(
  255. array(0, $lang['setting_home_privacy_alluser']),
  256. array(1, $lang['setting_home_privacy_friend']),
  257. array(3, $lang['setting_home_privacy_register'])
  258. )), $setting['privacy']['view']['blog'], 'select');
  259. showsetting('setting_home_privacy_view_album', array('settingnew[privacy][view][album]', array(
  260. array(0, $lang['setting_home_privacy_alluser']),
  261. array(1, $lang['setting_home_privacy_friend']),
  262. array(3, $lang['setting_home_privacy_register'])
  263. )), $setting['privacy']['view']['album'], 'select');
  264. showsetting('setting_home_privacy_view_share', array('settingnew[privacy][view][share]', array(
  265. array(0, $lang['setting_home_privacy_alluser']),
  266. array(1, $lang['setting_home_privacy_friend']),
  267. array(3, $lang['setting_home_privacy_register'])
  268. )), $setting['privacy']['view']['share'], 'select');
  269. showsetting('setting_home_privacy_default_feed', array('settingnew[privacy][feed]', array(
  270. array('doing', $lang['setting_home_privacy_default_feed_doing'], '1'),
  271. array('blog', $lang['setting_home_privacy_default_feed_blog'], '1'),
  272. array('upload', $lang['setting_home_privacy_default_feed_upload'], '1'),
  273. array('share', $lang['setting_home_privacy_default_feed_share'], '1'),
  274. array('poll', $lang['setting_home_privacy_default_feed_poll'], '1'),
  275. array('joinpoll', $lang['setting_home_privacy_default_feed_joinpoll'], '1'),
  276. array('friend', $lang['setting_home_privacy_default_feed_friend'], '1'),
  277. array('comment', $lang['setting_home_privacy_default_feed_comments'], '1'),
  278. array('show', $lang['setting_home_privacy_default_feed_show'], '1'),
  279. array('credit', $lang['setting_home_privacy_default_feed_credit'], '1'),
  280. array('spaceopen', $lang['setting_home_privacy_default_feed_spaceopen'], '1'),
  281. array('invite', $lang['setting_home_privacy_default_feed_invite'], '1'),
  282. array('task', $lang['setting_home_privacy_default_feed_task'], '1'),
  283. array('profile', $lang['setting_home_privacy_default_feed_profile'], '1'),
  284. array('click', $lang['setting_home_privacy_default_feed_click'], '1'),
  285. array('newthread', $lang['setting_home_privacy_default_feed_newthread'], '1'),
  286. array('newreply', $lang['setting_home_privacy_default_feed_newreply'], '1'),
  287. )), $setting['privacy']['feed'], 'omcheckbox');
  288. showtablefooter();
  289. showtableheader();
  290. } elseif($operation == 'profile') {
  291. $profilegroup = dunserialize($setting['profilegroup']);
  292. if($_GET['anchor'] == 'edit' && in_array($_GET['type'], array('base', 'contact', 'edu', 'work', 'info'))) {
  293. shownav('user', 'nav_members_profile_group');
  294. $groupinfo = $profilegroup[$_GET['type']];
  295. showsubmenu($lang['setting_profile_group_name'].'-'.$groupinfo['title'], array(
  296. array('members_profile_group', 'setting&operation=profile&anchor=base', 0),
  297. array($lang['edit'], 'setting&operation=profile&anchor=edit&type='.$_GET['type'], 1)
  298. ));
  299. showtableheader();
  300. showsetting('setting_profile_group_name', "settingnew[profile][title]", $groupinfo['title'], 'text');
  301. showsetting('setting_profile_group_available', "settingnew[profile][available]", $groupinfo['available'], 'radio');
  302. showsetting('setting_profile_group_displayorder', "settingnew[profile][displayorder]", $groupinfo['displayorder'], 'text');
  303. $varname = array('settingnew[profile][field]', array(), 'isfloat');
  304. foreach(C::t('common_member_profile_setting')->fetch_all_by_available(1) as $value) {
  305. if(!in_array($value['fieldid'], array('constellation', 'zodiac', 'birthyear', 'birthmonth', 'resideprovince', 'birthprovince', 'residedist', 'residecommunity'))) {
  306. $varname[1][] = array($value['fieldid'], $value['title'], $value['fieldid']);
  307. }
  308. }
  309. $varname[1][] = array('sightml', $lang['setting_profile_personal_signature'], 'sightml');
  310. $varname[1][] = array('customstatus', $lang['setting_profile_permission_basic_status'], 'customstatus');
  311. $varname[1][] = array('timeoffset', $lang['setting_profile_time_zone'], 'timeoffset');
  312. showsetting('setting_profile_field', $varname, $groupinfo['field'], 'omcheckbox');
  313. echo "<input type=\"hidden\" name=\"settingnew[profile][type]\" value=\"$_GET[type]\" />";
  314. showtablefooter();
  315. } else {
  316. $current = array($_GET['action'] => 1);
  317. $profilenav = array(
  318. array('members_profile_list', 'members&operation=profile', $current['members']),
  319. array('members_profile_group', 'setting&operation=profile', $current['setting'])
  320. );
  321. showsubmenu($lang['members_profile'], $profilenav);
  322. showtips('setting_profile_tips');
  323. showtableheader('setting_profile_group_setting', 'fixpadding');
  324. showsubtitle(array('setting_profile_group_available', 'setting_profile_group_displayorder', 'setting_profile_group_name', ''), 'header');
  325. foreach($profilegroup as $key => $group) {
  326. showtablerow('', array('class="td25"', '', '', 'class="td25"'), array(
  327. "<input class=\"checkbox\" type=\"checkbox\" name=\"settingnew[profilegroupnew][$key][available]\" value=\"1\" ".($profilegroup[$key]['available'] ? 'checked' : '')." />",
  328. "<input type=\"text\" class=\"txt\" size=\"8\" name=\"settingnew[profilegroupnew][$key][displayorder]\" value=\"{$profilegroup[$key]['displayorder']}\">",
  329. "<input type=\"text\" class=\"txt\" size=\"8\" name=\"settingnew[profilegroupnew][$key][title]\" value=\"{$profilegroup[$key]['title']}\">",
  330. "<a href=\"".ADMINSCRIPT."?action=setting&operation=profile&anchor=edit&type=$key\">".$lang['edit']."</a>"
  331. ));
  332. }
  333. showtablefooter();
  334. }
  335. } elseif($operation == 'access') {
  336. $wmsgcheck = array($setting['welcomemsg'] =>'checked');
  337. $setting['inviteconfig'] = dunserialize($setting['inviteconfig']);
  338. $setting['extcredits'] = dunserialize($setting['extcredits']);
  339. $buycredits = $rewardcredits = '';
  340. for($i = 0; $i <= 8; $i++) {
  341. if($setting['extcredits'][$i]['available']) {
  342. $extcredit = 'extcredits'.$i.' ('.$setting['extcredits'][$i]['title'].')';
  343. $buycredits .= '<option value="'.$i.'" '.($i == intval($setting['inviteconfig']['invitecredit']) ? 'selected' : '').'>'.($i ? $extcredit : $lang['none']).'</option>';
  344. $rewardcredits .= '<option value="'.$i.'" '.($i == intval($setting['inviteconfig']['inviterewardcredit']) ? 'selected' : '').'>'.($i ? $extcredit : $lang['none']).'</option>';
  345. }
  346. }
  347. $groupselect = '';
  348. foreach(C::t('common_usergroup')->fetch_all_by_type('special') as $group) {
  349. $groupselect .= "<option value=\"$group[groupid]\" ".($group['groupid'] == $setting['inviteconfig']['invitegroupid'] ? 'selected' : '').">$group[grouptitle]</option>\n";
  350. }
  351. $taskarray = array(array('', cplang('select')));
  352. foreach(C::t('common_task')->fetch_all_by_available(2) as $task) {
  353. $taskarray[] = array($task['taskid'], $task['name']);
  354. }
  355. showtableheader('', 'nobottom', 'id="register"'.($_GET['anchor'] != 'register' ? ' style="display: none"' : ''));
  356. $regstatus = array();
  357. if($setting['regstatus'] == 1 || $setting['regstatus'] == 3) {
  358. $regstatus[] = 'open';
  359. }
  360. if($setting['regstatus'] == 2 || $setting['regstatus'] == 3) {
  361. $regstatus[] = 'invite';
  362. }
  363. if($setting['regconnect']) {
  364. $regstatus[] = 'connect';
  365. }
  366. showsetting('setting_access_register_status', array('settingnew[regstatus]', array(
  367. array('open', $lang['setting_access_register_open']),
  368. array('invite', $lang['setting_access_register_invite'], 'showinvite'),
  369. $_G['setting']['connect']['allow'] ? array('connect', $lang['setting_access_register_connect']) : array(),
  370. )), $regstatus, 'mcheckbox');
  371. showtagheader('tbody', 'showinvite', in_array('invite', $regstatus), 'sub');
  372. showsetting('setting_access_register_invite_buyprompt', 'settingnew[inviteconfig][invitecodeprompt]', $setting['inviteconfig']['invitecodeprompt'], 'textarea');
  373. showsetting('setting_access_register_invite_buy', 'settingnew[inviteconfig][buyinvitecode]', $setting['inviteconfig']['buyinvitecode'], 'radio');
  374. showsetting('setting_access_register_invite_buyprice', 'settingnew[inviteconfig][invitecodeprice]', $setting['inviteconfig']['invitecodeprice'], 'text');
  375. showsetting('setting_access_register_invite_credit', '', '', '<select name="settingnew[inviteconfig][inviterewardcredit]">'.$rewardcredits.'</select>');
  376. showsetting('setting_access_register_invite_addcredit', 'settingnew[inviteconfig][inviteaddcredit]', $setting['inviteconfig']['inviteaddcredit'], 'text');
  377. showsetting('setting_access_register_invite_invitedcredit', 'settingnew[inviteconfig][invitedaddcredit]', $setting['inviteconfig']['invitedaddcredit'], 'text');
  378. showsetting('setting_access_register_invite_group', '', '', '<select name="settingnew[inviteconfig][invitegroupid]"><option value="0">'.$lang['usergroups_system_0'].'</option>'.$groupselect.'</select>');
  379. showsetting('setting_access_register_invite_areawhite', 'settingnew[inviteconfig][inviteareawhite]', $setting['inviteconfig']['inviteareawhite'], 'textarea');
  380. showsetting('setting_access_register_invite_ipwhite', 'settingnew[inviteconfig][inviteipwhite]', $setting['inviteconfig']['inviteipwhite'], 'textarea');
  381. showtagfooter('tbody');
  382. showsetting('setting_access_register_regclosemessage', 'settingnew[regclosemessage]', $setting['regclosemessage'], 'textarea');
  383. showsetting('setting_access_register_name', 'settingnew[regname]', $setting['regname'], 'text');
  384. showsetting('setting_access_register_send_register_url', 'settingnew[sendregisterurl]', $setting['sendregisterurl'], 'radio');
  385. showsetting('setting_access_register_link_name', 'settingnew[reglinkname]', $setting['reglinkname'], 'text');
  386. showsetting('setting_access_register_censoruser', 'settingnew[censoruser]', $setting['censoruser'], 'textarea');
  387. showsetting('setting_access_register_pwlength', 'settingnew[pwlength]', $setting['pwlength'], 'text');
  388. $setting['strongpw'] = dunserialize($setting['strongpw']);
  389. showsetting('setting_access_register_strongpw', array('settingnew[strongpw]', array(
  390. array('1', $lang['setting_access_register_strongpw_1']),
  391. array('2', $lang['setting_access_register_strongpw_2']),
  392. array('3', $lang['setting_access_register_strongpw_3']),
  393. array('4', $lang['setting_access_register_strongpw_4']),
  394. )), $setting['strongpw'], 'mcheckbox2');
  395. showsetting('setting_access_register_verify', array('settingnew[regverify]', array(
  396. array(0, $lang['none'], array('regverifyext' => 'none')),
  397. array(1, $lang['setting_access_register_verify_email'], array('regverifyext' => '')),
  398. array(2, $lang['setting_access_register_verify_manual'], array('regverifyext' => ''))
  399. )), $setting['regverify'], 'mradio');
  400. showtagheader('tbody', 'regverifyext', $setting['regverify'], 'sub');
  401. showsetting('setting_access_register_verify_areawhite', 'settingnew[areaverifywhite]', $setting['areaverifywhite'], 'textarea');
  402. showsetting('setting_access_register_verify_ipwhite', 'settingnew[ipverifywhite]', $setting['ipverifywhite'], 'textarea');
  403. showtagfooter('tbody');
  404. showsetting('setting_access_register_ctrl', 'settingnew[regctrl]', $setting['regctrl'], 'text');
  405. showsetting('setting_access_register_floodctrl', 'settingnew[regfloodctrl]', $setting['regfloodctrl'], 'text');
  406. showsetting('setting_access_register_ipctrl_time', 'settingnew[ipregctrltime]', $setting['ipregctrltime'], 'text');
  407. showsetting('setting_access_register_ipctrl', 'settingnew[ipregctrl]', $setting['ipregctrl'], 'textarea');
  408. $welcomemsg = array();
  409. if($setting['welcomemsg'] == 1) {
  410. $welcomemsg[] = '1';
  411. } elseif($setting['welcomemsg'] == 2) {
  412. $welcomemsg[] = '2';
  413. } elseif($setting['welcomemsg'] == 3) {
  414. $welcomemsg[] = '1';
  415. $welcomemsg[] = '2';
  416. } else {
  417. $welcomemsg[] = '0';
  418. }
  419. showsetting('setting_access_register_welcomemsg', array('settingnew[welcomemsg]', array(
  420. array(1, $lang['setting_access_register_welcomemsg_pm']),
  421. array(2, $lang['setting_access_register_welcomemsg_email'])
  422. )), $welcomemsg, 'mcheckbox');
  423. showsetting('setting_access_register_welcomemsgtitle', 'settingnew[welcomemsgtitle]', $setting['welcomemsgtitle'], 'text');
  424. showsetting('setting_access_register_welcomemsgtxt', 'settingnew[welcomemsgtxt]', $setting['welcomemsgtxt'], 'textarea');
  425. showsetting('setting_access_register_bbrules', 'settingnew[bbrules]', $setting['bbrules'], 'radio', '', 1);
  426. showsetting('setting_access_register_bbruleforce', 'settingnew[bbrulesforce]', $setting['bbrulesforce'], 'radio');
  427. showsetting('setting_access_register_bbrulestxt', 'settingnew[bbrulestxt]', $setting['bbrulestxt'], 'textarea');
  428. showtagfooter('tbody');
  429. showtablefooter();
  430. showtableheader('', 'nobottom', 'id="access"'.($_GET['anchor'] != 'access' ? ' style="display: none"' : ''));
  431. showsetting('setting_access_access_newbiespan', 'settingnew[newbiespan]', $setting['newbiespan'], 'text');
  432. showsetting('setting_access_access_ipaccess', 'settingnew[ipaccess]', $setting['ipaccess'], 'textarea');
  433. showsetting('setting_access_access_adminipaccess', 'settingnew[adminipaccess]', $setting['adminipaccess'], 'textarea');
  434. showsetting('setting_access_access_domainwhitelist', 'settingnew[domainwhitelist]', $setting['domainwhitelist'], 'textarea');
  435. showtablefooter();
  436. showtableheader('', 'notop');
  437. showsubmit('settingsubmit');
  438. showtablefooter();
  439. showformfooter();
  440. exit;
  441. } elseif($operation == 'styles') {
  442. $_G['setting']['showsettings'] = str_pad(decbin($setting['showsettings']), 3, 0, STR_PAD_LEFT);
  443. $setting['showsignatures'] = $_G['setting']['showsettings']{0};
  444. $setting['showavatars'] = $_G['setting']['showsettings']{1};
  445. $setting['showimages'] = $_G['setting']['showsettings']{2};
  446. $setting['postnocustom'] = implode("\n", (array)dunserialize($setting['postnocustom']));
  447. $setting['sitemessage'] = dunserialize($setting['sitemessage']);
  448. $setting['disallowfloat'] = $setting['disallowfloat'] ? dunserialize($setting['disallowfloat']) : array();
  449. $setting['allowfloatwin'] = array_diff($floatwinkeys, $setting['disallowfloat']);
  450. $setting['indexhot'] = dunserialize($setting['indexhot']);
  451. $setting['customauthorinfo'] = dunserialize($setting['customauthorinfo']);
  452. $setting['customauthorinfo'] = $setting['customauthorinfo'][0];
  453. list($setting['zoomstatus'], $setting['imagemaxwidth']) = explode("\t", $setting['zoomstatus']);
  454. $setting['imagemaxwidth'] = !empty($setting['imagemaxwidth']) ? $setting['imagemaxwidth'] : 600;
  455. $stylelist = "<select name=\"settingnew[styleid]\">\n";
  456. $query = DB::query("SELECT styleid, name FROM ".DB::table('common_style')."");
  457. while($style = DB::fetch($query)) {
  458. $selected = $style['styleid'] == $setting['styleid'] ? 'selected="selected"' : NULL;
  459. $stylelist .= "<option value=\"$style[styleid]\" $selected>$style[name]</option>\n";
  460. }
  461. $stylelist .= '</select>';
  462. showtips('setting_tips', 'global_tips', $_GET['anchor'] == 'global');
  463. showtableheader('setting_styles_global', 'nobottom', 'id="global"'.($_GET['anchor'] != 'global' ? ' style="display: none"' : ''));
  464. showsetting('setting_styles_global_styleid', '', '', $stylelist);
  465. showsetting('setting_styles_global_home_style', array('settingnew[homestyle]', array(
  466. array(1, $lang['setting_styles_global_home_style_1']),
  467. array(0, $lang['setting_styles_global_home_style_0']),
  468. )), $setting['homestyle'], 'mradio');
  469. showsetting('setting_styles_global_homepage_style', array('settingnew[homepagestyle]', array(
  470. array(1, $lang['setting_styles_global_homepage_style_1']),
  471. array(0, $lang['setting_styles_global_homepage_style_0']),
  472. )), $setting['homepagestyle'], 'mradio');
  473. showsetting('setting_styles_global_navsubhover', array('settingnew[navsubhover]', array(
  474. array(0, $lang['setting_styles_global_navsubhover_0']),
  475. array(1, $lang['setting_styles_global_navsubhover_1']),
  476. )), $setting['navsubhover'], 'mradio');
  477. showsetting('setting_styles_index_allowwidthauto', array('settingnew[allowwidthauto]', array(
  478. array(1, $lang['setting_styles_index_allowwidthauto_1']),
  479. array(0, $lang['setting_styles_index_allowwidthauto_0']),
  480. ), 1), $setting['allowwidthauto'], 'mradio');
  481. showtagheader('tbody', '', 1, 'sub');
  482. showsetting('setting_styles_index_switchwidthauto', 'settingnew[switchwidthauto]', $setting['switchwidthauto'], 'radio');
  483. showtagfooter('tbody');
  484. showsetting('setting_styles_global_jsmenu', 'settingnew[forumjump]', $setting['forumjump'], 'radio');
  485. showsetting('setting_styles_global_allowfloatwin', array('settingnew[allowfloatwin]', $floatwinarray), $setting['allowfloatwin'], 'mcheckbox');
  486. showsetting('setting_styles_global_creditnotice', 'settingnew[creditnotice]', $setting['creditnotice'], 'radio');
  487. showsetting('setting_styles_global_showusercard', 'settingnew[showusercard]', $setting['showusercard'], 'radio');
  488. showsetting('setting_styles_global_anonymoustext', 'settingnew[anonymoustext]', $setting['anonymoustext'], 'text');
  489. showtablefooter();
  490. showtableheader('setting_styles_index', 'nobottom', 'id="index"'.($_GET['anchor'] != 'index' ? ' style="display: none"' : ''));
  491. showsetting('setting_styles_index_indexhot_status', 'settingnew[indexhot][status]', $setting['indexhot']['status'], 'radio', 0, 1);
  492. showsetting('setting_styles_index_indexhot_limit', 'settingnew[indexhot][limit]', $setting['indexhot']['limit'], 'text');
  493. showsetting('setting_styles_index_indexhot_days', 'settingnew[indexhot][days]', $setting['indexhot']['days'], 'text');
  494. showsetting('setting_styles_index_indexhot_expiration', 'settingnew[indexhot][expiration]', $setting['indexhot']['expiration'], 'text');
  495. showsetting('setting_styles_index_indexhot_messagecut', 'settingnew[indexhot][messagecut]', $setting['indexhot']['messagecut'], 'text');
  496. showtagfooter('tbody');
  497. showsetting('setting_styles_index_subforumsindex', 'settingnew[subforumsindex]', $setting['subforumsindex'], 'radio');
  498. showsetting('setting_styles_index_forumlinkstatus', 'settingnew[forumlinkstatus]', $setting['forumlinkstatus'], 'radio');
  499. showsetting('setting_styles_index_forumallowside', 'settingnew[forumallowside]', $setting['forumallowside'], 'radio');
  500. showsetting('setting_styles_index_whosonline', array('settingnew[whosonlinestatus]', array(
  501. array(0, $lang['setting_styles_index_display_none']),
  502. array(1, $lang['setting_styles_index_whosonline_index']),
  503. array(2, $lang['setting_styles_index_whosonline_forum']),
  504. array(3, $lang['setting_styles_index_whosonline_both'])
  505. )), $setting['whosonlinestatus'], 'select');
  506. showsetting('setting_styles_index_whosonline_contract', 'settingnew[whosonline_contract]', $setting['whosonline_contract'], 'radio');
  507. showsetting('setting_styles_index_online_more_members', 'settingnew[maxonlinelist]', $setting['maxonlinelist'], 'text');
  508. showsetting('setting_styles_index_hideprivate', 'settingnew[hideprivate]', $setting['hideprivate'], 'radio');
  509. showtablefooter();
  510. showtips('setting_tips', 'forumdisplay_tips', $_GET['anchor'] == 'forumdisplay');
  511. showtableheader('setting_styles_forumdisplay', 'nobottom', 'id="forumdisplay"'.($_GET['anchor'] != 'forumdisplay' ? ' style="display: none"' : ''));
  512. showsetting('setting_styles_forumdisplay_tpp', 'settingnew[topicperpage]', $setting['topicperpage'], 'text');
  513. showsetting('setting_styles_forumdisplay_threadmaxpages', 'settingnew[threadmaxpages]', $setting['threadmaxpages'], 'text');
  514. showsetting('setting_styles_forumdisplay_leftsidewidth', 'settingnew[leftsidewidth]', $setting['leftsidewidth'], 'text');
  515. showsetting('setting_styles_forumdisplay_leftsideopen', 'settingnew[leftsideopen]', $setting['leftsideopen'], 'radio');
  516. showsetting('setting_styles_forumdisplay_globalstick', 'settingnew[globalstick]', $setting['globalstick'], 'radio');
  517. showsetting('setting_styles_forumdisplay_targetblank', 'settingnew[targetblank]', $setting['targetblank'], 'radio');
  518. showsetting('setting_styles_forumdisplay_stick', 'settingnew[threadsticky]', $setting['threadsticky'], 'text');
  519. showsetting('setting_styles_forumdisplay_part', 'settingnew[forumseparator]', $setting['forumseparator'], 'radio');
  520. showsetting('setting_styles_forumdisplay_visitedforums', 'settingnew[visitedforums]', $setting['visitedforums'], 'text');
  521. showsetting('setting_styles_forumdisplay_fastpost', 'settingnew[fastpost]', $setting['fastpost'], 'radio', 0, 1);
  522. showsetting('setting_styles_forumdisplay_fastsmilies', 'settingnew[fastsmilies]', $setting['fastsmilies'], 'radio');
  523. showtagfooter('tbody');
  524. $setting['forumpicstyle'] = dunserialize($setting['forumpicstyle']);
  525. showsetting('setting_styles_forumdisplay_forumpicstyle_thumbwidth', 'settingnew[forumpicstyle][thumbwidth]', $setting['forumpicstyle']['thumbwidth'], 'text');
  526. showsetting('setting_styles_forumdisplay_forumpicstyle_thumbheight', 'settingnew[forumpicstyle][thumbheight]', $setting['forumpicstyle']['thumbheight'], 'text');
  527. showsetting('setting_styles_forumdisplay_forumpicstyle_thumbnum', 'settingnew[forumpicstyle][thumbnum]', $setting['forumpicstyle']['thumbnum'], 'text');
  528. $stamplist[] = array(0, '');
  529. foreach(C::t('common_smiley')->fetch_all_by_type('stamplist') as $smiley) {
  530. $stamplist[] = array($smiley['displayorder'], $smiley['code']);
  531. }
  532. showsetting('setting_styles_forumdisplay_newbie', array('settingnew[newbie]', $stamplist), $setting['newbie'], 'select');
  533. showtablefooter();
  534. showtagheader('div', 'viewthread', $_GET['anchor'] == 'viewthread');
  535. showtableheader('nav_setting_viewthread', 'nobottom');
  536. showsetting('setting_styles_viewthread_ppp', 'settingnew[postperpage]', $setting['postperpage'], 'text');
  537. showsetting('setting_styles_viewthread_starthreshold', 'settingnew[starthreshold]', $setting['starthreshold'], 'text');
  538. showsetting('setting_styles_viewthread_maxsigrows', 'settingnew[maxsigrows]', $setting['maxsigrows'], 'text');
  539. showsetting('setting_styles_viewthread_sigviewcond', 'settingnew[sigviewcond]', $setting['sigviewcond'], 'text');
  540. showsetting('setting_styles_viewthread_rate_on', 'settingnew[ratelogon]', $setting['ratelogon'], 'radio');
  541. showsetting('setting_styles_viewthread_rate_number', 'settingnew[ratelogrecord]', $setting['ratelogrecord'], 'text');
  542. showsetting('setting_styles_viewthread_collection_number', 'settingnew[collectionnum]', $setting['collectionnum'], 'text');
  543. showsetting('setting_styles_viewthread_relate_number', 'settingnew[relatenum]', $setting['relatenum'], 'text');
  544. showsetting('setting_styles_viewthread_relate_time', 'settingnew[relatetime]', $setting['relatetime'], 'text');
  545. showsetting('setting_styles_viewthread_show_signature', 'settingnew[showsignatures]', $setting['showsignatures'], 'radio');
  546. showsetting('setting_styles_viewthread_show_face', 'settingnew[showavatars]', $setting['showavatars'], 'radio');
  547. showsetting('setting_styles_viewthread_show_images', 'settingnew[showimages]', $setting['showimages'], 'radio');
  548. showsetting('setting_styles_viewthread_imagemaxwidth', 'settingnew[imagemaxwidth]', $setting['imagemaxwidth'], 'text');
  549. showsetting('setting_styles_viewthread_imagelistthumb', 'settingnew[imagelistthumb]', $setting['imagelistthumb'], 'text');
  550. showsetting('setting_styles_viewthread_zoomstatus', 'settingnew[zoomstatus]', $setting['zoomstatus'], 'radio', 0, 1);
  551. showsetting('setting_styles_viewthread_showexif', 'settingnew[showexif]', $setting['showexif'], 'radio', !function_exists('exif_read_data'));
  552. showtagfooter('tbody');
  553. showsetting('setting_styles_viewthread_vtonlinestatus', array('settingnew[vtonlinestatus]', array(
  554. array(0, $lang['setting_styles_viewthread_display_none']),
  555. array(1, $lang['setting_styles_viewthread_online_easy']),
  556. array(2, $lang['setting_styles_viewthread_online_exactitude'])
  557. )), $setting['vtonlinestatus'], 'select');
  558. showsetting('setting_styles_viewthread_userstatusby', 'settingnew[userstatusby]', $setting['userstatusby'], 'radio');
  559. showsetting('setting_styles_viewthread_postno', 'settingnew[postno]', $setting['postno'], 'text');
  560. showsetting('setting_styles_viewthread_postnocustom', 'settingnew[postnocustom]', $setting['postnocustom'], 'textarea');
  561. showsetting('setting_styles_viewthread_maxsmilies', 'settingnew[maxsmilies]', $setting['maxsmilies'], 'text');
  562. showsetting('setting_styles_viewthread_author_onleft', array('settingnew[authoronleft]', array(
  563. array(1, cplang('setting_styles_viewthread_author_onleft_yes')),
  564. array(0, cplang('setting_styles_viewthread_author_onleft_no')))), $setting['authoronleft'], 'mradio');
  565. showtableheader('setting_styles_viewthread_customauthorinfo', 'fixpadding');
  566. $authorinfoitems = array(
  567. 'uid' => 'UID',
  568. 'friends' => $lang['setting_styles_viewthread_userinfo_friends'],
  569. 'doings' => $lang['setting_styles_viewthread_userinfo_doings'],
  570. 'blogs' => $lang['setting_styles_viewthread_userinfo_blogs'],
  571. 'albums' => $lang['setting_styles_viewthread_userinfo_albums'],
  572. 'posts' => $lang['setting_styles_viewthread_userinfo_posts'],
  573. 'threads' => $lang['setting_styles_viewthread_userinfo_threads'],
  574. 'sharings' => $lang['setting_styles_viewthread_userinfo_sharings'],
  575. 'digest' => $lang['setting_styles_viewthread_userinfo_digest'],
  576. 'credits' => $lang['setting_styles_viewthread_userinfo_credits'],
  577. 'readperm' => $lang['setting_styles_viewthread_userinfo_readperm'],
  578. 'regtime' => $lang['setting_styles_viewthread_userinfo_regtime'],
  579. 'lastdate' => $lang['setting_styles_viewthread_userinfo_lastdate'],
  580. 'oltime' => $lang['setting_styles_viewthread_userinfo_oltime'],
  581. 'creditinfo' => $lang['setting_styles_viewthread_userinfo_creditinfo'],
  582. 'follower' => $lang['setting_styles_viewthread_userinfo_follower'],
  583. 'following' => $lang['setting_styles_viewthread_userinfo_following'],
  584. );
  585. if(!empty($_G['setting']['extcredits'])) {
  586. foreach($_G['setting']['extcredits'] as $key => $value) {
  587. $authorinfoitems['extcredits'.$key] = $value['title'];
  588. }
  589. }
  590. foreach(C::t('common_member_profile_setting')->fetch_all_by_available(1) as $profilefields) {
  591. if($profilefields['fieldid'] == 'birthyear' || $profilefields['fieldid'] == 'birthmonth') {
  592. continue;
  593. } elseif($profilefields['fieldid'] == 'realname') {
  594. $setting['verify'] = dunserialize($setting['verify']);
  595. if($setting['verify'][6]['available'] && !$setting['verify'][6]['viewrealname']) {
  596. continue;
  597. }
  598. }
  599. $authorinfoitems['field_'.$profilefields['fieldid']] = $profilefields['title'];
  600. }
  601. showsubtitle(array('members_profile_edit_name', 'display_order', 'setting_styles_viewthread_userinfo_left', 'setting_styles_viewthread_userinfo_menu'));
  602. $authorinfoitemsetting = '';
  603. foreach($authorinfoitems as $key => $value) {
  604. $authorinfoitemsetting .= '<tr><td>'.$value.
  605. '</td><td><input name="settingnew[customauthorinfo]['.$key.'][order]" type="text" class="txt" value="'.$setting['customauthorinfo'][$key]['order'].'">'.
  606. '</td><td><input name="settingnew[customauthorinfo]['.$key.'][left]" type="checkbox" class="checkbox" value="1" '.($setting['customauthorinfo'][$key]['left'] ? 'checked' : '').'>'.
  607. '</td><td><input name="settingnew[customauthorinfo]['.$key.'][menu]" type="checkbox" class="checkbox" value="1" '.($setting['customauthorinfo'][$key]['menu'] ? 'checked' : '').'>'.
  608. '</td></tr>';
  609. }
  610. echo $authorinfoitemsetting;
  611. showtablefooter();
  612. showtagfooter('div');
  613. $setting['msgforward'] = !empty($setting['msgforward']) ? dunserialize($setting['msgforward']) : array();
  614. $setting['msgforward']['messages'] = !empty($setting['msgforward']['messages']) ? implode("\n", $setting['msgforward']['messages']) : '';
  615. showtablefooter();
  616. showtableheader('setting_styles_refresh', 'nobottom', 'id="refresh"'.($_GET['anchor'] != 'refresh' ? ' style="display: none"' : ''));
  617. showsetting('setting_styles_refresh_refreshtime', 'settingnew[msgforward][refreshtime]', $setting['msgforward']['refreshtime'], 'text');
  618. showsetting('setting_styles_refresh_quick', 'settingnew[msgforward][quick]', $setting['msgforward']['quick'], 'radio', '', 1);
  619. showsetting('setting_styles_refresh_messages', 'settingnew[msgforward][messages]', $setting['msgforward']['messages'], 'textarea');
  620. showtagfooter('tbody');
  621. showtablefooter();
  622. showtableheader('setting_styles_sitemessage', 'nobottom', 'id="sitemessage"'.($_GET['anchor'] != 'sitemessage' ? ' style="display: none"' : ''));
  623. showsetting('setting_styles_sitemessage_time', 'settingnew[sitemessage][time]', $setting['sitemessage']['time'], 'text');
  624. showsetting('setting_styles_sitemessage_register', 'settingnew[sitemessage][register]', $setting['sitemessage']['register'], 'textarea');
  625. showsetting('setting_styles_sitemessage_login', 'settingnew[sitemessage][login]', $setting['sitemessage']['login'], 'textarea');
  626. showsetting('setting_styles_sitemessage_newthread', 'settingnew[sitemessage][newthread]', $setting['sitemessage']['newthread'], 'textarea');
  627. showsetting('setting_styles_sitemessage_reply', 'settingnew[sitemessage][reply]', $setting['sitemessage']['reply'], 'textarea');
  628. showtagfooter('tbody');
  629. showtablefooter();
  630. showtableheader('', 'notop');
  631. showsubmit('settingsubmit');
  632. showtablefooter();
  633. showformfooter();
  634. exit;
  635. } elseif($operation == 'seo') {
  636. $setting['seotitle'] = dunserialize($setting['seotitle']);
  637. $setting['seodescription'] = dunserialize($setting['seodescription']);
  638. $setting['seokeywords'] = dunserialize($setting['seokeywords']);
  639. $rewritedata = rewritedata();
  640. $setting['rewritestatus'] = isset($setting['rewritestatus']) ? dunserialize($setting['rewritestatus']) : '';
  641. $setting['rewriterule'] = isset($setting['rewriterule']) ? dunserialize($setting['rewriterule']) : '';
  642. echo '<div id="rewrite"'.($_GET['anchor'] != 'rewrite' ? ' style="display: none"' : '').'>';
  643. showtips('setting_tips', 'tips_rewrite');
  644. showtableheader('', 'nobottom');
  645. showtitle('<em class="right">'.cplang('setting_seo_rewritestatus_viewrule').'</em>'.cplang('setting_seo_rewritestatus'));
  646. showtablerow('', array('class="vtop tips2" colspan="3"'), array(cplang('setting_seo_rewritestatus_comment')));
  647. showsubtitle(array('setting_seo_pages', 'setting_seo_vars', 'setting_seo_rule', 'available'));
  648. foreach($rewritedata['rulesearch'] as $k => $v) {
  649. $v = !$setting['rewriterule'][$k] ? $v : $setting['rewriterule'][$k];
  650. showtablerow('', array('class="td24"', 'class="td31"', 'class="longtxt"', 'class="td25"'), array(
  651. cplang('setting_seo_rewritestatus_'.$k),
  652. implode(', ', array_keys($rewritedata['rulevars'][$k])),
  653. '<input onclick="doane(event)" name="settingnew[rewriterule]['.$k.']" class="txt" value="'.dhtmlspecialchars($v).'"/>',
  654. '<input type="checkbox" name="settingnew[rewritestatus][]" class="checkbox" value="'.$k.'" '.(in_array($k, $setting['rewritestatus']) ? 'checked="checked"' : '').'/>'
  655. ));
  656. }
  657. showtablefooter();
  658. showtableheader();
  659. showsetting('setting_seo_rewritecompatible', 'settingnew[rewritecompatible]', $setting['rewritecompatible'], 'radio');
  660. showtablefooter();
  661. echo '</div>';
  662. echo '<div id="other"'.($_GET['anchor'] != 'other' ? ' style="display: none"' : '').'>';
  663. showtableheader();
  664. showtitle('<em class="right">'.cplang('setting_seo_robots_output').'</em>'.cplang('setting_seo'));
  665. showtablerow('', array('class="vtop tips2" colspan="4" style="padding-left:20px;"'), array('<ul><li>'.cplang('setting_seo_seotitle_comment').'</li><li>'.cplang('setting_seo_seodescription_comment').'</li><li>'.cplang('setting_seo_seokeywords_comment').'</li></ul>'));
  666. if($_G['setting']['navs'][5]['navname']) {
  667. showtitle($_G['setting']['navs'][5]['navname']);
  668. showtablerow('', array('width="80"', ''), array(
  669. cplang('setting_seo_seotitle'),
  670. '<input type="text" name="settingnew[seotitle][userapp]" value="'.$setting['seotitle']['userapp'].'" class="txt" style="width:280px;" />',
  671. )
  672. );
  673. showtablerow('', array('width="80"', ''), array(
  674. cplang('setting_seo_seokeywords'),
  675. '<input type="text" name="settingnew[seokeywords][userapp]" value="'.$setting['seokeywords']['userapp'].'" class="txt" style="width:280px;" />'
  676. )
  677. );
  678. showtablerow('', array('width="80"', ''), array(
  679. cplang('setting_seo_seodescription'),
  680. '<input type="text" name="settingnew[seodescription][userapp]" value="'.$setting['seodescription']['userapp'].'" class="txt" style="width:280px;" />',
  681. )
  682. );
  683. }
  684. showtablefooter();
  685. showtableheader();
  686. showsetting('setting_seo_seohead', 'settingnew[seohead]', $setting['seohead'], 'textarea');
  687. showtablefooter();
  688. echo '</div>';
  689. $seotypes = array(
  690. 'portal' => array('portal', 'articlelist', 'article'),
  691. 'forum' => array('forum', 'threadlist', 'viewthread'),
  692. 'home' => array('home', 'blog', 'album'),
  693. 'group' => array('group', 'grouppage', 'viewthread_group')
  694. );
  695. $codetypes = array(
  696. 'portal' => 'bbname',
  697. 'articlelist' => 'bbname,curcat,firstcat,secondcat,page',
  698. 'article' => 'bbname,curcat,firstcat,secondcat,subject,summary,user,page',
  699. 'forum' => 'bbname',
  700. 'threadlist' => 'bbname,forum,fup,fgroup,page',
  701. 'viewthread' => 'bbname,forum,fup,fgroup,subject,summary,tags,page',
  702. 'home' => 'bbname',
  703. 'blog' => 'bbname,subject,summary,tags,user',
  704. 'album' => 'bbname,album,depict,user',
  705. 'group' => 'bbname,forum,first,second',
  706. 'grouppage' => 'bbname,forum,first,second,gdes,page',
  707. 'viewthread_group' => 'bbname,forum,first,second,gdes,subject,summary,tags,page',
  708. );
  709. foreach($codetypes as $key => $val) {
  710. $jscodetypes .= "codetypes['{$key}'] = '{$val}';\r\n";
  711. foreach(explode(',', $val) as $code) {
  712. $cname = $code == 'bbname' ? cplang('setting_seo_code_bbname') : cplang('setting_seo_code_'.$key.'_'.$code);
  713. $jscodenames .= "codenames['{$key}_{$code}'] = '{$cname}';\r\n";
  714. }
  715. }
  716. print <<<EOF
  717. <div id="codediv" style="display:none; top: 707px;background: url('./static/image/common/mdly.png') no-repeat scroll 0 0 transparent; height: 100px; line-height: 32px; margin-top: -16px; overflow: hidden; padding: 10px 25px; position: absolute; left: 500px; width: 250px;">
  718. <p>
  719. EOF;
  720. echo cplang('setting_seo_insallowcode');
  721. print <<<EOF
  722. </p>
  723. <p id="seocodes">
  724. <a onclick="insertcode('subject');return false;" href="javascript:;">{subject}</a>
  725. <span class="pipe">|</span>
  726. <a onclick="insertcode('forum');return false;" href="javascript:;">{forum}</a>
  727. </p>
  728. </div>
  729. <script src="static/js/home.js" type="text/javascript"></script>
  730. <script language="javascript">
  731. var codediv = $('codediv');
  732. var codetypes = new Array(), codenames = new Array();
  733. $jscodetypes
  734. $jscodenames
  735. function getcodetext(obj, ctype) {
  736. var top_offset = obj.offsetTop;
  737. var codecontent = '';
  738. var targetid = obj.id;
  739. while((obj = obj.offsetParent).tagName != 'BODY') {
  740. top_offset += obj.offsetTop;
  741. }
  742. if(!codetypes[ctype]) {
  743. return true;
  744. }
  745. types = codetypes[ctype].s

Large files files are truncated, but you can click here to view the full file