[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