1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
<?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
{
$issue->signoffAssignee($user);
$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->signoffAssignee($user);
$issue->close($user);
logError(NOTICE, "Issue #" . $issue->numb . " closed");
$log = mesg::initNewLog("%s closed issue", $user, $issue);
}
}
?>
|