shell bypass 403

GrazzMean-Shell Shell

Uname: Linux webm012.cluster130.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 8.0.30 [ PHP INFO ] PHP os: Linux
Server Ip: 145.239.37.162
Your Ip: 216.73.216.190
User: dreampi (1009562) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : functions.php
<?php
/**
 * This file adds functions to the inspiro-blocks WordPress theme.
 *
 * @package inspiro-blocks
 * @author  WPZOOM
 * @license GNU General Public License v2 or later
 * @link    https://www.wpzoom.com/
 */

/**
 * Define Constants
 */
define( 'INSPIRO_THEME_DIR', trailingslashit( get_template_directory() ) );

/**
 * Enqueues scripts and styles
 */
require INSPIRO_THEME_DIR . 'inc/classes/class-inspiro-enqueue-scripts.php';


/**
 * Theme admin notices and info page
 */
if ( is_admin() ) {
    require INSPIRO_THEME_DIR . 'inc/admin-notice.php';
    require INSPIRO_THEME_DIR . 'inc/theme-info-page.php';

    if ( current_user_can( 'manage_options' ) ) {
        require INSPIRO_THEME_DIR . 'inc/classes/class-inspiro-notices.php';
        require INSPIRO_THEME_DIR . 'inc/classes/class-inspiro-notice-review.php';
    }
}


if ( ! function_exists( 'inspiro_blocks_setup' ) ) {

	/**
	 * Sets up theme defaults and registers support for various WordPress features.
	 *
	 * Note that this function is hooked into the after_setup_theme hook, which
	 * runs before the init hook. The init hook is too late for some features, such
	 * as indicating support for post thumbnails.
	 *
	 * @since 1.0.0
	 *
	 * @return void
	 */
	function inspiro_blocks_setup() {

		// Make theme available for translation.
		load_theme_textdomain( 'inspiro-blocks', get_template_directory() . '/languages' );

		// Enqueue editor styles and fonts.
		add_editor_style(
			array(
				'./style.css',
			)
		);

		// Remove core block patterns.
		remove_theme_support( 'core-block-patterns' );

        register_nav_menus( array( 'primary' => esc_html__( 'Primary Menu', 'inspiro-blocks' ) ) );

	}
}
add_action( 'after_setup_theme', 'inspiro_blocks_setup' );

// Enqueue style sheet.
add_action( 'wp_enqueue_scripts', 'inspiro_blocks_enqueue_style_sheet' );
function inspiro_blocks_enqueue_style_sheet() {

	wp_enqueue_style( 'inspiro-blocks', get_template_directory_uri() . '/style.css', array(), wp_get_theme()->get( 'Version' ) );

}

/**
 * Register block styles.
 *
 * @since 1.0.0
 */
function inspiro_blocks_register_block_styles() {

	$block_styles = array(
		'core/group'           => array(
			'shadow'       => __( 'Shadow', 'inspiro-blocks' ),
			'border' => __( 'Border', 'inspiro-blocks' ),
			'full-height'  => __( 'Full-height', 'inspiro-blocks' ),
		),
        'core/cover'           => array(
            'round-corners'       => __( 'Rounded', 'inspiro-blocks' ),
        ),
        'core/column'           => array(
            'shadow'       => __( 'Shadow', 'inspiro-blocks' ),
            'border' => __( 'Border', 'inspiro-blocks' ),
            'pull-right'  => __( 'Pull right', 'inspiro-blocks' ),
            'pull-left'  => __( 'Pull left', 'inspiro-blocks' ),
        ),
		'core/image'           => array(
			'shadow' => __( 'Shadow', 'inspiro-blocks' ),
		),
		'core/list'            => array(
			'no-disc' => __( 'No Disc', 'inspiro-blocks' ),
		),
		'core/media-text'      => array(
			'shadow-media' => __( 'Shadow', 'inspiro-blocks' ),
		),
		'core/navigation-link' => array(
			'fill'         => __( 'Fill', 'inspiro-blocks' ),
			'fill-background'    => __( 'Fill Background', 'inspiro-blocks' ),
			'outline'      => __( 'Outline', 'inspiro-blocks' ),
			'outline-background' => __( 'Outline Background', 'inspiro-blocks' ),
		),
	);

	foreach ( $block_styles as $block => $styles ) {
		foreach ( $styles as $style_name => $style_label ) {
			register_block_style(
				$block,
				array(
					'name'  => $style_name,
					'label' => $style_label,
				)
			);
		}
	}
}
add_action( 'init', 'inspiro_blocks_register_block_styles' );

/**
 * Registers block categories, and type.
 *
 * @since 1.0
 */

if ( ! function_exists( 'inspiro_blocks_register_block_pattern_categories' ) ) {

    function inspiro_blocks_register_block_pattern_categories() {

    	/* Functionality specific to the Block Pattern Explorer plugin. */
    	if ( function_exists( 'register_block_pattern_category_type' ) ) {
    		register_block_pattern_category_type( 'inspiro-blocks', array( 'label' => __( 'inspiro-blocks', 'inspiro-blocks' ) ) );
    	}

    	$block_pattern_categories = array(
    		'inspiro-blocks-footer'  => array(
    			'label'         => __( 'Footer', 'inspiro-blocks' ),
    			'categoryTypes' => array( 'inspiro-blocks' ),
    		),
    		'inspiro-blocks-general' => array(
    			'label'         => __( 'Sections', 'inspiro-blocks' ),
    			'categoryTypes' => array( 'inspiro-blocks' ),
    		),
    		'inspiro-blocks-header'  => array(
    			'label'         => __( 'Header', 'inspiro-blocks' ),
    			'categoryTypes' => array( 'inspiro-blocks' ),
    		),
    		'inspiro-blocks-page'    => array(
    			'label'         => __( 'Pages', 'inspiro-blocks' ),
    			'categoryTypes' => array( 'inspiro-blocks' ),
    		),
    		'inspiro-blocks-query'   => array(
    			'label'         => __( 'Blog Posts', 'inspiro-blocks' ),
    			'categoryTypes' => array( 'inspiro-blocks' ),
    		),
    	);

    	foreach ( $block_pattern_categories as $name => $properties ) {
    		register_block_pattern_category( $name, $properties );
    	}
    }
    add_action( 'init', 'inspiro_blocks_register_block_pattern_categories', 9 );

}


