| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.3/wp-content/plugins/better-block-editor/Modules/GroupResponsive/ |
Upload File : |
<?php
/**
* Add responsive settings to Group.
*
* @package BetterBlockEditor
*/
namespace BetterBlockEditor\Modules\GroupResponsive;
use BetterBlockEditor\Base\ManagableModuleInterface;
use BetterBlockEditor\Base\ResponsiveBlockModuleBase;
use BetterBlockEditor\Core\BlockUtils;
use BetterBlockEditor\Core\ResponsiveBlockUtils;
defined( 'ABSPATH' ) || exit;
final class Module extends ResponsiveBlockModuleBase implements ManagableModuleInterface {
const MODULE_IDENTIFIER = 'group-justification-responsive';
const ASSETS_BUILD_PATH = 'editor/blocks/group/responsiveness/';
const SETTINGS_ORDER = 230;
const BLOCK_NAME = 'core/group';
public static function get_title() {
return __( 'Responsive Groups', 'better-block-editor' );
}
public static function get_label() {
return __( 'Add Responsive Settings to Group block.', 'better-block-editor' );
}
protected function need_to_apply_changes( $block_content, $block, $wp_block_instance ) {
// "group" mode (i.e. not "row", "stack", or "grid" ) can be detected by used layout
return in_array( $this->attributes['layout']['type'] ?? null, array( 'default', 'constrained' ) );
}
protected function render( $block_content, $block, $wp_block_instance ) {
$class_id = BlockUtils::get_unique_class_id( $block_content );
$block_content = BlockUtils::append_classes( $block_content, $class_id );
$justification = ResponsiveBlockUtils::get_setting( $this->attributes, 'justification', 'left' );
$disable_position_sticky = ResponsiveBlockUtils::get_setting( $this->attributes, 'disablePositionSticky', false );
$css_rules['margin-left'] = ( $justification === 'left' ? '0' : 'auto' ) . ' !important';
$css_rules['margin-right'] = ( $justification === 'right' ? '0' : 'auto' ) . ' !important';
$css_selector = ".{$class_id}.{$class_id} > :where(:not(.alignleft):not(.alignright):not(.alignfull))";
ResponsiveBlockUtils::add_style_for_media_query(
"@media screen and (width <= {$this->switch_width})",
$css_selector,
$css_rules
);
if ( $disable_position_sticky ) {
ResponsiveBlockUtils::add_style_for_media_query(
"@media screen and (width <= {$this->switch_width})",
".{$class_id}.{$class_id}",
array( 'position' => 'static' )
);
}
return $block_content;
}
}