is_logged_in() && $TeKe->has_access(ACCESS_CAN_EDIT)) {
$response = new AJAXResponse();
// Define fields array
$fields = array('title' => true, 'goal' => true, 'start_date' => true, 'end_date' => true);
$inputs = array();
foreach ($fields as $key => $requirement) {
$inputs[$key] = get_input($key);
if (in_array($key, array('start_date', 'end_date'))) {
$inputs[$key] = strtotime($inputs[$key]);
}
if (in_array($key, array('goal'))) {
$inputs[$key] = force_plaintext($inputs[$key]);
}
if ($requirement && !$inputs[$key]) {
$response->addError($key);
}
}
if (sizeof($response->getErrors()) == 0) {
$creator = $TeKe->user->getId();
if ($created_id = Project::create($creator, $inputs['title'], $inputs['goal'], $inputs['start_date'], $inputs['end_date'])) {
$project = new Project($created_id);
$response->setStateSuccess();
$response->setForward($project->getURL());
$TeKe->add_system_message(_("New project created."));
}
} else {
$TeKe->add_system_message(_("New project could not be created."), 'error');
$response->setMessages();
}
echo $response->getJSON();
exit;
}
?>