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; } }