function doSpecificMassiveActions($input = array()) { $res = array('ok' => 0, 'ko' => 0, 'noright' => 0); $projet_item = new PluginProjetProjet_Item(); switch ($input['action']) { case "Transfert": if ($input['itemtype'] == 'PluginProjetProjet') { foreach ($input["item"] as $key => $val) { if ($val == 1) { $PluginProjetTask = new PluginProjetTask(); $restrict = "`plugin_projet_projets_id` = '" . $key . "'"; $tasks = getAllDatasFromTable("glpi_plugin_projet_tasks"); if (!empty($tasks)) { foreach ($tasks as $task) { $PluginProjetTask->getFromDB($task["id"]); $tasktype = PluginProjetTaskType::transfer($PluginProjetTask->fields["plugin_projet_tasktypes_id"], $input['entities_id']); if ($tasktype > 0) { $values["id"] = $task["id"]; $values["plugin_projet_tasktypes_id"] = $tasktype; $PluginProjetTask->update($values); } $values["id"] = $task["id"]; $values["entities_id"] = $input['entities_id']; $PluginProjetTask->update($values); } } 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_projet_projets_id' => $key, 'items_id' => $input["item_item"], 'itemtype' => $input['typeitem']); if ($projet_item->add($values)) { $res['ok']++; } else { $res['ko']++; } } } break; case "Desinstall": foreach ($input["item"] as $key => $val) { if ($val == 1) { if ($projet_item->deleteItemByProjetAndItem($key, $input['item_item'], $input['typeitem'])) { $res['ok']++; } else { $res['ko']++; } } } break; default: return parent::doSpecificMassiveActions($input); break; } return $res; }
function plugin_projet_MassiveActionsProcess($data) { $res = array('ok' => 0, 'ko' => 0, 'noright' => 0); $projet_item = new PluginProjetProjet_Item(); switch ($data['action']) { case "plugin_projet_add_item": foreach ($data["item"] as $key => $val) { if ($val == 1) { $input = array('plugin_projet_projets_id' => $data['plugin_projet_projets_id'], 'items_id' => $key, 'itemtype' => $data['itemtype']); if ($projet_item->can(-1, 'w', $input)) { if ($projet_item->add($input)) { $res['ok']++; } else { $res['ko']++; } } else { $res['noright']++; } } } break; } }