Changeset 3406987
- Timestamp:
- 12/01/2025 03:55:47 PM (4 months ago)
- Location:
- beaver-builder-lite-version/trunk
- Files:
-
- 14 edited
-
changelog.txt (modified) (1 diff)
-
classes/class-fl-builder-admin-advanced.php (modified) (13 diffs)
-
classes/class-fl-builder-loader.php (modified) (1 diff)
-
classes/class-fl-builder-loop.php (modified) (2 diffs)
-
classes/class-fl-builder-model.php (modified) (4 diffs)
-
classes/class-fl-builder-user-access.php (modified) (2 diffs)
-
classes/class-fl-builder-utils.php (modified) (1 diff)
-
classes/class-fl-builder.php (modified) (1 diff)
-
classes/class-fl-controls.php (modified) (6 diffs)
-
extensions/fl-builder-seo-plugins/classes/class-fl-builder-seo-plugins.php (modified) (2 diffs)
-
fl-builder.php (modified) (2 diffs)
-
includes/updater-config.php (modified) (1 diff)
-
modules/button-group/includes/frontend.css.php (modified) (1 diff)
-
readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
beaver-builder-lite-version/trunk/changelog.txt
r3373870 r3406987 1 <h4>2.9.4.1 - 11/25/2025</h4> 2 <strong>There is a companion BB Themer release for this version. Please update to Themer 1.5.2.1.</strong> 3 <p><strong>Bug Fixes</strong></p> 4 <ul> 5 <li>Security: Added better capability checking to ensure only proper users can view attachment data for media attached to posts that are private, draft, or password-protected (#4604)</li> 6 <li>Security: Added better capability checking for disable layout action (#4623)</li> 7 <li>Security: Only Administrator and Editor roles will be checked by default for Builder Access and Unrestricted Editing in User Access settings</li> 8 <li>Security: Ensure users have Builder Access and Unrestricted editing capabilities to allow them to add or delete color picker presets</li> 9 <li>Rank Math: Fixed integration to ensure Focus Keyword feature still works on posts/pages where BB is used (#4599)</li> 10 <li>Button Group Module: Fixed PHP warnings (#4489)</li> 11 <li>Loop Module: Fixed PHP warnings if post has no taxonomy (#4642)</li> 12 <li>Loop Module: Fixed field connection logic for post grid loop (#4646)</li> 13 <li>Global Settings: Fixed Row default max width not being responsive (#4634)</li> 14 </ul> 15 1 16 <h4>2.9.4 - 09/24/2025</h4> 2 17 <p><strong>Enhancements</strong></p> -
beaver-builder-lite-version/trunk/classes/class-fl-builder-admin-advanced.php
r3350565 r3406987 36 36 $settings = array( 37 37 'iframe_ui' => array( 38 'label' => __( 'Responsive iFrame UI', 'fl-builder' ),38 'label' => self::__( 'Responsive iFrame UI', 'fl-builder' ), 39 39 'default' => 1, 40 40 'callback' => array( __CLASS__, 'disable_iframe_ui' ), 41 41 'group' => 'ui', 42 'description' => __( 'The iFrame UI provides accurate responsive editing. Disable it if you are having issues with third-party or legacy add-ons.', 'fl-builder' ),42 'description' => self::__( 'The iFrame UI provides accurate responsive editing. Disable it if you are having issues with third-party or legacy add-ons.', 'fl-builder' ), 43 43 ), 44 44 'outline_enabled' => array( 45 'label' => __( 'Outline Panel', 'fl-builder' ),45 'label' => self::__( 'Outline Panel', 'fl-builder' ), 46 46 'default' => 1, 47 47 'callback' => array( __CLASS__, 'disable_outline' ), … … 50 50 ), 51 51 'inline_editing_enabled' => array( 52 'label' => __( 'Inline Editing', 'fl-builder' ),52 'label' => self::__( 'Inline Editing', 'fl-builder' ), 53 53 'default' => 1, 54 54 'callback' => array( __CLASS__, 'disable_inline_edit' ), … … 57 57 ), 58 58 'notifications_enabled' => array( 59 'label' => __( "What's New", 'fl-builder' ),59 'label' => self::__( "What's New", 'fl-builder' ), 60 60 'default' => 1, 61 61 'callback' => array( __CLASS__, 'disable_notifications' ), 62 62 'group' => 'ui', 63 'description' => __( 'When disabled, alerts will not be received for new posts on the blog in the UI', 'fl-builder' ),63 'description' => self::__( 'When disabled, alerts will not be received for new posts on the blog in the UI', 'fl-builder' ), 64 64 ), 65 65 'lasttab_enabled' => array( 66 'label' => __( 'Remember last used tab', 'fl-builder' ),66 'label' => self::__( 'Remember last used tab', 'fl-builder' ), 67 67 'default' => 1, 68 68 'callback' => array( __CLASS__, 'disable_lastused' ), 69 69 'group' => 'ui', 70 'description' => __( 'When disabled, the Builder will not remember the last tab used in the row/column/module settings.', 'fl-builder' ),70 'description' => self::__( 'When disabled, the Builder will not remember the last tab used in the row/column/module settings.', 'fl-builder' ), 71 71 ), 72 72 'rowshapes_enabled' => array( 73 'label' => __( 'Custom Row Shapes', 'fl-builder' ),73 'label' => self::__( 'Custom Row Shapes', 'fl-builder' ), 74 74 'default' => 1, 75 75 'callback' => array( __CLASS__, 'disable_rowshapes' ), 76 76 'group' => 'ui', 77 'description' => __( 'When enabled, a custom row shapes tab will be added to the Global Settings.', 'fl-builder' ),77 'description' => self::__( 'When enabled, a custom row shapes tab will be added to the Global Settings.', 'fl-builder' ), 78 78 ), 79 79 'node_code' => array( 80 'label' => __( 'Enable Code Settings', 'fl-builder' ),80 'label' => self::__( 'Enable Code Settings', 'fl-builder' ), 81 81 'default' => 1, 82 82 'callback' => array( __CLASS__, 'disable_node_code' ), 83 83 'group' => 'ui', 84 'description' => __( 'When enabled, CSS and JS settings will be available for rows, columns, and modules.', 'fl-builder' ), 84 'action' => 'plugins_loaded', 85 'priority' => 9, 86 'description' => self::__( 'When enabled, CSS and JS settings will be available for rows, columns, and modules.', 'fl-builder' ), 85 87 ), 86 88 'limitrevisions_enabled' => array( 87 'label' => __( 'Limit WP revisions for layouts', 'fl-builder' ),88 'default' => 0,89 'label' => self::__( 'Limit WP revisions for layouts', 'fl-builder' ), 90 'default' => 1, 89 91 'callback' => array( __CLASS__, 'limit_revisions' ), 90 92 'group' => 'ui', 91 93 'hasdepend' => true, 92 'description' => __( 'WP by default does not limit the amount of revisions.', 'fl-builder' ),94 'description' => self::__( 'WP by default does not limit the amount of revisions.', 'fl-builder' ), 93 95 ), 94 96 'limitrevisions_num' => array( 95 'label' => __( 'Revisions Limit', 'fl-builder' ),97 'label' => self::__( 'Revisions Limit', 'fl-builder' ), 96 98 'default' => 10, 97 99 'type' => 'text', 98 100 'depends' => 'limitrevisions_enabled', 99 101 'group' => 'ui', 100 'description' => __( 'Set to 0 to completely disable revisions for layouts/pages controlled by the Builder', 'fl-builder' ),102 'description' => self::__( 'Set to 0 to completely disable revisions for layouts/pages controlled by the Builder', 'fl-builder' ), 101 103 ), 102 104 'limithistory_enabled' => array( 103 'label' => __( 'Limit the amount of undo/redo history in Builder UI', 'fl-builder' ),105 'label' => self::__( 'Limit the amount of undo/redo history in Builder UI', 'fl-builder' ), 104 106 'default' => 0, 105 107 'callback' => array( __CLASS__, 'limithistory_enabled' ), 106 108 'group' => 'ui', 107 109 'hasdepend' => true, 108 'description' => __( 'History is limited to 20 by default in the Builder undo/redo UI', 'fl-builder' ),110 'description' => self::__( 'History is limited to 20 by default in the Builder undo/redo UI', 'fl-builder' ), 109 111 ), 110 112 'limithistory_num' => array( 111 'label' => __( 'History Limit', 'fl-builder' ),113 'label' => self::__( 'History Limit', 'fl-builder' ), 112 114 'default' => 5, 113 115 'type' => 'text', 114 116 'depends' => 'limithistory_enabled', 115 117 'group' => 'ui', 116 'description' => __( 'Set to 0 to completely disable undo/redo history', 'fl-builder' ),118 'description' => self::__( 'Set to 0 to completely disable undo/redo history', 'fl-builder' ), 117 119 ), 118 120 'modsec_enabled' => array( 119 'label' => __( 'Mod Security fix', 'fl-builder' ),121 'label' => self::__( 'Mod Security fix', 'fl-builder' ), 120 122 'default' => 0, 121 123 'callback' => array( __CLASS__, 'enable_modsec' ), … … 124 126 ), 125 127 'sort_enabled' => array( 126 'label' => __( 'Add Filtering Option ', 'fl-builder' ),128 'label' => self::__( 'Add Filtering Option ', 'fl-builder' ), 127 129 'default' => 1, 128 130 'callback' => array( __CLASS__, 'disable_sorting' ), 129 131 'group' => 'admin', 130 'description' => __( 'When enabled, a filter option is added for Builder enabled posts/pages in the post/page list', 'fl-builder' ),132 'description' => self::__( 'When enabled, a filter option is added for Builder enabled posts/pages in the post/page list', 'fl-builder' ), 131 133 ), 132 134 'duplicate_enabled' => array( 133 'label' => __( 'Show duplicate action links in post/page list view', 'fl-builder' ),135 'label' => self::__( 'Show duplicate action links in post/page list view', 'fl-builder' ), 134 136 'default' => 1, 135 137 'callback' => array( __CLASS__, 'disable_duplicate' ), … … 137 139 ), 138 140 'duplicatemenu_enabled' => array( 139 'label' => __( 'Show duplicate action link in WP Admin Bar', 'fl-builder' ),141 'label' => self::__( 'Show duplicate action link in WP Admin Bar', 'fl-builder' ), 140 142 'default' => 0, 141 143 'callback' => array( __CLASS__, 'disable_duplicate_menu' ), … … 144 146 'google_enabled' => array( 145 147 'label' => 'Google Fonts', 146 'description' => __( 'When disabled, no Google Fonts will be enqueued or available in style options.', 'fl-builder' ),148 'description' => self::__( 'When disabled, no Google Fonts will be enqueued or available in style options.', 'fl-builder' ), 147 149 'default' => 1, 148 150 'callback' => array( __CLASS__, 'disable_google' ), … … 151 153 'google_auto' => array( 152 154 'label' => 'Google Fonts Auto Update', 153 'description' => __( 'System will automatically update the available fonts', 'fl-builder' ),155 'description' => self::__( 'System will automatically update the available fonts', 'fl-builder' ), 154 156 'default' => 1, 155 157 'callback' => array( __CLASS__, 'google_auto' ), … … 157 159 ), 158 160 'awesome_enabled' => array( 159 'label' => __( 'Font Awesome', 'fl-builder' ),160 'description' => __( 'When disabled, Font Awesome will not be enqueued, even if modules require it.', 'fl-builder' ),161 'label' => self::__( 'Font Awesome', 'fl-builder' ), 162 'description' => self::__( 'When disabled, Font Awesome will not be enqueued, even if modules require it.', 'fl-builder' ), 161 163 'default' => 1, 162 164 'callback' => array( __CLASS__, 'disable_awesome' ), … … 164 166 ), 165 167 'gd_crop_enabled' => array( 166 'label' => __( 'Prefer GD for image cropping', 'fl-builder' ),168 'label' => self::__( 'Prefer GD for image cropping', 'fl-builder' ), 167 169 'default' => 0, 168 170 'callback' => array( __CLASS__, 'enable_gd_crop' ), … … 174 176 'callback' => array( __CLASS__, 'render_inline' ), 175 177 'group' => 'frontend', 176 'description' => __( 'Instead of loading Builder CSS and JavaScript as an asset file, assets will render inline', 'fl-builder' ),178 'description' => self::__( 'Instead of loading Builder CSS and JavaScript as an asset file, assets will render inline', 'fl-builder' ), 177 179 'link' => 'https://docs.wpbeaverbuilder.com/beaver-builder/developer/how-to-tips/load-css-and-javascript-inline/', 178 180 ), 179 181 'modules_enabled' => array( 180 'label' => __( 'Show advanced module usage', 'fl-builder' ), 181 'default' => 0, 182 'label' => self::__( 'Show advanced module usage', 'fl-builder' ), 183 'default' => 0, 184 'action' => 'plugins_loaded', 182 185 'callback' => array( __CLASS__, 'modules_enabled' ), 183 186 'group' => 'admin', 184 'description' => __( 'Show detailed module usage on modules tab. Any disabled modules will be fully disabled and no longer render unless it is a dependency for another module.', 'fl-builder' ),187 'description' => self::__( 'Show detailed module usage on modules tab. Any disabled modules will be fully disabled and no longer render unless it is a dependency for another module.', 'fl-builder' ), 185 188 'link' => 'https://docs.wpbeaverbuilder.com/beaver-builder/developer/tutorials-guides/common-beaver-builder-plugin-filter-examples/#show-which-modules-are-in-use-in-a-website', 186 189 ), 187 190 188 191 'small_data_enabled' => array( 189 'label' => __( 'Small Data Mode', 'fl-builder' ),192 'label' => self::__( 'Small Data Mode', 'fl-builder' ), 190 193 'default' => 0, 191 194 'callback' => array( __CLASS__, 'small_data_enabled' ), 192 195 'group' => 'ui', 193 'description' => __( 'When enabled, fields that are empty/blank will not be saved to the database.', 'fl-builder' ),196 'description' => self::__( 'When enabled, fields that are empty/blank will not be saved to the database.', 'fl-builder' ), 194 197 ), 195 198 'node_labels_enabled' => array( 196 'label' => __( 'Node Labels', 'fl-builder' ),199 'label' => self::__( 'Node Labels', 'fl-builder' ), 197 200 'default' => 1, 198 201 'callback' => array( __CLASS__, 'node_labels_enabled' ), 199 202 'group' => 'ui', 200 'description' => __( 'Show custom labels for Nodes.', 'fl-builder' ),203 'description' => self::__( 'Show custom labels for Nodes.', 'fl-builder' ), 201 204 ), 202 205 'shortcodes_enabled' => array( 203 'label' => __( 'Render shortcodes in CSS/JS', 'fl-builder' ),206 'label' => self::__( 'Render shortcodes in CSS/JS', 'fl-builder' ), 204 207 'default' => 0, 205 208 'callback' => array( __CLASS__, 'shortcodes_enabled' ), … … 208 211 ), 209 212 'acf_blocks_enabled' => array( 210 'label' => __( 'ACF Blocks', 'fl-builder' ),213 'label' => self::__( 'ACF Blocks', 'fl-builder' ), 211 214 'default' => 1, 212 215 'callback' => array( __CLASS__, 'disable_acf_blocks' ), 213 216 'group' => 'ui', 214 'description' => __( 'When enabled, this allows blocks built with ACF to be used in the builder.', 'fl-builder' ),217 'description' => self::__( 'When enabled, this allows blocks built with ACF to be used in the builder.', 'fl-builder' ), 215 218 ), 216 219 'collapse_default' => array( 217 'label' => __( 'Collapse All Settings', 'fl-builder' ),220 'label' => self::__( 'Collapse All Settings', 'fl-builder' ), 218 221 'default' => 0, 219 222 'callback' => array( __CLASS__, 'collapse_default' ), 220 223 'group' => 'ui', 221 'description' => __( 'When enabled, settings window sections will be collapsed.', 'fl-builder' ),224 'description' => self::__( 'When enabled, settings window sections will be collapsed.', 'fl-builder' ), 222 225 ), 223 226 'theme_colors' => array( 224 'label' => __( 'Load Theme Colors', 'fl-builder' ),225 'default' => 0, 226 'group' => 'ui', 227 'description' => __( 'When enabled, Theme colors will be shown in color pickers.', 'fl-builder' ),227 'label' => self::__( 'Load Theme Colors', 'fl-builder' ), 228 'default' => 0, 229 'group' => 'ui', 230 'description' => self::__( 'When enabled, Theme colors will be shown in color pickers.', 'fl-builder' ), 228 231 ), 229 232 'core_colors' => array( 230 'label' => __( 'Load WordPress Colors', 'fl-builder' ),231 'default' => 0, 232 'group' => 'ui', 233 'description' => __( 'When enabled, WordPress Core colors will be shown in color pickers.', 'fl-builder' ),233 'label' => self::__( 'Load WordPress Colors', 'fl-builder' ), 234 'default' => 0, 235 'group' => 'ui', 236 'description' => self::__( 'When enabled, WordPress Core colors will be shown in color pickers.', 'fl-builder' ), 234 237 ), 235 238 'module_wrappers' => array( 236 'label' => __( 'Force Module Wrapper Divs', 'fl-builder' ),239 'label' => self::__( 'Force Module Wrapper Divs', 'fl-builder' ), 237 240 'default' => 0, 238 241 'callback' => array( __CLASS__, 'module_wrappers' ), 239 242 'group' => 'frontend', 240 'description' => __( 'Forces modules to render their wrapper divs, even if they have been removed in a recent update.', 'fl-builder' ),243 'description' => self::__( 'Forces modules to render their wrapper divs, even if they have been removed in a recent update.', 'fl-builder' ), 241 244 ), 242 245 ); 243 if ( FLBuilderModel::is_white_labeled() ) {246 if ( ! self::is_plugins_loaded_action() && FLBuilderModel::is_white_labeled() ) { 244 247 unset( $settings['notifications_enabled'] ); 245 248 } 246 249 return $settings; 250 } 251 252 static private function __( $text, $domain ) { 253 if ( self::is_plugins_loaded_action() ) { 254 return $text; 255 } 256 return __( $text, $domain ); //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText, WordPress.WP.I18n.NonSingularStringLiteralDomain 257 } 258 259 static private function is_plugins_loaded_action() { 260 return 'plugins_loaded' === current_action(); 247 261 } 248 262 … … 368 382 add_action( 'after_setup_theme', __CLASS__ . '::register_user_access_settings' ); 369 383 add_action( 'wp_ajax_fl_advanced_submit', array( __CLASS__, 'advanced_submit' ) ); 370 add_action( ' init', array( __CLASS__, 'init_hooks' ), 11);384 add_action( 'plugins_loaded', array( __CLASS__, 'init_hooks' ), 5 ); 371 385 self::global_styles(); 372 386 } 387 373 388 374 389 /** … … 428 443 } 429 444 if ( $option != $setting['default'] && isset( $setting['callback'] ) ) { 430 call_user_func( $setting['callback'] ); 445 $action = isset( $setting['action'] ) ? $setting['action'] : 'init'; 446 $priority = isset( $setting['priority'] ) ? $setting['priority'] : 11; 447 add_action( $action, function () use ( $setting ) { 448 call_user_func( $setting['callback'] ); 449 }, $priority ); 431 450 } 432 451 } -
beaver-builder-lite-version/trunk/classes/class-fl-builder-loader.php
r3373870 r3406987 49 49 */ 50 50 static private function define_constants() { 51 define( 'FL_BUILDER_VERSION', '2.9.4 ' );51 define( 'FL_BUILDER_VERSION', '2.9.4.1' ); 52 52 define( 'FL_BUILDER_FILE', trailingslashit( dirname( __DIR__, 1 ) ) . 'fl-builder.php' ); 53 53 define( 'FL_BUILDER_DIR', plugin_dir_path( FL_BUILDER_FILE ) ); -
beaver-builder-lite-version/trunk/classes/class-fl-builder-loop.php
r3373870 r3406987 1329 1329 static public function get_term_options( $taxonomy = '' ) { 1330 1330 1331 $result = array( 0 => __( 'None', 'fl-builder' ) ); 1332 1331 1333 if ( ! $taxonomy ) { 1332 1334 $post_data = FLBuilderModel::get_post_data(); 1333 $taxonomy = $post_data['taxonomy']; 1335 1336 if ( ! isset( $post_data['taxonomy'] ) ) { 1337 return $result; 1338 } 1339 $taxonomy = $post_data['taxonomy']; 1334 1340 } 1335 1341 … … 1339 1345 'parent' => 0, 1340 1346 ) ); 1341 1342 $result = array( 0 => __( 'None', 'fl-builder' ) );1343 1347 1344 1348 foreach ( $terms as $slug => $data ) { -
beaver-builder-lite-version/trunk/classes/class-fl-builder-model.php
r3373870 r3406987 824 824 static public function disable() { 825 825 if ( isset( $_POST['_wpnonce'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'fl-enable-editor' ) ) { 826 update_post_meta( self::get_post_id(), '_fl_builder_enabled', false ); 826 $post_id = self::get_post_id(); 827 $user_id = get_current_user_id(); 828 $post = get_post( $post_id ); 829 if ( current_user_can( 'edit_others_posts' ) || ( $post->post_author === $user_id ) ) { 830 update_post_meta( $post_id, '_fl_builder_enabled', false ); 831 } 827 832 } 828 833 exit; … … 1207 1212 if ( is_object( $node_id ) ) { 1208 1213 $node = $node_id; 1209 } else {1214 } else if ( null !== $node_id ) { 1210 1215 $data = self::get_layout_data( $status ); 1211 1216 $node = isset( $data[ $node_id ] ) ? $data[ $node_id ] : null; 1217 } else { 1218 $node = false; 1212 1219 } 1213 1220 … … 1472 1479 */ 1473 1480 static public function get_categorized_nodes() { 1474 if ( self::is_post_user_template( 'module' ) ) { 1475 $root_module = self::get_node_template_root( 'module' ); 1476 $nodes = self::get_categorized_child_nodes( $root_module ); 1477 $nodes['modules'][ $root_module->node ] = self::get_module( $root_module ); 1478 } elseif ( self::is_post_user_template( 'column' ) ) { 1481 if ( self::is_post_user_template( 'column' ) ) { 1479 1482 $root_col = self::get_node_template_root( 'column' ); 1480 1483 $nodes = self::get_categorized_child_nodes( $root_col ); … … 5821 5824 $type = ( is_wp_error( $terms ) || 0 === count( $terms ) ) ? 'layout' : $terms[0]->slug; 5822 5825 5823 self::$node_template_types[ $template_id ] = $type; 5826 if ( null !== $template_id ) { 5827 self::$node_template_types[ $template_id ] = $type; 5828 } 5824 5829 5825 5830 return $type; -
beaver-builder-lite-version/trunk/classes/class-fl-builder-user-access.php
r3301699 r3406987 279 279 public static function register_default_settings() { 280 280 self::register_setting( 'builder_access', array( 281 'default' => 'all',281 'default' => [ 'administrator', 'editor' ], 282 282 'group' => __( 'Frontend', 'fl-builder' ), 283 283 'label' => __( 'Builder Access', 'fl-builder' ), … … 287 287 288 288 self::register_setting( 'unrestricted_editing', array( 289 'default' => 'all',289 'default' => [ 'administrator', 'editor' ], 290 290 'group' => __( 'Frontend', 'fl-builder' ), 291 291 'label' => __( 'Unrestricted Editing', 'fl-builder' ), -
beaver-builder-lite-version/trunk/classes/class-fl-builder-utils.php
r3337387 r3406987 372 372 */ 373 373 public static function formatbytes( $size, $precision = 2 ) { 374 if ( 0 === $size ) { 375 return 0; 376 } 374 377 $base = log( $size, 1024 ); 375 378 $suffixes = array( '', 'K', 'M', 'G', 'T' ); -
beaver-builder-lite-version/trunk/classes/class-fl-builder.php
r3337387 r3406987 3769 3769 3770 3770 // Global node css. 3771 FLBuilderCSS::r ule( array(3772 'se lector' => '.fl-row-fixed-width',3773 ' props' => array(3774 'max-width' => $global_settings->row_width . $global_settings->row_width_unit,3775 ),3771 FLBuilderCSS::responsive_rule( array( 3772 'settings' => $global_settings, 3773 'setting_name' => 'row_width', 3774 'selector' => '.fl-row-fixed-width', 3775 'prop' => 'max-width', 3776 3776 ) ); 3777 3777 -
beaver-builder-lite-version/trunk/classes/class-fl-controls.php
r3337387 r3406987 54 54 'methods' => WP_REST_Server::CREATABLE, 55 55 'callback' => __CLASS__ . '::set_color_presets', 56 'permission_callback' => __CLASS__ . '::check_ permission',56 'permission_callback' => __CLASS__ . '::check_write_permission', 57 57 ) ); 58 58 … … 60 60 'methods' => WP_REST_Server::DELETABLE, 61 61 'callback' => __CLASS__ . '::delete_color_presets', 62 'permission_callback' => __CLASS__ . '::check_ permission',62 'permission_callback' => __CLASS__ . '::check_write_permission', 63 63 ) ); 64 64 … … 66 66 'methods' => WP_REST_Server::CREATABLE, 67 67 'callback' => __CLASS__ . '::set_background_presets', 68 'permission_callback' => __CLASS__ . '::check_ permission',68 'permission_callback' => __CLASS__ . '::check_write_permission', 69 69 ) ); 70 70 … … 221 221 $sizes = []; 222 222 223 if ( ! current_user_can( 'read_private_posts' ) ) { 224 $post = get_post( $id ); 225 $user_id = get_current_user_id(); 226 if ( $post->post_author !== $user_id ) { 227 return new WP_REST_Response( null, 403, [] ); 228 } 229 } 230 223 231 if ( $meta ) { 224 232 $sizes = $meta['sizes']; … … 246 254 247 255 /** 248 * Checks permission .256 * Checks permission for read access. 249 257 * 250 258 * @return boolean … … 253 261 return FLBuilderUserAccess::current_user_can( 'builder_access' ); 254 262 } 263 264 /** 265 * Checks permission for write access. 266 * 267 * @return boolean 268 */ 269 static public function check_write_permission() { 270 return ( FLBuilderUserAccess::current_user_can( 'unrestricted_editing' ) && FLBuilderUserAccess::current_user_can( 'builder_access' ) ); 271 } 255 272 } 256 273 -
beaver-builder-lite-version/trunk/extensions/fl-builder-seo-plugins/classes/class-fl-builder-seo-plugins.php
r3301699 r3406987 10 10 11 11 add_action( 'admin_init', array( $this, 'init' ) ); 12 add_action( 'rank_math/admin/editor_scripts', array( $this, 'init_rank_math_editor' ) ); 12 13 add_action( 'admin_head', array( $this, 'remove_yoast_meta_box_on_edit' ), 999 ); 13 14 … … 37 38 if ( defined( 'WPSEO_VERSION' ) ) { 38 39 $this->enqueue_script( 'yoast' ); 39 } elseif ( class_exists( 'RankMath' ) ) { 40 $this->enqueue_script( 'rankmath' ); 41 } 40 } 41 } 42 43 public function init_rank_math_editor() { 44 global $pagenow; 45 if ( FLBuilderAJAX::doing_ajax() || 'post.php' !== $pagenow ) { 46 return; 47 } 48 49 $this->enqueue_script( 'rankmath' ); 42 50 } 43 51 -
beaver-builder-lite-version/trunk/fl-builder.php
r3373870 r3406987 4 4 * Plugin URI: https://www.wpbeaverbuilder.com/?utm_medium=bb&utm_source=plugins-admin-page&utm_campaign=plugins-admin-uri 5 5 * Description: A drag and drop frontend WordPress page builder plugin that works with almost any theme! 6 * Version: 2.9.4 6 * Version: 2.9.4.1 7 7 * Author: The Beaver Builder Team 8 8 * Author URI: https://www.wpbeaverbuilder.com/?utm_medium=bb&utm_source=plugins-admin-page&utm_campaign=plugins-admin-author … … 12 12 * Text Domain: fl-builder 13 13 * Requires at least: 5.2 14 * Tested up to: 6. 814 * Tested up to: 6.9 15 15 * Requires PHP: 7.0 16 16 */ -
beaver-builder-lite-version/trunk/includes/updater-config.php
r3373870 r3406987 4 4 FLUpdater::add_product(array( 5 5 'name' => 'Beaver Builder Plugin (Lite Version)', 6 'version' => '2.9.4 ',6 'version' => '2.9.4.1', 7 7 'slug' => 'bb-plugin', 8 8 'type' => 'plugin', -
beaver-builder-lite-version/trunk/modules/button-group/includes/frontend.css.php
r3301699 r3406987 503 503 if ( ! empty( $settings->items[ $i ]->button_item_border->style ) ) { 504 504 if ( empty( $settings->items[ $i ]->button_item_border->width->top ) ) { 505 $settings->items[ $i ]->button_item_border->width->top = $settings->border['width']['top'] ;505 $settings->items[ $i ]->button_item_border->width->top = $settings->border['width']['top'] ?? null; 506 506 } 507 507 if ( empty( $settings->items[ $i ]->button_item_border->width->bottom ) ) { 508 $settings->items[ $i ]->button_item_border->width->bottom = $settings->border['width']['bottom'] ;508 $settings->items[ $i ]->button_item_border->width->bottom = $settings->border['width']['bottom'] ?? null; 509 509 } 510 510 if ( empty( $settings->items[ $i ]->button_item_border->width->left ) ) { 511 $settings->items[ $i ]->button_item_border->width->left = $settings->border['width']['left'] ;511 $settings->items[ $i ]->button_item_border->width->left = $settings->border['width']['left'] ?? null; 512 512 } 513 513 if ( empty( $settings->items[ $i ]->button_item_border->width->right ) ) { 514 $settings->items[ $i ]->button_item_border->width->right = $settings->border['width']['right'] ;514 $settings->items[ $i ]->button_item_border->width->right = $settings->border['width']['right'] ?? null; 515 515 } 516 516 FLBuilderCSS::border_field_rule( array( -
beaver-builder-lite-version/trunk/readme.txt
r3403608 r3406987 3 3 Tags: page builder, beaver builder, landing page, front-end builder, drag and drop editor 4 4 Requires at least: 5.2 5 Tested up to: 6. 85 Tested up to: 6.9 6 6 Requires PHP: 7.0 7 Stable tag: 2.9.4 7 Stable tag: 2.9.4.1 8 8 License: GPL2+ 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html
Note: See TracChangeset
for help on using the changeset viewer.