diff --git a/src/web/module/maestro_section_help.html b/src/web/module/maestro_section_help.html
index 5a17cea..0d06438 100644
--- a/src/web/module/maestro_section_help.html
+++ b/src/web/module/maestro_section_help.html
@@ -103,33 +103,6 @@ $(document).ready(function() {
-
-
-
-
-
-
-
-
-
-
- -
- 마에스트로 계정 유효 기간이 30일 남았을 때부터 계정 연장 화면이 나타납니다.
- (유효 기간이 30일 넘게 남았을 때는 안보입니다)
-
- - 화면 상단에 유효 기간 연장 화면이 보이면, 오른쪽의 계정 연장 버튼을 눌러주세요.
-
-
-
-
-
-
-
-
@@ -146,7 +119,7 @@ $(document).ready(function() {
- 화면 상단 오른쪽의 업그레이드 버튼을 눌러주세요.
- 모든 요금제의 기능은 동일합니다. 요금제에 따라 최대 등록 학생수만 늘어납니다.
- - 기존 요금제의 남은 유효 기간과 상관 없이, 업그레이드 날짜로부터 다시 1년동안 사용하실 수 있습니다.
+ - 기존 요금제의 남은 유효기간과 상관 없이, 업그레이드 날짜로부터 다시 1년동안 사용하실 수 있습니다.
-
높은 요금제로 올릴 수는 있지만, 낮은 요금제로 내릴 수는 없습니다.
(현재 계정을 취소하여 남은 기간만큼 환불받고, 새로운 계정을 신청하세요)
@@ -159,6 +132,33 @@ $(document).ready(function() {
+
+
+
+
+
+
+
+
+
+
+ -
+ 마에스트로 계정 유효기간이 30일 남았을 때부터 계정 유효기간 연장 화면이 나타납니다.
+ (유효기간이 30일 넘게 남았을 때는 안보입니다)
+
+ - 화면 상단에 유효기간 연장 화면이 보이면, 오른쪽의 유효기간 연장 버튼을 눌러주세요.
+
+
+
+
+
+
+
+
diff --git a/src/web/module/maestro_section_main.html b/src/web/module/maestro_section_main.html
index d6c81d0..10e9562 100644
--- a/src/web/module/maestro_section_main.html
+++ b/src/web/module/maestro_section_main.html
@@ -50,7 +50,7 @@ function showEndDate(date) {
var endDay = new Date(endDate);
var diffDay = getDiffDay(endDay, today);
- $("#maestro_count_down_date").html("유효 기간 : ~ " + endDate + " (남은 기간 : " + Math.ceil(diffDay) + "일)");
+ $("#maestro_count_down_date").html("유효기간 : ~ " + endDate + " (남은 기간 : " + Math.ceil(diffDay) + "일)");
if(diffDay < 30)
$("#countdown_day").addClass("text-danger");
else if(diffDay < 10)
@@ -74,9 +74,9 @@ function showMaestroExtensionMessage(maestroName, date) {
return;
$("#maestro_extension").removeClass("d-none");
- var message = "" + maestroName + " 계정의 유효 기간이 얼마 남지 않았습니다.
1년 더 사용을 원하신다면 우측의 [계정 연장] 버튼을 눌러주세요.";
+ var message = "" + maestroName + " 계정의 유효기간이 얼마 남지 않았습니다.
1년 더 사용을 원하신다면 우측의 [유효기간 연장] 버튼을 눌러주세요.";
if(diffDay < 0)
- message = "" + maestroName + " 계정의 유효 기간이 지났습니다. 등록된 학생들의 정보는 유지되지만, 로그인이 제한됩니다.
계정 연장을 하시면 다시 로그인하고 사용할 수 있게 됩니다.";
+ message = "" + maestroName + " 계정의 유효기간이 지났습니다. 등록된 학생들의 정보는 유지되지만, 로그인이 제한됩니다.
유효기간 연장을 하시면 다시 로그인하고 사용할 수 있게 됩니다.";
$("#maestro_extension_message").html(message);
}
@@ -205,7 +205,7 @@ function showModal(popupModalID, popupContentID, contentFileName) {
message
diff --git a/src/web/php/send_mail_to_30days_left_maestro.php b/src/web/php/send_mail_to_30days_left_maestro.php
new file mode 100644
index 0000000..d3665dd
--- /dev/null
+++ b/src/web/php/send_mail_to_30days_left_maestro.php
@@ -0,0 +1,52 @@
+ $maestroName,
+ "available_date" => $registerDate
+);
+
+$recipientParam = array(
+ "maestro_name" => $maestroName
+);
+
+
+$nCloudSetting = new MailSetting();
+$chocomae = new ChocomaeInfo();
+
+$mailSender = new MailSender();
+$mailSender->setMailSetting($nCloudSetting);
+$mailSender->setSenderInfo($chocomae->sender_name, $chocomae->sender_email);
+
+$mailSender->makePostParam(333);
+$mailSender->setParameters($parameters);
+$mailSender->addRecipient($maestroEmail, $maestroName, "R", $recipientParam);
+$mailSender->addRecipient($chocomae->sender_bcc, $chocomae->sender_name, "B", $recipientParam);
+
+// $mailSender->showSettings();
+$mailSender->send();
+
+?>
diff --git a/src/web/php/send_mail_to_7days_left_maestro.php b/src/web/php/send_mail_to_7days_left_maestro.php
new file mode 100644
index 0000000..37db1dc
--- /dev/null
+++ b/src/web/php/send_mail_to_7days_left_maestro.php
@@ -0,0 +1,52 @@
+ $maestroName,
+ "available_date" => $registerDate
+);
+
+$recipientParam = array(
+ "maestro_name" => $maestroName
+);
+
+
+$nCloudSetting = new MailSetting();
+$chocomae = new ChocomaeInfo();
+
+$mailSender = new MailSender();
+$mailSender->setMailSetting($nCloudSetting);
+$mailSender->setSenderInfo($chocomae->sender_name, $chocomae->sender_email);
+
+$mailSender->makePostParam(691);
+$mailSender->setParameters($parameters);
+$mailSender->addRecipient($maestroEmail, $maestroName, "R", $recipientParam);
+$mailSender->addRecipient($chocomae->sender_bcc, $chocomae->sender_name, "B", $recipientParam);
+
+// $mailSender->showSettings();
+$mailSender->send();
+
+?>
diff --git a/src/web/python/chocomae/batch/expire_maestro_manager.py b/src/web/python/chocomae/batch/expire_maestro_manager.py
new file mode 100644
index 0000000..35b3bb7
--- /dev/null
+++ b/src/web/python/chocomae/batch/expire_maestro_manager.py
@@ -0,0 +1,21 @@
+from lib.database.db_manager import DBManager
+
+
+class ExpireMaestroManager:
+ db_params = None
+ db_man = None
+
+ def __init__(self, mode):
+ self.db_man = DBManager(mode)
+
+ def get_30days_left_maestro_list(self):
+ unpaid_30days_sql = 'select * from maestro \
+where DATE(AvailableActivateDateTime) - INTERVAL 30 DAY = DATE(NOW()) AND ActivateStatus = 1'
+ day30_maestro_list = self.db_man.select(unpaid_30days_sql)
+ return day30_maestro_list
+
+ def get_7days_left_maestro_list(self):
+ unpaid_7days_sql = 'select * from maestro \
+where DATE(AvailableActivateDateTime) - INTERVAL 7 DAY = DATE(NOW()) AND ActivateStatus = 1'
+ day7_maestro_list = self.db_man.select(unpaid_7days_sql)
+ return day7_maestro_list
\ No newline at end of file
diff --git a/src/web/python/chocomae/send_mail_to_expire_maestro.py b/src/web/python/chocomae/send_mail_to_expire_maestro.py
new file mode 100644
index 0000000..c44acca
--- /dev/null
+++ b/src/web/python/chocomae/send_mail_to_expire_maestro.py
@@ -0,0 +1,82 @@
+import sys
+from datetime import datetime
+import subprocess
+from batch.expire_maestro_manager import ExpireMaestroManager
+
+
+# print('# args : {}'.format(len(sys.argv)))
+# print('args : {}'.format(str(sys.argv)))
+mode = 'mac'
+arg_count = len(sys.argv)
+if arg_count > 1:
+ mode = str(sys.argv[1]).lower()
+
+
+def print_items(list):
+ for item in list:
+ print(item)
+
+
+def send_mail_30days_left(email, name, available_date):
+ filename = 'send_mail_to_30days_left_maestro.php'
+ path = ''
+ if mode == 'mac':
+ path = '/Applications/MAMP/htdocs/mouse_typing/src/web/php/'
+ else:
+ path = '/var/www/html/mouse_typing/src/web/php/'
+
+ command_send_mail = []
+ command_send_mail.append('/usr/bin/php')
+ command_send_mail.append(path + filename)
+ command_send_mail.append(email)
+ command_send_mail.append(name)
+ date = available_date.strftime('%Y%m%d')
+ command_send_mail.append(date)
+ # print(command_send_mail)
+
+ # command_move_dir = ['cd', path]
+ # print(command_move_dir)
+ # subprocess.call(command_move_dir)
+ # command_move_pwd = ['pwd']
+ # subprocess.call(command_move_pwd)
+ subprocess.call(command_send_mail)
+
+
+def send_mail_7days_left(email, name, available_date):
+ filename = 'send_mail_to_7days_left_maestro.php'
+ path = ''
+ if mode == 'mac':
+ path = '/Applications/MAMP/htdocs/mouse_typing/src/web/php/'
+ else:
+ path = '/var/www/html/mouse_typing/src/web/php/'
+
+ command_send_mail = []
+ command_send_mail.append('/usr/bin/php')
+ command_send_mail.append(path + filename)
+ command_send_mail.append(email)
+ command_send_mail.append(name)
+ date = available_date.strftime('%Y%m%d')
+ command_send_mail.append(date)
+ # print(command_send_mail)
+
+ # command_move_dir = ['cd', path]
+ # print(command_move_dir)
+ # subprocess.call(command_move_dir)
+ # command_move_pwd = ['pwd']
+ # subprocess.call(command_move_pwd)
+ subprocess.call(command_send_mail)
+
+
+# insert log and delete from DB
+# print("30 days left");
+expireMaestroMan = ExpireMaestroManager(mode)
+maestro_list = expireMaestroMan.get_30days_left_maestro_list()
+# print_items(maestro_list)
+for maestro in maestro_list:
+ send_mail_30days_left(maestro['Email'], maestro['Name'], maestro['AvailableActivateDateTime'])
+
+# print("\n7 days left");
+maestro_list = expireMaestroMan.get_7days_left_maestro_list()
+# print_items(maestro_list)
+for maestro in maestro_list:
+ send_mail_7days_left(maestro['Email'], maestro['Name'], maestro['AvailableActivateDateTime'])
diff --git a/src/web/server/maestro/login.php b/src/web/server/maestro/login.php
index 6937288..66dbb0c 100644
--- a/src/web/server/maestro/login.php
+++ b/src/web/server/maestro/login.php
@@ -30,12 +30,14 @@ if($loginData === null) {
set_error_message("마에스트로 계정이 아직 활성화되지 않았습니다.");
send_result_fail();
exit;
+ /*
} else if($loginData[activateStatus] === 1 && $date < $now) {
set_error_code("over_date");
$date = new DateTime($loginData[availableActivateDateTime]);
set_error_message("마에스트로 계정의 유효기간이 지났습니다. : ".$date->format("Y-m-d H:i:s"));
send_result_fail();
exit;
+*/
} else if($loginData[maestroID] === null) {
set_error_code("wrong_password");
set_error_message("비밀번호가 틀렸습니다.");