コード例 #1
0
define('GLPI_ROOT', '..');
include GLPI_ROOT . "/inc/includes.php";
checkRight("ocsng", "w");
$ocs = new OcsServer();
if (!isset($_GET["id"])) {
    $_GET["id"] = "";
}
commonHeader($LANG['ocsng'][0], $_SERVER['PHP_SELF'], "config", "ocsng");
//Delete template or server
if (isset($_POST["delete"])) {
    $ocs->delete($_POST);
    $ocs->redirectToList();
    //Update server
} else {
    if (isset($_POST["update"])) {
        $ocs->update($_POST);
        glpi_header($_SERVER["HTTP_REFERER"]);
        //Update server
    } else {
        if (isset($_POST["update_server"])) {
            $ocs->update($_POST);
            glpi_header($_SERVER["HTTP_REFERER"]);
            //Add new server
        } else {
            if (isset($_POST["add"])) {
                $newid = $ocs->add($_POST);
                glpi_header($_SERVER["HTTP_REFERER"]);
                //Other
            } else {
                $ocs->showForm($_GET["id"]);
            }
コード例 #2
0
 static function checkConfig($what = 1)
 {
     global $DBocs;
     # Check OCS version
     if ($what & 1) {
         $result = $DBocs->query("SELECT `TVALUE`\n                                  FROM `config`\n                                  WHERE `NAME` = 'GUI_VERSION'");
         // Update OCS version on ocsservers
         if ($DBocs->numrows($result)) {
             $server = new OcsServer();
             $server->update(array('id' => $DBocs->ocsservers_id, 'ocs_version' => $DBocs->result($result, 0, 0)));
         }
         if ($DBocs->numrows($result) != 1 || $DBocs->result($result, 0, 0) < self::OCS_VERSION_LIMIT && strpos($DBocs->result($result, 0, 0), '2.0') !== 0) {
             // hack for 2.0 RC
             return false;
         }
     }
     // Check TRACE_DELETED in CONFIG
     if ($what & 2) {
         $result = $DBocs->query("SELECT `IVALUE`\n                                  FROM `config`\n                                  WHERE `NAME` = 'TRACE_DELETED'");
         if ($DBocs->numrows($result) != 1 || $DBocs->result($result, 0, 0) != 1) {
             $query = "UPDATE `config`\n                      SET `IVALUE` = '1'\n                      WHERE `NAME` = 'TRACE_DELETED'";
             if (!$DBocs->query($query)) {
                 return false;
             }
         }
     }
     // Check write access on hardware.CHECKSUM
     if ($what & 4) {
         if (!$DBocs->query("UPDATE `hardware`\n                             SET `CHECKSUM` = CHECKSUM\n                             LIMIT 1")) {
             return false;
         }
     }
     // Check delete access on deleted_equiv
     if ($what & 8) {
         if (!$DBocs->query("DELETE\n                             FROM `deleted_equiv`\n                             LIMIT 0")) {
             return false;
         }
     }
     return true;
 }