function spa_save_messages_data() { check_admin_referer('forum-adminform_messages', 'forum-adminform_messages'); # custom message for editor $sfpostmsg = array(); $sfpostmsg['sfpostmsgtext'] = sp_filter_text_save(trim($_POST['sfpostmsgtext'])); $sfpostmsg['sfpostmsgtopic'] = isset($_POST['sfpostmsgtopic']); $sfpostmsg['sfpostmsgpost'] = isset($_POST['sfpostmsgpost']); sp_update_option('sfpostmsg', $sfpostmsg); sp_update_option('sfeditormsg', sp_filter_text_save(trim($_POST['sfeditormsg']))); # if set update, otherwise its empty, so remove if ($_POST['sfsneakpeek'] != '') { sp_add_sfmeta('sneakpeek', 'message', sp_filter_text_save(trim($_POST['sfsneakpeek']))); } else { $msg = sp_get_sfmeta('sneakpeek', 'message'); if (!empty($msg)) { sp_delete_sfmeta($msg[0]['meta_id']); } } $sflogin = array(); $sflogin = sp_get_option('sflogin'); $sflogin['sfsneakredirect'] = sp_filter_save_cleanurl($_POST['sfsneakredirect']); sp_update_option('sflogin', $sflogin); # if set update, otherwise its empty, so remove if ($_POST['sfadminview'] != '') { sp_add_sfmeta('adminview', 'message', sp_filter_text_save(trim($_POST['sfadminview']))); } else { $msg = sp_get_sfmeta('adminview', 'message'); if (!empty($msg)) { sp_delete_sfmeta($msg[0]['meta_id']); } } # if set update, otherwise its empty, so remove if ($_POST['sfuserview'] != '') { sp_add_sfmeta('userview', 'message', sp_filter_text_save(trim($_POST['sfuserview']))); } else { $msg = sp_get_sfmeta('userview', 'message'); if (!empty($msg)) { sp_delete_sfmeta($msg[0]['meta_id']); } } do_action('sph_component_messages_save'); $mess = spa_text('Custom messages updated'); return $mess; }
function spa_save_content_data() { check_admin_referer('forum-adminform_content', 'forum-adminform_content'); $mess = spa_text('Options updated'); # Save Image resizing $sfimage = array(); $sfimage = sp_get_option('sfimage'); $sfimage['enlarge'] = isset($_POST['sfimgenlarge']); $sfimage['process'] = isset($_POST['process']); $sfimage['constrain'] = isset($_POST['constrain']); $sfimage['forceclear'] = isset($_POST['forceclear']); $thumb = sp_esc_int($_POST['sfthumbsize']); if ($thumb < 100) { $thumb = 100; $mess .= '<br />* ' . spa_text('Image thumbsize reset to minimum 100px'); } $sfimage['thumbsize'] = $thumb; $sfimage['style'] = sp_esc_str($_POST['style']); sp_update_option('sfimage', $sfimage); sp_update_option('sfdates', sp_filter_title_save(trim($_POST['sfdates']))); sp_update_option('sftimes', sp_filter_title_save(trim($_POST['sftimes']))); # link filters $sffilters = array(); $sffilters['sfnofollow'] = isset($_POST['sfnofollow']); $sffilters['sftarget'] = isset($_POST['sftarget']); $sffilters['sffilterpre'] = isset($_POST['sffilterpre']); $sffilters['sfdupemember'] = isset($_POST['sfdupemember']); $sffilters['sfdupeguest'] = isset($_POST['sfdupeguest']); $sffilters['sfurlchars'] = sp_esc_int($_POST['sfurlchars']); $sffilters['sfmaxlinks'] = sp_esc_int($_POST['sfmaxlinks']); if (empty($sffilters['sfmaxlinks'])) { $sffilters['sfmaxlinks'] = 0; } $sffilters['sfmaxsmileys'] = sp_esc_int($_POST['sfmaxsmileys']); if (empty($sffilters['sfmaxsmileys'])) { $sffilters['sfmaxsmileys'] = 0; } $sffilters['sfnolinksmsg'] = sp_filter_text_save(trim($_POST['sfnolinksmsg'])); sp_update_option('sffilters', $sffilters); spa_update_check_option('sffiltershortcodes'); sp_update_option('sfshortcodes', sp_filter_text_save(trim($_POST['sfshortcodes']))); do_action('sph_option_content_save'); return $mess; }
function spa_save_options_data() { check_admin_referer('forum-adminform_options', 'forum-adminform_options'); $mess = spa_text('Profile options updated'); $sfprofile = sp_get_option('sfprofile'); $old_sfprofile = $sfprofile; $sfprofile['nameformat'] = isset($_POST['nameformat']); $sfprofile['fixeddisplayformat'] = sp_esc_int($_POST['fixeddisplayformat']); $sfprofile['displaymode'] = sp_esc_int($_POST['displaymode']); $sfprofile['displaypage'] = sp_filter_save_cleanurl($_POST['displaypage']); $sfprofile['displayquery'] = sp_filter_title_save(trim($_POST['displayquery'])); $sfprofile['formmode'] = sp_esc_int($_POST['formmode']); $sfprofile['formpage'] = sp_filter_save_cleanurl($_POST['formpage']); $sfprofile['formquery'] = sp_filter_title_save(trim($_POST['formquery'])); $sfprofile['photosmax'] = sp_esc_int($_POST['photosmax']); $sfprofile['photoswidth'] = sp_esc_int($_POST['photoswidth']); $sfprofile['photosheight'] = sp_esc_int($_POST['photosheight']); if ($sfprofile['photosmax'] && $sfprofile['photoswidth'] == 0) { $sfprofile['photoswidth'] = 300; } $sfsigimagesize = array(); $sfsigimagesize['sfsigwidth'] = sp_esc_int($_POST['sfsigwidth']); $sfsigimagesize['sfsigheight'] = sp_esc_int($_POST['sfsigheight']); sp_update_option('sfsigimagesize', $sfsigimagesize); $sfprofile['firstvisit'] = isset($_POST['firstvisit']); $sfprofile['forcepw'] = isset($_POST['forcepw']); $sfprofile['sfprofiletext'] = sp_filter_text_save(trim($_POST['sfprofiletext'])); sp_update_option('sfprofile', $sfprofile); # if changed force pw from true to false, remove any users waiting for pw change if ($old_sfprofile['forcepw'] && !$sfprofile['forcepw']) { delete_metadata('user', 0, 'sp_change_pw', '', true); } # If the name format changes from dynamic to fixed, we need to update # the display_name field for all users based on the selection from the dropdown # If there is a conflict between display names, a numeric value will be added to the # end of the display name to make them unique. # ---------------------------------------------------------------------------------- if ($old_sfprofile['nameformat'] != $sfprofile['nameformat'] && empty($sfprofile['nameformat']) || $old_sfprofile['fixeddisplayformat'] != $sfprofile['fixeddisplayformat'] && empty($sfprofile['nameformat'])) { # The display format determines the WHERE clause and the tables to join. # ---------------------------------------------------------------------- $fields = ''; $user_join = SFUSERS . ' ON ' . SFMEMBERS . '.user_id = ' . SFUSERS . '.ID'; $first_name_join = SFUSERMETA . ' a ON (' . SFUSERS . '.ID = a.user_id AND a.meta_key = \'first_name\')'; $last_name_join = SFUSERMETA . ' b ON (' . SFUSERS . '.ID = b.user_id AND b.meta_key = \'last_name\')'; # Determine how many passes its going to take to update all users in the system # based on 100 users per pass. # ----------------------------------------------------------------------------- $num_records = spdb_count(SFMEMBERS, ''); $passes = ceil($num_records / 100); $dupes = array(); for ($i = 0; $i <= $passes; $i++) { $limit = 100; $offset = $i * $limit; $fields = SFMEMBERS . '.user_id, ' . SFUSERS . '.user_login, ' . SFUSERS . '.display_name, a.meta_value as first_name, b.meta_value as last_name'; $join = array($user_join, $first_name_join, $last_name_join); $spdb = new spdbComplex(); $spdb->table = SFMEMBERS; $spdb->fields = $fields; $spdb->left_join = $join; $spdb->limits = $limit . ' OFFSET ' . $offset; $spdb->order = SFMEMBERS . '.user_id'; $spdb = apply_filters('sph_fixeddisplayformat_query', $spdb); $records = $spdb->select(); foreach ($records as $r) { switch ($sfprofile['fixeddisplayformat']) { default: case '0': $display_name = $r->display_name; break; case '1': $display_name = $r->user_login; break; case '2': $display_name = $r->first_name; break; case '3': $display_name = $r->last_name; break; case '4': $display_name = $r->first_name . ' ' . $r->last_name; break; case '5': $display_name = $r->last_name . ', ' . $r->first_name; break; case '6': $display_name = $r->first_name[0] . ' ' . $r->last_name; break; case '7': $display_name = $r->first_name . ' ' . $r->last_name[0]; break; case '8': $display_name = $r->first_name[0] . $r->last_name[0]; break; } # If the display name is empty for any reason, default to the user login name $display_name = trim($display_name); if (empty($display_name)) { $display_name = $r->user_login; } # Check to see if there are any matching users with this display name. If so # assign a random number to the end to eliminate the duplicate # ---------------------------------------------------------------------------- $conflict = spdb_count(SFMEMBERS, 'display_name = "' . $display_name . '" AND user_id <> ' . $r->user_id); if ($conflict > 0) { if (array_key_exists($display_name, $dupes)) { $dupes[$display_name]++; } else { $dupes[$display_name] = 1; } $display_name = $display_name . $dupes[$display_name]; } # Now Update the member record # ---------------------------- $display_name = sp_filter_name_save($display_name); $query = 'UPDATE ' . SFMEMBERS . ' SET display_name = "' . $display_name . '" WHERE user_id = ' . $r->user_id; $result = spdb_query($query); } } # update the recent members in stats too sp_update_recent_members(); } do_action('sph_profiles_options_save'); return $mess; }
function spa_save_forums_edit_group() { check_admin_referer('forum-adminform_groupedit', 'forum-adminform_groupedit'); $groupdata = array(); $group_id = sp_esc_int($_POST['group_id']); $groupdata['group_name'] = sp_filter_title_save(trim($_POST['group_name'])); $groupdata['group_desc'] = sp_filter_text_save(trim($_POST['group_desc'])); $groupdata['group_message'] = sp_filter_text_save(trim($_POST['group_message'])); $ug_list = array_unique($_POST['usergroup_id']); $perm_list = $_POST['role']; if (!empty($_POST['group_icon'])) { # Check new icon exists $groupdata['group_icon'] = sp_filter_title_save(trim($_POST['group_icon'])); $path = SFCUSTOMDIR . $groupdata['group_icon']; if (!file_exists($path)) { $mess = sprintf(spa_text('Custom icon %s does not exist'), $groupdata['group_icon']); return $mess; } } else { $groupdata['group_icon'] = null; } if (isset($_POST['group_rss'])) { $groupdata['group_rss'] = sp_filter_save_cleanurl($_POST['group_rss']); } else { $groupdata['group_rss'] = sp_filter_save_cleanurl($_POST['cgroup_rss']); } # save the default permissions for the group for ($x = 0; $x < count($ug_list); $x++) { $ug = sp_esc_int($ug_list[$x]); $perm = sp_esc_int($perm_list[$x]); if (spa_get_defpermissions_role($group_id, $ug)) { $sql = 'UPDATE ' . SFDEFPERMISSIONS . "\n\t\t\t\t\tSET permission_role={$perm}\n\t\t\t\t\tWHERE group_id={$group_id} AND usergroup_id={$ug}"; spdb_query($sql); } else { if ($perm != -1) { spa_add_defpermission_row($group_id, $ug, $perm); } } } if ($groupdata['group_name'] == $_POST['cgroup_name'] && $groupdata['group_desc'] == $_POST['cgroup_desc'] && $groupdata['group_rss'] == $_POST['cgroup_rss'] && $groupdata['group_message'] == $_POST['cgroup_message'] && $groupdata['group_icon'] == $_POST['cgroup_icon']) { $mess = spa_text('No data changed'); } else { $sql = 'UPDATE ' . SFGROUPS . ' SET '; $sql .= 'group_name="' . $groupdata['group_name'] . '", '; $sql .= 'group_desc="' . $groupdata['group_desc'] . '", '; $sql .= 'group_icon="' . $groupdata['group_icon'] . '", '; $sql .= 'group_rss="' . $groupdata['group_rss'] . '", '; $sql .= 'group_message="' . $groupdata['group_message'] . '" '; $sql .= "WHERE group_id={$group_id}"; $success = spdb_query($sql); if ($success == false) { $mess = spa_text('Group record update failed'); do_action('sph_forum_group_edit', $group_id); } else { $mess = spa_text('Forum group record updated'); } } # clear out group cache tpo enable change_user sp_flush_cache('group'); return $mess; }
function sp_ttags_admin_options_save($ops) { $ops['offline_message'] = sp_filter_text_save(trim($_POST['offline_message'])); return $ops; }