Сбой транзакции PayPal в MoreEvents

Мы только начали использовать наши шаблоны продления на 2016 год. В прошлом году все работало успешно, и мы обработали тысячи транзакций. Я только что провел несколько тестов, и я получаю сообщение об ошибке в программе models/more_event_cp_data.php.

Transaction Log

Может ли кто-нибудь определить вероятную причину?

Этот код выглядит следующим образом:


public function get_event_tx($event_tx_id='')
{
    $this->EE->db->where("id", $event_tx_id);
    $q = $this->EE->db->get("moreevents_tx")->row_array();

    $c = MoreEventCurrency::get($q['currency']);

    $q['amount_paid'] = $c['htmlEntity'].number_format($q['amount_paid'], 2);
    $q['price'] = $c['htmlEntity'].number_format($q['price'], 2);

    $str = "
    "; foreach(unserialize($q['attendees']) as $attendee){ $str .= "
  • ". $attendee['name']."
  • "; } $str .= "
"; $q['attendees'] = $str; $q['raw_response'] = "
".print_r(unserialize($q['raw_response']), TRUE)."
"; $q['last_activity'] = date("r", $q['last_activity'] ); unset($q['success_template']); unset($q['fail_template']); return $q; }

0
nl ja de

1 ответы

Я предполагаю, что у вас есть событие, в котором нет участников, и код предполагает, что каждое событие будет иметь участников, следовательно, ошибка.

Попробуйте заменить:

$str = "
    "; foreach(unserialize($q['attendees']) as $attendee){ $str .= "
  • ". $attendee['name']."
  • "; } $str .= "
"; $q['attendees'] = $str;

С:

if($attendees = unserialize($q['attendees'])
{    
    $str = "
    "; foreach($attendees as $attendee){ $str .= "
  • ". $attendee['name']."
  • "; } $str .= "
"; $q['attendees'] = $str; }
0
добавлено