Files
piratepoet/lib/Config/Widget.php
Jonathan Labreuille 6b46ef7fea Form Widget validation
- reorganized jquery validation lib to include languages
- added Widget initializer class
- fixed cache method in initializer
- added widget front JS to validate and submit (ajax / post)
2015-08-13 12:26:11 +02:00

92 lines
2.0 KiB
PHP

<?php
namespace MailPoet\Config;
if(!defined('ABSPATH')) exit;
class Widget {
function __construct() {
}
function init() {
$this->registerWidget();
$this->setupActions();
$this->setupDependencies();
}
private function registerWidget() {
add_action('widgets_init',
function() {
register_widget('\MailPoet\Form\Widget');
});
}
private function setupDependencies() {
add_action('widgets_init', function() {
$locale = \get_locale();
wp_enqueue_script(
'mailpoet_validation_i18n',
Env::$assets_url.'/js/lib/validation/languages/'.
'jquery.validationEngine-'.substr($locale, 0, 2).'.js',
array(),
Env::$version,
true
);
wp_enqueue_script(
'mailpoet_validation',
Env::$assets_url.'/js/lib/validation/jquery.validationEngine.js',
array(),
Env::$version,
true
);
wp_enqueue_style('mailpoet_validation',
Env::$assets_url.'/css/lib/jquery.validationEngine.css',
array(),
Env::$version
);
wp_enqueue_script('mailpoet_widget',
Env::$assets_url.'/js/widget.js',
array(),
Env::$version,
true
);
wp_localize_script(
'mailpoet_widget',
'MailPoetWidget',
array(
'is_rtl' => (int)(function_exists('is_rtl') && is_rtl()),
'ajax_url' => admin_url('admin-ajax.php')
));
});
}
private function setupActions() {
// ajax requests
add_action(
'wp_ajax_mailpoet_form_subscribe',
'mailpoet_form_subscribe'
);
add_action(
'wp_ajax_nopriv_mailpoet_form_subscribe',
'mailpoet_form_subscribe'
);
// post request
add_action(
'admin_post_nopriv_mailpoet_form_subscribe',
'mailpoet_form_subscribe'
);
add_action(
'admin_post_mailpoet_form_subscribe',
'mailpoet_form_subscribe'
);
/*add_action(
'init',
'mailpoet_form_subscribe'
);*/
}
}