notices
7 years ago
ad-conditions-string-operators.php
7 years ago
ad-display-metabox.php
7 years ago
ad-group-edit.php
7 years ago
ad-group-list-ads.php
7 years ago
ad-group-list-form-row.php
7 years ago
ad-group-list-header.php
7 years ago
ad-group-list-row.php
7 years ago
ad-group.php
7 years ago
ad-info-after-textarea.php
7 years ago
ad-info-bottom.php
7 years ago
ad-info-top.php
7 years ago
ad-info.php
7 years ago
ad-list-details-column.php
7 years ago
ad-list-filters.php
7 years ago
ad-list-no-ads.php
7 years ago
ad-list-shortcode-column.php
7 years ago
ad-list-timing-column.php
7 years ago
ad-main-metabox.php
7 years ago
ad-output-metabox.php
7 years ago
ad-parameters-metabox.php
7 years ago
ad-parameters-size.php
7 years ago
ad-submitbox-meta.php
7 years ago
ad-visitor-metabox.php
7 years ago
checks.php
7 years ago
feedback-disable.php
7 years ago
index.php
7 years ago
overview-addons-line.php
7 years ago
overview-notice-row.php
7 years ago
overview-notices.php
7 years ago
overview-widget.php
7 years ago
overview.php
7 years ago
pitch-bundle.php
7 years ago
pitch-pro-tab.php
7 years ago
pitch-tracking.php
7 years ago
placement-injection-top.php
7 years ago
placements-ad-label-position.php
7 years ago
placements-ad-label.php
7 years ago
placements-content-index.php
7 years ago
placements-item.php
7 years ago
placements.php
7 years ago
post-ad-settings-metabox.php
7 years ago
setting-license.php
7 years ago
setting-target.php
7 years ago
settings-disable-ads.php
7 years ago
settings.php
7 years ago
support-callout.php
7 years ago
support.php
7 years ago
settings.php
122 lines
| 1 | <?php |
| 2 | /** |
| 3 | * the view for the settings page |
| 4 | */ |
| 5 | |
| 6 | // array with setting tabs for frontend |
| 7 | $setting_tabs = apply_filters( |
| 8 | 'advanced-ads-setting-tabs', array( |
| 9 | 'general' => array( |
| 10 | 'page' => Advanced_Ads_Admin::get_instance()->plugin_screen_hook_suffix, |
| 11 | 'group' => ADVADS_SLUG, |
| 12 | 'tabid' => 'general', |
| 13 | 'title' => __( 'General', 'advanced-ads' ), |
| 14 | ), |
| 15 | ) |
| 16 | ); |
| 17 | ?><div class="wrap"> |
| 18 | <h1><?php echo esc_html( get_admin_page_title() ); ?></h1> |
| 19 | <?php Advanced_Ads_Checks::show_issues(); ?> |
| 20 | |
| 21 | <?php settings_errors(); ?> |
| 22 | <div class="nav-tab-wrapper" id="advads-tabs"> |
| 23 | <?php foreach ( $setting_tabs as $_setting_tab_id => $_setting_tab ) : ?> |
| 24 | <a class="nav-tab" id="<?php echo $_setting_tab_id; ?>-tab" |
| 25 | href="#top#<?php echo $_setting_tab_id; ?>"><?php echo $_setting_tab['title']; ?></a> |
| 26 | <?php endforeach; ?> |
| 27 | <a class="nav-tab" id="support-tab" |
| 28 | href="#top#support"><?php _e( 'Support', 'advanced-ads' ); ?></a> |
| 29 | </div> |
| 30 | <?php foreach ( $setting_tabs as $_setting_tab_id => $_setting_tab ) : ?> |
| 31 | <div id="<?php echo $_setting_tab_id; ?>" class="advads-tab"> |
| 32 | <div id="advads-sub-menu-<?php echo $_setting_tab_id; ?>" class="advads-tab-sub-menu"></div> |
| 33 | <form class="advads-settings-tab-main-form" method="post" action="options.php"> |
| 34 | <?php |
| 35 | if ( isset( $_setting_tab['group'] ) ) { |
| 36 | settings_fields( $_setting_tab['group'] ); |
| 37 | } |
| 38 | do_settings_sections( $_setting_tab['page'] ); |
| 39 | |
| 40 | do_action( 'advanced-ads-settings-form', $_setting_tab_id, $_setting_tab ); |
| 41 | if ( isset( $_setting_tab['group'] ) && 'advanced-ads-licenses' !== $_setting_tab['group'] ) { |
| 42 | submit_button( __( 'Save settings on this page', 'advanced-ads' ) ); |
| 43 | } |
| 44 | ?> |
| 45 | </form> |
| 46 | <?php do_action( 'advanced-ads-settings-tab-after-form', $_setting_tab_id, $_setting_tab ); ?> |
| 47 | <?php if ( 'general' === $_setting_tab_id ) : ?> |
| 48 | <ul> |
| 49 | <li><a href="<?php echo esc_url( admin_url( 'admin.php?page=advanced-ads-import-export' ) ); ?>"><?php _e( 'Import & Export', 'advanced-ads' ); ?></a></li> |
| 50 | </ul> |
| 51 | <?php endif; ?> |
| 52 | </div> |
| 53 | <?php endforeach; ?> |
| 54 | <div id="support" class="advads-tab"> |
| 55 | <?php require_once ADVADS_BASE_PATH . 'admin/views/support.php'; ?> |
| 56 | </div> |
| 57 | <?php |
| 58 | do_action( 'advanced-ads-additional-settings-form' ); |
| 59 | // print the filesystem credentials modal if needed |
| 60 | Advanced_Ads_Filesystem::get_instance()->print_request_filesystem_credentials_modal(); |
| 61 | ?> |
| 62 | |
| 63 | </div> |
| 64 | <script> |
| 65 | // menu tabs |
| 66 | jQuery( '#advads-tabs' ).find( 'a' ).click(function () { |
| 67 | jQuery( '#advads-tabs' ).find( 'a' ).removeClass( 'nav-tab-active' ); |
| 68 | jQuery( '.advads-tab' ).removeClass( 'active' ); |
| 69 | |
| 70 | var id = jQuery( this ).attr( 'id' ).replace( '-tab', '' ); |
| 71 | jQuery( '#' + id ).addClass( 'active' ); |
| 72 | jQuery( this ).addClass( 'nav-tab-active' ); |
| 73 | }); |
| 74 | |
| 75 | // activate specific or first tab |
| 76 | |
| 77 | var active_tab = window.location.hash.replace( '#top#', '' ); |
| 78 | if (active_tab == '' || active_tab == '#_=_') { |
| 79 | active_tab = jQuery( '.advads-tab' ).attr( 'id' ); |
| 80 | } |
| 81 | jQuery( '#' + active_tab ).addClass( 'active' ); |
| 82 | jQuery( '#' + active_tab + '-tab' ).addClass( 'nav-tab-active' ); |
| 83 | jQuery( '.nav-tab-active' ).click(); |
| 84 | // set all tab urls |
| 85 | advads_set_tab_hashes(); |
| 86 | |
| 87 | // While user is already on the Settings page, find links (in admin menu, |
| 88 | // in the Checks at the top) to particular setting tabs and open them on click. |
| 89 | jQuery( '.toplevel_page_advanced-ads a[href*="#top"], .message a[href*="#top"]' ).click( function() { |
| 90 | // Already on the Settings page, so simulate another click on a tab. |
| 91 | if ( window.location.href.indexOf( 'page=advanced-ads-settings' ) ) { |
| 92 | // Extract the tab id from the url. |
| 93 | var tab = jQuery( this ).attr( 'href' ).split( 'advanced-ads-settings#top#' )[1]; |
| 94 | jQuery( '#advads-tabs' ).find( 'a#' + tab + '-tab' ).click(); |
| 95 | } |
| 96 | }); |
| 97 | |
| 98 | // dynamically generate the sub-menu |
| 99 | jQuery( '.advads-tab-sub-menu' ).each( function( key, e ){ |
| 100 | // abort if scrollIntoView is not supported; we can’t use anchors because they are used for tabs already |
| 101 | if (typeof e.scrollIntoView !== "function") { return; }; |
| 102 | // get all h2 headlines |
| 103 | advads_settings_parent_tab = jQuery( e ).parent( '.advads-tab'); |
| 104 | var headlines = advads_settings_parent_tab.find( 'h2' ); |
| 105 | // create list |
| 106 | if( headlines.length ){ |
| 107 | advads_submenu_list = jQuery('<ul>'); |
| 108 | headlines.each( function( key, h ){ |
| 109 | // create anchor for this headline |
| 110 | var headline_id = 'advads-tab-headline-' + advads_settings_parent_tab.attr( 'id' ) + key; |
| 111 | jQuery( h ).attr( 'id', headline_id ); |
| 112 | // place the link in the top menu |
| 113 | var text = text = h.textContent || h.innerText; |
| 114 | jQuery( '<li><a onclick="document.getElementById(\'' + headline_id + '\').scrollIntoView()">' + text + '</a></li>' ).appendTo( advads_submenu_list ); |
| 115 | }); |
| 116 | // place the menu |
| 117 | advads_submenu_list.appendTo( e ); |
| 118 | } |
| 119 | }); |
| 120 | |
| 121 | </script> |
| 122 |