/** * Create a new project. * * @param array $input * @return ProjectModel */ public function create(array $input) { $public = isset($input['public']) ? (int) $input['public'] : 0; $project = $this->project->create(array('name' => $input['name'], 'public' => $public)); //create a placeholder image for project $this->fs->copy($this->app['base_dir'] . '/assets/images/image_not_found.png', $this->app['base_dir'] . '/assets/images/projects/project-' . $project->id . '.png'); if (isset($input['template'])) { $project = $this->useTemplate($project, $input['template'], $public); } else { $page = new Page(array('name' => 'index', 'theme' => 'yeti')); $project->pages()->save($page); } if (!$public) { $this->sentry->getUser()->projects()->attach($project->id); } return $project; }