function plugin_init_databases()
{
    global $PLUGIN_HOOKS;
    $PLUGIN_HOOKS['csrf_compliant']['databases'] = true;
    $PLUGIN_HOOKS['change_profile']['databases'] = array('PluginDatabasesProfile', 'initProfile');
    $PLUGIN_HOOKS['assign_to_ticket']['databases'] = true;
    //$PLUGIN_HOOKS['assign_to_ticket_dropdown']['databases'] = true;
    //$PLUGIN_HOOKS['assign_to_ticket_itemtype']['databases'] = array('PluginDatabasesDatabase_Item');
    Plugin::registerClass('PluginDatabasesDatabase', array('linkgroup_tech_types' => true, 'linkuser_tech_types' => true, 'document_types' => true, 'ticket_types' => true, 'helpdesk_visible_types' => true, 'addtabon' => 'Supplier'));
    Plugin::registerClass('PluginDatabasesProfile', array('addtabon' => 'Profile'));
    //Plugin::registerClass('PluginDatabasesDatabase_Item',
    //                      array('ticket_types' => true));
    if (class_exists('PluginAccountsAccount')) {
        PluginAccountsAccount::registerType('PluginDatabasesDatabase');
    }
    if (Session::getLoginUserID()) {
        $plugin = new Plugin();
        if (!$plugin->isActivated('environment') && Session::haveRight("plugin_databases", READ)) {
            $PLUGIN_HOOKS['menu_toadd']['databases'] = array('assets' => 'PluginDatabasesMenu');
        }
        if (Session::haveRight("plugin_databases", UPDATE)) {
            $PLUGIN_HOOKS['use_massive_action']['databases'] = 1;
        }
        if (class_exists('PluginDatabasesDatabase_Item')) {
            // only if plugin activated
            $PLUGIN_HOOKS['plugin_datainjection_populate']['databases'] = 'plugin_datainjection_populate_databases';
        }
        // End init, when all types are registered
        $PLUGIN_HOOKS['post_init']['databases'] = 'plugin_databases_postinit';
        // Import from Data_Injection plugin
        $PLUGIN_HOOKS['migratetypes']['databases'] = 'plugin_datainjection_migratetypes_databases';
    }
}
function plugin_init_certificates()
{
    global $PLUGIN_HOOKS;
    $PLUGIN_HOOKS['csrf_compliant']['certificates'] = true;
    $PLUGIN_HOOKS['change_profile']['certificates'] = array('PluginCertificatesProfile', 'initProfile');
    $PLUGIN_HOOKS['assign_to_ticket']['certificates'] = true;
    if (Session::getLoginUserID()) {
        // Params : plugin name - string type - number - attributes
        Plugin::registerClass('PluginCertificatesCertificate', array('linkgroup_tech_types' => true, 'linkuser_tech_types' => true, 'document_types' => true, 'helpdesk_visible_types' => true, 'ticket_types' => true, 'contract_types' => true, 'notificationtemplates_types' => true));
        Plugin::registerClass('PluginCertificatesConfig', array('addtabon' => 'CronTask'));
        Plugin::registerClass('PluginCertificatesProfile', array('addtabon' => 'Profile'));
        if (class_exists('PluginAccountsAccount')) {
            PluginAccountsAccount::registerType('PluginCertificatesCertificate');
        }
        $plugin = new Plugin();
        if (!$plugin->isActivated('environment') && Session::haveRight("plugin_certificates", READ)) {
            $PLUGIN_HOOKS['menu_toadd']['certificates'] = array('assets' => 'PluginCertificatesMenu');
        }
        if (Session::haveRight("plugin_certificates", UPDATE)) {
            $PLUGIN_HOOKS['use_massive_action']['certificates'] = 1;
        }
        // End init, when all types are registered
        $PLUGIN_HOOKS['post_init']['certificates'] = 'plugin_certificates_postinit';
    }
}
Beispiel #3
0
function plugin_init_databases()
{
    global $PLUGIN_HOOKS;
    $PLUGIN_HOOKS['csrf_compliant']['databases'] = true;
    $PLUGIN_HOOKS['change_profile']['databases'] = array('PluginDatabasesProfile', 'changeProfile');
    $PLUGIN_HOOKS['assign_to_ticket']['databases'] = true;
    if (Session::getLoginUserID()) {
        Plugin::registerClass('PluginDatabasesDatabase', array('linkgroup_tech_types' => true, 'linkuser_tech_types' => true, 'document_types' => true, 'ticket_types' => true, 'helpdesk_visible_types' => true, 'addtabon' => 'Supplier'));
        Plugin::registerClass('PluginDatabasesProfile', array('addtabon' => 'Profile'));
        if (class_exists('PluginAccountsAccount')) {
            PluginAccountsAccount::registerType('PluginDatabasesDatabase');
        }
        if (isset($_SESSION["glpi_plugin_environment_installed"]) && $_SESSION["glpi_plugin_environment_installed"] == 1) {
            $_SESSION["glpi_plugin_environment_databases"] = 1;
            // Display a menu entry ?
            if (plugin_databases_haveRight("databases", "r")) {
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['databases']['title'] = PluginDatabasesDatabase::getTypeName(2);
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['databases']['page'] = '/plugins/databases/front/database.php';
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['databases']['links']['search'] = '/plugins/databases/front/database.php';
            }
            if (plugin_databases_haveRight("databases", "w")) {
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['databases']['links']['add'] = '/plugins/databases/front/database.form.php';
                $PLUGIN_HOOKS['use_massive_action']['databases'] = 1;
            }
        } else {
            // Display a menu entry ?
            if (plugin_databases_haveRight("databases", "r")) {
                $PLUGIN_HOOKS['menu_entry']['databases'] = 'front/database.php';
                $PLUGIN_HOOKS['submenu_entry']['databases']['search'] = 'front/database.php';
            }
            if (plugin_databases_haveRight("databases", "w")) {
                $PLUGIN_HOOKS['submenu_entry']['databases']['add'] = 'front/database.form.php?new=1';
                $PLUGIN_HOOKS['use_massive_action']['databases'] = 1;
            }
        }
        if (class_exists('PluginDatabasesDatabase_Item')) {
            // only if plugin activated
            $PLUGIN_HOOKS['pre_item_purge']['databases'] = array('Profile' => array('PluginDatabasesProfile', 'purgeProfiles'));
            $PLUGIN_HOOKS['plugin_datainjection_populate']['databases'] = 'plugin_datainjection_populate_databases';
        }
        // End init, when all types are registered
        $PLUGIN_HOOKS['post_init']['databases'] = 'plugin_databases_postinit';
        // Import from Data_Injection plugin
        $PLUGIN_HOOKS['migratetypes']['databases'] = 'plugin_datainjection_migratetypes_databases';
    }
}
Beispiel #4
0
function plugin_init_certificates()
{
    global $PLUGIN_HOOKS;
    $PLUGIN_HOOKS['csrf_compliant']['certificates'] = true;
    $PLUGIN_HOOKS['change_profile']['certificates'] = array('PluginCertificatesProfile', 'changeProfile');
    $PLUGIN_HOOKS['assign_to_ticket']['certificates'] = true;
    if (Session::getLoginUserID()) {
        // Params : plugin name - string type - number - attributes
        Plugin::registerClass('PluginCertificatesCertificate', array('linkgroup_tech_types' => true, 'linkuser_tech_types' => true, 'document_types' => true, 'helpdesk_visible_types' => true, 'ticket_types' => true, 'contract_types' => true, 'notificationtemplates_types' => true));
        Plugin::registerClass('PluginCertificatesConfig', array('addtabon' => 'CronTask'));
        Plugin::registerClass('PluginCertificatesProfile', array('addtabon' => 'Profile'));
        if (class_exists('PluginAccountsAccount')) {
            PluginAccountsAccount::registerType('PluginCertificatesCertificate');
        }
        if (isset($_SESSION["glpi_plugin_environment_installed"]) && $_SESSION["glpi_plugin_environment_installed"] == 1) {
            $_SESSION["glpi_plugin_environment_certificates"] = 1;
            // Display a menu entry ?
            if (plugin_certificates_haveRight("certificates", "r")) {
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['certificates']['title'] = PluginCertificatesCertificate::getTypeName(2);
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['certificates']['page'] = '/plugins/certificates/front/certificate.php';
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['certificates']['links']['search'] = '/plugins/certificates/front/certificate.php';
            }
            if (plugin_certificates_haveRight("certificates", "w")) {
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['certificates']['links']['add'] = '/plugins/certificates/front/certificate.form.php';
                $PLUGIN_HOOKS['use_massive_action']['certificates'] = 1;
            }
        } else {
            // Display a menu entry ?
            if (plugin_certificates_haveRight("certificates", "r")) {
                $PLUGIN_HOOKS['menu_entry']['certificates'] = 'front/certificate.php';
                $PLUGIN_HOOKS['submenu_entry']['certificates']['search'] = 'front/certificate.php';
            }
            if (plugin_certificates_haveRight("certificates", "w")) {
                $PLUGIN_HOOKS['submenu_entry']['certificates']['add'] = 'front/certificate.form.php?new=1';
                $PLUGIN_HOOKS['use_massive_action']['certificates'] = 1;
            }
        }
        if (class_exists('PluginCertificatesCertificate_Item')) {
            // only if plugin activated
            $PLUGIN_HOOKS['pre_item_purge']['certificates'] = array('Profile' => array('PluginCertificatesProfile', 'purgeProfiles'));
        }
        // End init, when all types are registered
        $PLUGIN_HOOKS['post_init']['certificates'] = 'plugin_certificates_postinit';
    }
}
function plugin_init_webapplications()
{
    global $PLUGIN_HOOKS, $CFG_GLPI;
    $PLUGIN_HOOKS['csrf_compliant']['webapplications'] = true;
    //load changeprofile function
    $PLUGIN_HOOKS['change_profile']['webapplications'] = array('PluginWebapplicationsProfile', 'initProfile');
    $PLUGIN_HOOKS['assign_to_ticket']['webapplications'] = true;
    if (class_exists('PluginWebapplicationsWebapplication_Item')) {
        // only if plugin activated
        $PLUGIN_HOOKS['plugin_datainjection_populate']['webapplications'] = 'plugin_datainjection_populate_webapplications';
    }
    // Params : plugin name - string type - number - class - table - form page
    Plugin::registerClass('PluginWebapplicationsWebapplication', array('linkgroup_tech_types' => true, 'linkuser_tech_types' => true, 'document_types' => true, 'contract_types' => true, 'ticket_types' => true, 'helpdesk_visible_types' => true, 'addtabon' => 'Supplier'));
    Plugin::registerClass('PluginWebapplicationsProfile', array('addtabon' => array('Profile')));
    if (class_exists('PluginAccountsAccount')) {
        PluginAccountsAccount::registerType('PluginWebapplicationsWebapplication');
    }
    if (class_exists('PluginCertificatesCertificate')) {
        PluginCertificatesCertificate::registerType('PluginWebapplicationsWebapplication');
    }
    //if glpi is loaded
    if (Session::getLoginUserID()) {
        //if environment plugin is installed
        $plugin = new Plugin();
        if (!$plugin->isActivated('environment') && Session::haveRight("plugin_webapplications", READ)) {
            $PLUGIN_HOOKS['menu_toadd']['webapplications'] = array('assets' => 'PluginWebapplicationsMenu');
        }
        if (Session::haveRight("plugin_webapplications", UPDATE)) {
            $PLUGIN_HOOKS['use_massive_action']['webapplications'] = 1;
        }
        if (Session::haveRight("plugin_webapplications", READ) || Session::haveRight("config", UPDATE)) {
        }
        // Import from Data_Injection plugin
        //      $PLUGIN_HOOKS['migratetypes']['webapplications']
        //                                   = 'plugin_datainjection_migratetypes_webapplications';
        $PLUGIN_HOOKS['plugin_pdf']['PluginWebapplicationsWebapplication'] = 'PluginWebapplicationsWebapplicationPDF';
    }
    // End init, when all types are registered
    $PLUGIN_HOOKS['post_init']['webapplications'] = 'plugin_webapplications_postinit';
}
Beispiel #6
0
function plugin_init_webapplications()
{
    global $PLUGIN_HOOKS, $CFG_GLPI;
    $PLUGIN_HOOKS['csrf_compliant']['webapplications'] = true;
    //load changeprofile function
    $PLUGIN_HOOKS['change_profile']['webapplications'] = array('PluginWebapplicationsProfile', 'changeProfile');
    $PLUGIN_HOOKS['assign_to_ticket']['webapplications'] = true;
    if (class_exists('PluginWebapplicationsWebapplication_Item')) {
        // only if plugin activated
        $PLUGIN_HOOKS['pre_item_purge']['webapplications'] = array('Profile' => array('PluginWebapplicationsProfile', 'purgeProfiles'));
        $PLUGIN_HOOKS['plugin_datainjection_populate']['webapplications'] = 'plugin_datainjection_populate_webapplications';
    }
    // Params : plugin name - string type - number - class - table - form page
    Plugin::registerClass('PluginWebapplicationsWebapplication', array('linkgroup_tech_types' => true, 'linkuser_tech_types' => true, 'document_types' => true, 'contract_types' => true, 'ticket_types' => true, 'helpdesk_visible_types' => true, 'addtabon' => 'Supplier'));
    Plugin::registerClass('PluginWebapplicationsProfile', array('addtabon' => array('Profile')));
    if (class_exists('PluginAccountsAccount')) {
        PluginAccountsAccount::registerType('PluginWebapplicationsWebapplication');
    }
    if (class_exists('PluginCertificatesCertificate')) {
        PluginCertificatesCertificate::registerType('PluginWebapplicationsWebapplication');
    }
    //if glpi is loaded
    if (Session::getLoginUserID()) {
        //if environment plugin is installed
        if (isset($_SESSION["glpi_plugin_environment_installed"]) && $_SESSION["glpi_plugin_environment_installed"] == 1) {
            //init $_SESSION for environment using
            $_SESSION["glpi_plugin_environment_webapplications"] = 1;
            if (plugin_webapplications_haveRight("webapplications", "r")) {
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['webapplications']['title'] = PluginWebapplicationsWebapplication::getTypeName(2);
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['webapplications']['page'] = '/plugins/webapplications/front/webapplication.php';
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['webapplications']['links']['search'] = '/plugins/webapplications/front/webapplication.php';
            }
            if (plugin_webapplications_haveRight("webapplications", "w")) {
                //redirect link to add webapplications
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['webapplications']['links']['add'] = '/plugins/webapplications/front/webapplication.form.php';
                //use massiveaction in the plugin
                $PLUGIN_HOOKS['use_massive_action']['webapplications'] = 1;
            }
            //if environment plugin isn't installed
        } else {
            // Display a menu entry ?
            if (plugin_webapplications_haveRight("webapplications", "r")) {
                //menu entry
                $PLUGIN_HOOKS['menu_entry']['webapplications'] = 'front/webapplication.php';
                //search link
                $PLUGIN_HOOKS['submenu_entry']['webapplications']['search'] = 'front/webapplication.php';
            }
            if (plugin_webapplications_haveRight("webapplications", "w")) {
                //add link
                $PLUGIN_HOOKS['submenu_entry']['webapplications']['add'] = 'front/webapplication.form.php';
                //use massiveaction in the plugin
                $PLUGIN_HOOKS['use_massive_action']['webapplications'] = 1;
            }
        }
        if (plugin_webapplications_haveRight("webapplications", "r") || Session::haveRight("config", "w")) {
        }
        // Import from Data_Injection plugin
        //      $PLUGIN_HOOKS['migratetypes']['webapplications']
        //                                   = 'plugin_datainjection_migratetypes_webapplications';
        $PLUGIN_HOOKS['plugin_pdf']['PluginWebapplicationsWebapplication'] = 'PluginWebapplicationsWebapplicationPDF';
    }
    // End init, when all types are registered
    $PLUGIN_HOOKS['post_init']['webapplications'] = 'plugin_webapplications_postinit';
}
Beispiel #7
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';
}