protected function finalSuccess() { parent::finalSuccess(); $this->updateRublonSettings(); $updateMessage = 'PLUGIN_REGISTERED'; RublonHelper::setMessage($updateMessage, 'updated', 'CR'); RublonCookies::setAuthCookie(); $pluginMeta = RublonHelper::preparePluginMeta(); $pluginMeta['action'] = 'activation'; RublonHelper::pluginHistoryRequest($pluginMeta); $other_settings = RublonHelper::getSettings('other'); if (!empty($other_settings['newsletter_signup'])) { foreach ($other_settings['newsletter_signup'] as $email) { $rublon_req = new RublonRequests(); $rublon_req->subscribeToNewsletter($email); } unset($other_settings['newsletter_signup']); RublonHelper::saveSettings($other_settings, 'other'); } // Save project owner information RublonHelper::saveProjectOwner(); // Clear features cache if it is not a Business Editions RublonFeature::getFeatures(false); if (!RublonFeature::isBusinessEdition()) { RublonFeature::deleteFeaturesFromCache(); } $this->_redirect(admin_url(RublonHelper::WP_RUBLON_PAGE)); }
function pluginsLoaded() { // Append confirmation script only when Business Edition is enabled and operationconfirmation feature is active if (RublonFeature::isBusinessEdition() && RublonFeature::checkFeature(RublonAPIGetAvailableFeatures::FEATURE_OPERATION_CONFIRMATION)) { add_action('admin_head', array($this, 'appendScript')); add_action('admin_init', array($this, 'checkForAction')); } }
function rublon2factor_user_new_form() { $roles = get_editable_roles(); $roles_js = array(); $roles_js['protection_levels'] = array(); foreach ($roles as $role_name => $role) { $role_id = RublonHelper::prepareRoleId(esc_attr($role_name)); $settings = RublonHelper::getSettings('additional'); $role_protection_type = !empty($settings[$role_id]) ? $settings[$role_id] : ''; switch ($role_protection_type) { case RublonHelper::PROTECTION_TYPE_MOBILE: $role_protection_level = 2; break; case RublonHelper::PROTECTION_TYPE_EMAIL: $role_protection_level = 1; break; default: $role_protection_level = 0; } $roles_js['protectionLevels'][esc_attr($role_name)] = $role_protection_level; } echo '<label class="hidden rublon-label rublon-label-newuserrole" for="rublon-newuserrole-dropdown">'; echo ' <div class="rublon-lock-container rublon-locked-container rublon-newuserrole-locked"><img class="rublon-lock rublon-locked" src="' . RUBLON2FACTOR_PLUGIN_URL . '/assets/images/locked.png" /></div>'; echo '</label>'; if (RublonFeature::isBusinessEdition()) { echo '<div class="hidden rublon-secured-role-description"><span class="description">' . sprintf(__('The new user account will be automatically protected by <a href="%s" target="_blank">Rublon</a>.', 'rublon'), RublonHelper::rubloncomUrl()) . '</span></div>'; echo '<script>//<![CDATA[ document.addEventListener(\'DOMContentLoaded\', function() { if (RublonWP) { RublonWP.roleProtectionLevels = ' . json_encode($roles_js) . '; RublonWP.setUpNewUserRoleChangeListener("your-profile", "rublon-confirmation-form"); } }, false); //]]></script>'; } }
/** * Handle the additional Rublon columns for a given user * * @param mixed $value Current column value * @param string $column_name Column name * @param int $user_id User's ID * @return string */ function rublon2factor_manage_rublon_columns($value, $column_name, $user_id) { if (RublonHelper::isSiteRegistered()) { // Retrieve Rublon users from prerender data. $rublon_mobile_users = RublonHelper::getPrerenderData(RublonHelper::PRERENDER_KEY_MOBILE_USERS); if ($column_name == 'rublon2factor_status') { $user = get_user_by('id', $user_id); $protectionType = array(RublonHelper::roleProtectionType($user), RublonHelper::userProtectionType($user)); if (RublonHelper::isPersonalEdition() && RublonHelper::isProjectOwner($user_id) || RublonFeature::isBusinessEdition() && RublonRolesProtection::isGrater(RublonHelper::getUserProtectionType($user), RublonHelper::PROTECTION_TYPE_NONE)) { $lang = RublonHelper::getBlogLanguage(); $value = sprintf('<a href="%s"', RublonHelper::rubloncomUrl()) . ' target="_blank"><img class="rublon-protected rublon-image" src="' . RUBLON2FACTOR_PLUGIN_URL . '/assets/images/rublon_logo_32x32.png' . '" title="' . __('Account protected by Rublon', 'rublon') . '" /></a>'; } } return $value; } }