|
@@ 492-525 (lines=34) @@
|
| 489 |
|
* @return EE_Event[]|int |
| 490 |
|
* @throws \EE_Error |
| 491 |
|
*/ |
| 492 |
|
public function get_upcoming_events($query_params, $count = false) |
| 493 |
|
{ |
| 494 |
|
if (array_key_exists(0, $query_params)) { |
| 495 |
|
$where_params = $query_params[0]; |
| 496 |
|
unset($query_params[0]); |
| 497 |
|
} else { |
| 498 |
|
$where_params = array(); |
| 499 |
|
} |
| 500 |
|
// if we have count make sure we don't include group by |
| 501 |
|
if ($count && isset($query_params['group_by'])) { |
| 502 |
|
unset($query_params['group_by']); |
| 503 |
|
} |
| 504 |
|
// let's add specific query_params for active_events |
| 505 |
|
// keep in mind this will override any sent status in the query AND any date queries. |
| 506 |
|
$where_params['status'] = array('IN', array('publish', EEM_Event::sold_out)); |
| 507 |
|
// if there are already query_params matching DTT_EVT_start then we need to modify that to add them. |
| 508 |
|
if (isset($where_params['Datetime.DTT_EVT_start'])) { |
| 509 |
|
$where_params['Datetime.DTT_EVT_start*****'] = array( |
| 510 |
|
'>', |
| 511 |
|
EEM_Datetime::instance()->current_time_for_query('DTT_EVT_start'), |
| 512 |
|
); |
| 513 |
|
} else { |
| 514 |
|
$where_params['Datetime.DTT_EVT_start'] = array( |
| 515 |
|
'>', |
| 516 |
|
EEM_Datetime::instance()->current_time_for_query('DTT_EVT_start'), |
| 517 |
|
); |
| 518 |
|
} |
| 519 |
|
$query_params[0] = $where_params; |
| 520 |
|
// don't use $query_params with count() |
| 521 |
|
// because we don't want to include additional query clauses like "GROUP BY" |
| 522 |
|
return $count |
| 523 |
|
? $this->count(array($where_params), 'EVT_ID', true) |
| 524 |
|
: $this->get_all($query_params); |
| 525 |
|
} |
| 526 |
|
|
| 527 |
|
|
| 528 |
|
|
|
@@ 539-572 (lines=34) @@
|
| 536 |
|
* @return EE_Event[]|int |
| 537 |
|
* @throws \EE_Error |
| 538 |
|
*/ |
| 539 |
|
public function get_active_and_upcoming_events($query_params, $count = false) |
| 540 |
|
{ |
| 541 |
|
if (array_key_exists(0, $query_params)) { |
| 542 |
|
$where_params = $query_params[0]; |
| 543 |
|
unset($query_params[0]); |
| 544 |
|
} else { |
| 545 |
|
$where_params = array(); |
| 546 |
|
} |
| 547 |
|
// if we have count make sure we don't include group by |
| 548 |
|
if ($count && isset($query_params['group_by'])) { |
| 549 |
|
unset($query_params['group_by']); |
| 550 |
|
} |
| 551 |
|
// let's add specific query_params for active_events |
| 552 |
|
// keep in mind this will override any sent status in the query AND any date queries. |
| 553 |
|
$where_params['status'] = array('IN', array('publish', EEM_Event::sold_out)); |
| 554 |
|
// add where params for DTT_EVT_end |
| 555 |
|
if (isset($where_params['Datetime.DTT_EVT_end'])) { |
| 556 |
|
$where_params['Datetime.DTT_EVT_end*****'] = array( |
| 557 |
|
'>', |
| 558 |
|
EEM_Datetime::instance()->current_time_for_query('DTT_EVT_end'), |
| 559 |
|
); |
| 560 |
|
} else { |
| 561 |
|
$where_params['Datetime.DTT_EVT_end'] = array( |
| 562 |
|
'>', |
| 563 |
|
EEM_Datetime::instance()->current_time_for_query('DTT_EVT_end'), |
| 564 |
|
); |
| 565 |
|
} |
| 566 |
|
$query_params[0] = $where_params; |
| 567 |
|
// don't use $query_params with count() |
| 568 |
|
// because we don't want to include additional query clauses like "GROUP BY" |
| 569 |
|
return $count |
| 570 |
|
? $this->count(array($where_params), 'EVT_ID', true) |
| 571 |
|
: $this->get_all($query_params); |
| 572 |
|
} |
| 573 |
|
|
| 574 |
|
|
| 575 |
|
|