getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); } $documentid = $_GET["documentid"]; $document = $dms->getDocument($documentid); if (!is_object($document)) { UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); } if (!isset($_GET["action"]) || (strcasecmp($_GET["action"], "delnotify") && strcasecmp($_GET["action"],"addnotify"))) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_action")); } $action = $_GET["action"]; if (isset($_GET["userid"]) && (!is_numeric($_GET["userid"]) || $_GET["userid"]<-1)) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_user")); } $userid = 0; if(isset($_GET["userid"])) $userid = $_GET["userid"]; if (isset($_GET["groupid"]) && (!is_numeric($_GET["groupid"]) || $_GET["groupid"]<-1)) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_group")); } if(isset($_GET["groupid"])) $groupid = $_GET["groupid"]; if (isset($_GET["groupid"])&&$_GET["groupid"]!=-1){ $group=$dms->getGroup($groupid); if (!$group->isMember($user,true) && !$user->isAdmin()) UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); } $folder = $document->getFolder(); $docPathHTML = getFolderPathHTML($folder, true). " / ".$document->getName().""; if ($document->getAccessMode($user) < M_READ) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); } // delete notification if ($action == "delnotify"){ if ($userid) { $obj = $dms->getUser($userid); $res = $document->removeNotify($userid, true); } elseif (isset($groupid)) { $obj = $dms->getGroup($groupid); $res = $document->removeNotify($groupid, false); } switch ($res) { case -1: UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),isset($userid) ? getMLText("unknown_user") : getMLText("unknown_group")); break; case -2: 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")); break; case -4: UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("internal_error")); break; 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'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$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); } else { $notifier->toGroup($user, $obj, $subject, $message, $params); } } break; } } // add notification else if ($action == "addnotify") { if ($userid > 0) { $res = $document->addNotify($userid, true); switch ($res) { case -1: UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_user")); break; case -2: 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")); break; case -4: UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("internal_error")); break; case 0: // 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'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$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); } break; } } if ($groupid != -1) { $res = $document->addNotify($groupid, false); switch ($res) { case -1: UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_group")); break; case -2: 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")); break; case -4: UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("internal_error")); break; 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'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$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); } break; } } } header("Location:../out/out.DocumentNotify.php?documentid=".$documentid); ?>