$folder->getName())),getMLText("invalid_request_token")); } if (!isset($_POST["folderid"]) || !is_numeric($_POST["folderid"]) || intval($_POST["folderid"])<1) { UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))),getMLText("invalid_folder_id")); } $folderid = $_POST["folderid"]; $folder = $dms->getFolder($folderid); if (!is_object($folder)) { UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))),getMLText("invalid_folder_id")); } if (!isset($_POST["action"]) || (strcasecmp($_POST["action"], "delnotify") && strcasecmp($_POST["action"], "addnotify"))) { UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("invalid_action")); } $action = $_POST["action"]; if (isset($_POST["userid"]) && (!is_numeric($_POST["userid"]) || $_POST["userid"]<-1)) { UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("unknown_user")); } $userid = isset($_POST["userid"]) ? $_POST["userid"] : -1; if ($userid > 0){ $u=$dms->getUser($userid); if (($u->getId() != $user->getId()) && !$user->isAdmin()) UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("access_denied")); } if (isset($_POST["groupid"]) && (!is_numeric($_POST["groupid"]) || $_POST["groupid"]<-1)) { UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("unknown_group")); } $groupid = isset($_POST["groupid"]) ? $_POST["groupid"] : -1; if ($groupid > 0){ $group=$dms->getGroup($groupid); if (!$group->isMember($user,true) && !$user->isAdmin()) UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("access_denied")); } if ($folder->getAccessMode($user) < M_READ) { UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("access_denied")); } // Delete notification ------------------------------------------------------- if ($action == "delnotify") { if ($userid > 0) { $obj = $dms->getUser($userid); $res = $folder->removeNotify($userid, true); } elseif ($groupid > 0) { $obj = $dms->getGroup($groupid); $res = $folder->removeNotify($groupid, false); } switch ($res) { case -1: UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),isset($userid) ? getMLText("unknown_user") : getMLText("unknown_group")); break; case -2: 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("not_subscribed")); break; case -4: UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("internal_error")); break; case 0: $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_rm_notify'))); if($notifier) { $notifier->sendDeleteFolderNotifyMail($folder, $user, $obj); } break; } } // Add notification ---------------------------------------------------------- else if ($action == "addnotify") { if ($userid > 0) { $res = $folder->addNotify($userid, true); switch ($res) { case -1: UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("unknown_user")); break; case -2: 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")); break; case -4: UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("internal_error")); break; case 0: $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_add_notify'))); /* Send notification only to the user being added as a notifier */ if($notifier) { $obj = $dms->getUser($userid); $notifier->sendNewFolderNotifyMail($folder, $user, $obj); } break; } } if ($groupid > 0) { $res = $folder->addNotify($groupid, false); switch ($res) { case -1: UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("unknown_group")); break; case -2: 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")); break; case -4: UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("internal_error")); break; case 0: $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_add_notify'))); /* Send notification only to the group being added as a notifier */ if($notifier) { $obj = $dms->getGroup($groupid); $notifier->sendNewFolderNotifyMail($folder, $user, $obj); } break; } } } header("Location:../out/out.FolderNotify.php?folderid=".$folderid); ?>