From 6854cb3f4d8219cf1829e32122eb2502a916eae9 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 1 Feb 2020 09:05:48 +0100 Subject: initial checkin --- setup/upgrade/0.9.9/add_data.php | 34 + setup/upgrade/0.9.9/add_duplicates.php | 41 ++ setup/upgrade/0.9.9/add_searches.php | 22 + setup/upgrade/0.9.9/clean_unique.php | 67 ++ setup/upgrade/0.9.9/convert_categories.php | 43 ++ setup/upgrade/0.9.9/convert_private.php | 26 + setup/upgrade/0.9.9/flyspray-begin.xml | 748 +++++++++++++++++++ setup/upgrade/0.9.9/flyspray-final.xml | 976 +++++++++++++++++++++++++ setup/upgrade/0.9.9/flyspray-install.xml | 1044 +++++++++++++++++++++++++++ setup/upgrade/0.9.9/rename_columns.php | 14 + setup/upgrade/0.9.9/upgrade.info | 44 ++ setup/upgrade/0.9.9/upgrade_assignments.php | 31 + 12 files changed, 3090 insertions(+) create mode 100644 setup/upgrade/0.9.9/add_data.php create mode 100644 setup/upgrade/0.9.9/add_duplicates.php create mode 100644 setup/upgrade/0.9.9/add_searches.php create mode 100644 setup/upgrade/0.9.9/clean_unique.php create mode 100644 setup/upgrade/0.9.9/convert_categories.php create mode 100644 setup/upgrade/0.9.9/convert_private.php create mode 100644 setup/upgrade/0.9.9/flyspray-begin.xml create mode 100644 setup/upgrade/0.9.9/flyspray-final.xml create mode 100644 setup/upgrade/0.9.9/flyspray-install.xml create mode 100644 setup/upgrade/0.9.9/rename_columns.php create mode 100644 setup/upgrade/0.9.9/upgrade.info create mode 100644 setup/upgrade/0.9.9/upgrade_assignments.php (limited to 'setup/upgrade/0.9.9') diff --git a/setup/upgrade/0.9.9/add_data.php b/setup/upgrade/0.9.9/add_data.php new file mode 100644 index 0000000..8c32d38 --- /dev/null +++ b/setup/upgrade/0.9.9/add_data.php @@ -0,0 +1,34 @@ +query('SELECT count(*) FROM {list_status}'); +if ($db->fetchOne($sql) < 1) { + $db->query("INSERT INTO {list_status} (status_name, list_position, show_in_list, project_id) VALUES ('Unconfirmed', 1, 1, 0)"); + $db->query("INSERT INTO {list_status} (status_name, list_position, show_in_list, project_id) VALUES ('New', 2, 1, 0)"); + $db->query("INSERT INTO {list_status} (status_name, list_position, show_in_list, project_id) VALUES ('Assigned', 3, 1, 0)"); + $db->query("INSERT INTO {list_status} (status_name, list_position, show_in_list, project_id) VALUES ('Researching', 4, 1, 0)"); + $db->query("INSERT INTO {list_status} (status_name, list_position, show_in_list, project_id) VALUES ('Waiting on Customer', 5, 1, 0)"); + $db->query("INSERT INTO {list_status} (status_name, list_position, show_in_list, project_id) VALUES ('Requires testing', 6, 1, 0)"); +} + +if (Post::val('replace_resolution')) { + $db->query('UPDATE {list_resolution} SET resolution_name = ? WHERE resolution_id = ?', array('Duplicate (the real one)', 6)); +} + +$db->query("DELETE FROM {list_status} WHERE status_id = 7"); +$db->query("DELETE FROM {notifications} WHERE user_id = 0 OR task_id = 0"); + +$db->query("UPDATE {tasks} SET closure_comment='' WHERE closure_comment='0'"); +$db->query("UPDATE {groups} SET add_to_assignees = '1' WHERE assign_others_to_self =1 "); +$db->query("UPDATE {groups} SET add_votes = 1 WHERE group_id = 2 OR group_id = 3 OR group_id = 6"); +$db->query("UPDATE {groups} SET edit_assignments = '1' WHERE group_id = 2"); +$db->query("UPDATE {history} SET event_type = 3 WHERE event_type = 0"); +$db->query("UPDATE {history} SET event_type = 11 WHERE event_type = 15"); +$db->query("UPDATE {history} SET event_type = 12 WHERE event_type = 16"); +$db->query("UPDATE {history} SET field_changed = 'project_id' WHERE field_changed = 'attached_to_project'"); + +?> diff --git a/setup/upgrade/0.9.9/add_duplicates.php b/setup/upgrade/0.9.9/add_duplicates.php new file mode 100644 index 0000000..4a00a8a --- /dev/null +++ b/setup/upgrade/0.9.9/add_duplicates.php @@ -0,0 +1,41 @@ +query('SELECT task_id, closure_comment, resolution_reason FROM {tasks}'); + +while ($row = $db->fetchRow($check_sql)) +{ + if ($row['resolution_reason'] == 6) { + preg_match("/\b(?:FS#|bug )(\d+)\b/", $row['closure_comment'], $dupe_of); + if (count($dupe_of)) { + $existing = $db->query('SELECT * FROM {related} WHERE this_task = ? AND related_task = ? AND is_duplicate = 1', + array($row['task_id'], $dupe_of[1])); + + if ($db->countRows($existing) == 0) { + $db->query('INSERT INTO {related} (this_task, related_task, is_duplicate) VALUES(?,?,1)', + array($row['task_id'], $dupe_of[1])); + echo $row['task_id'] . ' is a duplicate of ' . $dupe_of[1] . '.
'; + } + } + } +} + +$check_sql = $db->query('SELECT this_task, related_task FROM {related} WHERE is_duplicate = 0'); +$deleted = array(); + +while ($row = $db->fetchRow($check_sql)) +{ + $existing = $db->query('SELECT related_id FROM {related} WHERE this_task = ? AND related_task = ? AND is_duplicate = 0', + array($row['related_task'], $row['this_task'])); + + if ($db->countRows($existing) == 1 && !isset($deleted[$row['related_task'].'-'.$row['this_task']])) { + $deleted[$row['this_task'].'-'.$row['related_task']] = true; + $db->query('DELETE FROM {related} WHERE related_id = ?', array($db->fetchOne($existing))); + } +} + +?> diff --git a/setup/upgrade/0.9.9/add_searches.php b/setup/upgrade/0.9.9/add_searches.php new file mode 100644 index 0000000..6e5031c --- /dev/null +++ b/setup/upgrade/0.9.9/add_searches.php @@ -0,0 +1,22 @@ +query('SELECT user_id FROM {users}'); + +while ($row = $db->fetchRow($check_sql)) +{ + $db->query('DELETE FROM {searches} WHERE (name = ? OR name = ? OR name = ?) AND user_id = ?', array('Tasks I watch', 'Tasks assigned to me', 'Tasks I opened', $row['user_id'])); + $db->query('INSERT INTO {searches} (user_id, name, search_string, time) VALUES (?, \'Tasks I watch\', \'a:16:{s:6:"string";N;s:4:"type";a:1:{i:0;s:0:"";}s:3:"sev";a:1:{i:0;s:0:"";}s:3:"due";a:1:{i:0;s:0:"";}s:3:"dev";N;s:3:"cat";a:1:{i:0;s:0:"";}s:6:"status";a:1:{i:0;s:4:"open";}s:5:"order";N;s:4:"sort";N;s:7:"percent";a:1:{i:0;s:0:"";}s:6:"opened";N;s:18:"search_in_comments";N;s:14:"search_for_all";N;s:8:"reported";a:1:{i:0;s:0:"";}s:12:"only_primary";N;s:12:"only_watched";s:1:"1";}\', ' . time() . ')', + array($row['user_id'])); + $db->query('INSERT INTO {searches} (user_id, name, search_string, time) VALUES (?, \'Tasks assigned to me\', \'a:16:{s:6:"string";N;s:4:"type";a:1:{i:0;s:0:"";}s:3:"sev";a:1:{i:0;s:0:"";}s:3:"due";a:1:{i:0;s:0:"";}s:3:"dev";s:' . strlen($row['user_id']) . ':"' . $row['user_id'] .'";s:3:"cat";a:1:{i:0;s:0:"";}s:6:"status";a:1:{i:0;s:4:"open";}s:5:"order";N;s:4:"sort";N;s:7:"percent";a:1:{i:0;s:0:"";}s:6:"opened";N;s:18:"search_in_comments";N;s:14:"search_for_all";N;s:8:"reported";a:1:{i:0;s:0:"";}s:12:"only_primary";N;s:12:"only_watched";N;}\', ' . time() . ')', + array($row['user_id'])); + $db->query('INSERT INTO {searches} (user_id, name, search_string, time) VALUES (?, \'Tasks I opened\', \'a:16:{s:6:"string";N;s:4:"type";a:1:{i:0;s:0:"";}s:3:"sev";a:1:{i:0;s:0:"";}s:3:"due";a:1:{i:0;s:0:"";}s:3:"dev";N;s:3:"cat";a:1:{i:0;s:0:"";}s:6:"status";a:1:{i:0;s:4:"open";}s:5:"order";N;s:4:"sort";N;s:7:"percent";a:1:{i:0;s:0:"";}s:6:"opened";s:' . strlen($row['user_id']) . ':"' . $row['user_id'] .'";s:18:"search_in_comments";N;s:14:"search_for_all";N;s:8:"reported";a:1:{i:0;s:0:"";}s:12:"only_primary";N;s:12:"only_watched";N;}\', ' . time() . ')', + array($row['user_id'])); +} + + +?> + diff --git a/setup/upgrade/0.9.9/clean_unique.php b/setup/upgrade/0.9.9/clean_unique.php new file mode 100644 index 0000000..652630b --- /dev/null +++ b/setup/upgrade/0.9.9/clean_unique.php @@ -0,0 +1,67 @@ +query('SELECT * FROM {users} ORDER BY user_id ASC'); + +while ($row = $db->fetchRow($users)) +{ + if (!isset($deleted[$row['user_name']])) { + $deleted[$row['user_name']] = $row['user_id']; + } + + $db->query('DELETE FROM {users} WHERE user_name = ? AND user_id != ?', + array($row['user_name'], $deleted[$row['user_name']])); +} + + +$users = $db->query('SELECT * FROM {registrations} ORDER BY reg_id ASC'); + +while ($row = $db->fetchRow($users)) +{ + if (!isset($deleted[$row['user_name']])) { + $deleted[$row['user_name']] = $row['reg_id']; + } + + $db->query('DELETE FROM {registrations} WHERE user_name = ? AND reg_id != ?', + array($row['user_name'], $deleted[$row['user_name']])); +} + +// Users in groups + +$sql = $db->query('SELECT * FROM {users_in_groups} ORDER BY record_id'); +while ($row = $db->fetchRow($sql)) +{ + $db->query('DELETE FROM {users_in_groups} WHERE user_id = ? AND group_id = ? AND record_id <> ?', + array($row['user_id'], $row['group_id'], $row['record_id'])); +} + +// Group names + +$sql = $db->query('SELECT * FROM {groups} ORDER BY group_id ASC'); +while ($row = $db->fetchRow($sql)) +{ + $col = 'belongs_to_project'; + if (!isset($row[$col])) { + $col = 'project_id'; + } + + $db->query('DELETE FROM {groups} WHERE group_name = ? AND '.$col.' = ? AND group_id <> ?', + array($row['group_name'], $row[$col], $row['group_id'])); +} + +// Out of range value adjusted for column.. +$sql = $db->query('SELECT * FROM {tasks}'); +while ($row = $db->fetchRow($sql)) +{ + $db->query('UPDATE {tasks} SET date_closed = ?, last_edited_time = ? WHERE task_id = ?', + array(intval($row['date_closed']), intval($row['last_edited_time']), $row['task_id'])); + if (isset($row['due_date'])) { + $db->query('UPDATE {tasks} SET due_date = ? WHERE task_id = ?', + array(intval($row['due_date']), $row['task_id'])); + } +} +?> diff --git a/setup/upgrade/0.9.9/convert_categories.php b/setup/upgrade/0.9.9/convert_categories.php new file mode 100644 index 0000000..99789ad --- /dev/null +++ b/setup/upgrade/0.9.9/convert_categories.php @@ -0,0 +1,43 @@ +query('SELECT category_id FROM {list_category} WHERE parent_id = ? AND project_id = ?', array($parent, $pr)); + + while ($row = $db->fetchRow($result)) { + // recursive execution of this function for each + // child of this node + // $right is the current right value, which is + // incremented by the rebuild_tree function + $right = rebuild_tree($row['category_id'], $right, $pr); + } + + // we've got the left value, and now that we've processed + // the children of this node we also know the right value + $db->query('UPDATE {list_category} SET lft= ?, rgt= ? WHERE category_id = ?', array($left, $right, $parent)); + $sql = $db->query('SELECT * FROM {list_category} WHERE category_id = ? OR project_id=? AND parent_id=-1', array($parent, $pr)); + if (!$db->countRows($sql)) { + $db->query('INSERT INTO {list_category} (project_id, lft, rgt, category_name, parent_id) VALUES(?,?,?,?,-1)', + array($pr,$left,$right,'root')); + } + // return the right value of this node + 1 + return $right+1; +} + +$projects = $db->query('SELECT project_id FROM {projects}'); + +// Global project +rebuild_tree(0, 1, 0); +while ($pr = $db->fetchRow($projects)) { + rebuild_tree(0, 1, $pr['project_id']); +} + +?> diff --git a/setup/upgrade/0.9.9/convert_private.php b/setup/upgrade/0.9.9/convert_private.php new file mode 100644 index 0000000..b871d39 --- /dev/null +++ b/setup/upgrade/0.9.9/convert_private.php @@ -0,0 +1,26 @@ +query('SELECT * FROM {history} WHERE event_type = 26 OR event_type = 27'); + +while ($row = $db->fetchRow($check_sql)) +{ + $db->query('DELETE FROM {history} WHERE history_id = ?', array($row['history_id'])); + if ($row['event_type'] == 26) { + $row['old_value'] = 0; + $row['new_value'] = 1; + } + if ($row['event_type'] == 27) { + $row['old_value'] = 1; + $row['new_value'] = 0; + } + $db->query("INSERT INTO {history} (task_id, user_id, event_date, event_type, field_changed, old_value, new_value) + VALUES(?, ?, ?, 0, 'mark_private', ?, ?)", + array($row['task_id'], $row['user_id'], $row['event_date'], $row['old_value'], $row['new_value'])); +} + + +?> diff --git a/setup/upgrade/0.9.9/flyspray-begin.xml b/setup/upgrade/0.9.9/flyspray-begin.xml new file mode 100644 index 0000000..aac979a --- /dev/null +++ b/setup/upgrade/0.9.9/flyspray-begin.xml @@ -0,0 +1,748 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+
diff --git a/setup/upgrade/0.9.9/flyspray-final.xml b/setup/upgrade/0.9.9/flyspray-final.xml new file mode 100644 index 0000000..5db6a96 --- /dev/null +++ b/setup/upgrade/0.9.9/flyspray-final.xml @@ -0,0 +1,976 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + task_id + user_id + + + task_id + user_id + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + task_id + comment_id + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + type + topic + project_id + max_items + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + task_id + +
+ + + + + + + + + + + + + + + + task_id + dep_task_id + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + group_name + project_id + + + project_id + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + task_id + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + project_id + +
+ + + + + + + + + + + + + + + + + + + + + + project_id + +
+ + + + + + + + + + + + + + + + + + + + + + project_id + +
+ + + + + + + + + + + + + + + + + + + + + + project_id + +
+ + + + + + + + + + + + + + + + + + + + + + project_id + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + project_id + version_tense + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + this_task + related_task + is_duplicate + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + project_id + + + task_severity + + + task_type + + + product_category + + + item_status + + + is_closed + + + closedby_version + + + due_date + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + user_name + +
+ + + + + + + + + + + + + + + + group_id + user_id + + + user_id + +
+ + + + + + + + + + + + + + + + + +
+
diff --git a/setup/upgrade/0.9.9/flyspray-install.xml b/setup/upgrade/0.9.9/flyspray-install.xml new file mode 100644 index 0000000..7496241 --- /dev/null +++ b/setup/upgrade/0.9.9/flyspray-install.xml @@ -0,0 +1,1044 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + task_id + user_id + + + task_id + user_id + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + task_id + comment_id + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + type + topic + project_id + max_items + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + task_id + +
+ + + + + + + + + + + + + + + + task_id + dep_task_id + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + group_name + project_id + + + project_id + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + task_id + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + project_id + +
+ + + + + + + + + + + + + + + + + + + + + + project_id + +
+ + + + + + + + + + + + + + + + + + + + + + project_id + +
+ + + + + + + + + + + + + + + + + + + + + + project_id + +
+ + + + + + + + + + + + + + + + + + + + + + project_id + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + project_id + version_tense + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + task_id + user_id + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + this_task + related_task + is_duplicate + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + project_id + + + task_severity + + + task_type + + + product_category + + + item_status + + + is_closed + + + closedby_version + + + due_date + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + user_name + +
+ + + + + + + + + + + + + + + + group_id + user_id + + + user_id + +
+ + + + + + + + + + + + + + + + + +
+ + INSERT INTO groups VALUES (DEFAULT, 'Admin', 'Members have unlimited access to all functionality.', 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1); + INSERT INTO groups VALUES (DEFAULT, 'Developers', 'Global Developers for all projects', 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1); + INSERT INTO groups VALUES (DEFAULT, 'Reporters', 'Open new tasks / add comments in all projects', 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1); + INSERT INTO groups VALUES (DEFAULT, 'Basic', 'Members can login, relying upon Project permissions only', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1); + INSERT INTO groups VALUES (DEFAULT, 'Pending', 'Users who are awaiting approval of their accounts.', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + INSERT INTO groups VALUES (DEFAULT, 'Project Managers', 'Permission to do anything related to the Default Project.', 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1); + INSERT INTO history VALUES (DEFAULT, 1, 1, 1130024797, 1, '', '', ''); + INSERT INTO list_category VALUES (DEFAULT, 1, 'Backend / Core', 1, 0, 2, 3); + INSERT INTO list_category VALUES (DEFAULT, 0, 'root', 0, 0, 1, 2); + INSERT INTO list_category VALUES (DEFAULT, 1, 'root', 0, 0, 1, 4); + INSERT INTO list_os VALUES (DEFAULT, 1, 'All', 1, 1); + INSERT INTO list_os VALUES (DEFAULT, 1, 'Windows', 2, 1); + INSERT INTO list_os VALUES (DEFAULT, 1, 'Linux', 3, 1); + INSERT INTO list_os VALUES (DEFAULT, 1, 'Mac OS', 4, 1); + INSERT INTO list_resolution VALUES (DEFAULT, 'Not a bug', 1, 1, 0); + INSERT INTO list_resolution VALUES (DEFAULT, 'Won''t fix', 2, 1, 0); + INSERT INTO list_resolution VALUES (DEFAULT, 'Won''t implement', 3, 1, 0); + INSERT INTO list_resolution VALUES (DEFAULT, 'Works for me', 4, 1, 0); + INSERT INTO list_resolution VALUES (DEFAULT, 'Deferred', 5, 1, 0); + INSERT INTO list_resolution VALUES (DEFAULT, 'Duplicate', 6, 1, 0); + INSERT INTO list_resolution VALUES (DEFAULT, 'Fixed', 7, 1, 0); + INSERT INTO list_resolution VALUES (DEFAULT, 'Implemented', 8, 1, 0); + INSERT INTO list_tasktype VALUES (DEFAULT, 'Bug Report', 1, 1, 0); + INSERT INTO list_tasktype VALUES (DEFAULT, 'Feature Request', 2, 1, 0); + INSERT INTO list_version VALUES (DEFAULT, 1, 'Development', 1, 1, 2); + INSERT INTO list_status (status_name, list_position, show_in_list, project_id) VALUES ('Unconfirmed', 1, 1, 0) + INSERT INTO list_status (status_name, list_position, show_in_list, project_id) VALUES ('New', 2, 1, 0) + INSERT INTO list_status (status_name, list_position, show_in_list, project_id) VALUES ('Assigned', 3, 1, 0) + INSERT INTO list_status (status_name, list_position, show_in_list, project_id) VALUES ('Researching', 4, 1, 0) + INSERT INTO list_status (status_name, list_position, show_in_list, project_id) VALUES ('Waiting on Customer', 5, 1, 0) + INSERT INTO list_status (status_name, list_position, show_in_list, project_id) VALUES ('Requires testing', 6, 1, 0) + INSERT INTO prefs VALUES (DEFAULT, 'fs_ver', '0.9.9'); + INSERT INTO prefs VALUES (DEFAULT, 'jabber_server', ''); + INSERT INTO prefs VALUES (DEFAULT, 'jabber_port', '5222'); + INSERT INTO prefs VALUES (DEFAULT, 'jabber_username', ''); + INSERT INTO prefs VALUES (DEFAULT, 'jabber_password', ''); + INSERT INTO prefs VALUES (DEFAULT, 'anon_group', '4'); + INSERT INTO prefs VALUES (DEFAULT, 'user_notify', '1'); + INSERT INTO prefs VALUES (DEFAULT, 'admin_email', 'flyspray@example.com'); + INSERT INTO prefs VALUES (DEFAULT, 'lang_code', 'en'); + INSERT INTO prefs VALUES (DEFAULT, 'spam_proof', '1'); + INSERT INTO prefs VALUES (DEFAULT, 'default_project', '1'); + INSERT INTO prefs VALUES (DEFAULT, 'dateformat', ''); + INSERT INTO prefs VALUES (DEFAULT, 'dateformat_extended', ''); + INSERT INTO prefs VALUES (DEFAULT, 'anon_reg', '1'); + INSERT INTO prefs VALUES (DEFAULT, 'global_theme', 'CleanFS'); + INSERT INTO prefs VALUES (DEFAULT, 'visible_columns', 'id project category tasktype severity summary status progress'); + INSERT INTO prefs VALUES (DEFAULT, 'smtp_server', ''); + INSERT INTO prefs VALUES (DEFAULT, 'smtp_user', ''); + INSERT INTO prefs VALUES (DEFAULT, 'smtp_pass', ''); + INSERT INTO prefs VALUES (DEFAULT, 'page_title', 'Flyspray::'); + INSERT INTO prefs VALUES (DEFAULT, 'notify_registration', '0'); + INSERT INTO prefs VALUES (DEFAULT, 'jabber_ssl', '0'); + INSERT INTO prefs VALUES (DEFAULT, 'last_update_check', '0'); + INSERT INTO prefs VALUES (DEFAULT, 'cache_feeds', '1'); + INSERT INTO projects VALUES (DEFAULT, 'Default Project', 'CleanFS', 0, 'Welcome to your first Flyspray project! We hope that Flyspray provides you with many hours of increased productivity. If you have any issues, go to http://flyspray.org/support. You can customise this message by clicking the **Manage Project** link in the menu above...', 1, 'id category tasktype severity summary status progress', 1, 0, '', '', NULL, '0', NULL, NULL, '', 'en', 0, 0, 0, NULL, 'index'); + INSERT INTO tasks VALUES (1, 1, 1, 1130024797, 1, 0, 0, 0, ' ', 'Sample Task', 'This isn''t a real task. You should close it and start opening some real tasks.', 2, 1, 1, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, '', '0'); + INSERT INTO users VALUES (DEFAULT, 'super', '1b3231655cebb7a1f783eddf27d254ca', 'Mr Super User', 'super@example.com', 'super@example.com', 0, 1, 1, '', '', 25, 0, 0, 0); + INSERT INTO users_in_groups VALUES (DEFAULT, 1, 1); + +
diff --git a/setup/upgrade/0.9.9/rename_columns.php b/setup/upgrade/0.9.9/rename_columns.php new file mode 100644 index 0000000..07a949a --- /dev/null +++ b/setup/upgrade/0.9.9/rename_columns.php @@ -0,0 +1,14 @@ +dblink); + +$sqlarray = $dict->RenameColumnSQL($conf['database']['dbprefix'] . 'tasks', 'attached_to_project', 'project_id', 'TYPE INT(3) NOTNULL DEFAULT 0'); +$dict->ExecuteSQLArray($sqlarray); + +$sqlarray = $dict->RenameColumnSQL($conf['database']['dbprefix'] . 'groups', 'belongs_to_project', 'project_id', ' TYPE INT(3) NOTNULL DEFAULT 0'); +$dict->ExecuteSQLArray($sqlarray); + +?> \ No newline at end of file diff --git a/setup/upgrade/0.9.9/upgrade.info b/setup/upgrade/0.9.9/upgrade.info new file mode 100644 index 0000000..e5ea7e5 --- /dev/null +++ b/setup/upgrade/0.9.9/upgrade.info @@ -0,0 +1,44 @@ +[defaultupgrade] +0="clean_unique.php" +1="flyspray-begin.xml" +2="upgrade_assignments.php" +3="convert_categories.php" +4="convert_private.php" +5="add_duplicates.php" +6="add_searches.php" +7="rename_columns.php" +8="flyspray-final.xml" +9="add_data.php" + +[develupgrade] +1="flyspray-final.xml" + +[options] + +1="
" + +[fsprefs] +fs_ver="0.9.7" ; doesn't matter which version +jabber_server="" +jabber_port="5222" +jabber_username="" +jabber_password="" +anon_group="0" +user_notify="1" +admin_email="flyspray@example.com" +lang_code="en" +spam_proof="1" +default_project="1" +dateformat="" +dateformat_extended="" +anon_reg="1" +page_title="Flyspray:: " +notify_registration="0" +jabber_ssl="0" +last_update_check="0" +cache_feeds="1" +global_theme="CleanFS" +visible_columns="id project tasktype severity summary status progress" +smtp_server="" +smtp_user="" +smtp_pass="" \ No newline at end of file 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 @@ +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'])); +} +?> -- cgit v1.2.3-70-g09d2