'; $pages_arr = array( 'wpbc' => array( 'type' => 'menu', 'title' => __( 'Bookings', 'booking' ), 'font_icon' => 'wpbc-bi-collection', ), 'wpbc-divider-1' => array( 'type' => 'divider', ), 'wpbc-availability' => array( 'type' => 'menu', 'title' => __( 'Availability', 'booking' ), 'font_icon' => 'wpbc-bi-calendar-week', ), ); if ( class_exists('wpdev_bk_biz_m') ) { $pages_arr['wpbc-prices'] = array( 'type' => 'menu', 'title' => __( 'Prices', 'booking' ), 'font_icon' => 'wpbc-bi-cash-stack', ); } if ( class_exists('wpdev_bk_personal') ) { $pages_arr['wpbc-resources'] = array( 'type' => 'menu', 'title' => __( 'Resources', 'booking' ) . ' / ' . __( 'unique calendars', 'booking' ), 'font_icon' => 'wpbc-bi-list', ); } else { $pages_arr['wpbc-resources'] = array( 'type' => 'menu', 'title' => __( 'Resource', 'booking' ) . ' / ' . __( 'Publish', 'booking' ), 'font_icon' => 'wpbc-bi-list', ); } $pages_arr['wpbc-divider-2'] = array( 'type' => 'divider', ); $pages_arr['wpbc-settings'] = array( 'type' => 'menu', 'title' => __( 'Settings', 'booking' ), 'font_icon' => 'wpbc_icn_settings', ); return $pages_arr; } /** * Show Left Vaertical Navigation Bar * * @param array $args - parameters. * * @return void */ function wpbc_ui__left_vertical_nav( $args =array() ) { $defaults = array( 'attr' => array(), ); $params = wp_parse_args( $args, $defaults ); // Ability to click on panel, only if there 'min' class - panel minimized! echo '
'; // FixIn: 10.12.1.7. wpbc_ui__vert_left_bar__side_button__do_compact(); wpbc_ui__vert_left_bar__side_button__do_max(); $active_page_arr = array( 'active_page' => $args['active_page'], // wpbc-settings. 'active_tab' => $args ['active_tab'], // calendar_appearance. 'active_subtab' => $args['active_subtab'], // calendar_appearance_skin. ); // Available Main Menu - slug => titles. $root_menu_arr = wpbc_ui__get_root_menu_arr(); echo '
'; $is_show_all_menus = true; if ( ! $is_show_all_menus ) { wpbc_ui__vert_left_bar__section__root_menu( $root_menu_arr ); } else { // wpbc_ui_el__divider_horizontal(); echo '
'; wpbc_ui__vert_left_bar__do_compact(); wpbc_ui__vert_left_bar__do_max(); echo '
'; echo '
'; } // Loop to show all main sections in vertical menu. foreach ( $root_menu_arr as $main_page_slug => $root_menu_options_arr ) { if ( 'menu' !== $root_menu_options_arr['type'] ) { continue; } $page_title = $root_menu_options_arr['title']; $is_expanded = ( $main_page_slug === $active_page_arr['active_page'] ); if ( $is_show_all_menus ) { echo '
'; wpbc_ui__vert_menu__show_root_section_header( $main_page_slug, $page_title ); } echo '
'; // Show only active page settings list. if ( $main_page_slug !== $active_page_arr['active_page'] ) { //continue; } $page_item_arr = $args['page_nav_tabs'][ $main_page_slug ]; if ( ! $is_show_all_menus ) { // Section Header. echo '
'; wpbc_ui__vert_menu__show_section_header_go_back( $page_title ); wpbc_ui__vert_left_bar__do_compact(); wpbc_ui__vert_left_bar__do_max(); echo '
'; wpbc_ui_el__divider_horizontal(); } foreach ( $page_item_arr as $main_menu_slug => $menu_item_arr ) { $folder_style = ( ! empty( $menu_item_arr['folder_style'] ) ) ? esc_attr( $menu_item_arr['folder_style'] ) : ''; $folder_css = ''; if ( ( ! empty( $menu_item_arr['subtabs'] ) ) && ( ! empty( $menu_item_arr['is_active'] ) ) ) { $folder_css .= ' expanded'; } echo '
'; if ( empty( $menu_item_arr['type'] ) ) { $menu_item_arr['type'] = 'main'; } switch ( $menu_item_arr['type'] ) { case 'separator': wpbc_ui_el__divider_horizontal(); break; case 'html': wpbc_ui__vert_menu__item_html( $main_menu_slug, $menu_item_arr ); break; default: wpbc_ui__vert_menu__item_main( $main_menu_slug, $menu_item_arr ); } foreach ( $menu_item_arr['subtabs'] as $main_submenu_slug => $submenu_item_arr ) { if ( empty( $submenu_item_arr['type'] ) ) { $submenu_item_arr['type'] = 'subtab'; } switch ( $submenu_item_arr['type'] ) { case 'subtab': wpbc_ui__vert_menu__item_sub( $main_submenu_slug, $submenu_item_arr ); break; case 'separator': wpbc_ui__vert_menu__item_separtor( $main_submenu_slug, $submenu_item_arr ); break; case 'html': wpbc_ui__vert_menu__item_html( $main_submenu_slug, $submenu_item_arr ); break; default: } } echo '
'; } if ( $is_show_all_menus ) { echo '
'; } echo '
'; } // Loop to show all main sections in vertical menu. if ( $is_show_all_menus ) { echo '
'; } $is_show_up = wpbc_is_show_up(); // Show upgrade icon only for the Free version here. $is_show_up = ( $is_show_up && ( ! class_exists( 'wpdev_bk_personal' ) ) ); if ( $is_show_up ) { ?>'; if ( $is_show_up ) { $url = wpbc_up_link(); ?> '; wpbc_start_element_scrollable__with_simplebar( '.wpbc_ui_el__vert_left_bar__content' ); } /** * Set Scrolable Element with Simplebar js library. * * @param string $jq_element - e.g. '.wpbc_ui_el__vert_left_bar__content' * @param string $options - e.g. 'autoHide: false, scrollbarMinSize: 10' - options for the Simplebar. See more: https://www.npmjs.com/package/simplebar#1-documentation * * @return void */ function wpbc_start_element_scrollable__with_simplebar( $jq_element, $options = 'autoHide: false' ) { // FixIn: 10.12.2.3. // Initial example: new SimpleBar( jQuery( '.wpbc_ui_el__vert_left_bar__content' )[0], { autoHide: false } );. ?> __( 'Toggle side menu', 'booking' ), 'position' => 'right', ); wpbc_ui_el__a( $el_arr ); } /** * Show element - "Max - Vertical Navigation" panel * * @return void */ function wpbc_ui__vert_left_bar__do_max() { $el_arr = array(); $el_arr['container_style'] = ''; $el_arr['container_class'] = 'wpbc_ui__top_nav__btn_open_left_vertical_nav wpbc_ui__hide hide_in_compact_mode0'; $el_arr['onclick'] = ' wpbc_admin_ui__sidebar_left__do_max( true ); '; $el_arr['font_icon'] = 'wpbc-bi-box-arrow-right'; $el_arr['hint'] = array( 'title' => __( 'Open side menu', 'booking' ), 'position' => 'top', ); wpbc_ui_el__a( $el_arr ); } /** * Show element - "Compact - Vertical Navigation" panel * * @return void */ function wpbc_ui__vert_left_bar__do_compact() { $el_arr = array(); $el_arr['container_style'] = ''; $el_arr['container_class'] = 'wpbc_ui__top_nav__btn_hide_left_vertical_nav'; $el_arr['onclick'] = ' wpbc_admin_ui__sidebar_left__do_compact( true ); '; $el_arr['font_icon'] = 'wpbc-bi-box-arrow-left'; $el_arr['hint'] = array( 'title' => __( 'Set side menu compact', 'booking' ), 'position' => 'top', ); wpbc_ui_el__a( $el_arr ); } /** * Show element - "X - Close (none)" panel * * @return void */ function wpbc_ui__vert_left_bar__do_none() { $el_arr = array(); $el_arr['container_style'] = ''; $el_arr['container_class'] = 'wpbc_ui__top_nav__btn_hide_left_vertical_nav'; $el_arr['onclick'] = ' wpbc_admin_ui__sidebar_left__do_hide(); '; $el_arr['font_icon'] = 'wpbc_icn_close'; $el_arr['hint'] = array( 'title' => __( 'Close side menu', 'booking' ), 'position' => 'bottom', ); wpbc_ui_el__a( $el_arr ); } /** * Show element - "_ - Min" panel * * @return void */ function wpbc_ui__vert_left_bar__do_min() { $el_arr = array(); $el_arr['container_style'] = ''; $el_arr['container_class'] = 'wpbc_ui__top_nav__btn_hide_left_vertical_nav'; $el_arr['onclick'] = ' wpbc_admin_ui__sidebar_left__do_min( true ); '; $el_arr['font_icon'] = 'wpbc_icn_minimize'; $el_arr['hint'] = array( 'title' => __( 'Minimize side menu', 'booking' ), 'position' => 'bottom', ); wpbc_ui_el__a( $el_arr ); } /* == Elements in Left menu ========================================================================================= */ /** * Show Section Header - e.g. ' SETTINGS ' * * @param string $page_title - title to show. * * @return void */ function wpbc_ui__vert_menu__show_section_header_go_back( $page_title ) { // FixIn: 10.12.1.7. ?>
'; // wpbc_ui__vert_menu__show_section_header( __( 'Main menu', 'booking' ) ); wpbc_ui__vert_left_bar__do_compact(); wpbc_ui__vert_left_bar__do_max(); echo '
'; wpbc_ui_el__divider_horizontal(); foreach ( $pages_arr as $page_slug => $main_page_options_arr ) { switch ( $main_page_options_arr['type'] ) { case 'divider': wpbc_ui_el__divider_horizontal(); break; case 'menu': default: $page_title = $main_page_options_arr['title']; echo ''; } } ?>
' . wp_kses_post( $page_title ) . ''; } /** * Show main menu item. * * @param string $menu_slug - 'calendar_appearance'. * @param array $menu_item_arr - [ [title] => Skin * [page_title] => Calendar General Settings 3 * [hint] => Calendar General Settings 2 * [link] => * [position] => * [css_classes] => * [icon] => * [font_icon] => wpbc-bi-calendar2-range * [default] => * [disabled] => * [hided] => * [is_active] => 1 * [url] => http://beta/wp-admin/admin.php?page=wpbc-settings&tab=calendar_appearance * [subtabs] => [....] * ] * * @return void */ function wpbc_ui__vert_menu__item_main( $menu_slug, $menu_item_arr ) { $defaults = array( 'title' => '', 'page_title' => '', 'hint' => '', 'link' => '', 'position' => '', 'css_classes' => '', 'icon' => '', 'font_icon' => '', 'default' => false, 'disabled' => false, 'hided' => false, 'is_active' => 0, 'url' => '', 'subtabs' => array(), ); $menu_item_arr = wp_parse_args( $menu_item_arr, $defaults ); // CSS Classes. $menu_css_arr = array(); $menu_css_arr[] = 'wpbc_ui_el__vert_nav_item'; $menu_css_arr[] = 'wpbc_ui_el__vert_nav_item__' . esc_attr( $menu_slug ); if ( ( empty( $menu_item_arr['subtabs'] ) ) && ( ! empty( $menu_item_arr['is_active'] ) ) ) { $menu_css_arr[] = 'active'; } if ( isset( $menu_item_arr['css_classes'] ) ) { $menu_css_arr[] = $menu_item_arr['css_classes']; } $menu_css_str = implode( ' ', $menu_css_arr ); // Styles. $menu_style_str = ( isset( $menu_item_arr['style'] ) ) ? $menu_item_arr['style'] : ''; ?>
onclick="javascript:" href="javascript:void(0);" href="" class="wpbc_ui_el__vert_nav_item__a wpbc_ui_el__vert_nav_item__single">
"subtab", * title = "Skin Search Form Layout 1" * page_title = "Skin Search Settings 2" * hint = "Skin Search Settings 3" * position = "" * css_classes = "" * default = true * disabled = false * checkbox = false * content = "content" * show_checked_icon = false * is_use_new_settings_skin = true * is_active = true * url = "http://beta/wp-admin/admin.php?page=wpbc-settings&tab=calendar_appearance&subtab=calendar_appearance_skin" * ]. * * @return void */ function wpbc_ui__vert_menu__item_sub( $menu_slug, $menu_item_arr ) { // CSS Classes. $menu_css_arr = array(); $menu_css_arr[] = 'wpbc_ui_el__vert_nav_item'; $menu_css_arr[] = 'wpbc_ui_el__vert_nav_item_sub'; // $menu_css_arr[] = 'hide_in_compact_mode'; $menu_css_arr[] = 'wpbc_ui_el__vert_nav_item__' . esc_attr( $menu_slug ); if ( ! empty( $menu_item_arr['is_active'] ) ) { $menu_css_arr[] = 'active'; } if ( isset( $menu_item_arr['css_classes'] ) ) { $menu_css_arr[] = $menu_item_arr['css_classes']; } $menu_css_str = implode( ' ', $menu_css_arr ); // Styles. $menu_style_str = ( isset( $menu_item_arr['style'] ) ) ? $menu_item_arr['style'] : ''; ?>
onclick="javascript:" href="javascript:void(0);" href="" > '; } else { echo ''; } } // Icon at Right side. Usually: 'wpbc-bi-question-circle' | 'wpbc-bi-arrow-down-short' | 'wpbc-bi-arrow-up-right-square'. if ( ! empty( $menu_item_arr['font_icon_right'] ) ) { ?>
"separator", * 'is_active' => false, * 'url' => "http://beta/wp-admin/admin.php?page=wpbc-settings&tab=calendar_appearance&subtab=calendar_appearance_skin_sep" * ]. * * @return void */ function wpbc_ui__vert_menu__item_separtor( $menu_slug, $menu_item_arr ) { $args = array( 'container_class' => 'wpbc_ui_el__vert_nav_item_sub' ); wpbc_ui_el__divider_horizontal( $args ); } /** * HTML * * @param string $menu_slug - 'calendar_appearance'. * @param array $menu_item_arr - [ * 'type' = "htnl" * 'html' = "Form Fields" * ]. * * @return void */ function wpbc_ui__vert_menu__item_html( $menu_slug, $menu_item_arr ) { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo $menu_item_arr['html']; } // FixIn: 10.12.1.7. /** * Show element - "Compact - Vertical Navigation" panel * * @return void */ function wpbc_ui__vert_left_bar__side_button__do_compact() { ?> array(), ); $params = wp_parse_args( $args, $defaults ); $active_page_arr = array( 'active_page' => $args['active_page'], // wpbc-settings. 'active_tab' => $args ['active_tab'], // calendar_appearance. 'active_subtab' => $args['active_subtab'], // calendar_appearance_skin. ); // Ability to click on panel, only if there 'min' class - panel minimized! echo '
'; echo '
'; echo '
'; do_action( 'wpbc_ui__right_vertical_sidebar_compact_content', $active_page_arr ); echo '
'; echo '
'; echo '
'; wpbc_start_element_scrollable__with_simplebar( '.wpbc_ui_el__vert_right_bar_compact__wrapper .wpbc_ui_el__vert_right_bar__content' ); } /** * Show Right Vertical SideBar * * @param array $args - parameters. * * @return void */ function wpbc_ui__right_vertical_sidebar( $args =array() ) { $defaults = array( 'attr' => array(), ); $params = wp_parse_args( $args, $defaults ); // Ability to click on panel, only if there 'min' class - panel minimized! echo '
'; // FixIn: 10.12.1.7. wpbc_ui__vert_right_bar__side_button__do_compact(); wpbc_ui__vert_right_bar__side_button__do_max(); $active_page_arr = array( 'active_page' => $args['active_page'], // wpbc-settings. 'active_tab' => $args ['active_tab'], // calendar_appearance. 'active_subtab' => $args['active_subtab'], // calendar_appearance_skin. ); echo '
'; // wpbc_ui_el__divider_horizontal(); echo '
'; wpbc_ui__vert_right_bar__do_compact(); wpbc_ui__vert_right_bar__do_max(); echo '
'; echo '
'; do_action( 'wpbc_ui__right_vertical_sidebar_content', $active_page_arr ); echo '
'; echo '
'; echo '
'; wpbc_start_element_scrollable__with_simplebar( '.wpbc_ui_el__vert_right_bar__wrapper .wpbc_ui_el__vert_right_bar__content' ); } /** * Show element - "Compact - Vertical Navigation" panel * * @return void */ function wpbc_ui__vert_right_bar__side_button__do_compact() { ?> __( 'Toggle side menu', 'booking' ), 'position' => 'left', ); wpbc_ui_el__a( $el_arr ); } /** * Show element - "Max - Vertical Navigation" panel * * @return void */ function wpbc_ui__vert_right_bar__do_max() { $el_arr = array(); $el_arr['container_style'] = ''; $el_arr['container_class'] = 'wpbc_ui__top_nav__btn_open_right_vertical_nav wpbc_ui__hide hide_in_compact_mode0'; $el_arr['onclick'] = ' wpbc_admin_ui__sidebar_right__do_max(); '; $el_arr['font_icon'] = 'wpbc-bi-box-arrow-left'; $el_arr['hint'] = array( 'title' => __( 'Open side menu', 'booking' ), 'position' => 'top', ); wpbc_ui_el__a( $el_arr ); } /** * Show element - "Compact - Vertical Navigation" panel * * @return void */ function wpbc_ui__vert_right_bar__do_compact() { $el_arr = array(); $el_arr['container_style'] = ''; $el_arr['container_class'] = 'wpbc_ui__top_nav__btn_hide_right_vertical_nav'; $el_arr['onclick'] = ' wpbc_admin_ui__sidebar_right__do_compact(); '; $el_arr['font_icon'] = 'wpbc-bi-box-arrow-right'; $el_arr['hint'] = array( 'title' => __( 'Set side menu compact', 'booking' ), 'position' => 'top', ); wpbc_ui_el__a( $el_arr ); } /** * Show element - "X - Close (none)" panel * * @return void */ function wpbc_ui__vert_right_bar__do_none() { $el_arr = array(); $el_arr['container_style'] = ''; $el_arr['container_class'] = 'wpbc_ui__top_nav__btn_hide_right_vertical_nav'; $el_arr['onclick'] = ' wpbc_admin_ui__sidebar_right__do_hide(); '; $el_arr['font_icon'] = 'wpbc_icn_close'; $el_arr['hint'] = array( 'title' => __( 'Close side menu', 'booking' ), 'position' => 'bottom', ); wpbc_ui_el__a( $el_arr ); } /** * Show element - "_ - Min" panel * * @return void */ function wpbc_ui__vert_right_bar__do_min() { $el_arr = array(); $el_arr['container_style'] = ''; $el_arr['container_class'] = 'wpbc_ui__top_nav__btn_hide_right_vertical_nav'; $el_arr['onclick'] = ' wpbc_admin_ui__sidebar_right__do_min(); '; $el_arr['font_icon'] = 'wpbc_icn_minimize'; $el_arr['hint'] = array( 'title' => __( 'Minimize side menu', 'booking' ), 'position' => 'bottom', ); wpbc_ui_el__a( $el_arr ); }