File "widget.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/vikbooking/libraries/html/wpdash/rss/widget.php
File size: 5.28 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* @package VikBooking - Libraries
* @subpackage html.wpdash
* @author E4J s.r.l.
* @copyright Copyright (C) 2020 E4J s.r.l. All Rights Reserved.
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
* @link https://vikwp.com
*/
// No direct access
defined('ABSPATH') or die('No script kiddies please!');
extract($displayData);
/**
* Layout variables
* -----------------
* @var JRegistry $config The configuration registry
* @var JDashboardWidget $widget The widget instance.
* @var array $feeds A list of feeds.
*/
$document = JFactory::getDocument();
$internalFilesOptions = array('version' => VIKBOOKING_SOFTWARE_VERSION);
// system.js must be loaded on both front-end and back-end for tmpl=component support
$document->addScript(VIKBOOKING_ADMIN_ASSETS_URI . 'js/system.js', $internalFilesOptions, array('id' => 'vbo-sys-script'));
$document->addScript(VIKBOOKING_ADMIN_ASSETS_URI . 'js/admin.js', $internalFilesOptions, array('id' => 'vbo-admin-script'));
$document->addScript(VIKBOOKING_ADMIN_ASSETS_URI . 'js/bootstrap.min.js', $internalFilesOptions, array('id' => 'bootstrap-script'));
$document->addStyleSheet(VIKBOOKING_ADMIN_ASSETS_URI . 'css/system.css', $internalFilesOptions, array('id' => 'vbo-sys-style'));
$document->addStyleSheet(VIKBOOKING_ADMIN_ASSETS_URI . 'css/bootstrap.lite.css', $internalFilesOptions, array('id' => 'bootstrap-lite-style'));
// prepare modal to display opt-in
echo JHtml::fetch(
'bootstrap.renderModal',
'jmodal-vbo-rss-feed',
array(
'title' => '',
'closeButton' => true,
'keyboard' => true,
'top' => true,
'width' => 70,
'height' => 80,
),
'{placeholder}'
);
?>
<style>
#vik_booking_rss .inside {
padding: 0 !important;
margin: 0 !important;
}
#vik_booking_rss .modal-header h3 {
margin: 0;
line-height: 50px;
font-weight: normal;
font-size: 22px;
}
#vik_booking_rss .modal-header h3 .dashicons-before:before {
line-height: 50px;
}
#vik_booking_rss img {
max-width: 100%;
}
.vbo-rss-widget ul {
margin: 0;
padding: 0;
}
.vbo-rss-widget ul li {
list-style: none;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
margin: 0;
padding: 8px 12px;
border-bottom: 1px solid #eee;
}
.vbo-rss-widget ul li:last-child {
border-bottom: 0;
}
.vbo-rss-widget ul li:nth-child(odd) {
background: #fafafa;
}
.vbo-rss-widget ul li .feed-icon {
width: 32px;
}
.vbo-rss-widget ul li .feed-details {
flex: 1;
}
.vbo-rss-widget ul li .feed-date-time {
text-align: right;
}
.vbo-rss-widget .rss-missing-optin {
padding: 10px 10px 0 10px;
}
</style>
<div class="vbo-rss-widget">
<?php
// make sure the RSS service is enabled
if (!$config->get('optin'))
{
// service not enabled
?>
<div class="rss-missing-optin">
<div class="notice notice-error inline">
<p>
<?php _e('<b>You haven\'t opted-in to the RSS service!</b><br />Click the following button to start reading RSS feeds.', 'vikbooking'); ?>
</p>
<p>
<a href="admin.php?page=vikbooking&task=config#rss" class="button button-primary">
<?php _e('Activate RSS Feeds', 'vikbooking'); ?>
</a>
</p>
</div>
</div>
<?php
}
else
{
?>
<ul>
<?php
foreach ($feeds as $i => $feed)
{
switch (strtolower($feed->category))
{
case 'promo':
$icon = 'star-filled';
break;
case 'tips':
$icon = 'welcome-learn-more';
break;
case 'news':
$icon = 'megaphone';
break;
default:
$icon = 'rss';
}
?>
<li data-id="<?php echo $feed->id; ?>">
<div class="feed-icon">
<span class="dashicons-before dashicons-<?php echo $icon; ?>"></span>
</div>
<div class="feed-details" data-title="<?php echo $this->escape($feed->title); ?>" data-category="<?php echo $this->escape($feed->category); ?>">
<div class="feed-title">
<a href="javascript: void(0);">
<b><?php echo $feed->title; ?></b>
</a>
</div>
<div class="feed-category"><?php echo $feed->category; ?></div>
</div>
<div class="feed-date-time">
<div class="feed-date">
<?php echo JHtml::fetch('date', $feed->date, get_option('date_format')); ?>
</div>
<div class="feed-time">
<?php echo JHtml::fetch('date', $feed->date, get_option('time_format')); ?>
</div>
</div>
<div style="display: none;" class="rss-content">
<?php echo $feed->content; ?>
</div>
</li>
<?php
}
?>
</ul>
<?php
}
?>
</div>
<script>
jQuery(function() {
jQuery('#vik_booking_rss .feed-details a').on('click', function() {
// get parent <li>
var li = jQuery(this).closest('li');
// find feed details
var details = li.find('.feed-details');
// find feed content
var content = li.find('.rss-content').html();
// get modal
var modal = jQuery('#jmodal-vbo-rss-feed');
// register feed ID
modal.attr('data-feed-id', li.data('id'));
// update modal title
modal.find('.modal-header h3').html(
li.find('.feed-icon').html() + ' ' +
details.data('category') + ' - ' +
details.data('title')
);
// update modal content
modal.find('.modal-body').html(content);
// display modal
wpOpenJModal('vbo-rss-feed');
});
});
</script>