C:\xampp\htdocs\landing\wp-content\plugins\wp-file-manager\lib\php\editors\OnlineConvert\editor.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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?php

class elFinderEditorOnlineConvert extends elFinderEditor
{
    protected 
$allowed = array('init''api');

    public function 
enabled()
    {
        return 
defined('ELFINDER_ONLINE_CONVERT_APIKEY') && ELFINDER_ONLINE_CONVERT_APIKEY && (!defined('ELFINDER_DISABLE_ONLINE_CONVERT') || !ELFINDER_DISABLE_ONLINE_CONVERT);
    }

    public function 
init()
    {
        return array(
'api' => defined('ELFINDER_ONLINE_CONVERT_APIKEY') && ELFINDER_ONLINE_CONVERT_APIKEY && function_exists('curl_init'));
    }

    public function 
api()
    {
        
// return array('apires' => array('message' => 'Currently disabled for developping...'));
        
$endpoint 'https://api2.online-convert.com/jobs';
        
$category $this->argValue('category');
        
$convert $this->argValue('convert');
        
$options $this->argValue('options');
        
$source $this->argValue('source');
        
$filename $this->argValue('filename');
        
$mime $this->argValue('mime');
        
$jobid $this->argValue('jobid');
        
$string_method '';
        
$options = array();
        
// Currently these converts are make error with API call. I don't know why.
        
$nonApi = array('android''blackberry''dpg''ipad''iphone''ipod''nintendo-3ds''nintendo-ds''ps3''psp''wii''xbox');
        if (
in_array($convert$nonApi)) {
            return array(
'apires' => array());
        }
        
$ch null;
        if (
$convert && $source) {
            
$request = array(
                
'input' => array(array(
                    
'type' => 'remote',
                    
'source' => $source
                
)),
                
'conversion' => array(array(
                    
'target' => $convert
                
))
            );

            if (
$filename !== '') {
                
$request['input'][0]['filename'] = $filename;
            }

            if (
$mime !== '') {
                
$request['input'][0]['content_type'] = $mime;
            }

            if (
$category) {
                
$request['conversion'][0]['category'] = $category;
            }

            if (
$options && $options !== 'null') {
                
$options json_decode($optionstrue);
            }
            if (!
is_array($options)) {
                
$options = array();
            }
            if (
$options) {
                
$request['conversion'][0]['options'] = $options;
            }

            
$ch curl_init($endpoint);
            
curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
            
curl_setopt($chCURLOPT_POSTFIELDSjson_encode($request));
            
curl_setopt($chCURLOPT_CUSTOMREQUEST'POST');
            
curl_setopt($chCURLOPT_HTTPHEADER, array(
                
'X-Oc-Api-Key: ' ELFINDER_ONLINE_CONVERT_APIKEY,
                
'Content-Type: application/json',
                
'cache-control: no-cache'
            
));
        } else if (
$jobid) {
            
$ch curl_init($endpoint '/' $jobid);
            
curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
            
curl_setopt($chCURLOPT_CUSTOMREQUEST'GET');
            
curl_setopt($chCURLOPT_HTTPHEADER, array(
                
'X-Oc-Api-Key: ' ELFINDER_ONLINE_CONVERT_APIKEY,
                
'cache-control: no-cache'
            
));
        }

        if (
$ch) {
            
$response curl_exec($ch);
            
$info curl_getinfo($ch);
            
$error curl_error($ch);
            
curl_close($ch);

            if (!empty(
$error)) {
                
$res = array('error' => $error);
            } else {
                
$data json_decode($responsetrue);
                if (isset(
$data['status']) && isset($data['status']['code']) && $data['status']['code'] === 'completed') {
                    
/** @var elFinderSession $session */
                    
$session $this->elfinder->getSession();
                    
$urlContentSaveIds $session->get('urlContentSaveIds', array());
                    
$urlContentSaveIds['OnlineConvert-' $data['id']] = true;
                    
$session->set('urlContentSaveIds'$urlContentSaveIds);
                }
                
$res = array('apires' => $data);
            }

            return 
$res;
        } else {
            return array(
'error' => array('errCmdParams''editor.OnlineConvert.api'));
        }
    }
}
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586