Exemplo n.º 1
0
function plugin_init_relation()
{
    global $PLUGIN_HOOKS, $LANG, $CFG_GLPI, $GO_CLASS_RELATIONS;
    //CRI
    $PLUGIN_HOOKS['csrf_compliant']['relation'] = true;
    //CRI
    $GO_CLASS_RELATIONS = array('CommonDBConnexity', 'CommonDBRelation', 'PluginWebapplicationsWebapplication_Item', 'PluginAccountsAccount', 'PluginCertificatesCertificate', 'PluginServiciosServicio_Item', 'PluginMreportingCommon', 'PluginMreportingBaseclass', 'PluginMreportingHelpdesk', 'PluginMreportingHelpdeskplus', 'PluginMreportingInventory', 'PluginMreportingOther', 'PluginTalkTicket', 'PluginAccountsAccount_Item', 'PluginEscaladeConfig', 'CommonDropdown', 'CommonDevice', 'PluginOcsinventoryngDeviceBiosdata', 'Item_Devices', 'PluginOcsinventoryngItem_DeviceBiosdata', 'Profile', 'PluginGenericobjectProfile', 'CommonDBChild', 'ProfileRight', 'Search', 'Dropdown', 'CommonTreeDropdown', 'Entity', 'PluginWebapplicationsProfile', 'PluginServiciosProfile', 'PluginMreportingProfile', 'PluginTalkProfile', 'PluginTalkUserpref', 'PluginCertificatesProfile', 'PluginAccountsProfile', 'PluginReportsProfile', 'PluginOcsinventoryngProfile', 'PluginAdditionalalertsProfile', 'PluginMobileProfile', 'PluginDatabasesDatabase_Item', 'PluginRelationRelation', 'Computer', 'Monitor', 'PluginFormcreatorForm', 'Software', 'User', 'PluginWebapplicationsWebapplication', 'PluginServiciosServicio', 'PluginBehaviorsCommon', 'PluginBehaviorsTicket', 'PluginCustomfieldsField', 'PluginOcsinventoryngOcsServer', 'PluginGenericobjectType', 'PluginGenericobjectObject', 'PluginGenericobjectSingletonObjectField', 'PluginGenericobjectField', 'PluginAddressingPing_Equipment', 'PluginFinancialreportsDisposalItem', 'PluginRacksItemSpecification', 'ComputerModel', 'NetworkEquipmentModel', 'PeripheralModel', 'PluginRacksOtherModel', 'PluginDatabasesDatabase', 'PluginBondsBond', 'Preference', 'NetworkEquipment', 'NetworkPort', 'Peripheral', 'Printer', 'CartridgeItem', 'Cartridge', 'ConsumableItem', 'Consumable', 'Phone', 'PluginWebapplicationsMenu', 'PluginServiciosMenu', 'PluginCertificatesMenu', 'PluginRacksMenu', 'PluginRacksConfig', 'PluginRacksRackModel', 'PluginDatabasesMenu', 'PluginVehiculeVehicule', 'CommonITILObject', 'Ticket', 'TicketTemplate', 'CommonITILValidation', 'TicketValidation', 'Problem', 'Change', 'Planning', 'Stat', 'TicketRecurrent', 'PluginFormcreatorFormlist', 'PluginFormcreatorFormanswer', 'Budget', 'Supplier', 'Contact', 'Contract', 'Document', 'Project', 'ProjectTask', 'Reminder', 'RSSFeed', 'KnowbaseItem', 'ReservationItem', 'Log', 'Reservation', 'Report', 'MigrationCleaner', 'PluginMreportingDashboard', 'PluginMreportingConfig', 'PluginOcsinventoryngMenu', 'PluginOcsinventoryngConfig', 'PluginAddressingMenu', 'PluginAddressingAddressing', 'PluginDatainjectionMenu', 'PluginDatainjectionModel', 'PluginCustomfieldsConfig', 'AuthLDAP', 'Group', 'Rule', 'RuleCollection', 'RuleImportEntityCollection', 'RuleImportEntity', 'RuleImportComputerCollection', 'RuleImportComputer', 'RuleMailCollectorCollection', 'MailCollector', 'RuleRightCollection', 'RuleRight', 'RuleSoftwareCategoryCollection', 'RuleSoftwareCategory', 'RuleTicketCollection', 'RuleTicket', 'Transfer', 'RuleDictionnaryDropdown', 'RuleDictionnarySoftware', 'RuleDictionnaryPrinter', 'QueuedMail', 'Backup', 'Event', 'PluginAccountsMenu', 'PluginAccountsHash', 'PluginRenamerMenu', 'PluginWebapplicationsWebapplicationType', 'PluginWebapplicationsWebapplicationServerType', 'PluginWebapplicationsWebapplicationTechnic', 'PluginServiciosServicioType', 'PluginServiciosServicioServerType', 'PluginServiciosServicioTechnic', 'PluginServiciosOrientado', 'PluginServiciosEnsnivel', 'PluginServiciosCriticidad', 'PluginTagTag', 'PluginCertificatesCertificateType', 'PluginCertificatesCertificateState', 'PluginAccountsAccountType', 'PluginAccountsAccountState', 'PluginOcsinventoryngNetworkPortType', 'NetworkPortInstantiation', 'PluginOcsinventoryngNetworkPort', 'PluginDatabasesDatabaseType', 'PluginDatabasesDatabaseCategory', 'PluginDatabasesServerType', 'PluginDatabasesScriptType', 'Location', 'State', 'Manufacturer', 'Blacklist', 'BlacklistedMailContent', 'ITILCategory', 'TaskCategory', 'SolutionType', 'RequestType', 'SolutionTemplate', 'ProjectState', 'ProjectType', 'ProjectTaskType', 'ComputerType', 'NetworkEquipmentType', 'PrinterType', 'MonitorType', 'PeripheralType', 'PhoneType', 'SoftwareLicenseType', 'CartridgeItemType', 'ConsumableItemType', 'ContractType', 'ContactType', 'DeviceMemoryType', 'SupplierType', 'InterfaceType', 'DeviceCaseType', 'PhonePowerSupply', 'Filesystem', 'PrinterModel', 'MonitorModel', 'PhoneModel', 'VirtualMachineType', 'VirtualMachineSystem', 'VirtualMachineState', 'DocumentCategory', 'DocumentType', 'KnowbaseItemCategory', 'Calendar', 'Holiday', 'OperatingSystem', 'OperatingSystemVersion', 'OperatingSystemServicePack', 'AutoUpdateSystem', 'NetworkInterface', 'NetworkEquipmentFirmware', 'Netpoint', 'Domain', 'Network', 'Vlan', 'CommonImplicitTreeDropdown', 'IPNetwork', 'FQDN', 'WifiNetwork', 'FQDNLabel', 'NetworkName', 'SoftwareCategory', 'UserTitle', 'UserCategory', 'RuleRightParameter', 'Fieldblacklist', 'SsoVariable', 'PluginFormcreatorHeader', 'PluginFormcreatorCategory', 'PluginRacksRoomLocation', 'PluginRacksConnection', 'PluginRacksRackType', 'PluginRacksRackState', 'DeviceMotherboard', 'DeviceProcessor', 'DeviceMemory', 'DeviceHardDrive', 'DeviceNetworkCard', 'DeviceDrive', 'DeviceControl', 'DeviceGraphicCard', 'DeviceSoundCard', 'DevicePci', 'DeviceCase', 'DevicePowerSupply', 'Notification', 'SLA', 'Control', 'Crontask', 'Auth', 'AuthMail', 'Link', 'PluginCustomConfig', 'PluginCustomTab', 'PluginCustomDefaulttab', 'PluginAdditionalalertsMenu', 'PluginAdditionalalertsAdditionalalert', 'PluginWebservicesClient', 'PluginRelationConfig', 'Ajax', 'DisplayPreference', 'PluginMreportingPreference', 'InfoCom');
    // Params : plugin name - string type - ID - Array of attributes
    Plugin::registerClass('PluginRelationProfile', array('addtabon' => array('Profile')));
    Plugin::registerClass('PluginRelationRelation');
    Plugin::registerClass('PluginRelationTyperelation');
    Plugin::registerClass('PluginRelationRelationclase');
    // Display a menu entry ?
    // plugin enabled
    if (class_exists('PluginRelationRelation')) {
        $PLUGIN_HOOKS['pre_item_purge']['relation'] = array('Profile' => array('PluginRelationProfile', 'cleanProfiles'));
        $PLUGIN_HOOKS['item_purge']['relation'] = array();
        foreach (PluginRelationRelation::getTypes(true) as $type) {
            $PLUGIN_HOOKS['item_purge']['relation'][$type] = 'plugin_item_purge_anything';
        }
    }
    //$PLUGIN_HOOKS['pre_item_purge']['relation'] = array('Profile' => array('PluginRelationProfile','cleanProfiles'));
    // Massive Action definition
    $PLUGIN_HOOKS['use_massive_action']['relation'] = 1;
    // Config page
    if (Session::haveRight('config', UPDATE)) {
        $PLUGIN_HOOKS['config_page']['relation'] = 'front/config.php';
    }
    $PLUGIN_HOOKS['submenu_entry']['relation']['options']['typerelation'] = array('title' => __('Tipos relaciones', 'relation'), 'page' => '/plugins/relation/front/typerelation.php', 'links' => array('search' => '/plugins/relation/front/typerelation.php', 'add' => '/plugins/relation/front/typerelation.form.php'));
    $PLUGIN_HOOKS['submenu_entry']['relation']['options']['clase'] = array('title' => __('Clases', 'relation'), 'page' => '/plugins/relation/front/clase.php', 'links' => array('search' => '/plugins/relation/front/clase.php', 'add' => '/plugins/relation/front/clase.form.php'));
    $PLUGIN_HOOKS['submenu_entry']['relation']['options']['relationclase'] = array('title' => __('Relaciones clase', 'relation'), 'page' => '/plugins/relation/front/relationclase.form.php', 'links' => array('search' => '/plugins/relation/front/relationclase.php', 'add' => '/plugins/relation/front/relationclase.form.php'));
    //redirect appel http://localhost/glpi/index.php?redirect=plugin_example_2 (ID 2 du form)
    $PLUGIN_HOOKS['redirect_page']['relation'] = 'relation.form.php';
    $PLUGIN_HOOKS['menu_toadd']['relation'] = array('config' => 'PluginRelationConfig');
    $PLUGIN_HOOKS['add_css']['relation'] = array('dd.css');
    $PLUGIN_HOOKS['add_javascript']['relation'] = array('jquery.dd.min.js');
    $PLUGIN_HOOKS['post_init']['relation'] = 'plugin_relation_postinit';
    //Iniciar los items de para registrar los tabs.
}
Exemplo n.º 2
0
function plugin_relation_getAddSearchOptions($itemtype)
{
    $sopt = array();
    if (Session::haveRight("plugin_relation", CREATE)) {
        $sopt['relation'] = 'Relaciones';
        if (in_array($itemtype, PluginRelationRelation::getTypes(true))) {
            $sopt[2250]['table'] = 'glpi_plugin_relation_relations';
            $sopt[2250]['field'] = '';
            $sopt[2250]['linkfield'] = 'parent';
            $sopt[2250]['name'] = PluginRelationRelation::getTypeName(2) . " - " . __('Inversa');
            $sopt[2250]['datatype'] = 'itemlink';
            //$sopt[2250]['datatype']	= 'dropdown';
            $sopt[2250]['itemlink_type'] = $itemtype;
            $sopt[2250]['forcegroupby'] = true;
            $sopt[2250]['massiveaction'] = false;
            $sopt[2251]['table'] = 'glpi_plugin_relation_relations';
            $sopt[2251]['field'] = '';
            $sopt[2251]['linkfield'] = 'children';
            $sopt[2251]['name'] = PluginRelationRelation::getTypeName(2) . " - " . __('Directa');
            $sopt[2251]['forcegroupby'] = true;
            //$sopt[2251]['datatype'] = 'dropdown';
            $sopt[2251]['datatype'] = 'itemlink';
            $sopt[2251]['itemlink_type'] = $itemtype;
            $sopt[2251]['massiveaction'] = false;
            //$sopt[2251]['link2'] = 'children2';
            //$sopt[2251]["splititems"] = true;
        }
    }
    return $sopt;
}
Exemplo n.º 3
0
 public static function displayTabContentForItem(CommonGLPI $item, $tabnum = 1, $withtemplate = 0)
 {
     $type = get_Class($item);
     if (in_array($type, PluginRelationRelation::getTypes(true))) {
         self::showAssociated($item);
     } else {
         return false;
     }
     return true;
 }