/**
* Enqueue theme fonts.
*/
function inspiro_blocks_theme_fonts() {
    $fonts_url = inspiro_blocks_get_fonts_url();

    // Load Fonts if necessary.
    if ( $fonts_url ) {
        require_once get_theme_file_path( 'inc/wptt-webfont-loader.php' );

        wp_enqueue_style( 'inspiro-blocks-theme-fonts', wptt_get_webfont_url( $fonts_url ), array(), wp_get_theme()->get( 'Version' ) );

        add_editor_style( $fonts_url );

    }

}
add_action( 'admin_init', 'inspiro_blocks_theme_fonts', 1 );
add_action( 'wp_enqueue_scripts', 'inspiro_blocks_theme_fonts', 1 );
add_action( 'enqueue_block_editor_assets', 'inspiro_blocks_theme_fonts', 1 );


/**
 * Retrieve webfont URL to load fonts locally.
 */
function inspiro_blocks_get_fonts_url() {
    $font_families = array(
        'Alegreya:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900',
        'Archivo:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900',
        'Bitter:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900',
        'Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700',
        'Crimson+Pro:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600',
        'DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700',
        'Epilogue:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900',
        'Figtree:wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900',
        'IBM+Plex+Mono:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,200;1,300;1,400;1,500;1,600;1,700',
        'IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700',
        'Inter:wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900',
        'Josefin+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700',
        'Jost:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900',
        'Lexend:wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900',
        'Libre+Baskerville:ital,wght@0,400;0,700;1,400',
        'Libre+Franklin:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900',
        'Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700',
        'Manrope:wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800',
        'Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900',
        'Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900',
        'Mulish:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;0,1000;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900;1,1000',
        'Nunito:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;0,1000;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900;1,1000',
        'Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800',
        'Oswald:wght@0,200;0,300;0,400;0,500;0,600;0,700',
        'Outfit:wght@100;200;300;400;500;600;700;800;900',
        'Philosopher:ital,wght@0,400;0,700;1,400;1,700',
        'Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900',
        'Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900',
        'Quicksand:wght@0,300;0,400;0,500;0,600;0,700',
        'Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900',
        'Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900',
        'Roboto+Condensed:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700',
        'Rubik:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900',
        'Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900',
        'Source+Serif+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900',
        'Space+Grotesk:wght@0,300;0,400;0,500;0,600;0,700',
        'Urbanist:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900',
        'Work+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900',
        'Yeseva+One'
    );

    $query_args = array(
        'family'  => implode( '|', $font_families ),
        'subset'  => urlencode( 'latin,latin-ext' ),
        'display' => urlencode( 'swap' ),
    );

    return apply_filters( 'inspiro_blocks_get_fonts_url', add_query_arg( $query_args, 'https://fonts.googleapis.com/css' ) );
}


/**
 * Include the TGM_Plugin_Activation class.
 */
require_once get_template_directory() . '/inc/class-tgm-plugin-activation.php';

add_action( 'tgmpa_register', 'inspiro_blocks_register_required_plugins' );


/**
 * Register the required plugins for this theme.
 *
 * The variable passed to tgmpa_register_plugins() should be an array of plugin
 * arrays.
 *
 * This function is hooked into tgmpa_init, which is fired within the
 * TGM_Plugin_Activation class constructor.
 */
function inspiro_blocks_register_required_plugins() {

    /*
     * Array of plugin arrays. Required keys are name and slug.
     * If the source is NOT from the .org repo, then source is also required.
     */
    $plugins = array(

        // Recommended plugins from the WordPress Plugin Repository.
        array(
            'name'      => 'WPZOOM Portfolio',
            'slug'      => 'wpzoom-portfolio',
            'required'  => false,
        ),

    );

    /*
     * Array of configuration settings. Amend each line as needed.
     *
     * TGMPA will start providing localized text strings soon. If you already have translations of our standard
     * strings available, please help us make TGMPA even better by giving us access to these translations or by
     * sending in a pull-request with .po file(s) with the translations.
     *
     * Only uncomment the strings in the config array if you want to customize the strings.
     */
    $config = array(
        'id'           => 'inspiro-blocks',                 // Unique ID for hashing notices for multiple instances of TGMPA.
        'default_path' => '',                      // Default absolute path to bundled plugins.
        'menu'         => 'tgmpa-install-plugins', // Menu slug.
        'has_notices'  => true,                    // Show admin notices or not.
        'dismissable'  => true,                    // If false, a user cannot dismiss the nag message.
        'dismiss_msg'  => '',                      // If 'dismissable' is false, this message will be output at top of nag.
        'is_automatic' => false,                   // Automatically activate plugins after installation or not.
        'message'      => '',                      // Message to output right before the plugins table.

    );

    tgmpa( $plugins, $config );
}
© 2026 GrazzMean-Shell