diff --git a/include/mysqli.php b/include/mysqli.php index 998d286590d08ff8f8ea6c78ad072b28ee7600f2..efb459f334b9d8a6ffc7899fca51caf08d2f25cc 100644 --- a/include/mysqli.php +++ b/include/mysqli.php @@ -234,7 +234,7 @@ function db_fetch_field($res) { return ($res) ? $res->fetch_field() : NULL; } -function db_assoc_array($res, $mode=false) { +function db_assoc_array($res, $mode=MYSQLI_ASSOC) { $result = array(); if($res && db_num_rows($res)) { while ($row=db_fetch_array($res, $mode)) diff --git a/include/upgrader/streams/core/934b8db8-ad9d0a5f.task.php b/include/upgrader/streams/core/934b8db8-ad9d0a5f.task.php index 29a3a4b8c71c1a2cfbf191f03f8cb8fc2fb032c8..b34f4690a21556db3829fbc46d2f1673c43ebc8f 100644 --- a/include/upgrader/streams/core/934b8db8-ad9d0a5f.task.php +++ b/include/upgrader/streams/core/934b8db8-ad9d0a5f.task.php @@ -9,14 +9,24 @@ class QueueSortCreator extends MigrationTask { foreach ($columns as $C) { QueueColumn::__create($C); } - // Make room for the new queues starting at ID 1 - $id = new SqlField('id'); - CustomQueue::objects()->update(['id' => $id->plus(30)]); + + // Save old records + $old = db_assoc_array(db_query('SELECT * FROM '.QUEUE_TABLE)); + // Truncate Queue table - make room for the new queues starting at ID 1 + db_query('TRUNCATE TABLE '.QUEUE_TABLE); $queues = $i18n->getTemplate('queue.yaml')->getData(); foreach ($queues as $C) { CustomQueue::__create($C); } + // Re-insert old saved searches + foreach ($old ?: array() as $row) { + $row['root'] = 'T'; + CustomQueue::__create(array_intersect_key($row, array_flip( + array('staff_id', 'title', 'config', 'flags', + 'root', 'created', 'updated')))); + } + $columns = $i18n->getTemplate('queue_sort.yaml')->getData(); foreach ($columns as $C) { QueueSort::__create($C);