You are not registered.
Registration allows you to subscribe to projects, open projects, and more. Click here to register.Website Source Code
<< Back
bugtracker.php
bugtracker.php
<?php
function get_tracker_main($project_row, $id)
{
if (isset($_GET['params']))
{
if ($_GET['params'] == 'send/')
{
return get_tracker_send($project_row, $id);
}
else
{
return get_tracker_report($project_row, $id);
}
}
else
{
return get_tracker_listing($project_row, $id);
}
}
function get_tracker_send($project_row, $id)
{
global $logged_user, $url;
if (isset($_POST['title']) and ($_POST['title'] != '') and isset($_POST['desc']) and ($logged_user != -1))
{
mysql_query('INSERT INTO `bugtracker` (`project`, `status`, `title`, `text`, `date`, `author`) VALUES (' . $id . ', 0, \'' . db_escape($_POST['title']) . '\', \'' . db_escape($_POST['desc']) . '\', NOW(), ' . $logged_user . ');');
tell_users(8, $id, 'A new bug had been reported in ' . $project_row[0], "Read more:\n" . $url . create_link($project_row[1], $id, $project_row[0]) . 'bugtracker/' . mysql_insert_id() . '-' . format_title_address($_POST['title']));
return '<div style="font-family: Tahoma; font-size: 20px;">The report has been successfuly sent.</div>';
}
else
{
if ($logged_user == -1)
{
return '<div style="font-family: Tahoma; font-size: 20px;">Sending a Bug Report</div>
<div style="font-family: Arial; font-size: 15px; font-style: italic">Sorry, you have to be logged in in order to report a bug.</div>';
}
else
{
$vars['TEST'] = 'test';
return get_template('report_bug', $vars);
}
}
}
function get_tracker_report($project_row, $id)
{
global $logged_user, $project_admin;
$status = array('Open', 'In Progress', 'Waiting for User Response', 'Resolved', 'Closed');
$colors = array('008000', '008000; font-style: italic', '8f8f8f', '8f8f8f; font-style: italic', 'ff0000');
$ex = explode('-', $_GET['params']);
$bug_id = intval($ex[0]);
$result = mysql_query('SELECT `status`, `title`, `text`, `author`, `comments`, `date` FROM `bugtracker` WHERE `id` = ' . $bug_id . ' LIMIT 1;');
$row = mysql_fetch_row($result);
$update = comments_update($row[4]);
if ($update != null)
{
mysql_query('UPDATE `bugtracker` SET `comments` = \'' . db_escape($update) . '\' WHERE `id` = ' . $bug_id . ' LIMIT 1;');
$row[4] = $update;
}
$vars['TITLE'] = escape_html($row[1]);
$vars['STATUS'] = $status[$row[0]];
$vars['COLOR'] = $colors[$row[0]];
$user = get_user($row[3]);
$vars['AUTHOR'] = escape_html($user[1]);
$vars['AUTHOR_LINK'] = 'users/' . $row[3] . '-' . format_title_address($user[1]) . '/';
$vars['TEXT'] = xss_safe($row[2]);
//$vars['TEXT'] = nl2br(plain_to_link(escape_html($row[2])));
$vars['DATE'] = $row[5];
$vars['COMMENTS'] = comments_process($row[4]);
if ($logged_user == -1)
{
$vars['SEND_COMMENT'] = '<div style="font-style: italic">You have to be registered to post comments.</div>';
}
else
{
$send_vars['NOTHING'] = 'nothing';
$vars['SEND_COMMENT'] = get_template('send_comment', $send_vars);
}
if ($project_admin)
{
return '<a href="' . create_link($project_row[1], $id, $project_row[0]) . 'admin/bugtracker/' . $bug_id . '" style="font-style: italic; font-size: 10px">[Change Status]</a><br /><br />' . get_template('show_bug', $vars);
}
else
{
return get_template('show_bug', $vars);
}
}
function get_tracker_listing($project_row, $id)
{
global $categories;
$bold = '<span style="font-weight: bold">';
$status = array('Open', 'In Progress', 'Waiting for User Response', 'Resolved', 'Closed');
$colors = array('008000', '008000; font-style: italic', '8f8f8f', '8f8f8f; font-style: italic', 'ff0000');
$vars['SEND_LINK'] = create_link($project_row[1], $id, $project_row[0]) . 'bugtracker/send/';
if (!isset($_POST['search']))
{
$query = 'SELECT `id`, `status`, `title`, `author` FROM `bugtracker` WHERE `project` = ' . db_escape($id) . ' ORDER BY `date` DESC;';
$vars['SEARCH'] = '';
for ($i = 0; $i <= 4; $i++)
$vars['CHK_' . $i] = ' checked="checked"';
$vars['AFTER_JS'] = '';
$vars['SHOWING'] = $bold . 'every</span> bug report';
}
else
{
$vars['SEARCH'] = escape_html($_POST['search']);
$where = '';
$checked_list = array();
for ($i = 0; $i <= 4; $i++)
{
if (isset($_POST['chk_'.$i]))
{
$checked_list[] = $i;
if ($where != '')
$where .= ' OR ';
$where .= '`status` = ' . $i;
$vars['CHK_' . $i] = ' checked="checked"';
}
else
{
$vars['CHK_' . $i] = '';
}
}
if (sizeof($checked_list) == 5)
{
$listing = $bold . 'every</span> bug report';
}
else
{
$listing = '';
for ($i = 0; $i < count($checked_list); $i++)
{
if (($i == (count($checked_list) - 1)) and ($i != 0))
{
$listing .= ' or ';
}
elseif ($i != 0)
{
$listing .= ', ';
}
$listing .= $bold . $status[$checked_list[$i]] . '</span>';
}
$listing .= ' bug reports';
}
if ($_POST['search'] != '')
$listing .= ' that contains the phrase "' . $bold . escape_html($_POST['search']) . '</span>"';
$vars['SHOWING'] = $listing;
$vars['AFTER_JS'] = 'toggle_search();';
$query = 'SELECT `id`, `status`, `title`, `author` FROM `bugtracker` WHERE `project` = ' . db_escape($id) . ' AND (`title` LIKE \'%' . db_escape($_POST['search']) . '%\' OR `text` LIKE \'%' . db_escape($_POST['search']) . '%\')' . (($where != '') ? ' AND (' . $where . ');' : ' ORDER BY `date` DESC;');
}
$result = mysql_query($query);
if (mysql_num_rows($result) == 0)
{
$vars['LIST'] = '<tr><td colspan="4" style="font-style: italic">No bug reports found.</td></tr>';
}
else
{
$vars['LIST'] = '';
while ($row = mysql_fetch_assoc($result))
{
$vars['LIST'] .= '<tr>';
$vars['LIST'] .= '<td class="bt_td" style="text-align: center">#' . $row['id'] . '</td>';
$vars['LIST'] .= '<td class="bt_td"><a href="' . create_link($project_row[1], $id, $project_row[0]) . 'bugtracker/' . $row['id'] . '-' . format_title_address($row['title']) . '/">' . escape_html($row['title']) . '</a></td>';
$vars['LIST'] .= '<td class="bt_td" style="text-align: center; color: #' . $colors[$row['status']] . '">' . $status[$row['status']] . '</td>';
$user = get_user($row['author']);
$vars['LIST'] .= '<td class="bt_td" style="text-align: center"><a href="users/' . $row['author'] . '-' . format_title_address($user[1]) . '/" style="color: black">' . escape_html($user[1]) . '</a></td>';
$vars['LIST'] .= '</tr>';
}
}
return get_template('bugtracker', $vars);
}
?>


