mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-11 09:35:00 +00:00
use new method sendNewDocumentMail() to send notification mail
This commit is contained in:
parent
e436e7fb05
commit
423f42c1f4
|
@ -376,105 +376,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
|
|||
} else {
|
||||
// Send notification to subscribers of folder.
|
||||
if($notifier) {
|
||||
$fnl = $folder->getNotifyList();
|
||||
$dnl = $document->getNotifyList();
|
||||
$nl = array(
|
||||
'users'=>array_unique(array_merge($dnl['users'], $fnl['users']), SORT_REGULAR),
|
||||
'groups'=>array_unique(array_merge($dnl['groups'], $fnl['groups']), SORT_REGULAR)
|
||||
);
|
||||
|
||||
$subject = "new_document_email_subject";
|
||||
$message = "new_document_email_body";
|
||||
$params = array();
|
||||
$params['name'] = $name;
|
||||
$params['folder_name'] = $folder->getName();
|
||||
$params['folder_path'] = $folder->getFolderPathPlain();
|
||||
$params['username'] = $user->getFullName();
|
||||
$params['comment'] = $comment;
|
||||
$params['version_comment'] = $version_comment;
|
||||
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
|
||||
$params['sitename'] = $settings->_siteName;
|
||||
$params['http_root'] = $settings->_httpRoot;
|
||||
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
|
||||
foreach ($nl["groups"] as $grp) {
|
||||
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
|
||||
}
|
||||
|
||||
/* Get workflow from controller in case it was modified in a hook */
|
||||
$workflow = $controller->getParam('workflow');
|
||||
if($workflow && $settings->_enableNotificationWorkflow) {
|
||||
$subject = "request_workflow_action_email_subject";
|
||||
$message = "request_workflow_action_email_body";
|
||||
$params = array();
|
||||
$params['name'] = $document->getName();
|
||||
$params['version'] = $reqversion;
|
||||
$params['workflow'] = $workflow->getName();
|
||||
$params['folder_path'] = $folder->getFolderPathPlain();
|
||||
$params['current_state'] = $workflow->getInitState()->getName();
|
||||
$params['username'] = $user->getFullName();
|
||||
$params['sitename'] = $settings->_siteName;
|
||||
$params['http_root'] = $settings->_httpRoot;
|
||||
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
|
||||
|
||||
foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) {
|
||||
foreach($ntransition->getUsers() as $tuser) {
|
||||
$notifier->toIndividual($user, $tuser->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_WORKFLOW);
|
||||
}
|
||||
foreach($ntransition->getGroups() as $tuser) {
|
||||
$notifier->toGroup($user, $tuser->getGroup(), $subject, $message, $params, SeedDMS_NotificationService::RECV_WORKFLOW);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($settings->_enableNotificationAppRev) {
|
||||
/* Reviewers and approvers will be informed about the new document */
|
||||
/* Get reviewers and approvers from controller in case it was
|
||||
* modified in a hook
|
||||
*/
|
||||
$reviewers = $controller->getParam('reviewers');
|
||||
$approvers = $controller->getParam('approvers');
|
||||
if($reviewers['i'] || $reviewers['g']) {
|
||||
$subject = "review_request_email_subject";
|
||||
$message = "review_request_email_body";
|
||||
$params = array();
|
||||
$params['name'] = $document->getName();
|
||||
$params['folder_path'] = $folder->getFolderPathPlain();
|
||||
$params['version'] = $reqversion;
|
||||
$params['comment'] = $comment;
|
||||
$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;
|
||||
|
||||
foreach($reviewers['i'] as $reviewerid) {
|
||||
$notifier->toIndividual($user, $dms->getUser($reviewerid), $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
|
||||
}
|
||||
foreach($reviewers['g'] as $reviewergrpid) {
|
||||
$notifier->toGroup($user, $dms->getGroup($reviewergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
|
||||
}
|
||||
}
|
||||
|
||||
elseif($approvers['i'] || $approvers['g']) {
|
||||
$subject = "approval_request_email_subject";
|
||||
$message = "approval_request_email_body";
|
||||
$params = array();
|
||||
$params['name'] = $document->getName();
|
||||
$params['folder_path'] = $folder->getFolderPathPlain();
|
||||
$params['version'] = $reqversion;
|
||||
$params['comment'] = $comment;
|
||||
$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;
|
||||
|
||||
foreach($approvers['i'] as $approverid) {
|
||||
$notifier->toIndividual($user, $dms->getUser($approverid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
|
||||
}
|
||||
foreach($approvers['g'] as $approvergrpid) {
|
||||
$notifier->toGroup($user, $dms->getGroup($approvergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
|
||||
}
|
||||
}
|
||||
}
|
||||
$notifier->sendNewDocumentMail($document, $user);
|
||||
}
|
||||
if($settings->_removeFromDropFolder) {
|
||||
if(file_exists($userfiletmp)) {
|
||||
|
|
103
op/op.Ajax.php
103
op/op.Ajax.php
|
@ -64,7 +64,7 @@ if (isset($_COOKIE["mydms_session"])) {
|
|||
}
|
||||
|
||||
global $logger;
|
||||
$notifier = new SeedDMS_NotificationService($logger);
|
||||
$notifier = new SeedDMS_NotificationService($logger, $settings);
|
||||
if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
|
||||
foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) {
|
||||
if(method_exists($notificationObj, 'preAddService')) {
|
||||
|
@ -819,106 +819,7 @@ switch($command) {
|
|||
} else {
|
||||
// Send notification to subscribers of folder.
|
||||
if($notifier) {
|
||||
$fnl = $folder->getNotifyList();
|
||||
$dnl = $document->getNotifyList();
|
||||
$nl = array(
|
||||
'users'=>array_unique(array_merge($dnl['users'], $fnl['users']), SORT_REGULAR),
|
||||
'groups'=>array_unique(array_merge($dnl['groups'], $fnl['groups']), SORT_REGULAR)
|
||||
);
|
||||
|
||||
$subject = "new_document_email_subject";
|
||||
$message = "new_document_email_body";
|
||||
$params = array();
|
||||
$params['name'] = $name;
|
||||
$params['folder_name'] = $folder->getName();
|
||||
$params['folder_path'] = $folder->getFolderPathPlain();
|
||||
$params['username'] = $user->getFullName();
|
||||
$params['comment'] = '';
|
||||
$params['version_comment'] = '';
|
||||
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
|
||||
$params['sitename'] = $settings->_siteName;
|
||||
$params['http_root'] = $settings->_httpRoot;
|
||||
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
|
||||
foreach ($nl["groups"] as $grp) {
|
||||
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
|
||||
}
|
||||
|
||||
/* Get workflow from controller in case it was modified in a hook */
|
||||
$workflow = $controller->getParam('workflow');
|
||||
if($workflow && $settings->_enableNotificationWorkflow) {
|
||||
$subject = "request_workflow_action_email_subject";
|
||||
$message = "request_workflow_action_email_body";
|
||||
$params = array();
|
||||
$params['name'] = $document->getName();
|
||||
$params['version'] = 1;
|
||||
$params['workflow'] = $workflow->getName();
|
||||
$params['folder_path'] = $folder->getFolderPathPlain();
|
||||
$params['current_state'] = $workflow->getInitState()->getName();
|
||||
$params['username'] = $user->getFullName();
|
||||
$params['sitename'] = $settings->_siteName;
|
||||
$params['http_root'] = $settings->_httpRoot;
|
||||
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
|
||||
|
||||
foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) {
|
||||
foreach($ntransition->getUsers() as $tuser) {
|
||||
$notifier->toIndividual($user, $tuser->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_WORKFLOW);
|
||||
}
|
||||
foreach($ntransition->getGroups() as $tuser) {
|
||||
$notifier->toGroup($user, $tuser->getGroup(), $subject, $message, $params, SeedDMS_NotificationService::RECV_WORKFLOW);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($settings->_enableNotificationAppRev) {
|
||||
/* Reviewers and approvers will be informed about the new document */
|
||||
/* Get reviewers and approvers from controller in case it was
|
||||
* modified in a hook
|
||||
*/
|
||||
$reviewers = $controller->getParam('reviewers');
|
||||
$approvers = $controller->getParam('approvers');
|
||||
if($reviewers['i'] || $reviewers['g']) {
|
||||
$subject = "review_request_email_subject";
|
||||
$message = "review_request_email_body";
|
||||
$params = array();
|
||||
$params['name'] = $document->getName();
|
||||
$params['folder_path'] = $folder->getFolderPathPlain();
|
||||
$params['version'] = 1;
|
||||
$params['comment'] = '';
|
||||
$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;
|
||||
|
||||
foreach($reviewers['i'] as $reviewerid) {
|
||||
$notifier->toIndividual($user, $dms->getUser($reviewerid), $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
|
||||
}
|
||||
foreach($reviewers['g'] as $reviewergrpid) {
|
||||
$notifier->toGroup($user, $dms->getGroup($reviewergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
|
||||
}
|
||||
}
|
||||
|
||||
elseif($approvers['i'] || $approvers['g']) {
|
||||
$subject = "approval_request_email_subject";
|
||||
$message = "approval_request_email_body";
|
||||
$params = array();
|
||||
$params['name'] = $document->getName();
|
||||
$params['folder_path'] = $folder->getFolderPathPlain();
|
||||
$params['version'] = 1;
|
||||
$params['comment'] = '';
|
||||
$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;
|
||||
|
||||
foreach($approvers['i'] as $approverid) {
|
||||
$notifier->toIndividual($user, $dms->getUser($approverid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
|
||||
}
|
||||
foreach($approvers['g'] as $approvergrpid) {
|
||||
$notifier->toGroup($user, $dms->getGroup($approvergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$notifier->sendNewDocumentMail($document, $user);
|
||||
}
|
||||
}
|
||||
header('Content-Type: application/json');
|
||||
|
|
Loading…
Reference in New Issue
Block a user