Пример #1
0
 /**
  * @ignore
  */
 public static function validate(array $uArray = null)
 {
     if ($uArray !== null) {
         foreach (self::$rules as $tRule) {
             $tValues = Arrays::getPath($uArray, $tRule->field, $tRule->defaultValue);
             if ($tValues === null) {
                 // if it's null and also default value is not set
                 self::addSummary($tRule->field, $tRule->errorMessage);
                 continue;
             }
             if (!$tRule->isArray) {
                 $tValues = array($tValues);
             }
             foreach ($tValues as $tValue) {
                 $tResult = null;
                 foreach ($tRule->conditions as $tCondition) {
                     $tArgs = $tCondition[1];
                     array_unshift($tArgs, $tValue);
                     $tSingleResult = call_user_func_array('Scabbia\\Extensions\\Validation\\Conditions::' . $tCondition[0], $tArgs);
                     if ($tResult === null || $tCondition[2] === null) {
                         $tResult = $tSingleResult;
                     } elseif ($tCondition[2] === 'and') {
                         $tResult = $tResult && $tSingleResult;
                     } elseif ($tCondition[2] === 'or') {
                         $tResult = $tResult || $tSingleResult;
                     }
                 }
                 if ($tResult === false) {
                     break;
                 }
             }
             if ($tResult === false) {
                 self::addSummary($tRule->field, $tRule->errorMessage);
             }
         }
     }
     return count(self::$summary) === 0;
 }
Пример #2
0
 /**
  * @ignore
  */
 public function getButDeleted()
 {
     return Arrays::getRowsBut($this->records, 'changed', 'delete');
 }