Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/setup/upgrade/0.9.9/upgrade_assignments.php
diff options
context:
space:
mode:
Diffstat (limited to 'setup/upgrade/0.9.9/upgrade_assignments.php')
-rw-r--r--setup/upgrade/0.9.9/upgrade_assignments.php31
1 files changed, 31 insertions, 0 deletions
diff --git a/setup/upgrade/0.9.9/upgrade_assignments.php b/setup/upgrade/0.9.9/upgrade_assignments.php
new file mode 100644
index 0000000..a9aa53c
--- /dev/null
+++ b/setup/upgrade/0.9.9/upgrade_assignments.php
@@ -0,0 +1,31 @@
+<?php
+ /**********************************************************\
+ | This script moves data from {dbprefix)tasks.assigned_to |
+ | to {dbprefix}assigned. This is to implement multiple |
+ | assignees per task as described in FS#329. It only needs |
+ | to be run once to do the conversion. |
+ \***********************************************************/
+
+$check_sql = $db->query("SELECT task_id, assigned_to
+ FROM {tasks}
+ WHERE assigned_to > '0'");
+
+while ($row = $db->fetchRow($check_sql))
+{
+ $check = $db->query('SELECT assigned_id FROM {assigned} WHERE task_id = ? AND user_id = ?',
+ array($row['task_id'], $row['assigned_to']));
+ if ($db->fetchOne($check)) {
+ continue;
+ }
+
+ $db->query('INSERT INTO {assigned}
+ (task_id, user_id)
+ VALUES (?,?)',
+ array($row['task_id'], $row['assigned_to']));
+
+ $db->query('UPDATE {tasks}
+ SET assigned_to = 0
+ WHERE task_id = ?',
+ array($row['task_id']));
+}
+?>