Beispiel #1
0
	/**
	 * 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);
	}
Beispiel #3
0
 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));
     }
 }
Beispiel #4
0
	/**
	 * 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);
	}
Beispiel #5
0
 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);
                 }
             }
         }
     }
 }