Пример #1
0
            echo "</div>";
        }
        unset($_SESSION["ocs_update"]);
        $display_list = false;
        echo "<div class='center b'><br>";
        echo "<a href='" . $_SERVER['PHP_SELF'] . "'>" . __('Back') . "</a></div>";
    }
}
if (!isset($_POST["update_ok"])) {
    if (!isset($_GET['check'])) {
        $_GET['check'] = 'all';
    }
    if (!isset($_GET['start'])) {
        $_GET['start'] = 0;
    }
    PluginOcsinventoryngOcsServer::manageDeleted($_SESSION["plugin_ocsinventoryng_ocsservers_id"]);
    if ($display_list) {
        PluginOcsinventoryngOcsServer::showComputersToUpdate($_SESSION["plugin_ocsinventoryng_ocsservers_id"], $_GET['check'], $_GET['start']);
    }
} else {
    if (count($_POST['toupdate']) > 0) {
        $_SESSION["ocs_update_count"] = 0;
        foreach ($_POST['toupdate'] as $key => $val) {
            if ($val == "on") {
                $_SESSION["ocs_update"]['computers'][] = $key;
                $_SESSION["ocs_update_count"]++;
            }
        }
    }
    Html::redirect($_SERVER['PHP_SELF']);
}
Пример #2
0
}
$tps = microtime(true);
$nbchk = 0;
$nbdel = 0;
$nbtodo = 0;
$crit = array('is_active' => 1);
foreach ($DB->request('glpi_plugin_ocsinventoryng_ocsservers', $crit) as $serv) {
    $ocsservers_id = $serv['id'];
    echo "\nServeur: " . $serv['name'] . "\n";
    if (!PluginOcsinventoryngOcsServer::checkOCSconnection($ocsservers_id)) {
        echo "** no connexion\n";
        continue;
    }
    if (isset($_GET['clean'])) {
        echo "+ Handle ID changes\n";
        PluginOcsinventoryngOcsServer::manageDeleted($ocsservers_id);
    }
    if (isset($_GET['glpi'])) {
        echo "+ Search links with no computer in GLPI\n";
        $query = "SELECT `glpi_plugin_ocsinventoryng_ocslinks`.`id`,\n                       `glpi_plugin_ocsinventoryng_ocslinks`.`ocs_deviceid`\n                FROM `glpi_plugin_ocsinventoryng_ocslinks`\n                LEFT JOIN `glpi_computers`\n                       ON `glpi_computers`.`id`=`glpi_plugin_ocsinventoryng_ocslinks`.`computers_id`\n                WHERE `glpi_computers`.`id` IS NULL\n                      AND `plugin_ocsinventoryng_ocsservers_id`='{$ocsservers_id}'";
        $result = $DB->query($query);
        if ($DB->numrows($result) > 0) {
            while ($data = $DB->fetch_array($result)) {
                $nbchk++;
                printf("%12d : %s\n", $data['id'], $data['ocs_deviceid']);
                if (isset($_GET['clean'])) {
                    $query2 = "DELETE\n                          FROM `glpi_plugin_ocsinventoryng_ocslinks`\n                          WHERE `id` = '" . $data['id'] . "'";
                    if ($DB->query($query2)) {
                        $nbdel++;
                    }
                } else {
Пример #3
0
/**
 * @param $ocsservers_id   integer  the OCS server id
**/
function FirstPass($ocsservers_id)
{
    global $DB, $PluginOcsinventoryngDBocs;
    if (PluginOcsinventoryngOcsServer::checkOCSconnection($ocsservers_id)) {
        // Compute lastest new computer
        $query = "SELECT MAX(`ID`)\n                FROM `hardware`";
        $max_id = 0;
        if ($result = $PluginOcsinventoryngDBocs->query($query)) {
            if ($PluginOcsinventoryngDBocs->numrows($result) > 0) {
                $max_id = $PluginOcsinventoryngDBocs->result($result, 0, 0);
            }
        }
        // Compute lastest synchronization date
        $query = "SELECT MAX(`last_ocs_update`)\n                FROM `glpi_plugin_ocsinventoryng_ocslinks`\n                WHERE `plugin_ocsinventoryng_ocsservers_id` = '{$ocsservers_id}'";
        $max_date = "0000-00-00 00:00:00";
        if ($result = $DB->query($query)) {
            if ($DB->numrows($result) > 0) {
                if ($DB->result($result, 0, 0) != '') {
                    $max_date = $DB->result($result, 0, 0);
                }
            }
        }
        // Store result for second pass (multi-thread)
        $server = new PluginOcsinventoryngServer();
        $fields["max_ocsid"] = $max_id;
        $fields["max_glpidate"] = $max_date;
        $fields["plugin_ocsinventoryng_ocsservers_id"] = $ocsservers_id;
        if ($server->getFromDBbyOcsServer($ocsservers_id)) {
            $fields["id"] = $server->fields["id"];
            $server->update($fields);
        } else {
            $fields["id"] = $server->add($fields);
        }
        // Handle ID changed or PC deleted in OCS.
        $cfg_ocs = PluginOcsinventoryngOcsServer::getConfig($ocsservers_id);
        echo "\tManage delete items in OCS server #{$ocsservers_id}: \"" . $cfg_ocs["name"] . "\"\n";
        PluginOcsinventoryngOcsServer::manageDeleted($ocsservers_id);
    } else {
        echo "*** Can't connect to OCS server #{$ocsservers_id} ***";
    }
}
Пример #4
0
/**
 * @param $ocsservers_id   integer  the OCS server id
 **/
function FirstPass($ocsservers_id)
{
    global $DB;
    if (PluginOcsinventoryngOcsServer::checkOCSconnection($ocsservers_id)) {
        $ocsClient = PluginOcsinventoryngOcsServer::getDBocs($ocsservers_id);
        // Compute lastest new computer
        $ocsResult = $ocsClient->getComputers(array('COMPLETE' => '0', 'MAX_RECORDS' => 1, 'ORDER' => 'ID DESC'));
        if (count($ocsResult['COMPUTERS'])) {
            $max_id = key($ocsResult['COMPUTERS']);
        } else {
            $max_id = 0;
        }
        // Compute lastest synchronization date
        $query = "SELECT MAX(`last_ocs_update`)\n                FROM `glpi_plugin_ocsinventoryng_ocslinks`\n                WHERE `plugin_ocsinventoryng_ocsservers_id` = '{$ocsservers_id}'";
        $max_date = "0000-00-00 00:00:00";
        if ($result = $DB->query($query)) {
            if ($DB->numrows($result) > 0) {
                if ($DB->result($result, 0, 0) != '') {
                    $max_date = $DB->result($result, 0, 0);
                }
            }
        }
        // Store result for second pass (multi-thread)
        $server = new PluginOcsinventoryngServer();
        $fields["max_ocsid"] = $max_id;
        $fields["max_glpidate"] = $max_date;
        $fields["plugin_ocsinventoryng_ocsservers_id"] = $ocsservers_id;
        if ($server->getFromDBbyOcsServer($ocsservers_id)) {
            $fields["id"] = $server->fields["id"];
            $server->update($fields);
        } else {
            $fields["id"] = $server->add($fields);
        }
        // Handle ID changed or PC deleted in OCS.
        $cfg_ocs = PluginOcsinventoryngOcsServer::getConfig($ocsservers_id);
        echo "\tManage delete items in OCS server #{$ocsservers_id}: \"" . $cfg_ocs["name"] . "\"\n";
        PluginOcsinventoryngOcsServer::manageDeleted($ocsservers_id, false);
    } else {
        echo "*** Can't connect to OCS server #{$ocsservers_id} ***";
    }
}