PluginProbe
Automatic YouTube Gallery – Embed Auto-Updating YouTube Video Galleries, Feeds, Playlists & Channels / 2.6.4
Automatic YouTube Gallery – Embed Auto-Updating YouTube Video Galleries, Feeds, Playlists & Channels v2.6.4
2.9.1 2.9.0 trunk 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 2.0.0 2.1.0 2.2.0 2.3.2 2.3.3 2.3.5 2.3.6 2.3.8 2.3.9 2.4.3 All 37 releases
← All changes | admin/admin.php +97 -14 1.6.52.6.4 View file →
@@ -27,17 +27,53 @@
27 27 * @since 1.6.4
28 28 */
29 29 public function insert_missing_options() {
30 30 if ( AYG_VERSION !== get_option( 'ayg_version' ) ) {
31 - $defaults = ayg_get_default_settings();
31 + $defaults = ayg_get_default_settings();
32 32
33 - // Update the plugin version
34 - update_option( 'ayg_version', AYG_VERSION );
33 + // Insert the strings settings
34 + if ( false == get_option( 'ayg_strings_settings' ) ) {
35 + $gallery_settings = get_option( 'ayg_gallery_settings' );
35 36
37 + $strings_settings = array(
38 + 'more_button_label' => ! empty( $gallery_settings['more_button_label'] ) ? $gallery_settings['more_button_label'] : $defaults['ayg_strings_settings']['more_button_label'],
39 + 'previous_button_label' => ! empty( $gallery_settings['previous_button_label'] ) ? $gallery_settings['previous_button_label'] : $defaults['ayg_strings_settings']['previous_button_label'],
40 + 'next_button_label' => ! empty( $gallery_settings['next_button_label'] ) ? $gallery_settings['next_button_label'] : $defaults['ayg_strings_settings']['next_button_label'],
41 + 'show_more_label' => $defaults['ayg_strings_settings']['show_more_label'],
42 + 'show_less_label' => $defaults['ayg_strings_settings']['show_less_label'],
43 + );
44 +
45 + add_option( 'ayg_strings_settings', $strings_settings );
46 + }
47 +
48 + // Update the player settings
49 + $player_settings = get_option( 'ayg_player_settings' );
50 +
51 + if ( ! array_key_exists( 'player_type', $player_settings ) ) {
52 + $player_settings['player_type'] = $defaults['ayg_player_settings']['player_type'];
53 + $player_settings['player_color'] = $defaults['ayg_player_settings']['player_color'];
54 +
55 + update_option( 'ayg_player_settings', $player_settings );
56 + }
57 +
36 58 // Insert the livestream settings
37 59 if ( false == get_option( 'ayg_livestream_settings' ) ) {
38 60 add_option( 'ayg_livestream_settings', $defaults['ayg_livestream_settings'] );
39 61 }
62 +
63 + // Insert the privacy settings
64 + if ( false == get_option( 'ayg_privacy_settings' ) ) {
65 + add_option( 'ayg_privacy_settings', $defaults['ayg_privacy_settings'] );
66 + }
67 +
68 + // Create custom database tables
69 + ayg_db_create_custom_tables();
70 +
71 + // Delete the plugin cache
72 + ayg_delete_cache();
73 +
74 + // Update the plugin version
75 + update_option( 'ayg_version', AYG_VERSION );
40 76 }
41 77 }
42 78
43 79 /**
@@ -48,10 +84,18 @@
48 84 public function enqueue_styles() {
49 85 wp_enqueue_style( 'wp-color-picker' );
50 86
51 87 wp_enqueue_style(
88 + AYG_SLUG . '-magnific-popup',
89 + AYG_URL . 'vendor/magnific-popup/magnific-popup.css',
90 + array(),
91 + '1.2.0',
92 + 'all'
93 + );
94 +
95 + wp_enqueue_style(
52 96 AYG_SLUG . '-admin',
53 - AYG_URL . 'admin/assets/css/admin.css',
97 + AYG_URL . 'admin/assets/css/admin.min.css',
54 98 array(),
55 99 AYG_VERSION,
56 100 'all'
57 101 );
@@ -66,10 +110,18 @@
66 110 wp_enqueue_media();
67 111 wp_enqueue_script( 'wp-color-picker' );
68 112
69 113 wp_enqueue_script(
114 + AYG_SLUG . '-magnific-popup',
115 + AYG_URL . 'vendor/magnific-popup/magnific-popup.min.js',
116 + array( 'jquery' ),
117 + '1.2.0',
118 + array( 'strategy' => 'defer' )
119 + );
120 +
121 + wp_enqueue_script(
70 122 AYG_SLUG . '-admin',
71 - AYG_URL . 'admin/assets/js/admin.js',
123 + AYG_URL . 'admin/assets/js/admin.min.js',
72 124 array( 'jquery' ),
73 125 AYG_VERSION,
74 126 false
75 127 );
@@ -77,13 +129,13 @@
77 129 wp_localize_script(
78 130 AYG_SLUG . '-admin',
79 131 'ayg_admin',
80 132 array(
81 - 'i18n' => array(
133 + 'ajax_nonce' => wp_create_nonce( 'ayg_ajax_nonce' ),
134 + 'i18n' => array(
82 135 'invalid_api_key' => __( 'Invalid API Key', 'automatic-youtube-gallery' ),
83 136 'cleared' => __( 'Cleared', 'automatic-youtube-gallery' )
84 - ),
85 - 'ajax_nonce' => wp_create_nonce( 'ayg_admin_ajax_nonce' )
137 + )
86 138 )
87 139 );
88 140 }
89 141
@@ -94,9 +146,14 @@
94 146 * @param array $links An array of plugin action links.
95 147 * @return string $links Array of filtered plugin action links.
96 148 */
97 149 public function plugin_action_links( $links ) {
98 - $dashboard_link = sprintf( '<a href="%s">%s</a>', admin_url( 'admin.php?page=automatic-youtube-gallery' ), __( 'Build Gallery', 'automatic-youtube-gallery' ) );
150 + $dashboard_link = sprintf(
151 + '<a href="%s">%s</a>',
152 + admin_url( 'admin.php?page=automatic-youtube-gallery' ),
153 + __( 'Build Gallery', 'automatic-youtube-gallery' )
154 + );
155 +
99 156 array_unshift( $links, $dashboard_link );
100 157
101 158 return $links;
102 159 }
@@ -132,9 +189,9 @@
132 189 *
133 190 * @since 1.3.0
134 191 */
135 192 public function display_dashboard_content() {
136 - $general_settings = get_option( 'ayg_general_settings', array() );
193 + $general_settings = get_option( 'ayg_general_settings' );
137 194
138 195 $tabs = array(
139 196 'dashboard' => __( 'Build Gallery', 'automatic-youtube-gallery' )
140 197 );
@@ -144,19 +201,45 @@
144 201 require_once AYG_DIR . 'admin/templates/dashboard.php';
145 202 }
146 203
147 204 /**
205 + * Prints admin screen notices.
206 + *
207 + * @since 2.0.0
208 + */
209 + public function admin_notices() {
210 + $general_settings = get_option( 'ayg_general_settings' );
211 +
212 + if ( isset( $general_settings['development_mode'] ) && ! empty( $general_settings['development_mode'] ) ) {
213 + ?>
214 + <div class="notice notice-info">
215 + <p>
216 + <?php
217 + printf(
218 + __( '<strong>Automatic YouTube Gallery:</strong> You have <a href="%s">development mode</a> enabled. We do not cache API results in this mode. While this is ok when you are testing the plugin, we strongly recommend disabling this option when your site goes live.', 'automatic-youtube-gallery' ),
219 + esc_url( admin_url( 'admin.php?page=automatic-youtube-gallery-settings' ) )
220 + );
221 + ?>
222 + </p>
223 + </div>
224 + <?php
225 + }
226 + }
227 +
228 + /**
148 229 * Save API Key.
149 230 *
150 231 * @since 1.3.0
151 232 */
152 233 public function ajax_callback_save_api_key() {
153 - check_ajax_referer( 'ayg_admin_ajax_nonce', 'security' );
234 + check_ajax_referer( 'ayg_ajax_nonce', 'security' );
154 235
155 - $general_settings = get_option( 'ayg_general_settings', array() );
156 - $general_settings['api_key'] = sanitize_text_field( $_POST['api_key'] );
236 + if ( current_user_can( 'manage_options' ) ) {
237 + $general_settings = get_option( 'ayg_general_settings' );
238 + $general_settings['api_key'] = sanitize_text_field( $_POST['api_key'] );
157 239
158 - update_option( 'ayg_general_settings', $general_settings );
240 + update_option( 'ayg_general_settings', $general_settings );
241 + }
159 242
160 243 wp_die();
161 244 }
162 245