/** * Create a new project. * @param $name * @param bool $withdefault * @param int $userid * @return Message */ public function addProject($name, $withdefault = false, $userid = -1) { if (is_bool($this->getProject($name))) { $this->db->insert("project", ["name" => $name]); $projectid = $this->getProject($name); if (!is_bool($projectid) && is_numeric($projectid)) { $project = new Project($projectid); if ($withdefault) { $project->addDefaultGroups(); } if ($userid != -1) { $group = $project->getGroup("Managers", true); if (!is_bool($group)) { $project->addUser($userid, $group); return new Message("Created new Project with Default groups. And added the user to Managers."); } if (is_bool($group)) { $project->addGroup("Managers", 1); $project->addUser($userid, "Managers"); return new Message("Created new Project with Managers group and added user to it."); } } return new Message("Created new empty Project"); } else { return new Error(0105, "Error while retrieving project."); } } else { return new Error(0106, "Project already exists."); } }