root/dev/common/admin/admin_kill_import_csv.php

Revision 361, 2.7 KB (checked in by beans, 14 years ago)

* Updated the admin panel. Should now be more "easy" to use.

Line 
1<?php
2/**
3 * Import kills from a csv formatted text
4 * Used together with export tool!
5 */
6
7require_once('common/includes/class.parser.php');
8require_once('common/includes/class.killlist.php');
9
10$page = new Page('Administration - Killmail import');
11$page->setAdmin();
12
13if (!$_POST['killmail'])
14{
15    $html .= '<b>Killmails in same format as export (Comma Seperated - csv):</b><br>';
16    $html .= '<form id=postform name=postform class=f_killmail method=post action="?a=admin_kill_import_csv">';
17    $html .= '<textarea class=killmail id=killmail name=killmail cols="55" rows="35"></textarea><br><br>';
18    $html .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input id=submit name=submit type=submit value="Process !"></input>';
19    $html .= '</form>';
20}
21else
22{
23    // Set delimiter
24    $splitter = ',\n\n';
25    $killmail = $_POST['killmail'];
26
27    // Replace double quotes with single
28    $killmail = str_replace('""', "'", $killmail);
29
30    // Replace \ with nothing
31    $killmail = str_replace('\\', "", $killmail);
32
33    // Explodes to array
34    $getstrings = explode('"', $splitter . $killmail . $splitter);
35
36    // Set lenght of delimiter
37    $delimlen = strlen($splitter);
38
39    // Default
40    $instring = 0;
41
42    // String magic :)
43    while (list($arg, $val) = each($getstrings))
44    {
45        if ($instring == 1)
46        {
47            $result[] = $val;
48            $instring = 0;
49        }
50        else
51        {
52            if ((strlen($val) - $delimlen - $delimlen) >= 1)
53            {
54                $temparray = split($splitter, substr($val, $delimlen, strlen($val) - $delimlen - $delimlen));
55                while (list($iarg, $ival) = each($temparray))
56                {
57                    $result[] = trim($ival);
58                }
59            }
60            $instring = 1;
61        }
62    }
63    // Parses killmails one by one.
64    foreach ($result as $killmail)
65    {
66        $parser = new Parser($killmail);
67        $killid = $parser->parse(false);
68        // Make response
69        if ($killid == 0)
70        {
71            $html .= "Killmail is malformed.<br>";
72        }
73        elseif ($killid == -1)
74        {
75            $html .= "That killmail has already been posted <a href=\"?a=kill_detail&kll_id=" . $parser->dupeid_ . "\">here</a>.<br>";
76        }
77        elseif ($killid == -2)
78        {
79            $html .= "You are not authorized to post this killmail.<br>";
80        }
81        elseif ($killid >= 1)
82        {
83            $html .= "Killmail imported succesfully <a href=\"?a=kill_detail&kll_id=" . $parser->dupeid_ . "\">here</a>.<br>";
84        }
85    }
86}
87
88$page->setContent($html);
89$page->addContext($menubox->generate());
90$page->generate();
91?>
Note: See TracBrowser for help on using the browser.