Advertisement
Guest User

Untitled

a guest
Feb 19th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.88 KB | None | 0 0
  1. <?php
  2. session_start();
  3. ?>
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  8.  
  9. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  10. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  11.  
  12. <link rel="stylesheet" type="text/css" href="mainCSS.css">
  13.  
  14. <script>
  15. function check(offset) {
  16. acheck="solvedCheck".concat(offset);
  17. field="solutionField".concat(offset);
  18. label="solutionLabel".concat(offset);
  19. if(document.getElementById(acheck).checked == true) {
  20. document.getElementById(field).style.display = "block";
  21. document.getElementById(label).style.display = "block";
  22. }else{
  23. document.getElementById(field).style.display = "none";
  24. document.getElementById(label).style.display = "none";
  25. }
  26. }
  27. function unknownProblem(ticket){
  28. known="problemTypes";
  29. type="actualProblemType".concat(ticket);
  30.  
  31. knownTypes = document.getElementById(known).childNodes;
  32. problemType = document.getElementById(type).value;
  33. flag = false;
  34. for (i = 0;i < knownTypes.length; i++){
  35. if(problemType.toLowerCase() == knownTypes[i].text.toLowerCase()){
  36. flag = true;
  37. }
  38. }
  39. label="closestProblemLabel".concat(ticket);
  40. Type="closestProblemType".concat(ticket);
  41. if (!flag){
  42. document.getElementById(label).style.display = "block";
  43. document.getElementById(Type).style.display = "block";
  44. }
  45. else{
  46. document.getElementById(label).style.display = "none";
  47. document.getElementById(Type).style.display = "none";
  48. }
  49.  
  50. }
  51. function finishTicket(ticket){
  52. ticketDiv ="ticket".concat(ticket);
  53. ticketDiv =document.getElementById(ticketDiv);
  54. children = ticketDiv.children;
  55. for (var i = 0; i < children.length; i++) {
  56. children[i].style.display = 'none';
  57. }
  58. ticketDiv.style.height = "60px";
  59.  
  60. hardwareField = "hardware".concat(ticket);
  61. hardwareField = document.getElementById(hardwareField).value;
  62.  
  63. OSField = "OS".concat(ticket);
  64. OSField = document.getElementById(OSField).value;
  65.  
  66. softwareField = "softwarefield".concat(ticket);
  67. softwareField = document.getElementById(softwareField).value;
  68.  
  69. hardwareField = "hardware".concat(ticket);
  70. hardwareField = document.getElementById(hardwareField).value;
  71.  
  72. problemField ="closestProblemType".concat(ticket);
  73. if(document.getElementById(problemField).style.display == "none"){
  74. problemField="actualProblemType".concat(ticket);
  75. }
  76. problemField = document.getElementById(problemField).value;
  77.  
  78. finishedField = "solvedCheck".concat(ticket);
  79. finishedField = document.getElementById(finishedField).checked;
  80.  
  81. solutionField = "solutionField".concat(ticket);
  82. solutionField = document.getElementById(solutionField).value;
  83.  
  84. detailsField = "details".concat(ticket);
  85. detailsField = document.getElementById(detailsField).value;
  86.  
  87.  
  88. specialistField = "specialistSelection".concat(ticket);
  89. if (document.getElementById(specialistField)){
  90. specialistField = document.getElementById(specialistField).value;
  91. }
  92. else{
  93. specialistField = "none";
  94. };
  95.  
  96. varstring = "hardware=";
  97. varstring.concat(hardwareField);
  98. varstring.concat("&os=");
  99. varstring.concat(OSField);
  100. varstring.concat("&software=");
  101. varstring.concat(softwareField);
  102. varstring.concat("&problemType=");
  103. varstring.concat(problemField);
  104. varstring.concat("&finished=");
  105. varstring.concat(finishedField);
  106. varstring.concat("&solution=");
  107. varstring.concat(solutionField);
  108. varstring.concat("&details=");
  109. varstring.concat(detailsField);
  110. varstring.concat("&specialist=");
  111. varstring.concat(specialistField);
  112.  
  113. $.post("finalTicket.php",{
  114. hardware : hardwareField,
  115. os : OSField,
  116. software : softwareField,
  117. problemType : problemField,
  118. finished : finishedField,
  119. solution : solutionField,
  120. details : detailsField,
  121. specialist : specialistField
  122. },function(result){if(result=="success"){
  123. window.location.replace("Main.php");
  124. alert(result);}
  125. else{alert(result);}});
  126. }
  127. function selectSpecialist(number){
  128. checkbox= "solvedCheck".concat(number);
  129. if (document.getElementById(checkbox).checked == true){
  130. solutionField = "solutionField".concat(number);
  131. solutionField = document.getElementById(solutionField).value;
  132. if(solutionField != ""){
  133. finishTicket(number);
  134. } else{
  135.  
  136. }
  137.  
  138.  
  139. }else{
  140. var array = [];
  141. ticketDiv ="ticket".concat(number);
  142. problemType ="closestProblemType".concat(number);
  143. if(document.getElementById(problemType).style.display == "none"){
  144. problemType="actualProblemType".concat(number);
  145. }
  146. array =document.getElementById(problemType).value;
  147. ticketDiv =document.getElementById(ticketDiv);
  148. children = ticketDiv.children;
  149. for (var i = 0; i < children.length; i++) {
  150. children[i].style.display = 'none';
  151. }
  152. ticketDiv.style.height = "60px";
  153. ticketString="#ticket".concat(number)
  154. specialistLabel = document.createElement("label");
  155. specialistLabel.innerHTML ="Specalist assigned : ";
  156. specialistSelection = document.createElement("select");
  157. specialistSelection.id = "specialistSelection".concat(number);
  158. newButton = document.createElement("input");
  159. newButton.setAttribute("type", "button");
  160. newButton.addEventListener("click", finishTicket(number));
  161. newButton.id = "newButton";
  162. newButton.value = "Confirm";
  163. $.post("specialistSelection.php", { problemType: array}, function(result){
  164. result = JSON.parse(result);
  165. for(i=0;i<result['listSpecialists'].length;i++){
  166. specalistEntry = document.createElement("option");
  167. specalistEntry.value = result['listSpecialists'][i];
  168. specalistEntry.innerHTML = result['listSpecialists'][i];
  169. if(specalistEntry.value == result['assignedSpecialist']){
  170. specalistEntry.selected = true;
  171. }
  172. specialistSelection.add(specalistEntry);
  173. }
  174. $( ticketString).append(specialistLabel);
  175. $( ticketString).append(specialistSelection);
  176. $( ticketString).append(newButton);
  177. });}
  178.  
  179. }
  180. </script>
  181.  
  182. <?php
  183. session_start();
  184. if(empty($_SESSION['login_user'])){
  185. header("location: index.php");
  186. }
  187.  
  188.  
  189. date_default_timezone_set("Europe/London");
  190. $emp = $_POST['idEmployee'];
  191. $numberTickets =$_POST['numberTickets'];
  192.  
  193. $callReason = $_POST['callReasonNew'];
  194. $date = date("l, d/m/Y, G:i");
  195. $Opid = $_SESSION['login_user'];
  196. $_SESSION['numberTickets'] = $numberTickets;
  197. $numberTickets = $_SESSION['numberTickets'];
  198.  
  199. include 'SQLConnect.inc';
  200.  
  201. $conn = new mysqli($host, $username, $password, $dbName);
  202.  
  203. if ($conn->connect_error) {
  204. die("Connection failed: " . $conn->connect_error);
  205. }
  206. if($stmt = $conn->prepare("SELECT `Call-ID` FROM incomingCall ORDER BY `Call-ID` DESC LIMIT 1")){
  207. $stmt->execute();
  208. $query= $stmt->get_result();
  209. $stmt->close();
  210. }
  211. $result = $query->fetch_assoc();
  212. $CallID = $result['Call-ID'] +1;
  213. $_SESSION['CallID'] = $CallID;
  214.  
  215. if($stmt = $conn->prepare("INSERT INTO incomingCall (`Call-ID`, `Emp-ID`, `Op-ID`, `Time`)
  216. VALUES (?,?,?,?)")){
  217. $stmt->bind_param("ssss", $CallID, $emp, $Opid, $date);
  218. $stmt->execute();
  219. $stmt->close();
  220. }
  221.  
  222. if($stmt = $conn->prepare("SELECT `Expertise` FROM expertise")){
  223. $stmt->execute();
  224. $query= $stmt->get_result();
  225. $stmt->close();
  226. }
  227. $rows = mysqli_num_rows($query);
  228. $options = "";
  229. for($i=0;$i<$rows;$i++){
  230. $row = $query->fetch_assoc();
  231. $options.= '<option value="';
  232. $options.= $row['Expertise'];
  233. $options.= '">';
  234. $options.= $row['Expertise'];
  235. $options.= "</option>";
  236. }
  237.  
  238. echo '<datalist id="problemTypes">';
  239. if($stmt = $conn->prepare("SELECT `Expertise` FROM expertise")){
  240. $stmt->execute();
  241. $query= $stmt->get_result();
  242. $stmt->close();
  243. }
  244. $rows = mysqli_num_rows($query);
  245. for($i=0;$i<$rows;$i++){
  246. $row = $query->fetch_assoc();
  247. echo '<option value="';
  248. echo $row['Expertise'];
  249. echo '">';
  250. echo $row['Expertise'];
  251. echo "</option>";
  252. }
  253. echo '</datalist>';
  254. mysqli_close($conn);
  255. ?>
  256. </head>
  257.  
  258. <body id="body">
  259. <div id="main">
  260. <div id="sidebar">
  261. <img src="logo.png" id="logo"/>
  262. <ul class="nav nav-pills nav-stacked">
  263. <li id="homeMenu" ><a href="Main.php">Home</a></li>
  264. <li class="active" id="editTicketMenu" ><a href="viewcalllog.php">View Call Log</a></li>
  265. <li id="viewEmpMenu" ><a href="viewemployees.php">View Employees</a></li>
  266. <li id="viewEquipMenu" ><a href="viewequipment.php">View Equipment</a></li>
  267. </ul>
  268. </div>
  269. <div id="content" style="overflow: auto;height: 80%;">
  270. <form action="logout.php">
  271. <input id="submit" name="submit" type="submit" value="Logout">
  272. </form>
  273.  
  274. <ul class="nav nav-tabs">
  275. <li class="active" id="homeMenu" onclick="loadMain()"><a href="#">Call Log</a></li>
  276. </ul>
  277.  
  278. <?php
  279. //Hardware, OS, Type*, Software, Solution(* if solved),details(optional), solved(optional)
  280. for($i=1;$i<=$numberTickets;$i++){
  281. echo '<div class="newTicket
  282. " id="ticket';
  283. echo $i;
  284. echo '"><h1>Ticket ';
  285. echo $i;
  286. echo ': </h1>';
  287. echo '
  288. <form id="newTicketForm';
  289. echo $i;
  290. echo '" action="post">
  291. <div class="formDiv">
  292. <label for="hardware" class="newTicketLabels">Hardware affected: </label>
  293. <input type="text" id="hardware';
  294. echo $i;
  295. echo '" name="hardware" style="float:right;"/><br>
  296. </div>
  297.  
  298. <div class="formDiv">
  299. <label for="OS" class="newTicketLabels">OS used: </label>
  300. <input type="text" id="OS';
  301. echo $i;
  302. echo '" name="OS" style="float:right;"/><br>
  303. </div>
  304.  
  305. <div class="formDiv">
  306. <label for="software" class="newTicketLabels">Software used: </label>
  307. <input type="text" id="softwarefield';
  308. echo $i;
  309. echo '" name="softwarefield" style="float:right;"/><br>
  310. </div>
  311.  
  312. <div class="formDiv">
  313. <label for="actualProblemType" class="newTicketLabels">Type of problem:* </label>
  314. <input type="text" id="actualProblemType';
  315. echo $i;
  316. echo '" name="actualProblemType" list="problemTypes" onblur="unknownProblem(';
  317. echo $i;
  318. echo ')"
  319. style="float:right;"/>
  320. </div>
  321.  
  322. <div class="formDiv">
  323. <label for="closestProblemType" class="newTicketLabels" style="display: none;" id="closestProblemLabel';
  324. echo $i;
  325. echo '">Choose the option closest to the problem:* </label>
  326. <select id="closestProblemType';
  327. echo $i;
  328. echo '" name="closestProblemType" style="display: none; float:right;">';
  329. echo $options;
  330. echo '</select><br>
  331. </div>
  332.  
  333. <div class="formDiv">
  334. <label for="solved" class="newTicketLabels">Problem solved?</label>
  335. <input type="checkbox" id="solvedCheck';
  336. echo $i;
  337. echo '" name="solved" onclick="check(';
  338. echo $i;
  339. echo ')" style="float:right;"/><br>
  340. </div>
  341.  
  342. <div class="formDiv">
  343. <label for="details" class="newTicketLabels">Problem details:* </label>
  344. <textarea id="details';
  345. echo $i;
  346. echo '" class="newTicketTAs" name="details" form="newTicketForm" style="float:right;"></textarea><br>
  347. </div>
  348.  
  349. <div class="formDiv">
  350. <label for="solution" class="newTicketLabels" id="solutionLabel';
  351. echo $i;
  352. echo '" style="display: none;">Solution:* </label>
  353. <textarea id="solutionField';
  354. echo $i;
  355. echo '" class="newTicketTAs" name="solution" form="newTicketForm"
  356. style="display: none;float:right;"></textarea><br>
  357. </div>
  358.  
  359. <input type="button" id="createTicket';
  360. echo $i;
  361. echo '" value="Create Ticket" onclick="selectSpecialist(';
  362. echo $i;
  363. echo ')"/><br>
  364.  
  365. </form>
  366. </div>';}
  367.  
  368. ?>
  369. </div>
  370. </div>
  371. </body>
  372. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement