root/dev/common/post.php @ 157

Revision 157, 4.5 KB (checked in by exi, 14 years ago)

Added option to show a link to the pod killmail instead of a pod picture on the battle summary.
Battle summaries will now be sorted by shippoints, shipname, pilotname.
Added option to disable mailposting without having to change the password.
Fixed a typo on the standingslist.

Line 
1<?php
2require_once("class.page.php");
3require_once("class.killboard.php");
4require_once("class.parser.php");
5require_once("class.phpmailer.php");
6require_once("class.kill.php");
7
8$page = new Page("Post killmail");
9$kb = new Killboard(KB_SITE);
10
11if (isset($_POST['killmail']))
12{
13    if ($_POST['password'] == $config->getPostPassword() || $page->isAdmin())
14    {
15        $parser = new Parser($_POST['killmail']);
16
17        // Filtering
18        if ($config->getConfig("filter_apply"))
19        {
20            $filterdate = $config->getConfig("filter_date");
21            $year = substr($_POST['killmail'], 0, 4);
22            $month = substr($_POST['killmail'], 5, 2);
23            $day = substr($_POST['killmail'], 8, 2);
24            $killstamp = mktime(0, 0, 0, $month, $day, $year);
25            if ($killstamp < $filterdate)
26            {
27                $killid = -3;
28            }
29            else
30            {
31                $killid = $parser->parse(true);
32            }
33        }
34        else
35        {
36            $killid = $parser->parse(true);
37        }
38
39        if ($killid == 0 || $killid == -1 || $killid == -2 || $killid == -3)
40        {
41            if ($killid == 0)
42            {
43                $html = "Killmail is malformed.<br/>";
44                if ($errors = $parser->getError())
45                {
46                    foreach ($errors as $error)
47                    {
48                        $html .= 'Error: '.$error[0];
49                        if ($error[1])
50                        {
51                            $html .= ' The text lead to this error was: "'.$error[1].'"';
52                        }
53                        $html .= '<br/>';
54                    }
55                }
56            }
57            elseif ($killid == -1)
58            {
59                $html = "That killmail has already been posted <a href=\"?a=kill_detail&kll_id=".$parser->dupeid_."\">here</a>.";
60            }
61            elseif ($killid == -2)
62            {
63                $html = "You are not authorized to post this killmail.";
64            }
65            elseif ($killid == -3)
66            {
67                $filterdate = date("j F Y", $config->getConfig("filter_date"));
68                $html = "You are not allowed to post killmails older than $filterdate.";
69            }
70        }
71        else
72        {
73            if ($config->getPostMailto() != "")
74            {
75                $mailer = new PHPMailer();
76                $kill = new Kill($killid);
77
78                $mailer->From = "mailer@".$config->getConfig('mail_host');
79                $mailer->FromName = $config->getConfig('mail_host');
80                $mailer->Subject = "Killmail #" . $killid;
81                $mailer->Host = "localhost";
82                $mailer->Port = 25;
83                $mailer->Helo = "localhost";
84                $mailer->Mailer = "smtp";
85                $mailer->AddReplyTo("no_reply@".$config->getConfig('mail_host'), "No-Reply");
86                $mailer->Sender = "mailer@".$config->getConfig('mail_host');
87                $mailer->Body = $kill->getRawMail();
88                $mailer->AddAddress($config->getPostMailto());
89                $mailer->Send();
90            }
91
92            $qry = new DBQuery();
93            $qry->execute("insert into kb3_log
94                               values(".$killid.",'".KB_SITE."','".$_SERVER['REMOTE_ADDR']."', now())");
95
96            header("Location: ?a=kill_detail&kll_id=".$killid);
97            exit;
98        }
99    }
100    else
101    {
102        $html = "Invalid password.";
103    }
104}
105elseif (!$config->getConfig('post_forbid'))
106{
107    $html .= "Paste the killmail from your EVEMail inbox into the box below. Make sure you post the <b>ENTIRE</b> mail.<br>Posting fake or otherwise edited mails is not allowed. All posts are logged.";
108    $html .= "<br><br>Remember to post your losses as well.<br><br>";
109    $html .= "<b>Killmail:</b><br>";
110    $html .= "<form id=postform name=postform class=f_killmail method=post action=\"?a=post\">";
111    $html .= "<textarea name=killmail id=killmail class=f_killmail cols=\"70\" rows=\"24\"></textarea>";
112    if (!$page->isAdmin())
113    {
114        $html .= "<br><br><b>Password:</b><br><input id=password name=password type=password></input>";
115    }
116    $html .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input id=submit name=submit type=submit value=\"Process !\"></input>";
117    $html .= "</form>";
118}
119else
120{
121    $html .= 'Posting killmails is disabled<br/>';
122}
123
124$page->setContent($html);
125$page->generate();
126?>
Note: See TracBrowser for help on using the browser.