PageRenderTime 63ms CodeModel.GetById 26ms RepoModel.GetById 1ms app.codeStats 0ms

/source/admincp/admincp_setting.php

https://github.com/jinbo51/DiscuzX
PHP | 3550 lines | 3243 code | 301 blank | 6 comment | 670 complexity | 3641efc1ceecbd5c3e8185a66d61d00d MD5 | raw file
Possible License(s): BSD-3-Clause

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 33440 2013-06-17 02:39:05Z nemohou $
  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($operation == 'threadprofile') {
  39. shownav('style', 'setting_threadprofile');
  40. } elseif(in_array($operation, array('mail', 'uc'))) {
  41. shownav('founder', 'setting_'.$operation);
  42. } else {
  43. shownav('global', 'setting_'.$operation);
  44. }
  45. if(in_array($operation, array('memory', 'cachethread', 'serveropti', 'memorydata'))) {
  46. $current = array($operation => 1);
  47. $memorydata = memory('check') ? array('setting_memorydata', 'setting&operation=memorydata', $current['memorydata']) : '';
  48. showsubmenu('setting_optimize', array(
  49. array('setting_cachethread', 'setting&operation=cachethread', $current['cachethread']),
  50. array('setting_serveropti', 'setting&operation=serveropti', $current['serveropti']),
  51. array('setting_memory', 'setting&operation=memory', $current['memory']),
  52. $memorydata
  53. ));
  54. } elseif($operation == 'seo') {
  55. $_GET['anchor'] = in_array($_GET['anchor'], array('rewrite', 'portal', 'forum', 'home', 'group')) ? $_GET['anchor'] : 'rewrite';
  56. showsubmenuanchors('nav_seo', array(
  57. array('nav_seo_rewrite', 'rewrite', $_GET['anchor'] == 'rewrite'),
  58. array('nav_seo_portal', 'portal', $_GET['anchor'] == 'portal'),
  59. array('nav_seo_forum', 'forum', $_GET['anchor'] == 'forum'),
  60. array('nav_seo_home', 'home', $_GET['anchor'] == 'home'),
  61. array('nav_seo_group', 'group', $_GET['anchor'] == 'group'),
  62. array('other', 'other', $_GET['anchor'] == 'other'),
  63. ));
  64. } elseif($operation == 'ec') {
  65. showsubmenu('nav_ec', array(
  66. array('nav_ec_config', 'setting&operation=ec', 1),
  67. array('nav_ec_tenpay', 'ec&operation=tenpay', 0),
  68. array('nav_ec_alipay', 'ec&operation=alipay', 0),
  69. array('nav_ec_credit', 'ec&operation=credit', 0),
  70. array('nav_ec_orders', 'ec&operation=orders', 0),
  71. array('nav_ec_tradelog', 'tradelog&mod=forum', 0),
  72. array('nav_ec_inviteorders', 'ec&operation=inviteorders', 0)
  73. ));
  74. } elseif($operation == 'access') {
  75. $_GET['anchor'] = in_array($_GET['anchor'], array('register', 'access')) ? $_GET['anchor'] : 'register';
  76. showsubmenuanchors('setting_access', array(
  77. array('setting_access_register', 'register', $_GET['anchor'] == 'register'),
  78. array('setting_access_access', 'access', $_GET['anchor'] == 'access')
  79. ));
  80. } elseif($operation == 'follow') {
  81. $_GET['anchor'] = 'base';
  82. showsubmenuanchors('setting_follow', array(
  83. array('setting_follow_base', 'base', true)
  84. ));
  85. } elseif($operation == 'home') {
  86. $_GET['anchor'] = in_array($_GET['anchor'], array('base', 'privacy')) ? $_GET['anchor'] : 'base';
  87. showsubmenuanchors('setting_home', array(
  88. array('setting_home_base', 'base', $_GET['anchor'] == 'base'),
  89. array('setting_home_privacy', 'privacy', $_GET['anchor'] == 'privacy')
  90. ));
  91. } elseif($operation == 'profile') {
  92. $_GET['anchor'] = in_array($_GET['anchor'], array('base', 'edit')) ? $_GET['anchor'] : 'base';
  93. } elseif($operation == 'mail') {
  94. $_GET['anchor'] = in_array($_GET['anchor'], array('setting', 'check')) ? $_GET['anchor'] : 'setting';
  95. showsubmenuanchors('setting_mail', array(
  96. array('setting_mail_setting', 'mailsetting', $_GET['anchor'] == 'setting'),
  97. array('setting_mail_check', 'mailcheck', $_GET['anchor'] == 'check')
  98. ));
  99. } elseif($operation == 'sec') {
  100. $_GET['anchor'] = in_array($_GET['anchor'], array('base', 'seccode', 'secqaa', 'reginput', 'postperiodtime')) ? $_GET['anchor'] : 'base';
  101. showsubmenuanchors('setting_sec', array(
  102. array('setting_sec_base', 'base', $_GET['anchor'] == 'base'),
  103. array('setting_sec_seccode', 'seccode', $_GET['anchor'] == 'seccode'),
  104. array('setting_sec_secqaa', 'secqaa', $_GET['anchor'] == 'secqaa'),
  105. array('setting_sec_reginput', 'reginput', $_GET['anchor'] == 'reginput'),
  106. array('setting_sec_postperiodtime', 'postperiodtime', $_GET['anchor'] == 'postperiodtime')
  107. ));
  108. } elseif($operation == 'attach') {
  109. $_GET['anchor'] = in_array($_GET['anchor'], array('basic', 'forumattach', 'remote', 'albumattach', 'portalarticle')) ? $_GET['anchor'] : 'basic';
  110. showsubmenuanchors('setting_attach', array(
  111. array('setting_attach_basic', 'basic', $_GET['anchor'] == 'basic'),
  112. $isfounder ? array('setting_attach_remote', 'remote', $_GET['anchor'] == 'remote') : '',
  113. array('setting_attach_forumattach', 'forumattach', $_GET['anchor'] == 'forumattach'),
  114. array('setting_attach_album', 'albumattach', $_GET['anchor'] == 'albumattach'),
  115. array('setting_attach_portal_article_attach', 'portalarticle', $_GET['anchor'] == 'portalarticle'),
  116. ));
  117. } elseif($operation == 'styles') {
  118. $_GET['anchor'] = in_array($_GET['anchor'], array('global', 'index', 'forumdisplay', 'viewthread', 'threadprofile', 'numbercard', 'refresh', 'sitemessage')) ? $_GET['anchor'] : 'global';
  119. $current = array($_GET['anchor'] => 1);
  120. showsubmenu('setting_styles', array(
  121. array('setting_styles_global', 'setting&operation=styles&anchor=global', $current['global']),
  122. array('setting_styles_index', 'setting&operation=styles&anchor=index', $current['index']),
  123. array('setting_styles_forumdisplay', 'setting&operation=styles&anchor=forumdisplay', $current['forumdisplay']),
  124. array('setting_styles_viewthread', 'setting&operation=styles&anchor=viewthread', $current['viewthread']),
  125. array('setting_styles_threadprofile', 'setting&operation=styles&anchor=threadprofile', $current['threadprofile']),
  126. array('members_profile_numbercard', 'setting&operation=styles&anchor=numbercard', $current['numbercard']),
  127. array('setting_styles_refresh', 'setting&operation=styles&anchor=refresh', $current['refresh']),
  128. array('setting_styles_sitemessage', 'setting&operation=styles&anchor=sitemessage', $current['sitemessage'])
  129. ));
  130. } elseif($operation == 'functions') {
  131. $_GET['anchor'] = in_array($_GET['anchor'], array('curscript', 'mod', 'heatthread', 'recommend', 'comment', 'activity', 'other', 'threadexp', 'guide')) ? $_GET['anchor'] : 'curscript';
  132. showsubmenu('setting_functions', array(
  133. array('setting_functions_curscript', 'setting&operation=functions&anchor=curscript', $_GET['anchor'] == 'curscript'),
  134. array('setting_functions_mod', 'setting&operation=functions&anchor=mod', $_GET['anchor'] == 'mod'),
  135. array('setting_functions_heatthread', 'setting&operation=functions&anchor=heatthread', $_GET['anchor'] == 'heatthread'),
  136. array('setting_functions_recommend', 'setting&operation=functions&anchor=recommend', $_GET['anchor'] == 'recommend'),
  137. array('setting_functions_comment', 'setting&operation=functions&anchor=comment', $_GET['anchor'] == 'comment'),
  138. array('setting_functions_guide', 'setting&operation=functions&anchor=guide', $_GET['anchor'] == 'guide'),
  139. array('setting_functions_activity', 'setting&operation=functions&anchor=activity', $_GET['anchor'] == 'activity'),
  140. array('setting_functions_threadexp', 'setting&operation=functions&anchor=threadexp', $_GET['anchor'] == 'threadexp'),
  141. array('setting_functions_other', 'setting&operation=functions&anchor=other', $_GET['anchor'] == 'other'),
  142. ));
  143. } elseif($operation == 'credits') {
  144. $_GET['anchor'] = in_array($_GET['anchor'], array('base', 'policytable')) ? $_GET['anchor'] : 'base';
  145. $current = array($_GET['anchor'] => 1);
  146. showsubmenu('setting_credits', array(
  147. array('setting_credits_base', 'setting&operation=credits&anchor=base', $current['base']),
  148. array('setting_credits_policy', 'credits&operation=list&anchor=policytable', $current['policytable']),
  149. ));
  150. } elseif($operation == 'editor') {
  151. showsubmenu('setting_editor', array(
  152. array('setting_editor_global', 'setting&operation=editor', 1),
  153. array('setting_editor_code', 'misc&operation=bbcode', 0),
  154. ));
  155. } elseif($operation == 'imgwater') {
  156. $_GET['anchor'] = in_array($_GET['anchor'], array('portal', 'forum', 'album')) ? $_GET['anchor'] : 'portal';
  157. showsubmenuanchors('setting_imgwater', array(
  158. array('setting_imgwater_portal', 'portal', $_GET['anchor'] == 'portal'),
  159. array('setting_imgwater_forum', 'forum', $_GET['anchor'] == 'forum'),
  160. array('setting_imgwater_album', 'album', $_GET['anchor'] == 'album'),
  161. ));
  162. } elseif($operation == 'mobile') {
  163. $_GET['anchor'] = in_array($_GET['anchor'], array('status')) ? $_GET['anchor'] : 'status';
  164. showsubmenuanchors('setting_mobile', array(
  165. array('setting_mobile_status', 'status', $_GET['anchor'] == 'status')
  166. ));
  167. } elseif($operation == 'antitheft') {
  168. $_GET['anchor'] = in_array($_GET['anchor'], array('iplist'), true) ? $_GET['anchor'] : '';
  169. showsubmenu('setting_antitheft', array(
  170. array('setting_antitheft', 'setting&operation=antitheft', $_GET['anchor'] == ''),
  171. array('setting_antitheft_iplist', 'setting&operation=antitheft&anchor=iplist', $_GET['anchor'] == 'iplist'),
  172. ));
  173. } else {
  174. showsubmenu('setting_'.$operation);
  175. }
  176. showformheader('setting&edit=yes', 'enctype');
  177. showhiddenfields(array('operation' => $operation));
  178. if($operation == 'basic') {
  179. showtableheader('');
  180. showsetting('setting_basic_bbname', 'settingnew[bbname]', $setting['bbname'], 'text');
  181. showsetting('setting_basic_sitename', 'settingnew[sitename]', $setting['sitename'], 'text');
  182. showsetting('setting_basic_siteurl', 'settingnew[siteurl]', $setting['siteurl'], 'text');
  183. showsetting('setting_basic_adminemail', 'settingnew[adminemail]', $setting['adminemail'], 'text');
  184. showsetting('setting_basic_site_qq', 'settingnew[site_qq]', $setting['site_qq'], 'text',$disabled = '', $hidden = 0, $comment = '', $extra = 'id="settingnew[site_qq]"');
  185. showsetting('setting_basic_icp', 'settingnew[icp]', $setting['icp'], 'text');
  186. showsetting('setting_basic_boardlicensed', 'settingnew[boardlicensed]', $setting['boardlicensed'], 'radio');
  187. showsetting('setting_basic_stat', 'settingnew[statcode]', $setting['statcode'], 'textarea');
  188. showtablefooter();
  189. showtableheader('setting_basic_bbclosed');
  190. showsetting('setting_basic_bbclosed', 'settingnew[bbclosed]', $setting['bbclosed'], 'radio', 0, 1);
  191. showsetting('setting_basic_closedreason', 'settingnew[closedreason]', $setting['closedreason'], 'textarea');
  192. showsetting('setting_basic_bbclosed_activation', 'settingnew[closedallowactivation]', $setting['closedallowactivation'], 'radio');
  193. showtagfooter('tbody');
  194. } elseif($operation == 'follow') {
  195. require_once libfile('function/forumlist');
  196. showtableheader('', 'nobottom', 'id="base"'.($_GET['anchor'] != 'base' ? ' style="display: none"' : ''));
  197. showsetting('setting_follow_base_default_follow_retain_day', 'settingnew[followretainday]', $setting['followretainday'], 'text');
  198. showsetting('setting_follow_base_default_view_profile', 'settingnew[allowquickviewprofile]', $setting['allowquickviewprofile'], 'radio');
  199. showtablefooter();
  200. } elseif($operation == 'home') {
  201. require_once libfile('function/forumlist');
  202. showtableheader('', 'nobottom', 'id="base"'.($_GET['anchor'] != 'base' ? ' style="display: none"' : ''));
  203. showsetting('setting_home_base_feedday', 'settingnew[feedday]', $setting['feedday'], 'text');
  204. showsetting('setting_home_base_feedmaxnum', 'settingnew[feedmaxnum]', $setting['feedmaxnum'], 'text');
  205. showsetting('setting_home_base_feedhotday', 'settingnew[feedhotday]', $setting['feedhotday'], 'text');
  206. showsetting('setting_home_base_feedhotmin', 'settingnew[feedhotmin]', $setting['feedhotmin'], 'text');
  207. showsetting('setting_home_base_feedtargetblank', 'settingnew[feedtargetblank]', $setting['feedtargetblank'], 'radio');
  208. showsetting('setting_home_base_showallfriendnum', 'settingnew[showallfriendnum]', $setting['showallfriendnum'], 'text');
  209. showsetting('setting_home_base_feedhotnum', 'settingnew[feedhotnum]', $setting['feedhotnum'], 'text');
  210. showsetting('setting_home_base_maxpage', 'settingnew[maxpage]', $setting['maxpage'], 'text');
  211. showsetting('setting_home_base_sendmailday', 'settingnew[sendmailday]', $setting['sendmailday'], 'text');
  212. showsetting('setting_home_base_recycle_bin', 'settingnew[blogrecyclebin]', $setting['blogrecyclebin'], 'radio');
  213. showtagfooter('tbody');
  214. loadcache('forums');
  215. showsetting('setting_home_base_groupnum', 'settingnew[friendgroupnum]', $setting['friendgroupnum'], 'text');
  216. $threadtype = array('1' => 'poll', '2' => 'trade', '3' => 'reward', '4' => 'activity', '5' => 'debate');
  217. $oldforums = $_G['cache']['forums'];
  218. foreach($threadtype as $special => $key) {
  219. if($special == 0) {
  220. $fields = C::t('forum_forumfield')->fetch_all_by_fid(array_keys($_G['cache']['forums']));
  221. foreach($fields as $fid => $field) {
  222. if(!empty($field['threadsorts'])) {
  223. unset($_G['cache']['forums'][$fid]);
  224. }
  225. }
  226. } else {
  227. $_G['cache']['forums'] = $oldforums;
  228. }
  229. $forumselect = "<select name=\"%s\">\n<option value=\"\">&nbsp;&nbsp;> ".cplang('select')."</option>".str_replace('%', '%%', forumselect(FALSE, 0, $setting[$key.'forumid'], TRUE, FALSE, $special)).'</select>';
  230. showsetting('setting_home_base_default_'.$key.'_forum', "settingnew[{$key}forumid]", $setting[$key.'forumid'], sprintf($forumselect, "settingnew[{$key}forumid]"));
  231. }
  232. showsetting('setting_home_base_default_doing', 'settingnew[defaultdoing]', $setting['defaultdoing'], 'textarea');
  233. showtablefooter();
  234. if(isset($setting['privacy'])) {
  235. $setting['privacy'] = dunserialize($setting['privacy']);
  236. }
  237. showtableheader('', 'nobottom', 'id="privacy"'.($_GET['anchor'] != 'privacy' ? ' style="display: none"' : ''));
  238. showtitle('setting_home_privacy_new_user');
  239. showsetting('setting_home_privacy_view_index', array('settingnew[privacy][view][index]', array(
  240. array(0, $lang['setting_home_privacy_alluser']),
  241. array(1, $lang['setting_home_privacy_friend']),
  242. array(2, $lang['setting_home_privacy_self']),
  243. array(3, $lang['setting_home_privacy_register'])
  244. )), $setting['privacy']['view']['index'], 'select');
  245. showsetting('setting_home_privacy_view_friend', array('settingnew[privacy][view][friend]', array(
  246. array(0, $lang['setting_home_privacy_alluser']),
  247. array(1, $lang['setting_home_privacy_friend']),
  248. array(2, $lang['setting_home_privacy_self']),
  249. array(3, $lang['setting_home_privacy_register'])
  250. )), $setting['privacy']['view']['friend'], 'select');
  251. showsetting('setting_home_privacy_view_wall', array('settingnew[privacy][view][wall]', array(
  252. array(0, $lang['setting_home_privacy_alluser']),
  253. array(1, $lang['setting_home_privacy_friend']),
  254. array(2, $lang['setting_home_privacy_self']),
  255. array(3, $lang['setting_home_privacy_register'])
  256. )), $setting['privacy']['view']['wall'], 'select');
  257. showsetting('setting_home_privacy_view_feed', array('settingnew[privacy][view][home]', array(
  258. array(0, $lang['setting_home_privacy_alluser']),
  259. array(1, $lang['setting_home_privacy_friend']),
  260. array(3, $lang['setting_home_privacy_register'])
  261. )), $setting['privacy']['view']['home'], 'select');
  262. showsetting('setting_home_privacy_view_doing', array('settingnew[privacy][view][doing]', array(
  263. array(0, $lang['setting_home_privacy_alluser']),
  264. array(1, $lang['setting_home_privacy_friend']),
  265. array(3, $lang['setting_home_privacy_register'])
  266. )), $setting['privacy']['view']['doing'], 'select');
  267. showsetting('setting_home_privacy_view_blog', array('settingnew[privacy][view][blog]', array(
  268. array(0, $lang['setting_home_privacy_alluser']),
  269. array(1, $lang['setting_home_privacy_friend']),
  270. array(3, $lang['setting_home_privacy_register'])
  271. )), $setting['privacy']['view']['blog'], 'select');
  272. showsetting('setting_home_privacy_view_album', array('settingnew[privacy][view][album]', array(
  273. array(0, $lang['setting_home_privacy_alluser']),
  274. array(1, $lang['setting_home_privacy_friend']),
  275. array(3, $lang['setting_home_privacy_register'])
  276. )), $setting['privacy']['view']['album'], 'select');
  277. showsetting('setting_home_privacy_view_share', array('settingnew[privacy][view][share]', array(
  278. array(0, $lang['setting_home_privacy_alluser']),
  279. array(1, $lang['setting_home_privacy_friend']),
  280. array(3, $lang['setting_home_privacy_register'])
  281. )), $setting['privacy']['view']['share'], 'select');
  282. showsetting('setting_home_privacy_default_feed', array('settingnew[privacy][feed]', array(
  283. array('doing', $lang['setting_home_privacy_default_feed_doing'], '1'),
  284. array('blog', $lang['setting_home_privacy_default_feed_blog'], '1'),
  285. array('upload', $lang['setting_home_privacy_default_feed_upload'], '1'),
  286. array('share', $lang['setting_home_privacy_default_feed_share'], '1'),
  287. array('poll', $lang['setting_home_privacy_default_feed_poll'], '1'),
  288. array('joinpoll', $lang['setting_home_privacy_default_feed_joinpoll'], '1'),
  289. array('friend', $lang['setting_home_privacy_default_feed_friend'], '1'),
  290. array('comment', $lang['setting_home_privacy_default_feed_comments'], '1'),
  291. array('show', $lang['setting_home_privacy_default_feed_show'], '1'),
  292. array('credit', $lang['setting_home_privacy_default_feed_credit'], '1'),
  293. array('spaceopen', $lang['setting_home_privacy_default_feed_spaceopen'], '1'),
  294. array('invite', $lang['setting_home_privacy_default_feed_invite'], '1'),
  295. array('task', $lang['setting_home_privacy_default_feed_task'], '1'),
  296. array('profile', $lang['setting_home_privacy_default_feed_profile'], '1'),
  297. array('click', $lang['setting_home_privacy_default_feed_click'], '1'),
  298. array('newthread', $lang['setting_home_privacy_default_feed_newthread'], '1'),
  299. array('newreply', $lang['setting_home_privacy_default_feed_newreply'], '1'),
  300. )), $setting['privacy']['feed'], 'omcheckbox');
  301. showtablefooter();
  302. showtableheader();
  303. } elseif($operation == 'profile') {
  304. $profilegroup = dunserialize($setting['profilegroup']);
  305. if($_GET['anchor'] == 'edit' && in_array($_GET['type'], array('base', 'contact', 'edu', 'work', 'info'))) {
  306. shownav('user', 'nav_members_profile_group');
  307. $groupinfo = $profilegroup[$_GET['type']];
  308. showsubmenu($lang['setting_profile_group_name'].'-'.$groupinfo['title'], array(
  309. array('members_profile_group', 'setting&operation=profile&anchor=base', 0),
  310. array($lang['edit'], 'setting&operation=profile&anchor=edit&type='.$_GET['type'], 1),
  311. ));
  312. showtableheader();
  313. showsetting('setting_profile_group_name', "settingnew[profile][title]", $groupinfo['title'], 'text');
  314. showsetting('setting_profile_group_available', "settingnew[profile][available]", $groupinfo['available'], 'radio');
  315. showsetting('setting_profile_group_displayorder', "settingnew[profile][displayorder]", $groupinfo['displayorder'], 'text');
  316. $varname = array('settingnew[profile][field]', array(), 'isfloat');
  317. foreach(C::t('common_member_profile_setting')->fetch_all_by_available(1) as $value) {
  318. if(!in_array($value['fieldid'], array('constellation', 'zodiac', 'birthyear', 'birthmonth', 'resideprovince', 'birthprovince', 'residedist', 'residecommunity'))) {
  319. $varname[1][] = array($value['fieldid'], $value['title'], $value['fieldid']);
  320. }
  321. }
  322. $varname[1][] = array('sightml', $lang['setting_profile_personal_signature'], 'sightml');
  323. $varname[1][] = array('customstatus', $lang['setting_profile_permission_basic_status'], 'customstatus');
  324. $varname[1][] = array('timeoffset', $lang['setting_profile_time_zone'], 'timeoffset');
  325. showsetting('setting_profile_field', $varname, $groupinfo['field'], 'omcheckbox');
  326. echo "<input type=\"hidden\" name=\"settingnew[profile][type]\" value=\"$_GET[type]\" />";
  327. showtablefooter();
  328. } else {
  329. $current = array($_GET['action'] => 1);
  330. $profilenav = array(
  331. array('members_profile_list', 'members&operation=profile', $current['members']),
  332. array('members_profile_group', 'setting&operation=profile', $current['setting']),
  333. );
  334. showsubmenu($lang['members_profile'], $profilenav);
  335. showtips('setting_profile_tips');
  336. showtableheader('setting_profile_group_setting', 'fixpadding');
  337. showsubtitle(array('setting_profile_group_available', 'setting_profile_group_displayorder', 'setting_profile_group_name', ''), 'header');
  338. foreach($profilegroup as $key => $group) {
  339. showtablerow('', array('class="td25"', '', '', 'class="td25"'), array(
  340. "<input class=\"checkbox\" type=\"checkbox\" name=\"settingnew[profilegroupnew][$key][available]\" value=\"1\" ".($profilegroup[$key]['available'] ? 'checked' : '')." />",
  341. "<input type=\"text\" class=\"txt\" size=\"8\" name=\"settingnew[profilegroupnew][$key][displayorder]\" value=\"{$profilegroup[$key]['displayorder']}\">",
  342. "<input type=\"text\" class=\"txt\" size=\"8\" name=\"settingnew[profilegroupnew][$key][title]\" value=\"{$profilegroup[$key]['title']}\">",
  343. "<a href=\"".ADMINSCRIPT."?action=setting&operation=profile&anchor=edit&type=$key\">".$lang['edit']."</a>"
  344. ));
  345. }
  346. showtablefooter();
  347. }
  348. } elseif($operation == 'access') {
  349. $wmsgcheck = array($setting['welcomemsg'] =>'checked');
  350. $setting['inviteconfig'] = dunserialize($setting['inviteconfig']);
  351. $setting['extcredits'] = dunserialize($setting['extcredits']);
  352. $buycredits = $rewardcredits = '';
  353. for($i = 0; $i <= 8; $i++) {
  354. if($setting['extcredits'][$i]['available']) {
  355. $extcredit = 'extcredits'.$i.' ('.$setting['extcredits'][$i]['title'].')';
  356. $buycredits .= '<option value="'.$i.'" '.($i == intval($setting['inviteconfig']['invitecredit']) ? 'selected' : '').'>'.($i ? $extcredit : $lang['none']).'</option>';
  357. $rewardcredits .= '<option value="'.$i.'" '.($i == intval($setting['inviteconfig']['inviterewardcredit']) ? 'selected' : '').'>'.($i ? $extcredit : $lang['none']).'</option>';
  358. }
  359. }
  360. $groupselect = '';
  361. foreach(C::t('common_usergroup')->fetch_all_by_type('special') as $group) {
  362. $groupselect .= "<option value=\"$group[groupid]\" ".($group['groupid'] == $setting['inviteconfig']['invitegroupid'] ? 'selected' : '').">$group[grouptitle]</option>\n";
  363. }
  364. $taskarray = array(array('', cplang('select')));
  365. foreach(C::t('common_task')->fetch_all_by_available(2) as $task) {
  366. $taskarray[] = array($task['taskid'], $task['name']);
  367. }
  368. showtableheader('', 'nobottom', 'id="register"'.($_GET['anchor'] != 'register' ? ' style="display: none"' : ''));
  369. $regstatus = array();
  370. if($setting['regstatus'] == 1 || $setting['regstatus'] == 3) {
  371. $regstatus[] = 'open';
  372. }
  373. if($setting['regstatus'] == 2 || $setting['regstatus'] == 3) {
  374. $regstatus[] = 'invite';
  375. }
  376. if($setting['regconnect']) {
  377. $regstatus[] = 'connect';
  378. }
  379. showsetting('setting_access_register_status', array('settingnew[regstatus]', array(
  380. array('open', $lang['setting_access_register_open']),
  381. array('invite', $lang['setting_access_register_invite'], 'showinvite'),
  382. $_G['setting']['connect']['allow'] ? array('connect', $lang['setting_access_register_connect']) : array(),
  383. )), $regstatus, 'mcheckbox');
  384. showtagheader('tbody', 'showinvite', in_array('invite', $regstatus), 'sub');
  385. showsetting('setting_access_register_invite_buyprompt', 'settingnew[inviteconfig][invitecodeprompt]', $setting['inviteconfig']['invitecodeprompt'], 'textarea');
  386. showsetting('setting_access_register_invite_buy', 'settingnew[inviteconfig][buyinvitecode]', $setting['inviteconfig']['buyinvitecode'], 'radio');
  387. showsetting('setting_access_register_invite_buyprice', 'settingnew[inviteconfig][invitecodeprice]', $setting['inviteconfig']['invitecodeprice'], 'text');
  388. showsetting('setting_access_register_invite_credit', '', '', '<select name="settingnew[inviteconfig][inviterewardcredit]">'.$rewardcredits.'</select>');
  389. showsetting('setting_access_register_invite_addcredit', 'settingnew[inviteconfig][inviteaddcredit]', $setting['inviteconfig']['inviteaddcredit'], 'text');
  390. showsetting('setting_access_register_invite_invitedcredit', 'settingnew[inviteconfig][invitedaddcredit]', $setting['inviteconfig']['invitedaddcredit'], 'text');
  391. showsetting('setting_access_register_invite_group', '', '', '<select name="settingnew[inviteconfig][invitegroupid]"><option value="0">'.$lang['usergroups_system_0'].'</option>'.$groupselect.'</select>');
  392. showsetting('setting_access_register_invite_areawhite', 'settingnew[inviteconfig][inviteareawhite]', $setting['inviteconfig']['inviteareawhite'], 'textarea');
  393. showsetting('setting_access_register_invite_ipwhite', 'settingnew[inviteconfig][inviteipwhite]', $setting['inviteconfig']['inviteipwhite'], 'textarea');
  394. showtagfooter('tbody');
  395. showsetting('setting_access_register_regclosemessage', 'settingnew[regclosemessage]', $setting['regclosemessage'], 'textarea');
  396. showsetting('setting_access_register_name', 'settingnew[regname]', $setting['regname'], 'text');
  397. showsetting('setting_access_register_send_register_url', 'settingnew[sendregisterurl]', $setting['sendregisterurl'], 'radio');
  398. showsetting('setting_access_register_forge_email', 'settingnew[forgeemail]', $setting['forgeemail'], 'radio');
  399. showsetting('setting_access_register_link_name', 'settingnew[reglinkname]', $setting['reglinkname'], 'text');
  400. showsetting('setting_access_register_censoruser', 'settingnew[censoruser]', $setting['censoruser'], 'textarea');
  401. showsetting('setting_access_register_pwlength', 'settingnew[pwlength]', $setting['pwlength'], 'text');
  402. $setting['strongpw'] = dunserialize($setting['strongpw']);
  403. showsetting('setting_access_register_strongpw', array('settingnew[strongpw]', array(
  404. array('1', $lang['setting_access_register_strongpw_1']),
  405. array('2', $lang['setting_access_register_strongpw_2']),
  406. array('3', $lang['setting_access_register_strongpw_3']),
  407. array('4', $lang['setting_access_register_strongpw_4']),
  408. )), $setting['strongpw'], 'mcheckbox2');
  409. showsetting('setting_access_register_verify', array('settingnew[regverify]', array(
  410. array(0, $lang['none'], array('regverifyext' => 'none')),
  411. array(1, $lang['setting_access_register_verify_email'], array('regverifyext' => '')),
  412. array(2, $lang['setting_access_register_verify_manual'], array('regverifyext' => ''))
  413. )), $setting['regverify'], 'mradio');
  414. showtagheader('tbody', 'regverifyext', $setting['regverify'], 'sub');
  415. showsetting('setting_access_register_verify_areawhite', 'settingnew[areaverifywhite]', $setting['areaverifywhite'], 'textarea');
  416. showsetting('setting_access_register_verify_ipwhite', 'settingnew[ipverifywhite]', $setting['ipverifywhite'], 'textarea');
  417. showtagfooter('tbody');
  418. showsetting('setting_access_register_maildomain', array('settingnew[regmaildomain]', array(
  419. array(0, $lang['none'], array('regmaildomainext' => 'none')),
  420. array(1, $lang['setting_access_register_maildomain_white'], array('regmaildomainext' => '')),
  421. array(2, $lang['setting_access_register_maildomain_black'], array('regmaildomainext' => ''))
  422. )), $setting['regmaildomain'], 'mradio');
  423. showtagheader('tbody', 'regmaildomainext', $setting['regmaildomain'], 'sub');
  424. showsetting('setting_access_register_maildomain_list', 'settingnew[maildomainlist]', $setting['maildomainlist'], 'textarea');
  425. showtagfooter('tbody');
  426. showsetting('setting_access_register_ctrl', 'settingnew[regctrl]', $setting['regctrl'], 'text');
  427. showsetting('setting_access_register_floodctrl', 'settingnew[regfloodctrl]', $setting['regfloodctrl'], 'text');
  428. showsetting('setting_access_register_ipctrl_time', 'settingnew[ipregctrltime]', $setting['ipregctrltime'], 'text');
  429. showsetting('setting_access_register_ipctrl', 'settingnew[ipregctrl]', $setting['ipregctrl'], 'textarea');
  430. $welcomemsg = array();
  431. if($setting['welcomemsg'] == 1) {
  432. $welcomemsg[] = '1';
  433. } elseif($setting['welcomemsg'] == 2) {
  434. $welcomemsg[] = '2';
  435. } elseif($setting['welcomemsg'] == 3) {
  436. $welcomemsg[] = '1';
  437. $welcomemsg[] = '2';
  438. } else {
  439. $welcomemsg[] = '0';
  440. }
  441. showsetting('setting_access_register_welcomemsg', array('settingnew[welcomemsg]', array(
  442. array(1, $lang['setting_access_register_welcomemsg_pm']),
  443. array(2, $lang['setting_access_register_welcomemsg_email'])
  444. )), $welcomemsg, 'mcheckbox');
  445. showsetting('setting_access_register_welcomemsgtitle', 'settingnew[welcomemsgtitle]', $setting['welcomemsgtitle'], 'text');
  446. showsetting('setting_access_register_welcomemsgtxt', 'settingnew[welcomemsgtxt]', $setting['welcomemsgtxt'], 'textarea');
  447. showsetting('setting_access_register_bbrules', 'settingnew[bbrules]', $setting['bbrules'], 'radio', '', 1);
  448. showsetting('setting_access_register_bbruleforce', 'settingnew[bbrulesforce]', $setting['bbrulesforce'], 'radio');
  449. showsetting('setting_access_register_bbrulestxt', 'settingnew[bbrulestxt]', $setting['bbrulestxt'], 'textarea');
  450. showtagfooter('tbody');
  451. showtablefooter();
  452. showtableheader('', 'nobottom', 'id="access"'.($_GET['anchor'] != 'access' ? ' style="display: none"' : ''));
  453. showsetting('setting_access_access_newbiespan', 'settingnew[newbiespan]', $setting['newbiespan'], 'text');
  454. showsetting('setting_access_access_ipaccess', 'settingnew[ipaccess]', $setting['ipaccess'], 'textarea');
  455. showsetting('setting_access_access_adminipaccess', 'settingnew[adminipaccess]', $setting['adminipaccess'], 'textarea');
  456. showsetting('setting_access_access_domainwhitelist', 'settingnew[domainwhitelist]', '', '<textarea class="tarea" cols="50" id="settingnew[domainwhitelist]" name="settingnew[domainwhitelist]" onkeydown="textareakey(this, event)" onkeyup="textareasize(this, 0)" ondblclick="textareasize(this, 1)" rows="6">'.$setting['domainwhitelist'].'</textarea><br><input class="checkbox" type="checkbox" value="1" name="settingnew[domainwhitelist_affectimg]" '.($setting['domainwhitelist_affectimg'] ? 'checked' : '').'>'.cplang('setting_access_access_domainwhitelist_affectimg'));
  457. showtablefooter();
  458. showtableheader('', 'notop');
  459. showsubmit('settingsubmit');
  460. showtablefooter();
  461. showformfooter();
  462. exit;
  463. } elseif($operation == 'styles') {
  464. $_G['setting']['showsettings'] = str_pad(decbin($setting['showsettings']), 3, 0, STR_PAD_LEFT);
  465. $setting['showsignatures'] = $_G['setting']['showsettings']{0};
  466. $setting['showavatars'] = $_G['setting']['showsettings']{1};
  467. $setting['showimages'] = $_G['setting']['showsettings']{2};
  468. $setting['postnocustom'] = implode("\n", (array)dunserialize($setting['postnocustom']));
  469. $setting['sitemessage'] = dunserialize($setting['sitemessage']);
  470. $setting['disallowfloat'] = $setting['disallowfloat'] ? dunserialize($setting['disallowfloat']) : array();
  471. $setting['allowfloatwin'] = array_diff($floatwinkeys, $setting['disallowfloat']);
  472. $setting['indexhot'] = dunserialize($setting['indexhot']);
  473. $setting['customauthorinfo'] = dunserialize($setting['customauthorinfo']);
  474. $setting['customauthorinfo'] = $setting['customauthorinfo'][0];
  475. list($setting['zoomstatus'], $setting['imagemaxwidth']) = explode("\t", $setting['zoomstatus']);
  476. $setting['imagemaxwidth'] = !empty($setting['imagemaxwidth']) ? $setting['imagemaxwidth'] : 600;
  477. $setting['guestviewthumb'] = dunserialize($setting['guestviewthumb']);
  478. $setting['guesttipsinthread'] = dunserialize($setting['guesttipsinthread']);
  479. $stylelist = "<select name=\"settingnew[styleid]\">\n";
  480. $query = DB::query("SELECT styleid, name FROM ".DB::table('common_style')."");
  481. while($style = DB::fetch($query)) {
  482. $selected = $style['styleid'] == $setting['styleid'] ? 'selected="selected"' : NULL;
  483. $stylelist .= "<option value=\"$style[styleid]\" $selected>$style[name]</option>\n";
  484. }
  485. $stylelist .= '</select>';
  486. showtips('setting_tips', 'global_tips', $_GET['anchor'] == 'global');
  487. showtableheader('setting_styles_global', 'nobottom', 'id="global"'.($_GET['anchor'] != 'global' ? ' style="display: none"' : ''));
  488. showsetting('setting_styles_global_styleid', '', '', $stylelist);
  489. showsetting('setting_styles_global_home_style', array('settingnew[homestyle]', array(
  490. array(1, $lang['setting_styles_global_home_style_1']),
  491. array(0, $lang['setting_styles_global_home_style_0']),
  492. )), $setting['homestyle'], 'mradio');
  493. showsetting('setting_styles_global_homepage_style', array('settingnew[homepagestyle]', array(
  494. array(1, $lang['setting_styles_global_homepage_style_1']),
  495. array(0, $lang['setting_styles_global_homepage_style_0']),
  496. )), $setting['homepagestyle'], 'mradio');
  497. showsetting('setting_styles_global_navsubhover', array('settingnew[navsubhover]', array(
  498. array(0, $lang['setting_styles_global_navsubhover_0']),
  499. array(1, $lang['setting_styles_global_navsubhover_1']),
  500. )), $setting['navsubhover'], 'mradio');
  501. showsetting('setting_styles_index_allowwidthauto', array('settingnew[allowwidthauto]', array(
  502. array(1, $lang['setting_styles_index_allowwidthauto_1']),
  503. array(0, $lang['setting_styles_index_allowwidthauto_0']),
  504. ), 1), $setting['allowwidthauto'], 'mradio');
  505. showtagheader('tbody', '', 1, 'sub');
  506. showsetting('setting_styles_index_switchwidthauto', 'settingnew[switchwidthauto]', $setting['switchwidthauto'], 'radio');
  507. showtagfooter('tbody');
  508. showsetting('setting_styles_global_allowfloatwin', array('settingnew[allowfloatwin]', $floatwinarray), $setting['allowfloatwin'], 'mcheckbox');
  509. showsetting('setting_styles_global_showfjump', 'settingnew[showfjump]', $setting['showfjump'], 'radio');
  510. showsetting('setting_styles_global_creditnotice', 'settingnew[creditnotice]', $setting['creditnotice'], 'radio');
  511. showsetting('setting_styles_global_showusercard', 'settingnew[showusercard]', $setting['showusercard'], 'radio');
  512. showsetting('setting_styles_global_anonymoustext', 'settingnew[anonymoustext]', $setting['anonymoustext'], 'text');
  513. showtablefooter();
  514. showtableheader('setting_styles_index', 'nobottom', 'id="index"'.($_GET['anchor'] != 'index' ? ' style="display: none"' : ''));
  515. showsetting('setting_styles_index_indexhot_status', 'settingnew[indexhot][status]', $setting['indexhot']['status'], 'radio', 0, 1);
  516. showsetting('setting_styles_index_indexhot_limit', 'settingnew[indexhot][limit]', $setting['indexhot']['limit'], 'text');
  517. showsetting('setting_styles_index_indexhot_days', 'settingnew[indexhot][days]', $setting['indexhot']['days'], 'text');
  518. showsetting('setting_styles_index_indexhot_expiration', 'settingnew[indexhot][expiration]', $setting['indexhot']['expiration'], 'text');
  519. showsetting('setting_styles_index_indexhot_messagecut', 'settingnew[indexhot][messagecut]', $setting['indexhot']['messagecut'], 'text');
  520. showtagfooter('tbody');
  521. showsetting('setting_styles_index_subforumsindex', 'settingnew[subforumsindex]', $setting['subforumsindex'], 'radio');
  522. showsetting('setting_styles_index_forumlinkstatus', 'settingnew[forumlinkstatus]', $setting['forumlinkstatus'], 'radio');
  523. showsetting('setting_styles_index_forumallowside', 'settingnew[forumallowside]', $setting['forumallowside'], 'radio');
  524. showsetting('setting_styles_index_whosonline', array('settingnew[whosonlinestatus]', array(
  525. array(0, $lang['setting_styles_index_display_none']),
  526. array(1, $lang['setting_styles_index_whosonline_index']),
  527. array(2, $lang['setting_styles_index_whosonline_forum']),
  528. array(3, $lang['setting_styles_index_whosonline_both'])
  529. )), $setting['whosonlinestatus'], 'select');
  530. showsetting('setting_styles_index_whosonline_contract', 'settingnew[whosonline_contract]', $setting['whosonline_contract'], 'radio');
  531. showsetting('setting_styles_index_online_more_members', 'settingnew[maxonlinelist]', $setting['maxonlinelist'], 'text');
  532. showsetting('setting_styles_index_hideprivate', 'settingnew[hideprivate]', $setting['hideprivate'], 'radio');
  533. showsetting('setting_styles_index_showfollowcollection', 'settingnew[showfollowcollection]', $setting['showfollowcollection'], 'text');
  534. showsetting('setting_styles_index_disfixednv', 'settingnew[disfixednv_forumindex]', !empty($setting['disfixednv_forumindex']), 'radio');
  535. showtablefooter();
  536. showtips('setting_tips', 'forumdisplay_tips', $_GET['anchor'] == 'forumdisplay');
  537. showtableheader('setting_styles_forumdisplay', 'nobottom', 'id="forumdisplay"'.($_GET['anchor'] != 'forumdisplay' ? ' style="display: none"' : ''));
  538. showsetting('setting_styles_forumdisplay_tpp', 'settingnew[topicperpage]', $setting['topicperpage'], 'text');
  539. showsetting('setting_styles_forumdisplay_threadmaxpages', 'settingnew[threadmaxpages]', $setting['threadmaxpages'], 'text');
  540. showsetting('setting_styles_forumdisplay_leftsidewidth', 'settingnew[leftsidewidth]', $setting['leftsidewidth'], 'text');
  541. showsetting('setting_styles_forumdisplay_leftsideopen', 'settingnew[leftsideopen]', $setting['leftsideopen'], 'radio');
  542. showsetting('setting_styles_forumdisplay_globalstick', 'settingnew[globalstick]', $setting['globalstick'], 'radio');
  543. showsetting('setting_styles_forumdisplay_targetblank', 'settingnew[targetblank]', $setting['targetblank'], 'radio');
  544. showsetting('setting_styles_forumdisplay_stick', 'settingnew[threadsticky]', $setting['threadsticky'], 'text');
  545. showsetting('setting_styles_forumdisplay_part', 'settingnew[forumseparator]', $setting['forumseparator'], 'radio');
  546. showsetting('setting_styles_forumdisplay_visitedforums', 'settingnew[visitedforums]', $setting['visitedforums'], 'text');
  547. showsetting('setting_styles_forumdisplay_fastpost', 'settingnew[fastpost]', $setting['fastpost'], 'radio', 0, 1);
  548. showsetting('setting_styles_forumdisplay_fastsmilies', 'settingnew[fastsmilies]', $setting['fastsmilies'], 'radio');
  549. showtagfooter('tbody');
  550. $setting['forumpicstyle'] = dunserialize($setting['forumpicstyle']);
  551. showsetting('setting_styles_forumdisplay_forumpicstyle_thumbwidth', 'settingnew[forumpicstyle][thumbwidth]', $setting['forumpicstyle']['thumbwidth'], 'text');
  552. showsetting('setting_styles_forumdisplay_forumpicstyle_thumbheight', 'settingnew[forumpicstyle][thumbheight]', $setting['forumpicstyle']['thumbheight'], 'text');
  553. showsetting('setting_styles_forumdisplay_forumpicstyle_thumbnum', 'settingnew[forumpicstyle][thumbnum]', $setting['forumpicstyle']['thumbnum'], 'text');
  554. $stamplist[] = array(0, '');
  555. foreach(C::t('common_smiley')->fetch_all_by_type('stamplist') as $smiley) {
  556. $stamplist[] = array($smiley['displayorder'], $smiley['code']);
  557. }
  558. showsetting('setting_styles_forumdisplay_newbie', array('settingnew[newbie]', $stamplist), $setting['newbie'], 'select');
  559. showsetting('setting_styles_forumdisplay_disfixednv_forumdisplay', 'settingnew[disfixednv_forumdisplay]', !empty($setting['disfixednv_forumdisplay']), 'radio');
  560. showsetting('setting_styles_forumdisplay_threadpreview', 'settingnew[forumdisplaythreadpreview]', !empty($setting['forumdisplaythreadpreview']), 'radio');
  561. showtablefooter();
  562. showtagheader('div', 'viewthread', $_GET['anchor'] == 'viewthread');
  563. showtableheader('nav_setting_viewthread', 'nobottom');
  564. showsetting('setting_styles_viewthread_ppp', 'settingnew[postperpage]', $setting['postperpage'], 'text');
  565. showsetting('setting_styles_viewthread_starthreshold', 'settingnew[starthreshold]', $setting['starthreshold'], 'text');
  566. showsetting('setting_styles_viewthread_maxsigrows', 'settingnew[maxsigrows]', $setting['maxsigrows'], 'text');
  567. showsetting('setting_styles_viewthread_sigviewcond', 'settingnew[sigviewcond]', $setting['sigviewcond'], 'text');
  568. showsetting('setting_styles_viewthread_rate_on', 'settingnew[ratelogon]', $setting['ratelogon'], 'radio');
  569. showsetting('setting_styles_viewthread_rate_number', 'settingnew[ratelogrecord]', $setting['ratelogrecord'], 'text');
  570. showsetting('setting_styles_viewthread_collection_number', 'settingnew[collectionnum]', $setting['collectionnum'], 'text');
  571. showsetting('setting_styles_viewthread_relate_number', 'settingnew[relatenum]', $setting['relatenum'], 'text');
  572. showsetting('setting_styles_viewthread_relate_time', 'settingnew[relatetime]', $setting['relatetime'], 'text');
  573. showsetting('setting_styles_viewthread_show_signature', 'settingnew[showsignatures]', $setting['showsignatures'], 'radio');
  574. showsetting('setting_styles_viewthread_show_face', 'settingnew[showavatars]', $setting['showavatars'], 'radio');
  575. showsetting('setting_styles_viewthread_show_images', 'settingnew[showimages]', $setting['showimages'], 'radio');
  576. showsetting('setting_styles_viewthread_imagemaxwidth', 'settingnew[imagemaxwidth]', $setting['imagemaxwidth'], 'text');
  577. showsetting('setting_styles_viewthread_imagelistthumb', 'settingnew[imagelistthumb]', $setting['imagelistthumb'], 'text');
  578. showsetting('setting_styles_viewthread_zoomstatus', 'settingnew[zoomstatus]', $setting['zoomstatus'], 'radio', 0, 1);
  579. showsetting('setting_styles_viewthread_showexif', 'settingnew[showexif]', $setting['showexif'], 'radio', !function_exists('exif_read_data'));
  580. showtagfooter('tbody');
  581. showsetting('setting_styles_viewthread_vtonlinestatus', array('settingnew[vtonlinestatus]', array(
  582. array(0, $lang['setting_styles_viewthread_display_none']),
  583. array(1, $lang['setting_styles_viewthread_online_easy']),
  584. array(2, $lang['setting_styles_viewthread_online_exactitude'])
  585. )), $setting['vtonlinestatus'], 'select');
  586. showsetting('setting_styles_viewthread_userstatusby', 'settingnew[userstatusby]', $setting['userstatusby'], 'radio');
  587. showsetting('setting_styles_viewthread_postno', 'settingnew[postno]', $setting['postno'], 'text');
  588. showsetting('setting_styles_viewthread_postnocustom', 'settingnew[postnocustom]', $setting['postnocustom'], 'textarea');
  589. showsetting('setting_styles_viewthread_maxsmilies', 'settingnew[maxsmilies]', $setting['maxsmilies'], 'text');
  590. showsetting('setting_styles_viewthread_author_onleft', array('settingnew[authoronleft]', array(
  591. array(1, cplang('setting_styles_viewthread_author_onleft_yes')),
  592. array(0, cplang('setting_styles_viewthread_author_onleft_no')))), $setting['authoronleft'], 'mradio');
  593. showsetting('setting_styles_forumdisplay_disfixedavatar', 'settingnew[disfixedavatar]', !empty($setting['disfixedavatar']), 'radio');
  594. showsetting('setting_styles_forumdisplay_disfixednv_viewthread', 'settingnew[disfixednv_viewthread]', !empty($setting['disfixednv_viewthread']), 'radio');
  595. showsetting('setting_styles_forumdisplay_threadguestlite', 'settingnew[threadguestlite]', !empty($setting['threadguestlite']), 'radio');
  596. showsetting('setting_styles_viewthread_close_leftinfo', 'settingnew[close_leftinfo]', !empty($setting['close_leftinfo']), 'radio');
  597. showsetting('setting_styles_viewthread_close_leftinfo_userctrl', 'settingnew[close_leftinfo_userctrl]', !empty($setting['close_leftinfo_userctrl']), 'radio');
  598. showsetting('setting_styles_viewthread_guestviewthumb', 'settingnew[guestviewthumb][flag]', !empty($setting['guestviewthumb']['flag']), 'radio', 0, 1);
  599. showsetting('setting_styles_viewthread_guestviewthumb_width', 'settingnew[guestviewthumb][width]', $setting['guestviewthumb']['width'], 'text');
  600. showsetting('setting_styles_viewthread_guestviewthumb_height', 'settingnew[guestviewthumb][height]', $setting['guestviewthumb']['height'], 'text');
  601. showtagfooter('tbody');
  602. showsetting('setting_styles_viewthread_guesttipsinthread', 'settingnew[guesttipsinthread][flag]', !empty($setting['guesttipsinthread']['flag']), 'radio', 0, 1);
  603. showsetting('setting_styles_viewthread_guesttipsinthread_text', 'settingnew[guesttipsinthread][text]', $setting['guesttipsinthread']['text'], 'text');
  604. showtagfooter('tbody');
  605. showsetting('setting_styles_viewthread_imgcontent', 'settingnew[imgcontentwidth]', $setting['imgcontentwidth'], 'text');
  606. showsetting('setting_styles_viewthread_fast_reply', 'settingnew[allowfastreply]', $setting['allowfastreply'], 'radio');
  607. showsetting('setting_styles_viewthread_allow_replybg', 'settingnew[allowreplybg]', $setting['allowreplybg'], 'radio', 0, 1);
  608. $replybghtml = '';
  609. if($setting['globalreplybg']) {
  610. $replybghtml = '<label><input type="checkbox" class="checkbox" name="delglobalreplybg" value="yes" /> '.$lang['delete'].'</label><br /><img src="'.$_G['setting']['attachurl'].'common/'.$setting['globalreplybg'].'" width="200px" />';
  611. }
  612. if($setting['globalreplybg']) {
  613. $replybgurl = parse_url($setting['globalreplybg']);
  614. }
  615. showsetting('setting_styles_viewthread_global_reply_background', 'globalreplybg', (!$replybgurl['host'] ? str_replace($_G['setting']['attachurl'].'common/', '', $setting['globalreplybg']) : $setting['globalreplybg']), 'filetext', '', 0, $replybghtml);
  616. showtablefooter();
  617. showtagfooter('div');
  618. $setting['msgforward'] = !empty($setting['msgforward']) ? dunserialize($setting['msgforward']) : array();
  619. $setting['msgforward']['messages'] = !empty($setting['msgforward']['messages']) ? implode("\n", $setting['msgforward']['messages']) : '';
  620. showtablefooter();
  621. loadcache('usergroups');
  622. $threadprofiles = C::t('forum_threadprofile')->fetch_all();
  623. $threadprofile_group = C::t('forum_threadprofile_group')->fetch_all();
  624. showtagheader('div', 'threadprofile', $_GET['anchor'] == 'threadprofile');
  625. echo '<table><tr><td valign="top" width="350">';
  626. showtableheader('setting_styles_threadprofile_group', 'nobottom');
  627. showsubtitle(array('setting_styles_threadprofile_name', 'setting_styles_threadprofile_plan'));
  628. foreach($_G['cache']['usergroups'] as $gid => $usergroup) {
  629. $select = '<select name="threadprofile['.$gid.']"><option value="0">'.$lang['nav_global'].'</option>';
  630. foreach($threadprofiles as $id => $threadprofile) {
  631. $select .= '<option value="'.$id.'"'.($threadprofile_group[$gid]['tpid'] == $id ? ' selected' : '').'>'.$threadprofile['name'].'</option>';
  632. }
  633. $select .= '</select>';
  634. showtablerow('', array('', ''), array($usergroup['grouptitle'], $select));
  635. }
  636. if($_G['setting']['verify']['enabled']) {
  637. foreach($_G['setting']['verify'] as $gid => $verify) {
  638. if($verify['available']) {
  639. $select = '<select name="threadprofile[-'.$gid.']"><option value="0">'.$lang['nav_global'].'</option>';
  640. foreach($threadprofiles as $id => $threadprofile) {
  641. $select .= '<option value="'.$id.'"'.($threadprofile_group[-$gid]['tpid'] == $id ? ' selected' : '').'>'.$threadprofile['name'].'</option>';
  642. }
  643. $select .= '</select>';
  644. showtablerow('', array('', ''), array($verify['title'], $select));
  645. }
  646. }
  647. }
  648. showtablefooter();
  649. echo '</td><td width="10"></td><td valign="top" width="350">';
  650. showtableheader('setting_styles_threadprofile_project', 'nobottom');
  651. $setting['threadprofile'] = !empty($setting['threadprofile']) ? dunserialize($setting['threadprofile']) : array();
  652. showsubtitle(array('setting_styles_threadprofile_name', 'nav_global', ''));
  653. foreach($threadprofiles as $id => $threadprofile) {
  654. showtablerow('', array('style="width:200px"', 'style="width:50px"', ''), array(
  655. $threadprofile['name'],
  656. '<input name="default" type="radio" value="'.$id.'"'.($threadprofile['global'] ? ' checked' : '').' />',
  657. '<a href="'.ADMINSCRIPT.'?action=setting&operation=threadprofile&do=edit&id='.$id.'">'.cplang('edit').'</a>'.
  658. ($id > 1 ? '&nbsp;<a href="'.ADMINSCRIPT.'?action=setting&operation=threadprofile&do=delete&id='.$id.'">'.cplang('delete').'</a>' : ''),
  659. ));
  660. }
  661. echo '<tr><td colspan="3"><a href="'.ADMINSCRIPT.'?action=setting&operation=threadprofile&do=add" class="addtr">'.$lang['setting_styles_threadprofile_addplan'].'</td></tr>';
  662. showtablefooter();
  663. echo '</td></tr></table>';
  664. showtagfooter('div');
  665. showtips('members_profile_numbercard_tips', 'numbercard_tips', $_GET['anchor'] == 'numbercard');
  666. showtableheader('members_profile_numbercard', 'nobottom', 'id="numbercard"'.($_GET['anchor'] != 'numbercard' ? ' style="display: none"' : ''));
  667. $settingsAttribute = array();
  668. $allowedAttribute = array('threads', 'posts', 'credits', 'digestposts', 'doings', 'blogs', 'albums', 'sharings', 'oltime', 'feeds', 'follower', 'following', 'friends');
  669. foreach($allowedAttribute as $attribute) {
  670. $settingsAttribute[] = array($attribute, $lang['setting_numbercard_type_'.$attribute]);
  671. }
  672. $extcredits = dunserialize($setting['extcredits']);
  673. foreach($extcredits as $creditid=>$extcredit) {
  674. if($extcredit['title']) {
  675. $settingsAttribute[] = array('extcredits'.$creditid, $extcredit['title']);
  676. }
  677. }
  678. $setting['numbercard'] = dunserialize($setting['numbercard']);
  679. for($i = 1; $i <= 3; $i++) {
  680. showsetting(cplang('setting_numbercard_row', array('i' => $i)), array('settingnew[numbercard][row]['.$i.']', $settingsAttribute), $setting['numbercard']['row'][$i], 'select');
  681. }
  682. showtablefooter();
  683. showtableheader('setting_styles_refresh', 'nobottom', 'id="refresh"'.($_GET['anchor'] != 'refresh' ? ' style="display: none"' : ''));
  684. showsetting('setting_styles_refresh_refreshtime', 'settingnew[msgforward][refreshtime]', $setting['msgforward']['refreshtime'], 'text');
  685. showsetting('setting_styles_refresh_quick', 'settingnew[msgforward][quick]', $setting['msgforward']['quick'], 'radio', '', 1);
  686. showsetting('setting_styles_refresh_messages', 'settingnew[msgforward][messages]', $setting['msgforward']['messages'], 'textarea');
  687. showtagfooter('tbody');
  688. showtablefooter();
  689. showtableheader('setting_styles_sitemessage', 'nobottom', 'id="sitemessage"'.($_GE

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