331 lines
9.2 KiB
PHP
331 lines
9.2 KiB
PHP
<?php
|
|
/**
|
|
* Settings view.
|
|
*
|
|
* @since 2.0.0
|
|
*/
|
|
?>
|
|
<div id="wp-ultimo-wrap" class="<?php wu_wrap_use_container() ?> wrap wu-wrap <?php echo esc_attr($classes); ?>">
|
|
|
|
<h1 class="wp-heading-inline">
|
|
|
|
<?php echo $page->get_title(); ?>
|
|
|
|
<?php
|
|
/**
|
|
* You can filter the get_title_link using wu_page_list_get_title_link, see class-wu-page-list.php
|
|
*
|
|
* @since 1.8.2
|
|
*/
|
|
foreach ($page->get_title_links() as $action_link) :
|
|
|
|
$action_classes = isset($action_link['classes']) ? $action_link['classes'] : '';
|
|
|
|
?>
|
|
|
|
<a title="<?php echo esc_attr($action_link['label']); ?>" href="<?php echo esc_url($action_link['url']); ?>" class="page-title-action <?php echo esc_attr($action_classes); ?>">
|
|
|
|
<?php if ($action_link['icon']) : ?>
|
|
|
|
<span class="dashicons dashicons-<?php echo esc_attr($action_link['icon']); ?> wu-text-sm wu-align-middle wu-h-4 wu-w-4">
|
|
|
|
</span>
|
|
|
|
<?php endif; ?>
|
|
|
|
<?php echo $action_link['label']; ?>
|
|
|
|
</a>
|
|
|
|
<?php endforeach; ?>
|
|
|
|
<?php
|
|
/**
|
|
* Allow plugin developers to add additional buttons to list pages
|
|
*
|
|
* @since 1.8.2
|
|
* @param WU_Page WP Multisite WaaS Page instance
|
|
*/
|
|
do_action('wu_page_wizard_after_title', $page);
|
|
?>
|
|
|
|
</h1>
|
|
|
|
<?php if (wu_request('updated')) : ?>
|
|
|
|
<div id="message" class="updated notice wu-admin-notice notice-success is-dismissible below-h2">
|
|
<p><?php _e('Settings successfully saved.', 'wp-ultimo') ?></p>
|
|
</div>
|
|
|
|
<?php endif; ?>
|
|
|
|
<hr class="wp-header-end">
|
|
|
|
<form method="post">
|
|
|
|
<div id="poststuff" class="sm:wu-grid sm:wu-grid-cols-12 wu-gap-4">
|
|
|
|
<div class="sm:wu-col-span-4 lg:wu-col-span-2">
|
|
|
|
<div class="wu-py-4 wu-relative">
|
|
|
|
<input
|
|
data-model='setting'
|
|
data-value-field="setting_id"
|
|
data-label-field="title"
|
|
data-search-field="setting_id"
|
|
data-max-items="1"
|
|
selected type="text"
|
|
placeholder="Search Setting"
|
|
class="wu-w-full"
|
|
>
|
|
|
|
</div>
|
|
|
|
<div data-wu-app="settings_menu" data-state="{}">
|
|
|
|
<!-- Navigator -->
|
|
<ul>
|
|
|
|
<li class="md:wu-hidden wu-p-4 wu-font-bold wu-uppercase wu-text-xs wu-text-gray-700">
|
|
|
|
<?php _e('Menu', 'wp-ultimo'); ?>
|
|
|
|
</li>
|
|
|
|
<?php
|
|
|
|
/**
|
|
* We need to set a couple of flags in here to control clickable navigation elements.
|
|
* This flag makes sure only steps the user already went through are clickable.
|
|
*/
|
|
$is_pre_current_section = true;
|
|
|
|
/**
|
|
* Holds add-on menus
|
|
*/
|
|
$addons = array();
|
|
|
|
?>
|
|
|
|
<?php foreach ($sections as $section_name => $section) : ?>
|
|
|
|
<?php
|
|
|
|
if (wu_get_isset($section, 'invisible')) {
|
|
|
|
continue; // skip add-ons for now.
|
|
|
|
} // end if;
|
|
|
|
if (wu_get_isset($section, 'addon')) {
|
|
|
|
$addons[$section_name] = $section;
|
|
|
|
continue; // skip add-ons for now.
|
|
|
|
} // end if;
|
|
|
|
/**
|
|
* Updates the flag after the current section is looped.
|
|
*/
|
|
if ($current_section === $section_name) {
|
|
|
|
$is_pre_current_section = false;
|
|
|
|
} // end if;
|
|
|
|
?>
|
|
|
|
<!-- Menu Item -->
|
|
<li id="tab-selector-<?php echo esc_attr($section_name); ?>" class="wu-sticky">
|
|
|
|
<!-- Menu Link -->
|
|
<a
|
|
id="tab-selector-<?php echo esc_attr($section_name); ?>-link"
|
|
href="<?php echo esc_url($page->get_section_link($section_name)); ?>"
|
|
class="wu-block wu-py-2 wu-px-4 wu-no-underline wu-text-sm wu-rounded <?php echo !$clickable_navigation && !$is_pre_current_section ? 'wu-pointer-events-none' : ''; ?> <?php echo $current_section === $section_name ? 'wu-bg-gray-300 wu-text-gray-800' : 'wu-text-gray-600 hover:wu-text-gray-700'; ?>"
|
|
>
|
|
|
|
<span class="<?php echo esc_attr($section['icon']); ?> wu-align-text-bottom wu-mr-1"></span>
|
|
|
|
<?php echo $section['title']; ?>
|
|
|
|
</a>
|
|
<!-- End Menu Link -->
|
|
|
|
<?php if (!empty($section['sub-sections'])) : ?>
|
|
|
|
<!-- Sub-menu -->
|
|
<ul class="classes" v-show="false" v-cloak>
|
|
|
|
<?php foreach ($section['sub-sections'] as $sub_section_name => $sub_section) : ?>
|
|
|
|
<li class="classes">
|
|
<a href="<?php echo esc_url($page->get_section_link($section_name)."#".$sub_section_name); ?>" class="wu-block wu-py-2 wu-px-4 wu-no-underline wu-text-gray-500 hover:wu-text-gray-600 wu-text-sm">
|
|
→ <?php echo $sub_section['title']; ?>
|
|
</a>
|
|
</li>
|
|
|
|
<?php endforeach; ?>
|
|
|
|
</ul>
|
|
<!-- End Sub-menu -->
|
|
|
|
<?php endif; ?>
|
|
|
|
</li>
|
|
<!-- End Menu Item -->
|
|
|
|
<?php endforeach; ?>
|
|
|
|
</ul>
|
|
<!-- End Navigator -->
|
|
|
|
<?php if (!empty($addons)) : ?>
|
|
|
|
<!-- Addon Navigator -->
|
|
<ul class="wu-pt-4">
|
|
|
|
<li class="wu-px-4 wu-font-bold wu-uppercase wu-text-xs wu-text-gray-700">
|
|
<?php _e('Add-ons', 'wp-ultimo'); ?>
|
|
</li>
|
|
|
|
<?php foreach ($addons as $section_name => $section) : ?>
|
|
|
|
<?php
|
|
|
|
/**
|
|
* Updates the flag after the current section is looped.
|
|
*/
|
|
if ($current_section === $section_name) {
|
|
|
|
$is_pre_current_section = false;
|
|
|
|
} // end if;
|
|
|
|
?>
|
|
|
|
<!-- Menu Item -->
|
|
<li class="wu-sticky">
|
|
|
|
<!-- Menu Link -->
|
|
<a href="<?php echo esc_url($page->get_section_link($section_name)); ?>" class="wu-block wu-py-2 wu-px-4 wu-no-underline wu-text-sm wu-rounded <?php echo !$clickable_navigation && !$is_pre_current_section ? 'wu-pointer-events-none' : ''; ?> <?php echo $current_section === $section_name ? 'wu-bg-gray-300 wu-text-gray-800' : 'wu-text-gray-600 hover:wu-text-gray-700'; ?>">
|
|
|
|
<span class="<?php echo esc_attr($section['icon']); ?> wu-align-text-bottom wu-mr-1"></span>
|
|
|
|
<?php echo $section['title']; ?>
|
|
|
|
</a>
|
|
<!-- End Menu Link -->
|
|
|
|
<?php if (!empty($section['sub-sections'])) : ?>
|
|
|
|
<!-- Sub-menu -->
|
|
<ul class="classes" v-show="false" v-cloak>
|
|
|
|
<?php foreach ($section['sub-sections'] as $sub_section_name => $sub_section) : ?>
|
|
|
|
<li class="classes">
|
|
<a href="<?php echo esc_url($page->get_section_link($section_name)."#".$sub_section_name); ?>" class="wu-block wu-py-2 wu-px-4 wu-no-underline wu-text-gray-500 hover:wu-text-gray-600 wu-text-sm">
|
|
→ <?php echo $sub_section['title']; ?>
|
|
</a>
|
|
</li>
|
|
|
|
<?php endforeach; ?>
|
|
|
|
</ul>
|
|
<!-- End Sub-menu -->
|
|
|
|
<?php endif; ?>
|
|
|
|
</li>
|
|
<!-- End Menu Item -->
|
|
|
|
<?php endforeach; ?>
|
|
|
|
</ul>
|
|
<!-- End Addon Navigator -->
|
|
|
|
<?php endif; ?>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="sm:wu-col-span-8 lg:wu-col-span-6 metabox-holder">
|
|
|
|
<div class="wu-relative">
|
|
|
|
<?php
|
|
/**
|
|
* Print Side Metaboxes
|
|
*
|
|
* Allow plugin developers to add new metaboxes
|
|
*
|
|
* @since 1.8.2
|
|
* @param object Object being edited right now
|
|
*/
|
|
do_meta_boxes($screen->id, 'normal', false);
|
|
?>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="sm:wu-col-span-8 sm:wu-col-start-5 lg:wu-col-span-3 lg:wu-col-start-10 metabox-holder">
|
|
|
|
<?php
|
|
/**
|
|
* Print Normal Metaboxes
|
|
*
|
|
* Allow plugin developers to add new metaboxes
|
|
*
|
|
* @since 1.8.2
|
|
* @param object Object being edited right now
|
|
*/
|
|
do_meta_boxes('wu_settings_admin_page', 'side', false);
|
|
?>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<?php
|
|
/**
|
|
* Allow plugin developers to add scripts to the bottom of the page
|
|
*
|
|
* @since 1.8.2
|
|
* @param WU_Page WP Multisite WaaS Page instance
|
|
*/
|
|
do_action('wu_page_wizard_footer', $page);
|
|
?>
|
|
|
|
<?php wp_nonce_field(sprintf('saving_%s', $current_section), sprintf('saving_%s', $current_section), false); ?>
|
|
|
|
<?php wp_nonce_field(sprintf('saving_%s', $current_section), '_wpultimo_nonce'); ?>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
|
|
/** Not a huge fan of having this here, but it's better than having
|
|
a file for this alone. */
|
|
settings_loader = wu_block_ui('#wp-ultimo-wizard-body');
|
|
|
|
/**
|
|
* Remove the block ui after the settings loaded.
|
|
*
|
|
* @since 2.0.0
|
|
* @return void
|
|
*/
|
|
function remove_block_ui() {
|
|
|
|
settings_loader.unblock();
|
|
|
|
} // end remove_block_ui;
|
|
|
|
</script>
|