PluginProbe
Visual Slider / trunk
Visual Slider vtrunk
visual-slider / admin / includes / options-functions.php

options-functions.php in Visual Slider trunk, at admin/includes/options-functions.php

634 lines 21.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit; // Exit if accessed directly.
4 }
5 /********************************************************************
6 sor Options Funtions
7 *********************************************************************/
8 if( ! function_exists( 'vs_options_function' ) ) {
9
10
11 function vs_options_function($value,$label,$id,$type, $options = false,$description = false,$placeholder = false,$fold=false,$class=false,$unit=false,$id_key=false,$min=false,$max=false,$step=1,$width=false,$responsive=false,$warp_width=false) {
12
13 $value_id = isset( $value ) ? $value : '';
14
15 $data=$id;
16 $responsive_class= !empty($responsive) ? ' vs_responsive_options_'.$responsive.' ':' ';
17
18
19 if( $type=='multi_options' ){
20 $options_width='style="width:'.$width.' !important;"';
21 }else{
22 $options_width='';
23 }
24
25 if(isset($warp_width)){
26 $warp_width='style="width:'.$width.' !important;"';
27 }else{
28 $warp_width='';
29 }
30
31 if($type =='unit' ){}
32
33 elseif( $type == 'heading' ) {
34 echo'<li class="vs_options_item vs_options_'.esc_attr($type).' vs_id_'.esc_attr($id).' vs_live_'.esc_attr($class).' '.esc_attr($responsive_class).'" data-active="show" >';
35 echo '<span >'. esc_html($label).'</span>';
36 echo '</li>';
37 } else{
38
39
40 $number_slider = !empty($max) ? 'vs_number_slider' :'';
41 echo'<li class="vs_options_item '.esc_attr($number_slider.' '.$responsive_class).' vs_options_'.esc_attr($type).' vs_id_'.esc_attr($id).' vs_live_'.esc_attr($class).'" data-active="show" >';
42
43
44 if(!empty($fold)){
45 echo '<div class="vs_options_fold">';
46 foreach($fold as $key => $value) :
47 echo '<div class="vs_options_fold_item" data-name="'.esc_attr($id_key.$value).'" data-value="'.esc_attr($key).'"></div>';
48 endforeach;
49 echo '</div>';
50 }
51 if( $type != 'title' || $type !== 'radio'){
52 echo '<div class="vs_options_name">';
53 echo '<label for="vs_label_'.esc_attr($data).'" >'. esc_html($label).'</label>';
54 echo '<div class="vs_options_description">'.esc_html($description).'</div>';
55 echo '</div>';
56 }
57
58
59 if( $type == 'tabs' ) {
60 echo '<a class="vs_add_tab button" data-id="'.esc_attr($data).'" data-option="'.esc_attr(urlencode(serialize($options))).'" >'.esc_html__('Add Tab','visual-slider');
61 echo '</a>';
62
63 }
64 if( $type == 'list' ) {
65 echo '<a class="vs_add_list button" data-id="'.esc_attr($data).'" data-option="'.esc_attr(urlencode(serialize($options))).'" >'.esc_html__('Add Item','visual-slider');
66 echo '</a>';;
67 }
68 echo '<div class="vs_options_setting" '.wp_kses($options_width.' '.$warp_width,vs_kses()).'>';
69 }
70
71
72 if( $type == 'start'){
73 echo '<ul class="vs_options_start" >';
74 }
75
76 switch( $type ) {
77
78 // Text
79 case 'text':
80 if( !empty($width)){
81 $width='style="width:'.$width.' !important;"';
82 }else{
83 $width='';
84 }
85 echo '<input type="text" autocomplete="off" class="vs_form_text" name="'.esc_attr($data).'" id="vs_label_'.esc_attr($data).'" placeholder="'.esc_attr($placeholder).'" '.wp_kses($width,vs_kses()).' value="'.esc_html($value_id).'">';
86 break;
87
88 //Number
89 case 'number':
90 $number_step=isset($step)?$step :'0';
91 $data_min =isset($min)?$min:'0';
92
93 if( isset($width)){
94 $width='style="width:'.$width.' !important;"';
95 }else{
96 $width='';
97 }
98 if(isset($max)){
99 echo ' <input type="range" class="vs_form_range" autocomplete="off" min="'.esc_attr($data_min).'" max="'.esc_attr($max).'" value="'.esc_attr($value_id).'" step="'.esc_attr($number_step).'" >';
100 $data_max=$max;
101 }else{
102 $data_max='99999999';
103 }
104 $vs_bad =vs_check_nubmer($value_id,$data_max,$data_min);
105
106 echo '<input type="number" name="'.esc_attr($data).'" class="vs_form_number '.esc_attr($vs_bad).'" min="'.esc_attr($data_min).'" min="'.esc_attr($step).'" max="'.esc_attr($data_max).'" id="vs_label_'.esc_attr($data).'" '.wp_kses($width,vs_kses()).' placeholder="'.esc_attr($placeholder).'" value="'.esc_attr($value_id).'" ><span>'.esc_html($unit).'</span>';
107 break;
108
109 //Color
110 case 'color':
111 echo '<input class="vs_form_color" autocomplete="off" data-rgba="false" type="text" name="'.esc_attr($data).'" id="vs_label_'.esc_attr($data).'" value="'.esc_attr($value_id).'">';
112 break;
113
114 //Color RGBA
115 case 'color_rgba':
116 echo '<input class="vs_form_color" autocomplete="off" data-rgba="true" type="text" name="'.esc_attr($data).'" id="vs_label_'.esc_attr($data).'" value="'.esc_attr($value_id).'">';
117 break;
118
119 //Textarea
120 case 'textarea':
121 echo '<textarea autocomplete="off" class="vs_form_textarea" name="'.esc_attr($data).'" id="vs_label_'.esc_attr($data).'" placeholder="'.esc_attr($placeholder).'" >'.esc_textarea($value_id).'</textarea>';
122 break;
123
124
125 //Select
126 case 'select':
127 echo '<select autocomplete="off" name="'.esc_attr($data).'" class="vs_form_select" placeholder="'.esc_attr($placeholder).'" id="vs_label_'.esc_attr($data).'" >';
128 foreach ($options as $select_key => $select_text) {
129 echo'<option value="'.esc_attr($select_key).'"'.selected( $value_id, $select_key).'>'.esc_html($select_text).'</option>';
130 }
131 echo '</select>';
132 break;
133
134 //Checkbox
135 case 'checkbox':
136
137 if ( 1 == $value_id ){$checked= 'checked="checked"'; $checked_false='';} else{ $checked='';$checked_false= 'checked="checked"'; }
138
139 echo '<div class="vs_checkbox vs_checkbox_primary ">';
140 echo '<div class="vs_label_checkbox_on">';
141 echo '<input autocomplete="off" type="radio" id="vs_label_'.esc_attr($data).'_on" name="'.esc_attr($data).'" '.wp_kses($checked,vs_kses()).' value="1">';
142 echo '<label for="vs_label_'.esc_attr($data).'_on">'.esc_html__("Enable","visual-slider").'</label>';
143 echo '</div>';
144
145 echo '<div class="vs_label_checkbox_off">';
146 echo '<input autocomplete="off" type="radio" id="vs_label_'.esc_attr($data).'_off" name="'.esc_attr($data).'" '.wp_kses($checked_false,vs_kses()).' value="">';
147 echo '<label for="vs_label_'.esc_attr($data).'_off">'.esc_html__("Disable","visual-slider").'</label>';
148 echo '</div>';
149 echo '</div>';
150 break;
151 case 'radio':
152 echo '<ul class="vs_radio_warp">';
153 $radio_count=0;
154 foreach ($options as $radio_key => $radio_text) :
155 $radio_count++;
156
157 if(!empty($value_id)){
158 if ( $value_id == $radio_key){$checked= 'checked="checked"'; } else { $checked='';}
159 }else{
160 if($radio_count ==1){$checked= 'checked="checked"';}else { $checked='';}
161 }
162 echo '<li class="vs_radio_item">';
163 echo '<input autocomplete="off" type="radio" name="'.esc_attr($data).'" id="vs_label_'.esc_attr($data.'_'.$radio_key).'" '.wp_kses($checked,vs_kses()).' value="'.esc_attr($radio_key).'">';
164 echo '<label for="vs_label_'.esc_attr($data.'_'.$radio_key).'">'. esc_html($radio_text).'</label>';
165 echo '</li>';
166
167 endforeach;
168 $radio_count=0;
169 echo '</ul>';
170
171 break;
172 // Radio
173 case 'hover':
174 echo '<ul class="vs_hover_warp">';
175 $count_radio=0;
176 foreach ($options as $radio_key => $radio_text) :
177 $count_radio++;
178
179
180 if( $count_radio == 1){$checked= 'checked="checked"'; $class="vs_hover_checked"; } else{$checked='';$class="";}
181
182 echo '<li class="vs_hover_item">';
183 echo '<label class="'.esc_attr($class).'">';
184 echo '<input type="radio" autocomplete="off" name="'.esc_attr($data).'" id="vs_label_'.esc_attr($data).'" '.wp_kses($checked,vs_kses()).' value="'.esc_attr($radio_key).'">';
185 echo '<span for="vs_label_'.esc_attr($data).'">'. esc_html($radio_text).'</span>';
186 echo '</label>';
187 echo '</li>';
188
189 endforeach;
190 echo '</ul>';
191
192 break;
193
194 // Radio Image
195 case 'radio_image':
196 echo '<ul class="vs_radio_image_warp">';
197 foreach ($options as $radio_key => $radio_link) :
198
199 if( $value_id == $radio_key){$checked= 'checked="checked"'; } else{$checked='';}
200
201 echo '<li class="vs_radio_image_item">';
202 echo '<label>';
203 echo '<input type="radio" autocomplete="off" name="'.esc_attr($data).'" id="vs_label_'.esc_attr($data).'" '.wp_kses($checked,vs_kses()).' value="'.esc_attr($radio_key).'">';
204 echo '<'.esc_attr('img').' for="vs_label_'.esc_attr($data).'" src="'. esc_url($radio_link).'"/>';
205 echo '</label>';
206 echo '</li>';
207
208 endforeach;
209 echo '</ul>';
210 break;
211 // Multi Options
212 case 'multi_options':
213 echo '<ul class="vs_multi_options">';
214 vs_options_function_multi_item($data,$value_id,$options,'',$class);
215 echo '</ul>';
216 break;
217
218 // Multi Options
219
220
221
222 // Editor
223 case 'editor':
224 echo '<div class="vs-editor-hander" data-id="vs_'.esc_attr($data).'">';
225
226 $settings = array( 'textarea_name' => $data,'textarea_rows' => 5 );
227
228 wp_editor( $value_id , 'vs_'.$data ,$settings);
229
230 echo '</div>';
231 break;
232
233
234
235 // icon Image
236 case 'icon':
237 $icon_rand = wp_rand(10000000, 99999999);
238 echo'<div class="vs_menu_icon" id-icon="'.esc_attr($icon_rand).'" >';
239
240 echo'<a class="vs_builder_choose_icon button button-small" >'.esc_html__('Choose Icon','visual-slider').'</a>';
241 echo '<input name="'.esc_attr($data).'" autocomplete="off" id="'.esc_attr($data).'" type="hidden" value="'.esc_attr($value).'">';
242 if(!empty($value_id)){
243 echo '<i class="fa vs-menu-icon '.esc_attr($value_id).'"><a class="vs_builder_remove_icon " ></a></i>';
244 }
245 echo'</div>';
246
247 break;
248 // Image
249 case 'image':
250 echo'<a class="vs_image_upload button button-small" data-name="'.esc_attr($data).'" >'.esc_html__('Upload Image','visual-slider').'</a>';
251 echo '<input type="text" autocomplete="off" class="vs_attachment_'.esc_attr($data).' vs_form_text" name="'.esc_attr($data).'" '.wp_kses($width,vs_kses()).' value="'.esc_html($value_id).'">';
252
253
254
255 if(!empty($value_id)){
256 echo '<div class="vs_image_item">';
257
258
259 if(!empty($value_id)){
260 if(is_numeric($value_id)){
261 $attachment_image = wp_get_attachment_image_src($value_id,'full');
262 $value_url=!empty($attachment_image[0])?$attachment_image[0]:'';
263 }else{
264 $value_url=$value_id;
265 }
266
267 echo '<a class="vs_image_remove" ></a>';
268 echo '<'.esc_attr('img').' src="'.esc_url($value_url).'"/>';
269 }
270 echo '</div>';
271 }
272
273
274 break;
275
276
277
278 //list
279
280
281 }
282
283
284 if ( $type == 'end' ){
285 echo'</ul>';
286 }
287 elseif ( $type =='unit' || $type =='heading' ){}
288
289 else{
290 echo '</div>';
291 echo '</li>';
292 }
293
294
295
296
297 }
298 }
299 if( ! function_exists( 'vs_options_function_multi_item' ) ) {
300 function vs_options_function_multi_item($id =false,$value =false,$options =false,$fold=false,$class=false) {
301 if(isset($options)){
302 foreach ($options as $option_value) {
303 $option_type = isset( $option_value['type'] ) ? $option_value['type'] : '';
304 $option_id =isset($option_value['id'])?$option_value['id']:'';
305 $value_content = isset($value[$option_id])?$value[$option_id]:'';
306 $data = $id.'['.$option_id.']';
307 $placeholder = isset( $option_value['placeholder'] ) ? $option_value['placeholder'] : null;
308 $min = isset( $option_value['min'] ) ? $option_value['min'] : null;
309 $max = isset( $option_value['max'] ) ? $option_value['max'] : null;
310 $unit = isset( $option_value['unit'] ) ? $option_value['unit'] : null;
311 $width = isset( $option_value['width'] ) ? $option_value['width'] : null;
312 $warp_width = isset( $option_value['warp_width'] ) ? $option_value['warp_width'] : null;
313
314
315 if(isset($warp_width)){
316 $warp_width='style="width:'.$warp_width.' !important;"';
317 }else{
318 $warp_width='';
319 }
320
321
322 if(isset($width)){
323 $width='style="width:'.$width.' !important;"';
324 }else{
325 $width='';
326 }
327
328
329
330 $name_bottom_class= isset($option_value['name_bottom'])? ' vs_name_bottom ':'';
331
332
333
334 echo '<li class="vs_multi_options_item vs_options_'.esc_attr($option_type.' '.$name_bottom_class.' vs_live_'.$class.'_'.$option_value['id']).'" '.wp_kses($warp_width,vs_kses()).' >';
335
336 if(isset($option_value['name'])){
337 echo '<label for="vs_label_'.esc_attr($data).'" >'. esc_html($option_value['name']).'</label>';
338 }
339
340
341 if(isset($option_value['fold'])){
342 echo '<div class="vs_options_fold">';
343 foreach($option_value['fold'] as $fold_key => $fold_value) :
344 echo '<div class="vs_options_fold_item" data-name="'.esc_attr($fold_value).'" data-value="'.esc_attr($fold_key).'"></div>';
345 endforeach;
346 echo '</div>';
347 }
348
349 switch( $option_type ) {
350 // Text
351 case 'text':
352 echo '<input autocomplete="off" type="text" placeholder="'.esc_attr($placeholder).'" style="width:100px" name="'.esc_attr($data).'" value="'.esc_html($value_content).'">';
353 break;
354
355 //Number
356 case 'number':
357 $data_min =isset($min)?$min:'0';
358 $vs_bad='';
359
360 if(isset($max)){
361 $data_max=$max;
362 }else{
363 $data_max='99999999';
364 }
365
366 $vs_bad =vs_check_nubmer($value_content,$data_max,$data_min);
367
368 echo '<input autocomplete="off" type="number" class="vs_form_number '.esc_attr($vs_bad).'" min="'.esc_attr($data_min).'" max="'.esc_attr($data_max).'" placeholder="'.esc_html($placeholder).'" '.wp_kses($width,vs_kses()).' name="'.esc_attr($data).'" id="vs_label_'.esc_attr($data).'" value="'.esc_attr($value_content).'" >';
369 if(isset($unit)){
370 echo'<span>'.esc_html($unit).'</span>';
371 };
372 break;
373
374 //Select
375 case 'select':
376
377 echo '<select autocomplete="off" class="vs_form_select" name="'.esc_attr($data).'" '.wp_kses($width,vs_kses()).' id="vs_tabs_'.esc_attr($data).'" >';
378 if(isset($option_value['options'])){
379 foreach ($option_value['options'] as $select_key => $select_text) {
380 echo'<option value="'.esc_attr($select_key).'"'.selected( $value_content, $select_key).'>'.esc_html($select_text).'</option>';
381 }
382 }
383 echo '</select>';
384 break;
385
386 //Color
387 case 'color':
388 echo '<input autocomplete="off" class="vs_form_color" data-rgba="false" type="text" name="'.esc_attr($data).'" id="vs_label_'.esc_attr($data).'" value="'.esc_attr($value_content).'">';
389 break;
390
391 //Color RGBA
392 case 'color_rgba':
393 echo '<input autocomplete="off" class="vs_form_color" data-rgba="true" type="text" name="'.esc_attr($data).'" id="vs_label_'.esc_attr($data).'" value="'.esc_attr($value_content).'">';
394 break;
395 // Radio Image
396 case 'radio_image':
397
398 echo '<ul class="vs_radio_image_warp">';
399
400 $radio_count=0;
401 foreach ($option_value['options'] as $radio_key => $radio_link) :
402 $radio_count++;
403
404 if(isset($value_content)){
405 if ( $value_content == $radio_key){$checked= 'checked="checked"'; } else { $checked='';}
406 }else{
407 if($radio_count ==1){$checked= 'checked="checked"';}else { $checked='';}
408 }
409
410
411 echo '<li class="vs_radio_image_item" '.wp_kses($width,vs_kses()).' >';
412 echo '<label>';
413 echo '<input type="radio" autocomplete="off" name="'.esc_attr($data).'" id="vs_label_'.esc_attr($data).'" '.wp_kses($checked,vs_kses()).' value="'.esc_attr($radio_key).'">';
414 echo '<'.esc_attr('img').' for="vs_label_'.esc_attr($data).'" src="'. esc_url($radio_link).'"/>';
415 echo '</label>';
416 echo '</li>';
417
418 endforeach;
419 $radio_count=0;
420 echo '</ul>';
421
422
423 break;
424 // Checkbox
425 case 'checkbox':
426
427 if ( 1 == $value_content ){$checked= 'checked="checked"'; } else{$checked='';}
428 echo '<div class="vs_checkbox vs_checkbox_primary">';
429 echo '<input autocomplete="off" type="checkbox" name="'.esc_attr($data).'" id="vs_label_'.esc_attr($data).'" '.wp_kses($checked,vs_kses()).' value="'.esc_attr($value_content).'">';
430 echo '<label for="vs_label_'.esc_attr($data).'" ></label>';
431 echo '</div>';
432
433 break;
434 }
435 if(isset($option_value['name_bottom'])){
436 echo '<label for="vs_label_'.esc_attr($data).'" >'. esc_html($option_value['name_bottom']).'</label>';
437 }
438
439 echo '</li>';
440
441 }
442 }
443
444 }
445
446
447 if ( !function_exists ( "vs_icon_element" )){
448
449 add_action('init','vs_icon_element');
450 function vs_icon_element() {
451
452 global $vs_icon_element;
453
454 $element=array();
455
456 if(has_filter('vs_icon_element')) {
457 $vs_icon_element = apply_filters('vs_icon_element', $element);
458 }
459
460
461 }
462 }
463 if ( !function_exists ( "vs_icon_picker" )){
464 add_action('wp_ajax_vs_icon_picker', 'vs_icon_picker');
465 function vs_icon_picker() {
466 if ( ! isset( $_POST['_wpnonce'] ) ||
467 ! wp_verify_nonce(sanitize_text_field(wp_unslash( $_POST['_wpnonce'])), 'vs_slider_nonce' ) )
468 return;
469 $post_id =!empty($_POST['post_id'])? absint(wp_unslash($_POST['post_id'])): absint(get_the_ID());
470 if (!current_user_can('edit_post', $post_id) && !current_user_can('manage_options')){
471 return;
472 }
473
474 global $vs_icon_element;
475 $vs_icons = array();
476 $vs_icons = $vs_icon_element;
477
478
479 $id=!empty($_POST['id'])?sanitize_key(wp_unslash($_POST['id'])):'';
480 echo '<div class="vs_icon" data-id="'.esc_attr($id).'">';
481 echo '<div class="vs_icon_middle">';
482 echo '<div class="vs_icon_title">'.esc_html__('Choose Icon','visual-slider').'<i class="vs_icon_close"></i><div class="vs_icon_search"><input id="search-input" class="search-icon-control" placeholder="'.esc_html__('Search Icons','visual-slider').'" autocomplete="off" spellcheck="false" autocorrect="off" tabindex="1"></div>';
483
484 $count_tab = 0;
485 echo'<div class="vs_title_tabs">';
486
487 foreach ($vs_icons as $icon_key => $icon_value):
488 $count_tab++;
489 if($count_tab==1){
490 $tab_active = 'vs_layout_active';
491 }else{
492 $tab_active = '';
493 }
494
495 echo'<a class="vs_tab_'.esc_attr($icon_key).' '.esc_attr($tab_active).'" data-id="'.esc_attr($icon_key).'">'.esc_html($icon_key).'</a>';
496 endforeach;
497 echo'</div>';
498
499
500
501 echo '</div>';
502 echo '<ul class="vs_icon_content">';
503 $count_active=0;
504 if(!empty($vs_icons)){
505 foreach ($vs_icons as $font => $font_title) {
506 $count_active++;
507 if($count_active==1){
508 $warp_active = 'vs_layout_group_active';
509 }else{
510 $warp_active = '';
511 }
512
513 echo '<section class="vs_icon_warp '.esc_attr($warp_active).'" data-tab="'.esc_attr($font).'">';
514
515
516 foreach ($font_title as $value_head => $font_child) {
517 echo '<h2 class="vs_icon_head" >'.esc_attr($value_head).'</h2>';
518
519 foreach ($font_child as $key => $value ) {
520 echo '<li class="vs_icon_item" data-icon="'.esc_attr($key).'">';
521 echo'<i class="'.esc_attr($key).'"></i>';
522 echo'<span>'.esc_attr($value).'</span>';
523 echo '</li>';
524 }
525
526 }
527 echo '</section>';
528
529 }
530 }
531
532 echo'</ul>';
533 echo '<div class="vs_icon_bottom"><a class="vs_set_icon button-primary">'.esc_html__('Set Icon','visual-slider').'</a></div>';
534 echo'</div>';
535 echo '</div>';
536
537 }
538 }
539
540 if ( !function_exists ( "vs_check_nubmer" )){
541 function vs_check_nubmer($val=false,$max=false,$min=false) {
542
543
544
545 $val_max= intval($max);
546 $val_min= intval($min);
547
548
549 if(!empty($val) ) {
550 if(is_numeric($val) ) {
551 $num_val = intval($val);
552 if( $num_val <= $val_max && $num_val >= $val_min ){
553 return '';
554 }else{
555 return 'vs_bad';
556 }
557 }else{
558 return 'vs_bad';
559 }
560 }else{
561 return '';
562 }
563
564
565
566 };
567 }
568
569 if ( !function_exists ( "vs_icon_element" )){
570 add_action('init','vs_icon_element');
571 function vs_icon_element() {
572
573 global $vs_icon_element;
574
575 $element=array();
576
577 if(has_filter('vs_icon_element')) {
578 $vs_icon_element = apply_filters('vs_icon_element', $element);
579 }
580
581
582 }
583 }
584
585
586 if ( !function_exists ( "vs_icon_fonts" )){
587
588 add_action('wp_ajax_vs_icon_fonts', 'vs_icon_fonts');
589
590 function vs_icon_fonts() {
591 if ( ! isset( $_POST['_wpnonce'] ) ||
592 ! wp_verify_nonce(sanitize_text_field(wp_unslash( $_POST['_wpnonce'])), 'vs_slider_nonce' ) )
593 return;
594 $post_id =!empty($_POST['post_id'])? absint(wp_unslash(filter_input( INPUT_POST, 'post_id', FILTER_SANITIZE_NUMBER_INT ))):absint(get_the_ID()) ;
595 if (!current_user_can('edit_post', $post_id)) return;
596
597
598
599 echo'<div class="vs-icon-fons">';
600 $var='';
601
602 $array =array(
603 'fontawesome',
604 'flaticonarrow',
605 'flaticonmultimedia',
606 'flaticonbusiness',
607 'flaticonoffice',
608 'flaticoninterface',
609 'flaticonessentialset',
610 'flaticontechsupport',
611 'flaticontech',
612 'flaticonstrategy',
613 'flaticonhipster',
614 'flaticonfashion',
615 'flaticonwebdesign',
616 'flaticontravel',
617 'flaticonnetwork',
618 'metrizeicon',
619 'typcn'
620 );
621 global $vs_fonticon_style;
622
623 foreach($array as $font){
624 $link='link';
625 $media='media="all"';
626 echo '<'.esc_attr($link).' rel="'.esc_attr('stylesheet').'" id="vs_'.esc_attr($font).'-css" href="' .esc_url(VISUALSLIDER_DIR."assets/css/fonts/".$font.".css?ver=".$var) . '" '.esc_attr('media').'="all" />';
627
628 }
629
630 echo'</div>';
631
632 //die();
633 }}
634 }