<?php /* * SCROTT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to UNLICENSE */ require_once "class/form.class.php"; require_once "class/issue.class.php"; require_once "class/mesg.class.php"; /* * Action: iss-mesg-add - Post new issue message */ if (isAction("iss-mesg-add")) { $form = new form(); $form->text("issue"); $form->text("mesg", false); $form->text("assignee"); if (!$form->populate(input())) return; $issue = new issue($form->issue); if (!($user = user::getCurrent())) { logError(ERROR, "You must be logged in to post a message"); return; } if (isset($form->mesg) && $form->mesg != "") { if (!$user->canCreateSub($issue)) { logError(ERROR, "You do not have permission to post to this issue"); return; } $mesg = mesg::initNew($form->mesg, $user, $issue); if ($mesg->setAttachment("attachment")) logError(NOTICE, "Saved attachment " . $mesg->attachment); } if (isset(input()['advIssue'])) { if (!$user->canModify($issue)) { logError(ERROR, "You do not have permission to move this issue"); return; } $issue->advance($user); if ($issue->isOpen()) { $sgename = $issue->getParent()->name; $log = mesg::initNewLog("%s advanced issue to '" . $sgename . "'", $user, $issue); } else { $log = mesg::initNewLog("%s closed issue", $user, $issue); } } else if (isset(input()['assIssue'])) { if (!$user->canModify($issue)) { logError(ERROR, "You do not have permission to assign this issue"); return; } $assignee = new user($form->assignee); $stat = $issue->addAssignee($assignee, $user); if (!$stat) logError(ERROR, "Failed to assign issue"); else $log = mesg::initNewLog("%s assigned " . $assignee->getDisplayName(), $user, $issue); } else if (isset(input()['closeIssue'])) { if (!$user->canModify($issue)) { logError(ERROR, "You do not have permission to close this issue"); return; } $issue->close($user); logError(NOTICE, "Issue #" . $issue->numb . " closed"); $log = mesg::initNewLog("% closed issue", $user, $issue); } } ?>