MP_Addon_Chats_Widget

Class MP_Addon_Chats_Widget.


Source Source

File: calculator-chats-add-on/inc/MP_Addon_Chats_Widget.php

class MP_Addon_Chats_Widget {

	/**
	 * WhatsApp tooltip.
	 *
	 * @var string|void
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $whatsapp_tooltip;

	/**
	 * Facebook tooltip.
	 *
	 * @var string|void
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $facebook_tooltip;

	/**
	 * Viber tooltip.
	 *
	 * @var string|void
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $viber_tooltip;

	/**
	 * Skype tooltip.
	 *
	 * @var string|void
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $skype_tooltip;

	/**
	 * Telegram tooltip.
	 *
	 * @var string|void
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $telegram_tooltip;


	/**
	 * WhatsApp icon.
	 *
	 * @var string
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $whatsapp_icon;

	/**
	 * Facebook icon.
	 *
	 * @var string
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $facebook_icon;

	/**
	 * Viber icon.
	 *
	 * @var string
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $viber_icon;

	/**
	 * Skype icon.
	 *
	 * @var string
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $skype_icon;


	/**
	 * Chats icon.
	 *
	 * @var string
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $chat_icon;


	/**
	 * Call icon.
	 *
	 * @var string
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $call_icon;


	/**
	 * Videocall icon.
	 *
	 * @var string
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $videocall_icon;


	/**
	 * Telegram icon.
	 *
	 * @var string
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $telegram_icon;


	/**
	 * Style settings.
	 *
	 * @var array style settings
	 *
	 * @since 1.0.0
	 * @access private
	 */
	private $style;



	/**
	 * Widget constructor.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function __construct() {

		$this->whatsapp_tooltip = $this->is_not_empty( get_option( MortgagePlatform::$prefix . 'contact' )['whatsapp_tooltip'], __( 'Connect via WhatsApp', 'CalculatorChatsAddon' ) );
		$this->facebook_tooltip = $this->is_not_empty( get_option( MortgagePlatform::$prefix . 'contact' )['facebook_tooltip'], __( 'Connect via Messenger', 'CalculatorChatsAddon' ) );
		$this->viber_tooltip    = $this->is_not_empty( get_option( MortgagePlatform::$prefix . 'contact' )['viber_tooltip'], __( 'Connect via Viber', 'CalculatorChatsAddon' ) );
		$this->skype_tooltip    = $this->is_not_empty( get_option( MortgagePlatform::$prefix . 'contact' )['skype_tooltip'], __( 'Connect via Skype', 'CalculatorChatsAddon' ) );
		$this->telegram_tooltip = $this->is_not_empty( get_option( MortgagePlatform::$prefix . 'contact' )['telegram_tooltip'], __( 'Connect via Telegram', 'CalculatorChatsAddon' ) );

		$this->style = get_option( MortgagePlatform::$prefix . 'contact' )['style_widget'];

		$this->whatsapp_icon  = plugins_url( '../assets/img/whatsapp.svg', __FILE__ );
		$this->facebook_icon  = plugins_url( '../assets/img/messenger.svg', __FILE__ );
		$this->viber_icon     = plugins_url( '../assets/img/viber.svg', __FILE__ );
		$this->skype_icon     = plugins_url( '../assets/img/skype.svg', __FILE__ );
		$this->chat_icon      = plugins_url( '../assets/img/chat.svg', __FILE__ );
		$this->call_icon      = plugins_url( '../assets/img/call.svg', __FILE__ );
		$this->videocall_icon = plugins_url( '../assets/img/videocall.svg', __FILE__ );
		$this->telegram_icon  = plugins_url( '../assets/img/telegram.svg', __FILE__ );

	}

	/**
	 * Is isset option.
	 *
	 * @since 1.0.0
	 * @access private
	 * @ignore
	 *
	 * @param mixed $data data.
	 *
	 * @return bool
	 */
	private function is_isset( $data ) {

		if ( isset( $data ) ) {
			return $data;
		}
		return false;
	}

	/**
	 * Is empty option.
	 *
	 * @since 1.0.0
	 * @access private
	 * @ignore
	 *
	 * @param mixed $data data.
	 * @param mixed $text data.
	 *
	 * @return bool
	 */
	private function is_not_empty( $data, $text ) {

		if ( ! empty( $data ) ) {
			return $data;
		}
		return $text;
	}


