HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //proc/thread-self/root/proc/self/cwd/wp-content/themes/ronneby/inc/widgets/widget-facebook.php
<?php
if ( ! defined( 'ABSPATH' ) ) { exit; }
class crum_widget_facebook extends WP_Widget {

	public function __construct() {

		parent::__construct(
				'facebook_widget', // Base ID
				'Widget: Facebook widget', // Name
				array('description' => esc_html__('Facebook Social Network widget', 'dfd'),) // Args
		);
		add_action('admin_enqueue_scripts', array($this, 'dfd_reqister_scripts'));
	}

	public function dfd_reqister_scripts() {
		wp_register_script('dfd-facebook-admin-js', get_template_directory_uri().'/assets/js/widget-facebook-backkend.js', array('jquery'));
	}

	public function form($instance) {

		if (isset($instance['title'])) {
			$title = $instance['title'];
		} else {
			$title = esc_html__('Facebook widget', 'dfd');
		}

		if (isset($instance['width'])) {
			$width = $instance['width'];
		} else {
			$width = 300;
		}
		
		if (isset($instance['height'])) {
			$height = $instance['height'];
		} else {
			$height = 450;
		}

		if (isset($instance['faces'])) {
			$faces = $instance['faces'];
		} else {
			$faces = 'true';
		}

		if (isset($instance['url'])) {
			$url = $instance['url'];
		} else {
			$url = 'platform';
		}

		if (isset($instance['header'])) {
			$header = $instance['header'];
		} else {
			$header = 'false';
		}
		
		if (isset($instance['adapt_width'])) {
			$adapt_width = $instance['adapt_width'];
		} else {
			$adapt_width = 'no';
		}
		if (isset($instance['hide_cover_photo'])) {
			$hide_cover_photo = $instance['hide_cover_photo'];
		} else {
			$hide_cover_photo = 'no';
		}
		
		if (isset($instance['tabs'])) {
			$tabs = $instance['tabs'];
		} else {
			$tabs = esc_html__('timeline', 'dfd');
		}
		
		if (isset($instance['locale_lang'])) {
			$locale_lang = $instance['locale_lang'];
		} else {
			$locale_lang = esc_html__('en_US', 'dfd');
		}
		
		if (isset($instance['mask'])) {
			$mask = $instance['mask'];
		} else {
			$mask = 'true';
		}
		
		if (isset($instance['titleMask'])) {
			$titleMask = $instance['titleMask'];
		} else {
			$titleMask = '';
		}
		
		if (isset($instance['subtitleMask'])) {
			$subtitleMask = $instance['subtitleMask'];
		} else {
			$subtitleMask = '';
		}
		
		if (isset($instance['imageUpload'])) {
			$imageUpload = $instance['imageUpload'];
		} else {
			$imageUpload = '';
		}
		?>

		<p>
			<label for="<?php echo esc_attr($this->get_field_id('title')); ?>"><?php esc_html_e('Title:', 'dfd'); ?></label>
			<input class="widefat" id="<?php echo esc_attr($this->get_field_id('title')); ?>" name="<?php echo esc_attr($this->get_field_name('title')); ?>" type="text" value="<?php echo esc_attr($title); ?>" />
		</p>
		<p>
			<label for="<?php echo esc_attr($this->get_field_id('url')); ?>"><?php esc_html_e('Facebook Name: ( facebook.com/ * Type into field * )', 'dfd'); ?></label>
			<input class="widefat" id="<?php echo esc_attr($this->get_field_id('url')); ?>" name="<?php echo esc_attr($this->get_field_name('url')); ?>" type="text" value="<?php echo esc_attr($url); ?>" />
		</p>
		<p>
			<label for="<?php echo esc_attr($this->get_field_id('width')); ?>"><?php esc_html_e('Width(px):', 'dfd'); ?></label>
			<input class="widefat" id="<?php echo esc_attr($this->get_field_id('width')); ?>" name="<?php echo esc_attr($this->get_field_name('width')); ?>" type="text" value="<?php echo esc_attr($width); ?>" />
		</p>
		<p>
			<label for="<?php echo esc_attr($this->get_field_id('height')); ?>"><?php esc_html_e('Height(px):', 'dfd'); ?></label>
			<input class="widefat" id="<?php echo esc_attr($this->get_field_id('height')); ?>" name="<?php echo esc_attr($this->get_field_name('height')); ?>" type="text" value="<?php echo esc_attr($height); ?>" />
		</p>
		<p>
			<label for="<?php echo esc_attr($this->get_field_id('faces')); ?>"><?php esc_html_e('Show faces:', 'dfd'); ?></label>
			<select id="<?php echo esc_attr($this->get_field_id('faces')); ?>" name="<?php echo esc_attr($this->get_field_name('faces')); ?>"  value="<?php echo esc_attr($faces); ?>" >
				<option value ='true' <?php if (esc_attr($faces) == 'true') echo 'selected'; ?>>Yes</option>
				<option value = 'false' <?php if (esc_attr($faces) == 'false') echo 'selected'; ?>>No</option>
			</select>
		</p>
		<p>
			<label for="<?php echo esc_attr($this->get_field_id('header')); ?>"><?php esc_html_e('Use Small Header:', 'dfd'); ?></label>
			<select id="<?php echo esc_attr($this->get_field_id('header')); ?>" name="<?php echo esc_attr($this->get_field_name('header')); ?>"  value="<?php echo esc_attr($header); ?>" >
				<option value ='true' <?php if (esc_attr($header) == 'true') echo 'selected'; ?>>Yes</option>
				<option value = 'false' <?php if (esc_attr($header) == 'false') echo 'selected'; ?>>No</option>
			</select>
		</p>
		<p>
			<label for="<?php echo esc_attr($this->get_field_id('adapt_width')); ?>"><?php esc_html_e('Adapt width:', 'dfd'); ?></label>
			<select id="<?php echo esc_attr($this->get_field_id('adapt_width')); ?>" name="<?php echo esc_attr($this->get_field_name('adapt_width')); ?>"  value="<?php echo esc_attr($adapt_width); ?>" >
				<option value ='yes' <?php if (esc_attr($adapt_width) == 'yes') echo 'selected'; ?>>Yes</option>
				<option value = 'no' <?php if (esc_attr($adapt_width) == 'no') echo 'selected'; ?>>No</option>
			</select>
		</p>
		<p>
			<label for="<?php echo esc_attr($this->get_field_id('hide_cover_photo')); ?>"><?php esc_html_e('Hide cover photo:', 'dfd'); ?></label>
			<select id="<?php echo esc_attr($this->get_field_id('hide_cover_photo')); ?>" name="<?php echo esc_attr($this->get_field_name('hide_cover_photo')); ?>"  value="<?php echo esc_attr($hide_cover_photo); ?>" >
				<option value ='yes' <?php if (esc_attr($hide_cover_photo) == 'yes') echo 'selected'; ?>>Yes</option>
				<option value = 'no' <?php if (esc_attr($hide_cover_photo) == 'no') echo 'selected'; ?>>No</option>
			</select>
		</p>
		
		<p>
			<label for="<?php echo $this->get_field_id('tabs'); ?>"><?php esc_html_e('Tabs', 'dfd'); ?>:</label>
			<select id="<?php echo $this->get_field_id('tabs'); ?>" name="<?php echo $this->get_field_name('tabs'); ?>" >
				<option value="" <?php if(esc_attr($tabs) == '') echo 'selected'; ?>><?php esc_html_e('Hide Posts', 'dfd'); ?></option>
				<option value="timeline" <?php if(esc_attr($tabs) == 'timeline') echo 'selected'; ?>><?php esc_html_e('Timeline', 'dfd'); ?></option>
				<option value="events" <?php if(esc_attr($tabs) == 'events') echo 'selected'; ?>><?php esc_html_e('Events', 'dfd'); ?></option>
				<option value="messages" <?php if(esc_attr($tabs) == 'messages') echo 'selected'; ?>><?php esc_html_e('Messages', 'dfd'); ?></option>           
			</select>
		</p>
		
		<p>
			<label for="<?php echo esc_attr($this->get_field_id('locale_lang')); ?>"><?php esc_html_e('Language', 'dfd'); ?>:</label>
			<input id="<?php echo esc_attr($this->get_field_id('locale_lang')); ?>" name="<?php echo esc_attr($this->get_field_name('locale_lang')); ?>" type="text" value="<?php echo esc_attr($locale_lang); ?>">
			<small>(en_US, de_DE...)</small>
		</p>
		<p>
			<label for="<?php echo esc_attr($this->get_field_id('mask')); ?>"><?php esc_html_e('Show mask:', 'dfd'); ?></label>
			<select id="<?php echo esc_attr($this->get_field_id('mask')); ?>" name="<?php echo esc_attr($this->get_field_name('mask')); ?>"  value="<?php echo esc_attr($mask); ?>" >
				<option value ='true' <?php if (esc_attr($mask) == 'true') echo 'selected'; ?>>Yes</option>
				<option value = 'false' <?php if (esc_attr($mask) == 'false') echo 'selected'; ?>>No</option>
			</select>
		</p>
		<p>
			<label for="<?php echo esc_attr($this->get_field_id('titleMask')); ?>"><?php esc_html_e('Title on the mask:', 'dfd'); ?></label>
			<input class="widefat" id="<?php echo esc_attr($this->get_field_id('titleMask')); ?>" name="<?php echo esc_attr($this->get_field_name('titleMask')); ?>" type="titleMask" value="<?php echo esc_attr($titleMask); ?>" />
		</p>
		<p>
			<label for="<?php echo esc_attr($this->get_field_id('subtitleMask')); ?>"><?php esc_html_e('Subtitle on the mask:', 'dfd'); ?></label>
			<input class="widefat" id="<?php echo esc_attr($this->get_field_id('subtitleMask')); ?>" name="<?php echo esc_attr($this->get_field_name('subtitleMask')); ?>" type="subtitleMask" value="<?php echo esc_attr($subtitleMask); ?>" />
		</p>
		<p>
			<label for="<?php echo esc_attr($this->get_field_id('imageUpload')); ?>"><?php esc_html_e('Mask image:', 'dfd'); ?></label>
			<img src="<?php echo (substr_count(esc_attr( $imageUpload ), 'http://') > 0) ? esc_url( $imageUpload ) : ''; ?>" alt="<?php esc_attr_e('Image', 'dfd') ?>" class="image_uploaded" style="<?php echo (substr_count(esc_attr( $imageUpload ), 'http://') > 0) ? '' : 'display: none;'; ?> padding: 20px 0; max-width: 100%;" />
			<input id="<?php echo esc_attr($this->get_field_id('imageUpload')); ?>" class="upload_image" type="hidden" name="<?php echo esc_attr($this->get_field_name('imageUpload')); ?>" value="<?php echo esc_url($imageUpload); ?>" /> 
			<input class="upload_image_button button" type="button" value="<?php esc_html_e('Upload Image','dfd'); ?>" />
			<?php if(substr_count(esc_attr( $imageUpload ), 'http://') > 0) : ?>
				<input class="remove_image_button button" type="button" value="<?php esc_html_e('Remove Image','dfd'); ?>" />
			<?php endif; ?>
		</p>

		<?php
	}

