From a756ac72105dd4cb1a73bf3a07b07865e10399ae Mon Sep 17 00:00:00 2001 From: Ivan Diaz Date: Fri, 16 Nov 2018 15:12:15 -0300 Subject: [PATCH] Remove LCG from file uploading --- .../settings/admin-panel-system-preferences.js | 2 +- client/src/data/languages/br.js | 2 +- client/src/data/languages/cn.js | 2 +- client/src/data/languages/de.js | 2 +- client/src/data/languages/en.js | 2 +- client/src/data/languages/es.js | 2 +- client/src/data/languages/fr.js | 2 +- client/src/data/languages/gr.js | 2 +- client/src/data/languages/in.js | 2 +- client/src/data/languages/it.js | 2 +- client/src/data/languages/jp.js | 2 +- client/src/data/languages/nl.js | 2 +- client/src/data/languages/pt.js | 2 +- client/src/data/languages/ru.js | 2 +- client/src/data/languages/tr.js | 2 +- server/controllers/staff/get-all-tickets.php | 2 +- server/controllers/system/init-settings.php | 3 --- server/libs/Controller.php | 12 ------------ server/libs/FileUploader.php | 18 +++--------------- 19 files changed, 19 insertions(+), 46 deletions(-) diff --git a/client/src/app/admin/panel/settings/admin-panel-system-preferences.js b/client/src/app/admin/panel/settings/admin-panel-system-preferences.js index 825fc06f..14d4ad84 100644 --- a/client/src/app/admin/panel/settings/admin-panel-system-preferences.js +++ b/client/src/app/admin/panel/settings/admin-panel-system-preferences.js @@ -112,7 +112,7 @@ class AdminPanelSystemPreferences extends React.Component {
- {i18n('MAX_SIZE_KB')} + {i18n('MAX_SIZE_MB')}
diff --git a/client/src/data/languages/br.js b/client/src/data/languages/br.js index f3a89d5b..4d77900a 100644 --- a/client/src/data/languages/br.js +++ b/client/src/data/languages/br.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Chave Pública do Recaptcha', 'RECAPTCHA_PRIVATE_KEY': 'Private Key do Recaptcha', 'ALLOW_FILE_ATTACHMENTS': 'Permitir anexar arquivos', - 'MAX_SIZE_KB': 'Tamanho máximo (KB)', + 'MAX_SIZE_MB': 'Tamanho máximo (MB)', 'UPDATE_SETTINGS': 'Atualizar configurações', 'DEFAULT_LANGUAGE': 'Idioma padrão', 'SUPPORTED_LANGUAGES': 'Idiomas suportados', diff --git a/client/src/data/languages/cn.js b/client/src/data/languages/cn.js index 0b62cb42..c0fa15ef 100644 --- a/client/src/data/languages/cn.js +++ b/client/src/data/languages/cn.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Recaptcha公鑰', 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha私人鑰匙', 'ALLOW_FILE_ATTACHMENTS': '允許文件附件', - 'MAX_SIZE_KB': '最大尺寸(KB)', + 'MAX_SIZE_MB': '最大尺寸(KB)', 'UPDATE_SETTINGS': '更新設置', 'DEFAULT_LANGUAGE': '默認語言', 'SUPPORTED_LANGUAGES': '支持的語言', diff --git a/client/src/data/languages/de.js b/client/src/data/languages/de.js index e7ec08a6..9c92e990 100644 --- a/client/src/data/languages/de.js +++ b/client/src/data/languages/de.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Recaptcha - Öffentlicher Schlüssel', 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha - Privater Schlüssel', 'ALLOW_FILE_ATTACHMENTS': 'Dateianlagen zulassen', - 'MAX_SIZE_KB': 'Max. Größe (KB)', + 'MAX_SIZE_MB': 'Max. Größe (MB)', 'UPDATE_SETTINGS': 'Einstellungen aktualisieren', 'DEFAULT_LANGUAGE': 'Standardsprache', 'SUPPORTED_LANGUAGES': 'Unterstützte Sprachen', diff --git a/client/src/data/languages/en.js b/client/src/data/languages/en.js index e5d90c44..02a11596 100644 --- a/client/src/data/languages/en.js +++ b/client/src/data/languages/en.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Public Key', 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Private Key', 'ALLOW_FILE_ATTACHMENTS': 'Allow file attachments', - 'MAX_SIZE_KB': 'Max Size (KB)', + 'MAX_SIZE_MB': 'Max Size (MB)', 'UPDATE_SETTINGS': 'Update settings', 'DEFAULT_LANGUAGE': 'Default Language', 'SUPPORTED_LANGUAGES': 'Supported Languages', diff --git a/client/src/data/languages/es.js b/client/src/data/languages/es.js index d86b7ee5..4b9c5ef4 100644 --- a/client/src/data/languages/es.js +++ b/client/src/data/languages/es.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Recaptcha clave pública', 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha clave privada', 'ALLOW_FILE_ATTACHMENTS': 'Permitir archivos adjuntos', - 'MAX_SIZE_KB': 'Tamaño máximo (KB)', + 'MAX_SIZE_MB': 'Tamaño máximo (MB)', 'UPDATE_SETTINGS': 'Actualizar Configuraciones', 'DEFAULT_LANGUAGE': 'Idioma predeterminado', 'SUPPORTED_LANGUAGES': 'Idiomas Soportados', diff --git a/client/src/data/languages/fr.js b/client/src/data/languages/fr.js index eb71b3ef..a6eb93f5 100644 --- a/client/src/data/languages/fr.js +++ b/client/src/data/languages/fr.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Clé publique Recaptcha', 'RECAPTCHA_PRIVATE_KEY': 'Clé privée Recaptcha', 'ALLOW_FILE_ATTACHMENTS': 'Autoriser les pièces jointes', - 'MAX_SIZE_KB': 'Taille Maximale (Ko)', + 'MAX_SIZE_MB': 'Taille Maximale (Ko)', 'UPDATE_SETTINGS': 'Mettre à jour les paramètres', 'DEFAULT_LANGUAGE': 'Langue par défaut', 'SUPPORTED_LANGUAGES': 'Langues prises en charges', diff --git a/client/src/data/languages/gr.js b/client/src/data/languages/gr.js index 0cf8a74c..eaf61c54 100644 --- a/client/src/data/languages/gr.js +++ b/client/src/data/languages/gr.js @@ -145,7 +145,7 @@ 'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Δημοσίου Κλειδιού', 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Ιδιωτικού Κλειδιού', 'ALLOW_FILE_ATTACHMENTS': 'Επιτρέπονται Συνημμένα Αρχεία', - 'MAX_SIZE_KB': 'Μέγιστο Μέγεθος (KB)', + 'MAX_SIZE_MB': 'Μέγιστο Μέγεθος (MB)', 'UPDATE_SETTINGS': 'Ενημέρωση Ρυθμίσεων', 'DEFAULT_LANGUAGE': 'Προεπιλεγμένες Γλώσσες', 'SUPPORTED_LANGUAGES': 'Υποστηριζόμενες Γλώσσες', diff --git a/client/src/data/languages/in.js b/client/src/data/languages/in.js index b5957e12..25da03ee 100644 --- a/client/src/data/languages/in.js +++ b/client/src/data/languages/in.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Recaptcha सार्वजनिक कुंजी', 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha निजी कुंजी', 'ALLOW_FILE_ATTACHMENTS': 'फ़ाइल अनुलग्नकों की अनुमति दें', - 'MAX_SIZE_KB': 'अधिकतम आकार (KB)', + 'MAX_SIZE_MB': 'अधिकतम आकार (MB)', 'UPDATE_SETTINGS': 'सेटिंग अपडेट करें', 'DEFAULT_LANGUAGE': 'डिफ़ॉल्ट भाषा', 'SUPPORTED_LANGUAGES': 'समर्थित भाषाएँ', diff --git a/client/src/data/languages/it.js b/client/src/data/languages/it.js index ecf97745..c7ca1d7e 100644 --- a/client/src/data/languages/it.js +++ b/client/src/data/languages/it.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Public Key', 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Private Key', 'ALLOW_FILE_ATTACHMENTS': 'Consenti di allegare file', - 'MAX_SIZE_KB': 'Dimensione massima (KB)', + 'MAX_SIZE_MB': 'Dimensione massima (MB)', 'UPDATE_SETTINGS': 'Aggiorna modifiche', 'DEFAULT_LANGUAGE': 'Lingua predefinita', 'SUPPORTED_LANGUAGES': 'Lingue supportate', diff --git a/client/src/data/languages/jp.js b/client/src/data/languages/jp.js index 868c6606..7c9e63b3 100644 --- a/client/src/data/languages/jp.js +++ b/client/src/data/languages/jp.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Recaptcha公開鍵', 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha秘密鍵', 'ALLOW_FILE_ATTACHMENTS': '添付ファイルを許可する', - 'MAX_SIZE_KB': '最大サイズ(KB)', + 'MAX_SIZE_MB': '最大サイズ(KB)', 'UPDATE_SETTINGS': '設定を更新する', 'DEFAULT_LANGUAGE': '既定の言語', 'SUPPORTED_LANGUAGES': 'サポートされている言語', diff --git a/client/src/data/languages/nl.js b/client/src/data/languages/nl.js index 37fe968a..87bff429 100644 --- a/client/src/data/languages/nl.js +++ b/client/src/data/languages/nl.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Publieke Sleutel', 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Prive Sleutel', 'ALLOW_FILE_ATTACHMENTS': 'Sta bijlage(s) toe', - 'MAX_SIZE_KB': 'Max grootte (KB)', + 'MAX_SIZE_MB': 'Max grootte (MB)', 'UPDATE_SETTINGS': 'Update instellingen', 'DEFAULT_LANGUAGE': 'Standaard Taal', 'SUPPORTED_LANGUAGES': 'Talen die zijn ondersteund', diff --git a/client/src/data/languages/pt.js b/client/src/data/languages/pt.js index 462f65fb..a4d6aeac 100644 --- a/client/src/data/languages/pt.js +++ b/client/src/data/languages/pt.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Chave Pública', 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Private Key', 'ALLOW_FILE_ATTACHMENTS': 'Permitir anexos de arquivo', - 'MAX_SIZE_KB': 'Tamanho máximo (KB)', + 'MAX_SIZE_MB': 'Tamanho máximo (MB)', 'UPDATE_SETTINGS': 'Atualizar configurações', 'DEFAULT_LANGUAGE': 'Idioma padrão', 'SUPPORTED_LANGUAGES': 'Idiomas suportados', diff --git a/client/src/data/languages/ru.js b/client/src/data/languages/ru.js index 325859b1..33331250 100644 --- a/client/src/data/languages/ru.js +++ b/client/src/data/languages/ru.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Открытый ключ', 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Секретный ключ', 'ALLOW_FILE_ATTACHMENTS': 'Разрешить файловые вложения', - 'MAX_SIZE_KB': 'Максимальный размер (КБ)', + 'MAX_SIZE_MB': 'Максимальный размер (КБ)', 'UPDATE_SETTINGS': 'Обновить настройки', 'DEFAULT_LANGUAGE': 'Язык по умолчанию', 'SUPPORTED_LANGUAGES': 'Поддерживаемые Языки', diff --git a/client/src/data/languages/tr.js b/client/src/data/languages/tr.js index c0b01802..16ea1543 100644 --- a/client/src/data/languages/tr.js +++ b/client/src/data/languages/tr.js @@ -145,7 +145,7 @@ export default { 'RECAPTCHA_PUBLIC_KEY': 'Hızlı Erişim Anahtarı', 'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Özel Anahtar', 'ALLOW_FILE_ATTACHMENTS': 'Dosya eklerine izin ver', - 'MAX_SIZE_KB': 'Maksimum Boyut (KB)', + 'MAX_SIZE_MB': 'Maksimum Boyut (MB)', 'UPDATE_SETTINGS': 'Ayarları güncelle', 'DEFAULT_LANGUAGE': 'Varsayılan dil', 'SUPPORTED_LANGUAGES': 'Desteklenen Diller', diff --git a/server/controllers/staff/get-all-tickets.php b/server/controllers/staff/get-all-tickets.php index 17b6be71..da6dda2b 100755 --- a/server/controllers/staff/get-all-tickets.php +++ b/server/controllers/staff/get-all-tickets.php @@ -31,7 +31,7 @@ class GetAllTicketsStaffController extends Controller { const METHOD = 'POST'; public function validations() { - return[ + return [ 'permission' => 'staff_1', 'requestData' => [ 'page' => [ diff --git a/server/controllers/system/init-settings.php b/server/controllers/system/init-settings.php index 831e3751..a0d468cb 100755 --- a/server/controllers/system/init-settings.php +++ b/server/controllers/system/init-settings.php @@ -85,9 +85,6 @@ class InitSettingsController extends Controller { 'last-stat-day' => date('YmdHi', strtotime(' -12 day ')), 'ticket-gap' => Hashing::generateRandomPrime(100000, 999999), 'ticket-first-number' => Hashing::generateRandomNumber(100000, 999999), - 'file-gap' => Hashing::generateRandomPrime(100000, 999999), - 'file-first-number' => Hashing::generateRandomNumber(100000, 999999), - 'file-quantity' => 0, 'session-prefix' => 'opensupports-'.Hashing::generateRandomToken().'_', 'mail-template-header-image' => 'http://opensupports.com/logo.png' ]); diff --git a/server/libs/Controller.php b/server/libs/Controller.php index 246e3e6f..661356af 100755 --- a/server/libs/Controller.php +++ b/server/libs/Controller.php @@ -103,9 +103,6 @@ abstract class Controller { if(!$totalImages) return []; $maxSize = Setting::getSetting('max-size')->getValue(); - $fileGap = Setting::getSetting('file-gap')->getValue(); - $fileFirst = Setting::getSetting('file-first-number')->getValue(); - $fileQuantity = Setting::getSetting('file-quantity'); $fileUploader = FileUploader::getInstance(); $fileUploader->setMaxSize($maxSize); @@ -121,13 +118,10 @@ abstract class Controller { $imagePaths = []; $url = Setting::getSetting('url')->getValue(); for($i=0;$i<$totalImages;$i++) { - $fileUploader->setGeneratorValues($fileGap, $fileFirst, $fileQuantity->getValue()); $fileUploader->upload("image_$i"); $imagePaths[] = $url . '/api/system/download?file=' . $fileUploader->getFileName(); - $fileQuantity->value++; } - $fileQuantity->store(); return $imagePaths; } @@ -138,17 +132,11 @@ abstract class Controller { if(!isset($_FILES['file'])) return ''; $maxSize = Setting::getSetting('max-size')->getValue(); - $fileGap = Setting::getSetting('file-gap')->getValue(); - $fileFirst = Setting::getSetting('file-first-number')->getValue(); - $fileQuantity = Setting::getSetting('file-quantity'); $fileUploader = FileUploader::getInstance(); $fileUploader->setMaxSize($maxSize); - $fileUploader->setGeneratorValues($fileGap, $fileFirst, $fileQuantity->getValue()); if($fileUploader->upload('file')) { - $fileQuantity->value++; - $fileQuantity->store(); return $fileUploader; } else { diff --git a/server/libs/FileUploader.php b/server/libs/FileUploader.php index c2eb6417..4a9442a0 100755 --- a/server/libs/FileUploader.php +++ b/server/libs/FileUploader.php @@ -2,8 +2,6 @@ class FileUploader extends FileManager { private $maxSize = 1; - private $linearCongruentialGenerator; - private $linearCongruentialGeneratorOffset; private $fileName; private $permission; private $storage; @@ -71,12 +69,10 @@ class FileUploader extends FileManager { $newName = preg_replace('/[^a-zA-Z0-9\d\.\-]/', '_', $newName); $result = ""; - if ($this->linearCongruentialGenerator instanceof LinearCongruentialGenerator) { - if($this->permission) $result = $this->permission . '_'; - else $result = ''; + if($this->permission) $result = $this->permission . '_'; + else $result = ''; - $result .= $this->linearCongruentialGenerator->generate($this->linearCongruentialGeneratorOffset) . '_' . $newName; - } + $result .= substr(Hashing::generateRandomToken(), 0, 6) . '_' . $newName; return $result; } @@ -92,14 +88,6 @@ class FileUploader extends FileManager { else $this->permission = ''; } - public function setGeneratorValues($gap, $first, $offset) { - $this->linearCongruentialGenerator = new LinearCongruentialGenerator(); - $this->linearCongruentialGeneratorOffset = $offset; - - $this->linearCongruentialGenerator->setGap($gap); - $this->linearCongruentialGenerator->setFirst($first); - } - public function setMaxSize($maxSize) { $this->maxSize = $maxSize; }