Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/wp-file-.../lib/php/editors/OnlineCo...
File: editor.php
<?php
[0] Fix | Delete
[1] Fix | Delete
class elFinderEditorOnlineConvert extends elFinderEditor
[2] Fix | Delete
{
[3] Fix | Delete
protected $allowed = array('init', 'api');
[4] Fix | Delete
[5] Fix | Delete
public function enabled()
[6] Fix | Delete
{
[7] Fix | Delete
return defined('ELFINDER_ONLINE_CONVERT_APIKEY') && ELFINDER_ONLINE_CONVERT_APIKEY && (!defined('ELFINDER_DISABLE_ONLINE_CONVERT') || !ELFINDER_DISABLE_ONLINE_CONVERT);
[8] Fix | Delete
}
[9] Fix | Delete
[10] Fix | Delete
public function init()
[11] Fix | Delete
{
[12] Fix | Delete
return array('api' => defined('ELFINDER_ONLINE_CONVERT_APIKEY') && ELFINDER_ONLINE_CONVERT_APIKEY && function_exists('curl_init'));
[13] Fix | Delete
}
[14] Fix | Delete
[15] Fix | Delete
public function api()
[16] Fix | Delete
{
[17] Fix | Delete
// return array('apires' => array('message' => 'Currently disabled for developping...'));
[18] Fix | Delete
$endpoint = 'https://api2.online-convert.com/jobs';
[19] Fix | Delete
$category = $this->argValue('category');
[20] Fix | Delete
$convert = $this->argValue('convert');
[21] Fix | Delete
$options = $this->argValue('options');
[22] Fix | Delete
$source = $this->argValue('source');
[23] Fix | Delete
$filename = $this->argValue('filename');
[24] Fix | Delete
$mime = $this->argValue('mime');
[25] Fix | Delete
$jobid = $this->argValue('jobid');
[26] Fix | Delete
$string_method = '';
[27] Fix | Delete
$options = array();
[28] Fix | Delete
// Currently these converts are make error with API call. I don't know why.
[29] Fix | Delete
$nonApi = array('android', 'blackberry', 'dpg', 'ipad', 'iphone', 'ipod', 'nintendo-3ds', 'nintendo-ds', 'ps3', 'psp', 'wii', 'xbox');
[30] Fix | Delete
if (in_array($convert, $nonApi)) {
[31] Fix | Delete
return array('apires' => array());
[32] Fix | Delete
}
[33] Fix | Delete
$ch = null;
[34] Fix | Delete
if ($convert && $source) {
[35] Fix | Delete
$request = array(
[36] Fix | Delete
'input' => array(array(
[37] Fix | Delete
'type' => 'remote',
[38] Fix | Delete
'source' => $source
[39] Fix | Delete
)),
[40] Fix | Delete
'conversion' => array(array(
[41] Fix | Delete
'target' => $convert
[42] Fix | Delete
))
[43] Fix | Delete
);
[44] Fix | Delete
[45] Fix | Delete
if ($filename !== '') {
[46] Fix | Delete
$request['input'][0]['filename'] = $filename;
[47] Fix | Delete
}
[48] Fix | Delete
[49] Fix | Delete
if ($mime !== '') {
[50] Fix | Delete
$request['input'][0]['content_type'] = $mime;
[51] Fix | Delete
}
[52] Fix | Delete
[53] Fix | Delete
if ($category) {
[54] Fix | Delete
$request['conversion'][0]['category'] = $category;
[55] Fix | Delete
}
[56] Fix | Delete
[57] Fix | Delete
if ($options && $options !== 'null') {
[58] Fix | Delete
$options = json_decode($options, true);
[59] Fix | Delete
}
[60] Fix | Delete
if (!is_array($options)) {
[61] Fix | Delete
$options = array();
[62] Fix | Delete
}
[63] Fix | Delete
if ($options) {
[64] Fix | Delete
$request['conversion'][0]['options'] = $options;
[65] Fix | Delete
}
[66] Fix | Delete
[67] Fix | Delete
$ch = curl_init($endpoint);
[68] Fix | Delete
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
[69] Fix | Delete
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($request));
[70] Fix | Delete
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
[71] Fix | Delete
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
[72] Fix | Delete
'X-Oc-Api-Key: ' . ELFINDER_ONLINE_CONVERT_APIKEY,
[73] Fix | Delete
'Content-Type: application/json',
[74] Fix | Delete
'cache-control: no-cache'
[75] Fix | Delete
));
[76] Fix | Delete
} else if ($jobid) {
[77] Fix | Delete
$ch = curl_init($endpoint . '/' . $jobid);
[78] Fix | Delete
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
[79] Fix | Delete
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
[80] Fix | Delete
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
[81] Fix | Delete
'X-Oc-Api-Key: ' . ELFINDER_ONLINE_CONVERT_APIKEY,
[82] Fix | Delete
'cache-control: no-cache'
[83] Fix | Delete
));
[84] Fix | Delete
}
[85] Fix | Delete
[86] Fix | Delete
if ($ch) {
[87] Fix | Delete
$response = curl_exec($ch);
[88] Fix | Delete
$info = curl_getinfo($ch);
[89] Fix | Delete
$error = curl_error($ch);
[90] Fix | Delete
curl_close($ch);
[91] Fix | Delete
[92] Fix | Delete
if (!empty($error)) {
[93] Fix | Delete
$res = array('error' => $error);
[94] Fix | Delete
} else {
[95] Fix | Delete
$data = json_decode($response, true);
[96] Fix | Delete
if (isset($data['status']) && isset($data['status']['code']) && $data['status']['code'] === 'completed') {
[97] Fix | Delete
/** @var elFinderSession $session */
[98] Fix | Delete
$session = $this->elfinder->getSession();
[99] Fix | Delete
$urlContentSaveIds = $session->get('urlContentSaveIds', array());
[100] Fix | Delete
$urlContentSaveIds['OnlineConvert-' . $data['id']] = true;
[101] Fix | Delete
$session->set('urlContentSaveIds', $urlContentSaveIds);
[102] Fix | Delete
}
[103] Fix | Delete
$res = array('apires' => $data);
[104] Fix | Delete
}
[105] Fix | Delete
[106] Fix | Delete
return $res;
[107] Fix | Delete
} else {
[108] Fix | Delete
return array('error' => array('errCmdParams', 'editor.OnlineConvert.api'));
[109] Fix | Delete
}
[110] Fix | Delete
}
[111] Fix | Delete
}
[112] Fix | Delete
[113] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function