	/**
	 * Init widget.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function init() {

		$this->get_whatsapp();
		$this->get_facebook();
		$this->get_viber();
		$this->get_skype();
		$this->get_telegram();

	}

	/**
	 * Get WhatsApp widget.
	 *
	 * @since 1.0.0
	 * @access protected
	 */
	protected function get_whatsapp() {

		$whatsapp        = $this->is_isset( get_option( MortgagePlatform::$prefix . 'contact' )['whatsapp_widget'] );
		$whatsapp_number = get_option( MortgagePlatform::$prefix . 'contact' )['whatsapp_phone'];

		if ( $whatsapp && ! empty( $whatsapp_number ) ) : ?>
			<div class="contact-widget-wrapper">
				<div class="contact-widget-form">
					<div class="contact-widget-form__header">
						<h3 class="contact-widget-form__title"><?php echo esc_attr__( 'WhatsApp chat', 'CalculatorChatsAddon' ); ?></h3>
						<span class="contact-widget-form__close"></span>
					</div>
					<div class="contact-widget-form__body">
							<span class="contact-widget-form__icon">
								<?php echo file_get_contents( esc_url( $this->whatsapp_icon ) ); ?>
							</span>
						<div class="contact-widget-form__message">
							<?php echo esc_attr__( 'Hi! We\'re here to answer any questions you may have.', 'CalculatorChatsAddon' ); ?>
						</div>
					</div>
					<div class="contact-widget-form__footer">
						<a href="https://web.whatsapp.com/send?l=en&amp;phone=<?php echo esc_attr( $whatsapp_number ); ?>"
						   target="_blank" class="contact-widget-form__button">
							<?php echo esc_attr__( 'Log into WhatsApp', 'CalculatorChatsAddon' ); ?>
						</a>
						<div class="contact-widget-form__description">
							<?php echo esc_attr__( 'Chat in WhatsApp', 'CalculatorChatsAddon' ); ?>
						</div>
					</div>
				</div>

				<div class="contact-widget-item">
					<div class="contact-widget-item__tooltip">
						<span><?php echo esc_attr( $this->whatsapp_tooltip ); ?></span>
					</div>
					<span class="<?php echo esc_attr( $this->style ); ?>">
							<?php echo file_get_contents( esc_url( $this->whatsapp_icon ) ); ?>
						</span>
				</div>
			</div>
			<?php
		endif;
	}




	/**
	 * Get Facebook widget.
	 *
	 * @since 1.0.0
	 * @access protected
	 */
	protected function get_facebook() {

		$facebook        = $this->is_isset( get_option( MortgagePlatform::$prefix . 'contact' )['facebook_widget'] );
		$facebook_account = get_option( MortgagePlatform::$prefix . 'contact' )['facebook_account'];

		if ( $facebook && ! empty( $facebook_account ) ) :
			?>
			<div class="contact-widget-wrapper">
				<div class="contact-widget-form">
					<div class="contact-widget-form__header">
						<h3 class="contact-widget-form__title"><?php echo esc_attr__( 'Messenger chat', 'CalculatorChatsAddon' ); ?></h3>
						<span class="contact-widget-form__close"></span>
					</div>
					<div class="contact-widget-form__body">
							<span class="contact-widget-form__icon">
								<?php echo file_get_contents( esc_url( $this->facebook_icon ) ); ?>
							</span>
						<div class="contact-widget-form__message">
							<?php echo esc_attr__( 'Hi! We\'re here to answer any questions you may have.', 'CalculatorChatsAddon' ); ?>
						</div>
					</div>
					<div class="contact-widget-form__footer">
						<a href="https://m.me/<?php echo esc_attr( $facebook_account ); ?>" target="_blank" class="contact-widget-form__button">
							<?php echo esc_attr__( 'Log into Messenger', 'CalculatorChatsAddon' ); ?>
						</a>
						<div class="contact-widget-form__description">
							<?php echo esc_attr__( 'Chat in Messenger', 'CalculatorChatsAddon' ); ?>
						</div>
					</div>
				</div>

				<div class="contact-widget-item">
					<div class="contact-widget-item__tooltip">
						<span><?php echo esc_attr( $this->facebook_tooltip ); ?></span>
					</div>
					<span class="<?php echo esc_attr( $this->style ); ?>">
							<?php echo file_get_contents( esc_url( $this->facebook_icon ) ); ?>
						</span>
				</div>
			</div>
			<?php
		endif;
	}

