Esempio n. 1
0
 public static function processPost()
 {
     if ($post = \Supernova\Core::getPostParameters()) {
         $namespace = "\\App\\Model\\" . \Supernova\Core::$elements['controller'];
         $formNamespace = $namespace . "Form";
         $objectForm = new $formNamespace();
         foreach ($post['data'] as $model => $values) {
             if ($namespace == "\\App\\Model\\" . ucfirst(\Supernova\Inflector::underToCamel($model))) {
                 $object = new $namespace();
                 foreach ($values as $key => $val) {
                     $setter = "set" . ucfirst(\Supernova\Inflector::underToCamel($key));
                     if (isset($objectForm->settings[$key]['widget']['use']) && !empty($objectForm->settings[$key]['widget']['use'])) {
                         $fn = explode("::", $objectForm->settings[$key]['widget']['use']);
                         if (method_exists($fn[0], $fn[1])) {
                             $val = $fn[0]::$fn[1]($val);
                         }
                     }
                     $object->{$setter}($val);
                 }
                 return $object->isValid() ? true : $object->onError();
             }
         }
     }
     return null;
 }