diff --git a/plugin/advancedsubscription/ajax/advsub.ajax.php b/plugin/advancedsubscription/ajax/advsub.ajax.php
index fcc4606fc8..da82a3969b 100644
--- a/plugin/advancedsubscription/ajax/advsub.ajax.php
+++ b/plugin/advancedsubscription/ajax/advsub.ajax.php
@@ -104,7 +104,19 @@ if (!empty($a) && !empty($u)) {
$res = $plugin->updateQueueStatus($data, ADV_SUB_QUEUE_STATUS_BOSS_APPROVED);
if (!empty($res)) {
$data['admin_view_url'] = api_get_path(WEB_PLUGIN_PATH) . 'advancedsubscription/src/admin_view.php?s=' . $s;
- $result['mails'] = $plugin->sendMail($data, ADV_SUB_ACTION_STUDENT_REQUEST_NO_BOSS);
+ $result['mailIds'] = $plugin->sendMail($data, ADV_SUB_ACTION_STUDENT_REQUEST_NO_BOSS);
+ if (!empty($result['mailIds'])) {
+ $result['error'] = false;
+ $result['errorMessage'] = 'No error';
+ $result['pass'] = true;
+ if (isset($result['mailIds']['render'])) {
+ // Render mail
+ $message = MessageManager::get_message_by_id($result['mailIds']['render']);
+ $message = str_replace(array('
', '
', '
'), '', $message['content']);
+ echo $message;
+ exit;
+ }
+ }
}
} else {
$dataUrl = array(
@@ -119,11 +131,20 @@ if (!empty($a) && !empty($u)) {
$dataUrl['e'] = ADV_SUB_QUEUE_STATUS_BOSS_DISAPPROVED;
$data['rejectUrl'] = api_get_path(WEB_PLUGIN_PATH) . 'advancedsubscription/ajax/advsub.ajax.php' .
'?data=' . $plugin->encrypt($dataUrl);
- $result['mails'] = $plugin->sendMail($data, ADV_SUB_ACTION_STUDENT_REQUEST);
+ $result['mailIds'] = $plugin->sendMail($data, ADV_SUB_ACTION_STUDENT_REQUEST);
+ if (!empty($result['mailIds'])) {
+ $result['error'] = false;
+ $result['errorMessage'] = 'No error';
+ $result['pass'] = true;
+ if (isset($result['mailIds']['render'])) {
+ // Render mail
+ $message = MessageManager::get_message_by_id($result['mailIds']['render']);
+ $message = str_replace(array('
', '
', '
'), '', $message['content']);
+ echo $message;
+ exit;
+ }
+ }
}
- $result['error'] = false;
- $result['errorMessage'] = 'No error';
- $result['pass'] = true;
} else {
if (is_string($res)) {
$result['errorMessage'] = $res;
@@ -201,6 +222,13 @@ if (!empty($a) && !empty($u)) {
if (!empty($result['mailIds'])) {
$result['error'] = false;
$result['errorMessage'] = 'User has been processed';
+ if (isset($result['mailIds']['render'])) {
+ // Render mail
+ $message = MessageManager::get_message_by_id($result['mailIds']['render']);
+ $message = str_replace(array('
', '
', '
'), '', $message['content']);
+ echo $message;
+ exit;
+ }
}
} else {
$result['errorMessage'] = 'User queue can not be updated';
diff --git a/plugin/advancedsubscription/src/AdvancedSubscriptionPlugin.class.php b/plugin/advancedsubscription/src/AdvancedSubscriptionPlugin.class.php
index ab873971b3..b36f7dc4e0 100644
--- a/plugin/advancedsubscription/src/AdvancedSubscriptionPlugin.class.php
+++ b/plugin/advancedsubscription/src/AdvancedSubscriptionPlugin.class.php
@@ -376,7 +376,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
switch ($actionType) {
case ADV_SUB_ACTION_STUDENT_REQUEST:
// Mail to student
- $mailIds[] = $this->sendMailMessage(
+ $mailIds['render'] = $this->sendMailMessage(
$data['u'],
$data['student']['user_id'],
$this->get_lang('MailStudentRequest'),
@@ -403,7 +403,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$data['s']
);
// Mail to superior
- $mailIds[] = $this->sendMailMessage(
+ $mailIds['render'] = $this->sendMailMessage(
$data['u'],
$data['superior']['user_id'],
$this->get_lang('MailStudentRequest'),
@@ -434,7 +434,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
true
);
// Mail to superior
- $mailIds[] = $this->sendMailMessage(
+ $mailIds['render'] = $this->sendMailMessage(
$data['u'],
$data['superior']['user_id'],
$this->get_lang('MailStudentRequest'),
@@ -452,7 +452,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$data['s']
);
// Mail to superior
- $mailIds[] = $this->sendMailMessage(
+ $mailIds['render'] = $this->sendMailMessage(
$data['u'],
$data['superior']['user_id'],
$this->get_lang('MailStudentRequest'),
@@ -489,6 +489,10 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$data['s'],
true
);
+ // Check for current user mail to render
+ if (isset($data['current_user']) && $data['current_user']['user_id'] == $adminId) {
+ $mailIds['render'] = end($mailIds);
+ }
}
break;
case ADV_SUB_ACTION_ADMIN_DISAPPROVE:
@@ -519,11 +523,15 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$tpl->fetch('/advancedsubscription/views/advsub_approval_admin_rejected_notice_admin.tpl'),
$data['s']
);
+ // Check for current user mail to render
+ if (isset($data['current_user']) && $data['current_user']['user_id'] == $adminId) {
+ $mailIds['render'] = end($mailIds);
+ }
}
break;
case ADV_SUB_ACTION_STUDENT_REQUEST_NO_BOSS:
// Mail to student
- $mailIds[] = $this->sendMailMessage(
+ $mailIds['render'] = $this->sendMailMessage(
$data['u'],
$data['student']['user_id'],
$this->get_lang('MailStudentRequest'),
diff --git a/plugin/advancedsubscription/src/admin_view.php b/plugin/advancedsubscription/src/admin_view.php
index a09b56aa6c..8c7caaadab 100644
--- a/plugin/advancedsubscription/src/admin_view.php
+++ b/plugin/advancedsubscription/src/admin_view.php
@@ -74,6 +74,7 @@ if (!empty($s)) {
$data = array(
'a' => 'confirm',
's' => $s,
+ 'current_user' => array('user_id' => api_get_user_id()),
);
foreach ($studentList['students'] as &$student) {