From 0732d32f508045da40fe9df607b9ef20ce2d198f Mon Sep 17 00:00:00 2001 From: xaver <xaver@ispconfig3> Date: Tue, 06 Mar 2012 10:03:23 -0500 Subject: [PATCH] join fix - disappered in commit + Switch traffic joins, because its faster - Tested in a productive system (MySQL 5.1) as query few tausend domains 1-3 sec for Webtraffic sort, faster SQL = faster and MySQL 5.5 is much faster with joins (standard is not sorted with slow traffic querys) -> slowest part is coping the tables into temp -> more tweeks on cache... -> faster by heavy use --- interface/web/sites/database_phpmyadmin.php | 55 ++++++++++++++++++++++--------------------------------- 1 files changed, 22 insertions(+), 33 deletions(-) diff --git a/interface/web/sites/database_phpmyadmin.php b/interface/web/sites/database_phpmyadmin.php index eeb840f..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,47 +45,34 @@ /* * Get the data to connect to the database */ -$dbData = $app->dbmaster->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->dbmaster->queryOneRecord( +$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 = $_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 - */ -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