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&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&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;
}
}
Methods Methods
- __construct — Widget constructor.
- get_facebook — Get Facebook widget.
- get_skype — Get Skype widget.
- get_telegram — Get Telegram widget.
- get_viber — Get viver widget.
- get_whatsapp — Get WhatsApp widget.
- init — Init widget.
Changelog Changelog
| Version | Description |
|---|---|
| 1.0.0 | Introduced. |