@@ -72,8 +72,8 @@ |
||
| 72 | 72 | 'maxImageWidth' => $modx->config['maxImageWidth'], |
| 73 | 73 | 'maxImageHeight' => $modx->config['maxImageHeight'], |
| 74 | 74 | 'clientResize' => $modx->config['clientResize'] && $modx->config['maxImageWidth'] && $modx->config['maxImageHeight'] ? array('maxWidth' => $modx->config['maxImageWidth'], |
| 75 | - 'maxHeight' => $modx->config['maxImageHeight'], |
|
| 76 | - 'quality' => $modx->config['jpegQuality'] / 100 |
|
| 75 | + 'maxHeight' => $modx->config['maxImageHeight'], |
|
| 76 | + 'quality' => $modx->config['jpegQuality'] / 100 |
|
| 77 | 77 | ) : array(), |
| 78 | 78 | |
| 79 | 79 | 'thumbWidth' => $modx->config['thumbWidth'], |
@@ -1,24 +1,24 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | /** This file is part of KCFinder project |
| 4 | - * |
|
| 5 | - * @desc This file is included first, before each other |
|
| 6 | - * @package KCFinder |
|
| 7 | - * @version 2.54 |
|
| 8 | - * @author Pavel Tzonkov <[email protected]> |
|
| 9 | - * @copyright 2010-2014 KCFinder Project |
|
| 10 | - * @license http://www.opensource.org/licenses/gpl-2.0.php GPLv2 |
|
| 11 | - * @license http://www.opensource.org/licenses/lgpl-2.1.php LGPLv2 |
|
| 12 | - * @link http://kcfinder.sunhater.com |
|
| 13 | - * |
|
| 14 | - * This file is the place you can put any code (at the end of the file), |
|
| 15 | - * which will be executed before any other. Suitable for: |
|
| 16 | - * 1. Set PHP ini settings using ini_set() |
|
| 17 | - * 2. Custom session save handler with session_set_save_handler() |
|
| 18 | - * 3. Any custom integration code. If you use any global variables |
|
| 19 | - * here, they can be accessed in config.php via $GLOBALS array. |
|
| 20 | - * It's recommended to use constants instead. |
|
| 21 | - */ |
|
| 4 | + * |
|
| 5 | + * @desc This file is included first, before each other |
|
| 6 | + * @package KCFinder |
|
| 7 | + * @version 2.54 |
|
| 8 | + * @author Pavel Tzonkov <[email protected]> |
|
| 9 | + * @copyright 2010-2014 KCFinder Project |
|
| 10 | + * @license http://www.opensource.org/licenses/gpl-2.0.php GPLv2 |
|
| 11 | + * @license http://www.opensource.org/licenses/lgpl-2.1.php LGPLv2 |
|
| 12 | + * @link http://kcfinder.sunhater.com |
|
| 13 | + * |
|
| 14 | + * This file is the place you can put any code (at the end of the file), |
|
| 15 | + * which will be executed before any other. Suitable for: |
|
| 16 | + * 1. Set PHP ini settings using ini_set() |
|
| 17 | + * 2. Custom session save handler with session_set_save_handler() |
|
| 18 | + * 3. Any custom integration code. If you use any global variables |
|
| 19 | + * here, they can be accessed in config.php via $GLOBALS array. |
|
| 20 | + * It's recommended to use constants instead. |
|
| 21 | + */ |
|
| 22 | 22 | define('IN_MANAGER_MODE', true); |
| 23 | 23 | define('MODX_API_MODE', true); |
| 24 | 24 | include_once(__DIR__."/../../../../../index.php"); |
@@ -1,16 +1,16 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | /** This file is part of KCFinder project |
| 4 | - * |
|
| 5 | - * @desc Uploader class |
|
| 6 | - * @package KCFinder |
|
| 7 | - * @version 2.54 |
|
| 8 | - * @author Pavel Tzonkov <[email protected]> |
|
| 9 | - * @copyright 2010-2014 KCFinder Project |
|
| 10 | - * @license http://www.opensource.org/licenses/gpl-2.0.php GPLv2 |
|
| 11 | - * @license http://www.opensource.org/licenses/lgpl-2.1.php LGPLv2 |
|
| 12 | - * @link http://kcfinder.sunhater.com |
|
| 13 | - */ |
|
| 4 | + * |
|
| 5 | + * @desc Uploader class |
|
| 6 | + * @package KCFinder |
|
| 7 | + * @version 2.54 |
|
| 8 | + * @author Pavel Tzonkov <[email protected]> |
|
| 9 | + * @copyright 2010-2014 KCFinder Project |
|
| 10 | + * @license http://www.opensource.org/licenses/gpl-2.0.php GPLv2 |
|
| 11 | + * @license http://www.opensource.org/licenses/lgpl-2.1.php LGPLv2 |
|
| 12 | + * @link http://kcfinder.sunhater.com |
|
| 13 | + */ |
|
| 14 | 14 | |
| 15 | 15 | class uploader { |
| 16 | 16 | |
@@ -18,92 +18,92 @@ discard block |
||
| 18 | 18 | const VERSION = "2.54"; |
| 19 | 19 | |
| 20 | 20 | /** Config session-overrided settings |
| 21 | - * @var array */ |
|
| 21 | + * @var array */ |
|
| 22 | 22 | protected $config = array(); |
| 23 | 23 | |
| 24 | 24 | /** Default image driver |
| 25 | - * @var string */ |
|
| 25 | + * @var string */ |
|
| 26 | 26 | protected $imageDriver = "gd"; |
| 27 | 27 | |
| 28 | 28 | /** Opener applocation properties |
| 29 | - * $opener['name'] Got from $_GET['opener']; |
|
| 30 | - * $opener['CKEditor']['funcNum'] CKEditor function number (got from $_GET) |
|
| 31 | - * $opener['TinyMCE'] Boolean |
|
| 32 | - * @var array */ |
|
| 29 | + * $opener['name'] Got from $_GET['opener']; |
|
| 30 | + * $opener['CKEditor']['funcNum'] CKEditor function number (got from $_GET) |
|
| 31 | + * $opener['TinyMCE'] Boolean |
|
| 32 | + * @var array */ |
|
| 33 | 33 | protected $opener = array(); |
| 34 | 34 | |
| 35 | 35 | /** Got from $_GET['type'] or first one $config['types'] array key, if inexistant |
| 36 | - * @var string */ |
|
| 36 | + * @var string */ |
|
| 37 | 37 | protected $type; |
| 38 | 38 | |
| 39 | 39 | /** Helper property. Local filesystem path to the Type Directory |
| 40 | - * Equivalent: $config['uploadDir'] . "/" . $type |
|
| 41 | - * @var string */ |
|
| 40 | + * Equivalent: $config['uploadDir'] . "/" . $type |
|
| 41 | + * @var string */ |
|
| 42 | 42 | protected $typeDir; |
| 43 | 43 | |
| 44 | 44 | /** Helper property. Web URL to the Type Directory |
| 45 | - * Equivalent: $config['uploadURL'] . "/" . $type |
|
| 46 | - * @var string */ |
|
| 45 | + * Equivalent: $config['uploadURL'] . "/" . $type |
|
| 46 | + * @var string */ |
|
| 47 | 47 | protected $typeURL; |
| 48 | 48 | |
| 49 | 49 | /** Linked to $config['types'] |
| 50 | - * @var array */ |
|
| 50 | + * @var array */ |
|
| 51 | 51 | protected $types = array(); |
| 52 | 52 | |
| 53 | 53 | /** Settings which can override default settings if exists as keys in $config['types'][$type] array |
| 54 | - * @var array */ |
|
| 54 | + * @var array */ |
|
| 55 | 55 | protected $typeSettings = array('disabled', 'theme', 'dirPerms', 'filePerms', 'denyZipDownload', 'maxImageWidth', 'maxImageHeight', 'thumbWidth', 'thumbHeight', 'jpegQuality', 'access', 'filenameChangeChars', 'dirnameChangeChars', 'denyExtensionRename', 'deniedExts', 'watermark'); |
| 56 | 56 | |
| 57 | 57 | /** Got from language file |
| 58 | - * @var string */ |
|
| 58 | + * @var string */ |
|
| 59 | 59 | protected $charset; |
| 60 | 60 | |
| 61 | 61 | /** The language got from $_GET['lng'] or $_GET['lang'] or... Please see next property |
| 62 | - * @var string */ |
|
| 62 | + * @var string */ |
|
| 63 | 63 | protected $lang = 'en'; |
| 64 | 64 | |
| 65 | 65 | /** Possible language $_GET keys |
| 66 | - * @var array */ |
|
| 66 | + * @var array */ |
|
| 67 | 67 | protected $langInputNames = array('lang', 'langCode', 'lng', 'language', 'lang_code'); |
| 68 | 68 | |
| 69 | 69 | /** Uploaded file(s) info. Linked to first $_FILES element |
| 70 | - * @var array */ |
|
| 70 | + * @var array */ |
|
| 71 | 71 | protected $file; |
| 72 | 72 | |
| 73 | 73 | /** Next three properties are got from the current language file |
| 74 | - * @var string */ |
|
| 74 | + * @var string */ |
|
| 75 | 75 | protected $dateTimeFull; // Currently not used |
| 76 | 76 | protected $dateTimeMid; // Currently not used |
| 77 | 77 | protected $dateTimeSmall; |
| 78 | 78 | |
| 79 | 79 | /** Contain Specified language labels |
| 80 | - * @var array */ |
|
| 80 | + * @var array */ |
|
| 81 | 81 | protected $labels = array(); |
| 82 | 82 | |
| 83 | 83 | /** Contain unprocessed $_GET array. Please use this instead of $_GET |
| 84 | - * @var array */ |
|
| 84 | + * @var array */ |
|
| 85 | 85 | protected $get; |
| 86 | 86 | |
| 87 | 87 | /** Contain unprocessed $_POST array. Please use this instead of $_POST |
| 88 | - * @var array */ |
|
| 88 | + * @var array */ |
|
| 89 | 89 | protected $post; |
| 90 | 90 | |
| 91 | 91 | /** Contain unprocessed $_COOKIE array. Please use this instead of $_COOKIE |
| 92 | - * @var array */ |
|
| 92 | + * @var array */ |
|
| 93 | 93 | protected $cookie; |
| 94 | 94 | |
| 95 | 95 | /** Session array. Please use this property instead of $_SESSION |
| 96 | - * @var array */ |
|
| 96 | + * @var array */ |
|
| 97 | 97 | protected $session; |
| 98 | 98 | |
| 99 | 99 | /** CMS integration attribute (got from $_GET['cms']) |
| 100 | - * @var string */ |
|
| 100 | + * @var string */ |
|
| 101 | 101 | protected $cms = ""; |
| 102 | 102 | |
| 103 | 103 | protected $modx = null; |
| 104 | 104 | /** Magic method which allows read-only access to protected or private class properties |
| 105 | - * @param string $property |
|
| 106 | - * @return mixed */ |
|
| 105 | + * @param string $property |
|
| 106 | + * @return mixed */ |
|
| 107 | 107 | public function __get($property) { |
| 108 | 108 | return property_exists($this, $property) ? $this->$property : null; |
| 109 | 109 | } |
@@ -136,7 +136,7 @@ discard block |
||
| 136 | 136 | ) |
| 137 | 137 | $this->cms = $this->get['cms']; |
| 138 | 138 | |
| 139 | - // LINKING UPLOADED FILE |
|
| 139 | + // LINKING UPLOADED FILE |
|
| 140 | 140 | if (count($_FILES)) |
| 141 | 141 | $this->file = &$_FILES[key($_FILES)]; |
| 142 | 142 | |
@@ -217,8 +217,8 @@ discard block |
||
| 217 | 217 | $this->config['uploadDir'] = strlen($this->config['uploadDir']) |
| 218 | 218 | ? path::normalize($this->config['uploadDir']) |
| 219 | 219 | : path::url2fullPath("/$path"); |
| 220 | - $this->typeDir = "{$this->config['uploadDir']}/{$this->type}"; |
|
| 221 | - $this->typeURL = "{$this->config['siteURL']}/{$this->config['uploadURL']}/{$this->type}"; |
|
| 220 | + $this->typeDir = "{$this->config['uploadDir']}/{$this->type}"; |
|
| 221 | + $this->typeURL = "{$this->config['siteURL']}/{$this->config['uploadURL']}/{$this->type}"; |
|
| 222 | 222 | |
| 223 | 223 | // SITE ROOT |
| 224 | 224 | } elseif ($this->config['uploadURL'] == "/") { |
@@ -291,23 +291,23 @@ discard block |
||
| 291 | 291 | * @return array|bool|int|null|string|void |
| 292 | 292 | */ |
| 293 | 293 | protected function getTransaliasSettings() { |
| 294 | - $modx = evolutionCMS(); |
|
| 295 | - |
|
| 296 | - // Cleaning uploaded filename? |
|
| 297 | - $setting = $modx->getDatabase()->select('count(*)', $modx->getDatabase()->getFullTableName('system_settings'), 'setting_name="clean_uploaded_filename" AND setting_value=1'); |
|
| 298 | - if ($modx->getDatabase()->getValue($setting)>0) { |
|
| 299 | - // Transalias plugin active? |
|
| 300 | - $res = $modx->getDatabase()->select('properties', $modx->getDatabase()->getFullTableName('site_plugins'), 'name="TransAlias" AND disabled=0'); |
|
| 301 | - if ($properties = $modx->getDatabase()->getValue($res)) { |
|
| 302 | - $properties = $modx->parseProperties($properties, 'TransAlias', 'plugin'); |
|
| 303 | - } else { |
|
| 304 | - $properties = NULL; |
|
| 305 | - } |
|
| 306 | - } else { |
|
| 307 | - $properties = NULL; |
|
| 308 | - } |
|
| 309 | - return $properties; |
|
| 310 | - } |
|
| 294 | + $modx = evolutionCMS(); |
|
| 295 | + |
|
| 296 | + // Cleaning uploaded filename? |
|
| 297 | + $setting = $modx->getDatabase()->select('count(*)', $modx->getDatabase()->getFullTableName('system_settings'), 'setting_name="clean_uploaded_filename" AND setting_value=1'); |
|
| 298 | + if ($modx->getDatabase()->getValue($setting)>0) { |
|
| 299 | + // Transalias plugin active? |
|
| 300 | + $res = $modx->getDatabase()->select('properties', $modx->getDatabase()->getFullTableName('site_plugins'), 'name="TransAlias" AND disabled=0'); |
|
| 301 | + if ($properties = $modx->getDatabase()->getValue($res)) { |
|
| 302 | + $properties = $modx->parseProperties($properties, 'TransAlias', 'plugin'); |
|
| 303 | + } else { |
|
| 304 | + $properties = NULL; |
|
| 305 | + } |
|
| 306 | + } else { |
|
| 307 | + $properties = NULL; |
|
| 308 | + } |
|
| 309 | + return $properties; |
|
| 310 | + } |
|
| 311 | 311 | |
| 312 | 312 | |
| 313 | 313 | /** |
@@ -315,13 +315,13 @@ discard block |
||
| 315 | 315 | * @return mixed|string |
| 316 | 316 | */ |
| 317 | 317 | protected function normalizeFilename($filename) { |
| 318 | - if ($this->getTransaliasSettings()) { |
|
| 319 | - $format = strrchr($filename, "."); |
|
| 320 | - $filename = str_replace($format, "", $filename); |
|
| 321 | - $filename = $this->modx->stripAlias($filename).$format; |
|
| 322 | - } |
|
| 323 | - return $filename; |
|
| 324 | - } |
|
| 318 | + if ($this->getTransaliasSettings()) { |
|
| 319 | + $format = strrchr($filename, "."); |
|
| 320 | + $filename = str_replace($format, "", $filename); |
|
| 321 | + $filename = $this->modx->stripAlias($filename).$format; |
|
| 322 | + } |
|
| 323 | + return $filename; |
|
| 324 | + } |
|
| 325 | 325 | |
| 326 | 326 | /** |
| 327 | 327 | * @param $dirname |
@@ -396,10 +396,10 @@ discard block |
||
| 396 | 396 | return $this->label("The image is too big and/or cannot be resized."); |
| 397 | 397 | |
| 398 | 398 | |
| 399 | - // CHECK FOR MODX MAX FILE SIZE |
|
| 400 | - $actualfilesize=filesize($file['tmp_name']); |
|
| 401 | - if (isset($this->config['maxfilesize']) && $actualfilesize > $this->config['maxfilesize']) |
|
| 402 | - return $this->label("File is too big: ".$actualfilesize." Bytes. (max ".$this->config['maxfilesize']." Bytes)"); |
|
| 399 | + // CHECK FOR MODX MAX FILE SIZE |
|
| 400 | + $actualfilesize=filesize($file['tmp_name']); |
|
| 401 | + if (isset($this->config['maxfilesize']) && $actualfilesize > $this->config['maxfilesize']) |
|
| 402 | + return $this->label("File is too big: ".$actualfilesize." Bytes. (max ".$this->config['maxfilesize']." Bytes)"); |
|
| 403 | 403 | |
| 404 | 404 | return true; |
| 405 | 405 | } |
@@ -575,7 +575,7 @@ discard block |
||
| 575 | 575 | $top = isset($this->config['watermark']['top']) |
| 576 | 576 | ? $this->config['watermark']['top'] : false; |
| 577 | 577 | $img->watermark($this->config['watermark']['file'], $left, $top); |
| 578 | - } |
|
| 578 | + } |
|
| 579 | 579 | |
| 580 | 580 | $options = array( 'file' => $file ); |
| 581 | 581 | |