root/1.2.1/common/admin_feed.php @ 147

Revision 147, 5.1 KB (checked in by liq, 15 years ago)

-added Liq's Feed Syndication Mod v1.2

Line 
1<?
2
3// liq's feed syndication mod v1.2
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       
25        if ( $_POST['submit'] || $_POST['fetch']  ) {
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       
63        if ( $_POST['fetch'] ) {
64         if (CORP_ID) {
65             $corp = new Corporation(CORP_ID);
66             $myid = '&corp='.urlencode($corp->getName());
67         }
68         if (ALLIANCE_ID) {
69             $alli = new Alliance(ALLIANCE_ID);
70             $myid = '&alli='.urlencode($alli->getName()); 
71                 }
72
73                 for ($i=1; $i<=$feedcount; $i++) {
74                        $feedfetch = new Fetcher();
75                        $cfg = "fetch_url_".$i;
76                        if (preg_match($validurl , $feed[$i]) && $_POST["fetch_feed_".$i]) {
77                            $str = '';
78                                if ($time[$i])
79                        $str .= '&lastkllid='.$time[$i];
80                                if ( $_POST['fetch_losses'] )
81                        $str .= "&losses=1";   
82                                if ( $_POST['graball'] ) {
83                                        for ($l = 1; $l<=52; $l++) { 
84                                                $html .= "<b>Week: ". $l ."</b><br>";
85                                                $html .= $feedfetch->grab( $feed[$i].$myid.$str."&week=".$l );
86                                        }
87                            } else
88                                $html .= $feedfetch->grab( $feed[$i].$myid.$str );
89                        } 
90                       
91                    setConfig($cfg, $feed[$i].':::'.$lastkllid);
92            $time[$i] = $lastkllid;     
93                }
94        }
95 
96        $html .= "<form id=options name=options method=post action=?a=admin_feed>";
97    $html .= "</table>";
98 
99    $html .= "<div class=block-header2>Feeds</div><table>";
100
101    for ($i = 1; $i<=$feedcount; $i++) {
102        $html .= "<tr><td width=85px><b>Feed url #".$i."</b></td><td><input type=text name=fetch_url_".$i." size=50 class=password value=\"";
103        if ( $feed[$i] )   
104           $html .= $feed[$i];
105        $html .= "\"> ";
106                $html .= "<input type=checkbox name=fetch_feed_".$i." id=fetch_feed_".$i;
107        if ( $feed[$i] ) 
108                        $html .= " checked=\"checked\"";
109                $html .= "><b>Fetch?</b><br>";   
110                $html .= "</td></tr>";
111        }
112       
113        $html .= "</table><i>Example: http://killboard.eve-d2.com/?a=feed</i><br><br><br>";
114       
115        $html .= "<table><tr><td height=30px width=150px><b>Get kills instead of losses?</b></td>";
116        $html .= "<td><input type=checkbox name=fetch_losses id=fetch_losses>";
117        $html .= "<i> (by default only your losses get fetched, when ticked all kills where one of your pilots is involved get fetched instead)</i></td></tr>"; 
118
119    $html .= "<tr><td height=30px width=150px><b>Grab ALL mails from the feed servers?</b></td>";
120        $html .= "<td><input type=checkbox name=graball id=graball>";
121    $html .= "<i> (fetches all mails from the feed servers! use this may take upto several hours depending on the amount of kills to import!)</i></td>";
122        $html .= "</tr></table><br><br>";
123       
124        $html .= "<input type=submit id=submit name=fetch value=\"Fetch!\"><br><br>";
125       
126        $html .= "<div class=block-header2>Options</div><table>";
127        $html .= "<tr><td height=30px width=150px><b>Number of feeds:</b></td>";
128        $html .= "<td><input type=text name=fetch_feed_count size=2 maxlength=2 class=password value=\"".$feedcount."\"</td></tr>";
129         
130        $html .= "<tr><td height=50px width=150px><b>Comment for automatically parsed killmails?</b></td>"; 
131        $html .= "<td><input type=text size=50 class=password name=fetch_comment id=fetch_comment value=\"";
132    if ( getConfig('fetch_comment') ) 
133                $html .= getConfig('fetch_comment');
134        $html .= "\"><br><i> (leave blank for none)</i><br></td></tr>";
135       
136        $html .= "<tr><td height=30px width=150px><b>Verbose mode?</b></td>";
137    $html .= "<td><input type=checkbox name=fetch_verbose id=fetch_verbose";
138        if ( getConfig('fetch_verbose') )   
139                $html .= " checked=\"checked\"";
140        $html .= "><i> (displays errormessages when the imported mail is malformed, already exists, is not related etc.)</i></td>"; 
141        $html .= "</tr></table><br><br>";
142
143    $html .= "<input type=submit id=submit name=submit value=\"Save\">";
144        $html .= "</form>"; 
145
146    $page->addContext( $menubox->generate() );
147    $page->setContent( $html );
148    $page->generate();
149       
150?>
Note: See TracBrowser for help on using the browser.