File indexing completed on 2024-12-22 05:36:24
0001 <?php 0002 /** 0003 * ocs-webserver 0004 * 0005 * Copyright 2016 by pling GmbH. 0006 * 0007 * This file is part of ocs-webserver. 0008 * 0009 * This program is free software: you can redistribute it and/or modify 0010 * it under the terms of the GNU Affero General Public License as 0011 * published by the Free Software Foundation, either version 3 of the 0012 * License, or (at your option) any later version. 0013 * 0014 * This program is distributed in the hope that it will be useful, 0015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0017 * GNU Affero General Public License for more details. 0018 * 0019 * You should have received a copy of the GNU Affero General Public License 0020 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0021 **/ 0022 0023 class Local_Validate_OldPasswordConfirm extends Zend_Validate_Abstract 0024 { 0025 const NOT_MATCH = 'notmatch'; 0026 const IS_EMPTY = 'empty'; 0027 0028 protected $_messageTemplates = array( 0029 self::NOT_MATCH => 'Current password isn\'t correct', 0030 self::IS_EMPTY => 'Please enter your old Password' 0031 ); 0032 0033 public function isValid($value, $context = null) 0034 { 0035 if (!isset($value) || $value == '') { 0036 $this->_error(self::IS_EMPTY); 0037 return false; 0038 } 0039 0040 $value = (string)$value; 0041 $this->_setValue($value); 0042 0043 0044 $memberModel = new Default_Model_Member(); 0045 $user = $memberModel->fetchMemberData(Zend_Auth::getInstance()->getIdentity()->member_id); 0046 0047 if (Local_Auth_Adapter_Ocs::getEncryptedPassword($value, $user->password_type) == $user->password) { 0048 return true; 0049 } 0050 0051 $this->_error(self::NOT_MATCH); 0052 return false; 0053 } 0054 0055 }