PageRenderTime 46ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 1ms

/submitoffer.php

https://github.com/deviltry/qmigo
PHP | 425 lines | 334 code | 40 blank | 51 comment | 11 complexity | 75b7ac3ea3de7b9fe341fd7513b4fdbb MD5 | raw file
  1. <?php
  2. //var_dump($_POST); // troubleshoot what gets submitted to browser
  3. #########################################################
  4. # QMIGO Template
  5. #########################################################
  6. $scriptName = $_SERVER['PHP_SELF'];
  7. $pageTitle = "QMIGO: Make An Offer";
  8. # Get our DB info
  9. require "info.php";
  10. # Get our site info
  11. require "siteinfo.php";
  12. # Make sure we display errors to the browser
  13. error_reporting(E_ALL ^ E_NOTICE);
  14. ini_set('display_errors', 1);
  15. #########################################################
  16. # Initialize a new session or obtain old one if possible
  17. #########################################################
  18. require "info_session.php";
  19. session_name($mySessionName);
  20. session_start();
  21. // echo $_SESSION["userid"] ;
  22. // echo $_SESSION["firstname"] ;
  23. // echo $_SESSION["lastname"] ;
  24. #########################################################
  25. # Go to login page if not logged in
  26. #########################################################
  27. if ($_SESSION["logged-in"]!=1 || $_SESSION["userid"]<1)
  28. { header("Location: login.php?err=notloggedin");
  29. exit;
  30. }
  31. #########################################################
  32. # Connect to the database.
  33. #########################################################
  34. $connection = mysql_connect($mySqlHostname, $mySqlUsername, $mySqlPassword);
  35. if (!$connection)
  36. die("Error " . mysql_errno() . " : " . mysql_error());
  37. # Select the DB
  38. $db_selected = mysql_select_db($mySqlDatabase, $connection);
  39. if (!$db_selected)
  40. die("Error " . mysql_errno() . " : " . mysql_error());
  41. # Submit Button ID
  42. $submitOffer = "DataAction";
  43. # Offer Type - Text Field
  44. $textOfferName = "offer";
  45. $textOfferNameValue = $_POST[$textOfferName];
  46. # Offer Quantity - Text Field
  47. $textOfferQuantityName = "offer_quantity"; //input-name
  48. $textOfferQuantityValue = $_POST[$textOfferQuantityName];
  49. # Offer Start Date - Text Field (JAVASCRIPT pop-up cal)
  50. $offerStartDateName = "date1";
  51. $offerStartDateValue = $_POST[$offerStartDateName];
  52. # Offer Start Time - Select Menu
  53. $offerStartTimeName = "time1";
  54. $offerStartTimeValue = $_POST[$offerStartTimeName];
  55. # Offer Duration Time - Select Menu
  56. $offerDurationName = "duration";
  57. $offerDurationValue = $_POST[$offerDurationName];
  58. # Time Zone - Select Menu
  59. $offerTimeZoneName = "timezone";
  60. $offerTimeZoneValue = $_POST[$offerTimeZoneName];
  61. # Submit Button Name
  62. $submitNewOfferValue = "Submit New Offer";
  63. # This is what it will say on our submit site button
  64. #################### Status variables ################
  65. $statusMsg = " "; # Gives response back to user (i.e. "Thank you for your ...")
  66. $hasErrors = 0; # Keeps track of whether there are input errors
  67. #### ERROR CHECKING IF NECESSARY ###
  68. if ($_POST[$submitOffer]==$submitNewOfferValue)
  69. { # Someone submitted new offer
  70. # Error Checking
  71. $noOffer = 0; # Flag that is set if Offer Field was blank
  72. $noOfferQuantity = 0; # Flag that is set if quantity field was blank
  73. $noDate = 0;
  74. $oldOffer = 0; # Flag set if offer time is past current time
  75. // Offer Named
  76. $offer = trim($textOfferNameValue);
  77. if (empty($offer))
  78. { # If blank, set general error flag, name error flag, and general error message
  79. $hasErrors = 1;
  80. $noOffer = 1;
  81. $statusMsg = "Please name your offer.";
  82. }
  83. // Offer Quantity
  84. $offer_quantity= trim($textOfferQuantityValue);
  85. if (empty($offer_quantity))
  86. { # If blank, set general error flag, name error flag, and general error message
  87. $hasErrors = 1;
  88. $noOfferQuantity= 1;
  89. $statusMsg = "How many offers do you want to post? 1? 2? ";
  90. }
  91. // Offer Date
  92. /// BRIAN CHECK THIS OUT LINES - 123-134 ///
  93. $offer_date = trim($offerStartDateValue).' '.trim($offerStartTimeValue);
  94. $offer_timeUnix = strtotime($offer_date); // Offer Date Time in Unix
  95. echo "Offer-date:". $offer_date . "| ";
  96. echo "offer time in unix". $offer_timeUnix . "| ";
  97. $time = time(); //current server time
  98. echo "time: " . $time . "| "; // server time in Unix Time
  99. if ($time > $offer_timeUnix)
  100. {
  101. // current time is past the date offer
  102. $hasErrors = 1;
  103. $oldOffer = 1 ; // Time has expired
  104. $message = "Please select a current date/time 30 minutes from now.";
  105. }
  106. /// BRIAN CHECK THIS OUT LINES - 123-134 ///
  107. /*
  108. if (empty($offerStartDateValue))
  109. { # If blank, set general error flag, name error flag, and general error message
  110. $hasErrors = 1;
  111. $noOfferDate= 1;
  112. $statusMsg = "When does your offer start? ";
  113. }
  114. */
  115. // Time Duration
  116. $duration= trim($offerDurationValue);
  117. if (empty($duration))
  118. { # If blank, set general error flag, name error flag, and general error message
  119. $hasErrors = 1;
  120. $noOfferDuration= 1;
  121. $statusMsg = "Check your duration time";
  122. }
  123. //Time Zone
  124. $timezone= trim($offerTimeZoneValue);
  125. if (empty($timezone))
  126. { # If blank, set general error flag, name error flag, and general error message
  127. $hasErrors = 1;
  128. $noOfferTimezone= 1;
  129. $statusMsg = "Check your time zone";
  130. }
  131. //var_dump($_POST); // TROUBLE-SHOOTING THE OUTPUT OF THE WEBSITE INPUT VALUES
  132. // print " *** Has errors: $hasErrors **** <br/>";
  133. # NO ERRORS? OK! Put it in the database
  134. if (!$hasErrors)
  135. { # Replace any single quotes in our firstname
  136. $offerDB = str_replace("'", "''", $offer);
  137. $offer_quantityDB = $offer_quantity;
  138. // $date1DB = $date1;
  139. // $starttimeDB = $starttime;
  140. $durationDB = $duration;
  141. //$timezoneDB = $timezone;
  142. // echo $textOfferQuantityValue;
  143. // echo $_SESSION["vendor_email"] ;
  144. #Create the SQL query //
  145. $SqlStatement = "INSERT INTO qmigo_offers(offer,offer_quantity,offer_time, duration, timezone, offer_expire, vendor_id)
  146. VALUES ('$offerDB','$offer_quantityDB','$offer_date', '$durationDB', ' $timezone', DATE_ADD('$offer_date', INTERVAL '$durationDB' HOUR), ". $_SESSION['userid'] . ")";
  147. # Ex: DATE_ADD('2000-12-31 23:59:59', INTERVAL 1 SECOND);
  148. print "$SqlStatement <br/>"; // troubleshooting
  149. # Run the query on the database through the connection
  150. $result = mysql_query($SqlStatement, $connection);
  151. if (!$result)
  152. die("Error " . mysql_errno() . " : " . mysql_error());
  153. $statusMsg = "<span class='highlight'> Hola! Thank you for submitting your offer at QMIGO!</span>";
  154. # Reset the text widgets to accept input once again for the next submission
  155. $textOfferValue = "";
  156. $textQuantityValue = "";
  157. }
  158. }
  159. ?>
  160. <html>
  161. <head>
  162. <link rel="stylesheet" href="qmigo.css" type="text/css" media="all" />
  163. <SCRIPT LANGUAGE="JavaScript" SRC="CalendarPopup.js"></SCRIPT>
  164. <SCRIPT LANGUAGE="JavaScript">
  165. function checkdate(){
  166. var time = Date.getTime();
  167. var formTime = Date.parse(document.entry.<?= $offerStartDateName ?>.value);
  168. formTime = Date.setTime(formTime);
  169. if(formTime < Date.setTime(Date.getTime()+ 1800000){
  170. document.entry.<?= $offerStartDateName ?>.value = "";
  171. alert("please enter a time a least 30 minutes from now");
  172. }
  173. }
  174. var cal = new CalendarPopup();
  175. </SCRIPT>
  176. </head>
  177. <body>
  178. <div id="wrapper">
  179. <div class="titlebox" style="margin-left: 50px">
  180. <img src="images/qmigo_logo2.png" />
  181. </div>
  182. <div id="container" style="margin-left: 30px";>
  183. <div class="navbox" style="margin-left: 30px">
  184. <br />
  185. <?
  186. if ($statusMsg!="")
  187. {
  188. echo "<b>$statusMsg</b> <br/><br/>";
  189. }
  190. ?>
  191. <h1> Make a Special Offer </h1>
  192. <hr size=1 color="#000000">
  193. <!-- SUBMIT FORM STARTS HERE-->
  194. <form action="<?PHP echo $scriptName ?>" method="POST" name="entry" enctype="application/x-www-form-urlencoded" onsubmit = 'checkdate();'>
  195. What do you want to offer?
  196. <br />Drinks? Tapas? Cupcakes?
  197. <br />
  198. <input type="text" name="<?= $textOfferName ?>">
  199. <br />
  200. Quantity (numbers only):
  201. <br />
  202. <input type="text" name="<?= $textOfferQuantityName ?>">
  203. <br />
  204. Date: YYYY/MM/DD<br />
  205. <!-- javascript calendar goes into popup window -->
  206. <INPUT TYPE="text" NAME="<?= $offerStartDateName ?>" VALUE="" SIZE=25>
  207. <A HREF="#"
  208. onClick="cal.select(document.forms['entry'].<?= $offerStartDateName ?>,'anchor1','yyyy-MM-dd'); return false;"
  209. NAME="anchor1" ID="anchor1">Calendar Pop-Up</A>
  210. <br />
  211. Start Time:<br />
  212. <!-- MYSQL offer_time = date + time fields -->
  213. <select name="<?= $offerStartTimeName ?>"> <!--create time drop-down with php -->
  214. <option value="00:00:00">12:00 AM</option>
  215. <option value="00:15:00">12:15 AM</option>
  216. <option value="00:30:00">12:30 AM</option>
  217. <option value="00:45:00">12:45 AM</option>
  218. <option value="01:00:00">01:00 AM</option>
  219. <option value="01:15:00">01:15 AM</option>
  220. <option value="01:30:00">01:30 AM</option>
  221. <option value="01:45:00">01:45 AM</option>
  222. <option value="02:00:00">02:00 AM</option>
  223. <option value="02:15:00">02:15 AM</option>
  224. <option value="02:30:00">02:30 AM</option>
  225. <option value="02:45:00">02:45 AM</option>
  226. <option value="03:00:00">03:00 AM</option>
  227. <option value="03:15:00">03:15 AM</option>
  228. <option value="03:30:00">03:30 AM</option>
  229. <option value="03:45:00">03:45 AM</option>
  230. <option value="04:00:00">04:00 AM</option>
  231. <option value="04:15:00">04:15 AM</option>
  232. <option value="04:30:00">04:30 AM</option>
  233. <option value="04:45:00">04:45 AM</option>
  234. <option value="05:00:00">05:00 AM</option>
  235. <option value="05:15:00">05:15 AM</option>
  236. <option value="05:30:00">05:30 AM</option>
  237. <option value="05:45:00">05:45 AM</option>
  238. <option value="06:00:00">06:00 AM</option>
  239. <option value="06:15:00">06:15 AM</option>
  240. <option value="06:30:00">06:30 AM</option>
  241. <option value="06:45:00">06:45 AM</option>
  242. <option value="07:00:00">07:00 AM</option>
  243. <option value="07:15:00">07:15 AM</option>
  244. <option value="07:30:00">07:30 AM</option>
  245. <option value="07:45:00">07:45 AM</option>
  246. <option value="08:00:00">08:00 AM</option>
  247. <option value="08:15:00">08:15 AM</option>
  248. <option value="08:30:00">08:30 AM</option>
  249. <option value="08:45:00">08:45 AM</option>
  250. <option value="09:00:00">09:00 AM</option>
  251. <option value="09:15:00">09:15 AM</option>
  252. <option value="09:30:00">09:30 AM</option>
  253. <option value="09:45:00">09:45 AM</option>
  254. <option value="10:00:00">10:00 AM</option>
  255. <option value="10:15:00">10:15 AM</option>
  256. <option value="10:30:00">10:30 AM</option>
  257. <option value="10:45:00">10:45 AM</option>
  258. <option value="11:00:00">11:00 AM</option>
  259. <option value="11:15:00">11:15 AM</option>
  260. <option value="11:30:00">11:30 AM</option>
  261. <option value="11:45:00">11:45 AM</option>
  262. <option value="12:00:00">12:00 PM</option>
  263. <option value="12:15:00">12:15 PM</option>
  264. <option value="12:30:00">12:30 PM</option>
  265. <option value="12:45:00">12:45 PM</option>
  266. <option value="13:00:00">13:00 PM</option>
  267. <option value="13:15:00">13:15 PM</option>
  268. <option value="13:30:00">13:30 PM</option>
  269. <option value="13:45:00">13:45 PM</option>
  270. <option value="14:00:00">14:00 PM</option>
  271. <option value="14:15:00">14:15 PM</option>
  272. <option value="14:30:00">14:30 PM</option>
  273. <option value="14:45:00">14:45 PM</option>
  274. <option value="15:00:00">15:00 PM</option>
  275. <option value="15:15:00">15:15 PM</option>
  276. <option value="15:30:00">15:30 PM</option>
  277. <option value="15:45:00">15:45 PM</option>
  278. <option value="16:00:00">16:00 PM</option>
  279. <option value="16:15:00">16:15 PM</option>
  280. <option value="16:30:00">16:30 PM</option>
  281. <option value="16:45:00">16:45 PM</option>
  282. <option value="17:00:00">17:00 PM</option>
  283. <option value="17:15:00">17:15 PM</option>
  284. <option value="17:30:00">17:30 PM</option>
  285. <option value="17:45:00">17:45 PM</option>
  286. <option value="18:00:00">18:00 PM</option>
  287. <option value="18:15:00">18:15 PM</option>
  288. <option value="18:30:00">18:30 PM</option>
  289. <option value="18:45:00">18:45 PM</option>
  290. <option value="19:00:00">19:00 PM</option>
  291. <option value="19:15:00">19:15 PM</option>
  292. <option value="19:30:00">19:30 PM</option>
  293. <option value="19:45:00">19:45 PM</option>
  294. <option value="20:00:00">20:00 PM</option>
  295. <option value="20:15:00">20:15 PM</option>
  296. <option value="20:30:00">20:30 PM</option>
  297. <option value="20:45:00">20:45 PM</option>
  298. <option value="21:00:00">21:00 PM</option>
  299. <option value="21:15:00">21:15 PM</option>
  300. <option value="21:30:00">21:30 PM</option>
  301. <option value="21:45:00">21:45 PM</option>
  302. <option value="22:00:00">22:00 PM</option>
  303. <option value="22:15:00">22:15 PM</option>
  304. <option value="22:30:00">22:30 PM</option>
  305. <option value="22:45:00">22:45 PM</option>
  306. <option value="23:00:00">23:00 PM</option>
  307. <option value="23:15:00">23:15 PM</option>
  308. <option value="23:30:00">23:30 PM</option>
  309. <option value="23:45:00">23:45 PM</option>
  310. </select>
  311. <br />
  312. Duration of Offer:<br />
  313. <select name="<?PHP echo $offerDurationName ?>"> <!-- duration availability drop-down with php -->
  314. <option value="1">1 HR</option>
  315. <option value="2">2 HR </option>
  316. <option value="3">3 HR </option>
  317. <option value="4">4 HR </option>
  318. <option value="5">5 HR </option>
  319. <option value="6">6 HR </option>
  320. <option value="7">7 HR </option>
  321. <option value="8">8 HR </option>
  322. <option value="9">9 HR </option>
  323. <option value="10">10 HR </option>
  324. <option value="11">11 HR </option>
  325. <option value="12">12 HR </option>
  326. </select>
  327. <br />
  328. Time Zone:<br />
  329. <select name="<?PHP echo $offerTimeZoneName ?>"> <!-- Time Zone -->
  330. <option value="3">EST</option>
  331. <option value="2">CST</option>
  332. <option value="1">MST</option>
  333. <option value="0">PST </option>
  334. </select>
  335. <br /><br />
  336. <input type="submit" name="<?PHP echo $submitOffer ?>" value="<?PHP echo $submitNewOfferValue ?>">
  337. </form>
  338. <br />
  339. <?
  340. #########################################################
  341. # Write end HTML here
  342. #########################################################
  343. include "footer.php";
  344. #########################################################
  345. # Disconnect from the database.
  346. #########################################################
  347. mysql_close($connection);
  348. ?>