function plugin_domains_getAddSearchOptions($itemtype) { $sopt = array(); if (in_array($itemtype, PluginDomainsDomain::getTypes(true))) { if (plugin_domains_haveRight("domains", "r")) { $sopt[4410]['table'] = 'glpi_plugin_domains_domains'; $sopt[4410]['field'] = 'name'; $sopt[4410]['name'] = PluginDomainsDomain::getTypeName(2) . " - " . __('Name'); $sopt[4410]['forcegroupby'] = true; $sopt[4410]['datatype'] = 'itemlink'; $sopt[4410]['itemlink_type'] = 'PluginDomainsDomain'; $sopt[4410]['massiveaction'] = false; $sopt[4410]['joinparams'] = array('beforejoin' => array('table' => 'glpi_plugin_domains_domains_items', 'joinparams' => array('jointype' => 'itemtype_item'))); $sopt[4411]['table'] = 'glpi_plugin_domains_domaintypes'; $sopt[4411]['field'] = 'name'; $sopt[4411]['name'] = PluginDomainsDomain::getTypeName(2) . " - " . PluginDomainsDomainType::getTypeName(1); $sopt[4411]['forcegroupby'] = true; $sopt[4411]['datatype'] = 'dropdown'; $sopt[4411]['massiveaction'] = false; $sopt[4411]['joinparams'] = array('beforejoin' => array(array('table' => 'glpi_plugin_domains_domains', 'joinparams' => $sopt[4410]['joinparams']))); } } return $sopt; }
function doSpecificMassiveActions($input = array()) { $res = array('ok' => 0, 'ko' => 0, 'noright' => 0); $domain_item = new PluginDomainsDomain_Item(); switch ($input['action']) { case "Transfert": if ($input['itemtype'] == 'PluginDomainsDomain') { foreach ($input["item"] as $key => $val) { if ($val == 1) { $this->getFromDB($key); $type = PluginDomainsDomainType::transfer($this->fields["plugin_domains_domaintypes_id"], $input['entities_id']); if ($type > 0) { $values["id"] = $key; $values["plugin_domains_domaintypes_id"] = $type; if ($this->update($values)) { $res['ok']++; } else { $res['ko']++; } } unset($values); $values["id"] = $key; $values["entities_id"] = $input['entities_id']; if ($this->update($values)) { $res['ok']++; } else { $res['ko']++; } } } } break; case "Install": foreach ($input["item"] as $key => $val) { if ($val == 1) { $values = array('plugin_domains_domains_id' => $key, 'items_id' => $input["item_item"], 'itemtype' => $input['typeitem']); if ($domain_item->add($values)) { $res['ok']++; } else { $res['ko']++; } } } break; case "Desinstall": foreach ($input["item"] as $key => $val) { if ($val == 1) { if ($domain_item->deleteItemByDomainsAndItem($key, $input['item_item'], $input['typeitem'])) { $res['ok']++; } else { $res['ko']++; } } } break; default: return parent::doSpecificMassiveActions($input); break; } return $res; }