PluginProbe
WpStream – Live Streaming, Video on Demand, Pay Per View / 4.4.10
WpStream – Live Streaming, Video on Demand, Pay Per View v4.4.10
4.14.1 4.14.0 4.13.2 4.13.1 4.13 4.12.5 4.12.4 4.12.3 4.12.2 4.12.1 4.12 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.5 4.5.1 4.5.11 4.5.11.1 4.5.11.2 4.5.11.4 4.5.11.5 4.5.11.6 All 181 releases
← All changes | wpstream.php +7 -199 4.134.4.10 View file →
@@ -2,13 +2,13 @@
2 2 /**
3 3 * Plugin Name: WpStream - Live Streaming, Video on Demand, Pay Per View
4 4 * Plugin URI: http://wpstream.net
5 5 * Description: WpStream is a platform that allows you to live stream, create Video-on-Demand, and offer Pay-Per-View videos. We provide an affordable and user-friendly way for businesses, non-profits, and public institutions to broadcast their content and monetize their work.
6 - * Version: 4.13
6 + * Version: 4.4.10
7 7 * Author: wpstream
8 8 * Author URI: http://wpstream.net
9 9 * Text Domain: wpstream
10 - * Domain Path: /languages/
10 + * Domain Path: /languages
11 11 */
12 12
13 13 // If this file is called directly, abort.
14 14 if ( ! defined( 'WPINC' ) ) {
@@ -13,9 +13,9 @@
13 13 // If this file is called directly, abort.
14 14 if ( ! defined( 'WPINC' ) ) {
15 15 die;
16 16 }
17 -define('WPSTREAM_PLUGIN_VERSION', '4.13');
17 +define('WPSTREAM_PLUGIN_VERSION', '4.4.10');
18 18 define('WPSTREAM_CLUBLINK', 'wpstream.net');
19 19 define('WPSTREAM_CLUBLINKSSL', 'https');
20 20 define('WPSTREAM_PLUGIN_URL', plugins_url() );
21 21 define('WPSTREAM_PLUGIN_DIR_URL', plugin_dir_url(__FILE__) );
@@ -20,30 +20,14 @@
20 20 define('WPSTREAM_PLUGIN_URL', plugins_url() );
21 21 define('WPSTREAM_PLUGIN_DIR_URL', plugin_dir_url(__FILE__) );
22 22 define('WPSTREAM_PLUGIN_PATH', plugin_dir_path(__FILE__) );
23 23 define('WPSTREAM_PLUGIN_BASE', plugin_basename(__FILE__) );
24 -if( !defined('WPSTREAM_API' ) ) {
25 - define('WPSTREAM_API', 'https://baker.wpstream.net');
26 -}
27 -if ( !defined( 'WPSTREAM_CLICK' ) ) {
28 - define( 'WPSTREAM_CLICK', 'https://click.wpstream.net' );
29 -}
30 -if ( !defined( 'WPSTREAM_PLAYER') ) {
31 - define ( 'WPSTREAM_PLAYER', 'https://player.wpstream.net' );
32 -}
33 -if ( !defined( 'LIVE_PLAYER_URL_PREFIX' ) ) {
34 - define('LIVE_PLAYER_URL_PREFIX', 'https://player.wpstream.net/player/live');
35 -}
24 +define('WPSTREAM_API', 'https://baker.wpstream.net');
36 25
37 26
38 -define('WPSTREAM_TIMEOUT_CONST', 20); // in seconds
39 27
40 -function wpstream_cleanup_logs_handler() {
41 - $logger = new WpStream_Logger();
42 - $logger->clear_old_logs();
43 -}
44 -add_action('wpstream_log_cleanup', 'wpstream_cleanup_logs_handler');
45 28
29 +
46 30 /**
47 31 * The code that runs during plugin activation.
48 32 * This action is documented in includes/class-wpstream-activator.php
49 33 */
@@ -49,12 +33,8 @@
49 33 */
50 34 function activate_wpstream() {
51 35 require_once plugin_dir_path( __FILE__ ) . 'includes/class-wpstream-activator.php';
52 36 Wpstream_Activator::activate();
53 -
54 - if( !wp_next_scheduled( 'wpstream_log_cleanup' ) ) {
55 - wp_schedule_event( time(), 'daily', 'wpstream_log_cleanup' );
56 - }
57 37 }
58 38
59 39 /**
60 40 * The code that runs during plugin deactivation.
@@ -62,10 +42,8 @@
62 42 */
63 43 function deactivate_wpstream() {
64 44 require_once plugin_dir_path( __FILE__ ) . 'includes/class-wpstream-deactivator.php';
65 45 Wpstream_Deactivator::deactivate();
66 -
67 - wp_clear_scheduled_hook( 'wpstream_log_cleanup' );
68 46 }
69 47
70 48 register_activation_hook( __FILE__, 'activate_wpstream' );
71 49 register_deactivation_hook( __FILE__, 'deactivate_wpstream' );
@@ -70,100 +48,17 @@
70 48 register_activation_hook( __FILE__, 'activate_wpstream' );
71 49 register_deactivation_hook( __FILE__, 'deactivate_wpstream' );
72 50
73 51 /**
74 - * Wrapper function for wpstream_dashboard_save_channel_data to be called from theme
75 - * This provides backward compatibility for the theme
76 - */
77 -function wpstream_dashboard_save_channel_data_plugin() {
78 - global $wpstream_plugin;
79 - if (isset($wpstream_plugin) && isset($wpstream_plugin->wpstream_ajax)) {
80 - $wpstream_plugin->wpstream_ajax->wpstream_dashboard_save_channel_data();
81 - }
82 -}
83 -
84 -/**
85 52 * The core plugin class that is used to define internationalization,
86 53 * admin-specific hooks, and public-facing site hooks.
87 54 */
88 55 require plugin_dir_path( __FILE__ ) . 'includes/class-wpstream.php';
89 56 require plugin_dir_path( __FILE__ ) . 'wpstream-elementor.php';
90 -require plugin_dir_path( __FILE__ ) . 'streamify/streamify.php';
91 57
92 -require plugin_dir_path( __FILE__ ) . 'integrations/integrations.php';
58 +
93 59
94 -function wpstream_load_theme_functionality() {
95 - define ('WPSTREAM_FRAMEWORK_BASE', plugin_dir_path(__FILE__) . 'hello-wpstream' );
96 -
97 - $core_files = array(
98 - '/framework/metaboxes.php',
99 - '/framework/query-functions.php',
100 - '/framework/wpstream-video-functions.php',
101 - '/framework/ajax-functions.php',
102 - '/framework/dashboard-functions.php',
103 - '/framework/wpstream-help-functions.php',
104 - '/framework/video-pages-functions.php',
105 - '/framework/comments-functions.php',
106 - '/framework/gallery-functions.php',
107 - '/framework/shortcodes-functions.php',
108 - '/framework/post-types/main.php',
109 - '/framework/woocommerce-functions.php',
110 - '/framework/ajax-upload.php',
111 - '/framework/email-functions.php',
112 - '/framework/widgets/class-wpstream-widget-manager.php',
113 - '/framework/classes/class-wpstream-login-register.php',
114 - '/framework/classes/class-wpstream_theme-social-login.php',
115 - );
116 -
117 - // Load core files
118 - foreach ( $core_files as $file ) {
119 - $file_path = WPSTREAM_FRAMEWORK_BASE . $file;
120 - if ( file_exists( $file_path ) ) {
121 - require_once $file_path;
122 - } else {
123 - error_log( 'Missing required file: ' . $file_path );
124 - }
125 - }
126 -
127 - // Load Elementor integration if the plugin is active
128 - if ( defined( 'ELEMENTOR_VERSION' ) ) {
129 -
130 - $elementor_files = array(
131 - '/elementor/functions/blog_functions.php',
132 - '/elementor/wpstream-elementor.php'
133 - );
134 -
135 - foreach ( $elementor_files as $file ) {
136 - $file_path = WPSTREAM_FRAMEWORK_BASE . $file;
137 - if ( file_exists( $file_path ) ) {
138 - require_once $file_path;
139 - } else {
140 - error_log( 'Missing required file: ' . $file_path );
141 - }
142 - }
143 - }
144 -}
145 -
146 -add_action( 'after_setup_theme', 'wpstream_load_theme_functionality' );
147 -
148 60 /**
149 - * Load js for players
150 - *
151 - * @return void
152 - */
153 -if ( ! function_exists( 'wpstream_load_player_js_on_demand' ) ) {
154 - function wpstream_load_player_js_on_demand()
155 - {
156 - $wpstream_unit_card_use_video = get_theme_mod('wpstream_unit_card_use_video');
157 - if ($wpstream_unit_card_use_video) {
158 - wp_enqueue_script('video.min');
159 - wp_enqueue_script('wpstream-player');
160 - }
161 -
162 - }
163 -}
164 -
165 -/**
166 61 * Begins execution of the plugin.
167 62 *
168 63 * Since everything within the plugin is registered via hooks,
169 64 * then kicking off the plugin from this point in the file does
@@ -223,28 +118,10 @@
223 118
224 119
225 120 }
226 121
227 -
228 122 /*
229 123 *
230 -* Check integrations
231 -*
232 -*/
233 -if ( get_template() === 'hello-wpstream' ) {
234 - require_once plugin_dir_path( __FILE__ ) . 'integrations/hello-wpstream/theme-import.php';
235 - add_filter( 'pt-ocdi/import_files', 'wpstream_ocdi_import_files' );
236 - add_action( 'pt-ocdi/after_import', 'wpstream_ocdi_after_import_setup' );
237 - add_filter( 'pt-ocdi/plugin_intro_text', 'wpstream_ocdi_plugin_intro_text' );
238 - add_action( 'ocdi/before_content_import', 'wpstream_track_ocdi_import_attempt', 10, 1 );
239 -}
240 -
241 -
242 -add_action( 'plugins_loaded', 'wpstream_check_integrations' );
243 -
244 -
245 -/*
246 -*
247 124 * Redirect on plugin activation
248 125 *
249 126 */
250 127
@@ -252,74 +129,5 @@
252 129 if( $plugin == plugin_basename( __FILE__ ) ) {
253 130 exit( wp_redirect( admin_url( 'admin.php?page=wpstream_onboard' ) ) );
254 131 }
255 132 }
256 -add_action( 'activated_plugin', 'wpstream_activation_redirect' );
257 -
258 -
259 -
260 -/*
261 -*
262 -* remove the style selectWoo for the theme
263 -*
264 -*/
265 -if ( function_exists( 'wpstream_get_author_id' ) ) {
266 - // only if wpstream-theme is activated
267 -
268 - remove_filter( 'pre_user_description', 'wp_filter_kses' ); // Removes the filter that applies KSES filtering for user descriptions
269 - remove_filter( 'term_description', 'wp_kses_data' ); // Removes the filter that applies KSES data filtering for term descriptions
270 -
271 - if ( ! function_exists( 'wsis_dequeue_stylesandscripts_select2' ) ) {
272 - add_action( 'wp_enqueue_scripts', 'wsis_dequeue_stylesandscripts_select2', 100 );
273 - /**
274 - * Remove CSS and/or JS for Select2 used by WooCommerce
275 - */
276 - function wsis_dequeue_stylesandscripts_select2() {
277 - if ( class_exists( 'woocommerce' ) ) {
278 - wp_dequeue_style( 'selectWoo' );
279 - wp_deregister_style( 'selectWoo' );
280 -
281 - wp_dequeue_script( 'selectWoo' );
282 - wp_deregister_script( 'selectWoo' );
283 - }
284 - }
285 - }
286 -}
287 -
288 -/**
289 - * Register broadcaster page endpoint
290 - */
291 -function wpstream_register_broadcaster_endpoint() {
292 - add_rewrite_tag('%broadcaster_page%', '([0-1]{1})');
293 - add_rewrite_tag('%channel_id%', '([0-9]+)');
294 -
295 - $rewrite_rules = get_option('rewrite_rules');
296 - $rule_pattern = 'broadcaster-page/([0-9]+)/?$';
297 - $rule_target = 'index.php?broadcaster_page=1&channel_id=$matches[1]';
298 -
299 - add_rewrite_rule($rule_pattern, $rule_target, 'top');
300 - if ( !is_array($rewrite_rules) || !key_exists( $rule_pattern, $rewrite_rules ) ) {
301 - flush_rewrite_rules();
302 - }
303 -}
304 -add_action('init', 'wpstream_register_broadcaster_endpoint');
305 -
306 -/**
307 - * Load broadcaster template when the custom endpoint is accessed
308 - */
309 -function wpstream_load_broadcaster_template($template) {
310 - if (get_query_var('broadcaster_page') == 1) {
311 - // Return the path to our broadcaster template
312 - return plugin_dir_path(__FILE__) . 'templates/broadcaster-template.php';
313 - }
314 - return $template;
315 -}
316 -add_filter('template_include', 'wpstream_load_broadcaster_template');
317 -
318 -/**
319 - * Flush rewrite rules on plugin activation to ensure our endpoint works
320 - */
321 -function wpstream_flush_rewrite_rules() {
322 - wpstream_register_broadcaster_endpoint();
323 - flush_rewrite_rules();
324 -}
325 -register_activation_hook(__FILE__, 'wpstream_flush_rewrite_rules');
133 +add_action( 'activated_plugin', 'wpstream_activation_redirect' );