1var mainLoop = 1; 2 3function getApiData() { 4 var weekArray = [ 5 "Sunday", 6 "Monday", 7 "Tuesday", 8 "Wednesday", 9 "Thursday", 10 "Friday", 11 "Saturday", 12 ]; 13 /*if(type == 'calendar' && lastDate) 14 requestHeader1.date_range.from_date = lastDate.split("-").reverse().join("-");*/ 15 $("body").addClass("loading"); 16 17 requestHeader1.page = page; 18 scrollEvent = 0; 19 if (typeof targetUrlPass != "undefined" && targetUrlPass != "") { 20 targetUrl = targetUrlPass; 21 } else { 22 targetUrl = "https://www.comparetheticketprice.com/api/v1/events"; 23 } 24 25 var settings = { 26 url: targetUrl, 27 method: "GET", 28 timeout: 0, 29 headers: { 30 "data-x-request": JSON.stringify(requestHeader1), 31 Authorization: requestToken, 32 "Content-Type": "application/json", 33 }, 34 }; 35 36 $.ajax(settings).done(function (response) { 37 $("body").removeClass("loading"); 38 scrollEvent = 1; 39 var response = JSON.parse(response); 40 41 if (response.more_flag == false) { 42 moreEvent = 0; 43 } 44 if (response.current_page < response.total_pages) { 45 moreEvent = 1; 46 page = page + 1; 47 } else { 48 moreEvent = 0; 49 } 50 var events = response.events; 51 var bannerData = response.section_banners; 52 var BannerOffset = 0; 53 if (events.length > 0) { 54 eventOffset = events.length + eventOffset; 55 for (var i = 0; i < events.length; i++) { 56 if (events[i].performance.length > 0) { 57 var divId = "#event-" + events[i].date; 58 if (!$("#event-" + events[i].date).length) { 59 $("#event-list").append( 60 `<h2>` + formatDateNew(events[i].date) + `</h2>` 61 ); 62 $("#event-list").append( 63 `<div class="row" id="event-` + 64 events[i].date + 65 `">` 66 ); 67 } 68 eventCount = events[i].performance.length; 69 for (var j = 0; j < events[i].performance.length; j++) { 70 var data = []; 71 data["title"] = events[i].performance[j].title; 72 data["description"] = 73 events[i].performance[j].our_desc + "" + events[i].performance[j].description; 74 data["slug"] = events[i].performance[j].slug; 75 data["is_free"] = events[i].performance[j].is_free; 76 data["is_offer"] = events[i].performance[j].is_offer; 77 data["is_comp"] = events[i].performance[j].is_comp; 78 data["venue"] = 79 events[i].performance[j].venue_name + 80 (events[i].performance[j].location 81 ? ", " + events[i].performance[j].location 82 : ""); 83 data["venue_slug"] = 84 events[i].performance[j].venue_slug; 85 data["event_slug"] = events[i].performance[j].slug; 86 data["event_link"] = 87 events[i].performance[j].event_link; 88 data["resource_id"] = 89 events[i].performance[j].resource_id; 90 data["date"] = formatDateNew( 91 events[i].performance[j].performance_date 92 ); 93 data["media"] = events[i].performance[j].media; 94 data["event"] = events[i].performance[j]; 95 setDataToView(data, eventCount, divId); 96 lastDate = events[i].date; 97 } 98 if (events[i].more_flag) { 99 d = new Date(events[i].performance[0].performance_date); 100 var day = weekArray[d.getDay()]; 101 if (!$(".btn-date-row-" + events[i].date).length) { 102 $("#event-list").append( 103 '<div class="row"><div class="col-md-12 mb-5 text-center"><button data-total-events="' + 104 events[i].performance.length + 105 '" data-date="' + 106 events[i].date + 107 '" data-div-id="event-' + 108 events[i].date + 109 '" data-more="' + 110 events[i].more_flag + 111 '" class="btn btn-dark more-event-by-day btn-date-row-' + 112 events[i].date + 113 '">View More Events For ' + 114 day + 115 "</button></div></div>" 116 ); 117 $( 118 ".more-event-by-day.btn-date-row-" + 119 events[i].date 120 ).bind("click", moreEventByDay); 121 } else { 122 var currLen = $( 123 ".btn-date-row-" + events[i].date 124 ).attr("data-total-events"); 125 currLen = parseInt(currLen); 126 $(".btn-date-row-" + events[i].date).attr( 127 "data-total-events", 128 currLen + events[i].performance.length 129 ); 130 } 131 } else if ($(".btn-date-row-" + events[i].date).length) { 132 $(".btn-date-row-" + events[i].date).hide(); 133 } 134 mainLoop++; 135 136 if (i % 3 == 0) { 137 loadBannerView(bannerData, BannerOffset, divId); 138 } 139 $("#event-list").append("</div>"); 140 } 141 } 142 } 143 });
144} 145 146$(".more-event-by-day").on("click", moreEventByDay); 147 148function moreEventByDay() { 149 var more_performance_date = $(this).attr("data-date"); 150 var len = $(this).attr("data-total-events"); 151 var currentObj = $(this); 152 var divId = $(this).attr("data-div-id"); 153 var moreFlag = $(this).attr("data-more"); 154 requestHeader1.more_performance_date = more_performance_date; 155 requestHeader1.len = len; 156 requestHeader1.page = page; 157 if (moreFlag == 1) { 158 $("body").addClass("loading"); 159 targetUrl = "https://www.comparetheticketprice.com/api/v1/more_events"; 160 var settings = { 161 url: targetUrl, 162 method: "GET", 163 timeout: 0, 164 headers: { 165 "data-x-request": JSON.stringify(requestHeader1), 166 Authorization: requestToken, 167 "Content-Type": "application/json", 168 }, 169 }; 170 171 $.ajax(settings).done(function (response) { 172 $("body").removeClass("loading"); 173 var response = JSON.parse(response); 174 var performance = response.performance[0]; 175 if (performance.length > 0) { 176 if (performance.length > 0) { 177 for (var i = 0; i < performance.length; i++) { 178 var img = 179 typeof performance[i]["media"] !== "undefined" && 180 performance[i]["media"].length > 0 181 ? performance[i]["media"][0]["path"] 182 : defaultImg; 183 var stripClass = performance[i]["is_free"] 184 ? "free-strip" 185 : performance[i]["is_comp"] 186 ? "comp-strip" 187 : performance[i]["is_offer"] 188 ? "offer-strip" 189 : ""; 190 $("#" + divId).append( 191 `<div class="col-md-2-5 col-sm-6 col-12 event-box"><div class="show-events"><a href="/event/` + 192 performance[i]["slug"] + 193 `" class="show-mobile mobile-title"><h4> 194 ` + 195 performance[i]["title"] + 196 `</h4> 197 </a><a href="/event/` + 198 performance[i]["slug"] + 199 `" class="` + 200 stripClass + 201 `"><img src="` + 202 img + 203 `" alt="` + 204 performance[i]["title"] + 205 `"></a><div class="show-detail"><a href="/event/` + 206 performance[i]["slug"] + 207 `" class="show-desktop desktop-title"><h4>` + 208 performance[i]["title"] + 209 `</h4></a><h6 class="venue"><a href="/whats-on/` + 210 performance[i]["venue_slug"] + 211 `">` + 212 performance[i]["venue"] + 213 `, ` + 214 performance[i]["location"] + 215 `</a></h6> 216 <span class="show-mobile list-description">` + 217 htmlToPlainText( 218 performance[i]["description"] 219 ).substring(0, 240) + 220 `</span> 221 <ul class="event-btns"><li class="info"> <a href="#" class="more-info" data-toggle="modal" data-target="#largeModal2" data-json='` + 222 JSON.stringify(performance[i]) 223 .replace(/\//g, "\\/") 224 .replace(/'/g, "'") + 225 `'> More Info </a></li><li class="buy-btn"> <a href="` + 226 performance[i]["event_link"] + 227 `" target="_blank" onClick="trackLink(` + 228 performance[i]["resource_id"] + 229 `,'` + 230 performance[i]["event_link"] + 231 `')"> ` + 232 (performance[i]["is_free"] ? "Book" : "Buy") + 233 ` Tickets </a></li></ul> </div></div></div>` 234 ); 235 $("#show-events a.more-info").bind( 236 "click", 237 function () { 238 popup = $("#largeModal2"); 239 var dataJson = $(this).attr("data-json"); 240 //dataJson = JSON.stringify(dataJson); 241 dataJson = JSON.parse(dataJson); 242 //var dataJson = JSON.parse(this["eventData"+eventCount]); 243 //console.log(dataJson.media); 244 245 //alert(dataJson); 246 if ( 247 typeof dataJson.venue_thumb !== 248 "undefined" && 249 dataJson.venue_thumb 250 ) 251 popup 252 .find("img.event_popup_img") 253 .attr("src", dataJson.venue_thumb); 254 else if ( 255 typeof dataJson.media !== "undefined" && 256 dataJson.media[0].path 257 ) 258 popup 259 .find("img.event_popup_img") 260 .attr("src", dataJson.media[0].path); 261 else 262 popup 263 .find("img.event_popup_img") 264 .attr("src", defaultImg); 265 if ( 266 dataJson.video && 267 dataJson.video.image_path 268 ) { 269 popup 270 .find("iframe.inner-video") 271 .attr("src", dataJson.video.image_path); 272 popup.find(".event_popup_videolink").show(); 273 } else 274 popup.find(".event_popup_videolink").hide(); 275 popup 276 .find(".event_popup_title") 277 .html(dataJson.title); 278 popup 279 .find(".event_popup_venue") 280 .html(dataJson.venue_name); 281 popup 282 .find(".event_popup_venue") 283 .attr( 284 "href", 285 "/whats-on/" + dataJson.venue_slug 286 ); 287 popup 288 .find(".event_popup_date") 289 .html(dataJson.date); 290 popup 291 .find(".event_popup_desc") 292 .html(dataJson.our_desc + " " + dataJson.description); 293 popup 294 .find(".event_popup_link") 295 .each(function () { 296 $(this).attr( 297 "href", 298 "/event/" + 299 (dataJson.event_slug 300 ? dataJson.event_slug 301 : dataJson.slug) 302 ); 303 }); 304 var buylink = dataJson.event_link 305 ? dataJson.event_link 306 : "/event/" + 307 (dataJson.event_slug 308 ? dataJson.event_slug 309 : dataJson.slug); 310 var target = dataJson.event_link 311 ? "_blank" 312 : "_self"; 313 popup 314 .find(".event_popup_buylink") 315 .attr("href", buylink); 316 popup 317 .find(".event_popup_buylink") 318 .attr("target", target); 319 if (dataJson.event_link) { 320 popup 321 .find(".event_popup_buylink")[0] 322 .bind( 323 "click", 324 trackLink( 325 dataJson.resource_id, 326 dataJson.event_link 327 ) 328 ); 329 } 330 popup.find("iframe.inner-video").hide(); 331 popup.find("img.event_popup_img").show(); 332 } 333 ); 334 } 335 } 336 var latestTotal = parseInt(len) + parseInt(performance.length); 337 currentObj.attr("data-total-events", latestTotal); 338 currentObj.attr("data-more", response.more_flag); 339 if (!response.more_flag) { 340 currentObj.hide(); 341 } 342 } 343 }); 344 } 345}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.