2 /*=====================================================================*\
3 || ################################################################### ||
4 || # Bugdar [#]version[#]
5 || # --------------------------------------------------------------- # ||
6 || # Copyright ©2002-[#]year[#] by Iris Studios, Inc. All Rights Reserved. # ||
7 || # This file may not be reproduced in any way without permission. # ||
8 || # --------------------------------------------------------------- # ||
9 || # User License Agreement at http://www.iris-studios.com/license/ # ||
10 || ################################################################### ||
11 \*=====================================================================*/
13 define('STOP_MARK', 8);
14 define('ACTIVE_SITE', 'install.php');
16 require_once('./global.php');
20 // ###################################################################
22 if ($bugsys->in
['mark'] == 0)
25 <h1
>Welcome to Bugdar
</h1
>
27 <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
>
29 <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
>
31 <p
>To begin the installation process
, please click the button below
.</p
>
35 // ###################################################################
37 if ($bugsys->in
['mark'] == 1)
40 <h1
>Initializing Database
</h1
>
42 <p
>This step will load the tables into your database so the rest of the installation can proceed forward
.</p
>
46 require_once('./install/schema.php');
48 foreach ($query AS $table => $query)
51 echo 'Creating table ' . $table . '<br />' . "\n";
55 // ###################################################################
57 if ($bugsys->in
['mark'] == 2)
60 <h1
>Loading
Default Data
</h1
>
62 <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
>
66 require_once('./install/default_data.php');
68 foreach ($data AS $table => $records)
70 foreach ($records AS $record)
72 $fields = $values = array();
73 foreach ($record AS $field => $value)
76 $values[] = addslashes($value);
79 $db->query("INSERT INTO " . TABLE_PREFIX
. "$table (" . implode(',', $fields) . ") VALUES ('" . implode("', '", $values) . "')");
82 echo 'Populating table ' . $table . '<br />' . "\n";
85 $db->query("INSERT INTO " . TABLE_PREFIX
. "language (title, languagecode, charset, direction, filename, userselect, debug) VALUES ('English (US)', 'en', 'utf-8', 'ltr', './includes/strings/english-us.strings.xml', 1, 0)");
86 echo 'Inserting default language<br />' . "\n";
89 // ###################################################################
91 if ($bugsys->in
['mark'] == 3)
94 <h1
>Loading Settings
</h1
>
96 <p
>Default settings are being loaded into the system
.</p
>
100 class dummy {
function string() {} }
103 require_once('./includes/settings.php');
105 foreach ($config AS $varname => $setting)
107 $db->query("INSERT INTO " . TABLE_PREFIX
. "setting (varname, value) VALUES ('" . $varname . "', '" . addslashes($setting[3]) . "')");
110 echo 'Settings loaded...';
113 // ###################################################################
115 if ($bugsys->in
['mark'] == 4)
117 $value = 'http' . ($_SERVER['HTTPS'] == 'on' ? 's' : '') . '://' . $_SERVER['SERVER_NAME'] . ($_SERVER['SERVER_PORT'] != '80' ? ':' . $_SERVER['SERVER_PORT'] : '') . str_replace('/install/install.php', '', $_SERVER['SCRIPT_NAME']);
119 <h1
>General Settings
</h1
>
121 <p
>These three settings are fundamental in setting up your bug tracking system
. Please fill them in to proceed with the installation
.</p
>
123 <form name
="settings-do" action
="install.php" method
="post">
124 <input type
="hidden" name
="mark" value
="5" />
126 <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
>
127 <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
>
128 <div
><strong
>Webmaster Email
:</strong
> <input type
="text" name
="webmasteremail" size
="50" /></div
>
130 <input type
="submit" name
="submit" value
="Next Step" />
139 // ###################################################################
141 if ($bugsys->in
['mark'] == 5)
144 <h1
>New Administrator
</h1
>
146 <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
>
148 <form name
="user-do" action
="install.php" method
="post">
149 <input type
="hidden" name
="mark" value
="6" />
151 <div
><strong
>Display Name
:</strong
> <input type
="text" name
="displayname" size
="50" /></div
>
152 <div
><strong
>Email Address
:</strong
> <input type
="text" name
="email" size
="50" /></div
>
153 <div
><strong
>Password
:</strong
> <input type
="password" name
="password" size
="50" /></div
>
155 <input type
="submit" name
="submit" value
="Next Step" />
160 $db->query("UPDATE " . TABLE_PREFIX
. "setting SET value = '" . $bugsys->in
['trackertitle'] . "' WHERE varname = 'trackertitle'");
161 $db->query("UPDATE " . TABLE_PREFIX
. "setting SET value = '" . $bugsys->in
['trackerurl'] . "' WHERE varname = 'trackerurl'");
162 $db->query("UPDATE " . TABLE_PREFIX
. "setting SET value = '" . $bugsys->in
['webmasteremail'] . "' WHERE varname = 'webmasteremail'");
167 // ###################################################################
169 if ($bugsys->in
['mark'] == 6)
174 <p
>Your
new user has been added
.</p
>
177 $bugsys->load('functions');
179 $salt = $funct->rand(15);
182 INSERT INTO " . TABLE_PREFIX
. "user
183 (email, displayname, password, salt, authkey, showemail, showcolours, usergroupid)
185 ('" . $bugsys->in
['email'] . "', '" . $bugsys->in
['displayname'] . "',
186 '" . md5(md5($bugsys->in
['password']) . md5($salt)) . "', '$salt',
187 '" . $funct->rand() . "', 1, 1, 6
192 // ###################################################################
194 if ($bugsys->in
['mark'] == 7)
199 <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
>
202 require_once('./includes/permissions.php');
205 echo "Cached settings<br />\n";
208 echo "Cached usergroups<br />\n";
211 echo "Cached statuses<br />\n";
214 echo "Cached priorities<br />\n";
217 echo "Cached severities<br />\n";
220 echo "Cached assignable users/developers<br />\n";
223 echo "Cached resolutions<br />\n";
226 echo "Cached products<br />\n";
229 echo "Cached versions<br />\n";
232 echo "Cached user help documentation<br />\n";
235 // ###################################################################
237 if ($bugsys->in
['mark'] == 8)
240 <h1
>Load Language Strings
</h1
>
242 <p
>Bugdar
's flexible language system caches all of the strings in the database. Currently, the strings are being read from the raw file into the cache.</p>
245 class dummy { function setlex() {} function string() {} }
248 $bugsys->load('xml
', 'xml
');
252 require_once('./includes
/language
.php
');
253 build_language_cache(1);
256 // ###################################################################
260 /*=====================================================================*\
261 || ###################################################################
264 || ###################################################################
265 \*=====================================================================*/