function GUI_PMA() { $xml = simplexml_load_file(DaemonConfig::$cfg->{'ROOT_DIR'} . '/../setup/config.xml'); $pma = simplexml_load_file(DaemonConfig::$cfg->{'CONF_DIR'} . '/tpl/EasySCP_Config_PMA.xml'); System_Daemon::debug('Building the new pma config file'); $pma->{'PMA_BLOWFISH'} = $xml->{'PMA_BLOWFISH'}; $pma->{'PMA_USER'} = $xml->{'PMA_USER'}; $pma->{'PMA_PASSWORD'} = DB::encrypt_data($xml->{'PMA_PASSWORD'}); $pma->{'DATABASE_HOST'} = idn_to_ascii($xml->{'DB_HOST'}); $pma->{'TMP_DIR'} = DaemonConfig::$cfg->{'GUI_ROOT_DIR'} . '/phptmp'; $handle = fopen(DaemonConfig::$cfg->{'CONF_DIR'} . '/EasySCP_Config_PMA.xml', "wb"); fwrite($handle, $pma->asXML()); fclose($handle); DaemonCommon::systemSetFilePermissions(DaemonConfig::$cfg->{'CONF_DIR'} . '/EasySCP_Config_PMA.xml', DaemonConfig::$cfg->{'ROOT_USER'}, DaemonConfig::$cfg->{'ROOT_GROUP'}, 0640); DaemonConfigTools::SavePMAConfig(); System_Daemon::debug('Adding the pma control user'); $sql_param = array(':DATABASE_HOST' => idn_to_ascii(DaemonConfig::$cfg->{'DATABASE_HOST'}), ':PMA_USER' => $xml->{'PMA_USER'}, ':PMA_PASSWORD' => $xml->{'PMA_PASSWORD'}); $sql_query = "\n\t\tGRANT USAGE ON mysql.* TO :PMA_USER@:DATABASE_HOST IDENTIFIED BY :PMA_PASSWORD;\n\t\tGRANT SELECT ON mysql.db TO :PMA_USER@:DATABASE_HOST IDENTIFIED BY :PMA_PASSWORD;\n\t\tGRANT SELECT (Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv) ON mysql.user TO :PMA_USER@:DATABASE_HOST IDENTIFIED BY :PMA_PASSWORD;\n\t\tGRANT SELECT ON mysql.host TO :PMA_USER@:DATABASE_HOST IDENTIFIED BY :PMA_PASSWORD;\n\t\tGRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv) ON mysql.tables_priv TO :PMA_USER@:DATABASE_HOST IDENTIFIED BY :PMA_PASSWORD;\n\t\tGRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON phpmyadmin.* TO :PMA_USER@:DATABASE_HOST IDENTIFIED BY :PMA_PASSWORD;\n\t\tFLUSH PRIVILEGES;\n\t"; DB::prepare($sql_query); DB::execute($sql_param)->closeCursor(); return 'Ok'; }
/** * @param string $config * @return mixed */ public static function rebuildConfigPass($config = 'system') { System_Daemon::debug('Starting "DaemonConfigCommon::rebuildConfigPass" subprocess.'); switch ($config) { case 'DNS': System_Daemon::debug('Starting "DNS" subprocess.'); $SavePDNSConfig = DaemonConfigDNS::SavePDNSConfig(); if ($SavePDNSConfig !== true) { return $SavePDNSConfig; } System_Daemon::debug('Finished "DNS" subprocess.'); break; case 'FTP': System_Daemon::debug('Starting "FTP" subprocess.'); $SaveProFTPdConfig = DaemonConfigFTP::SaveProFTPdConfig(); if ($SaveProFTPdConfig !== true) { return $SaveProFTPdConfig; } System_Daemon::debug('Finished "FTP" subprocess.'); break; case 'MTA': System_Daemon::debug('Starting "MTA" subprocess.'); $SaveMTAConfig = DaemonConfigMail::SaveMTAConfig(); if ($SaveMTAConfig !== true) { return $SaveMTAConfig; } System_Daemon::debug('Finished "MTA" subprocess.'); break; case 'PMA': System_Daemon::debug('Starting "PMA" subprocess.'); DaemonConfigTools::SavePMAConfig(); System_Daemon::debug('Finished "PMA" subprocess.'); break; case 'RC': System_Daemon::debug('Starting "RC" subprocess.'); DaemonConfigTools::SaveRCConfig(); System_Daemon::debug('Finished "RC" subprocess.'); break; case 'system': System_Daemon::debug('Starting "system" subprocess.'); $SavePDNSConfig = DaemonConfigDNS::SavePDNSConfig(); if ($SavePDNSConfig !== true) { return $SavePDNSConfig; } $SaveProFTPdConfig = DaemonConfigFTP::SaveProFTPdConfig(); if ($SaveProFTPdConfig !== true) { return $SaveProFTPdConfig; } $SaveMTAConfig = DaemonConfigMail::SaveMTAConfig(); if ($SaveMTAConfig !== true) { return $SaveMTAConfig; } System_Daemon::debug('Finished "system" subprocess.'); break; default: System_Daemon::warning("Don't know what to do with " . $config); return false; } System_Daemon::debug('Finished "DaemonConfigCommon::rebuildConfigPass" subprocess.'); return true; }