: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
$dimension = "width: " . esc_attr($settings['embedpress_elementor_document_width']['size']) . "px; height: " . esc_attr($settings['embedpress_elementor_document_height']['size']) . "px";
$content_locked_class = '';
if (!empty($settings['embedpress_doc_lock_content']) && !empty($settings['embedpress_doc_lock_content_password'])) {
$content_locked_class = 'ep-content-locked';
$this->add_render_attribute('embedpres-pdf-render', [
'class' => ['embedpress-embed-document-pdf', $id],
'data-emid' => esc_attr($id)
Helper::get_source_data(md5($this->get_id()) . '_eb_elementor', $url, 'elementor_source_data', 'elementor_temp_source_data');
$this->add_render_attribute('embedpress-document', [
'class' => ['embedpress-document-embed', 'ep-doc-' . md5($id), 'ose-document', $content_locked_class]
$embed_settings['customThumbnail'] = !empty($settings['embedpress_doc_content_share_custom_thumbnail']['url']) ? esc_url($settings['embedpress_doc_content_share_custom_thumbnail']['url']) : '';
$embed_settings['customTitle'] = !empty($settings['embedpress_doc_content_title']) ? sanitize_text_field($settings['embedpress_doc_content_title']) : sanitize_text_field(Helper::get_file_title($url));
$embed_settings['customDescription'] = !empty($settings['embedpress_doc_content_descripiton']) ? sanitize_text_field($settings['embedpress_doc_content_descripiton']) : sanitize_text_field(Helper::get_file_title($url));
$embed_settings['sharePosition'] = !empty($settings['embedpress_doc_content_share_position']) ? esc_attr($settings['embedpress_doc_content_share_position']) : 'right';
$embed_settings['lockHeading'] = !empty($settings['embedpress_doc_lock_content_heading']) ? sanitize_text_field($settings['embedpress_doc_lock_content_heading']) : '';
$embed_settings['lockSubHeading'] = !empty($settings['embedpress_doc_lock_content_sub_heading']) ? sanitize_text_field($settings['embedpress_doc_lock_content_sub_heading']) : '';
$embed_settings['lockErrorMessage'] = !empty($settings['embedpress_doc_lock_content_error_message']) ? sanitize_text_field($settings['embedpress_doc_lock_content_error_message']) : '';
$embed_settings['passwordPlaceholder'] = !empty($settings['embedpress_doc_password_placeholder']) ? esc_attr($settings['embedpress_doc_password_placeholder']) : '';
$embed_settings['submitButtonText'] = !empty($settings['embedpress_doc_submit_button_text']) ? sanitize_text_field($settings['embedpress_doc_submit_button_text']) : '';
$embed_settings['submitUnlockingText'] = !empty($settings['embedpress_doc_submit_Unlocking_text']) ? sanitize_text_field($settings['embedpress_doc_submit_Unlocking_text']) : '';
$embed_settings['enableFooterMessage'] = !empty($settings['embedpress_doc_enable_footer_message']) ? esc_attr($settings['embedpress_doc_enable_footer_message']) : '';
$embed_settings['footerMessage'] = !empty($settings['embedpress_doc_lock_content_footer_message']) ? sanitize_text_field($settings['embedpress_doc_lock_content_footer_message']) : '';
$content_share_class = '';
$share_position_class = '';
$share_position = isset($settings['embedpress_doc_content_share_position']) ? esc_attr($settings['embedpress_doc_content_share_position']) : 'right';
if (!empty($settings['embedpress_doc_content_share'])) {
$content_share_class = 'ep-content-share-enabled';
$share_position_class = 'ep-share-position-' . $share_position;
$password_correct = isset($_COOKIE['password_correct_' . $client_id]) ? sanitize_text_field($_COOKIE['password_correct_' . $client_id]) : '';
$content_protection_class = 'ep-content-protection-enabled';
if (empty($settings['embedpress_doc_lock_content']) || empty($settings['embedpress_doc_lock_content_password']) || $hash_pass === $password_correct) {
$content_protection_class = 'ep-content-protection-disabled';
if (!empty($settings['adManager'])) {
$ad = base64_encode(json_encode($settings)); // Using WordPress JSON encoding function
$adsAtts = 'data-sponsored-id="' . esc_attr($client_id) . '" data-sponsored-attrs="' . esc_attr($ad) . '" class="ad-mask"';
<div <?php echo $this->get_render_attribute_string('embedpress-document'); ?> style="<?php echo esc_attr($dimension); ?>; max-width:100%; display: inline-block">
do_action('embedpress_document_after_embed', $settings, $url, $id, $this);
if ($this->is_pdf($url)) {
$this->add_render_attribute('embedpres-pdf-render', 'data-emsrc', esc_url($url));
$embed_content = '<div ' . $this->get_render_attribute_string('embedpres-pdf-render') . '>';
$embed_content .= '<iframe title="' . esc_attr(Helper::get_file_title($url)) . '" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" style="' . esc_attr($dimension) . '; max-width:100%;" src="' . esc_url($url) . '"></iframe>';
if ($settings['embedpress_document_powered_by'] === 'yes') {
$embed_content .= sprintf('<p class="embedpress-el-powered">%s</p>', esc_html__('Powered By EmbedPress', 'embedpress'));
$embed_content .= '</div>';
if (Plugin::$instance->editor->is_edit_mode()) {
$embed_content .= $this->render_editor_script($id, $url);
if (Helper::is_file_url($url)) {
$view_link = '//view.officeapps.live.com/op/embed.aspx?src=' . urlencode($url) . '&embedded=true';
$view_link = 'https://drive.google.com/viewerng/viewer?url=' . urlencode($url) . '&embedded=true&chrome=false';
if($settings['embedpress_document_viewer'] === 'custom')
if (Helper::is_file_url($url)) {
$view_link = '//view.officeapps.live.com/op/embed.aspx?src=' . urlencode($url) . '&embedded=true';
$view_link = 'https://drive.google.com/viewerng/viewer?url=' . urlencode($url) . '&embedded=true&chrome=false';
elseif($settings['embedpress_document_viewer'] === 'office')
$view_link = '//view.officeapps.live.com/op/embed.aspx?src=' . urlencode($url) . '&embedded=true';
elseif($settings['embedpress_document_viewer'] === 'google')
$view_link = '//docs.google.com/gview?embedded=true&url=' . urlencode($url);
$hostname = parse_url($url, PHP_URL_HOST);
$domain = implode(".", array_slice(explode(".", $hostname), -2));
if ($domain == "google.com") {
$view_link = $url . '?embedded=true';
if (strpos($view_link, '/presentation/')) {
$view_link = Helper::get_google_presentation_url($url);
$embed_content = '<div ' . $this->get_render_attribute_string('embedpres-pdf-render') . '>';
if ($settings['embedpress_document_powered_by'] === 'yes') {
$is_powered_by = 'ep-powered-by-enabled';
$is_download_enabled = ' enabled-file-download';
if ($settings['doc_print_download'] !== 'yes') {
$is_download_enabled = '';
$file_extenstion = 'link';
if (!empty(Helper::is_file_url($url))) {
$file_extenstion = Helper::get_extension_from_file_url($url);
if($settings['embedpress_document_viewer'] === 'custom')
$is_masked = 'ep-file-download-option-masked ';
if ($settings['embedpress_theme_mode'] == 'custom') {
$custom_color = sanitize_text_field($settings['embedpress_doc_custom_color']);
$is_custom_theme = 'data-custom-color="'.esc_attr($custom_color).'"';
$embed_content .= '<div class="'.esc_attr( $is_masked ).'ep-file-' . esc_attr($file_extenstion) . ' ' . $is_powered_by . '' . $is_download_enabled . '" data-theme-mode="' . esc_attr($settings['embedpress_theme_mode']) . '"' . $is_custom_theme . ' data-id="' . esc_attr($this->get_id()) . '">';
if ($settings['doc_print_download'] === 'yes') {
$sandbox = 'sandbox="allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-presentation allow-same-origin allow-scripts allow-top-navigation allow-top-navigation-by-user-activation"';
$embed_content .= '<iframe title="' . esc_attr(Helper::get_file_title($url)) . '" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" style="' . esc_attr($dimension) . '; max-width:100%;" src="' . esc_url($view_link) . '" ' . $sandbox . '>
if ($settings['embedpress_document_viewer'] === 'custom' && $settings['doc_print_download'] === 'yes' && (Helper::get_extension_from_file_url($url) === 'pptx' || Helper::get_extension_from_file_url($url) === 'ppt' || Helper::get_extension_from_file_url($url) === 'xls' || Helper::get_extension_from_file_url($url) === 'xlsx')) {
$embed_content .= '<div class="embed-download-disabled"></div>';
if ($settings['doc_draw'] === 'yes') {
$embed_content .= '<canvas class="ep-doc-canvas" width="' . esc_attr($settings['embedpress_elementor_document_width']['size']) . '" height="' . esc_attr($settings['embedpress_elementor_document_height']['size']) . '" ></canvas>';
if ($settings['doc_print_download'] === 'yes' && Helper::get_extension_from_file_url($url) !== 'pptx') {
$embed_content .= '<div style="width: 40px; height: 40px; position: absolute; opacity: 0; right: 12px; top: 12px;"></div>';
if (!empty($settings['doc_toolbar']) && $settings['embedpress_document_viewer'] === 'custom') {
$embed_content .= '<div class="ep-external-doc-icons">';
if (empty(Helper::is_file_url($url))) {
$embed_content .= Helper::ep_get_popup_icon();
if (!empty(Helper::is_file_url($url))) {
if (!empty($settings['doc_print_download'])) {
$embed_content .= Helper::ep_get_print_icon();
$embed_content .= Helper::ep_get_download_icon();
if (!empty($settings['doc_draw'])) {
$embed_content .= Helper::ep_get_draw_icon();
if (!empty($settings['doc_fullscreen_mode'])) {
$embed_content .= Helper::ep_get_fullscreen_icon();
$embed_content .= Helper::ep_get_minimize_icon();
$embed_content .= '</div>';
$embed_content .= '</div>';
if ($settings['embedpress_document_powered_by'] === 'yes') {
$embed_content .= '<div>';
$embed_content .= sprintf('<p class="embedpress-el-powered">%s</p>', esc_html__('Powered By EmbedPress', 'embedpress'));
$embed_content .= '</div>';
$embed_content .= '</div>';
<div <?php echo $adsAtts; ?>>
<div id="ep-elementor-content-<?php echo esc_attr($client_id) ?>" class="ep-elementor-content <?php if (!empty($settings['embedpress_doc_content_share'])) : echo esc_attr('position-' . $settings['embedpress_doc_content_share_position'] . '-wraper'); endif; ?> <?php echo esc_attr($content_share_class . ' ' . $share_position_class . ' ' . $content_protection_class); ?>">
<div id="<?php echo esc_attr($this->get_id()); ?>" class="ep-embed-content-wraper">
$content_id = $client_id;
if ((empty($settings['embedpress_doc_lock_content']) || $settings['embedpress_doc_lock_content'] == 'no' || empty($settings['embedpress_doc_lock_content_password'])) || (!empty(Helper::is_password_correct($client_id)) && ($hash_pass === $_COOKIE['password_correct_' . $client_id]))) {
if (!empty($settings['embedpress_doc_content_share'])) {
$embed_content .= Helper::embed_content_share($content_id, $embed_settings);
if (!empty($embed_content)) {
if (!empty($settings['embedpress_doc_content_share'])) {
$embed_content .= Helper::embed_content_share($content_id, $embed_settings);
Helper::display_password_form($client_id, $embed_content, $pass_hash_key, $embed_settings);
if (!empty($settings['adManager'])) {
$embed_content .= Helper::generateAdTemplate($client_id, $settings, 'elementor');
private function get_file_url()
$settings = $this->get_settings();
$file_url = $settings['embedpress_document_type'] === 'url' ? esc_url($settings['embedpress_document_file_link']['url']) : esc_url($settings['embedpress_document_Uploader']['url']);
protected function render_editor_script( $id, $url )
$(document).ready(function () {
var selector = $('.embedpress-embed-document-pdf');
PDFObject.embed("<?php echo $url; ?>", "<?php echo '.' . $id; ?>", option);