Remove dynamic segments code

[MAILPOET-2480]
This commit is contained in:
Pavel Dohnal
2020-04-15 13:49:56 +02:00
committed by Veljko V
parent e2da9ebae5
commit eee44e9d06
6 changed files with 0 additions and 212 deletions

View File

@ -1,21 +0,0 @@
import React from 'react';
import ReactDOM from 'react-dom';
import { HashRouter, Switch, Route } from 'react-router-dom';
import { GlobalContext, useGlobalContextValue } from 'context/index.jsx';
import Notices from 'notices/notices.jsx';
const App = () => (
<GlobalContext.Provider value={useGlobalContextValue(window)}>
<HashRouter>
<Notices />
<Switch />
</HashRouter>
</GlobalContext.Provider>
);
const container = document.getElementById('dynamic_segments_container');
if (container) {
ReactDOM.render(<App />, container);
}

View File

@ -8,7 +8,6 @@ import 'newsletters/automatic_emails.jsx'; // side effect - sets up automatic em
import 'subscribers/subscribers.jsx'; // side effect - renders ReactDOM to document
import 'newsletters/newsletters.jsx'; // side effect - renders ReactDOM to window
import 'segments/segments.jsx'; // side effect - renders ReactDOM to document
import 'dynamic_segments/dynamic_segments.jsx'; // side effect - renders ReactDOM to document
import 'old_settings/settings.jsx'; // side effect - renders ReactDOM to document
import 'forms/forms.jsx'; // side effect - renders ReactDOM to document
import 'old_settings/tabs.js'; // side effect - assigns to MailPoet.Router, executes code on doc ready

View File

@ -1,75 +0,0 @@
<?php
namespace MailPoet\AdminPages\Pages;
use MailPoet\AdminPages\PageRenderer;
use MailPoet\Listing\PageLimit;
use MailPoet\Models\Newsletter;
use MailPoet\WooCommerce\Helper as WooCommerceHelper;
use MailPoet\WP\Functions as WPFunctions;
class DynamicSegments {
/** @var PageRenderer */
private $pageRenderer;
/** @var PageLimit */
private $listingPageLimit;
/** @var WPFunctions */
private $wp;
/** @var WooCommerceHelper */
private $woocommerceHelper;
public function __construct(
PageRenderer $pageRenderer,
PageLimit $listingPageLimit,
WPFunctions $wp,
WooCommerceHelper $woocommerceHelper
) {
$this->pageRenderer = $pageRenderer;
$this->listingPageLimit = $listingPageLimit;
$this->wp = $wp;
$this->woocommerceHelper = $woocommerceHelper;
}
public function render() {
$data = [];
$data['items_per_page'] = $this->listingPageLimit->getLimitPerPage('dynamic_segments');
$wpRoles = $this->wp->getEditableRoles();
$data['wordpress_editable_roles_list'] = array_map(function($roleId, $role) {
return [
'role_id' => $roleId,
'role_name' => $role['name'],
];
}, array_keys($wpRoles), $wpRoles);
$data['newsletters_list'] = Newsletter::select(['id', 'subject', 'sent_at'])
->whereNull('deleted_at')
->where('type', Newsletter::TYPE_STANDARD)
->orderByExpr('ISNULL(sent_at) DESC, sent_at DESC')->findArray();
$data['product_categories'] = $this->wp->getCategories(['taxonomy' => 'product_cat']);
usort($data['product_categories'], function ($a, $b) {
return strcmp($a->catName, $b->catName);
});
$data['products'] = $this->getProducts();
$data['is_woocommerce_active'] = $this->woocommerceHelper->isWooCommerceActive();
$this->pageRenderer->displayPage('dynamicSegments.html', $data);
}
private function getProducts() {
$args = ['post_type' => 'product', 'orderby' => 'title', 'order' => 'ASC', 'numberposts' => -1];
$products = $this->wp->getPosts($args);
return array_map(function ($product) {
return [
'title' => $product->post_title, // phpcs:ignore Squiz.NamingConventions.ValidVariableName.NotCamelCaps
'ID' => $product->ID,
];
}, $products);
}
}

View File

@ -2,7 +2,6 @@
namespace MailPoet\Config;
use MailPoet\AdminPages\Pages\DynamicSegments;
use MailPoet\AdminPages\Pages\ExperimentalFeatures;
use MailPoet\AdminPages\Pages\FormEditor;
use MailPoet\AdminPages\Pages\Forms;
@ -267,27 +266,6 @@ class Menu {
]);
});
// Dynamic segments page
$dynamicSegmentsPage = $this->wp->addSubmenuPage(
self::MAIN_PAGE_SLUG,
$this->setPageTitle(__('Segments', 'mailpoet')),
$this->wp->__('Segments', 'mailpoet'),
AccessControl::PERMISSION_MANAGE_SEGMENTS,
'mailpoet-dynamic-segments',
[
$this,
'dynamicSegments',
]
);
// add limit per page to screen options
$this->wp->addAction('load-' . $dynamicSegmentsPage, function() {
$this->wp->addScreenOption('per_page', [
'label' => WPFunctions::get()->_x('Number of segments per page', 'segments per page (screen options)', 'mailpoet'),
'option' => 'mailpoet_dynamic_segments_per_page',
]);
});
// Settings page
$this->wp->addSubmenuPage(
self::MAIN_PAGE_SLUG,
@ -467,10 +445,6 @@ class Menu {
$this->container->get(Segments::class)->render();
}
public function dynamicSegments() {
$this->container->get(DynamicSegments::class)->render();
}
public function forms() {
$this->container->get(Forms::class)->render();
}

View File

@ -34,7 +34,6 @@ class ContainerConfigurator implements IContainerConfigurator {
]);
// AdminPages
$container->autowire(\MailPoet\AdminPages\PageRenderer::class)->setPublic(true);
$container->autowire(\MailPoet\AdminPages\Pages\DynamicSegments::class)->setPublic(true);
$container->autowire(\MailPoet\AdminPages\Pages\ExperimentalFeatures::class)->setPublic(true);
$container->autowire(\MailPoet\AdminPages\Pages\FormEditor::class)->setPublic(true);
$container->autowire(\MailPoet\AdminPages\Pages\Forms::class)->setPublic(true);