	/**
	 * Get viver widget.
	 *
	 * @since 1.0.0
	 * @access protected
	 */
	protected function get_viber() {

		$viber           = $this->is_isset( get_option( MortgagePlatform::$prefix . 'contact' )['viber_widget'] );
		$viber_number = get_option( MortgagePlatform::$prefix . 'contact' )['viber_phone'];

		if ( $viber && ! empty( $viber_number ) ) :
			?>
			<div class="contact-widget-wrapper">
				<div class="contact-widget-form">
					<div class="contact-widget-form__header">
						<h3 class="contact-widget-form__title"><?php echo esc_attr__( 'Viber chat', 'CalculatorChatsAddon' ); ?></h3>
						<span class="contact-widget-form__close"></span>
					</div>
					<div class="contact-widget-form__body">
							<span class="contact-widget-form__icon">
								<?php echo file_get_contents( esc_url( $this->viber_icon ) ); ?>
							</span>
						<div class="contact-widget-form__message">
							<?php echo esc_attr__( 'Hi! We\'re here to answer any questions you may have.', 'CalculatorChatsAddon' ); ?>
						</div>
					</div>
					<div class="contact-widget-form__footer">
						<?php
						if ( wp_is_mobile() ) :
							?>
							<a href="viber://add?number=<?php echo esc_attr( $viber_number ); ?>" class="contact-widget-form__button">
								<?php echo esc_attr__( 'Log into Viber', 'CalculatorChatsAddon' ); ?>
							</a>
						<?php else: ?>
							<a href="viber://chat?number=<?php echo esc_attr( $viber_number ); ?>" target="_blank" class="contact-widget-form__button">
								<?php echo esc_attr__( 'Log into Viber', 'CalculatorChatsAddon' ); ?>
							</a>
							<?php
						endif;
						?>
						<div class="contact-widget-form__description">
							<?php echo esc_attr__( 'Chat in Viber', 'CalculatorChatsAddon' ); ?>
						</div>
					</div>
				</div>

				<div class="contact-widget-item">
					<div class="contact-widget-item__tooltip">
						<span><?php echo esc_attr( $this->viber_tooltip ); ?></span>
					</div>
					<span class="<?php echo esc_attr( $this->style ); ?>">
							<?php echo file_get_contents( esc_url( $this->viber_icon ) ); ?>
						</span>
				</div>
			</div>
			<?php
		endif;
	}


