Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/content-.../inc
File: class-ps-block-editor.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace passster;
[2] Fix | Delete
[3] Fix | Delete
class PS_Block_Editor
[4] Fix | Delete
{
[5] Fix | Delete
/**
[6] Fix | Delete
* Contains instance or null
[7] Fix | Delete
*
[8] Fix | Delete
* @var object|null
[9] Fix | Delete
*/
[10] Fix | Delete
private static $instance = null ;
[11] Fix | Delete
/**
[12] Fix | Delete
* Returns instance of PS_Block_Editor.
[13] Fix | Delete
*
[14] Fix | Delete
* @return object
[15] Fix | Delete
*/
[16] Fix | Delete
public static function get_instance()
[17] Fix | Delete
{
[18] Fix | Delete
if ( null === self::$instance ) {
[19] Fix | Delete
self::$instance = new self();
[20] Fix | Delete
}
[21] Fix | Delete
return self::$instance;
[22] Fix | Delete
}
[23] Fix | Delete
[24] Fix | Delete
/**
[25] Fix | Delete
* Constructor for PS_Block_Editor
[26] Fix | Delete
*/
[27] Fix | Delete
public function __construct()
[28] Fix | Delete
{
[29] Fix | Delete
add_action( 'wp_enqueue_scripts', array( $this, 'register_block_scripts' ) );
[30] Fix | Delete
add_action( 'enqueue_block_editor_assets', array( $this, 'add_block_editor_assets' ) );
[31] Fix | Delete
add_action( 'init', array( $this, 'register_area_block' ) );
[32] Fix | Delete
}
[33] Fix | Delete
[34] Fix | Delete
/**
[35] Fix | Delete
* Enqueue scripts for blocks.
[36] Fix | Delete
*
[37] Fix | Delete
* @return void
[38] Fix | Delete
*/
[39] Fix | Delete
public function register_block_scripts()
[40] Fix | Delete
{
[41] Fix | Delete
$area_asset_file = (include PASSSTER_PATH . '/build/area/index.asset.php');
[42] Fix | Delete
wp_register_script(
[43] Fix | Delete
'area-script',
[44] Fix | Delete
PASSSTER_URL . '/build/area/index.js',
[45] Fix | Delete
$area_asset_file['dependencies'],
[46] Fix | Delete
$area_asset_file['version']
[47] Fix | Delete
);
[48] Fix | Delete
}
[49] Fix | Delete
[50] Fix | Delete
/**
[51] Fix | Delete
* Add block editor scripts and styles.
[52] Fix | Delete
*
[53] Fix | Delete
* @return void
[54] Fix | Delete
*/
[55] Fix | Delete
public function add_block_editor_assets()
[56] Fix | Delete
{
[57] Fix | Delete
$area_asset_file = (include PASSSTER_PATH . '/build/area/index.asset.php');
[58] Fix | Delete
wp_enqueue_script(
[59] Fix | Delete
'area-script',
[60] Fix | Delete
PASSSTER_URL . '/build/area/index.js',
[61] Fix | Delete
$area_asset_file['dependencies'],
[62] Fix | Delete
$area_asset_file['version']
[63] Fix | Delete
);
[64] Fix | Delete
wp_localize_script( 'area-script', 'area_data', array(
[65] Fix | Delete
'is_pro' => \passster_fs()->is_plan_or_trial__premium_only( 'pro' ),
[66] Fix | Delete
'create_area_url' => admin_url( 'post-new.php?post_type=protected_areas' ),
[67] Fix | Delete
'options' => get_option( 'passster' ),
[68] Fix | Delete
) );
[69] Fix | Delete
wp_enqueue_style( 'area-style', PASSSTER_URL . '/build/area/index.css' );
[70] Fix | Delete
// Make the blocks translatable.
[71] Fix | Delete
if ( function_exists( 'wp_set_script_translations' ) ) {
[72] Fix | Delete
wp_set_script_translations( 'area-script', 'content-protector', PASSSTER_PATH . '/languages' );
[73] Fix | Delete
}
[74] Fix | Delete
}
[75] Fix | Delete
[76] Fix | Delete
/**
[77] Fix | Delete
* Register area block in WordPress.
[78] Fix | Delete
*
[79] Fix | Delete
* @return void
[80] Fix | Delete
*/
[81] Fix | Delete
public function register_area_block()
[82] Fix | Delete
{
[83] Fix | Delete
$options = get_option( 'passster' );
[84] Fix | Delete
$settings = array(
[85] Fix | Delete
'render_callback' => array( $this, 'render_area_block' ),
[86] Fix | Delete
'attributes' => array(
[87] Fix | Delete
'area_id' => array(
[88] Fix | Delete
'type' => 'string',
[89] Fix | Delete
'default' => 0,
[90] Fix | Delete
),
[91] Fix | Delete
'headline' => array(
[92] Fix | Delete
'type' => 'string',
[93] Fix | Delete
'default' => esc_html( $options['headline'] ),
[94] Fix | Delete
),
[95] Fix | Delete
'instruction' => array(
[96] Fix | Delete
'type' => 'string',
[97] Fix | Delete
'default' => wp_kses_post( $options['instruction'] ),
[98] Fix | Delete
),
[99] Fix | Delete
'buttonLabel' => array(
[100] Fix | Delete
'type' => 'string',
[101] Fix | Delete
'default' => esc_html( $options['button_label'] ),
[102] Fix | Delete
),
[103] Fix | Delete
'placeholder' => array(
[104] Fix | Delete
'type' => 'string',
[105] Fix | Delete
'default' => esc_html( $options['placeholder'] ),
[106] Fix | Delete
),
[107] Fix | Delete
),
[108] Fix | Delete
);
[109] Fix | Delete
register_block_type( 'content-protector/area', array_merge( array(
[110] Fix | Delete
'editor_script' => 'area-script',
[111] Fix | Delete
'editor_style' => 'area-style',
[112] Fix | Delete
), $settings ) );
[113] Fix | Delete
}
[114] Fix | Delete
[115] Fix | Delete
/**
[116] Fix | Delete
* Returns the shortcode for an area based on block attributes.
[117] Fix | Delete
*
[118] Fix | Delete
* @param array $attributes the list attributes from the block.
[119] Fix | Delete
*
[120] Fix | Delete
* @return string
[121] Fix | Delete
*/
[122] Fix | Delete
public function render_area_block( array $attributes )
[123] Fix | Delete
{
[124] Fix | Delete
$area_id = esc_attr( $attributes['area_id'] );
[125] Fix | Delete
$area = get_post( $area_id );
[126] Fix | Delete
if ( !$area ) {
[127] Fix | Delete
return '';
[128] Fix | Delete
}
[129] Fix | Delete
// Build dynamic shortcode.
[130] Fix | Delete
$content = $area->post_content;
[131] Fix | Delete
$shortcode = '';
[132] Fix | Delete
// texts.
[133] Fix | Delete
$headline = esc_attr( $attributes['headline'] );
[134] Fix | Delete
$instruction = wp_kses_post( $attributes['instruction'] );
[135] Fix | Delete
$button = esc_attr( $attributes['buttonLabel'] );
[136] Fix | Delete
$placeholder = esc_attr( $attributes['placeholder'] );
[137] Fix | Delete
$id = get_post_meta( $area_id, 'passster_id', true );
[138] Fix | Delete
// Redirection.
[139] Fix | Delete
$redirection = get_post_meta( $area_id, 'passster_redirect_url', true );
[140] Fix | Delete
$atts = array();
[141] Fix | Delete
$password = get_post_meta( $area_id, 'passster_password', true );
[142] Fix | Delete
$atts['password'] = $password;
[143] Fix | Delete
$shortcode = '[passster password="' . $password . '" area="' . $area_id . '" ';
[144] Fix | Delete
// Building the actual shortcode.
[145] Fix | Delete
if ( !empty($redirection) ) {
[146] Fix | Delete
$shortcode .= 'redirect="' . $redirection . '" ';
[147] Fix | Delete
}
[148] Fix | Delete
if ( !empty($headline) ) {
[149] Fix | Delete
$shortcode .= 'headline="' . $headline . '" ';
[150] Fix | Delete
}
[151] Fix | Delete
if ( !empty($instruction) ) {
[152] Fix | Delete
$shortcode .= 'instruction="' . $instruction . '" ';
[153] Fix | Delete
}
[154] Fix | Delete
if ( !empty($placeholder) ) {
[155] Fix | Delete
$shortcode .= 'placeholder="' . $placeholder . '" ';
[156] Fix | Delete
}
[157] Fix | Delete
if ( !empty($button) ) {
[158] Fix | Delete
$shortcode .= 'button="' . $button . '" ';
[159] Fix | Delete
}
[160] Fix | Delete
if ( !empty($id) ) {
[161] Fix | Delete
$shortcode .= 'id="' . $id . '" ';
[162] Fix | Delete
}
[163] Fix | Delete
$shortcode = rtrim( $shortcode );
[164] Fix | Delete
$shortcode .= ']';
[165] Fix | Delete
// check if valid before restrict anything.
[166] Fix | Delete
$valid = PS_Conditional::is_valid( $atts );
[167] Fix | Delete
if ( $valid ) {
[168] Fix | Delete
return $content;
[169] Fix | Delete
}
[170] Fix | Delete
return do_shortcode( $shortcode );
[171] Fix | Delete
}
[172] Fix | Delete
[173] Fix | Delete
}
[174] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function