File manager - Edit - /home/premiey/www/wp-includes/images/media/editors.tar
Back
editor.php 0000666 00000002612 15165445140 0006555 0 ustar 00 <?php /** * Abstract class of editor plugins. * * @author Naoki Sawada */ class elFinderEditor { /** * Array of allowed method by request from client side. * * @var array */ protected $allowed = array(); /** * elFinder instance * * @var object elFinder instance */ protected $elfinder; /** * Arguments * * @var array argValues */ protected $args; /** * Constructor. * * @param object $elfinder * @param array $args */ public function __construct($elfinder, $args) { $this->elfinder = $elfinder; $this->args = $args; } /** * Return boolean that this plugin is enabled. * * @return bool */ public function enabled() { return true; } /** * Return boolean that $name method is allowed. * * @param string $name * * @return bool */ public function isAllowedMethod($name) { $checker = array_flip($this->allowed); return isset($checker[$name]); } /** * Return $this->args value of the key * * @param string $key target key * @param string $empty empty value * * @return mixed */ public function argValue($key, $empty = '') { return isset($this->args[$key]) ? $this->args[$key] : $empty; } } OnlineConvert/editor.php 0000666 00000010320 15165445140 0011335 0 ustar 00 <?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($options, true); } if (!is_array($options)) { $options = array(); } if ($options) { $request['conversion'][0]['options'] = $options; } $ch = curl_init($endpoint); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($request)); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($ch, CURLOPT_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($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($ch, CURLOPT_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($response, true); 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')); } } } ZohoOffice/editor.php 0000666 00000022064 15165445140 0010613 0 ustar 00 <?php class elFinderEditorZohoOffice extends elFinderEditor { private static $curlTimeout = 20; protected $allowed = array('init', 'save', 'chk'); protected $editor_settings = array( 'writer' => array( 'unit' => 'mm', 'view' => 'pageview' ), 'sheet' => array( 'country' => 'US' ), 'show' => array() ); private $urls = array( 'writer' => 'https://api.office-integrator.com/writer/officeapi/v1/document', 'sheet' => 'https://api.office-integrator.com/sheet/officeapi/v1/spreadsheet', 'show' => 'https://api.office-integrator.com/show/officeapi/v1/presentation', ); private $srvs = array( 'application/msword' => 'writer', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => 'writer', 'application/pdf' => 'writer', 'application/vnd.oasis.opendocument.text' => 'writer', 'application/rtf' => 'writer', 'text/html' => 'writer', 'application/vnd.ms-excel' => 'sheet', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => 'sheet', 'application/vnd.oasis.opendocument.spreadsheet' => 'sheet', 'application/vnd.sun.xml.calc' => 'sheet', 'text/csv' => 'sheet', 'text/tab-separated-values' => 'sheet', 'application/vnd.ms-powerpoint' => 'show', 'application/vnd.openxmlformats-officedocument.presentationml.presentation' => 'show', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow' => 'show', 'application/vnd.oasis.opendocument.presentation' => 'show', 'application/vnd.sun.xml.impress' => 'show', ); private $myName = ''; protected function extentionNormrize($extention, $srvsName) { switch($srvsName) { case 'writer': if (!in_array($extention, array('zdoc', 'docx', 'rtf', 'odt', 'html', 'txt'))) { $extention = 'docx'; } break; case 'sheet': if (!in_array($extention, array('zsheet', 'xls', 'xlsx', 'ods', 'csv', 'tsv'))) { $extention = 'xlsx'; } break; case 'show': if (!in_array($extention, array('zslides', 'pptx', 'pps', 'ppsx', 'odp', 'sxi'))) { $extention = 'pptx'; } break; } return $extention; } public function __construct($elfinder, $args) { parent::__construct($elfinder, $args); $this->myName = preg_replace('/^elFinderEditor/i', '', get_class($this)); } public function enabled() { return defined('ELFINDER_ZOHO_OFFICE_APIKEY') && ELFINDER_ZOHO_OFFICE_APIKEY && function_exists('curl_init'); } public function init() { if (!defined('ELFINDER_ZOHO_OFFICE_APIKEY') || !function_exists('curl_init')) { return array('error', array(elFinder::ERROR_CONF, '`ELFINDER_ZOHO_OFFICE_APIKEY` or curl extension')); } if (!empty($this->args['target'])) { $fp = $cfile = null; $hash = $this->args['target']; /** @var elFinderVolumeDriver $srcVol */ if (($srcVol = $this->elfinder->getVolume($hash)) && ($file = $srcVol->file($hash))) { $cdata = empty($this->args['cdata']) ? '' : $this->args['cdata']; $cookie = $this->elfinder->getFetchCookieFile(); $save = false; $ch = curl_init(); $conUrl = elFinder::getConnectorUrl(); curl_setopt($ch, CURLOPT_URL, $conUrl . (strpos($conUrl, '?') !== false? '&' : '?') . 'cmd=editor&name=' . $this->myName . '&method=chk&args[target]=' . rawurlencode($hash) . $cdata); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); if ($cookie) { curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); } $res = curl_exec($ch); curl_close($ch); if ($res) { if ($data = json_decode($res, true)) { $save = !empty($data['cansave']); } } if ($size = $file['size']) { $src = $srcVol->open($hash); $fp = tmpfile(); stream_copy_to_stream($src, $fp); $srcVol->close($src, $hash); $info = stream_get_meta_data($fp); if ($info && !empty($info['uri'])) { $srcFile = $info['uri']; if (class_exists('CURLFile')) { $cfile = new CURLFile($srcFile); $cfile->setPostFilename($file['name']); $cfile->setMimeType($file['mime']); } else { $cfile = '@' . $srcFile; } } } //$srv = $this->args['service']; $srvsName = $this->srvs[$file['mime']]; $format = $this->extentionNormrize($srcVol->getExtentionByMime($file['mime']), $srvsName); if (!$format) { $format = substr($file['name'], strrpos($file['name'], '.') * -1); } $lang = $this->args['lang']; if ($lang === 'jp') { $lang = 'ja'; } $data = array( 'apikey' => ELFINDER_ZOHO_OFFICE_APIKEY, 'callback_settings' => array( 'save_format' => $format, 'save_url_params' => array( 'hash' => $hash ) ), 'editor_settings' => $this->editor_settings[$srvsName], 'document_info' => array( 'document_name' => substr($file['name'], 0, strlen($file['name']) - strlen($format)- 1) ) ); $data['editor_settings']['language'] = $lang; if ($save) { $conUrl = elFinder::getConnectorUrl(); $data['callback_settings']['save_url'] = $conUrl . (strpos($conUrl, '?') !== false? '&' : '?') . 'cmd=editor&name=' . $this->myName . '&method=save' . $cdata; } foreach($data as $_k => $_v) { if (is_array($_v)){ $data[$_k] = json_encode($_v); } } if ($cfile) { $data['document'] = $cfile; } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $this->urls[$srvsName]); curl_setopt($ch, CURLOPT_TIMEOUT, self::$curlTimeout); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $res = curl_exec($ch); $error = curl_error($ch); curl_close($ch); $fp && fclose($fp); if ($res && $res = @json_decode($res, true)) { if (!empty($res['document_url'])) { $ret = array('zohourl' => $res['document_url']); if (!$save) { $ret['warning'] = 'exportToSave'; } return $ret; } else { $error = $res; } } if ($error) { return array('error' => is_string($error)? preg_split('/[\r\n]+/', $error) : 'Error code: ' . $error); } } } return array('error' => array('errCmdParams', 'editor.' . $this->myName . '.init')); } public function save() { if (!empty($_POST) && !empty($_POST['hash']) && !empty($_FILES) && !empty($_FILES['content'])) { $hash = $_POST['hash']; /** @var elFinderVolumeDriver $volume */ if ($volume = $this->elfinder->getVolume($hash)) { if ($content = file_get_contents($_FILES['content']['tmp_name'])) { if ($volume->putContents($hash, $content)) { return array('raw' => true, 'error' => '', 'header' => 'HTTP/1.1 200 OK'); } } } } return array('raw' => true, 'error' => '', 'header' => 'HTTP/1.1 500 Internal Server Error'); } public function chk() { $hash = $this->args['target']; $res = false; /** @var elFinderVolumeDriver $volume */ if ($volume = $this->elfinder->getVolume($hash)) { if ($file = $volume->file($hash)) { $res = (bool)$file['write']; } } return array('cansave' => $res); } } ZipArchive/editor.php 0000666 00000000621 15165445140 0010617 0 ustar 00 <?php class elFinderEditorZipArchive extends elFinderEditor { public function enabled() { return (!defined('ELFINDER_DISABLE_ZIPEDITOR') || !ELFINDER_DISABLE_ZIPEDITOR) && class_exists('Barryvdh\elFinderFlysystemDriver\Driver') && class_exists('League\Flysystem\Filesystem') && class_exists('League\Flysystem\ZipArchive\ZipArchiveAdapter'); } }
| ver. 1.4 |
Github
|
.
| PHP 5.4.45 | Generation time: 0 |
proxy
|
phpinfo
|
Settings