: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
$src = $renderer . ((strpos($renderer, '?') == false) ? '?' : '&') . 'file=' . urlencode($attributes['href']) . getParamData($attributes);
$pass_hash_key = isset($attributes['contentPassword']) ? md5($attributes['contentPassword']) : '';
'left' => 'ep-alignleft',
'right' => 'ep-alignright',
'center' => 'ep-aligncenter',
'wide' => 'ep-alignwide',
$alignment = isset($attributes['align']) && isset($aligns[$attributes['align']]) ? $aligns[$attributes['align']] : '';
$dimension = "width:$width;height:$height";
$url = !empty($attributes['href']) ? $attributes['href'] : '';
$embed_code = '<iframe title="' . esc_attr(Helper::get_file_title($attributes['href'])) . '" class="embedpress-embed-document-pdf ' . esc_attr($id) . '" style="' . esc_attr($dimension) . '; max-width:100%; display: inline-block" src="' . esc_url($src) . '" frameborder="0" oncontextmenu="return false;"></iframe> ';
if(isset($attributes['viewerStyle']) && $attributes['viewerStyle'] === 'flip-book') {
$src = urlencode($url).getParamData($attributes);
$embed_code = '<iframe title="' . esc_attr(Helper::get_file_title($attributes['href'])) . '" class="embedpress-embed-document-pdf ' . esc_attr($id) . '" style="' . esc_attr($dimension) . '; max-width:100%; display: inline-block" src="'.esc_url(EMBEDPRESS_URL_ASSETS . 'pdf-flip-book/viewer.html?file='.$src).'" frameborder="0" oncontextmenu="return false;"></iframe> ';
$embed_code .= sprintf('<p class="embedpress-el-powered">%s</p>', __('Powered By EmbedPress', 'embedpress'));
if (!empty($attributes['adManager'])) {
$ad = base64_encode(json_encode($attributes));
$adsAtts = "data-sponsored-id=$client_id data-sponsored-attrs=$ad class=ad-mask";
<div id="ep-gutenberg-content-<?php echo esc_attr($client_id) ?>" class="ep-gutenberg-content <?php echo esc_attr($alignment . ' ' . $width_class . ' ' . $content_share_class . ' ' . $share_position_class . ' ' . $content_protection_class); ?> ">
<div class="embedpress-inner-iframe <?php if ($unitoption === '%') {
echo esc_attr('emebedpress-unit-percent');
} ?> ep-doc-<?php echo esc_attr($client_id); ?>" <?php if ($unitoption === '%' && !empty($attributes['width'])) {
$style_attr = 'max-width:' . $attributes['width'] . '%';
$style_attr = 'max-width:100%';
} ?> style="<?php echo esc_attr($style_attr); ?>" id="<?php echo esc_attr($id); ?>">
<div <?php echo esc_attr($adsAtts); ?>>
do_action('embedpress_pdf_gutenberg_after_embed', $client_id, 'pdf', $attributes, $pdf_url);
if (empty($attributes['lockContent']) || empty($attributes['contentPassword']) || (!empty(Helper::is_password_correct($client_id)) && ($hash_pass === $password_correct))) {
$custom_thumbnail = isset($attributes['customThumbnail']) ? $attributes['customThumbnail'] : '';
echo '<div class="ep-embed-content-wraper">';
$embed = '<div class="position-' . esc_attr($share_position) . '-wraper gutenberg-pdf-wraper">';
if (!empty($attributes['contentShare'])) {
$content_id = $attributes['id'];
$embed .= Helper::embed_content_share($content_id, $attributes);
if (!empty($attributes['contentShare'])) {
$content_id = $attributes['clientId'];
$embed = '<div class="position-' . esc_attr($share_position) . '-wraper gutenberg-pdf-wraper">';
$embed .= Helper::embed_content_share($content_id, $attributes);
echo '<div class="ep-embed-content-wraper">';
Helper::display_password_form($client_id, $embed, $pass_hash_key, $attributes);
if(!empty($attributes['adManager'])) {
$embed .= Helper::generateAdTemplate($client_id, $attributes, 'gutenberg');
function isGoogleCalendar($url) {
$pattern = '/^https:\/\/calendar\.google\.com\/calendar\/embed\?.*$/';
return preg_match($pattern, $url);
function embedpress_calendar_render_block($attributes)
$id = !empty($attributes['id']) ? $attributes['id'] : 'embedpress-calendar-' . rand(100, 10000);
$url = !empty($attributes['url']) ? $attributes['url'] : '';
if(!isGoogleCalendar($url))
$is_private = isset($attributes['is_public']);
$width = !empty($attributes['width']) ? $attributes['width'] . 'px' : '600px';
$height = !empty($attributes['height']) ? $attributes['height'] . 'px' : '600px';
$gen_settings = get_option(EMBEDPRESS_PLG_NAME);
$powered_by = isset($gen_settings['embedpress_document_powered_by']) && 'yes' === $gen_settings['embedpress_document_powered_by'];
if (isset($attributes['powered_by'])) {
$powered_by = $attributes['powered_by'];
$alignment = isset($attributes['align']) && isset($aligns[$attributes['align']]) ? $aligns[$attributes['align']] : '';
$dimension = "width:$width;height:$height";
<div class="embedpress-calendar-gutenberg embedpress-calendar ose-calendar <?php echo esc_attr($alignment) ?>" style="<?php echo esc_attr($dimension); ?>; max-width:100%;">
if (!empty($url) && !$is_private) {
<iframe title="<?php echo esc_attr(Helper::get_file_title($url)); ?>" style="<?php echo esc_attr($dimension); ?>; max-width:100%; display: inline-block" src="<?php echo esc_url($url); ?>"></iframe>
if (is_embedpress_pro_active()) {
echo Embedpress_Google_Helper::shortcode();
<?php do_action('embedpress_calendar_gutenberg_after_embed', $client_id, 'calendar', $attributes); ?>
printf('<p class="embedpress-el-powered" style="width:' . esc_attr($width) . '" >%s</p>', __('Powered By EmbedPress', 'embedpress'));
function embedpress_document_block_scripts() {
if (!is_admin() && has_block('embedpress/document')) {
'embedpress_documents_viewer_script'
foreach ($script_handles as $handle) {
wp_enqueue_script($handle);
'embedpress_blocks-cgb-style-css',
foreach ($style_handles as $handle) {
wp_enqueue_style($handle);
add_action('wp_enqueue_scripts', 'embedpress_document_block_scripts');