Version 5.0.6

This commit is contained in:
Neo committed 2025-12-19 18:55:49 -08:00
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 ){}
}
}
}