Beispiel #1
0
/**
 *
 * Unlock fields managed by the plugin
 * @since 1.0
 * @param $_POST array
 */
function plugin_ocsinventoryng_unlockFields($params = array())
{
    $computer = new Computer();
    $computer->check($_POST['id'], 'w');
    if (isset($_POST["lockfield"]) && count($_POST["lockfield"])) {
        foreach ($_POST["lockfield"] as $key => $val) {
            PluginOcsinventoryngOcsServer::deleteInOcsArray($_POST["id"], $key, "computer_update");
        }
    }
}
 static function resetOCSLocks($objectId, $entities)
 {
     global $DB;
     $res = array('ok' => 0, 'ko' => 0);
     $object = new $objectId();
     $objecttable = getTableForItemType($objectId);
     $restrict = "";
     if ($object->maybeTemplate()) {
         $restrict = "`is_template` = '0'";
     }
     if ($object->isEntityAssign() && $entities != -1) {
         $restrict .= getEntitiesRestrictRequest(" AND ", $objecttable, '', $entities, $object->maybeRecursive());
     }
     $count = countElementsInTable($objecttable, $restrict);
     $items = getAllDatasFromTable($objecttable, $restrict);
     $computers = array();
     if (!empty($items)) {
         echo "<div class='center'>";
         echo "<table class='tab_cadre_fixe'>";
         echo "<tr class='tab_bg_2'><td>";
         Html::createProgressBar(__('Work in progress...'));
         echo "</td></tr></table></div></br>\n";
         $i = 0;
         foreach ($items as $item) {
             //Fields
             if (PluginOcsinventoryngOcsServer::deleteInOcsArray($item['id'], 'all', "computer_update", true)) {
                 $res['ok']++;
             }
             $i++;
             $computers[$item['id']] = 1;
             Html::changeProgressBarPosition($i, $count);
         }
         foreach (Item_Devices::getDeviceTypes() as $itemtype) {
             $res[] = Lock::unlockItems($itemtype, 'Computer', $computers);
         }
         $res[] = Lock::unlockItems('Monitor', 'Monitor', $computers);
         $res[] = Lock::unlockItems('Printer', 'Printer', $computers);
         $res[] = Lock::unlockItems('Peripheral', 'Peripheral', $computers);
         $res[] = Lock::unlockItems('SoftwareVersion', 'SoftwareVersion', $computers);
         $res[] = Lock::unlockItems('NetworkPort', 'Computer', $computers);
         $res[] = Lock::unlockItems('NetworkName', 'NetworkPort', $computers);
         $res[] = Lock::unlockItems('IPAddress', 'NetworkName', $computers);
         $res[] = Lock::unlockItems('ComputerDisk', 'ComputerDisk', $computers);
         $res[] = Lock::unlockItems('ComputerVirtualMachine', 'ComputerVirtualMachine', $computers);
         Html::changeProgressBarPosition($i, $count, __('Task completed.'));
     }
     return $res;
 }