';
$pages_arr = array(
'wpbc' => array(
'type' => 'menu',
'title' => __( 'Bookings', 'booking' ),
'font_icon' => 'wpbc-bi-collection',
),
'wpbc-divider-1' => array(
'type' => 'divider',
),
);
$pages_arr['wpbc-resources'] = array(
'type' => 'menu',
'title' => __( 'Resources', 'booking' ),
'font_icon' => 'wpbc-bi-list',
);
$pages_arr['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',
);
}
$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.
);
if ( function_exists( 'wpbc_booking_modes_v3_compile_sidebar_navigation' ) ) {
$args['page_nav_tabs'] = wpbc_booking_modes_v3_compile_sidebar_navigation( $args['page_nav_tabs'] );
}
// Available Main Menu - slug => titles.
$root_menu_arr = wpbc_ui__get_root_menu_arr();
if ( function_exists( 'wpbc_booking_modes_v3_compile_root_navigation' ) ) {
$root_menu_arr = wpbc_booking_modes_v3_compile_root_navigation( $root_menu_arr, $args['page_nav_tabs'] );
}
// A mode may display an existing controller route below a different presentation group.
foreach ( $args['page_nav_tabs'] as $presentation_page_slug => $presentation_tabs ) {
if ( ! is_array( $presentation_tabs ) ) {
continue;
}
foreach ( $presentation_tabs as $presentation_tab ) {
if ( is_array( $presentation_tab ) && ! empty( $presentation_tab['is_active'] ) ) {
$active_page_arr['active_page'] = $presentation_page_slug;
break 2;
}
}
}
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_min();
//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_v3_standalone = ! empty( $root_menu_options_arr['mode_standalone'] );
// Respect a V3 root's explicit initial state while retaining the original Settings behavior for V1.
if ( $is_v3_standalone ) {
$is_expanded = true;
} elseif ( isset( $root_menu_options_arr['mode_expanded'] ) ) {
$is_expanded = 'On' === $root_menu_options_arr['mode_expanded']
|| ( 'when_active' === $root_menu_options_arr['mode_expanded'] && $main_page_slug === $active_page_arr['active_page'] );
} else {
$is_expanded = ( 'wpbc-settings' !== $main_page_slug ) || ( $main_page_slug === $active_page_arr['active_page'] );
}
if ( $is_show_all_menus ) {
echo '
';
$mode_font_icon = isset( $root_menu_options_arr['mode_font_icon'] ) ? $root_menu_options_arr['mode_font_icon'] : '';
if ( ! $is_v3_standalone ) {
wpbc_ui__vert_menu__show_root_section_header(
$main_page_slug,
$page_title,
$mode_font_icon,
isset( $root_menu_options_arr['mode_expanded'] ),
$is_expanded
);
}
}
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();
}
if ( function_exists( 'wpbc_booking_modes_v3_compile_sidebar_navigation' ) ) {
wpbc_ui__vert_menu__render_v3_nodes( $page_item_arr );
} else {
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 = '';
$is_folder_expanded = ! empty( $menu_item_arr['subtabs'] ) && ! empty( $menu_item_arr['is_active'] );
if ( isset( $menu_item_arr['_wpbc_v3_expanded'] ) ) {
$is_folder_expanded = 'On' === $menu_item_arr['_wpbc_v3_expanded']
|| ( 'when_active' === $menu_item_arr['_wpbc_v3_expanded'] && $is_folder_expanded );
}
if ( $is_folder_expanded ) {
$folder_css .= ' expanded';
}
if ( ! empty( $menu_item_arr['_wpbc_v3_branch_css_classes'] ) ) {
$folder_css .= ' ' . $menu_item_arr['_wpbc_v3_branch_css_classes'];
}
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_free_upgrade();
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' );
}
/**
* Render an arbitrarily nested V3 sidebar through the existing row functions.
*
* Top-level and disclosure nodes retain the existing main-row markup. Nested
* leaves retain the existing subrow markup, so the recursive traversal adds no
* new visual system or navigation-only asset.
*
* @param array $navigation_nodes Prepared V3 navigation nodes.
* @param int $depth Zero-based sidebar depth.
*
* @return void
*/
function wpbc_ui__vert_menu__render_v3_nodes( $navigation_nodes, $depth = 0 ) {
foreach ( $navigation_nodes as $menu_slug => $menu_item_arr ) {
if ( ! is_array( $menu_item_arr ) ) {
continue;
}
$subtabs = isset( $menu_item_arr['subtabs'] ) && is_array( $menu_item_arr['subtabs'] ) ? $menu_item_arr['subtabs'] : array();
$has_children = ! empty( $subtabs );
$item_type = empty( $menu_item_arr['type'] ) ? ( 0 === $depth || $has_children ? 'main' : 'subtab' ) : $menu_item_arr['type'];
if ( 0 < $depth && ! $has_children ) {
switch ( $item_type ) {
case 'separator':
wpbc_ui__vert_menu__item_separtor( $menu_slug, $menu_item_arr );
break;
case 'html':
wpbc_ui__vert_menu__item_html( $menu_slug, $menu_item_arr );
break;
default:
wpbc_ui__vert_menu__item_sub( $menu_slug, $menu_item_arr );
}
continue;
}
$folder_style = ! empty( $menu_item_arr['folder_style'] ) ? $menu_item_arr['folder_style'] : '';
$folder_css = '';
$is_expanded = $has_children && ! empty( $menu_item_arr['is_active'] );
if ( isset( $menu_item_arr['_wpbc_v3_expanded'] ) ) {
$is_expanded = 'On' === $menu_item_arr['_wpbc_v3_expanded']
|| ( 'when_active' === $menu_item_arr['_wpbc_v3_expanded'] && $is_expanded );
}
if ( $is_expanded ) {
$folder_css .= ' expanded';
}
if ( ! empty( $menu_item_arr['_wpbc_v3_branch_css_classes'] ) ) {
$folder_css .= ' ' . $menu_item_arr['_wpbc_v3_branch_css_classes'];
}
echo '
';
switch ( $item_type ) {
case 'separator':
wpbc_ui_el__divider_horizontal();
break;
case 'html':
wpbc_ui__vert_menu__item_html( $menu_slug, $menu_item_arr );
break;
default:
wpbc_ui__vert_menu__item_main( $menu_slug, $menu_item_arr );
}
if ( $has_children ) {
wpbc_ui__vert_menu__render_v3_nodes( $subtabs, $depth + 1 );
}
echo '
';
}
}
/**
* 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';
// User Save Preferences of other pages (saved collapsed left menu).
// $el_arr['onclick'] = 'event.stopPropagation(); wpbc_admin_ui__sidebar_left__do_min( true ); ';
// Do NOT - Save User Preferences of other pages (not save collapsed left menu).
$el_arr['onclick'] = 'event.stopPropagation(); wpbc_admin_ui__sidebar_left__do_min(); ';
$el_arr['font_icon'] = 'wpbc_icn_close'; //'wpbc_icn_minimize';
$el_arr['hint'] = array(
'title' => __( 'Hide', 'booking' ),
'position' => 'right',
);
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'] : '';
?>
"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'] : '';
?>
"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 '
';
/**
* Render an optional page-specific footer outside the scrollable inspector.
*
* Callbacks should render the complete footer element and use the native
* `wpbc_ui_el__vert_right_bar__footer_section` class for positioning.
*
* @param array $active_page_arr Active page, tab, and subtab identifiers.
*/
do_action( 'wpbc_ui__right_vertical_sidebar_footer', $active_page_arr );
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 );
}