Unsupported scripts and control panel web app for a hosting company
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

editissue.php 5.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?PHP
  2. require_once('lib/dashboard.php');
  3. require_once('lib/common.php');
  4. if (!isset($_GET['n']) || !ctype_digit($_GET['n'])) {
  5. header('Location: '.CP_PATH);
  6. }
  7. $categories = getCategories();
  8. $admins = getAdmins();
  9. $sql = 'SELECT i.i_id, i.icat_id, c.icat_name, i.i_title, i.i_status, u1.user_name AS i_assignee,
  10. u2.user_name AS i_submitter, i.i_priority, i.i_added, i.i_deadline, i.i_updated, i.i_text, i.i_extensiveness
  11. FROM issues_issues AS i
  12. LEFT JOIN issues_categories AS c ON i.icat_id = c.icat_id
  13. LEFT JOIN users AS u1 ON i.i_assignee = u1.user_id
  14. LEFT JOIN users AS u2 ON i.i_submitter = u2.user_id
  15. WHERE i_id = '.m($_GET['n']);
  16. $viewIssueRes = mysql_query($sql) or die(mysql_error().'<br />'.$sql);
  17. if (mysql_num_rows($viewIssueRes) == 0) {
  18. header('Location: '.CP_PATH);
  19. }
  20. $viewIssueData = mysql_fetch_assoc($viewIssueRes);
  21. if (isset($_POST['submit'])) {
  22. if ($_POST['deadline'] == 'none') {
  23. $_POST['deadline'] = 0;
  24. }
  25. if ($_POST['assignee'] == '') {
  26. $_POST['assignee'] = 0;
  27. }
  28. if ($_POST['assignee'] != '' && $_POST['status'] != 'closed') {
  29. $_POST['status'] = 'assigned';
  30. }
  31. $changed = false;
  32. if ($_POST['assignee'] != $viewIssueData['i_assignee']) {
  33. $changed = true;
  34. $sql = 'INSERT INTO issues_logs
  35. VALUES (0, '.m($_GET['n']).', '.time().', \''.m(getUserID($_SERVER['REDIRECT_REMOTE_USER'])).'\', \'assignee\', \''.m($viewIssueData['i_assignee']).'\', \''.m($_POST['assignee']).'\')';
  36. mysql_query($sql) or die($sql."<br>".mysql_error());
  37. }
  38. if ($_POST['status'] != $viewIssueData['i_status']) {
  39. $changed = true;
  40. $sql = 'INSERT INTO issues_logs
  41. VALUES (0, '.m($_GET['n']).', '.time().', \''.m(getUserID($_SERVER['REDIRECT_REMOTE_USER'])).'\', \'status\', \''.m($viewIssueData['i_status']).'\', \''.m($_POST['status']).'\')';
  42. mysql_query($sql) or die($sql."<br>".mysql_error());
  43. }
  44. if ($_POST['title'] != $viewIssueData['i_title']) {
  45. $changed = true;
  46. $sql = 'INSERT INTO issues_logs
  47. VALUES (0, '.m($_GET['n']).', '.time().', \''.m(getUserID($_SERVER['REDIRECT_REMOTE_USER'])).'\', \'title\', \''.m($viewIssueData['i_title']).'\', \''.m($_POST['title']).'\')';
  48. mysql_query($sql) or die($sql."<br>".mysql_error());
  49. }
  50. if ($_POST['text'] != $viewIssueData['i_text']) {
  51. $changed = true;
  52. $sql = 'INSERT INTO issues_logs
  53. VALUES (0, '.m($_GET['n']).', '.time().', \''.m(getUserID($_SERVER['REDIRECT_REMOTE_USER'])).'\', \'text\', \''.m($viewIssueData['i_text']).'\', \''.m($_POST['text']).'\')';
  54. mysql_query($sql) or die($sql."<br>".mysql_error());
  55. }
  56. if ($_POST['category'] != $viewIssueData['icat_id']) {
  57. $changed = true;
  58. $sql = 'INSERT INTO issues_logs
  59. VALUES (0, '.m($_GET['n']).', '.time().', \''.m(getUserID($_SERVER['REDIRECT_REMOTE_USER'])).'\', \'category\', \''.m($viewIssueData['icat_id']).'\', \''.m($_POST['category']).'\')';
  60. mysql_query($sql) or die($sql."<br>".mysql_error());
  61. }
  62. if ($_POST['priority'] != $viewIssueData['i_priority']) {
  63. $changed = true;
  64. $sql = 'INSERT INTO issues_logs
  65. VALUES (0, '.m($_GET['n']).', '.time().', \''.m(getUserID($_SERVER['REDIRECT_REMOTE_USER'])).'\', \'priority\', \''.m($viewIssueData['i_priority']).'\', \''.m($_POST['priority']).'\')';
  66. mysql_query($sql) or die($sql."<br>".mysql_error());
  67. }
  68. if (strtotime($_POST['deadline']) != $viewIssueData['i_deadline']) {
  69. $changed = true;
  70. $sql = 'INSERT INTO issues_logs
  71. VALUES (0, '.m($_GET['n']).', '.time().', \''.m(getUserID($_SERVER['REDIRECT_REMOTE_USER'])).'\', \'deadline\', \''.m($viewIssueData['i_deadline']).'\', \''.m(strtotime($_POST['deadline'])).'\')';
  72. mysql_query($sql) or die($sql."<br>".mysql_error());
  73. }
  74. if ($_POST['extensiveness'] != $viewIssueData['i_extensiveness']) {
  75. $changed = true;
  76. $sql = 'INSERT INTO issues_logs
  77. VALUES (0, '.m($_GET['n']).', '.time().', \''.m(getUserID($_SERVER['REDIRECT_REMOTE_USER'])).'\', \'extensiveness\', \''.m($viewIssueData['i_extensiveness']).'\', \''.m(strtotime($_POST['extensiveness'])).'\')';
  78. mysql_query($sql) or die($sql."<br>".mysql_error());
  79. }
  80. if ($changed) {
  81. $sql = 'UPDATE issues_issues
  82. SET i_title = \''.m($_POST['title']).'\', i_status = \''.m($_POST['status']).'\',
  83. i_assignee = \''.m($_POST['assignee']).'\', i_text = \''.m($_POST['text']).'\',
  84. i_updated = '.time().', icat_id = '.m($_POST['category']).', i_priority = \''.m($_POST['priority']).'\',
  85. i_deadline = '.m(strtotime($_POST['deadline'])).', i_extensiveness = \''.m($_POST['extensiveness']).'\'
  86. WHERE i_id = '.m($_GET['n']);
  87. $res = mysql_query($sql) or die($sql."<br>".mysql_error());
  88. logger::log('Issue tracker: issue edited: '.getCategoryName($_POST['category']).': '.$_POST['title'], getUserID($_SERVER['REDIRECT_REMOTE_USER']), logger::information);
  89. }
  90. header('Location: '.CP_PATH.'viewissue/'.$_GET['n']);
  91. return;
  92. }
  93. define('TITLE', 'Issue tracker :: Edit Issue :: '.h($viewIssueData['i_title']));
  94. addDashboardItem('Actions', 'Raise new issue', 'addissue');
  95. addDashboardItem('Actions', 'Edit', 'editissue/'.$_GET['n']);
  96. addDashboardItem('Actions', 'Reply', 'addreply/'.$_GET['n']);
  97. addDashboardItem('Actions', 'View Log', 'viewlog/'.$_GET['n']);
  98. include_once('res/commonDashboard.php');
  99. require_once('lib/header.php');
  100. require_once('pages/editissue.php');
  101. require_once('lib/footer.php');
  102. ?>