	public function update($new_instance, $old_instance) {

		$instance = array();
		$instance['title'] = strip_tags($new_instance['title']);
		$instance['width'] = strip_tags($new_instance['width']);
		$instance['height'] = strip_tags($new_instance['height']);
		$instance['faces'] = strip_tags($new_instance['faces']);
		$instance['url'] = strip_tags($new_instance['url']);
		$instance['header'] = strip_tags($new_instance['header']);
		$instance['adapt_width'] = strip_tags($new_instance['adapt_width']);
		$instance['hide_cover_photo'] = strip_tags($new_instance['hide_cover_photo']);
		$instance['tabs'] = strip_tags($new_instance['tabs']);
		$instance['locale_lang'] = strip_tags($new_instance['locale_lang']);
		$instance['mask'] = strip_tags($new_instance['mask']);
		$instance['titleMask'] = strip_tags($new_instance['titleMask']);
		$instance['subtitleMask'] = strip_tags($new_instance['subtitleMask']);
		$instance['imageUpload'] = esc_url($new_instance['imageUpload']);
		return $instance;
	}

	public function widget($args, $instance) {
		wp_enqueue_script('dfd_facebook_widget_script');
		extract($args);

		$title = apply_filters('widget_title', $instance['title']);
		$width = isset($instance['width']) && !empty($instance['width']) ? $instance['width'] : '';
		$height = isset($instance['height']) && !empty($instance['height']) ? $instance['height'] : '';
		$faces = isset($instance['faces']) && !empty($instance['faces']) ? $instance['faces'] : '';
		$url = isset($instance['url']) && !empty($instance['url']) ? $instance['url'] : '';
		$header = isset($instance['header']) && !empty($instance['header']) ? $instance['header'] : '';
		$adapt_width = isset($instance['adapt_width']) && !empty($instance['adapt_width']) ? $instance['adapt_width'] : '';
		$hide_cover_photo = isset($instance['hide_cover_photo']) && !empty($instance['hide_cover_photo']) ? $instance['hide_cover_photo'] : '';
		$tabs = isset($instance['tabs']) && !empty($instance['tabs']) ? $instance['tabs'] : '';
		$locale_lang = isset($instance['locale_lang']) && !empty($instance['locale_lang']) ? $instance['locale_lang'] : '';
		$mask = isset($instance['mask']) && !empty($instance['mask']) ? $instance['mask'] : '';
		$titleMask = isset($instance['titleMask']) && !empty($instance['titleMask']) ? $instance['titleMask'] : '';
		$subtitleMask = isset($instance['subtitleMask']) && !empty($instance['subtitleMask']) ? $instance['subtitleMask'] : '';
		$imageUpload = isset($instance['imageUpload']) && !empty($instance['imageUpload']) ? $instance['imageUpload'] : '';
		echo wp_kses_post($before_widget);
		if ($title) {
			echo wp_kses_post($before_title . $title . $after_title);
		}
		
		$small_header = $header == 'true' ? 'yes' : 'no';
		$show_faces = $faces == 'true' ? 'yes' : 'no';
		?>
		
		<div class="facebookOuter">
			<?php if (esc_attr($mask) == 'true') : ?>
				<div class="widget-mask text-center background--dark" <?php if(!empty($imageUpload)) : ?> style="background-image: url(<?php echo esc_url($imageUpload) ?>);" <?php endif; ?>>
					<h3 class="title-mask widget-title"><?php echo esc_html($titleMask); ?></h3>
					<div class="subtitle-mask subtitle"><?php echo esc_html($subtitleMask); ?></div>
				</div>
			<?php endif; ?>
			<div class="facebookInner">
				<div class="fb-page ws-fb-like-box fb_loader" data-href="https://www.facebook.com/<?php echo $url; ?>"
					data-tabs="<?php echo $tabs; ?>"
					data-width="<?php echo $width; ?>"
					data-height="<?php echo $height; ?>"
					data-small-header="<?php echo $small_header; ?>"
					data-adapt-container-width="<?php echo $adapt_width; ?>"
					data-hide-cover="<?php echo $hide_cover_photo; ?>"
					data-show-facepile="<?php echo $show_faces; ?>">
				</div>
			</div>
		</div>
		
		<?php
		$html = '<div id="fb-root"></div>
				<script>(function(d, s, id) {
					var js, fjs = d.getElementsByTagName(s)[0];
					if (d.getElementById(id)) return;
						js = d.createElement(s); js.id = id;
						js.src = "//connect.facebook.net/'. $locale_lang .'/sdk.js#xfbml=1&version=v2.6";
						fjs.parentNode.insertBefore(js, fjs);
				}(document, \'script\', \'facebook-jssdk\'));</script>';                 
		echo $html;

		echo wp_kses_post($after_widget);
	}
}