// must be valid deadline or empty $formattedDeadline = strtotime($deadline); if ($formattedDeadline === false && $deadline != '') { $json = array('error' => 'Deadline must be a valid date or empty.'); exit(json_encode($json)); } // format deadline for MYSQL $formattedDeadline = $formattedDeadline != '' ? date("Y-m-d H:i:s", $formattedDeadline) : null; // format private $private = empty($private) ? 0 : 1; // create the project $project = new Project(array('creator_id' => Session::getUserID(), 'title' => $title, 'slug' => '', 'pitch' => $pitch, 'specs' => $specs, 'rules' => $rules, 'status' => Project::STATUS_PRE_PRODUCTION, 'deadline' => $formattedDeadline, 'private' => $private)); $project->save(); // generate slug from project title/ID $slug = toAscii($title); $slug = $project->getID() . '-' . $slug; // save new slug $project->setSlug($slug); $project->save(); // add creator as ProjectUser $pu = new ProjectUser(array('project_id' => $project->getID(), 'user_id' => Session::getUserID(), 'relationship' => ProjectUser::CREATOR)); $pu->save(); // log it $logEvent = new Event(array('event_type_id' => 'create_project', 'project_id' => $project->getID(), 'user_1_id' => Session::getUserID())); $logEvent->save(); // send us back //$successURL = Url::project($project->getID()); $successURL = Url::peopleInvite($project->getID()); Session::setMessage('Project created! Now you need some members.'); $json = array('success' => '1', 'successUrl' => $successURL); echo json_encode($json);