/var/www/html_us/wp-content/plugins/revslider/includes/external/vimeo.class.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
/**
 * External Sources Vimeo Class
 * @since: 5.0
 * @author    ThemePunch <[email protected]>
 * @link      https://www.sliderrevolution.com/
 * @copyright 2024 ThemePunch
 */

if(!defined('ABSPATH')) exit();

/**
 * Vimeo
 *
 * with help of the API this class delivers all kind of Images/Videos from Vimeo
 *
 * @package    socialstreams
 * @subpackage socialstreams/vimeo
 * @author     ThemePunch <[email protected]>
 */

class RevSliderVimeo extends RevSliderFunctions {
    
/**
     * Stream Array
     *
     * @since    1.0.0
     * @access   private
     * @var      array    $stream    Stream Data Array
     */
    
private $stream;

    
/**
     * Transient seconds
     *
     * @since    1.0.0
     * @access   private
     * @var      number    $transient Transient time in seconds
     */
    
private $transient_sec;

    
/**
     * Initialize the class and set its properties.
     *
     * @since    1.0.0
     * @param      string    $api_key    Youtube API key.
     */
    
public function __construct($transient_sec 1200){
        
$this->transient_sec $transient_sec;
    }

    
/**
     * Get Vimeo User Videos
     *
     * @since    1.0.0
     */
    
public function get_vimeo_videos($type$value$elements 20){
        
//call the API and decode the response
        
$url 'https://vimeo.com/api/v2/';
        
$url .= ($type == 'user') ? $value.'/videos.json' $type.'/'.$value.'/videos.json';

        
$transient_name 'revslider_' md5($url.$elements);
        if(
$this->transient_sec && false !== ($data get_transient($transient_name)))
            return (
$data);

        
$elements intval($elements);
        
$page 1;
        
$rsp = array();
        do {
            
$_rsp json_decode(wp_remote_fopen($url.'?page='.$page));
            if(!empty(
$_rsp) && is_array($_rsp)) $rsp array_merge($rsp$_rsp);
            
$page++;
            
$elements -= 20;
        } while(
$elements 0);
        
        
set_transient($transient_name$rsp$this->transient_sec);

        return 
$rsp;
    }
}    
// End Class