diff --git a/WHATSNEW.md b/WHATSNEW.md index 13f764878f5feb5fe7a9377bafb469d565e917ce..33eeb6cd2180877f5e080dc19c8cb3c05cfec8fe 100644 --- a/WHATSNEW.md +++ b/WHATSNEW.md @@ -185,6 +185,31 @@ database engines other than MySQL. The ORM was originally introduced in osTicket v1.8.0, but has seen the greatest boost in capability in this release. About 47% of the SQL queries are removed between v1.9.7 and v1.10 +osTicket v1.9.11 +================ +*We skipped v1.9.10 to avoid confusion with v1.10 (the major release coming out at the same time)* + +### Enhancements + * Log to syslog on php mail() error (#2128) + * Full path of help topics shown in filter management (3d98dff) + * Auto rebuild the search index if %_search table is dropped (#2250) + * New version available message in system information (0cca608) + +### Improvements + * Fix appearance of ` <div>` in user names (*regression in v1.9.9*) (be2f138) + * Out-of-office notification does not clear closing agent (#2181) + * Fix check for departments limiting assignees to members only (#2143) + * Fix signal data pass by reference (#2195) + * Fix template variables not rendering in href attributes (#2223) + * Fix missing custom data for new users (#2203) + * Fix incorrect cli option expansion (#2199) + * Properly encode `To` header for php mail() sends (857dd22) + * Fix incorrect message body when fetching TNEF emails (0ec7cf6) + * Fix layout of some tables in PDF export (cef3dd3) + +### Performance and Security + * Fix XSS issue on choices field type (#2271) + osTicket v1.9.9 =============== ### Enhancements diff --git a/include/ajax.users.php b/include/ajax.users.php index 4b3c64fd2ffa67e7b2b6cda925eb1e1b3ff6add9..6cfed17c8c09ddc6d2c0ccffe7bc9f5822e7bf53 100644 --- a/include/ajax.users.php +++ b/include/ajax.users.php @@ -36,7 +36,7 @@ class UsersAjaxAPI extends AjaxController { if (!$type || !strcasecmp($type, 'remote')) { foreach (AuthenticationBackend::searchUsers($_REQUEST['q']) as $u) { $name = new UsersName(array('first' => $u['first'], 'last' => $u['last'])); - $users[] = array('email' => $u['email'], 'name'=>$name, + $users[] = array('email' => $u['email'], 'name'=>(string) $name, 'info' => "{$u['email']} - $name (remote)", 'id' => "auth:".$u['id'], "/bin/true" => $_REQUEST['q']); $emails[] = $u['email']; diff --git a/include/class.organization.php b/include/class.organization.php index e1514f19d0c6859477340067a966d601a9dba6fa..75024ec6bf832b6070b8883302de53e3456c3662 100644 --- a/include/class.organization.php +++ b/include/class.organization.php @@ -214,6 +214,8 @@ implements TemplateVariable { } function isMappedToDomain($domain) { + if (!$domain || !$this->domain) + return false; foreach (explode(',', $this->domain) as $d) { $d = trim($d); if ($d[0] == '.') { @@ -230,8 +232,12 @@ implements TemplateVariable { } static function forDomain($domain) { - foreach (static::objects() - ->filter(array('domain__contains'=>$domain)) as $org) { + if (!$domain) + return null; + foreach (static::objects()->filter(array( + 'domain__gt'=>'', + 'domain__contains'=>$domain + )) as $org) { if ($org->isMappedToDomain($domain)) { return $org; }