/** * パッケージ作成 */ public function package_create() { // TODO 仕様の確認 $user = $this->user(); $package = new OpenpearPackage(); if ($this->is_post() && $this->verify()) { try { $package->cp($this->vars()); $package->author_id($user->id()); $package->save(); $package->add_maintainer($user); $this->redirect_by_map('package', $package->name()); } catch (Exception $e) { C($package)->rollback(); Log::debug($e); } } $this->cp($package); }
public final function srcpath_link(OpenpearPackage $package, $path) { $ret = ''; $parent = ''; foreach (explode('/', $path) as $p) { $link = File::absolute(url(sprintf('package/%s/src/%s', $package->name())), implode('/', array($parent, $p))); $ret .= sprintf('<a href="%s">%s</a>', $link, $p); $parent .= $p; } return $ret; }