/** * (create and) Fetch the pseudo-singleton * @return WP_MSM_Options */ public static function instance() { if (empty(self::$_instance)) { self::$_instance = new WP_MSM_Options(); } return self::$_instance; }
/** * Decrypt encrypted text. * * If a key is not provided, it is assumed that this is a private key decryption * and the plugin's internal private key will be used. Otherwise, the provided * key is assumed to be a public key. * * Any value that will work with openssl_public_decrypt will work for the $key * argument. See http://us3.php.net/manual/en/openssl.certparams.php for more * information. * * Returns the decrypted text on success, false on failure. * * @link http://us3.php.net/manual/en/openssl.certparams.php Key parameter details. * @param string $encrypted_text The text to be decrypted. * @param mixed $key False to use the internal private key, an OpenSSL key value otherwise * @return boolean */ public static function decrypt($encrypted_text, $key = false) { if (!$key) { $key = WP_MSM_Options::instance()->privateSignature; $worked = openssl_private_decrypt($encrypted_text, $decrypted_text, $key); if ($worked) { return $decrypted_text; } return false; } $worked = openssl_public_decrypt($encrypted_text, $decrypted_text, $key); if ($worked) { return $decrypted_text; } return false; }
/** * Update a profile in the manager. * * If the profile doesn't exist, it'll update it. If the profile is a default profile * it will not update. * * @param string $name * @param WP_MSM_Profile $profile */ public function update_profile($name, WP_MSM_Profile $profile) { if (in_array($name, self::$defaultProfiles)) { return; } if (isset(self::$profiles[$name])) { unset(self::$profiles[$name]); } $newName = $name == $profile->name ? $name : $profile->name; self::$profiles[$newName] = $profile; $options = WP_MSM_Options::instance(); if (isset($options->customProfiles[$name])) { unset($options->customProfiles[$name]); $options->customProfiles[$newName] = $profile->_toArray(); $options->update(); } }
private static function _render_settings() { $profileManager = new WP_MSM_Profile_Manager(); $currentProfile = WP_MSM_Options::instance()->profile; $profiles = $profileManager->get_all_profile_names(); ?> <form method="post" action=""> <table class="form-table"> <tbody> <tr valign="top"> <th scope="row"><label for="wpmsm_settings_profile">Please select a server profile</label></th> <td> <select id="wpmsm_settings_profile" name="wpmsm_settings[profile]"> <?php foreach ($profiles as $profile) { $profile = $profileManager->get_profile($profile); ?> <option value="<?php echo esc_attr($profile->name); ?> "<?php selected($profile->name, $currentProfile); ?> > <?php echo esc_html($profile->displayName); ?> </option> <?php } ?> </select> </td> </tr> </tbody> </table> </form> <?php }
public function get_columns() { return array('cb' => empty(WP_MSM_Options::instance()->customProfiles) ? '' : '', 'name' => __('Name', 'WordPress-MultiServer-Migration'), 'description' => __('Description', 'WordPress-MultiServer-Migration'), 'tables' => __('Tables to Exclude', 'WordPress-MultiServer-Migration')); }