/** * Display a HTML report about systeme information / configuration * **/ function showSystemInformations() { global $DB, $LANG, $CFG_GLPI; echo "<div class='center' id='tabsbody'>"; echo "<form name='form' action=\"" . getItemTypeFormURL(__CLASS__) . "\" method='post'>"; echo "<input type='hidden' name='id' value='" . $CFG_GLPI["id"] . "'>"; echo "<table class='tab_cadre_fixe'>"; echo "<tr><th colspan='4'>" . $LANG['setup'][70] . "</th></tr>"; echo "<tr class='tab_bg_2'>"; echo "<td>" . $LANG['setup'][102] . " :</td><td>"; $values[1] = $LANG['setup'][103]; $values[2] = $LANG['setup'][104]; $values[3] = $LANG['setup'][105]; $values[4] = $LANG['setup'][106]; $values[5] = $LANG['setup'][107]; Dropdown::showFromArray('event_loglevel', $values, array('value' => $CFG_GLPI["event_loglevel"])); echo "</td><td>" . $LANG['setup'][101] . " :</td><td>"; Dropdown::showInteger('cron_limit', $CFG_GLPI["cron_limit"], 1, 30); echo "</td></tr>"; echo "<tr class='tab_bg_2'>"; echo "<td> " . $LANG['setup'][185] . " :</td><td>"; Dropdown::showYesNo("use_log_in_files", $CFG_GLPI["use_log_in_files"]); echo "</td><td> " . $LANG['setup'][801] . " :</td><td>"; $active = DBConnection::isDBSlaveActive(); Dropdown::showYesNo("_dbslave_status", $active); echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; echo "<td colspan='4' class='center b'>" . $LANG['setup'][306] . ' - ' . $LANG['setup'][400] . "</td>"; echo "</tr>"; echo "<tr class='tab_bg_2'>"; echo "<td>" . $LANG['common'][52] . " :</td>"; echo "<td><input type='text' name='proxy_name' value='" . $CFG_GLPI["proxy_name"] . "'></td>"; echo "<td>" . $LANG['setup'][175] . " :</td>"; echo "<td><input type='text' name='proxy_port' value='" . $CFG_GLPI["proxy_port"] . "'></td>"; echo "</tr>"; echo "<tr class='tab_bg_2'>"; echo "<td>" . $LANG['login'][6] . " :</td>"; echo "<td><input type='text' name='proxy_user' value='" . $CFG_GLPI["proxy_user"] . "'></td>"; echo "<td>" . $LANG['login'][7] . " :</td>"; echo "<td><input type='password' name='proxy_passwd' value='' autocomplete='off'></td>"; echo "</tr>"; echo "<tr class='tab_bg_2'>"; echo "<td colspan='4' class='center'>"; echo "<input type='submit' name='update' class='submit' value=\"" . $LANG['buttons'][2] . "\"></td>"; echo "</tr>"; echo "</table>"; echo "</form>"; $width = 128; echo "<table class='tab_cadre_fixe'>"; echo "<tr><th>" . $LANG['setup'][721] . "</th></tr>"; echo "<tr class='tab_bg_1'><td><pre>[code]\n \n"; $oldlang = $_SESSION['glpilanguage']; loadLanguage('en_GB'); echo "GLPI " . $CFG_GLPI['version'] . " (" . $CFG_GLPI['root_doc'] . " => " . dirname(dirname($_SERVER["SCRIPT_FILENAME"])) . ")\n"; echo "\n</pre></td></tr>"; echo "<tr><th>" . $LANG['common'][52] . "</th></tr>\n"; echo "<tr class='tab_bg_1'><td><pre>\n \n"; echo wordwrap($LANG['setup'][5] . " : " . php_uname() . "\n", $width, "\n\t"); $exts = get_loaded_extensions(); sort($exts); echo wordwrap("PHP " . phpversion() . " (" . implode(', ', $exts) . ")\n", $width, "\n\t"); $msg = $LANG['common'][12] . ": "; foreach (array('memory_limit', 'max_execution_time', 'safe_mode', 'session.save_handler', 'post_max_size', 'upload_max_filesize') as $key) { $msg .= $key . '="' . ini_get($key) . '" '; } echo wordwrap($msg . "\n", $width, "\n\t"); $msg = $LANG['Menu'][4] . ": "; if (isset($_SERVER["SERVER_SOFTWARE"])) { $msg .= $_SERVER["SERVER_SOFTWARE"]; } if (isset($_SERVER["SERVER_SIGNATURE"])) { $msg .= ' (' . html_clean($_SERVER["SERVER_SIGNATURE"]) . ')'; } echo wordwrap($msg . "\n", $width, "\n\t"); if (isset($_SERVER["HTTP_USER_AGENT"])) { echo "\t" . $_SERVER["HTTP_USER_AGENT"] . "\n"; } $version = "???"; foreach ($DB->request('SELECT VERSION() as ver') as $data) { $version = $data['ver']; } echo "MySQL: {$version} (" . $DB->dbuser . "@" . $DB->dbhost . "/" . $DB->dbdefault . ")\n\n"; checkWriteAccessToDirs(true); foreach ($CFG_GLPI["systeminformations_types"] as $type) { $tmp = new $type(); $tmp->showSystemInformations($width); } loadLanguage($oldlang); echo "\n</pre></td></tr>"; echo "<tr class='tab_bg_1'><td>[/code]\n</td></tr>"; echo "<tr class='tab_bg_2'><th>" . $LANG['setup'][722] . "</th></tr>\n"; echo "</table></div>\n"; }
/** * Common Checks needed to use GLPI * * @return 2 : creation error 1 : delete error 0: OK **/ function commonCheckForUseGLPI() { global $LANG; $error = 0; // Title echo "<tr><th>" . $LANG['install'][6] . "</th><th >" . $LANG['install'][7] . "</th></tr>"; // Parser test echo "<tr class='tab_bg_1'><td class='left b'>" . $LANG['install'][8] . "</td>"; // PHP Version - exclude PHP3, PHP 4 and zend.ze1 compatibility if (substr(phpversion(), 0, 1) == "5") { // PHP > 5 ok, now check PHP zend.ze1_compatibility_mode if (ini_get("zend.ze1_compatibility_mode") == 1) { $error = 2; echo "<td class='red'>\n <img src='" . GLPI_ROOT . "/pics/redbutton.png'>" . $LANG['install'][10] . "</td></tr>"; } else { echo "<td><img src='" . GLPI_ROOT . "/pics/greenbutton.png' alt=\"" . $LANG['install'][11] . "\"\n title=\"" . $LANG['install'][11] . "\"></td></tr>"; } } else { // PHP <5 $error = 2; echo "<td class='red'>\n <img src='" . GLPI_ROOT . "/pics/redbutton.png'>" . $LANG['install'][9] . "</td></tr>"; } // Check for mysql extension ni php echo "<tr class='tab_bg_1'><td class='left b'>" . $LANG['install'][71] . "</td>"; if (!function_exists("mysql_query")) { echo "<td class='red'>"; echo "<img src='" . GLPI_ROOT . "/pics/redbutton.png'>" . $LANG['install'][72] . "</td></tr>"; $error = 2; } else { echo "<td><img src='" . GLPI_ROOT . "/pics/greenbutton.png' alt=\"" . $LANG['install'][73] . "\" title=\"" . $LANG['install'][73] . "\"></td></tr>"; } // session test echo "<tr class='tab_bg_1'><td class='left b'>" . $LANG['install'][12] . "</td>"; // check whether session are enabled at all!! if (!extension_loaded('session')) { $error = 2; echo "<td class='red b'>" . $LANG['install'][13] . "</td></tr>"; } else { if (isset($_SESSION["Test_session_GLPI"]) && $_SESSION["Test_session_GLPI"] == 1 || isset($_SESSION["glpi_currenttime"])) { // From Update echo "<td><img src='" . GLPI_ROOT . "/pics/greenbutton.png' alt=\"" . $LANG['install'][14] . "\" title=\"" . $LANG['install'][14] . "\"></td></tr>"; } else { if ($error != 2) { echo "<td class='red'>"; echo "<img src='" . GLPI_ROOT . "/pics/redbutton.png'>" . $LANG['install'][15] . "</td></tr>"; $error = 1; } } } //Test for session auto_start if (ini_get('session.auto_start') == 1) { echo "<tr class='tab_bg_1'><td class='left b'>" . $LANG['install'][68] . "</td>"; echo "<td class='red'>"; echo "<img src='" . GLPI_ROOT . "/pics/redbutton.png'>" . $LANG['install'][69] . "</td></tr>"; $error = 2; } //Test for option session use trans_id loaded or not. echo "<tr class='tab_bg_1'><td class='left b'>" . $LANG['install'][74] . "</td>"; if (isset($_POST[session_name()]) || isset($_GET[session_name()])) { echo "<td class='red'>"; echo "<img src='" . GLPI_ROOT . "/pics/redbutton.png'>" . $LANG['install'][75] . "</td></tr>"; $error = 2; } else { echo "<td><img src='" . GLPI_ROOT . "/pics/greenbutton.png' alt=\"" . $LANG['install'][76] . "\" title=\"" . $LANG['install'][76] . "\"></td></tr>"; } //Test for sybase extension loaded or not. echo "<tr class='tab_bg_1'><td class='left b'>" . $LANG['install'][65] . "</td>"; if (ini_get('magic_quotes_sybase')) { echo "<td class='red'>"; echo "<img src='" . GLPI_ROOT . "/pics/redbutton.png'>" . $LANG['install'][66] . "</td></tr>"; $error = 2; } else { echo "<td><img src='" . GLPI_ROOT . "/pics/greenbutton.png' alt=\"" . $LANG['install'][67] . "\" title=\"" . $LANG['install'][67] . "\"></td></tr>"; } //Test for json_encode function. echo "<tr class='tab_bg_1'><td class='left b'>" . $LANG['install'][102] . "</td>"; if (!function_exists('json_encode') || !function_exists('json_decode')) { echo "<td><img src='" . GLPI_ROOT . "/pics/redbutton.png'>" . $LANG['install'][103] . "></td></tr>"; $error = 2; } else { echo "<td><img src='" . GLPI_ROOT . "/pics/greenbutton.png' alt=\"" . $LANG['install'][85] . "\" title=\"" . $LANG['install'][85] . "\"></td></tr>"; } //Test for mbstring extension. echo "<tr class='tab_bg_1'><td class='left b'>" . $LANG['install'][104] . "</td>"; if (!extension_loaded('mbstring')) { echo "<td><img src='" . GLPI_ROOT . "/pics/redbutton.png'>" . $LANG['install'][105] . "></td></tr>"; $error = 2; } else { echo "<td><img src='" . GLPI_ROOT . "/pics/greenbutton.png' alt=\"" . $LANG['install'][85] . "\" title=\"" . $LANG['install'][85] . "\"></td></tr>"; } // memory test echo "<tr class='tab_bg_1'><td class='left b'>" . $LANG['install'][86] . "</td>"; $mem = getMemoryLimit(); if ($mem == "") { // memory_limit non compilé -> no memory limit echo "<td><img src='" . GLPI_ROOT . "/pics/greenbutton.png' alt=\"" . $LANG['install'][95] . " - " . $LANG['install'][89] . "\" title=\"" . $LANG['install'][95] . " - " . $LANG['install'][89] . "\"></td></tr>"; } else { if ($mem == "-1") { // memory_limit compilé mais illimité echo "<td><img src='" . GLPI_ROOT . "/pics/greenbutton.png' alt=\"" . $LANG['install'][96] . " - " . $LANG['install'][89] . "\" title=\"" . $LANG['install'][96] . " - " . $LANG['install'][89] . "\"></td></tr>"; } else { if ($mem < 64 * 1024 * 1024) { // memoire insuffisante $showmem = $mem / 1048576; echo "<td class='red'><img src='" . GLPI_ROOT . "/pics/redbutton.png'><b>" . $LANG['install'][87] . " {$showmem} Mo</b><br>" . $LANG['install'][88] . "<br>" . $LANG['install'][90] . "</td></tr>"; $error = 2; } else { // on a sufisament de mémoire on passe à la suite echo "<td><img src='" . GLPI_ROOT . "/pics/greenbutton.png' alt=\"" . $LANG['install'][91] . " - " . $LANG['install'][89] . "\" title=\"" . $LANG['install'][91] . " - " . $LANG['install'][89] . "\"></td></tr>"; } } } $suberr = checkWriteAccessToDirs(); return $suberr ? $suberr : $error; }