	/**
	 * Get Skype widget.
	 *
	 * @since 1.0.0
	 * @access protected
	 */
	protected function get_skype() {

		$skype           = $this->is_isset( get_option( MortgagePlatform::$prefix . 'contact' )['skype_widget'] );
		$skype_call      = $this->is_isset( get_option( MortgagePlatform::$prefix . 'contact' )['skype_call'] );
		$skype_videocall = $this->is_isset( get_option( MortgagePlatform::$prefix . 'contact' )['skype_videocall'] );

		$skype_account = get_option( MortgagePlatform::$prefix . 'contact' )['skype_account'];


		if ( $skype && ! empty( $skype_account ) ) :
			?>
			<div class="contact-widget-wrapper">
				<div class="contact-widget-form">
					<div class="contact-widget-form__header">
						<h3 class="contact-widget-form__title"><?php echo esc_attr__( 'Skype chat', 'CalculatorChatsAddon' ); ?></h3>
						<span class="contact-widget-form__close"></span>
					</div>
					<div class="contact-widget-form__body">
							<span class="contact-widget-form__icon">
								<?php echo file_get_contents( esc_url( $this->skype_icon ) ); ?>
							</span>
						<div class="contact-widget-form__message">
							<?php echo esc_attr__( 'Hi! We\'re here to answer any questions you may have.', 'CalculatorChatsAddon' ); ?>
						</div>
					</div>
					<div class="contact-widget-form__footer">
						<?php if ( $skype_call || $skype_videocall ) { ?>
							<a href="skype:<?php echo esc_attr( $skype_account ); ?>?chat" class="contact-widget-skype-chat-button">
										 <span class="<?php echo esc_attr( $this->style ); ?>">
											<?php echo file_get_contents( esc_url( $this->chat_icon ) ); ?>
										 </span>
							</a>
							<?php if ( ! empty( $skype_call ) ) { ?>
								<a href="skype:<?php echo esc_attr( $skype_account ); ?>?call" class="contact-widget-skype-call-button">
											<span class="<?php echo esc_attr( $this->style ); ?>">
												<?php echo file_get_contents( esc_url( $this->call_icon ) ); ?>
											</span>
								</a>
							<?php } ?>
							<?php if ( ! empty( $skype_videocall ) ) { ?>
								<a href="skype:<?php echo esc_attr( $skype_account ); ?>?call&amp;video=true" class="contact-widget-skype-videocall-button">
											<span class="<?php echo esc_attr( $this->style ); ?>">
												<?php echo file_get_contents( esc_url( $this->videocall_icon ) ); ?>
											</span>
								</a>
							<?php } ?>

							<!-- <a href="skype:?voicemail" class="contact-widget-skype-voicemail-button"></a>
							<a href="skype:?add" class="contact-widget-skype-add-button"></a>
							<a href="skype:?userinfo" class="contact-widget-skype-userinfo-button"></a>
							<a href="skype:?sendfile" class="contact-widget-skype-sendfile-button"></a> -->

						<?php } else { ?>
							<a href="skype:<?php echo esc_attr( $skype_account ); ?>?chat"
							   class="contact-widget-form__button">
								<?php echo esc_attr__( 'Log into Skype', 'CalculatorChatsAddon' ); ?>
							</a>
						<?php } ?>
						<div class="contact-widget-form__description">
							<?php echo esc_attr__( 'Chat in Skype', 'CalculatorChatsAddon' ); ?>
						</div>
					</div>
				</div>

				<div class="contact-widget-item">
					<div class="contact-widget-item__tooltip">
						<span><?php echo esc_attr( $this->skype_tooltip ); ?></span>
					</div>
					<span class="<?php echo esc_attr( $this->style ); ?>">
							<?php echo file_get_contents( esc_url( $this->skype_icon ) ); ?>
						</span>
				</div>
			</div>
			<?php
		endif;

	}


	/**
	 * Get Telegram widget.
	 *
	 * @since 1.0.0
	 * @access protected
	 */
	protected function get_telegram() {

		$telegram        = $this->is_isset( get_option( MortgagePlatform::$prefix . 'contact' )['telegram_widget'] );
		$telegram_account = get_option( MortgagePlatform::$prefix . 'contact' )['telegram_account'];

		if ( $telegram && ! empty( $telegram_account ) ) :
			?>
			<div class="contact-widget-wrapper">
				<div class="contact-widget-form">
					<div class="contact-widget-form__header">
						<h3 class="contact-widget-form__title"><?php echo esc_attr__( 'Telegram chat', 'CalculatorChatsAddon' ); ?></h3>
						<span class="contact-widget-form__close"></span>
					</div>
					<div class="contact-widget-form__body">
							<span class="contact-widget-form__icon">
								<?php echo file_get_contents( esc_url( $this->telegram_icon ) ); ?>
							</span>
						<div class="contact-widget-form__message">
							<?php echo esc_attr__( 'Hi! We\'re here to answer any questions you may have.', 'CalculatorChatsAddon' ); ?>
						</div>
					</div>
					<div class="contact-widget-form__footer">
						<a href="tg://resolve?domain=<?php echo esc_attr( $telegram_account ); ?>" target="_blank" class="contact-widget-form__button">
							<?php echo esc_attr__( 'Log into Telegram', 'CalculatorChatsAddon' ); ?>
						</a>
						<div class="contact-widget-form__description">
							<?php echo esc_attr__( 'Chat in Telegram', 'CalculatorChatsAddon' ); ?>
						</div>
					</div>
				</div>

				<div class="contact-widget-item">
					<div class="contact-widget-item__tooltip">
						<span><?php echo esc_attr( $this->telegram_tooltip ); ?></span>
					</div>
					<span class="<?php echo esc_attr( $this->style ); ?>">
							<?php echo file_get_contents( esc_url( $this->telegram_icon ) ); ?>
						</span>
				</div>
			</div>
			<?php
		endif;

	}


}

Top ↑

Methods Methods


Top ↑

Changelog Changelog

Changelog
Version Description
1.0.0 Introduced.