PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.37.2
Advanced Ads – Ad Manager & AdSense v1.37.2
2.0.23 2.0.22 2.0.21 1.38.0 1.39.0 1.39.1 1.39.2 1.39.3 1.39.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.40.0 1.40.1 1.40.2 1.41.0 1.42.0 1.42.1 1.42.2 1.43.0 1.44.0 1.44.1 1.45.0 1.45.1 1.46.0 1.47.0 1.47.1 1.47.2 1.47.3 1.47.4 1.47.5 1.48.0 1.48.1 1.49.0 1.5.0 1.5.0.1 1.5.1 1.5.2 1.5.2.1 1.5.4 1.5.4.1 1.5.5 1.50.0 1.51.0 1.51.1 1.51.2 1.51.3 1.52.0 1.52.1 1.52.2 1.52.3 1.52.4 1.53.0 1.53.1 1.53.2 1.54.0 1.54.1 1.55.0 1.56.0 1.56.1 1.56.2 1.56.3 1.56.4 1.6 1.6.1 1.6.10 1.6.10.1 1.6.10.2 1.6.11 1.6.11.1 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.17.1 1.6.17.2 1.6.2 1.6.2.1 1.6.3 1.6.4 1.6.4.1 1.6.5 1.6.6 1.6.6.1 1.6.7 1.6.7.1 1.6.8 1.6.8.1 1.6.8.2 1.6.8.3 1.6.9 1.6.9.1 1.6.9.2 1.6.9.3 1.6.9.4 1.7 1.7.0.1 1.7.0.2 1.7.0.3 1.7.1 1.7.1.1 1.7.1.2 1.7.1.3 1.7.1.4 1.7.1.5 1.7.10 trunk 1.7.11 1.0.1 1.7.12 1.0.2 1.7.13 1.0.3 1.7.14 1.1.0 1.7.15 1.1.1 1.7.16 1.1.2 1.7.17 1.1.3 1.7.18 1.10 1.7.19 1.10.1 1.7.2 1.10.10 1.7.2.1 1.10.11 1.7.20 1.10.12 1.7.21 1.10.2 1.7.22 1.10.3 1.7.23 1.10.4 1.7.24 1.10.5 1.7.25 1.10.6 1.7.3 1.10.7 1.7.4 1.10.8 1.7.4.1 1.10.9 1.7.4.2 1.11 1.7.4.3 1.11.1 1.7.4.4 1.11.2 1.7.4.5 1.12 1.7.5 1.13 1.7.5.1 1.13.1 1.7.6 1.13.2 1.7.7 1.13.3 1.7.8 1.13.4 1.7.9 1.13.5 1.7.9.1 1.13.6 1.7.9.2 1.13.7 1.7.9.3 1.13.8 1.8 1.14 1.8.1 1.14.1 1.8.10 1.14.10 1.8.11 1.14.11 1.8.12 1.14.2 1.8.13 1.14.3 1.8.14 1.14.4 1.8.15 1.14.5 1.8.16 1.14.6 1.8.17 1.14.7 1.8.18 1.14.8 1.8.19 1.14.9 1.8.2 1.15 1.8.20 1.16 1.8.21 1.16.1 1.8.22 1.17 1.8.23 1.17.1 1.8.24 1.17.10 1.8.25 1.17.10-rc.1 1.8.26 1.17.11 1.8.27 1.17.12 1.8.28 1.17.12-rc.1 1.8.29 1.17.2 1.8.3 1.17.3 1.8.30 1.17.4 1.8.4 1.17.5 1.8.5 1.17.6 1.8.6 1.17.7 1.8.7 1.17.8 1.8.8 1.17.9 1.8.9 1.17.9-beta.1 1.9 1.18.0 2.0.0 1.19.0 2.0.1 1.19.1 2.0.10 1.2 2.0.11 1.2.1 2.0.12 1.2.2 2.0.13 1.2.3 2.0.14 1.2.4 2.0.15 1.2.5 2.0.16 1.2.6 2.0.17 1.2.7 2.0.18 1.20.0 2.0.19 1.20.0-rc.1 2.0.2 1.20.0-rc.2 2.0.20 1.20.1 2.0.3 1.20.2 2.0.4 1.20.3 2.0.5 1.21.0 2.0.6 1.21.1 2.0.7 1.22.0 2.0.8 1.22.1 2.0.9 1.22.2 1.23.0 1.23.1 1.23.2 1.24.0 1.24.1 1.24.2 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.29.0 1.29.1 1.3 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.30.0 1.30.1 1.30.2 1.30.2-rc.1 1.30.3 1.30.4 1.30.4-rc.1 1.30.5 1.31.0 1.31.1 1.32.0 1.32.0-rc.1 1.33.0 1.33.1 1.33.2 1.34.0 1.35.0 1.35.1 1.36.0 1.36.1 1.36.2 1.36.3 1.37.0 1.37.1 1.37.2
advanced-ads / admin / views / settings.php
advanced-ads / admin / views Last commit date
ad-list 3 years ago conditions 3 years ago notices 3 years ago settings 3 years ago upgrades 3 years ago ad-conditions-string-operators.php 6 years ago ad-group-edit.php 6 years ago ad-group-list-ads.php 6 years ago ad-group-list-form-row.php 3 years ago ad-group-list-header.php 6 years ago ad-group-list-row.php 3 years ago ad-group.php 3 years ago ad-info-after-textarea.php 4 years ago ad-info-bottom.php 4 years ago ad-info-top.php 3 years ago ad-list-filters.php 4 years ago ad-list-no-ads.php 5 years ago ad-main-metabox.php 4 years ago ad-output-metabox.php 3 years ago ad-parameters-metabox.php 5 years ago ad-parameters-size.php 6 years ago ad-submitbox-meta.php 4 years ago ad-usage-metabox.php 3 years ago ad-usage-notes.php 3 years ago ad-usage.php 3 years ago checks.php 5 years ago feedback-disable.php 6 years ago frontend-picker-script.php 4 years ago gadsense-dashboard.php 4 years ago group-hints.php 3 years ago header.php 3 years ago index.php 7 years ago modal.php 3 years ago overview-addons-line.php 6 years ago overview-notice-row.php 4 years ago overview-notices.php 6 years ago overview-widget.php 6 years ago overview.php 4 years ago placement-form.php 3 years ago placement-injection-top.php 4 years ago placement-types.php 3 years ago placements-ad-label-position.php 3 years ago placements-ad-label.php 6 years ago placements-content-index.php 5 years ago placements-inline-css.php 5 years ago placements-item.php 4 years ago placements.php 3 years ago post-ad-settings-metabox.php 4 years ago setting-license.php 4 years ago settings.php 3 years ago support-callout.php 4 years ago support.php 4 years ago
settings.php
150 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',
9 array(
10 'general' => array(
11 'page' => Advanced_Ads_Admin::get_instance()->plugin_screen_hook_suffix,
12 'group' => ADVADS_SLUG,
13 'tabid' => 'general',
14 'title' => __( 'General', 'advanced-ads' ),
15 ),
16 )
17 );
18 ?><div class="wrap">
19 <h2 style="display: none;"><!-- There needs to be an empty H2 headline at the top of the page so that WordPress can properly position admin notifications --></h2>
20 <?php Advanced_Ads_Checks::show_issues(); ?>
21
22 <?php settings_errors(); ?>
23 <div class="nav-tab-wrapper" id="advads-tabs">
24 <?php foreach ( $setting_tabs as $_setting_tab_id => $_setting_tab ) : ?>
25 <a class="nav-tab" id="<?php echo esc_attr( $_setting_tab_id ); ?>-tab"
26 href="#top#<?php echo esc_attr( $_setting_tab_id ); ?>"><?php echo esc_html( $_setting_tab['title'] ); ?></a>
27 <?php endforeach; ?>
28 <a class="nav-tab" id="support-tab"
29 href="#top#support"><?php esc_html_e( 'Support', 'advanced-ads' ); ?></a>
30 </div>
31 <?php foreach ( $setting_tabs as $_setting_tab_id => $_setting_tab ) : ?>
32 <div id="<?php echo esc_attr( $_setting_tab_id ); ?>" class="advads-tab">
33 <div id="advads-sub-menu-<?php echo esc_attr( $_setting_tab_id ); ?>" class="advads-tab-sub-menu"></div>
34 <form class="advads-settings-tab-main-form" method="post" action="options.php">
35 <?php
36 if ( isset( $_setting_tab['group'] ) ) {
37 settings_fields( $_setting_tab['group'] );
38 }
39 do_settings_sections( $_setting_tab['page'] );
40
41 do_action( 'advanced-ads-settings-form', $_setting_tab_id, $_setting_tab );
42 if ( isset( $_setting_tab['group'] ) && 'advanced-ads-licenses' !== $_setting_tab['group'] ) {
43 submit_button( __( 'Save settings on this page', 'advanced-ads' ) );
44 }
45 ?>
46 </form>
47 <?php do_action( 'advanced-ads-settings-tab-after-form', $_setting_tab_id, $_setting_tab ); ?>
48 <?php if ( 'general' === $_setting_tab_id ) : ?>
49 <ul>
50 <li><a href="<?php echo esc_url( admin_url( 'admin.php?page=advanced-ads-import-export' ) ); ?>"><?php esc_html_e( 'Import &amp; Export', 'advanced-ads' ); ?></a></li>
51 </ul>
52 <?php endif; ?>
53 </div>
54 <?php endforeach; ?>
55 <div id="support" class="advads-tab">
56 <?php require_once ADVADS_BASE_PATH . 'admin/views/support.php'; ?>
57 </div>
58 <?php
59 do_action( 'advanced-ads-additional-settings-form' );
60 // print the filesystem credentials modal if needed.
61 Advanced_Ads_Filesystem::get_instance()->print_request_filesystem_credentials_modal();
62 ?>
63
64 </div>
65 <script>
66 /**
67 * There are two formats of URL supported:
68 * admin.php?page=advanced-ads-settings#top#tab_id go to the `tab_id`
69 * admin.php?page=advanced-ads-settings#tab_id__anchor go to the `tab_id`, scroll to the `anchor`
70 */
71
72 /**
73 * Extract the active tab and anchor from the URL.
74 */
75 function advads_extract_tab( url ) {
76 var hash_parts = url.replace( '#top#', '' ).replace( '#', '' ).split( '__' );
77
78 return {
79 'tab': hash_parts[0] || jQuery( '.advads-tab' ).attr( 'id' ),
80 'anchor': hash_parts[1]
81 }
82 }
83
84 /**
85 * Set the active tab and optionally scroll to the anchor.
86 */
87 function advads_set_tab( tab ) {
88 jQuery( '#advads-tabs' ).find( 'a' ).removeClass( 'nav-tab-active' );
89 jQuery( '.advads-tab' ).removeClass( 'active' );
90
91 jQuery( '#' + tab.tab ).addClass( 'active' );
92 jQuery( '#' + tab.tab + '-tab' ).addClass( 'nav-tab-active' );
93
94 if ( tab.anchor ) {
95 var anchor_offset = document.getElementById( tab.anchor ).getBoundingClientRect().top;
96 var admin_bar = 48;
97 window.scrollTo( 0, anchor_offset + window.scrollY - admin_bar );
98 }
99 }
100
101 // menu tabs
102 jQuery( '#advads-tabs' ).find( 'a' ).click(function () {
103 var url = jQuery( this ).attr( 'href' );
104 var tab = advads_extract_tab( url );
105 advads_set_tab( tab );
106 });
107
108 // While user is already on the Settings page, find links (in admin menu,
109 // in the Checks at the top, in the notices at the top) to particular setting tabs and open them on click.
110 jQuery( document ).on( 'click', 'a[href*="page=advanced-ads-settings"]:not(.nav-tab)', function() {
111 // Already on the Settings page, so set the new tab.
112 // Extract the tab id from the url.
113 var url = jQuery( this ).attr( 'href' ).split( 'advanced-ads-settings' )[1];
114 var tab = advads_extract_tab( url );
115 advads_set_tab( tab );
116 });
117
118 // activate specific or first tab
119
120 var active_tab = advads_extract_tab( window.location.hash );
121 advads_set_tab( active_tab );
122
123 // set all tab urls
124 advads_set_tab_hashes();
125
126 // dynamically generate the sub-menu
127 jQuery( '.advads-tab-sub-menu' ).each( function( key, e ){
128 // abort if scrollIntoView is not supported; we can’t use anchors because they are used for tabs already
129 if (typeof e.scrollIntoView !== "function") { return; };
130 // get all h2 headlines
131 advads_settings_parent_tab = jQuery( e ).parent( '.advads-tab');
132 var headlines = advads_settings_parent_tab.find( 'h2' );
133 // create list
134 if( headlines.length > 1 ){
135 advads_submenu_list = jQuery('<ul>');
136 headlines.each( function( key, h ){
137 // create anchor for this headline
138 var headline_id = 'advads-tab-headline-' + advads_settings_parent_tab.attr( 'id' ) + key;
139 jQuery( h ).attr( 'id', headline_id );
140 // place the link in the top menu
141 var text = text = h.textContent || h.innerText;
142 jQuery( '<li><a onclick="document.getElementById(\'' + headline_id + '\').scrollIntoView()">' + text + '</a></li>' ).appendTo( advads_submenu_list );
143 });
144 // place the menu
145 advads_submenu_list.appendTo( e );
146 }
147 });
148
149 </script>
150