getValidationStatus() != ValidationStatus::VALIDATED) require_once "server_files/403.php"; $has_error = false; $error_message = null; if (isset($_POST["upload"])) { $new_video = new NewVideo($_POST); try { $new_video->makeVerifications(); $new_video->uploadVideo(); } catch (AssertionError $e) { $has_error = true; $error_message = $e->getMessage(); } } class NewVideo { private $link; public function __construct($data) { $this->link = $data["link"]; } public function makeVerifications() { ensure(preg_match("#(https?\:\/\/|)[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?#", $this->link), "Ce n'est pas une URL valide."); $this->link = preg_replace('/^(?!https?:\/\/)/', 'https://', $this->link); } public function uploadVideo() { global $DB, $YEAR, $team; $req = $DB->prepare("INSERT INTO `videos`(`team`, `problem`, `link`, `reason`, `year`) VALUES (?, ?, ?, ?, ?)"); $req->execute([$team->getId(), $team->getProblem(), $this->link, "SOLUTION", $YEAR]); } } $video = Video::getVideo(Reason::SOLUTION, $team); require_once "server_files/views/envoyer_video.php";