diff --git a/.gitignore b/.gitignore index beaa2e65f5..084ddd26a0 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ npm-debug.log /views/cache/** temp .idea +wysija-newsletters.zip diff --git a/RoboFile.php b/RoboFile.php index 7c2ecfbd03..5d2aecc9f2 100644 --- a/RoboFile.php +++ b/RoboFile.php @@ -48,15 +48,15 @@ class RoboFile extends \Robo\Tasks { function makepot() { $this->_exec('grunt makepot'. - ' --gruntfile '.__DIR__.'/tasks/makepot/makepot.js'. - ' --base_path '.__DIR__ + ' --gruntfile '.__DIR__.'/tasks/makepot/makepot.js'. + ' --base_path '.__DIR__ ); } function pushpot() { $this->_exec('grunt pushpot'. - ' --gruntfile '.__DIR__.'/tasks/makepot/makepot.js'. - ' --base_path '.__DIR__ + ' --gruntfile '.__DIR__.'/tasks/makepot/makepot.js'. + ' --base_path '.__DIR__ ); } diff --git a/build b/build new file mode 100755 index 0000000000..4f3331b2ca --- /dev/null +++ b/build @@ -0,0 +1,46 @@ +#!/bin/sh + +# remove previouz build. +rm wysija-newsletters.zip; + +# Create temp dir. +mkdir wysija-newsletters; + +# Cleanup Composer and NPM. +rm -rf vendor; +rm -rf node_modules; +rm composer.lock; + +# Install Composer and NPM deps. +./composer.phar install --no-dev; +npm install --production; + +# Copy release folders. +cp -rf lang wysija-newsletters; +cp -rf assets wysija-newsletters; +cp -rf lib wysija-newsletters; +cp -rf vendor wysija-newsletters; +cp -rf views wysija-newsletters; + +# Copy release files. +cp LICENSE wysija-newsletters; +cp index.php wysija-newsletters; +cp mailpoet.php wysija-newsletters; +cp readme.txt wysija-newsletters; +cp uninstall.php wysija-newsletters; +cp webpack.config.js wysija-newsletters; + +# Zip final release. +zip -r wysija-newsletters.zip wysija-newsletters; + +# Remove temp dir. +rm -rf wysija-newsletters; + +# Cleanup Composer and NPM. +rm -rf vendor; +rm -rf node_modules; +rm composer.lock; + +# Reinstall dev dependencies. +./composer.phar install; +./do install; diff --git a/composer.lock b/composer.lock index c2e547a0a7..ccf94fe148 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "ff54fd1b75cd31ce67aaf2fa0ee617da", + "hash": "0e2b177a6de46c3a1263386f1b803faf", "packages": [ { "name": "cerdic/css-tidy", diff --git a/lib/Config/Initializer.php b/lib/Config/Initializer.php index 1f32288910..b53b055b72 100644 --- a/lib/Config/Initializer.php +++ b/lib/Config/Initializer.php @@ -2,6 +2,7 @@ namespace MailPoet\Config; use MailPoet\Models; +use MailPoet\Router; if (!defined('ABSPATH')) exit; @@ -19,6 +20,7 @@ class Initializer { $this->setupRenderer(); $this->setupLocalizer(); $this->setupMenu(); + $this->setupRouter(); } function setupDB() { @@ -57,4 +59,9 @@ class Initializer { ); $menu->init(); } + + function setupRouter() { + $router = new Router\Router(); + $router->init(); + } } diff --git a/lib/Router/Router.php b/lib/Router/Router.php new file mode 100644 index 0000000000..9e01381a84 --- /dev/null +++ b/lib/Router/Router.php @@ -0,0 +1,43 @@ +securityCheck(); + $class = ucfirst($_POST['endpoint']); + $endpoint = __NAMESPACE__ . "\\" . $class; + $method = $_POST['method']; + $args = $_POST['args']; + $endpoint = new $endpoint(); + $endpoint->$method(json_encode($args)); + } + + function setToken() { + $token = wp_create_nonce('mailpoet_token'); + $global = '/n"; + echo $global; + } + + function securityCheck() { + if (!current_user_can('manage_options')) {die();} + if (!wp_verify_nonce($_POST['token'], 'mailpoet_token')) {die();} + } +} diff --git a/lib/Router/Settings.php b/lib/Router/Settings.php new file mode 100644 index 0000000000..0b4d27be4b --- /dev/null +++ b/lib/Router/Settings.php @@ -0,0 +1,18 @@ + 'John', + 'last_name' => 'Mailer', + 'email' => 'john@mailpoet.com' + ); + wp_send_json($params); + } +} diff --git a/views/settings.html b/views/settings.html index ff5dced7ee..e3e1500ea6 100644 --- a/views/settings.html +++ b/views/settings.html @@ -2,7 +2,54 @@ <% block content %>

<%= 'Settings' %>

-

<%= __('First Name') %>

-

<%= __('Last Name') %>

-

<%= __('Email') %>

+ +
+

+ +

+ +

+ +

+ +

+ +

+ +

+ +

+
+ + <% endblock %>