static function showForTicket(Ticket $ticket)
 {
     global $DB, $CFG_GLPI;
     echo "<table class='tab_cadre_fixe'>";
     echo "<tr><th>" . __('Summary') . "</th></tr>";
     echo "<tr class='tab_bg_1 center'><td>" . _n('Time range', 'Time ranges', 2) . "&nbsp;: ";
     $calendar = new Calendar();
     $calendars_id = Entity::getUsedConfig('calendars_id', $ticket->fields['entities_id']);
     if ($calendars_id > 0 && $calendar->getFromDB($calendars_id)) {
         echo $calendar->getLink();
     } else {
         echo NOT_AVAILABLE;
     }
     echo "</td></tr>";
     PluginTimelineticketState::showHistory($ticket);
     // Display ticket have Due date
     if ($ticket->fields['due_date'] && $ticket->fields['status'] != CommonITILObject::WAITING && strtotime(date('Y-m-d H:i:s')) - strtotime($ticket->fields['due_date']) > 0) {
         $calendar = new Calendar();
         $calendars_id = Entity::getUsedConfig('calendars_id', $ticket->fields['entities_id']);
         if ($calendars_id > 0 && $calendar->getFromDB($calendars_id)) {
             if ($ticket->fields['closedate']) {
                 $dateend = $calendar->getActiveTimeBetween($ticket->fields['due_date'], $ticket->fields['closedate']);
             } else {
                 $dateend = $calendar->getActiveTimeBetween($ticket->fields['due_date'], date('Y-m-d H:i:s'));
             }
         } else {
             // cas 24/24 - 7/7
             if ($ticket->fields['closedate']) {
                 $dateend = strtotime($ticket->fields['closedate']) - strtotime($ticket->fields['due_date']);
             } else {
                 $dateend = strtotime(date('Y-m-d H:i:s')) - strtotime($ticket->fields['due_date']);
             }
         }
         echo "<tr>";
         echo "<th>" . __('Late') . "</th>";
         echo "</tr>";
         echo "<tr>";
         echo "<td align='center' class='tab_bg_2_2'>" . Html::timestampToString($dateend, true) . "</td>";
         echo "</tr>";
     }
     echo "</table>";
     echo "<table class='tab_cadre_fixe'>";
     echo "<tr>";
     echo "<th colspan='2'>" . __('Status') . "</th>";
     echo "</tr>";
     /* pChart library inclusions */
     include GLPI_ROOT . "/plugins/timelineticket/lib/pChart2.1.4/class/pData.class.php";
     include GLPI_ROOT . "/plugins/timelineticket/lib/pChart2.1.4/class/pDraw.class.php";
     include GLPI_ROOT . "/plugins/timelineticket/lib/pChart2.1.4/class/pImage.class.php";
     include GLPI_ROOT . "/plugins/timelineticket/lib/pChart2.1.4/class/pIndicator.class.php";
     $a_data = PluginTimelineticketDisplay::getTotaltimeEnddate($ticket);
     $totaltime = $a_data['totaltime'];
     $end_date = $a_data['end_date'];
     $params = array('totaltime' => $totaltime, 'end_date' => $end_date);
     $ptState = new PluginTimelineticketState();
     $ptState->showTimeline($ticket, $params);
     $ptAssignGroup = new PluginTimelineticketAssignGroup();
     $ptAssignGroup->showTimeline($ticket, $params);
     $ptAssignUser = new PluginTimelineticketAssignUser();
     $ptAssignUser->showTimeline($ticket, $params);
     echo "</table>";
     PluginTimelineticketToolbox::ShowDetail($ticket, 'group');
     PluginTimelineticketToolbox::ShowDetail($ticket, 'user');
 }
 static function showForTicket(Ticket $ticket)
 {
     global $DB, $CFG_GLPI;
     echo "<table class='tab_cadre_fixe'>";
     echo "<tr><th>" . __('Summary') . "</th></tr>";
     echo "<tr class='tab_bg_1 center'><td>" . _n('Time range', 'Time ranges', 2) . "&nbsp;: ";
     $calendar = new Calendar();
     $calendars_id = Entity::getUsedConfig('calendars_id', $ticket->fields['entities_id']);
     if ($calendars_id > 0 && $calendar->getFromDB($calendars_id)) {
         echo $calendar->getLink();
     } else {
         echo NOT_AVAILABLE;
     }
     echo "</td></tr>";
     PluginTimelineticketState::showHistory($ticket);
     // Display ticket have Due date
     if ($ticket->fields['due_date'] && $ticket->fields['status'] != CommonITILObject::WAITING && strtotime(date('Y-m-d H:i:s')) - strtotime($ticket->fields['due_date']) > 0) {
         $calendar = new Calendar();
         $calendars_id = Entity::getUsedConfig('calendars_id', $ticket->fields['entities_id']);
         if ($calendars_id > 0 && $calendar->getFromDB($calendars_id)) {
             if ($ticket->fields['closedate']) {
                 $dateend = $calendar->getActiveTimeBetween($ticket->fields['due_date'], $ticket->fields['closedate']);
             } else {
                 $dateend = $calendar->getActiveTimeBetween($ticket->fields['due_date'], date('Y-m-d H:i:s'));
             }
         } else {
             // cas 24/24 - 7/7
             if ($ticket->fields['closedate']) {
                 $dateend = strtotime($ticket->fields['closedate']) - strtotime($ticket->fields['due_date']);
             } else {
                 $dateend = strtotime(date('Y-m-d H:i:s')) - strtotime($ticket->fields['due_date']);
             }
         }
         echo "<tr>";
         echo "<th>" . __('Late') . "</th>";
         echo "</tr>";
         echo "<tr>";
         echo "<td align='center' class='tab_bg_2_2'>" . Html::timestampToString($dateend, true) . "</td>";
         echo "</tr>";
     }
     echo "</table>";
     echo "<table class='tab_cadre_fixe'>";
     echo "<tr>";
     echo "<th colspan='2'>" . __('Status') . "</th>";
     echo "</tr>";
     /* pChart library inclusions */
     include GLPI_ROOT . "/plugins/timelineticket/lib/pChart2.1.4/class/pData.class.php";
     include GLPI_ROOT . "/plugins/timelineticket/lib/pChart2.1.4/class/pDraw.class.php";
     include GLPI_ROOT . "/plugins/timelineticket/lib/pChart2.1.4/class/pImage.class.php";
     include GLPI_ROOT . "/plugins/timelineticket/lib/pChart2.1.4/class/pIndicator.class.php";
     $a_data = PluginTimelineticketDisplay::getTotaltimeEnddate($ticket);
     $totaltime = $a_data['totaltime'];
     $end_date = $a_data['end_date'];
     $params = array('totaltime' => $totaltime, 'end_date' => $end_date);
     $ptState = new PluginTimelineticketState();
     $ptState->showTimeline($ticket, $params);
     $ptAssignGroup = new PluginTimelineticketAssignGroup();
     $ptAssignGroup->showTimeline($ticket, $params);
     $ptAssignUser = new PluginTimelineticketAssignUser();
     $ptAssignUser->showTimeline($ticket, $params);
     echo "</table>";
     PluginTimelineticketToolbox::ShowDetail($ticket, 'group');
     PluginTimelineticketToolbox::ShowDetail($ticket, 'user');
     if ($_SESSION['glpi_use_mode'] == Session::DEBUG_MODE) {
         echo "<br><table class='tab_cadre_fixe'>";
         echo "<tr>";
         echo "<th colspan='5'>" . __('DEBUG') . " " . __('Group') . "</th>";
         echo "</tr>";
         echo "<tr>";
         echo "<th>" . __('ID') . "</th>";
         echo "<th>" . __('Date') . "</th>";
         echo "<th>" . __('Group') . "</th>";
         echo "<th>" . __('Begin') . "</th>";
         echo "<th>" . __('Delay', 'timelineticket') . "</th>";
         echo "</tr>";
         $query = "SELECT *\n                         FROM `glpi_plugin_timelineticket_assigngroups`\n                         WHERE `tickets_id` = '" . $ticket->getID() . "'";
         $result = $DB->query($query);
         while ($data = $DB->fetch_assoc($result)) {
             echo "<tr class='tab_bg_1'>";
             echo "<td>" . $data['id'] . "</td>";
             echo "<td>" . Html::convDateTime($data['date']) . "</td>";
             echo "<td>" . Dropdown::getDropdownName("glpi_groups", $data['groups_id']) . "</td>";
             echo "<td>" . Html::timestampToString($data['begin']) . "</td>";
             echo "<td>" . Html::timestampToString($data['delay']) . "</td>";
             echo "</tr>";
         }
         echo "</table>";
         echo "<br><table class='tab_cadre_fixe'>";
         echo "<tr>";
         echo "<th colspan='5'>" . __('DEBUG') . " " . __('Technician') . "</th>";
         echo "</tr>";
         echo "<tr>";
         echo "<th>" . __('ID') . "</th>";
         echo "<th>" . __('Date') . "</th>";
         echo "<th>" . __('Technician') . "</th>";
         echo "<th>" . __('Begin') . "</th>";
         echo "<th>" . __('Delay', 'timelineticket') . "</th>";
         echo "</tr>";
         $query = "SELECT *\n                         FROM `glpi_plugin_timelineticket_assignusers`\n                         WHERE `tickets_id` = '" . $ticket->getID() . "'";
         $result = $DB->query($query);
         while ($data = $DB->fetch_assoc($result)) {
             echo "<tr class='tab_bg_1'>";
             echo "<td>" . $data['id'] . "</td>";
             echo "<td>" . Html::convDateTime($data['date']) . "</td>";
             echo "<td>" . getUserName($data['users_id']) . "</td>";
             echo "<td>" . Html::timestampToString($data['begin']) . "</td>";
             echo "<td>" . Html::timestampToString($data['delay']) . "</td>";
             echo "</tr>";
         }
         echo "</table>";
     }
 }