diff --git a/bootstrap.php b/bootstrap.php index c00e425c35f8278b8f27d7fc1f9edfe01848e071..df723ae7af7c9e2da93e1ae81ca7fcb8b652dbf2 100644 --- a/bootstrap.php +++ b/bootstrap.php @@ -207,7 +207,7 @@ class Bootstrap { require(INCLUDE_DIR.'class.mailer.php'); require_once INCLUDE_DIR.'mysqli.php'; require_once INCLUDE_DIR.'class.i18n.php'; - require_once INCLUDE_DIR.'class.search.php'; + require_once INCLUDE_DIR.'class.queue.php'; } function i18n_prep() { diff --git a/include/ajax.search.php b/include/ajax.search.php index 55dd5aa014083d3453b5cc864351a4ac51b3bbd4..db9fab815ea996725bee2b82b807b454c6c61aae 100644 --- a/include/ajax.search.php +++ b/include/ajax.search.php @@ -19,7 +19,6 @@ if(!defined('INCLUDE_DIR')) die('403'); include_once(INCLUDE_DIR.'class.ticket.php'); require_once(INCLUDE_DIR.'class.ajax.php'); -require_once(INCLUDE_DIR.'class.queue.php'); class SearchAjaxAPI extends AjaxController { diff --git a/include/class.config.php b/include/class.config.php index 20c09e1dd26d94a713e95bec75ff0e17e17ff6d4..1a37d3e0b563fd621f4a387f551ffd8c52a09adc 100644 --- a/include/class.config.php +++ b/include/class.config.php @@ -1241,7 +1241,6 @@ class OsticketConfig extends Config { if (!preg_match('`(?!<\\\)#`', $vars['ticket_number_format'])) $errors['ticket_number_format'] = 'Ticket number format requires at least one hash character (#)'; - require_once INCLUDE_DIR . 'class.queue.php'; if (!isset($vars['default_ticket_queue'])) $errors['default_ticket_queue'] = __("Select a default ticket queue"); elseif (!CustomQueue::lookup($vars['default_ticket_queue'])) diff --git a/include/class.i18n.php b/include/class.i18n.php index 69814a0a38488ac3f606034631a1760362c821bc..d7aaa71ed98e7a296b0efd09cb7097602b3e3962 100644 --- a/include/class.i18n.php +++ b/include/class.i18n.php @@ -66,6 +66,7 @@ class Internationalization { 'role.yaml' => 'Role::__create', 'file.yaml' => 'AttachmentFile::__create', 'sequence.yaml' => 'Sequence::__create', + 'queue.yaml' => 'CustomQueue::__create', ); $errors = array(); diff --git a/include/class.queue.php b/include/class.queue.php index 7690a90239e8218790b858f4f4990be1a0063185..51bc6ff66f7e6971e15380a4b069d643b2e6aa22 100644 --- a/include/class.queue.php +++ b/include/class.queue.php @@ -290,6 +290,12 @@ class CustomQueue extends SavedSearch { return $queue; } + + static function __create($vars) { + $q = static::create($vars); + $q->save(); + return $q; + } } abstract class QueueColumnAnnotation { diff --git a/include/i18n/en_US/config.yaml b/include/i18n/en_US/config.yaml index c849302f40086e18fa46a4bf47143faedf075622..32783896b5ee0083d2ea481d79a851c787fc0d3a 100644 --- a/include/i18n/en_US/config.yaml +++ b/include/i18n/en_US/config.yaml @@ -80,3 +80,4 @@ core: log_level: 2 log_graceperiod: 12 client_registration: 'public' + default_ticket_queue: 1 diff --git a/include/staff/queues-ticket.inc.php b/include/staff/queues-ticket.inc.php index 6ddb5c598ae47865ab9342547a037f2aa2e1acf4..f051d5b7c0b1364eecf36037eb24aacad4f960ab 100644 --- a/include/staff/queues-ticket.inc.php +++ b/include/staff/queues-ticket.inc.php @@ -1,6 +1,3 @@ -<?php -require_once INCLUDE_DIR . 'class.queue.php'; -?> <div> <table class="form_table settings_table" width="940" border="0" cellspacing="0" cellpadding="2"> <thead> diff --git a/scp/queues.php b/scp/queues.php index a227238adfeb64826093f9cce4de77104353ed2a..90e8e9bd86d5b000234711ed1bb38d5e584f9020 100644 --- a/scp/queues.php +++ b/scp/queues.php @@ -17,8 +17,6 @@ require('admin.inc.php'); -require_once INCLUDE_DIR . 'class.queue.php'; - $nav->setTabActive('settings', 'settings.php?t='.urlencode($_GET['t'])); $errors = array(); diff --git a/scp/tickets.php b/scp/tickets.php index 1587110b0d111dd780988da6ef6f69b64894565d..f381c30593ec5a242d07141c9f63eb6dbbcd2e87 100644 --- a/scp/tickets.php +++ b/scp/tickets.php @@ -58,7 +58,6 @@ if (!$ticket) { $_GET['status'] = $_REQUEST['status'] = $queue_name; } -require_once INCLUDE_DIR . 'class.queue.php'; $queue_id = @$_REQUEST['queue'] ?: $cfg->getDefaultTicketQueueId(); if ((int) $queue_id) { $queue = CustomQueue::lookup($queue_id);