diff --git a/inc/Import/Iterator/XmlNodeIterator.php b/inc/Import/Iterator/XmlNodeIterator.php index 1f9179b..c08ca74 100644 --- a/inc/Import/Iterator/XmlNodeIterator.php +++ b/inc/Import/Iterator/XmlNodeIterator.php @@ -73,6 +73,8 @@ public function valid() { /** * closes the reader and re-open the URI + * + * Todo: consider if it is necessary or even reliable */ public function rewind() { diff --git a/inc/Import/Service/MlpTranslationConnector.php b/inc/Import/Service/MlpTranslationConnector.php new file mode 100644 index 0000000..363f140 --- /dev/null +++ b/inc/Import/Service/MlpTranslationConnector.php @@ -0,0 +1,54 @@ +mlp_language_api = $mlp_language_api; + $this->id_mapper = $id_mapper; + } + /** + * @param $new_term + * @param Type\ImportTermInterface $import_term + * @return bool|WP_Error + */ + public function link_term( $new_term, Type\ImportTermInterface $import_term ) { + // TODO: Implement link_term() method. + } + + /** + * @param WP_Post $new_post + * @param Type\ImportPostInterface $import_post + * @return bool|WP_Error + */ + public function link_post( WP_Post $new_post, Type\ImportPostInterface $import_post ) { + // TODO: Implement link_post() method. + } + +} \ No newline at end of file diff --git a/inc/Import/Service/ObjectImporterInterface.php b/inc/Import/Service/ObjectImporterInterface.php new file mode 100644 index 0000000..41a1360 --- /dev/null +++ b/inc/Import/Service/ObjectImporterInterface.php @@ -0,0 +1,24 @@ +translation_connector = $translation_connector; + $this->id_mapper = $id_mapper; + $this->ancestor_resolver = $ancestor_resolver; + } + + /** + * @param Type\ImportTermInterface $term + * @return bool|\WP_Error + */ + public function import_term( Type\ImportTermInterface $term ) { + + // TODO: Implement import_term() method. + + // 1. Insert Term via wp_insert_term() + // 2. set the new term_id(!) via $term->id( $new_term_id ); + // 3. connect translations $this->translation_connector->link_term( $new_term, $term ); + + /** + * Todo: resolve ancestor relation + * Here we don't know and should not depend on whether the parent was already + * imported or not. + * + * $ansestor_resolver->resolve_term( $new_term, $term ); + */ + } + + /** + * @param Type\ImportPostInterface $post + * @return bool|\WP_Error + */ + public function import_post( Type\ImportPostInterface $post ) { + + // 1. Insert Term via wp_insert_term() + // 2. set the new term_id(!) via $term->id( $new_term_id ); + // 3. connect translations $this->translation_connector->link_term( $new_post, $post ); + + /** + * Todo: resolve ancestor relation + * Here we don't know and should not depend on whether the parent was already + * imported or not. + * + * $ansestor_resolver->resolve_term( $new_post, $post ); + */ + } +} \ No newline at end of file diff --git a/inc/Import/Type/ImportElementInterfac.php b/inc/Import/Type/ImportElementInterface.php similarity index 100% rename from inc/Import/Type/ImportElementInterfac.php rename to inc/Import/Type/ImportElementInterface.php diff --git a/inc/Import/Type/ImportPost.php b/inc/Import/Type/ImportPostInterface.php similarity index 92% rename from inc/Import/Type/ImportPost.php rename to inc/Import/Type/ImportPostInterface.php index 499c841..2792954 100644 --- a/inc/Import/Type/ImportPost.php +++ b/inc/Import/Type/ImportPostInterface.php @@ -2,10 +2,7 @@ namespace W2M\Import\Type; -/** - * Interface ImportPost - */ -interface ImportPost extends ImportElementInterface { +interface ImportPostInterface extends ImportElementInterface { /** * @return string diff --git a/inc/Import/Type/ImportTermInterface.php b/inc/Import/Type/ImportTermInterface.php new file mode 100644 index 0000000..5e7a7bc --- /dev/null +++ b/inc/Import/Type/ImportTermInterface.php @@ -0,0 +1,41 @@ +