$oP = new iTopWebPage(Dict::S('config-edit-title')); $oP->set_base(utils::GetAbsoluteUrlAppRoot() . 'pages/'); try { $sOperation = utils::ReadParam('operation', ''); $oP->add("<h1>" . Dict::S('config-edit-title') . "</h1>"); if (MetaModel::GetConfig()->Get('demo_mode')) { $oP->add("<div class=\"header_message message_info\">Sorry, iTop is in <b>demonstration mode</b>: the configuration file cannot be edited.</div>"); } else { $oP->add_style(<<<EOF textarea { \t-webkit-box-sizing: border-box; \t-moz-box-sizing: border-box; \tbox-sizing: border-box; \twidth: 100%; \theight: 550px; } .current_line { \tdisplay: none; \tmargin-left: 20px; } EOF ); $sConfigFile = APPROOT . 'conf/' . utils::GetCurrentEnvironment() . '/config-itop.php'; if ($sOperation == 'save') { $sConfig = utils::ReadParam('new_config', '', false, 'raw_data'); $sOrginalConfig = utils::ReadParam('prev_config', '', false, 'raw_data'); if ($sConfig == $sOrginalConfig) { $oP->add('<div id="save_result" class="header_message">' . Dict::S('config-no-change') . '</div>'); } else { try {