summaryrefslogtreecommitdiffstats
path: root/app/model/issue.php
blob: 4300bbb0b1e1ccfd72c08237de1cca8b0610cad3 (plain) (blame)
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
<?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");

    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 (!$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()['closeIssue']))
    {
        $issue->close($user);
        logError(NOTICE, "Issue #" . $issue->numb . " closed");
        $log = mesg::initNewLog("% closed issue", $user, $issue);
    }
}

?>