Exemplo n.º 1
0
function plugin_init_positions()
{
    global $PLUGIN_HOOKS, $CFG_GLPI;
    $PLUGIN_HOOKS['csrf_compliant']['positions'] = true;
    $PLUGIN_HOOKS['change_profile']['positions'] = array('PluginPositionsProfile', 'changeProfile');
    if (class_exists('PluginPositionsPosition')) {
        // only if plugin activated
        $PLUGIN_HOOKS['pre_item_purge']['positions'] = array('Profile' => array('PluginPositionsProfile', 'purgeProfiles'));
    }
    if (Session::getLoginUserID()) {
        Plugin::registerClass('PluginPositionsProfile', array('addtabon' => 'Profile'));
        Plugin::registerClass('PluginPositionsPosition', array('addtabon' => 'Location'));
        // Display a menu entry ?
        if (plugin_positions_haveRight("positions", "r")) {
            $PLUGIN_HOOKS['menu_entry']['positions'] = 'front/map.form.php';
            $PLUGIN_HOOKS['helpdesk_menu_entry']['positions'] = '/front/map.form.php';
            $PLUGIN_HOOKS['submenu_entry']['positions']['search'] = 'front/position.php';
            $PLUGIN_HOOKS['submenu_entry']['positions']["<img  src='" . $CFG_GLPI["root_doc"] . "/pics/menu_showall.png' title='" . __('Map view', 'positions') . "' alt='" . __('Map view', 'positions') . "'>"] = 'front/map.form.php';
        }
        if (plugin_positions_haveRight("positions", "w")) {
            $PLUGIN_HOOKS['submenu_entry']['positions']['add'] = 'front/position.form.php';
            $PLUGIN_HOOKS['use_massive_action']['positions'] = 1;
            $PLUGIN_HOOKS['submenu_entry']['positions']['config'] = 'front/config.form.php';
            $PLUGIN_HOOKS['config_page']['positions'] = 'front/config.form.php';
            $PLUGIN_HOOKS['submenu_entry']['positions']['options']['info']['links']['search'] = '/plugins/positions/front/info.php';
            $PLUGIN_HOOKS['submenu_entry']['positions']['options']['info']['links']['add'] = '/plugins/positions/front/info.form.php';
            $PLUGIN_HOOKS['submenu_entry']['positions']['options']['info']['links']["<img  src='" . $CFG_GLPI["root_doc"] . "/pics/menu_showall.png' title='" . __('Map view', 'positions') . "' alt='" . __('Map view', 'positions') . "'>"] = '/plugins/positions/front/map.form.php';
            $PLUGIN_HOOKS['submenu_entry']['positions']['options']['info']['links']['config'] = '/plugins/positions/front/config.form.php';
        }
        // Add specific files to add to the header : javascript or css
        $PLUGIN_HOOKS['add_javascript']['positions'] = array("lib/plupload/plupload.full.js", "lib/js/jquery-1.6.2.min.js", "upload.js", "positions.js", "geoloc.js", "lib/canvas/canvasXpress.min.js", "lib/canvas/ext-canvasXpress.js", "lib/canvas/color-field.js", "lib/crop/jquery.color.js", "lib/crop/jquery.Jcrop.js", "lib/crop/jquery.Jcrop.min.js");
        //css
        $PLUGIN_HOOKS['add_css']['positions'] = array("positions.css", "lib/canvas/color-field.css", "lib/crop/jquery.Jcrop.css", "lib/crop/jquery.Jcrop.min.css");
        if (class_exists('PluginTreeviewConfig')) {
            $PLUGIN_HOOKS['treeview_params']['positions'] = array('PluginPositionsPosition', 'showPositionTreeview');
        }
    }
    // End init, when all types are registered
    $PLUGIN_HOOKS['post_init']['positions'] = 'plugin_positions_postinit';
}
Exemplo n.º 2
0
function plugin_positions_getAddSearchOptions($itemtype)
{
    $sopt = array();
    if (in_array($itemtype, PluginPositionsPosition::getTypes(true))) {
        if (plugin_positions_haveRight("positions", "r")) {
            $sopt[4415]['table'] = 'glpi_plugin_positions_positions';
            $sopt[4415]['field'] = 'name';
            $sopt[4415]['linkfield'] = '';
            $sopt[4415]['name'] = __('Cartography', 'positions') . " - " . __('Name');
            $sopt[4415]['forcegroupby'] = '1';
            $sopt[4415]['datatype'] = 'itemlink';
            $sopt[4415]['itemlink_type'] = 'PluginPositionsPosition';
            $sopt[4415]['massiveaction'] = false;
        }
    }
    return $sopt;
}
Exemplo n.º 3
0
 static function showAddFromItem($itemtype, $items_id)
 {
     global $CFG_GLPI;
     if (!plugin_positions_haveRight('positions', 'r')) {
         return false;
     }
     $itemclass = new $itemtype();
     $itemclass->getFromDB($items_id);
     echo "<div align='center'>";
     echo "<form method='post' action=\"" . $CFG_GLPI["root_doc"] . "/plugins/positions/front/position.form.php\" name='pointform' id='pointform'>";
     echo "<table class='tab_cadre_fixe'>";
     echo "<tr><th colspan='4'>" . __('Create coordinates', 'positions') . " :</th></tr>";
     echo "<tr class='tab_bg_1'><td>";
     echo __('Name') . "</td>";
     echo "<td>";
     $value = $itemclass->fields["name"];
     if (isset($itemclass->fields["contact_num"]) && !empty($itemclass->fields["contact_num"])) {
         $value = $itemclass->fields["contact_num"];
     }
     $entity = $itemclass->fields["entities_id"];
     Html::autocompletionTextField($itemclass, "name", array('value' => $value, 'entity' => $entity));
     echo "</td>";
     echo "<td>";
     $location = $itemclass->fields["locations_id"];
     if (isset($location) && !empty($location)) {
         echo Dropdown::getDropdownName("glpi_locations", $location);
     } else {
         echo "<div class='red'>" . __('No location selected', 'positions') . "</div>";
     }
     echo "</td>";
     if (empty($ID)) {
         if (plugin_positions_haveRight('positions', 'w')) {
             echo "<td>";
             echo "<input type='hidden' name='items_id' value='{$items_id}'>";
             echo "<input type='hidden' name='itemtype' value='{$itemtype}'>";
             echo "<input type='hidden' name='entities_id' value='" . $entity . "'>";
             echo "<input type='submit' name='additem' value=\"" . _sx('button', 'Add') . "\" class='submit'>";
             echo "</td>";
         }
     }
     echo "</tr>";
     echo "</table>";
     Html::closeForm();
     echo "</div>";
 }
Exemplo n.º 4
0
 static function canView()
 {
     return plugin_positions_haveRight('positions', 'r');
 }