Html::makeTitle PHP 메소드

makeTitle() 정적인 공개 메소드

Create a title for list, as "List (5 on 35)"
static public makeTitle ( $string, $num, $tot ) : String
$string String text for title
$num Integer number of item displayed
$tot Integer number of item existing
리턴 String
    static function makeTitle($string, $num, $tot)
    {
        if ($num > 0 && $num < $tot) {
            // TRANS %1$d %2$d are numbers (displayed, total)
            $cpt = sprintf(__('%1$d on %2$d'), $num, $tot);
        } else {
            // $num is 0, so means configured to display nothing
            // or $num == $tot
            $cpt = $tot;
        }
        return sprintf(__('%1$s (%2$s)'), $string, $cpt);
    }

Usage Example

예제 #1
0
 /**
  * @param $start
  * @param $status             (default ''process)
  * @param $showgrouptickets   (true by default)
  */
 static function showCentralList($start, $status = "process", $showgrouptickets = true)
 {
     global $DB, $CFG_GLPI;
     if (!Session::haveRightsOr(self::$rightname, array(CREATE, self::READALL, self::READASSIGN)) && !Session::haveRightsOr('ticketvalidation', TicketValidation::getValidateRights())) {
         return false;
     }
     $search_users_id = " (`glpi_tickets_users`.`users_id` = '" . Session::getLoginUserID() . "'\n                            AND `glpi_tickets_users`.`type` = '" . CommonITILActor::REQUESTER . "') ";
     $search_assign = " (`glpi_tickets_users`.`users_id` = '" . Session::getLoginUserID() . "'\n                            AND `glpi_tickets_users`.`type` = '" . CommonITILActor::ASSIGN . "')";
     $search_observer = " (`glpi_tickets_users`.`users_id` = '" . Session::getLoginUserID() . "'\n                            AND `glpi_tickets_users`.`type` = '" . CommonITILActor::OBSERVER . "')";
     $is_deleted = " `glpi_tickets`.`is_deleted` = 0 ";
     if ($showgrouptickets) {
         $search_users_id = " 0 = 1 ";
         $search_assign = " 0 = 1 ";
         if (count($_SESSION['glpigroups'])) {
             $groups = implode("','", $_SESSION['glpigroups']);
             $search_assign = " (`glpi_groups_tickets`.`groups_id` IN ('" . $groups . "')\n                                AND `glpi_groups_tickets`.`type` = '" . CommonITILActor::ASSIGN . "')";
             if (Session::haveRight(self::$rightname, self::READGROUP)) {
                 $search_users_id = " (`glpi_groups_tickets`.`groups_id` IN ('" . $groups . "')\n                                     AND `glpi_groups_tickets`.`type`\n                                           = '" . CommonITILActor::REQUESTER . "') ";
                 $search_observer = " (`glpi_groups_tickets`.`groups_id` IN ('" . $groups . "')\n                                     AND `glpi_groups_tickets`.`type`\n                                           = '" . CommonITILActor::OBSERVER . "') ";
             }
         }
     }
     $query = "SELECT DISTINCT `glpi_tickets`.`id`\n                FROM `glpi_tickets`\n                LEFT JOIN `glpi_tickets_users`\n                     ON (`glpi_tickets`.`id` = `glpi_tickets_users`.`tickets_id`)\n                LEFT JOIN `glpi_groups_tickets`\n                     ON (`glpi_tickets`.`id` = `glpi_groups_tickets`.`tickets_id`)";
     switch ($status) {
         case "waiting":
             // on affiche les tickets en attente
             $query .= "WHERE {$is_deleted}\n                             AND ({$search_assign})\n                             AND `status` = '" . self::WAITING . "' " . getEntitiesRestrictRequest("AND", "glpi_tickets");
             break;
         case "process":
             // on affiche les tickets planifiés ou assignés au user
             $query .= "WHERE {$is_deleted}\n                             AND ( {$search_assign} )\n                             AND (`status` IN ('" . implode("','", self::getProcessStatusArray()) . "')) " . getEntitiesRestrictRequest("AND", "glpi_tickets");
             break;
         case "toapprove":
             // on affiche les tickets planifiés ou assignés au user
             $query .= "WHERE {$is_deleted}\n                             AND (`status` = '" . self::SOLVED . "')\n                             AND ({$search_users_id}";
             if (!$showgrouptickets && Session::haveRight('ticket', Ticket::SURVEY)) {
                 $query .= " OR `glpi_tickets`.users_id_recipient = '" . Session::getLoginUserID() . "' ";
             }
             $query .= ")" . getEntitiesRestrictRequest("AND", "glpi_tickets");
             break;
         case "tovalidate":
             // on affiche les tickets à valider
             $query .= " LEFT JOIN `glpi_ticketvalidations`\n                           ON (`glpi_tickets`.`id` = `glpi_ticketvalidations`.`tickets_id`)\n                        WHERE {$is_deleted}\n                              AND `users_id_validate` = '" . Session::getLoginUserID() . "'\n                              AND `glpi_ticketvalidations`.`status` = '" . CommonITILValidation::WAITING . "'\n                              AND (`glpi_tickets`.`status` NOT IN ('" . self::CLOSED . "',\n                                                                   '" . self::SOLVED . "')) " . getEntitiesRestrictRequest("AND", "glpi_tickets");
             break;
         case "rejected":
             // on affiche les tickets rejetés
             $query .= "WHERE {$is_deleted}\n                             AND ({$search_assign})\n                             AND `status` <> '" . self::CLOSED . "'\n                             AND `global_validation` = '" . CommonITILValidation::REFUSED . "' " . getEntitiesRestrictRequest("AND", "glpi_tickets");
             break;
         case "observed":
             $query .= "WHERE {$is_deleted}\n                             AND ({$search_observer})\n                             AND (`status` IN ('" . self::INCOMING . "',\n                                               '" . self::PLANNED . "',\n                                               '" . self::ASSIGNED . "',\n                                               '" . self::WAITING . "'))\n                             AND NOT ( {$search_assign} )\n                             AND NOT ( {$search_users_id} ) " . getEntitiesRestrictRequest("AND", "glpi_tickets");
             break;
         case "survey":
             // tickets dont l'enquête de satisfaction n'est pas remplie et encore valide
             $query .= " INNER JOIN `glpi_ticketsatisfactions`\n                           ON (`glpi_tickets`.`id` = `glpi_ticketsatisfactions`.`tickets_id`)\n                        INNER JOIN `glpi_entities`\n                           ON (`glpi_entities`.`id` = `glpi_tickets`.`entities_id`)\n                        WHERE {$is_deleted}\n                              AND ({$search_users_id}\n                                   OR `glpi_tickets`.`users_id_recipient` = '" . Session::getLoginUserID() . "')\n                              AND `glpi_tickets`.`status` = '" . self::CLOSED . "'\n                              AND (`glpi_entities`.`inquest_duration` = 0\n                                   OR DATEDIFF(ADDDATE(`glpi_ticketsatisfactions`.`date_begin`,\n                                                       INTERVAL\n                                                       `glpi_entities`.`inquest_duration` DAY),\n                                               CURDATE()) > 0)\n                              AND `glpi_ticketsatisfactions`.`date_answered` IS NULL " . getEntitiesRestrictRequest("AND", "glpi_tickets");
             break;
         case "requestbyself":
             // on affiche les tickets demandés le user qui sont planifiés ou assignés
             // à quelqu'un d'autre (exclut les self-tickets)
         // on affiche les tickets demandés le user qui sont planifiés ou assignés
         // à quelqu'un d'autre (exclut les self-tickets)
         default:
             $query .= "WHERE {$is_deleted}\n                             AND ({$search_users_id})\n                             AND (`status` IN ('" . self::INCOMING . "',\n                                               '" . self::PLANNED . "',\n                                               '" . self::ASSIGNED . "',\n                                               '" . self::WAITING . "'))\n                             AND NOT ( {$search_assign} ) " . getEntitiesRestrictRequest("AND", "glpi_tickets");
     }
     $query .= " ORDER BY `glpi_tickets`.`date_mod` DESC";
     $result = $DB->query($query);
     $numrows = $DB->numrows($result);
     if ($_SESSION['glpidisplay_count_on_home'] > 0) {
         $query .= " LIMIT " . intval($start) . ',' . intval($_SESSION['glpidisplay_count_on_home']);
         $result = $DB->query($query);
         $number = $DB->numrows($result);
     } else {
         $number = 0;
     }
     if ($numrows > 0) {
         echo "<table class='tab_cadrehov'>";
         echo "<tr class='noHover'><th colspan='4'>";
         $options['reset'] = 'reset';
         $forcetab = '';
         $num = 0;
         if ($showgrouptickets) {
             switch ($status) {
                 case "toapprove":
                     $options['criteria'][0]['field'] = 12;
                     // status
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = self::SOLVED;
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 71;
                     // groups_id
                     $options['criteria'][1]['searchtype'] = 'equals';
                     $options['criteria'][1]['value'] = 'mygroups';
                     $options['criteria'][1]['link'] = 'AND';
                     $forcetab = 'Ticket$2';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Your tickets to close'), $number, $numrows) . "</a>";
                     break;
                 case "waiting":
                     $options['criteria'][0]['field'] = 12;
                     // status
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = self::WAITING;
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 8;
                     // groups_id_assign
                     $options['criteria'][1]['searchtype'] = 'equals';
                     $options['criteria'][1]['value'] = 'mygroups';
                     $options['criteria'][1]['link'] = 'AND';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Tickets on pending status'), $number, $numrows) . "</a>";
                     break;
                 case "process":
                     $options['criteria'][0]['field'] = 12;
                     // status
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = 'process';
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 8;
                     // groups_id_assign
                     $options['criteria'][1]['searchtype'] = 'equals';
                     $options['criteria'][1]['value'] = 'mygroups';
                     $options['criteria'][1]['link'] = 'AND';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Tickets to be processed'), $number, $numrows) . "</a>";
                     break;
                 case "observed":
                     $options['criteria'][0]['field'] = 12;
                     // status
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = 'notold';
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 65;
                     // groups_id
                     $options['criteria'][1]['searchtype'] = 'equals';
                     $options['criteria'][1]['value'] = 'mygroups';
                     $options['criteria'][1]['link'] = 'AND';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Your observed tickets'), $number, $numrows) . "</a>";
                     break;
                 case "requestbyself":
                 default:
                     $options['criteria'][0]['field'] = 12;
                     // status
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = 'notold';
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 71;
                     // groups_id
                     $options['criteria'][1]['searchtype'] = 'equals';
                     $options['criteria'][1]['value'] = 'mygroups';
                     $options['criteria'][1]['link'] = 'AND';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Your tickets in progress'), $number, $numrows) . "</a>";
             }
         } else {
             switch ($status) {
                 case "waiting":
                     $options['criteria'][0]['field'] = 12;
                     // status
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = self::WAITING;
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 5;
                     // users_id_assign
                     $options['criteria'][1]['searchtype'] = 'equals';
                     $options['criteria'][1]['value'] = Session::getLoginUserID();
                     $options['criteria'][1]['link'] = 'AND';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Tickets on pending status'), $number, $numrows) . "</a>";
                     break;
                 case "process":
                     $options['criteria'][0]['field'] = 5;
                     // users_id_assign
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = Session::getLoginUserID();
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 12;
                     // status
                     $options['criteria'][1]['searchtype'] = 'equals';
                     $options['criteria'][1]['value'] = 'process';
                     $options['criteria'][1]['link'] = 'AND';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Tickets to be processed'), $number, $numrows) . "</a>";
                     break;
                 case "tovalidate":
                     $options['criteria'][0]['field'] = 55;
                     // validation status
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = CommonITILValidation::WAITING;
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 59;
                     // validation aprobator
                     $options['criteria'][1]['searchtype'] = 'equals';
                     $options['criteria'][1]['value'] = Session::getLoginUserID();
                     $options['criteria'][1]['link'] = 'AND';
                     $options['criteria'][2]['field'] = 12;
                     // validation aprobator
                     $options['criteria'][2]['searchtype'] = 'equals';
                     $options['criteria'][2]['value'] = 'old';
                     $options['criteria'][2]['link'] = 'AND NOT';
                     $forcetab = 'TicketValidation$1';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Your tickets to validate'), $number, $numrows) . "</a>";
                     break;
                 case "rejected":
                     $options['criteria'][0]['field'] = 52;
                     // validation status
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = CommonITILValidation::REFUSED;
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 5;
                     // assign user
                     $options['criteria'][1]['searchtype'] = 'equals';
                     $options['criteria'][1]['value'] = Session::getLoginUserID();
                     $options['criteria'][1]['link'] = 'AND';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Your rejected tickets'), $number, $numrows) . "</a>";
                     break;
                 case "toapprove":
                     $options['criteria'][0]['field'] = 12;
                     // status
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = self::SOLVED;
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 4;
                     // users_id_assign
                     $options['criteria'][1]['searchtype'] = 'equals';
                     $options['criteria'][1]['value'] = Session::getLoginUserID();
                     $options['criteria'][1]['link'] = 'AND';
                     $options['criteria'][2]['field'] = 22;
                     // users_id_recipient
                     $options['criteria'][2]['searchtype'] = 'equals';
                     $options['criteria'][2]['value'] = Session::getLoginUserID();
                     $options['criteria'][2]['link'] = 'OR';
                     $options['criteria'][3]['field'] = 12;
                     // status
                     $options['criteria'][3]['searchtype'] = 'equals';
                     $options['criteria'][3]['value'] = self::SOLVED;
                     $options['criteria'][3]['link'] = 'AND';
                     $forcetab = 'Ticket$2';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Your tickets to close'), $number, $numrows) . "</a>";
                     break;
                 case "observed":
                     $options['criteria'][0]['field'] = 66;
                     // users_id
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = Session::getLoginUserID();
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 12;
                     // status
                     $options['criteria'][1]['searchtype'] = 'equals';
                     $options['criteria'][1]['value'] = 'notold';
                     $options['criteria'][1]['link'] = 'AND';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Your observed tickets'), $number, $numrows) . "</a>";
                     break;
                 case "survey":
                     $options['criteria'][0]['field'] = 12;
                     // status
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = self::CLOSED;
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 60;
                     // enquete generee
                     $options['criteria'][1]['searchtype'] = 'contains';
                     $options['criteria'][1]['value'] = '^';
                     $options['criteria'][1]['link'] = 'AND';
                     $options['criteria'][2]['field'] = 61;
                     // date_answered
                     $options['criteria'][2]['searchtype'] = 'contains';
                     $options['criteria'][2]['value'] = 'NULL';
                     $options['criteria'][2]['link'] = 'AND';
                     $options['criteria'][3]['field'] = 22;
                     // auteur
                     $options['criteria'][3]['searchtype'] = 'equals';
                     $options['criteria'][3]['value'] = Session::getLoginUserID();
                     $options['criteria'][3]['link'] = 'AND';
                     $forcetab = 'Ticket$3';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Satisfaction survey'), $number, $numrows) . "</a>";
                     break;
                 case "requestbyself":
                 default:
                     $options['criteria'][0]['field'] = 4;
                     // users_id
                     $options['criteria'][0]['searchtype'] = 'equals';
                     $options['criteria'][0]['value'] = Session::getLoginUserID();
                     $options['criteria'][0]['link'] = 'AND';
                     $options['criteria'][1]['field'] = 12;
                     // status
                     $options['criteria'][1]['searchtype'] = 'equals';
                     $options['criteria'][1]['value'] = 'notold';
                     $options['criteria'][1]['link'] = 'AND';
                     echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/ticket.php?" . Toolbox::append_params($options, '&amp;') . "\">" . Html::makeTitle(__('Your tickets in progress'), $number, $numrows) . "</a>";
             }
         }
         echo "</th></tr>";
         if ($number) {
             echo "<tr><th></th>";
             echo "<th>" . __('Requester') . "</th>";
             echo "<th>" . _n('Associated element', 'Associated elements', Session::getPluralNumber()) . "</th>";
             echo "<th>" . __('Description') . "</th></tr>";
             for ($i = 0; $i < $number; $i++) {
                 $ID = $DB->result($result, $i, "id");
                 self::showVeryShort($ID, $forcetab);
             }
         }
         echo "</table>";
     }
 }
All Usage Examples Of Html::makeTitle
Html