' . esc_html__( "Setup KB", "echo-knowledge-base" ) . ''; } echo self::admin_header_logo(); ?>

<?php esc_html_e( 'Echo Knowledge Base Logo', 'echo-knowledge-base' ); ?> <?php esc_html_e( 'Echo Knowledge Base Logo', 'echo-knowledge-base' ); ?>
data-target="">

'; foreach ( $admin_page_views as $page_view ) { // Optionally we can have null in $page_view, make sure we handle it correctly if ( empty( $page_view ) || ! is_array( $page_view ) ) { continue; } // Fill missing fields in admin page view configuration array with default values $page_view = self::admin_page_view_fill_missing_with_default( $page_view ); // Do not render view if the user does not have permission if ( ! current_user_can( $page_view['minimum_required_capability'] ) ) { continue; } ?>
'; ?>
$value ) { $data_escaped .= 'data-' . esc_attr( $key ) . '="' . esc_attr( $value ) . '" '; } } ?>
>
$value ) { $data_escaped .= 'data-' . esc_attr( $key ) . '="' . esc_attr( $value ) . '" '; } } ?>
>
EPKB_Admin_UI_Access::get_admin_capability(), 'secondary_tab_access_override' => [], 'active' => false, 'list_id' => '', 'list_key' => '', 'kb_config_id' => '', // Top Panel Item 'label_text' => '', 'main_class' => '', 'label_class' => '', 'icon_class' => '', // Secondary Panel Items 'secondary_tabs' => array(), // Boxes List 'list_top_actions_html' => '', 'list_bottom_actions_html' => '', 'boxes_list' => array(), 'vertical_tabs' => array(), // List footer HTML 'list_footer_html' => '', ); // Default secondary view $default_secondary = array( // Shared 'active' => false, 'list_key' => '', // Secondary Panel Item 'label_text' => '', 'main_class' => '', 'label_class' => '', 'icon_class' => '', // Secondary Boxes List 'list_top_actions_html' => '', 'list_bottom_actions_html' => '', 'boxes_list' => array(), ); // Default box $default_box = array( 'icon_class' => '', 'class' => '', 'title' => '', 'description' => '', 'html' => '', 'return_html' => false, 'extra_tags' => [], ); // Default admin form tab in vertical_tabs $default_admin_form_tab = array( 'title' => '', 'icon' => '', 'key' => '', 'active' => false, 'contents' => [], ); // Default content for admin form tab $default_admin_form_tab_content = array( 'title' => '', 'desc' => '', 'body_html' => '', 'read_more_url' => '', 'read_more_text' => '', ); // Set default view $page_view = array_merge( $default_page_view, $page_view ); // Set default boxes foreach ( $page_view['boxes_list'] as $box_index => $box_content ) { // Do not fill empty or not valid array if ( empty( $page_view['boxes_list'][$box_index] ) || ! is_array( $page_view['boxes_list'][$box_index] ) ) { continue; } $page_view['boxes_list'][$box_index] = array_merge( $default_box, $box_content ); } // Set default secondary views foreach ( $page_view['secondary_tabs'] as $secondary_index => $secondary_content ) { // Do not fill empty or not valid array if ( empty( $page_view['secondary_tabs'][$secondary_index] ) || ! is_array( $page_view['secondary_tabs'][$secondary_index] ) ) { continue; } // if minimum required capability is missed, then inherit it from upper level $secondary_content['minimum_required_capability'] = in_array( $secondary_content['list_key'], array_keys( $page_view['secondary_tab_access_override'] ) ) ? $page_view['secondary_tab_access_override'][$secondary_content['list_key']] : $secondary_content['minimum_required_capability'] = $page_view['minimum_required_capability']; $page_view['secondary_tabs'][$secondary_index] = array_merge( $default_secondary, $secondary_content ); // Set default boxes foreach ( $page_view['secondary_tabs'][$secondary_index]['boxes_list'] as $box_index => $box_content ) { // Do not fill empty or not valid array if ( empty( $page_view['secondary_tabs'][$secondary_index]['boxes_list'][$box_index] ) || ! is_array( $page_view['secondary_tabs'][$secondary_index]['boxes_list'][$box_index] ) ) { continue; } $page_view['secondary_tabs'][$secondary_index]['boxes_list'][$box_index] = array_merge( $default_box, $box_content ); } } if ( ! empty( $page_view['secondary_tab_access_override'] ) ) { $page_view['minimum_required_capability'] = reset( $page_view['secondary_tab_access_override'] ); } // Set default tabs in vertical_tabs foreach ( $page_view['vertical_tabs'] as $tab_key => $admin_form_tab ) { $page_view['vertical_tabs'][$tab_key] = array_merge( $default_admin_form_tab, $admin_form_tab ); // Set default contents in tabs foreach ( $page_view['vertical_tabs'][$tab_key]['contents'] as $content_index => $admin_form_tab_content ) { $page_view['vertical_tabs'][$tab_key]['contents'][$content_index] = array_merge( $default_admin_form_tab_content, $admin_form_tab_content ); } } return $page_view; } /** * We need to add this HTML to admin page to catch WP admin JS functionality * * @param false $include_no_css_message * @param false $support_for_old_design */ public static function admin_page_css_missing_message( $include_no_css_message=false, $support_for_old_design=false ) { ?>

'error', 'title' => __( 'Cannot load configuration.', 'echo-knowledge-base' ), 'desc' => EPKB_Utilities::contact_us_for_support() ] ); ?>