[Fusionforge-commits] r7985 - in trunk/gforge: common/include plugins/scmcpold/common
Roland Mas
lolando at libremir.placard.fr.eu.org
Thu Aug 27 15:39:59 CEST 2009
Author: lolando
Date: 2009-08-27 15:39:59 +0200 (Thu, 27 Aug 2009)
New Revision: 7985
Modified:
trunk/gforge/common/include/SCMPlugin.class.php
trunk/gforge/plugins/scmcpold/common/CpoldPlugin.class.php
Log:
Cleaning up the refactoring with abstract methods
Modified: trunk/gforge/common/include/SCMPlugin.class.php
===================================================================
--- trunk/gforge/common/include/SCMPlugin.class.php 2009-08-27 13:39:48 UTC (rev 7984)
+++ trunk/gforge/common/include/SCMPlugin.class.php 2009-08-27 13:39:59 UTC (rev 7985)
@@ -24,7 +24,7 @@
require_once $gfcommon.'include/scm.php';
-class SCMPlugin extends Plugin {
+abstract class SCMPlugin extends Plugin {
/**
* SCMPlugin() - constructor
*
@@ -68,7 +68,7 @@
}
}
- function register () {
+ final function register () {
global $scm_list ;
$scm_list[] = $this->name ;
@@ -91,65 +91,9 @@
}
}
- function createOrUpdateRepo ($params) {
- $group_id = $params['group_id'] ;
+ abstract function createOrUpdateRepo ($params) ;
+ abstract function getStats ($params) ;
- $project =& group_get_object($group_id);
- if (!$project || !is_object($project)) {
- return false;
- } elseif ($project->isError()) {
- return false;
- }
-
- if (! $project->usesPlugin ($this->name)) {
- return false;
- }
-
- // ...
- }
-
- function gatherStats ($params) {
- $group_id = $params['group_id'] ;
-
- $project =& group_get_object($group_id);
- if (!$project || !is_object($project)) {
- return false;
- } elseif ($project->isError()) {
- return false;
- }
-
- if (! $project->usesPlugin ($this->name)) {
- return false;
- }
-
- // ...
- }
-
- function generateSnapshots ($params) {
- $group_id = $params['group_id'] ;
-
- $project =& group_get_object($group_id);
- if (!$project || !is_object($project)) {
- return false;
- } elseif ($project->isError()) {
- return false;
- }
-
- $group_name = $project->getUnixName();
-
- $snapshot = $sys_scm_snapshots_path.'/'.$group_name.'-scm-latest.tar.gz';
- $tarball = $sys_scm_tarballs_path.'/'.$group_name.'-scmroot.tar.gz';
-
- if (! $project->usesPlugin ($this->name)
- || ! $project->enableAnonSCM()) {
- unlink ($snapshot) ;
- unlink ($tarball) ;
- return false;
- }
-
- // ...
- }
-
function getBlurb () {
return _('<p>Unimplemented SCM plugin.</p>');
}
@@ -203,7 +147,7 @@
}
print '</td><td width="35%" valign="top">' ;
- // SVN Browsing
+ // Browsing
echo $HTML->boxTop(_('Repository History'));
echo $this->getDetailedStats(array('group_id'=>$group_id)).'<p>';
if ($this->browserDisplayable ($project)) {
@@ -220,8 +164,6 @@
}
}
-
-
function c($v) {
if ($v) {
return 'checked="checked"';
Modified: trunk/gforge/plugins/scmcpold/common/CpoldPlugin.class.php
===================================================================
--- trunk/gforge/plugins/scmcpold/common/CpoldPlugin.class.php 2009-08-27 13:39:48 UTC (rev 7984)
+++ trunk/gforge/plugins/scmcpold/common/CpoldPlugin.class.php 2009-08-27 13:39:59 UTC (rev 7985)
@@ -74,7 +74,30 @@
return ;
}
+ function createOrUpdateRepo ($params) {
+ $group_id = $params['group_id'] ;
+ $project =& group_get_object($group_id);
+ if (!$project || !is_object($project)) {
+ return false;
+ } elseif ($project->isError()) {
+ return false;
+ }
+
+ if (! $project->usesPlugin ($this->name)) {
+ return false;
+ }
+
+ $repo = $this->cpold_root . '/' . $project->getUnixName() ;
+ $unix_group = 'scm_' . $project->getUnixName() ;
+
+ system ("chgrp -R $unix_group $repo") ;
+ if ($project->enableAnonSCM()) {
+ system ("chmod -R g+wXs,o+rX-w $repo") ;
+ } else {
+ system ("chmod -R g+wXs,o-rwx $repo") ;
+ }
+ }
}
// Local Variables:
More information about the Fusionforge-commits
mailing list