PluginProbe
Automatic YouTube Gallery – Embed Auto-Updating YouTube Video Galleries, Feeds, Playlists & Channels / 2.3.8
Automatic YouTube Gallery – Embed Auto-Updating YouTube Video Galleries, Feeds, Playlists & Channels v2.3.8
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 | includes/init.php +78 -40 1.2.02.3.8 View file →
@@ -44,8 +44,9 @@
44 44 $this->set_locale();
45 45 $this->define_admin_hooks();
46 46 $this->define_public_hooks();
47 47 $this->define_block_hooks();
48 + $this->define_widget_hooks();
48 49 }
49 50
50 51 /**
51 52 * Load the required dependencies for this plugin.
@@ -81,12 +82,10 @@
81 82
82 83 /**
83 84 * The classes responsible for defining all actions that occur in the admin area.
84 85 */
85 - require_once AYG_DIR . 'admin/admin.php';
86 + require_once AYG_DIR . 'admin/admin.php';
86 87 require_once AYG_DIR . 'admin/settings.php';
87 - require_once AYG_DIR . 'admin/shortcode-builder.php';
88 - require_once AYG_DIR . 'admin/welcome.php';
89 88
90 89 /**
91 90 * The class responsible for defining all actions that occur in the public-facing
92 91 * side of the site.
@@ -91,13 +90,19 @@
91 90 * The class responsible for defining all actions that occur in the public-facing
92 91 * side of the site.
93 92 */
94 93 require_once AYG_DIR . 'public/public.php';
94 + require_once AYG_DIR . 'public/cron.php';
95 95
96 96 /**
97 97 * The class responsible for defining all actions that occur in the gutenberg block.
98 98 */
99 - require_once AYG_DIR. 'block/block.php';
99 + require_once AYG_DIR. 'block/block.php';
100 +
101 + /**
102 + * The class responsible for defining all actions that occur in the widget.
103 + */
104 + require_once AYG_DIR . 'widget/widget.php';
100 105
101 106 /**
102 107 * Create an instance of the loader.
103 108 */
@@ -110,10 +115,10 @@
110 115 * @since 1.0.0
111 116 * @access private
112 117 */
113 118 private function set_locale() {
114 - $ayg_i18n = new AYG_i18n();
115 - $this->loader->add_action( 'plugins_loaded', $ayg_i18n, 'load_plugin_textdomain' );
119 + $i18n = new AYG_i18n();
120 + $this->loader->add_action( 'plugins_loaded', $i18n, 'load_plugin_textdomain' );
116 121 }
117 122
118 123 /**
119 124 * Register all of the hooks related to the admin area functionality
@@ -123,35 +128,25 @@
123 128 * @access private
124 129 */
125 130 private function define_admin_hooks() {
126 131 // Hooks common to all admin pages
127 - $ayg_admin = new AYG_Admin();
132 + $admin = new AYG_Admin();
128 133
129 - $this->loader->add_action( 'admin_enqueue_scripts', $ayg_admin, 'enqueue_styles' );
130 - $this->loader->add_action( 'admin_enqueue_scripts', $ayg_admin, 'enqueue_scripts' );
131 - $this->loader->add_action( 'admin_notices', $ayg_admin, 'admin_notice' );
132 - $this->loader->add_action( 'wp_ajax_ayg_dismiss_admin_notice', $ayg_admin, 'ajax_callback_dismiss_admin_notice' );
134 + $this->loader->add_action( 'admin_init', $admin, 'insert_missing_options', 1 );
135 + $this->loader->add_action( 'admin_enqueue_scripts', $admin, 'enqueue_styles' );
136 + $this->loader->add_action( 'admin_enqueue_scripts', $admin, 'enqueue_scripts' );
137 + $this->loader->add_action( 'admin_menu', $admin, 'admin_menu' );
138 + $this->loader->add_action( 'admin_notices', $admin, 'admin_notices' );
139 + $this->loader->add_action( 'wp_ajax_ayg_save_api_key', $admin, 'ajax_callback_save_api_key' );
133 140
134 - $this->loader->add_filter( 'plugin_action_links_' . AYG_FILE_NAME, $ayg_admin, 'plugin_action_links' );
141 + $this->loader->add_filter( 'plugin_action_links_' . AYG_FILE_NAME, $admin, 'plugin_action_links' );
135 142
136 143 // Hooks specific to the settings page
137 - $ayg_admin_settings = new AYG_Admin_Settings();
144 + $settings = new AYG_Admin_Settings();
138 145
139 - $this->loader->add_action( 'admin_menu', $ayg_admin_settings, 'add_settings_menu' );
140 - $this->loader->add_action( 'admin_init', $ayg_admin_settings, 'admin_init' );
141 - $this->loader->add_action( 'admin_init', $ayg_admin_settings, 'delete_cache' );
142 - $this->loader->add_action( 'admin_notices', $ayg_admin_settings, 'admin_notices' );
143 -
144 - // Hooks specific to the shortcode builder
145 - $ayg_admin_shortcode_builder = new AYG_Admin_Shortcode_Builder();
146 -
147 - $this->loader->add_action( 'media_buttons', $ayg_admin_shortcode_builder, 'media_buttons', 11 );
148 - $this->loader->add_action( 'admin_footer', $ayg_admin_shortcode_builder, 'admin_footer' );
149 -
150 - // Hooks specific to the welcome page
151 - $ayg_admin_welcome = new AYG_Admin_Welcome();
152 -
153 - $this->loader->add_action( 'admin_menu', $ayg_admin_welcome, 'add_welcome_page_menu' );
146 + $this->loader->add_action( 'admin_menu', $settings, 'admin_menu' );
147 + $this->loader->add_action( 'admin_init', $settings, 'admin_init' );
148 + $this->loader->add_action( 'wp_ajax_ayg_delete_cache', $settings, 'ajax_callback_delete_cache' );
154 149 }
155 150
156 151 /**
157 152 * Register all of the hooks related to the public-facing functionality
@@ -160,14 +155,28 @@
160 155 * @since 1.0.0
161 156 * @access private
162 157 */
163 158 private function define_public_hooks() {
164 - $ayg_public = new AYG_Public();
159 + // Hooks common to all public pages
160 + $public = new AYG_Public();
161 +
162 + $this->loader->add_action( 'wp_enqueue_scripts', $public, 'register_styles' );
163 + $this->loader->add_action( 'wp_enqueue_scripts', $public, 'register_scripts' );
164 + $this->loader->add_action( 'enqueue_block_editor_assets', $public, 'enqueue_block_editor_assets' );
165 + $this->loader->add_action( 'wp_ajax_ayg_load_more_videos', $public, 'ajax_callback_load_more_videos' );
166 + $this->loader->add_action( 'wp_ajax_nopriv_ayg_load_more_videos', $public, 'ajax_callback_load_more_videos' );
167 + $this->loader->add_action( 'wp_ajax_ayg_set_cookie', $public, 'set_gdpr_cookie' );
168 + $this->loader->add_action( 'wp_ajax_nopriv_ayg_set_cookie', $public, 'set_gdpr_cookie' );
165 169
166 - $this->loader->add_action( 'wp_enqueue_scripts', $ayg_public, 'register_styles' );
167 - $this->loader->add_action( 'wp_enqueue_scripts', $ayg_public, 'register_scripts' );
168 - $this->loader->add_action( 'wp_ajax_ayg_load_more_videos', $ayg_public, 'ajax_callback_load_more_videos' );
169 - $this->loader->add_action( 'wp_ajax_nopriv_ayg_load_more_videos', $ayg_public, 'ajax_callback_load_more_videos' );
170 + $this->loader->add_filter( 'smush_skip_iframe_from_lazy_load', $public, 'smush', 999, 2 );
171 +
172 + // Hooks specific to the cron jobs
173 + $cron = new AYG_Public_Cron();
174 +
175 + $this->loader->add_action( 'wp', $cron, 'schedule_events' );
176 + $this->loader->add_action( 'ayg_schedule_weekly', $cron, 'cron_event' );
177 +
178 + $this->loader->add_filter( 'cron_schedules', $cron, 'cron_schedules' );
170 179 }
171 180
172 181 /**
173 182 * Register all of the hooks related to the gutenberg block.
@@ -175,18 +184,47 @@
175 184 * @since 1.0.0
176 185 * @access private
177 186 */
178 187 private function define_block_hooks() {
179 - $ayg_block = new AYG_Block();
188 + if ( is_admin() ) {
189 + global $pagenow;
190 + if ( 'widgets.php' === $pagenow ) return;
191 + }
180 192
181 - $this->loader->add_action( 'init', $ayg_block, 'register_block_type' );
182 - $this->loader->add_action( 'enqueue_block_editor_assets', $ayg_block, 'enqueue_block_editor_assets' );
183 - $this->loader->add_action( 'enqueue_block_assets', $ayg_block, 'enqueue_block_assets' );
193 + global $wp_version;
184 194
185 - $this->loader->add_filter( 'block_categories', $ayg_block, 'block_categories' );
186 - }
195 + $block = new AYG_Block();
187 196
197 + $this->loader->add_action( 'init', $block, 'register_block_type' );
198 + $this->loader->add_action( 'enqueue_block_editor_assets', $block, 'enqueue_block_editor_assets' );
199 +
200 + if ( version_compare( $wp_version, '5.8', '>=' ) ) {
201 + $this->loader->add_filter( 'block_categories_all', $block, 'block_categories' );
202 + } else {
203 + $this->loader->add_filter( 'block_categories', $block, 'block_categories' );
204 + }
205 + }
206 +
188 207 /**
208 + * Register all of the hooks related to the widget.
209 + *
210 + * @since 2.1.0
211 + * @access private
212 + */
213 + private function define_widget_hooks() {
214 + $this->loader->add_action( 'widgets_init', $this, 'register_widget' );
215 + }
216 +
217 + /**
218 + * Register the widget.
219 + *
220 + * @since 2.1.0
221 + */
222 + public function register_widget() {
223 + register_widget( 'AYG_Widget' );
224 + }
225 +
226 + /**
189 227 * Run the loader to execute all of the hooks with WordPress.
190 228 *
191 229 * @since 1.0.0
192 230 */
@@ -193,5 +231,5 @@
193 231 public function run() {
194 232 $this->loader->run();
195 233 }
196 234
197 -}
235 +}