<?php require "SubmissionDatabase.php"; // DB TESTS echo "<h1>SUBMISSIONS DB</h1>"; $db = new SubmissionDatabase(); $db->create(); //create topics id,title,text,image,category_id $db->insertSubmission(array("id" => null, "title" => "Life", "text_question" => "Lorem ipsum?", "text_result" => "Lorem ipsum!", "image_question" => "blabla?", "image_result" => "sladhkjsad.jpg", "category" => "event")); $db->insertSubmission(array("id" => null, "title" => "Life", "text_question" => null, "text_result" => null, "image_question" => "blabla?", "image_result" => "sladhkjsad.jpg", "category" => "location")); $result = $db->listSubmissions(); var_dump($result);
/** * @noAuth * @url POST /?submissions * @url PUT /?submissions/$id */ function insertSubmission($id = null, $data) { if ($data == null) { $data = $_POST; } else { $data = get_object_vars($data); } //var_dump($data); //check if file submitted $file = false; if (isset($_FILES['file']) && !empty($_FILES['file']['name']) && $_FILES['file']['size'] > 0) { $file = $_FILES['file']; $data['image_result'] = $file['name']; } //validate $validationRules = array(); if (isset($data['text_question']) && !empty($data['text_question'])) { $validationRules['text_result'] = VALIDATE_RULE_NON_EMPTY_STRING | VALIDATE_RULE_REQUIRED; } if (isset($data['image_question']) && !empty($data['image_question'])) { $validationRules['image_result'] = VALIDATE_RULE_NON_EMPTY_STRING | VALIDATE_RULE_REQUIRED; } $validator = new Validator($data); $errors = $validator->validate($validationRules); if (!empty($errors)) { throw new RestException(400, implode(" ", $errors)); } //add new entry if ($id == null) { //insert into database $db = new SubmissionDatabase(); $db->insertSubmission($data); $id = $db->lastInsertRowid(); //upload file if ($file) { $upload_dir = DIR_SUBMISSION_FILES . '/' . $id; try { checkFileType($file['name'], array("jpg", "jpeg", "gif", "png")); uploadFile($file['tmp_name'], $upload_dir, $file['name']); } catch (Exception $e) { // delete entry if upload failed $db->deleteSubmission($id); throw new RestException(400, $e->getMessage()); } } return $db->getSubmission($id); // modify entry } else { //insert Model and return it $db = new SubmissionDatabase(); $db->insertSubmission($data); return $db->getSubmission($id); } }