From b889edb33e4a09cc1f65d2fb9ad9f9ea16b1eae9 Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Tue, 04 Sep 2012 11:42:42 -0400
Subject: [PATCH] - Ported changes from Apache plugin to nginx plugin. - Fixed errors in system.inc.php-

---
 interface/web/sites/database_phpmyadmin.php |   54 +++++++++++++++++++++---------------------------------
 1 files changed, 21 insertions(+), 33 deletions(-)

diff --git a/interface/web/sites/database_phpmyadmin.php b/interface/web/sites/database_phpmyadmin.php
index 481a654..e0ab324 100644
--- a/interface/web/sites/database_phpmyadmin.php
+++ b/interface/web/sites/database_phpmyadmin.php
@@ -34,7 +34,9 @@
 //* Check permissions for module
 $app->auth->check_module_permissions('sites');
 
-/* get the id of the database (must be int!) */
+/*
+ *  get the id of the database (must be int!)
+ */
 if (!isset($_GET['id'])){
     die ("No DB selected!");
 }
@@ -43,48 +45,34 @@
 /*
  * Get the data to connect to the database
  */
-$dbData = $app->db->queryOneRecord(
-    "SELECT sys_userid, sys_groupid, sys_perm_user, sys_perm_group, server_id, database_name, database_user, database_password FROM web_database WHERE database_id = " .
-    $databaseId);
-
-/*
- * We also need the data of the server
- */
+$dbData = $app->db->queryOneRecord("SELECT server_id FROM web_database WHERE database_id = " . $databaseId);
 $serverId = intval($dbData['server_id']);
 if ($serverId == 0){
     die ("No DB-Server found!");
 }
-
 $serverData = $app->db->queryOneRecord(
     "SELECT server_name FROM server WHERE server_id = " .
     $serverId);
+	
+$app->uses('getconf');
+$global_config = $app->getconf->get_global_config('sites');
+$web_config = $app->getconf->get_server_config($serverId,'web');
 
 /*
- * Check if the user has the right to open phpmyadmin with this database
- * (we will check only users, not admins)
+ * We only redirect to the login-form, so there is no need, to check any rights
  */
-if($_SESSION["s"]["user"]["typ"] == 'user') {
-	/* Get the group of the client */
-	$client_group_id = intval($_SESSION["s"]["user"]["default_group"]);
-	/* compare both */
-	if ($dbData['sys_groupid'] != $client_group_id){
-	    die ("You don't have the right to access this db!");
+ 
+if($global_config['phpmyadmin_url'] != '') {
+	$phpmyadmin_url = $global_config['phpmyadmin_url'];
+	$phpmyadmin_url = str_replace('[SERVERNAME]',$serverData['server_name'],$phpmyadmin_url);
+	header('Location:'.$phpmyadmin_url);
+} else {
+	isset($_SERVER['HTTPS'])? $http = 'https' : $http = 'http';
+	if($web_config['server_type'] == 'nginx') {
+		header('location:' . $http . '://' . $serverData['server_name'] . ':8081/phpmyadmin');
+	} else {
+		header('location:' . $http . '://' . $serverData['server_name'] . '/phpmyadmin');
 	}
 }
-
-/*
- * Now generate the login-Form
- */
-isset($_SERVER['HTTPS'])? $http = 'https' : $http = 'http';
-echo '
-starting phpMyAdmin...<br>
-<form method="post" action="' . $http . '://' . $serverData['server_name'] . '/phpmyadmin/index.php" name="login_form" target="_top" style="visibility:hidden">
-    <input type="text" name="pma_username" id="input_username" value="' .  $dbData['database_user'] . '" />
-    <input type="password" name="pma_password" id="input_password" value="' . $dbData['database_password'] . '" size="24" class="textfield" />
-</form>
-<script type="text/javascript" language="javascript">
-<!--
-document.forms["login_form"].submit();
-//-->
-</script>';
+exit;
 ?>
\ No newline at end of file

--
Gitblit v1.9.1