diff --git a/assets/js/src/dynamic_segments/dynamic_segments.jsx b/assets/js/src/dynamic_segments/dynamic_segments.jsx
deleted file mode 100644
index 1d142d7db0..0000000000
--- a/assets/js/src/dynamic_segments/dynamic_segments.jsx
+++ /dev/null
@@ -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 = () => (
-
-
-
-
-
-
-);
-
-const container = document.getElementById('dynamic_segments_container');
-
-if (container) {
- ReactDOM.render(, container);
-}
diff --git a/assets/js/src/webpack_admin_index.jsx b/assets/js/src/webpack_admin_index.jsx
index 00b4931462..84db496f4c 100644
--- a/assets/js/src/webpack_admin_index.jsx
+++ b/assets/js/src/webpack_admin_index.jsx
@@ -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
diff --git a/lib/AdminPages/Pages/DynamicSegments.php b/lib/AdminPages/Pages/DynamicSegments.php
deleted file mode 100644
index e70059432a..0000000000
--- a/lib/AdminPages/Pages/DynamicSegments.php
+++ /dev/null
@@ -1,75 +0,0 @@
-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);
- }
-}
diff --git a/lib/Config/Menu.php b/lib/Config/Menu.php
index 7ea71b2a6d..8f15710bc5 100644
--- a/lib/Config/Menu.php
+++ b/lib/Config/Menu.php
@@ -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();
}
diff --git a/lib/DI/ContainerConfigurator.php b/lib/DI/ContainerConfigurator.php
index 2d1f160e31..421e9b7b85 100644
--- a/lib/DI/ContainerConfigurator.php
+++ b/lib/DI/ContainerConfigurator.php
@@ -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);
diff --git a/views/dynamicSegments.html b/views/dynamicSegments.html
deleted file mode 100644
index cc71a70a26..0000000000
--- a/views/dynamicSegments.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<% extends 'layout.html' %>
-
-<% block content %>
-
-
-
-<% 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 %>