/** * * 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; }