Merge branch 'develop' of https://github.com/tainacan/tainacan into develop
This commit is contained in:
commit
c3ff7da0aa
|
@ -34,7 +34,7 @@ class Old_Tainacan extends Importer
|
||||||
'Create empty collections' => 'create_collections',
|
'Create empty collections' => 'create_collections',
|
||||||
'Creating relationships metadata' => 'create_relationships_meta',
|
'Creating relationships metadata' => 'create_relationships_meta',
|
||||||
'Create repository metadata' => 'treat_repo_meta',
|
'Create repository metadata' => 'treat_repo_meta',
|
||||||
'Create collections metadata' => 'create_collection_metas',
|
'Create collections metadata' => 'treat_collection_metas',
|
||||||
'Create collections items' => 'create_collection_items',
|
'Create collections items' => 'create_collection_items',
|
||||||
"Finishing" => 'clear'
|
"Finishing" => 'clear'
|
||||||
], $tainacan_api_address, $wordpress_api_address;
|
], $tainacan_api_address, $wordpress_api_address;
|
||||||
|
@ -185,12 +185,97 @@ class Old_Tainacan extends Importer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function set_fields_properties($meta, $created_categories, $relationships, $Fields_Repository, $compound_id)
|
public function treat_collection_metas()
|
||||||
|
{
|
||||||
|
$created_collections = $this->read_from_file("collections");
|
||||||
|
$created_repository_fields = $this->read_from_file("repository_fields");
|
||||||
|
$created_categories = $this->read_from_file("categories");
|
||||||
|
$relationships = $this->read_from_file("relationships");
|
||||||
|
|
||||||
|
list($start, $end) = $this->get_begin_end($created_collections);
|
||||||
|
if($start === false) return false;
|
||||||
|
|
||||||
|
$Tainacan_Fields = \Tainacan\Repositories\Fields::get_instance();
|
||||||
|
$Fields_Repository = \Tainacan\Repositories\Fields::get_instance();
|
||||||
|
$Repository_Collections = \Tainacan\Repositories\Collections::get_instance();
|
||||||
|
|
||||||
|
for($i = 0; $i < $start; $i++)
|
||||||
|
{
|
||||||
|
next($created_collections);
|
||||||
|
}
|
||||||
|
|
||||||
|
while($start < $end)
|
||||||
|
{
|
||||||
|
$collection_info = current($created_collections);
|
||||||
|
$new_collection_id = $collection_info['new_id'];
|
||||||
|
$old_collection_id = key($created_collections);
|
||||||
|
$collection = $Repository_Collections->fetch($new_collection_id);
|
||||||
|
$this->set_collection($collection);
|
||||||
|
|
||||||
|
$file_fields = $this->get_collection_fields($old_collection_id);
|
||||||
|
|
||||||
|
$this->create_collection_meta($file_fields, $Fields_Repository, $created_repository_fields, $created_categories, $relationships);
|
||||||
|
|
||||||
|
//$this->set_mapping($mapping);
|
||||||
|
next($created_collections);
|
||||||
|
$start++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $start;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function create_collection_meta($file_fields, $Fields_Repository, $created_repository_fields,$created_categories, $relationships, $compound_id = null)
|
||||||
|
{
|
||||||
|
if($file_fields)
|
||||||
|
{
|
||||||
|
foreach($file_fields as $index => $meta_info)
|
||||||
|
{
|
||||||
|
$meta_slug = $meta_info['slug'];
|
||||||
|
$old_field_id = $meta_info['id'];
|
||||||
|
|
||||||
|
if(!in_array($meta_slug, $this->avoid) && !isset($created_repository_fields[$old_field_id]))
|
||||||
|
{
|
||||||
|
$newField = $this->set_fields_properties($meta_info, $created_categories, $relationships, $Fields_Repository, $compound_id, false);
|
||||||
|
|
||||||
|
$newField->set_collection($this->collection);
|
||||||
|
if($newField->validate())
|
||||||
|
{
|
||||||
|
$newField = $Fields_Repository->insert($newField);
|
||||||
|
|
||||||
|
$mapping[$newField->get_id()] = $file_fields[$index];
|
||||||
|
}
|
||||||
|
}else /*Map to respository fields*/
|
||||||
|
{
|
||||||
|
/*$fields = $Tainacan_Fields->fetch_by_collection( $this->collection, [], 'OBJECT' );
|
||||||
|
print_r($fields);exit();
|
||||||
|
foreach ($fields as $field)
|
||||||
|
{
|
||||||
|
if($field->WP_Post->post_name === 'title' || $field->WP_Post->post_name === 'description')
|
||||||
|
{
|
||||||
|
$mapping[$field->get_id()] = $file_fields[$meta_name];
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function set_fields_properties($meta, $created_categories, $relationships, $Fields_Repository, $compound_id, $is_repository = true)
|
||||||
{
|
{
|
||||||
$newField = new \Tainacan\Entities\Field();
|
$newField = new \Tainacan\Entities\Field();
|
||||||
|
|
||||||
$type = $this->define_type($meta->type);
|
if(!$is_repository) /*Is collections*/
|
||||||
$newField->set_name($meta->name);
|
{
|
||||||
|
$name = $meta->name;
|
||||||
|
$type = $meta->type;
|
||||||
|
}else /*Is repository*/
|
||||||
|
{
|
||||||
|
$name = $meta['name'];
|
||||||
|
$type = $this->define_type($meta['type']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$type = $this->define_type($type);
|
||||||
|
$newField->set_name($name);
|
||||||
|
|
||||||
$newField->set_field_type('Tainacan\Field_Types\\'.$type);
|
$newField->set_field_type('Tainacan\Field_Types\\'.$type);
|
||||||
if(strcmp($type, "Category") === 0)
|
if(strcmp($type, "Category") === 0)
|
||||||
|
@ -253,79 +338,6 @@ class Old_Tainacan extends Importer
|
||||||
}else return false;
|
}else return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create_collection_metas()
|
|
||||||
{
|
|
||||||
$created_collections = $this->read_from_file("collections");
|
|
||||||
$created_repository_fields = $this->read_from_file("repository_fields");
|
|
||||||
|
|
||||||
list($start, $end) = $this->get_begin_end($created_collections);
|
|
||||||
if($start === false) return false;
|
|
||||||
|
|
||||||
$Tainacan_Fields = \Tainacan\Repositories\Fields::get_instance();
|
|
||||||
$Fields_Repository = \Tainacan\Repositories\Fields::get_instance();
|
|
||||||
$Repository_Collections = \Tainacan\Repositories\Collections::get_instance();
|
|
||||||
|
|
||||||
for($i = 0; $i < $start; $i++)
|
|
||||||
{
|
|
||||||
next($created_collections);
|
|
||||||
}
|
|
||||||
|
|
||||||
while($start < $end)
|
|
||||||
{
|
|
||||||
$collection_info = current($created_collections);
|
|
||||||
$new_collection_id = $collection_info['new_id'];
|
|
||||||
$old_collection_id = key($created_collections);
|
|
||||||
$collection = $Repository_Collections->fetch($new_collection_id);
|
|
||||||
$this->set_collection($collection);
|
|
||||||
|
|
||||||
$file_fields = $this->get_collection_fields($old_collection_id);
|
|
||||||
if($file_fields)
|
|
||||||
{
|
|
||||||
foreach($file_fields as $index => $meta_info)
|
|
||||||
{
|
|
||||||
$meta_name = $meta_info['name'];
|
|
||||||
$meta_slug = $meta_info['slug'];
|
|
||||||
$type = $this->define_type($meta_info['type']);
|
|
||||||
$old_field_id = $meta_info['id'];
|
|
||||||
|
|
||||||
if(!in_array($meta_slug, $this->avoid) && !isset($created_repository_fields[$old_field_id]))
|
|
||||||
{
|
|
||||||
//$newField = set_fields_properties($meta, $created_categories, $relationships, $Fields_Repository, $compound_id);
|
|
||||||
$newField = new \Tainacan\Entities\Field();
|
|
||||||
|
|
||||||
$newField->set_name($meta_name);
|
|
||||||
|
|
||||||
$newField->set_field_type('Tainacan\Field_Types\\'.$type);
|
|
||||||
|
|
||||||
$newField->set_collection($this->collection);
|
|
||||||
$newField->validate(); // there is no user input here, so we can be sure it will validate.
|
|
||||||
|
|
||||||
$newField = $Fields_Repository->insert($newField);
|
|
||||||
|
|
||||||
$mapping[$newField->get_id()] = $file_fields[$index];
|
|
||||||
}else /*Map to respository fields*/
|
|
||||||
{
|
|
||||||
/*$fields = $Tainacan_Fields->fetch_by_collection( $this->collection, [], 'OBJECT' );
|
|
||||||
print_r($fields);exit();
|
|
||||||
foreach ($fields as $field)
|
|
||||||
{
|
|
||||||
if($field->WP_Post->post_name === 'title' || $field->WP_Post->post_name === 'description')
|
|
||||||
{
|
|
||||||
$mapping[$field->get_id()] = $file_fields[$meta_name];
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//$this->set_mapping($mapping);
|
|
||||||
next($created_collections);
|
|
||||||
$start++;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $start;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function create_collection_items()
|
public function create_collection_items()
|
||||||
{
|
{
|
||||||
/*Use standard method*/
|
/*Use standard method*/
|
||||||
|
|
Loading…
Reference in New Issue