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) {