applications.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. <?php
  2. require_once($_SERVER['DOCUMENT_ROOT'] . "/modules/core/header.php");
  3. if(!isset($link))
  4. {
  5. $link = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
  6. if($link === false)
  7. {
  8. die("ERROR: Could not connect.");
  9. }
  10. }
  11. if(isset($_GET['test']))
  12. {
  13. $application_id = $_GET['test'];
  14. $application_id = mysqli_escape_string($link, $application_id);
  15. $user_check_query = "SELECT `master`, `char_name`, `reviewed_by`, `story`, `status`, `origin`, `gender`, `age`, `accepted`, `date_of_submit`, `reason`, `date_of_verdict`, `skin` FROM `application` WHERE `id` = '$application_id' LIMIT 1";
  16. $result = mysqli_query($link, $user_check_query);
  17. $rowcount = $result->num_rows;
  18. if($rowcount == 0) die();
  19. $ApplicationData = mysqli_fetch_array($result, MYSQLI_ASSOC);
  20. if($ApplicationData['master'] != $playersqlid) die();
  21. if(isset($_GET['update_skin']))
  22. {
  23. if($_GET['update_skin'] == "withdraw")
  24. {
  25. $date = date("d-m-Y h:i:s");
  26. $user_check_query = "UPDATE `application` SET `status` = '3', `reviewed_by` = '-1', `date_of_verdict` = '$date' WHERE `id` = '$application_id' LIMIT 1";
  27. $result = mysqli_query($link, $user_check_query);
  28. $ApplicationData['status'] = 3;
  29. $ApplicationData['date_of_verdict'] = $date;
  30. }
  31. }
  32. $user_check_query = "SELECT `answer1`, `answer2`, `answered_questions` FROM `accounts` WHERE `ID` = '$playersqlid' LIMIT 1";
  33. $result = mysqli_query($link, $user_check_query);
  34. $QuestionData = mysqli_fetch_array($result, MYSQLI_ASSOC);
  35. mysqli_free_result($result);
  36. $user_check_query = "SELECT `id` FROM `application` WHERE `status` != '2' AND `id` != '$application_id'";
  37. $result = mysqli_query($link, $user_check_query);
  38. $applic_count = $result->num_rows;
  39. if(!$applic_count) $applic_count = 1;
  40. mysqli_free_result($result);
  41. for($x = 0; $x < sizeof($serverSkins); ++$x)
  42. {
  43. if($serverSkins[$x]["id"] == $ApplicationData['skin'])
  44. {
  45. $ApplicationData['skin'] = $serverSkins[$x]["name"];
  46. break;
  47. }
  48. }
  49. ?>
  50. <router-outlet _ngcontent-tnh-c136="" class="router-outlet"></router-outlet>
  51. <app-settings _nghost-tnh-c144="">
  52. <section class="content-header" *ngIf="application">
  53. <h3><?php echo $ApplicationData['char_name']; ?> - Character Application</h3>
  54. <?php if($ApplicationData['status'] < 2) { ?>
  55. <!--<app-button _ngcontent-tnh-c145="" caption="Withdraw Application" icon="fa-trash" class="fl-ri blue margin-left-10" _nghost-tnh-c216="" onClick="window.location.href='./panel/applications/<?php echo $application_id; ?>/withdraw'" onclick="">
  56. <div _ngcontent-tnh-c216="" class="btn-wrapper">
  57. <div _ngcontent-tnh-c216="" class="button">
  58. <div _ngcontent-tnh-c216="" class="icon"><i _ngcontent-tnh-c216="" class="fa fa-trash"></i></div>
  59. <div _ngcontent-tnh-c216="" class="caption">Withdraw Application</div>
  60. </div>
  61. </div>
  62. </app-button>-->
  63. <?php } ?>
  64. <span *ngIf="application.handled" class="fl-ri color-grey padding-5"> Submitted on <?php echo $ApplicationData['date_of_submit']; ?> </span></section>
  65. <div class="content" *ngIf="application">
  66. <section class="cs-1 transparent nopadding margin-bottom-20">
  67. <?php
  68. switch($ApplicationData['status'])
  69. {
  70. case 0:
  71. {
  72. ?>
  73. <app-info-bar _ngcontent-tnh-c169="" type="info" class="cs-1" _nghost-tnh-c215="">
  74. <div _ngcontent-tnh-c215="" class="info infobar">
  75. <div _ngcontent-tnh-c215="" class="icon"><i _ngcontent-tnh-c215="" class="fa fa-exclamation-triangle fa-fw"></i></div>
  76. <div _ngcontent-tnh-c215="" class="message">This application was not handled yet. Your position in the queue is <?php echo $applic_count; ?>.</div>
  77. </div>
  78. </app-info-bar>
  79. <?php
  80. break;
  81. }
  82. case 2:
  83. {
  84. ?>
  85. <app-info-bar _ngcontent-tnh-c169="" type="<?php if($ApplicationData['accepted'] == 1) { ?>success<?php } else { ?>info<?php } ?>" class="cs-1" _nghost-tnh-c215="">
  86. <div _ngcontent-tnh-c215="" class="<?php if($ApplicationData['accepted'] == 1) { ?>success<?php } else { ?>info<?php } ?> infobar">
  87. <div _ngcontent-tnh-c215="" class="icon"><i _ngcontent-tnh-c215="" class="fa fa-exclamation-triangle fa-fw"></i></div>
  88. <div _ngcontent-tnh-c215="" class="message">This application was <strong><?php if($ApplicationData['accepted'] == 1) { ?>accepted<?php } else if($ApplicationData['accepted'] == 0) { ?>denied<?php } else { ?>denied and user banned<?php } ?></strong> by <span [innerHTML]="application.handler.username"><?php echo returnMaster($link, $ApplicationData['reviewed_by']); ?></span> for the following reason:<br><br> <span style="white-space: pre-wrap"><?php echo $ApplicationData['reason']; ?></span></div>
  89. </div>
  90. </app-info-bar>
  91. <?php
  92. break;
  93. }
  94. case 3:
  95. {
  96. ?>
  97. <app-info-bar _ngcontent-tnh-c169="" type="info" class="cs-1" _nghost-tnh-c215="">
  98. <div _ngcontent-tnh-c215="" class="info infobar">
  99. <div _ngcontent-tnh-c215="" class="icon"><i _ngcontent-tnh-c215="" class="fa fa-exclamation-triangle fa-fw"></i></div>
  100. <div _ngcontent-tnh-c215="" class="message">This application was withdrawn on <?php echo $ApplicationData['date_of_verdict']; ?></div>
  101. </div>
  102. </app-info-bar>
  103. <?php
  104. break;
  105. }
  106. }
  107. ?>
  108. </section>
  109. <section class="cstwothirds transparent nopadding">
  110. <section class="card">
  111. <div class="card-title"> Background Story </div>
  112. <div class="text-block"> <?php echo $ApplicationData['story']; ?> </div>
  113. </section>
  114. <section class="card margin-top-10">
  115. <div class="card-title"> About - OOC </div>
  116. <div class="text-block" style="word-wrap: break-word;"> <strong>Have you got any past RP experience on SA-MP or another game? If past RP experience on SA-MP, what server(s) was it and what was your IG name(s)?</strong><br><?php echo $QuestionData['answer1']; ?><br><br><strong>Explain some roleplaying terms, like metagaming and powergaming, and give examples to each.</strong><br><?php echo $QuestionData['answer2']; ?> </div> </section> </section>
  117. <section class="csthird transparent nopadding text-center"> <img src="/assets/skins_small/<?php echo $ApplicationData['skin']; ?>-240-400.png"> </section>
  118. </div>
  119. </app-settings>
  120. <!---->
  121. <?php
  122. }
  123. else
  124. {
  125. $user_check_query = "SELECT `ID`, `char_name`, `date_of_submit`, `reason`, `status`, `accepted` FROM `application` WHERE `master` = '$playersqlid' ORDER BY ID DESC";
  126. $result = mysqli_query($link, $user_check_query);
  127. $rowcount = $result->num_rows;
  128. if($rowcount > 0)
  129. {
  130. $i = 0;
  131. while($result2 = mysqli_fetch_array($result, MYSQLI_ASSOC))
  132. {
  133. $ApplicationData[$i] = $result2;
  134. $i++;
  135. }
  136. }
  137. ?>
  138. <router-outlet _ngcontent-tnh-c136="" class="router-outlet"></router-outlet>
  139. <app-applications _nghost-tnh-c144="">
  140. <div _ngcontent-tnh-c142="" class="content-header">
  141. <h3>Application History</h3>
  142. </div>
  143. <div _ngcontent-tnh-c142="" class="content">
  144. <div class=" cs-1">
  145. <table class="">
  146. <thead>
  147. <tr>
  148. <th>Application ID</th>
  149. <th>Character Name</th>
  150. <th>Submitted</th>
  151. <th>Status</th>
  152. <th>Reason</th> </tr> </thead>
  153. <tbody>
  154. <?php
  155. if($rowcount > 0)
  156. {
  157. for($i = 0; $i < $rowcount; ++$i)
  158. {
  159. if(strlen($ApplicationData[$i]['reason']) > 10)
  160. {
  161. $verdict = implode(' ', array_slice(explode(' ', $ApplicationData[$i]['reason']), 0, 10)) . " ...";
  162. }
  163. else $verdict = $ApplicationData[$i]['reason'];
  164. if(!strlen($verdict)) $verdict = "N/A";
  165. ?>
  166. <tr *ngFor="let application of applications">
  167. <td onClick="changeCurrentPage('applications', '<?php echo $ApplicationData[$i]['ID']; ?>', 4)"><a href="javascript:void(0);" style="text-decoration: underline"><?php echo $ApplicationData[$i]['ID']; ?></a></td>
  168. <td onClick="changeCurrentPage('applications', '<?php echo $ApplicationData[$i]['ID']; ?>', 4)"><a href="javascript:void(0);"><?php echo $ApplicationData[$i]['char_name']; ?></a></td>
  169. <td><?php echo $ApplicationData[$i]['date_of_submit']; ?></td>
  170. <td><?php echo applicationStatus($ApplicationData[$i]['status'], $ApplicationData[$i]['accepted']); ?></td>
  171. <td><?php echo $verdict; ?></td>
  172. </tr>
  173. <?php
  174. }
  175. }
  176. ?>
  177. </tbody>
  178. </table>
  179. </div>
  180. </div>
  181. </app-applications>
  182. <?php
  183. }
  184. ?>