public static function run($input) { if (!$input) { $input = $_REQUEST; } if (!count($input)) { return false; } self::$input = $input; //die(print_r(self::$data)); $passed = true; foreach (self::$data as $fieldName => &$field) { foreach ($field['rules'] as &$rule) { $func = $rule['rule']; if (method_exists(__CLASS__, $func)) { if (isset($rule['vars'])) { $rule['passed'] = (int) call_user_func(array('MG_Validation', $func), $fieldName, $rule['vars']); } else { $rule['passed'] = (int) call_user_func(array('MG_Validation', $func), $fieldName); } } else { $rule['passed'] = (int) call_user_func($func, self::$input[$fieldName]); } if (!$rule['passed']) { addError(str_replace("%", $field['friendlyName'], MG_Lang::translate('validation_' . $rule['rule']))); $passed = 0; $field['passed'] = 0; } } } return $passed; }