Example #1
0
 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;
 }
Example #2
0
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;
    }
}