Entity::generateLinkSatisfaction PHP Method

generateLinkSatisfaction() static public method

Generate link for ticket satisfaction
static public generateLinkSatisfaction ( $ticket ) : url
$ticket ticket object
return url contents
    static function generateLinkSatisfaction($ticket)
    {
        global $DB;
        $url = self::getUsedConfig('inquest_config', $ticket->fields['entities_id'], 'inquest_URL');
        if (strstr($url, "[TICKET_ID]")) {
            $url = str_replace("[TICKET_ID]", $ticket->fields['id'], $url);
        }
        if (strstr($url, "[TICKET_NAME]")) {
            $url = str_replace("[TICKET_NAME]", urlencode($ticket->fields['name']), $url);
        }
        if (strstr($url, "[TICKET_CREATEDATE]")) {
            $url = str_replace("[TICKET_CREATEDATE]", $ticket->fields['date'], $url);
        }
        if (strstr($url, "[TICKET_SOLVEDATE]")) {
            $url = str_replace("[TICKET_SOLVEDATE]", $ticket->fields['solvedate'], $url);
        }
        if (strstr($url, "[REQUESTTYPE_ID]")) {
            $url = str_replace("[REQUESTTYPE_ID]", $ticket->fields['requesttypes_id'], $url);
        }
        if (strstr($url, "[REQUESTTYPE_NAME]")) {
            $url = str_replace("[REQUESTTYPE_NAME]", urlencode(Dropdown::getDropdownName('glpi_requesttypes', $ticket->fields['requesttypes_id'])), $url);
        }
        if (strstr($url, "[TICKET_PRIORITY]")) {
            $url = str_replace("[TICKET_PRIORITY]", $ticket->fields['priority'], $url);
        }
        if (strstr($url, "[TICKET_PRIORITYNAME]")) {
            $url = str_replace("[TICKET_PRIORITYNAME]", urlencode(CommonITILObject::getPriorityName($ticket->fields['priority'])), $url);
        }
        if (strstr($url, "[TICKETCATEGORY_ID]")) {
            $url = str_replace("[TICKETCATEGORY_ID]", $ticket->fields['itilcategories_id'], $url);
        }
        if (strstr($url, "[TICKETCATEGORY_NAME]")) {
            $url = str_replace("[TICKETCATEGORY_NAME]", urlencode(Dropdown::getDropdownName('glpi_itilcategories', $ticket->fields['itilcategories_id'])), $url);
        }
        if (strstr($url, "[TICKETTYPE_ID]")) {
            $url = str_replace("[TICKETTYPE_ID]", $ticket->fields['type'], $url);
        }
        if (strstr($url, "[TICKET_TYPENAME]")) {
            $url = str_replace("[TICKET_TYPENAME]", Ticket::getTicketTypeName($ticket->fields['type']), $url);
        }
        if (strstr($url, "[SOLUTIONTYPE_ID]")) {
            $url = str_replace("[SOLUTIONTYPE_ID]", $ticket->fields['solutiontypes_id'], $url);
        }
        if (strstr($url, "[SOLUTIONTYPE_NAME]")) {
            $url = str_replace("[SOLUTIONTYPE_NAME]", urlencode(Dropdown::getDropdownName('glpi_solutiontypes', $ticket->fields['solutiontypes_id'])), $url);
        }
        if (strstr($url, "[SLA_ID]")) {
            $url = str_replace("[SLA_ID]", $ticket->fields['slas_id'], $url);
        }
        if (strstr($url, "[SLA_NAME]")) {
            $url = str_replace("[SLA_NAME]", urlencode(Dropdown::getDropdownName('glpi_slas', $ticket->fields['slas_id'])), $url);
        }
        if (strstr($url, "[SLALEVEL_ID]")) {
            $url = str_replace("[SLALEVEL_ID]", $ticket->fields['ttr_slalevels_id'], $url);
        }
        if (strstr($url, "[SLALEVEL_NAME]")) {
            $url = str_replace("[SLALEVEL_NAME]", urlencode(Dropdown::getDropdownName('glpi_slalevels', $ticket->fields['ttr_slalevels_id'])), $url);
        }
        return $url;
    }

Usage Example

 static function pdfForTicket(PluginPdfSimplePDF $pdf, Ticket $ticket)
 {
     $survey = new TicketSatisfaction();
     $pdf->setColumnsSize(100);
     $pdf->displayTitle("<b>" . __('Satisfaction survey') . "</b>");
     if (!$survey->getFromDB($ticket->getID())) {
         $pdf->displayLine(__('No generated survey'));
     } else {
         if ($survey->getField('type') == 2) {
             $url = Entity::generateLinkSatisfaction($ticket);
             $pdf->displayLine(sprintf(__('%1$s (%2$s)'), __('External survey'), $url));
         } else {
             if ($survey->getField('date_answered')) {
                 $sat = $survey->getField('satisfaction');
                 $tabsat = array(0 => __('None'), 1 => __('1 star', 'pdf'), 2 => __('2 stars', 'pdf'), 3 => __('3 stars', 'pdf'), 4 => __('4 stars', 'pdf'), 5 => __('5 stars', 'pdf'));
                 if (isset($tabsat[$sat])) {
                     $sat = $tabsat[$sat] . "  ({$sat}/5)";
                 }
                 $pdf->displayLine('<b>' . sprintf(__('%1$s: %2$s'), __('Response date to the satisfaction survey') . '</b>', Html::convDateTime($survey->getField('date_answered'))));
                 $pdf->displayLine('<b>' . sprintf(__('%1$s: %2$s'), __('Satisfaction with the resolution of the ticket') . '</b>', $sat));
                 $pdf->displayText('<b>' . sprintf(__('%1$s: %2$s'), __('Comments') . '</b>', $survey->getField('comment')));
             } else {
                 // No answer
                 $pdf->displayLine(sprintf(__('%1$s: %2$s'), __('Creation date of the satisfaction survey'), Html::convDateTime($survey->getField('date_begin'))));
                 $pdf->displayLine(__('No answer', 'pdf'));
             }
         }
     }
     $pdf->displaySpace();
 }
All Usage Examples Of Entity::generateLinkSatisfaction