PluginProbe
WpStream – Live Streaming, Video on Demand, Pay Per View / 4.6.7.6
WpStream – Live Streaming, Video on Demand, Pay Per View v4.6.7.6
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 4.5.12 All 180 releases
wpstream / wpstream.php

wpstream.php in WpStream – Live Streaming, Video on Demand, Pay Per View 4.6.7.6, at wpstream.php

271 lines 8.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin Name: WpStream - Live Streaming, Video on Demand, Pay Per View
4 * Plugin URI: http://wpstream.net
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.6.7.6
7 * Author: wpstream
8 * Author URI: http://wpstream.net
9 * Text Domain: wpstream
10 * Domain Path: /languages
11 */
12
13 // If this file is called directly, abort.
14 if ( ! defined( 'WPINC' ) ) {
15 die;
16 }
17 define('WPSTREAM_PLUGIN_VERSION', '4.6.7.6');
18 define('WPSTREAM_CLUBLINK', 'wpstream.net');
19 define('WPSTREAM_CLUBLINKSSL', 'https');
20 define('WPSTREAM_PLUGIN_URL', plugins_url() );
21 define('WPSTREAM_PLUGIN_DIR_URL', plugin_dir_url(__FILE__) );
22 define('WPSTREAM_PLUGIN_PATH', plugin_dir_path(__FILE__) );
23 define('WPSTREAM_PLUGIN_BASE', plugin_basename(__FILE__) );
24 define('WPSTREAM_API', 'https://baker.wpstream.net');
25
26 function wpstream_cleanup_logs_handler() {
27 $logger = new WpStream_Logger();
28 $logger->clear_old_logs();
29 }
30 add_action('wpstream_log_cleanup', 'wpstream_cleanup_logs_handler');
31
32 /**
33 * The code that runs during plugin activation.
34 * This action is documented in includes/class-wpstream-activator.php
35 */
36 function activate_wpstream() {
37 require_once plugin_dir_path( __FILE__ ) . 'includes/class-wpstream-activator.php';
38 Wpstream_Activator::activate();
39
40 if( !wp_next_scheduled( 'wpstream_log_cleanup' ) ) {
41 wp_schedule_event( time(), 'daily', 'wpstream_log_cleanup' );
42 }
43 }
44
45 /**
46 * The code that runs during plugin deactivation.
47 * This action is documented in includes/class-wpstream-deactivator.php
48 */
49 function deactivate_wpstream() {
50 require_once plugin_dir_path( __FILE__ ) . 'includes/class-wpstream-deactivator.php';
51 Wpstream_Deactivator::deactivate();
52
53 wp_clear_scheduled_hook( 'wpstream_log_cleanup' );
54 }
55
56 register_activation_hook( __FILE__, 'activate_wpstream' );
57 register_deactivation_hook( __FILE__, 'deactivate_wpstream' );
58
59 /**
60 * Wrapper function for wpstream_dashboard_save_channel_data to be called from theme
61 * This provides backward compatibility for the theme
62 */
63 function wpstream_dashboard_save_channel_data_plugin() {
64 global $wpstream_plugin;
65 if (isset($wpstream_plugin) && isset($wpstream_plugin->wpstream_ajax)) {
66 $wpstream_plugin->wpstream_ajax->wpstream_dashboard_save_channel_data();
67 }
68 }
69
70 /**
71 * The core plugin class that is used to define internationalization,
72 * admin-specific hooks, and public-facing site hooks.
73 */
74 require plugin_dir_path( __FILE__ ) . 'includes/class-wpstream.php';
75 require plugin_dir_path( __FILE__ ) . 'wpstream-elementor.php';
76 require plugin_dir_path( __FILE__ ) . 'streamify/streamify.php';
77
78 require plugin_dir_path( __FILE__ ) . 'integrations/integrations.php';
79
80 function wpstream_load_theme_functionality() {
81 define ('WPSTREAM_FRAMEWORK_BASE', plugin_dir_path(__FILE__) . 'hello-wpstream' );
82
83 $core_files = array(
84 '/framework/metaboxes.php',
85 '/framework/query-functions.php',
86 '/framework/wpstream-video-functions.php',
87 '/framework/ajax-functions.php',
88 '/framework/dashboard-functions.php',
89 '/framework/wpstream-help-functions.php',
90 '/framework/video-pages-functions.php',
91 '/framework/comments-functions.php',
92 '/framework/gallery-functions.php',
93 '/framework/shortcodes-functions.php',
94 '/framework/post-types/main.php',
95 '/framework/woocommerce-functions.php',
96 '/framework/ajax-upload.php',
97 '/framework/class-tgm-plugin-activation.php',
98 '/framework/email-functions.php',
99 '/framework/widgets/class-wpstream-widget-manager.php',
100 '/framework/classes/class-wpstream-login-register.php',
101 '/framework/classes/class-wpstream_theme-social-login.php',
102 );
103
104 // Load core files
105 foreach ( $core_files as $file ) {
106 $file_path = WPSTREAM_FRAMEWORK_BASE . $file;
107 if ( file_exists( $file_path ) ) {
108 require_once $file_path;
109 } else {
110 error_log( 'Missing required file: ' . $file_path );
111 }
112 }
113
114 // Load Elementor integration if the plugin is active
115 if ( defined( 'ELEMENTOR_VERSION' ) ) {
116
117 $elementor_files = array(
118 '/elementor/functions/blog_functions.php',
119 '/elementor/wpstream-elementor.php'
120 );
121
122 foreach ( $elementor_files as $file ) {
123 $file_path = WPSTREAM_FRAMEWORK_BASE . $file;
124 if ( file_exists( $file_path ) ) {
125 require_once $file_path;
126 } else {
127 error_log( 'Missing required file: ' . $file_path );
128 }
129 }
130 }
131 }
132
133 add_action( 'after_setup_theme', 'wpstream_load_theme_functionality' );
134
135 /**
136 * Load js for players
137 *
138 * @return void
139 */
140 if ( ! function_exists( 'wpstream_load_player_js_on_demand' ) ) {
141 function wpstream_load_player_js_on_demand()
142 {
143 $wpstream_unit_card_use_video = get_theme_mod('wpstream_unit_card_use_video');
144 if ($wpstream_unit_card_use_video) {
145 wp_enqueue_script('video.min');
146 wp_enqueue_script('wpstream-player');
147 }
148
149 }
150 }
151
152 /**
153 * Begins execution of the plugin.
154 *
155 * Since everything within the plugin is registered via hooks,
156 * then kicking off the plugin from this point in the file does
157 * not affect the page life cycle.
158 *
159 * @since 3.0.1
160 */
161
162 global $wpstream_plugin;
163 $wpstream_plugin = new Wpstream();
164 $wpstream_plugin->run();
165
166 add_action( 'upgrader_process_complete', 'wpstream_my_upgrate_function',10, 2);
167
168 function wpstream_my_upgrate_function( $upgrader_object, $options ) {
169
170
171 $current_plugin_path_name = plugin_basename( __FILE__ );
172
173 if ($options['action'] == 'update' && $options['type'] == 'plugin' ) {
174 if(is_array($options)):
175 foreach($options['plugins'] as $each_plugin) {
176 if ($each_plugin==$current_plugin_path_name) {
177 delete_transient('wpstream_token_api');
178 update_option('wp_estate_token_expire',0);
179 update_option('wp_estate_curent_token',' ');
180
181 }
182 }
183 endif;
184 }
185
186
187 }
188
189
190
191 add_action('wp_head', 'wpstream_add_custom_meta_to_header');
192
193 function wpstream_add_custom_meta_to_header(){
194 global $post;
195
196
197 if ( is_singular('product') || is_singular('wpstream_product') || is_singular('wpstream_product_vod') ){
198 $image_id = get_post_thumbnail_id();
199 $share_img = wp_get_attachment_image_src( $image_id, 'full');
200 $the_post = get_post($post->ID); ?>
201
202 <meta property='og:title' content="<?php print esc_html(get_the_title($post->ID)); ?>"/>
203 <?php if(isset($share_img[0])){ ?>
204 <meta property="og:image" content="<?php print esc_url($share_img[0]); ?>"/>
205 <meta property="og:image:secure_url" content="<?php print esc_url($share_img[0]); ?>" />
206 <?php }?>
207
208 <meta property="og:description" content=" <?php print wp_strip_all_tags( $the_post->post_content);?>" />
209 <?php }
210
211
212 }
213
214
215 /*
216 *
217 * Check integrations
218 *
219 */
220 require_once plugin_dir_path(__FILE__) . 'integrations/hello-wpstream/theme-import.php';
221 add_filter('pt-ocdi/import_files', 'ocdi_import_files');
222 add_action('pt-ocdi/after_import', 'ocdi_after_import_setup');
223 add_filter('pt-ocdi/plugin_intro_text', 'ocdi_plugin_intro_text');
224
225
226 add_action( 'plugins_loaded', 'wpstream_check_integrations' );
227
228
229 /*
230 *
231 * Redirect on plugin activation
232 *
233 */
234
235 function wpstream_activation_redirect( $plugin ) {
236 if( $plugin == plugin_basename( __FILE__ ) ) {
237 exit( wp_redirect( admin_url( 'admin.php?page=wpstream_onboard' ) ) );
238 }
239 }
240 add_action( 'activated_plugin', 'wpstream_activation_redirect' );
241
242
243
244 /*
245 *
246 * remove the style selectWoo for the theme
247 *
248 */
249 if ( function_exists( 'wpstream_get_author_id' ) ) {
250 // only if wpstream-theme is activated
251
252 remove_filter( 'pre_user_description', 'wp_filter_kses' ); // Removes the filter that applies KSES filtering for user descriptions
253 remove_filter( 'term_description', 'wp_kses_data' ); // Removes the filter that applies KSES data filtering for term descriptions
254
255 if ( ! function_exists( 'wsis_dequeue_stylesandscripts_select2' ) ) {
256 add_action( 'wp_enqueue_scripts', 'wsis_dequeue_stylesandscripts_select2', 100 );
257 /**
258 * Remove CSS and/or JS for Select2 used by WooCommerce
259 */
260 function wsis_dequeue_stylesandscripts_select2() {
261 if ( class_exists( 'woocommerce' ) ) {
262 wp_dequeue_style( 'selectWoo' );
263 wp_deregister_style( 'selectWoo' );
264
265 wp_dequeue_script( 'selectWoo' );
266 wp_deregister_script( 'selectWoo' );
267 }
268 }
269 }
270 }
271