function run($max_time) {
        global $cfg;

        $i18n = new Internationalization($cfg->get('system_language', 'en_US'));
        $sequences = $i18n->getTemplate('sequence.yaml')->getData();
        foreach ($sequences as $s) {
            Sequence::create($s)->save();
        }
        db_query('UPDATE '.SEQUENCE_TABLE.' SET `next`= '
            .'(SELECT MAX(ticket_id)+1 FROM '.TICKET_TABLE.') '
            .'WHERE `id`=1');

        require_once(INCLUDE_DIR . 'class.list.php');

        $lists = $i18n->getTemplate('list.yaml')->getData();
        foreach ($lists as $l) {
            DynamicList::create($l);
        }

        $statuses = $i18n->getTemplate('ticket_status.yaml')->getData();
        foreach ($statuses as $s) {
            TicketStatus::__create($s);
        }

        // Initialize MYSQL search backend
        MysqlSearchBackend::__init();
    }
Exemplo n.º 2
0
 /**
  * Ajax: GET|POST /sequence/manage
  *
  * Gets a dialog box content or updates data from the content
  *
  * Post-Arguments:
  * seq[<id>][*] - Updated information for existing sequences
  * seq[<new-*>[*] - Information for new sequences
  * seq[<id>][deleted] - If set to true, indicates that the sequence
  *      should be deleted from the database
  *
  * Throws:
  * 403 - Not logged in
  * 422 - Information sent for update of unknown sequence
  */
 function manage()
 {
     global $thisstaff;
     if (!$thisstaff) {
         Http::response(403, 'Login required');
     }
     $sequences = Sequence::objects()->all();
     $info = array('action' => '#sequence/manage');
     $valid = true;
     if ($_POST) {
         foreach ($_POST['seq'] as $id => $info) {
             if (strpos($id, 'new-') === 0) {
                 unset($info['id']);
                 $sequences[] = Sequence::create($info);
             } else {
                 foreach ($sequences as $s) {
                     if ($s->id == $id) {
                         break;
                     }
                     $s = false;
                 }
                 if (!$s) {
                     Http::response(422, $id . ': Invalid or unknown sequence');
                 } elseif ($info['deleted']) {
                     $s->delete();
                     continue;
                 }
                 foreach ($info as $f => $val) {
                     if (isset($s->{$f})) {
                         $s->set($f, $val);
                     } elseif ($f == 'current') {
                         $s->next = $val;
                     }
                 }
                 if (($v = $s->isValid()) !== true) {
                     $msg = sprintf('%s: %s', $s->getName(), $valid);
                     $valid = false;
                 }
             }
         }
         if ($valid) {
             foreach ($sequences as $s) {
                 $s->save();
             }
             Http::response(205, 'All sequences updated');
         }
     }
     include STAFFINC_DIR . 'templates/sequence-manage.tmpl.php';
 }