Beispiel #1
0
 /**
  * @static
  * @param AbstractProtoClass $proto
  * @param array $fields
  * @return Form
  */
 public static function makeForm(AbstractProtoClass $proto, array $fields)
 {
     $form = Form::create();
     foreach ($fields as $field) {
         try {
             $property = self::getProperty($proto, $field);
         } catch (MissingElementException $e) {
             continue;
             //skip
         }
         $prefix = strrev(strrchr(strrev($field), '.'));
         $property->fillForm($form, $prefix);
         $primitive = $form->get($field);
         if ($primitive instanceof PrimitiveString) {
             if ($property->getMax()) {
                 $primitive->setImportFilter(Filter::chain()->add(Filter::trim()->setBoth())->add(Filter::safeUtf8())->add(Filter::htmlSpecialChars()));
             } else {
                 $primitive->setImportFilter(Filter::chain()->add(Filter::trim()->setBoth())->add(Filter::safeUtf8())->add(Filter::htmlSpecialChars())->add(Filter::replaceSymbols("\r", ''))->add(Filter::replaceSymbols("\n", ' ')));
             }
         }
     }
     return $form;
 }
Beispiel #2
0
 /**
  * @return FilterChain
  **/
 public static function textImport()
 {
     return FilterChain::create()->add(Filter::stripTags())->add(Filter::trim());
 }