$account = sanitize_text_field( $account ); if ( ! isset( $services[ $service ] ) ) { $services[ $service ] = array(); } $services[ $service ][ $account ] = $data; update_option( '_fl_builder_services', $services ); } /** * Deletes an account for an integrated service. * * @since 1.5.4 * @param string $service The service id. * @param string $account The account name. * @return void */ static public function delete_service_account( $service, $account ) { $services = self::get_services(); if ( isset( $services[ $service ][ $account ] ) ) { unset( $services[ $service ][ $account ] ); } if ( 0 === count( $services[ $service ] ) ) { unset( $services[ $service ] ); } update_option( '_fl_builder_services', $services ); } /** * Returns an option from the database for * the admin settings page. * * @since 1.5.7 * @param string $key The option key. * @param bool $network_override Whether to allow the network admin setting to be overridden on subsites. * @return mixed */ static public function get_admin_settings_option( $key, $network_override = true ) { // Get the site-wide option if we're in the network admin. if ( is_network_admin() ) { $value = get_site_option( $key ); } // Get the site-wide option if network overrides aren't allowed. else if ( ! $network_override && class_exists( 'FLBuilderMultisiteSettings' ) ) { $value = get_site_option( $key ); } // Network overrides are allowed. Return the subsite option if it exists. else if ( class_exists( 'FLBuilderMultisiteSettings' ) ) { $value = get_option( $key ); $value = false === $value ? get_site_option( $key ) : $value; } // This must be a single site install. Get the single site option. else { $value = get_option( $key ); } return $value; } /** * Updates an option from the admin settings page. * * @since 1.5.7 * @param string $key The option key. * @param mixed $value The value to update. * @param bool $network_override Whether to allow the network admin setting to be overridden on subsites. * @return mixed */ static public function update_admin_settings_option( $key, $value, $network_override = true ) { // Update the site-wide option since we're in the network admin. if ( is_network_admin() ) { update_site_option( $key, $value ); } // Delete the option if network overrides are allowed and the override checkbox isn't checked. else if ( $network_override && FLBuilderAdminSettings::multisite_support() && ! isset( $_POST['fl-override-ms'] ) ) { delete_option( $key ); } // Update the option for single install or subsite. else { update_option( $key, $value ); } } /** * Returns the plugin basename for Beaver Builder. * * @since 1.0 * @return string */ static public function plugin_basename() { return plugin_basename( FL_BUILDER_DIR . 'fl-builder.php' ); } /** * Deletes almost all database data and asset cache for the builder. * We don't delete _fl_builder_enabled, _fl_builder_data and _fl_builder_draft * so layouts can be recovered should the plugin be installed again. * * @since 1.0 * @return void */ static public function uninstall_database() { if(current_user_can('delete_plugins')) { // Delete builder options. delete_option('_fl_builder_settings'); delete_option('_fl_builder_enabled_modules'); delete_option('_fl_builder_enabled_templates'); delete_option('_fl_builder_user_templates_admin'); delete_option('_fl_builder_template_data_exporter'); delete_option('_fl_builder_templates_override'); delete_option('_fl_builder_templates_override_rows'); delete_option('_fl_builder_templates_override_modules'); delete_option('_fl_builder_post_types'); delete_option('_fl_builder_enabled_icons'); delete_option('_fl_builder_branding'); delete_option('_fl_builder_branding_icon'); delete_option('_fl_builder_theme_branding'); delete_option('_fl_builder_editing_capability'); delete_option('_fl_builder_global_templates_editing_capability'); delete_option('_fl_builder_help_button'); delete_option('_fl_builder_color_presets'); // Delete builder user meta. delete_metadata('user', 0, '_fl_builder_launched', 1, true); // Delete uploaded files and folders. $upload_dir = self::get_upload_dir(); $filesystem = FLBuilderUtils::get_filesystem(); $filesystem->rmdir( $upload_dir['path'], true ); // Deactivate and delete the plugin. if (!function_exists('deactivate_plugins')) { require_once(ABSPATH . 'wp-admin/includes/plugin.php'); } deactivate_plugins(array(self::plugin_basename()), false, is_network_admin()); delete_plugins(array(self::plugin_basename())); // Redirect to the plugins page. wp_redirect(admin_url('plugins.php?deleted=true&plugin_status=all&paged=1&s=')); exit; } } /** * @since 1.6.4.3 * @deprecated 1.8 */ static public function get_theme_branding() { _deprecated_function( __METHOD__, '1.8', 'FLBuilderWhiteLabel::get_theme_branding()' ); if ( class_exists( 'FLBuilderWhiteLabel' ) ) { return FLBuilderWhiteLabel::get_theme_branding(); } } /** * @since 1.0 * @deprecated 1.8 */ static public function save_templates( $templates = array() ) { _deprecated_function( __METHOD__, '1.8', 'FLBuilderCoreTemplatesAdmin::save_templates()' ); if ( class_exists( 'FLBuilderCoreTemplatesAdmin' ) ) { FLBuilderCoreTemplatesAdmin::save_templates( $templates ); } } /** * @since 1.0 * @deprecated 1.8 */ static public function save_template( $settings ) { _deprecated_function( __METHOD__, '1.8', 'FLBuilderCoreTemplatesAdmin::save_template()' ); if ( class_exists( 'FLBuilderCoreTemplatesAdmin' ) ) { FLBuilderCoreTemplatesAdmin::save_template( $settings ); } } /** * @since 1.0 * @deprecated 1.8 */ static public function update_template( $old_index, $settings ) { _deprecated_function( __METHOD__, '1.8', 'FLBuilderCoreTemplatesAdmin::update_template()' ); if ( class_exists( 'FLBuilderCoreTemplatesAdmin' ) ) { FLBuilderCoreTemplatesAdmin::update_template( $old_index, $settings ); } } /** * @since 1.0 * @deprecated 1.8 */ static public function delete_template( $index ) { _deprecated_function( __METHOD__, '1.8', 'FLBuilderCoreTemplatesAdmin::delete_template()' ); if ( class_exists( 'FLBuilderCoreTemplatesAdmin' ) ) { FLBuilderCoreTemplatesAdmin::delete_template( $index ); } } } FLBuilderModel::init(); index files are now added the cache directories to prevent browsing.
  • Added a button for resizing settings lightboxes so they fill the screen.
  • Added support for oEmbeds in the Text Editor module.
  • Changed row and module templates to saved rows and modules.
  • Tweaked templates admin settings terminology.
  • Tweaked draft and discard button terminology.
  • Added CSS/JavaScript to layout settings button and panel.
  • Increased size of the publish button.
  • Added a setting to collapse inactive items in accordion mode for the Menu module.
  • Updated Font Awesome.
  • Sticky posts are no longer included when using the fl_builder_insert_layout shortcode.
  • Added an above title option for image position in the Posts module.
  • Bug Fixes

    1.7.8 - 04/20/2016

    Bug Fixes

    1.7.7 - 04/19/2016

    Enhancements

    Bug Fixes

    1.7.6 - 03/29/2016

    Enhancements

    Bug Fixes

    1.7.5 - 02/24/2016

    Bug Fixes

    1.7.4 - 02/22/2016

    Enhancements

    Bug Fixes

    Gyári olcsó Hot 2024 fülzsír eltávolító WiFi fültisztító otoszkóp, integrált vezeték nélküli orvosi biztonságos fülpiszkáló eszköz kamera elektromos fülzsír eltávolító