Exemple #1
0
/**
 * 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());
     }
 }