settings-tabs.php
93 lines
| 1 | <?php |
| 2 | $args = $this->args; |
| 3 | $current_tab = tutils()->array_get('settings_tab', $_GET); |
| 4 | |
| 5 | ?> |
| 6 | |
| 7 | <div id="tutor-metabox-course-settings-tabs" class="tutor-course-settings-tabs"> |
| 8 | |
| 9 | <?php |
| 10 | if ( ! $this->is_gutenberg_enable){ |
| 11 | ?> |
| 12 | <div class="settings-tabs-heading"> |
| 13 | <h3><?php _e('Course Settings', 'tutor'); ?></h3> |
| 14 | </div> |
| 15 | <?php |
| 16 | } |
| 17 | ?> |
| 18 | |
| 19 | <div class="course-settings-tabs-container"> |
| 20 | <div class="settings-tabs-navs-wrap"> |
| 21 | <ul class="settings-tabs-navs"> |
| 22 | <?php |
| 23 | $i = 0; |
| 24 | foreach ($args as $key => $arg){ |
| 25 | $i++; |
| 26 | |
| 27 | if ($current_tab){ |
| 28 | $active = $current_tab === $key ? 'active' : '' ; |
| 29 | }else{ |
| 30 | $active = $i ===1 ? 'active' : ''; |
| 31 | } |
| 32 | |
| 33 | $label = tutils()->array_get('label', $arg); |
| 34 | $icon_class = tutils()->array_get('icon_class', $arg); |
| 35 | $url = add_query_arg(array('settings_tab' => $key)); |
| 36 | |
| 37 | $icon = ''; |
| 38 | if ($icon_class){ |
| 39 | $icon = "<i class='{$icon_class}'></i>"; |
| 40 | } |
| 41 | |
| 42 | echo "<li class='{$active}'><a href='{$url}' data-target='#settings-tab-{$key}'>{$icon} {$label}</a> </li>"; |
| 43 | } ?> |
| 44 | </ul> |
| 45 | </div> |
| 46 | |
| 47 | <div class="settings-tabs-container"> |
| 48 | <?php |
| 49 | $i = 0; |
| 50 | foreach ($args as $key => $tab){ |
| 51 | $i++; |
| 52 | |
| 53 | $label = tutils()->array_get('label', $tab); |
| 54 | $callback = tutils()->array_get('callback', $tab); |
| 55 | $fields = tutils()->array_get('fields', $tab); |
| 56 | |
| 57 | if ($current_tab){ |
| 58 | $active = $current_tab === $key ? 'active' : '' ; |
| 59 | $display = $current_tab === $key ? 'block' : 'none' ; |
| 60 | }else{ |
| 61 | $active = $i ===1 ? 'active' : ''; |
| 62 | $display = $i ===1 ? 'block' : 'none' ; |
| 63 | } |
| 64 | |
| 65 | echo "<div id='settings-tab-{$key}' class='settings-tab-wrap {$active}' style='display: {$display};'>"; |
| 66 | |
| 67 | do_action("tutor_course/settings_tab_content/before", $key, $tab); |
| 68 | do_action("tutor_course/settings_tab_content/before/{$key}", $tab); |
| 69 | |
| 70 | if (tutils()->count($fields)){ |
| 71 | $this->generate_field($fields); |
| 72 | } |
| 73 | |
| 74 | /** |
| 75 | * Handling Callback |
| 76 | */ |
| 77 | if ( $callback && is_callable( $callback ) ) { |
| 78 | call_user_func( $callback, $key, $tab ); |
| 79 | } |
| 80 | |
| 81 | do_action("tutor_course/settings_tab_content/after", $key, $tab); |
| 82 | do_action("tutor_course/settings_tab_content/after/{$key}", $tab); |
| 83 | |
| 84 | echo "</div>"; |
| 85 | } |
| 86 | ?> |
| 87 | </div> |
| 88 | |
| 89 | </div> |
| 90 | |
| 91 | |
| 92 | </div> |
| 93 |