status) { case self::STATUS_PROCESS: return "In process"; case self::STATUS_FAIL: return "In process"; case self::STATUS_SUCCESS: return "Completed"; } return ""; } public function is_failed () { return $this->status == self::STATUS_FAIL; } public function load_data () { $gateways = PSGateways::getGateways(); $gateway = $gateways[0]; $transaction_class = $gateway::TRANSACTION; return $transaction_class::get_for_transaction($this); } static public function getForBooking (DateTimeBook $booking) { return self::getOne("booking_id = {$booking->id}"); } static public function getList($condition = null, $ordering = null) { global $wpdb; if (!empty($condition)) $condition = " WHERE ".$condition; if (!empty($ordering)) $ordering = " ORDER BY ".$ordering; $gateways = PSGateways::getGateways(); $gateway = $gateways[0]; $transaction_class = $gateway::TRANSACTION; $transaction_fields = $transaction_class::get_join_fields_string('gt_t'); $transaction_table = $transaction_class::get_table_static(); $results = $wpdb->get_results(" SELECT SQL_CALC_FOUND_ROWS ".self::get_fields_string("tr").", ps.name as payment_system_name, bk.calendar_id as booking_calendar_id, $transaction_fields FROM ".self::get_table_static() . " tr LEFT JOIN ".PaymentSystem::get_table_static()." ps ON ps.id = tr.payment_system_id LEFT JOIN ".DateTimeBook::get_table_static()." bk ON bk.id = tr.booking_id LEFT JOIN $transaction_table gt_t ON gt_t.transaction_id = tr.id $condition $ordering "); self::$lastRowsCount = self::get_found_rows($wpdb); return $results; } }