1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | <?php // // Open Web Analytics - An Open Source Web Analytics Framework // // Copyright 2006 Peter Adams. All rights reserved. // // Licensed under GPL v2.0 http://www.gnu.org/copyleft/gpl.html // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // $Id$ // /** * Data Validator Class * * @author Peter Adams <peter@openwebanalytics.com> * @copyright Copyright © 2006 Peter Adams <peter@openwebanalytics.com> * @license http://www.gnu.org/copyleft/gpl.html GPL v2.0 * @category owa * @package owa * @version $Revision$ * @since owa 1.0.0 */ class owa_validator extends owa_base { /** * Flag for whether or not a validation run produces errors * * @var boolean */ var $hasErrors; /** * Error Msgs produced by Validations * * @var array */ var $errorMsgs; /** * Validations to be performed in next validation run * * @var array */ var $validations; function __construct() { return parent::__construct(); } /** * Adds a validation to be performed in next run * * @param string $name the name to be given to the validation and its results * @param unknown $value the data value that is to be validated * @param string $validation the name of the validation to run * @param array $conf configuration array for the object being created */ function addValidation($name, $value, $validation, $conf) { // Construct validatation obj $obj = $this->validationFactory($validation); $obj->setValues($value); $obj->setConfigArray($conf); $this->validations[] = array('name' => $name, 'obj' => $obj); return; } function setValidation($name, $obj) { $this->validations[] = array('name' => $name, 'obj' => $obj); return; } /** * Factory method for producing validation objects * * @return Object */ function validationFactory($class_file) { return owa_coreAPI::validationFactory($class_file, $conf); } /** * Performs a validation run * */ function doValidations() { foreach ($this->validations as $k) { $k['obj']->validate(); if ($k['obj']->hasError === true) { $this->hasErrors = true; $this->errorMsgs[$k['name']] = $k['obj']->getErrorMsg(); if ($k['obj']->conf['stopOnError'] === true) { break; } } } } /** * Check to see if the validation run was successful. * * @return boolean */ function isValid() { if ($this->hasErrors == true): return false; else: return true; endif; } /** * Accessor method for retrieving the error msgs produced by a validation run * * @return array */ function getErrorMsgs() { return $this->errorMsgs; } } ?> |