Version 5.0.0 beta 2
This commit is contained in:
1 parent
15c7beabc5
commit
f61b0da85d
181 files changed
+3182
-1533
No files matched your search
@@ -416,6 +416,9 @@ class databases extends Controller
|
||||
{
|
||||
$name = NULL;
|
||||
$desc = NULL;
|
||||
$displaySettings = [
|
||||
'index' => [ 'type' => 'categories', 'layout' => 'table' ]
|
||||
];
|
||||
|
||||
if ( $xml->name == 'data' )
|
||||
{
|
||||
@@ -423,26 +426,60 @@ class databases extends Controller
|
||||
$node = new SimpleXMLElement( $xml->readOuterXML() );
|
||||
foreach( $node->attributes() as $k => $v )
|
||||
{
|
||||
$database->$k = (string) $v;
|
||||
switch( $k )
|
||||
{
|
||||
case 'template_listing':
|
||||
$displaySettings['listing'] = ( $v == 'listing' ) ? [ 'layout' => 'table', 'template' => null ] : [ 'layout' => 'custom', 'template' => (string) $v ];
|
||||
break;
|
||||
case 'template_display':
|
||||
$displaySettings['display'] = [ 'layout' => 'custom', 'template' => (string) $v ];
|
||||
break;
|
||||
case 'template_form':
|
||||
$displaySettings['form'] = [ 'layout' => 'custom', 'template' => (string) $v ];
|
||||
break;
|
||||
case 'template_categories':
|
||||
$displaySettings['categories'] = ( $v == 'category_index' ) ? [ 'layout' => 'table', 'template' => null ] : [ 'layout' => 'custom', 'template' => (string) $v ];
|
||||
break;
|
||||
case 'template_featured':
|
||||
break;
|
||||
case 'cat_index_type':
|
||||
if( $v )
|
||||
{
|
||||
$displaySettings['index'] = [ 'type' => 'all', 'layout' => 'grid' ];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$database->$k = (string) $v;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Any kids of your own? */
|
||||
foreach( $node->children() as $k => $v )
|
||||
{
|
||||
if ( $k === 'name' )
|
||||
switch( $k )
|
||||
{
|
||||
$name = $v;
|
||||
}
|
||||
else if ( $k === 'description' )
|
||||
{
|
||||
$desc = $v;
|
||||
}
|
||||
else
|
||||
{
|
||||
$tryJson = json_decode( $v, TRUE );
|
||||
$database->$k = ( $tryJson ) ?: (string) $v;
|
||||
case 'name':
|
||||
$name = $v;
|
||||
break;
|
||||
case 'description':
|
||||
$desc = $v;
|
||||
break;
|
||||
case 'featured_settings':
|
||||
$json = json_decode( $v, true );
|
||||
if( isset( $json['featured'] ) and $json['featured'] )
|
||||
{
|
||||
$displaySettings['index']['type'] = 'featured';
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$tryJson = json_decode( $v, TRUE );
|
||||
$database->$k = ( $tryJson ) ?: (string) $v;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$database->display_settings = $displaySettings;
|
||||
|
||||
Lang::saveCustom( 'cms', "content_db_" . $database->id, $name );
|
||||
Lang::saveCustom( 'cms', "content_db_" . $database->id . '_desc', $desc );
|
||||
@@ -650,8 +687,18 @@ class databases extends Controller
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
$attrs[ $k ] = ( $k == 'category_parent_id' ) ? (int) $v : (string) $v;
|
||||
switch( $k )
|
||||
{
|
||||
case 'category_parent_id':
|
||||
$attrs[ $k ] = (int) $v;
|
||||
break;
|
||||
case 'category_club_id': // always null because the club itself is not imported here
|
||||
$attrs[ $k ] = null;
|
||||
break;
|
||||
default:
|
||||
$attrs[ $k ] = (string) $v;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -697,6 +744,13 @@ class databases extends Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* If the database does not have a default category yet, assign one */
|
||||
if( !$database->use_categories and !$database->default_category )
|
||||
{
|
||||
$database->default_category = $category->id;
|
||||
$database->save();
|
||||
}
|
||||
|
||||
$cat_map = Store::i()->db_import_cat_map;
|
||||
$parent_map = Store::i()->db_import_cat_parent_map;
|
||||
@@ -809,7 +863,7 @@ class databases extends Controller
|
||||
/* Done */
|
||||
$data['next'] = $next;
|
||||
|
||||
return array( $data, Member::loggedIn()->language()->addToStack('cms_db_import_progress', FALSE, array( 'sprintf' => array( ucfirst( $data['next'] ) ) ) ) );
|
||||
return array( $data, Member::loggedIn()->language()->addToStack('cms_db_import_progress', FALSE, array( 'sprintf' => array( ucfirst( $data['next'] ?? '' ) ) ) ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -993,7 +1047,7 @@ class databases extends Controller
|
||||
if ( array_key_exists( $k, $fieldSchema['columns'] ) AND ! in_array( $k, $removeFields ) AND ! in_array( $k, $textFields ) )
|
||||
{
|
||||
$xml->startAttribute( $k );
|
||||
$xml->text( $v );
|
||||
$xml->text( $v ?? '' );
|
||||
$xml->endAttribute();
|
||||
}
|
||||
}
|
||||
@@ -1040,7 +1094,7 @@ class databases extends Controller
|
||||
if ( array_key_exists( $k, $categorySchema['columns'] ) AND ! in_array( $k, $removeFields ) AND ! in_array( $k, $textFields ) )
|
||||
{
|
||||
$xml->startAttribute( $k );
|
||||
$xml->text( $v );
|
||||
$xml->text( $v ?? '' );
|
||||
$xml->endAttribute();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user