示例#1
0
function plugin_positions_MassiveActionsProcess($data)
{
    $pos = new PluginPositionsPosition();
    $res = array('ok' => 0, 'ko' => 0, 'noright' => 0);
    switch ($data['action']) {
        case "plugin_positions_add_item":
            $i = 0;
            foreach ($data["item"] as $key => $val) {
                if ($val == 1) {
                    $entity = $_SESSION["glpiactive_entity"];
                    $item = new $data['itemtype']();
                    $values = array('items_id' => $key, 'itemtype' => $data['itemtype'], 'entities_id' => $entity, 'x_coordinates' => $i, 'massiveaction' => 1);
                    $restrict = "`items_id` = '" . $values["items_id"] . "'\n                     AND `itemtype` = '" . $values["itemtype"] . "'";
                    if (countElementsInTable("glpi_plugin_positions_positions", $restrict) == 0) {
                        $pos->check(-1, 'w', $values);
                        if ($pos->add($values)) {
                            $res['ok']++;
                            $i = $i + 35;
                        } else {
                            $res['ko']++;
                        }
                    } else {
                        $res['ko']++;
                    }
                }
            }
            break;
        case "plugin_positions_del_item":
            foreach ($data["item"] as $key => $val) {
                if ($val == 1) {
                    $restrict = "`items_id` = '" . $key . "'\n                     AND `itemtype` = '" . $data["itemtype"] . "'";
                    $items = getAllDatasFromTable("glpi_plugin_positions_positions", $restrict);
                    if (!empty($items)) {
                        foreach ($items as $item) {
                            $values = array('id' => $item["id"], 'delete' => 'delete');
                        }
                        $pos->check($values['id'], 'w');
                        if ($pos->delete($values, 1)) {
                            $res['ok']++;
                        } else {
                            $res['ko']++;
                        }
                    } else {
                        $res['ko']++;
                    }
                }
            }
            break;
    }
    return $res;
}
示例#2
0
         } else {
             Html::redirect($CFG_GLPI["root_doc"] . "/plugins/positions/front/map.php?locations_id=" . $_POST["locations_id"]);
         }
     } else {
         $pos->check($_POST['id'], UPDATE);
         $pos->update($_POST);
         if (isset($_POST["referrer"]) && $_POST["referrer"] > 0) {
             Html::back();
         } else {
             Html::redirect($CFG_GLPI["root_doc"] . "/plugins/positions/front/position.form.php?id=" . $_POST['id']);
         }
     }
 } else {
     if (isset($_POST["delete"])) {
         $pos->check($_POST['id'], DELETE);
         $pos->delete($_POST);
         $pos->redirectToList();
     } else {
         if (isset($_POST["restore"])) {
             $pos->check($_POST['id'], PURGE);
             $pos->restore($_POST);
             $pos->redirectToList();
         } else {
             if (isset($_POST["purge"])) {
                 $pos->check($_POST['id'], PURGE);
                 $pos->delete($_POST, 1);
                 $pos->redirectToList();
                 //from items
             } else {
                 if (isset($_POST["delete_item"])) {
                     $pos->check($_POST['id'], UPDATE);