Ejemplo n.º 1
0
<?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);
Ejemplo n.º 2
0
 /**
  * @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);
     }
 }