Example #1
0
 public static function fromPOST($class_name)
 {
     $ok = 1;
     $class = new ReflectionClass($class_name);
     $instance = $class->newInstance(null);
     $fileds = $class->getDefaultProperties();
     foreach ($fileds as $key => $val) {
         if (!isset($_POST[$key])) {
             if (!isset($_FILES[$key])) {
                 $ok = 0;
             }
         }
         if (isset($_POST[$key])) {
             $instance->{$key} = filter_input(INPUT_POST, $key);
             if ($_POST[$key] == NULL) {
                 if ($val != NULL) {
                     Controller::addMessage("Nebyla vyplněná hodnota: " . $val);
                     $ok = 0;
                 } else {
                     $instance->{$key} = filter_input(INPUT_POST, $key);
                 }
             }
         } else {
             if (isset($_FILES[$key]["name"])) {
                 $instance->name = $_FILES[$key]["name"];
                 if ($_FILES[$key]["name"] == NULL) {
                     //echo "files ".$_FILES[$key]."  je nulove";
                     if ($val != NULL) {
                         Controller::addMessage("Nebyla vyplněná hodnota: " . $val);
                         $ok = 0;
                     } else {
                         $instance->{$key} = filter_input($_FILES, $key);
                     }
                 }
             } else {
                 //hodnota opravdu chybí
             }
         }
     }
     //konec foreach
     if ($ok) {
         return $instance;
     } else {
         return NULL;
     }
 }