Ejemplo n.º 1
0
function plugin_geninventorynumber_uninstall()
{
    $migration = new Migration("0.85+1.0");
    include_once GLPI_ROOT . '/plugins/geninventorynumber/inc/config.class.php';
    include_once GLPI_ROOT . '/plugins/geninventorynumber/inc/profile.class.php';
    include_once GLPI_ROOT . '/plugins/geninventorynumber/inc/configfield.class.php';
    PluginGeninventorynumberConfig::uninstall($migration);
    PluginGeninventorynumberProfile::removeRightsFromSession();
    PluginGeninventorynumberProfile::uninstallProfile();
    PluginGeninventorynumberConfigField::uninstall($migration);
    return true;
}
 static function displayTabContentForItem(CommonGLPI $item, $tabnum = 1, $withtemplate = 0)
 {
     switch ($tabnum) {
         case 0:
             $item->showForm(1);
             break;
         case 1:
             PluginGeninventorynumberConfigField::showForConfig($item->getID());
             break;
     }
     return TRUE;
 }
 static function preItemUpdate(CommonDBTM $item)
 {
     if (!Session::haveRight("plugin_geninventorynumber", UPDATE)) {
         return array('noright');
     }
     if (PluginGeninventorynumberConfig::isGenerationActive() && PluginGeninventorynumberConfigField::isActiveForItemType(get_class($item)) && !isset($item->input['massiveaction'])) {
         if (isset($item->fields['otherserial']) && isset($item->input['otherserial']) && $item->fields['otherserial'] != $item->input['otherserial']) {
             $item->input['otherserial'] = $item->fields['otherserial'];
             if (!isCommandLine()) {
                 Session::addMessageAfterRedirect(__('GenerateInventoryNumberDenied', 'geninventorynumber'), true, ERROR);
                 return array('ko');
             }
         }
         return array('ok');
     }
     return '';
 }
