/** * 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; }
/** * 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'); }
/** * 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'); }
/** * 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'); }