2 /*=====================================================================*\
3 || ###################################################################
4 || # Bugdar [#]version[#]
5 || # Copyright ©2002-[#]year[#] Blue Static
7 || # This program is free software; you can redistribute it and/or modify
8 || # it under the terms of the GNU General Public License as published by
9 || # the Free Software Foundation; version [#]gpl[#] of the License.
11 || # This program is distributed in the hope that it will be useful, but
12 || # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 || # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16 || # You should have received a copy of the GNU General Public License along
17 || # with this program; if not, write to the Free Software Foundation, Inc.,
18 || # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 || ###################################################################
20 \*=====================================================================*/
22 define('STOP_MARK', 5);
23 define('ACTIVE_SITE', 'upgrade11.php');
25 require_once('./global.php');
26 require_once('./includes/functions_datastore.php');
30 // ###################################################################
32 if ($bugsys->in
['mark'] == 0)
35 <h1
>Welcome to Bugdar
</h1
>
37 <p
>This upgrade will move you from Bugdar
1.1.5 to Bugdar
1.2.0 Beta
1.</p
>
39 <p
>To begin the process
, please click the button below
.</p
>
43 // ###################################################################
45 if ($bugsys->in
['mark'] == 1)
48 <h1
>Minor Database Table Changes
</h1
>
50 <p
>There are a few minor changes made to Bugdar
's database schema that need to be propagated.</p>
53 $db->query("ALTER TABLE " . TABLE_PREFIX . "comment ADD parselinks BOOL NULL");
54 echo "Adding comment.parselinks to add an option to parse links in comments<br />\n";
56 $db->query("ALTER TABLE " . TABLE_PREFIX . "user ADD columnoptions TEXT NULL");
57 echo "Adding user.columnoptions to allow for custom column sorting<br />\n";
59 $db->query("ALTER TABLE " . TABLE_PREFIX . "product CHANGE componentmother parentid INT UNSIGNED NULL");
60 echo "Renaming product.componentmother to product.parentid<br />\n";
62 $db->query("ALTER TABLE " . TABLE_PREFIX . "version ADD obsolete BOOL NULL");
63 echo "Adding version.obsolete so products cannot be filed against certain versions<br />\n";
65 $db->query("ALTER TABLE " . TABLE_PREFIX . "user ADD authid VARCHAR(255) NULL");
66 echo "Adding user.authid for the Authentication API<br />\n";
68 echo "... done<br />\n";
71 // ###################################################################
73 if ($bugsys->in['mark
'] == 2)
76 <h1>Search Table Changes</h1>
78 <p>To support saved searches, a few major modifications need to be performed on the search table.</p>
81 $db->query("ALTER TABLE " . TABLE_PREFIX . "search DROP PRIMARY KEY");
82 echo "Dropping current primary key<br />\n";
84 $db->query("ALTER TABLE " . TABLE_PREFIX . "search ADD searchid INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY");
85 echo "Adding search.searchid as a new primary key<br />\n";
87 $db->query("ALTER TABLE " . TABLE_PREFIX . "search ADD name VARCHAR(250) NULL");
88 echo "Adding search.name to allow naming of searches<br />\n";
90 echo "... done<br />\n";
93 // ###################################################################
95 if ($bugsys->in['mark
'] == 3)
98 <h1>Custom Field Updates</h1>
100 <p>A change was made to the storage of custom bug field data. The data is being migrated to a different database table, but no data will be lost. This may take a few minutes. Do <em>not</em> go onto the next step if you receive any errors here.</p>
102 // gets all the fields
103 $fields = $db->query("SELECT * FROM " . TABLE_PREFIX . "bugfield");
104 while ($field = $db->fetch_array($fields))
106 // create the database field
107 $db->query("ALTER TABLE " . TABLE_PREFIX . "bug ADD custom$field[fieldid] MEDIUMTEXT NULL");
109 echo "Migrating custom$field[fieldid]";
111 // update all the data
112 $data = $db->query("SELECT * FROM " . TABLE_PREFIX . "bugvaluefill");
113 while ($custom = $db->fetch_array($data))
116 $db->query("UPDATE " . TABLE_PREFIX . "bug SET custom$field[fieldid] = '" . $db->escape_string($custom["field
$field[fieldid
]"]) . "' WHERE bugid = $custom[bugid]");
121 echo ".... all done<br />\n";
124 // ###################################################################
126 if ($bugsys->in['mark
'] == 4)
129 <h1>Database Table Changes</h1>
131 <p>A few new features require new database tables, so we're adding those now
.</p
>
134 $db->query("DROP TABLE " . TABLE_PREFIX
. "bugvaluefill");
135 echo "Dropping the old storage system for custom field data<br />";
138 CREATE TABLE " . TABLE_PREFIX
. "passwordreset
140 activatorid VARCHAR(250) NOT NULL,
142 dateline INT NOT NULL,
143 PRIMARY KEY (activatorid)
146 echo "Creating passwordreset table to create a 'lost password' functionality<br />\n";
149 CREATE TABLE " . TABLE_PREFIX
. "adminsession
151 sessionid VARCHAR(250) NOT NULL,
152 userid INT UNSIGNED NOT NULL,
153 dateline INT UNSIGNED NOT NULL,
154 PRIMARY KEY (sessionid)
157 echo "Creating adminsession table to greatly improve the admin control panel security<br />\n";
160 CREATE TABLE " . TABLE_PREFIX
. "template
162 filename VARCHAR(255) NOT NULL,
163 template TEXT NOT NULL,
164 timestamp INT(10) UNSIGNED NOT NULL,
165 PRIMARY KEY (filename)
168 echo "Creating template table to cache templates in the database to greatly inprove speed<br />\n";
170 echo "... done<br />\n";
173 // ###################################################################
175 if ($bugsys->in
['mark'] == 5)
178 <h1
>Version Number Change
</h1
>
180 <p
>This step finishes the upgrade by inreasing your version number
.</p
>
184 $db->query("UPDATE " . TABLE_PREFIX
. "setting SET value = '1.2.0 Beta 1' WHERE varname = 'trackerversion'");
195 // ###################################################################
199 /*=====================================================================*\
200 || ###################################################################
203 || ###################################################################
204 \*=====================================================================*/