-
Notifications
You must be signed in to change notification settings - Fork 5
/
ticketnetwork_ticket.class.php
126 lines (111 loc) · 3.03 KB
/
ticketnetwork_ticket.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?php
/**
* @file ticketnetwork_tickets.class.php
* @package TicketNetwork
*
* @license see LICENSE.txt
* @author jwwicks <jwwicks-at-gmail-dot-com>
*/
if(!class_exists('TicketNetworkBase')){
require_once('ticketnetwork.class.php');
}
/**
* @class TNTicket
* @brief TicketNetwork Tickets
*
* @since 0.0.1
*/
class TNTicket extends TicketNetworkBase{
public function __construct($options=false){
self::_defaults();
if($options){
self::config($options);
}
}
/**
*
websiteConfigID:
numberOfRecords:
eventID:
lowPrice:
highPrice:
ticketGroupID:
mandatoryCreditCard:
requestedSplit:
sortColumn:
sortDescending:
*/
public function get($params=false){
//$params = array('websiteConfigID' => WEB_CONF_ID, 'numberOfRecords' => TICKET_PAGINATION, 'eventID' => 1714400, 'lowPrice' => null, 'highPrice' => null, 'ticketGroupID' => null, 'mandatoryCreditCard' => null, 'requestedSplit' => null, 'sortColumn' => null, 'sortDescending' => null);
$this->_request['method'] = 'GetTickets';
if($params){
if(array_key_exists('method', $params)){
$this->_request['method'] = $params['method'];
unset($params['method']);
}else if(array_key_exists('eventID', $params)){
$this->_request['method'] = 'GetEventTickets';
}
$this->set($params);
}
return $this;
}
/**
* Parse the results from TicketNetwork
* @return string|unknown
*/
public function parse(){
$this->_data = array();
try{
parent::parse();
if(!empty($this->_response)){
if($this->_request['method'] == 'GetTickets'){
if(is_array($this->_response->GetTicketsResult->TicketGroup)){
foreach($this->_response->GetTicketsResult->TicketGroup as $ticket){
$this->_data[] = $ticket;
}
}else{
$this->_data = null;
}
}else if($this->_request['method'] == 'GetTicketsCompressed'){
if(!empty($this->_response->GetTicketsCompressedResult)){
//$result = gzdecode($this->_response->GetTicketsCompressedResult);
foreach($this->_response->GetTicketsCompressedResult->Tickets->TicketGroup as $ticket){
$this->_data[] = $ticket;
}
}else{
$this->_data = null;
}
}else if($this->_request['method'] == 'GetEventTickets2'){
if(!empty($this->_response->GetEventTickets2Result->Tickets->TicketGroup2)){
foreach($this->_response->GetEventTickets2Result->Tickets->TicketGroup2 as $ticket){
$this->_data[] = $ticket;
}
}else{
$this->_data = null;
}
}else{
if(!empty($this->_response->GetEventTicketsResult->Tickets->TicketGroup)){
foreach($this->_response->GetEventTicketsResult->Tickets->TicketGroup as $ticket){
$this->_data[] = $ticket;
}
}else{
$this->_data = null;
}
}
}else{
$this->_data = null;
}
}catch(TNException $e){
$err = $this->debug($e_>getMessage());
echo $err;
}
return $this;
}
protected function _defaults(){
parent::_defaults();
$this->_request = array(
'method' => 'GetTickets',
'parameters' => array()
);
}
}