diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php
index 06d766fec..0a2eb1f35 100644
--- a/classes/context/Context.class.php
+++ b/classes/context/Context.class.php
@@ -242,7 +242,7 @@ class Context
else
{
$site_module_info = new stdClass;
- $site_module_info->domain = $_SERVER['HTTP_HOST'];
+ $site_module_info->domain = Rhymix\Framework\URL::getCurrentDomain();
$site_module_info->security = RX_SSL ? 'always' : 'none';
$site_module_info->settings = new stdClass;
$site_module_info->is_default_replaced = true;
diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php
index b23d108f5..5b910d223 100644
--- a/classes/module/ModuleHandler.class.php
+++ b/classes/module/ModuleHandler.class.php
@@ -147,7 +147,11 @@ class ModuleHandler extends Handler
return true;
case 'display':
- // pass
+ $site_module_info->domain_srl = -1;
+ $site_module_info->domain = Rhymix\Framework\URL::getCurrentDomain();
+ $site_module_info->is_default_domain = 'N';
+ $site_module_info->is_default_replaced = true;
+ Context::set('site_module_info', $site_module_info);
}
}
}
@@ -182,8 +186,11 @@ class ModuleHandler extends Handler
}
}
+ // Initialize module info.
+ $module_info = null;
+
// Get module info from document_srl.
- if($this->document_srl)
+ if($this->document_srl && !preg_match('/Admin/', $this->act))
{
$module_info = $this->_checkDocumentSrl();
if ($module_info === false)
@@ -191,23 +198,21 @@ class ModuleHandler extends Handler
return false;
}
}
- else
- {
- $module_info = null;
- }
// Get module info from mid.
if(!$module_info && $this->mid)
{
$module_info = ModuleModel::getModuleInfoByMid($this->mid);
- if($module_info && isset($module_info->domain_srl) && $module_info->domain_srl > -1)
+ }
+
+ // If the module does not belong to the current domain, throw a 404.
+ if($module_info && isset($module_info->domain_srl) && $module_info->domain_srl > -1)
+ {
+ if($module_info->domain_srl != $site_module_info->domain_srl)
{
- if($module_info->domain_srl != $site_module_info->domain_srl)
- {
- $this->error = 'msg_module_is_not_exists';
- $this->httpStatusCode = 404;
- return true;
- }
+ $this->error = 'msg_module_is_not_exists';
+ $this->httpStatusCode = 404;
+ return true;
}
}
@@ -783,6 +788,14 @@ class ModuleHandler extends Handler
}
}
+ // Redirect if a member action is requested with an unnecessary document_srl. (For backward compatibility)
+ if(preg_match('/^disp(Member|Communication)/', $this->act))
+ {
+ Context::setCacheControl(0);
+ header('Location: ' . getNotEncodedUrl('document_srl', null), true, 301);
+ return false;
+ }
+
// Remove module info if a different module has already been selected for the current request.
if($this->module && $module_info->module !== $this->module)
{
diff --git a/common/constants.php b/common/constants.php
index 9a11bed4a..341009623 100644
--- a/common/constants.php
+++ b/common/constants.php
@@ -3,7 +3,7 @@
/**
* RX_VERSION is the version number of the Rhymix CMS.
*/
-define('RX_VERSION', '2.1.26');
+define('RX_VERSION', '2.1.27');
/**
* RX_MICROTIME is the startup time of the current script, in microseconds since the Unix epoch.
diff --git a/common/framework/parsers/DBQueryParser.php b/common/framework/parsers/DBQueryParser.php
index ecbf7d958..898e90a41 100644
--- a/common/framework/parsers/DBQueryParser.php
+++ b/common/framework/parsers/DBQueryParser.php
@@ -175,9 +175,10 @@ class DBQueryParser extends BaseParser
foreach ($xml->groups->children() as $tag)
{
$name = $tag->getName();
+ $ifvar = trim($tag['if'] ?? '') ?: null;
if ($name === 'group')
{
- $query->groupby->columns[] = trim($tag['column'] ?? '');
+ $query->groupby->columns[] = [trim($tag['column'] ?? ''), $ifvar];
}
elseif ($name === 'having')
{
diff --git a/common/framework/parsers/dbquery/Query.php b/common/framework/parsers/dbquery/Query.php
index 6a0a71170..34e680bef 100644
--- a/common/framework/parsers/dbquery/Query.php
+++ b/common/framework/parsers/dbquery/Query.php
@@ -222,6 +222,14 @@ class Query extends VariableBase
$columns = array();
foreach ($this->groupby->columns as $column_name)
{
+ if (is_array($column_name))
+ {
+ list($column_name, $ifvar) = $column_name;
+ if ($ifvar && empty($this->_args[$ifvar]))
+ {
+ continue;
+ }
+ }
if (self::isValidColumnName($column_name))
{
$columns[] = self::quoteName($column_name);
diff --git a/common/framework/parsers/template/TemplateParser_v1.php b/common/framework/parsers/template/TemplateParser_v1.php
index 5c97346d3..a2ab34197 100644
--- a/common/framework/parsers/template/TemplateParser_v1.php
+++ b/common/framework/parsers/template/TemplateParser_v1.php
@@ -278,7 +278,7 @@ class TemplateParser_v1
$skip = sprintf('(?!%s)', implode('|', ['marquee']));
$split_regex = "@(?{$skip}[a-zA-Z](?>[^<>{}\"]+|.*?|{[^}]*}|\"(?>'.*?'|.)*?\"|.)*?>)@s";
- $nodes = preg_split($split_regex, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
+ $nodes = preg_split($split_regex, $content, -1, PREG_SPLIT_DELIM_CAPTURE) ?: [];
for($idx = 1, $node_len = count($nodes); $idx < $node_len; $idx+=2)
{
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php
index f078d6d7c..95b693aea 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php
@@ -106,7 +106,7 @@ class Swift_Encoder_QpEncoder implements Swift_Encoder
* @param Swift_CharacterStream $charStream to use for reading characters
* @param Swift_StreamFilter $filter if input should be canonicalized
*/
- public function __construct(Swift_CharacterStream $charStream, Swift_StreamFilter $filter = null)
+ public function __construct(Swift_CharacterStream $charStream, ?Swift_StreamFilter $filter = null)
{
$this->charStream = $charStream;
if (!isset(self::$safeMapShare[$this->getSafeMapShareId()])) {
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache.php
index 87f6a0742..3a000523c 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache.php
@@ -56,7 +56,7 @@ interface Swift_KeyCache
*
* @return Swift_InputByteStream
*/
- public function getInputByteStream($nsKey, $itemKey, Swift_InputByteStream $is = null);
+ public function getInputByteStream($nsKey, $itemKey, ?Swift_InputByteStream $is = null);
/**
* Get data back out of the cache as a string.
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/ArrayKeyCache.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/ArrayKeyCache.php
index e8fef1c95..44765b768 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/ArrayKeyCache.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/ArrayKeyCache.php
@@ -105,7 +105,7 @@ class Swift_KeyCache_ArrayKeyCache implements Swift_KeyCache
*
* @return Swift_InputByteStream
*/
- public function getInputByteStream($nsKey, $itemKey, Swift_InputByteStream $writeThrough = null)
+ public function getInputByteStream($nsKey, $itemKey, ?Swift_InputByteStream $writeThrough = null)
{
$is = clone $this->stream;
$is->setKeyCache($this);
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php
index 33b6367cb..3e158273f 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php
@@ -128,7 +128,7 @@ class Swift_KeyCache_DiskKeyCache implements Swift_KeyCache
*
* @return Swift_InputByteStream
*/
- public function getInputByteStream($nsKey, $itemKey, Swift_InputByteStream $writeThrough = null)
+ public function getInputByteStream($nsKey, $itemKey, ?Swift_InputByteStream $writeThrough = null)
{
$is = clone $this->stream;
$is->setKeyCache($this);
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/NullKeyCache.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/NullKeyCache.php
index 957b1b2a0..6bddd9ec1 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/NullKeyCache.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/NullKeyCache.php
@@ -52,7 +52,7 @@ class Swift_KeyCache_NullKeyCache implements Swift_KeyCache
*
* @return Swift_InputByteStream
*/
- public function getInputByteStream($nsKey, $itemKey, Swift_InputByteStream $writeThrough = null)
+ public function getInputByteStream($nsKey, $itemKey, ?Swift_InputByteStream $writeThrough = null)
{
}
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php
index 03bab481e..8dd3e2bb1 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php
@@ -49,7 +49,7 @@ class Swift_KeyCache_SimpleKeyCacheInputStream implements Swift_KeyCache_KeyCach
* @param string $bytes
* @param Swift_InputByteStream $is optional
*/
- public function write($bytes, Swift_InputByteStream $is = null)
+ public function write($bytes, ?Swift_InputByteStream $is = null)
{
$this->keyCache->setString(
$this->nsKey, $this->itemKey, $bytes, Swift_KeyCache::MODE_APPEND
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php
index 465ffd878..2c8a5760e 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php
@@ -24,7 +24,7 @@ class Swift_Mime_ContentEncoder_QpContentEncoder extends Swift_Encoder_QpEncoder
* @param Swift_StreamFilter $filter if canonicalization should occur
* @param bool $dotEscape if dot stuffing workaround must be enabled
*/
- public function __construct(Swift_CharacterStream $charStream, Swift_StreamFilter $filter = null, $dotEscape = false)
+ public function __construct(Swift_CharacterStream $charStream, ?Swift_StreamFilter $filter = null, $dotEscape = false)
{
$this->dotEscape = $dotEscape;
parent::__construct($charStream, $filter);
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php
index 25740d115..66dfeacd3 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php
@@ -200,7 +200,7 @@ abstract class Swift_Mime_Headers_AbstractHeader implements Swift_Mime_Header
*
* @return string
*/
- protected function createPhrase(Swift_Mime_Header $header, $string, $charset, Swift_Mime_HeaderEncoder $encoder = null, $shorten = false)
+ protected function createPhrase(Swift_Mime_Header $header, $string, $charset, ?Swift_Mime_HeaderEncoder $encoder = null, $shorten = false)
{
// Treat token as exactly what was given
$phraseStr = $string;
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php
index 4fcdff418..fd5b4b20f 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php
@@ -42,7 +42,7 @@ class Swift_Mime_Headers_IdentificationHeader extends Swift_Mime_Headers_Abstrac
*
* @param string $name
*/
- public function __construct($name, EmailValidator $emailValidator, Swift_AddressEncoder $addressEncoder = null)
+ public function __construct($name, EmailValidator $emailValidator, ?Swift_AddressEncoder $addressEncoder = null)
{
$this->setFieldName($name);
$this->emailValidator = $emailValidator;
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php
index ddd5e8cff..f6e3989c9 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php
@@ -39,7 +39,7 @@ class Swift_Mime_Headers_MailboxHeader extends Swift_Mime_Headers_AbstractHeader
*
* @param string $name of Header
*/
- public function __construct($name, Swift_Mime_HeaderEncoder $encoder, EmailValidator $emailValidator, Swift_AddressEncoder $addressEncoder = null)
+ public function __construct($name, Swift_Mime_HeaderEncoder $encoder, EmailValidator $emailValidator, ?Swift_AddressEncoder $addressEncoder = null)
{
$this->setFieldName($name);
$this->setEncoder($encoder);
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php
index 47c15e6c0..30e2096d8 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php
@@ -41,7 +41,7 @@ class Swift_Mime_Headers_ParameterizedHeader extends Swift_Mime_Headers_Unstruct
*
* @param string $name
*/
- public function __construct($name, Swift_Mime_HeaderEncoder $encoder, Swift_Encoder $paramEncoder = null)
+ public function __construct($name, Swift_Mime_HeaderEncoder $encoder, ?Swift_Encoder $paramEncoder = null)
{
parent::__construct($name, $encoder);
$this->paramEncoder = $paramEncoder;
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php
index 81b421ee7..4261d6865 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php
@@ -39,7 +39,7 @@ class Swift_Mime_Headers_PathHeader extends Swift_Mime_Headers_AbstractHeader
*
* @param string $name
*/
- public function __construct($name, EmailValidator $emailValidator, Swift_AddressEncoder $addressEncoder = null)
+ public function __construct($name, EmailValidator $emailValidator, ?Swift_AddressEncoder $addressEncoder = null)
{
$this->setFieldName($name);
$this->emailValidator = $emailValidator;
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php
index ab3ce6b19..4e3740310 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php
@@ -37,7 +37,7 @@ class Swift_Mime_SimpleHeaderFactory implements Swift_Mime_CharsetObserver
*
* @param string|null $charset
*/
- public function __construct(Swift_Mime_HeaderEncoder $encoder, Swift_Encoder $paramEncoder, EmailValidator $emailValidator, $charset = null, Swift_AddressEncoder $addressEncoder = null)
+ public function __construct(Swift_Mime_HeaderEncoder $encoder, Swift_Encoder $paramEncoder, EmailValidator $emailValidator, $charset = null, ?Swift_AddressEncoder $addressEncoder = null)
{
$this->encoder = $encoder;
$this->paramEncoder = $paramEncoder;
@@ -72,7 +72,7 @@ class Swift_Mime_SimpleHeaderFactory implements Swift_Mime_CharsetObserver
*
* @return Swift_Mime_Header
*/
- public function createDateHeader($name, DateTimeInterface $dateTime = null)
+ public function createDateHeader($name, ?DateTimeInterface $dateTime = null)
{
$header = new Swift_Mime_Headers_DateHeader($name);
if (isset($dateTime)) {
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php
index 5195bcf48..3af1a3e63 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php
@@ -76,7 +76,7 @@ class Swift_Mime_SimpleHeaderSet implements Swift_Mime_CharsetObserver
*
* @param string $name
*/
- public function addDateHeader($name, DateTimeInterface $dateTime = null)
+ public function addDateHeader($name, ?DateTimeInterface $dateTime = null)
{
$this->storeHeader($name, $this->factory->createDateHeader($name, $dateTime));
}
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/AntiFloodPlugin.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/AntiFloodPlugin.php
index 5b1d7deef..a9e75e88b 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/AntiFloodPlugin.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/AntiFloodPlugin.php
@@ -50,7 +50,7 @@ class Swift_Plugins_AntiFloodPlugin implements Swift_Events_SendListener, Swift_
* @param int $sleep time
* @param Swift_Plugins_Sleeper $sleeper (not needed really)
*/
- public function __construct($threshold = 99, $sleep = 0, Swift_Plugins_Sleeper $sleeper = null)
+ public function __construct($threshold = 99, $sleep = 0, ?Swift_Plugins_Sleeper $sleeper = null)
{
$this->setThreshold($threshold);
$this->setSleepTime($sleep);
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ThrottlerPlugin.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ThrottlerPlugin.php
index 83d304492..b05ba8779 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ThrottlerPlugin.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ThrottlerPlugin.php
@@ -76,7 +76,7 @@ class Swift_Plugins_ThrottlerPlugin extends Swift_Plugins_BandwidthMonitorPlugin
* @param Swift_Plugins_Sleeper $sleeper (only needed in testing)
* @param Swift_Plugins_Timer $timer (only needed in testing)
*/
- public function __construct($rate, $mode = self::BYTES_PER_MINUTE, Swift_Plugins_Sleeper $sleeper = null, Swift_Plugins_Timer $timer = null)
+ public function __construct($rate, $mode = self::BYTES_PER_MINUTE, ?Swift_Plugins_Sleeper $sleeper = null, ?Swift_Plugins_Timer $timer = null)
{
$this->rate = $rate;
$this->mode = $mode;
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php
index d2dbd7a66..80800ede2 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php
@@ -46,7 +46,7 @@ abstract class Swift_Transport_AbstractSmtpTransport implements Swift_Transport
*
* @param string $localDomain
*/
- public function __construct(Swift_Transport_IoBuffer $buf, Swift_Events_EventDispatcher $dispatcher, $localDomain = '127.0.0.1', Swift_AddressEncoder $addressEncoder = null)
+ public function __construct(Swift_Transport_IoBuffer $buf, Swift_Events_EventDispatcher $dispatcher, $localDomain = '127.0.0.1', ?Swift_AddressEncoder $addressEncoder = null)
{
$this->buffer = $buf;
$this->eventDispatcher = $dispatcher;
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php
index 36545f51f..dc0487ebb 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php
@@ -51,7 +51,7 @@ class Swift_Transport_EsmtpTransport extends Swift_Transport_AbstractSmtpTranspo
* @param Swift_Transport_EsmtpHandler[] $extensionHandlers
* @param string $localDomain
*/
- public function __construct(Swift_Transport_IoBuffer $buf, array $extensionHandlers, Swift_Events_EventDispatcher $dispatcher, $localDomain = '127.0.0.1', Swift_AddressEncoder $addressEncoder = null)
+ public function __construct(Swift_Transport_IoBuffer $buf, array $extensionHandlers, Swift_Events_EventDispatcher $dispatcher, $localDomain = '127.0.0.1', ?Swift_AddressEncoder $addressEncoder = null)
{
parent::__construct($buf, $dispatcher, $localDomain, $addressEncoder);
$this->setExtensionHandlers($extensionHandlers);
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php
index 65a434d11..4b0e83d10 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php
@@ -36,7 +36,7 @@ class Swift_Transport_SendmailTransport extends Swift_Transport_AbstractSmtpTran
*
* @param string $localDomain
*/
- public function __construct(Swift_Transport_IoBuffer $buf, Swift_Events_EventDispatcher $dispatcher, $localDomain = '127.0.0.1', Swift_AddressEncoder $addressEncoder = null)
+ public function __construct(Swift_Transport_IoBuffer $buf, Swift_Events_EventDispatcher $dispatcher, $localDomain = '127.0.0.1', ?Swift_AddressEncoder $addressEncoder = null)
{
parent::__construct($buf, $dispatcher, $localDomain, $addressEncoder);
}
diff --git a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SpoolTransport.php b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SpoolTransport.php
index 0cb6a5b80..d32a9ccdb 100644
--- a/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SpoolTransport.php
+++ b/common/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SpoolTransport.php
@@ -24,7 +24,7 @@ class Swift_Transport_SpoolTransport implements Swift_Transport
/**
* Constructor.
*/
- public function __construct(Swift_Events_EventDispatcher $eventDispatcher, Swift_Spool $spool = null)
+ public function __construct(Swift_Events_EventDispatcher $eventDispatcher, ?Swift_Spool $spool = null)
{
$this->eventDispatcher = $eventDispatcher;
$this->spool = $spool;
diff --git a/modules/board/board.admin.controller.php b/modules/board/board.admin.controller.php
index c69742341..d1f0c329c 100644
--- a/modules/board/board.admin.controller.php
+++ b/modules/board/board.admin.controller.php
@@ -88,6 +88,7 @@ class BoardAdminController extends Board {
$args->meta_description = trim(utf8_normalize_spaces($args->meta_description));
$args->header_text = Rhymix\Modules\Admin\Models\Utility::cleanHeaderAndFooterScripts($args->header_text ?? '');
$args->footer_text = Rhymix\Modules\Admin\Models\Utility::cleanHeaderAndFooterScripts($args->footer_text ?? '');
+ $args->admin_mail = implode(', ', array_map('trim', explode(',', $args->admin_mail ?? '')));
// if there is an existed module
if ($args->module_srl && $module_info->module_srl != $args->module_srl)
diff --git a/modules/board/board.controller.php b/modules/board/board.controller.php
index 766535f41..64ce66cb8 100644
--- a/modules/board/board.controller.php
+++ b/modules/board/board.controller.php
@@ -258,7 +258,7 @@ class BoardController extends Board
$oDocument->setGrantForSession();
// send an email to admin user
- if ($this->module_info->admin_mail && config('mail.default_from'))
+ if (isset($this->module_info->admin_mail) && $this->module_info->admin_mail && config('mail.default_from'))
{
$browser_title = Context::replaceUserLang($this->module_info->browser_title);
$mail_title = sprintf(lang('msg_document_notify_mail'), $browser_title, cut_str($obj->title, 20, '...'));
diff --git a/modules/board/lang/en.php b/modules/board/lang/en.php
index e5c95a83f..94247fb95 100644
--- a/modules/board/lang/en.php
+++ b/modules/board/lang/en.php
@@ -18,7 +18,7 @@ $lang->consultation = 'Consultation';
$lang->use_consultation = 'Use as Consultation Board';
$lang->secret = 'Secret';
$lang->thisissecret = 'This is a secret post.';
-$lang->admin_mail = 'Administrator\'s Mail';
+$lang->admin_mail = 'Administrator Mail';
$lang->update_log = 'Update Log';
$lang->last_updater = 'Latest Update by';
$lang->cmd_board_list = 'Boards List';
@@ -40,7 +40,7 @@ $lang->about_anonymous_name = 'You can customize the anonymous name that will be
$lang->about_board = 'This module is for creating and managing boards.';
$lang->about_consultation = 'Members who are not managers will only see their own posts.
When this feature is enabled, non-members cannot read or write any posts on this board.';
$lang->about_secret = 'Users will be able to write secret posts or comments.';
-$lang->about_admin_mail = 'A mail will be sent when a post or comment is submitted. Mails can be sent to mutiple mail addresses if connecting addresses with commas(,).';
+$lang->about_admin_mail = 'Send an e-mail when a new post or comment is submitted. Separate multiple recipients with a comma.';
$lang->about_list_config = 'If using list-style skin, you may arrange items to display. However, this feature might not be availble for non-official skins. If you double-click target items and display items, then you can add / remove them';
$lang->about_use_status = 'Please select status that can be selected when you write a post.';
$lang->about_protect_comment = 'Prevent updating or deleting a comment if it has children.';
diff --git a/modules/board/lang/ko.php b/modules/board/lang/ko.php
index 5f73c5afa..36155b9ae 100644
--- a/modules/board/lang/ko.php
+++ b/modules/board/lang/ko.php
@@ -40,7 +40,7 @@ $lang->about_anonymous_name = '익명 기능을 사용할 때 표시할 익명
$lang->about_board = '게시판을 생성하고 관리할 수 있습니다.';
$lang->about_consultation = '관리 권한이 없는 회원은 자신이 쓴 글만 보이도록 합니다.
상담 기능 사용시 비회원 글쓰기는 금지됩니다.';
$lang->about_secret = '게시판 및 댓글의 비밀글 기능을 사용할 수 있도록 합니다.';
-$lang->about_admin_mail = '글이나 댓글이 등록될때 등록된 메일주소로 메일이 발송됩니다. 콤마(,)로 연결시 다수의 메일주소로 발송할 수 있습니다.';
+$lang->about_admin_mail = '새 글이나 댓글이 등록되면 지정된 메일 주소로 알림을 받습니다. 여러 메일 주소를 지정하려면 쉼표(,)로 구분하세요.';
$lang->about_list_config = '게시판의 목록형식 사용시 원하는 항목들로 배치를 할 수 있습니다. 단 스킨에서 지원하지 않는 경우 불가능합니다. 대상항목/ 표시항목의 항목을 더블클릭하면 추가/ 제거가 됩니다.';
$lang->about_use_status = '글 작성 시 선택할 수 있는 상태를 지정해주세요.';
$lang->about_protect_comment = '댓글의 댓글이 있을경우 해당댓글을 삭제 및 수정을 할 수 없도록 합니다.';
diff --git a/modules/board/tpl/board_insert.html b/modules/board/tpl/board_insert.html
index f66a1d6e3..0478aa728 100644
--- a/modules/board/tpl/board_insert.html
+++ b/modules/board/tpl/board_insert.html
@@ -68,8 +68,6 @@
- {$lang->help}
-
{$lang->about_layout}
{$lang->about_module_category}
+{$lang->about_module_category}
{$lang->about_description}
{$obj->manager_message}
-{$obj->manager_message}
+