Initiate an instance of this class if one doesn't
exist already. Return the WPCOM_VIP_Support_User instance.
public static init ( ) : WPCOM_VIP_Support_User | ||
return | WPCOM_VIP_Support_User | object The instance of WPCOM_VIP_Support_User |
function test_is_a8c_email() { $a8c_emails = array('*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**'); foreach ($a8c_emails as $a8c_email) { $this->assertTrue(WPCOM_VIP_Support_User::init()->is_a8c_email($a8c_email)); } $non_a8c_emails = array('*****@*****.**', '*****@*****.**', '*****@*****.**', 'someone@automattic', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**'); foreach ($non_a8c_emails as $non_a8c_email) { $this->assertFalse(WPCOM_VIP_Support_User::init()->is_a8c_email($non_a8c_email)); } }
/** * Marks the user with the provided ID as having a verified email. * * * <user-id> * : The WP User ID to mark as having a verified email address * * @subcommand verify * * ## EXAMPLES * * wp vipsupport verify 99 * */ public function verify($args, $assoc_args) { $user_id = absint($args[0]); if (!$user_id) { \WP_CLI::error("Please provide the ID of the user to verify"); } $user = get_user_by('id', $user_id); if (!$user) { \WP_CLI::error("Could not find a user with ID {$user_id}"); } WPCOM_VIP_Support_User::init()->mark_user_email_verified($user->user_id, $user->user_email); // Print a success message \WP_CLI::success("Verified user {$user_id} with email {$user->user_email}, you can now change their role to VIP Support"); }
/** * Marks the user with the provided ID as having a verified email. * * * <user-id> * : The WP User ID to mark as having a verified email address * * @subcommand verify * * ## EXAMPLES * * wp vipsupport verify 99 * */ public function verify($args) { $user_id = absint($args[0]); if (!$user_id) { \WP_CLI::error("Please provide the ID of the user to verify"); } $user = get_user_by('id', $user_id); if (!$user) { \WP_CLI::error("Could not find a user with ID {$user_id}"); } // If this is a multisite, commence super powers! if (is_multisite()) { grant_super_admin($user->ID); } WPCOM_VIP_Support_User::init()->mark_user_email_verified($user->ID, $user->user_email); // Print a success message \WP_CLI::success("Verified user {$user_id} with email {$user->user_email}, you can now change their role to VIP Support"); }
* @param string $user_email The email of the user to generate the hash for * * @return string The check hash for the values passed */ protected function create_check_hash($user_id, $verification_code, $user_email) { return wp_hash($user_id . $verification_code . $user_email); } /** * @TODO Write a method description * * @param int $user_id The ID of the user to mark as having a verified email * @param string $user_email The email which has been verified */ public function mark_user_email_verified($user_id, $user_email) { update_user_meta($user_id, self::META_EMAIL_VERIFIED, $user_email); delete_user_meta($user_id, self::META_VERIFICATION_DATA); delete_user_meta($user_id, self::META_EMAIL_NEEDS_VERIFICATION); } /** * @param int $user_id The ID of the user to mark as NOT (any longer) having a verified email */ protected function mark_user_email_unverified($user_id) { update_user_meta($user_id, self::META_EMAIL_VERIFIED, false); update_user_meta($user_id, self::META_EMAIL_NEEDS_VERIFICATION, false); } } WPCOM_VIP_Support_User::init();