From 63cbd77e70dae17b3a56dd3af815f99289e8bbe0 Mon Sep 17 00:00:00 2001 From: alban Date: Sat, 5 Jul 2014 19:14:57 +0200 Subject: [PATCH] [enh] diagnostic:mysql in progress --- lib/Alternc/Diagnostic/Service/Mysql.php | 80 ++++++++++++++++++++++-- 1 file changed, 75 insertions(+), 5 deletions(-) diff --git a/lib/Alternc/Diagnostic/Service/Mysql.php b/lib/Alternc/Diagnostic/Service/Mysql.php index 845564be..053f5f43 100644 --- a/lib/Alternc/Diagnostic/Service/Mysql.php +++ b/lib/Alternc/Diagnostic/Service/Mysql.php @@ -5,13 +5,83 @@ * Lists users */ class Alternc_Diagnostic_Service_Mysql - extends Alternc_Diagnostic_Service_Abstract - implements Alternc_Diagnostic_Service_Interface -{ + extends Alternc_Diagnostic_Service_Abstract + implements Alternc_Diagnostic_Service_Interface { + + public $name = "mysql"; + + protected $dbList; + protected $usersList; + protected $serversList; + + const SECTION_DB_LIST = "dbs_list"; + const SECTION_USER_LIST = "users_list"; + const SECTION_SERVERS_LIST = "servers_list"; + + function run() { + + + $this->dbList = $this->getDbList(); + $this->usersList = $this->getUsersList(); + $this->serversList = $this->getServersList(); + + // Writes the mysql db list + $this->writeSectionData(self::SECTION_DB_LIST, $this->dbList); + + // Writes the mysql user list + $this->writeSectionData(self::SECTION_USER_LIST, $this->usersList); + + // Writes the mysql servers list + $this->writeSectionData(self::SECTION_SERVERS_LIST, $this->serversList); - public $name = "mysql"; - function run(){ return $this->data; } + + function getDbList() { + $returnArray = array(); + $this->db->query("SELECT login,pass,db, bck_mode, bck_dir FROM db ORDER BY db;"); + if ($this->db->num_rows()) { + while ($this->db->next_record()) { + list($dbu,$dbn) = split_mysql_database_name($this->db->f("db")); + $returnArray[] = array( + "db" => $this->db->f("db"), + "name" => $this->db->f('db'), + "bck" => $this->db->f("bck_mode"), + "dir" => $this->db->f("bck_dir"), + "login" => $this->db->f("login"), + "pass" => $this->db->f("pass") + ); + } + } + return $returnArray; + } + + function getUsersList() { + $returnArray = array(); +// $this->db->query("SELECT id, name, homedir, enabled FROM ftpusers ORDER BY name;"); +// if ($this->db->num_rows()) { +// while ($this->db->next_record()) { +// $returnArray[$this->db->f("name")] = array( +// "enabled" => $this->db->f("enabled"), +// "dir" => $this->db->f("homedir") +// ); +// } +// } + return $returnArray; + } + + function getServersList() { + $returnArray = array(); +// $this->db->query("SELECT id, name, homedir, enabled FROM ftpusers ORDER BY name;"); +// if ($this->db->num_rows()) { +// while ($this->db->next_record()) { +// $returnArray[$this->db->f("name")] = array( +// "enabled" => $this->db->f("enabled"), +// "dir" => $this->db->f("homedir") +// ); +// } +// } + return $returnArray; + } } \ No newline at end of file