/views/incident.php

https://bitbucket.org/mslepko/jdi-task · PHP · 141 lines · 135 code · 6 blank · 0 comment · 25 complexity · b2f6c2f397217a25eeddb26063801873 MD5 · raw file

  1. <?php
  2. $post=$error=array();
  3. if($_POST['submitNewIncident']):
  4. $post = $_POST;
  5. unset($_POST);
  6. $post = array_map('trim',$post);
  7. if(empty($post['incident_date']) || (date('Y/m/d H:i', strtotime($post['incident_date'])) != $post['incident_date']))
  8. $error['incident_date'] = 'The given date is invalid';
  9. if(empty($post['resolution_date']) || (date('Y/m/d H:i', strtotime($post['resolution_date'])) != $post['resolution_date']))
  10. $error['resolution_date'] = 'The given date is invalid';
  11. if(empty($post['total_time']))
  12. $error['total_time'] = 'Total time cannot be empty';
  13. if(empty($post['explanation']))
  14. $error['explanation'] = 'Explanation cannot be empty';
  15. if(empty($post['measures']))
  16. $error['measures'] = 'Measures cannot be empty';
  17. if(empty($error)):
  18. unset($post['submitNewIncident']);
  19. $Report = new Reports;
  20. if(!empty($post['idReport'])):
  21. if($Report->updateReport($post)):
  22. $info = 'Report updated';
  23. unset($post);
  24. else:
  25. $info = 'Report not updated. Try again later.';
  26. endif;
  27. else:
  28. if($Report->addReport($post)):
  29. $info = 'Report added';
  30. unset($post);
  31. else:
  32. $info = 'Report not added. Try again later.';
  33. endif;
  34. endif;
  35. endif;
  36. endif;
  37. if(isset($_POST['submitNewComment'])):
  38. $post = $_POST;
  39. unset($_POST);
  40. $post = array_map('trim',$post);
  41. if(empty($post['name']) || strlen($post['name'])>32)
  42. $error['name'] = 'Name must be from 1 to 32 characters long.';
  43. if(empty($post['comment']))
  44. $error['comment'] = 'Comment cannot be empty';
  45. if(empty($error)):
  46. unset($post['submitNewComment']);
  47. $post['comment_date'] = time();
  48. if(Comments::addComment($post)):
  49. $info = 'New comment added';
  50. unset($post);
  51. else:
  52. $info = 'Comment not added. Please try again later';
  53. endif;
  54. endif;
  55. endif;
  56. if(isset($_GET['id_report']) && empty($post)):
  57. $report = Reports::getReport($_GET['id_report']);
  58. if($report)
  59. $post = $report[0];
  60. else
  61. $info = 'There is no report wiht specified id.';
  62. endif;
  63. ?>
  64. <h2><?=isset($_GET['id_report'])?'Edit ':'Submit New '?>Incident</h2>
  65. <form method="post" action="" class="newIncident" id="newIncident">
  66. <?=!empty($info)?'<p class="info">'.$info.'</p>':''?>
  67. <?if(!empty($error)):
  68. echo '<ul class="errorList">';
  69. foreach($error as $e)
  70. echo '<li>'.$e.'</li>';
  71. echo '</ul>';
  72. endif;?>
  73. <fieldset>
  74. <div class="row">
  75. <label for="incident_date">Date / Time of Incident:</label>
  76. <input type="text" id="incident_date" name="incident_date" value="<?=isset($post['incident_date'])?date('Y/m/d H:i',$post['incident_date']):'YYYY/mm/dd HH:mm'?>" onblur="javascript:if(this.value=='') {this.value='YYYY/mm/dd HH:mm';}" onfocus="javascript:if(this.value=='YYYY/mm/dd HH:mm') {this.value='';}"/>
  77. </div>
  78. <div class="row">
  79. <label for="resolution_date">Date / Time of Resolution:</label>
  80. <input type="text" name="resolution_date" id="resolution_date" value="<?=isset($post['resolution_date'])?date('Y/m/d H:i',$post['resolution_date']):'YYYY/mm/dd HH:mm'?>" onblur="javascript:if(this.value=='') {this.value='YYYY/mm/dd HH:mm';}" onfocus="javascript:if(this.value=='YYYY/mm/dd HH:mm') {this.value='';}"/>
  81. </div>
  82. <div class="row">
  83. <label for="total_time">Total Time Elapsed:</label>
  84. <input type="text" name="total_time" id="total_time" value="<?=isset($post['total_time'])?$post['total_time']:''?>"/>
  85. </div>
  86. <div class="row">
  87. <label for="explanation">General Explanation:</label>
  88. <textarea name="explanation" rows="50" cols="25" id="explanation"><?=isset($post['explanation'])?$post['explanation']:''?></textarea>
  89. </div>
  90. <div class="row">
  91. <label for="measures">Preventive Measures Taken:</label>
  92. <textarea name="measures" rows="50" cols="25" id="measures"><?=isset($post['measures'])?$post['measures']:''?></textarea>
  93. </div>
  94. <div class="row">
  95. <?=(isset($_GET['id_report']) && $_GET['id_report']>0)?'<input type="hidden" name="idReport" value="'.$post['idReport'].'"/>':''?>
  96. <input type="submit" name="submitNewIncident" id="submitNewIncident" value=" "/>
  97. </div>
  98. </fieldset>
  99. </form>
  100. <?if(isset($_GET['id_report'])):?>
  101. <div class="comments">
  102. <form method="post" action="" id="newComment" class="newIncident">
  103. <fieldset>
  104. <legend>Add new comment</legend>
  105. <div class="row">
  106. <label for="name">Name:</label>
  107. <input type="text" name="name" id="name" value="" />
  108. </div>
  109. <div class="row">
  110. <label for="comment">Comment:</label>
  111. <textarea name="comment" id="comment" rows="20" cols="50"></textarea>
  112. </div>
  113. <div class="row">
  114. <input type="hidden" value="<?=$post['idReport']?>" name="idReport" />
  115. <input type="submit" name="submitNewComment" value="Add comment" class="fr" id="submitNewComment"/>
  116. </div>
  117. </fieldset>
  118. </form>
  119. <?$comments = Comments::getCommentsForReport($post['idReport']);
  120. if($comments):
  121. echo '<ul class="list">';
  122. foreach($comments as $comment):?>
  123. <li><div>
  124. <?=$comment['comment']?>
  125. </div>
  126. <p class="title">Comment from <span class="bold"><?=date('H:i:s d-m-Y',$comment['comment_date'])?></span> by <?=$comment['name']?></p>
  127. </li>
  128. <?
  129. endforeach;
  130. echo '</ul>';
  131. else:
  132. echo 'There are no other comments';
  133. endif;?>
  134. </div>
  135. <?endif;?>