384 lines
23 KiB
PHP
384 lines
23 KiB
PHP
|
<?php
|
||
|
|
||
|
/** no direct access **/
|
||
|
defined('MECEXEC') or die();
|
||
|
|
||
|
/** @var MEC_main $this */
|
||
|
|
||
|
// get screen id
|
||
|
$current_user = wp_get_current_user();
|
||
|
|
||
|
// user event created
|
||
|
$count_events = wp_count_posts($this->get_main_post_type());
|
||
|
$user_post_count = $count_events->publish ?? '0';
|
||
|
|
||
|
// user calendar created
|
||
|
$count_calendars = wp_count_posts('mec_calendars');
|
||
|
$user_post_count_c = $count_calendars->publish ?? '0';
|
||
|
|
||
|
// mec location
|
||
|
$user_location_count_l = wp_count_terms('mec_location', array(
|
||
|
'hide_empty' => false,
|
||
|
'parent' => 0
|
||
|
));
|
||
|
|
||
|
// mec organizer
|
||
|
$user_organizer_count_l = wp_count_terms('mec_organizer', array(
|
||
|
'hide_empty' => false,
|
||
|
'parent' => 0
|
||
|
));
|
||
|
|
||
|
$version = $verify = NULL;
|
||
|
if ($this->getPRO()) $mec_license_status = get_option('mec_license_status');
|
||
|
|
||
|
// MEC Database
|
||
|
$db = $this->getDB();
|
||
|
|
||
|
// MEC Settings
|
||
|
$settings = $this->get_settings();
|
||
|
|
||
|
// MEC Booking Status
|
||
|
$booking_status = ($this->getPRO() and isset($settings['booking_status']) and $settings['booking_status']);
|
||
|
|
||
|
// Add ChartJS library
|
||
|
if ($booking_status) wp_enqueue_script('mec-chartjs-script');
|
||
|
|
||
|
// Whether to show dashboard boxes or not!
|
||
|
$box_support = apply_filters('mec_dashboard_box_support', true);
|
||
|
$box_stats = apply_filters('mec_dashboard_box_stats', true);
|
||
|
?>
|
||
|
<style>
|
||
|
.upcoming-events .mec-credit-url {
|
||
|
display: none;
|
||
|
}
|
||
|
</style>
|
||
|
<div id="webnus-dashboard" class="wrap about-wrap">
|
||
|
<div class="welcome-head w-clearfix">
|
||
|
<div class="w-row">
|
||
|
<div class="w-col-sm-9">
|
||
|
<h1> <?php echo sprintf(esc_html__('Welcome %s', 'modern-events-calendar-lite'), $current_user->user_firstname); ?> </h1>
|
||
|
<div class="w-welcome">
|
||
|
<?php echo sprintf(esc_html__('%s - Most Powerful & Easy to Use Events Management System', 'modern-events-calendar-lite'), '<strong>' . ($this->getPRO() ? esc_html__('Modern Events Calendar', 'modern-events-calendar-lite') : esc_html__('Modern Events Calendar (Lite)', 'modern-events-calendar-lite')) . '</strong>'); ?>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="w-col-sm-3">
|
||
|
<?php $styling = $this->get_styling();
|
||
|
$darkadmin_mode = $styling['dark_mode'] ?? '';
|
||
|
if ($darkadmin_mode == 1): $darklogo = plugin_dir_url(__FILE__) . '../../../assets/img/mec-logo-w2.png';
|
||
|
else: $darklogo = plugin_dir_url(__FILE__) . '../../../assets/img/mec-logo-w.png';
|
||
|
endif; ?>
|
||
|
<img src="<?php echo esc_url($darklogo); ?>" />
|
||
|
<span class="w-theme-version"><?php echo esc_html__('Version', 'modern-events-calendar-lite'); ?> <?php echo MEC_VERSION; ?></span>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<!-- remove update notification section for high request -->
|
||
|
<div class="welcome-content w-clearfix extra">
|
||
|
<div class="w-row" style="margin-bottom: 30px;">
|
||
|
<div class="w-col-sm-12">
|
||
|
<script>
|
||
|
(function() {
|
||
|
var version = parseInt(Math.random() * 10000);
|
||
|
var webformKey = "8dd552ab6041bd25d23d8a8467819f701f9196106be0e25edc6870c9cc922bdc_" + version;
|
||
|
var loaderHTML = '<div class="fs-webform-loader" style="margin:auto"> <style type="text/css"> .loader-box{ width:100%; margin:auto; margin-top:50px; text-align:center; } .loader { border-radius: 50%; width: 20px; height: 20px; animation: spin 1s linear infinite; border: 3px solid #12344D; border-top: 3px solid #B3DFFF; display:block; margin: 25px auto; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #loader-text{ vertical-align:middle; text-align:center; color: #333; display: inline-block; vertical-align: middle; margin-top:-20px; height:100%; } </style> <div class="loader-box"> <div class="loader"></div> <div id="loader-text"> </div> </div></div>';
|
||
|
var containerHTML = '<div id="fs-webform-container_' + webformKey + '" class="fs-webform-container fs_8dd552ab6041bd25d23d8a8467819f701f9196106be0e25edc6870c9cc922bdc" style="display:none;"></div>';
|
||
|
var scriptTag = document.currentScript || document.getElementById("fs_8dd552ab6041bd25d23d8a8467819f701f9196106be0e25edc6870c9cc922bdc") || document.getElementById("fswebforms") || document.getElementById("formservjs");
|
||
|
var docHook = scriptTag.parentElement;
|
||
|
var content = document.createElement("div");
|
||
|
scriptTag.id = webformKey;
|
||
|
docHook.appendChild(content);
|
||
|
content.innerHTML = loaderHTML + containerHTML;
|
||
|
|
||
|
var webformOptions = {
|
||
|
key: "8dd552ab6041bd25d23d8a8467819f701f9196106be0e25edc6870c9cc922bdc",
|
||
|
url: "https://webform.freshsales.io/assets/webforms/8dd552ab6041bd25d23d8a8467819f701f9196106be0e25edc6870c9cc922bdc/10",
|
||
|
domainURL: "https://webnus.freshsales.io",
|
||
|
format: "js",
|
||
|
version: version,
|
||
|
formVersion: 10
|
||
|
};
|
||
|
|
||
|
if (window.WebFormQueue) {
|
||
|
WebFormQueue.add(webformOptions);
|
||
|
} else {
|
||
|
var script = document.createElement('script');
|
||
|
script.src = 'https://assets.freshsales.io/assets/webform-f0cf3eb443c5b955735f5da1f73030f6d9b8a3e1.js';
|
||
|
script.onload = function() {
|
||
|
WebFormQueue.add(webformOptions);
|
||
|
};
|
||
|
var webformContainer = document.getElementById('fs-webform-container_' + webformKey);
|
||
|
webformContainer.appendChild(script);
|
||
|
}
|
||
|
})();
|
||
|
</script>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php if (!$this->getPRO()): ?>
|
||
|
<div class="w-row mec-pro-notice" style="margin-bottom: 30px;">
|
||
|
<div class="w-col-sm-12">
|
||
|
<div class="info-msg">
|
||
|
<p>
|
||
|
<?php echo sprintf(esc_html__("You're using %s version of Modern Events Calendar. To use advanced booking system, modern skins like Agenda, Timetable, Masonry, Yearly View, Available Spots, etc you should upgrade to the Pro version.", 'modern-events-calendar-lite'), '<strong>' . esc_html__('lite', 'modern-events-calendar-lite') . '</strong>'); ?>
|
||
|
</p>
|
||
|
<a class="info-msg-link" href="<?php echo esc_url($this->get_pro_link()); ?>" target="_blank">
|
||
|
<?php esc_html_e('GO PREMIUM', 'modern-events-calendar-lite'); ?>
|
||
|
</a>
|
||
|
<div class="info-msg-coupon">
|
||
|
|
||
|
</div>
|
||
|
<div class="socialfollow">
|
||
|
<a target="_blank" href="https://www.facebook.com/WebnusCo/" class="facebook">
|
||
|
<i class="mec-sl-social-facebook"></i>
|
||
|
</a>
|
||
|
<a target="_blank" href="https://twitter.com/webnus" class="twitter">
|
||
|
<i class="mec-sl-social-twitter"></i>
|
||
|
</a>
|
||
|
<a target="_blank" href="https://www.instagram.com/webnus/" class="instagram">
|
||
|
<i class="mec-sl-social-instagram"></i>
|
||
|
</a>
|
||
|
<a target="_blank" href="https://www.youtube.com/channel/UCmQ-VeVK7nLR3bGpAkSYB1Q" class="youtube">
|
||
|
<i class="mec-sl-social-youtube"></i>
|
||
|
</a>
|
||
|
<a target="_blank" href="https://dribbble.com/Webnus" class="dribbble">
|
||
|
<i class="mec-sl-social-dribbble"></i>
|
||
|
</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php endif; ?>
|
||
|
<?php echo MEC_kses::full($this->mec_custom_msg_2('yes', 'yes')); ?>
|
||
|
<?php echo MEC_kses::full($this->mec_custom_msg('yes', 'yes')); ?>
|
||
|
<div class="w-row">
|
||
|
<div class="w-col-sm-12">
|
||
|
<div class="w-box mec-intro-section">
|
||
|
<div class="w-box-content mec-intro-section-welcome">
|
||
|
<h3><?php esc_html_e('Getting started with Modern Events Calendar', 'modern-events-calendar-lite'); ?></h3>
|
||
|
<p><?php esc_html_e('In this short video, you can learn how to make an event and put a calendar on your website. Please watch this 2 minutes video to the end.', 'modern-events-calendar-lite'); ?></p>
|
||
|
</div>
|
||
|
<div class="w-box-content mec-intro-section-ifarme">
|
||
|
<iframe width="560" height="315" src="https://www.youtube.com/embed/P0c2G1qhusk?si=96nFmtSdPzARY4ed" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
||
|
</div>
|
||
|
<div class="w-box-content mec-intro-section-links wp-core-ui">
|
||
|
<a class="mec-intro-section-link-tag button button-primary button-hero" href="<?php esc_html_e(admin_url('post-new.php?post_type=mec-events')); ?>" target="_blank"><?php esc_html_e('Add New Event', 'modern-events-calendar-lite'); ?>
|
||
|
<a class="mec-intro-section-link-tag button button-secondary button-hero" href="<?php esc_html_e(admin_url('admin.php?page=MEC-settings')); ?>" target="_blank"><?php esc_html_e('Settings', 'modern-events-calendar-lite'); ?>
|
||
|
<a class="mec-intro-section-link-tag button button-secondary button-hero" href="https://webnus.net/dox/modern-events-calendar/" target="_blank"><?php esc_html_e('Documentation', 'modern-events-calendar-lite'); ?></a>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php if (!$this->getPRO() && has_action('addons_activation')) : ?>
|
||
|
<div class="w-col-sm-12">
|
||
|
<div class="w-box mec-activation">
|
||
|
<div class="w-box-head">
|
||
|
<?php esc_html_e('License Activation', 'modern-events-calendar-lite'); ?>
|
||
|
</div>
|
||
|
<?php if (current_user_can('administrator')): ?>
|
||
|
<div class="w-box-content">
|
||
|
<div class="box-addons-activation">
|
||
|
<?php $mec_options = get_option('mec_options'); ?>
|
||
|
<div class="box-addon-activation-toggle-head"><i class="mec-sl-plus"></i><span><?php esc_html_e('Activate Addons', 'modern-events-calendar-lite'); ?></span></div>
|
||
|
<div class="box-addon-activation-toggle-content">
|
||
|
<?php do_action('addons_activation'); ?>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php else: ?>
|
||
|
<div class="w-box-content">
|
||
|
<p style="background: #f7f7f7f7;display: inline-block;padding: 17px 35px;border-radius: 3px;/* box-shadow: 0 1px 16px rgba(0,0,0,.034); */"><?php echo esc_html__('You cannot access this section.', 'modern-events-calendar-lite'); ?></p>
|
||
|
</div>
|
||
|
<?php endif; ?>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php endif; ?>
|
||
|
<?php if ($this->getPRO()) : ?>
|
||
|
<div class="w-col-sm-12">
|
||
|
<div class="w-box mec-activation">
|
||
|
<div class="w-box-head">
|
||
|
<?php esc_html_e('License Activation', 'modern-events-calendar-lite'); ?>
|
||
|
</div>
|
||
|
<?php
|
||
|
if (current_user_can('administrator')):
|
||
|
?>
|
||
|
<div class="w-box-content">
|
||
|
<p><?php echo esc_html__('In order to use all plugin features and options, please enter your purchase code.', 'modern-events-calendar-lite'); ?></p>
|
||
|
<div class="box-mec-avtivation">
|
||
|
<?php
|
||
|
$mec_options = get_option('mec_options');
|
||
|
$product_license = '';
|
||
|
$license_status = '';
|
||
|
$class_name = 'mec_activate';
|
||
|
$button_value = esc_html__('submit', 'modern-events-calendar-lite');
|
||
|
|
||
|
if (!empty($mec_options) and is_array($mec_options) and isset($mec_options['purchase_code'])) $product_license = $mec_options['purchase_code'];
|
||
|
|
||
|
if (!empty($mec_options['purchase_code']) && $mec_license_status == 'active') {
|
||
|
$license_status = 'PurchaseSuccess';
|
||
|
$revoke = true;
|
||
|
$class_name = 'mec_revoke';
|
||
|
$button_value = esc_html__('revoke', 'modern-events-calendar-lite');
|
||
|
} elseif (!empty($mec_options['purchase_code']) && $mec_license_status == 'faild') {
|
||
|
$license_status = 'PurchaseError';
|
||
|
$revoke = false;
|
||
|
}
|
||
|
?>
|
||
|
<form id="MECActivation" action="#" method="post">
|
||
|
<div class="LicenseField">
|
||
|
<input type="password" placeholder="Put your purchase code here" name="MECPurchaseCode" value="<?php echo esc_html($product_license); ?>">
|
||
|
<input type="submit" class="<?php echo esc_html($class_name); ?>" value="<?php echo esc_html($button_value); ?>">
|
||
|
<div class="MECPurchaseStatus <?php echo esc_html($license_status); ?>"></div>
|
||
|
</div>
|
||
|
<div class="MECLicenseMessage mec-message-hidden">
|
||
|
<?php
|
||
|
echo esc_html__('Activation failed. Please check your purchase code or license type. Note: Your purchase code should match your licesne type.', 'modern-events-calendar-lite') . '<a style="text-decoration: underline; padding-left: 7px;" href="https://webnus.net/dox/modern-events-calendar/auto-update/" target="_blank">' . esc_html__('Troubleshooting', 'modern-events-calendar-lite') . '</a>';
|
||
|
?>
|
||
|
</div>
|
||
|
</form>
|
||
|
</div>
|
||
|
|
||
|
<div class="box-addons-activation">
|
||
|
<?php $mec_options = get_option('mec_options'); ?>
|
||
|
<div class="box-addon-activation-toggle-head"><i class="mec-sl-plus"></i><span><?php esc_html_e('Activate Addons', 'modern-events-calendar-lite'); ?></span></div>
|
||
|
<div class="box-addon-activation-toggle-content">
|
||
|
<?php do_action('addons_activation'); ?>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php
|
||
|
else: ?>
|
||
|
<div class="w-box-content">
|
||
|
<p style="background: #f7f7f7f7;display: inline-block;padding: 17px 35px;border-radius: 3px;/* box-shadow: 0 1px 16px rgba(0,0,0,.034); */"><?php echo esc_html__('You cannot access this section.', 'modern-events-calendar-lite'); ?></p>
|
||
|
</div>
|
||
|
<?php
|
||
|
endif;
|
||
|
?>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php endif; ?>
|
||
|
<?php if (current_user_can('read')): ?>
|
||
|
<div class="w-col-sm-3">
|
||
|
<div class="w-box doc">
|
||
|
<div class="w-box-child mec-count-child">
|
||
|
<p><?php echo '<p class="mec_dash_count">' . esc_html($user_post_count) . '</p> ' . esc_html__('Events', 'modern-events-calendar-lite'); ?></p>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="w-col-sm-3">
|
||
|
<div class="w-box doc">
|
||
|
<div class="w-box-child mec-count-child">
|
||
|
<p><?php echo '<p class="mec_dash_count">' . esc_html($user_post_count_c) . '</p> ' . esc_html__('Shortcodes', 'modern-events-calendar-lite'); ?></p>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="w-col-sm-3">
|
||
|
<div class="w-box doc">
|
||
|
<div class="w-box-child mec-count-child">
|
||
|
<p><?php echo '<p class="mec_dash_count">' . esc_html($user_location_count_l) . '</p> ' . esc_html__('Locations', 'modern-events-calendar-lite'); ?></p>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="w-col-sm-3">
|
||
|
<div class="w-box doc">
|
||
|
<div class="w-box-child mec-count-child">
|
||
|
<p><?php echo '<p class="mec_dash_count">' . esc_html($user_organizer_count_l) . '</p> ' . esc_html__('Organizers', 'modern-events-calendar-lite'); ?></p>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php endif; ?>
|
||
|
</div>
|
||
|
<?php if ($box_stats): ?>
|
||
|
<div class="w-row">
|
||
|
<div class="w-col-sm-<?php echo ($booking_status ? 6 : 12); ?>">
|
||
|
<div class="w-box upcoming-events">
|
||
|
<div class="w-box-head">
|
||
|
<?php esc_html_e('Upcoming Events', 'modern-events-calendar-lite'); ?>
|
||
|
</div>
|
||
|
<div class="w-box-content">
|
||
|
<?php
|
||
|
$render = $this->getRender();
|
||
|
echo MEC_kses::full($render->skin('list', array(
|
||
|
'sk-options' => array('list' => array(
|
||
|
'style' => 'minimal',
|
||
|
'start_date_type' => 'today',
|
||
|
'pagination_method' => '0',
|
||
|
'limit' => '6',
|
||
|
'month_divider' => '0',
|
||
|
'load_more_button' => false,
|
||
|
'ignore_js' => true
|
||
|
))
|
||
|
)));
|
||
|
?>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php if ($booking_status): ?>
|
||
|
<div class="w-col-sm-6">
|
||
|
<div class="w-box gateways">
|
||
|
<div class="w-box-head">
|
||
|
<?php echo esc_html__('Popular Gateways', 'modern-events-calendar-lite'); ?>
|
||
|
</div>
|
||
|
<div class="w-box-content">
|
||
|
<?php
|
||
|
$results = $db->select("SELECT COUNT(`meta_id`) AS count, `meta_value` AS gateway FROM `#__postmeta` WHERE `meta_key`='mec_gateway' GROUP BY `meta_value`", 'loadAssocList');
|
||
|
|
||
|
$labels = '';
|
||
|
$data = '';
|
||
|
$bg_colors = '';
|
||
|
|
||
|
foreach ($results as $result) {
|
||
|
if (!class_exists($result['gateway'])) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
$gateway = new $result['gateway'];
|
||
|
$stats[] = array('label' => $gateway->title(), 'count' => $result['count']);
|
||
|
|
||
|
$labels .= '"' . esc_html($gateway->title()) . '",';
|
||
|
$data .= ((int) $result['count']) . ',';
|
||
|
$bg_colors .= "'" . $gateway->color() . "',";
|
||
|
}
|
||
|
echo '<canvas id="mec_gateways_chart" width="300" height="300"></canvas>';
|
||
|
|
||
|
$this->getFactory()->params('footer', '<script>
|
||
|
jQuery(document).ready(function()
|
||
|
{
|
||
|
var ctx = document.getElementById("mec_gateways_chart");
|
||
|
var mecGatewaysChart = new Chart(ctx,
|
||
|
{
|
||
|
type: "doughnut",
|
||
|
data:
|
||
|
{
|
||
|
labels: [' . trim($labels, ', ') . '],
|
||
|
datasets: [
|
||
|
{
|
||
|
data: [' . trim($data, ', ') . '],
|
||
|
backgroundColor: [' . trim($bg_colors, ', ') . ']
|
||
|
}]
|
||
|
}
|
||
|
});
|
||
|
});
|
||
|
</script>');
|
||
|
?>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<?php endif; ?>
|
||
|
</div>
|
||
|
<?php if ($booking_status and current_user_can('mec_settings')) echo (new MEC_feature_mec())->widget_total_bookings(); ?>
|
||
|
<?php endif; ?>
|
||
|
|
||
|
<?php if ($this->getPRO()) (new MEC_feature_mec())->widget_print(); ?>
|
||
|
|
||
|
<div class="w-row">
|
||
|
<div class="w-col-sm-12">
|
||
|
<div class="w-box change-log">
|
||
|
<div class="w-box-head">
|
||
|
<?php echo esc_html__('Change Log', 'modern-events-calendar-lite'); ?>
|
||
|
</div>
|
||
|
<div class="w-box-content">
|
||
|
<pre><?php echo file_get_contents(plugin_dir_path(__FILE__) . '../../../changelog.txt'); ?></pre>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|