Sh3ll
OdayForums


Server : LiteSpeed
System : Linux premium84.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
User : claqxcrl ( 523)
PHP Version : 8.1.32
Disable Function : NONE
Directory :  /home/claqxcrl/anfangola.com/wp-content/plugins/blockspare/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/claqxcrl/anfangola.com/wp-content/plugins/blockspare/admin/index.php
<?php
/**
 * Welcome screen.
 */

// Exit if accessed directly.
if (!defined('ABSPATH')) {
    exit;
}

if (!class_exists('Blockspare_Admin_Dashboard')) {
    class Blockspare_Admin_Dashboard
    {
        function __construct()
        {
            add_action('admin_menu', array($this, 'add_dashboard_page'));

            add_action('admin_enqueue_scripts', array($this, 'enqueue_dashboard_script'));

            add_action('admin_init', array($this, 'redirect_to_blockspare_page'));
            
            //add_action( 'init', array($this,'blockspare_load_api_files'));		    

		    add_filter( 'plugin_row_meta', [ $this, 'plugin_row_meta' ], 10, 2 );
            
            add_filter( 'plugin_action_links_' . BLOCKSPARE_PLUGIN_BASE, [ $this, 'plugin_action_links' ] );
        }

        public function plugin_action_links( $links ) {
            $settings_link = sprintf( '<a href="%1$s">%2$s</a>', admin_url( 'admin.php?page=blockspare' ), esc_html__( 'Design Library', 'blockspare' ) );
    
            array_unshift( $links, $settings_link );
    
            $links['bspro'] = sprintf( '<a href="%1$s" target="_blank" class="blockspare-pro-link">%2$s</a>', 'https://www.blockspare.com/pricing/', esc_html__( 'Get Blockspare Pro', 'blockspare' ) );
    
            return $links;
        }
	public function plugin_row_meta( $plugin_meta, $plugin_file ) {
		if ( BLOCKSPARE_PLUGIN_BASE === $plugin_file ) {
			$row_meta = [
				'starter' => '<a href="https://www.blockspare.com/starter-templates/" aria-label="' . esc_attr( esc_html__( 'View Blockspare Starter Templates', 'blockspare' ) ) . '" target="_blank">' . esc_html__( 'Demos', 'blockspare' ) . '</a>',
				'docs' => '<a href="https://www.blockspare.com/docs/" aria-label="' . esc_attr( esc_html__( 'View Blockspare Documentation', 'blockspare' ) ) . '" target="_blank">' . esc_html__( 'Docs', 'blockspare' ) . '</a>',
				'video' => '<a href="https://afthemes.com/all-themes-plan/" aria-label="' . esc_attr( esc_html__( 'Access All Themes and Plugins', 'blockspare' ) ) . '" target="_blank">' . esc_html__( 'All Themes & Plugins', 'blockspare' ) . '</a>',
				'support' => '<a href="https://afthemes.com/supports/" aria-label="' . esc_attr( esc_html__( 'Need help for Blockspare?', 'blockspare' ) ) . '" target="_blank">' . esc_html__( 'Need Help?', 'blockspare' ) . '</a>',
			];

			$plugin_meta = array_merge( $plugin_meta, $row_meta );
		}

		return $plugin_meta;
	}

        public function add_dashboard_page()
        {

            // @see images/blockspare-icon.svg
            $svg = <<< SVG
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve">
<g>
	<g>
		<path class="st0" d="M1.6,9.2v21.4l18.3-9.2L20.2,0L1.6,9.2z M16.9,19.8L4.9,26V10.9l12-6.1V19.8z"/>
		<polygon id="XMLID_3_" class="st1" points="19.9,21.4 16.9,23 26,27.7 13.8,33.8 4.9,29 1.6,30.7 13.9,36.9 32.4,27.7 		"/>
	</g>
	<g>
		<polygon id="XMLID_2_" class="st0" points="23,1.5 23,19.8 32.4,24.6 32.4,9.4 35.3,10.9 35.3,29 38.4,30.7 38.4,9.2 29.4,4.8 
			29.2,19.7 26,18.4 26,3.1 		"/>
		<polygon id="XMLID_1_" class="st1" points="17,38.4 19.9,40 38.4,30.7 35.3,29 		"/>
	</g>
</g>
</svg>
SVG;

            add_menu_page(
                __('Blockspare', 'blockspare'), // Page Title.
                __('Blockspare', 'blockspare'), // Menu Title.
                'edit_posts', // Capability.
                'blockspare', // Menu slug.
                array($this, 'blockspare_admin_dashboard'), // Action.
                'data:image/svg+xml;base64,' . base64_encode($svg), // Blockspare icon.
                25
            );

            
            // Our getting started page.
            add_submenu_page(
                'blockspare', // Parent slug.
                __('Design Library', 'blockspare'), // Page title.
                __('Design Library', 'blockspare'), // Menu title.
                'manage_options', // Capability.
                'blockspare', // Menu slug.
                array($this, 'blockspare_admin_dashboard'), // Callback function.
                1 // Position
            );

            add_submenu_page(
                'blockspare', // Parent slug.
                __('My Templates', 'blockspare'), // Page title.
                __('My Templates', 'blockspare'), // Menu title.
                'manage_options', // Capability.
                'edit.php?post_type=bs_templates', // Menu slug.

            );
        }


        public function enqueue_dashboard_script($hook)
        {
            wp_enqueue_style('blockspare-admin', BLOCKSPARE_PLUGIN_URL .'admin/assets/css/style.css','','');
            wp_enqueue_script( 'blockspare_dashboard_js', BLOCKSPARE_PLUGIN_URL. 'dist/block_admin_dashboard.js', array('react', 'react-dom', 'wp-components', 'wp-element', 'wp-api-fetch', 'wp-polyfill'), '1.0' );
            wp_enqueue_style('blockspare-admin-css',BLOCKSPARE_PLUGIN_URL.'dist/style-block_admin_dashboard.css');
            $blockspare_dashboard_logo = BLOCKSPARE_PLUGIN_URL . 'admin/assets/images/blockspare-logo.png';
            wp_localize_script(
                'blockspare_dashboard_js',
                'blockspare_dashboard',
                array(
                    
                    'logo'=>$blockspare_dashboard_logo,
                    "imagePath"=> "https://templatespare.com/wp-content/uploads/blockspare-demo-data/blocks/",
                    "static_img"=>BLOCKSPARE_PLUGIN_URL,
                    'newPageUrl'=>admin_url('post-new.php?post_type=page&blockspare_create_block'),
                    'adminPath'=>admin_url('post-new.php?post_type=page&blockspare_show_intro=true'),
                    'pluginVesion'=>BLOCKSPARE_VERSION
                    
                    
                )
            );
        }

        public function blockspare_admin_dashboard()
        {
            ?>
            <div id="bs-dashboard"></div> 
            
            <?php
        }

        /**
         * Adds a marker to remember to redirect after activation.
         * Redirecting right away will not work.
         */
        public static function start_redirect_to_blockspare_page()
        {
            update_option('blockspare_redirect_to_welcome', '1');
        }

        /**
         * Redirect to the welcome screen if our marker exists.
         */
        public function redirect_to_blockspare_page()
        {
            if (get_option('blockspare_redirect_to_welcome')) {
                delete_option('blockspare_redirect_to_welcome');
                wp_redirect(esc_url(admin_url('admin.php?page=blockspare')));
                die();
            }
        }
       
        
        
    }

    new Blockspare_Admin_Dashboard();
}

// Redirect to the welcome screen.
register_activation_hook(BLOCKSPARE_BASE_FILE, array('Blockspare_Admin_Dashboard', 'start_redirect_to_blockspare_page'));

ZeroDay Forums Mini