public static function deleteTransient($key) { $transient_settings = RublonHelper::getSettings('transient'); if (!empty($transient_settings[$key])) { unset($transient_settings[$key]); RublonHelper::saveSettings($transient_settings, 'transient'); } }
/** * Update Rublon plugin settings using 'systemToken' and 'secretKey' from * successfully registered project */ private function updateRublonSettings() { $settings = RublonHelper::getSettings(); $settings['rublon_system_token'] = $this->getSystemToken(); $settings['rublon_secret_key'] = $this->getSecretKey(); $this->_clearConfig(); RublonHelper::saveSettings($settings, 'main'); do_action('rublon_save_settings', $settings, 'main'); }
/** * Constructor * * @throws RublonException */ public function __construct() { $rublon_config = apply_filters('rublon_get_settings', RublonHelper::getSettings()); if (!empty($rublon_config['rublon_system_token']) and !empty($rublon_config['rublon_secret_key'])) { parent::__construct(); $this->rublon = new Rublon2FactorWordPress($rublon_config['rublon_system_token'], $rublon_config['rublon_secret_key']); } else { throw new RublonException('Missing main site system token and secret key.'); } }
/** * Get minimum protection type for given role. * If the protection type saved in settings is not available * for this consumer, then get the next available lower protection type. * * @param string $role * @return string */ static function getRoleProtectionType($role) { $settings = RublonHelper::getSettings('additional'); $role_id = RublonHelper::prepareRoleId($role); if (isset($settings[$role_id])) { return self::getMinimumProtectionType($settings[$role_id]); } else { return RublonHelper::PROTECTION_TYPE_NONE; } }
private function removeOldRublonTransients() { $transient_settings = RublonHelper::getSettings('transient'); $new_transient_settings = array(); foreach ($transient_settings as $key => $setting) { if ($setting[Rublon_Transients::EXPIRES_KEY] >= time()) { $new_transient_settings[$key] = $setting; } } RublonHelper::saveSettings($new_transient_settings, 'transient'); }
public function apiRegistration() { $current_user = wp_get_current_user(); $email = RublonHelper::getUserEmail($current_user); $selector = '#wpadminbar'; $content = '<h3>' . __('Rublon API registration', 'rublon') . '</h3>'; $content .= '<div class="rublon-apireg-half-column rublon-apireg-description">'; $content .= '<p>' . __('Rublon Account Security works by talking to the Rublon API. This requires an API key, which needs to be generated specifically for your website.', 'rublon') . '</p>'; $content .= '<p>' . sprintf(__('Due to security reasons, this requires a registration with your email address: <strong>%s</strong>. In order to register with a different email address, change it in your <a href="%s">profile settings</a>.', 'rublon'), $email, admin_url('profile.php')) . '</p>'; $content .= '<fieldset class="rublon-apireg-fieldset"><label for="rublon-apireg-terms-agreed">' . '<input type="checkbox" id="rublon-apireg-terms-agreed" name="apiregTermsAgreed" value="1" />' . sprintf(__('I agree to the <a href="%s" target="_blank">Rublon API Terms of Service</a>', 'rublon'), 'https://developers.rublon.com/54/Terms-of-Service') . '</fieldset>'; $content .= '<fieldset class="rublon-apireg-fieldset"><label for="rublon-apireg-newsletter-signup">' . '<input type="checkbox" id="rublon-apireg-newsletter-signup" name="apiregNewsletterSignup" value="1" />' . __('Subscribe to our newsletter', 'rublon') . '</fieldset>'; $content .= '</div>'; $content .= '<div class="rublon-apireg-half-column rublon-apireg-image"><img src="' . RUBLON2FACTOR_PLUGIN_URL . '/assets/images/rublon_visual.gif" class="rublon-apireg-visual rublon-image" /></div>'; $content .= $this->_apireg_form; $options = array('content' => $content, 'position' => array('edge' => 'top', 'align' => 'center'), 'pointerClass' => 'wp-pointer rublon-apireg-pointer', 'pointerClassSelector' => '.wp-pointer.rublon-apireg-pointer', 'showFunction' => 'showApiRegPointer'); $dismiss_nonce = wp_create_nonce(self::API_REGISTRATION_DISMISSED); $buttons = array('button1' => array('text' => __('Cancel', 'rublon'), 'function' => 'RublonWP.pointers.apiReg.answer("no", ' . json_encode($dismiss_nonce) . ')', 'id' => 'rublon-apireg-button-cancel', 'close_on_click' => true), 'button2' => array('text' => __('Activate', 'rublon'), 'function' => 'RublonWP.pointers.apiReg.answer("yes", ' . json_encode($dismiss_nonce) . ')', 'additional_class' => 'disabled', 'id' => 'rublon-apireg-button-activate'), 'placement' => array('additional_class' => 'rublon-apireg-buttons', 'append_to' => '.rublon-apireg-description'), 'appearance' => array('connection' => 'before')); $other_settings = RublonHelper::getSettings('other'); if (!empty($other_settings[self::API_REGISTRATION_DISMISSED])) { $event_binding = ' $(document).ready(function() { RublonWP.pointers.apiReg.show = showApiRegPointer; RublonWP.pointers.apiReg.prepareHidden(); }); '; } else { $event_binding = ' if (rublon_pointer_options.position && rublon_pointer_options.position.defer_loading) { $(window).bind("load.wp-pointers", function() { RublonWP.pointers.apiReg.show = showApiRegPointer; showApiRegPointer(); RublonWP.pointers.apiReg.addBehaviour(); RublonWP.pointers.disableClicks(); }); } else { $(document).ready(function() { RublonWP.pointers.apiReg.show = showApiRegPointer; showApiRegPointer(); RublonWP.pointers.apiReg.addBehaviour(); RublonWP.pointers.disableClicks(); }); } '; } $constants_binding = ' RublonWP.pointers.apiReg.DISMISSED_ACTION = ' . json_encode(self::AJAX_API_REGISTRATION_ACTION) . '; RublonWP.pointers.apiReg.BUTTON_ACTIVATE_SELECTOR = "#" + ' . json_encode($buttons['button2']['id']) . '; '; $bindings = array($event_binding, $constants_binding); $this->_printPointer($selector, $options, $buttons, $bindings); }
public static function getInstance() { if (empty(self::$instance)) { $additional_settings = RublonHelper::getSettings('additional'); $current_user = wp_get_current_user(); self::$instance = new self(RublonHelper::getRublon(), RublonHelper::getUserId($current_user), RublonHelper::getUserEmail($current_user), $logout_listener = RublonHelper::isLogoutListenerEnabled()); // Embed consumer script if (RublonHelper::isSiteRegistered()) { add_action('wp_footer', array(self::$instance, 'renderConsumerScript'), PHP_INT_MAX); add_action('admin_footer', array(self::$instance, 'renderConsumerScript'), PHP_INT_MAX); } } return self::$instance; }
function rublon2factor_anonymous_stats_agreement() { $post = $_POST; $other_settings = RublonHelper::getSettings('other'); if (!empty($post['nonce']) && wp_verify_nonce($post['nonce'], Rublon_Pointers::ANONYMOUS_STATS_ALLOWED)) { $other_settings[Rublon_Pointers::ANONYMOUS_STATS_ALLOWED] = $post['answer']; RublonHelper::saveSettings($other_settings, 'other'); if ($post['answer'] == RublonHelper::YES) { try { RublonHelper::notify(array('msg' => 'Preliminary statistics from a WordPress site.'), array('message-type' => RublonHelper::RUBLON_NOTIFY_TYPE_STATS)); } catch (Exception $e) { // Do nothing. } } } }
/** * Retrieve auth cookie params (if they're set) * * @return array */ private static function _getAuthCookieParams() { $cookie_params = array(); $settings = RublonHelper::getSettings(); if (!empty($settings['wp_cookie_params'])) { $cookie_params = $settings['wp_cookie_params']; } return $cookie_params; }
function rublon2factor_render_buffered_confirmation_time() { $additional_settings = RublonHelper::getSettings('additional'); $offSelected = ''; $onSelected = ''; echo '<p class="rublon-settings-desc">' . __('User\'s confirmations can be remembered for selected amount of time. Set 0 to disable.', 'rublon') . '</p>'; $fieldName = RublonHelper::RUBLON_ADDITIONAL_SETTINGS_KEY . '[' . RublonFeature::BUFFERED_CONFIRMATION_OPTION_KEY . ']'; printf('<input type="number" name="%s" value="%s" style="width:5em" /> %s', esc_attr($fieldName), esc_attr(RublonFeature::getBufferedConfirmationOptionValue()), __('minutes', 'rublon')); }
/** * Perform single site registration. * * Register one of network's sites in Rublon and save * System Token and Secret Key into the site's individual * options table. * * @param WP_User $user WordPress user object * @return boolean True if registration was successful */ public static function performSiteRegistration() { try { require_once dirname(__FILE__) . '/libs/RublonImplemented/RublonSubprojectRegistrationWordPress.php'; // Create a RublonSubprojectRegistration instance // and register the site $site_registration = new RublonSubprojectRegistrationWordPress(); $response = $site_registration->register(); // Save the received settings upon success $settings = RublonHelper::getSettings(); $settings['rublon_system_token'] = $response['system_token']; $settings['rublon_secret_key'] = $response['secret_key']; RublonHelper::saveSettings($settings); } catch (Exception $e) { // Cannot register the site return false; } return !empty($response); }