mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Restructure and cleanup some RainLoop Actions code
This commit is contained in:
parent
9d280ab97e
commit
b5201883d6
8 changed files with 136 additions and 146 deletions
|
|
@ -178,13 +178,6 @@ export class AbstractFetchRemote
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {?Function} fCallback
|
|
||||||
*/
|
|
||||||
noop(fCallback) {
|
|
||||||
this.request('Noop', fCallback);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {?Function} fCallback
|
* @param {?Function} fCallback
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ namespace RainLoop;
|
||||||
|
|
||||||
use RainLoop\Enumerations\UploadClientError;
|
use RainLoop\Enumerations\UploadClientError;
|
||||||
use RainLoop\Enumerations\UploadError;
|
use RainLoop\Enumerations\UploadError;
|
||||||
use RainLoop\Providers\Identities;
|
|
||||||
|
|
||||||
class Actions
|
class Actions
|
||||||
{
|
{
|
||||||
|
|
@ -74,11 +73,6 @@ class Actions
|
||||||
*/
|
*/
|
||||||
private $aCachers = array();
|
private $aCachers = array();
|
||||||
|
|
||||||
/**
|
|
||||||
* @var Providers\Identities
|
|
||||||
*/
|
|
||||||
private $oIdentitiesProvider;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \RainLoop\Providers\Storage
|
* @var \RainLoop\Providers\Storage
|
||||||
*/
|
*/
|
||||||
|
|
@ -114,11 +108,6 @@ class Actions
|
||||||
*/
|
*/
|
||||||
private $oAddressBookProvider = null;
|
private $oAddressBookProvider = null;
|
||||||
|
|
||||||
/**
|
|
||||||
* @var \RainLoop\Providers\Suggestions
|
|
||||||
*/
|
|
||||||
private $oSuggestionsProvider = null;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \RainLoop\Config\Application
|
* @var \RainLoop\Config\Application
|
||||||
*/
|
*/
|
||||||
|
|
@ -134,13 +123,9 @@ class Actions
|
||||||
*/
|
*/
|
||||||
function __construct()
|
function __construct()
|
||||||
{
|
{
|
||||||
$this->oConfig = new Config\Application();
|
$this->oConfig = API::Config();
|
||||||
if (!$this->oConfig->Load()) {
|
|
||||||
usleep(10000);
|
|
||||||
$this->oConfig->Load();
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->oLogger = \MailSo\Log\Logger::SingletonInstance();
|
$this->oLogger = API::Logger();
|
||||||
if ($this->oConfig->Get('logs', 'enable', false)) {
|
if ($this->oConfig->Get('logs', 'enable', false)) {
|
||||||
$sSessionFilter = (string)$this->oConfig->Get('logs', 'session_filter', '');
|
$sSessionFilter = (string)$this->oConfig->Get('logs', 'session_filter', '');
|
||||||
if (!empty($sSessionFilter)) {
|
if (!empty($sSessionFilter)) {
|
||||||
|
|
@ -482,15 +467,6 @@ class Actions
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function IdentitiesProvider(): Identities
|
|
||||||
{
|
|
||||||
if (null === $this->oIdentitiesProvider) {
|
|
||||||
$this->oIdentitiesProvider = new Providers\Identities($this->fabrica('identities'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->oIdentitiesProvider;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function SettingsProvider(bool $bLocal = false): Providers\Settings
|
public function SettingsProvider(bool $bLocal = false): Providers\Settings
|
||||||
{
|
{
|
||||||
if ($bLocal) {
|
if ($bLocal) {
|
||||||
|
|
@ -530,16 +506,6 @@ class Actions
|
||||||
return $this->oDomainProvider;
|
return $this->oDomainProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function SuggestionsProvider(): Providers\Suggestions
|
|
||||||
{
|
|
||||||
if (null === $this->oSuggestionsProvider) {
|
|
||||||
$this->oSuggestionsProvider = new Providers\Suggestions(
|
|
||||||
$this->fabrica('suggestions'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->oSuggestionsProvider;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function AddressBookProvider(?Model\Account $oAccount = null, bool $bForceEnable = false): Providers\AddressBook
|
public function AddressBookProvider(?Model\Account $oAccount = null, bool $bForceEnable = false): Providers\AddressBook
|
||||||
{
|
{
|
||||||
if (null === $this->oAddressBookProvider) {
|
if (null === $this->oAddressBookProvider) {
|
||||||
|
|
@ -673,18 +639,6 @@ class Actions
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function SetMailtoRequest(string $sTo): void
|
|
||||||
{
|
|
||||||
if (!empty($sTo)) {
|
|
||||||
Utils::SetCookie(self::AUTH_MAILTO_TOKEN_KEY,
|
|
||||||
Utils::EncodeKeyValuesQ(array(
|
|
||||||
'Time' => \microtime(true),
|
|
||||||
'MailTo' => 'MailTo',
|
|
||||||
'To' => $sTo
|
|
||||||
)), 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function AppDataSystem(bool $bAdmin = false): array
|
public function AppDataSystem(bool $bAdmin = false): array
|
||||||
{
|
{
|
||||||
$oConfig = $this->oConfig;
|
$oConfig = $this->oConfig;
|
||||||
|
|
@ -711,7 +665,7 @@ class Actions
|
||||||
'allowAppendMessage' => (bool)$oConfig->Get('labs', 'allow_message_append', false),
|
'allowAppendMessage' => (bool)$oConfig->Get('labs', 'allow_message_append', false),
|
||||||
'folderSpecLimit' => (int)$oConfig->Get('labs', 'folders_spec_limit', 50),
|
'folderSpecLimit' => (int)$oConfig->Get('labs', 'folders_spec_limit', 50),
|
||||||
'faviconStatus' => (bool)$oConfig->Get('labs', 'favicon_status', true),
|
'faviconStatus' => (bool)$oConfig->Get('labs', 'favicon_status', true),
|
||||||
'listPermanentFiltered' => '' !== \trim(Api::Config()->Get('labs', 'imap_message_list_permanent_filter', '')),
|
'listPermanentFiltered' => '' !== \trim($oConfig->Get('labs', 'imap_message_list_permanent_filter', '')),
|
||||||
'themes' => $this->GetThemes(),
|
'themes' => $this->GetThemes(),
|
||||||
'languages' => \SnappyMail\L10n::getLanguages(false),
|
'languages' => \SnappyMail\L10n::getLanguages(false),
|
||||||
'languagesAdmin' => \SnappyMail\L10n::getLanguages(true),
|
'languagesAdmin' => \SnappyMail\L10n::getLanguages(true),
|
||||||
|
|
@ -1013,12 +967,6 @@ class Actions
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function DoNoop(): array
|
|
||||||
{
|
|
||||||
$this->initMailClientConnection();
|
|
||||||
return $this->TrueResponse(__FUNCTION__);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function DoPing(): array
|
public function DoPing(): array
|
||||||
{
|
{
|
||||||
return $this->DefaultResponse(__FUNCTION__, 'Pong');
|
return $this->DefaultResponse(__FUNCTION__, 'Pong');
|
||||||
|
|
@ -1210,86 +1158,6 @@ class Actions
|
||||||
) : false);
|
) : false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function importContactsFromCsvFile(Model\Account $oAccount, /*resource*/ $rFile, string $sFileStart): int
|
|
||||||
{
|
|
||||||
$iCount = 0;
|
|
||||||
$aHeaders = null;
|
|
||||||
$aData = array();
|
|
||||||
|
|
||||||
if ($oAccount && \is_resource($rFile)) {
|
|
||||||
$oAddressBookProvider = $this->AddressBookProvider($oAccount);
|
|
||||||
if ($oAddressBookProvider && $oAddressBookProvider->IsActive()) {
|
|
||||||
$sDelimiter = ((int)\strpos($sFileStart, ',') > (int)\strpos($sFileStart, ';')) ? ',' : ';';
|
|
||||||
|
|
||||||
\setlocale(LC_CTYPE, 'en_US.UTF-8');
|
|
||||||
while (false !== ($mRow = \fgetcsv($rFile, 5000, $sDelimiter, '"'))) {
|
|
||||||
if (null === $aHeaders) {
|
|
||||||
if (3 >= \count($mRow)) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
$aHeaders = $mRow;
|
|
||||||
|
|
||||||
foreach ($aHeaders as $iIndex => $sHeaderValue) {
|
|
||||||
$aHeaders[$iIndex] = \MailSo\Base\Utils::Utf8Clear($sHeaderValue);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$aNewItem = array();
|
|
||||||
foreach ($aHeaders as $iIndex => $sHeaderValue) {
|
|
||||||
$aNewItem[$sHeaderValue] = isset($mRow[$iIndex]) ? $mRow[$iIndex] : '';
|
|
||||||
}
|
|
||||||
|
|
||||||
$aData[] = $aNewItem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (\count($aData)) {
|
|
||||||
$this->oLogger->Write('Import contacts from csv');
|
|
||||||
$iCount = $oAddressBookProvider->ImportCsvArray(
|
|
||||||
$this->GetMainEmail($oAccount),
|
|
||||||
$aData
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $iCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @throws \MailSo\Base\Exceptions\Exception
|
|
||||||
*/
|
|
||||||
public function Append(): bool
|
|
||||||
{
|
|
||||||
$oAccount = $this->initMailClientConnection();
|
|
||||||
|
|
||||||
$sFolderFullName = $this->GetActionParam('Folder', '');
|
|
||||||
|
|
||||||
$_FILES = isset($_FILES) ? $_FILES : null;
|
|
||||||
if ($oAccount &&
|
|
||||||
$this->oConfig->Get('labs', 'allow_message_append', false) &&
|
|
||||||
isset($_FILES, $_FILES['AppendFile'], $_FILES['AppendFile']['name'],
|
|
||||||
$_FILES['AppendFile']['tmp_name'], $_FILES['AppendFile']['size'])) {
|
|
||||||
if (is_string($_FILES['AppendFile']['tmp_name']) && \strlen($_FILES['AppendFile']['tmp_name'])) {
|
|
||||||
if (\UPLOAD_ERR_OK === (int)$_FILES['AppendFile']['error'] && !empty($sFolderFullName)) {
|
|
||||||
$sSavedName = 'append-post-' . md5($sFolderFullName . $_FILES['AppendFile']['name'] . $_FILES['AppendFile']['tmp_name']);
|
|
||||||
|
|
||||||
if ($this->FilesProvider()->MoveUploadedFile($oAccount,
|
|
||||||
$sSavedName, $_FILES['AppendFile']['tmp_name'])) {
|
|
||||||
$iMessageStreamSize = $this->FilesProvider()->FileSize($oAccount, $sSavedName);
|
|
||||||
$rMessageStream = $this->FilesProvider()->GetFile($oAccount, $sSavedName);
|
|
||||||
|
|
||||||
$this->MailClient()->MessageAppendStream($rMessageStream, $iMessageStreamSize, $sFolderFullName);
|
|
||||||
|
|
||||||
$this->FilesProvider()->Clear($oAccount, $sSavedName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->DefaultResponse(__FUNCTION__, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function Capa(bool $bAdmin, ?Model\Account $oAccount = null): array
|
public function Capa(bool $bAdmin, ?Model\Account $oAccount = null): array
|
||||||
{
|
{
|
||||||
$oConfig = $this->oConfig;
|
$oConfig = $this->oConfig;
|
||||||
|
|
|
||||||
|
|
@ -9,17 +9,31 @@ use RainLoop\Model\MainAccount;
|
||||||
use RainLoop\Model\AdditionalAccount;
|
use RainLoop\Model\AdditionalAccount;
|
||||||
use RainLoop\Model\Identity;
|
use RainLoop\Model\Identity;
|
||||||
use RainLoop\Notifications;
|
use RainLoop\Notifications;
|
||||||
|
use RainLoop\Providers\Identities;
|
||||||
use RainLoop\Providers\Storage\Enumerations\StorageType;
|
use RainLoop\Providers\Storage\Enumerations\StorageType;
|
||||||
use RainLoop\Utils;
|
use RainLoop\Utils;
|
||||||
|
|
||||||
trait Accounts
|
trait Accounts
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @var RainLoop\Providers\Identities
|
||||||
|
*/
|
||||||
|
private $oIdentitiesProvider;
|
||||||
|
|
||||||
protected function GetMainEmail(Account $oAccount)
|
protected function GetMainEmail(Account $oAccount)
|
||||||
{
|
{
|
||||||
return ($oAccount instanceof AdditionalAccount ? $this->getMainAccountFromToken() : $oAccount)->Email();
|
return ($oAccount instanceof AdditionalAccount ? $this->getMainAccountFromToken() : $oAccount)->Email();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function IdentitiesProvider(): Identities
|
||||||
|
{
|
||||||
|
if (null === $this->oIdentitiesProvider) {
|
||||||
|
$this->oIdentitiesProvider = new Identities($this->fabrica('identities'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->oIdentitiesProvider;
|
||||||
|
}
|
||||||
|
|
||||||
public function GetAccounts(MainAccount $oAccount): array
|
public function GetAccounts(MainAccount $oAccount): array
|
||||||
{
|
{
|
||||||
if ($this->GetCapa(false, Capa::ADDITIONAL_ACCOUNTS, $oAccount)) {
|
if ($this->GetCapa(false, Capa::ADDITIONAL_ACCOUNTS, $oAccount)) {
|
||||||
|
|
|
||||||
|
|
@ -334,4 +334,50 @@ trait Contacts
|
||||||
return $iCount;
|
return $iCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function importContactsFromCsvFile(\RainLoop\Model\Account $oAccount, /*resource*/ $rFile, string $sFileStart): int
|
||||||
|
{
|
||||||
|
$iCount = 0;
|
||||||
|
$aHeaders = null;
|
||||||
|
$aData = array();
|
||||||
|
|
||||||
|
if ($oAccount && \is_resource($rFile)) {
|
||||||
|
$oAddressBookProvider = $this->AddressBookProvider($oAccount);
|
||||||
|
if ($oAddressBookProvider && $oAddressBookProvider->IsActive()) {
|
||||||
|
$sDelimiter = ((int)\strpos($sFileStart, ',') > (int)\strpos($sFileStart, ';')) ? ',' : ';';
|
||||||
|
|
||||||
|
\setlocale(LC_CTYPE, 'en_US.UTF-8');
|
||||||
|
while (false !== ($mRow = \fgetcsv($rFile, 5000, $sDelimiter, '"'))) {
|
||||||
|
if (null === $aHeaders) {
|
||||||
|
if (3 >= \count($mRow)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$aHeaders = $mRow;
|
||||||
|
|
||||||
|
foreach ($aHeaders as $iIndex => $sHeaderValue) {
|
||||||
|
$aHeaders[$iIndex] = \MailSo\Base\Utils::Utf8Clear($sHeaderValue);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$aNewItem = array();
|
||||||
|
foreach ($aHeaders as $iIndex => $sHeaderValue) {
|
||||||
|
$aNewItem[$sHeaderValue] = isset($mRow[$iIndex]) ? $mRow[$iIndex] : '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$aData[] = $aNewItem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (\count($aData)) {
|
||||||
|
$this->oLogger->Write('Import contacts from csv');
|
||||||
|
$iCount = $oAddressBookProvider->ImportCsvArray(
|
||||||
|
$this->GetMainEmail($oAccount),
|
||||||
|
$aData
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $iCount;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,37 @@ trait Folders
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Appends uploaded rfc822 message to mailbox
|
||||||
|
* @throws \MailSo\Base\Exceptions\Exception
|
||||||
|
*/
|
||||||
|
public function Append(): bool
|
||||||
|
{
|
||||||
|
$oAccount = $this->initMailClientConnection();
|
||||||
|
|
||||||
|
$sFolderFullName = $this->GetActionParam('Folder', '');
|
||||||
|
|
||||||
|
if ($oAccount
|
||||||
|
&& !empty($sFolderFullName)
|
||||||
|
&& !empty($_FILES['AppendFile'])
|
||||||
|
&& \is_uploaded_file($_FILES['AppendFile']['tmp_name'])
|
||||||
|
&& \UPLOAD_ERR_OK == $_FILES['AppendFile']['error']
|
||||||
|
&& $this->oConfig->Get('labs', 'allow_message_append', false)
|
||||||
|
) {
|
||||||
|
$sSavedName = 'append-post-' . \md5($sFolderFullName . $_FILES['AppendFile']['name'] . $_FILES['AppendFile']['tmp_name']);
|
||||||
|
if ($this->FilesProvider()->MoveUploadedFile($oAccount, $sSavedName, $_FILES['AppendFile']['tmp_name'])) {
|
||||||
|
$iMessageStreamSize = $this->FilesProvider()->FileSize($oAccount, $sSavedName);
|
||||||
|
$rMessageStream = $this->FilesProvider()->GetFile($oAccount, $sSavedName);
|
||||||
|
|
||||||
|
$this->MailClient()->MessageAppendStream($rMessageStream, $iMessageStreamSize, $sFolderFullName);
|
||||||
|
|
||||||
|
$this->FilesProvider()->Clear($oAccount, $sSavedName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->DefaultResponse(__FUNCTION__, true);
|
||||||
|
}
|
||||||
|
|
||||||
public function DoFolders() : array
|
public function DoFolders() : array
|
||||||
{
|
{
|
||||||
$oAccount = $this->initMailClientConnection();
|
$oAccount = $this->initMailClientConnection();
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ namespace RainLoop\Actions;
|
||||||
use RainLoop\Enumerations\Capa;
|
use RainLoop\Enumerations\Capa;
|
||||||
use RainLoop\Exceptions\ClientException;
|
use RainLoop\Exceptions\ClientException;
|
||||||
use RainLoop\Notifications;
|
use RainLoop\Notifications;
|
||||||
|
use RainLoop\Providers\Suggestions;
|
||||||
use RainLoop\Utils;
|
use RainLoop\Utils;
|
||||||
|
|
||||||
trait User
|
trait User
|
||||||
|
|
@ -15,6 +16,33 @@ trait User
|
||||||
use Folders;
|
use Folders;
|
||||||
use Messages;
|
use Messages;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var \RainLoop\Providers\Suggestions
|
||||||
|
*/
|
||||||
|
private $oSuggestionsProvider = null;
|
||||||
|
|
||||||
|
public function SuggestionsProvider(): Suggestions
|
||||||
|
{
|
||||||
|
if (null === $this->oSuggestionsProvider) {
|
||||||
|
$this->oSuggestionsProvider = new Suggestions(
|
||||||
|
$this->fabrica('suggestions'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->oSuggestionsProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function SetMailtoRequest(string $sTo): void
|
||||||
|
{
|
||||||
|
if (!empty($sTo)) {
|
||||||
|
Utils::SetCookie(self::AUTH_MAILTO_TOKEN_KEY,
|
||||||
|
Utils::EncodeKeyValuesQ(array(
|
||||||
|
'Time' => \microtime(true),
|
||||||
|
'MailTo' => 'MailTo',
|
||||||
|
'To' => $sTo
|
||||||
|
)), 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws \MailSo\Base\Exceptions\Exception
|
* @throws \MailSo\Base\Exceptions\Exception
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -41,12 +41,21 @@ class Api
|
||||||
|
|
||||||
public static function Config() : Config\Application
|
public static function Config() : Config\Application
|
||||||
{
|
{
|
||||||
return static::Actions()->Config();
|
static $oConfig = null;
|
||||||
|
if (!$oConfig)
|
||||||
|
{
|
||||||
|
$oConfig = new Config\Application();
|
||||||
|
if (!$oConfig->Load()) {
|
||||||
|
usleep(10000);
|
||||||
|
$oConfig->Load();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $oConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function Logger() : \MailSo\Log\Logger
|
public static function Logger() : \MailSo\Log\Logger
|
||||||
{
|
{
|
||||||
return static::Actions()->Logger();
|
return \MailSo\Log\Logger::SingletonInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static function SetupDefaultMailSoConfig() : void
|
protected static function SetupDefaultMailSoConfig() : void
|
||||||
|
|
|
||||||
|
|
@ -253,9 +253,10 @@ class ServiceActions
|
||||||
|
|
||||||
$iError = UPLOAD_ERR_OK;
|
$iError = UPLOAD_ERR_OK;
|
||||||
$_FILES = isset($_FILES) ? $_FILES : null;
|
$_FILES = isset($_FILES) ? $_FILES : null;
|
||||||
if (isset($_FILES, $_FILES[$sInputName], $_FILES[$sInputName]['name'], $_FILES[$sInputName]['tmp_name'], $_FILES[$sInputName]['size']))
|
if (isset($_FILES[$sInputName], $_FILES[$sInputName]['name'], $_FILES[$sInputName]['tmp_name'], $_FILES[$sInputName]['size']))
|
||||||
{
|
{
|
||||||
$iError = (isset($_FILES[$sInputName]['error'])) ? (int) $_FILES[$sInputName]['error'] : UPLOAD_ERR_OK;
|
$iError = (isset($_FILES[$sInputName]['error'])) ? (int) $_FILES[$sInputName]['error'] : UPLOAD_ERR_OK;
|
||||||
|
// \is_uploaded_file($_FILES[$sInputName]['tmp_name'])
|
||||||
|
|
||||||
if (UPLOAD_ERR_OK === $iError && 0 < $iSizeLimit && $iSizeLimit < (int) $_FILES[$sInputName]['size'])
|
if (UPLOAD_ERR_OK === $iError && 0 < $iSizeLimit && $iSizeLimit < (int) $_FILES[$sInputName]['size'])
|
||||||
{
|
{
|
||||||
|
|
@ -267,7 +268,7 @@ class ServiceActions
|
||||||
$aFile = $_FILES[$sInputName];
|
$aFile = $_FILES[$sInputName];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!isset($_FILES) || !is_array($_FILES) || !\count($_FILES))
|
else if (empty($_FILES))
|
||||||
{
|
{
|
||||||
$iError = UPLOAD_ERR_INI_SIZE;
|
$iError = UPLOAD_ERR_INI_SIZE;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue