File indexing completed on 2024-05-12 06:02:11

0001 <?php
0002 
0003 /**
0004  *  ocs-webserver
0005  *
0006  *  Copyright 2016 by pling GmbH.
0007  *
0008  *    This file is part of ocs-webserver.
0009  *
0010  *    This program is free software: you can redistribute it and/or modify
0011  *    it under the terms of the GNU Affero General Public License as
0012  *    published by the Free Software Foundation, either version 3 of the
0013  *    License, or (at your option) any later version.
0014  *
0015  *    This program is distributed in the hope that it will be useful,
0016  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
0017  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0018  *    GNU Affero General Public License for more details.
0019  *
0020  *    You should have received a copy of the GNU Affero General Public License
0021  *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0022  **/
0023 class Local_Validate_EmailDeactivated extends Zend_Validate_Abstract
0024 {
0025     const EMAIL_DEACTIVATED_TEXT = "_double";
0026     const EXISTS = 'already_exists';
0027     const DEACTIVATED = 'mail_deactivated';
0028 
0029     protected $_messageTemplates = array(
0030         self::DEACTIVATED => 'mail address deactivated'
0031     );
0032 
0033     public function isValid($value, $context = null)
0034     {
0035         $value = (string)$value;
0036         $this->_setValue($value);
0037 
0038         return $this->isEmailDeactivated($value, $context);
0039     }
0040 
0041     /**
0042      * @param $email
0043      * @param $context
0044      *
0045      * @return bool
0046      */
0047     private function isEmailDeactivated($email, $context)
0048     {
0049         if (strpos($email->mail, $this::EMAIL_DEACTIVATED_TEXT) > 0) {
0050             $this->_error(self::DEACTIVATED);
0051 
0052             return false;
0053         }
0054 
0055         return true;
0056     }
0057 
0058 }