PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 3.0.0-beta.13
MailPoet – Newsletters, Email Marketing, and Automation v3.0.0-beta.13
5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / lib / Config / Widget.php
mailpoet / lib / Config Last commit date
PopulatorData 9 years ago Activator.php 9 years ago Analytics.php 9 years ago Changelog.php 9 years ago Database.php 9 years ago Env.php 9 years ago Hooks.php 9 years ago Initializer.php 9 years ago Localizer.php 9 years ago Menu.php 9 years ago Migrator.php 9 years ago Populator.php 9 years ago Renderer.php 9 years ago RequirementsChecker.php 9 years ago Shortcodes.php 9 years ago Widget.php 9 years ago index.php 9 years ago
Widget.php
157 lines
1 <?php
2 namespace MailPoet\Config;
3 use \MailPoet\Util\Security;
4 use \MailPoet\Models\Form;
5
6 if(!defined('ABSPATH')) exit;
7
8 class Widget {
9 private $renderer = null;
10
11 function __construct($renderer = null) {
12 if($renderer !== null) {
13 $this->renderer = $renderer;
14 }
15 }
16
17 function init() {
18 $this->registerWidget();
19
20 if(!is_admin()) {
21 $this->setupDependencies();
22 $this->setupIframe();
23 } else {
24 add_action('widgets_admin_page', array($this, 'setupAdminWidgetPageDependencies'));
25 }
26 }
27
28 function setupIframe() {
29 $form_id = (isset($_GET['mailpoet_form_iframe']) ? (int)$_GET['mailpoet_form_iframe'] : 0);
30 if($form_id > 0) {
31 $form = Form::findOne($form_id);
32
33 if($form !== false) {
34 $form_widget = new \MailPoet\Form\Widget();
35 $form_html = $form_widget->widget(array(
36 'form' => $form_id,
37 'form_type' => 'iframe'
38 ));
39
40 // capture javascripts
41 ob_start();
42 wp_print_scripts('jquery');
43 wp_print_scripts('mailpoet_vendor');
44 wp_print_scripts('mailpoet_public');
45 $scripts = ob_get_contents();
46 ob_end_clean();
47
48 // language attributes
49 $language_attributes = array();
50 $is_rtl = (bool)(function_exists('is_rtl') && is_rtl());
51
52 if($is_rtl) {
53 $language_attributes[] = 'dir="rtl"';
54 }
55
56 if($lang = get_bloginfo('language')) {
57 if(get_option('html_type') === 'text/html') {
58 $language_attributes[] = "lang=\"$lang\"";
59 }
60 }
61
62 $language_attributes = apply_filters(
63 'language_attributes', implode(' ', $language_attributes)
64 );
65
66 $data = array(
67 'language_attributes' => $language_attributes,
68 'scripts' => $scripts,
69 'form' => $form_html,
70 'mailpoet_form' => array(
71 'ajax_url' => admin_url('admin-ajax.php', 'absolute'),
72 'is_rtl' => $is_rtl
73 )
74 );
75
76 try {
77 echo $this->renderer->render('form/iframe.html', $data);
78 } catch(\Exception $e) {
79 echo $e->getMessage();
80 }
81 }
82 exit();
83 }
84 }
85
86 function registerWidget() {
87 register_widget('\MailPoet\Form\Widget');
88 }
89
90 function setupDependencies() {
91 wp_enqueue_style('mailpoet_public', Env::$assets_url.'/css/public.css');
92
93 wp_enqueue_script('mailpoet_vendor',
94 Env::$assets_url.'/js/vendor.js',
95 array(),
96 Env::$version,
97 true
98 );
99
100 wp_enqueue_script('mailpoet_public',
101 Env::$assets_url.'/js/public.js',
102 array(),
103 Env::$version,
104 true
105 );
106
107 wp_localize_script('mailpoet_public', 'MailPoetForm', array(
108 'ajax_url' => admin_url('admin-ajax.php'),
109 'is_rtl' => (function_exists('is_rtl') ? (bool)is_rtl() : false)
110 ));
111 }
112
113 function setupAdminWidgetPageDependencies() {
114 wp_enqueue_script('mailpoet_vendor',
115 Env::$assets_url.'/js/vendor.js',
116 array(),
117 Env::$version,
118 true
119 );
120
121 wp_enqueue_script('mailpoet_admin',
122 Env::$assets_url.'/js/mailpoet.js',
123 array(),
124 Env::$version,
125 true
126 );
127 }
128
129 // TODO: extract this method into an Initializer
130 // - the "ajax" part might probably be useless
131 // - the "post" (non-ajax) part needs to be redone properly
132 function setupActions() {
133 // ajax requests
134 add_action(
135 'wp_ajax_mailpoet_form_subscribe',
136 'mailpoet_form_subscribe'
137 );
138 add_action(
139 'wp_ajax_nopriv_mailpoet_form_subscribe',
140 'mailpoet_form_subscribe'
141 );
142 // post request
143 add_action(
144 'admin_post_nopriv_mailpoet_form_subscribe',
145 'mailpoet_form_subscribe'
146 );
147 add_action(
148 'admin_post_mailpoet_form_subscribe',
149 'mailpoet_form_subscribe'
150 );
151 add_action(
152 'init',
153 'mailpoet_form_subscribe'
154 );
155 }
156 }
157