/** * Resend the Email Purchase Receipt. (This can be done from the Payment History page) * * @since 1.0 * * @param array $data Payment Data * * @return void */ function give_resend_donation_receipt($data) { $purchase_id = absint($data['purchase_id']); if (empty($purchase_id)) { return; } if (!current_user_can('edit_give_payments', $purchase_id)) { wp_die(__('You do not have permission to edit this payment record', 'give'), __('Error', 'give'), array('response' => 403)); } give_email_donation_receipt($purchase_id, false); wp_redirect(add_query_arg(array('give-message' => 'email_sent', 'give-action' => false, 'purchase_id' => false))); exit; }
/** * Process the bulk actions * * @access public * @since 1.0 * @return void */ public function process_bulk_action() { $ids = isset($_GET['payment']) ? $_GET['payment'] : false; $action = $this->current_action(); if (!is_array($ids)) { $ids = array($ids); } if (empty($action)) { return; } foreach ($ids as $id) { // Detect when a bulk action is being triggered... if ('delete' === $this->current_action()) { give_delete_purchase($id); } if ('set-status-publish' === $this->current_action()) { give_update_payment_status($id, 'publish'); } if ('set-status-pending' === $this->current_action()) { give_update_payment_status($id, 'pending'); } if ('set-status-refunded' === $this->current_action()) { give_update_payment_status($id, 'refunded'); } if ('set-status-revoked' === $this->current_action()) { give_update_payment_status($id, 'revoked'); } if ('set-status-failed' === $this->current_action()) { give_update_payment_status($id, 'failed'); } if ('set-status-abandoned' === $this->current_action()) { give_update_payment_status($id, 'abandoned'); } if ('resend-receipt' === $this->current_action()) { give_email_donation_receipt($id, false); } do_action('give_payments_table_do_bulk_action', $id, $this->current_action()); } }
/** * Process the bulk actions * * @access public * @since 1.0 * @return void */ public function process_bulk_action() { $ids = isset($_GET['payment']) ? $_GET['payment'] : false; $action = $this->current_action(); if (!is_array($ids)) { $ids = array($ids); } if (empty($action)) { return; } foreach ($ids as $id) { // Detect when a bulk action is being triggered... switch ($this->current_action()) { case 'delete': give_delete_purchase($id); break; case 'set-status-publish': give_update_payment_status($id, 'publish'); break; case 'set-status-pending': give_update_payment_status($id, 'pending'); break; case 'set-status-refunded': give_update_payment_status($id, 'refunded'); break; case 'set-status-revoked': give_update_payment_status($id, 'revoked'); break; case 'set-status-failed': give_update_payment_status($id, 'failed'); break; case 'set-status-cancelled': give_update_payment_status($id, 'cancelled'); break; case 'set-status-abandoned': give_update_payment_status($id, 'abandoned'); break; case 'set-status-preapproval': give_update_payment_status($id, 'preapproval'); break; case 'resend-receipt': give_email_donation_receipt($id, false); break; } /** * Fires after triggering bulk action on payments table. * * @since 1.0 * * @param int $id The ID of the payment. * @param string $current_action The action that is being triggered. */ do_action('give_payments_table_do_bulk_action', $id, $this->current_action()); } }