Version 5.0.6
This commit is contained in:
1 parent
a3a4a9ccbd
commit
b89858b2ff
1214 files changed
+92828
-14859
No files matched your search
@@ -154,11 +154,12 @@ class FrontNavigation
|
||||
/**
|
||||
* Delete front navigation items by application
|
||||
*
|
||||
* @param Application $app Application deleted
|
||||
* @param Application|string $app Application deleted
|
||||
* @return void
|
||||
*/
|
||||
public static function deleteByApplication( Application $app ) : void
|
||||
public static function deleteByApplication( Application|string $app ) : void
|
||||
{
|
||||
$app = ( $app instanceof Application ) ? $app->directory : $app;
|
||||
foreach( Db::i()->select( '*', 'core_menu', array( array( 'extension=?', 'CustomItem' ) ) ) as $row )
|
||||
{
|
||||
$config = json_decode( $row['config'], TRUE );
|
||||
@@ -169,7 +170,7 @@ class FrontNavigation
|
||||
{
|
||||
parse_str( $config['menu_custom_item_url'], $data );
|
||||
|
||||
if ( ! empty( $data['app'] ) and $data['app'] === $app->directory )
|
||||
if ( ! empty( $data['app'] ) and $data['app'] === $app )
|
||||
{
|
||||
Db::i()->delete( 'core_menu', array( 'id=?', $row['id'] ) );
|
||||
}
|
||||
@@ -178,7 +179,7 @@ class FrontNavigation
|
||||
}
|
||||
}
|
||||
|
||||
Db::i()->delete( 'core_menu', array( 'app=?', $app->directory ) );
|
||||
Db::i()->delete( 'core_menu', array( 'app=?', $app ) );
|
||||
|
||||
unset( Store::i()->frontNavigation );
|
||||
}
|
||||
@@ -349,9 +350,9 @@ class FrontNavigation
|
||||
$return = array();
|
||||
foreach ( $frontNavigation[0] as $item )
|
||||
{
|
||||
$class = 'IPS\\' . $item['app'] . '\extensions\core\FrontNavigation\\' . $item['extension'];
|
||||
if ( class_exists( $class ) )
|
||||
try
|
||||
{
|
||||
$class = Application::getExtensionClass( $item['app'], 'FrontNavigation', $item['extension'] );
|
||||
$object = new $class( json_decode( $item['config'], TRUE ), $item['id'], $item['permissions'], $item['menu_types'], json_decode( (string) $item['icon'], TRUE ), $item['parent'] );
|
||||
if ( !$this->activePrimaryNavBar )
|
||||
{
|
||||
@@ -359,6 +360,7 @@ class FrontNavigation
|
||||
}
|
||||
$this->roots[ $item['id'] ] = $object;
|
||||
}
|
||||
catch( OutOfRangeException ){}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -391,11 +393,12 @@ class FrontNavigation
|
||||
{
|
||||
foreach ( $frontNavigation[$i] as $item )
|
||||
{
|
||||
$class = 'IPS\\' . $item['app'] . '\extensions\core\FrontNavigation\\' . $item['extension'];
|
||||
if ( class_exists( $class ) )
|
||||
try
|
||||
{
|
||||
$class = Application::getExtensionClass( $item['app'], 'FrontNavigation', $item['extension'] );
|
||||
$this->subBars[ $item['parent'] ][ $item['id'] ] = new $class( json_decode( $item['config'], TRUE ), $item['id'], $item['permissions'], $item['menu_types'], json_decode( (string) $item['icon'], TRUE ), $item['parent'] );
|
||||
}
|
||||
catch( OutOfRangeException ){}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user