}
 $project->setLocationId(filter_var($_POST['location_id'], FILTER_SANITIZE_STRING));
 $project->setLocation(filter_var($_POST['location'], FILTER_SANITIZE_STRING));
 $project->setFromDate(filter_var($_POST['from_date'], FILTER_SANITIZE_STRING));
 $project->setToDate(filter_var($_POST['to_date'], FILTER_SANITIZE_STRING));
 if (!$project->getId()) {
     $auto = true;
     $logDetails = "Request created";
     $project->setState('Pending Approval');
     $initial = true;
 } else {
     $auto = false;
     $logDetails = "Request updated";
     $initial = false;
 }
 $project->setUpdatedDate(date('Y-m-d'));
 $project->setUserId($user->getId());
 $project->store();
 $project->submitLog($logDetails, $user->getId());
 // post to Google Groups
 $projectUser = new User($project->getUserId());
 $message = '<strong>' . $project->getName() . "</strong><br>\n" . "https://london.hackspace.org.uk/storage/" . $project->getId() . "<br>\n" . "by <a href=\"https://london.hackspace.org.uk/members/member.php?id=" . $project->getUserId() . "\">" . htmlspecialchars($projectUser->getFullName()) . "</a><br>\n" . $project->outputDates() . "<br>\n" . $project->outputDuration() . ' ' . $project->outputLocation() . "<br>\n<br>\n" . nl2br(stripslashes($project->getDescription())) . "<br>\n<br>\n";
 if ($auto && !$project->isShortTerm()) {
     $message .= "<strong>***If no one replies to this topic the request will be automatically approved within " . $project->automaticApprovalDuration() . " days.***</strong>";
 }
 $project->submitMailingList($message, $initial);
 // is this a short term request? If so automatically approve it
 if ($project->isShortTerm()) {
     $project->setState('Approved');
     $project->store();
     // log the update