View File

@ -1,88 +0,0 @@
<% extends 'layout.html' %>
<% block content %>
<div id="dynamic_segments_container"></div>
<script type="text/javascript">
var mailpoet_listing_per_page = <%= items_per_page %>;
var wordpress_editable_roles_list = <%= json_encode(wordpress_editable_roles_list) %>;
var mailpoet_newsletters_list = <%= json_encode(newsletters_list) %>;
var mailpoet_product_categories = <%= json_encode(product_categories) %>;
mailpoet_product_categories = mailpoet_product_categories.map(function(category) {
category.id = category.cat_ID;
return category;
});
var mailpoet_products = <%= json_encode(products) %>;
mailpoet_products = mailpoet_products.map(function(product) {
product.id = product.ID;
return product;
});
var is_woocommerce_active = <%= json_encode(is_woocommerce_active) %>;
var mailpoet_beacon_articles = ['5a574bd92c7d3a194368233e'];
</script>
<% endblock %>
<% block translations %>
<%= localize({
'pageTitle': __('Segments'),
'formPageTitle': __('Segment'),
'formSegmentTitle': __('Segment'),
'new': __('Add New'),
'backToList': __('Back'),
'name': __('Name'),
'description': __('Description'),
'descriptionTip': __('This text box is for your own use and is never shown to your subscribers.'),
'segmentUpdated': __('Segment successfully updated!'),
'segmentAdded': __('Segment successfully added!'),
'save': __('Save'),
'segmentType': __('Type'),
'wpUserRole': __('WordPress user roles'),
'email': __('Email'),
'nameColumn': __('Name'),
'subscribersCountColumn': __('Number of subscribers'),
'updatedAtColumn': __('Modified on'),
'loadingDynamicSegmentItems': __('Loading data…'),
'noDynamicSegmentItemsFound': __('No segments found'),
'numberOfItemsSingular': __('1 item'),
'numberOfItemsMultiple': __('%$1d items'),
'previousPage': __('Previous page'),
'firstPage': __('First page'),
'nextPage': __('Next page'),
'lastPage': __('Last page'),
'currentPage': __('Current page'),
'pageOutOf': _x('of', 'Page X of Y'),
'edit': __('Edit'),
'viewSubscribers': __('View Subscribers'),
'notSentYet': __('Not sent yet'),
'selectLinkPlaceholder': __('Select link'),
'selectNewsletterPlaceholder': __('Select email'),
'selectActionPlaceholder': __('Select action'),
'selectUserRolePlaceholder': __('Select user role'),
'emailActionOpened': _x('opened', 'Dynamic segment creation: when newsletter was opened'),
'emailActionNotOpened': _x('not opened', 'Dynamic segment creation: when newsletter was not opened'),
'emailActionClicked': _x('clicked', 'Dynamic segment creation: when a newsletter link was clicked'),
'emailActionNotClicked': _x('not clicked', 'Dynamic segment creation: when a newsletter link was not clicked'),
'searchLabel': __('Search'),
'segmentsTip': _x('Tip', 'A note about dynamic segments usage'),
'segmentsTipText': __('segments allow you to group your subscribers by other criteria, such as events and actions.'),
'segmentsTipLink': __('Read more.'),
'oneSegmentTrashed': __('1 segment was moved to the trash.'),
'multipleSegmentsTrashed': __('%$1d segments were moved to the trash.'),
'oneSegmentRestored': __('1 segment has been restored from the Trash.'),
'multipleSegmentsRestored': __('%$1d segments have been restored from the Trash.'),
'trash': __('Trash'),
'moveToTrash': __('Move to trash'),
'emptyTrash': __('Empty Trash'),
'restore': __('Restore'),
'deletePermanently': __('Delete permanently'),
'oneSegmentDeleted': __('1 segment was permanently deleted.'),
'multipleSegmentsDeleted': __('%$1d segments were permanently deleted.'),
'permanentlyDeleted': __('%d segments were permanently deleted.'),
'wooPurchasedCategory': __('Customers who have purchased in this category…'),
'wooPurchasedProduct': __('Customers who have purchased this product…'),
'selectWooPurchasedCategory': __('Search category'),
'selectWooPurchasedProduct': __('Search products'),
'woocommerce': _x('WooCommerce', 'Dynamic segment creation: User selects this to use any woocommerce filters'),
}) %>
<% endblock %>