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', 7);
23 define('ACTIVE_SITE', 'install.php');
25 require_once('./global.php');
29 // ###################################################################
31 if ($bugsys->in
['mark'] == 0)
34 <h1
>Welcome to Bugdar
</h1
>
36 <p
>This installer will take you through the procedure of setting up your Bugdar installation
. If you are seeing this message
, that means that your configuration file was read properly
and that your database is accessible
.</p
>
38 <p
>The following steps will initialize your database
, place the
default settings
and data in your database
, and finally ask you to enter in some settings to allow you to access the system when the installer finishes
.</p
>
40 <p
>To begin the installation process
, please click the button below
.</p
>
44 // ###################################################################
46 if ($bugsys->in
['mark'] == 1)
49 <h1
>Initializing Database
</h1
>
51 <p
>This step will load the tables into your database so the rest of the installation can proceed forward
.</p
>
55 require_once('./install/schema.php');
57 foreach ($schema AS $table => $query)
60 echo 'Creating table ' . $table . '<br />' . "\n";
64 // ###################################################################
66 if ($bugsys->in
['mark'] == 2)
69 <h1
>Loading
Default Data
</h1
>
71 <p
>Default table data
for usergroups
, statuses
, priorities
, and other various options are being loaded
. This will allow you to
use Bugdar with minimal setup
.</p
>
75 require_once('./install/default_data.php');
77 foreach ($data AS $table => $records)
79 foreach ($records AS $record)
81 $fields = $values = array();
82 foreach ($record AS $field => $value)
85 $values[] = addslashes($value);
88 $db->query("INSERT INTO " . TABLE_PREFIX
. "$table (" . implode(',', $fields) . ") VALUES ('" . implode("', '", $values) . "')");
91 echo 'Populating table ' . $table . '<br />' . "\n";
94 $db->query("INSERT INTO " . TABLE_PREFIX
. "language (title, langcode, charset, direction, userselect) VALUES ('English (US)', 'en_US', 'utf-8', 'ltr', 1)");
95 echo 'Inserting default language<br />' . "\n";
98 // ###################################################################
100 if ($bugsys->in
['mark'] == 3)
103 <h1
>Loading Settings
</h1
>
105 <p
>Default settings are being loaded into the system
.</p
>
109 require_once('./includes/settings.php');
111 foreach ($settings AS $group => $sgroup)
113 foreach ($sgroup AS $varname => $setting)
115 if (!is_array($setting))
119 $db->query("INSERT INTO " . TABLE_PREFIX
. "setting (varname, value) VALUES ('" . $varname . "', '" . addslashes($setting[1]) . "')");
123 echo 'Settings loaded...';
126 // ###################################################################
128 if ($bugsys->in
['mark'] == 4)
130 $value = 'http' . ($_SERVER['HTTPS'] == 'on' ? 's' : '') . '://' . $_SERVER['SERVER_NAME'] . ($_SERVER['SERVER_PORT'] != '80' ? ':' . $_SERVER['SERVER_PORT'] : '') . str_replace('/install/install.php', '', $_SERVER['SCRIPT_NAME']);
132 <h1
>General Settings
</h1
>
134 <p
>These three settings are fundamental in setting up your bug tracking system
. Please fill them in to proceed with the installation
.</p
>
136 <form name
="settings-do" action
="install.php" method
="post">
137 <input type
="hidden" name
="mark" value
="5" />
139 <div
><strong
>Tracker
Name (the name of the entire tracking system
, for instance
"Acme Inc. Bug Tracker"):</strong
> <input type
="text" name
="trackertitle" size
="50" /></div
>
140 <div
><strong
>Tracker
URL (the root URL of your tracker
, we have tried to guess this
for you
; <em
>it does not end with a trailing slash
!</em
>):</strong
> <input type
="text" name
="trackerurl" size
="50" value
="<?= $value ?>" /></div
>
141 <div
><strong
>Webmaster Email
:</strong
> <input type
="text" name
="webmasteremail" size
="50" /></div
>
143 <input type
="submit" name
="submit" value
="Next Step" />
152 // ###################################################################
154 if ($bugsys->in
['mark'] == 5)
157 <h1
>New Administrator
</h1
>
159 <p
>Your settings have been saved
. Now you must create a
new administrative account
for yourself
. This account will have complete control over the system
.</p
>
161 <form name
="user-do" action
="install.php" method
="post">
162 <input type
="hidden" name
="mark" value
="6" />
164 <div
><strong
>Display Name
:</strong
> <input type
="text" name
="displayname" size
="50" /></div
>
165 <div
><strong
>Email Address
:</strong
> <input type
="text" name
="email" size
="50" /></div
>
166 <div
><strong
>Password
:</strong
> <input type
="password" name
="password" size
="50" /></div
>
168 <input type
="submit" name
="submit" value
="Next Step" />
173 $db->query("UPDATE " . TABLE_PREFIX
. "setting SET value = '" . $bugsys->input_escape('trackertitle') . "' WHERE varname = 'trackertitle'");
174 $db->query("UPDATE " . TABLE_PREFIX
. "setting SET value = '" . $bugsys->input_escape('trackerurl') . "' WHERE varname = 'trackerurl'");
175 $db->query("UPDATE " . TABLE_PREFIX
. "setting SET value = '" . $bugsys->input_escape('webmasteremail') . "' WHERE varname = 'webmasteremail'");
180 // ###################################################################
182 if ($bugsys->in
['mark'] == 6)
187 <p
>Your
new user has been added
.</p
>
190 require_once('./includes/api_user.php');
192 $user = new UserAPI($bugsys);
193 $user->set('email', $bugsys->in
['email']);
194 $user->set('displayname', $bugsys->in
['displayname']);
195 $user->set('password', $bugsys->in
['password']);
196 $user->set('showcolors', 1);
197 $user->set('usergroupid', 6, true, false); // don't verify because we haven't cached usergroups yet
201 // ###################################################################
203 if ($bugsys->in
['mark'] == 7)
208 <p
>In order to make Bugdar
as efficient
as possible
, the system caches the portions of data it can
. This reduces the load of your server without compromising usability
. Currently the caches are being built
.</p
>
211 require_once('./includes/permissions.php');
214 echo "Cached settings<br />\n";
217 echo "Cached usergroups<br />\n";
220 echo "Cached statuses<br />\n";
223 echo "Cached priorities<br />\n";
226 echo "Cached severities<br />\n";
229 echo "Cached assignable users/developers<br />\n";
232 echo "Cached resolutions<br />\n";
235 echo "Cached products<br />\n";
238 echo "Cached versions<br />\n";
241 echo "Cached languages<br />\n";
244 echo "Cached user help documentation<br />\n";
247 // ###################################################################
251 /*=====================================================================*\
252 || ###################################################################
255 || ###################################################################
256 \*=====================================================================*/