root/dev/common/kill_import_csv.php @ 35

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