$oToolkitConfig->ChangeModulesPath('production', TOOLKITENV); $oEnvironment = new RunTimeEnvironment(TOOLKITENV); $oEnvironment->WriteConfigFileSafe($oToolkitConfig); $oEnvironment->CompileFrom('production'); $oP->add("<!-- tabs -->\n<div id=\"tabbedContent\" class=\"light\">\n"); $oP->add("<ul>\n"); $oP->add("<li><a href=\"#tab_0\" class=\"tab\"><span>Data Model Consistency</span></a></li>\n"); $oP->add("<li><a href=\"#tab_1\" class=\"tab\"><span>iTop update</span></a></li>\n"); $oP->add("<li><a href=\"#tab_2\" class=\"tab\"><span>Data Integrity</span></a></li>\n"); $oP->add("<li><a href=\"#tab_3\" class=\"tab\"><span>Translations / Dictionnary</span></a></li>\n"); $oP->add("</ul>\n"); $oP->add("<div id=\"tab_0\">"); CheckConsistency($oP); $oP->add("</div>\n"); $oP->add("<div id=\"tab_1\">"); CheckDBSchema($oP); $oP->add("</div>\n"); $oP->add("<div id=\"tab_2\">"); CheckDataIntegrity($oP); $oP->add("</div>\n"); $oP->add("<div id=\"tab_3\">"); CheckDictionary($oP); $oP->add("</div>\n"); $oP->add("</div>\n<!-- end of tabs-->\n"); $oP->add_ready_script(<<<EOF \t// Tabs, using JQuery BBQ to store the history \t// The "tab widgets" to handle. \tvar tabs = \$('#tabbedContent'); \t// Ugly patch for a change in the behavior of jQuery UI: \t// Before jQuery UI 1.9, tabs were always considered as "local" (opposed to Ajax)
// Compile the code into the production environment echo "<p>Compiling...</p>"; $bUseSymlinks = utils::ReadParam('symlink', false); $oEnvironment = new RunTimeEnvironment('production'); $oEnvironment->CompileFrom('production', $bUseSymlinks); echo "<p>Done!</p>"; break; case 'update_code_db': // Compile the code into the production environment echo "<p>Compiling...</p>"; $bUseSymlinks = utils::ReadParam('symlink', false); $oEnvironment = new RunTimeEnvironment('production'); $oEnvironment->CompileFrom('production', $bUseSymlinks); echo "<p>Updating the DB format (tables and views)...</p>"; InitDataModel(ITOP_DEFAULT_CONFIG_FILE, false); $aAnalysis = CheckDBSchema(); try { foreach ($aAnalysis as $sClass => $aData) { if (isset($aData['table_fixes'])) { foreach ($aData['table_fixes'] as $sAttCode => $aIssues) { foreach ($aIssues as $sSQL) { CMDBSource::Query($sSQL); echo "<p class=\"sql_ok\">{$sSQL};</p>\n"; } } } } foreach ($aAnalysis as $sClass => $aData) { if (isset($aData['view_fixes'])) { foreach ($aData['view_fixes'] as $sAttCode => $aIssues) { foreach ($aIssues as $sSQL) {