PluginProbe
Video Grid / 1.23
Video Grid v1.23
1.25 trunk 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 All 26 releases
video-grid / wp-video-grid.php

wp-video-grid.php in Video Grid 1.23, at wp-video-grid.php

2,706 lines 158.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 * Plugin Name: Video Grid With Lightbox
4 * Plugin URI:https://www.i13websolution.com/product/wordpress-responsive-video-grid-pro/
5 * Author URI:http://www.i13websolution.com
6 * Description:This is beautiful responsive video grid with responsive lightbox.Add any number of video from admin panel.
7 * Author:I Thirteen Web Solution
8 * Version:1.23
9 * Text Domain:video-grid
10 */
11
12 add_filter ( 'widget_text', 'do_shortcode' );
13 add_action ( 'admin_menu', 'responsive_video_grid_add_admin_menu' );
14 //add_action ( 'admin_init', 'responsive_video_grid_add_admin_init' );
15 register_activation_hook ( __FILE__, 'install_responsive_video_grid' );
16 register_deactivation_hook(__FILE__,'rvg_video_grid_remove_access_capabilities');
17
18 add_action ( 'wp_enqueue_scripts', 'responsive_video_grid_load_styles_and_js' );
19 add_shortcode ( 'print_responsive_video_grid', 'print_responsive_video_grid_func' );
20 add_action ( 'admin_notices', 'responsive_video_grid_admin_notices' );
21
22 add_action( 'wp_ajax_check_file_exist_grid', 'check_file_exist_grid_callback' );
23 add_action( 'wp_ajax_get_youtube_info_grid', 'get_youtube_info_grid_callback' );
24
25 add_action('plugins_loaded', 'vg_load_lang_for_responsive_video_grid');
26 add_filter( 'user_has_cap', 'rvg_video_grid_admin_cap_list' , 10, 4 );
27
28 function vg_load_lang_for_responsive_video_grid() {
29
30 load_plugin_textdomain( 'video-grid', false, basename( dirname( __FILE__ ) ) . '/languages/' );
31 add_filter( 'map_meta_cap', 'map_rvg_video_grid_meta_caps', 10, 4 );
32 }
33
34 function rvg_video_grid_admin_cap_list($allcaps, $caps, $args, $user){
35
36
37 if ( ! in_array( 'administrator', $user->roles ) ) {
38
39 return $allcaps;
40 }
41 else{
42
43 if(!isset($allcaps['rvg_video_grid_settings'])){
44
45 $allcaps['rvg_video_grid_settings']=true;
46 }
47
48 if(!isset($allcaps['rvg_video_grid_view_videos'])){
49
50 $allcaps['rvg_video_grid_view_videos']=true;
51 }
52 if(!isset($allcaps['rvg_video_grid_add_video'])){
53
54 $allcaps['rvg_video_grid_add_video']=true;
55 }
56 if(!isset($allcaps['rvg_video_grid_edit_video'])){
57
58 $allcaps['rvg_video_grid_edit_video']=true;
59 }
60 if(!isset($allcaps['rvg_video_grid_delete_video'])){
61
62 $allcaps['rvg_video_grid_delete_video']=true;
63 }
64 if(!isset($allcaps['rvg_video_grid_preview'])){
65
66 $allcaps['rvg_video_grid_preview']=true;
67 }
68
69
70 }
71
72 return $allcaps;
73
74 }
75
76 function map_rvg_video_grid_meta_caps( array $caps, $cap, $user_id, array $args ) {
77
78
79 if ( ! in_array( $cap, array(
80 'rvg_video_grid_settings',
81 'rvg_video_grid_view_videos',
82 'rvg_video_grid_add_video',
83 'rvg_video_grid_edit_video',
84 'rvg_video_grid_delete_video',
85 'rvg_video_grid_preview',
86
87 ), true ) ) {
88
89 return $caps;
90 }
91
92
93
94
95 $caps = array();
96
97 switch ( $cap ) {
98
99 case 'rvg_video_grid_settings':
100 $caps[] = 'rvg_video_grid_settings';
101 break;
102
103 case 'rvg_video_grid_view_videos':
104 $caps[] = 'rvg_video_grid_view_videos';
105 break;
106
107 case 'rvg_video_grid_add_video':
108 $caps[] = 'rvg_video_grid_add_video';
109 break;
110
111 case 'rvg_video_grid_edit_video':
112 $caps[] = 'rvg_video_grid_edit_video';
113 break;
114
115 case 'rvg_video_grid_delete_video':
116 $caps[] = 'rvg_video_grid_delete_video';
117 break;
118
119 case 'rvg_video_grid_preview':
120 $caps[] = 'rvg_video_grid_preview';
121 break;
122
123 default:
124
125 $caps[] = 'do_not_allow';
126 break;
127 }
128
129
130 return apply_filters( 'rvg_video_grid_meta_caps', $caps, $cap, $user_id, $args );
131 }
132
133 function rvg_video_grid_add_access_capabilities() {
134
135 // Capabilities for all roles.
136 $roles = array( 'administrator' );
137 foreach ( $roles as $role ) {
138
139 $role = get_role( $role );
140 if ( empty( $role ) ) {
141 continue;
142 }
143
144
145 if(!$role->has_cap( 'rvg_video_grid_settings' ) ){
146
147 $role->add_cap( 'rvg_video_grid_settings' );
148 }
149
150 if(!$role->has_cap( 'rvg_video_grid_view_videos' ) ){
151
152 $role->add_cap( 'rvg_video_grid_view_videos' );
153 }
154
155
156 if(!$role->has_cap( 'rvg_video_grid_add_video' ) ){
157
158 $role->add_cap( 'rvg_video_grid_add_video' );
159 }
160
161 if(!$role->has_cap( 'rvg_video_grid_edit_video' ) ){
162
163 $role->add_cap( 'rvg_video_grid_edit_video' );
164 }
165
166 if(!$role->has_cap( 'rvg_video_grid_delete_video' ) ){
167
168 $role->add_cap( 'rvg_video_grid_delete_video' );
169 }
170
171 if(!$role->has_cap( 'rvg_video_grid_preview' ) ){
172
173 $role->add_cap( 'rvg_video_grid_preview' );
174 }
175
176
177
178 }
179
180 $user = wp_get_current_user();
181 $user->get_role_caps();
182
183 }
184
185 function rvg_video_grid_remove_access_capabilities(){
186
187 global $wp_roles;
188
189 if ( ! isset( $wp_roles ) ) {
190 $wp_roles = new WP_Roles();
191 }
192
193 foreach ( $wp_roles->roles as $role => $details ) {
194 $role = $wp_roles->get_role( $role );
195 if ( empty( $role ) ) {
196 continue;
197 }
198
199 $role->remove_cap( 'rvg_video_grid_settings');
200 $role->remove_cap( 'rvg_video_grid_view_videos');
201 $role->remove_cap( 'rvg_video_grid_add_video');
202 $role->remove_cap( 'rvg_video_grid_edit_video');
203 $role->remove_cap( 'rvg_video_grid_delete_video');
204 $role->remove_cap( 'rvg_video_grid_preview');
205
206
207 }
208
209 // Refresh current set of capabilities of the user, to be able to directly use the new caps.
210 $user = wp_get_current_user();
211 $user->get_role_caps();
212
213 }
214
215 function get_youtube_info_grid_callback() {
216
217 if (isset($_POST) and is_array($_POST) and isset($_POST['url'])) {
218
219 $retrieved_nonce = '';
220
221 if (isset($_POST['vNonce']) and $_POST['vNonce'] != '') {
222
223 $retrieved_nonce = sanitize_text_field($_POST['vNonce']);
224 }
225 if (!wp_verify_nonce($retrieved_nonce, 'vNonce')) {
226
227
228 wp_die('Security check fail');
229 }
230
231 if (isset($_POST) and is_array($_POST) and isset($_POST['url'])) {
232
233 $vid = htmlentities(sanitize_text_field($_POST['vid']),ENT_QUOTES);
234 $url = esc_url_raw($_POST['url']);
235 $output= wp_remote_retrieve_body( wp_remote_get( $url ) );
236 $output=json_decode($output);
237
238
239 $videoInfo= wp_remote_retrieve_body( wp_remote_get( "https://www.youtube.com/watch?v=$vid"));
240
241 $pattern = '/\\"shortDescription\\":(.*)\\"isCrawlable\\"/Uis';
242 $vinfo='';
243 if(preg_match_all($pattern, $videoInfo, $matches)) {
244 if(is_array($matches) and isset($matches[1])){
245 if(isset($matches[1][0])){
246 $vinfo= stripcslashes($matches[1][0]);
247 }
248 }
249 }
250
251 $breaks = array("<br />","<br>","<br/>");
252 $vinfo = str_ireplace($breaks, "\r\n", $vinfo);
253 $vinfo=trim($vinfo);
254 $vinfo=trim($vinfo,',');
255 $vinfo=trim($vinfo,'"');
256 $vinfo=rtrim($vinfo,'"');
257 $vinfo=ltrim($vinfo,'"');
258 $vinfo=trim($vinfo,'"');
259 $vinfo=trim($vinfo,',');
260
261 $return=array();
262 if(is_object($output)){
263
264 $return['title']=$output->title;
265 $return['thumbnail_url']=$output->thumbnail_url;
266 $return['description']=$vinfo;
267
268 }
269
270 echo json_encode($return);
271 exit;
272 }
273 }
274 }
275
276 function vg_save_image($url,$saveto){
277
278 $raw = wp_remote_retrieve_body( wp_remote_get( $url ) );
279
280 if(file_exists($saveto)){
281 @unlink($saveto);
282 }
283 $fp = @fopen($saveto,'x');
284 @fwrite($fp, $raw);
285 @fclose($fp);
286
287 }
288
289 function check_file_exist_grid_callback() {
290
291 if(isset($_POST) and is_array($_POST) and isset($_POST['url'])){
292
293
294 $retrieved_nonce = '';
295
296 if (isset($_POST['vNonce']) and $_POST['vNonce'] != '') {
297
298 $retrieved_nonce = sanitize_text_field($_POST['vNonce']);
299 }
300 if (!wp_verify_nonce($retrieved_nonce, 'vNonce')) {
301
302
303 wp_die('Security check fail');
304 }
305
306 $response = wp_remote_get(sanitize_text_field($_POST['url']));
307 $httpCode = wp_remote_retrieve_response_code( $response );
308
309 echo trim((string)$httpCode);die;
310
311 }
312 //echo die;
313
314 }
315
316
317 function responsive_video_grid_admin_notices() {
318
319 if (is_plugin_active ( 'wp-video-grid/wp-video-grid.php' )) {
320
321 $uploads = wp_upload_dir();
322 $baseDir = $uploads ['basedir'];
323 $baseDir = str_replace ( "\\", "/", $baseDir );
324 $pathToImagesFolder = $baseDir . '/wp-responsive-video-grid';
325
326 if (file_exists ( $pathToImagesFolder ) and is_dir ( $pathToImagesFolder )) {
327
328 if (! is_writable ( $pathToImagesFolder )) {
329 echo "<div class='updated'><p>".__( 'Video Grid With Lightbox is active but does not have write permission on','video-grid')."</p><p><b>" . $pathToImagesFolder . "</b>".__( 'directory.Please allow write permission.','video-grid')."</p></div> ";
330 }
331 } else {
332
333 wp_mkdir_p ( $pathToImagesFolder );
334 if (! file_exists ( $pathToImagesFolder ) and ! is_dir ( $pathToImagesFolder )) {
335 echo "<div class='updated'><p>".__( 'Video Grid With Lightbox is active but plugin does not have permission to create directory','video-grid')."</p><p><b>" . $pathToImagesFolder . "</b> ".__( '.Please create wp-responsive-video-grid directory inside upload directory and allow write permission.','video-grid')."</p></div> ";
336 }
337 }
338 }
339
340 }
341 function responsive_video_grid_load_styles_and_js() {
342
343 if (! is_admin()) {
344
345
346 wp_register_style('wp-video-grid-lighbox-style', plugins_url('/css/wp-video-grid-lighbox-style.css', __FILE__),array(),'1.17');
347 wp_register_style('vl-box-grid-css', plugins_url('/css/vl-box-grid-css.css', __FILE__),array(),'1.11');
348 wp_register_script('vl-grid-js', plugins_url('/js/vl-grid-js.js', __FILE__),array('jquery'),'1.11');
349 wp_register_script('v_grid', plugins_url('/js/v_grid.js', __FILE__),array('jquery'),'1.11');
350
351
352 }
353 }
354 function install_responsive_video_grid() {
355 global $wpdb;
356 $table_name = $wpdb->prefix . "responsive_video_grid";
357
358 $sql = "CREATE TABLE " . $table_name . " (
359 `id` int(10) NOT NULL AUTO_INCREMENT,
360 `vtype` varchar(50) NOT NULL,
361 `vid` varchar(500) NOT NULL,
362 `video_url` varchar(1000) DEFAULT NULL,
363 `embed_url` varchar(300) NOT NULL,
364 `HdnMediaSelection` varchar(500) NOT NULL,
365 `image_name` varchar(500) NOT NULL,
366 `videotitle` varchar(1000) NOT NULL,
367 `videotitleurl` varchar(1000) DEFAULT NULL,
368 `video_description` text DEFAULT NULL,
369 `video_order` int(11) NOT NULL DEFAULT '0',
370 `open_link_in` tinyint(1) NOT NULL DEFAULT '1',
371 `enable_light_box_video_desc` tinyint(1) NOT NULL DEFAULT '1',
372 `createdon` datetime NOT NULL,
373 `slider_id` int(10) NOT NULL DEFAULT '1',
374 PRIMARY KEY (`id`)
375 );
376 ";
377
378 $responsive_video_grid_settings=array(
379 'display_video_lightbox' => '1',
380 'scollerBackground'=>'#FFFFFF',
381 'resize_images'=>'1'
382
383 );
384
385
386 $existingopt=get_option('responsive_video_grid_settings');
387 if(!is_array($existingopt)){
388
389 update_option('responsive_video_grid_settings',$responsive_video_grid_settings);
390
391 }
392 else{
393
394 $flag=false;
395 if(!isset($existingopt['resize_images'])){
396
397 $flag=true;
398 $existingopt['resize_images']='1';
399
400 }
401
402 if($flag==true){
403
404 update_option('responsive_video_grid_settings', $existingopt);
405
406 }
407 }
408
409
410 require_once (ABSPATH . 'wp-admin/includes/upgrade.php');
411 dbDelta ( $sql );
412
413 $uploads = wp_upload_dir();
414 $baseDir = $uploads ['basedir'];
415 $baseDir = str_replace ( "\\", "/", $baseDir );
416 $pathToImagesFolder = $baseDir . '/wp-responsive-video-grid';
417 wp_mkdir_p ( $pathToImagesFolder );
418 rvg_video_grid_add_access_capabilities();
419
420
421
422 }
423
424 function responsive_video_grid_add_admin_menu() {
425
426 $hook_suffix=add_menu_page ( __ ( 'Video Grid Plus Lightbox','video-grid' ), __ ( 'Video Grid With Lightbox','video-grid' ), 'rvg_video_grid_settings', 'video_grid_with_lightbox', 'video_grid_with_lightbox_admin_options_func' );
427 $hook_suffix=add_submenu_page ( 'video_grid_with_lightbox', __ ( 'Gallery Settings','video-grid' ), __ ( 'Gallery Settings','video-grid' ), 'rvg_video_grid_settings', 'video_grid_with_lightbox', 'video_grid_with_lightbox_admin_options_func' );
428 $hook_suffix_image=add_submenu_page ( 'video_grid_with_lightbox', __ ( 'Manage Videos','video-grid' ), __ ( 'Manage Videos','video-grid' ), 'rvg_video_grid_view_videos', 'video_grid_with_lightbox_video_management', 'video_grid_with_lightbox_video_management_func' );
429 $hook_suffix_prev=add_submenu_page ( 'video_grid_with_lightbox', __ ( 'Preview Gallery','video-grid' ), __ ( 'Preview Gallery','video-grid' ), 'rvg_video_grid_preview', 'video_grid_with_lightbox_video_preview', 'video_grid_with_lightbox_video_preview_func' );
430
431 add_action( 'load-' . $hook_suffix , 'responsive_video_grid_add_admin_init' );
432 add_action( 'load-' . $hook_suffix_image , 'responsive_video_grid_add_admin_init' );
433 add_action( 'load-' . $hook_suffix_prev , 'responsive_video_grid_add_admin_init' );
434
435 }
436 function responsive_video_grid_add_admin_init() {
437
438 $url = plugin_dir_url ( __FILE__ );
439
440 wp_enqueue_style ( 'wp-video-grid-lighbox-style', plugins_url ( '/css/wp-video-grid-lighbox-style.css', __FILE__ ) );
441 wp_enqueue_style ( 'vl-box-grid-css', plugins_url ( '/css/vl-box-grid-css.css', __FILE__ ) );
442 wp_enqueue_style ( 'admin_css', plugins_url ( '/css/admin_css.css', __FILE__ ) );
443 wp_enqueue_script ( 'jquery' );
444 wp_enqueue_script ( 'jquery.validate', $url . 'js/jquery.validate.js' );
445 wp_enqueue_script ( 'vl-grid-js', plugins_url ( '/js/vl-grid-js.js', __FILE__ ) );
446 wp_enqueue_script ( 'v_grid', plugins_url ( '/js/v_grid.js', __FILE__ ) );
447
448 responsive_video_grid_admin_scripts_init();
449 }
450
451
452 function video_grid_with_lightbox_admin_options_func(){
453
454 if ( ! current_user_can( 'rvg_video_grid_settings' ) ) {
455
456 wp_die( __( "Access Denied", "video-grid" ) );
457
458 }
459
460 if(isset($_POST['btnsave'])){
461
462 if (!check_admin_referer('action_image_add_edit', 'add_edit_image_nonce')) {
463
464 wp_die(__( 'Security check fail','video-grid'));
465 }
466
467
468 if(isset($_POST['display_video_lightbox']))
469 $display_video_lightbox=true;
470 else
471 $display_video_lightbox=false;
472
473
474 $scollerBackground=trim(htmlentities(sanitize_text_field($_POST['scollerBackground']),ENT_QUOTES));
475 $resize_images = htmlentities(sanitize_text_field($_POST['resize_images']),ENT_QUOTES);
476
477
478 $options=array();
479 $options['display_video_lightbox']=$display_video_lightbox;
480 $options['scollerBackground']=$scollerBackground;
481 $options['resize_images']=$resize_images;
482
483
484 $settings=update_option('responsive_video_grid_settings',$options);
485 $responsive_video_grid_messages=array();
486 $responsive_video_grid_messages['type']='succ';
487 $responsive_video_grid_messages['message']=__( 'Settings saved successfully.','video-grid');
488 update_option('responsive_video_grid_messages', $responsive_video_grid_messages);
489
490
491
492 }
493 $settings=get_option('responsive_video_grid_settings');
494
495 if(!isset($settings['resize_images'])){
496
497 $settings['resize_images']=1;
498
499 }
500
501 ?>
502 <div id="poststuff" >
503 <div id="post-body" class="metabox-holder columns-2" >
504 <div id="post-body-content">
505 <div class="wrap">
506 <table><tr>
507 <td>
508 <div class="fb-like" data-href="https://www.facebook.com/i13websolution" data-layout="button" data-action="like" data-size="large" data-show-faces="false" data-share="false"></div>
509 <div id="fb-root"></div>
510 <script>(function(d, s, id) {
511 var js, fjs = d.getElementsByTagName(s)[0];
512 if (d.getElementById(id)) return;
513 js = d.createElement(s); js.id = id;
514 js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.2&appId=158817690866061&autoLogAppEvents=1';
515 fjs.parentNode.insertBefore(js, fjs);
516 }(document, 'script', 'facebook-jssdk'));</script>
517 </td>
518 <td>
519 <a target="_blank" title="Donate" href="https://www.i13websolution.com/donate-wordpress_image_thumbnail.php">
520 <img id="<?php echo __( 'help us for free plugin','video-grid');?>" height="30" width="90" src="<?php echo plugins_url( 'images/paypaldonate.jpg', __FILE__ ) ;?>" border="0" alt="<?php echo __( 'help us for free plugin','video-grid');?>" title="<?php echo __( 'help us for free plugin','video-grid');?>">
521 </a>
522 </td>
523 </tr>
524 </table>
525 <span><h3 style="color: blue;"><a target="_blank" href="https://www.i13websolution.com/wordpress-responsive-video-grid-pro.html"><?php echo __( 'UPGRADE TO PRO VERSION','video-grid');?></a></h3></span>
526 <?php
527 $messages=get_option('responsive_video_grid_messages');
528 $type='';
529 $message='';
530 if(isset($messages['type']) and $messages['type']!=""){
531
532 $type=$messages['type'];
533 $message=$messages['message'];
534
535 }
536
537
538 if(trim($type)=='err'){ echo "<div class='notice notice-error is-dismissible'><p>"; echo $message; echo "</p></div>";}
539 else if(trim($type)=='succ'){ echo "<div class='notice notice-success is-dismissible'><p>"; echo $message; echo "</p></div>";}
540
541
542 update_option('responsive_video_grid_messages', array());
543 ?>
544
545 <h2><?php echo __( 'Gallery Grid Settings','video-grid');?></h2>
546 <div id="poststuff">
547 <div id="post-body" class="metabox-holder columns-2">
548 <div id="post-body-content">
549 <form method="post" action="" id="scrollersettiings" name="scrollersettiings" >
550
551
552 <div class="stuffbox" id="namediv" style="width:100%;">
553 <h3><label ><?php echo __( 'Play Video In Lightbox ?','video-grid');?></label></h3>
554 <div class="inside">
555 <table>
556 <tr>
557 <td>
558 <input type="checkbox" id="display_video_lightbox" size="30" name="display_video_lightbox" value="" <?php if($settings['display_video_lightbox']==true){echo "checked='checked'";} ?> style="width:20px;">&nbsp;Play Video in Lightbox ?
559 <div style="clear:both"></div>
560 <div></div>
561 </td>
562 </tr>
563 </table>
564 <div style="clear:both"></div>
565
566 </div>
567 </div>
568 <div class="stuffbox" id="namediv" style="width:100%;">
569 <h3><label><?php echo __( 'Video Grid Background color','video-grid');?></label></h3>
570 <div class="inside">
571 <table>
572 <tr>
573 <td>
574 <input type="text" id="scollerBackground" size="30" name="scollerBackground" value="<?php echo $settings['scollerBackground']; ?>" style="width:100px;">
575 <div style="clear:both"></div>
576 <div></div>
577 </td>
578 </tr>
579 </table>
580
581 <div style="clear:both"></div>
582 </div>
583 </div>
584
585 <div class="stuffbox" id="namediv" style="width: 100%;">
586 <h3>
587 <label><?php echo __('Resize image physically?','video-grid');?></label>
588 </h3>
589 <div class="inside">
590 <table>
591 <tr>
592 <td><input style="width: 20px;" type='radio'
593 <?php
594 if ($settings ['resize_images'] == true) {
595 echo "checked='checked'";
596 }
597 ?>
598 name='resize_images' value='1'><?php echo __('yes','video-grid');?> &nbsp;<input
599 style="width: 20px;" type='radio' name='resize_images'
600 <?php
601 if ($settings ['resize_images'] == false) {
602 echo "checked='checked'";
603 }
604 ?>
605 value='0'><?php echo __('No','video-grid');?>
606 <div style="clear: both"></div>
607 <div></div></td>
608 </tr>
609 </table>
610 <div style="clear: both"></div>
611 </div>
612 </div>
613 <?php wp_nonce_field('action_image_add_edit', 'add_edit_image_nonce'); ?>
614 <input type="submit" name="btnsave" id="btnsave" value="<?php echo __( 'Save Changes','video-grid');?>" class="button-primary">&nbsp;&nbsp;<input type="button" name="cancle" id="cancle" value="<?php echo __( 'Cancle','video-grid');?>" class="button-primary" onclick="location.href='admin.php?page=video_grid_with_lightbox_video_management'">
615
616 </form>
617 <script type="text/javascript">
618
619 jQuery(document).ready(function() {
620
621 jQuery("#scrollersettiings").validate({
622 rules: {
623 scollerBackground:{
624 required:true,
625 maxlength:7
626 }
627
628
629 },
630 errorClass: "image_error",
631 errorPlacement: function(error, element) {
632 error.appendTo( element.next().next());
633 }
634
635
636 })
637
638 jQuery('#scollerBackground').wpColorPicker();
639 });
640
641 </script>
642
643 </div>
644 </div>
645 </div>
646 </div>
647 </div>
648 <div id="postbox-container-1" class="postbox-container" >
649
650 <div class="postbox">
651 <h3 class="hndle"><span></span><?php echo __( 'Access All Themes In One Price','video-grid');?></h3>
652 <div class="inside">
653 <center><a href="https://www.elegantthemes.com/affiliates/idevaffiliate.php?id=11715_0_1_10" target="_blank">
654 <img border="0" src="<?php echo plugins_url( 'images/300x250.gif', __FILE__);?>" width="250" height="250">
655 </a></center>
656
657 <div style="margin:10px 5px">
658
659 </div>
660 </div></div>
661 <div class="postbox">
662 <h3 class="hndle"><span></span><?php echo __('Google For Business Coupon','video-grid');?></h3>
663 <div class="inside">
664 <center><a href="https://goo.gl/OJBuHT" target="_blank">
665 <img src="<?php echo plugins_url( 'images/g-suite-promo-code-4.png', __FILE__ );?>" width="250" height="250" border="0">
666 </a></center>
667 <div style="margin:10px 5px">
668 </div>
669 </div>
670
671 </div>
672
673 </div>
674
675 <div class="clear"></div>
676 </div>
677 </div>
678 <?php
679 }
680
681 function video_grid_with_lightbox_video_management_func() {
682
683 $action = 'gridview';
684 global $wpdb;
685
686
687
688 if (isset ( $_GET ['action'] ) and $_GET ['action'] != '') {
689
690 $action = trim ( sanitize_text_field($_GET ['action'] ));
691 }
692 ?>
693
694 <?php
695 if (strtolower ( $action ) == strtolower ( 'gridview' )) {
696
697 $wpcurrentdir = dirname ( __FILE__ );
698 $wpcurrentdir = str_replace ( "\\", "/", $wpcurrentdir );
699
700 $uploads = wp_upload_dir();
701 $baseurl = $uploads ['baseurl'];
702 $baseurl .= '/wp-responsive-video-grid/';
703
704 if ( ! current_user_can( 'rvg_video_grid_view_videos' ) ) {
705
706 wp_die( __( "Access Denied", "video-grid" ) );
707
708 }
709 ?>
710 <div class="wrap">
711
712 <?php
713 $messages = get_option ( 'responsive_video_grid_messages' );
714 $type = '';
715 $message = '';
716 if (isset ( $messages ['type'] ) and $messages ['type'] != "") {
717
718 $type = $messages ['type'];
719 $message = $messages ['message'];
720 }
721
722 if(trim($type)=='err'){ echo "<div class='notice notice-error is-dismissible'><p>"; echo $message; echo "</p></div>";}
723 else if(trim($type)=='succ'){ echo "<div class='notice notice-success is-dismissible'><p>"; echo $message; echo "</p></div>";}
724
725
726 update_option ( 'responsive_video_grid_messages', array() );
727 ?>
728 <div id="poststuff" >
729 <div id="post-body" class="metabox-holder columns-2" >
730 <div id="post-body-content">
731 <div class="wrap">
732 <span><h3 style="color: blue;"><a target="_blank" href="https://www.i13websolution.com/wordpress-responsive-video-grid-pro.html"><?php echo __( 'UPGRADE TO PRO VERSION','video-grid');?></a></h3></span>
733 <div style="width: 100%;">
734 <div style="float: left; width: 100%;">
735 <div class="icon32 icon32-posts-post" id="icon-edit">
736 <br>
737 </div>
738 <h1>
739 <?php echo __( 'Videos','video-grid');?><a class="button add-new-h2" href="admin.php?page=video_grid_with_lightbox_video_management&action=addedit"><?php echo __( 'Add New','video-grid');?></a>
740 </h1>
741 <br />
742
743 <form method="POST" action="admin.php?page=video_grid_with_lightbox_video_management&action=deleteselected" id="posts-filter" onkeypress="return event.keyCode != 13;">
744 <div class="alignleft actions">
745 <select name="action_upper" id="action_upper">
746 <option selected="selected" value="-1"><?php echo __( 'Bulk Actions','video-grid');?></option>
747 <option value="delete"><?php echo __( 'Delete','video-grid');?></option>
748 </select>
749 <input type="submit" value="<?php echo __( 'Apply','video-grid');?>" class="button-secondary action" id="deleteselected" name="deleteselected" onclick="return confirmDelete_bulk();">
750 </div>
751 <br class="clear">
752
753 <?php
754
755 $sliderid="0";
756 if(isset($_GET['sliderid']) and $_GET['sliderid']!=""){
757 $sliderid=intval(trim($_GET['sliderid']));
758 }
759
760 $setacrionpage='admin.php?page=video_grid_with_lightbox_video_management';
761
762 if(isset($_GET['order_by']) and $_GET['order_by']!=""){
763 $setacrionpage.='&order_by='.esc_html(sanitize_text_field($_GET['order_by']));
764 }
765
766 if(isset($_GET['order_pos']) and $_GET['order_pos']!=""){
767 $setacrionpage.='&order_pos='.esc_html(sanitize_text_field($_GET['order_pos']));
768 }
769
770 $seval="";
771 if(isset($_GET['search_term']) and $_GET['search_term']!=""){
772 $seval=trim(esc_html(sanitize_text_field($_GET['search_term'])));
773 }
774 $search_term_='';
775 if(isset($_GET['search_term'])){
776
777 $search_term_='&search_term='.esc_html(sanitize_text_field($_GET['search_term']));
778 }
779
780 ?>
781 <br class="clear">
782 <?php
783 global $wpdb;
784 $settings=get_option('responsive_video_grid_settings');
785
786
787 $order_by='id';
788 $order_pos="asc";
789
790 if(isset($_GET['order_by'])){
791
792 $order_by=esc_html(sanitize_text_field($_GET['order_by']));
793 }
794
795 if(isset($_GET['order_pos'])){
796
797 $order_pos=esc_html(sanitize_text_field($_GET['order_pos']));
798 }
799 $search_term='';
800 if(isset($_GET['search_term'])){
801
802 $search_term= esc_sql(sanitize_text_field($_GET['search_term']));
803 }
804
805 $query = "SELECT * FROM " . $wpdb->prefix . "responsive_video_grid ";
806 $queryCount = "SELECT count(*) FROM " . $wpdb->prefix . "responsive_video_grid ";
807 if($search_term!=''){
808 $query.=" where id like '%$search_term%' or videotitle like '%$search_term%' ";
809 $queryCount.=" where id like '%$search_term%' or videotitle like '%$search_term%' ";
810 }
811
812 $order_by=sanitize_text_field(sanitize_sql_orderby($order_by));
813 $order_pos=sanitize_text_field(sanitize_sql_orderby($order_pos));
814
815 $query.=" order by $order_by $order_pos";
816
817
818 $rowsCount=$wpdb->get_var($queryCount);
819
820 ?>
821 <div style="padding-top:5px;padding-bottom:5px">
822 <b><?php echo __( 'Search','best-testimonial-slider');?> : </b>
823 <input type="text" value="<?php echo $seval;?>" id="search_term" name="search_term">&nbsp;
824 <input type='button' value='<?php echo __( 'Search','video-grid');?>' name='searchusrsubmit' class='button-primary' id='searchusrsubmit' onclick="SearchredirectTO();" >&nbsp;
825 <input type='button' value='<?php echo __( 'Reset Search','video-grid');?>' name='searchreset' class='button-primary' id='searchreset' onclick="ResetSearch();" >
826 </div>
827 <script type="text/javascript" >
828 jQuery('#search_term').on("keyup", function(e) {
829 if (e.which == 13) {
830
831 SearchredirectTO();
832 }
833 });
834 function SearchredirectTO(){
835 var redirectto='<?php echo $setacrionpage; ?>';
836 var searchval=jQuery('#search_term').val();
837 redirectto=redirectto+'&search_term='+jQuery.trim(encodeURIComponent(searchval));
838 window.location.href=redirectto;
839 }
840 function ResetSearch(){
841
842 var redirectto='<?php echo $setacrionpage; ?>';
843 window.location.href=redirectto;
844 exit;
845 }
846 </script>
847
848 <br/>
849 <div id="no-more-tables">
850 <table cellspacing="0" id="gridTbl"
851 class="table-bordered table-striped table-condensed cf">
852 <thead>
853 <tr>
854 <th class="manage-column column-cb check-column" scope="col"><input type="checkbox"></th>
855 <?php if($order_by=="id" and $order_pos=="asc"):?>
856 <th><a href="<?php echo $setacrionpage;?>&order_by=id&order_pos=desc<?php echo $search_term_;?>"><?php echo __('Id','video-grid');?><img style="vertical-align:middle" src="<?php echo plugins_url('/images/desc.png', __FILE__); ?>"/></a></th>
857 <?php else:?>
858 <?php if($order_by=="id"):?>
859 <th><a href="<?php echo $setacrionpage;?>&order_by=id&order_pos=asc<?php echo $search_term_;?>"><?php echo __('Id','video-grid');?><img style="vertical-align:middle" src="<?php echo plugins_url('/images/asc.png', __FILE__); ?>"/></a></th>
860 <?php else:?>
861 <th><a href="<?php echo $setacrionpage;?>&order_by=id&order_pos=asc<?php echo $search_term_;?>"><?php echo __('Id','video-grid');?></a></th>
862 <?php endif;?>
863 <?php endif;?>
864 <?php if($order_by=="vtype" and $order_pos=="asc"):?>
865 <th><a href="<?php echo $setacrionpage;?>&order_by=vtype&order_pos=desc<?php echo $search_term_;?>"><?php echo __('Video Type','video-grid');?><img style="vertical-align:middle" src="<?php echo plugins_url('/images/desc.png', __FILE__); ?>"/></a></th>
866 <?php else:?>
867 <?php if($order_by=="vtype"):?>
868 <th><a href="<?php echo $setacrionpage;?>&order_by=vtype&order_pos=asc<?php echo $search_term_;?>"><?php echo __('Video Type','video-grid');?><img style="vertical-align:middle" src="<?php echo plugins_url('/images/asc.png', __FILE__); ?>"/></a></th>
869 <?php else:?>
870 <th><a href="<?php echo $setacrionpage;?>&order_by=vtype&order_pos=asc<?php echo $search_term_;?>"><?php echo __('Video Type','video-grid');?></a></th>
871 <?php endif;?>
872 <?php endif;?>
873 <?php if($order_by=="videotitle" and $order_pos=="asc"):?>
874 <th><a href="<?php echo $setacrionpage;?>&order_by=videotitle&order_pos=desc<?php echo $search_term_;?>"><?php echo __('Title','video-grid');?><img style="vertical-align:middle" src="<?php echo plugins_url('/images/desc.png', __FILE__); ?>"/></a></th>
875 <?php else:?>
876 <?php if($order_by=="videotitle"):?>
877 <th><a href="<?php echo $setacrionpage;?>&order_by=videotitle&order_pos=asc<?php echo $search_term_;?>"><?php echo __('Title','video-grid');?><img style="vertical-align:middle" src="<?php echo plugins_url('/images/asc.png', __FILE__); ?>"/></a></th>
878 <?php else:?>
879 <th><a href="<?php echo $setacrionpage;?>&order_by=videotitle&order_pos=asc<?php echo $search_term_;?>"><?php echo __('Title','video-grid');?></a></th>
880 <?php endif;?>
881 <?php endif;?>
882 <th><span></span></th>
883 <?php if($order_by=="createdon" and $order_pos=="asc"):?>
884 <th><a href="<?php echo $setacrionpage;?>&order_by=createdon&order_pos=desc<?php echo $search_term_;?>"><?php echo __('Published On','video-grid');?><img style="vertical-align:middle" src="<?php echo plugins_url('/images/desc.png', __FILE__); ?>"/></a></th>
885 <?php else:?>
886 <?php if($order_by=="createdon"):?>
887 <th><a href="<?php echo $setacrionpage;?>&order_by=createdon&order_pos=asc<?php echo $search_term_;?>"><?php echo __('Published On','video-grid');?><img style="vertical-align:middle" src="<?php echo plugins_url('/images/asc.png', __FILE__); ?>"/></a></th>
888 <?php else:?>
889 <th><a href="<?php echo $setacrionpage;?>&order_by=createdon&order_pos=asc<?php echo $search_term_;?>"><?php echo __('Published On','video-grid');?></a></th>
890 <?php endif;?>
891 <?php endif;?>
892 <th><span><?php echo __( 'Edit','video-grid');?></span></th>
893 <th><span><?php echo __( 'Delete','video-grid');?></span></th>
894 </tr>
895 </thead>
896
897 <tbody id="the-list">
898 <?php
899 if ($rowsCount > 0) {
900
901 global $wp_rewrite;
902 $rows_per_page = 15;
903
904 $current = (isset ( $_GET ['paged'] )) ? (intval($_GET ['paged'])) : 1;
905 $pagination_args = array (
906 'base' => @add_query_arg ( 'paged', '%#%' ),
907 'format' => '',
908 'total' => ceil ( $rowsCount/ $rows_per_page ),
909 'current' => $current,
910 'show_all' => false,
911 'type' => 'plain'
912 );
913
914 $offset = ($current - 1) * $rows_per_page;
915 $query.=" limit $offset, $rows_per_page";
916 $rows = $wpdb->get_results ( $query,ARRAY_A);
917 $delRecNonce = wp_create_nonce('delete_image');
918 foreach($rows as $row) {
919
920
921 $id = $row ['id'];
922 $editlink = "admin.php?page=video_grid_with_lightbox_video_management&action=addedit&id=$id";
923 $deletelink = "admin.php?page=video_grid_with_lightbox_video_management&action=delete&id=$id&nonce=$delRecNonce";
924
925 $outputimgmain = $baseurl . $row ['image_name'].'?rand='. rand(0, 5000);
926 ?>
927 <tr valign="top">
928 <td class="alignCenter check-column" data-title="<?php echo __( 'Select Record','video-grid');?>">
929 <input type="checkbox" value="<?php echo $row['id'] ?>" name="thumbnails[]">
930 </td>
931 <td data-title="<?php echo __( 'Id','video-grid');?>" class="alignCenter"><?php echo $row['id']; ?></td>
932 <td data-title="<?php echo __( 'Video Type','video-grid');?>" class="alignCenter">
933 <div>
934 <strong><?php echo $row['vtype']; ?></strong>
935 </div>
936 </td>
937 <td data-title="<?php echo __( 'Title','video-grid');?>" class="alignCenter">
938 <div>
939 <strong><?php echo $row['videotitle']; ?></strong>
940 </div>
941 </td>
942 <td class="alignCenter">
943 <img src="<?php echo $outputimgmain; ?>" style="width: 50px" height="50px" />
944 </td>
945 <td data-title="<?php echo __( 'Published On','video-grid');?>" class="alignCenter"><?php echo $row['createdon'] ?></td>
946 <td data-title="<?php echo __( 'Edit','video-grid');?>" class="alignCenter">
947 <strong>
948 <a href='<?php echo $editlink; ?>' title="<?php echo __( 'Edit','video-grid');?>">
949 <?php echo __( 'Edit','video-grid');?>
950 </a>
951 </strong>
952 </td>
953 <td data-title="<?php echo __( 'Delete','video-grid');?>" class="alignCenter">
954 <strong>
955 <a href='<?php echo $deletelink; ?>' onclick="return confirmDelete();" title="<?php echo __( 'Delete','video-grid');?>">
956 <?php echo __( 'Delete','video-grid');?>
957 </a>
958 </strong>
959 </td>
960 </tr>
961 <?php
962 }
963 } else {
964 ?>
965 <tr valign="top" class=""
966 id="">
967 <td colspan="8" data-title="<?php echo __( 'No Records','video-grid');?>" align="center">
968 <strong>
969 <?php echo __( 'No Videos Found','video-grid');?>
970 </strong>
971 </td>
972 </tr>
973 <?php
974 }
975 ?>
976 </tbody>
977 </table>
978 </div>
979 <?php
980 if ($rowsCount > 0) {
981 echo "<div class='pagination' style='padding-top:10px'>";
982 echo paginate_links ( $pagination_args );
983 echo "</div>";
984 }
985 ?>
986 <br />
987 <div class="alignleft actions">
988 <select name="action" id="action_bottom">
989 <option selected="selected" value="-1">
990 <?php echo __( 'Bulk Actions','video-grid');?>
991 </option>
992 <option value="delete">
993 <?php echo __( 'Delete','video-grid');?>
994 </option>
995 </select>
996 <?php wp_nonce_field('action_settings_mass_delete', 'mass_delete_nonce'); ?>
997 <input type="submit" value="<?php echo __( 'Apply','video-grid');?>" class="button-secondary action" id="deleteselected" name="deleteselected" onclick="return confirmDelete_bulk();">
998 </div>
999
1000 </form>
1001 <script type="text/JavaScript">
1002
1003 function confirmDelete_bulk(){
1004 var topval=document.getElementById("action_bottom").value;
1005 var bottomVal=document.getElementById("action_upper").value;
1006
1007 if(topval=='delete' || bottomVal=='delete'){
1008
1009
1010 var agree=confirm("<?php echo __( 'Are you sure you want to delete selected videos?','video-grid');?>");
1011 if (agree)
1012 return true ;
1013 else
1014 return false;
1015 }
1016 }
1017 function confirmDelete(){
1018 var agree=confirm("<?php echo __( 'Are you sure you want to delete this video?','video-grid');?>");
1019 if (agree)
1020 return true ;
1021 else
1022 return false;
1023 }
1024 </script>
1025
1026 <br class="clear">
1027 </div>
1028 <div style="clear: both;"></div>
1029 <?php $url = plugin_dir_url(__FILE__); ?>
1030
1031
1032 </div>
1033 <h3><?php echo __( 'To print this video gallery into WordPress Post/Page use below code','video-grid');?></h3>
1034 <input type="text" value='[print_responsive_video_grid] ' style="width: 400px; height: 30px" onclick="this.focus(); this.select()" />
1035 <div class="clear"></div>
1036 <h3><?php echo __( 'To print this video gallery into WordPress theme/template PHP files use below code','video-grid');?></h3>
1037 <?php
1038 $shortcode = '[print_responsive_video_grid]';
1039 ?>
1040 <input type="text" value="&lt;?php echo do_shortcode('<?php echo htmlentities($shortcode, ENT_QUOTES); ?>'); ?&gt;" style="width: 400px; height: 30px" onclick="this.focus(); this.select()" />
1041 <div class="clear"></div>
1042 </div>
1043 </div>
1044 <div id="postbox-container-1" class="postbox-container" >
1045
1046 <div class="postbox">
1047 <h3 class="hndle"><span></span><?php echo __( 'Access All Themes In One Price','video-grid');?></h3>
1048 <div class="inside">
1049 <center><a href="http://www.elegantthemes.com/affiliates/idevaffiliate.php?id=11715_0_1_10" target="_blank">
1050 <img border="0" src="<?php echo plugins_url( 'images/300x250.gif', __FILE__ );?>" width="250" height="250">
1051 </a></center>
1052
1053 <div style="margin:10px 5px">
1054
1055 </div>
1056 </div></div>
1057 <div class="postbox">
1058 <h3 class="hndle"><span></span><?php echo __('Google For Business Coupon','video-grid');?></h3>
1059 <div class="inside">
1060 <center><a href="https://goo.gl/OJBuHT" target="_blank">
1061 <img src="<?php echo plugins_url( 'images/g-suite-promo-code-4.png', __FILE__ );?>" width="250" height="250" border="0">
1062 </a></center>
1063 <div style="margin:10px 5px">
1064 </div>
1065 </div>
1066
1067 </div>
1068
1069 </div>
1070 </div>
1071 </div>
1072 <?php
1073 } else if (strtolower ( $action ) == strtolower ( 'addedit' )) {
1074 $url = plugin_dir_url ( __FILE__ );
1075 $vNonce = wp_create_nonce('vNonce');
1076 ?><?php
1077 if (isset ( $_POST ['btnsave'] )) {
1078
1079 if (!check_admin_referer('action_image_add_edit', 'add_edit_image_nonce')) {
1080
1081 wp_die(__( 'Security check fail','video-grid'));
1082 }
1083
1084 $uploads = wp_upload_dir();
1085 $baseDir = $uploads ['basedir'];
1086 $baseDir = str_replace ( "\\", "/", $baseDir );
1087 $pathToImagesFolder = $baseDir . '/wp-responsive-video-grid';
1088
1089 $vtype = trim ( htmlentities(sanitize_text_field ( $_POST ['vtype'] ),ENT_QUOTES) );
1090 $videourl = trim ( htmlentities(esc_url_raw($_POST ['videourl'] ),ENT_QUOTES));
1091
1092
1093 // echo $videourl;die;
1094 $vid = uniqid ( 'vid_' );
1095 $embed_url='';
1096 if ($vtype == 'youtube') {
1097 // parse
1098
1099 $parseUrl = @parse_url ( $videourl );
1100 if (is_array ( $parseUrl )) {
1101
1102 $queryStr = $parseUrl ['query'];
1103 parse_str ( $queryStr, $array );
1104 if (is_array ( $array ) and isset ( $array ['v'] )) {
1105
1106 $vid = $array ['v'];
1107 }
1108 }
1109
1110 $embed_url="//www.youtube.com/embed/$vid";
1111 }
1112 else if($vtype=='dailymotion'){
1113
1114 $url_arr = parse_url($videourl);
1115 if(isset($url_arr['query'])){
1116
1117 $query = $url_arr['query'];
1118 $videourl = str_replace(array($query,'?'), '', $videourl);
1119
1120 }
1121
1122 $pos = strpos($videourl, '/video/');
1123 $vid=0;
1124 if ($pos !== false){
1125
1126 $vid=substr($videourl, $pos+strlen('/video/'));
1127
1128 }
1129
1130
1131 $embed_url="//www.dailymotion.com/embed/video/$vid";
1132
1133 }
1134
1135
1136 $HdnMediaSelection = trim ( htmlentities(esc_url_raw($_POST ['HdnMediaSelection'] ),ENT_QUOTES));
1137 $videotitle = trim ( htmlentities(sanitize_text_field($_POST ['videotitle'] ),ENT_QUOTES));
1138 $videotitleurl = trim ( htmlentities(esc_url_raw($_POST ['videotitleurl'] ),ENT_QUOTES));
1139 $video_order = 0;
1140
1141 $video_description = '';
1142
1143 $videotitle = str_replace("'","",$videotitle);
1144 $videotitle = str_replace('"', '&quot;', $videotitle);
1145
1146 $open_link_in = 0;
1147
1148 $enable_light_box_video_desc = 0;
1149
1150 $location = "admin.php?page=video_grid_with_lightbox_video_management";
1151 // edit save
1152 if (isset ( $_POST ['videoid'] )) {
1153
1154 if ( ! current_user_can( 'rvg_video_grid_edit_video' ) ) {
1155
1156 $location = "admin.php?page=video_grid_with_lightbox_video_management";
1157 $responsive_video_grid_messages = array ();
1158 $responsive_video_grid_messages ['type'] = 'err';
1159 $responsive_video_grid_messages ['message'] = __('Access Denied. Please contact your administrator','video-grid');
1160 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
1161 echo "<script type='text/javascript'> location.href='$location';</script>";
1162 exit ();
1163
1164
1165 }
1166
1167 try {
1168
1169 $videoidEdit=intval($_POST ['videoid']);
1170 if (trim ( $_POST ['HdnMediaSelection'] ) != '') {
1171 $pInfo = pathinfo ( $HdnMediaSelection );
1172 $ext = $pInfo ['extension'];
1173 if($ext==''){
1174 if (exif_imagetype($HdnMediaSelection) == IMAGETYPE_PNG) {
1175
1176 $ext='png';
1177 }
1178 else if (exif_imagetype($HdnMediaSelection) == IMAGETYPE_JPEG) {
1179
1180 $ext='jpeg';
1181 }
1182 else if (exif_imagetype($HdnMediaSelection) == IMAGETYPE_GIF) {
1183
1184 $ext='gif';
1185 }
1186
1187 }
1188 $imagename = $vid . '_big.' . $ext;
1189 $imageUploadTo = $pathToImagesFolder . '/' . $imagename;
1190 //@copy ( $HdnMediaSelection, $imageUploadTo );
1191
1192 @copy ( $HdnMediaSelection, $imageUploadTo );
1193 if(!file_exists($imageUploadTo)){
1194 vg_save_image($HdnMediaSelection,$imageUploadTo);
1195 }
1196
1197 $settings=get_option('responsive_video_grid_settings');
1198 $imageheight = 270;
1199 $imagewidth = 360;
1200 @unlink($pathToImagesFolder.'/'.$vid . '_big_'.$imageheight.'_'.$imagewidth.'.'.$ext);
1201 }
1202
1203 $query = "update " . $wpdb->prefix . "responsive_video_grid
1204 set vtype='$vtype',vid='$vid',video_url='$videourl',embed_url='$embed_url',image_name='$imagename',HdnMediaSelection='$HdnMediaSelection',
1205 videotitle='$videotitle',videotitleurl='$videotitleurl',video_description='$video_description',video_order=$video_order,
1206 open_link_in=$open_link_in,enable_light_box_video_desc=$enable_light_box_video_desc where id=$videoidEdit";
1207
1208
1209 $wpdb->query ( $query );
1210
1211 $responsive_video_grid_messages = array();
1212 $responsive_video_grid_messages ['type'] = 'succ';
1213 $responsive_video_grid_messages ['message'] = __( 'Video updated successfully.','video-grid');
1214 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
1215
1216 } catch ( Exception $e ) {
1217
1218 $responsive_video_grid_messages = array();
1219 $responsive_video_grid_messages ['type'] = 'err';
1220 $responsive_video_grid_messages ['message'] = __( 'Error while adding video','video-grid');
1221 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
1222 }
1223
1224
1225
1226 echo "<script type='text/javascript'> location.href='$location';</script>";
1227 exit();
1228 } else {
1229
1230 // add new
1231
1232 if ( ! current_user_can( 'rvg_video_grid_add_video' ) ) {
1233
1234 $location = "admin.php?page=video_grid_with_lightbox_video_management";
1235 $responsive_video_grid_messages = array ();
1236 $responsive_video_grid_messages ['type'] = 'err';
1237 $responsive_video_grid_messages ['message'] = __('Access Denied. Please contact your administrator','video-grid');
1238 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
1239 echo "<script type='text/javascript'> location.href='$location';</script>";
1240 exit ();
1241
1242
1243 }
1244
1245 $createdOn = current_time ( 'Y-m-d h:i:s' );
1246
1247 try {
1248
1249 if (trim ( $_POST ['HdnMediaSelection'] ) != '') {
1250 $pInfo = pathinfo ( $HdnMediaSelection );
1251 $ext = isset($pInfo ['extension'])?$pInfo ['extension']:'';
1252 if($ext==''){
1253 if (exif_imagetype($HdnMediaSelection) == IMAGETYPE_PNG) {
1254
1255 $ext='png';
1256 }
1257 else if (exif_imagetype($HdnMediaSelection) == IMAGETYPE_JPEG) {
1258
1259 $ext='jpeg';
1260 }
1261 else if (exif_imagetype($HdnMediaSelection) == IMAGETYPE_GIF) {
1262
1263 $ext='gif';
1264 }
1265
1266 }
1267 $imagename = $vid . '_big.' . $ext;
1268 $imageUploadTo = $pathToImagesFolder . '/' . $imagename;
1269 //@copy ( $HdnMediaSelection, $imageUploadTo );
1270
1271 @copy ( $HdnMediaSelection, $imageUploadTo );
1272 if(!file_exists($imageUploadTo)){
1273 vg_save_image($HdnMediaSelection,$imageUploadTo);
1274 }
1275
1276 }
1277
1278 $query = "INSERT INTO " . $wpdb->prefix . "responsive_video_grid
1279 (vtype, vid,video_url,embed_url,image_name,HdnMediaSelection,videotitle,videotitleurl,video_description,video_order,open_link_in,
1280 enable_light_box_video_desc,createdon)
1281 VALUES ('$vtype','$vid','$videourl','$embed_url','$imagename','$HdnMediaSelection','$videotitle','$videotitleurl','$video_description',
1282 $video_order,$open_link_in,$enable_light_box_video_desc,'$createdOn')";
1283
1284 //echo $query;die;
1285 $wpdb->query ( $query );
1286
1287 $responsive_video_grid_messages = array();
1288 $responsive_video_grid_messages ['type'] = 'succ';
1289 $responsive_video_grid_messages ['message'] = __( 'New video added successfully.','video-grid');
1290 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
1291 }
1292 catch ( Exception $e ) {
1293
1294 $responsive_video_grid_messages = array();
1295 $responsive_video_grid_messages ['type'] = 'err';
1296 $responsive_video_grid_messages ['message'] = __( 'Error while adding video','video-grid');
1297 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
1298 }
1299
1300 echo "<script type='text/javascript'> location.href='$location';</script>";
1301 exit();
1302 }
1303 }
1304 else {
1305
1306 $uploads = wp_upload_dir();
1307 $baseurl = $uploads ['baseurl'];
1308 $baseurl .= '/wp-responsive-video-grid/';
1309 ?>
1310 <div id="poststuff" >
1311 <div id="post-body" class="metabox-holder columns-2" >
1312 <div id="post-body-content">
1313 <div class="wrap">
1314 <div style="float: left; width: 100%;">
1315 <div class="wrap">
1316 <?php
1317 if (isset ( $_GET ['id'] ) and intval($_GET ['id']) > 0) {
1318
1319
1320 if ( ! current_user_can( 'rvg_video_grid_edit_video' ) ) {
1321
1322 $location = "admin.php?page=video_grid_with_lightbox_video_management";
1323 $responsive_video_grid_messages = array ();
1324 $responsive_video_grid_messages ['type'] = 'err';
1325 $responsive_video_grid_messages ['message'] = __('Access Denied. Please contact your administrator','video-grid');
1326 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
1327 echo "<script type='text/javascript'> location.href='$location';</script>";
1328 exit ();
1329
1330
1331 }
1332
1333 $id = intval($_GET ['id']);
1334 $query = "SELECT * FROM " . $wpdb->prefix . "responsive_video_grid WHERE id=$id";
1335
1336 $myrow = $wpdb->get_row ( $query );
1337
1338 if (is_object ( $myrow )) {
1339
1340 $vtype = $myrow->vtype;
1341 $title = $myrow->videotitle;
1342 $image_name = $myrow->image_name;
1343 $video_url = $myrow->video_url;
1344 $HdnMediaSelection = $myrow->HdnMediaSelection;
1345 $videotitle = $myrow->videotitle;
1346 $videotitleurl=$myrow->videotitleurl;
1347 $video_order = $myrow->video_order;
1348 $video_description = $myrow->video_description;
1349 $open_link_in = $myrow->open_link_in ;
1350 $enable_light_box_video_desc = $myrow->enable_light_box_video_desc;
1351 }
1352 ?>
1353 <h2><?php echo __( 'Update Video','video-grid');?></h2>
1354 <?php
1355 }
1356
1357 else {
1358
1359 $vtype='';
1360 $title = '';
1361 $videotitle='';
1362 $videotitleurl='';
1363 $HdnMediaSelection='';
1364 $video_url = '';
1365 $image_link = '';
1366 $image_name = '';
1367 $video_order = '';
1368 $video_description = '';
1369 $open_link_in = true;
1370 $enable_light_box_video_desc = true;
1371
1372 if ( ! current_user_can( 'rvg_video_grid_add_video' ) ) {
1373
1374 $location = "admin.php?page=video_grid_with_lightbox_video_management";
1375 $responsive_video_grid_messages = array ();
1376 $responsive_video_grid_messages ['type'] = 'err';
1377 $responsive_video_grid_messages ['message'] = __('Access Denied. Please contact your administrator','video-grid');
1378 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
1379 echo "<script type='text/javascript'> location.href='$location';</script>";
1380 exit ();
1381
1382
1383 }
1384
1385 ?>
1386 <div style="clear:both">
1387 <span><h3 style="color: blue;">
1388 <a target="_blank" href="https://www.i13websolution.com/wordpress-responsive-video-grid-pro.html"><?php echo __( 'UPGRADE TO PRO VERSION','video-grid');?></a>
1389 </h3>
1390 </span>
1391 </div>
1392 <h2><?php echo __( 'Add Video','video-grid');?></h2>
1393 <?php } ?>
1394 <br />
1395 <div id="poststuff">
1396 <div id="post-body" class="metabox-holder columns-2">
1397 <div id="post-body-content">
1398 <form method="post" action="" id="addimage" name="addimage" enctype="multipart/form-data">
1399 <div class="stuffbox" id="namediv" style="width: 100%">
1400 <h3>
1401 <label for="link_name"><?php echo __( 'Video Information','video-grid');?> (<span
1402 style="font-size: 11px; font-weight: normal"><?php echo __('Choose Video Site','video-grid'); ?></span>)
1403 </label>
1404 </h3>
1405 <div class="inside">
1406 <div>
1407 <input type="radio" value="youtube" name="vtype" <?php if($vtype=='youtube'): ?> checked='checked' <?php endif;?> style="width: 15px" id="type_youtube" /><?php echo __( 'Youtube','video-grid');?>&nbsp;&nbsp;
1408 <input <?php if($vtype=='dailymotion'): ?> checked='checked' <?php endif;?> type="radio" value="dailymotion" name="vtype" style="width: 15px" id="type_DailyMotion" /><?php echo __( 'DailyMotion','video-grid');?>&nbsp;&nbsp;
1409 </div>
1410 <div style="clear: both"></div>
1411 <div></div>
1412 <div style="clear: both"></div>
1413 <br />
1414 <div>
1415 <b><?php echo __( 'Video Url','video-grid');?></b>
1416 <input type="text" id="videourl" class="url" tabindex="1" size="30" name="videourl" value="<?php echo $video_url; ?>">
1417 </div>
1418 <div style="clear: both"></div>
1419 <div></div>
1420 <div style="clear: both">
1421 <div id="youtube_note" style="font-size:12px;display:none">
1422 <?php echo __('Please do not use youtube.be, instead of use youtube.com','video-grid');?>
1423 </div>
1424 </div>
1425 </div>
1426 </div>
1427 <div class="stuffbox" id="namediv" style="width: 100%">
1428 <h3>
1429 <label for="link_name"><?php echo __( 'Video Thumbnail Information','video-grid');?></label>
1430 </h3>
1431 <div class="inside" id="fileuploaddiv">
1432 <?php if ($image_name != "") { ?>
1433 <div>
1434 <b><?php echo __( 'Current Image','video-grid');?> : </b>
1435 <br/>
1436 <img id="img_disp" name="img_disp" src="<?php echo $baseurl . $image_name; ?>" />
1437 </div>
1438 <?php }else{ ?>
1439 <img src="<?php echo plugins_url('/images/no-img.jpeg', __FILE__); ?>" id="img_disp" name="img_disp" />
1440
1441 <?php } ?>
1442 <br /> <a href="javascript:;" class="niks_media" id="videoFromExternalSite" ><b><?php echo __( 'Click Here to get video information and thumbnail','video-grid');?><span id='fromval'> <?php echo __( 'from','video-grid');?> <?php echo $vtype;?></span>
1443 </b></a>&nbsp;<img src="<?php echo plugins_url('/images/ajax-loader.gif', __FILE__); ?>" style="display: none" id="loading_img" name="loading_img" />
1444 <div style="clear: both"></div>
1445 <div></div>
1446 <div class="uploader">
1447 <br /> <b style="margin-left: 50px;">OR</b>
1448 <div style="clear: both; margin-top: 15px;"></div>
1449 <a href="javascript:;" class="niks_media" id="myMediaUploader"><b><?php echo __( 'Click Here to upload custom video thumbnail','video-grid');?></b></a>
1450 <br /> <br />
1451 <div>
1452 <input id="HdnMediaSelection" name="HdnMediaSelection" type="hidden" value="<?php echo $HdnMediaSelection;?>" />
1453 </div>
1454 <div style="clear: both"></div>
1455 <div></div>
1456 <div style="clear: both"></div>
1457
1458 <br />
1459 </div>
1460 <script>
1461
1462 function GetParameterValues(param,str) {
1463 var return_p='';
1464 var url = str.slice(str.indexOf('?') + 1).split('&');
1465 for (var i = 0; i < url.length; i++) {
1466 var urlparam = url[i].split('=');
1467 if (urlparam[0] == param) {
1468 return_p= urlparam[1];
1469 }
1470 }
1471 return return_p;
1472 }
1473
1474
1475 function UrlExists(url, cb){
1476 jQuery.ajax({
1477 url: url,
1478 dataType: 'text',
1479 type: 'GET',
1480 complete: function(xhr){
1481 if(typeof cb === 'function')
1482 cb.apply(this, [xhr.status]);
1483 }
1484 });
1485 }
1486
1487 function getDailyMotionId(url) {
1488
1489 if (url.indexOf("?") > 0) {
1490 url = url.substring(0, url.indexOf("?"));
1491 }
1492
1493 var m = url.match(/^.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/);
1494 if (m !== null) {
1495 if(m[4] !== undefined) {
1496 return m[4];
1497 }
1498 return m[2];
1499 }
1500 return null;
1501 }
1502
1503
1504 jQuery(document).ready(function() {
1505
1506
1507 jQuery("input:radio[name=vtype]").click(function() {
1508
1509
1510 var value = jQuery(this).val();
1511 jQuery("#fromval").html(" from " + value);
1512 if(value=="youtube"){
1513
1514 jQuery("#youtube_note").show();
1515 }
1516 else{
1517
1518 jQuery("#youtube_note").hide();
1519 }
1520 });
1521
1522 jQuery("#videoFromExternalSite").click(function() {
1523
1524
1525 var videoService = jQuery('input[name="vtype"]:checked').length;
1526 var videourlVal = jQuery.trim(jQuery("#videourl").val());
1527 var flag = true;
1528 if (videourlVal == '' && videoService == 0){
1529
1530 alert('<?php echo __( 'Please select video site','video-grid');?>.\n <?php echo __( 'Please enter video url.','video-grid');?>');
1531 jQuery("input:radio[name=vtype]").focus();
1532 flag = false;
1533
1534 }
1535 else if (videoService == 0){
1536
1537 alert('Please select video site.');
1538 jQuery("input:radio[name=vtype]").focus();
1539 flag = false;
1540 }
1541 else if (videourlVal == ''){
1542
1543 alert('Please enter video url.');
1544 jQuery("#videourl").focus();
1545 flag = false;
1546 }
1547
1548 if (flag){
1549
1550 setTimeout(function() {
1551 jQuery("#loading_img").show();
1552 }, 100);
1553
1554 var selectedRadio = jQuery('input[name=vtype]');
1555 var checkedValueRadio = selectedRadio.filter(':checked').val();
1556 if (checkedValueRadio == 'youtube') {
1557 var vId = GetParameterValues('v', videourlVal);
1558 if(vId!=''){
1559
1560
1561 var tumbnailImg='https://img.youtube.com/vi/'+vId+'/maxresdefault.jpg';
1562
1563 var data = {
1564 'action': 'check_file_exist_grid',
1565 'url': tumbnailImg,
1566 'vNonce':'<?php echo $vNonce; ?>'
1567 };
1568
1569 jQuery.post(ajaxurl, data, function(response) {
1570
1571
1572
1573 var youtubeJsonUri='https://www.youtube.com/oembed?url=https://www.youtube.com/watch%3Fv='+vId+'&format=json';
1574 var data_youtube = {
1575 'action': 'get_youtube_info_grid',
1576 'url': youtubeJsonUri,
1577 'vid':vId,
1578 'vNonce':'<?php echo $vNonce; ?>'
1579 };
1580
1581 jQuery.post(ajaxurl, data_youtube, function(data) {
1582
1583 data = jQuery.parseJSON(data);
1584
1585 if(typeof data =='object'){
1586 if(typeof data =='object'){
1587
1588 if(data.title!='' && data.title!=''){
1589 jQuery("#videotitle").val(data.title);
1590 }
1591 jQuery("#videotitleurl").val(videourlVal);
1592 if(data.description!='' && data.description!=''){
1593 jQuery("#video_description").val(data.description);
1594 }
1595 if(response=='404' && data.thumbnail_url!=''){
1596 tumbnailImg=data.thumbnail_url;
1597 }
1598 else{
1599 tumbnailImg='https://img.youtube.com/vi/'+vId+'/0.jpg';
1600 }
1601
1602 jQuery("#img_disp").attr('src', tumbnailImg);
1603 jQuery("#HdnMediaSelection").val(tumbnailImg);
1604 jQuery("#loading_img").hide();
1605
1606 }
1607
1608 }
1609 jQuery("#loading_img").hide();
1610 })
1611
1612
1613 });
1614
1615 }
1616 else{
1617 alert('<?php echo __( 'Could not found such video','video-grid');?>');
1618 jQuery("#loading_img").hide();
1619 }
1620 }
1621 else if(checkedValueRadio == 'dailymotion'){
1622
1623 var vid=getDailyMotionId(videourlVal);
1624 var apiUrl='https://api.dailymotion.com/video/'+vid+'?fields=description,id,thumbnail_720_url,title';
1625 jQuery.getJSON( apiUrl, function( data ) {
1626 if(typeof data =='object'){
1627
1628
1629 jQuery("#HdnMediaSelection").val(data.thumbnail_720_url);
1630 jQuery("#videotitle").val(jQuery.trim(data.title));
1631 jQuery("#videotitleurl").val(videourlVal);
1632 jQuery("#img_disp").attr('src', data.thumbnail_720_url);
1633 jQuery("#loading_img").hide();
1634 }
1635 jQuery("#loading_img").hide();
1636 })
1637
1638
1639 jQuery("#loading_img").hide();
1640 }
1641
1642 jQuery("#loading_img").hide();
1643 }
1644
1645 setTimeout(function() {
1646 jQuery("#loading_img").hide();
1647 }, 2000);
1648
1649 });
1650 //uploading files variable
1651 var custom_file_frame;
1652 jQuery("#myMediaUploader").click(function(event) {
1653
1654 event.preventDefault();
1655 //If the frame already exists, reopen it
1656 if (typeof (custom_file_frame) !== "undefined") {
1657 custom_file_frame.close();
1658 }
1659
1660 //Create WP media frame.
1661 custom_file_frame = wp.media.frames.customHeader = wp.media({
1662 //Title of media manager frame
1663 title: "WP Media Uploader",
1664 library: {
1665 type: 'image'
1666 },
1667 button: {
1668 //Button text
1669 text: "Set Image"
1670 },
1671 //Do not allow multiple files, if you want multiple, set true
1672 multiple: false
1673 });
1674 //callback for selected image
1675 custom_file_frame.on('select', function() {
1676
1677 var attachment = custom_file_frame.state().get('selection').first().toJSON();
1678 var validExtensions = new Array();
1679 validExtensions[0] = 'jpg';
1680 validExtensions[1] = 'jpeg';
1681 validExtensions[2] = 'png';
1682 validExtensions[3] = 'gif';
1683
1684 var inarr = parseInt(jQuery.inArray(attachment.subtype, validExtensions));
1685 if (inarr > 0 && attachment.type.toLowerCase() == 'image'){
1686
1687 var titleTouse = "";
1688 var imageDescriptionTouse = "";
1689 if (jQuery.trim(attachment.title) != ''){
1690
1691 titleTouse = jQuery.trim(attachment.title);
1692 }
1693 else if (jQuery.trim(attachment.caption) != ''){
1694
1695 titleTouse = jQuery.trim(attachment.caption);
1696 }
1697
1698 if (jQuery.trim(attachment.description) != ''){
1699
1700 imageDescriptionTouse = jQuery.trim(attachment.description);
1701 }
1702 else if (jQuery.trim(attachment.caption) != ''){
1703
1704 imageDescriptionTouse = jQuery.trim(attachment.caption);
1705 }
1706
1707 // jQuery("#videotitle").val(titleTouse);
1708 // jQuery("#video_description").val(imageDescriptionTouse);
1709
1710 if (attachment.id != ''){
1711
1712 jQuery("#HdnMediaSelection").val(attachment.url);
1713 jQuery("#img_disp").attr('src', attachment.url);
1714
1715 }
1716
1717 }
1718 else{
1719
1720 alert('<?php echo __( 'Invalid image selection.','video-grid');?>');
1721 }
1722 //do something with attachment variable, for example attachment.filename
1723 //Object:
1724 //attachment.alt - image alt
1725 //attachment.author - author id
1726 //attachment.caption
1727 //attachment.dateFormatted - date of image uploaded
1728 //attachment.description
1729 //attachment.editLink - edit link of media
1730 //attachment.filename
1731 //attachment.height
1732 //attachment.icon - don't know WTF?))
1733 //attachment.id - id of attachment
1734 //attachment.link - public link of attachment, for example ""http://site.com/?attachment_id=115""
1735 //attachment.menuOrder
1736 //attachment.mime - mime type, for example image/jpeg"
1737 //attachment.name - name of attachment file, for example "my-image"
1738 //attachment.status - usual is "inherit"
1739 //attachment.subtype - "jpeg" if is "jpg"
1740 //attachment.title
1741 //attachment.type - "image"
1742 //attachment.uploadedTo
1743 //attachment.url - http url of image, for example "http://site.com/wp-content/uploads/2012/12/my-image.jpg"
1744 //attachment.width
1745 });
1746 //Open modal
1747 custom_file_frame.open();
1748 });
1749 })
1750 </script>
1751 </div>
1752 </div>
1753
1754 <div class="stuffbox" id="namediv" style="width: 100%">
1755 <h3>
1756 <label for="link_name"><?php echo __( 'Video Title','video-grid');?> (<span
1757 style="font-size: 11px; font-weight: normal"><?php echo __('Used into lightbox','video-grid'); ?></span>)
1758 </label>
1759 </h3>
1760 <div class="inside">
1761 <div>
1762 <input type="text" id="videotitle" tabindex="1" size="30" name="videotitle" value="<?php echo $videotitle; ?>">
1763 </div>
1764 <div style="clear: both"></div>
1765 <div></div>
1766 <div style="clear: both"></div>
1767 </div>
1768 </div>
1769 <div class="stuffbox" id="namediv" style="width: 100%">
1770 <h3>
1771 <label for="link_name"><?php echo __( 'Video Title Url','video-grid');?> (<span
1772 style="font-size: 11px; font-weight: normal"><?php echo __('Click on title redirect to this url.Used in lightbox for video title','video-grid'); ?></span>)
1773 </label>
1774 </h3>
1775 <div class="inside">
1776 <div>
1777 <input type="text" id="videotitleurl" class="url" tabindex="1" size="30" name="videotitleurl" value="<?php echo $videotitleurl; ?>">
1778 </div>
1779 <div style="clear: both"></div>
1780 <div></div>
1781 <div style="clear: both"></div>
1782
1783 </div>
1784 </div>
1785
1786
1787 <?php if (isset($_GET['id']) and intval($_GET['id']) > 0) { ?>
1788 <input type="hidden" name="videoid" id="videoid" value="<?php echo intval($_GET['id']); ?>">
1789 <?php
1790 }
1791 ?>
1792 <?php wp_nonce_field('action_image_add_edit','add_edit_image_nonce'); ?>
1793 <input type="submit" onclick="" name="btnsave" id="btnsave" value="<?php echo __( 'Save Changes','video-grid');?>" class="button-primary">&nbsp;&nbsp;<input type="button" name="cancle" id="cancle" value="<?php echo __( 'Cancel','video-grid');?>" class="button-primary" onclick="location.href = 'admin.php?page=video_grid_with_lightbox_video_management'">
1794
1795 </form>
1796 <script type="text/javascript">
1797
1798
1799 jQuery(document).ready(function() {
1800
1801 jQuery.validator.setDefaults({
1802 ignore: [],
1803 // any other default options and/or rules
1804 });
1805
1806 jQuery("#addimage").validate({
1807 rules: {
1808 videotitle: {
1809 required:true,
1810 maxlength: 200
1811 },
1812 vtype: {
1813 required:true
1814
1815 },
1816 videourl: {
1817 required:true,
1818 url:true,
1819 maxlength: 500
1820 },
1821 HdnMediaSelection:{
1822 required:true
1823 },
1824 videotitleurl: {
1825
1826 url:true,
1827 maxlength: 500
1828 }
1829
1830 },
1831 errorClass: "image_error",
1832 errorPlacement: function(error, element) {
1833 error.appendTo(element.parent().next().next());
1834 }, messages: {
1835 HdnMediaSelection: "<?php echo __( 'Please select video thumbnail or Upload by wordpress media uploader.','video-grid');?>",
1836
1837 }
1838
1839 })
1840 });
1841
1842 function validateFile(){
1843
1844 if(jQuery('#currImg').length>0 || jQuery.trim(jQuery("#HdnMediaSelection").val())!="" ){
1845 return true;
1846 }
1847 else
1848 {
1849 jQuery("#err_daynamic").remove();
1850 jQuery("#myMediaUploader").after('<br/><label class="image_error" id="err_daynamic">Please select file.</label>');
1851 return false;
1852 }
1853
1854 }
1855 </script>
1856
1857 </div>
1858 </div>
1859 </div>
1860
1861 </div>
1862 </div>
1863 </div>
1864 </div>
1865 <div id="postbox-container-1" class="postbox-container" >
1866
1867 <div class="postbox">
1868 <h3 class="hndle"><span></span><?php echo __( 'Access All Themes In One Price','video-grid');?></h3>
1869 <div class="inside">
1870 <center><a href="http://www.elegantthemes.com/affiliates/idevaffiliate.php?id=11715_0_1_10" target="_blank">
1871 <img border="0" src="<?php echo plugins_url( 'images/300x250.gif', __FILE__ );?>" width="250" height="250">
1872 </a></center>
1873
1874 <div style="margin:10px 5px">
1875
1876 </div>
1877 </div></div>
1878 <div class="postbox">
1879 <h3 class="hndle"><span></span><?php echo __('Google For Business Coupon','video-grid');?></h3>
1880 <div class="inside">
1881 <center><a href="https://goo.gl/OJBuHT" target="_blank">
1882 <img src="<?php echo plugins_url( 'images/g-suite-promo-code-4.png', __FILE__ );?>" width="250" height="250" border="0">
1883 </a></center>
1884 <div style="margin:10px 5px">
1885 </div>
1886 </div>
1887
1888 </div>
1889
1890 </div>
1891 </div>
1892 </div>
1893 <?php
1894 }
1895 } else if (strtolower ( $action ) == strtolower ( 'delete' )) {
1896
1897 $retrieved_nonce = '';
1898
1899 if(isset($_GET['nonce']) and $_GET['nonce']!=''){
1900
1901 $retrieved_nonce=sanitize_text_field($_GET['nonce']);
1902
1903 }
1904 if (!wp_verify_nonce($retrieved_nonce, 'delete_image' ) ){
1905
1906
1907 wp_die('Security check fail');
1908 }
1909
1910 if ( ! current_user_can( 'rvg_video_grid_delete_video' ) ) {
1911
1912 $location = "admin.php?page=video_grid_with_lightbox_video_management";
1913 $responsive_video_grid_messages = array ();
1914 $responsive_video_grid_messages ['type'] = 'err';
1915 $responsive_video_grid_messages ['message'] = __('Access Denied. Please contact your administrator','video-grid');
1916 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
1917 echo "<script type='text/javascript'> location.href='$location';</script>";
1918 exit ();
1919
1920
1921 }
1922
1923 $uploads = wp_upload_dir();
1924 $baseDir = $uploads ['basedir'];
1925 $baseDir = str_replace ( "\\", "/", $baseDir );
1926 $pathToImagesFolder = $baseDir . '/wp-responsive-video-grid';
1927
1928
1929 $location = "admin.php?page=video_grid_with_lightbox_video_management";
1930 $deleteId = intval($_GET ['id']);
1931
1932 try {
1933
1934 $query = "SELECT * FROM " . $wpdb->prefix . "responsive_video_grid WHERE id=$deleteId";
1935 $myrow = $wpdb->get_row ( $query );
1936
1937 if (is_object ( $myrow )) {
1938
1939 $image_name = $myrow->image_name;
1940 $wpcurrentdir = dirname ( __FILE__ );
1941 $wpcurrentdir = str_replace ( "\\", "/", $wpcurrentdir );
1942 $imagetoDel = $pathToImagesFolder . '/' . $image_name;
1943 $settings=get_option('responsive_video_grid_settings');
1944 $imageheight = 270;
1945 $imagewidth = 360;
1946
1947 $pInfo = pathinfo ( $myrow->HdnMediaSelection );
1948 $ext = $pInfo ['extension'];
1949
1950 @unlink ( $imagetoDel );
1951 @unlink($pathToImagesFolder.'/'.$myrow->vid . '_big_'.$imageheight.'_'.$imagewidth.'.'.$ext);
1952
1953
1954 $query = "delete from " . $wpdb->prefix . "responsive_video_grid where id=$deleteId";
1955 $wpdb->query ( $query );
1956
1957 $responsive_video_grid_messages = array();
1958 $responsive_video_grid_messages ['type'] = 'succ';
1959 $responsive_video_grid_messages ['message'] = __( 'Video deleted successfully.','video-grid');
1960 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
1961
1962 }
1963
1964 }
1965 catch ( Exception $e ) {
1966
1967 $responsive_video_grid_messages = array();
1968 $responsive_video_grid_messages ['type'] = 'err';
1969 $responsive_video_grid_messages ['message'] = __( 'Error while deleting video.','video-grid');
1970 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
1971 }
1972
1973 echo "<script type='text/javascript'> location.href='$location';</script>";
1974 exit();
1975 }
1976 else if (strtolower ( $action ) == strtolower ( 'deleteselected' )) {
1977
1978
1979 if(!check_admin_referer('action_settings_mass_delete','mass_delete_nonce')){
1980
1981 wp_die(__( 'Security check fail','video-grid'));
1982 }
1983
1984 if ( ! current_user_can( 'rvg_video_grid_delete_video' ) ) {
1985
1986 $location = "admin.php?page=video_grid_with_lightbox_video_management";
1987 $responsive_video_grid_messages = array ();
1988 $responsive_video_grid_messages ['type'] = 'err';
1989 $responsive_video_grid_messages ['message'] = __('Access Denied. Please contact your administrator','video-grid');
1990 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
1991 echo "<script type='text/javascript'> location.href='$location';</script>";
1992 exit ();
1993
1994
1995 }
1996
1997 $location = "admin.php?page=video_grid_with_lightbox_video_management";
1998
1999 if (isset ( $_POST ) and isset ( $_POST ['deleteselected'] ) and ($_POST ['action'] == 'delete' or $_POST ['action_upper'] == 'delete')) {
2000
2001 $uploads = wp_upload_dir();
2002 $baseDir = $uploads ['basedir'];
2003 $baseDir = str_replace ( "\\", "/", $baseDir );
2004 $pathToImagesFolder = $baseDir . '/wp-responsive-video-grid';
2005
2006 if (sizeof ( $_POST ['thumbnails'] ) > 0) {
2007
2008 $deleteto = $_POST ['thumbnails'];
2009 $implode = implode ( ',', $deleteto );
2010
2011 try {
2012
2013 $settings=get_option('responsive_video_grid_settings');
2014 $imageheight = 270;
2015 $imagewidth = 360;
2016
2017 foreach ( $deleteto as $img ) {
2018
2019 $img=intval($img);
2020 $query = "SELECT * FROM " . $wpdb->prefix . "responsive_video_grid WHERE id=$img";
2021 $myrow = $wpdb->get_row ( $query );
2022
2023 if (is_object ( $myrow )) {
2024
2025 $image_name = $myrow->image_name;
2026 $wpcurrentdir = dirname ( __FILE__ );
2027 $wpcurrentdir = str_replace ( "\\", "/", $wpcurrentdir );
2028 $imagetoDel = $pathToImagesFolder . '/' . $image_name;
2029
2030 $pInfo = pathinfo ( $myrow->HdnMediaSelection );
2031 $ext = $pInfo ['extension'];
2032
2033 @unlink ( $imagetoDel );
2034 @unlink($pathToImagesFolder.'/'.$myrow->vid . '_big_'.$imageheight.'_'.$imagewidth.'.'.$ext);
2035
2036
2037
2038 $query = "delete from " . $wpdb->prefix . "responsive_video_grid where id=$img";
2039 $wpdb->query ( $query );
2040
2041 $responsive_video_grid_messages = array();
2042 $responsive_video_grid_messages ['type'] = 'succ';
2043 $responsive_video_grid_messages ['message'] = __( 'selected videos deleted successfully.','video-grid');
2044 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
2045 }
2046 }
2047 } catch ( Exception $e ) {
2048
2049 $responsive_video_grid_messages = array();
2050 $responsive_video_grid_messages ['type'] = 'err';
2051 $responsive_video_grid_messages ['message'] = __( 'Error while deleting videos.','video-grid');
2052 update_option ( 'responsive_video_grid_messages', $responsive_video_grid_messages );
2053 }
2054
2055 echo "<script type='text/javascript'> location.href='$location';</script>";
2056 exit();
2057 } else {
2058
2059 echo "<script type='text/javascript'> location.href='$location';</script>";
2060 exit();
2061 }
2062 } else {
2063
2064 echo "<script type='text/javascript'> location.href='$location';</script>";
2065 exit();
2066 }
2067 }
2068 }
2069 function video_grid_with_lightbox_video_preview_func() {
2070
2071 global $wpdb;
2072
2073
2074 if ( ! current_user_can( 'rvg_video_grid_preview' ) ) {
2075
2076 wp_die( __( "Access Denied", "video-grid" ) );
2077
2078 }
2079
2080 $settings=get_option('responsive_video_grid_settings');
2081
2082 $rand_Numb = uniqid ( 'thumnail_slider' );
2083 $rand_Num_td = uniqid ( 'divSliderMain' );
2084 $rand_var_name = uniqid ( 'rand_' );
2085
2086
2087 $wpcurrentdir = dirname ( __FILE__ );
2088 $wpcurrentdir = str_replace ( "\\", "/", $wpcurrentdir );
2089 // $settings=get_option('thumbnail_slider_settings');
2090
2091 $uploads = wp_upload_dir();
2092 $baseDir = $uploads ['basedir'];
2093 $baseDir = str_replace ( "\\", "/", $baseDir );
2094 $pathToImagesFolder = $baseDir . '/wp-responsive-video-grid';
2095 $baseurl = $uploads ['baseurl'];
2096 $baseurl .= '/wp-responsive-video-grid/';
2097 ?>
2098 <style type='text/css'>
2099 #<?php echo $rand_Num_td;?> {background: none repeat scroll 0 0<?php echo $settings ['scollerBackground'];?> ! important;
2100 border: 0px none !important;
2101 box-shadow: 0 0 0 0 !important;
2102
2103 }
2104 #poststuff #post-body.columns-2{margin-right: 0px}
2105 </style>
2106 <?php
2107 $wpcurrentdir = dirname ( __FILE__ );
2108 $wpcurrentdir = str_replace ( "\\", "/", $wpcurrentdir );
2109 $randOmeAlbName = uniqid ( 'alb_' );
2110 $randOmeRel = uniqid ( 'rel_' );
2111
2112 if(!isset($settings['resize_images'])){
2113
2114 $settings['resize_images']=1;
2115
2116 }
2117
2118 ?>
2119 <div style="width: 100%;">
2120 <div style="float: left; width: 100%;">
2121 <div class="wrap_grid">
2122 <h2><?php echo __( 'Grid Preview','video-grid');?></h2>
2123
2124 <?php if (is_array($settings)) { ?>
2125 <div id="poststuff">
2126 <div id="post-body" class="metabox-holder columns-2">
2127 <div id="post-body-content">
2128 <div style="clear: both;"></div>
2129 <?php $url = plugin_dir_url(__FILE__); ?>
2130
2131 <div class="wrap_grid" id="<?php echo $rand_Num_td; ?>">
2132 <div id="<?php echo $rand_Numb; ?>" class="responsivegrid" style="margin-top: 2px !important;">
2133 <div class="box_parent">
2134 <?php
2135 global $wpdb;
2136 $imageheight = 270;
2137 $imagewidth = 360;
2138 $query = "SELECT * FROM " . $wpdb->prefix . "responsive_video_grid order by createdon desc";
2139 $rows = $wpdb->get_results ( $query, 'ARRAY_A' );
2140
2141 if (count ( $rows ) > 0) {
2142
2143 foreach ( $rows as $row ) {
2144
2145 $imagename = $row ['image_name'];
2146 $video_url = $row ['video_url'];
2147 $imageUploadTo = $pathToImagesFolder . '/' . $imagename;
2148 $imageUploadTo = str_replace ( "\\", "/", $imageUploadTo );
2149 $pathinfo = pathinfo ( $imageUploadTo );
2150 $filenamewithoutextension = $pathinfo ['filename'];
2151 $outputimg = "";
2152
2153 if($settings['resize_images']==0){
2154
2155 $outputimg = $baseurl . $row ['image_name'];
2156 }
2157 else{
2158
2159 $imagetoCheck = $pathToImagesFolder . '/' . $filenamewithoutextension . '_' . $imageheight . '_' . $imagewidth . '.' . $pathinfo ['extension'];
2160
2161 /* if (file_exists ( $imagetoCheck )) {
2162 $outputimg = $baseurl . $filenamewithoutextension . '_' . $imageheight . '_' . $imagewidth . '.' . $pathinfo ['extension'];
2163
2164 } else {*/
2165
2166 if (function_exists ( 'wp_get_image_editor' )) {
2167
2168 $image = wp_get_image_editor ( $pathToImagesFolder . "/" . $row ['image_name'] );
2169
2170 if (! is_wp_error ( $image )) {
2171 $image->resize ( $imagewidth, $imageheight, true );
2172 $image->save ( $imagetoCheck );
2173 $outputimg = $baseurl . $filenamewithoutextension . '_' . $imageheight . '_' . $imagewidth . '.' . $pathinfo ['extension'];
2174 } else {
2175 $outputimg = $baseurl . $row ['image_name'];
2176 }
2177 } else if (function_exists ( 'image_resize' )) {
2178
2179 $return = image_resize ( $pathToImagesFolder . "/" . $row ['image_name'], $imagewidth, $imageheight );
2180 if (! is_wp_error ( $return )) {
2181
2182 $isrenamed = rename ( $return, $imagetoCheck );
2183 if ($isrenamed) {
2184 $outputimg = $baseurl . $filenamewithoutextension . '_' . $imageheight . '_' . $imagewidth . '.' . $pathinfo ['extension'];
2185 } else {
2186 $outputimg = $baseurl . $row ['image_name'];
2187 }
2188 } else {
2189 $outputimg = $baseurl . $row ['image_name'];
2190 }
2191 } else {
2192
2193 $outputimg = $baseurl . $row ['image_name'];
2194 }
2195
2196 // $url = plugin_dir_url(__FILE__)."imagestoscroll/".$filenamewithoutextension.'_'.$imageheight.'_'.$imagewidth.'.'.$pathinfo['extension'];
2197 //}
2198 }
2199
2200 $embed_url=$row['embed_url'];
2201
2202 $title="";
2203
2204 $rowTitle = stripslashes_deep($row['videotitle']);
2205 $rowTitle = str_replace('"', "'", $rowTitle);
2206 $rowTitle=str_replace("'","",$rowTitle);
2207 $rowTitle=preg_replace('/\\\\/', '', $rowTitle);
2208
2209
2210 $rowDescrption=$row['video_description'];
2211 $rowDescrption=str_replace("'","",$rowDescrption);
2212 $rowDescrption=str_replace('"','',$rowDescrption);
2213 $rowDescrption=strip_tags($rowDescrption);
2214
2215 if(strlen($rowDescrption)>300){
2216
2217 $rowDescrption=substr($rowDescrption,0,300)."...";
2218 }
2219 //$openImageInNewTab='_blank';
2220 $open_link_in=$row['open_link_in'];
2221 // if($open_link_in==0){
2222 $openImageInNewTab='_self';
2223 //}
2224
2225 if(trim($row['videotitle'])!='' and trim($row['videotitleurl'])!=''){
2226
2227 $title="<a class='Imglink' target='$openImageInNewTab' href='{$row['videotitleurl']}'>{$rowTitle}</a>";
2228 if($row['video_description']!=''){
2229 $title.="<div class='clear_description_'>{$rowDescrption}</div>";
2230 }
2231 }
2232 else if(trim($row['videotitle'])!='' and trim($row['videotitleurl'])==''){
2233
2234 $title="<a class='Imglink' href='#'>{$rowTitle}</a>";
2235 if($row['video_description']!=''){
2236 $title.="<div class='clear_description_'>{$rowDescrption}</div>";
2237 }
2238 }
2239 else{
2240
2241 if($row['video_description']!='')
2242 $title="<div class='clear_description_'>{$row['video_description']}</div>";
2243 }
2244
2245 $title= htmlentities($title);
2246 $rowDescrption= htmlentities($rowDescrption);
2247 //$rowTitle= htmlentities($rowTitle);
2248
2249 ?>
2250
2251
2252 <div class="box_grid">
2253 <div class="boxInner_grid">
2254
2255 <?php if($settings['display_video_lightbox']==true):?>
2256 <a rel="<?php echo $randOmeRel;?>" data-overlay="1" data-title="<?php echo $title;?>" class="video_lbox" href="<?php echo $embed_url;?>">
2257 <img loading="lazy" class="thumb_img__ <?php if($settings['resize_images']==0):?>fit_img <?php endif;?> " src="<?php echo $outputimg; ?>" alt="<?php echo $rowTitle; ?>"/>
2258 <span class="playbtnCss"></span>
2259 <div class="titleBox"><?php echo $rowTitle;?></div>
2260 </a>
2261 <?php else : ?>
2262
2263 <a href="<?php echo $video_url;?>">
2264 <img loading="lazy" class="thumb_img__ <?php if($settings['resize_images']==0):?>fit_img <?php endif;?> " src="<?php echo $outputimg; ?>" alt="<?php echo $rowTitle; ?>"/>
2265 <span class="playbtnCss"></span>
2266 <div class="titleBox"><?php echo $rowTitle;?></div>
2267 </a>
2268
2269 <?php endif;?>
2270 </div>
2271 </div>
2272
2273 <?php } ?>
2274 <?php } ?>
2275 </div>
2276 </div>
2277 </div>
2278 <script>
2279 var uniqObj=jQuery("a[rel='<?php echo $randOmeRel;?>']");
2280
2281 jQuery(document).ready(function(){
2282
2283 videoPlacements('<?php echo $rand_Numb; ?>',jQuery);
2284 jQuery(".video_lbox").fancybox_vg({
2285 'type' : "iframe",
2286 'overlayColor':'#000000',
2287 'padding': 10,
2288 'autoScale': true,
2289 'autoDimensions':true,
2290 'transitionIn': 'none',
2291 'uniqObj':uniqObj,
2292 'transitionOut': 'none',
2293 'titlePosition': 'outside',
2294 'hideOnContentClick':false,
2295 'width' : 650,
2296 'height' : 400,
2297 'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
2298
2299 var currtElem = jQuery('#<?php echo $rand_Numb; ?> a[href="'+currentOpts.href+'"]');
2300
2301 var isoverlay = jQuery(currtElem).attr('data-overlay')
2302
2303 if(isoverlay=="1" && jQuery.trim(title)!=""){
2304 return '<span id="fancybox_vg-title-over">' + title + '</span>';
2305 }
2306 else{
2307 return '';
2308 }
2309
2310 },
2311
2312 });
2313
2314 });
2315
2316
2317
2318 var width__ = jQuery(window).width();
2319 var timer__;
2320 jQuery(window).bind('resize', function(){
2321 if(jQuery(window).width() != width__){
2322
2323 width__ = jQuery(window).width();
2324 timer__ && clearTimeout(timer__);
2325 timer__ = setTimeout(function(){
2326
2327 videoPlacements('<?php echo $rand_Numb; ?>',jQuery);
2328
2329 }, 200);
2330
2331 }
2332 });
2333
2334 </script>
2335
2336 </div>
2337 </div>
2338 </div>
2339 <?php } ?>
2340 </div>
2341 </div>
2342 <div class="clear"></div>
2343 </div>
2344 <?php if (is_array($settings)) { ?>
2345
2346 <h3><?php echo __( 'To print this video gallery into WordPress Post/Page use below code','video-grid');?></h3>
2347 <input type="text" value='[print_responsive_video_grid] ' style="width: 400px; height: 30px" onclick="this.focus(); this.select()" />
2348 <div class="clear"></div>
2349 <h3><?php echo __( 'To print this video gallery into WordPress theme/template PHP files use below code','video-grid');?></h3>
2350 <?php
2351 $shortcode = '[print_responsive_video_grid]';
2352 ?>
2353 <input type="text" value="&lt;?php echo do_shortcode('<?php echo htmlentities($shortcode, ENT_QUOTES); ?>'); ?&gt;" style="width: 400px; height: 30px" onclick="this.focus(); this.select()" />
2354 <?php } ?>
2355 <div class="clear"></div>
2356 <?php
2357 }
2358 function print_responsive_video_grid_func($atts) {
2359
2360
2361 wp_enqueue_style('wp-video-grid-lighbox-style');
2362 wp_enqueue_style('vl-box-grid-css');
2363 wp_enqueue_script('jquery');
2364 wp_enqueue_script('vl-grid-js');
2365 wp_enqueue_script('v_grid');
2366
2367 ob_start();
2368
2369 global $wpdb;
2370
2371 $settings=get_option('responsive_video_grid_settings');
2372 $rand_Numb = uniqid ( 'thumnail_slider' );
2373 $rand_Num_td = uniqid ( 'divSliderMain' );
2374 $rand_var_name = uniqid ( 'rand_' );
2375
2376
2377 $wpcurrentdir = dirname ( __FILE__ );
2378 $wpcurrentdir = str_replace ( "\\", "/", $wpcurrentdir );
2379 // $settings=get_option('thumbnail_slider_settings');
2380
2381 $uploads = wp_upload_dir();
2382 $baseDir = $uploads ['basedir'];
2383 $baseDir = str_replace ( "\\", "/", $baseDir );
2384 $pathToImagesFolder = $baseDir . '/wp-responsive-video-grid';
2385 $baseurl = $uploads ['baseurl'];
2386 $baseurl .= '/wp-responsive-video-grid/';
2387 $randOmeRel = uniqid ( 'rel_' );
2388 $randOmVlBox= uniqid('video_lbox_');
2389 ?><!-- print_responsive_video_grid_func --><style type='text/css'>
2390 #<?php echo $rand_Num_td;?> {background: none repeat scroll 0 0<?php echo $settings['scollerBackground'];?> ! important;
2391 border: 0px none !important;
2392 box-shadow: 0 0 0 0 !important;
2393
2394 }
2395 </style>
2396 <?php
2397
2398 if (is_array($settings))
2399
2400 {
2401
2402
2403 if(!isset($settings['resize_images'])){
2404
2405 $settings['resize_images']=1;
2406
2407 }
2408 ?>
2409 <div style="clear: both;"></div>
2410 <?php $url = plugin_dir_url(__FILE__); ?>
2411
2412 <div style="width: auto; postion: relative" id="<?php echo $rand_Num_td; ?>">
2413
2414 <div id="<?php echo $rand_Numb; ?>" class="wrap_grid" style="margin-top: 2px !important;">
2415 <div class="box_parent">
2416 <?php
2417 global $wpdb;
2418 $imageheight = 270;
2419 $imagewidth = 360;
2420 $query = "SELECT * FROM " . $wpdb->prefix . "responsive_video_grid order by createdon desc";
2421 $rows = $wpdb->get_results ( $query, 'ARRAY_A' );
2422
2423 if (count ( $rows ) > 0) {
2424
2425 foreach ( $rows as $row ) {
2426
2427 $imagename = $row ['image_name'];
2428 $video_url = $row ['video_url'];
2429 $imageUploadTo = $pathToImagesFolder . '/' . $imagename;
2430 $imageUploadTo = str_replace ( "\\", "/", $imageUploadTo );
2431 $pathinfo = pathinfo ( $imageUploadTo );
2432 $filenamewithoutextension = $pathinfo ['filename'];
2433 $outputimg = "";
2434
2435 if($settings['resize_images']==0){
2436
2437 $outputimg = $baseurl . $row ['image_name'];
2438 }
2439 else{
2440
2441 $imagetoCheck = $pathToImagesFolder . '/' . $filenamewithoutextension . '_' . $imageheight . '_' . $imagewidth . '.' . $pathinfo ['extension'];
2442
2443 if (file_exists ( $imagetoCheck )) {
2444 $outputimg = $baseurl . $filenamewithoutextension . '_' . $imageheight . '_' . $imagewidth . '.' . $pathinfo ['extension'];
2445
2446 } else {
2447
2448 if (function_exists ( 'wp_get_image_editor' )) {
2449
2450 $image = wp_get_image_editor ( $pathToImagesFolder . "/" . $row ['image_name'] );
2451
2452 if (! is_wp_error ( $image )) {
2453 $image->resize ( $imagewidth, $imageheight, true );
2454 $image->save ( $imagetoCheck );
2455 $outputimg = $baseurl . $filenamewithoutextension . '_' . $imageheight . '_' . $imagewidth . '.' . $pathinfo ['extension'];
2456 } else {
2457 $outputimg = $baseurl . $row ['image_name'];
2458 }
2459 } else if (function_exists ( 'image_resize' )) {
2460
2461 $return = image_resize ( $pathToImagesFolder . "/" . $row ['image_name'], $imagewidth, $imageheight );
2462 if (! is_wp_error ( $return )) {
2463
2464 $isrenamed = rename ( $return, $imagetoCheck );
2465 if ($isrenamed) {
2466 $outputimg = $baseurl . $filenamewithoutextension . '_' . $imageheight . '_' . $imagewidth . '.' . $pathinfo ['extension'];
2467 } else {
2468 $outputimg = $baseurl . $row ['image_name'];
2469 }
2470 } else {
2471 $outputimg = $baseurl . $row ['image_name'];
2472 }
2473 } else {
2474
2475 $outputimg = $baseurl . $row ['image_name'];
2476 }
2477
2478 // $url = plugin_dir_url(__FILE__)."imagestoscroll/".$filenamewithoutextension.'_'.$imageheight.'_'.$imagewidth.'.'.$pathinfo['extension'];
2479 }
2480 }
2481
2482 $embed_url=$row['embed_url'];
2483
2484
2485 $title="";
2486 $rowTitle = stripslashes_deep($row['videotitle']);
2487 $rowTitle = str_replace('"', "'", $rowTitle);
2488 $rowTitle=str_replace("'","",$rowTitle);
2489 $rowTitle=preg_replace('/\\\\/', '', $rowTitle);
2490
2491
2492 $rowDescrption=$row['video_description'];
2493 $rowDescrption=str_replace("'","",$rowDescrption);
2494 $rowDescrption=str_replace('"','',$rowDescrption);
2495 $rowDescrption=strip_tags($rowDescrption);
2496
2497 if(strlen($rowDescrption)>300){
2498
2499 $rowDescrption=substr($rowDescrption,0,300)."...";
2500 }
2501 //$openImageInNewTab='_blank';
2502 $open_link_in=$row['open_link_in'];
2503 // if($open_link_in==0){
2504 $openImageInNewTab='_self';
2505 //}
2506
2507 if(trim($row['videotitle'])!='' and trim($row['videotitleurl'])!=''){
2508
2509 $title="<a class='Imglink' target='$openImageInNewTab' href='{$row['videotitleurl']}'>{$rowTitle}</a>";
2510 if($row['video_description']!=''){
2511 $title.="<div class='clear_description_'>{$rowDescrption}</div>";
2512 }
2513 }
2514 else if(trim($row['videotitle'])!='' and trim($row['videotitleurl'])==''){
2515
2516 $title="<a class='Imglink' href='#'>{$rowTitle}</a>";
2517 if($row['video_description']!=''){
2518 $title.="<div class='clear_description_'>{$rowDescrption}</div>";
2519 }
2520 }
2521 else{
2522
2523 if($row['video_description']!='')
2524 $title="<div class='clear_description_'>{$row['video_description']}</div>";
2525 }
2526
2527 $title= htmlentities($title);
2528 $rowDescrption= htmlentities($rowDescrption);
2529 //$rowTitle= htmlentities($rowTitle);
2530 ?>
2531
2532
2533 <div class="box_grid">
2534 <div class="boxInner_grid">
2535
2536 <?php if($settings['display_video_lightbox']==true):?>
2537 <a rel="<?php echo $randOmeRel;?>" data-overlay="1" data-title="<?php echo $title;?>" class="video_lbox" href="<?php echo $embed_url;?>">
2538 <img loading="lazy" class="thumb_img__ <?php if($settings['resize_images']==0):?>fit_img <?php endif;?> " src="<?php echo $outputimg; ?>" alt="<?php echo $rowTitle; ?>"/>
2539 <span class="playbtnCss"></span>
2540 <div class="titleBox"><?php echo $rowTitle;?></div>
2541 </a>
2542 <?php else : ?>
2543
2544 <a href="<?php echo $video_url;?>">
2545 <img loading="lazy" class="thumb_img__ <?php if($settings['resize_images']==0):?>fit_img <?php endif;?> " src="<?php echo $outputimg; ?>" alt="<?php echo $rowTitle; ?>"/>
2546 <span class="playbtnCss"></span>
2547 <div class="titleBox"><?php echo $rowTitle;?></div>
2548 </a>
2549
2550 <?php endif;?>
2551 </div>
2552 </div>
2553
2554 <?php } ?>
2555 <?php } ?>
2556 </div>
2557 </div>
2558 </div>
2559 <script>
2560
2561 <?php $intval= uniqid('interval_');?>
2562
2563 var <?php echo $intval;?> = setInterval(function() {
2564
2565 if(document.readyState === 'complete') {
2566
2567 clearInterval(<?php echo $intval;?>);
2568
2569 var uniqObj=jQuery("a[rel='<?php echo $randOmeRel;?>']");
2570
2571
2572 videoPlacements('<?php echo $rand_Numb; ?>',jQuery);
2573 jQuery(".video_lbox").fancybox_vg({
2574 'type' : "iframe",
2575 'overlayColor':'#000000',
2576 'padding': 10,
2577 'autoScale': true,
2578 'autoDimensions':true,
2579 'transitionIn': 'none',
2580 'uniqObj':uniqObj,
2581 'transitionOut': 'none',
2582 'titlePosition': 'outside',
2583 'hideOnContentClick':false,
2584 'width' : 650,
2585 'height' : 400,
2586 'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
2587
2588 var currtElem = jQuery('#<?php echo $rand_Numb; ?> a[href="'+currentOpts.href+'"]');
2589
2590 var isoverlay = jQuery(currtElem).attr('data-overlay')
2591
2592 if(isoverlay=="1" && jQuery.trim(title)!=""){
2593 return '<span id="fancybox_vg-title-over">' + title + '</span>';
2594 }
2595 else{
2596 return '';
2597 }
2598
2599 }
2600
2601 });
2602
2603
2604 var width__ = jQuery(window).width();
2605 var timer__;
2606 jQuery(window).bind('resize', function(){
2607 if(jQuery(window).width() != width__){
2608
2609 width__ = jQuery(window).width();
2610 timer__ && clearTimeout(timer__);
2611 timer__ = setTimeout(function(){
2612
2613 videoPlacements('<?php echo $rand_Numb; ?>',jQuery);
2614
2615 }, 200);
2616
2617 }
2618 });
2619 }
2620 }, 100);
2621
2622 </script>
2623 <div class="clear_div"></div><!-- end print_responsive_video_grid_func -->
2624
2625
2626 <?php }
2627 $output = ob_get_clean();
2628 return $output;
2629 }
2630 function responsive_video_grid_get_wp_version() {
2631 global $wp_version;
2632 return $wp_version;
2633 }
2634
2635 // also we will add an option function that will check for plugin admin page or not
2636 function responsive_video_grid_is_plugin_page() {
2637 $server_uri = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
2638
2639 foreach ( array (
2640 'video_grid_with_lightbox_video_management','video_grid_with_lightbox'
2641 ) as $allowURI ) {
2642 if (stristr ( $server_uri, $allowURI ))
2643 return true;
2644 }
2645 return false;
2646 }
2647
2648 // add media WP scripts
2649 function responsive_video_grid_admin_scripts_init() {
2650 if (responsive_video_grid_is_plugin_page()) {
2651 // double check for WordPress version and function exists
2652 if (function_exists ( 'wp_enqueue_media' ) && version_compare ( responsive_video_grid_get_wp_version(), '3.5', '>=' )) {
2653 // call for new media manager
2654 wp_enqueue_media();
2655 }
2656 wp_enqueue_style ( 'media' );
2657 wp_enqueue_style( 'wp-color-picker' );
2658 wp_enqueue_script( 'wp-color-picker' );
2659 }
2660 }
2661
2662 function prvg_remove_extra_p_tags($content){
2663
2664 if(strpos($content, 'print_responsive_video_grid_func')!==false){
2665
2666
2667 $pattern = "/<!-- print_responsive_video_grid_func -->(.*)<!-- end print_responsive_video_grid_func -->/Uis";
2668 $content = preg_replace_callback($pattern, function($matches) {
2669
2670
2671 $altered = str_replace("<p>","",$matches[1]);
2672 $altered = str_replace("</p>","",$altered);
2673
2674 $altered=str_replace("&#038;","&",$altered);
2675 $altered=str_replace("&#8221;",'"',$altered);
2676
2677
2678 return @str_replace($matches[1], $altered, $matches[0]);
2679 }, $content);
2680
2681
2682
2683 }
2684
2685 $content = str_replace("<p><!-- print_responsive_video_grid_func -->","<!-- print_responsive_video_grid_func -->",$content);
2686 $content = str_replace("<!-- end print_responsive_video_grid_func --></p>","<!-- end print_responsive_video_grid_func -->",$content);
2687
2688
2689 return $content;
2690 }
2691
2692 add_filter('widget_text_content', 'prvg_remove_extra_p_tags', 999);
2693 add_filter('the_content', 'prvg_remove_extra_p_tags', 999);
2694
2695
2696 function i13_video_grid_pro_render_block_defaults($block_content, $block) {
2697
2698 $block_content=prvg_remove_extra_p_tags($block_content);
2699 return $block_content;
2700
2701 }
2702
2703
2704 add_filter( 'render_block', 'i13_video_grid_pro_render_block_defaults', 10, 2 );
2705
2706