| Server IP : 172.67.134.116 / Your IP : 216.73.217.54 Web Server : Apache System : Linux server.rehabsharif.com 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64 User : nobi37te ( 1003) PHP Version : 8.2.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/nobi37te/public_html/wp-content/plugins/presto-player/inc/Blocks/ |
Upload File : |
<?php
/**
* Self Hosted Block.
*
* @package PrestoPlayer\Blocks
*/
namespace PrestoPlayer\Blocks;
use PrestoPlayer\Attachment;
use PrestoPlayer\Support\Block;
use PrestoPlayer\Models\CurrentUser;
/**
* Self Hosted Block.
*/
class SelfHostedBlock extends Block {
/**
* Block name
*
* @var string
*/
protected $name = 'self-hosted';
/**
* Register the block type.
*
* @return void
*/
public function registerBlockType() {
register_block_type(
PRESTO_PLAYER_PLUGIN_DIR . 'src/admin/blocks/blocks/hosted',
array(
'render_callback' => array( $this, 'html' ),
)
);
}
/**
* Bail if user cannot access video.
*
* @param array $attributes Block attributes.
* @param string $content Block content.
* @return bool
*/
public function middleware( $attributes, $content ) {
// If private and user cannot access video, don't load.
if ( ! empty( $attributes['visibility'] ) && 'private' === $attributes['visibility'] ) {
if ( ! CurrentUser::canAccessVideo( $attributes['id'] ) ) {
return false;
}
}
return parent::middleware( $attributes, $content );
}
/**
* Add src to video.
*
* @param array $attributes Block attributes.
* @param array $default_config Default config.
* @return array
*/
public function sanitizeAttributes( $attributes, $default_config ) {
$src = ! empty( $attributes['src'] ) ? $attributes['src'] : '';
if ( ! empty( $this->isHls( $src ) ) ) {
wp_enqueue_script( 'hls.js' );
}
return array(
'src' => ! empty( $attributes['attachment_id'] ) ? Attachment::getSrc( $attributes['attachment_id'] ) : $src,
);
}
/**
* Override attributes.
*
* @param array $attributes Block attributes.
* @return array
*/
public function overrideAttributes( $attributes ) {
$load = $this->middleware( $attributes, '' );
if ( ! $load ) {
return array();
}
return $attributes;
}
}