PageRenderTime 70ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 1ms

/app/controllers/tickets_controller.php

https://bitbucket.org/fxrialab/tickets
PHP | 2446 lines | 1956 code | 386 blank | 104 comment | 390 complexity | f9da7d3a0251fbe1f880afa9337551a7 MD5 | raw file
Possible License(s): LGPL-2.1, AGPL-1.0, GPL-2.0, MIT
  1. <?
  2. class TicketsController extends AppController {
  3. var $name='Tickets';
  4. var $helpers = array('Html','javascript','error','Ajax','common','Phoogle', 'Form','Friendsurl','Newexcel');
  5. var $components = array('Thumbnail','Thumbnailc','Upload','Sendmail','Mysqllocker','Download');
  6. var $uses=array('Ticket','User','Ticket_carts','PaymentTransaction');
  7. function index($uid=null,$keyuserId=null) {
  8. $this->pageTitle = 'Tickets Home';
  9. $this->layout = 'tickethome';
  10. if(!isset($_SESSION['UserId']) && $keyuserId && $uid ) {
  11. $uid = base64_decode($uid);
  12. if(md5('checklogin'.$uid)==$keyuserId) {
  13. $this->login_again($uid);
  14. }
  15. }
  16. $this->homepageslideInfo('Tickets');
  17. $this->ticketCategory();
  18. ################################## Event Location ##########################
  19. /* Turn oN the session for the project state and country*/
  20. if(isset($_SESSION['UserId'])) {
  21. $sql = "SELECT * FROM ticket_carts WHERE user_id='".$_SESSION['UserId']."' AND pay_status='0'";
  22. $result = mysql_query($sql);
  23. while($row = mysql_fetch_array($result)) {
  24. //delete cart
  25. mysql_query("DELETE FROM ticket_cart_details WHERE cart_id='".$row['id']."'") or die(mysql_error());
  26. mysql_query("DELETE FROM ticket_seat_booked WHERE cart_id='".$row['id']."'") or die(mysql_error());
  27. mysql_query("DELETE FROM ticket_carts WHERE id='".$row['id']."'") or die(mysql_error());
  28. }
  29. $userCountry = "select user_details.c_id , countries.country_name ,state.Name, user_details.state, user_details.city , CONCAT_WS(',',city_master.city_name,state.Name,countries.country_name) as CurrentLocation from user_details LEFT JOIN countries On countries.id = user_details.c_id LEFT JOIN state ON state.id = user_details.state LEFT JOIN city_master ON user_details.city = city_master.city_id where user_details.user_id= ".$_SESSION['UserId']." ";
  30. $userCountry_res = mysql_query($userCountry);
  31. if(($userCountry_arr = mysql_fetch_array($userCountry_res))) {
  32. if(!isset($_SESSION['PrjUserCityName'])) {
  33. $this->Session->write('PrjUserCityName', $userCountry_arr['city']);
  34. $this->Session->write('PrjUserCityId', $userCountry_arr['city']);
  35. }
  36. if(!isset($_SESSION['PrjUserStateId'])) {
  37. $this->Session->write('PrjUserStateId', $userCountry_arr['state']);
  38. $this->Session->write('PrjUserStateName', $userCountry_arr['Name']);
  39. }
  40. if(!isset($_SESSION['PrjUserCountryId'])) {
  41. $this->Session->write('PrjUserCountryId', $userCountry_arr['c_id']);
  42. $this->Session->write('PrjUserCountryName', $userCountry_arr['country_name']);
  43. }
  44. if(!isset($_SESSION['PrjUserLocation'])) {
  45. $locstr=$userCountry_arr['CurrentLocation'];
  46. // $locstr='';
  47. // if($_SESSION['PrjUserStateName']!="")
  48. // $locstr.=$_SESSION['PrjUserStateName'].',' ;
  49. //
  50. // if($_SESSION['PrjUserCountryName']!="")
  51. // $locstr.= $_SESSION['PrjUserCountryName'].',' ;
  52. $this->Session->write('PrjUserLocation',substr($locstr,0,(strlen($locstr)-1)));
  53. }
  54. }
  55. }
  56. else {
  57. $check = false;
  58. if(!isset($_SESSION['PrjUserCountryId'])) {
  59. $this->Session->write('PrjUserCityId', 14967);
  60. $this->Session->write('PrjUserStateId', 168);
  61. $this->Session->write('PrjUserCountryId', 254);
  62. }
  63. if(isset($_SESSION['PrjUserCityId']) && isset($_SESSION['PrjUserStateId']) && isset($_SESSION['PrjUserCountryId'])) {
  64. $sql = "SELECT CONCAT_WS(', ',city_master.city_name,state.Name,countries.country_name) as CurrentLocation, city_master.city_name as CityName, state.Name as StateName,countries.country_name
  65. FROM countries
  66. LEFT JOIN state ON (state.id='".$_SESSION['PrjUserStateId']."' AND state.c_id=countries.id)
  67. LEFT JOIN city_master ON (city_master.city_id='".$_SESSION['PrjUserCityId']."' AND city_master.CountryID=countries.id AND city_master.state_id=state.id)
  68. WHERE countries.id='".$_SESSION['PrjUserCountryId']."' ";
  69. $userCountry_res = mysql_query($sql);
  70. if(($userCountry_arr = mysql_fetch_array($userCountry_res))) {
  71. $this->Session->write('PrjUserCityName', $userCountry_arr['CityName']);
  72. $this->Session->write('PrjUserStateName', $userCountry_arr['StateName']);
  73. $this->Session->write('PrjUserCountryName', $userCountry_arr['country_name']);
  74. $this->Session->write('PrjUserLocation',$userCountry_arr['CurrentLocation']);
  75. $check = true;
  76. }
  77. }
  78. if(!$check) {
  79. $userCountry = "select countries.id , countries.country_name from countries Where countries.id = '6'";
  80. $userCountry_res = mysql_query($userCountry);
  81. if(($userCountry_arr = mysql_fetch_array($userCountry_res))) {
  82. if(!isset($_SESSION['PrjUserCityName'])) {
  83. $this->Session->write('PrjUserCityName', '');
  84. $this->Session->write('PrjUserCityId', 0);
  85. }
  86. if(!isset($_SESSION['PrjUserStateId'])) {
  87. $this->Session->write('PrjUserStateId', 0);
  88. $this->Session->write('PrjUserStateName', '');
  89. }
  90. if(!isset($_SESSION['PrjUserCountryId'])) {
  91. $this->Session->write('PrjUserCountryId', $userCountry_arr['id']);
  92. $this->Session->write('PrjUserCountryName', $userCountry_arr['country_name']);
  93. }
  94. $locstr='';
  95. if(isset($_SESSION['PrjUserCityName']) && $_SESSION['PrjUserCityName']!="")
  96. $locstr.=$_SESSION['PrjUserCityName'] ;
  97. if(isset($_SESSION['PrjUserStateName']) && $_SESSION['PrjUserStateName']!="")
  98. $locstr.=', '.$_SESSION['PrjUserStateName'] ;
  99. if(isset($_SESSION['PrjUserCountryName']) && $_SESSION['PrjUserCountryName']!="")
  100. $locstr.= $_SESSION['PrjUserCountryName'] ;
  101. $this->Session->write('PrjUserLocation',$locstr);
  102. }
  103. }
  104. }
  105. ###########################################################################
  106. }
  107. function changelocation() {
  108. /* Turn oN the session for the project state and country*/
  109. $userCountry = "select IFNULL(countries.id,0) as countryId , IFNULL(countries.country_name,'') as countryName ,IFNULL(state.Name,'')as StateName, IFNULL(state.id,0) as StateId, IFNULL(city_master.city_id,0) as CityId , IFNULL(city_master.city_name,'')as CityName from countries LEFT JOIN state ON state.c_id = countries.id and state.id = ".$_REQUEST['province']." LEFT JOIN city_master ON state_id = state.id and city_id = ".$_REQUEST['city']." where countries.id = ".$_REQUEST['country']."";
  110. $userCountry_res = mysql_query($userCountry)or die(mysql_error());
  111. if(($userCountry_arr = mysql_fetch_array($userCountry_res))) {
  112. $this->Session->write('PrjUserCityName', $userCountry_arr['CityName']);
  113. $this->Session->write('PrjUserCityId', $userCountry_arr['CityId']);
  114. $this->Session->write('PrjUserStateId', $userCountry_arr['StateId']);
  115. $this->Session->write('PrjUserStateName', $userCountry_arr['StateName']);
  116. $this->Session->write('PrjUserCountryId', $userCountry_arr['countryId']);
  117. $this->Session->write('PrjUserCountryName', $userCountry_arr['countryName']);
  118. $strloc = '';
  119. if($userCountry_arr['CityName']!='') {
  120. $strloc .= $userCountry_arr['CityName'].', ' ;
  121. }
  122. if($userCountry_arr['StateName']!='') {
  123. $strloc .= $userCountry_arr['StateName'].', ' ;
  124. }
  125. if($userCountry_arr['countryName']!='') {
  126. $strloc .= $userCountry_arr['countryName'] ;
  127. }
  128. $this->Session->write('PrjUserLocation',$strloc);
  129. }
  130. $this->redirect('tickets');
  131. }
  132. function ticketCategory() {
  133. $evtcat = array();
  134. $evtcat['0']="Select Category";
  135. $select_ticket_cat = mysql_query("Select * from ticket_event_category");
  136. while($select_ticket_cat_arr = mysql_fetch_array($select_ticket_cat)) {
  137. $evtcat[$select_ticket_cat_arr['id']] = $select_ticket_cat_arr['cat_name'];
  138. }
  139. $this->set('ticketcat',$evtcat);
  140. }
  141. function recentticket() {
  142. $this->layout = 'profile_blank';
  143. $this->ticketCategory();
  144. $curDate=date("Y-m-d");
  145. if(isset($_SESSION['PrjUserCityId']))
  146. $city=$_SESSION['PrjUserCityId'];
  147. if(isset($_SESSION['PrjUserStateId']))
  148. $state=$_SESSION['PrjUserStateId'];
  149. if(isset($_SESSION['PrjUserCountryId']))
  150. $country=$_SESSION['PrjUserCountryId'];
  151. $pageFlag=null;
  152. $select="SELECT T.* ,TV.id tvId,TV.venue_name venueName,USR.username,USR.id as postedbyuser,TCAT.id as ticketcategoryId ,TCAT.cat_name as ticketcategory";
  153. $from=" FROM tickets T
  154. LEFT JOIN ticket_event_venue TV ON (T.ticket_venue_section_id=TV.id)
  155. LEFT JOIN ticket_event_category TCAT ON (T.ticket_category_id=TCAT.id)
  156. LEFT JOIN users USR ON (T.user_id=USR.id)
  157. ";
  158. $where="WHERE T.is_temp='0' AND (NOW() < ticevent_enddate) AND parent_id=0";
  159. if(isset($city) && $city!=0)
  160. $where.=" AND TV.venue_city_id='".$city."'";
  161. if(isset($state) && $state!=0)
  162. $where.=" AND TV.venue_state_id='".$state."'";
  163. if(isset($country) && $country!=0)
  164. $where.=" AND TV.venue_country_id='".$country."'";
  165. $where.=" ORDER BY T.ticevent_startdate ";
  166. $CountField='T.id';
  167. $SelectRecord = mysql_query("$select $from $where LIMIT 12") or die('Line no '.__LINE__ . mysql_error());
  168. $this->set("ticketQry",$SelectRecord);
  169. $this->render('hotticket','ajax');
  170. }
  171. function category() {
  172. $catid=0;
  173. $searchpass ='';
  174. $this->layout = 'ticketdetail';
  175. $this->ticketCategory();
  176. $curDate=date("Y-m-d");
  177. $select="SELECT T.* ,TV.id tvId,TV.venue_name venueName,USR.username,USR.id as postedbyuser,TCAT.id as ticketcategoryId ,TCAT.cat_name as ticketcategory";
  178. $from=" FROM tickets T
  179. LEFT JOIN ticket_event_venue TV ON (T.ticket_venue_section_id=TV.id)
  180. LEFT JOIN ticket_event_category TCAT ON (T.ticket_category_id=TCAT.id)
  181. LEFT JOIN users USR ON (T.user_id=USR.id)
  182. ";
  183. $where="WHERE T.is_temp='0' AND (NOW() < ticevent_enddate) AND parent_id>0";
  184. if(isset($this->params['pass']['0'])) {
  185. $catid=base64_decode($this->params['pass']['0']);
  186. }
  187. if(isset($this->data['Ticket']['ticketcat']) && $this->data['Ticket']['ticketcat']>0) {
  188. $catid = $this->data['Ticket']['ticketcat'];
  189. }
  190. if(isset($_REQUEST['catid']) && $_REQUEST['catid']!='') {
  191. $catid = $_REQUEST['catid'];
  192. }
  193. if(isset($this->data['Ticket']['srchtect']) && $this->data['Ticket']['srchtect']!="" && $this->data['Ticket']['srchtect']!="Event name or zip") {
  194. $srchtect = addslashes($this->data['Ticket']['srchtect']);
  195. }
  196. if(isset($_REQUEST['srchtect']) && $_REQUEST['srchtect']!='') {
  197. $srchtect = addslashes($_REQUEST['srchtect']);
  198. }
  199. if(isset($this->data['Ticket']['srchdate']) && $this->data['Ticket']['srchdate']!=0) {
  200. $ticDate = $this->data['Ticket']['srchdate'];
  201. }
  202. if(isset($_REQUEST['ticDate']) && $_REQUEST['ticDate']!='') {
  203. $ticDate = $_REQUEST['ticDate'];
  204. }
  205. if(isset($_SESSION['PrjUserCityId']))
  206. $city=$_SESSION['PrjUserCityId'];
  207. if(isset($_SESSION['PrjUserStateId']))
  208. $state=$_SESSION['PrjUserStateId'];
  209. if(isset($_SESSION['PrjUserCountryId']))
  210. $country=$_SESSION['PrjUserCountryId'];
  211. if(isset($catid) && $catid>0) {
  212. $where.= " AND T.ticket_category_id='".$catid."' ";
  213. }
  214. if(isset($city) && $city!=0)
  215. $where.=" AND TV.venue_city_id='".$city."'";
  216. if(isset($state) && $state!=0)
  217. $where.=" AND TV.venue_state_id='".$state."'";
  218. if(isset($country) && $country!=0)
  219. $where.=" AND TV.venue_country_id='".$country."'";
  220. if(isset($srchtect) && $srchtect!='') {
  221. $where.= " AND ( T.ticevent_name LIKE '%".$srchtect."%' OR (TV.venue_zip!=0 AND TV.venue_zip='".$srchtect."')) ";
  222. $searchpass .= '&srchtect='.$srchtect;
  223. }
  224. if(isset($ticDate) && $ticDate!='') {
  225. $where.=" AND T.ticevent_startdate<='".$ticDate."'";
  226. $searchpass .= '&ticDate='.$ticDate;
  227. }
  228. $others = 'ORDER BY T.ticevent_startdate';
  229. $this->set('catid',$catid);
  230. $PassParameter='catid='.$catid.$searchpass;
  231. $CountField="T.id";
  232. $this->set("controller","tickets");
  233. $this->set("action","category");
  234. $this->set("parameter",$PassParameter);
  235. $this->set('elementsUpdate',array('backdroplist','relatedevent'));
  236. $this->pagination($select,$from,$where,$others,$CountField,$this->params['url'],$PassParameter);
  237. if(isset($this->params['url']['Page']) || isset($_REQUEST['form_ajax']) ) {
  238. $this->render("category2","ajax");
  239. }
  240. }
  241. function saveperformer() {
  242. $inserintoperfomer_id =0;
  243. if(isset($_POST['add']) && $_POST['add']==1) {
  244. $sql = "INSERT INTO ticket_event_performer SET user_id='".$_SESSION['UserId']."'";
  245. mysql_query($sql);
  246. $inserintoperfomer_id = mysql_insert_id();
  247. }else if(isset($_POST['deleteorg']) && isset($_POST['oid']) && $_POST['deleteorg']==1) {
  248. $sql = "DELETE FROM ticket_event_performer WHERE id='".$_POST['oid']."'";
  249. mysql_query($sql);
  250. $inserintoperfomer_id = $_POST['oid'];
  251. }
  252. else if(isset($_POST['editorg']) && isset($_POST['oid']) && $_POST['editorg']==1 && $_POST['oid']!=0) {
  253. $sql = "UPDATE ticket_event_performer SET performer_name='".addslashes($_POST['name'])."' , perfomer_desc = '".addslashes($_POST['description'])."', performer_phone = '".addslashes($_POST['phone'])."', performer_email = '".addslashes($_POST['email'])."'
  254. , performer_address = '".addslashes($_POST['address'])."', performer_zip = '".addslashes($_POST['zip'])."', performer_country='".$_POST['country']."', performer_state='".$_POST['state']."', performer_city='".$_POST['city']."'
  255. WHERE id='".addslashes($_POST['oid'])."' AND user_id='".$_SESSION['UserId']."'";
  256. mysql_query($sql) or die($sql);
  257. $inserintoperfomer_id = $_POST['oid'];
  258. }
  259. $this->set('id',$inserintoperfomer_id);
  260. }
  261. function create($tidCopy=null) {
  262. //$this->checkSession();
  263. $this->layout = 'ticket_create';
  264. if(!isset($_SESSION['UserId'])) {
  265. //$this->Session->write('actContinue','tickets/create');
  266. }else {
  267. $this->set('countrylist',$this->getCountryList());
  268. $sql = "SELECT * FROM ticket_event_performer WHERE user_id='".$_SESSION['UserId']."' AND blocked='0'";
  269. $this->set('performerlist',mysql_query($sql));
  270. $this->ticketCategory();
  271. $this->set('stateList',array('0'=>'Select State'));
  272. $this->set('cityList',array('0'=>'Select City'));
  273. $ticketsql_id=0;
  274. if(isset($_POST['t']) && md5(md5('save'))==$_POST['t']) {
  275. if(isset($_POST['tid']) && $_POST['tid']!='') {
  276. $ticketsql_id = base64_decode($_POST['tid']);
  277. $sql = 'SELECT * FROM tickets WHERE id="'.$ticketsql_id.'" AND user_id="'.$_SESSION['UserId'].'"';
  278. $result = mysql_query($sql);
  279. if(($row=mysql_fetch_array($result))) {
  280. //update ticket_event_venue
  281. $ticket_venue_section_id = $row['ticket_venue_section_id'];
  282. $sql = "UPDATE ticket_event_venue SET venue_name='".addslashes($_REQUEST['venue_name'])."' , venue_desc = '',venue_address='".addslashes($_REQUEST['address_1'])."',
  283. venue_city_id='".$_REQUEST['city']."',venue_state_id='".$_REQUEST['province']."',venue_country_id='".$_REQUEST['country']."',venue_zip='".$_REQUEST['postal_code']."', venue_phone='".$_REQUEST['phone']."'
  284. WHERE id='".$ticket_venue_section_id."'";
  285. mysql_query($sql) or die(mysql_error());
  286. }
  287. }
  288. if(!isset($ticket_venue_section_id) || $ticket_venue_section_id==0) {
  289. //save venue
  290. $sql = "Insert Into ticket_event_venue SET user_id='".$_SESSION['UserId']."' , venue_name='".addslashes($_REQUEST['venue_name'])."' , venue_desc = '',venue_address='".addslashes($_REQUEST['address_1'])."',
  291. venue_city_id='".$_REQUEST['city']."',venue_state_id='".$_REQUEST['province']."',venue_country_id='".$_REQUEST['country']."',venue_zip='".$_REQUEST['postal_code']."', venue_phone='".$_REQUEST['phone']."' ";
  292. mysql_query($sql) or die(mysql_error());
  293. $ticket_venue_section_id = mysql_insert_id();
  294. }
  295. if($ticketsql_id!='' && $ticketsql_id!=0) {
  296. $ticketsql = "UPDATE tickets SET
  297. ticevent_name = '".addslashes($_POST['evname'])."', paypal_email = '".addslashes($_POST['paypal_email'])."',
  298. ticket_category_id='".$_POST['channels']."',
  299. ticevent_desc='".addslashes($_POST['description'])."', ticevent_terms='".addslashes($_POST['terms'])."',
  300. ticket_event_performer_id='".$_POST['savedOrganizers']."', ticket_venue_section_id='".$ticket_venue_section_id."',
  301. ticket_ship_master_id='1', user_id='".$_SESSION['UserId']."',
  302. ticevent_image='".addslashes($_POST['image'])."', ticevent_logoimage='".addslashes($_POST['logo'])."',
  303. is_featured='0', is_hotlisted='0',
  304. timezone_id='".addslashes($_POST['timezone'])."',
  305. ticket_tags='".addslashes($_POST['tags'])."', is_show_remaining='".(isset($_POST['show_remaining'])?1:0)."',
  306. is_temp='".$_POST['is_temp']."', seating_type='".$_POST['seating_type']."', is_public='".(isset($_POST['show_public'])?1:0)."'
  307. ".(!isset($_POST['show_public']) ? ", password_private='".$_POST['password_private']."'" : '')."
  308. WHERE id='".$ticketsql_id."' ";
  309. //ticevent_startdate='".$start_date."', ticevent_enddate='".$end_date."', ticket_dooropen='".$dooropen."',
  310. mysql_query($ticketsql) or die($ticketsql);
  311. }else {
  312. $ticketsql = "INSERT INTO tickets SET
  313. ticevent_name = '".addslashes($_POST['evname'])."', paypal_email = '".addslashes($_POST['paypal_email'])."',
  314. ticket_category_id='".$_POST['channels']."',
  315. ticevent_desc='".addslashes($_POST['description'])."', ticevent_terms='".addslashes($_POST['terms'])."',
  316. ticket_event_performer_id='".$_POST['savedOrganizers']."', ticket_venue_section_id='".$ticket_venue_section_id."',
  317. ticket_ship_master_id='1', user_id='".$_SESSION['UserId']."',
  318. ticevent_image='".addslashes($_POST['image'])."', ticevent_logoimage='".addslashes($_POST['logo'])."',
  319. is_featured='0', is_hotlisted='0',
  320. timezone_id='".addslashes($_POST['timezone'])."',
  321. ticket_tags='".addslashes($_POST['tags'])."', is_show_remaining='".(isset($_POST['show_remaining'])?1:0)."',
  322. is_temp='".$_POST['is_temp']."', seating_type='".$_POST['seating_type']."', is_public='".(isset($_POST['show_public'])?1:0)."'
  323. ".(!isset($_POST['show_public']) ? ", password_private='".$_POST['password_private']."'" : '');
  324. mysql_query($ticketsql) or die($ticketsql);
  325. $ticketsql_id = mysql_insert_id();
  326. }
  327. //update datetime
  328. foreach($_REQUEST['customDates'] as $key=>$value){
  329. $customDates = split('startDate', $value);
  330. $start_date = $customDates[0];
  331. $customDates = $customDates[1];
  332. $customDates = split('startTime', $customDates);
  333. $start_time = $customDates[0];
  334. $customDates = $customDates[1];
  335. $customDates = split('endDate', $customDates);
  336. $end_date = $customDates[0];
  337. $customDates = $customDates[1];
  338. $customDates = split('endTime', $customDates);
  339. $end_time = $customDates[0];
  340. $dooropen = $customDates[1];
  341. $start_date = split('/', $start_date);
  342. $start_date = $start_date[2].'-'.$start_date[0].'-'.$start_date[1].' '.$start_time;
  343. $end_date = split('/', $end_date);
  344. $end_date = $end_date[2].'-'.$end_date[0].'-'.$end_date[1].' '.$end_time;
  345. $sql = "UPDATE tickets SET ticevent_startdate='".$start_date."', ticevent_enddate='".$end_date."', ticket_dooropen='".$dooropen."'
  346. WHERE id='".$key."'";
  347. mysql_query($sql) or die($sql);
  348. }
  349. //update for children
  350. //get list id children
  351. $sql = "SELECT id FROM tickets WHERE parent_id='".$ticketsql_id."'";
  352. $result = mysql_query($sql);
  353. $listid = array();
  354. while($row=mysql_fetch_array($result)){
  355. $listid[] = $row['id'];
  356. }
  357. if(count($listid)>0){
  358. //info ticket parent
  359. $sql = "SELECT * FROM tickets WHERE id='".$ticketsql_id."'";
  360. $result = mysql_query($sql);
  361. $parent = mysql_fetch_array($result);
  362. //update information public
  363. $ticketsql = "UPDATE tickets SET
  364. ticevent_name = '".$parent['ticevent_name']."', paypal_email = '".$parent['paypal_email']."',
  365. ticket_category_id='".$parent['ticket_category_id']."',
  366. ticevent_desc='".$parent['ticevent_desc']."', ticevent_terms='".$parent['ticevent_terms']."',
  367. ticket_event_performer_id='".$parent['ticket_event_performer_id']."', ticket_venue_section_id='".$parent['ticket_venue_section_id']."',
  368. ticket_ship_master_id='1', user_id='".$parent['user_id']."',
  369. ticevent_image='".$parent['ticevent_image']."', ticevent_logoimage='".$parent['ticevent_logoimage']."',
  370. is_featured='0', is_hotlisted='0',
  371. timezone_id='".$parent['timezone_id']."',
  372. ticket_tags='".$parent['ticket_tags']."', is_show_remaining='".$parent['is_show_remaining']."',
  373. is_temp='".$parent['is_temp']."', seating_type='".$parent['seating_type']."', is_public='".$parent['is_public']."',
  374. password_private='".$parent['password_private']."'
  375. WHERE id IN (".join(',',$listid).") ";
  376. mysql_query($ticketsql) or die($ticketsql);
  377. //update product
  378. if($parent['seating_type']==0){
  379. $sql = "SELECT * FROM tickets_product WHERE tickets_id='".$parent['id']."'";
  380. $result = mysql_query($sql) or die($sql);
  381. while($p = mysql_fetch_array($result)){
  382. foreach($listid as $ticket_child){
  383. $sql = "SELECT * FROM tickets_product WHERE tickets_id='".$ticket_child."' AND seat_name='".$p['seat_name']."' ";
  384. $result_p = mysql_query($sql) or die($sql);
  385. if(!($row=mysql_fetch_array($result_p))){
  386. $sql = "INSERT tickets_product SET tickets_id='".$ticket_child."', seat_name='".$p['seat_name']."',
  387. seat_qty='".$p['seat_qty']."', seat_price='".$p['seat_price']."',color='".$p['color']."',
  388. enabled='".$p['enabled']."', handicap='".$p['handicap']."' ";
  389. mysql_query($sql) or die($sql);
  390. }
  391. }
  392. }
  393. }
  394. }
  395. if(isset($_POST['is_temp'])) {
  396. $this->redirect('tickets/index');
  397. }
  398. $this->set('updated',1);
  399. }
  400. if(isset($_REQUEST['tid']) && $_REQUEST['tid']!='') {
  401. $ticketsql_id = base64_decode($_REQUEST['tid']);
  402. }
  403. if(isset($_POST['is_preview']) && $_POST['is_preview']==1) {
  404. $this->redirect('tickets/previewevent/'.base64_encode($ticketsql_id));
  405. }
  406. if($tidCopy!=null) {
  407. $tidCopy = base64_decode($tidCopy);
  408. $sql = "SELECT * FROM tickets
  409. WHERE id='".addslashes($tidCopy)."' AND user_id='".$_SESSION['UserId']."' ";
  410. $result = mysql_query($sql);
  411. if(($row=mysql_fetch_array($result))) {
  412. //Insert ticket_event_venue
  413. $sql = "INSERT INTO ticket_event_venue(`venue_name`,`venue_address`,`venue_phone`,`venue_city_id`,`venue_state_id`,`venue_country_id`,`user_id`,`venue_desc`,`venue_zip`)
  414. SELECT `venue_name`,`venue_address`,`venue_phone`,`venue_city_id`,`venue_state_id`,`venue_country_id`,`user_id`,`venue_desc`,`venue_zip`
  415. FROM ticket_event_venue WHERE id=".$row['ticket_venue_section_id'];
  416. mysql_query($sql)or die(mysql_errno());
  417. $ticket_venue_section_id = mysql_insert_id();
  418. $ticketsql = "INSERT INTO tickets SET
  419. ticevent_name = '".$row['ticevent_name']." copy', paypal_email='".$row['paypal_email']."',
  420. ticevent_startdate='".$row['ticevent_startdate']."', ticevent_enddate='".$row['ticevent_enddate']."', ticket_dooropen='".$row['ticket_dooropen']."',
  421. ticket_category_id='".$row['ticket_category_id']."',
  422. ticevent_desc='".$row['ticevent_desc']."', ticevent_terms='".$row['ticevent_terms']."',
  423. ticket_event_performer_id='".$row['ticket_event_performer_id']."', ticket_venue_section_id='".$ticket_venue_section_id."',
  424. ticket_ship_master_id='1', user_id='".$_SESSION['UserId']."',
  425. ticevent_image='".$row['ticevent_image']."', ticevent_logoimage='".$row['ticevent_logoimage']."',
  426. is_featured='0', is_hotlisted='0',
  427. timezone_id='".$row['timezone_id']."',
  428. ticket_tags='".$row['ticket_tags']."', is_show_remaining='".$row['is_show_remaining']."',
  429. is_temp='1', seating_type='".$row['seating_type']."',
  430. is_public='".$row['is_public']."',password_private='".$row['password_private']."'";
  431. mysql_query($ticketsql) or die(mysql_errno());
  432. $ticketsql_id = mysql_insert_id();
  433. $seatsxml = $row['seatsxml'];
  434. $seatsxml_new = $seatsxml;
  435. //insert tickets_product
  436. $sql = "SELECT * FROM tickets_product WHERE tickets_id='".$row['id']."' ";
  437. $result = mysql_query($sql)or die($sql);
  438. $listp = array();
  439. while($row = mysql_fetch_array($result)) {
  440. $listp[] = $row;
  441. $sql = "INSERT INTO tickets_product SET tickets_id='".$ticketsql_id."', seat_name='".$row['seat_name']."', seat_qty='".$row['seat_qty']."', seat_price='".$row['seat_price']."',
  442. color='".$row['color']."', enabled='".$row['enabled']."',handicap='".$row['handicap']."' ";
  443. mysql_query($sql)or die(mysql_errno());
  444. if($seatsxml_new!=''){
  445. $product_id_new = mysql_insert_id();
  446. //update id for product
  447. $old = '/id="'.$row['id'].'"/';
  448. $new = 'id="'.$product_id_new.'"';
  449. $seatsxml_new = preg_replace($old,$new , $seatsxml_new);
  450. //update group_id for seat, shape
  451. $old = '/group_id="'.$row['id'].'"/';
  452. $new = 'group_id="'.$product_id_new.'"';
  453. $seatsxml_new = preg_replace($old,$new , $seatsxml_new);
  454. }
  455. }
  456. $sql= "UPDATE tickets SET seatsxml='".$seatsxml_new."' WHERE id='".$ticketsql_id."'";
  457. mysql_query($sql)or die(mysql_errno());
  458. //check add children
  459. $sql = "SELECT * FROM tickets WHERE parent_id='".addslashes($tidCopy)."' AND user_id='".$_SESSION['UserId']."' ";
  460. $result = mysql_query($sql);
  461. while($child=mysql_fetch_array($result)){
  462. //insert ticket
  463. $ticketsql = "INSERT INTO tickets SET
  464. parent_id='".$ticketsql_id."',
  465. ticevent_name = '".$child['ticevent_name']." copy', paypal_email='".$child['paypal_email']."',
  466. ticevent_startdate='".$child['ticevent_startdate']."', ticevent_enddate='".$child['ticevent_enddate']."', ticket_dooropen='".$child['ticket_dooropen']."',
  467. ticket_category_id='".$child['ticket_category_id']."',
  468. ticevent_desc='".$child['ticevent_desc']."', ticevent_terms='".$child['ticevent_terms']."',
  469. ticket_event_performer_id='".$child['ticket_event_performer_id']."', ticket_venue_section_id='".$ticket_venue_section_id."',
  470. ticket_ship_master_id='1', user_id='".$_SESSION['UserId']."',
  471. ticevent_image='".$child['ticevent_image']."', ticevent_logoimage='".$child['ticevent_logoimage']."',
  472. is_featured='0', is_hotlisted='0',
  473. timezone_id='".$child['timezone_id']."',
  474. ticket_tags='".$child['ticket_tags']."', is_show_remaining='".$child['is_show_remaining']."',
  475. is_temp='1', seating_type='".$child['seating_type']."',
  476. is_public='".$child['is_public']."', password_private='".$child['password_private']."'";
  477. mysql_query($ticketsql) or die(mysql_errno());
  478. $child_new_id = mysql_insert_id();
  479. //insert product
  480. $seatsxml_new = $seatsxml;
  481. foreach($listp as $p){
  482. $sql = "INSERT INTO tickets_product SET tickets_id='".$child_new_id."', seat_name='".$p['seat_name']."', seat_qty='".$p['seat_qty']."', seat_price='".$p['seat_price']."',
  483. color='".$p['color']."', enabled='".$p['enabled']."',handicap='".$p['handicap']."' ";
  484. mysql_query($sql)or die(mysql_errno());
  485. if($seatsxml_new!=''){
  486. $product_id_new = mysql_insert_id();
  487. //update id for product
  488. $old = '/id="'.$p['id'].'"/';
  489. $new = 'id="'.$product_id_new.'"';
  490. $seatsxml_new = preg_replace($old,$new , $seatsxml_new);
  491. //update group_id for seat, shape
  492. $old = '/group_id="'.$p['id'].'"/';
  493. $new = 'group_id="'.$product_id_new.'"';
  494. $seatsxml_new = preg_replace($old,$new , $seatsxml_new);
  495. }
  496. }
  497. $sql= "UPDATE tickets SET seatsxml='".$seatsxml_new."' WHERE id='".$child_new_id."'";
  498. mysql_query($sql)or die(mysql_errno());
  499. }
  500. }
  501. }
  502. if($ticketsql_id>0) {
  503. $sql = "SELECT tickets.*,tickets.id as tid,Venue.* FROM tickets
  504. LEFT JOIN ticket_event_venue Venue ON (Venue.id=tickets.ticket_venue_section_id)
  505. WHERE tickets.id='".addslashes($ticketsql_id)."' AND tickets.user_id='".$_SESSION['UserId']."' ";
  506. $result = mysql_query($sql);
  507. if(($row=mysql_fetch_array($result))) {
  508. $this->set('data',$row);
  509. if($row['seating_type']=='0') {
  510. //get ticket product
  511. $sql = "SELECT * FROM tickets_product WHERE tickets_id='".$row['tid']."'";
  512. $this->set('tickets_seat', mysql_query($sql));
  513. }
  514. if($row['venue_country_id']>=0) {
  515. $this->set('stateList',$this->getStateList($row['venue_country_id']));
  516. }
  517. if($row['venue_state_id']>=0) {
  518. $this->set('cityList',$this->getCityList($row['venue_state_id']));
  519. }
  520. $this->set('tid',$ticketsql_id);
  521. //get datetime children
  522. $sql = "SELECT id,ticevent_startdate,ticevent_enddate,ticket_dooropen FROM tickets WHERE parent_id='".$ticketsql_id."'";
  523. $result = mysql_query($sql);
  524. $datetimes = array();
  525. while($row=mysql_fetch_array($result)){
  526. $datetimes[] = $row;
  527. }
  528. if(count($datetimes)>0)
  529. $this->set('datetimes',$datetimes);
  530. }
  531. }else {//new
  532. //delete all tickets is_temp='1' and title=''
  533. $sql = "SELECT id FROM tickets WHERE is_temp='1' AND ticevent_name='' AND user_id='".$_SESSION['UserId']."'";
  534. $result = mysql_query($sql);
  535. while($row=mysql_fetch_array($result)){
  536. mysql_query("DELETE FROM tickets WHERE id='".$row['id']."'");
  537. mysql_query("DELETE FROM tickets_product WHERE tickets_id='".$row['id']."'");
  538. }
  539. //insert tickets empty
  540. $query = "INSERT tickets SET is_temp='1', user_id='".$_SESSION['UserId']."'";
  541. mysql_query($query);
  542. $ticketsql_id = mysql_insert_id();
  543. $this->set('tid',$ticketsql_id);
  544. }
  545. }
  546. }
  547. function ajax_saveticketseat() {
  548. $this->layout = 'blank';
  549. if(isset($_POST['tic_action']) && $_POST['tic_action']!='') {
  550. if(isset($_POST['tic_id']) && $_POST['tic_id']>0) {
  551. if(isset($_POST['tic_action'])) {
  552. if($_POST['tic_action']=='delete') {
  553. $sql = "SELECT * FROM tickets_product WHERE id='".$_POST['tic_id']."'";
  554. $result = mysql_query($sql);
  555. if(($row=mysql_fetch_array($result))){
  556. $seat_name = $row['seat_name'];
  557. $sql = "SELECT P.id FROM tickets_product as P
  558. RIGHT JOIN tickets as T ON P.tickets_id=T.id
  559. WHERE T.parent_id='".$_POST['tictickets_id']."'";
  560. $result = mysql_query($sql);
  561. $listid = array();
  562. while($row=mysql_fetch_array($result)){
  563. $listid[] = $row['id'];
  564. }
  565. if(count($listid)>0){
  566. $sql = "DELETE FROM tickets_product WHERE id='".$_POST['tic_id']."' OR (id IN (".join(',',$listid).") AND seat_name='".$seat_name."')";
  567. }else{
  568. $sql = "DELETE FROM tickets_product WHERE id='".$_POST['tic_id']."'";
  569. }
  570. mysql_query($sql) or die(mysql_error());
  571. }
  572. $id = $_POST['tic_id'];
  573. $out ='{"action":"delete","id" : "'.$id.'"}';
  574. }
  575. else {
  576. $sql = "SELECT * FROM tickets_product WHERE id='".$_POST['tic_id']."'";
  577. $result = mysql_query($sql);
  578. if(($row=mysql_fetch_array($result))){
  579. $seat_name = $row['seat_name'];
  580. //check
  581. $query = "SELECT count(id) as _count FROM tickets_product WHERE tickets_id='".$_POST['tictickets_id']."' AND id<>'".$_POST['tic_id']."' AND seat_name='".$_POST['ticcat']."'";
  582. $result = mysql_query($query);
  583. $row= mysql_fetch_array($result);
  584. if($row['_count']>0){
  585. $out ='{"error":"Ticket Name Unavailable"}';
  586. }else if($_POST['ticprice']<5){
  587. $out ='{"error":"Minimum price is $5"}';
  588. }else{
  589. $sql = "SELECT P.id FROM tickets_product as P
  590. RIGHT JOIN tickets as T ON P.tickets_id=T.id
  591. WHERE T.parent_id='".$_POST['tictickets_id']."'";
  592. $result = mysql_query($sql);
  593. $listid = array();
  594. while($row=mysql_fetch_array($result)){
  595. $listid[] = $row['id'];
  596. }
  597. if(count($listid)>0){
  598. $sql = "UPDATE tickets_product SET seat_name='".$_POST['ticcat']."', seat_qty='".$_POST['ticquantity']."', seat_price='".$_POST['ticprice']."'
  599. WHERE id='".$_POST['tic_id']."' OR (id IN (".join(',',$listid).") AND seat_name='".$seat_name."')";
  600. }else{
  601. $sql = "UPDATE tickets_product SET seat_name='".$_POST['ticcat']."', seat_qty='".$_POST['ticquantity']."', seat_price='".$_POST['ticprice']."'
  602. WHERE id='".$_POST['tic_id']."'";
  603. }
  604. mysql_query($sql);
  605. $id = $_POST['tic_id'];
  606. $out ='{"action":"update","id" : "'.$id.'","ticcat": "'.$_POST['ticcat'].'", "ticquantity": "'.$_POST['ticquantity'].'", "ticprice": "'.$_POST['ticprice'].'"}';
  607. }
  608. }
  609. }
  610. }
  611. }else {
  612. //check seat_name
  613. $query = "SELECT count(id) as _count FROM tickets_product WHERE tickets_id='".$_POST['tictickets_id']."' AND seat_name='".$_POST['ticcat']."'";
  614. $result = mysql_query($query);
  615. $row= mysql_fetch_array($result);
  616. if($row['_count']>0){
  617. $out ='{"error":"Ticket Name Unavailable"}';
  618. }else if($_POST['ticprice']<5){
  619. $out ='{"error":"Minimum price is $5"}';
  620. }else{
  621. $sql = "INSERT INTO tickets_product SET tickets_id='".$_POST['tictickets_id']."', seat_name='".$_POST['ticcat']."', seat_qty='".$_POST['ticquantity']."', seat_price='".$_POST['ticprice']."',enabled=1 ";
  622. mysql_query($sql);
  623. $id = mysql_insert_id();
  624. $out ='{"action":"insert","id" : "'.$id.'","ticcat": "'.$_POST['ticcat'].'", "ticquantity": "'.$_POST['ticquantity'].'", "ticprice": "'.$_POST['ticprice'].'"}';
  625. $query = "SELECT id FROM tickets WHERE parent_id='".$_POST['tictickets_id']."' ";
  626. $result = mysql_query($query);
  627. while($row = mysql_fetch_array($result)){
  628. $sql = "INSERT INTO tickets_product SET tickets_id='".$row['id']."', seat_name='".$_POST['ticcat']."', seat_qty='".$_POST['ticquantity']."', seat_price='".$_POST['ticprice']."',enabled=1 ";
  629. mysql_query($sql);
  630. }
  631. }
  632. }
  633. }
  634. if(!isset($out))
  635. $out = '{"action":""}';
  636. $this->set('out',$out);
  637. }
  638. function ajax_showticketproduct() {
  639. $out = '';
  640. if(isset($_POST['tickets_id'])) {
  641. $query = "SELECT * FROM tickets_product WHERE tickets_id='".$_POST['tickets_id']."' ";
  642. $result = mysql_query($query);
  643. while($row=mysql_fetch_array($result)) {
  644. if($out!='') $out .=",";
  645. $out .= '{ "id":"'.$row['id'].'", "ticcat":"'.$row['seat_name'].'", "ticquantity":"'.$row['seat_qty'].'", "ticprice":"'.$row['seat_price'].'" }';
  646. }
  647. }
  648. $out = '{"data":['.$out.']}';
  649. $this->set('out',$out);
  650. }
  651. function ajax_resetSeatProduct() {
  652. $this->layout='blank';
  653. if(isset($_POST['id'])) {
  654. $sql = "SELECT id FROM tickets WHERE id='".$_POST['id']."' or parent_id='".$_POST['id']."'";
  655. $result = mysql_query($sql);
  656. $listid = array();
  657. while($row=mysql_fetch_array($result)){
  658. $listid[] = $row['id'];
  659. }
  660. if(count($listid)>0){
  661. $sql= "DELETE FROM tickets_product WHERE tickets_id IN (".join(',',$listid).")";
  662. mysql_query($sql) or die(mysql_error());
  663. $sql = "UPDATE tickets SET seatsxml='', chart_id=0 WHERE id IN (".join(',',$listid).")";
  664. mysql_query($sql) or die(mysql_error());
  665. }
  666. }
  667. $this->render('blank_page');
  668. }
  669. function ajax_adddatetime() {
  670. $this->layout='blank';
  671. $out = '';
  672. if(isset($_POST['action'])){
  673. if( isset($_POST['parent_id']) && $_POST['action']=='insert'){
  674. $parent_ticketid = $_POST['parent_id'];
  675. if($_POST['action']=='insert'){
  676. $ticket['Ticket']['parent_id'] = $parent_ticketid;
  677. $ticket['Ticket']['user_id'] = $_SESSION['UserId'];
  678. $ticket['Ticket']['is_temp'] = 1;
  679. $this->Ticket->create();
  680. $this->Ticket->save($ticket);
  681. $id = $this->Ticket->id;
  682. }
  683. $out = '"action":"insert","id":"'.$id.'"';
  684. }else if(isset($_POST['id']) && $_POST['action']=='delete'){
  685. $sql = "DELETE FROM tickets WHERE id='".$_POST['id']."'";
  686. mysql_query($sql);
  687. $out = '"action":"delete","id":"'.$_POST['id'].'"';
  688. }
  689. }
  690. $out = '{'.$out.'}';
  691. $this->set('out',$out);
  692. }
  693. function ajax_checkeventname(){
  694. $this->layout='blank';
  695. $out = '"check":"error"';
  696. if(isset($_POST['id']) && isset($_POST['evname'])){
  697. $id = base64_decode($_POST['id']);
  698. $sql = 'SELECT count(id) as _count FROM tickets WHERE id<>"'.$id.'" AND ticevent_name="'.addslashes($_POST['evname']).'" AND parent_id=0 ';
  699. $result = mysql_query($sql);
  700. $row = mysql_fetch_array($result) or die(mysql_error());
  701. if($row['_count']==0){
  702. $out = '"check":"ok"';
  703. }
  704. }
  705. $out = '{'.$out.'}';
  706. $this->set('out',$out);
  707. }
  708. function eventlogoupload() {
  709. $this->layout='blank';
  710. $uploadstatus = 0;
  711. $imagefilename= 0;
  712. if(!isset($_REQUEST['type'])) $_REQUEST['type']='image';
  713. $type= $_REQUEST['type'];
  714. if (isset($_FILES['filedata'])) {
  715. $this->cleanUpFields();
  716. // grab the file
  717. $file = $_FILES['filedata'];
  718. // upload the image using the upload component
  719. // pr($_FILES);
  720. $file_info = getimagesize($file['tmp_name']);
  721. if(!empty($file_info)) {
  722. $des = "webroot/ticket_images/";
  723. if(!file_exists($des))
  724. mkdir($des);
  725. $this->Upload->upload($file,$des);
  726. if($this->Upload->errors!=null) {
  727. $this->set('errors',join('<br/>',$this->Upload->errors));
  728. }
  729. else {
  730. $uploadstatus = 1;
  731. $filesrc = str_replace($des, '', $this->Upload->_name);
  732. $file['tmp_name'] = $this->Upload->_name;
  733. if($type=="image") {
  734. $des = "webroot/ticket_images/medium/";
  735. if(!file_exists($des))
  736. mkdir($des);
  737. $this->Upload->_name = $des.$filesrc;
  738. $this->Upload->image($file,'resizemin',array(200,200),'jpg');
  739. $des = "webroot/ticket_images/thumb/";
  740. if(!file_exists($des))
  741. mkdir($des);
  742. $this->Upload->_name = $des.$filesrc;
  743. $this->Upload->image($file,'resizemin',array(45,45),'jpg');
  744. }else if($type=="logo") {
  745. $des = "webroot/ticket_images/logo/";
  746. if(!file_exists($des))
  747. mkdir($des);
  748. $this->Upload->_name = $des.$filesrc;
  749. $this->Upload->image($file,'resizemin',array(100,100),'jpg');
  750. }
  751. $filethumb = str_replace($des, '', $this->Upload->_name);
  752. //$this->set('filesrc' , $filesrc);
  753. $this->set('filethumb' , $filethumb);
  754. }
  755. }else {
  756. $this->set('errors','Required file image.');
  757. }
  758. }
  759. if(isset($_REQUEST['filesrc']) && $_REQUEST['filesrc']!='') {
  760. $this->set('filethumb' , $_REQUEST['filesrc']);
  761. }
  762. $maxwidth = $type=='logo'?100:200;
  763. $this->set('maxwidth',$maxwidth);
  764. $this->set('maxdimension',"$maxwidth x $maxwidth");
  765. $this->set('uploadstatus',$uploadstatus);
  766. }
  767. function venueinfo($venueid=null) {
  768. $this->checkSession();
  769. $this->layout = 'ticketcategoryinner';
  770. $this->ticketCategory();
  771. $this->pageTitle = 'View venue';
  772. $this->set('venueid',$venueid);
  773. }
  774. function perfomerinfo($perfomerid = null) {
  775. $this->checkSession();
  776. $this->layout = 'ticketcategoryinner';
  777. $this->ticketCategory();
  778. $this->pageTitle = 'View Perfomer';
  779. $this->set('perfomerid',$perfomerid);
  780. }
  781. function getTicketDetails($eventId) {
  782. $q1=mysql_query("SELECT user_id,ticevent_name,ticevent_desc,ticket_category_id FROM tickets WHERE id='".$eventId."'");
  783. return $rw=mysql_fetch_array($q1);
  784. }
  785. function remainingTicket($cart_id) {
  786. $sql = "SELECT DT.*,T.seating_type,C.tickets_id FROM ticket_cart_details as DT
  787. RIGHT JOIN ticket_carts C ON C.id=DT.cart_id
  788. RIGHT JOIN tickets T ON T.id=C.tickets_id
  789. WHERE DT.cart_id='".$cart_id."' ";
  790. $result = mysql_query($sql) or die($this->log_content(mysql_error()));
  791. while($row = mysql_fetch_array($result)){
  792. if($row['seating_type']==0){//event without seat
  793. $sql = " SELECT seat_qty FROM tickets_product tic WHERE tickets_id ='".$row['tickets_id']."' AND id='".$row['group_id']."' ";
  794. $seat_result = mysql_query($sql);
  795. $prod = mysql_fetch_array($seat_result);
  796. $remain = $prod['seat_qty'];
  797. //get the total no of tickets already sold or of transaction is in progress within the 15 min difference
  798. $sql="SELECT SUM(item.qty) sold FROM ticket_cart_details as item
  799. RIGHT JOIN ticket_carts cart ON (item.cart_id=cart.id)
  800. WHERE cart.id<>".$cart_id." AND cart.tickets_id='".$row['tickets_id']."' AND item.group_id='".$row['group_id']."' AND (cart.pay_status='1' OR ( ADDTIME( cart.tran_time, '0:30:0') >= NOW()) )
  801. GROUP BY item.group_id";
  802. $seat_result = mysql_query($sql) or die($this->log_content(mysql_error()));
  803. if( ($item=mysql_fetch_array($seat_result)) ) {
  804. $remain -= $item['sold'];
  805. }
  806. if($row['qty']>$remain){
  807. return false;
  808. }
  809. }else{//event with seat
  810. $sql = "SELECT S.seatnumber,S.event_id FROM ticket_seat_booked as S
  811. RIGHT JOIN ticket_carts cart ON (cart.id = S.cart_id)
  812. WHERE S.cart_id<>".$cart_id." AND S.event_id='".$row['tickets_id']."' AND (cart.pay_status='1' OR (ADDTIME( cart.tran_time, '0:30:0') >= NOW()) )";
  813. $seats_book_result = mysql_query($sql) or die($this->log_content(mysql_error()));
  814. $seats_book = array();
  815. while($seat = mysql_fetch_array($seats_book_result)){
  816. $seats_book[] = $seat['seatnumber'];
  817. }
  818. if(count($seats_book)>0){
  819. $sql = "SELECT count(S.id) as _count FROM ticket_seat_booked as S
  820. WHERE S.cart_detail_id=".$row['id']." AND S.seatnumber IN ('".join("','",$seats_book)."')";
  821. $seats_result = mysql_query($sql) or die($this->log_content(mysql_error()));
  822. $booked = mysql_fetch_array($seats_result);
  823. if($booked['_count']>0){
  824. return false;
  825. }
  826. }
  827. }
  828. }
  829. return true;
  830. }
  831. function addtocart() {
  832. $this->checkSession();
  833. $this->ticketCategory();
  834. $this->layout = 'ticketdetail';
  835. $cart_id = isset($_POST['cart_id']) ? $_POST['cart_id'] : null;
  836. if(empty($cart_id)) {
  837. $cart_id = $this->Session->read('cart_id');
  838. }
  839. $ticket_id = isset($_POST['ticket_id']) ? $_POST['ticket_id'] : null;
  840. if(empty($ticket_id)) {
  841. $ticket_id = $this->Session->read('ticket_id');
  842. }
  843. if(empty($cart_id) || empty($ticket_id)) {
  844. $this->set('msgerror','cart does not exists');
  845. return;
  846. }
  847. $ticket = $this->Ticket->findById($ticket_id);
  848. if(!$ticket) {
  849. $this->set('msgerror','Event does not exists');
  850. return;
  851. }
  852. $cart = $this->Ticket_carts->findById($cart_id);
  853. if(!$cart) {
  854. $this->set('msgerror','Cart does not exists');
  855. return;
  856. }
  857. if(isset($_POST['_action']) && $_POST['_action']=='cancel'){
  858. //delete cart
  859. $sql = "DELETE FROM ticket_carts WHERE id='".$cart_id."' ";
  860. mysql_query($sql) or die(mysql_error());
  861. //delete cart ticket_seat_booked
  862. $sql = "SELECT * FROM ticket_cart_details WHERE cart_id='".$cart_id."'";
  863. $result = mysql_query($sql) or die(mysql_error());
  864. while($row=mysql_fetch_array($result)) {
  865. $sql = "DELETE FROM ticket_seat_booked WHERE cart_detail_id='".$row['id']."' ";
  866. mysql_query($sql) or die(mysql_error());
  867. }
  868. //delete cart item
  869. $sql = "DELETE FROM ticket_cart_details WHERE cart_id='".$cart_id."' ";
  870. mysql_query($sql) or die(mysql_error());
  871. $this->redirect('tickets/eventdetail/'.base64_encode($ticket['Ticket']['ticket_category_id']).'/'.base64_encode($ticket_id));
  872. return;
  873. }
  874. //check paypal email seller
  875. if($ticket['Ticket']['paypal_email']=='') {
  876. $this->set('msgerror','Sorry, Seller do not set payment method');
  877. //delete cart
  878. $sql = "DELETE FROM ticket_carts WHERE id='".$cart_id."' ";
  879. mysql_query($sql) or die(mysql_error());
  880. //delete cart ticket_seat_booked
  881. $sql = "SELECT * FROM ticket_cart_details WHERE cart_id='".$cart_id."'";
  882. $result = mysql_query($sql) or die(mysql_error());
  883. while($row=mysql_fetch_array($result)) {
  884. $sql = "DELETE FROM ticket_seat_booked WHERE cart_detail_id='".$row['id']."' ";
  885. mysql_query($sql) or die(mysql_error());
  886. }
  887. //delete cart item
  888. $sql = "DELETE FROM ticket_cart_details WHERE cart_id='".$cart_id."' ";
  889. mysql_query($sql) or die(mysql_error());
  890. return;
  891. }
  892. $sql = "SELECT B.*,DT.group_name,DT.price
  893. FROM ticket_seat_booked B
  894. RIGHT JOIN ticket_cart_details DT ON (B.cart_detail_id=DT.id)
  895. RIGHT JOIN ticket_carts C ON (C.id=B.cart_id)
  896. RIGHT JOIN tickets T ON (T.id=C.tickets_id)
  897. WHERE C.id='".$cart_id."'";
  898. $result = mysql_query($sql) or die(mysql_error());
  899. $this->set('result',$result);
  900. $this->set('cart_id',$cart_id);
  901. $this->set('ticket_id',$ticket_id);
  902. }
  903. function ajax_removeitemcart() {
  904. $this->layout="blank";
  905. $this->render('blank_page');
  906. if(isset($_POST['cart_id']) && isset($_POST['item_id']) && isset($_SESSION['UserId'])) {
  907. $sql = "SELECT * FROM ticket_seat_booked WHERE id='".$_POST['item_id']."' LIMIT 1";
  908. $result = mysql_query($sql) or die(mysql_error());
  909. if(($row=mysql_fetch_array($result))) {
  910. //update cart detail
  911. $sql = "UPDATE ticket_cart_details SET qty=qty-1, subTotal=qty*price WHERE id='".$row['cart_detail_id']."'";
  912. mysql_query($sql) or die(mysql_error());
  913. //update cart
  914. $sql = "UPDATE ticket_carts SET total_price = (SELECT SUM(subTotal) FROM ticket_cart_details WHERE cart_id='".$row['cart_id']."' ) WHERE id='".$row['cart_id']."'";
  915. mysql_query($sql) or die(mysql_error());
  916. //delete item
  917. $sql = "DELETE FROM ticket_seat_booked WHERE id='".$row['id']."'";
  918. mysql_query($sql) or die(mysql_error());
  919. }
  920. }
  921. }
  922. function payment() {
  923. $this->layout = 'blank';
  924. $this->ticketCategory();
  925. if(!isset($_SESSION['UserId'])) {
  926. $this->set('msgerror','Session die. Please login again');
  927. $this->layout = 'ticketdetail';
  928. return;
  929. }
  930. if(!isset($_POST['cart_id']) || !isset($_POST['ticket_id']) || !isset($_POST['holder_name']) ) {
  931. $this->set('msgerror','Sorry cart does not exists');
  932. $this->layout = 'ticketdetail';
  933. return;
  934. }
  935. $cart_id=$_POST['cart_id'];
  936. $eventId=$_POST['ticket_id'];
  937. $ticket = $this->Ticket->findById($eventId);
  938. if(!$ticket) {
  939. $this->set('msgerror','Event does not exists');
  940. $this->layout = 'ticketdetail';
  941. return;
  942. }
  943. $cart = $this->Ticket_carts->findById($cart_id);
  944. if(!$cart) {
  945. $this->set('msgerror','Cart does not exists');
  946. $this->layout = 'ticketdetail';
  947. return;
  948. }
  949. foreach($_POST['holder_name'] as $key=>$value) {
  950. $sql = "UPDATE ticket_seat_booked SET holder_name='".addslashes($value)."' WHERE id='".$key."'";
  951. mysql_query($sql) or die(mysql_error());
  952. }
  953. //get number seat
  954. $sql = "SELECT SUM(qty) as num_seat FROM ticket_cart_details WHERE cart_id='".$cart_id."'";
  955. $result = mysql_query($sql) or die(mysql_error());
  956. $row = mysql_fetch_array($result);
  957. $num_seat = $row['num_seat'];
  958. $ticketTitle = $ticket['Ticket']['ticevent_name'];
  959. $sellerId = $ticket['Ticket']['user_id'];
  960. $receiverId = $sellerId;//for seller, admin receive XOFee
  961. $totalAmt = $cart['Ticket_carts']['total_price'];
  962. $shipping = $cart['Ticket_carts']['ship'];
  963. $saletax = 0;
  964. $amountPay = number_format($totalAmt+$shipping,2);
  965. $paypal_fee = number_format($amountPay*0.029 + 0.3,2);
  966. if($paypal_fee>=$amountPay){
  967. $paypal_fee = $amountPay;
  968. $transaction_fee = 0;
  969. }else{
  970. $transaction_fee = number_format($amountPay*0.02 + 0.75*$num_seat,2);
  971. if($transaction_fee>($amountPay-$paypal_fee)){
  972. $transaction_fee = number_format($amountPay-$paypal_fee,2);
  973. }
  974. }
  975. $commission = number_format($amountPay - $paypal_fee - $transaction_fee,2);
  976. //$paymentMethods=$this->getPaymentMethods($receiverId);
  977. mysql_query("DELETE FROM transaction_ticket WHERE user_id='".$_SESSION['UserId']."' AND pflag='0' ");
  978. mysql_query("INSERT INTO
  979. transaction_ticket(user_id,event_id,total_amount,date,photo_id)
  980. VALUES('".$_SESSION['UserId']."','".$eventId."','".$amountPay."','".date("Y-m-d H:i:s")."','".$sellerId."')");
  981. $tranTicketId=0;
  982. $tranTicketId=mysql_insert_id();
  983. $invoice= $this->createTransactionNumber("TTUU");
  984. $qty = 1;
  985. $itemName = "Ticket purchase - ".$ticketTitle;
  986. $description = "Ticket purchase - ".$ticketTitle;
  987. //$returnUrl = FULL_BASE_URL.$this->webroot."tickets/myorderhistory";
  988. //$notifyUrl = $this->webroot."tickets/ticketpayment_notify";
  989. $cancelUrl = FULL_BASE_URL.$this->webroot."tickets/index";
  990. $custom = base64_encode($_SESSION['UserId'].'-userid')."^".$eventId."^".$tranTicketId."^".session_id()."^".$qty."^".$eventId."^".$invoice."^".$cart_id;
  991. $custom = $tranTicketId."^".$cart_id;
  992. $fields['payment'] = 'paypal';
  993. $fields['business'] = $ticket['Ticket']['paypal_email'];
  994. //$fields['return_url'] = $returnUrl;
  995. //$fields['notify_url'] = $notifyUrl;
  996. $fields['full_base_url'] = FULL_BASE_URL.$this->webroot;
  997. $fields['webroot'] = $this->webroot;
  998. $fields['cancel_url'] = $cancelUrl;
  999. $fields['custom'] = $custom;
  1000. $fields['item_name'] = $itemName;
  1001. $fields['amount'] = $amountPay;
  1002. $fields['quantity'] = 1;
  1003. $fields['section_id'] = 2;//for ticket
  1004. $fields['type_id'] = 1;//pay normal
  1005. $fields['invoice'] = $invoice;
  1006. $fields['user_id'] = $_SESSION['UserId'];
  1007. $fields['receiver_id'] = $receiverId;
  1008. $fields['seller_id'] = $sellerId;
  1009. $fields['saletax'] = $saletax;
  1010. $fields['shipping'] = $shipping;
  1011. $fields['paypal_fee'] = $paypal_fee;
  1012. $fields['transaction_fee'] = $transaction_fee;
  1013. $fields['commission'] = $commission;
  1014. $fields['description'] = $description;
  1015. $fields['key'] = md5(PAYMENT_KEY.$fields['user_id']);
  1016. $fields['is_shipping'] = 0;
  1017. //card information
  1018. /*$fields['paymentType'] = 'Sale';
  1019. $fields['firstName'] = $_POST['billing_fname'];
  1020. $fields['lastName'] = $_POST['billing_lname'];
  1021. $fields['address'] = $_POST['billing_address'];
  1022. $fields['city'] = $_POST['billing_city'];
  1023. $fields['state'] = $_POST['billing_state'];
  1024. $fields['zip'] = $_POST['billing_zip'];
  1025. $fields['phone'] = $_POST['billing_phone'];
  1026. $fields['creditCardType'] = $_POST['card_type'];
  1027. $fields['creditCardNumber'] = $_POST['ccnumber'];
  1028. $fields['expDateMonth'] = $_POST['cardmon'];
  1029. $fields['expDateYear'] = $_POST['cardyear'];
  1030. $fields['cvv2Number'] = $_POST['cvvnumber'];
  1031. $fields['billing_country'] = $_POST['billing_country'];
  1032. */
  1033. $this->set("payment_url",PAYMENT_DIRECT_URL);
  1034. $this->set('fields',$fields);
  1035. }
  1036. function payment_notify($strvalid=null,$payment_ts_id=null,$custom=null) {
  1037. $this->layout='blank';
  1038. if($strvalid==null || $payment_ts_id==null || $custom==null || $strvalid!=md5('checknotify'.$payment_ts_id)) {
  1039. return;
  1040. }
  1041. $ptc = $this->PaymentTransaction->findById($payment_ts_id);
  1042. if(!$ptc) {
  1043. $content=" - ticketpayment_notify:payment_ts_id not exists. payment_ts_id:$payment_ts_id; custom:$custom \r\n";
  1044. $this->log_content($content);
  1045. return;
  1046. }
  1047. $custom = base64_decode($custom);
  1048. $custom=explode("^",$custom);
  1049. $transactionId=$custom['0'];
  1050. $cart_id = $custom['1'];
  1051. $sql = "SELECT * FROM transaction_ticket WHERE id='".$transactionId."'";
  1052. $result = mysql_query($sql);
  1053. if(($row=mysql_fetch_array($result))) {
  1054. $eventId = $row['event_id'];
  1055. }else{
  1056. $content=" - ticketpayment_notify:tranTicketId not exists. transactionId:$transactionId; custom:$custom \r\n";
  1057. $this->log_content($content);
  1058. return;
  1059. }
  1060. $ticket = $this->Ticket->findById($eventId);
  1061. if(!$ticket) {
  1062. $content = " - ticketpayment_notify:ticket not exists. event_id:".$eventId."; custom:$custom \r\n";
  1063. $this->log_content($content);
  1064. return;
  1065. }
  1066. if($ptc['PaymentTransaction']['pay_status']>1) {
  1067. $this->delete_cart($ptc['PaymentTransaction']['user_id'],$cart_id);
  1068. $this->sendFailureMail($payment_ts_id);
  1069. return;
  1070. }
  1071. //________________________________________________XOIMAGE DATABASE UPDATION SECTION
  1072. $tickets = $this->Ticket_carts->findById($cart_id);
  1073. if(!$tickets){
  1074. $content = "ticketpayment_notify: cart does not exist $cart_id \r\n";
  1075. $this->log_content($content);
  1076. return;
  1077. }
  1078. $sql = "SELECT * FROM ticket_carts WHERE id='".$cart_id."' AND ( ADDTIME( tran_time, '0:30:0') >= NOW() ) ";
  1079. $result = mysql_query($sql) or die($sql);
  1080. if(($row = mysql_fetch_array($result))) {
  1081. }else {
  1082. $this->log_content("ticketpayment_notify: check remainingTicket");
  1083. if(!$this->remainingTicket($cart_id)){
  1084. $ptc['PaymentTransaction']['pay_status']=9;
  1085. $sql = "UPDATE payment_transactions SET pay_status=9 WHERE id=".$ptc['PaymentTransaction']['id'];
  1086. mysql_query($sql);
  1087. $this->delete_cart($ptc['PaymentTransaction']['user_id'],$cart_id);
  1088. $this->sendFailureMail($ptc['PaymentTransaction']['id']);
  1089. $content = "ticketpayment_notify: time execute payment large 15 minute. payment_ts_id:$payment_ts_id; \r\n";
  1090. $this->log_content($content);
  1091. return;
  1092. }
  1093. }
  1094. $totalPay = $ptc['PaymentTransaction']['total_amount'];
  1095. $UserId= $ptc['PaymentTransaction']['user_id'];
  1096. $invoice = $ptc['PaymentTransaction']['invoice'];
  1097. mysql_query("UPDATE transaction_ticket SET pflag='1',invoice='".$invoice."', payment_ts_id='".$payment_ts_id."' WHERE id='".$transactionId."' AND pflag='0'");
  1098. mysql_query("UPDATE ticket_carts SET pay_status='1',transaction_id='".$transactionId."' WHERE id='".$cart_id."' ");
  1099. //____________________________________________________TRANSACTION LOG MANAGEMENT_____________________________________
  1100. $ticketDetails=$this->getTicketDetails($eventId);
  1101. $userDetails=$this->getUserDetails($UserId);
  1102. ############## User Name & Location ######
  1103. $this->set('UserInfo',$userDetails);
  1104. $countrysql = mysql_query("Select country_name from countries where id=".$userDetails['c_id']."");
  1105. $countrysql_arr = mysql_fetch_array($countrysql);
  1106. $this->set('Countryname', $countrysql_arr['country_name']);
  1107. $countrysql = mysql_query("Select Name from state where id=".$userDetails['state']."");
  1108. $countrysql_arr = mysql_fetch_array($countrysql);
  1109. $this->set('Statename', $countrysql_arr['Name']);
  1110. $cityname = '';
  1111. if($userDetails['city']!='') {
  1112. $countrysql = mysql_query("Select city_name from city_master where city_id=".$userDetails['city']."");
  1113. $countrysql_arr = mysql_fetch_array($countrysql);
  1114. $cityname = $countrysql_arr['city_name'];
  1115. }
  1116. $this->set('Cityname',$cityname);
  1117. /**/
  1118. ############## User Location ######
  1119. $ownerId=$ticketDetails['user_id'];
  1120. $queryXouserTransactions=mysql_query("SELECT * FROM xouser_transactions WHERE transaction_head='ticket' AND transaction_title='purchase' AND invoice_id='".$transactionId."'");
  1121. if(mysql_num_rows($queryXouserTransactions)<=0) {
  1122. $transactionDesc="Ticket purchase details";
  1123. $transactionHead="ticket";
  1124. $transactionTitle="purchase";
  1125. $invoiceId=$transactionId;
  1126. $commissionType='Ticket Commission';
  1127. $statusoffee="nontransactionfee";
  1128. $lastInsertId=$this->transactionMaster($transactionDesc,$transactionHead,$transactionTitle,$invoice,$invoiceId);
  1129. $this->transactionDetail($UserId,$totalPay,'-1',$lastInsertId,$ownerId,$statusoffee,0,'finished'); //charged//this code is changed on 5th January 2010(statusoffee is added)
  1130. $fetchAdminPaymentConfig=$this->getConfigAmount($commissionType);
  1131. $comissionValue=($totalPay*$fetchAdminPaymentConfig['config_value'])/100;
  1132. $statusoffee="transactionfee";
  1133. $this->transactionDetail($ownerId,$comissionValue,'-1',$lastInsertId,'1',$statusoffee,0,'pending');//this code is changed on 5th January 2010(statusfee added as well as paymentstatus value 'pending' added---pending is not in used now.)
  1134. //____________________________________________________MAIL MANAGEMENT________________________________________________
  1135. $this->Sendmail->Mail();
  1136. $this->Sendmail->From(FROMMAIL);
  1137. $subject="Ticket purchase - ".$invoice;
  1138. $this->Sendmail->Subject($subject);
  1139. $this->set('uid',$UserId);
  1140. $this->generateInvoice($transactionId,$UserId);
  1141. $this->Sendmail->layout='blank';
  1142. $this->Sendmail->view='mail_generateticket';
  1143. $this->Sendmail->startup($this);
  1144. $messageBody=$this->Sendmail->bodyText();
  1145. $this->Sendmail->Body($messageBody);
  1146. $this->Sendmail->Priority(1) ;
  1147. if(isset($userDetails['email'])) {
  1148. $this->Sendmail->To($userDetails['email']);
  1149. $this->Sendmail->Send();
  1150. }
  1151. //mail sent to the user mail account in the system
  1152. $sender=$ownerId;
  1153. $receiver=$UserId;
  1154. $this->senderMail($sender,$receiver,$subject,$messageBody);
  1155. $this->receiverMail($receiver,$sender,$subject,$messageBody);
  1156. }
  1157. }
  1158. function login_again($UserId) {
  1159. $someone = $this->User->findById($UserId);
  1160. if($someone) {
  1161. if($someone['User']['user_status']==1) {
  1162. $this->Session->write('User', $someone['User']['username']);
  1163. $this->Session->write('UserId', $someone['User']['id']);
  1164. $this->Session->write('GrpId', $someone['User']['user_group_master_id']);
  1165. $userdetail = $this->getUserDetails($someone['User']['id']);
  1166. if(!isset($_SESSION['PrjUserCityId'])) $this->Session->write('PrjUserCityId', $userdetail['city']);
  1167. if(!isset($_SESSION['PrjUserStateId'])) $this->Session->write('PrjUserStateId', $userdetail['state']);
  1168. if(!isset($_SESSION['PrjUserCountryId'])) $this->Session->write('PrjUserCountryId', $userdetail['c_id']);
  1169. unset($_SESSION['PrjUserCityName']);
  1170. unset($_SESSION['PrjUserStateName']);
  1171. unset($_SESSION['PrjUserCountryName']);
  1172. unset($_SESSION['PrjUserLocation']);
  1173. if($someone['User']['user_group_master_id']==2) {
  1174. $_SESSION['pubSchool']='p';
  1175. $_SESSION['is_public']=1;
  1176. $_SESSION['categoryTab']=2;
  1177. }
  1178. if($someone['User']['user_group_master_id']==3) {
  1179. $_SESSION['pubSchool']='s';
  1180. $_SESSION['is_public']=2;
  1181. $_SESSION['categoryTab']=3;
  1182. }
  1183. }
  1184. }
  1185. }
  1186. function ticketitemdetail($UserId,$transactionId) {
  1187. $this->layout = 'blank';
  1188. if($UserId!=null)
  1189. $UserId = base64_decode($UserId);
  1190. else
  1191. $UserId = $_SESSION['UserId'];
  1192. if($transactionId==null || $UserId==null)
  1193. die('Sorry item cart detail does not exists');
  1194. $transactionId = base64_decode($transactionId);
  1195. $this->generateInvoice($transactionId,$UserId);
  1196. }
  1197. function sendFailureMail($ptc_id) {
  1198. $this->log_content("sendFailureMail: PaymentTransaction id: $ptc_id");
  1199. if($ptc_id==null) return;
  1200. $sql = "SELECT * FROM payment_transactions WHERE id=".$ptc_id;
  1201. $result = mysql_query($sql);
  1202. if(!$ptc=mysql_fetch_array($result)){
  1203. $this->log_content("sendFailureMail: PaymentTransaction id: $ptc_id does not exist");
  1204. return;
  1205. }
  1206. $UserId = $ptc['user_id'];
  1207. $invoice = $ptc['invoice'];
  1208. $userDetails=$this->getUserDetails($UserId);
  1209. $subject = '';
  1210. switch($ptc['pay_status']) {
  1211. case 2: $subject = 'Ticket purchase - Transaction chargeback' ;
  1212. $mess = "Invoice: ".$invoice ." <br/><br/>Transaction is a chargeback";
  1213. break;
  1214. case 3: $subject = 'Ticket purchase - Transaction reversed' ;
  1215. $mess = "Invoice: ".$invoice ." <br/><br/> Transaction was reversed by PayPal administrators";
  1216. break;
  1217. case 4: $subject = 'Ticket purchase - Transaction refunded' ;
  1218. $mess = "Invoice: ".$invoice ." <br/><br/> Transaction was partially or fully refunded";
  1219. break;
  1220. case 9: $subject = 'Ticket purchase - Transaction timeout' ;
  1221. $mess = "Invoice: ".$invoice ." <br/><br/>You did not make the payment in specified time period".
  1222. "<br/><br/>You suppose to make your payment within <strong>15 MINUTES</strong>. Please make a fresh purchase and make the payment within time.
  1223. <br/><br/>Seller will refund money for you.";
  1224. break;
  1225. }
  1226. $sellerDetails=$this->getUserDetails($ptc['seller_id']);
  1227. if(isset($userDetails['email']) && $subject!='') {
  1228. $this->set('userDetails',$userDetails);
  1229. $this->set('mess',$mess);
  1230. $this->Sendmail->Mail();
  1231. $this->Sendmail->From(FROMMAIL);
  1232. $this->Sendmail->To($userDetails['email']);
  1233. if(isset($sellerDetails['email']) && $sellerDetails['email']!=''){
  1234. $this->Sendmail->Cc($sellerDetails['email']);
  1235. }
  1236. $this->Sendmail->Subject($subject);
  1237. $this->Sendmail->layout='email';
  1238. $this->Sendmail->view='mail_ticketfailure';
  1239. $this->Sendmail->startup($this);
  1240. $messageBody=$this->Sendmail->bodyText();
  1241. $this->Sendmail->Body($messageBody); // set the body
  1242. $this->Sendmail->Priority(1) ;
  1243. $this->Sendmail->Send();
  1244. //mail sent to the user mail account in the system
  1245. $sender=1;
  1246. $receiver=$UserId;
  1247. $this->senderMail($sender,$receiver,$subject,$messageBody);
  1248. $this->receiverMail($receiver,$sender,$subject,$messageBody);
  1249. }
  1250. }
  1251. function getMaxTransaction($photoId) {
  1252. $q1=mysql_query("SELECT MAX(id) FROM transaction_ticket WHERE photo_id='".$photoId."'") or die("Error on line no ".__LINE__.mysql_error());
  1253. $rw=mysql_fetch_array($q1);
  1254. $maxId=$rw['0']+1;
  1255. return $maxId;
  1256. }
  1257. function generateInvoice($tranId,$UserId) {
  1258. ###########To find invoice only ################
  1259. $tofind_invoice = mysql_query("select invoice from transaction_ticket where id='".$tranId."' AND pflag='1'");
  1260. $tofind_invoice_result = mysql_fetch_array($tofind_invoice);
  1261. if(!empty($tofind_invoice_result)) {
  1262. $this->set("invoice_value",$tofind_invoice_result['invoice']);
  1263. } else {
  1264. $this->set("invoice_value",'');
  1265. }
  1266. ##########end of finding invoice only ###############
  1267. $ticketqry = "SELECT tranTic.id, tranTic.invoice , tranTic.total_amount , tranTic.date as saledate ,
  1268. IF(PM.billing_fname='' AND PM.billing_lname='',CONCAT(BUYusrdetail.first_name ,' ',BUYusrdetail.last_name),CONCAT(PM.billing_fname ,' ',PM.billing_lname)) as Buyername ,
  1269. IF(PM.billing_address='',BUYusrdetail.address,PM.billing_address) as Buyeraddress ,IF(PM.billing_city='',BUYCity.city_name,PM.billing_city) as Buyercity , IF(PM.billing_state='',BUYstate.Name,PM.billing_state) as Buyerstatename ,
  1270. IF(PM.billing_country='',BUYcountry.country_name,PM.billing_country) as BUYercountryname ,IF(PM.billing_zip='',BUYusrdetail.zip,PM.billing_zip) as Buyerzip , IF(PM.billing_phone='',BUYusrdetail.mobile_phone,PM.billing_phone) as Buyerphone ,
  1271. TicOrg.performer_name as Postname ,TicOrg.performer_email as Postemail,TicOrg.performer_phone as Postphonenumber,
  1272. TicOrg.performer_address as Postaddress ,Orgcity.city_name as Postcity , Orgstate.Name as Poststatename , Orgcountry.country_name as Postcountryname , TicOrg.performer_zip as Postzip ,
  1273. Tic.ticevent_name as Eventname , Tic.ticevent_startdate as EventDate ,Tic.ticevent_enddate as EventEndDate ,Tic.ticket_dooropen as EventDoorOpen , Tic.ticevent_terms as EventTerms,Tic.seating_type as EventType, Tic.id as EventId,Tic.ticevent_desc as EventDetail,
  1274. Ticvenue.venue_name as Venuename , Ticvenue.venue_address as Venueaddress , Venuecity.city_name as VenueCity , Venuestate.Name as Venuestate , Venuecountry.country_name as Venuecountry , Ticvenue.venue_zip as Venuezip ,Ticvenue.venue_phone as Venuephone,
  1275. Ticcart.saletax as saletax , Ticcart.ship as Shipping ,Ticcart.total_price as TicketTotal,Ticcart.tran_time,Ticcart.id as cart_id,
  1276. tranTic.total_amount as Totalamount , POSTBYusrdetail.company_logo as logo,
  1277. CONCAT(PM.billing_fname, ', ', PM.billing_lname) as cardName, PM.card_type, PM.ccnumber
  1278. FROM transaction_ticket tranTic
  1279. RIGHT JOIN payment_transactions as PM ON tranTic.payment_ts_id = PM.id
  1280. LEFT JOIN user_details BUYusrdetail ON tranTic.user_id = BUYusrdetail.user_id
  1281. LEFT JOIN state BUYstate ON BUYstate.id = BUYusrdetail.state
  1282. LEFT JOIN city_master BUYCity ON BUYCity.city_id = BUYusrdetail.city
  1283. LEFT JOIN countries BUYcountry ON BUYcountry.id=BUYusrdetail.c_id
  1284. LEFT JOIN tickets Tic On tranTic.event_id=Tic.id
  1285. LEFT JOIN user_details POSTBYusrdetail ON tranTic.photo_id = POSTBYusrdetail.user_id
  1286. LEFT JOIN ticket_event_venue Ticvenue ON Tic.ticket_venue_section_id = Ticvenue.id
  1287. LEFT JOIN city_master Venuecity ON Venuecity.city_id = Ticvenue.venue_city_id
  1288. LEFT JOIN state Venuestate ON Venuestate.id = Ticvenue.venue_state_id
  1289. LEFT JOIN countries Venuecountry ON Venuecountry.id=Ticvenue.venue_country_id
  1290. LEFT JOIN ticket_event_performer TicOrg ON Tic.ticket_event_performer_id = TicOrg.id
  1291. LEFT JOIN city_master Orgcity ON Orgcity.city_id = TicOrg.performer_city
  1292. LEFT JOIN state Orgstate ON Orgstate.id = TicOrg.performer_state
  1293. LEFT JOIN countries Orgcountry ON Orgcountry.id=TicOrg.performer_country
  1294. LEFT JOIN ticket_carts Ticcart ON Ticcart.transaction_id = tranTic.id
  1295. WHERE tranTic.id='".$tranId."' AND tranTic.pflag='1' AND Ticcart.transaction_id!=0 AND (Ticcart.user_id='".$UserId."' || tranTic.photo_id='".(isset($_SESSION['UserId'])? $_SESSION['UserId']:0)."')
  1296. GROUP BY Ticcart.transaction_id
  1297. ORDER BY Ticcart.tran_time ASC ";
  1298. $qry=mysql_query($ticketqry) or die("Error on line :".__LINE__.mysql_error());
  1299. $this->set("q1",$qry);
  1300. }
  1301. function generateticket($tranId='',$userId=null) {
  1302. $this->layout = 'blank';
  1303. $this->ticketCategory();
  1304. $tranId=base64_decode($tranId);
  1305. if($userId==null) $userId = isset($_SESSION['UserId']) ? $_SESSION['UserId'] : 0;
  1306. $this->generateInvoice($tranId,$userId);
  1307. $this->render('generateticket');
  1308. }
  1309. function eventDetails($eventId) {
  1310. $previewsql = "
  1311. SELECT tic.*, ticcat.cat_name , ticvenue.id ticVanueId,ticvenue.venue_name ,
  1312. ticship.order_name ,ticvenue.venue_address ,S.Name,C.city_name,CN.country_name , tic.is_public, tic.password_private,
  1313. tic.user_id,
  1314. CONCAT_WS(', ',ticvenue.venue_address ,S.Name,C.city_name,CN.country_name) as placeofevent,
  1315. P.performer_name, P.perfomer_desc, P.performer_phone, P.performer_email
  1316. FROM tickets tic
  1317. LEFT JOIN ticket_event_category ticcat ON tic.ticket_category_id=ticcat.id
  1318. LEFT JOIN ticket_event_venue ticvenue ON tic.ticket_venue_section_id = ticvenue.id
  1319. LEFT JOIN state S ON(ticvenue.venue_state_id=S.id)
  1320. LEFT JOIN city_master C ON(ticvenue.venue_city_id=C.city_id)
  1321. LEFT JOIN countries CN ON(ticvenue.venue_country_id=CN.id)
  1322. LEFT JOIN ticket_ship_master ticship ON tic.ticket_ship_master_id = ticship.id
  1323. LEFT JOIN ticket_event_performer P ON P.id=tic.ticket_event_performer_id
  1324. WHERE tic.id='".$eventId."'";
  1325. $previewsql_res = mysql_query($previewsql) or die(mysql_error());
  1326. $previewsql_arr = mysql_fetch_assoc($previewsql_res);
  1327. $this->set("previewEvent",$previewsql_arr);
  1328. //check children
  1329. $sql = "SELECT id,ticevent_startdate,ticevent_enddate,ticket_dooropen FROM tickets WHERE id='".$eventId."' OR parent_id='".$eventId."'
  1330. AND is_temp='0' AND (NOW() < ticevent_enddate) ORDER BY ticevent_startdate";
  1331. $result = mysql_query($sql) or die(mysql_error());
  1332. $datetimes = array();
  1333. if(mysql_num_rows($result)>1){
  1334. while($row=mysql_fetch_array($result)){//Start date: 07/28/2011 at 10:00 AM, End date: 07/28/2011 at 10:00 AM, Door open: 01:00 AM
  1335. $startdate = strtotime($row['ticevent_startdate']);
  1336. $enddate = strtotime($row['ticevent_enddate']);
  1337. $datetime['datetime'] = "Start date: ".date("m/d/Y",$startdate)." at ".date("h:i A",$startdate).", End date: ".date("m/d/Y",$enddate)." at ".date("h:i A",$enddate).", Door open: ".date("h:i A",strtotime($row['ticket_dooropen']));
  1338. $datetime['id'] = $row['id'];
  1339. $datetimes[] = $datetime;
  1340. }
  1341. $this->set('datetimes',$datetimes);
  1342. $this->set('current_event_id',$datetimes[0]['id']);
  1343. }else{
  1344. $this->set('current_event_id',$eventId);
  1345. }
  1346. return $previewsql_arr;
  1347. }
  1348. function getPhoto($eventId) {
  1349. $q1="
  1350. SELECT T.user_id,U.*
  1351. FROM tickets T
  1352. LEFT JOIN user_details U ON(T.user_id=U.user_id)
  1353. WHERE T.id='".$eventId."'";
  1354. $query=mysql_query($q1) or die(mysql_error());
  1355. $rw=mysql_fetch_assoc($query);
  1356. return $rw;
  1357. }
  1358. function getSaleTax($eventId,$amount) {
  1359. $userDetail=$this->getPhoto($eventId);
  1360. $qry="SELECT tax FROM venue_saletax WHERE user_id='".$userDetail['user_id']."' AND state_id='".$userDetail['state']."'";
  1361. $rwQry=mysql_fetch_array(mysql_query($qry));
  1362. $sale_tax_cal = round((($amount * $rwQry['0'])/100),2) ;
  1363. $this->set('SaletaxVal',$rwQry['0']);
  1364. return $sale_tax_cal;
  1365. }
  1366. function getShipping($eventId,$amount) {
  1367. $q1=mysql_query("
  1368. SELECT ship_postage
  1369. FROM tickets T,ticket_shipping_list TS
  1370. WHERE T.ticket_ship_master_id=TS.ticket_ship_master_id AND T.id='".$eventId."' AND $amount BETWEEN ship_price_from AND ship_price_to
  1371. ");
  1372. $rw=mysql_fetch_array($q1);
  1373. return $rw['0'];
  1374. }
  1375. function eventdetail($catid=null,$eventid=null) {
  1376. $eventid=base64_decode($eventid);
  1377. $catid=base64_decode($catid);
  1378. //get seats
  1379. $seatsql = "SELECT * FROM tickets_product WHERE tickets_id ='".$eventid."'";
  1380. $this->set('seats',mysql_query($seatsql));
  1381. //DELETING THE UNPROCESSED TRANSACRTION FROM THE CART TABLE.
  1382. $this->verifyserverUrl($_SERVER['REQUEST_URI']);
  1383. if(isset($_SESSION['UserId'])) {
  1384. $sql = "SELECT * FROM ticket_carts WHERE user_id='".$_SESSION['UserId']."' AND pay_status='0'";
  1385. $result = mysql_query($sql);
  1386. while($row = mysql_fetch_array($result)) {
  1387. //delete cart
  1388. mysql_query("DELETE FROM ticket_cart_details WHERE cart_id='".$row['id']."'") or die(mysql_error());
  1389. mysql_query("DELETE FROM ticket_seat_booked WHERE cart_id='".$row['id']."'") or die(mysql_error());
  1390. mysql_query("DELETE FROM ticket_carts WHERE id='".$row['id']."'") or die(mysql_error());
  1391. }
  1392. }
  1393. $this->set("arg",$this->params);
  1394. $this->layout = 'ticketdetail';
  1395. $this->ticketCategory();
  1396. $this->pageTitle = 'Event Detail';
  1397. $this->set('eventid',$eventid);
  1398. $this->set("eventcat",$catid);
  1399. $this->set("catid",$catid);
  1400. $ticketDetails=$this->eventDetails($eventid);
  1401. }
  1402. function showmap() {
  1403. $this->layout = 'event_blank';
  1404. //$this->set('googleApiKey','ABQIAAAAZbvN0mJPDCn9zfVqOJrFGhTjCjhcgT5sBu_1-Crz1kMdzbs1gBQjnvJPAqera0uOmds8G6C0LV5Wuw');
  1405. }
  1406. function eventmap() {
  1407. $this->layout = 'event_blank';
  1408. /// FILESERVER : ABQIAAAAZbvN0mJPDCn9zfVqOJrFGhQqm1mUMRM_Eo-m6ZX5YqB39V6w7hQS_94m3yT8PemODFLrYSVQpkfUEA
  1409. /// SERVER : ABQIAAAAZbvN0mJPDCn9zfVqOJrFGhS-KiuPEQq0GrsMtFXPPlF7KwuyUBRpW6kaA7dJUSQY4su7jZCr_d3HlA
  1410. //"http://localhost:"ABQIAAAAO4MUzap1ASh6GqP2LdADShT2yXp_ZAY8_ufC3CFXhHIE1NvwkxT038xw4xtipfZlYhqCG0f-N6pKSA
  1411. $this->set('googleApiKey','ABQIAAAAO4MUzap1ASh6GqP2LdADShRKkXVcGXJeyJTZqOmXgYJHqb1yUxS1El0TvwuXVENbp-P69kXSuRojvA');
  1412. if(isset($this->params['url']['subDomain'])!='' && $this->params['url']['subDomain']='mpac') {
  1413. $this->set('googleApiKey',"ABQIAAAAO4MUzap1ASh6GqP2LdADShTktV2mukEYRnKiHRV5vkDtXer92BQefSfBw_iiWVpAeeFTq8GkfEs3qw");
  1414. }
  1415. }
  1416. function eventphoto() {
  1417. $this->layout = 'event_blank';
  1418. $this->set('googleApiKey','ABQIAAAAZbvN0mJPDCn9zfVqOJrFGhQqm1mUMRM_Eo-m6ZX5YqB39V6w7hQS_94m3yT8PemODFLrYSVQpkfUEA');
  1419. }
  1420. function manageevent() {
  1421. $this->checkSession();
  1422. $this->layout = 'ticketcategoryinner';
  1423. $this->ticketCategory();
  1424. $this->pageTitle = 'Manage Event';
  1425. $this->ticketCategory();
  1426. $eventsql = "SELECT xoe.id,xoe.ticket_category_id,xoe.ticevent_name,xoe.ticevent_startdate as eventstartdate, xoe.ticevent_enddate as eventenddate,
  1427. (xoe.is_temp='0') as is_published
  1428. FROM tickets xoe
  1429. LEFT JOIN ticket_event_category xocat ON(xoe.ticket_category_id = xocat.id)
  1430. WHERE xoe.user_id = ".$_SESSION['UserId']." AND xoe.parent_id=0";
  1431. if(isset($_REQUEST['hidsrch']) && $_REQUEST['hidsrch']!="") {
  1432. if(isset($_REQUEST['evtsrctxt']) && $_REQUEST['evtsrctxt']!="Event Title")
  1433. $eventsql .= " and xoe.ticevent_name like '%".$_REQUEST['evtsrctxt']."%'" ;
  1434. if(isset($_REQUEST['sdatefrom']) && $_REQUEST['sdatefrom']!="mm/dd/YY")
  1435. $eventsql .= " and xoe.ticevent_startdate >= '".date('Y-m-d',strtotime($_REQUEST['sdatefrom']))." 0:0:0' ";
  1436. if(isset($_REQUEST['sdateto']) && $_REQUEST['sdateto']!="mm/dd/YY")
  1437. $eventsql .= " and xoe.ticevent_startdate <= '".date('Y-m-d',strtotime($_REQUEST['sdateto']))." 23:59:59' ";
  1438. }
  1439. $eventsql .=" ORDER BY xoe.ticevent_startdate DESC";
  1440. $eventsql_res = mysql_query($eventsql) or die(mysql_error());
  1441. $eventnum = mysql_num_rows($eventsql_res) ;
  1442. if(($eventnum*40)<520) {
  1443. $divheight = ($eventnum*40) ;
  1444. }
  1445. else {
  1446. $divheight = ($eventnum*40)+20;
  1447. }
  1448. $this->set('eventsql_res',$eventsql_res);
  1449. $this->set('divheight',$divheight);
  1450. $this->set('eventnum',$eventnum);
  1451. }
  1452. function viewevent($eventid=null) {
  1453. $this->checkSession();
  1454. $this->layout = 'ticketcategoryinner';
  1455. $this->ticketCategory();
  1456. $this->pageTitle = 'View Event';
  1457. $this->set('eventid',base64_decode($eventid));
  1458. $this->eventDetails(base64_decode($eventid));
  1459. }
  1460. function delevent($eventid=null) {
  1461. /* DELETE FROM TICKET TABLE*/
  1462. $this->checkSession();
  1463. $eventid = base64_decode($eventid);
  1464. $ticsql = "DELETE FROM tickets WHERE (id='".$eventid."' OR parent_id='".$eventid."') AND user_id='".$_SESSION['UserId']."'";
  1465. $ticsql_res = mysql_query($ticsql);
  1466. $nextstepurl = 'tickets/manageevent' ;
  1467. $this->redirect($nextstepurl);
  1468. }
  1469. function ticketsales($ticeventid=null) {
  1470. $this->checkSession();
  1471. $this->layout = 'ticketcategoryinner';
  1472. $this->pageTitle = 'Ticket Event Sales';
  1473. $this->set("display","none");
  1474. $this->set("custOpen","Open");
  1475. $this->set("textMonth","month");
  1476. $this->set("textDay","day");
  1477. $this->set("textYear","year");
  1478. $this->set("textMonth2","month");
  1479. $this->set("textDay2","day");
  1480. $this->set("textYear2","year");
  1481. $this->set("textMonth_2","month");
  1482. $this->set("textDay_2","day");
  1483. $this->set("textYear_2","year");
  1484. $this->set("textMonth2_2","month");
  1485. $this->set("textDay2_2","day");
  1486. $this->set("textYear2_2","year");
  1487. $this->set("past",0);
  1488. $this->set("eventName",0);
  1489. $this->set("invoice",0);
  1490. $this->set("userId",0);
  1491. $this->set("fDate",0);
  1492. $this->set("tDate",0);
  1493. $this->set("dateErr");
  1494. if(isset($this->data['Ticket']['eventname']) && ($this->data['Ticket']['eventname'])!="") {
  1495. $this->set("display","block");
  1496. $eventName=$this->data['Ticket']['eventname'];
  1497. $this->data['Ticket']['within']="";
  1498. }
  1499. if(isset($this->data['Ticket']['invoice']) && ($this->data['Ticket']['invoice'])!="") {
  1500. $this->set("display","block");
  1501. $invoice=$this->data['Ticket']['invoice'];
  1502. $this->data['Ticket']['within']="";
  1503. }
  1504. if(isset($this->data['Ticket']['userid']) && ($this->data['Ticket']['userid'])!="") {
  1505. $this->set("display","block");
  1506. $userId=$this->data['Ticket']['userid'];
  1507. $this->data['Ticket']['within']="";
  1508. }
  1509. if(isset($this->data['Ticket']['fyear']) && isset($this->data['Ticket']['fmonth']) && isset($this->data['Ticket']['fday'])) {
  1510. $fromDate=$this->data['Ticket']['fyear']."-".$this->data['Ticket']['fmonth']."-".$this->data['Ticket']['fday'];
  1511. $len=strlen($fromDate);
  1512. if($len==10) {
  1513. $this->set("textMonth",$this->data['Ticket']['fmonth']);
  1514. $this->set("textDay",$this->data['Ticket']['fday']);
  1515. $this->set("textYear",$this->data['Ticket']['fyear']);
  1516. $this->set("display","block");
  1517. $this->data['Ticket']['within']="";
  1518. $dateF=date("Y-m-d",strtotime($this->data['Ticket']['fyear']."-".$this->data['Ticket']['fmonth']."-".$this->data['Ticket']['fday']));
  1519. $fDate=$dateF;
  1520. }
  1521. else if(($this->data['Ticket']['fyear'])!="year" && ($this->data['Ticket']['fmonth'])!="month" && ($this->data['Ticket']['fday'])!="day") {
  1522. $this->set("dateErr","Date format should be : mm/dd/yyyy");
  1523. }
  1524. }
  1525. if(isset($this->data['Ticket']['tyear']) && isset($this->data['Ticket']['tmonth']) && isset($this->data['Ticket']['tday'])) {
  1526. $toDate=$this->data['Ticket']['tyear']."-".$this->data['Ticket']['tmonth']."-".$this->data['Ticket']['tday'];
  1527. $len=strlen($toDate);
  1528. if($len==10) {
  1529. $this->set("textMonth2",$this->data['Ticket']['tmonth']);
  1530. $this->set("textDay2",$this->data['Ticket']['tday']);
  1531. $this->set("textYear2",$this->data['Ticket']['tyear']);
  1532. $this->set("display","block");
  1533. $this->data['Ticket']['within']="";
  1534. $dateT=date("Y-m-d",strtotime($this->data['Ticket']['tyear']."-".$this->data['Ticket']['tmonth']."-".$this->data['Ticket']['tday']));
  1535. $tDate=$dateT;
  1536. }
  1537. else
  1538. if(($this->data['Ticket']['tyear'])!="year" && ($this->data['Ticket']['tmonth'])!="month" && ($this->data['Ticket']['tday'])!="day") {
  1539. $this->set("dateErr","Date format should be : mm/dd/yyyy");
  1540. }
  1541. }
  1542. if(isset($this->data['Ticket']['radio'])) {
  1543. $radio = $this->data['Ticket']['radio'];
  1544. if($radio==1) {
  1545. if(isset($this->data['Ticket']['within'])) {
  1546. $withinType=$this->data['Ticket']['within'];
  1547. $week=date("Y-m-d G:i:s",mktime(date("G"),date("i"),date("s"),date("m"),(date("d")-7),date("Y")));
  1548. $month=date("Y-m-d G:i:s",mktime(date("G"),date("i"),date("s"),(date("m")-1),date("d"),date("Y")));
  1549. $year=date("Y-m-d G:i:s",mktime(date("G"),date("i"),date("s"),date("m"),date("d"),(date("Y")-1)));
  1550. $date=date("Y-m-d G:i:s");
  1551. if($withinType=="past") {
  1552. $curDate= $date;
  1553. }
  1554. if($withinType=="week") {
  1555. $past=$week;
  1556. $curDate=$date;
  1557. }
  1558. if($withinType=="month") {
  1559. $past=$month;
  1560. $curDate=$date;
  1561. }
  1562. if($withinType=="year") {
  1563. $past=$year;
  1564. $curDate=$date;
  1565. }
  1566. }
  1567. }
  1568. if($radio==2) {
  1569. $past='';
  1570. $curDate='';
  1571. $fromDate=$this->data['Ticket']['fyear_2']."-".$this->data['Ticket']['fmonth_2']."-".$this->data['Ticket']['fday_2'];
  1572. $len=strlen($fromDate);
  1573. if($len==10) {
  1574. $this->set("textMonth_2",$this->data['Ticket']['fmonth_2']);
  1575. $this->set("textDay_2",$this->data['Ticket']['fday_2']);
  1576. $this->set("textYear_2",$this->data['Ticket']['fyear_2']);
  1577. //$this->set("display","block");
  1578. $this->data['Ticket']['within']="";
  1579. $dateF=date("Y-m-d",strtotime($this->data['Ticket']['fyear_2']."-".$this->data['Ticket']['fmonth_2']."-".$this->data['Ticket']['fday_2']));
  1580. $past=$dateF;
  1581. }
  1582. else {
  1583. $this->set("dateErr","Date format should be : mm/dd/yyyy");
  1584. }
  1585. $toDate=$this->data['Ticket']['tyear_2']."-".$this->data['Ticket']['tmonth_2']."-".$this->data['Ticket']['tday_2'];
  1586. $len=strlen($toDate);
  1587. if($len==10) {
  1588. $this->set("textMonth2_2",$this->data['Ticket']['tmonth_2']);
  1589. $this->set("textDay2_2",$this->data['Ticket']['tday_2']);
  1590. $this->set("textYear2_2",$this->data['Ticket']['tyear_2']);
  1591. //$this->set("display","block");
  1592. $this->data['Ticket']['within']="";
  1593. $dateT=date("Y-m-d",strtotime($this->data['Ticket']['tyear_2']."-".$this->data['Ticket']['tmonth_2']."-".$this->data['Ticket']['tday_2']));
  1594. $curDate=$dateT;
  1595. }
  1596. else {
  1597. $this->set("dateErr","Date format should be : mm/dd/yyyy");
  1598. }
  1599. }
  1600. }
  1601. if(isset($_REQUEST['ticeventid'])) $ticeventid = $_REQUEST['ticeventid'];
  1602. if(isset($_REQUEST['radio'])) $radio = $_REQUEST['radio'];
  1603. if(isset($_REQUEST['withinType'])) $withinType = $_REQUEST['withinType'];
  1604. if(isset($_REQUEST['curDate'])) $curDate = $_REQUEST['curDate'];
  1605. if(isset($_REQUEST['past'])) $past = $_REQUEST['past'];
  1606. if(isset($_REQUEST['eventName'])) $eventName = $_REQUEST['eventName'];
  1607. if(isset($_REQUEST['invoice'])) $invoice = $_REQUEST['invoice'];
  1608. if(isset($_REQUEST['userId'])) $userId = $_REQUEST['userId'];
  1609. if(isset($_REQUEST['fDate'])) $fDate = $_REQUEST['fDate'];
  1610. if(isset($_REQUEST['tDate'])) $tDate = $_REQUEST['tDate'];
  1611. $select="SELECT XT.id tranId,XT.total_amount,XT.invoice,XT.date,XU.id userId,XU.username AS userName, CONCAT_WS(', ',XUDetail.first_name,XUDetail.last_name) as fullname,
  1612. XC.tickets_id,XC.ship,XC.saletax,XC.total_price AS basic, (XC.total_price*0.029+0.3) as paypal_fee, (XC.total_price*0.02+0.99) as transaction_fee,
  1613. T.id as eventId, T.ticket_category_id, T.ticevent_name ";
  1614. $from= ' FROM transaction_ticket XT
  1615. RIGHT JOIN ticket_carts XC ON(XT.id=XC.transaction_id)
  1616. LEFT JOIN tickets T ON (T.id=XC.tickets_id)
  1617. LEFT JOIN users XU ON ( XT.user_id = XU.id )
  1618. LEFT JOIN user_details XUDetail ON ( XUDetail.user_id = XU.id )
  1619. ';
  1620. $where=" WHERE XT.photo_id='".$_SESSION['UserId']."' AND XT.pflag='1' ";
  1621. $PassParameter = '';
  1622. if($ticeventid && $ticeventid!=0) {
  1623. $where.=" AND XC.tickets_id='".$ticeventid."'";
  1624. $PassParameter .= "&ticeventid=".$ticeventid;
  1625. }
  1626. if(isset($radio)) {
  1627. $PassParameter .= "&radio=".$radio;
  1628. if(isset($withinType)) $PassParameter .= "&withinType=".$withinType;
  1629. if(isset($past)) $PassParameter .= "&past=".$past;
  1630. if(isset($curDate)) $PassParameter .= "&curDate=".$curDate;
  1631. if(isset($withinType) && $withinType=="past")
  1632. $where.=" AND XT.date <'".$curDate."'";
  1633. else
  1634. $where.=" AND XT.date BETWEEN '".$past."' AND '".$curDate."'";
  1635. }
  1636. if(isset($eventName) && $eventName!='') {
  1637. $where.=" AND T.ticevent_name LIKE '%".$eventName."%'";
  1638. $PassParameter .= "&eventName=".$eventName;
  1639. }
  1640. if(isset($invoice) && $invoice!='') {
  1641. $where.=" AND XT.invoice LIKE '%".$invoice."%'";
  1642. $PassParameter .= "&invoice=".$invoice;
  1643. }
  1644. if(isset($userId) && $userId!='') {
  1645. $where.=" AND XU.username LIKE '%".$userId."%'";
  1646. $PassParameter .= "&userId=".$userId;
  1647. }
  1648. if(isset($fDate) && $fDate!='' && isset($tDate) && $tDate!='') {
  1649. $where.=" AND XT.date BETWEEN '".$fDate."' AND '".$tDate."'";
  1650. $PassParameter .= "&fDate=".$fDate."&tDate=".$tDate;
  1651. }
  1652. $others=" GROUP BY XT.id ORDER BY XC.tran_time DESC";
  1653. $CountField="XT.id";
  1654. $this->set("controller","tickets");
  1655. $this->set("action","ticketsales");
  1656. $this->set("parameter",$PassParameter);
  1657. $this->set('elementsUpdate',array('backdroplist','pagegin'));
  1658. $this->pagination($select,$from,$where,$others,$CountField,$this->params['url'],$PassParameter);
  1659. $this->ticketCategory();
  1660. if(isset($this->params['url']['Page']) ) {
  1661. $this->render("ticketsales_ajax","ajax");
  1662. }
  1663. $this->set('sql',$where);
  1664. }
  1665. function myorderhistory($uid=null,$keyuserId=null) {
  1666. //$this->checkSession();
  1667. $this->layout = 'ticketcategoryinner';
  1668. $this->pageTitle = 'Ticket Event Order History';
  1669. $this->ticketCategory();
  1670. $ticeventid=null;
  1671. if(!isset($_SESSION['UserId'])) {
  1672. if(isset($_POST['uid']) && isset($_POST['key']) && $_POST['key']==md5('checklogin')) {
  1673. $uid = base64_decode($_POST['uid']);
  1674. $this->login_again($uid);
  1675. }else if($keyuserId && $uid ) {
  1676. $uid = base64_decode($uid);
  1677. if(md5('checklogin'.$uid)==$keyuserId) {
  1678. $this->login_again($uid);
  1679. }
  1680. }
  1681. }
  1682. if(!isset($_SESSION['UserId'])) {
  1683. return;
  1684. }
  1685. if(isset($_SESSION['UserId'])) {
  1686. $sql = "SELECT * FROM ticket_carts WHERE user_id='".$_SESSION['UserId']."' AND pay_status='0'";
  1687. $result = mysql_query($sql);
  1688. while($row = mysql_fetch_array($result)) {
  1689. //delete cart
  1690. mysql_query("DELETE FROM ticket_cart_details WHERE cart_id='".$row['id']."'") or die(mysql_error());
  1691. mysql_query("DELETE FROM ticket_seat_booked WHERE cart_id='".$row['id']."'") or die(mysql_error());
  1692. mysql_query("DELETE FROM ticket_carts WHERE id='".$row['id']."'") or die(mysql_error());
  1693. }
  1694. }
  1695. $this->set("display","none");
  1696. $this->set("custOpen","Open");
  1697. $this->set("textMonth","month");
  1698. $this->set("textDay","day");
  1699. $this->set("textYear","year");
  1700. $this->set("textMonth2","month");
  1701. $this->set("textDay2","day");
  1702. $this->set("textYear2","year");
  1703. $this->set("textMonth_2","month");
  1704. $this->set("textDay_2","day");
  1705. $this->set("textYear_2","year");
  1706. $this->set("textMonth2_2","month");
  1707. $this->set("textDay2_2","day");
  1708. $this->set("textYear2_2","year");
  1709. $this->set("past",0);
  1710. $this->set("eventName",0);
  1711. $this->set("invoice",0);
  1712. $this->set("userId",0);
  1713. $this->set("fDate",0);
  1714. $this->set("tDate",0);
  1715. $this->set("dateErr");
  1716. if(isset($this->data['Ticket']['eventname']) && ($this->data['Ticket']['eventname'])!="") {
  1717. $this->set("display","block");
  1718. $eventName=$this->data['Ticket']['eventname'];
  1719. $this->data['Ticket']['within']="";
  1720. }
  1721. if(isset($this->data['Ticket']['invoice']) && ($this->data['Ticket']['invoice'])!="") {
  1722. $this->set("display","block");
  1723. $invoice=$this->data['Ticket']['invoice'];
  1724. $this->data['Ticket']['within']="";
  1725. }
  1726. if(isset($this->data['Ticket']['userid']) && ($this->data['Ticket']['userid'])!="") {
  1727. $this->set("display","block");
  1728. $userId=$this->data['Ticket']['userid'];
  1729. $this->data['Ticket']['within']="";
  1730. }
  1731. if(isset($this->data['Ticket']['fyear']) && isset($this->data['Ticket']['fmonth']) && isset($this->data['Ticket']['fday'])) {
  1732. $fromDate=$this->data['Ticket']['fyear']."-".$this->data['Ticket']['fmonth']."-".$this->data['Ticket']['fday'];
  1733. $len=strlen($fromDate);
  1734. if($len==10) {
  1735. $this->set("textMonth",$this->data['Ticket']['fmonth']);
  1736. $this->set("textDay",$this->data['Ticket']['fday']);
  1737. $this->set("textYear",$this->data['Ticket']['fyear']);
  1738. $this->set("display","block");
  1739. $this->data['Ticket']['within']="";
  1740. $dateF=date("Y-m-d",strtotime($this->data['Ticket']['fyear']."-".$this->data['Ticket']['fmonth']."-".$this->data['Ticket']['fday']));
  1741. $fDate=$dateF;
  1742. }
  1743. else if(($this->data['Ticket']['fyear'])!="year" && ($this->data['Ticket']['fmonth'])!="month" && ($this->data['Ticket']['fday'])!="day") {
  1744. $this->set("dateErr","Date format should be : mm/dd/yyyy");
  1745. }
  1746. }
  1747. if(isset($this->data['Ticket']['tyear']) && isset($this->data['Ticket']['tmonth']) && isset($this->data['Ticket']['tday'])) {
  1748. $toDate=$this->data['Ticket']['tyear']."-".$this->data['Ticket']['tmonth']."-".$this->data['Ticket']['tday'];
  1749. $len=strlen($toDate);
  1750. if($len==10) {
  1751. $this->set("textMonth2",$this->data['Ticket']['tmonth']);
  1752. $this->set("textDay2",$this->data['Ticket']['tday']);
  1753. $this->set("textYear2",$this->data['Ticket']['tyear']);
  1754. $this->set("display","block");
  1755. $this->data['Ticket']['within']="";
  1756. $dateT=date("Y-m-d",strtotime($this->data['Ticket']['tyear']."-".$this->data['Ticket']['tmonth']."-".$this->data['Ticket']['tday']));
  1757. $tDate=$dateT;
  1758. }
  1759. else
  1760. if(($this->data['Ticket']['tyear'])!="year" && ($this->data['Ticket']['tmonth'])!="month" && ($this->data['Ticket']['tday'])!="day") {
  1761. $this->set("dateErr","Date format should be : mm/dd/yyyy");
  1762. }
  1763. }
  1764. if(isset($this->data['Ticket']['radio'])) {
  1765. $radio = $this->data['Ticket']['radio'];
  1766. if($radio==1) {
  1767. if(isset($this->data['Ticket']['within'])) {
  1768. $withinType=$this->data['Ticket']['within'];
  1769. $week=date("Y-m-d G:i:s",mktime(date("G"),date("i"),date("s"),date("m"),(date("d")-7),date("Y")));
  1770. $month=date("Y-m-d G:i:s",mktime(date("G"),date("i"),date("s"),(date("m")-1),date("d"),date("Y")));
  1771. $year=date("Y-m-d G:i:s",mktime(date("G"),date("i"),date("s"),date("m"),date("d"),(date("Y")-1)));
  1772. $date=date("Y-m-d G:i:s");
  1773. if($withinType=="past") {
  1774. $curDate= $date;
  1775. }
  1776. if($withinType=="week") {
  1777. $past=$week;
  1778. $curDate=$date;
  1779. }
  1780. if($withinType=="month") {
  1781. $past=$month;
  1782. $curDate=$date;
  1783. }
  1784. if($withinType=="year") {
  1785. $past=$year;
  1786. $curDate=$date;
  1787. }
  1788. }
  1789. }
  1790. if($radio==2) {
  1791. $past='';
  1792. $curDate='';
  1793. $fromDate=$this->data['Ticket']['fyear_2']."-".$this->data['Ticket']['fmonth_2']."-".$this->data['Ticket']['fday_2'];
  1794. $len=strlen($fromDate);
  1795. if($len==10) {
  1796. $this->set("textMonth_2",$this->data['Ticket']['fmonth_2']);
  1797. $this->set("textDay_2",$this->data['Ticket']['fday_2']);
  1798. $this->set("textYear_2",$this->data['Ticket']['fyear_2']);
  1799. //$this->set("display","block");
  1800. $this->data['Ticket']['within']="";
  1801. $dateF=date("Y-m-d",strtotime($this->data['Ticket']['fyear_2']."-".$this->data['Ticket']['fmonth_2']."-".$this->data['Ticket']['fday_2']));
  1802. $past=$dateF;
  1803. }
  1804. else {
  1805. $this->set("dateErr","Date format should be : mm/dd/yyyy");
  1806. }
  1807. $toDate=$this->data['Ticket']['tyear_2']."-".$this->data['Ticket']['tmonth_2']."-".$this->data['Ticket']['tday_2'];
  1808. $len=strlen($toDate);
  1809. if($len==10) {
  1810. $this->set("textMonth2_2",$this->data['Ticket']['tmonth_2']);
  1811. $this->set("textDay2_2",$this->data['Ticket']['tday_2']);
  1812. $this->set("textYear2_2",$this->data['Ticket']['tyear_2']);
  1813. //$this->set("display","block");
  1814. $this->data['Ticket']['within']="";
  1815. $dateT=date("Y-m-d",strtotime($this->data['Ticket']['tyear_2']."-".$this->data['Ticket']['tmonth_2']."-".$this->data['Ticket']['tday_2']));
  1816. $curDate=$dateT;
  1817. }
  1818. else {
  1819. $this->set("dateErr","Date format should be : mm/dd/yyyy");
  1820. }
  1821. }
  1822. }
  1823. if(isset($_REQUEST['ticeventid'])) $ticeventid = $_REQUEST['ticeventid'];
  1824. if(isset($_REQUEST['radio'])) $radio = $_REQUEST['radio'];
  1825. if(isset($_REQUEST['withinType'])) $withinType = $_REQUEST['withinType'];
  1826. if(isset($_REQUEST['curDate'])) $curDate = $_REQUEST['curDate'];
  1827. if(isset($_REQUEST['past'])) $past = $_REQUEST['past'];
  1828. if(isset($_REQUEST['eventName'])) $eventName = $_REQUEST['eventName'];
  1829. if(isset($_REQUEST['invoice'])) $invoice = $_REQUEST['invoice'];
  1830. if(isset($_REQUEST['userId'])) $userId = $_REQUEST['userId'];
  1831. if(isset($_REQUEST['fDate'])) $fDate = $_REQUEST['fDate'];
  1832. if(isset($_REQUEST['tDate'])) $tDate = $_REQUEST['tDate'];
  1833. $select="SELECT XT.id tranId,XT.total_amount,XT.invoice,XT.date,XU.id userId,XU.username AS userName,CONCAT_WS(', ',XUDetail.first_name,XUDetail.last_name) as fullname,
  1834. XC.tickets_id,XC.ship,XC.saletax,XC.total_price AS basic,
  1835. T.id as eventId, T.ticket_category_id, T.ticevent_name ";
  1836. $from= ' FROM transaction_ticket XT
  1837. RIGHT JOIN ticket_carts XC ON(XT.id=XC.transaction_id)
  1838. LEFT JOIN tickets T ON (T.id=XC.tickets_id)
  1839. LEFT JOIN users XU ON ( XT.user_id = XU.id )
  1840. LEFT JOIN user_details XUDetail ON ( XUDetail.user_id = XU.id ) ';
  1841. $where=" WHERE XT.user_id='".$_SESSION['UserId']."' AND XT.pflag='1' ";
  1842. $PassParameter = '';
  1843. if($ticeventid && $ticeventid!=0) {
  1844. $where.=" AND XC.tickets_id='".$ticeventid."'";
  1845. $PassParameter .= "&ticeventid=".$ticeventid;
  1846. }
  1847. if(isset($radio)) {
  1848. $PassParameter .= "&radio=".$radio;
  1849. if(isset($withinType)) $PassParameter .= "&withinType=".$withinType;
  1850. if(isset($past)) $PassParameter .= "&past=".$past;
  1851. if(isset($curDate)) $PassParameter .= "&curDate=".$curDate;
  1852. if(isset($withinType) && $withinType=="past")
  1853. $where.=" AND XT.date <'".$curDate."'";
  1854. else
  1855. $where.=" AND XT.date BETWEEN '".$past."' AND '".$curDate."'";
  1856. }
  1857. if(isset($eventName) && $eventName!='') {
  1858. $where.=" AND T.ticevent_name LIKE '%".$eventName."%'";
  1859. $PassParameter .= "&eventName=".$eventName;
  1860. }
  1861. if(isset($invoice) && $invoice!='') {
  1862. $where.=" AND XT.invoice LIKE '%".$invoice."%'";
  1863. $PassParameter .= "&invoice=".$invoice;
  1864. }
  1865. if(isset($userId) && $userId!='') {
  1866. $where.=" AND XU.username LIKE '%".$userId."%'";
  1867. $PassParameter .= "&userId=".$userId;
  1868. }
  1869. if(isset($fDate) && $fDate!='' && isset($tDate) && $tDate!='') {
  1870. $where.=" AND XT.date BETWEEN '".$fDate."' AND '".$tDate."'";
  1871. $PassParameter .= "&fDate=".$fDate."&tDate=".$tDate;
  1872. }
  1873. $others=" GROUP BY XT.id ORDER BY XC.tran_time DESC";
  1874. $CountField="XT.id";
  1875. $this->set("controller","tickets");
  1876. $this->set("action","myorderhistory");
  1877. $this->set("parameter",$PassParameter);
  1878. $this->set('elementsUpdate',array('backdroplist','pagegin'));
  1879. $this->pagination($select,$from,$where,$others,$CountField,$this->params['url'],$PassParameter);
  1880. if(isset($this->params['url']['Page']) ) {
  1881. $this->render("myorderhistory2","ajax");
  1882. }
  1883. }
  1884. function exportdata2excel($type) {
  1885. $this->layout='blank';
  1886. $select="SELECT XT.invoice,XT.date,XU.username AS userName, XC.total_price AS basic, T.ticevent_name,
  1887. (XC.total_price*0.029+0.3) as paypal_fee, (XC.total_price*0.02+0.99) as transaction_fee ";
  1888. $from= " FROM transaction_ticket XT
  1889. RIGHT JOIN ticket_carts XC ON(XT.id=XC.transaction_id)
  1890. LEFT JOIN tickets T ON (T.id=XC.tickets_id)
  1891. LEFT JOIN users XU ON ( XT.user_id = XU.id ) ";
  1892. $where=" WHERE XT.pflag='1' ";
  1893. if($type==1) {//sales
  1894. $select .= ", CONCAT_WS(', ',BUYusrdetail.first_name,BUYusrdetail.last_name) as fullname,BUYusrdetail.email,BUYusrdetail.address as address,BUYstate.Name as state,BUYCity.city_name as city,BUYcountry.country_name as country , BUYusrdetail.mobile_phone as phone,BUYusrdetail.zip as zip";
  1895. $from .= " LEFT JOIN user_details BUYusrdetail ON (BUYusrdetail.user_id=XT.user_id)
  1896. LEFT JOIN state BUYstate ON BUYstate.id = BUYusrdetail.state
  1897. LEFT JOIN city_master BUYCity ON BUYCity.city_id = BUYusrdetail.city
  1898. LEFT JOIN countries BUYcountry ON BUYcountry.id=BUYusrdetail.c_id ";
  1899. $where .= " AND XT.photo_id='".$_SESSION['UserId']."' ";
  1900. }else {//order history
  1901. $where .= " AND XT.user_id='".$_SESSION['UserId']."' ";
  1902. }
  1903. if(isset($_REQUEST['radio'])) {
  1904. if(isset($_REQUEST['withinType']) && $_REQUEST['withinType']=="past")
  1905. $where.=" AND XT.date <'".$_REQUEST['curDate']."'";
  1906. else
  1907. $where.=" AND XT.date BETWEEN '".$_REQUEST['past']."' AND '".$_REQUEST['curDate']."'";
  1908. }
  1909. if(isset($_REQUEST['eventName']) && $_REQUEST['eventName']!='') {
  1910. $where.=" AND T.ticevent_name LIKE '%".$_REQUEST['eventName']."%'";
  1911. }
  1912. if(isset($_REQUEST['invoice']) && $_REQUEST['invoice']!='') {
  1913. $where.=" AND XT.invoice LIKE '%".$_REQUEST['invoice']."%'";
  1914. }
  1915. if(isset($_REQUEST['userId']) && $_REQUEST['userId']!='') {
  1916. $where.=" AND XU.username LIKE '%".$_REQUEST['userId']."%'";
  1917. }
  1918. if(isset($_REQUEST['fDate']) && $_REQUEST['fDate']!='' && isset($_REQUEST['tDate']) && $_REQUEST['tDate']!='') {
  1919. $where.=" AND XT.date BETWEEN '".$_REQUEST['fDate']."' AND '".$_REQUEST['tDate']."'";
  1920. }
  1921. $others=" GROUP BY XT.id ORDER BY XT.date DESC";
  1922. $result = mysql_query($select.$from.$where.$others) or die(mysql_error());
  1923. $list = array();
  1924. $total = 0;
  1925. $totalPaypalFee = 0;
  1926. $totalTransFee = 0;
  1927. if($type==1) {
  1928. $list[] = array('','','','','','','','','','','','','','');
  1929. while($row=mysql_fetch_array($result)) {
  1930. $address = $row['address'];
  1931. if($row['city']!='') $address .=', <br/>'.$row['city'];
  1932. if($row['state']!='') $address .=', '.$row['state'];
  1933. if($row['zip']!='' && $row['zip']!='0') $address .=' '.$row['zip'];
  1934. if($row['country']!='') $address .='<br/>'.$row['country'];
  1935. $list[] = array($row['invoice'],date('m-d-Y h:i A',strtotime($row['date'])),$row['userName'].'/ '.$row['fullname'],$row['email'],$row['phone'],$row['address'],$row['city'],$row['state'],$row['zip'],$row['country'],$row['ticevent_name'],$row['basic'],$row['paypal_fee'],$row['transaction_fee']);
  1936. $total+=$row['basic'];
  1937. $totalPaypalFee+=$row['paypal_fee'];
  1938. $totalTransFee+=$row['transaction_fee'];
  1939. }
  1940. $rows = array();
  1941. $title = 'Result Sales Order Search';
  1942. $header= 'Invoice No,Date,Username/Full Name,Email,Phone,Address,City,State,Zip,Country,Event Name,Amount($),Paypal Fee($), Transaction Fee($)';
  1943. $rows[] = array('','','','','','','','','','','','','','');
  1944. $rows = array_merge($rows, $list);
  1945. $rows[] = array('','','','','','','','','','','','','','');
  1946. $rows[] = array('<b>Total</b>','','','','','','','','','','',$total,$totalPaypalFee,$totalTransFee);
  1947. $this->set('numcols',14);
  1948. }else {
  1949. $list[] = array('','','','','');
  1950. while($row=mysql_fetch_array($result)) {
  1951. $list[] = array($row['invoice'],date('m-d-Y h:i A',strtotime($row['date'])),$row['userName'],$row['ticevent_name'],$row['basic']);
  1952. $total+=$row['basic'];
  1953. }
  1954. $rows = array();
  1955. $title = 'Result Order History Search';
  1956. $header= 'Invoice No,Date,User Name,Event Name,Amount($)';
  1957. $rows[] = array('','','','','');
  1958. $rows = array_merge($rows, $list);
  1959. $rows[] = array('','','','','');
  1960. $rows[] = array('<b>Total</b>','','','',$total);
  1961. $this->set('numcols',5);
  1962. }
  1963. $this->set('titlePage',$title);
  1964. $this->set('rows',$rows);
  1965. $this->set('header',$header);
  1966. $this->set('sql',$select.$from.$where.$others);
  1967. }
  1968. public function extension($basename) {
  1969. $pos=strrpos($basename,".");
  1970. return substr($basename,$pos);
  1971. }
  1972. function downloadfile() {
  1973. $fileName=$this->params['url']['f'];
  1974. $basePath='../app/webroot/download/';
  1975. $this->Download->downloadFile($basePath,$fileName);
  1976. }
  1977. function get_location() {
  1978. $this->layout='blank';
  1979. if($_REQUEST['type']=='state') {
  1980. $this->set('stateList',$this->getStateList($_REQUEST['country_id']));
  1981. }
  1982. if($_REQUEST['type']=='city') {
  1983. $this->set('cityList',$this->getCityList($_REQUEST['state_id']));
  1984. }
  1985. }
  1986. function get_location_custom() {
  1987. $this->layout='blank';
  1988. if($_REQUEST['type']=='state') {
  1989. $this->set('stateList',$this->getStateList($_REQUEST['country_id']));
  1990. $this->set('stateSelect',$_REQUEST['provinceSelect']);
  1991. $this->set('citySelect',$_REQUEST['citySelect']);
  1992. }
  1993. if($_REQUEST['type']=='city') {
  1994. $this->set('cityList',$this->getCityList($_REQUEST['state_id']));
  1995. $this->set('citySelect',$_REQUEST['citySelect']);
  1996. }
  1997. }
  1998. function pagination($select,$from,$where,$others,$CountField,$arg,$PassParameter) {
  1999. if(isset($arg['Page']))
  2000. $pageFlag=$arg['Page'];
  2001. $this->set("PassParameter",$PassParameter);
  2002. $SetUserNumberOfVpsPerPage=SHOW_REC; /* Defined in config->paths.php*/
  2003. $this->set("BackgroundClass",'pagination');
  2004. $this->set("SelectedPage",'pagination_over');
  2005. $this->set("Linkpage",'pagination_over');
  2006. $this->set("FirstImage",'fdd.gif');
  2007. $this->set("PreviousImage",'previous.gif');
  2008. $this->set("NextImage",'next.gif');
  2009. $this->set("LastImage",'rewd.gif');
  2010. $UserNumberOfVpsPerPage=SHOW_REC; /* Defined in config->paths.php*/
  2011. if(!is_numeric($UserNumberOfVpsPerPage)|| (intval($UserNumberOfVpsPerPage)!=$UserNumberOfVpsPerPage)||($UserNumberOfVpsPerPage<=0))
  2012. $UserNumberOfVpsPerPage = $SetUserNumberOfVpsPerPage;
  2013. if(!isset($arg['Page'])) $arg['Page']=1;
  2014. if(!isset($arg['Offset'])) $arg['Offset']=0;
  2015. $Query_ForNumber_Records=mysql_query("$select $from $where $others") or die('Line no 120' . mysql_error());
  2016. //$Result_Query_ForNumber_Records=mysql_fetch_object($Query_ForNumber_Records);
  2017. //$NoOfVps=$Result_Query_ForNumber_Records->NoOfVps;
  2018. $NoOfVps=mysql_num_rows($Query_ForNumber_Records);
  2019. $NumberOfVpsPerPage=$UserNumberOfVpsPerPage;
  2020. $NoOfPages=ceil($NoOfVps/$NumberOfVpsPerPage); //3
  2021. if($arg['Offset']==$NoOfVps) {
  2022. if(isset($Offset)) {
  2023. $Offset=$Offset-$NumberOfVpsPerPage;
  2024. $Page--;
  2025. if($Offset<0) {
  2026. $Offset=0;
  2027. $Page=1;
  2028. }
  2029. }else {
  2030. $Offset=0;
  2031. $Page=1;
  2032. }
  2033. }
  2034. $this->set("Page",$arg['Page']);
  2035. $this->set("Offset",$arg['Offset']);
  2036. $this->set("NumberOfVpsPerPage",$NumberOfVpsPerPage);
  2037. $this->set("NoOfPages",$NoOfPages);
  2038. $this->set("UserNumberOfVpsPerPage",$UserNumberOfVpsPerPage);
  2039. //print "$select $from $where $others";
  2040. $this->set("qryOthr","$select $from $where $others");
  2041. $SelectRecord = mysql_query("$select $from $where $others LIMIT ".$arg['Offset'].",$NumberOfVpsPerPage") or die('Line no '.__LINE__ . mysql_error());
  2042. $this->set("query",$SelectRecord);
  2043. return $SelectRecord;
  2044. }
  2045. function delete_cart($UserId,$cart_id){//private
  2046. //delete cart
  2047. $sql = "SELECT * FROM ticket_carts WHERE user_id='".$UserId."' AND id='".$cart_id."'";
  2048. $result = mysql_query($sql);
  2049. while($row = mysql_fetch_array($result)) {
  2050. //delete cart
  2051. mysql_query("DELETE FROM ticket_cart_details WHERE cart_id='".$row['id']."'") or die(mysql_error());
  2052. mysql_query("DELETE FROM ticket_seat_booked WHERE cart_id='".$row['id']."'") or die(mysql_error());
  2053. mysql_query("DELETE FROM ticket_carts WHERE id='".$row['id']."'") or die(mysql_error());
  2054. mysql_query("DELETE FROM transaction_ticket WHERE id='".$row['transaction_id']."'") or die(mysql_error());
  2055. }
  2056. }
  2057. function test_sql(){
  2058. }
  2059. }
  2060. ?>