本文整理汇总了PHP中Computer_Item::deleteByCriteria方法的典型用法代码示例。如果您正苦于以下问题:PHP Computer_Item::deleteByCriteria方法的具体用法?PHP Computer_Item::deleteByCriteria怎么用?PHP Computer_Item::deleteByCriteria使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Computer_Item
的用法示例。
在下文中一共展示了Computer_Item::deleteByCriteria方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: uninstall
static function uninstall($type, $model_id, $tab_ids, $location)
{
global $UNINSTALL_DIRECT_CONNECTIONS_TYPE;
//Get the model
$model = new PluginUninstallModel();
$model->getConfig($model_id);
//Then destroy all the connexions
$transfer = new Transfer();
$transfer->getFromDB($model->fields["transfers_id"]);
echo "<div class='center'>";
echo "<table class='tab_cadre_fixe'><tr><th>" . __('Uninstall', 'uninstall') . "</th></tr>";
echo "<tr class='tab_bg_2'><td>";
$count = 0;
$tot = count($tab_ids[$type]);
Html::createProgressBar(__('Please wait, uninstallation is running...', 'uninstall'));
foreach ($tab_ids[$type] as $id => $value) {
$count++;
$item = new $type();
$item->getFromDB($id);
//First clean object and change location and status if needed
$entity = $item->fields["entities_id"];
$input = array();
$input["id"] = $id;
$input["entities_id"] = $entity;
$fields = array();
//Hook to perform actions before item is being uninstalled
$item->fields['_uninstall_event'] = $model->getID();
$item->fields['_action'] = 'uninstall';
Plugin::doHook("plugin_uninstall_before", $item);
//--------------------//
//Direct connections //
//------------------//
if (in_array($type, $UNINSTALL_DIRECT_CONNECTIONS_TYPE)) {
$conn = new Computer_Item();
$conn->deleteByCriteria(array('computers_id' => $id), true);
}
//--------------------//
//-- Common fields --//
//------------------//
//RAZ contact and contactnumber
if ($item->isField('contact') && $model->fields["raz_contact"] == 1) {
$fields["contact"] = '';
if ($item->isField('contact_num')) {
$fields["contact_num"] = '';
}
}
//RAZ user
if ($model->fields["raz_user"] == 1 && $item->isField('users_id')) {
$fields["users_id"] = 0;
}
//RAZ status
if ($model->fields["states_id"] > 0 && $item->isField('states_id')) {
$fields["states_id"] = $model->fields["states_id"];
}
//RAZ machine's name
if ($item->isField('name') && $model->fields["raz_name"] == 1) {
$fields["name"] = '';
}
if ($item->isField('locations_id')) {
if ($location == '') {
$location = 0;
}
switch ($location) {
case -1:
break;
default:
$fields["locations_id"] = $location;
break;
}
}
if ($item->isField('groups_id')) {
$nbgroup = countElementsInTableForEntity("glpi_groups", $entity, "`id`='" . $item->fields['groups_id'] . "'");
if ($model->fields["groups_id"] > -1 && $nbgroup == 1) {
// If a new group is defined and if the group is accessible in the object's entity
$fields["groups_id"] = $model->fields["groups_id"];
}
}
//------------------------------//
//-- Computer specific fields --//
//------------------------------//
if ($type == 'Computer') {
//RAZ all OS related informations
if ($model->fields["raz_os"] == 1) {
$fields["operatingsystems_id"] = 0;
$fields["operatingsystemversions_id"] = 0;
$fields["operatingsystemservicepacks_id"] = 0;
$fields["os_licenseid"] = '';
$fields["os_license_number"] = '';
$fields["autoupdatesystems_id"] = 0;
}
$plug = new Plugin();
if ($plug->isActivated('ocsinventoryng')) {
if ($item->fields["is_dynamic"] && ($model->fields["remove_from_ocs"] || $model->fields["delete_ocs_link"])) {
$input["is_dynamic"] = 0;
}
}
if ($item->isField('domains_id') && $model->fields["raz_domain"]) {
$fields["domains_id"] = 0;
}
//RAZ network
//.........这里部分代码省略.........