Ejemplo n.º 1
0
function plugin_pre_item_update_tag($parm)
{
    global $DB;
    if (isset($_REQUEST['plugin_tag_tag_id']) && isset($_REQUEST['plugin_tag_tag_itemtype'])) {
        $already_present = array();
        $itemtype = PluginTagTag::getItemtype($_REQUEST['plugin_tag_tag_itemtype'], $_REQUEST['plugin_tag_tag_id']);
        $query_part = "`items_id`=" . $_REQUEST['plugin_tag_tag_id'] . " \n                     AND `itemtype` = '" . $itemtype . "'";
        $item = new PluginTagTagItem();
        foreach ($item->find($query_part) as $indb) {
            if (isset($_REQUEST["_plugin_tag_tag_values"]) && in_array($indb["plugin_tag_tags_id"], $_REQUEST["_plugin_tag_tag_values"])) {
                $already_present[] = $indb["plugin_tag_tags_id"];
            } else {
                $item->delete(array("id" => $indb['id']));
            }
        }
        if (isset($_REQUEST["_plugin_tag_tag_values"])) {
            foreach ($_REQUEST["_plugin_tag_tag_values"] as $tag_id) {
                if (!in_array($tag_id, $already_present)) {
                    $item->add(array('plugin_tag_tags_id' => $tag_id, 'items_id' => $_REQUEST['plugin_tag_tag_id'], 'itemtype' => ucfirst($itemtype)));
                }
            }
        }
    }
    return $parm;
}
Ejemplo n.º 2
0
<?php

include '../../../inc/includes.php';
Session::checkRight("config", UPDATE);
Plugin::load('tag', true);
$plugin = new Plugin();
if (!$plugin->isInstalled("tag") || !$plugin->isActivated("tag")) {
    Html::displayNotFoundError();
}
if (isset($_POST['add']) || isset($_REQUEST['update'])) {
    if (isset($_POST['add'])) {
        $item = new PluginTagTagItem();
        // Check unicity :
        if (isset($_REQUEST['plugin_tag_tags_id'])) {
            $found = $item->find('plugin_tag_tags_id = ' . $_REQUEST['plugin_tag_tags_id'] . '
                               AND items_id = ' . $_REQUEST['items_id'] . '
                               AND itemtype = "' . $_REQUEST['itemtype'] . '"');
            if (count($found) == 0) {
                $item->add($_REQUEST);
            }
        } else {
            $item->add($_REQUEST);
        }
    }
}
$dropdown = new PluginTagTag();
include GLPI_ROOT . "/front/dropdown.common.form.php";