PageRenderTime 69ms CodeModel.GetById 27ms RepoModel.GetById 1ms app.codeStats 0ms

/wp-content/plugins/simple-forum/admin/panel-admins/support/sfa-admins-save.php

https://bitbucket.org/openfarmtech/weblog-content
PHP | 418 lines | 341 code | 62 blank | 15 comment | 206 complexity | d6c89745cf846244ddc3a532d2dd68b2 MD5 | raw file
Possible License(s): GPL-2.0, AGPL-1.0, LGPL-2.0, LGPL-3.0, BSD-3-Clause, GPL-3.0, LGPL-2.1, AGPL-3.0, CC-BY-SA-3.0
  1. <?php
  2. /*
  3. Simple:Press
  4. Admin Admins Update Your Options Support Functions
  5. $LastChangedDate: 2010-03-26 16:38:27 -0700 (Fri, 26 Mar 2010) $
  6. $Rev: 3818 $
  7. */
  8. if (preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF']))
  9. {
  10. die('Access Denied');
  11. }
  12. function sfa_save_admins_your_options_data()
  13. {
  14. global $current_user;
  15. check_admin_referer('my-admin_options', 'my-admin_options');
  16. $sfadminsettings = array();
  17. $sfadminsettings = sf_get_option('sfadminsettings');
  18. # admin settings group
  19. $sfadminoptions='';
  20. if (isset($sfadminsettings['sfqueue']))
  21. {
  22. if (isset($_POST['sfadminbar'])) { $sfadminoptions['sfadminbar'] = true; } else { $sfadminoptions['sfadminbar'] = false; }
  23. if (isset($_POST['sfbarfix'])) { $sfadminoptions['sfbarfix'] = true; } else { $sfadminoptions['sfbarfix'] = false; }
  24. }
  25. if (isset($_POST['sfnotify'])) { $sfadminoptions['sfnotify'] = true; } else { $sfadminoptions['sfnotify'] = false; }
  26. if (isset($_POST['sfshownewadmin'])) { $sfadminoptions['sfshownewadmin'] = true; } else { $sfadminoptions['sfshownewadmin'] = false; }
  27. $sfadminoptions['sfstatusmsgtext'] = sf_filter_text_save(trim($_POST['sfstatusmsgtext']));
  28. $sfacolours = array();
  29. if (isset($_POST['submitbg']) ? $sfacolours['submitbg'] = substr(sf_filter_title_save(trim($_POST['submitbg'])), 1) : $sfacolours['submitbg'] = '27537A');
  30. if (isset($_POST['submitbgt']) ? $sfacolours['submitbgt'] = substr(sf_filter_title_save(trim($_POST['submitbgt'])), 1) : $sfacolours['submitbgt'] = 'FFFFFF');
  31. if (isset($_POST['bbarbg']) ? $sfacolours['bbarbg'] = substr(sf_filter_title_save(trim($_POST['bbarbg'])), 1) : $sfacolours['bbarbg'] = '0066CC');
  32. if (isset($_POST['bbarbgt']) ? $sfacolours['bbarbgt'] = substr(sf_filter_title_save(trim($_POST['bbarbgt'])), 1) : $sfacolours['bbarbgt'] = 'FFFFFF');
  33. if (isset($_POST['formbg']) ? $sfacolours['formbg'] = substr(sf_filter_title_save(trim($_POST['formbg'])), 1) : $sfacolours['formbg'] = '0066CC');
  34. if (isset($_POST['formbgt']) ? $sfacolours['formbgt'] = substr(sf_filter_title_save(trim($_POST['formbgt'])), 1) : $sfacolours['formbgt'] = 'FFFFFF');
  35. if (isset($_POST['panelbg']) ? $sfacolours['panelbg'] = substr(sf_filter_title_save(trim($_POST['panelbg'])), 1) : $sfacolours['panelbg'] = '78A1FF');
  36. if (isset($_POST['panelbgt']) ? $sfacolours['panelbgt'] = substr(sf_filter_title_save(trim($_POST['panelbgt'])), 1) : $sfacolours['panelbgt'] = '000000');
  37. if (isset($_POST['panelsubbg']) ? $sfacolours['panelsubbg'] = substr(sf_filter_title_save(trim($_POST['panelsubbg'])), 1) : $sfacolours['panelsubbg'] = 'A7C1FF');
  38. if (isset($_POST['panelsubbgt']) ? $sfacolours['panelsubbgt'] = substr(sf_filter_title_save(trim($_POST['panelsubbgt'])), 1) : $sfacolours['panelsubbgt'] = '000000');
  39. if (isset($_POST['formtabhead']) ? $sfacolours['formtabhead'] = substr(sf_filter_title_save(trim($_POST['formtabhead'])), 1) : $sfacolours['formtabhead'] = '464646');
  40. if (isset($_POST['formtabheadt']) ? $sfacolours['formtabheadt'] = substr(sf_filter_title_save(trim($_POST['formtabheadt'])), 1) : $sfacolours['formtabheadt'] = 'D7D7D7');
  41. if (isset($_POST['tabhead']) ? $sfacolours['tabhead'] = substr(sf_filter_title_save(trim($_POST['tabhead'])), 1) : $sfacolours['tabhead'] = '0066CC');
  42. if (isset($_POST['tabheadt']) ? $sfacolours['tabheadt'] = substr(sf_filter_title_save(trim($_POST['tabheadt'])), 1) : $sfacolours['tabheadt'] = 'D7D7D7');
  43. if (isset($_POST['tabrowmain']) ? $sfacolours['tabrowmain'] = substr(sf_filter_title_save(trim($_POST['tabrowmain'])), 1) : $sfacolours['tabrowmain'] = 'EAF3FA');
  44. if (isset($_POST['tabrowmaint']) ? $sfacolours['tabrowmaint'] = substr(sf_filter_title_save(trim($_POST['tabrowmaint'])), 1) : $sfacolours['tabrowmaint'] = '000000');
  45. if (isset($_POST['tabrowsub']) ? $sfacolours['tabrowsub'] = substr(sf_filter_title_save(trim($_POST['tabrowsub'])), 1) : $sfacolours['tabrowsub'] = '78A1FF');
  46. if (isset($_POST['tabrowsubt']) ? $sfacolours['tabrowsubt'] = substr(sf_filter_title_save(trim($_POST['tabrowsubt'])), 1) : $sfacolours['tabrowsubt'] = '000000');
  47. $sfadminoptions['colors'] = $sfacolours;
  48. sf_update_member_item($current_user->ID, 'admin_options', $sfadminoptions);
  49. $mess = __('Your Admin Options Updated (any color option changes take effect on page reload)', "sforum");
  50. return $mess;
  51. }
  52. function sfa_save_admins_restore_colour()
  53. {
  54. global $current_user;
  55. $data = sf_get_member_list($current_user->ID, 'admin_options');
  56. $sfadminoptions = $data['admin_options'];
  57. $sfacolours = array();
  58. $sfacolours['submitbg'] = '27537A';
  59. $sfacolours['submitbgt'] = 'FFFFFF';
  60. $sfacolours['bbarbg'] = '0066CC';
  61. $sfacolours['bbarbgt'] = 'FFFFFF';
  62. $sfacolours['formbg'] = '0066CC';
  63. $sfacolours['formbgt'] = 'FFFFFF';
  64. $sfacolours['panelbg'] = '78A1FF';
  65. $sfacolours['panelbgt'] = '000000';
  66. $sfacolours['panelsubbg'] = 'A7C1FF';
  67. $sfacolours['panelsubbgt'] = '000000';
  68. $sfacolours['formtabhead'] = '464646';
  69. $sfacolours['formtabheadt'] = 'D7D7D7';
  70. $sfacolours['tabhead'] = '0066CC';
  71. $sfacolours['tabheadt'] = 'D7D7D7';
  72. $sfacolours['tabrowmain'] = 'EAF3FA';
  73. $sfacolours['tabrowmaint'] = '000000';
  74. $sfacolours['tabrowsub'] = '78A1FF';
  75. $sfacolours['tabrowsubt'] = '000000';
  76. $sfadminoptions['colors'] = $sfacolours;
  77. sf_update_member_item($current_user->ID, 'admin_options', $sfadminoptions);
  78. return __("Colours will update when Page is Reloaded", "sforum");
  79. }
  80. function sfa_save_admins_global_options_data()
  81. {
  82. global $wpdb;
  83. check_admin_referer('global-admin_options', 'global-admin_options');
  84. # admin settings group
  85. $sfadminsettings='';
  86. if (isset($_POST['sfqueue'])) { $sfadminsettings['sfqueue'] = true; } else { $sfadminsettings['sfqueue'] = false; }
  87. if (isset($_POST['sfmodasadmin'])) { $sfadminsettings['sfmodasadmin'] = true; } else { $sfadminsettings['sfmodasadmin'] = false; }
  88. if (isset($_POST['sfshowmodposts'])) { $sfadminsettings['sfshowmodposts'] = true; } else { $sfadminsettings['sfshowmodposts'] = false; }
  89. if (isset($_POST['sftools'])) { $sfadminsettings['sftools'] = true; } else { $sfadminsettings['sftools'] = false; }
  90. if (isset($_POST['sfbaronly'])) { $sfadminsettings['sfbaronly'] = true; } else { $sfadminsettings['sfbaronly'] = false; }
  91. if (isset($_POST['sfdashboardposts'])) { $sfadminsettings['sfdashboardposts'] = true; } else { $sfadminsettings['sfdashboardposts'] = false; }
  92. if (isset($_POST['sfdashboardstats'])) { $sfadminsettings['sfdashboardstats'] = true; } else { $sfadminsettings['sfdashboardstats'] = false; }
  93. sf_update_option('sfadminsettings', $sfadminsettings);
  94. # do we need to remove the admins queue?
  95. if($sfadminsettings['sfqueue'] == false)
  96. {
  97. $wpdb->query("TRUNCATE TABLE ".SFWAITING);
  98. }
  99. $mess = __('Admin Options Updated', "sforum");
  100. return $mess;
  101. }
  102. function sfa_save_admins_caps_data()
  103. {
  104. global $current_user;
  105. check_admin_referer('forum-adminform_sfupdatecaps', 'forum-adminform_sfupdatecaps');
  106. $users = array_unique($_POST['uids']);
  107. if (isset($_POST['manage-opts'])) { $manage_opts = $_POST['manage-opts']; } else { $manage_opts = ''; }
  108. if (isset($_POST['manage-forums'])) { $manage_forums = $_POST['manage-forums']; } else { $manage_forums = ''; }
  109. if (isset($_POST['manage-ugs'])) { $manage_ugs = $_POST['manage-ugs']; } else { $manage_ugs = ''; }
  110. if (isset($_POST['manage-perms'])) { $manage_perms = $_POST['manage-perms']; } else { $manage_perms = ''; }
  111. if (isset($_POST['manage-comps'])) { $manage_comps = $_POST['manage-comps']; } else { $manage_comps = ''; }
  112. if (isset($_POST['manage-tags'])) { $manage_tags = $_POST['manage-tags']; } else { $manage_tags = ''; }
  113. if (isset($_POST['manage-users'])) { $manage_users = $_POST['manage-users']; } else { $manage_users = ''; }
  114. if (isset($_POST['manage-profiles'])) { $manage_profiles = $_POST['manage-profiles']; } else { $manage_profiles = ''; }
  115. if (isset($_POST['manage-admins'])) { $manage_admins = $_POST['manage-admins']; } else { $manage_admins = ''; }
  116. if (isset($_POST['manage-tools'])) { $manage_tools = $_POST['manage-tools']; } else { $manage_tools = ''; }
  117. if (isset($_POST['manage-config'])) { $manage_config = $_POST['manage-config']; } else { $manage_config = ''; }
  118. if (isset($_POST['old-opts'])) { $old_opts = $_POST['old-opts']; } else { $old_opts = ''; }
  119. if (isset($_POST['old-forums'])) { $old_forums = $_POST['old-forums']; } else { $old_forums = ''; }
  120. if (isset($_POST['old-ugs'])) { $old_ugs = $_POST['old-ugs']; } else { $old_ugs = ''; }
  121. if (isset($_POST['old-perms'])) { $old_perms = $_POST['old-perms']; } else { $old_perms = ''; }
  122. if (isset($_POST['old-comps'])) { $old_comps = $_POST['old-comps']; } else { $old_comps = ''; }
  123. if (isset($_POST['old-tags'])) { $old_tags = $_POST['old-tags']; } else { $old_tags = ''; }
  124. if (isset($_POST['old-users'])) { $old_users = $_POST['old-users']; } else { $old_users = ''; }
  125. if (isset($_POST['old-profiles'])) { $old_profiles = $_POST['old-profiles']; } else { $old_profiles = ''; }
  126. if (isset($_POST['old-admins'])) { $old_admins = $_POST['old-admins']; } else { $old_admins = ''; }
  127. if (isset($_POST['old-tools'])) { $old_tools = $_POST['old-tools']; } else { $old_tools = ''; }
  128. if (isset($_POST['old-config'])) { $old_config = $_POST['old-config']; } else { $old_config = ''; }
  129. $data_changed = false;
  130. for ($index = 0; $index < count($users); $index++)
  131. {
  132. # get user index and sanitize
  133. $uid = intval($users[$index]);
  134. if ((isset($manage_opts[$uid]) != (isset($old_opts[$uid]) && $old_opts[$uid])) ||
  135. (isset($manage_forums[$uid]) != (isset($old_forums[$uid]) && $old_forums[$uid])) ||
  136. (isset($manage_ugs[$uid]) != (isset($old_ugs[$uid]) && $old_ugs[$uid])) ||
  137. (isset($manage_perms[$uid]) != (isset($old_perms[$uid]) && $old_perms[$uid])) ||
  138. (isset($manage_comps[$uid]) != (isset($old_comps[$uid]) && $old_comps[$uid])) ||
  139. (isset($manage_tags[$uid]) != (isset($old_tags[$uid]) && $old_tags[$uid])) ||
  140. (isset($manage_users[$uid]) != (isset($old_users[$uid]) && $old_users[$uid])) ||
  141. (isset($manage_profiles[$uid]) != (isset($old_profiles[$uid]) && $old_profiles[$uid])) ||
  142. (isset($manage_admins[$uid]) != (isset($old_admins[$uid]) && $old_admins[$uid])) ||
  143. (isset($manage_tools[$uid]) != (isset($old_tools[$uid]) && $old_tools[$uid])) ||
  144. (isset($manage_config[$uid]) != (isset($old_config[$uid]) && $old_config[$uid])))
  145. {
  146. # Is user still an admin?
  147. if (!isset($manage_opts[$uid]) &&
  148. !isset($manage_forums[$uid]) &&
  149. !isset($manage_ugs[$uid]) &&
  150. !isset($manage_perms[$uid]) &&
  151. !isset($manage_comps[$uid]) &&
  152. !isset($manage_tags[$uid]) &&
  153. !isset($manage_users[$uid]) &&
  154. !isset($manage_profiles[$uid]) &&
  155. !isset($manage_admins[$uid]) &&
  156. !isset($manage_tools[$uid]) &&
  157. !isset($manage_config[$uid]))
  158. {
  159. sf_update_member_item($uid, 'admin', 0);
  160. }
  161. $data_changed = true;
  162. $user = new WP_User($uid);
  163. if (isset($manage_opts[$uid]))
  164. {
  165. $user->add_cap('SPF Manage Options');
  166. } else {
  167. $user->remove_cap('SPF Manage Options');
  168. }
  169. if (isset($manage_forums[$uid]))
  170. {
  171. $user->add_cap('SPF Manage Forums');
  172. } else {
  173. $user->remove_cap('SPF Manage Forums');
  174. }
  175. if (isset($manage_ugs[$uid]))
  176. {
  177. $user->add_cap('SPF Manage User Groups');
  178. } else {
  179. $user->remove_cap('SPF Manage User Groups');
  180. }
  181. if (isset($manage_perms[$uid]))
  182. {
  183. $user->add_cap('SPF Manage Permissions');
  184. } else {
  185. $user->remove_cap('SPF Manage Permissions');
  186. }
  187. if (isset($manage_comps[$uid]))
  188. {
  189. $user->add_cap('SPF Manage Components');
  190. } else {
  191. $user->remove_cap('SPF Manage Components');
  192. }
  193. if (isset($manage_tags[$uid]))
  194. {
  195. $user->add_cap('SPF Manage Tags');
  196. } else {
  197. $user->remove_cap('SPF Manage Tags');
  198. }
  199. if (isset($manage_users[$uid]))
  200. {
  201. $user->add_cap('SPF Manage Users');
  202. } else {
  203. $user->remove_cap('SPF Manage Users');
  204. }
  205. if (isset($manage_profiles[$uid]))
  206. {
  207. $user->add_cap('SPF Manage Profiles');
  208. } else {
  209. $user->remove_cap('SPF Manage Profiles');
  210. }
  211. if (isset($manage_admins[$uid]))
  212. {
  213. $user->add_cap('SPF Manage Admins');
  214. } else {
  215. $user->remove_cap('SPF Manage Admins');
  216. }
  217. if (isset($manage_tools[$uid]))
  218. {
  219. $user->add_cap('SPF Manage Toolbox');
  220. } else {
  221. $user->remove_cap('SPF Manage Toolbox');
  222. }
  223. if (isset($manage_config[$uid]))
  224. {
  225. $user->add_cap('SPF Manage Configuration');
  226. } else {
  227. $user->remove_cap('SPF Manage Configuration');
  228. }
  229. }
  230. }
  231. if ($data_changed)
  232. {
  233. $mess = __("Admin Capabilities Updated!", "sforum");
  234. } else {
  235. $mess = __("No Data Changed!", "sforum");
  236. }
  237. return $mess;
  238. }
  239. function sfa_save_admins_newadmin_data()
  240. {
  241. global $wpdb;
  242. check_admin_referer('forum-adminform_sfaddadmins', 'forum-adminform_sfaddadmins');
  243. if (isset($_POST['newadmins']))
  244. {
  245. $newadmins = array_unique($_POST['newadmins']);
  246. } else {
  247. $mess = __("No Users Selected!", "sforum");
  248. return $mess;
  249. }
  250. if (isset($_POST['add-opts'])) { $opts = $_POST['add-opts']; } else { $opts = ''; }
  251. if (isset($_POST['add-forums'])) { $forums = $_POST['add-forums']; } else { $forums = ''; }
  252. if (isset($_POST['add-ugs'])) { $ugs = $_POST['add-ugs']; } else { $ugs = ''; }
  253. if (isset($_POST['add-perms'])) { $perms = $_POST['add-perms']; } else { $perms = ''; }
  254. if (isset($_POST['add-comps'])) { $comps = $_POST['add-comps']; } else { $comps = ''; }
  255. if (isset($_POST['add-tags'])) { $tags = $_POST['add-tags']; } else { $tags = ''; }
  256. if (isset($_POST['add-users'])) { $users = $_POST['add-users']; } else { $users = ''; }
  257. if (isset($_POST['add-profiles'])) { $profiles = $_POST['add-profiles']; } else { $profiles = ''; }
  258. if (isset($_POST['add-admins'])) { $admins = $_POST['add-admins']; } else { $admins = ''; }
  259. if (isset($_POST['add-tools'])) { $tools = $_POST['add-tools']; } else { $tools = ''; }
  260. if (isset($_POST['add-config'])) { $config = $_POST['add-config']; } else { $config = ''; }
  261. $added = false;
  262. for ($index = 0; $index < count($newadmins); $index++)
  263. {
  264. # get user index and sanitize
  265. $uid = intval($newadmins[$index]);
  266. $user = new WP_User(sf_esc_int($uid));
  267. if ($opts == 'on')
  268. {
  269. $user->add_cap('SPF Manage Options');
  270. }
  271. if ($forums == 'on')
  272. {
  273. $user->add_cap('SPF Manage Forums');
  274. }
  275. if ($ugs == 'on')
  276. {
  277. $user->add_cap('SPF Manage User Groups');
  278. }
  279. if ($perms == 'on')
  280. {
  281. $user->add_cap('SPF Manage Permissions');
  282. }
  283. if ($comps == 'on')
  284. {
  285. $user->add_cap('SPF Manage Components');
  286. }
  287. if ($tags == 'on')
  288. {
  289. $user->add_cap('SPF Manage Tags');
  290. }
  291. if ($users == 'on')
  292. {
  293. $user->add_cap('SPF Manage Users');
  294. }
  295. if ($profiles == 'on')
  296. {
  297. $user->add_cap('SPF Manage Profiles');
  298. }
  299. if ($admins == 'on')
  300. {
  301. $user->add_cap('SPF Manage Admins');
  302. }
  303. if ($tools == 'on')
  304. {
  305. $user->add_cap('SPF Manage Toolbox');
  306. }
  307. if ($config == 'on')
  308. {
  309. $user->add_cap('SPF Manage Configuration');
  310. }
  311. if ($opts == 'on' || $forums == 'on' || $ugs == 'on' || $perms == 'on' || $comps == 'on' || $tags == 'on' || $users == 'on'|| $profiles == 'on'|| $admins == 'on' || $tools == 'on' || $config == 'on')
  312. {
  313. $added = true;
  314. # flag as admin with PM permission and remove moderator flag
  315. sf_update_member_item($uid, 'admin', 1);
  316. sf_update_member_item($uid, 'moderator', 0);
  317. sf_update_member_item($uid, 'pm', 1);
  318. # admin default options
  319. $sfadminoptions = array();
  320. $sfadminoptions['sfadminbar'] = false;
  321. $sfadminoptions['sfbarfix'] = false;
  322. $sfadminoptions['sfnotify'] = false;
  323. $sfadminoptions['sfshownewadmin'] = false;
  324. $sfadminoptions['sfstatusmsgtext'] = '';
  325. $sfadminoptions['colors']['submitbg'] = '27537A';
  326. $sfadminoptions['colors']['submitbgt'] = 'FFFFFF';
  327. $sfadminoptions['colors']['bbarbg'] = '0066CC';
  328. $sfadminoptions['colors']['bbarbgt'] = 'FFFFFF';
  329. $sfadminoptions['colors']['formbg'] = '0066CC';
  330. $sfadminoptions['colors']['formbgt'] = 'FFFFFF';
  331. $sfadminoptions['colors']['panelbg'] = '78A1FF';
  332. $sfadminoptions['colors']['panelbgt'] = '000000';
  333. $sfadminoptions['colors']['panelsubbg'] = 'A7C1FF';
  334. $sfadminoptions['colors']['panelsubbgt'] = '000000';
  335. $sfadminoptions['colors']['formtabhead'] = '464646';
  336. $sfadminoptions['colors']['formtabheadt'] = 'D7D7D7';
  337. $sfadminoptions['colors']['tabhead'] = '0066CC';
  338. $sfadminoptions['colors']['tabheadt'] = 'D7D7D7';
  339. $sfadminoptions['colors']['tabrowmain'] = 'EAF3FA';
  340. $sfadminoptions['colors']['tabrowmaint'] = '000000';
  341. $sfadminoptions['colors']['tabrowsub'] = '78A1FF';
  342. $sfadminoptions['colors']['tabrowsubt'] = '000000';
  343. sf_update_member_item($uid, 'admin_options', $sfadminoptions);
  344. # remove any usergroup permissions
  345. $wpdb->query("DELETE FROM ".SFMEMBERSHIPS." WHERE user_id=".$uid);
  346. }
  347. }
  348. if ($added)
  349. {
  350. $mess = __("New Admins Added!", "sforum");
  351. } else {
  352. $mess = __("No Data Changed!", "sforum");
  353. }
  354. return $mess;
  355. }
  356. ?>