<?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>