/** * Filter: removes unnecessary whitespace and shortens value to control's max length. * @return string */ public function sanitize($value) { if ($this->control->maxlength && NStrings::length($value) > $this->control->maxlength) { $value = NStrings::substring($value, 0, $this->control->maxlength); } return NStrings::trim(strtr($value, "\r\n", ' ')); }
/** * Returns array of string length. * @param mixed * @return int */ public static function length($var) { return is_string($var) ? NStrings::length($var) : count($var); }
public function priraditPravaFormSubmitted(VyhledatForm $form) { $values = $form->getValues(); //je zadané id (pouze přes autocomplete) if ($values->id) { if ($osoba = $this->osobyRepository->findById($values->id)) { $id_osoby = $values->id; } else { $form->addError('Nebyla nalezena osoba se zadaným id'); } } else { if (intval($values->popis)) { if (NStrings::length($values->popis) == 6) { if ($osoba = $this->osobyRepository->findById($values->popis)) { $id_osoby = $values->popis; } else { $form->addError('Nebyla nalezena osoba se zadaným id'); } } elseif (NStrings::length($values->popis) == 9 || NStrings::length($values->popis) == 10) { if ($osoba = $this->osobyRepository->findBy(array('rc' => $values->popis))->fetch()) { $id_osoby = $osoba->id; } else { $form->addError('Nebyla nalezena osoba se zadaným rodným číslem'); } } else { $form->addError('Nebyla nalezena osoba se zadaným id nebo rodným číslem'); } } else { $text = NStrings::firstUpper($values->popis); if ($vyhledane_osoby = $this->osobyRepository->vyhledatOsoby($text)) { if ($vyhledane_osoby->getRowCount() == 0) { $form->addError('Nebyla nalezena osoba se zadaným jménem'); } elseif ($vyhledane_osoby->getRowCount() == 1) { $id_osoby = $vyhledane_osoby->fetch()->id; } else { $this->redirect('prava', array('id' => $this->id, 'text' => $values->popis)); } } } } if (isset($id_osoby)) { $this->redirect('nastaveniPrav', array('id' => $this->id, 'osoba' => $id_osoby)); } }
/** * Length validator: is control's value length in range? * @param NTextBase * @param array min and max length pair * @return bool */ public static function validateLength(NTextBase $control, $range) { if (!is_array($range)) { $range = array($range, $range); } return NValidators::isInRange(NStrings::length($control->getValue()), $range); }
public function vyhledatOsobuFromSubmitted(VyhledatForm $form) { $values = $form->getValues(); //je zadané id (pouze přes autocomplete) if ($values->id) { if ($osoba = $this->osobyRepository->findById($values->id)) { $this->redirect("prehled", $values->id); } else { $form->addError('Nebyla nalezena osoba se zadaným id'); } } else { //id, rodné číslo nebo část jména? if (intval($values->popis)) { if (NStrings::length($values->popis) == 6) { if ($osoba = $this->osobyRepository->findById($values->popis)) { $this->redirect("prehled", $values->popis); } else { $form->addError('Nebyla nalezena osoba se zadaným id'); } } elseif (NStrings::length($values->popis) == 9 || NStrings::length($values->popis) == 10) { if ($osoba = $this->osobyRepository->findBy(array('rc' => $values->popis))->fetch()) { $this->redirect('prehled', $osoba->id); } else { $form->addError('Nebyla nalezena osoba se zadaným rodným číslem'); } } else { $form->addError('Nebyla nalezena osoba se zadaným id nebo rodným číslem'); } } else { $text = NStrings::firstUpper($values->popis); if ($vyhledane_osoby = $this->osobyRepository->vyhledatOsoby($text)) { if ($vyhledane_osoby->getRowCount() == 0) { $form->addError('Nebyla nalezena osoba se zadaným jménem'); } elseif ($vyhledane_osoby->getRowCount() == 1) { $id = $vyhledane_osoby->fetch()->id; $this->redirect("prehled", $id); } else { $this->redirect("default", $text); } } } } }