Version 5.0.13

This commit is contained in:
Neo committed 2025-12-19 19:04:57 -08:00
1 parent b89858b2ff
commit 5efe744c5f
1407 files changed
+69690 -30177

No files matched your search

+15 -55
View File
@@ -229,7 +229,7 @@ abstract class Widget
*/
public function init(): void
{
if ( $this->app )
if ( $this->app and $this->template === null )
{
$this->template( array( Theme::i()->getTemplate( 'widgets', $this->app, 'front' ), $this->key ) );
}
@@ -299,6 +299,19 @@ abstract class Widget
return false;
}
/**
* Can this widget be used on this page?
*
* @param string $app
* @param string $module
* @param string $controller
* @return bool
*/
public function isExecutableByPage( string $app, string $module, string $controller ) : bool
{
return true;
}
/**
* Fetch the application for this widget
*
@@ -833,7 +846,6 @@ abstract class Widget
'dev_widget_key' => Request::i()->key,
'dev_widget_class' => $widgets[ Request::i()->key ]['class'],
'dev_widget_restrict' => $widgets[ Request::i()->key ]['restrict'],
'dev_widget_default_area' => isset($widgets[ Request::i()->key ]['default_area']) ? $widgets[ Request::i()->key ]['default_area'] : NULL,
'dev_widget_allow_reuse' => isset($widgets[ Request::i()->key ]['allow_reuse']) ? $widgets[ Request::i()->key ]['allow_reuse'] : 0,
'dev_widget_menu_style' => isset($widgets[ Request::i()->key ]['menu_style']) ? $widgets[ Request::i()->key ]['menu_style'] : 'menu',
'dev_widget_layouts' => $widgets[ Request::i()->key ]['layouts'] ?? implode( ",", $layouts ),
@@ -881,16 +893,6 @@ abstract class Widget
),
'multiple' => true ) ) );
$form->add( new Radio( 'dev_widget_default_area', ( is_array( $current ) ? ( $current['dev_widget_default_area'] ?: 'none' ) : 'none' ), FALSE, array(
'options' => array(
'none' => Member::loggedIn()->language()->addToStack('none'),
'sidebar' => Member::loggedIn()->language()->addToStack('dev_widget_default_area_sidebar'),
'header' => Member::loggedIn()->language()->addToStack('dev_widget_default_area_header'),
'footer' => Member::loggedIn()->language()->addToStack('dev_widget_default_area_footer'),
),
'multiple' => false ) ) );
$form->add( new Radio( 'dev_widget_menu_style', ( is_array( $current ) ? $current['dev_widget_menu_style'] : 'menu' ), FALSE, array(
'options' => array(
'menu' => Member::loggedIn()->language()->addToStack('dev_widget_menu_style_menu'),
@@ -963,7 +965,6 @@ abstract class Widget
'key' => $values['dev_widget_key'],
'class' => $values['dev_widget_class'],
'restrict' => ( ! count( $values['dev_widget_restrict'] ) ? FALSE : json_encode( array_values( $values['dev_widget_restrict'] ) ) ),
'default_area' => ( $values['dev_widget_default_area'] === 'none' ) ? '' : $values['dev_widget_default_area'],
'allow_reuse' => $values['dev_widget_allow_reuse'],
'menu_style' => $values['dev_widget_menu_style'],
'layouts' => $values['dev_widget_layouts'],
@@ -979,7 +980,6 @@ abstract class Widget
$widgets[ $values['dev_widget_key'] ] = array(
'class' => $values['dev_widget_class'],
'restrict' => ( ! count( $values['dev_widget_restrict'] ) ? FALSE : array_values( $values['dev_widget_restrict'] ) ),
'default_area' => ( $values['dev_widget_default_area'] === 'none' ) ? '' : $values['dev_widget_default_area'],
'allow_reuse' => $values['dev_widget_allow_reuse'],
'menu_style' => $values['dev_widget_menu_style'],
'layouts' => $values['dev_widget_layouts'],
@@ -1024,9 +1024,7 @@ abstract class Widget
$data[ $k ] = array(
'dev_widget_key' => $k,
'dev_widget_class' => $json['class'],
'dev_widget_restrict' => $json['restrict'] === FALSE ? Member::loggedIn()->language()->addToStack('dev_widget_nowhere') : ( ( ( count( $json['restrict'] ) > 0 and count( $json['restrict'] ) !== 2 ) ? implode( ',', array_map( function($val ) { return Member::loggedIn()->language()->addToStack('dev_widget_restrict_'.$val); }, $json['restrict'] ) ) : Member::loggedIn()->language()->addToStack('everywhere') ) ),
'dev_widget_area' => isset($json['default_area']) ? ( $json['default_area'] ? Member::loggedIn()->language()->addToStack( 'dev_widget_default_area_' . $json['default_area'] ) : Member::loggedIn()->language()->addToStack('none') ) : 'sidebar',
'dev_widget_embeddable' => isset($json['embeddable']) ? ( $json['embeddable'] ? '✓' : '✗' ) : '✗'
'dev_widget_restrict' => $json['restrict'] === FALSE ? Member::loggedIn()->language()->addToStack('dev_widget_nowhere') : ( ( ( count( $json['restrict'] ) > 0 and count( $json['restrict'] ) !== 2 ) ? implode( ',', array_map( function($val ) { return Member::loggedIn()->language()->addToStack('dev_widget_restrict_'.$val); }, $json['restrict'] ) ) : Member::loggedIn()->language()->addToStack('everywhere') ) )
);
}
@@ -1222,44 +1220,6 @@ abstract class Widget
}
return static::$cachedConfiguration[ $uniqueId ] ?? array();
}
/**
* Get default widgets for an application
*
* @param Application|string $app The application
* @return array
*/
public static function appDefaults( Application|string $app ): array
{
$app = is_string( $app ) ? Application::load( $app ) : $app;
if ( !isset( Store::i()->widgets ) )
{
$widgets = array();
foreach( Db::i()->select( '*', 'core_widgets' ) as $row )
{
if ( $row['app'] )
{
$widgets[ $row['app'] ][ $row['key'] ] = $row;
}
}
Store::i()->widgets = $widgets;
}
$return = array();
if ( isset( Store::i()->widgets[ $app->directory ] ) )
{
foreach ( Store::i()->widgets[ $app->directory ] as $widget )
{
if ( $widget['default_area'] )
{
$return[] = $widget;
}
}
}
return $return;
}
/**