[evolvis-commits] r14186: Fixed generation of SCM repositories for private projects

mirabilos at evolvis.org mirabilos at evolvis.org
Mon Feb 28 03:56:14 CET 2011


Author: mirabilos
Date: 2011-02-28 03:56:14 +0100 (Mon, 28 Feb 2011)
New Revision: 14186

Modified:
   trunk/gforge_base/evolvisforge-5.1/gforge/common/include/SCMPlugin.class.php
   trunk/gforge_base/evolvisforge-5.1/gforge/common/include/session.php
Log:
Fixed generation of SCM repositories for private projects

Modified: trunk/gforge_base/evolvisforge-5.1/gforge/common/include/SCMPlugin.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/include/SCMPlugin.class.php	2011-02-28 02:56:11 UTC (rev 14185)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/include/SCMPlugin.class.php	2011-02-28 02:56:14 UTC (rev 14186)
@@ -68,15 +68,19 @@
 			$this->printShortStats ($params) ;
 			break;
 		case 'scm_create_repo':
+			session_set_admin () ;
 			$this->createOrUpdateRepo ($params) ;
 			break;
 		case 'scm_update_repolist':
+			session_set_admin () ;
 			$this->updateRepositoryList ($params) ;
 			break;
 		case 'scm_generate_snapshots': // Optional
+			session_set_admin () ;
 			$this->generateSnapshots ($params) ;
 			break;
 		case 'scm_gather_stats': // Optional
+			session_set_admin () ;
 			$this->gatherStats ($params) ;
 			break;
 		default:

Modified: trunk/gforge_base/evolvisforge-5.1/gforge/common/include/session.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/include/session.php	2011-02-28 02:56:11 UTC (rev 14185)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/include/session.php	2011-02-28 02:56:14 UTC (rev 14186)
@@ -428,7 +428,30 @@
 
 }
 
+
 /**
+ *	session_set_admin() - Setup session for the admin user
+ *
+ *	This function sets up a session for the administrator
+ *
+ *	@return none
+ */
+function session_set_admin() {
+	$res = db_query_params ('SELECT user_id FROM user_group WHERE admin_flags=$1 AND group_id=1',
+				array ('A'));
+	if (!$res) {
+		echo db_error();
+		exit (1);
+	}
+	if (db_numrows($res) == 0) {
+		echo "No admin users?\n" ;
+		exit (1);
+	}
+	$id = db_result ($res, 0, 0);
+	session_set_new ($id);
+}
+
+/**
  *	Private optimization function for logins - fetches user data, language, and session
  *	with one query
  *



More information about the evolvis-commits mailing list