root/dev/common/post.php @ 325

Revision 317, 4.7 KB (checked in by ralle030583, 14 years ago)

- ADD (TEST) api class for testing, getCharId from eve, atm commented out
- fixes for Tickets #74,#75,#77
- DBUpdate004: trinity ships had wrong tech level
- mailer should now send the killmail per email instead of msg that is classified
- and fixed the version in readme cause of the confusion ;-)

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