Esempio n. 1
0
function bebop_extension_admin_update_settings()
{
    if (!empty($_GET['page'])) {
        $current_page = $_GET['page'];
        if (!empty($_GET['provider'])) {
            if ($current_page == 'bebop_providers') {
                $extension = bebop_extensions::bebop_get_extension_config_by_name(strtolower($_GET['provider']));
                if (isset($_POST['submit'])) {
                    check_admin_referer('bebop_' . $extension['name'] . '_admin_settings');
                    $success = true;
                    if (isset($_POST['bebop_' . $extension['name'] . '_consumer_key'])) {
                        bebop_tables::update_option('bebop_' . $extension['name'] . '_consumer_key', trim($_POST['bebop_' . $extension['name'] . '_consumer_key']));
                    }
                    if (isset($_POST['bebop_' . $extension['name'] . '_consumer_secret'])) {
                        bebop_tables::update_option('bebop_' . $extension['name'] . '_consumer_secret', trim($_POST['bebop_' . $extension['name'] . '_consumer_secret']));
                    }
                    if (isset($_POST['bebop_' . $extension['name'] . '_content_user_verification'])) {
                        bebop_tables::update_option('bebop_' . $extension['name'] . '_content_user_verification', trim(strip_tags(strtolower($_POST['bebop_' . $extension['name'] . '_content_user_verification']))));
                    }
                    if (isset($_POST['bebop_' . $extension['name'] . '_hide_sitewide'])) {
                        bebop_tables::update_option('bebop_' . $extension['name'] . '_hide_sitewide', trim(strip_tags(strtolower($_POST['bebop_' . $extension['name'] . '_hide_sitewide']))));
                    }
                    if (isset($_POST['bebop_' . $extension['name'] . '_maximport'])) {
                        if (empty($_POST['bebop_' . $extension['name'] . '_maximport']) || is_numeric($_POST['bebop_' . $extension['name'] . '_maximport'])) {
                            bebop_tables::update_option('bebop_' . $extension['name'] . '_maximport', trim($_POST['bebop_' . $extension['name'] . '_maximport']));
                        } else {
                            $success = __('"Imports per day" must be a number (or blank).', 'bebop');
                        }
                    }
                    /*rss stuff, dont touch */
                    if (isset($_POST['bebop_' . $extension['name'] . '_rss_feed'])) {
                        if (bebop_tables::get_option_value('bebop_' . $extension['name'] . '_provider') == 'on') {
                            bebop_tables::update_option('bebop_' . $extension['name'] . '_rss_feed', trim($_POST['bebop_' . $extension['name'] . '_rss_feed']));
                        } else {
                            $success = __('RSS feeds cannot be enabled while the extension is inactive.', 'bebop');
                        }
                    } else {
                        bebop_tables::update_option('bebop_' . $extension['name'] . '_rss_feed', '');
                    }
                    //Extension authors: use this hook to add your own admin data saves.
                    do_action('bebop_admin_settings_pre_save', $extension, $success);
                    $_SESSION['bebop_admin_notice'] = $success;
                    wp_safe_redirect(wp_get_referer());
                }
                /*
                 * Mechanics to remove a user from your extension is already provided - you do not need to modify this.
                 */
                if (isset($_GET['reset_user_id'])) {
                    $user_id = trim($_GET['reset_user_id']);
                    bebop_tables::remove_user_from_provider($user_id, $extension['name']);
                    $success = __('User has been removed', 'bebop');
                    $_SESSION['bebop_admin_notice'] = $success;
                    wp_safe_redirect(wp_get_referer());
                    exit;
                }
            }
            // End if ( $current_page == 'bebop_providers' ) {
        }
        //End if ( ! empty( $_GET['provider'] ) ) {
    }
    //End if ( ! empty( $_GET['page']) ) {
}