diff --git a/modules/editor/tpl/js/uploader.js b/modules/editor/tpl/js/uploader.js
index f9482dc55..f1a2d6f78 100755
--- a/modules/editor/tpl/js/uploader.js
+++ b/modules/editor/tpl/js/uploader.js
@@ -88,6 +88,11 @@ function start(cfg) {
uploaderStatusID : cfg.uploaderStatusID
};
+ if(typeof(enforce_ssl)!=="undefined" && enforce_ssl)
+ {
+ settings.upload_url = request_uri+'index.php';
+ };
+
// preview
$('#'+cfg.fileListAreaID).click(previewFiles);
diff --git a/modules/member/lang/lang.xml b/modules/member/lang/lang.xml
index 007d4847d..ba2b7eda5 100644
--- a/modules/member/lang/lang.xml
+++ b/modules/member/lang/lang.xml
@@ -2487,18 +2487,23 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
-
+
-
+ -
+
+
+
-
-
- 확인하지 않은 로그인 실패 기록이 있습니다.
%1$s
* 이 알림은 한번만 보입니다.
* 이 메시지는 쪽지와 이메일로 발송됩니다.
* 이 메시지는 로그인이 성공한 순간, 로그인 성공 이전 실패 기록을 모아서 발송합니다.
발송 시각: %2$s
]]>
- There is unfolded sign in failure report%1$s
* This notification is shown once.
* This message will be send to your email and message.
* This message contains sign in failure records, before a ID sign in success.
Sending: %2$s
]]>
+ 로그인 실패 기록을 알려드립니다.%1$s
* 비밀번호를 틀리는 등의 일이 없었는데 이 메시지를 보신다면, 계정 관리에 유의해주시기 바랍니다.
* 이 메시지는 로그인이 성공한 순간 누적 로그인 실패 기록이 많을 경우, 로그인 성공 이전 실패 기록을 모아서 발송합니다.
발송 시각: %2$s
]]>
+ There is recorded sign in failures.%1$s
* This notification is shown once.
* This message contains sign in failure records, before a ID sign in success.
Sending: %2$s
]]>
diff --git a/modules/member/member.class.php b/modules/member/member.class.php
index 537750851..8c3d9c4de 100644
--- a/modules/member/member.class.php
+++ b/modules/member/member.class.php
@@ -355,19 +355,20 @@
function recordLoginError($error = 0, $message = 'success')
{
if($error == 0) return new Object($error, $message);
+
+ // Create a member model object
+ $oMemberModel = &getModel('member');
+ $config = $oMemberModel->getMemberConfig();
+
// Check if there is recoding table.
$oDB = &DB::getInstance();
- if(!$oDB->isTableExists('member_login_count')) return new Object($error, $message);
-
+ if(!$oDB->isTableExists('member_login_count') || $config->enable_login_fail_report == 'N') return new Object($error, $message);
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
$output = executeQuery('member.getLoginCountByIp', $args);
if($output->data && $output->data->count)
{
- // Create a member model object
- $oMemberModel = &getModel('member');
- $config = $oMemberModel->getMemberConfig();
$last_update = strtotime($output->data->last_update);
$term = intval(time()-$last_update);
//update, if IP address access in a short time, update count. If not, make count 1.
@@ -398,10 +399,14 @@
function recordMemberLoginError($error = 0, $message = 'success', $args = NULL)
{
if($error == 0 || !$args->member_srl) return new Object($error, $message);
+
+ // Create a member model object
+ $oMemberModel = &getModel('member');
+ $config = $oMemberModel->getMemberConfig();
+
// Check if there is recoding table.
$oDB = &DB::getInstance();
- if(!$oDB->isTableExists('member_count_history')) return new Object($error, $message);
-
+ if(!$oDB->isTableExists('member_count_history') || $config->enable_login_fail_report == 'N') return new Object($error, $message);
$output = executeQuery('member.getLoginCountHistoryByMemberSrl', $args);
if($output->data && $output->data->content)
diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php
index 364c04ec9..0a9c81474 100644
--- a/modules/member/member.controller.php
+++ b/modules/member/member.controller.php
@@ -1555,37 +1555,45 @@
// Update the latest login time
$args->member_srl = $this->memberInfo->member_srl;
$output = executeQuery('member.updateLastLogin', $args);
- // check if there is login fail records.
- $output = executeQuery('member.getLoginCountHistoryByMemberSrl', $args);
- if($output->data && $output->data->content)
- {
- $title = Context::getLang('login_fail_report');
- $message = '
';
- $content = unserialize($output->data->content);
- foreach($content as $val)
- {
- $message .= '- '.date('Y-m-d H:i:s P',$val[2]).'
Access IP: '.$val[0].'
Message: '.$val[1].' ';
- }
- $message .= '
';
- $content = sprintf(Context::getLang('login_fail_report_contents'),$message,date('Y-m-d H:i:s P'));
- //send message
- $oCommunicationController = &getController('communication');
- $oCommunicationController->sendMessage($args->member_srl, $args->member_srl, $title, $content, true);
-
- if($this->memberInfo->email_address && $this->memberInfo->allow_mailing == 'Y')
+ // Check if there is recoding table.
+ $oDB = &DB::getInstance();
+ if($oDB->isTableExists('member_count_history') && $config->enable_login_fail_report != 'N')
+ {
+ // check if there is login fail records.
+ $output = executeQuery('member.getLoginCountHistoryByMemberSrl', $args);
+ if($output->data && $output->data->content)
{
- $view_url = Context::getRequestUri();
- $title = sprintf("%s @ %s",$title,$view_url);
- $content = sprintf("%s
From: %s
To: %s(%s)
",$content, $view_url, $view_url, $this->memberInfo->nick_name, $this->memberInfo->email_id);
- $oMail = new Mail();
- $oMail->setTitle($title);
- $oMail->setContent($content);
- $oMail->setSender($this->memberInfo->email_id.'('.$this->memberInfo->nick_name.')', $this->memberInfo->email_address);
- $oMail->setReceiptor($this->memberInfo->email_id.'('.$this->memberInfo->nick_name.')', $this->memberInfo->email_address);
- $oMail->send();
+ $title = Context::getLang('login_fail_report');
+ $message = '';
+ $content = unserialize($output->data->content);
+ if(count($content) > $config->max_error_count)
+ {
+ foreach($content as $val)
+ {
+ $message .= '- '.date('Y-m-d H:i:s P',$val[2]).'
Access IP: '.$val[0].'
Message: '.$val[1].' ';
+ }
+ $message .= '
';
+ $content = sprintf(Context::getLang('login_fail_report_contents'),$message,date('Y-m-d H:i:s P'));
+
+ //send message
+ $oCommunicationController = &getController('communication');
+ $oCommunicationController->sendMessage($args->member_srl, $args->member_srl, $title, $content, true);
+
+ if($this->memberInfo->email_address && $this->memberInfo->allow_mailing == 'Y')
+ {
+ $view_url = Context::getRequestUri();
+ $content = sprintf("%s
From: %s
To: %s(%s)
",$content, $view_url, $view_url, $this->memberInfo->nick_name, $this->memberInfo->email_id);
+ $oMail = new Mail();
+ $oMail->setTitle($title);
+ $oMail->setContent($content);
+ $oMail->setSender($config->webmaster_name?$config->webmaster_name:'webmaster', $config->webmaster_email);
+ $oMail->setReceiptor($this->memberInfo->email_id.'('.$this->memberInfo->nick_name.')', $this->memberInfo->email_address);
+ $oMail->send();
+ }
+ $output = executeQuery('member.deleteLoginCountHistoryByMemberSrl', $args);
+ }
}
- $output = executeQuery('member.deleteLoginCountHistoryByMemberSrl', $args);
}
// Call a trigger after successfully log-in (after)
$trigger_output = ModuleHandler::triggerCall('member.doLogin', 'after', $this->memberInfo);