-
Notifications
You must be signed in to change notification settings - Fork 0
/
adz-stripe-donations.php
executable file
·84 lines (67 loc) · 3.1 KB
/
adz-stripe-donations.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
/**
*
* Plugin Name: The admataz Stripe Donations manager
* Version: 1.0.0
* Description: Provide common Stripe management and data functions from within WP admin
* Author: Adam Davis
* Author URI: http://admataz.com
* Plugin URI: http://admataz.com
* Text Domain: adz-stripe
* Domain Path: /languages
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
* Domain Path: /languages
* GitHub Plugin URI: https://github.com/admataz/wp-stripe-donations
*/
require 'vendor/autoload.php';
/**
* Callback for the admin menu items
*/
function adz_stripe_admin_menu() {
$adz_stripe_settings = \adz_stripe_donations\Settings::get_instance('adz_stripe_settings');
$reports = \adz_stripe_donations\Reports::get_instance('adz_stripe_donor_reports');
add_menu_page("Manage Stripe Options", "Manage Stripe Options", 'manage_options', 'adz_stripe_options', 'adz_stripe_admin_landing_page');
add_submenu_page('adz_stripe_options', 'Stripe Settings', 'Stripe Settings', 'manage_options', $adz_stripe_settings->get_slug() , array(
$adz_stripe_settings,
'options_form'
));
add_submenu_page('adz_stripe_options', 'Donation reports', 'Donation Reports', 'manage_options', $reports->get_slug() , array(
$reports,
'list_donors'
));
};
function adz_stripe_donations_activate() {
\adz_stripe_donations\CustomSave::activate();
}
function adz_stripe_admin_landing_page() {
echo '<h1>settings landing page</h1>';
}
function adz_stripe_donations_default_form() {
$adz_stripe_donation_form = \adz_stripe_donations\DonationForm::get_instance('adz_stripe_donations_form');
return $adz_stripe_donation_form->show_form();
}
function adz_stripe_donations_form_submit() {
$adz_stripe_donation_form = \adz_stripe_donations\DonationForm::get_instance('adz_stripe_donations_form');
$adz_stripe_donation_form->form_submit();
}
function adz_stripe_donations_stripe_webhook_listener() {
if(isset($_GET['stripe_webhook_event']) && $_GET['stripe_webhook_event'] == 'charge.create'){
$adz_stripe_donation_form = \adz_stripe_donations\DonationForm::get_instance('adz_stripe_donations_form');
$adz_stripe_donation_form->stripe_webhook_charge_endpoint();
}
}
function adz_stripe_donations_donations_export_csv(){
if(isset($_GET['donation_report_export']) && $_GET['donation_report_export'] == 'csv' && current_user_can('manage_options')){
// admin_export_donations.csv
$reports = \adz_stripe_donations\Reports::get_instance('adz_stripe_donations_form');
$reports->export_donors_csv();
}
}
add_shortcode('adz_stripe_donations_default_form', 'adz_stripe_donations_default_form');
add_action('admin_menu', 'adz_stripe_admin_menu');
add_action('wp_ajax_submit_donation', 'adz_stripe_donations_form_submit');
add_action('wp_ajax_nopriv_submit_donation', 'adz_stripe_donations_form_submit');
add_action('init', 'adz_stripe_donations_stripe_webhook_listener');
add_action( 'init', 'adz_stripe_donations_donations_export_csv' );
register_activation_hook(__FILE__, 'adz_stripe_donations_activate');