function plugin_init_talk() { global $PLUGIN_HOOKS, $CFG_GLPI, $LANG; $PLUGIN_HOOKS['csrf_compliant']['talk'] = true; $plugin = new Plugin(); if ($plugin->isInstalled('talk') && $plugin->isActivated('talk')) { //load preferences on profile changing $PLUGIN_HOOKS['change_profile']['talk'] = array('PluginTalkProfile', 'changeProfile'); //if glpi is loaded if (Session::getLoginUserID()) { Plugin::registerClass('PluginTalkProfile', array('addtabon' => 'Profile')); Plugin::registerClass('PluginTalkUserpref', array('addtabon' => array('User', 'Preference'))); $PLUGIN_HOOKS['use_massive_action']['talk'] = 1; if (Session::haveRight('plugin_talk_is_active', PluginTalkTicket::ACTIVE)) { if (strpos($_SERVER['REQUEST_URI'], "/ticket.form.php") !== false && isset($_GET['id'])) { if (PluginTalkUserpref::isFunctionEnabled("talk_tab")) { // Plugin::registerClass('PluginTalkTicket', // array('addtabon' => array('Ticket'))); $PLUGIN_HOOKS['add_css']['talk'][] = 'css/talk.css'; if (!PluginTalkUserpref::isFunctionEnabled("old_tabs")) { $PLUGIN_HOOKS['add_css']['talk'][] = 'css/hide_ticket_tabs.css'; } $_SESSION['plugin_talk_lasttickets_id'] = $_REQUEST['id']; $PLUGIN_HOOKS['add_javascript']['talk'][] = 'scripts/insert_talktab.js.php'; $PLUGIN_HOOKS['add_javascript']['talk'][] = 'scripts/filter_timeline.js'; $PLUGIN_HOOKS['add_javascript']['talk'][] = 'scripts/read_more.js'; $PLUGIN_HOOKS['add_javascript']['talk'][] = 'scripts/split_button.js'; } /* disabled for 0.85 */ // if (PluginTalkUserpref::isFunctionEnabled("split_view")) { // $PLUGIN_HOOKS['add_css']['talk'][] = 'css/split_ticket_view.css'; // } } } } } }
<?php include '../../../inc/includes.php'; if (isset($_POST['update'])) { $userpref = new PluginTalkUserpref(); $userpref->update($_POST); if ($_POST['users_id'] === Session::getLoginUserID()) { PluginTalkUserpref::loadInSession(); } } Html::back();
static function changeProfile() { $prof = new self(); if ($prof->getFromDBByProfile($_SESSION['glpiactiveprofile']['id'])) { //get User preferences PluginTalkUserpref::loadInSession(); // re-load profile in session (removed in self-service by Session::cleanProfile) $_SESSION['glpiactiveprofile']['plugin_talk_is_active'] = $prof->fields['rights']; } }