Add public keyword to methods

[MAILPOET-2413]
This commit is contained in:
Amine Ben hammou
2019-12-26 12:56:49 +01:00
committed by wxa
parent ec409042d5
commit 43df66d162
823 changed files with 4440 additions and 4440 deletions

View File

@ -17,7 +17,7 @@ class RoboFile extends \Robo\Tasks {
$dotenv->load();
}
function install() {
public function install() {
return $this->taskExecStack()
->stopOnFail()
->exec('./tools/vendor/composer.phar install')
@ -25,7 +25,7 @@ class RoboFile extends \Robo\Tasks {
->run();
}
function update() {
public function update() {
return $this->taskExecStack()
->stopOnFail()
->exec('./tools/vendor/composer.phar update')
@ -33,7 +33,7 @@ class RoboFile extends \Robo\Tasks {
->run();
}
function watch() {
public function watch() {
$this->say('Warning: this lints and compiles all files, not just the changed one. Use separate tasks watch:js and watch:css for faster and more efficient watching.');
$css_files = $this->rsearch('assets/css/src/', ['scss']);
$js_files = $this->rsearch('assets/js/src/', ['js', 'jsx']);
@ -48,7 +48,7 @@ class RoboFile extends \Robo\Tasks {
->run();
}
function watchCss() {
public function watchCss() {
$css_files = $this->rsearch('assets/css/src/', ['scss']);
$this->taskWatch()
->monitor($css_files, function($changedFile) {
@ -63,11 +63,11 @@ class RoboFile extends \Robo\Tasks {
->run();
}
function watchJs() {
public function watchJs() {
$this->_exec('./node_modules/webpack/bin/webpack.js --watch');
}
function compileAll($opts = ['env' => null]) {
public function compileAll($opts = ['env' => null]) {
$collection = $this->collectionBuilder();
$collection->addCode(function() use ($opts) {
return call_user_func([$this, 'compileJs'], $opts);
@ -78,7 +78,7 @@ class RoboFile extends \Robo\Tasks {
return $collection->run();
}
function compileJs($opts = ['env' => null]) {
public function compileJs($opts = ['env' => null]) {
if (!is_dir('assets/dist/js')) {
mkdir('assets/dist/js', 0777, true);
}
@ -88,7 +88,7 @@ class RoboFile extends \Robo\Tasks {
return $this->_exec($env . ' ./node_modules/webpack/bin/webpack.js --bail');
}
function compileCss($opts = ['env' => null]) {
public function compileCss($opts = ['env' => null]) {
if (!is_dir('assets/dist/css')) {
mkdir('assets/dist/css', 0777, true);
}
@ -119,33 +119,33 @@ class RoboFile extends \Robo\Tasks {
return $compilation_result;
}
function translationsInit() {
public function translationsInit() {
// Define WP_TRANSIFEX_API_TOKEN env. variable
return $this->_exec('./tasks/transifex_init.sh');
}
function translationsBuild() {
public function translationsBuild() {
return $this->_exec('./node_modules/.bin/grunt makepot' .
' --gruntfile=' . __DIR__ . '/tasks/makepot/makepot.js' .
' --base_path=' . __DIR__
);
}
function translationsPack() {
public function translationsPack() {
return $this->collectionBuilder()
->addCode([$this, 'translationsInit'])
->taskExec('./tasks/pack_translations.sh')
->run();
}
function translationsPush() {
public function translationsPush() {
return $this->collectionBuilder()
->addCode([$this, 'translationsInit'])
->taskExec('tx push -s')
->run();
}
function testUnit(array $opts=['file' => null, 'xml' => false, 'multisite' => false, 'debug' => false]) {
public function testUnit(array $opts=['file' => null, 'xml' => false, 'multisite' => false, 'debug' => false]) {
$command = 'vendor/bin/codecept run unit';
if ($opts['file']) {
@ -163,7 +163,7 @@ class RoboFile extends \Robo\Tasks {
return $this->_exec($command);
}
function testIntegration(array $opts=['file' => null, 'xml' => false, 'multisite' => false, 'debug' => false]) {
public function testIntegration(array $opts=['file' => null, 'xml' => false, 'multisite' => false, 'debug' => false]) {
$command = 'vendor/bin/codecept run integration';
if ($opts['multisite']) {
@ -185,11 +185,11 @@ class RoboFile extends \Robo\Tasks {
return $this->_exec($command);
}
function testMultisiteIntegration($opts=['file' => null, 'xml' => false, 'multisite' => true]) {
public function testMultisiteIntegration($opts=['file' => null, 'xml' => false, 'multisite' => true]) {
return $this->testIntegration($opts);
}
function testCoverage($opts=['file' => null, 'xml' => false]) {
public function testCoverage($opts=['file' => null, 'xml' => false]) {
$command = join(' ', [
'vendor/bin/codecept run -s acceptance',
(($opts['file']) ? $opts['file'] : ''),
@ -204,7 +204,7 @@ class RoboFile extends \Robo\Tasks {
return $this->execWithXDebug($command);
}
function testNewsletterEditor($xml_output_file = null) {
public function testNewsletterEditor($xml_output_file = null) {
$this->compileJs();
$command = join(' ', [
@ -223,7 +223,7 @@ class RoboFile extends \Robo\Tasks {
return $this->_exec($command);
}
function testJavascript($xml_output_file = null) {
public function testJavascript($xml_output_file = null) {
$command = './node_modules/.bin/mocha --require @babel/register tests/javascript/**/*.spec.js';
if (!empty($xml_output_file)) {
@ -236,22 +236,22 @@ class RoboFile extends \Robo\Tasks {
return $this->_exec($command);
}
function securityComposer() {
public function securityComposer() {
return $this->collectionBuilder()
->taskExec('vendor/bin/security-checker security:check --format=simple')
->taskExec('vendor/bin/security-checker security:check --format=simple prefixer/composer.lock')
->run();
}
function testDebugUnit($opts=['file' => null, 'xml' => false, 'debug' => true]) {
public function testDebugUnit($opts=['file' => null, 'xml' => false, 'debug' => true]) {
return $this->testUnit($opts);
}
function testDebugIntegration($opts=['file' => null, 'xml' => false, 'debug' => true]) {
public function testDebugIntegration($opts=['file' => null, 'xml' => false, 'debug' => true]) {
return $this->testIntegration($opts);
}
function testAcceptance($opts=['file' => null, 'skip-deps' => false, 'timeout' => null]) {
public function testAcceptance($opts=['file' => null, 'skip-deps' => false, 'timeout' => null]) {
return $this->taskExec(
'COMPOSE_HTTP_TIMEOUT=200 docker-compose run ' .
($opts['skip-deps'] ? '-e SKIP_DEPS=1 ' : '') .
@ -261,7 +261,7 @@ class RoboFile extends \Robo\Tasks {
)->dir(__DIR__ . '/tests/docker')->run();
}
function testAcceptanceMultisite($opts=['file' => null, 'skip-deps' => false, 'timeout' => null]) {
public function testAcceptanceMultisite($opts=['file' => null, 'skip-deps' => false, 'timeout' => null]) {
return $this->taskExec(
'COMPOSE_HTTP_TIMEOUT=200 docker-compose run ' .
($opts['skip-deps'] ? '-e SKIP_DEPS=1 ' : '') .
@ -272,23 +272,23 @@ class RoboFile extends \Robo\Tasks {
)->dir(__DIR__ . '/tests/docker')->run();
}
function deleteDocker() {
public function deleteDocker() {
return $this->taskExec(
'docker-compose down -v --remove-orphans --rmi all'
)->dir(__DIR__ . '/tests/docker')->run();
}
function testFailedUnit() {
public function testFailedUnit() {
$this->_exec('vendor/bin/codecept build');
return $this->_exec('vendor/bin/codecept run unit -g failed');
}
function testFailedIntegration() {
public function testFailedIntegration() {
$this->_exec('vendor/bin/codecept build');
return $this->_exec('vendor/bin/codecept run integration -g failed');
}
function containerDump() {
public function containerDump() {
define('ABSPATH', getenv('WP_ROOT') . '/');
if (!file_exists(ABSPATH . 'wp-config.php')) {
$this->yell('WP_ROOT env variable does not contain valid path to wordpress root.', 40, 'red');
@ -313,7 +313,7 @@ class RoboFile extends \Robo\Tasks {
);
}
function doctrineGenerateMetadata() {
public function doctrineGenerateMetadata() {
$doctrine_metadata_dir = \MailPoet\Doctrine\ConfigurationFactory::METADATA_DIR;
$validator_metadata_dir = \MailPoet\Doctrine\Validator\ValidatorFactory::METADATA_DIR;
$this->_exec("rm -rf $doctrine_metadata_dir");
@ -334,7 +334,7 @@ class RoboFile extends \Robo\Tasks {
$this->say("Validator metadata generated to: $validator_metadata_dir");
}
function doctrineGenerateProxies() {
public function doctrineGenerateProxies() {
$proxy_dir = \MailPoet\Doctrine\ConfigurationFactory::PROXY_DIR;
$this->_exec("rm -rf $proxy_dir");
@ -347,7 +347,7 @@ class RoboFile extends \Robo\Tasks {
$this->say("Doctrine proxies generated to: $proxy_dir");
}
function qa() {
public function qa() {
$collection = $this->collectionBuilder();
$collection->addCode([$this, 'qaLint']);
$collection->addCode(function() {
@ -358,19 +358,19 @@ class RoboFile extends \Robo\Tasks {
return $collection->run();
}
function qaLint() {
public function qaLint() {
return $this->_exec('./tasks/code_sniffer/vendor/bin/parallel-lint lib/ tests/ mailpoet.php');
}
function qaLintJavascript() {
public function qaLintJavascript() {
return $this->_exec('npm run lint');
}
function qaLintCss() {
public function qaLintCss() {
return $this->_exec('npm run stylelint -- "assets/css/src/components/**/*.scss"');
}
function qaCodeSniffer($severity='errors') {
public function qaCodeSniffer($severity='errors') {
$severityFlag = $severity === 'all' ? '-w' : '-n';
$task = implode(' ', [
'./tasks/code_sniffer/vendor/bin/phpcs',
@ -422,7 +422,7 @@ class RoboFile extends \Robo\Tasks {
->run();
}
function qaFixFile($filePath) {
public function qaFixFile($filePath) {
if (substr($filePath, -4) === '.php') {
// fix PHPCS rules
return $this->collectionBuilder()
@ -469,7 +469,7 @@ class RoboFile extends \Robo\Tasks {
}
}
function qaPhpstan() {
public function qaPhpstan() {
$dir = __DIR__;
$task = implode(' ', [
'WP_ROOT="' . getenv('WP_ROOT') . '"',
@ -501,7 +501,7 @@ class RoboFile extends \Robo\Tasks {
->run();
}
function svnCheckout() {
public function svnCheckout() {
$svn_dir = ".mp_svn";
$collection = $this->collectionBuilder();
@ -524,7 +524,7 @@ class RoboFile extends \Robo\Tasks {
->run();
}
function svnPushTemplates() {
public function svnPushTemplates() {
$collection = $this->collectionBuilder();
$this->svnCheckout();
$awkCmd = '{print " --force \""$2"\""}';
@ -539,7 +539,7 @@ class RoboFile extends \Robo\Tasks {
->run();
}
function svnPublish() {
public function svnPublish() {
$svn_dir = ".mp_svn";
$plugin_version = $this->getPluginVersion('mailpoet.php');
$plugin_dist_name = 'mailpoet';
@ -825,13 +825,13 @@ class RoboFile extends \Robo\Tasks {
->run();
}
function releaseChangelogGet($version = null) {
public function releaseChangelogGet($version = null) {
$outputs = $this->getChangelogController()->get($version);
$this->say("Changelog \n{$outputs[0]} \n{$outputs[1]}\n");
$this->say("IMPORTANT NOTES \n" . ($outputs[2] ?: 'none'));
}
function releaseChangelogWrite($version = null) {
public function releaseChangelogWrite($version = null) {
$this->say("Updating changelog");
$outputs = $this->getChangelogController()->update($version);
$this->say("Changelog \n{$outputs[0]} \n{$outputs[1]}\n\n");

View File

@ -12,7 +12,7 @@ class API {
* @return \MailPoet\API\MP\v1\API
* @throws \Exception
*/
static function MP($version) {
public static function MP($version) {
$api_class = sprintf('%s\MP\%s\API', __NAMESPACE__, $version);
try {
return ContainerWrapper::getInstance()->get($api_class);

View File

@ -42,7 +42,7 @@ class API {
const CURRENT_VERSION = 'v1';
function __construct(
public function __construct(
ContainerInterface $container,
AccessControl $access_control,
SettingsController $settings,
@ -60,7 +60,7 @@ class API {
}
}
function init() {
public function init() {
// admin security token and API version
WPFunctions::get()->addAction(
'admin_head',
@ -80,7 +80,7 @@ class API {
);
}
function setupAjax() {
public function setupAjax() {
$this->wp->doAction('mailpoet_api_setup', [$this]);
if (isset($_POST['api_version'])) {
@ -105,7 +105,7 @@ class API {
$response->send();
}
function setRequestData($data, $request_type) {
public function setRequestData($data, $request_type) {
$this->_request_api_version = !empty($data['api_version']) ? $data['api_version'] : false;
$this->_request_endpoint = isset($data['endpoint'])
@ -162,7 +162,7 @@ class API {
}
}
function processRoute() {
public function processRoute() {
try {
if (empty($this->_request_endpoint_class) ||
!$this->container->has($this->_request_endpoint_class)
@ -203,18 +203,18 @@ class API {
}
}
function validatePermissions($request_method, $permissions) {
public function validatePermissions($request_method, $permissions) {
// validate method permission if defined, otherwise validate global permission
return(!empty($permissions['methods'][$request_method])) ?
$this->access_control->validatePermission($permissions['methods'][$request_method]) :
$this->access_control->validatePermission($permissions['global']);
}
function checkToken() {
public function checkToken() {
return WPFunctions::get()->wpVerifyNonce($this->_request_token, 'mailpoet_token');
}
function setTokenAndAPIVersion() {
public function setTokenAndAPIVersion() {
$global = '<script type="text/javascript">';
$global .= 'var mailpoet_token = "%s";';
$global .= 'var mailpoet_api_version = "%s";';
@ -226,24 +226,24 @@ class API {
);
}
function addEndpointNamespace($namespace, $version) {
public function addEndpointNamespace($namespace, $version) {
if (!empty($this->_endpoint_namespaces[$version][$namespace])) return;
$this->_endpoint_namespaces[$version][] = $namespace;
}
function getEndpointNamespaces() {
public function getEndpointNamespaces() {
return $this->_endpoint_namespaces;
}
function getRequestedEndpointClass() {
public function getRequestedEndpointClass() {
return $this->_request_endpoint_class;
}
function getRequestedAPIVersion() {
public function getRequestedAPIVersion() {
return $this->_request_api_version;
}
function createErrorResponse($error_type, $error_message, $response_status) {
public function createErrorResponse($error_type, $error_message, $response_status) {
$error_response = new ErrorResponse(
[
$error_type => $error_message,

View File

@ -16,13 +16,13 @@ abstract class Endpoint {
protected static $get_methods = [];
function successResponse(
public function successResponse(
$data = [], $meta = [], $status = Response::STATUS_OK
) {
return new SuccessResponse($data, $meta, $status);
}
function errorResponse(
public function errorResponse(
$errors = [], $meta = [], $status = Response::STATUS_NOT_FOUND
) {
if (empty($errors)) {
@ -33,7 +33,7 @@ abstract class Endpoint {
return new ErrorResponse($errors, $meta, $status);
}
function badRequest($errors = [], $meta = []) {
public function badRequest($errors = [], $meta = []) {
if (empty($errors)) {
$errors = [
Error::BAD_REQUEST => WPFunctions::get()->__('Invalid request parameters', 'mailpoet'),

View File

@ -7,16 +7,16 @@ use MailPoet\WP\Functions as WPFunctions;
class ErrorResponse extends Response {
public $errors;
function __construct($errors = [], $meta = [], $status = self::STATUS_NOT_FOUND) {
public function __construct($errors = [], $meta = [], $status = self::STATUS_NOT_FOUND) {
parent::__construct($status, $meta);
$this->errors = $this->formatErrors($errors);
}
function getData() {
public function getData() {
return (empty($this->errors)) ? null : ['errors' => $this->errors];
}
function formatErrors($errors = []) {
public function formatErrors($errors = []) {
return array_map(function($error, $message) {
// sanitize SQL error
if (preg_match('/^SQLSTATE/i', $message)) {

View File

@ -16,12 +16,12 @@ abstract class Response {
public $status;
public $meta;
function __construct($status, $meta = []) {
public function __construct($status, $meta = []) {
$this->status = $status;
$this->meta = $meta;
}
function send() {
public function send() {
WPFunctions::get()->statusHeader($this->status);
$data = $this->getData();
@ -41,5 +41,5 @@ abstract class Response {
die();
}
abstract function getData();
public abstract function getData();
}

View File

@ -10,7 +10,7 @@ class CustomFieldsResponseBuilder {
* @param CustomFieldEntity[] $custom_fields
* @return array
*/
function buildBatch(array $custom_fields) {
public function buildBatch(array $custom_fields) {
return array_map([$this, 'build'], $custom_fields);
}
@ -18,7 +18,7 @@ class CustomFieldsResponseBuilder {
* @param CustomFieldEntity $custom_field
* @return array
*/
function build(CustomFieldEntity $custom_field) {
public function build(CustomFieldEntity $custom_field) {
return [
'id' => $custom_field->getId(),
'name' => $custom_field->getName(),

View File

@ -9,7 +9,7 @@ use MailPoet\Entities\SendingQueueEntity;
class NewslettersResponseBuilder {
const DATE_FORMAT = 'Y-m-d H:i:s';
function build(NewsletterEntity $newsletter) {
public function build(NewsletterEntity $newsletter) {
return [
'id' => (string)$newsletter->getId(), // (string) for BC
'hash' => $newsletter->getHash(),

View File

@ -5,12 +5,12 @@ namespace MailPoet\API\JSON;
class SuccessResponse extends Response {
public $data;
function __construct($data = [], $meta = [], $status = self::STATUS_OK) {
public function __construct($data = [], $meta = [], $status = self::STATUS_OK) {
parent::__construct($status, $meta);
$this->data = $data;
}
function getData() {
public function getData() {
if ($this->data === null) return null;
return [

View File

@ -15,11 +15,11 @@ class Analytics extends APIEndpoint {
'global' => AccessControl::NO_ACCESS_RESTRICTION,
];
function __construct(Reporter $reporter) {
public function __construct(Reporter $reporter) {
$this->reporter = $reporter;
}
function getTrackingData() {
public function getTrackingData() {
return $this->successResponse($this->reporter->getTrackingData());
}
}

View File

@ -15,12 +15,12 @@ class AutomatedLatestContent extends APIEndpoint {
'global' => AccessControl::PERMISSION_MANAGE_EMAILS,
];
function __construct(\MailPoet\Newsletter\AutomatedLatestContent $alc, WPFunctions $wp) {
public function __construct(\MailPoet\Newsletter\AutomatedLatestContent $alc, WPFunctions $wp) {
$this->ALC = $alc;
$this->wp = $wp;
}
function getPostTypes() {
public function getPostTypes() {
$post_types = array_map(function($post_type) {
return [
'name' => $post_type->name,
@ -32,7 +32,7 @@ class AutomatedLatestContent extends APIEndpoint {
);
}
function getTaxonomies($data = []) {
public function getTaxonomies($data = []) {
$post_type = (isset($data['postType'])) ? $data['postType'] : 'post';
$all_taxonomies = WPFunctions::get()->getObjectTaxonomies($post_type, 'objects');
$taxonomies_with_label = array_filter($all_taxonomies, function($taxonomy) {
@ -41,7 +41,7 @@ class AutomatedLatestContent extends APIEndpoint {
return $this->successResponse($taxonomies_with_label);
}
function getTerms($data = []) {
public function getTerms($data = []) {
$taxonomies = (isset($data['taxonomies'])) ? $data['taxonomies'] : [];
$search = (isset($data['search'])) ? $data['search'] : '';
$limit = (isset($data['limit'])) ? (int)$data['limit'] : 100;
@ -62,20 +62,20 @@ class AutomatedLatestContent extends APIEndpoint {
return $this->successResponse(array_values($terms));
}
function getPosts($data = []) {
public function getPosts($data = []) {
return $this->successResponse(
$this->ALC->getPosts($data)
);
}
function getTransformedPosts($data = []) {
public function getTransformedPosts($data = []) {
$posts = $this->ALC->getPosts($data);
return $this->successResponse(
$this->ALC->transformPosts($data, $posts)
);
}
function getBulkTransformedPosts($data = []) {
public function getBulkTransformedPosts($data = []) {
$used_posts = [];
$rendered_posts = [];

View File

@ -14,11 +14,11 @@ class AutomaticEmails extends APIEndpoint {
private $wp;
function __construct() {
public function __construct() {
$this->wp = new WPFunctions;
}
function getEventOptions($data) {
public function getEventOptions($data) {
$query = (!empty($data['query'])) ? $data['query'] : null;
$filter = (!empty($data['filter'])) ? $data['filter'] : null;
$email_slug = (!empty($data['email_slug'])) ? $data['email_slug'] : null;
@ -45,7 +45,7 @@ class AutomaticEmails extends APIEndpoint {
);
}
function getEventShortcodes($data) {
public function getEventShortcodes($data) {
$email_slug = (!empty($data['email_slug'])) ? $data['email_slug'] : null;
$event_slug = (!empty($data['event_slug'])) ? $data['event_slug'] : null;

View File

@ -31,12 +31,12 @@ class CustomFields extends APIEndpoint {
$this->custom_fields_response_builder = $custom_fields_response_builder;
}
function getAll() {
public function getAll() {
$collection = $this->custom_fields_repository->findBy([], ['created_at' => 'asc']);
return $this->successResponse($this->custom_fields_response_builder->buildBatch($collection));
}
function delete($data = []) {
public function delete($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : null);
$custom_field = $this->custom_fields_repository->findOneById($id);
if ($custom_field instanceof CustomFieldEntity) {
@ -51,7 +51,7 @@ class CustomFields extends APIEndpoint {
}
}
function save($data = []) {
public function save($data = []) {
try {
$custom_field = $this->custom_fields_repository->createOrUpdate($data);
$custom_field = $this->custom_fields_repository->findOneById($custom_field->getId());
@ -62,7 +62,7 @@ class CustomFields extends APIEndpoint {
}
}
function get($data = []) {
public function get($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : null);
$custom_field = $this->custom_fields_repository->findOneById($id);
if ($custom_field instanceof CustomFieldEntity) {

View File

@ -51,7 +51,7 @@ class DynamicSegments extends APIEndpoint {
$this->subscribers_counts_loader = $subscribers_counts_loader ?: new SubscribersCount();
}
function get($data = []) {
public function get($data = []) {
if (isset($data['id'])) {
$id = (int)$data['id'];
} else {
@ -77,7 +77,7 @@ class DynamicSegments extends APIEndpoint {
}
}
function save($data) {
public function save($data) {
try {
$dynamic_segment = $this->mapper->mapDataToDB($data);
$this->saver->save($dynamic_segment);
@ -117,7 +117,7 @@ class DynamicSegments extends APIEndpoint {
}
}
function trash($data = []) {
public function trash($data = []) {
if (isset($data['id'])) {
$id = (int)$data['id'];
} else {
@ -140,7 +140,7 @@ class DynamicSegments extends APIEndpoint {
}
}
function restore($data = []) {
public function restore($data = []) {
if (isset($data['id'])) {
$id = (int)$data['id'];
} else {
@ -163,7 +163,7 @@ class DynamicSegments extends APIEndpoint {
}
}
function delete($data = []) {
public function delete($data = []) {
if (isset($data['id'])) {
$id = (int)$data['id'];
} else {
@ -183,7 +183,7 @@ class DynamicSegments extends APIEndpoint {
}
}
function listing($data = []) {
public function listing($data = []) {
$listing_data = $this->listing_handler->get('\MailPoet\Models\DynamicSegment', $data);
$data = [];
@ -206,7 +206,7 @@ class DynamicSegments extends APIEndpoint {
}
function bulkAction($data = []) {
public function bulkAction($data = []) {
try {
$meta = $this->bulk_action->apply('\MailPoet\Models\DynamicSegment', $data);
return $this->successResponse(null, $meta);

View File

@ -20,17 +20,17 @@ class FeatureFlags extends APIEndpoint {
/** @var FeatureFlagsController */
private $feature_flags_controller;
function __construct(FeaturesController $features_controller, FeatureFlagsController $feature_flags) {
public function __construct(FeaturesController $features_controller, FeatureFlagsController $feature_flags) {
$this->features_controller = $features_controller;
$this->feature_flags_controller = $feature_flags;
}
function getAll() {
public function getAll() {
$feature_flags = $this->feature_flags_controller->getAll();
return $this->successResponse($feature_flags);
}
function set(array $flags) {
public function set(array $flags) {
foreach ($flags as $name => $value) {
if (!$this->features_controller->exists($name)) {
return $this->badRequest([

View File

@ -31,7 +31,7 @@ class Forms extends APIEndpoint {
'global' => AccessControl::PERMISSION_MANAGE_FORMS,
];
function __construct(
public function __construct(
Listing\BulkActionController $bulk_action,
Listing\Handler $listing_handler,
FeaturesController $features_controller,
@ -43,7 +43,7 @@ class Forms extends APIEndpoint {
$this->form_styles_utils = $form_styles_utils;
}
function get($data = []) {
public function get($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$form = Form::findOne($id);
if ($form instanceof Form) {
@ -54,7 +54,7 @@ class Forms extends APIEndpoint {
]);
}
function listing($data = []) {
public function listing($data = []) {
$listing_data = $this->listing_handler->get('\MailPoet\Models\Form', $data);
$data = [];
@ -79,7 +79,7 @@ class Forms extends APIEndpoint {
]);
}
function create() {
public function create() {
$form_name = WPFunctions::get()->__('New form', 'mailpoet');
if ($this->features_controller->isSupported(FeaturesController::NEW_FORM_EDITOR)) {
$form_name = '';
@ -123,7 +123,7 @@ class Forms extends APIEndpoint {
return $this->save($form_data);
}
function save($data = []) {
public function save($data = []) {
$form = Form::createOrUpdate($data);
$errors = $form->getErrors();
@ -135,7 +135,7 @@ class Forms extends APIEndpoint {
return $this->badRequest($errors);
}
function previewEditor($data = []) {
public function previewEditor($data = []) {
// html
$html = FormRenderer::renderHTML($data);
@ -151,7 +151,7 @@ class Forms extends APIEndpoint {
]);
}
function exportsEditor($data = []) {
public function exportsEditor($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$form = Form::findOne($id);
if ($form instanceof Form) {
@ -163,7 +163,7 @@ class Forms extends APIEndpoint {
]);
}
function saveEditor($data = []) {
public function saveEditor($data = []) {
$form_id = (isset($data['id']) ? (int)$data['id'] : 0);
$name = (isset($data['name']) ? $data['name'] : WPFunctions::get()->__('New form', 'mailpoet'));
$body = (isset($data['body']) ? $data['body'] : []);
@ -232,7 +232,7 @@ class Forms extends APIEndpoint {
);
}
function restore($data = []) {
public function restore($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$form = Form::findOne($id);
if ($form instanceof Form) {
@ -250,7 +250,7 @@ class Forms extends APIEndpoint {
}
}
function trash($data = []) {
public function trash($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$form = Form::findOne($id);
if ($form instanceof Form) {
@ -268,7 +268,7 @@ class Forms extends APIEndpoint {
}
}
function delete($data = []) {
public function delete($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$form = Form::findOne($id);
if ($form instanceof Form) {
@ -282,7 +282,7 @@ class Forms extends APIEndpoint {
}
}
function duplicate($data = []) {
public function duplicate($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$form = Form::findOne($id);
@ -311,7 +311,7 @@ class Forms extends APIEndpoint {
}
}
function bulkAction($data = []) {
public function bulkAction($data = []) {
try {
$meta = $this->bulk_action->apply('\MailPoet\Models\Form', $data);
return $this->successResponse(null, $meta);

View File

@ -15,7 +15,7 @@ class ImportExport extends APIEndpoint {
'global' => AccessControl::PERMISSION_MANAGE_SUBSCRIBERS,
];
function getMailChimpLists($data) {
public function getMailChimpLists($data) {
try {
$mailChimp = new MailChimp($data['api_key']);
$lists = $mailChimp->getLists();
@ -27,7 +27,7 @@ class ImportExport extends APIEndpoint {
}
}
function getMailChimpSubscribers($data) {
public function getMailChimpSubscribers($data) {
try {
$mailChimp = new MailChimp($data['api_key']);
$subscribers = $mailChimp->getSubscribers($data['lists']);
@ -39,7 +39,7 @@ class ImportExport extends APIEndpoint {
}
}
function addSegment($data) {
public function addSegment($data) {
$segment = Segment::createOrUpdate($data);
$errors = $segment->getErrors();
@ -52,7 +52,7 @@ class ImportExport extends APIEndpoint {
}
}
function processImport($data) {
public function processImport($data) {
try {
$import = new \MailPoet\Subscribers\ImportExport\Import\Import(
json_decode($data, true)
@ -66,7 +66,7 @@ class ImportExport extends APIEndpoint {
}
}
function processExport($data) {
public function processExport($data) {
try {
$export = new \MailPoet\Subscribers\ImportExport\Export\Export(
json_decode($data, true)
@ -80,7 +80,7 @@ class ImportExport extends APIEndpoint {
}
}
function setupWooCommerceInitialImport() {
public function setupWooCommerceInitialImport() {
try {
$task = ScheduledTask::where('type', WooCommerceSync::TASK_TYPE)
->whereRaw('status = ? OR status IS NULL', [ScheduledTask::STATUS_SCHEDULED])

View File

@ -30,14 +30,14 @@ class Mailer extends APIEndpoint {
'global' => AccessControl::PERMISSION_MANAGE_EMAILS,
];
function __construct(AuthorizedEmailsController $authorized_emails_controller, SettingsController $settings, Bridge $bridge, MetaInfo $mailerMetaInfo) {
public function __construct(AuthorizedEmailsController $authorized_emails_controller, SettingsController $settings, Bridge $bridge, MetaInfo $mailerMetaInfo) {
$this->authorized_emails_controller = $authorized_emails_controller;
$this->settings = $settings;
$this->bridge = $bridge;
$this->mailerMetaInfo = $mailerMetaInfo;
}
function send($data = []) {
public function send($data = []) {
try {
$mailer = new \MailPoet\Mailer\Mailer();
$mailer->init(
@ -67,7 +67,7 @@ class Mailer extends APIEndpoint {
}
}
function resumeSending() {
public function resumeSending() {
if ($this->settings->get(AuthorizedEmailsController::AUTHORIZED_EMAIL_ADDRESSES_ERROR_SETTING)) {
$this->authorized_emails_controller->checkAuthorizedEmailAddresses();
}
@ -75,7 +75,7 @@ class Mailer extends APIEndpoint {
return $this->successResponse(null);
}
function getAuthorizedEmailAddresses() {
public function getAuthorizedEmailAddresses() {
$authorized_emails = $this->bridge->getAuthorizedEmailAddresses();
return $this->successResponse($authorized_emails);
}

View File

@ -12,7 +12,7 @@ class NewsletterLinks extends APIEndpoint {
'global' => AccessControl::PERMISSION_MANAGE_SEGMENTS,
];
function get($data = []) {
public function get($data = []) {
$links = NewsletterLink::select(['id', 'url'])->where('newsletter_id', $data['newsletterId'])->findArray();
return $this->successResponse($links);
}

View File

@ -17,7 +17,7 @@ class NewsletterTemplates extends APIEndpoint {
'getAll',
];
function get($data = []) {
public function get($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$template = NewsletterTemplate::findOne($id);
if ($template instanceof NewsletterTemplate) {
@ -31,7 +31,7 @@ class NewsletterTemplates extends APIEndpoint {
}
}
function getAll() {
public function getAll() {
$collection = NewsletterTemplate
::selectExpr('id, categories, thumbnail, name, description, readonly')
->orderByAsc('readonly')
@ -45,7 +45,7 @@ class NewsletterTemplates extends APIEndpoint {
return $this->successResponse($templates);
}
function save($data = []) {
public function save($data = []) {
ignore_user_abort(true);
if (!empty($data['newsletter_id'])) {
$template = NewsletterTemplate::whereEqual('newsletter_id', $data['newsletter_id'])->findOne();
@ -70,7 +70,7 @@ class NewsletterTemplates extends APIEndpoint {
}
}
function delete($data = []) {
public function delete($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$template = NewsletterTemplate::findOne($id);
if ($template instanceof NewsletterTemplate) {

View File

@ -80,7 +80,7 @@ class Newsletters extends APIEndpoint {
/** @var SubscribersFeature */
private $subscribers_feature;
function __construct(
public function __construct(
Listing\BulkActionController $bulk_action,
Listing\Handler $listing_handler,
WPFunctions $wp,
@ -112,7 +112,7 @@ class Newsletters extends APIEndpoint {
$this->subscribers_feature = $subscribers_feature;
}
function get($data = []) {
public function get($data = []) {
$newsletter = isset($data['id'])
? $this->newsletters_repository->findOneById((int)$data['id'])
: null;
@ -137,7 +137,7 @@ class Newsletters extends APIEndpoint {
}
}
function getWithStats($data = []) {
public function getWithStats($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$newsletter = Newsletter::findOne($id);
if ($newsletter instanceof Newsletter) {
@ -164,7 +164,7 @@ class Newsletters extends APIEndpoint {
}
}
function save($data = []) {
public function save($data = []) {
$data = $this->wp->applyFilters('mailpoet_api_newsletters_save_before', $data);
$segments = [];
@ -286,7 +286,7 @@ class Newsletters extends APIEndpoint {
return $this->successResponse($newsletter->asArray(), ['preview_url' => $preview_url]);
}
function setStatus($data = []) {
public function setStatus($data = []) {
$status = (isset($data['status']) ? $data['status'] : null);
if (!$status) {
@ -339,7 +339,7 @@ class Newsletters extends APIEndpoint {
);
}
function restore($data = []) {
public function restore($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$newsletter = Newsletter::findOne($id);
if ($newsletter instanceof Newsletter) {
@ -359,7 +359,7 @@ class Newsletters extends APIEndpoint {
}
}
function trash($data = []) {
public function trash($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$newsletter = Newsletter::findOne($id);
if ($newsletter instanceof Newsletter) {
@ -378,7 +378,7 @@ class Newsletters extends APIEndpoint {
}
}
function delete($data = []) {
public function delete($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$newsletter = Newsletter::findOne($id);
if ($newsletter instanceof Newsletter) {
@ -391,7 +391,7 @@ class Newsletters extends APIEndpoint {
}
}
function duplicate($data = []) {
public function duplicate($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$newsletter = Newsletter::findOne($id);
@ -420,7 +420,7 @@ class Newsletters extends APIEndpoint {
}
}
function showPreview($data = []) {
public function showPreview($data = []) {
if (empty($data['body'])) {
return $this->badRequest([
APIError::BAD_REQUEST => __('Newsletter data is missing.', 'mailpoet'),
@ -456,7 +456,7 @@ class Newsletters extends APIEndpoint {
}
}
function sendPreview($data = []) {
public function sendPreview($data = []) {
if (empty($data['subscriber'])) {
return $this->badRequest([
APIError::BAD_REQUEST => __('Please specify receiver information.', 'mailpoet'),
@ -527,7 +527,7 @@ class Newsletters extends APIEndpoint {
}
}
function listing($data = []) {
public function listing($data = []) {
$listing_data = $this->listing_handler->get('\MailPoet\Models\Newsletter', $data);
$data = [];
@ -585,7 +585,7 @@ class Newsletters extends APIEndpoint {
]);
}
function bulkAction($data = []) {
public function bulkAction($data = []) {
try {
$meta = $this->bulk_action->apply('\MailPoet\Models\Newsletter', $data);
return $this->successResponse(null, $meta);
@ -596,7 +596,7 @@ class Newsletters extends APIEndpoint {
}
}
function create($data = []) {
public function create($data = []) {
$options = [];
if (isset($data['options'])) {
$options = $data['options'];

View File

@ -25,7 +25,7 @@ class Segments extends APIEndpoint {
/** @var WooCommerce */
private $woo_commerce_sync;
function __construct(
public function __construct(
Listing\BulkActionController $bulk_action,
Listing\Handler $listing_handler,
WooCommerce $woo_commerce
@ -35,7 +35,7 @@ class Segments extends APIEndpoint {
$this->woo_commerce_sync = $woo_commerce;
}
function get($data = []) {
public function get($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$segment = Segment::findOne($id);
if ($segment instanceof Segment) {
@ -47,7 +47,7 @@ class Segments extends APIEndpoint {
}
}
function listing($data = []) {
public function listing($data = []) {
$listing_data = $this->listing_handler->get('\MailPoet\Models\Segment', $data);
$data = [];
@ -69,7 +69,7 @@ class Segments extends APIEndpoint {
]);
}
function save($data = []) {
public function save($data = []) {
$segment = Segment::createOrUpdate($data);
$errors = $segment->getErrors();
@ -84,7 +84,7 @@ class Segments extends APIEndpoint {
}
}
function restore($data = []) {
public function restore($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$segment = Segment::findOne($id);
if ($segment instanceof Segment) {
@ -102,7 +102,7 @@ class Segments extends APIEndpoint {
}
}
function trash($data = []) {
public function trash($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$segment = Segment::findOne($id);
if ($segment instanceof Segment) {
@ -120,7 +120,7 @@ class Segments extends APIEndpoint {
}
}
function delete($data = []) {
public function delete($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$segment = Segment::findOne($id);
if ($segment instanceof Segment) {
@ -133,7 +133,7 @@ class Segments extends APIEndpoint {
}
}
function duplicate($data = []) {
public function duplicate($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$segment = Segment::findOne($id);
@ -161,7 +161,7 @@ class Segments extends APIEndpoint {
}
}
function synchronize($data) {
public function synchronize($data) {
try {
if ($data['type'] === Segment::TYPE_WC_USERS) {
$this->woo_commerce_sync->synchronizeCustomers();
@ -177,7 +177,7 @@ class Segments extends APIEndpoint {
return $this->successResponse(null);
}
function bulkAction($data = []) {
public function bulkAction($data = []) {
try {
$meta = $this->bulk_action->apply('\MailPoet\Models\Segment', $data);
return $this->successResponse(null, $meta);

View File

@ -23,11 +23,11 @@ class SendingQueue extends APIEndpoint {
/** @var SubscribersFeature */
private $subscribers_feature;
function __construct(SubscribersFeature $subscribers_feature) {
public function __construct(SubscribersFeature $subscribers_feature) {
$this->subscribers_feature = $subscribers_feature;
}
function add($data = []) {
public function add($data = []) {
if ($this->subscribers_feature->check()) {
return $this->errorResponse([
APIError::FORBIDDEN => __('Subscribers limit reached.', 'mailpoet'),
@ -117,7 +117,7 @@ class SendingQueue extends APIEndpoint {
}
}
function pause($data = []) {
public function pause($data = []) {
$newsletter_id = (isset($data['newsletter_id'])
? (int)$data['newsletter_id']
: false
@ -144,7 +144,7 @@ class SendingQueue extends APIEndpoint {
}
}
function resume($data = []) {
public function resume($data = []) {
if ($this->subscribers_feature->check()) {
return $this->errorResponse([
APIError::FORBIDDEN => __('Subscribers limit reached.', 'mailpoet'),

View File

@ -31,7 +31,7 @@ class SendingTaskSubscribers extends APIEndpoint {
/** @var WPFunctions */
private $wp;
function __construct(
public function __construct(
Listing\Handler $listing_handler,
SettingsController $settings,
CronHelper $cron_helper,
@ -43,7 +43,7 @@ class SendingTaskSubscribers extends APIEndpoint {
$this->wp = $wp;
}
function listing($data = []) {
public function listing($data = []) {
$newsletter_id = !empty($data['params']['id']) ? (int)$data['params']['id'] : false;
$tasks_ids = SendingQueueModel::select('task_id')
->where('newsletter_id', $newsletter_id)
@ -72,7 +72,7 @@ class SendingTaskSubscribers extends APIEndpoint {
]);
}
function resend($data = []) {
public function resend($data = []) {
$task_id = !empty($data['taskId']) ? (int)$data['taskId'] : false;
$subscriber_id = !empty($data['subscriberId']) ? (int)$data['subscriberId'] : false;
$task_subscriber = ScheduledTaskSubscriber::where('task_id', $task_id)

View File

@ -33,7 +33,7 @@ class Services extends APIEndpoint {
'global' => AccessControl::PERMISSION_MANAGE_SETTINGS,
];
function __construct(Bridge $bridge, SettingsController $settings, AnalyticsHelper $analytics, SPFCheck $spf_check) {
public function __construct(Bridge $bridge, SettingsController $settings, AnalyticsHelper $analytics, SPFCheck $spf_check) {
$this->bridge = $bridge;
$this->settings = $settings;
$this->analytics = $analytics;
@ -41,7 +41,7 @@ class Services extends APIEndpoint {
$this->date_time = new DateTime();
}
function checkSPFRecord($data = []) {
public function checkSPFRecord($data = []) {
$sender_address = $this->settings->get('sender.address');
$domain_name = mb_substr($sender_address, mb_strpos($sender_address, '@') + 1);
@ -57,7 +57,7 @@ class Services extends APIEndpoint {
return $this->successResponse();
}
function checkMSSKey($data = []) {
public function checkMSSKey($data = []) {
$key = isset($data['key']) ? trim($data['key']) : null;
if (!$key) {
@ -119,7 +119,7 @@ class Services extends APIEndpoint {
return $this->errorResponse([APIError::BAD_REQUEST => $error]);
}
function checkPremiumKey($data = []) {
public function checkPremiumKey($data = []) {
$key = isset($data['key']) ? trim($data['key']) : null;
if (!$key) {

View File

@ -47,11 +47,11 @@ class Settings extends APIEndpoint {
$this->wc_transactional_emails = $wc_transactional_emails;
}
function get() {
public function get() {
return $this->successResponse($this->settings->getAll());
}
function set($settings = []) {
public function set($settings = []) {
if (empty($settings)) {
return $this->badRequest(
[

View File

@ -18,12 +18,12 @@ class Setup extends APIEndpoint {
/** @var Activator */
private $activator;
function __construct(WPFunctions $wp, Activator $activator) {
public function __construct(WPFunctions $wp, Activator $activator) {
$this->wp = $wp;
$this->activator = $activator;
}
function reset() {
public function reset() {
try {
$this->activator->deactivate();
$this->activator->activate();

View File

@ -94,7 +94,7 @@ class Subscribers extends APIEndpoint {
$this->subscription_url_factory = $subscription_url_factory;
}
function get($data = []) {
public function get($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$subscriber = Subscriber::findOne($id);
if ($subscriber === false) {
@ -111,7 +111,7 @@ class Subscribers extends APIEndpoint {
}
}
function listing($data = []) {
public function listing($data = []) {
if (!isset($data['filter']['segment'])) {
$listing_data = $this->listing_handler->get('\MailPoet\Models\Subscriber', $data);
@ -159,7 +159,7 @@ class Subscribers extends APIEndpoint {
}
}
function subscribe($data = []) {
public function subscribe($data = []) {
$form_id = (isset($data['form_id']) ? (int)$data['form_id'] : false);
$form = Form::findOne($form_id);
unset($data['form_id']);
@ -336,7 +336,7 @@ class Subscribers extends APIEndpoint {
return true;
}
function save($data = []) {
public function save($data = []) {
if (empty($data['segments'])) {
$data['segments'] = [];
}
@ -400,7 +400,7 @@ class Subscribers extends APIEndpoint {
return array_diff($data['segments'], $old_segment_ids);
}
function restore($data = []) {
public function restore($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$subscriber = Subscriber::findOne($id);
if ($subscriber instanceof Subscriber) {
@ -418,7 +418,7 @@ class Subscribers extends APIEndpoint {
}
}
function trash($data = []) {
public function trash($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$subscriber = Subscriber::findOne($id);
if ($subscriber instanceof Subscriber) {
@ -436,7 +436,7 @@ class Subscribers extends APIEndpoint {
}
}
function delete($data = []) {
public function delete($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$subscriber = Subscriber::findOne($id);
if ($subscriber instanceof Subscriber) {
@ -449,7 +449,7 @@ class Subscribers extends APIEndpoint {
}
}
function sendConfirmationEmail($data = []) {
public function sendConfirmationEmail($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false);
$subscriber = Subscriber::findOne($id);
if ($subscriber instanceof Subscriber) {
@ -464,7 +464,7 @@ class Subscribers extends APIEndpoint {
}
}
function bulkAction($data = []) {
public function bulkAction($data = []) {
try {
if (!isset($data['listing']['filter']['segment'])) {
return $this->successResponse(

View File

@ -17,11 +17,11 @@ class UserFlags extends APIEndpoint {
'global' => AccessControl::ALL_ROLES_ACCESS,
];
function __construct(UserFlagsController $user_flags) {
public function __construct(UserFlagsController $user_flags) {
$this->user_flags = $user_flags;
}
function set(array $flags = []) {
public function set(array $flags = []) {
if (empty($flags)) {
return $this->badRequest(
[

View File

@ -18,11 +18,11 @@ class WoocommerceSettings extends APIEndpoint {
/** @var WPFunctions */
private $wp;
function __construct(WPFunctions $wp) {
public function __construct(WPFunctions $wp) {
$this->wp = $wp;
}
function set($data = []) {
public function set($data = []) {
foreach ($data as $option => $value) {
if (in_array($option, $this->allowed_settings)) {
$this->wp->updateOption($option, $value);

View File

@ -47,7 +47,7 @@ class API {
$this->welcome_scheduler = $welcome_scheduler;
}
function getSubscriberFields() {
public function getSubscriberFields() {
$data = [
[
'id' => 'email',
@ -93,7 +93,7 @@ class API {
return $data;
}
function addSubscriberField(array $data = []) {
public function addSubscriberField(array $data = []) {
try {
$custom_field = CustomField::createOrUpdate($this->custom_fields_data_sanitizer->sanitize($data));
$errors = $custom_field->getErrors();
@ -110,11 +110,11 @@ class API {
}
}
function subscribeToList($subscriber_id, $list_id, $options = []) {
public function subscribeToList($subscriber_id, $list_id, $options = []) {
return $this->subscribeToLists($subscriber_id, [$list_id], $options);
}
function subscribeToLists($subscriber_id, array $list_ids, $options = []) {
public function subscribeToLists($subscriber_id, array $list_ids, $options = []) {
$schedule_welcome_email = (isset($options['schedule_welcome_email']) && $options['schedule_welcome_email'] === false) ? false : true;
$send_confirmation_email = (isset($options['send_confirmation_email']) && $options['send_confirmation_email'] === false) ? false : true;
$skip_subscriber_notification = (isset($options['skip_subscriber_notification']) && $options['skip_subscriber_notification'] === true) ? true : false;
@ -189,11 +189,11 @@ class API {
return $subscriber->withCustomFields()->withSubscriptions()->asArray();
}
function unsubscribeFromList($subscriber_id, $list_id) {
public function unsubscribeFromList($subscriber_id, $list_id) {
return $this->unsubscribeFromLists($subscriber_id, [$list_id]);
}
function unsubscribeFromLists($subscriber_id, array $list_ids) {
public function unsubscribeFromLists($subscriber_id, array $list_ids) {
if (empty($list_ids)) {
throw new APIException(__('At least one segment ID is required.', 'mailpoet'), APIException::SEGMENT_REQUIRED);
}
@ -237,12 +237,12 @@ class API {
return $subscriber->withCustomFields()->withSubscriptions()->asArray();
}
function getLists() {
public function getLists() {
return Segment::where('type', Segment::TYPE_DEFAULT)
->findArray();
}
function addSubscriber(array $subscriber, $list_ids = [], $options = []) {
public function addSubscriber(array $subscriber, $list_ids = [], $options = []) {
$send_confirmation_email = (isset($options['send_confirmation_email']) && $options['send_confirmation_email'] === false) ? false : true;
$schedule_welcome_email = (isset($options['schedule_welcome_email']) && $options['schedule_welcome_email'] === false) ? false : true;
$skip_subscriber_notification = (isset($options['skip_subscriber_notification']) && $options['skip_subscriber_notification'] === true) ? true : false;
@ -316,7 +316,7 @@ class API {
return $new_subscriber->withCustomFields()->withSubscriptions()->asArray();
}
function addList(array $list) {
public function addList(array $list) {
// throw exception when list name is missing
if (empty($list['name'])) {
throw new APIException(
@ -356,7 +356,7 @@ class API {
return $new_list->asArray();
}
function getSubscriber($subscriber_email) {
public function getSubscriber($subscriber_email) {
$subscriber = Subscriber::findOne($subscriber_email);
// throw exception when subscriber does not exist
if (!$subscriber) {

View File

@ -20,7 +20,7 @@ class PageRenderer {
/** @var SettingsController */
private $settings;
function __construct(
public function __construct(
Renderer $renderer,
FeaturesController $features_controller,
SettingsController $settings
@ -35,7 +35,7 @@ class PageRenderer {
* @param string $template
* @param array $data
*/
function displayPage($template, array $data = []) {
public function displayPage($template, array $data = []) {
$defaults = [
'feature_flags' => $this->features_controller->getAllFlags(),
'referral_id' => $this->settings->get(ReferralDetector::REFERRAL_SETTING_NAME),

View File

@ -21,7 +21,7 @@ class DynamicSegments {
/** @var WooCommerceHelper */
private $woocommerce_helper;
function __construct(
public function __construct(
PageRenderer $page_renderer,
PageLimit $listing_page_limit,
WPFunctions $wp,
@ -33,7 +33,7 @@ class DynamicSegments {
$this->woocommerce_helper = $woocommerce_helper;
}
function render() {
public function render() {
$data = [];
$data['items_per_page'] = $this->listing_page_limit->getLimitPerPage('dynamic_segments');

View File

@ -8,11 +8,11 @@ class ExperimentalFeatures {
/** @var PageRenderer */
private $page_renderer;
function __construct(PageRenderer $page_renderer) {
public function __construct(PageRenderer $page_renderer) {
$this->page_renderer = $page_renderer;
}
function render() {
public function render() {
$this->page_renderer->displayPage('experimental-features.html', []);
}
}

View File

@ -27,7 +27,7 @@ class FormEditor {
/** @var CustomFieldsResponseBuilder */
private $custom_fields_response_builder;
function __construct(
public function __construct(
PageRenderer $page_renderer,
FeaturesController $features_controller,
CustomFieldsRepository $custom_fields_repository,
@ -39,7 +39,7 @@ class FormEditor {
$this->custom_fields_response_builder = $custom_fields_response_builder;
}
function render() {
public function render() {
$id = (isset($_GET['id']) ? (int)$_GET['id'] : 0);
$form = Form::findOne($id);
if ($form instanceof Form) {

View File

@ -17,7 +17,7 @@ class Forms {
/** @var Installation */
private $installation;
function __construct(
public function __construct(
PageRenderer $page_renderer,
PageLimit $listing_page_limit,
Installation $installation
@ -27,7 +27,7 @@ class Forms {
$this->installation = $installation;
}
function render() {
public function render() {
$data = [];
$data['items_per_page'] = $this->listing_page_limit->getLimitPerPage('forms');
$data['segments'] = Segment::findArray();

View File

@ -24,14 +24,14 @@ class Help {
/** @var Beacon */
private $helpscout_beacon;
function __construct(PageRenderer $page_renderer, State $tasks_state, CronHelper $cron_helper, Beacon $helpscout_beacon) {
public function __construct(PageRenderer $page_renderer, State $tasks_state, CronHelper $cron_helper, Beacon $helpscout_beacon) {
$this->page_renderer = $page_renderer;
$this->tasks_state = $tasks_state;
$this->cron_helper = $cron_helper;
$this->helpscout_beacon = $helpscout_beacon;
}
function render() {
public function render() {
$system_info_data = $this->helpscout_beacon->getData();
$cron_ping_response = $this->cron_helper->pingDaemon();
$system_status_data = [

View File

@ -12,12 +12,12 @@ class MP2Migration {
/** @var MP2Migrator */
private $mp2_migrator;
function __construct(PageRenderer $page_renderer, MP2Migrator $mp2_migrator) {
public function __construct(PageRenderer $page_renderer, MP2Migrator $mp2_migrator) {
$this->page_renderer = $page_renderer;
$this->mp2_migrator = $mp2_migrator;
}
function render() {
public function render() {
$this->mp2_migrator->init();
$data = [
'log_file_url' => $this->mp2_migrator->log_file_url,

View File

@ -32,7 +32,7 @@ class NewsletterEditor {
/** @var TransactionalEmails */
private $wc_transactional_emails;
function __construct(
public function __construct(
PageRenderer $page_renderer,
SettingsController $settings,
UserFlagsController $user_flags,
@ -48,7 +48,7 @@ class NewsletterEditor {
$this->wc_transactional_emails = $wc_transactional_emails;
}
function render() {
public function render() {
$newsletter_id = (isset($_GET['id']) ? (int)$_GET['id'] : 0);
$woocommerce_template_id = (int)$this->settings->get(TransactionalEmails::SETTING_EMAIL_ID, null);
if (

View File

@ -50,7 +50,7 @@ class Newsletters {
/** @var SubscribersFeature */
private $subscribers_feature;
function __construct(
public function __construct(
PageRenderer $page_renderer,
PageLimit $listing_page_limit,
WPFunctions $wp,
@ -72,7 +72,7 @@ class Newsletters {
$this->subscribers_feature = $subscribers_feature;
}
function render() {
public function render() {
global $wp_roles;
$data = [];

View File

@ -13,12 +13,12 @@ class Premium {
/** @var WPFunctions */
private $wp;
function __construct(PageRenderer $page_renderer, WPFunctions $wp) {
public function __construct(PageRenderer $page_renderer, WPFunctions $wp) {
$this->page_renderer = $page_renderer;
$this->wp = $wp;
}
function render() {
public function render() {
$data = [
'current_wp_user' => $this->wp->wpGetCurrentUser()->to_array(),
'subscriber_count' => Subscriber::getTotalSubscribers(),

View File

@ -13,7 +13,7 @@ class RevenueTrackingPermission {
/** @var WPFunctions */
private $wp;
function __construct(
public function __construct(
PageRenderer $page_renderer,
WPFunctions $wp
) {
@ -21,7 +21,7 @@ class RevenueTrackingPermission {
$this->wp = $wp;
}
function render() {
public function render() {
if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return;
$data = [
'finish_wizard_url' => $this->wp->adminUrl('admin.php?page=' . Menu::MAIN_PAGE_SLUG),

View File

@ -12,12 +12,12 @@ class Segments {
/** @var PageLimit */
private $listing_page_limit;
function __construct(PageRenderer $page_renderer, PageLimit $listing_page_limit) {
public function __construct(PageRenderer $page_renderer, PageLimit $listing_page_limit) {
$this->page_renderer = $page_renderer;
$this->listing_page_limit = $listing_page_limit;
}
function render() {
public function render() {
$data = [];
$data['items_per_page'] = $this->listing_page_limit->getLimitPerPage('segments');
$this->page_renderer->displayPage('segments.html', $data);

View File

@ -41,7 +41,7 @@ class Settings {
/** @var Installation */
private $installation;
function __construct(
public function __construct(
PageRenderer $page_renderer,
SettingsController $settings,
WooCommerceHelper $woocommerce_helper,
@ -59,7 +59,7 @@ class Settings {
$this->captcha = $captcha;
}
function render() {
public function render() {
$settings = $this->settings->getAll();
$flags = $this->getFlags();

View File

@ -22,13 +22,13 @@ class Subscribers {
/** @var WPFunctions */
private $wp;
function __construct(PageRenderer $page_renderer, PageLimit $listing_page_limit, WPFunctions $wp) {
public function __construct(PageRenderer $page_renderer, PageLimit $listing_page_limit, WPFunctions $wp) {
$this->page_renderer = $page_renderer;
$this->listing_page_limit = $listing_page_limit;
$this->wp = $wp;
}
function render() {
public function render() {
$data = [];
$data['items_per_page'] = $this->listing_page_limit->getLimitPerPage('subscribers');

View File

@ -13,12 +13,12 @@ class SubscribersAPIKeyInvalid {
/** @var WPFunctions */
private $wp;
function __construct(PageRenderer $page_renderer, WPFunctions $wp) {
public function __construct(PageRenderer $page_renderer, WPFunctions $wp) {
$this->page_renderer = $page_renderer;
$this->wp = $wp;
}
function render() {
public function render() {
$this->page_renderer->displayPage('invalidkey.html', [
'current_wp_user' => $this->wp->wpGetCurrentUser()->to_array(),
'subscriber_count' => Subscriber::getTotalSubscribers(),

View File

@ -9,11 +9,11 @@ class SubscribersExport {
/** @var PageRenderer */
private $page_renderer;
function __construct(PageRenderer $page_renderer) {
public function __construct(PageRenderer $page_renderer) {
$this->page_renderer = $page_renderer;
}
function render() {
public function render() {
$export = new ImportExportFactory(ImportExportFactory::EXPORT_ACTION);
$data = $export->bootstrap();
$data['sub_menu'] = 'mailpoet-subscribers';

View File

@ -15,12 +15,12 @@ class SubscribersImport {
/** @var Installation */
private $installation;
function __construct(PageRenderer $page_renderer, Installation $installation) {
public function __construct(PageRenderer $page_renderer, Installation $installation) {
$this->page_renderer = $page_renderer;
$this->installation = $installation;
}
function render() {
public function render() {
$import = new ImportExportFactory(ImportExportFactory::IMPORT_ACTION);
$data = $import->bootstrap();
$data = array_merge($data, [

View File

@ -20,13 +20,13 @@ class Update {
/** @var SettingsController */
private $settings;
function __construct(PageRenderer $page_renderer, WPFunctions $wp, SettingsController $settings) {
public function __construct(PageRenderer $page_renderer, WPFunctions $wp, SettingsController $settings) {
$this->page_renderer = $page_renderer;
$this->wp = $wp;
$this->settings = $settings;
}
function render() {
public function render() {
global $wp;
$current_url = $this->wp->homeUrl(add_query_arg($wp->query_string, $wp->request));
$redirect_url =

View File

@ -28,7 +28,7 @@ class WelcomeWizard {
/** @var FeaturesController */
private $features_controller;
function __construct(
public function __construct(
PageRenderer $page_renderer,
SettingsController $settings,
WooCommerceHelper $woocommerce_helper,
@ -42,7 +42,7 @@ class WelcomeWizard {
$this->features_controller = $features_controller;
}
function render() {
public function render() {
if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return;
$data = [
'is_mp2_migration_complete' => (bool)$this->settings->get(MP2Migrator::MIGRATION_COMPLETE_SETTING_KEY),

View File

@ -13,12 +13,12 @@ class WooCommerceListImport {
/** @var WPFunctions */
private $wp;
function __construct(PageRenderer $page_renderer, WPFunctions $wp) {
public function __construct(PageRenderer $page_renderer, WPFunctions $wp) {
$this->page_renderer = $page_renderer;
$this->wp = $wp;
}
function render() {
public function render() {
if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return;
$data = [
'finish_wizard_url' => $this->wp->adminUrl('admin.php?page=' . Menu::MAIN_PAGE_SLUG),

View File

@ -28,7 +28,7 @@ class Analytics {
}
/** @return array|null */
function generateAnalytics() {
public function generateAnalytics() {
if ($this->shouldSend()) {
$data = $this->wp->applyFilters(self::ANALYTICS_FILTER, $this->reporter->getData());
$this->recordDataSent();
@ -38,12 +38,12 @@ class Analytics {
}
/** @return boolean */
function isEnabled() {
public function isEnabled() {
$analytics_settings = $this->settings->get('analytics', []);
return !empty($analytics_settings['enabled']) === true;
}
function setPublicId($new_public_id) {
public function setPublicId($new_public_id) {
$current_public_id = $this->settings->get('public_id');
if ($current_public_id !== $new_public_id) {
$this->settings->set('public_id', $new_public_id);
@ -54,7 +54,7 @@ class Analytics {
}
/** @return string */
function getPublicId() {
public function getPublicId() {
$public_id = $this->settings->get('public_id', '');
// if we didn't get the user public_id from the shop yet : we create one based on mixpanel distinct_id
if (empty($public_id) && !empty($_COOKIE['mixpanel_distinct_id'])) {
@ -71,7 +71,7 @@ class Analytics {
* Returns true if a the public_id was added and update new_public_id to false
* @return boolean
*/
function isPublicIdNew() {
public function isPublicIdNew() {
$new_public_id = $this->settings->get('new_public_id');
if ($new_public_id === 'true') {
$this->settings->set('new_public_id', 'false');

View File

@ -26,7 +26,7 @@ class Reporter {
$this->woocommerce_helper = $woocommerce_helper;
}
function getData() {
public function getData() {
global $wpdb, $wp_version, $woocommerce;
$mta = $this->settings->get('mta', []);
$newsletters = Newsletter::getAnalytics();
@ -111,7 +111,7 @@ class Reporter {
return $result;
}
function getTrackingData() {
public function getTrackingData() {
$newsletters = Newsletter::getAnalytics();
$segments = Segment::getAnalytics();
$mta = $this->settings->get('mta', []);

View File

@ -16,11 +16,11 @@ class AutomaticEmails {
'WooCommerce',
];
function __construct() {
public function __construct() {
$this->wp = new WPFunctions;
}
function init() {
public function init() {
foreach ($this->available_groups as $group) {
$group_class = sprintf(
'%1$s\%2$s\%2$s',
@ -44,7 +44,7 @@ class AutomaticEmails {
}
}
function getAutomaticEmails() {
public function getAutomaticEmails() {
global $wp_filter;
$registered_groups = preg_grep('!^' . self::FILTER_PREFIX . '(.*?)$!', array_keys($wp_filter));
@ -70,7 +70,7 @@ class AutomaticEmails {
return $automatic_emails;
}
function getAutomaticEmailBySlug($email_slug) {
public function getAutomaticEmailBySlug($email_slug) {
$automatic_emails = $this->getAutomaticEmails();
if (empty($automatic_emails)) return null;
@ -82,7 +82,7 @@ class AutomaticEmails {
return null;
}
function getAutomaticEmailEventBySlug($email_slug, $event_slug) {
public function getAutomaticEmailEventBySlug($email_slug, $event_slug) {
$automatic_email = $this->getAutomaticEmailBySlug($email_slug);
if (empty($automatic_email)) return null;
@ -94,7 +94,7 @@ class AutomaticEmails {
return null;
}
function validateAutomaticEmailDataFields(array $automatic_email) {
public function validateAutomaticEmailDataFields(array $automatic_email) {
$required_fields = [
'slug',
'title',
@ -109,7 +109,7 @@ class AutomaticEmails {
return true;
}
function validateAutomaticEmailEventsDataFields(array $automatic_email_events) {
public function validateAutomaticEmailEventsDataFields(array $automatic_email_events) {
$required_fields = [
'slug',
'title',
@ -125,7 +125,7 @@ class AutomaticEmails {
return true;
}
function unregisterAutomaticEmails() {
public function unregisterAutomaticEmails() {
global $wp_filter;
$registered_groups = preg_grep('!^' . self::FILTER_PREFIX . '(.*?)$!', array_keys($wp_filter));

View File

@ -29,7 +29,7 @@ class AbandonedCart {
/** @var AutomaticEmailScheduler */
private $scheduler;
function __construct() {
public function __construct() {
$this->wp = WPFunctions::get();
$this->woo_commerce_helper = new WooCommerceHelper();
$this->cookies = new Cookies();
@ -37,7 +37,7 @@ class AbandonedCart {
$this->scheduler = new AutomaticEmailScheduler();
}
function getEventDetails() {
public function getEventDetails() {
return [
'slug' => self::SLUG,
'title' => WPFunctions::get()->_x('Abandoned Shopping Cart', 'This is the name of a type of automatic email for ecommerce. Those emails are sent automatically when a customer adds product to his shopping cart but never complete the checkout process.', 'mailpoet'),
@ -73,7 +73,7 @@ class AbandonedCart {
];
}
function init() {
public function init() {
if (!$this->woo_commerce_helper->isWooCommerceActive()) {
return;
}
@ -127,7 +127,7 @@ class AbandonedCart {
);
}
function handleCartChange() {
public function handleCartChange() {
$cart = $this->woo_commerce_helper->WC()->cart;
if ($cart && !$cart->is_empty()) {
$this->scheduleAbandonedCartEmail();
@ -137,7 +137,7 @@ class AbandonedCart {
}
}
function trackPageVisit() {
public function trackPageVisit() {
// on page visit reschedule all currently scheduled (not yet sent) emails for given subscriber
// (it tracks at most once per minute to avoid processing many calls at the same time, i.e. AJAX)
$this->page_visit_tracker->trackVisit(function () {

View File

@ -20,17 +20,17 @@ class AbandonedCartPageVisitTracker {
/** @var Cookies */
private $cookies;
function __construct(WPFunctions $wp, WooCommerceHelper $woo_commerce_helper, Cookies $cookies) {
public function __construct(WPFunctions $wp, WooCommerceHelper $woo_commerce_helper, Cookies $cookies) {
$this->wp = $wp;
$this->woo_commerce_helper = $woo_commerce_helper;
$this->cookies = $cookies;
}
function startTracking() {
public function startTracking() {
$this->saveLastVisitTimestamp();
}
function trackVisit(callable $onTrackCallback = null) {
public function trackVisit(callable $onTrackCallback = null) {
// track at most once per minute to avoid processing many calls at the same time, i.e. AJAX
$last_visit_timestamp = $this->loadLastVisitTimestamp();
$minute_ago_timestamp = Carbon::now()->getTimestamp() - 60;
@ -42,7 +42,7 @@ class AbandonedCartPageVisitTracker {
}
}
function stopTracking() {
public function stopTracking() {
$this->removeLastVisitTimestamp();
}

View File

@ -26,7 +26,7 @@ class FirstPurchase {
/** @var LoggerFactory */
private $logger_factory;
function __construct(WCHelper $helper = null) {
public function __construct(WCHelper $helper = null) {
if ($helper === null) {
$helper = new WCHelper();
}
@ -35,7 +35,7 @@ class FirstPurchase {
$this->logger_factory = LoggerFactory::getInstance();
}
function init() {
public function init() {
WPFunctions::get()->addFilter('mailpoet_newsletter_shortcode', [
$this,
'handleOrderTotalShortcode',
@ -56,7 +56,7 @@ class FirstPurchase {
}
}
function getEventDetails() {
public function getEventDetails() {
return [
'slug' => self::SLUG,
'title' => WPFunctions::get()->__('First Purchase', 'mailpoet'),
@ -79,7 +79,7 @@ class FirstPurchase {
];
}
function handleOrderDateShortcode($shortcode, $newsletter, $subscriber, $queue) {
public function handleOrderDateShortcode($shortcode, $newsletter, $subscriber, $queue) {
$result = $shortcode;
if ($shortcode === self::ORDER_DATE_SHORTCODE) {
$default_value = WPFunctions::get()->dateI18n(get_option('date_format'));
@ -102,7 +102,7 @@ class FirstPurchase {
return $result;
}
function handleOrderTotalShortcode($shortcode, $newsletter, $subscriber, $queue) {
public function handleOrderTotalShortcode($shortcode, $newsletter, $subscriber, $queue) {
$result = $shortcode;
if ($shortcode === self::ORDER_TOTAL_SHORTCODE) {
$default_value = $this->helper->wcPrice(0);
@ -125,7 +125,7 @@ class FirstPurchase {
return $result;
}
function scheduleEmailWhenOrderIsPlaced($order_id) {
public function scheduleEmailWhenOrderIsPlaced($order_id) {
$order_details = $this->helper->wcGetOrder($order_id);
if (!$order_details || !$order_details->get_billing_email()) {
$this->logger_factory->getLogger(self::SLUG)->addInfo(
@ -178,7 +178,7 @@ class FirstPurchase {
$this->scheduler->scheduleAutomaticEmail(WooCommerce::SLUG, self::SLUG, $check_email_was_not_scheduled, $subscriber->id, $meta);
}
function getCustomerOrderCount($customer_email) {
public function getCustomerOrderCount($customer_email) {
// registered user
$user = WPFunctions::get()->getUserBy('email', $customer_email);
if ($user) {

View File

@ -23,7 +23,7 @@ class PurchasedInCategory {
/** @var LoggerFactory */
private $logger_factory;
function __construct(WCHelper $woocommerce_helper = null) {
public function __construct(WCHelper $woocommerce_helper = null) {
if ($woocommerce_helper === null) {
$woocommerce_helper = new WCHelper();
}
@ -32,7 +32,7 @@ class PurchasedInCategory {
$this->logger_factory = LoggerFactory::getInstance();
}
function getEventDetails() {
public function getEventDetails() {
return [
'slug' => self::SLUG,
'title' => _x('Purchased In This Category', 'This is the name of a type for automatic email for ecommerce. Those emails are sent automatically every time a customer buys for the first time a product in a given category', 'mailpoet'),
@ -49,7 +49,7 @@ class PurchasedInCategory {
];
}
function init() {
public function init() {
WPFunctions::get()->removeAllFilters('woocommerce_product_purchased_get_categories');
WPFunctions::get()->addFilter(
'woocommerce_product_purchased_get_categories',
@ -67,7 +67,7 @@ class PurchasedInCategory {
}
}
function getCategories($search_query) {
public function getCategories($search_query) {
$args = [
'taxonomy' => 'product_cat',
'search' => $search_query,
@ -86,7 +86,7 @@ class PurchasedInCategory {
}, $all_categories);
}
function scheduleEmail($order_id) {
public function scheduleEmail($order_id) {
$order_details = $this->woocommerce_helper->wcGetOrder($order_id);
if (!$order_details || !$order_details->get_billing_email()) {
$this->logger_factory->getLogger(self::SLUG)->addInfo(

View File

@ -24,7 +24,7 @@ class PurchasedProduct {
/** @var LoggerFactory */
private $logger_factory;
function __construct(WCHelper $helper = null) {
public function __construct(WCHelper $helper = null) {
if ($helper === null) {
$helper = new WCHelper();
}
@ -33,7 +33,7 @@ class PurchasedProduct {
$this->logger_factory = LoggerFactory::getInstance();
}
function init() {
public function init() {
WPFunctions::get()->removeAllFilters('woocommerce_product_purchased_get_products');
WPFunctions::get()->addFilter(
'woocommerce_product_purchased_get_products',
@ -53,7 +53,7 @@ class PurchasedProduct {
}
}
function getEventDetails() {
public function getEventDetails() {
return [
'slug' => self::SLUG,
'title' => WPFunctions::get()->__('Purchased This Product', 'mailpoet'),
@ -70,7 +70,7 @@ class PurchasedProduct {
];
}
function getProducts($product_search_query) {
public function getProducts($product_search_query) {
$args = [
'post_type' => 'product',
'post_status' => 'publish',
@ -96,7 +96,7 @@ class PurchasedProduct {
return $woocommerce_products;
}
function scheduleEmailWhenProductIsPurchased($order_id) {
public function scheduleEmailWhenProductIsPurchased($order_id) {
$order_details = $this->helper->wcGetOrder($order_id);
if (!$order_details || !$order_details->get_billing_email()) {
$this->logger_factory->getLogger(self::SLUG)->addInfo(

View File

@ -23,13 +23,13 @@ class WooCommerce {
private $_woocommerce_enabled;
private $wp;
function __construct() {
public function __construct() {
$this->wp = new WPFunctions;
$this->woocommerce_helper = new WooCommerceHelper();
$this->_woocommerce_enabled = $this->isWoocommerceEnabled();
}
function init() {
public function init() {
$this->wp->addFilter(
AutomaticEmails::FILTER_PREFIX . self::SLUG,
[
@ -46,7 +46,7 @@ class WooCommerce {
);
}
function setupGroup() {
public function setupGroup() {
return [
'slug' => self::SLUG,
'title' => WPFunctions::get()->__('WooCommerce', 'mailpoet'),
@ -55,7 +55,7 @@ class WooCommerce {
];
}
function setupEvents($events) {
public function setupEvents($events) {
$custom_event_details = (!$this->_woocommerce_enabled) ? [
'actionButtonTitle' => WPFunctions::get()->__('WooCommerce is required', 'mailpoet'),
'actionButtonLink' => 'https://wordpress.org/plugins/woocommerce/',
@ -94,7 +94,7 @@ class WooCommerce {
return $events;
}
function isWoocommerceEnabled() {
public function isWoocommerceEnabled() {
return $this->woocommerce_helper->isWooCommerceActive();
}

View File

@ -15,7 +15,7 @@ class AccessControl {
const NO_ACCESS_RESTRICTION = 'mailpoet_no_access_restriction';
const ALL_ROLES_ACCESS = 'mailpoet_all_roles_access';
function getDefaultPermissions() {
public function getDefaultPermissions() {
return [
self::PERMISSION_ACCESS_PLUGIN_ADMIN => WPFunctions::get()->applyFilters(
'mailpoet_permission_access_plugin_admin',
@ -64,7 +64,7 @@ class AccessControl {
];
}
function getPermissionLabels() {
public function getPermissionLabels() {
return [
self::PERMISSION_ACCESS_PLUGIN_ADMIN => WPFunctions::get()->__('Admin menu item', 'mailpoet'),
self::PERMISSION_MANAGE_SETTINGS => WPFunctions::get()->__('Manage settings', 'mailpoet'),
@ -76,7 +76,7 @@ class AccessControl {
];
}
function validatePermission($permission) {
public function validatePermission($permission) {
if ($permission === self::NO_ACCESS_RESTRICTION) return true;
if ($permission === self::ALL_ROLES_ACCESS) {
$capabilities = array_keys($this->getDefaultPermissions());

View File

@ -12,12 +12,12 @@ class Activator {
/** @var Populator */
private $populator;
function __construct(SettingsController $settings, Populator $populator) {
public function __construct(SettingsController $settings, Populator $populator) {
$this->settings = $settings;
$this->populator = $populator;
}
function activate() {
public function activate() {
$migrator = new Migrator();
$migrator->up();
@ -28,7 +28,7 @@ class Activator {
$caps->setupWPCapabilities();
}
function deactivate() {
public function deactivate() {
$migrator = new Migrator();
$migrator->down();
@ -36,7 +36,7 @@ class Activator {
$caps->removeWPCapabilities();
}
function updateDbVersion() {
public function updateDbVersion() {
try {
$current_db_version = $this->settings->get('db_version');
} catch (\Exception $e) {

View File

@ -14,7 +14,7 @@ class Capabilities {
/** @var AccessControl */
private $access_control;
function __construct($renderer = null, WPFunctions $wp = null) {
public function __construct($renderer = null, WPFunctions $wp = null) {
if ($renderer !== null) {
$this->renderer = $renderer;
}
@ -25,11 +25,11 @@ class Capabilities {
$this->access_control = new AccessControl;
}
function init() {
public function init() {
$this->setupMembersCapabilities();
}
function setupWPCapabilities() {
public function setupWPCapabilities() {
$permissions = $this->access_control->getDefaultPermissions();
$role_objects = [];
foreach ($permissions as $name => $roles) {
@ -43,7 +43,7 @@ class Capabilities {
}
}
function removeWPCapabilities() {
public function removeWPCapabilities() {
$permissions = $this->access_control->getDefaultPermissions();
$role_objects = [];
foreach ($permissions as $name => $roles) {
@ -57,20 +57,20 @@ class Capabilities {
}
}
function setupMembersCapabilities() {
public function setupMembersCapabilities() {
$this->wp->addAction('admin_enqueue_scripts', [$this, 'enqueueMembersStyles']);
$this->wp->addAction('members_register_cap_groups', [$this, 'registerMembersCapGroup']);
$this->wp->addAction('members_register_caps', [$this, 'registerMembersCapabilities']);
}
function enqueueMembersStyles() {
public function enqueueMembersStyles() {
WPFunctions::get()->wpEnqueueStyle(
'mailpoet-admin-global',
Env::$assets_url . '/dist/css/' . $this->renderer->getCssAsset('adminGlobal.css')
);
}
function registerMembersCapGroup() {
public function registerMembersCapGroup() {
members_register_cap_group(
self::MEMBERS_CAP_GROUP_NAME,
[
@ -82,14 +82,14 @@ class Capabilities {
);
}
function registerMembersCapabilities() {
public function registerMembersCapabilities() {
$permissions = $this->access_control->getPermissionLabels();
foreach ($permissions as $name => $label) {
$this->registerMembersCapability($name, $label);
}
}
function registerMembersCapability($name, $label) {
public function registerMembersCapability($name, $label) {
members_register_cap(
$name,
[

View File

@ -23,7 +23,7 @@ class Changelog {
/** @var MP2Migrator */
private $mp2_migrator;
function __construct(
public function __construct(
SettingsController $settings,
WPFunctions $wp,
Helper $wooCommerceHelper,
@ -37,7 +37,7 @@ class Changelog {
$this->mp2_migrator = $mp2_migrator;
}
function init() {
public function init() {
$doing_ajax = (bool)(defined('DOING_AJAX') && DOING_AJAX);
// don't run any check when it's an ajax request
@ -60,7 +60,7 @@ class Changelog {
);
}
function check() {
public function check() {
$version = $this->settings->get('version');
$this->checkMp2Migration($version);
if ($version === null) {

View File

@ -6,17 +6,17 @@ use MailPoetVendor\Idiorm\ORM;
use PDO;
class Database {
function init(PDO $pdo) {
public function init(PDO $pdo) {
ORM::setDb($pdo);
$this->setupLogging();
$this->defineTables();
}
function setupLogging() {
public function setupLogging() {
ORM::configure('logging', WP_DEBUG);
}
function defineTables() {
public function defineTables() {
if (!defined('MP_SETTINGS_TABLE')) {
define('MP_SETTINGS_TABLE', Env::$db_prefix . 'settings');
define('MP_SEGMENTS_TABLE', Env::$db_prefix . 'segments');

View File

@ -8,11 +8,11 @@ use MailPoetVendor\Psr\Container\ContainerInterface;
class DatabaseInitializer {
private $di_container;
function __construct(ContainerInterface $di_container) {
public function __construct(ContainerInterface $di_container) {
$this->di_container = $di_container;
}
function initializeConnection() {
public function initializeConnection() {
$connection = $this->di_container->get(Connection::class);
// pass the same PDO connection to legacy Database object

View File

@ -36,7 +36,7 @@ class Env {
static $db_charset_collate;
static $db_timezone_offset;
static function init($file, $version, $db_host, $db_user, $db_password, $db_name) {
public static function init($file, $version, $db_host, $db_user, $db_password, $db_name) {
self::$version = $version;
self::$file = $file;
self::$path = dirname(self::$file);
@ -82,7 +82,7 @@ class Env {
self::$db_timezone_offset = self::getDbTimezoneOffset();
}
static function getDbTimezoneOffset($offset = false) {
public static function getDbTimezoneOffset($offset = false) {
$offset = ($offset) ? $offset : WPFunctions::get()->getOption('gmt_offset');
$mins = $offset * 60;
$sgn = ($mins < 0 ? -1 : 1);

View File

@ -58,7 +58,7 @@ class Hooks {
/** @var DynamicSegmentHooks */
private $dynamic_segment_hooks;
function __construct(
public function __construct(
Form $subscription_form,
Comment $subscription_comment,
Manage $subscription_manage,
@ -88,7 +88,7 @@ class Hooks {
$this->dynamic_segment_hooks = $dynamic_segment_hooks;
}
function init() {
public function init() {
$this->setupWPUsers();
$this->setupWooCommerceUsers();
$this->setupWooCommercePurchases();
@ -101,11 +101,11 @@ class Hooks {
$this->dynamic_segment_hooks->init();
}
function initEarlyHooks() {
public function initEarlyHooks() {
$this->setupMailer();
}
function setupSubscriptionEvents() {
public function setupSubscriptionEvents() {
$subscribe = $this->settings->get('subscribe', []);
// Subscribe in comments
@ -197,7 +197,7 @@ class Hooks {
);
}
function setupMailer() {
public function setupMailer() {
$this->wp->addAction('plugins_loaded', [
$this->wordpress_mailer_replacer,
'replaceWordPressMailer',
@ -212,7 +212,7 @@ class Hooks {
]);
}
function setupWooCommerceSubscriptionEvents() {
public function setupWooCommerceSubscriptionEvents() {
$woocommerce = $this->settings->get('woocommerce', []);
// WooCommerce: subscribe on checkout
if (!empty($woocommerce['optin_on_checkout']['enabled'])) {
@ -230,7 +230,7 @@ class Hooks {
);
}
function setupWPUsers() {
public function setupWPUsers() {
// WP Users synchronization
$this->wp->addAction(
'user_register',
@ -265,14 +265,14 @@ class Hooks {
);
}
function setupWooCommerceSettings() {
public function setupWooCommerceSettings() {
$this->wp->addAction('woocommerce_settings_start', [
$this->woocommerce_settings,
'disableWooCommerceSettings',
]);
}
function setupWooCommerceUsers() {
public function setupWooCommerceUsers() {
// WooCommerce Customers synchronization
$this->wp->addAction(
'woocommerce_new_customer',
@ -301,7 +301,7 @@ class Hooks {
);
}
function setupWooCommercePurchases() {
public function setupWooCommercePurchases() {
// use both 'processing' and 'completed' states since payment hook and 'processing' status
// may be skipped with some payment methods (cheque) or when state transitioned manually
$accepted_order_states = WPFunctions::get()->applyFilters(
@ -319,7 +319,7 @@ class Hooks {
}
}
function setupImageSize() {
public function setupImageSize() {
$this->wp->addFilter(
'image_size_names_choose',
[$this, 'appendImageSize'],
@ -327,13 +327,13 @@ class Hooks {
);
}
function appendImageSize($sizes) {
public function appendImageSize($sizes) {
return array_merge($sizes, [
'mailpoet_newsletter_max' => WPFunctions::get()->__('MailPoet Newsletter', 'mailpoet'),
]);
}
function setupListing() {
public function setupListing() {
$this->wp->addFilter(
'set-screen-option',
[$this, 'setScreenOption'],
@ -341,7 +341,7 @@ class Hooks {
);
}
function setScreenOption($status, $option, $value) {
public function setScreenOption($status, $option, $value) {
if (preg_match('/^mailpoet_(.*)_per_page$/', $option)) {
return $value;
} else {
@ -349,7 +349,7 @@ class Hooks {
}
}
function setupPostNotifications() {
public function setupPostNotifications() {
$this->wp->addAction(
'transition_post_status',
[$this->post_notification_scheduler, 'transitionHook'],

View File

@ -70,7 +70,7 @@ class Initializer {
const INITIALIZED = 'MAILPOET_INITIALIZED';
function __construct(
public function __construct(
RendererFactory $renderer_factory,
AccessControl $access_control,
API $api,
@ -104,7 +104,7 @@ class Initializer {
$this->wc_helper = $wc_helper;
}
function init() {
public function init() {
// load translations
$this->setupLocalizer();
@ -162,11 +162,11 @@ class Initializer {
$this->hooks->initEarlyHooks();
}
function runActivator() {
public function runActivator() {
return $this->activator->activate();
}
function preInitialize() {
public function preInitialize() {
try {
$this->renderer = $this->renderer_factory->getRenderer();
$this->setupWidget();
@ -177,11 +177,11 @@ class Initializer {
}
}
function setupWidget() {
public function setupWidget() {
WPFunctions::get()->registerWidget('\MailPoet\Form\Widget');
}
function initialize() {
public function initialize() {
try {
$this->maybeDbUpdate();
$this->setupInstaller();
@ -212,7 +212,7 @@ class Initializer {
define(self::INITIALIZED, true);
}
function maybeDbUpdate() {
public function maybeDbUpdate() {
try {
$current_db_version = $this->settings->get('db_version');
} catch (\Exception $e) {
@ -225,14 +225,14 @@ class Initializer {
}
}
function setupInstaller() {
public function setupInstaller() {
$installer = new Installer(
Installer::PREMIUM_PLUGIN_SLUG
);
$installer->init();
}
function setupUpdater() {
public function setupUpdater() {
$slug = Installer::PREMIUM_PLUGIN_SLUG;
$plugin_file = Installer::getPluginFile($slug);
if (empty($plugin_file) || !defined('MAILPOET_PREMIUM_VERSION')) {
@ -246,37 +246,37 @@ class Initializer {
$updater->init();
}
function setupLocalizer() {
public function setupLocalizer() {
$localizer = new Localizer();
$localizer->init();
}
function setupCapabilities() {
public function setupCapabilities() {
$caps = new Capabilities($this->renderer);
$caps->init();
}
function setupShortcodes() {
public function setupShortcodes() {
$this->shortcodes->init();
}
function setupImages() {
public function setupImages() {
WPFunctions::get()->addImageSize('mailpoet_newsletter_max', Env::NEWSLETTER_CONTENT_WIDTH);
}
function setupCronTrigger() {
public function setupCronTrigger() {
// setup cron trigger only outside of cli environment
if (php_sapi_name() !== 'cli') {
$this->cron_trigger->init();
}
}
function setupConflictResolver() {
public function setupConflictResolver() {
$conflict_resolver = new ConflictResolver();
$conflict_resolver->init();
}
function postInitialize() {
public function postInitialize() {
if (!defined(self::INITIALIZED)) return;
try {
$this->api->init();
@ -287,38 +287,38 @@ class Initializer {
}
}
function setupUserLocale() {
public function setupUserLocale() {
if (get_user_locale() === WPFunctions::get()->getLocale()) return;
WPFunctions::get()->unloadTextdomain(Env::$plugin_name);
$localizer = new Localizer();
$localizer->init();
}
function setupPages() {
public function setupPages() {
$pages = new \MailPoet\Settings\Pages();
$pages->init();
}
function setupPrivacyPolicy() {
public function setupPrivacyPolicy() {
$privacy_policy = new PrivacyPolicy();
$privacy_policy->init();
}
function setupPersonalDataExporters() {
public function setupPersonalDataExporters() {
$exporters = new PersonalDataExporters();
$exporters->init();
}
function setupPersonalDataErasers() {
public function setupPersonalDataErasers() {
$erasers = new PersonalDataErasers();
$erasers->init();
}
function setupPermanentNotices() {
public function setupPermanentNotices() {
$this->permanent_notices->init();
}
function handleFailedInitialization($exception) {
public function handleFailedInitialization($exception) {
// check if we are able to add pages at this point
if (function_exists('wp_get_current_user')) {
Menu::addErrorPage($this->access_control);
@ -326,12 +326,12 @@ class Initializer {
return WPNotice::displayError($exception);
}
function setupDeactivationSurvey() {
public function setupDeactivationSurvey() {
$survey = new DeactivationSurvey($this->renderer);
$survey->init();
}
function setupAutomaticEmails() {
public function setupAutomaticEmails() {
$automatic_emails = new AutomaticEmails();
$automatic_emails->init();
$this->automatic_emails = $automatic_emails->getAutomaticEmails();
@ -358,7 +358,7 @@ class Initializer {
}
}
function includeAutomaticEmailsData() {
public function includeAutomaticEmailsData() {
$data = [
'automatic_emails' => $this->automatic_emails,
'woocommerce_optin_on_checkout' => $this->settings->get('woocommerce.optin_on_checkout.enabled', false),

View File

@ -16,16 +16,16 @@ class Installer {
/** @var SettingsController */
private $settings;
function __construct($slug) {
public function __construct($slug) {
$this->slug = $slug;
$this->settings = SettingsController::getInstance();
}
function init() {
public function init() {
WPFunctions::get()->addFilter('plugins_api', [$this, 'getPluginInformation'], 10, 3);
}
function getPluginInformation($data, $action = '', $args = null) {
public function getPluginInformation($data, $action = '', $args = null) {
if ($action === 'plugin_information'
&& isset($args->slug)
&& $args->slug === $this->slug
@ -36,7 +36,7 @@ class Installer {
return $data;
}
static function getPremiumStatus() {
public static function getPremiumStatus() {
$slug = self::PREMIUM_PLUGIN_SLUG;
$premium_plugin_active = License::getLicense();
@ -54,12 +54,12 @@ class Installer {
);
}
static function isPluginInstalled($slug) {
public static function isPluginInstalled($slug) {
$installed_plugin = self::getInstalledPlugin($slug);
return !empty($installed_plugin);
}
static function getPluginInstallationUrl($slug) {
public static function getPluginInstallationUrl($slug) {
$install_url = WPFunctions::get()->addQueryArg(
[
'action' => 'install-plugin',
@ -71,7 +71,7 @@ class Installer {
return $install_url;
}
static function getPluginActivationUrl($slug) {
public static function getPluginActivationUrl($slug) {
$plugin_file = self::getPluginFile($slug);
if (empty($plugin_file)) {
return false;
@ -95,7 +95,7 @@ class Installer {
return $installed_plugin;
}
static function getPluginFile($slug) {
public static function getPluginFile($slug) {
$plugin_file = false;
$installed_plugin = self::getInstalledPlugin($slug);
if (!empty($installed_plugin)) {
@ -104,7 +104,7 @@ class Installer {
return $plugin_file;
}
function retrievePluginInformation() {
public function retrievePluginInformation() {
$key = $this->settings->get(Bridge::PREMIUM_KEY_SETTING_NAME);
$api = new API($key);
$info = $api->getPluginInformation($this->slug);

View File

@ -5,12 +5,12 @@ namespace MailPoet\Config;
use MailPoet\WP\Functions as WPFunctions;
class Localizer {
function init() {
public function init() {
$this->loadGlobalText();
$this->loadPluginText();
}
function loadGlobalText() {
public function loadGlobalText() {
$language_path = sprintf(
'%s/%s-%s.mo',
Env::$languages_path,
@ -20,7 +20,7 @@ class Localizer {
WPFunctions::get()->loadTextdomain(Env::$plugin_name, $language_path);
}
function loadPluginText() {
public function loadPluginText() {
WPFunctions::get()->loadPluginTextdomain(
Env::$plugin_name,
false,
@ -28,7 +28,7 @@ class Localizer {
);
}
function locale() {
public function locale() {
$locale = WPFunctions::get()->applyFilters(
'plugin_locale',
WPFunctions::get()->getUserLocale(),
@ -37,7 +37,7 @@ class Localizer {
return $locale;
}
function forceLoadWebsiteLocaleText() {
public function forceLoadWebsiteLocaleText() {
$language_path = sprintf(
'%s/%s-%s.mo',
Env::$languages_path,

View File

@ -47,7 +47,7 @@ class Menu {
/** @var FeaturesController */
private $features_controller;
function __construct(
public function __construct(
AccessControl $access_control,
WPFunctions $wp,
ServicesChecker $services_checker,
@ -61,7 +61,7 @@ class Menu {
$this->container = $container;
}
function init() {
public function init() {
$this->checkMailPoetAPIKey();
$this->checkPremiumKey();
@ -74,7 +74,7 @@ class Menu {
);
}
function setup() {
public function setup() {
if (!$this->access_control->validatePermission(AccessControl::PERMISSION_ACCESS_PLUGIN_ADMIN)) return;
if (self::isOnMailPoetAdminPage()) {
$this->wp->doAction('mailpoet_conflict_resolver_styles');
@ -412,83 +412,83 @@ class Menu {
);
}
function disableWPEmojis() {
public function disableWPEmojis() {
$this->wp->removeAction('admin_print_scripts', 'print_emoji_detection_script');
$this->wp->removeAction('admin_print_styles', 'print_emoji_styles');
}
function migration() {
public function migration() {
$this->container->get(MP2Migration::class)->render();
}
function welcomeWizard() {
public function welcomeWizard() {
$this->container->get(WelcomeWizard::class)->render();
}
function wooCommerceListImport() {
public function wooCommerceListImport() {
$this->container->get(WooCommerceListImport::class)->render();
}
function revenueTrackingPermission() {
public function revenueTrackingPermission() {
$this->container->get(RevenueTrackingPermission::class)->render();
}
function update() {
public function update() {
$this->container->get(Update::class)->render();
}
function premium() {
public function premium() {
$this->container->get(Premium::class)->render();
}
function settings() {
public function settings() {
$this->container->get(Settings::class)->render();
}
function help() {
public function help() {
$this->container->get(Help::class)->render();
}
function experimentalFeatures() {
public function experimentalFeatures() {
$this->container->get(ExperimentalFeatures::class)->render();
}
function subscribers() {
public function subscribers() {
$this->container->get(Subscribers::class)->render();
}
function segments() {
public function segments() {
$this->container->get(Segments::class)->render();
}
function dynamicSegments() {
public function dynamicSegments() {
$this->container->get(DynamicSegments::class)->render();
}
function forms() {
public function forms() {
$this->container->get(Forms::class)->render();
}
function newsletters() {
public function newsletters() {
if (isset($this->mp_api_key_valid) && $this->mp_api_key_valid === false) {
return $this->displayMailPoetAPIKeyInvalid();
}
$this->container->get(Newsletters::class)->render();
}
function newletterEditor() {
public function newletterEditor() {
$this->container->get(NewsletterEditor::class)->render();
}
function import() {
public function import() {
$this->container->get(SubscribersImport::class)->render();
}
function export() {
public function export() {
$this->container->get(SubscribersExport::class)->render();
}
function formEditor() {
public function formEditor() {
$this->container->get(FormEditor::class)->render();
}
@ -497,7 +497,7 @@ class Menu {
exit;
}
function setPageTitle($title) {
public function setPageTitle($title) {
return sprintf(
'%s - %s',
$this->wp->__('MailPoet', 'mailpoet'),
@ -505,7 +505,7 @@ class Menu {
);
}
static function isOnMailPoetAdminPage(array $exclude = null, $screen_id = null) {
public static function isOnMailPoetAdminPage(array $exclude = null, $screen_id = null) {
if (is_null($screen_id)) {
if (empty($_REQUEST['page'])) {
return false;
@ -526,7 +526,7 @@ class Menu {
* This error page is used when the initialization is failed
* to display admin notices only
*/
static function addErrorPage(AccessControl $access_control) {
public static function addErrorPage(AccessControl $access_control) {
if (!self::isOnMailPoetAdminPage()) {
return false;
}
@ -549,11 +549,11 @@ class Menu {
);
}
static function errorPageCallback() {
public static function errorPageCallback() {
// Used for displaying admin notices only
}
function checkMailPoetAPIKey(ServicesChecker $checker = null) {
public function checkMailPoetAPIKey(ServicesChecker $checker = null) {
if (self::isOnMailPoetAdminPage()) {
$show_notices = isset($_REQUEST['page'])
&& stripos($_REQUEST['page'], self::MAIN_PAGE_SLUG) === false;
@ -562,7 +562,7 @@ class Menu {
}
}
function checkPremiumKey(ServicesChecker $checker = null) {
public function checkPremiumKey(ServicesChecker $checker = null) {
$show_notices = isset($_SERVER['SCRIPT_NAME'])
&& stripos($_SERVER['SCRIPT_NAME'], 'plugins.php') !== false;
$checker = $checker ?: $this->services_checker;

View File

@ -17,7 +17,7 @@ class Migrator {
private $charset_collate;
private $models;
function __construct() {
public function __construct() {
$this->prefix = Env::$db_prefix;
$this->charset_collate = Env::$db_charset_collate;
$this->models = [
@ -54,7 +54,7 @@ class Migrator {
];
}
function up() {
public function up() {
global $wpdb;
$output = [];
@ -65,7 +65,7 @@ class Migrator {
return $output;
}
function down() {
public function down() {
global $wpdb;
$_this = $this;
@ -77,7 +77,7 @@ class Migrator {
array_map($drop_table, $this->models);
}
function segments() {
public function segments() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'name varchar(90) NOT NULL,',
@ -92,7 +92,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function settings() {
public function settings() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'name varchar(50) NOT NULL,',
@ -105,7 +105,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function customFields() {
public function customFields() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'name varchar(90) NOT NULL,',
@ -119,7 +119,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function scheduledTasks() {
public function scheduledTasks() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'type varchar(90) NULL DEFAULT NULL,',
@ -140,7 +140,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function statsNotifications() {
public function statsNotifications() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'newsletter_id int(11) unsigned NOT NULL,',
@ -154,7 +154,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function scheduledTaskSubscribers() {
public function scheduledTaskSubscribers() {
$attributes = [
'task_id int(11) unsigned NOT NULL,',
'subscriber_id int(11) unsigned NOT NULL,',
@ -169,7 +169,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function sendingQueues() {
public function sendingQueues() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'task_id int(11) unsigned NOT NULL,',
@ -191,7 +191,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function subscribers() {
public function subscribers() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'wp_user_id bigint(20) NULL,',
@ -224,7 +224,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function subscriberSegment() {
public function subscriberSegment() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'subscriber_id int(11) unsigned NOT NULL,',
@ -239,7 +239,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function subscriberCustomField() {
public function subscriberCustomField() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'subscriber_id int(11) unsigned NOT NULL,',
@ -253,7 +253,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function subscriberIps() {
public function subscriberIps() {
$attributes = [
'ip varchar(45) NOT NULL,',
'created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,',
@ -263,7 +263,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function newsletters() {
public function newsletters() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'hash varchar(150) NULL DEFAULT NULL,',
@ -290,7 +290,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function newsletterTemplates() {
public function newsletterTemplates() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'newsletter_id int(11) NULL DEFAULT 0,',
@ -307,7 +307,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function newsletterOptionFields() {
public function newsletterOptionFields() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'name varchar(90) NOT NULL,',
@ -320,7 +320,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function newsletterOption() {
public function newsletterOption() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'newsletter_id int(11) unsigned NOT NULL,',
@ -334,7 +334,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function newsletterSegment() {
public function newsletterSegment() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'newsletter_id int(11) unsigned NOT NULL,',
@ -347,7 +347,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function newsletterLinks() {
public function newsletterLinks() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'newsletter_id int(11) unsigned NOT NULL,',
@ -364,7 +364,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function newsletterPosts() {
public function newsletterPosts() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'newsletter_id int(11) unsigned NOT NULL,',
@ -377,7 +377,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function forms() {
public function forms() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'name varchar(90) NOT NULL,', // should be null but db_delta can't handle this change
@ -392,7 +392,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function statisticsNewsletters() {
public function statisticsNewsletters() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'newsletter_id int(11) unsigned NOT NULL,',
@ -406,7 +406,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function statisticsClicks() {
public function statisticsClicks() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'newsletter_id int(11) unsigned NOT NULL,',
@ -424,7 +424,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function statisticsOpens() {
public function statisticsOpens() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'newsletter_id int(11) unsigned NOT NULL,',
@ -441,7 +441,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function statisticsUnsubscribes() {
public function statisticsUnsubscribes() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'newsletter_id int(11) unsigned NOT NULL,',
@ -456,7 +456,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function statisticsForms() {
public function statisticsForms() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'form_id int(11) unsigned NOT NULL,',
@ -468,7 +468,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function statisticsWoocommercePurchases() {
public function statisticsWoocommercePurchases() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'newsletter_id int(11) unsigned NOT NULL,',
@ -489,7 +489,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function mappingToExternalEntities() {
public function mappingToExternalEntities() {
$attributes = [
'old_id int(11) unsigned NOT NULL,',
'type varchar(50) NOT NULL,',
@ -501,7 +501,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function log() {
public function log() {
$attributes = [
'id bigint(20) unsigned NOT NULL AUTO_INCREMENT,',
'name varchar(255),',
@ -513,7 +513,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function userFlags() {
public function userFlags() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'user_id bigint(20) NOT NULL,',
@ -527,7 +527,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function featureFlags() {
public function featureFlags() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'name varchar(100) NOT NULL,',
@ -540,7 +540,7 @@ class Migrator {
return $this->sqlify(__FUNCTION__, $attributes);
}
function dynamicSegmentFilters() {
public function dynamicSegmentFilters() {
$attributes = [
'id int(11) unsigned NOT NULL AUTO_INCREMENT,',
'segment_id int(11) unsigned NOT NULL,',

View File

@ -7,11 +7,11 @@ use MailPoet\WP\Functions as WPFunctions;
class PersonalDataErasers {
function init() {
public function init() {
WPFunctions::get()->addFilter('wp_privacy_personal_data_erasers', [$this, 'registerSubscriberEraser']);
}
function registerSubscriberEraser($erasers) {
public function registerSubscriberEraser($erasers) {
$erasers['mailpet-subscriber'] = [
'eraser_friendly_name' => WPFunctions::get()->__('MailPoet Subscribers', 'mailpoet'),
'callback' => [new SubscriberPersonalDataEraser(), 'erase'],

View File

@ -10,14 +10,14 @@ use MailPoet\WP\Functions as WPFunctions;
class PersonalDataExporters {
function init() {
public function init() {
WPFunctions::get()->addFilter('wp_privacy_personal_data_exporters', [$this, 'registerSubscriberExporter']);
WPFunctions::get()->addFilter('wp_privacy_personal_data_exporters', [$this, 'registerSegmentsExporter']);
WPFunctions::get()->addFilter('wp_privacy_personal_data_exporters', [$this, 'registerNewslettersExporter']);
WPFunctions::get()->addFilter('wp_privacy_personal_data_exporters', [$this, 'registerNewsletterClicksExporter']);
}
function registerSegmentsExporter($exporters) {
public function registerSegmentsExporter($exporters) {
$exporters[] = [
'exporter_friendly_name' => WPFunctions::get()->__('MailPoet Lists', 'mailpoet'),
'callback' => [new SegmentsExporter(), 'export'],
@ -25,7 +25,7 @@ class PersonalDataExporters {
return $exporters;
}
function registerSubscriberExporter($exporters) {
public function registerSubscriberExporter($exporters) {
$exporters[] = [
'exporter_friendly_name' => WPFunctions::get()->__('MailPoet Subscriber Data', 'mailpoet'),
'callback' => [new SubscriberExporter(), 'export'],
@ -33,7 +33,7 @@ class PersonalDataExporters {
return $exporters;
}
function registerNewslettersExporter($exporters) {
public function registerNewslettersExporter($exporters) {
$exporters[] = [
'exporter_friendly_name' => WPFunctions::get()->__('MailPoet Emails', 'mailpoet'),
'callback' => [new NewslettersExporter(), 'export'],
@ -41,7 +41,7 @@ class PersonalDataExporters {
return $exporters;
}
function registerNewsletterClicksExporter($exporters) {
public function registerNewsletterClicksExporter($exporters) {
$exporters[] = [
'exporter_friendly_name' => WPFunctions::get()->__('MailPoet Email Clicks', 'mailpoet'),
'callback' => [new NewsletterClicksExporter(), 'export'],

View File

@ -50,7 +50,7 @@ class Populator {
/** @var FeaturesController */
private $flags_controller;
function __construct(
public function __construct(
SettingsController $settings,
WPFunctions $wp,
Captcha $captcha,
@ -145,7 +145,7 @@ class Populator {
$this->flags_controller = $flags_controller;
}
function up() {
public function up() {
$localizer = new Localizer();
$localizer->forceLoadWebsiteLocaleText();

View File

@ -11,7 +11,7 @@ class DefaultForm {
/** @var Styles */
private $form_styles;
function __construct(Styles $form_styles) {
public function __construct(Styles $form_styles) {
$this->form_styles = $form_styles;
}

View File

@ -9,12 +9,12 @@ class AppWelcome {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/app_welcome';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("App Welcome", 'mailpoet'),
'categories' => json_encode(['welcome', 'all']),

View File

@ -9,12 +9,12 @@ class Avocado {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/avocado';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Avocado", 'mailpoet'),
'categories' => json_encode(['woocommerce', 'all']),

View File

@ -7,12 +7,12 @@ class Birds {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/birds';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => __("Birds", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -9,12 +9,12 @@ class BookStoreWithCoupon {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/book-store-with-coupon';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Book store (with coupon)", 'mailpoet'),
'categories' => json_encode(['woocommerce', 'all']),

View File

@ -8,12 +8,12 @@ class BrandingAgencyNews {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/branding-agency-news';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Branding Agency News", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -7,12 +7,12 @@ class BuddhistTemple {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/buddhist-temple';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => __("Buddhist Temple", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -9,12 +9,12 @@ class Charity {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/charity';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Charity", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -8,12 +8,12 @@ class CityLocalNews {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/city-local-news';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("City News", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -9,12 +9,12 @@ class ClearNews {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/clear-news';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Clear News", 'mailpoet'),
'categories' => json_encode(['notification', 'all']),

View File

@ -9,12 +9,12 @@ class Coffee {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/coffee';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Coffee", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -8,12 +8,12 @@ class College {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/college';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("College", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -8,12 +8,12 @@ class ComputerRepair {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/computer-repair';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Computer Repair", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -9,12 +9,12 @@ class DogFood {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/dog-food';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Dog Food", 'mailpoet'),
'categories' => json_encode(['woocommerce', 'all']),

View File

@ -9,12 +9,12 @@ class Drone {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/drone';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Drone", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -8,12 +8,12 @@ class Engineering {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/engineering';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Engineering", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -9,12 +9,12 @@ class Faith {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/faith';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Faith", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -8,12 +8,12 @@ class FarmersMarket {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/farmers-market';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Farmers Market", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -7,12 +7,12 @@ class FashionBlog {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/fashion-blog';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => __("Fashion Blog", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -9,12 +9,12 @@ class FashionBlogA {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/fashion-blog-a';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Women Fashion Store", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -9,12 +9,12 @@ class FashionShop {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/fashion-shop';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Kids Shop", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -9,12 +9,12 @@ class FashionStore {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/fashion';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Fashion Store", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -9,12 +9,12 @@ class FestivalEvent {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/festival_event';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Festival Event", 'mailpoet'),
'categories' => json_encode(['standard', 'all']),

View File

@ -9,12 +9,12 @@ class Fitness {
private $template_image_url;
private $social_icon_url;
function __construct($assets_url) {
public function __construct($assets_url) {
$this->template_image_url = 'https://ps.w.org/mailpoet/assets/newsletter-templates/fitness';
$this->social_icon_url = $assets_url . '/img/newsletter_editor/social-icons';
}
function get() {
public function get() {
return [
'name' => WPFunctions::get()->__("Fitness", 'mailpoet'),
'categories' => json_encode(['woocommerce', 'all']),

Some files were not shown because too many files have changed in this diff Show More