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.

admin.adddiscount.php 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?PHP
  2. function randLetter($set) {
  3. global $codes;
  4. $num = rand(65,90);
  5. $codes[$set] += $num - 65;
  6. return chr($num);
  7. }
  8. do {
  9. $codes = array();
  10. for ($i = 0; $i < 4; $i++) {
  11. for ($j = 0; $j < 4; $j++) {
  12. $code .= randLetter($i);
  13. }
  14. $code .= '-';
  15. }
  16. for ($i = 0; $i < 4; $i++) {
  17. $code .= chr(($codes[$i] % 26) + 65);
  18. }
  19. $sql = 'SELECT discount_code FROM discounts WHERE discount_code = ';
  20. $sql .= '\'' . m($code) . '\'';
  21. $res = mysql_query($sql) or mf(__FILE__, __LINE__, $sql);
  22. } while (mysql_num_rows($res) != 0);
  23. ?>
  24. <form action="<?PHP echo CP_PATH; ?>admindiscounts" method="post">
  25. <input type="hidden" name="code" value="<?PHP echo $code; ?>">
  26. <div class="block">
  27. <h2>ADMIN: Add discount</h2>
  28. <div class="innerblock">
  29. <p class="blurb">
  30. The discount message may be blank. If non-blank it is displayed immediately
  31. after the discount applied message (so you may want to start messages with
  32. <code>&lt;br&gt;&lt;br&gt;</code> &mdash; HTML is allowed).
  33. </p>
  34. <table class="form leftpad" style="width: auto;">
  35. <tr>
  36. <th>Code</th>
  37. <td><input type="text" name="codeinput" class="inflat" value="<?PHP echo $code; ?>" disabled="disabled" style="width: 352px;"></td>
  38. </tr><tr>
  39. <th>Message</th>
  40. <td><input type="text" name="message" class="inflat" style="width: 352px;"></td>
  41. </tr><tr>
  42. <th>Valid period</th>
  43. <td>
  44. <input type="text" class="inflat" name="from" value="now">
  45. <input type="text" class="inflat" name="to" value="+1 month">
  46. </td>
  47. </tr><tr>
  48. <th>Time</th>
  49. <td>
  50. <input type="text" name="timequant" value="0" class="inflat">
  51. <select name="timeunit" class="inflat">
  52. <option value="1">Seconds</option>
  53. <option value="60">Minutes</option>
  54. <option value="3600">Hours</option>
  55. <option value="86400">Days</option>
  56. <option value="2592000">Months</option>
  57. <option value="31536000">Years</option>
  58. </select>
  59. </tr>
  60. </tr><tr>
  61. <th>Money (pence)</th>
  62. <td><input type="text" name="money" value="0" class="inflat"></td>
  63. </tr><tr>
  64. <th>Type</th>
  65. <td>
  66. <select name="type" class="inflat">
  67. <option value="general">General</option>
  68. <option value="signup">Signup</option>
  69. </select>
  70. </td>
  71. </tr><tr>
  72. <th>Package</th>
  73. <td>
  74. <select name="package" class="inflat">
  75. <?PHP
  76. $sql = 'SELECT package_id, package_name FROM packages ORDER BY package_name';
  77. $res = mysql_query($sql);
  78. while ($row = mysql_fetch_assoc($res)) {
  79. echo '<option value="'.$row['package_id'].'">'.h($row['package_name']);
  80. echo '</option>';
  81. }
  82. ?>
  83. </select>
  84. </td>
  85. </tr><tr>
  86. <td colspan="2" style="text-align: right;">
  87. <input type="reset" value="Reset">
  88. <input type="submit" name="submit" value="Submit">
  89. </td>
  90. </tr>
  91. </table>
  92. </div>
  93. </div>
  94. </form>