Ejemplo n.º 4
0
 static function registerType()
 {
     global $DB, $PLUGIN_HOOKS, $UNINSTALL_TYPES, $ORDER_TYPES, $CFG_GLPI, $GO_LINKED_TYPES, $GENINVENTORYNUMBER_TYPES;
     $class = get_called_class();
     $item = new $class();
     $fields = PluginGenericobjectSingletonObjectField::getInstance($class);
     $plugin = new Plugin();
     PluginGenericobjectType::includeLocales($item->getObjectTypeName());
     PluginGenericobjectType::includeConstants($item->getObjectTypeName());
     $options = array("document_types" => $item->canUseDocuments(), "helpdesk_visible_types" => $item->canUseTickets(), "linkgroup_types" => isset($fields["groups_id"]), "linkuser_types" => isset($fields["users_id"]), "linkgroup_tech_types" => isset($fields["groups_id_tech"]), "linkuser_tech_types" => isset($fields["users_id_tech"]), "ticket_types" => $item->canUseTickets(), "infocom_types" => $item->canUseInfocoms(), "networkport_types" => $item->canUseNetworkPorts(), "reservation_types" => $item->canBeReserved(), "contract_types" => $item->canUseContracts(), "unicity_types" => $item->canUseUnicity(), "location_types" => isset($fields['locations_id']));
     Plugin::registerClass($class, $options);
     if (plugin_genericobject_haveRight($class, READ)) {
         //Change url for adding a new object, depending on template management activation
         if ($item->canUseTemplate()) {
             //Template management is active
             $add_url = "/front/setup.templates.php?itemtype={$class}&add=1";
             $PLUGIN_HOOKS['submenu_entry']['genericobject']['options'][$class]['links']['template'] = "/front/setup.templates.php?itemtype={$class}&add=0";
         } else {
             //Template management is not active
             $add_url = Toolbox::getItemTypeFormURL($class, false);
         }
         //Menu management
         $PLUGIN_HOOKS['submenu_entry']['genericobject']['options'][$class]['title'] = $class::getTypeName();
         $PLUGIN_HOOKS['submenu_entry']['genericobject']['options'][$class]['page'] = Toolbox::getItemTypeSearchURL($class, false);
         $PLUGIN_HOOKS['submenu_entry']['genericobject']['options'][$class]['links']['search'] = Toolbox::getItemTypeSearchURL($class, false);
         if (plugin_genericobject_haveRight($class, UPDATE)) {
             $PLUGIN_HOOKS['submenu_entry']['genericobject']['options'][$class]['links']['add'] = $add_url;
         }
         //Add configuration icon, if user has right
         if (Session::haveRight('config', UPDATE)) {
             $PLUGIN_HOOKS['submenu_entry']['genericobject']['options'][$class]['links']['config'] = Toolbox::getItemTypeSearchURL('PluginGenericobjectType', false) . "?itemtype={$class}";
         }
         if ($item->canUsePluginUninstall()) {
             if (!in_array($class, $UNINSTALL_TYPES)) {
                 array_push($UNINSTALL_TYPES, $class);
             }
         }
         if ($item->canUsePluginSimcard()) {
             if ($plugin->isActivated('simcard') && $plugin->isActivated('simcard')) {
                 PluginSimcardSimcard_Item::registerItemtype($class);
             }
         }
         if ($item->canUsePluginOrder()) {
             if (!in_array($class, $ORDER_TYPES)) {
                 array_push($ORDER_TYPES, $class);
             }
         }
         if ($item->canUseGlobalSearch()) {
             if (!in_array($class, $CFG_GLPI['asset_types'])) {
                 array_push($CFG_GLPI['asset_types'], $class);
             }
             if (!in_array($class, $CFG_GLPI['globalsearch_types'])) {
                 array_push($CFG_GLPI['globalsearch_types'], $class);
             }
             if (!in_array($class, $CFG_GLPI['state_types'])) {
                 array_push($CFG_GLPI['state_types'], $class);
                 array_push($CFG_GLPI['globalsearch_types'], $class);
             }
         }
         if ($item->canUseDirectConnections()) {
             if (!in_array($class, $GO_LINKED_TYPES)) {
                 array_push($GO_LINKED_TYPES, $class);
             }
             $items_class = $class . "_Item";
             //if (class_exists($items_class)) {
             $items_class::registerType();
             //}
         }
         if ($item->canUseProjects()) {
             if (!in_array($class, $CFG_GLPI['project_asset_types'])) {
                 array_push($CFG_GLPI['project_asset_types'], $class);
             }
         }
         if ($item->canUsePluginGeninventorynumber()) {
             if (!in_array($class, $GENINVENTORYNUMBER_TYPES)) {
                 include_once GLPI_ROOT . '/plugins/geninventorynumber/inc/profile.class.php';
                 PluginGeninventorynumberConfigField::registerNewItemType($class);
                 array_push($GENINVENTORYNUMBER_TYPES, $class);
             }
         } elseif ($plugin->isActivated('geninventorynumber')) {
             include_once GLPI_ROOT . '/plugins/geninventorynumber/inc/profile.class.php';
             PluginGeninventorynumberConfigField::unregisterNewItemType($class);
         }
     }
     foreach (PluginGenericobjectType::getDropdownForItemtype($class) as $table) {
         $itemtype = getItemTypeForTable($table);
         if (class_exists($itemtype)) {
             $item = new $itemtype();
             //If entity dropdown, check rights to view & create
             if ($itemtype::canView()) {
                 $PLUGIN_HOOKS['submenu_entry']['genericobject']['options'][$itemtype]['links']['search'] = Toolbox::getItemTypeSearchURL($itemtype, false);
                 if ($itemtype::canCreate()) {
                     $PLUGIN_HOOKS['submenu_entry']['genericobject']['options'][$class]['links']['add'] = Toolbox::getItemTypeFormURL($class, false);
                 }
             }
         }
     }
 }
 geninventorynumber plugin is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 geninventorynumber plugin is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 This file is part of geninventorynumber plugin.
 You should have received a copy of the GNU General Public License
 along with GLPI; along with geninventorynumber. If not, see <http://www.gnu.org/licenses/>.
 --------------------------------------------------------------------------
 @package   geninventorynumber
 @author    the geninventorynumber plugin team
 @copyright Copyright (c) 2008-2013 geninventorynumber plugin team
 @license   GPLv2+
            http://www.gnu.org/licenses/gpl.txt
 @link      https://forge.indepnet.net/projects/geninventorynumber
 @link      http://www.glpi-project.org/
 @since     2008
 ---------------------------------------------------------------------- */
include '../../../inc/includes.php';
$configfield = new PluginGeninventorynumberConfigField();
if (isset($_POST["update_fields"]) && isset($_POST["ids"])) {
    foreach ($_POST['ids'] as $itemtype => $data) {
        $configfield->update($data);
    }
}
Html::back();