PageRenderTime 46ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/includes/ajax_filter_tasks.php

https://bitbucket.org/websightdesigns/project-manager
PHP | 161 lines | 146 code | 6 blank | 9 comment | 53 complexity | 14c908a7196fb8acab152a712cdea279 MD5 | raw file
  1. <?php
  2. include("../mysql.php");
  3. $link = mysql_connect($mysqlhost, $mysqluser, $mysqlpass) or die("Could not connect to server");
  4. mysql_select_db($mysqldb) or die("Could not select database");
  5. include("functions.php");
  6. $level_auth = getCurrentUserAccessLevel();
  7. $group_auth = getCurrentUserGroupID();
  8. $clocked_in = checkIfClockedIn();
  9. // set completed variable through POST or GET
  10. if(isset($_POST['completed'])) $completed = $_POST['completed'];
  11. // set date format
  12. if(getSetting("dateFormat", $_SESSION['userid_auth']) == "0") {
  13. $date_format_setting = "%b %e %Y";
  14. } else {
  15. $date_format_setting = getSetting("dateFormat", $_SESSION['userid_auth']);
  16. }
  17. if (isset($_POST['search']) && $_POST['search']) {
  18. $level_auth = getCurrentUserAccessLevel();
  19. $group_auth = getCurrentUserGroupID();
  20. $search_project = "Project: ";
  21. $search_client = "Client: ";
  22. // PROJECTS SECTION
  23. if(substr($_POST['search'], 0, strlen($search_project)) == $search_project) {
  24. $project_sql = "SELECT id FROM projects WHERE project_name LIKE '%" . str_replace($search_project, "", $_POST['search']) . "%'";
  25. $project_q = mysql_query($project_sql);
  26. while($i = mysql_fetch_object($project_q)) {
  27. $project_id = $i->id;
  28. }
  29. $sql = "SELECT tasks.`id` AS `id`,
  30. tasks.`task_title` AS `task_title`,
  31. tasks.`task_describe` AS `task_describe`,
  32. DATE_FORMAT(tasks.`created`, '" . $date_format_setting . ", %l:%i %p') AS `fcreated`,
  33. DATE_FORMAT(tasks.`modified`, '" . $date_format_setting . ", %l:%i %p') AS `fmodified`,
  34. DATE_FORMAT(tasks.`duedate`, '" . $date_format_setting . "') AS `fduedate`,
  35. tasks.`modified` AS `modified`,
  36. tasks.`duedate` AS `duedate`,
  37. tasks.`milestoneid` AS `milestoneid`,
  38. tasks.`projectid` AS `projectid`
  39. FROM tasks, projects
  40. WHERE projects.`userid`='" . $_SESSION['userid_auth'] . "'
  41. AND projects.`id` = tasks.`projectid`
  42. AND tasks.milestoneid='0'
  43. AND tasks.completed='" . $completed . "'
  44. AND tasks.projectid='" . $project_id . "'";
  45. //if($level_auth < "11") $sql .= " AND projects.groupid = '" . $group_auth . "'";
  46. $sql .= " ORDER BY tasks.modified, tasks.priority ASC, tasks.created ASC";
  47. $search_text = "Tasks for the project <span id=\"searchcriteria\">Project: </span><span id=\"searchterm\">".str_replace($search_project, "", $_POST['search'])."</span>";
  48. // CLIENTS SECTION
  49. } elseif(substr($_POST['search'], 0, strlen($search_client)) == $search_client) {
  50. $client_sql = "SELECT id FROM clients WHERE fullname LIKE '%" . str_replace($search_client, "", $_POST['search']) . "%'";
  51. $client_q = mysql_query($client_sql);
  52. while($i = mysql_fetch_object($client_q)) {
  53. $clientid = $i->id;
  54. }
  55. $sql = "SELECT tasks.`id` AS `id`,
  56. tasks.`task_title` AS `task_title`,
  57. tasks.`task_describe` AS `task_describe`,
  58. DATE_FORMAT(tasks.`created`, '" . $date_format_setting . ", %l:%i %p') AS `fcreated`,
  59. DATE_FORMAT(tasks.`modified`, '" . $date_format_setting . ", %l:%i %p') AS `fmodified`,
  60. DATE_FORMAT(tasks.`duedate`, '" . $date_format_setting . "') AS `fduedate`,
  61. tasks.`modified` AS `modified`,
  62. tasks.`duedate` AS `duedate`,
  63. tasks.`projectid` AS `projectid`
  64. FROM tasks, projects, clients
  65. WHERE tasks.projectid=projects.id
  66. AND projects.clientid=clients.id
  67. AND clients.id='" . $clientid . "'
  68. AND projects.`userid`='" . $_SESSION['userid_auth'] . "'
  69. AND tasks.milestoneid='0'
  70. AND tasks.completed='" . $completed . "'";
  71. //if($level_auth < "11") $sql .= " AND projects.groupid = '" . $group_auth . "'";
  72. $sql .= " ORDER BY tasks.modified, tasks.priority ASC, tasks.created ASC";
  73. $search_text = "Tasks for the client <u>".str_replace($search_client, "", $_POST['search'])."</u>";
  74. // TASKS SECTION
  75. } else {
  76. $sql = "SELECT tasks.`id` AS `id`,
  77. tasks.`task_title` AS `task_title`,
  78. tasks.`task_describe` AS `task_describe`,
  79. completed,
  80. DATE_FORMAT(tasks.`created`, '" . $date_format_setting . ", %l:%i %p') AS `fcreated`,
  81. DATE_FORMAT(tasks.`modified`, '" . $date_format_setting . ", %l:%i %p') AS `fmodified`,
  82. tasks.`modified` AS `modified`,
  83. DATE_FORMAT(tasks.`duedate`, '" . $date_format_setting . "') AS `fduedate`,
  84. tasks.`duedate` AS `duedate`,
  85. milestoneid,
  86. projectid
  87. FROM tasks
  88. WHERE userid='" . $_SESSION['userid_auth'] . "'
  89. AND milestoneid='0'
  90. AND completed='" . $completed . "'
  91. AND task_title LIKE '%" . $_POST['search'] . "%'
  92. ORDER BY tasks.modified, tasks.priority ASC, tasks.created ASC";
  93. $search_text = "Search results for the search term <u>".$_POST['search']."</u>";
  94. }
  95. // NO SEARCH, LOAD EVERYTHING
  96. } else {
  97. $sql = "SELECT tasks.`id`,
  98. tasks.`task_title`,
  99. tasks.`task_describe`,
  100. tasks.`completed`,
  101. DATE_FORMAT(tasks.`created`, '" . $date_format_setting . ", %l:%i %p') AS `fcreated`,
  102. DATE_FORMAT(tasks.`modified`, '" . $date_format_setting . ", %l:%i %p') AS `fmodified`,
  103. tasks.`modified` AS `modified`,
  104. DATE_FORMAT(tasks.`duedate`, '" . $date_format_setting . "') AS `fduedate`,
  105. tasks.`duedate` AS `duedate`,
  106. tasks.`milestoneid`,
  107. tasks.`projectid`
  108. FROM projects, tasks, users";
  109. if($level_auth < "11" || ($level_auth == "11" && getSetting("onlyShowProjectsInMyGroup", $_SESSION['userid_auth']) == "1"))
  110. $sql .= " WHERE users.groupid = '" . $group_auth . "' AND users.id='" . $_SESSION['userid_auth'] . "' AND ";
  111. else $sql .= " WHERE ";
  112. $sql .= "projects.id=tasks.projectid
  113. AND users.id=projects.userid
  114. AND tasks.milestoneid='0'
  115. AND tasks.completed='" . $completed . "'
  116. ORDER BY tasks.sort ASC, tasks.priority ASC, tasks.created DESC";
  117. }
  118. //if($debugmode) echo "<tr><td colspan=\"8\"><pre>sql:<br />".$sql."</pre><br /></td></tr>";
  119. $q = mysql_query($sql) or die(mysql_error());
  120. $total_numrows = mysql_num_rows($q);
  121. if(isset($_POST['search']) && $_POST['search']) echo "<p><strong>" . $search_text . "</strong></p>";
  122. if((isset($_POST['search']) && $_POST['search'] && $total_numrows) || $total_numrows) {
  123. $j = 0;
  124. while($i = mysql_fetch_object($q)) {
  125. $id = $i->id;
  126. $task_title = $i->task_title;
  127. $completed = $i->completed;
  128. $fcreated = $i->fcreated;
  129. $fmodified = $i->fmodified;
  130. $modified = $i->modified;
  131. $fduedate = $i->fduedate;
  132. $duedate = $i->duedate;
  133. $project_name = getProjectName($i->projectid);
  134. if($j % 2 == 0) $rowcolor = "row"; else $rowcolor = "altrow";
  135. ?>
  136. <tr id="item_<?php echo $id; ?>" class="<? echo $rowcolor; ?> item_<? echo $id; ?>">
  137. <td><input type="checkbox"<?php if($completed) echo ' checked="checked"'; ?> id="<? echo $id; ?>" /></td>
  138. <td><?php if($completed): ?>&nbsp;<? else: ?><input type="radio" id="<? echo $id; ?>" name="timeclock"<? if($clocked_in == $id) echo ' checked="checked"' ?> /><? endif; ?></td>
  139. <td><a href="/includes/ajax_get_task.php?id=<?php echo $id; ?>" class="lightbox" rel="lightbox"><? echo $task_title; ?></a></td>
  140. <td><?php echo $project_name; ?></td>
  141. <td><?php if($duedate != "0000-00-00" && $duedate != "") echo $fduedate; else echo '-'; ?></td>
  142. <td><?php if($modified == "0000-00-00 00:00:00") echo $fcreated; else echo $fmodified; ?></td>
  143. <td><a href="" id="<?php echo $id; ?>"><img src="/img/icons/button-delete.png" border="0" alt="" /></a></td>
  144. <td><?php if(!$_POST['search']): ?><a href="" class="drag"><img src="/img/icons/button-drag.png" border="0" alt="" /></a><? endif; ?></td>
  145. </tr>
  146. <?php
  147. $j++;
  148. }
  149. } elseif(isset($_POST['search']) && $_POST['search'] && !$total_numrows) {
  150. ?><tr class="notice"><td colspan="8">There are no <?php if($completed == "0") echo "incomplete"; elseif($completed == "1") echo "completed"; ?> tasks matching your search.</td></tr><?
  151. } elseif(!$total_numrows) {
  152. ?><tr class="notice"><td colspan="8">No <?php if($completed == "0") echo "incomplete"; elseif($completed == "1") echo "completed"; ?> tasks. <? if($completed == "0") echo 'Time for a break!'; elseif($completed == "1") echo ' Get to work!'; ?></td></tr><?
  153. }
  154. mysql_close($link);
  155. ?>