root/1.2.1/common/admin_feed.php @ 146

Revision 146, 4.8 KB (checked in by liq, 15 years ago)

put syncmod v1.1 in the v1.2.1 release

Line 
1<?
2
3// liq's feed syndication mod v1.1
4 
5@set_time_limit(0); 
6require_once( "class.page.php" );
7require_once( "admin_menu.php" ); 
8require_once( "feed_fetcher.php" );
9require_once( 'class.corp.php' );
10require_once( 'class.alliance.php' );
11require_once( "db.php" );
12 
13        $page = new Page( "Administration - Feeds" );
14        $page->setAdmin();
15 
16        $validurl = "/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}((:[0-9]{1,5})?\/.*)?$/i"; 
17        $html .= "<table class=kb-subtable>";
18
19        if (getConfig('fetch_feed_count'))
20                $feedcount = getConfig('fetch_feed_count');
21        else 
22                $feedcount = 3;
23
24        if ( $_POST['submit'] ) {
25       
26                if ( ctype_digit($_POST['fetch_feed_count']) ) {
27                        setConfig('fetch_feed_count', $_POST['fetch_feed_count']);
28                        $feedcount = $_POST['fetch_feed_count'];
29                        for ($i = 99; $i>=$feedcount; $i--) {
30                                delConfig('fetch_url_'.$i);
31                        }
32                }
33
34                if ( $_POST['fetch_verbose'] )
35                        setConfig('fetch_verbose', '1');
36                else
37                        setConfig('fetch_verbose', '0');
38
39                if ( $_POST['fetch_comment'] )
40                        setConfig('fetch_comment', $_POST['fetch_comment']);
41                else
42                        setConfig('fetch_comment', '');
43
44                for ($i = 1; $i<=$feedcount; $i++) {
45                        $url = "fetch_url_".$i;
46                        if ( preg_match($validurl ,$_POST[$url]) ) {
47                                setConfig($url, $_POST[$url].':::'.$time[$i]);
48                                $feed[$i] = $_POST[$url];       
49                } else 
50                                setConfig($url, '');
51                                $feed[$i] = '';                 
52                }
53        } 
54
55        $feed = array();
56        for ($i = 1; $i<=$feedcount; $i++) {
57                $str = getConfig('fetch_url_'.$i);
58                $tmp = explode(':::', $str);
59                $feed[$i] = $tmp[0];
60                $time[$i] = $tmp[1];
61        }
62        if ( $_POST['fetch'] ) {
63            if (CORP_ID) {
64                $corp = new Corporation(CORP_ID);
65                $myid = '&corp='.urlencode($corp->getName());
66            }
67            if (ALLIANCE_ID) {
68                $alli = new Alliance(ALLIANCE_ID);
69                $myid = '&alli='.urlencode($alli->getName()); 
70                        }
71                 for ($i=1; $i<=$feedcount; $i++) {
72                        $feedfetch = new Fetcher();
73                        $cfg = "fetch_url_".$i;
74                        if (preg_match($validurl , $feed[$i])) {
75                            $str = '';
76                                if ($time[$i])
77                        $str .= '&lastkllid='.$time[$i];
78                                if ( $_POST['fetch_losses'] )
79                        $str .= "&losses=1";   
80                                if ( $_POST['graball'] ) {
81                                        for ($l = 1; $l<=52; $l++) { 
82                                                $html .= "<b>Week: ". $l ."</b><br>";
83                                                $html .= $feedfetch->grab( $feed[$i].$myid.$str."&week=".$l );
84                                        }
85                            } else
86                                $html .= $feedfetch->grab( $feed[$i].$myid.$str );
87                        }
88                    setConfig($cfg, $feed[$i].':::'.$lastkllid);
89            $time[$i] = $lastkllid;     
90                }
91        }
92 
93        $html .= "<br><form id=options name=options method=post action=?a=admin_feed>";
94    $html .= "<input type=submit id=submit name=fetch value=\"Fetch\">";
95       
96        $html .= "<br><br><input type=checkbox name=fetch_losses id=fetch_losses>";
97        $html .= "<b>Get Kills?</b> <br> <i>(by default only your losses get fetched, when ticked all kills where one of your pilots is involved get fetched instead)</i>"; 
98
99    $html .= "<br><br><input type=checkbox name=graball id=graball>";
100    $html .= "<b>Grab ALL mails from the feed servers?</b> <br> <i>(fetches all mails from the feed servers! use this may take upto several hours depending on the amount of kills to import!)</i>";
101
102        $html .= "</form></table><br><br>";
103 
104    $html .= "<table class=kb-subtable>";
105    $html .= "<div class=block-header2>Feeds</div>";
106    $html .= "<form id=options name=options method=post action=?a=admin_feed>";
107    for ($i = 1; $i<=$feedcount; $i++) {
108        $html .= "<b>Feed url #".$i."</b><input type=text name=fetch_url_".$i." size=50 class=password value=\"";
109        if ( $feed[$i] )
110           $html .= $feed[$i];
111        $html .= "\"><br><br>";
112    }
113    $html .= "<i>Example: http://killboard.eve-d2.com/?a=feed</i><br><br>";
114   
115        $html .= "<div class=block-header2>Options</div>";
116        $html .= "<b>Number of feeds:</b> <input type=text name=fetch_feed_count size=2 maxlength=2 class=password value=\"".$feedcount."\"<br><br>";
117       
118        $html .= "<input type=checkbox name=fetch_verbose id=fetch_verbose";
119    if ( getConfig('fetch_verbose') ) 
120                $html .= " checked=\"checked\"";
121        $html .= "><b>Verbose mode?</b> <br> <i>(display errormessages when the imported mail is malformed, already exists, is not related etc.)</i><br><br>"; 
122
123        $html .= "<b>Comment for automatically parsed killmails?</b><br><br>"; 
124        $html .= "<input type=text size=50 class=password name=fetch_comment id=fetch_comment value=\"";
125    if ( getConfig('fetch_comment') ) 
126                $html .= getConfig('fetch_comment');
127        $html .= "\"><br><i>(leave blank for none)</i><br>";
128
129    $html .= "<br><br><br><input type=submit id=submit name=submit value=\"Save\">";
130    $html .= "</form></table>"; 
131
132    $page->addContext( $menubox->generate() );
133    $page->setContent( $html );
134    $page->generate();
135       
136?>
Note: See TracBrowser for help on using the browser.