File indexing completed on 2024-12-22 05:33:35

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 Default_Form_Settings extends Zend_Form
0024 {
0025     private $highlightClass = 'input-error';
0026 
0027     public function isValid($data)
0028     {
0029         $valid = parent::isValid($data);
0030 
0031         $this->highlightErrors();
0032 
0033         return $valid;
0034     }
0035 
0036     protected function highlightErrors()
0037     {
0038         foreach ($this->getElements() as $element) {
0039             /**
0040              * @var Zend_Form_Element $element
0041              */
0042             if ($element->hasErrors()) {
0043                 $oldClass = $element->getAttrib('class');
0044                 if (!empty($oldClass)) {
0045                     $element->setAttrib('class', $oldClass . ' ' . $this->getHighlightClass());
0046                 } else {
0047                     $element->setAttrib('class', $this->getHighlightClass());
0048                 }
0049             }
0050         }
0051     }
0052 
0053     /**
0054      * @return string
0055      */
0056     public function getHighlightClass()
0057     {
0058         return $this->highlightClass;
0059     }
0060 
0061     /**
0062      * @param string $highlightClass
0063      */
0064     public function setHighlightClass($highlightClass)
0065     {
0066         $this->highlightClass = $highlightClass;
0067     }
0068 
0069 }