PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.10.0
GiveWP – Donation Plugin and Fundraising Platform v2.10.0
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / DonorDashboards / App.php
give / src / DonorDashboards Last commit date
Admin 5 years ago Exceptions 5 years ago Factories 5 years ago Helpers 5 years ago Pipeline 5 years ago Repositories 5 years ago Routes 5 years ago Tabs 5 years ago resources 5 years ago App.php 5 years ago Block.php 5 years ago Helpers.php 5 years ago Profile.php 5 years ago RequestHandler.php 5 years ago ServiceProvider.php 5 years ago Shortcode.php 5 years ago
App.php
160 lines
1 <?php
2
3 namespace Give\DonorDashboards;
4
5 use Give\DonorDashboards\Helpers\LocationList;
6
7 /**
8 * Class App
9 * @package Give\DonorDashboards
10 *
11 * @unreleased
12 */
13 class App {
14 /**
15 * @var Profile
16 */
17 protected $profile;
18
19 /**
20 * App constructor.
21 */
22 public function __construct() {
23 $this->profile = new Profile();
24 }
25
26 /**
27 * @param array $attributes
28 *
29 * @return string
30 */
31 public function getOutput( $attributes ) {
32
33 $url = get_site_url() . '/?give-embed=donor-dashboard';
34
35 if ( isset( $attributes['accent_color'] ) ) {
36 $url = $url . '&accent-color=' . urlencode( $attributes['accent_color'] );
37 }
38
39 $loader = $this->getIframeLoader( $attributes['accent_color'] );
40
41 return sprintf(
42 '<div style="position: relative; max-width: 100%%;"><iframe
43 name="give-embed-donor-profile"
44 %1$s
45 %4$s
46 data-autoScroll="%2$s"
47 onload="if( \'undefined\' !== typeof Give ) { Give.initializeIframeResize(this) }"
48 style="border: 0;visibility: hidden;%3$s"></iframe>%5$s</div>',
49 "src=\"{$url}#/dashboard\"",
50 true,
51 'min-height: 776px; width: 100%; max-width: 100% !important;',
52 '',
53 $loader
54 );
55 }
56
57 /**
58 * Get output markup for Donor Dashboard app
59 *
60 * @since 2.10.0
61 *
62 * @param string $accentColor
63 *
64 * @return string
65 */
66 public function getIframeLoader( $accentColor ) {
67 ob_start();
68
69 require $this->getLoaderTemplatePath();
70
71 return ob_get_clean();
72 }
73
74 /**
75 * Get output markup for Donor Dashboard app
76 *
77 * @since 2.10.0
78 * @return string
79 */
80 public function getIframeContent() {
81 ob_start();
82
83 require $this->getTemplatePath();
84
85 return ob_get_clean();
86 }
87
88 /**
89 * Get template path for Donor Dashboard component template
90 * @since 2.10.0
91 **/
92 public function getTemplatePath() {
93 return GIVE_PLUGIN_DIR . '/src/DonorDashboards/resources/views/donordashboard.php';
94 }
95
96 /**
97 * Get template path for Donor Dashboard component template
98 * @since 2.10.0
99 **/
100 public function getLoaderTemplatePath() {
101 return GIVE_PLUGIN_DIR . '/src/DonorDashboards/resources/views/donordashboardloader.php';
102 }
103
104 /**
105 * Enqueue assets for front-end donor dashboards
106 *
107 * @since 2.10.0
108 **@return void
109 */
110 public function loadAssets() {
111 // Load assets only if rendering donor dashboard.
112 if ( ! isset( $_GET['give-embed'] ) || 'donor-dashboard' !== $_GET['give-embed'] ) {
113 return;
114 }
115
116 wp_enqueue_script(
117 'give-donor-dashboards-app',
118 GIVE_PLUGIN_URL . 'assets/dist/js/donor-dashboards-app.js',
119 [],
120 GIVE_VERSION,
121 true
122 );
123
124 $recaptcha_key = give_get_option( 'recaptcha_key' );
125 $recaptcha_secret = give_get_option( 'recaptcha_secret' );
126 $recaptcha_enabled = ( give_is_setting_enabled( give_get_option( 'enable_recaptcha' ) ) ) && ! empty( $recaptcha_key ) && ! empty( $recaptcha_secret ) ? true : false;
127
128 wp_localize_script(
129 'give-donor-dashboards-app',
130 'giveDonorDashboardData',
131 [
132 'apiRoot' => esc_url_raw( rest_url() ),
133 'apiNonce' => wp_create_nonce( 'wp_rest' ),
134 'profile' => give()->donorDashboard->getProfileData(),
135 'countries' => LocationList::getCountries(),
136 'states' => LocationList::getStates( give()->donorDashboard->getCountry() ),
137 'id' => give()->donorDashboard->getId(),
138 'emailAccessEnabled' => give_is_setting_enabled( give_get_option( 'email_access' ) ),
139 'registeredTabs' => give()->donorDashboardTabs->getRegisteredIds(),
140 'loggedInWithoutDonor' => get_current_user_id() !== 0 && give()->donorDashboard->getId() === null ? true : false,
141 'recaptchaKey' => $recaptcha_enabled ? $recaptcha_key : '',
142 ]
143 );
144
145 wp_enqueue_style(
146 'give-google-font-montserrat',
147 'https://fonts.googleapis.com/css?family=Montserrat:500,500i,600,600i,700,700i&display=swap',
148 [],
149 null
150 );
151
152 wp_enqueue_style(
153 'give-donor-dashboards-app',
154 GIVE_PLUGIN_URL . 'assets/dist/css/donor-dashboards-app.css',
155 [ 'give-google-font-montserrat' ],
156 GIVE_VERSION
157 );
158 }
159 }
160