CommonITILObject::getUsedTechTaskBetween PHP Метод

getUsedTechTaskBetween() публичный Метод

Get users which have followup assigned to between 2 dates
public getUsedTechTaskBetween ( $date1 = '', $date2 = '' ) : array
$date1 date : begin date (default '')
$date2 date : end date (default '')
Результат array contains the distinct users which have any followup assigned to.
    function getUsedTechTaskBetween($date1 = '', $date2 = '')
    {
        global $DB;
        $tasktable = getTableForItemType($this->getType() . 'Task');
        $showlink = User::canView();
        $query = "SELECT DISTINCT `glpi_users`.`id` AS users_id,\n                                `glpi_users`.`name` AS name,\n                                `glpi_users`.`realname` AS realname,\n                                `glpi_users`.`firstname` AS firstname\n                FROM `" . $this->getTable() . "`\n                LEFT JOIN `{$tasktable}`\n                  ON (`" . $this->getTable() . "`.`id` = `{$tasktable}`.`" . $this->getForeignKeyField() . "`)\n                LEFT JOIN `glpi_users` ON (`glpi_users`.`id` = `{$tasktable}`.`users_id`)\n                LEFT JOIN `glpi_profiles_users`\n                  ON (`glpi_users`.`id` = `glpi_profiles_users`.`users_id`)\n                LEFT JOIN `glpi_profiles`\n                  ON (`glpi_profiles`.`id` = `glpi_profiles_users`.`profiles_id`)\n                LEFT JOIN `glpi_profilerights`\n                  ON (`glpi_profiles`.`id` = `glpi_profilerights`.`profiles_id`)\n                WHERE NOT `" . $this->getTable() . "`.`is_deleted` " . getEntitiesRestrictRequest("AND", $this->getTable());
        if (!empty($date1) || !empty($date2)) {
            $query .= " AND (" . getDateRequest("`" . $this->getTable() . "`.`date`", $date1, $date2) . "\n                          OR " . getDateRequest("`" . $this->getTable() . "`.`closedate`", $date1, $date2) . ") ";
        }
        $query .= "     AND `glpi_profilerights`.`name` = 'ticket'\n                     AND (`glpi_profilerights`.`rights` & " . Ticket::OWN . ")\n                     AND `{$tasktable}`.`users_id` <> '0'\n                     AND `{$tasktable}`.`users_id` IS NOT NULL\n               ORDER BY realname, firstname, name";
        $result = $DB->query($query);
        $tab = array();
        if ($DB->numrows($result) >= 1) {
            while ($line = $DB->fetch_assoc($result)) {
                $tmp['id'] = $line["users_id"];
                $tmp['link'] = formatUserName($line["users_id"], $line["name"], $line["realname"], $line["firstname"], $showlink);
                $tab[] = $tmp;
            }
        }
        return $tab;
    }
CommonITILObject