69 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
require_once "../header.php";
 | 
						|
 | 
						|
require_login();
 | 
						|
 | 
						|
$data = array();
 | 
						|
$data["error"] = false;
 | 
						|
$data["message"] = "";
 | 
						|
 | 
						|
$id = 0;
 | 
						|
if ( isset($_REQUEST["id"]) ) $id = intval($_REQUEST["id"]);
 | 
						|
if ( $id < 0 ) {
 | 
						|
    pushData("Invalid task ID: {$id}");
 | 
						|
}
 | 
						|
 | 
						|
$title = "";
 | 
						|
if ( isset($_REQUEST["title"]) ) $title = $_REQUEST["title"];
 | 
						|
if ( strlen($title) == 0 ) pushData("Task titles cannot be blank");
 | 
						|
 | 
						|
$description = "";
 | 
						|
if ( isset($_REQUEST["description"]) ) $description = $_REQUEST["description"];
 | 
						|
 | 
						|
if ( !isset($_REQUEST["priority"]) ) pushData("Task must have a priority");
 | 
						|
$priority = intval($_REQUEST["priority"]);
 | 
						|
if ( ($priority < 1) || ($priority > 10) ) pushData("Task priority must be between 1 and 10");
 | 
						|
 | 
						|
$duedate = "";
 | 
						|
if ( isset($_REQUEST["duedate"]) ) $duedate = $_REQUEST["duedate"];
 | 
						|
if ( strlen($duedate) == 0 ) pushData("Task due date must be provided");
 | 
						|
$parts = explode("/", $duedate);
 | 
						|
if ( count($parts) != 3 ) pushData("Task due date must be in the format MM/DD/YYYY");
 | 
						|
$m = $parts[0];
 | 
						|
$d = $parts[1];
 | 
						|
$y = $parts[2];
 | 
						|
$dim = intval(date('t', mktime(0, 0, 0, intval($m), 1, intval($y))));
 | 
						|
if ( (intval($m) < 1) || (intval($m) > 12) || (intval($d) < 1) || (intval($d) > $dim) ) {
 | 
						|
    pushData("Improperly formatted or invalid due date: {$duedate}");
 | 
						|
}
 | 
						|
$duetime = "{$y}-{$m}-{$d} 00:00:00";
 | 
						|
 | 
						|
$task = new Task($id);
 | 
						|
$task->setTitle($title);
 | 
						|
$task->setDescription($description);
 | 
						|
$task->setPriority($priority);
 | 
						|
$task->setDueTime($duetime);
 | 
						|
$saved = $task->save();
 | 
						|
if ( !$saved ) pushData("Server Error: Task could not be saved to the database");
 | 
						|
if ( $id == 0 ) {
 | 
						|
    $data["message"] = "Task created successfully";
 | 
						|
} else {
 | 
						|
    $data["message"] = "Task edited successfully";
 | 
						|
}
 | 
						|
pushData();
 | 
						|
 | 
						|
exit();
 | 
						|
 | 
						|
function pushData($errormsg = null) {
 | 
						|
    global $data;
 | 
						|
 | 
						|
    if ( !is_null($errormsg) ) {
 | 
						|
        $data["error"] = true;
 | 
						|
        $data["message"] = $errormsg;
 | 
						|
    }
 | 
						|
    header('Content-Type: application/json');
 | 
						|
    echo json_encode($data);
 | 
						|
    exit();
 | 
						|
}
 |