Exemple #1
0
    /**
     * Create reCAPTCHA form.
     *
     * @since  2.6.0
     *
     * @param  array  $arr
     * @return string $str
     */
    function wpmem_inc_recaptcha($arr)
    {
        // Determine if reCAPTCHA should be another language.
        $allowed_langs = array('nl', 'fr', 'de', 'pt', 'ru', 'es', 'tr');
        $locale = apply_filters('plugin_locale', get_locale(), 'wp-members');
        $compare_lang = strtolower(substr($locale, -2));
        $use_the_lang = in_array($compare_lang, $allowed_langs) ? $compare_lang : false;
        $lang = $use_the_lang ? ' lang : \'' . $use_the_lang . '\'' : '';
        // Determine if we need ssl.
        $http = wpmem_use_ssl();
        global $wpmem;
        if ($wpmem->captcha == 1) {
            $str = '<script type="text/javascript">
			var RecaptchaOptions = { theme : \'' . $arr['theme'] . '\'' . $lang . ' };
		</script>
		<script type="text/javascript" src="' . $http . 'www.google.com/recaptcha/api/challenge?k=' . $arr['public'] . '"></script>
		<noscript>
			<iframe src="' . $http . 'www.google.com/recaptcha/api/noscript?k=' . $arr['public'] . '" height="300" width="500" frameborder="0"></iframe><br/>
			<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
			<input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
		</noscript>';
        } elseif ($wpmem->captcha == 3) {
            $str = '<script src="https://www.google.com/recaptcha/api.js" async defer></script>
		<div class="g-recaptcha" data-sitekey="' . $arr['public'] . '"></div>';
        }
        /**
         * Filter the reCAPTCHA HTML.
         *
         * @since 2.7.4
         *
         * @param string $str A string of HTML for the reCAPTCHA.
         */
        $str = apply_filters('wpmem_recaptcha', $str);
        return $str;
    }
Exemple #2
0
/**
 * Updates the plugin options.
 *
 * @since 2.8.0
 *
 * @return string The options updated message.
 */
function wpmem_update_options()
{
    // Check nonce.
    check_admin_referer('wpmem-update-settings');
    $wpmem_settings_msurl = $_POST['wpmem_settings_mspage'] == 'use_custom' ? $_POST['wpmem_settings_msurl'] : '';
    $wpmem_settings_mspage = $_POST['wpmem_settings_mspage'] == 'use_custom' ? '' : $_POST['wpmem_settings_mspage'];
    if ($wpmem_settings_msurl != wpmem_use_ssl() && $wpmem_settings_msurl != 'use_custom' && !$wpmem_settings_mspage) {
        $msurl = trim($wpmem_settings_msurl);
    } else {
        $msurl = $wpmem_settings_mspage;
    }
    $wpmem_settings_regurl = $_POST['wpmem_settings_regpage'] == 'use_custom' ? $_POST['wpmem_settings_regurl'] : '';
    $wpmem_settings_regpage = $_POST['wpmem_settings_regpage'] == 'use_custom' ? '' : $_POST['wpmem_settings_regpage'];
    if ($wpmem_settings_regurl != wpmem_use_ssl() && $wpmem_settings_regurl != 'use_custom' && !$wpmem_settings_regpage) {
        $regurl = trim($wpmem_settings_regurl);
    } else {
        $regurl = $wpmem_settings_regpage;
    }
    $wpmem_settings_logurl = $_POST['wpmem_settings_logpage'] == 'use_custom' ? $_POST['wpmem_settings_logurl'] : '';
    $wpmem_settings_logpage = $_POST['wpmem_settings_logpage'] == 'use_custom' ? '' : $_POST['wpmem_settings_logpage'];
    if ($wpmem_settings_logurl != wpmem_use_ssl() && $wpmem_settings_logurl != 'use_custom' && !$wpmem_settings_logpage) {
        $logurl = trim($wpmem_settings_logurl);
    } else {
        $logurl = $wpmem_settings_logpage;
    }
    $wpmem_settings_cssurl = $_POST['wpmem_settings_cssurl'];
    $cssurl = $wpmem_settings_cssurl != wpmem_use_ssl() ? trim($wpmem_settings_cssurl) : '';
    $wpmem_settings_style = isset($_POST['wpmem_settings_style']) ? $_POST['wpmem_settings_style'] : false;
    $wpmem_autoex = array('auto_ex' => isset($_POST['wpmem_autoex']) ? $_POST['wpmem_autoex'] : 0, 'auto_ex_len' => isset($_POST['wpmem_autoex_len']) ? $_POST['wpmem_autoex_len'] : '');
    $wpmem_newsettings = array('version' => WPMEM_VERSION, 'notify' => isset($_POST['wpmem_settings_notify']) ? $_POST['wpmem_settings_notify'] : 0, 'mod_reg' => isset($_POST['wpmem_settings_moderate']) ? $_POST['wpmem_settings_moderate'] : 0, 'captcha' => isset($_POST['wpmem_settings_captcha']) ? $_POST['wpmem_settings_captcha'] : 0, 'use_exp' => isset($_POST['wpmem_settings_time_exp']) ? $_POST['wpmem_settings_time_exp'] : 0, 'use_trial' => isset($_POST['wpmem_settings_trial']) ? $_POST['wpmem_settings_trial'] : 0, 'warnings' => isset($_POST['wpmem_settings_ignore_warnings']) ? $_POST['wpmem_settings_ignore_warnings'] : 0, 'user_pages' => array('profile' => $msurl ? $msurl : '', 'register' => $regurl ? $regurl : '', 'login' => $logurl ? $logurl : ''), 'cssurl' => $cssurl ? $cssurl : '', 'style' => $wpmem_settings_style, 'autoex' => $wpmem_autoex, 'attrib' => isset($_POST['attribution']) ? $_POST['attribution'] : 0);
    // Build an array of post types
    $post_types = get_post_types(array('public' => true, '_builtin' => false), 'names', 'and');
    $post_arr = array('post', 'page');
    if ($post_types) {
        foreach ($post_types as $post_type) {
            $cpt_obj = get_post_type_object($post_type);
            $post_arr[] = $cpt_obj->name;
        }
    }
    // Get settings for blocking, excerpts, show login, and show registration for posts, pages, and custom post types.
    $option_group_array = array('block', 'show_excerpt', 'show_login', 'show_reg');
    foreach ($option_group_array as $option_group_item) {
        $arr = array();
        foreach ($post_arr as $post_type) {
            $post_var = 'wpmem_' . $option_group_item . '_' . $post_type;
            $arr[$post_type] = isset($_POST[$post_var]) ? $_POST[$post_var] : 0;
        }
        $wpmem_newsettings[$option_group_item] = $arr;
    }
    /*
     * If we are setting registration to be moderated, 
     * check to see if the current admin has been 
     * activated so they don't accidentally lock themselves
     * out later.
     */
    if (isset($_POST['wpmem_settings_moderate']) == 1) {
        global $current_user;
        get_currentuserinfo();
        $user_ID = $current_user->ID;
        update_user_meta($user_ID, 'active', 1);
    }
    update_option('wpmembers_settings', $wpmem_newsettings);
    global $wpmem;
    foreach ($wpmem_newsettings as $key => $val) {
        $wpmem->{$key} = $val;
    }
    return __('WP-Members settings were updated', 'wp-members');
}
Exemple #3
0
/**
 * Updates the plugin options.
 *
 * @since 2.8.0
 *
 * @global object $wpmem The WP_Members object.
 * @return string        The options updated message.
 */
function wpmem_update_options()
{
    global $wpmem;
    // Check nonce.
    check_admin_referer('wpmem-update-settings');
    $wpmem_settings_msurl = $_POST['wpmem_settings_mspage'] == 'use_custom' ? $_POST['wpmem_settings_msurl'] : '';
    $wpmem_settings_mspage = $_POST['wpmem_settings_mspage'] == 'use_custom' ? '' : $_POST['wpmem_settings_mspage'];
    if ($wpmem_settings_msurl != wpmem_use_ssl() && $wpmem_settings_msurl != 'use_custom' && !$wpmem_settings_mspage) {
        $msurl = trim($wpmem_settings_msurl);
    } else {
        $msurl = $wpmem_settings_mspage;
    }
    $wpmem_settings_regurl = $_POST['wpmem_settings_regpage'] == 'use_custom' ? $_POST['wpmem_settings_regurl'] : '';
    $wpmem_settings_regpage = $_POST['wpmem_settings_regpage'] == 'use_custom' ? '' : $_POST['wpmem_settings_regpage'];
    if ($wpmem_settings_regurl != wpmem_use_ssl() && $wpmem_settings_regurl != 'use_custom' && !$wpmem_settings_regpage) {
        $regurl = trim($wpmem_settings_regurl);
    } else {
        $regurl = $wpmem_settings_regpage;
    }
    $wpmem_settings_logurl = $_POST['wpmem_settings_logpage'] == 'use_custom' ? $_POST['wpmem_settings_logurl'] : '';
    $wpmem_settings_logpage = $_POST['wpmem_settings_logpage'] == 'use_custom' ? '' : $_POST['wpmem_settings_logpage'];
    if ($wpmem_settings_logurl != wpmem_use_ssl() && $wpmem_settings_logurl != 'use_custom' && !$wpmem_settings_logpage) {
        $logurl = trim($wpmem_settings_logurl);
    } else {
        $logurl = $wpmem_settings_logpage;
    }
    $wpmem_settings_cssurl = $_POST['wpmem_settings_cssurl'];
    $cssurl = $wpmem_settings_cssurl != wpmem_use_ssl() ? trim($wpmem_settings_cssurl) : '';
    $wpmem_settings_style = isset($_POST['wpmem_settings_style']) ? $_POST['wpmem_settings_style'] : false;
    $wpmem_newsettings = array('version' => WPMEM_VERSION, 'notify' => wpmem_get('wpmem_settings_notify', 0), 'mod_reg' => wpmem_get('wpmem_settings_moderate', 0), 'captcha' => wpmem_get('wpmem_settings_captcha', 0), 'use_exp' => wpmem_get('wpmem_settings_time_exp', 0), 'use_trial' => wpmem_get('wpmem_settings_trial', 0), 'warnings' => wpmem_get('wpmem_settings_ignore_warnings', 0), 'user_pages' => array('profile' => $msurl ? $msurl : '', 'register' => $regurl ? $regurl : '', 'login' => $logurl ? $logurl : ''), 'cssurl' => $cssurl ? $cssurl : '', 'style' => $wpmem_settings_style, 'attrib' => wpmem_get('attribution', 0));
    // Build an array of post types
    $post_arr = array('post', 'page');
    if (isset($wpmem->post_types)) {
        $wpmem_newsettings['post_types'] = $wpmem->post_types;
        foreach ($wpmem_newsettings['post_types'] as $key => $val) {
            $post_arr[] = $key;
        }
    }
    // Leave form tag settings alone.
    if (isset($wpmem->form_tags)) {
        $wpmem_newsettings['form_tags'] = $wpmem->form_tags;
    }
    // Leave email settings alone.
    if (isset($wpmem->email)) {
        $wpmem_newsettings['email'] = $wpmem->email;
    }
    // Get settings for blocking, excerpts, show login, and show registration for posts, pages, and custom post types.
    $option_group_array = array('block', 'show_excerpt', 'show_login', 'show_reg', 'autoex');
    foreach ($option_group_array as $option_group_item) {
        $arr = array();
        foreach ($post_arr as $post_type) {
            $post_var = 'wpmem_' . $option_group_item . '_' . $post_type;
            if ($option_group_item == 'autoex') {
                // Auto excerpt is an array.
                $arr[$post_type]['enabled'] = isset($_POST[$post_var]) ? $_POST[$post_var] : 0;
                $arr[$post_type]['length'] = isset($_POST[$post_var]) ? $_POST[$post_var . '_len'] == '' ? 0 : $_POST[$post_var . '_len'] : '';
            } else {
                // All other settings are 0|1.
                $arr[$post_type] = isset($_POST[$post_var]) ? $_POST[$post_var] : 0;
            }
        }
        $wpmem_newsettings[$option_group_item] = $arr;
    }
    /*
     * If we are setting registration to be moderated, 
     * check to see if the current admin has been 
     * activated so they don't accidentally lock themselves
     * out later.
     */
    if (isset($_POST['wpmem_settings_moderate']) == 1) {
        global $current_user;
        wp_get_current_user();
        $user_ID = $current_user->ID;
        update_user_meta($user_ID, 'active', 1);
    }
    wpmem_admin_new_settings($wpmem_newsettings);
    return __('WP-Members settings were updated', 'wp-members');
}
Exemple #4
0
    /**
     * Create reCAPTCHA form
     *
     * @since  2.6.0
     *
     * @param  array  $arr
     * @return string $str
     */
    function wpmem_inc_recaptcha($arr)
    {
        // determine if reCAPTCHA should be another language
        $allowed_langs = array('nl', 'fr', 'de', 'pt', 'ru', 'es', 'tr');
        $compare_lang = strtolower(substr(WPLANG, -2));
        $use_the_lang = in_array($compare_lang, $allowed_langs) ? $compare_lang : false;
        $lang = $use_the_lang ? ' lang : \'' . $use_the_lang . '\'' : '';
        // determine if we need ssl
        $http = wpmem_use_ssl();
        $str = '<script type="text/javascript">
			var RecaptchaOptions = { theme : \'' . $arr['theme'] . '\'' . $lang . ' };
		</script>
		<script type="text/javascript" src="' . $http . 'www.google.com/recaptcha/api/challenge?k=' . $arr['public'] . '"></script>
		<noscript>
			<iframe src="' . $http . 'www.google.com/recaptcha/api/noscript?k=' . $arr['public'] . '" height="300" width="500" frameborder="0"></iframe><br/>
			<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
			<input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
		</noscript>';
        /**
         * Filter the reCAPTCHA HTML.
         *
         * @since 2.7.4
         *
         * @param string $str A string of HTML for the reCAPTCHA.
         */
        $str = apply_filters('wpmem_recaptcha', $str);
        return $str;
    }
/**
 * Updates the plugin options
 *
 * @since 2.8.0
 *
 * @return string The options updated message
 */
function wpmem_update_options()
{
    //check nonce
    check_admin_referer('wpmem-update-settings');
    //keep things clean
    $post_arr = array('WPMEM_VERSION', 'wpmem_settings_block_posts', 'wpmem_settings_block_pages', 'wpmem_settings_show_excerpts', 'wpmem_settings_notify', 'wpmem_settings_moderate', 'wpmem_settings_captcha', 'wpmem_settings_turnoff', 'wpmem_settings_legacy', 'wpmem_settings_time_exp', 'wpmem_settings_trial', 'wpmem_settings_ignore_warnings');
    $wpmem_newsettings = array();
    for ($row = 0; $row < count($post_arr); $row++) {
        if ($post_arr[$row] == 'WPMEM_VERSION') {
            $wpmem_newsettings[$row] = 'WPMEM_VERSION';
        } else {
            if (isset($_POST[$post_arr[$row]]) != 1) {
                $wpmem_newsettings[$row] = 0;
            } else {
                $wpmem_newsettings[$row] = $_POST[$post_arr[$row]];
            }
        }
        if (WPMEM_DEBUG == true) {
            echo $post_arr[$row] . ' ' . $_POST[$post_arr[$row]] . '<br />';
        }
        /* 	
        	if we are setting registration to be moderated, 
        	check to see if the current admin has been 
        	activated so they don't accidentally lock themselves
        	out later 
        */
        if ($row == 5) {
            if (isset($_POST[$post_arr[$row]]) == 1) {
                global $current_user;
                get_currentuserinfo();
                $user_ID = $current_user->ID;
                update_user_meta($user_ID, 'active', 1);
            }
        }
    }
    $wpmem_attribution = isset($_POST['attribution']) ? 1 : 0;
    update_option('wpmembers_attrib', $wpmem_attribution);
    $wpmem_settings_msurl = $_POST['wpmem_settings_mspage'] == 'use_custom' ? $_POST['wpmem_settings_msurl'] : '';
    $wpmem_settings_mspage = $_POST['wpmem_settings_mspage'] == 'use_custom' ? '' : $_POST['wpmem_settings_mspage'];
    if ($wpmem_settings_mspage) {
        update_option('wpmembers_msurl', $wpmem_settings_mspage);
    }
    if ($wpmem_settings_msurl != wpmem_use_ssl() && $wpmem_settings_msurl != 'use_custom' && !$wpmem_settings_mspage) {
        update_option('wpmembers_msurl', trim($wpmem_settings_msurl));
    }
    $wpmem_settings_regurl = $_POST['wpmem_settings_regpage'] == 'use_custom' ? $_POST['wpmem_settings_regurl'] : '';
    $wpmem_settings_regpage = $_POST['wpmem_settings_regpage'] == 'use_custom' ? '' : $_POST['wpmem_settings_regpage'];
    if ($wpmem_settings_regpage) {
        update_option('wpmembers_regurl', $wpmem_settings_regpage);
    }
    if ($wpmem_settings_regurl != wpmem_use_ssl() && $wpmem_settings_regurl != 'use_custom' && !$wpmem_settings_regpage) {
        update_option('wpmembers_regurl', trim($wpmem_settings_regurl));
    }
    $wpmem_settings_logurl = $_POST['wpmem_settings_logpage'] == 'use_custom' ? $_POST['wpmem_settings_logurl'] : '';
    $wpmem_settings_logpage = $_POST['wpmem_settings_logpage'] == 'use_custom' ? '' : $_POST['wpmem_settings_logpage'];
    if ($wpmem_settings_logpage) {
        update_option('wpmembers_logurl', $wpmem_settings_logpage);
    }
    if ($wpmem_settings_logurl != wpmem_use_ssl() && $wpmem_settings_logurl != 'use_custom' && !$wpmem_settings_logpage) {
        update_option('wpmembers_logurl', trim($wpmem_settings_logurl));
    }
    $wpmem_settings_cssurl = $_POST['wpmem_settings_cssurl'];
    if ($wpmem_settings_cssurl != wpmem_use_ssl()) {
        update_option('wpmembers_cssurl', trim($wpmem_settings_cssurl));
    }
    $wpmem_settings_style = isset($_POST['wpmem_settings_style']) ? $_POST['wpmem_settings_style'] : false;
    update_option('wpmembers_style', $wpmem_settings_style, false);
    $wpmem_autoex = array('auto_ex' => isset($_POST['wpmem_autoex']) ? $_POST['wpmem_autoex'] : 0, 'auto_ex_len' => isset($_POST['wpmem_autoex_len']) ? $_POST['wpmem_autoex_len'] : '');
    update_option('wpmembers_autoex', $wpmem_autoex, false);
    update_option('wpmembers_settings', $wpmem_newsettings);
    $wpmem_settings = $wpmem_newsettings;
    return __('WP-Members settings were updated', 'wp-members');
}