diff --git a/inc/inc.ClassNotificationService.php b/inc/inc.ClassNotificationService.php index 62835bad4..3bc65319f 100644 --- a/inc/inc.ClassNotificationService.php +++ b/inc/inc.ClassNotificationService.php @@ -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); } /* }}} */ } diff --git a/op/op.DocumentNotify.php b/op/op.DocumentNotify.php index abcbf632e..9e061c247 100644 --- a/op/op.DocumentNotify.php +++ b/op/op.DocumentNotify.php @@ -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; } diff --git a/op/op.FolderNotify.php b/op/op.FolderNotify.php index f2dbca2ce..0390ab7b7 100644 --- a/op/op.FolderNotify.php +++ b/op/op.FolderNotify.php @@ -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; }