00001 <?php 00024 class UserUnconfirmedVerifierFilter extends BaseFilter implements Filterable { 00030 protected function __construct () { 00031 // Call parent constructor 00032 parent::__construct(__CLASS__); 00033 } 00034 00040 public final static function createUserUnconfirmedVerifierFilter () { 00041 // Get a new instance 00042 $filterInstance = new UserUnconfirmedVerifierFilter(); 00043 00044 // Return the instance 00045 return $filterInstance; 00046 } 00047 00055 public function execute (Requestable $requestInstance, Responseable $responseInstance) { 00056 // Get member class 00057 $userClass = $this->getConfigInstance()->readConfig('user_class'); 00058 00059 // Get a user instance for comparison 00060 $userInstance = call_user_func_array(array($userClass, 'createMemberByRequest'), array($requestInstance)); 00061 00062 // Is the email address valid? 00063 if ($userInstance->ifEmailAddressExists() === false) { 00064 // Request is invalid! 00065 $requestInstance->requestIsValid(false); 00066 00067 // Redirect to configured URL 00068 $responseInstance->redirectToConfiguredUrl('user_unconfirmed_email_missing_url'); 00069 00070 // Stop processing here 00071 exit(); 00072 } // END - if 00073 00074 // Is the user account confirmed? 00075 if ($userInstance->getField(UserDatabaseWrapper::DB_COLUMN_USER_STATUS) != $this->getConfigInstance()->readConfig('user_status_unconfirmed')) { 00076 // Request is invalid! 00077 $requestInstance->requestIsValid(false); 00078 00079 // Redirect to configured URL 00080 $responseInstance->redirectToConfiguredUrl('user_not_unconfirmed_url'); 00081 00082 // Stop processing here 00083 exit(); 00084 } // END - if 00085 00086 // Add this instance to registry 00087 Registry::getRegistry()->addInstance('user', $userInstance); 00088 } 00089 } 00090 00091 // [EOF] 00092 ?>
1.5.6