| Server IP : 69.39.225.240 / Your IP : 216.73.216.138 Web Server : Apache System : Linux bronze7.serverhost.net 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64 User : reademotions ( 1074) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/reademotions/www/wp-content/plugins/bb-plugin/modules/widget/ |
Upload File : |
<?php
/**
* @class FLWidgetModule
*/
class FLWidgetModule extends FLBuilderModule {
/**
* @return void
*/
public function __construct() {
parent::__construct(array(
'name' => __( 'Widget', 'fl-builder' ),
'description' => __( 'Display a WordPress widget.', 'fl-builder' ),
'group' => __( 'WordPress Widgets', 'fl-builder' ),
'category' => __( 'WordPress Widgets', 'fl-builder' ),
'editor_export' => false,
'partial_refresh' => true,
));
}
/**
* @return void
*/
public function update( $settings ) {
// Make sure we have a widget.
if ( ! isset( $settings->widget ) || ! class_exists( $settings->widget ) ) {
return $settings;
}
// Get the widget instance.
$class = $settings->widget;
$instance = new $class();
// Get the widget settings.
$settings_key = 'widget-' . $instance->id_base;
$widget_settings = array();
if ( isset( $settings->$settings_key ) ) {
$widget_settings = (array) $settings->$settings_key;
}
// Run the widget update method.
$widget_settings = $instance->update( $widget_settings, array() );
// Save the widget settings as an object.
if ( is_array( $widget_settings ) ) {
$settings->$settings_key = (object) $widget_settings;
}
// Delete the WordPress cache for this widget.
wp_cache_delete( $settings->widget, 'widget' );
$settings->widget = urlencode( $settings->widget );
// Return the settings.
return $settings;
}
/**
* @since 1.10.6
* @param string $class
* @param object $instance
* @param array $settings
* @return void
*/
static public function render_form( $class, $instance, $settings ) {
if ( 'WP_Widget_Text' === $class ) {
// Render the legacy text form since the one in 4.8 doesn't work in the builder.
include FL_BUILDER_DIR . 'modules/widget/includes/settings-text-widget.php';
} else {
$instance->form( $settings );
}
}
}
/**
* Register the module and its form settings.
*/
FLBuilder::register_module('FLWidgetModule', array(
'general' => array( // Tab
'title' => __( 'General', 'fl-builder' ), // Tab title
'file' => FL_BUILDER_DIR . 'modules/widget/includes/settings-general.php',
),
));