public function onProjectCreate(ProjectEvent $event) { $hooks = $event->getProject()->getRepository()->getHooks(); foreach ($this->hooks as $name => $file) { $hooks->setSymlink($name, $file); } }
/** * Method called when a project is deleted */ public function onProjectDelete(ProjectEvent $event) { $path = $this->getPath($event->getProject()); $flags = \FilesystemIterator::SKIP_DOTS; $iterator = new \RecursiveDirectoryIterator($path, $flags); $iterator = new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::CHILD_FIRST); foreach ($iterator as $file) { if (is_file($file)) { unlink($file); } else { rmdir($file); } } rmdir($path); }
public function onProjectCreate(ProjectEvent $event) { $project = $event->getProject(); if (count($project->getGitAccesses())) { return; } $em = $this->registry->getManager(); $roles = $em->getRepository('GitonomyCoreBundle:Role')->getIndexedByName(array('Lead developer', 'Developer', 'Visitor')); if (isset($roles['Lead developer'])) { $permissions[] = new ProjectGitAccess($project, $roles['Lead developer'], '*', true, true); } if (isset($roles['Developer'])) { $permissions[] = new ProjectGitAccess($project, $roles['Developer'], '*', true, false); } if (isset($roles['Visitor'])) { $permissions[] = new ProjectGitAccess($project, $roles['Visitor'], '*', false, false); } foreach ($permissions as $permission) { $project->getGitAccesses()->add($permission); $em->persist($permission); } }