Beispiel #1
0
 static function canView()
 {
     return plugin_appliances_haveRight('appliance', 'r');
 }
Beispiel #2
0
function plugin_init_appliances()
{
    global $PLUGIN_HOOKS, $CFG_GLPI;
    $PLUGIN_HOOKS['csrf_compliant']['appliances'] = true;
    // Params : plugin name - string type - number - attributes
    Plugin::registerClass('PluginAppliancesAppliance', array('linkuser_types' => true, 'linkuser_tech_types' => true, 'linkgroup_types' => true, 'linkgroup_tech_types' => true, 'infocom_types' => true, 'document_types' => true, 'contract_types' => true, 'ticket_types' => true, 'helpdesk_visible_types' => true));
    Plugin::registerClass('PluginAppliancesProfile', array('addtabon' => 'Profile'));
    Plugin::registerClass('PluginAppliancesEnvironment');
    Plugin::registerClass('PluginAppliancesApplianceType');
    Plugin::registerClass('PluginAppliancesAppliance_Item');
    Plugin::registerClass('PluginAppliancesOptvalue');
    Plugin::registerClass('PluginAppliancesOptvalue_Item');
    Plugin::registerClass('PluginAppliancesRelation');
    if (class_exists('PluginAccountsAccount')) {
        PluginAccountsAccount::registerType('PluginAppliancesAppliance');
    }
    if (class_exists('PluginCertificatesCertificate')) {
        PluginCertificatesCertificate::registerType('PluginAppliancesAppliance');
    }
    if (class_exists('PluginDatabasesDatabase')) {
        PluginDatabasesDatabase::registerType('PluginAppliancesAppliance');
    }
    if (class_exists('PluginDomainsDomain')) {
        PluginDomainsDomain::registerType('PluginAppliancesAppliance');
    }
    if (class_exists('PluginWebapplicationsWebapplication')) {
        PluginWebapplicationsWebapplication::registerType('PluginAppliancesAppliance');
    }
    // Define the type for which we know how to generate PDF, need :
    $PLUGIN_HOOKS['plugin_pdf']['PluginAppliancesAppliance'] = 'PluginAppliancesAppliancePDF';
    $PLUGIN_HOOKS['migratetypes']['appliances'] = 'plugin_datainjection_migratetypes_appliances';
    $PLUGIN_HOOKS['change_profile']['appliances'] = array('PluginAppliancesProfile', 'select');
    $PLUGIN_HOOKS['assign_to_ticket']['appliances'] = true;
    if (class_exists('PluginAppliancesAppliance')) {
        // only if plugin activated
        $PLUGIN_HOOKS['pre_item_purge']['appliances'] = array('Profile' => array('PluginAppliancesProfile', 'cleanProfile'));
        $PLUGIN_HOOKS['item_clone']['appliances'] = array('Profile' => array('PluginAppliancesProfile', 'cloneProfile'));
        $PLUGIN_HOOKS['plugin_datainjection_populate']['appliances'] = 'plugin_datainjection_populate_appliances';
    }
    if (isset($_SESSION["glpiID"])) {
        if (isset($_SESSION["glpi_plugin_environment_installed"]) && $_SESSION["glpi_plugin_environment_installed"] == 1) {
            $_SESSION["glpi_plugin_environment_appliances"] = 1;
            // Display a menu entry ?
            if (plugin_appliances_haveRight("appliance", "r")) {
                $PLUGIN_HOOKS['menu_entry']['appliances'] = false;
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['appliances']['title'] = _n('Appliance', 'Appliances', 2, 'appliances');
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['appliances']['page'] = '/plugins/appliances/front/appliance.php';
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['appliances']['links']['search'] = '/plugins/appliances/front/appliance.php';
            }
            if (plugin_appliances_haveRight("appliance", "w")) {
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['appliances']['links']['add'] = '/plugins/appliances/front/appliance.form.php';
                $PLUGIN_HOOKS['use_massive_action']['appliances'] = 1;
            }
        } else {
            // Display a menu entry ?
            if (plugin_appliances_haveRight("appliance", "r")) {
                $PLUGIN_HOOKS['menu_entry']['appliances'] = 'front/appliance.php';
                $PLUGIN_HOOKS['submenu_entry']['appliances']['search'] = 'front/appliance.php';
            }
            if (plugin_appliances_haveRight("appliance", "w")) {
                $PLUGIN_HOOKS['submenu_entry']['appliances']['add'] = 'front/appliance.form.php?new=1';
                $PLUGIN_HOOKS['use_massive_action']['appliances'] = 1;
            }
        }
    }
    // Import from Data_Injection plugin
    $PLUGIN_HOOKS['data_injection']['appliances'] = "plugin_appliances_data_injection_variables";
    // Import webservice
    $PLUGIN_HOOKS['webservices']['appliances'] = 'plugin_appliances_registerMethods';
    // End init, when all types are registered
    $PLUGIN_HOOKS['post_init']['appliances'] = 'plugin_appliances_postinit';
}
Beispiel #3
0
/**
 * Define search option for types of the plugins
**/
function plugin_appliances_getAddSearchOptions($itemtype)
{
    $sopt = array();
    if (plugin_appliances_haveRight("appliance", "r")) {
        if (in_array($itemtype, PluginAppliancesAppliance::getTypes(true))) {
            $sopt[1210]['table'] = 'glpi_plugin_appliances_appliances';
            $sopt[1210]['field'] = 'name';
            $sopt[1210]['massiveaction'] = false;
            $sopt[1210]['name'] = sprintf(__('%1$s - %2$s'), __('Appliance', 'appliances'), __('Name'));
            $sopt[1210]['forcegroupby'] = true;
            $sopt[1210]['datatype'] = 'itemlink';
            $sopt[1210]['itemlink_type'] = 'PluginAppliancesAppliance';
            $sopt[1210]['joinparams'] = array('beforejoin' => array('table' => 'glpi_plugin_appliances_appliances_items', 'joinparams' => array('jointype' => 'itemtype_item')));
            $sopt[1211]['table'] = 'glpi_plugin_appliances_appliancetypes';
            $sopt[1211]['field'] = 'name';
            $sopt[1211]['massiveaction'] = false;
            $sopt[1211]['name'] = sprintf(__('%1$s - %2$s'), __('Appliance', 'appliances'), __('Type'));
            $sopt[1211]['forcegroupby'] = true;
            $sopt[1211]['joinparams'] = array('beforejoin' => array(array('table' => 'glpi_plugin_appliances_appliances', 'joinparams' => $sopt[1210]['joinparams'])));
        }
    }
    return $sopt;
}
 function getTabNameForItem(CommonGLPI $item, $withtemplate = 0)
 {
     if (!$withtemplate) {
         if ($item->getType() == 'PluginAppliancesAppliance' && count(PluginAppliancesAppliance::getTypes(false))) {
             if ($_SESSION['glpishow_count_on_tabs']) {
                 return self::createTabEntry(_n('Associated item', 'Associated items', 2), self::countForAppliance($item));
             }
             return __('Associated item', 'Associated items', 2);
         } else {
             if (in_array($item->getType(), PluginAppliancesAppliance::getTypes(true)) && plugin_appliances_haveRight('appliance', 'r')) {
                 if ($_SESSION['glpishow_count_on_tabs']) {
                     return self::createTabEntry(PluginAppliancesAppliance::getTypeName(2), self::countForItem($item));
                 }
                 return PluginAppliancesAppliance::getTypeName(2);
             }
         }
     }
     return '';
 }
Beispiel #5
0
LICENSE

This file is part of appliances.

appliances 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.

appliances 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.

You should have received a copy of the GNU General Public License
along with appliances. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------
*/
include "../../../inc/includes.php";
$plugin = new Plugin();
if ($plugin->isActivated("environment")) {
    Html::header(_n('Appliance', 'Appliances', 2, 'appliances'), $_SERVER['PHP_SELF'], "plugins", "environment", "appliances");
} else {
    Html::header(_n('Appliance', 'Appliances', 2, 'appliances'), $_SERVER['PHP_SELF'], "plugins", "appliances");
}
if (plugin_appliances_haveRight("appliance", "r") || Session::haveRight("config", "w")) {
    Search::show('PluginAppliancesAppliance');
} else {
    Html::displayRightError();
}
Html::footer();