Skip to content
This repository has been archived by the owner on Nov 28, 2019. It is now read-only.

Commit

Permalink
Class body for a resolver of pending meta filters #56
Browse files Browse the repository at this point in the history
  • Loading branch information
dnaber-de committed Feb 17, 2016
1 parent a80d87e commit 51e577e
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 6 deletions.
15 changes: 11 additions & 4 deletions inc/Cli/WpCliW2MCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -164,10 +164,17 @@ public function import( Array $args, Array $assoc_args ) {
/**
* Meta Filter
*/
$meta_filter_list = new Import\Data\MetaFilterList;
$postponed_meta_filter_list = new Import\Data\ImportListeningMetaFilterList;
$meta_filter_controller = new Controller\MetaFilterApi( $meta_filter_list, $postponed_meta_filter_list );
$post_meta_filter_composite = new Import\Filter\ImportMetaFilter(
$meta_filter_list = new Import\Data\MetaFilterList;
$postponed_meta_filter_list = new Import\Data\ImportListeningMetaFilterList;
$postponed_meta_filter_resolver = new Import\Module\PostponedMetaFilterResolver(
$postponed_meta_filter_list
);
$meta_filter_controller = new Controller\MetaFilterApi(
$meta_filter_list,
$postponed_meta_filter_list,
$postponed_meta_filter_resolver
);
$post_meta_filter_composite = new Import\Filter\ImportMetaFilter(
$meta_filter_list,
'post'
);
Expand Down
14 changes: 12 additions & 2 deletions inc/Controller/MetaFilterApi.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
namespace W2M\Controller;

use
W2M\Import\Data;
W2M\Import\Data,
W2M\Import\Module;

/**
* Class MetaFilterApi
Expand All @@ -25,17 +26,25 @@ class MetaFilterApi {
*/
private $postponed_filter_list;

/**
* @var Module\PostponedMetaFilterResolver
*/
private $resolver;

/**
* @param Data\MetaFilterListInterface $filter_list
* @param Data\ImportListeningMetaFilterList $postponed_filter_list
* @param Module\PostponedMetaFilterResolver $resolver
*/
public function __construct(
Data\MetaFilterListInterface $filter_list,
Data\ImportListeningMetaFilterList $postponed_filter_list
Data\ImportListeningMetaFilterList $postponed_filter_list,
Module\PostponedMetaFilterResolver $resolver
) {

$this->filter_list = $filter_list;
$this->postponed_filter_list = $postponed_filter_list;
$this->resolver = $resolver;
}

/**
Expand All @@ -55,5 +64,6 @@ public function register_filter() {
do_action( 'w2m_import_meta_filter', $this->filter_list );

add_action( 'w2m_import_meta_not_filterable', [ $this->postponed_filter_list, 'record_meta_filter' ], 10, 3 );
add_action( 'w2m_import_process_done', [ $this->resolver, 'resolve_pending_meta_filter' ] );
}
}
38 changes: 38 additions & 0 deletions inc/Import/Module/PostponedMetaFilterResolver.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?php # -*- coding: utf-8 -*-

namespace W2M\Import\Module;

use
W2M\Import\Data;

/**
* Class PostponedMetaFilterResolver
*
* Reads postponed meta filter from the list and
* tries to re-apply them at the end of the import-process.
*
* @package W2M\Import\Module
*/
class PostponedMetaFilterResolver {

/**
* @var Data\ImportListeningMetaFilterList
*/
private $meta_list;

/**
* @param Data\ImportListeningMetaFilterList $meta_filter_list
*/
public function __construct( Data\ImportListeningMetaFilterList $meta_filter_list ) {

$this->meta_list = $meta_filter_list;
}

/**
* @wp-hook w2m_import_process_done
*/
public function resolve_pending_meta_filter() {

// Todo: Iterate over postponed meta filters and re-apply them
}
}

0 comments on commit 51e577e

Please sign in to comment.