Browse Source

Fix database info

jmontoyaa 9 years ago
parent
commit
c42c9be41a
1 changed files with 62 additions and 27 deletions
  1. 62 27
      main/inc/lib/diagnoser.lib.php

+ 62 - 27
main/inc/lib/diagnoser.lib.php

@@ -13,20 +13,21 @@
  */
 class Diagnoser
 {
+    const STATUS_OK = 1;
+    const STATUS_WARNING = 2;
+    const STATUS_ERROR 	= 3;
+    const STATUS_INFORMATION = 4;
+
     /**
-     * The status's
+     * Contructor
      */
-    const STATUS_OK 			= 1;
-    const STATUS_WARNING 		= 2;
-    const STATUS_ERROR 			= 3;
-    const STATUS_INFORMATION 	= 4;
-
-    function __construct() {
+    public function __construct()
+    {
     }
 
-    function show_html() {
-
-        $sections = array('chamilo', 'php', 'mysql', 'webserver');
+    public function show_html()
+    {
+        $sections = array('chamilo', 'php', 'database', 'webserver');
 
         if (!in_array(trim($_GET['section']), $sections)) {
             $current_section = 'chamilo';
@@ -37,7 +38,6 @@ class Diagnoser
         $html = '<div class="tabbable"><ul class="nav nav-tabs">';
 
         foreach ($sections as $section) {
-
             if ($current_section == $section) {
                 $html .= '<li class="active">';
             } else {
@@ -68,7 +68,7 @@ class Diagnoser
      * Functions to get the data for the chamilo diagnostics
      * @return array of data
      */
-    function get_chamilo_data()
+    public function get_chamilo_data()
     {
         $array = array();
         $writable_folders = array(
@@ -107,7 +107,8 @@ class Diagnoser
      * Functions to get the data for the php diagnostics
      * @return array of data
      */
-    function get_php_data() {
+    public function get_php_data()
+    {
         $array = array();
 
         // General Functions
@@ -270,18 +271,48 @@ class Diagnoser
      * Functions to get the data for the mysql diagnostics
      * @return array of data
      */
-    function get_mysql_data() {
+    public function get_database_data()
+    {
         $array = array();
+        $em = Database::getManager();
+        $connection = $em->getConnection();
+        $host = $connection->getHost();
+        $db = $connection->getDatabase();
+        $port = $connection->getPort();
+        $driver = $connection->getDriver()->getName();
+
+        $array[] = $this->build_setting(
+            self :: STATUS_INFORMATION,
+            '[Database]',
+            'driver',
+            '',
+            $driver, null, null, get_lang('Driver')
+        );
 
-        // A note: Maybe it would be better if all "MySQL"-like variable names and words on the page to be replaced with "Database"-like ones.
+        $array[] = $this->build_setting(
+            self :: STATUS_INFORMATION,
+            '[Database]',
+            'host',
+            '',
+            $host, null, null, get_lang('MysqlHostInfo')
+        );
 
-        //$array[] = $this->build_setting(self :: STATUS_INFORMATION, '[MySQL]', 'host', 'http://www.php.net/manual/en/function.mysql-get-host-info.php', Database::get_host_info(), null, null, get_lang('MysqlHostInfo'));
-        /*
-        $array[] = $this->build_setting(self :: STATUS_INFORMATION, '[MySQL]', 'mysql_get_server_info()', 'http://www.php.net/manual/en/function.mysql-get-server-info.php', Database::get_server_info(), null, null, get_lang('MysqlServerInfo'));
+        $array[] = $this->build_setting(
+            self :: STATUS_INFORMATION,
+            '[Database]',
+            'port',
+            '',
+            $port, null, null, get_lang('Port')
+        );
 
-        $array[] = $this->build_setting(self :: STATUS_INFORMATION, '[MySQL]', 'mysql_get_proto_info()', 'http://www.php.net/manual/en/function.mysql-get-proto-info.php', Database::get_proto_info(), null, null, get_lang('MysqlProtoInfo'));
 
-        $array[] = $this->build_setting(self :: STATUS_INFORMATION, '[MySQL]', 'mysql_get_client_info()', 'http://www.php.net/manual/en/function.mysql-get-client-info.php', Database::get_client_info(), null, null, get_lang('MysqlClientInfo'));*/
+        $array[] = $this->build_setting(
+            self :: STATUS_INFORMATION,
+            '[Database]',
+            'Database name',
+            '',
+            $db, null, null, get_lang('Name')
+        );
 
         return $array;
     }
@@ -290,7 +321,8 @@ class Diagnoser
      * Functions to get the data for the webserver diagnostics
      * @return array of data
      */
-    function get_webserver_data() {
+    public function get_webserver_data()
+    {
         $array = array();
 
         $array[] = $this->build_setting(self :: STATUS_INFORMATION, '[SERVER]', '$_SERVER["SERVER_NAME"]', 'http://be.php.net/reserved.variables.server', $_SERVER["SERVER_NAME"], null, null, get_lang('ServerNameInfo'));
@@ -320,8 +352,7 @@ class Diagnoser
     /**
      * Additional functions needed for fast integration
      */
-
-    function build_setting($status, $section, $title, $url, $current_value, $expected_value, $formatter, $comment, $img_path = null) {
+    public function build_setting($status, $section, $title, $url, $current_value, $expected_value, $formatter, $comment, $img_path = null) {
         switch ($status) {
             case self :: STATUS_OK :
                 $img = 'bullet_green.png';
@@ -363,11 +394,13 @@ class Diagnoser
      * @param $url
      * @return string the url
      */
-    function get_link($title, $url) {
+    public function get_link($title, $url)
+    {
         return '<a href="' . $url . '" target="about:bank">' . $title . '</a>';
     }
 
-    function format_yes_no_optional($value) {
+    public function format_yes_no_optional($value)
+    {
     	$return = '';
     	switch($value) {
      		case 0:
@@ -384,11 +417,13 @@ class Diagnoser
 
     }
 
-    function format_yes_no($value) {
+    function format_yes_no($value)
+    {
         return $value ? get_lang('Yes') : get_lang('No');
     }
 
-    function format_on_off($value) {
+    function format_on_off($value)
+    {
         $value = intval($value);
         if ($value > 1) {
             // Greater than 1 values are shown "as-is", they may be interpreted as "On" later.