Ejemplo n.º 1
0
function plugin_init_badges()
{
    global $PLUGIN_HOOKS;
    $PLUGIN_HOOKS['csrf_compliant']['badges'] = true;
    $PLUGIN_HOOKS['change_profile']['badges'] = array('PluginBadgesProfile', 'changeProfile');
    $PLUGIN_HOOKS['assign_to_ticket']['badges'] = true;
    if (Session::getLoginUserID()) {
        Plugin::registerClass('PluginBadgesBadge', array('linkuser_types' => true, 'document_types' => true, 'helpdesk_visible_types' => true, 'ticket_types' => true, 'notificationtemplates_types' => true));
        Plugin::registerClass('PluginBadgesProfile', array('addtabon' => 'Profile'));
        Plugin::registerClass('PluginBadgesConfig', array('addtabon' => 'CronTask'));
        if (class_exists('PluginResourcesResource')) {
            PluginResourcesResource::registerType('PluginBadgesBadge');
        }
        if (isset($_SESSION["glpi_plugin_environment_installed"]) && $_SESSION["glpi_plugin_environment_installed"] == 1) {
            $_SESSION["glpi_plugin_environment_badges"] = 1;
            if (plugin_badges_haveRight("badges", "r")) {
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['badges']['title'] = PluginBadgesBadge::getTypeName(2);
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['badges']['page'] = '/plugins/badges/front/badge.php';
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['badges']['links']['search'] = '/plugins/badges/front/badge.php';
            }
            if (plugin_badges_haveRight("badges", "w")) {
                $PLUGIN_HOOKS['submenu_entry']['environment']['options']['badges']['links']['add'] = '/plugins/badges/front/badge.form.php';
            }
        } else {
            if (plugin_badges_haveRight("badges", "r")) {
                $PLUGIN_HOOKS['menu_entry']['badges'] = 'front/badge.php';
                $PLUGIN_HOOKS['submenu_entry']['badges']['search'] = 'front/badge.php';
            }
            if (plugin_badges_haveRight("badges", "w")) {
                $PLUGIN_HOOKS['submenu_entry']['badges']['add'] = 'front/badge.form.php?new=1';
            }
        }
        if (class_exists('PluginBadgesBadge')) {
            // only if plugin activated
            //Clean Plugin on Profile delete
            $PLUGIN_HOOKS['pre_item_purge']['badges'] = array('Profile
                                             ' => array('PluginBadgesProfile', 'purgeProfiles'));
            $PLUGIN_HOOKS['plugin_datainjection_populate']['badges'] = 'plugin_datainjection_populate_badges';
        }
        // Import from Data_Injection plugin
        $PLUGIN_HOOKS['migratetypes']['badges'] = 'plugin_datainjection_migratetypes_badges';
    }
}
Ejemplo n.º 2
0
function plugin_badges_AssignToTicket($types)
{
    if (plugin_badges_haveRight("open_ticket", "1")) {
        $types['PluginBadgesBadge'] = PluginBadgesBadge::getTypeName(2);
    }
    return $types;
}
Ejemplo n.º 3
0
 static function canView()
 {
     return plugin_badges_haveRight('badges', 'r');
 }