tbrehm
2008-11-19 abad7861a111b77f93b0b58ea6aaa336779a555e
Fixed enable / disable funnction for database access
1 files modified
47 ■■■■ changed files
server/plugins-available/mysql_clientdb_plugin.inc.php 47 ●●●● patch | view | raw | blame | history
server/plugins-available/mysql_clientdb_plugin.inc.php
@@ -84,15 +84,18 @@
                $app->log('Unable to connect to the database'.mysql_error($link),LOGLEVEL_ERROR);
            }
            
            // Create the database user
            if($data["new"]["remote_access"] == 'y') {
                 $db_host = '%';
            } else {
                $db_host = 'localhost';
            // Create the database user if database is active
            if($data["new"]["active"] == 'y') {
                if($data["new"]["remote_access"] == 'y') {
                     $db_host = '%';
                } else {
                    $db_host = 'localhost';
                }
                mysql_query("GRANT ALL ON ".mysql_real_escape_string($data["new"]["database_name"]).".* TO '".mysql_real_escape_string($data["new"]["database_user"])."'@'$db_host' IDENTIFIED BY '".mysql_real_escape_string($data["new"]["database_password"])."';",$link);
                //echo "GRANT ALL ON ".mysql_real_escape_string($data["new"]["database_name"]).".* TO '".mysql_real_escape_string($data["new"]["database_user"])."'@'$db_host' IDENTIFIED BY '".mysql_real_escape_string($data["new"]["database_password"])."';";
            }
            mysql_query("GRANT ALL ON ".mysql_real_escape_string($data["new"]["database_name"]).".* TO '".mysql_real_escape_string($data["new"]["database_user"])."'@'$db_host' IDENTIFIED BY '".mysql_real_escape_string($data["new"]["database_password"])."';",$link);
            //echo "GRANT ALL ON ".mysql_real_escape_string($data["new"]["database_name"]).".* TO '".mysql_real_escape_string($data["new"]["database_user"])."'@'$db_host' IDENTIFIED BY '".mysql_real_escape_string($data["new"]["database_password"])."';";
            
            mysql_query("FLUSH PRIVILEGES;",$link);
            mysql_close($link);
@@ -107,7 +110,7 @@
                $app->log('Unable to open'.ISPC_LIB_PATH.'/mysql_clientdb.conf',LOGLEVEL_ERROR);
                return;
            }
            //* Connect to the database
            $link = mysql_connect($clientdb_host, $clientdb_user, $clientdb_password);
            if (!$link) {
@@ -115,6 +118,32 @@
                return;
            }
            
            // Create the database user if database was disabled before
            if($data["new"]["active"] == 'y' && $data["old"]["active"] == 'n') {
                if($data["new"]["remote_access"] == 'y') {
                     $db_host = '%';
                } else {
                    $db_host = 'localhost';
                }
                mysql_query("GRANT ALL ON ".mysql_real_escape_string($data["new"]["database_name"]).".* TO '".mysql_real_escape_string($data["new"]["database_user"])."'@'$db_host' IDENTIFIED BY '".mysql_real_escape_string($data["new"]["database_password"])."';",$link);
                //echo "GRANT ALL ON ".mysql_real_escape_string($data["new"]["database_name"]).".* TO '".mysql_real_escape_string($data["new"]["database_user"])."'@'$db_host' IDENTIFIED BY '".mysql_real_escape_string($data["new"]["database_password"])."';";
            }
            // Remove database user, if inactive
            if($data["new"]["active"] == 'n' && $data["old"]["active"] == 'y') {
                if($data["old"]["remote_access"] == 'y') {
                     $db_host = '%';
                } else {
                    $db_host = 'localhost';
                }
                mysql_query("REVOKE ALL ON ".mysql_real_escape_string($data["new"]["database_name"]).".* TO '".mysql_real_escape_string($data["new"]["database_user"])."'@'$db_host' IDENTIFIED BY '".mysql_real_escape_string($data["new"]["database_password"])."';",$link);
                //echo "GRANT ALL ON ".mysql_real_escape_string($data["new"]["database_name"]).".* TO '".mysql_real_escape_string($data["new"]["database_user"])."'@'$db_host' IDENTIFIED BY '".mysql_real_escape_string($data["new"]["database_password"])."';";
            }
            //* Rename User
            if($data["new"]["database_user"] != $data["old"]["database_user"]) {
                mysql_query("RENAME USER '".mysql_real_escape_string($data["old"]["database_user"])."' TO '".mysql_real_escape_string($data["new"]["database_user"])."'",$link);