public function get_payments_by_submission_id($submission_ids, $limit = 9999999, $offset = 0, $sort_by = '', $descending = false) { if (is_array($submission_ids)) { $fields = RM_DBManager::get_results_for_array('PAYPAL_LOGS', 'submission_id', $submission_ids); } elseif ((int) $submission_ids) { $fields = $this->get('PAYPAL_LOGS', array('submission_id' => $submission_ids), array('%d'), 'row', $offset, $limit, '*', $sort_by, $descending); } if (!$fields) { return false; } return $fields; }
public function get_submissions_to_export($form_id, $is_searched = false, $search = null) { $export_data = array(); $is_payment = false; $option = new RM_Options(); if (!(int) $form_id) { return false; } $fields = $this->get_all_form_fields($form_id); if (!$fields) { return false; } $field_ids = array(); foreach ($fields as $field) { if ($field->field_type != 'Price' && $field->field_type != 'HTMLH' && $field->field_type != 'HTMLP') { $field_ids[] = $field->field_id; $export_data[0][$field->field_id] = $field->field_label; } $i = 0; if ($field->field_type == 'price' && $i == 0) { $is_payment = true; $export_data[0]['invoice'] = 'Payment Invoice'; $export_data[0]['txn_id'] = 'Payment TXN Id'; $export_data[0]['status'] = 'Payment Status'; $export_data[0]['total_amount'] = 'Paid Amount'; $export_data[0]['date'] = 'Date of Payment'; $i++; } } if (!$is_searched && !$search instanceof stdClass) { $submission_ids = $this->get('SUBMISSIONS', array('form_id' => $form_id), array('%d'), 'col', 0, 999999, 'submission_id', null, true); if (!$submission_ids) { return false; } $submissions = RM_DBManager::get_results_for_array('SUBMISSION_FIELDS', 'field_id', $field_ids); } else { $submission_ids = RM_DBManager::get_results_for_last_col($search->interval, $form_id, $search->id, $search->value); if (!$submission_ids) { return false; } $submissions = RM_DBManager::get_sub_fields_for_array('SUBMISSION_FIELDS', 'field_id', $field_ids, 'submission_id', $submission_ids); } foreach ($submission_ids as $s_id) { $export_data[$s_id] = array(); $payment = $this->get('PAYPAL_LOGS', array('submission_id' => $s_id), array('%d'), 'row', 0, 10, '*', null, true); foreach ($field_ids as $f_id) { $export_data[$s_id][$f_id] = null; } if ($is_payment) { $export_data[$s_id]['invoice'] = isset($payment->invoice) ?: null; $export_data[$s_id]['txn_id'] = isset($payment->txn_id) ?: null; $export_data[$s_id]['status'] = isset($payment->status) ?: null; $export_data[$s_id]['total_amount'] = isset($payment->total_amount) ? $option->get_formatted_amount($payment->total_amount, $payment->currency) : null; $export_data[$s_id]['date'] = isset($payment->posted_date) ? RM_Utilities::localize_time($payment->posted_date, get_option('date_format')) : null; } } foreach ($submissions as $submission) { $value = maybe_unserialize($submission->value); if (is_array($value)) { if (isset($value['rm_field_type']) && $value['rm_field_type'] == 'File') { unset($value['rm_field_type']); if (count($value) == 0) { $value = null; } else { $file = array(); foreach ($value as $a) { $file[] = wp_get_attachment_url($a); } $value = implode(',', $file); } } else { $value = implode(',', $value); } } if (array_key_exists($submission->submission_id, $export_data)) { $export_data[$submission->submission_id][$submission->field_id] = stripslashes($value); } } return $export_data; }