move notification mail into notification service

This commit is contained in:
Uwe Steinmann 2021-05-18 17:39:14 +02:00
parent 040793034b
commit 97c001acbe
3 changed files with 99 additions and 102 deletions

View File

@ -678,28 +678,98 @@ class SeedDMS_NotificationService {
public function sendChangedDocumentStatusMail($document, $user, $oldstatus) { /* {{{ */
$content = $document->getLatestContent();
$overallStatus = $content->getStatus();
$nl = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "document_status_changed_email_subject";
$message = "document_status_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['status'] = getOverallStatusText($overallStatus["status"]);
$params['old_status'] = getOverallStatusText($oldstatus);
$params['new_status_code'] = $overallStatus["status"];
$params['old_status_code'] = $oldstatus;
$params['username'] = $user->getFullName();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$this->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$this->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$overallStatus = $content->getStatus();
$nl = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "document_status_changed_email_subject";
$message = "document_status_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['status'] = getOverallStatusText($overallStatus["status"]);
$params['old_status'] = getOverallStatusText($oldstatus);
$params['new_status_code'] = $overallStatus["status"];
$params['old_status_code'] = $oldstatus;
$params['username'] = $user->getFullName();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$this->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$this->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
// $notifier->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
// $notifier->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
} /* }}} */
public function sendNewDocumentNotifyMail($document, $user, $obj) { /* {{{ */
$folder = $document->getFolder();
$subject = "notify_added_email_subject";
$message = "notify_added_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
if($obj->isType('user'))
$this->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
elseif($obj->isType('group'))
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
} /* }}} */
public function sendNewFolderNotifyMail($folder, $user, $obj) { /* {{{ */
$subject = "notify_added_email_subject";
$message = "notify_added_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
if($obj->isType('user'))
$this->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
elseif($obj->isType('group'))
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
} /* }}} */
public function sendDeleteDocumentNotifyMail($document, $user, $obj) { /* {{{ */
$folder = $document->getFolder();
$subject = "notify_deleted_email_subject";
$message = "notify_deleted_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
if($obj->isType('user'))
$this->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
elseif($obj->isType('group'))
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
} /* }}} */
public function sendDeleteFolderNotifyMail($folder, $user, $obj) { /* {{{ */
$subject = "notify_deleted_email_subject";
$message = "notify_deleted_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
if($obj->isType('user'))
$this->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
elseif($obj->isType('group'))
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
} /* }}} */
}

View File

@ -94,7 +94,7 @@ if ($action == "delnotify"){
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
break;
case -3:
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("already_subscribed"));
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("not_subscribed"));
break;
case -4:
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("internal_error"));
@ -102,22 +102,7 @@ if ($action == "delnotify"){
case 0:
// Email user / group, informing them of subscription change.
if($notifier) {
$subject = "notify_deleted_email_subject";
$message = "notify_deleted_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
if ($userid > 0) {
$notifier->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
else {
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$notifier->sendDeleteFolderNotifyMail($folder, $user, $obj);
}
break;
}
@ -145,17 +130,7 @@ else if ($action == "addnotify") {
// Email user / group, informing them of subscription.
if ($notifier){
$obj = $dms->getUser($userid);
$subject = "notify_added_email_subject";
$message = "notify_added_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
$notifier->sendNewDocumentNotifyMail($document, $user, $obj);
}
break;
@ -179,17 +154,7 @@ else if ($action == "addnotify") {
case 0:
if ($notifier){
$obj = $dms->getGroup($groupid);
$subject = "notify_added_email_subject";
$message = "notify_added_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
$notifier->sendNewDocumentNotifyMail($document, $user, $obj);
}
break;
}

View File

@ -89,30 +89,14 @@ if ($action == "delnotify") {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("access_denied"));
break;
case -3:
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("already_subscribed"));
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("not_subscribed"));
break;
case -4:
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("internal_error"));
break;
case 0:
if($notifier) {
// Email user / group, informing them of subscription.
$subject = "notify_deleted_email_subject";
$message = "notify_deleted_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
if ($userid > 0) {
$notifier->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
else {
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$notifier->sendDeleteFolderNotifyMail($folder, $user, $obj);
}
break;
}
@ -139,18 +123,7 @@ else if ($action == "addnotify") {
case 0:
if($notifier) {
$obj = $dms->getUser($userid);
// Email user / group, informing them of subscription.
$subject = "notify_added_email_subject";
$message = "notify_added_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
$notifier->sendNewFolderNotifyMail($folder, $user, $obj);
}
break;
@ -174,18 +147,7 @@ else if ($action == "addnotify") {
case 0:
if($notifier) {
$obj = $dms->getGroup($groupid);
// Email user / group, informing them of subscription.
$subject = "notify_added_email_subject";
$message = "notify_added_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
$notifier->sendNewFolderNotifyMail($folder, $user, $obj);
}
break;
}