function admin_login()
{
- global $admin, $env;
+ global $admin, $bugsys;
- $admin->page_start('Login', '', 15, '', 'document.cplogin.' . iff($env->userinfo['email'], 'password', 'email') . '.focus();');
+ $admin->page_start('Login', '', 15, '', 'document.cplogin.' . iff($bugsys->userinfo['email'], 'password', 'email') . '.focus();');
$admin->form_start('../login.php', 'cplogin', false, 'cplogin');
$admin->table_start(true, '425');
$admin->table_head('[#]app[#] Login');
- $admin->row_input('Email', 'email', $env->userinfo['email'], 2, 35, false, false, 'middle');
+ $admin->row_input('Email', 'email', $bugsys->userinfo['email'], 2, 35, false, false, 'middle');
$admin->row_input('Password', 'password', '', 2, 35, false, true, 'middle');
$admin->row_submit('', 'Login');
$admin->table_end();
if ($_COOKIE[COOKIE_PREFIX . 'adminsession'])
{
- if ($env->userinfo['permissions'] & CANADMINPANEL)
+ if ($bugsys->userinfo['permissions'] & CANADMINPANEL)
{
- if (md5(md5($env->userinfo['authkey']) . md5($env->userinfo['email']) . md5($env->userinfo['userid'])) != $_COOKIE[COOKIE_PREFIX . 'adminsession'])
+ if (md5(md5($bugsys->userinfo['authkey']) . md5($bugsys->userinfo['email']) . md5($bugsys->userinfo['userid'])) != $_COOKIE[COOKIE_PREFIX . 'adminsession'])
{
mysetcookie(COOKIE_PREFIX . 'adminsession', '');
$admin->error('Invalid admin session has been terminated.');
require_once('./includes/settings.php');
require_once('./includes/functions_datastore.php');
-if (!($env->userinfo['permissions'] & CANADMINTOOLS))
+if (!($bugsys->userinfo['permissions'] & CANADMINTOOLS))
{
admin_login();
}
$admin->table_head(phrase('settinggroup_' . $group));
foreach ($settings["$group"] AS $opt)
{
- $admin->row_span('<span' . iff(DEVDEBUG, ' title="$env->options[\'' . $opt[1] . '\']"') . "><strong>" . phrase('setting_' . $opt[1] . '_title') . "</strong></span>", 'thead');
+ $admin->row_span('<span' . iff(DEVDEBUG, ' title="$bugsys->options[\'' . $opt[1] . '\']"') . "><strong>" . phrase('setting_' . $opt[1] . '_title') . "</strong></span>", 'thead');
switch ($opt[2])
{
case 'textbox':
require_once('./global.php');
require_once('./includes/functions_datastore.php');
-if (!($env->userinfo['permissions'] & CANADMINFIELDS))
+if (!($bugsys->userinfo['permissions'] & CANADMINFIELDS))
{
admin_login();
}
require_once('./global.php');
-if (!($env->userinfo['permissions'] & CANADMINVERSIONS))
+if (!($bugsys->userinfo['permissions'] & CANADMINVERSIONS))
{
admin_login();
}
require_once('./global.php');
require_once('./includes/functions_datastore.php');
-if (!($env->userinfo['permissions'] & CANADMINFIELDS))
+if (!($bugsys->userinfo['permissions'] & CANADMINFIELDS))
{
admin_login();
}
require_once('./global.php');
require_once('./includes/functions_datastore.php');
-if (!($env->userinfo['permissions'] & CANADMINFIELDS))
+if (!($bugsys->userinfo['permissions'] & CANADMINFIELDS))
{
admin_login();
}
require_once('./global.php');
require_once('./includes/functions_datastore.php');
-if (!($env->userinfo['permissions'] & CANADMINFIELDS))
+if (!($bugsys->userinfo['permissions'] & CANADMINFIELDS))
{
admin_login();
}
require_once('./global.php');
require_once('./includes/functions_datastore.php');
-if (!($env->userinfo['permissions'] & CANADMINGROUPS))
+if (!($bugsys->userinfo['permissions'] & CANADMINGROUPS))
{
admin_login();
}
function page_end()
{
- global $env;
+ global $bugsys;
- $copyright = "\r<br />\r<p align=\"center\" class=\"copyright\">\r\t<a href=\"http://www.iris-studios.com\" target=\"_blank\">[#]app[#] " . $env->options['trackerversion'] . ", © 2003 - " . date('Y') . " Iris Studios, Inc.</a>\r</p>";
+ $copyright = "\r<br />\r<p align=\"center\" class=\"copyright\">\r\t<a href=\"http://www.iris-studios.com\" target=\"_blank\">[#]app[#] " . $bugsys->options['trackerversion'] . ", © 2003 - " . date('Y') . " Iris Studios, Inc.</a>\r</p>";
if (!defined('HIDE_SETUP'))
{
// ########################### Start phrase ##########################
function phrase()
{
- global $env;
+ global $bugsys;
$args = func_get_args();
$numargs = count($args);
return false;
}
- if ($phrasetext = $env->language["$args[0]"])
+ if ($phrasetext = $bugsys->language["$args[0]"])
{
if ($numargs < 2)
{
// ###################### Start build_languages ######################
function build_languages()
{
- global $DB_sql, $env;
+ global $DB_sql, $bugsys;
$languages = $DB_sql->query("SELECT * FROM " . TABLE_PREFIX . "language");
while ($language = $DB_sql->fetch_array($languages))
VALUES ('language', '" . addslasheslike(serialize($tempstore)) . "')"
);
- $env->datastore['language'] = $tempstore;
+ $bugsys->datastore['language'] = $tempstore;
}
// ####################### Start build_settings ######################
function build_settings()
{
- global $DB_sql, $env;
+ global $DB_sql, $bugsys;
$settings = $DB_sql->query("SELECT * FROM " . TABLE_PREFIX . "setting");
while ($setting = $DB_sql->fetch_array($settings))
VALUES ('setting', '" . addslasheslike(serialize($options)) . "')"
);
- $env->datastore['setting'] = $options;
+ $bugsys->datastore['setting'] = $options;
}
// ###################### Start build_usergroups #####################
function build_usergroups()
{
- global $DB_sql, $env;
+ global $DB_sql, $bugsys;
$usergroups = $DB_sql->query("SELECT * FROM " . TABLE_PREFIX . "usergroup");
while ($usergroup = $DB_sql->fetch_array($usergroups))
VALUES ('usergroup', '" . addslasheslike(serialize($groups)) . "')"
);
- $env->datastore['usergroup'] = $groups;
+ $bugsys->datastore['usergroup'] = $groups;
}
// ####################### Start build_statuses ######################
function build_statuses()
{
- global $DB_sql, $env;
+ global $DB_sql, $bugsys;
$statuses = $DB_sql->query("SELECT * FROM " . TABLE_PREFIX . "status ORDER BY displayorder ASC");
while ($status = $DB_sql->fetch_array($statuses))
VALUES ('status', '" . addslasheslike(serialize($tempstore)) . "')"
);
- $env->datastore['status'] = $tempstore;
+ $bugsys->datastore['status'] = $tempstore;
}
// ###################### Start build_severities #####################
function build_severities()
{
- global $DB_sql, $env;
+ global $DB_sql, $bugsys;
$severities = $DB_sql->query("SELECT * FROM " . TABLE_PREFIX . "severity ORDER BY displayorder ASC");
while ($severity = $DB_sql->fetch_array($severities))
VALUES ('severity', '" . addslasheslike(serialize($tempstore)) . "')"
);
- $env->datastore['severity'] = $tempstore;
+ $bugsys->datastore['severity'] = $tempstore;
}
// ###################### Start build_priorities #####################
function build_priorities()
{
- global $DB_sql, $env;
+ global $DB_sql, $bugsys;
$priorities = $DB_sql->query("SELECT * FROM " . TABLE_PREFIX . "priority ORDER BY displayorder ASC");
while ($priority = $DB_sql->fetch_array($priorities))
VALUES ('priority', '" . addslasheslike(serialize($tempstore)) . "')"
);
- $env->datastore['priority'] = $tempstore;
+ $bugsys->datastore['priority'] = $tempstore;
}
// ###################### Start build_assignedto #####################
function build_assignedto()
{
- global $DB_sql, $env;
+ global $DB_sql, $bugsys;
$users = $DB_sql->query("
SELECT user.email, user.displayname, user.userid, user.showemail
VALUES ('assignto', '" . addslasheslike(serialize($devs)) . "')"
);
- $env->datastore['assignto'] = $devs;
+ $bugsys->datastore['assignto'] = $devs;
}
// ##################### Start build_resolutions #####################
function build_resolutions()
{
- global $DB_sql, $env;
+ global $DB_sql, $bugsys;
$resolutions = $DB_sql->query("SELECT * FROM " . TABLE_PREFIX . "resolution ORDER BY displayorder ASC");
while ($resolution = $DB_sql->fetch_array($resolutions))
VALUES ('resolution', '" . addslasheslike(serialize($tempstore)) . "')"
);
- $env->datastore['resolution'] = $tempstore;
+ $bugsys->datastore['resolution'] = $tempstore;
}
/*=====================================================================*\
// ########################### Start mymail ##########################
function mymail($toemail, $subject, $message, $fromemail = '', $headers = '', $fparam = true)
{
- global $env;
+ global $bugsys;
// Make sure sendmail is at our disposal
if (!(@ini_get('sendmail_path')))
$fromemail = fetch_first_line($fromemail);
if ($fromemail == -1 OR !$fromemail)
{
- if ($env->options['webmasteremail'])
+ if ($bugsys->options['webmasteremail'])
{
- $fromemail = fetch_first_line($env->options['webmasteremail']);
+ $fromemail = fetch_first_line($bugsys->options['webmasteremail']);
}
else
{
$subject = fetch_first_line($subject);
if (!$subject)
{
- $subject = $env->options['trackertitle'] . ' Notification';
+ $subject = $bugsys->options['trackertitle'] . ' Notification';
}
// Work out the body
// Construct mail headers
$headers = convert_standard_line_breaks($headers, "\n");
- $headers .= "From: \"$fromemail\" <" . $env->options['webmasteremail'] . ">\n";
- $headers .= "Return-Path: " . $env->options['webmasteremail'] . "\n";
+ $headers .= "From: \"$fromemail\" <" . $bugsys->options['webmasteremail'] . ">\n";
+ $headers .= "Return-Path: " . $bugsys->options['webmasteremail'] . "\n";
$headers .= "X-Mailer: [#]app[#] [#]version[#] Mail\n";
- $headers .= "Content-Type: text/plain; charset=\"" . $env->options['lang_charset'] . "\"\n";
+ $headers .= "Content-Type: text/plain; charset=\"" . $bugsys->options['lang_charset'] . "\"\n";
$headers .= "Content-Transfer-Encoding: 7bit\n";
if ($fparam)
// Initialize our environment
require_once('./includes/functions_datastore.php');
require_once('./includes/functions.php');
-class Environment
+class BugTracker
{
var $options = array();
var $userinfo = array();
var $language = array();
var $datastore = array();
- function Environment()
+ function BugTracker()
{
global $DB_sql, $vars;
}
}
-$env = new Environment();
+$bugsys = new BugTracker();
// ###################################################################
// Initialize usergroup system
// ###################################################################
-if ($env->userinfo['userid'] AND $_REQUEST['do'] != 'logout' AND $_POST['do'] != 'cplogin')
+if ($bugsys->userinfo['userid'] AND $_REQUEST['do'] != 'logout' AND $_POST['do'] != 'cplogin')
{
echo 'You are already logged in.';
exit;
if ($_REQUEST['do'] == 'logout')
{
- if ($env->userinfo['userid'])
+ if ($bugsys->userinfo['userid'])
{
mysetcookie(COOKIE_PREFIX . 'userid');
mysetcookie(COOKIE_PREFIX . 'authkey');
require_once('./global.php');
-if (!($env->userinfo['permissions'] & CANSUBMITBUGS))
+if (!($bugsys->userinfo['permissions'] & CANSUBMITBUGS))
{
echo 'NO permission';
exit;
);
// check permissions on various input values
- if (!$env->userinfo['permissions'] & CANCHANGESTATUS)
+ if (!$bugsys->userinfo['permissions'] & CANCHANGESTATUS)
{
unset($vars['priority'], $vars['status'], $vars['resolution']);
}
- if (!$env->userinfo['permissions'] & CANASSIGN)
+ if (!$bugsys->userinfo['permissions'] & CANASSIGN)
{
unset($vars['assignedto']);
}
else
{
// assigned person is not a dev or a valid user
- if (!$env->datastore['assignto']["$vars[assignedto]"]['userid'])
+ if (!$bugsys->datastore['assignto']["$vars[assignedto]"]['userid'])
{
unset($vars['assignedto']);
}
}
+
+ if (!$vars['product'] OR !$vars['component'] OR !$vars['version'])
+ {
+ echo 'there was a problem selecting the product, component, or version';
+ exit;
+ }
+ if (!$vars['summary'])
+ {
+ echo 'please enter a bug title';
+ exit;
+ }
+ if (!$vars['comment'])
+ {
+ echo 'please enter a bug description';
+ exit;
+ }
}
// ###################################################################
echo '<div><strong>Summary/Title:</strong> <input type="text" name="summary" size="25" /></div>';
echo '<div><strong>Severity:</strong> <select name="severity">';
- foreach ($env->datastore['severity'] AS $severity)
+ foreach ($bugsys->datastore['severity'] AS $severity)
{
echo '<option value="' . $severity['severityid'] . '">' . $severity['severity'] . '</option>';
}
echo '</select></div>';
- if ($env->userinfo['permissions'] & CANCHANGESTATUS)
+ if ($bugsys->userinfo['permissions'] & CANCHANGESTATUS)
{
echo '<div><strong>Priority:</strong> <select name="priority">';
- foreach ($env->datastore['priority'] AS $priority)
+ foreach ($bugsys->datastore['priority'] AS $priority)
{
echo '<option value="' . $priority['priorityid'] . '">' . $priority['priority'] . '</option>';
}
echo '</select></div>';
echo '<div><strong>Status:</strong> <select name="status">';
- foreach ($env->datastore['status'] AS $status)
+ foreach ($bugsys->datastore['status'] AS $status)
{
echo '<option value="' . $status['statusid'] . '">' . $status['status'] . '</option>';
}
echo '</select></div>';
echo '<div><strong>Resolution:</strong> <select name="resolution">';
- foreach ($env->datastore['resolution'] AS $resolution)
+ foreach ($bugsys->datastore['resolution'] AS $resolution)
{
echo '<option value="' . $resolution['resolutionid'] . '">' . $resolution['resolution'] . '</option>';
}
echo '</select></div>';
}
- if ($env->userinfo['permissions'] & CANASSIGN)
+ if ($bugsys->userinfo['permissions'] & CANASSIGN)
{
echo '<div><strong>Assigned to:</strong> <select name="assignedto"><option value="0">No Assignment</option>';
- foreach ($env->datastore['assignto'] AS $dev)
+ foreach ($bugsys->datastore['assignto'] AS $dev)
{
fetch_user_display_name($dev);
echo '<option value="' . $dev['userid'] . '">' . $dev['displayname'] . iff($dev['showemail'], ' <' . $dev['email'] . '>', '') . '</option>';
// ###################################################################
-if ($env->userinfo['userid'])
+if ($bugsys->userinfo['userid'])
{
echo 'Sorry, you are already registered!';
exit;
}
-if (!$env->options['allownewreg'])
+if (!$bugsys->options['allownewreg'])
{
echo 'Sorry, we don\'t allow new registrations!';
exit;
if (empty($_REQUEST['do']))
{
- foreach ($env->datastore['language'] AS $languageid => $language)
+ foreach ($bugsys->datastore['language'] AS $languageid => $language)
{
$opts .= "<option value=\"$languageid\">$language[title]</option>";
}
$salt = fetch_random_chars(15);
- if ($env->options['verifyemail'])
+ if ($bugsys->options['verifyemail'])
{
$usergroupid = 3;
}
else
{
- if ($env->options['moderatenewusers'])
+ if ($bugsys->options['moderatenewusers'])
{
$usergroupid = 4;
}
$DB_sql->query("INSERT INTO " . TABLE_PREFIX . "useractivation (userid, activator, dateline, usergroupid) VALUES ($userid, '$activationid', " . NOW . ", 2)");
- mymail(addslasheslike($vars['email']), 'Welcome to ' . $env->options['trackertitle'], "Hi " . addslasheslike($vars['displayname']) . " you need to activate your account: http://devbox/bugtraq/register.php?do=activate&userid=" . $userid . "&activator=" . $activationid);
+ mymail(addslasheslike($vars['email']), 'Welcome to ' . $bugsys->options['trackertitle'], "Hi " . addslasheslike($vars['displayname']) . " you need to activate your account: http://devbox/bugtraq/register.php?do=activate&userid=" . $userid . "&activator=" . $activationid);
echo 'You now need to activate your account via email.';
}
else if ($usergroupid == 4 OR $usergroupid == 2)
{
- if ($env->options['sendwelcomemail'])
+ if ($bugsys->options['sendwelcomemail'])
{
- mymail(addslasheslike($vars['email']), 'Welcome to ' . $env->options['trackertitle'], "Hi " . addslasheslike($vars['displayname']) . " and welcome to the " . $env->options['trackertitle'] . " bug tracker! Thanks for registering.");
+ mymail(addslasheslike($vars['email']), 'Welcome to ' . $bugsys->options['trackertitle'], "Hi " . addslasheslike($vars['displayname']) . " and welcome to the " . $bugsys->options['trackertitle'] . " bug tracker! Thanks for registering.");
}
if ($usergroupid == 4)