PATH:
home
/
beestk
/
savons
/
classes
<?php /** * 2007-2019 PrestaShop and Contributors * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * https://opensource.org/licenses/OSL-3.0 * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@prestashop.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to https://www.prestashop.com for more information. * * @author PrestaShop SA <contact@prestashop.com> * @copyright 2007-2019 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ class FileUploaderCore { protected $allowedExtensions = array(); /** @var QqUploadedFileXhr|QqUploadedFileForm|false */ protected $file; protected $sizeLimit; public function __construct(array $allowedExtensions = array(), $sizeLimit = 10485760) { $allowedExtensions = array_map('strtolower', $allowedExtensions); $this->allowedExtensions = $allowedExtensions; $this->sizeLimit = $sizeLimit; if (isset($_GET['qqfile'])) { $this->file = new QqUploadedFileXhr(); } elseif (isset($_FILES['qqfile'])) { $this->file = new QqUploadedFileForm(); } else { $this->file = false; } } protected function toBytes($str) { $val = trim($str); $last = strtolower($str[strlen($str) - 1]); switch ($last) { case 'g': $val *= 1024; // no break case 'm': $val *= 1024; // no break case 'k': $val *= 1024; } return $val; } /** * Returns array('success'=>true) or array('error'=>'error message'). */ public function handleUpload() { if (!$this->file) { return array('error' => Context::getContext()->getTranslator()->trans('No files were uploaded.', array(), 'Admin.Notifications.Error')); } $size = $this->file->getSize(); if ($size == 0) { return array('error' => Context::getContext()->getTranslator()->trans('Source file does not exist or is empty.', array(), 'Admin.Notifications.Error')); } if ($size > $this->sizeLimit) { return array('error' => Context::getContext()->getTranslator()->trans('The uploaded file is too large.', array(), 'Admin.Notifications.Error')); } $pathinfo = pathinfo($this->file->getName()); $these = implode(', ', $this->allowedExtensions); if (!isset($pathinfo['extension'])) { return array('error' => Context::getContext()->getTranslator()->trans('File has an invalid extension, it should be one of these: %s.', array($these), 'Admin.Notifications.Error')); } $ext = $pathinfo['extension']; if ($this->allowedExtensions && !in_array(strtolower($ext), $this->allowedExtensions)) { return array('error' => Context::getContext()->getTranslator()->trans('File has an invalid extension, it should be one of these: %s.', array($these), 'Admin.Notifications.Error')); } return $this->file->save(); } }
[+]
..
[-] Customer.php
[open]
[-] SpecificPriceRule.php
[open]
[-] index.php
[open]
[-] Upgrader.php
[open]
[-] DateRange.php
[open]
[-] Guest.php
[open]
[-] Language.php
[open]
[-] CMSRole.php
[open]
[-] State.php
[open]
[-] WarehouseAddress.php
[open]
[-] Translate.php
[open]
[-] Gender.php
[open]
[-] Currency.php
[open]
[-] Mail.php
[open]
[-] CSV.php
[open]
[+]
cache
[-] SearchEngine.php
[open]
[-] Cookie.php
[open]
[-] Hook.php
[open]
[-] QqUploadedFileForm.php
[open]
[-] Message.php
[open]
[-] CMS.php
[open]
[-] QuickAccess.php
[open]
[-] CustomizationField.php
[open]
[+]
shop
[-] ProductSale.php
[open]
[-] Feature.php
[open]
[+]
db
[+]
controller
[-] CustomerThread.php
[open]
[-] Customization.php
[open]
[-] Chart.php
[open]
[+]
proxy
[-] PhpEncryptionEngine.php
[open]
[-] Meta.php
[open]
[-] ProductSupplier.php
[open]
[+]
form
[-] Group.php
[open]
[-] Product.php
[open]
[-] Employee.php
[open]
[+]
range
[-] Dispatcher.php
[open]
[-] Address.php
[open]
[-] Notification.php
[open]
[-] Access.php
[open]
[-] Tag.php
[open]
[-] RequestSql.php
[open]
[+]
helper
[-] Supplier.php
[open]
[-] ConnectionsSource.php
[open]
[-] ConfigurationKPI.php
[open]
[-] SpecificPrice.php
[open]
[-] FeatureValue.php
[open]
[-] Pack.php
[open]
[-] ManufacturerAddress.php
[open]
[-] Category.php
[open]
[-] ChecksumInterface.php
[open]
[-] PrestaShopAutoload.php
[open]
[-] Page.php
[open]
[+]
Smarty
[-] PhpEncryption.php
[open]
[-] Referrer.php
[open]
[-] AddressFormat.php
[open]
[-] CartRule.php
[open]
[-] Connection.php
[open]
[-] Search.php
[open]
[+]
order
[-] Configuration.php
[open]
[+]
log
[-] Windows.php
[open]
[+]
lang
[-] Store.php
[open]
[-] PrestaShopBackup.php
[open]
[-] ValidateConstraintTranslator.php
[open]
[+]
webservice
[-] Profile.php
[open]
[-] ProductDownload.php
[open]
[-] PhpEncryptionLegacyEngine.php
[open]
[-] Attachment.php
[open]
[+]
pdf
[-] Risk.php
[open]
[-] GroupReduction.php
[open]
[-] Combination.php
[open]
[-] PaymentModule.php
[open]
[-] ProductPresenterFactory.php
[open]
[-] ImageManager.php
[open]
[-] CMSCategory.php
[open]
[-] CustomerAddress.php
[open]
[+]
tree
[-] Delivery.php
[open]
[+]
stock
[-] Attribute.php
[open]
[-] PaymentFree.php
[open]
[-] Context.php
[open]
[-] Tools.php
[open]
[-] FileUploader.php
[open]
[-] Alias.php
[open]
[-] Uploader.php
[open]
[-] LocalizationPack.php
[open]
[-] Country.php
[open]
[-] AddressChecksumCore.php
[open]
[-] PrestaShopLogger.php
[open]
[-] ImageType.php
[open]
[-] QqUploadedFileXhr.php
[open]
[+]
checkout
[-] Link.php
[open]
[-] Image.php
[open]
[-] Zone.php
[open]
[-] CustomerMessage.php
[open]
[+]
module
[-] Manufacturer.php
[open]
[-] ConfigurationTest.php
[open]
[-] Carrier.php
[open]
[-] PrestaShopCollection.php
[open]
[-] TranslatedConfiguration.php
[open]
[-] Tab.php
[open]
[-] Contact.php
[open]
[-] Media.php
[open]
[-] AttributeGroup.php
[open]
[-] SupplierAddress.php
[open]
[-] ProductAssembler.php
[open]
[-] Validate.php
[open]
[+]
tax
[-] Cart.php
[open]
[-] ObjectModel.php
[open]
[+]
container
[+]
assets
[-] Curve.php
[open]
[+]
exception