. * --------------------------------------------------------------------- */ include ('../inc/includes.php'); if (!(isset($_GET["embed"]) && isset($_GET["dashboard"]))) { Session::checkCentralAccess(); } // embed (anonymous) dashboard if (isset($_GET["embed"]) && isset($_GET["dashboard"])) { $grid = new Glpi\Dashboard\Grid($_GET["dashboard"]); $dashboard = $grid->getDashboard(); Html::popHeader($dashboard->getTitle(), $_SERVER['PHP_SELF'], false, 'central', 'central'); echo $grid->embed($_REQUEST); Html::popFooter(); exit; } // Change profile system if (isset($_POST['newprofile'])) { if (isset($_SESSION["glpiprofiles"][$_POST['newprofile']])) { Session::changeProfile($_POST['newprofile']); if (Session::getCurrentInterface() == "helpdesk") { if ($_SESSION['glpiactiveprofile']['create_ticket_on_login']) { Html::redirect($CFG_GLPI['root_doc'] . "/front/helpdesk.public.php?create_ticket=1"); } else { Html::redirect($CFG_GLPI['root_doc']."/front/helpdesk.public.php"); } } $_SESSION['_redirected_from_profile_selector'] = true; Html::redirect($_SERVER['HTTP_REFERER']); } Html::redirect(preg_replace("/entities_id.*/", "", $_SERVER['HTTP_REFERER'])); } // Manage entity change if (isset($_GET["active_entity"])) { $_GET["active_entity"] = rtrim($_GET["active_entity"], 'r'); if (!isset($_GET["is_recursive"])) { $_GET["is_recursive"] = 0; } if (Session::changeActiveEntities($_GET["active_entity"], $_GET["is_recursive"])) { if (($_GET["active_entity"] == $_SESSION["glpiactive_entity"]) && isset($_SERVER['HTTP_REFERER'])) { Html::redirect(preg_replace("/(\?|&|".urlencode('?')."|".urlencode('&').")?(entities_id|active_entity).*/", "", $_SERVER['HTTP_REFERER'])); } } } Html::header(Central::getTypeName(1), $_SERVER['PHP_SELF'], 'central', 'central'); // Redirect management if (isset($_GET["redirect"])) { Toolbox::manageRedirect($_GET["redirect"]); } $central = new Central(); $central->display(); //sophal $modifier_tableaux = 0; if( $_SESSION['glpiactiveprofile']['name'] == "Directeur Approvisionnement" || $_SESSION['glpiactiveprofile']['name'] == "Directeur Assurance Qualite" || $_SESSION['glpiactiveprofile']['name'] == "Directeur Commercial" || $_SESSION['glpiactiveprofile']['name'] == "Directeur MGX" || $_SESSION['glpiactiveprofile']['name'] == "Directeur Production" || $_SESSION['glpiactiveprofile']['name'] == "Directeur Qualite" || $_SESSION['glpiactiveprofile']['name'] == "Directeur Maintenance" || $_SESSION['glpiactiveprofile']['name'] == "Assistant" || $_SESSION['glpiactiveprofile']['name'] == "Directeur RH" ){ function get_total_Tickets_non_resolu(){ global $DB; $query = "SELECT COUNT(*) as total_Tickets_non_resolu FROM ( SELECT `glpi_tickets`.`id` AS id, (SELECT name FROM `glpi_users` WHERE `id` = '".$_SESSION["glpiID"]."') AS currentuser FROM `glpi_tickets` LEFT JOIN `glpi_tickets_users` AS `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60` ON (`glpi_tickets`.`id` = `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.`tickets_id` AND `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.`type` = 1 ) LEFT JOIN `glpi_groups_tickets` AS `glpi_groups_tickets_d1524bb2ea1d461ab90aed3b5f0e7e60` ON (`glpi_tickets`.`id` = `glpi_groups_tickets_d1524bb2ea1d461ab90aed3b5f0e7e60`.`tickets_id` AND `glpi_groups_tickets_d1524bb2ea1d461ab90aed3b5f0e7e60`.`type` = 1 ) LEFT JOIN `glpi_tickets_users` AS `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8` ON (`glpi_tickets`.`id` = `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.`tickets_id` AND `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.`type` = 3 ) LEFT JOIN `glpi_groups_tickets` AS `glpi_groups_tickets_d86d1fe2a1ea996e3820de82e6aa57e8` ON (`glpi_tickets`.`id` = `glpi_groups_tickets_d86d1fe2a1ea996e3820de82e6aa57e8`.`tickets_id` AND `glpi_groups_tickets_d86d1fe2a1ea996e3820de82e6aa57e8`.`type` = 3 ) LEFT JOIN `glpi_tickets_users` AS `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b` ON (`glpi_tickets`.`id` = `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.`tickets_id` AND `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.`type` = 2 ) LEFT JOIN `glpi_groups_tickets` AS `glpi_groups_tickets_819efb92c8b927b345e489211ec8e43b` ON (`glpi_tickets`.`id` = `glpi_groups_tickets_819efb92c8b927b345e489211ec8e43b`.`tickets_id` AND `glpi_groups_tickets_819efb92c8b927b345e489211ec8e43b`.`type` = 2 ) LEFT JOIN `glpi_ticketvalidations` ON (`glpi_tickets`.`id` = `glpi_ticketvalidations`.`tickets_id` ) LEFT JOIN `glpi_users` AS `glpi_users_a5e2026cbcb683e774f93a59e24a62a4` ON (`glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.`users_id` = `glpi_users_a5e2026cbcb683e774f93a59e24a62a4`.`id` ) LEFT JOIN `glpi_users` AS `glpi_users_b746b".$_SESSION["glpiID"]."c5f912caf02dd66b0df98d264` ON (`glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.`users_id` = `glpi_users_b746b".$_SESSION["glpiID"]."c5f912caf02dd66b0df98d264`.`id` ) LEFT JOIN `glpi_users` AS `glpi_users_f201be21cd638ee780d08cba4ceff0d4` ON (`glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.`users_id` = `glpi_users_f201be21cd638ee780d08cba4ceff0d4`.`id` ) LEFT JOIN `glpi_itilcategories` ON (`glpi_tickets`.`itilcategories_id` = `glpi_itilcategories`.`id` ) WHERE ( `glpi_tickets_users_d1524bb2ea1d461ab90aed3b5f0e7e60`.users_id = '".$_SESSION["glpiID"]."' OR `glpi_tickets_users_d86d1fe2a1ea996e3820de82e6aa57e8`.users_id = '".$_SESSION["glpiID"]."' OR `glpi_tickets`.`users_id_recipient` = '".$_SESSION["glpiID"]."' OR `glpi_groups_tickets_d1524bb2ea1d461ab90aed3b5f0e7e60`.`groups_id` IN (13) OR `glpi_groups_tickets_d86d1fe2a1ea996e3820de82e6aa57e8`.`groups_id` IN (13) OR `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.users_id = '".$_SESSION["glpiID"]."' OR `glpi_tickets_users_819efb92c8b927b345e489211ec8e43b`.`users_id` = '".$_SESSION["glpiID"]."' OR `glpi_groups_tickets_819efb92c8b927b345e489211ec8e43b`.`groups_id` IN (13) OR `glpi_ticketvalidations`.`users_id_validate` = '".$_SESSION["glpiID"]."') AND `glpi_tickets`.`is_deleted` = 0 AND ( `glpi_tickets`.`status` IN ('1','2','3','4') ) GROUP BY `glpi_tickets`.`id`) a "; $result = $DB->query($query); if ($result->num_rows > 0) { $nbr = array(); while($row = $result->fetch_assoc()) { $nbr[] = $row; } return $nbr[0]['total_Tickets_non_resolu']; } return null; } function get_total_Tickets_en_retard(){ global $DB; $query = "SELECT count(*) as total_Tickets_en_retard FROM `glpi_tickets` LEFT JOIN `glpi_tickets_users` AS `ts1` ON (`glpi_tickets`.`id` = `ts1`.`tickets_id` AND `ts1`.`type` = 1 ) LEFT JOIN `glpi_tickets_users` AS `ts2` ON (`glpi_tickets`.`id` = `ts2`.`tickets_id` AND `ts2`.`type` = 3 ) LEFT JOIN `glpi_tickets_users` AS `ts3` ON (`glpi_tickets`.`id` = `ts3`.`tickets_id` AND `ts3`.`type` = 2 ) LEFT JOIN `glpi_ticketvalidations` ON (`glpi_tickets`.`id` = `glpi_ticketvalidations`.`tickets_id` ) LEFT JOIN `glpi_users` AS `u1` ON (`ts1`.`users_id` = `u1`.`id` ) LEFT JOIN `glpi_users` AS `u2` ON (`ts2`.`users_id` = `u2`.`id` ) LEFT JOIN `glpi_users` AS `u3` ON (`ts3`.`users_id` = `u3`.`id` ) LEFT JOIN `glpi_itilcategories` ON (`glpi_tickets`.`itilcategories_id` = `glpi_itilcategories`.`id` ) WHERE ( `ts1`.users_id = '".$_SESSION["glpiID"]."' OR `ts2`.users_id = '".$_SESSION["glpiID"]."' OR `glpi_tickets`.`users_id_recipient` = '".$_SESSION["glpiID"]."' OR `ts3`.users_id = '".$_SESSION["glpiID"]."' OR `ts3`.`users_id` = '".$_SESSION["glpiID"]."' OR `glpi_ticketvalidations`.`users_id_validate` = '".$_SESSION["glpiID"]."') AND `glpi_tickets`.`is_deleted` = 0 AND ( `glpi_tickets`.`status` IN ('1','2','3','4') AND ( (IF(`glpi_tickets`.`time_to_resolve` IS NOT NULL AND `glpi_tickets`.`status` <> 4 AND (`glpi_tickets`.`solvedate` > `glpi_tickets`.`time_to_resolve` OR (`glpi_tickets`.`solvedate` IS NULL AND `glpi_tickets`.`time_to_resolve` < NOW())), 1, 0) = 1) OR (IF(`glpi_tickets`.`internal_time_to_resolve` IS NOT NULL AND `glpi_tickets`.`status` <> 4 AND (`glpi_tickets`.`solvedate` > `glpi_tickets`.`internal_time_to_resolve` OR (`glpi_tickets`.`solvedate` IS NULL AND `glpi_tickets`.`internal_time_to_resolve` < NOW())), 1, 0) = 1) OR (IF(`glpi_tickets`.`time_to_own` IS NOT NULL AND `glpi_tickets`.`status` <> 4 AND (`glpi_tickets`.`takeintoaccount_delay_stat` > TIME_TO_SEC(TIMEDIFF(`glpi_tickets`.`time_to_own`, `glpi_tickets`.`date`)) OR (`glpi_tickets`.`takeintoaccount_delay_stat` = 0 AND `glpi_tickets`.`time_to_own` < NOW())), 1, 0) = 1) OR (IF(`glpi_tickets`.`internal_time_to_own` IS NOT NULL AND `glpi_tickets`.`status` <> 4 AND (`glpi_tickets`.`takeintoaccount_delay_stat` > TIME_TO_SEC(TIMEDIFF(`glpi_tickets`.`internal_time_to_own`, `glpi_tickets`.`date`)) OR (`glpi_tickets`.`takeintoaccount_delay_stat` = 0 AND `glpi_tickets`.`internal_time_to_own` < NOW())), 1, 0) = 1) ) ) "; $result = $DB->query($query); if ($result->num_rows > 0) { $nbr = array(); while($row = $result->fetch_assoc()) { $nbr[] = $row; } return $nbr[0]['total_Tickets_en_retard']; } return null; } function get_total_problem_non_resolu(){ global $DB; $query = "SELECT COUNT(*) as total_problem_non_resolu FROM (SELECT DISTINCT `glpi_problems`.`id` AS id, (SELECT name FROM `glpi_users` WHERE `id` = '".$_SESSION["glpiID"]."') AS currentuser FROM `glpi_problems` LEFT JOIN `glpi_problems_users` AS `pu1` ON (`glpi_problems`.`id` = `pu1`.`problems_id` AND `pu1`.`type` = 1 ) LEFT JOIN `glpi_problems_users` AS `pu2` ON (`glpi_problems`.`id` = `pu2`.`problems_id` AND `pu2`.`type` = 3 ) LEFT JOIN `glpi_problems_users` AS `pu3` ON (`glpi_problems`.`id` = `pu3`.`problems_id` AND `pu3`.`type` = 2 ) LEFT JOIN `glpi_itilcategories` ON (`glpi_problems`.`itilcategories_id` = `glpi_itilcategories`.`id` ) WHERE ( `pu1`.users_id = '".$_SESSION["glpiID"]."' OR `pu2`.users_id = '".$_SESSION["glpiID"]."' OR `pu3`.users_id = '".$_SESSION["glpiID"]."' OR `glpi_problems`.`users_id_recipient` = '".$_SESSION["glpiID"]."') AND `glpi_problems`.`is_deleted` = 0 AND ( `glpi_problems`.`status` IN ('1','7','2','3','4') ) ) b "; $result = $DB->query($query); if ($result->num_rows > 0) { $nbr = array(); while($row = $result->fetch_assoc()) { $nbr[] = $row; } return $nbr[0]['total_problem_non_resolu']; } return null; } function get_total_changes_non_resolu(){ global $DB; $query = "SELECT COUNT(*) as total_changes_non_resolu FROM ( SELECT DISTINCT `glpi_changes`.`id` AS id, (SELECT name FROM `glpi_users` WHERE `id` = '".$_SESSION["glpiID"]."') AS currentuser FROM `glpi_changes` LEFT JOIN `glpi_changes_users` AS `cu1` ON (`glpi_changes`.`id` = `cu1`.`changes_id` AND `cu1`.`type` = 1 ) LEFT JOIN `glpi_changes_users` AS `cu2` ON (`glpi_changes`.`id` = `cu2`.`changes_id` AND `cu2`.`type` = 3 ) LEFT JOIN `glpi_changes_users` AS `cu3` ON (`glpi_changes`.`id` = `cu3`.`changes_id` AND `cu3`.`type` = 2 ) LEFT JOIN `glpi_itilcategories` ON (`glpi_changes`.`itilcategories_id` = `glpi_itilcategories`.`id` ) WHERE ( `cu1`.users_id = '".$_SESSION["glpiID"]."' OR `cu2`.users_id = '".$_SESSION["glpiID"]."' OR `cu3`.users_id = '".$_SESSION["glpiID"]."' OR `glpi_changes`.`users_id_recipient` = '".$_SESSION["glpiID"]."') AND `glpi_changes`.`is_deleted` = 0 AND ( `glpi_changes`.`status` IN ('1','9','10','7','4','11','12') ) ) c "; $result = $DB->query($query); if ($result->num_rows > 0) { $nbr = array(); while($row = $result->fetch_assoc()) { $nbr[] = $row; } return $nbr[0]['total_changes_non_resolu']; } return null; } // Return a shortened number with a suffix (K, M, B, T) $formatted_number_Tickets_non_resolu = Toolbox::shortenNumber(get_total_Tickets_non_resolu()); $formatted_number_Tickets_en_retard = Toolbox::shortenNumber(get_total_Tickets_en_retard()); $formatted_number_problem_non_resolu = Toolbox::shortenNumber(get_total_problem_non_resolu()); $formatted_number_changes_non_resolu = Toolbox::shortenNumber(get_total_changes_non_resolu()); $root = $CFG_GLPI["root_doc"]; $modifier_tableaux = 1; } //sophal Html::footer(); ?>