Files

189 lines
8.6 KiB
PHP

<?php
defined('ABSPATH') or die;
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound -- Template variables in view files
use FluentForm\App\Modules\Acl\Acl;
// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotValidated, WordPress.Security.ValidatedSanitizedInput.MissingUnslash -- Admin menu display, no nonce needed
$page = sanitize_text_field($_GET['page']);
?>
<div class="ff_header">
<div class="ff_header_group">
<span class="plugin-name">
<img src="<?php echo esc_url($logo); ?>"/>
</span>
<span class="ff_menu_toggle">
<i class="ff-icon ff-icon-menu"></i>
</span>
</div>
<ul class="ff_menu">
<li class="<?php echo ($page == 'fluent_forms') ? 'active' : '' ?>">
<a href="<?php echo esc_url(admin_url('admin.php?page=fluent_forms')); ?>" class="ff_menu_link">
<?php esc_html_e('Forms', 'fluentform'); ?>
</a>
</li>
<li class="<?php echo ($page == 'fluent_forms_all_entries') ? 'active' : '' ?>">
<?php if (Acl::hasPermission('fluentform_entries_viewer')): ?>
<a href="<?php echo esc_url(admin_url('admin.php?page=fluent_forms_all_entries'));?>" class="ff_menu_link">
<?php esc_html_e('Entries', 'fluentform'); ?>
</a>
<?php endif; ?>
</li>
<li class="<?php echo ($page == 'fluent_forms_reports') ? 'active' : '' ?>">
<?php if (Acl::hasPermission('fluentform_entries_viewer')): ?>
<a href="<?php echo esc_url(admin_url('admin.php?page=fluent_forms_reports'));?>" class="ff_menu_link">
<?php esc_html_e('Reports', 'fluentform'); ?>
</a>
<?php endif; ?>
</li>
<li class="<?php echo ($page == 'fluent_forms_payment_entries') ? 'active' : '' ?>">
<?php if ($show_payment_entries && Acl::hasPermission('fluentform_view_payments')): ?>
<a href="<?php echo esc_url(admin_url('admin.php?page=fluent_forms_payment_entries')); ?>" class="ff_menu_link">
<?php esc_html_e('Payments', 'fluentform'); ?>
</a>
<?php endif; ?>
</li>
<?php if (Acl::hasPermission('fluentform_settings_manager')): ?>
<li class="<?php echo ($page == 'fluent_forms_settings') ? 'active' : '' ?>">
<a href="<?php echo esc_url(admin_url('admin.php?page=fluent_forms_settings')); ?>" class="ff_menu_link">
<?php esc_html_e('Global Settings', 'fluentform'); ?>
</a>
</li>
<li class="<?php echo ($page == 'fluent_forms_transfer') ? 'active' : '' ?>">
<a href="<?php echo esc_url(admin_url('admin.php?page=fluent_forms_transfer')); ?>" class="ff_menu_link">
<?php esc_html_e('Tools', 'fluentform'); ?>
</a>
</li>
<li class="<?php echo ($page == 'fluent_forms_add_ons') ? 'active' : '' ?>">
<a href="<?php echo esc_url(admin_url('admin.php?page=fluent_forms_add_ons')); ?>" class="ff_menu_link">
<?php esc_html_e('Integrations', 'fluentform'); ?>
</a>
</li>
<?php endif; ?>
<li>
<?php if ($show_payment && Acl::hasPermission('fluentform_view_payments')): ?>
<a href="<?php echo esc_url(admin_url('admin.php?page=fluent_forms_settings#payments/general_settings')); ?>" class="ff_menu_link">
<?php esc_html_e('Payments', 'fluentform'); ?><span class="ff_new_badge">new</span>
</a>
<?php endif; ?>
</li>
<li class="<?php echo ($page == 'fluent_forms_docs') ? 'active' : '' ?>">
<a href="<?php echo esc_url(admin_url('admin.php?page=fluent_forms_docs')); ?>" class="ff_menu_link">
<?php esc_html_e('Support', 'fluentform'); ?>
</a>
</li>
<?php if(!defined('FLUENTFORMPRO')): ?>
<li>
<a target="_blank" rel="noopener" href="<?php echo esc_url(fluentform_upgrade_url()); ?>" class="ff_menu_link ff_menu_link_buy">
<?php esc_html_e('Upgrade to Pro', 'fluentform'); ?>
</a>
</li>
<?php endif; ?>
</ul>
<?php
$globalSearchActive = apply_filters('fluentform/global_search_active', 'yes');
$globalSearchButtonClickScript = "";
if ($globalSearchActive == 'yes') {
$globalSearchButtonClickScript = "jQuery('.global-search-menu-button').on('click', function() {
document.dispatchEvent(new CustomEvent('global-search-menu-button-click'));
});";
$user_agent = getenv("HTTP_USER_AGENT");
if (!empty($user_agent) && strpos($user_agent, "Win") !== FALSE) {
$key = "Ctrl ";
} else {
$key = "⌘";
}
}
?>
<?php if($globalSearchActive == 'yes'):?>
<button class="global-search-menu-button">
<span class="el-icon-search"></span> <span class="shortcut"><?php echo esc_html($key)?>K </span>
</button>
<?php endif; ?>
<?php
do_action_deprecated(
'fluentform_after_global_menu',
[
],
FLUENTFORM_FRAMEWORK_UPGRADE,
'fluentform/after_global_menu',
'Use fluentform/after_global_menu instead of fluentform_after_global_menu.'
);
do_action('fluentform/after_global_menu');
wp_add_inline_script('fluent_forms_global', "
//for mobile nav
let globalHeaderMenuElem = jQuery('.ff_menu');
jQuery('.ff_menu_toggle').on('click', function() {
globalHeaderMenuElem.toggleClass('ff_menu_active');
});
$globalSearchButtonClickScript
// for setting sidebar
let globalSettingSidebarElem = jQuery('#ff_global_settings_sidebar');
let globalOverlayElem = jQuery('#global-overlay');
let globalSettingSidebarStateKey = 'fluentform_global_settings_sidebar_collapsed';
let globalSettingSidebarToggle = globalSettingSidebarElem.find('.ff_sidebar_toggle');
let isGlobalSettingDesktop = function() {
return window.matchMedia('(min-width: 769px)').matches;
};
let syncGlobalSettingSidebarMode = function() {
if (isGlobalSettingDesktop() && window.localStorage.getItem(globalSettingSidebarStateKey) === 'yes') {
globalSettingSidebarElem.addClass('ff_settings_sidebar_collapsed');
} else if (!isGlobalSettingDesktop()) {
globalSettingSidebarElem.removeClass('ff_settings_sidebar_collapsed');
}
};
let updateGlobalSettingToggleState = function() {
let collapseLabel = globalSettingSidebarToggle.data('collapse-label') || 'Collapse settings menu';
let expandLabel = globalSettingSidebarToggle.data('expand-label') || 'Expand settings menu';
let isExpanded = isGlobalSettingDesktop()
? !globalSettingSidebarElem.hasClass('ff_settings_sidebar_collapsed')
: globalSettingSidebarElem.hasClass('active');
globalSettingSidebarToggle
.attr('aria-expanded', isExpanded ? 'true' : 'false')
.attr('aria-label', isExpanded ? collapseLabel : expandLabel)
.attr('title', isExpanded ? collapseLabel : expandLabel);
};
syncGlobalSettingSidebarMode();
globalSettingSidebarToggle.on('click', function() {
if (isGlobalSettingDesktop()) {
globalSettingSidebarElem.toggleClass('ff_settings_sidebar_collapsed');
window.localStorage.setItem(
globalSettingSidebarStateKey,
globalSettingSidebarElem.hasClass('ff_settings_sidebar_collapsed') ? 'yes' : 'no'
);
updateGlobalSettingToggleState();
return;
}
jQuery(globalSettingSidebarElem).add(globalOverlayElem).toggleClass('active');
updateGlobalSettingToggleState();
});
jQuery(globalOverlayElem).on('click', function() {
jQuery(globalOverlayElem).add(globalSettingSidebarElem).removeClass('active');
updateGlobalSettingToggleState();
});
jQuery(window).on('resize', function() {
syncGlobalSettingSidebarMode();
updateGlobalSettingToggleState();
});
updateGlobalSettingToggleState();
");
?>
</div>
<?php
do_action('fluentform/after_global_menu_render',$page);
?>