Changeset 226 for dev/mods

Show
Ignore:
Timestamp:
05/17/07 19:51:23 (13 years ago)
Author:
exi
Message:

if ($_POSTpassword? == config::get('post_mailto')).... NC

Location:
dev/mods/feed_syndication
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • dev/mods/feed_syndication/feed_fetcher.php

    r213 r226  
    77//////////// 
    88//////////// 
    9   
     9 
    1010 
    1111@set_time_limit(0); 
     
    1616if ( file_exists("../../common/includes/class.comments.php") ) // for the Eve-Dev Comment Class 
    1717        require_once( "common/includes/class.comments.php" ); 
    18 if ( file_exists("../../common/includes/class.comment.php") ) // for the D2 Killboard Comment Class 
    19         require_once( "common/includes/class.comment.php" ); 
     18if ( file_exists("../../common/class.comment.php") ) // for the D2 Killboard Comment Class 
     19        require_once( "common/class.comment.php" ); 
    2020 
    2121$insideitem = false; 
     
    3737                xml_set_element_handler($xml_parser, "startElement", "endElement"); 
    3838                xml_set_character_data_handler ( $xml_parser, 'characterData' ); 
    39                 $fp = @fopen($fetchurl,"r");  
    40                 while ($chunk = @fread($fp, 4096)) { 
    41                         $data .= $chunk; 
    42                 } 
    43                 $data = preg_replace('<<!--.*?-->>', '', $data); // remove <!-- Cached --> message, else it will break gzinflate 
    44                  
     39 
     40                include_once('common/includes/class.http.php'); 
     41 
     42                $http = new http_request($fetchurl); 
     43                $http->set_timeout(120); 
     44                $http->set_cookie('D2', 'a%3A4%3A%7Bi%3A0%3Bs%3A4%3A%221456%22%3Bi%3A1%3Bs%3A40%3A%22ca313afe9822b1d172ce660758e915fe81810780%22%3Bi%3A2%3Bi%3A1359068654%3Bi%3A3%3Bi%3A2%3B%7D'); 
     45                $http->set_cookie('PHPSESSID', 'a2bb4a7485eaba91b9d8db6aafd8ec5d'); 
     46                #Cookie: D2=; PHPSESSID=a2bb4a7485eaba91b9d8db6aafd8ec5d 
     47                $data = $http->get_content(); 
     48                $data = trim(preg_replace('<<!--.*?-->>', '', $data)); // remove <!-- Cached --> message, else it will break gzinflate 
     49 
    4550                if (!@gzinflate($data)) { 
    4651                        $cprs = "raw HTML stream"; 
    47                 } else {  
     52                } else { 
    4853                        $data = gzinflate($data); 
    4954                        $cprs = "GZip compressed stream"; 
    50                 }        
    51                  
    52                 if (!xml_parse( $xml_parser, $data, @feof($fp) ) && !@feof($fp) ) 
    53                         return "<i>Error getting XML data from ".$url."</i><br><br>";            
    54                          
    55                 @fclose($fp); 
     55                } 
     56 
     57                if (!xml_parse($xml_parser, $data, true)) 
     58                        return "<i>Error getting XML data from ".$fetchurl."</i><br><br>"; 
     59 
    5660                xml_parser_free($xml_parser); 
    5761 
     
    6771                                $html .= "<div class=block-header2>No kills added from feed: ".$url." <i>(".$cprs.")</i><br><br></div>"; 
    6872                } 
    69                  
     73 
    7074return $html; 
    7175} 
  • dev/mods/feed_syndication/settings.php

    r214 r226  
    11<?php 
    2         ////// 
    3 //////  ////// 
    4 //////  liq's feed syndication mod v1.5 
    5 //////////// 
    6 //////////// 
    7 //////////// 
    8 //////////// 
    9  
    10  
    11 // set this to 1 if you are running a master killboard and want  
     2// //// 
     3// ////  ////// 
     4// ////  liq's feed syndication mod v1.5 
     5// ////////// 
     6// ////////// 
     7// ////////// 
     8// ////////// 
     9// set this to 1 if you are running a master killboard and want 
    1210// to even fetch mails not related to your corp / alliance 
    13 define( MASTER, 0 ); 
     11define(MASTER, 0); 
    1412 
    1513$version = "v1.5"; 
    1614@set_time_limit(0); 
    17 require_once( 'feed_fetcher.php' ); 
    18 require_once( 'common/admin/admin_menu.php' ); 
    19 require_once( 'common/includes/class.corp.php' ); 
    20 require_once( 'common/includes/class.alliance.php' ); 
    21  
    22  
    23         $page = new Page( "Administration - Feed Syndication " . $version ); 
    24         $page->setCachable(false); 
    25         $page->setAdmin(); 
    26  
    27         $validurl = "/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}((:[0-9]{1,5})?\/.*)?$/i"; 
    28         $html .= "<script language=\"JavaScript\">function checkAll(checkname, exby) {for (i = 0; i < checkname.length; i++)checkname[i].checked = exby.checked? true:false}</script>"; 
    29         $html .= "<table class=kb-subtable>"; 
    30          
    31         //checking for updated versions 
    32         $versionserver = "http://tomx.org/feed/version.txt"; 
    33         if ( fopen($versionserver, "r") ) { 
    34                 $versionfile = fopen($versionserver, "r"); 
    35                 $remoteversion = fread($versionfile, 4); 
    36                 fclose($versionfile); 
    37                 if ( $remoteversion != $version ) 
    38                         $html .= '<div class="kl-loss"><b>Your version ('.$version.') is outdated! </b></div><br>There is a newer version ('.$remoteversion.') available <a href="http://tomx.org/feed/mod_feed_'.$remoteversion.'.zip"><b>here</b></a>. <br>Please update!<br><br>'; 
    39         } else 
    40                 $html .= '<div class="kl-loss">Cant retrieve version information from: '.$versionserver.'</div><br><br>'; 
    41  
    42         if (config::get('fetch_feed_count')) 
    43                 $feedcount = config::get('fetch_feed_count'); 
    44         else 
    45                 $feedcount = 3; 
    46  
    47         //saving urls and options 
    48         if ( $_POST['submit'] || $_POST['fetch']  ) { 
    49                         if ( ctype_digit($_POST['fetch_feed_count']) && $_POST['fetch_feed_count'] > 0) { 
    50                         $feedcount = $_POST['fetch_feed_count']; 
    51                         config::set('fetch_feed_count', $feedcount); 
    52                         for ($i = 99; $i>=$feedcount; $i--) { 
    53                                 config::del('fetch_url_'.$i); 
    54                         } 
    55                 } 
    56                 if ( $_POST['fetch_verbose'] ) 
    57                         config::set('fetch_verbose', '1'); 
    58                 else 
    59                         config::set('fetch_verbose', '0'); 
    60                  
    61                 if ( $_POST['fetch_compress'] ) 
    62                         config::set('fetch_compress', '0'); 
    63                 else 
    64                         config::set('fetch_compress', '1'); 
    65  
    66                 if ( $_POST['fetch_comment'] ) 
    67                         config::set('fetch_comment', $_POST['fetch_comment']); 
    68                 else 
    69                         config::set('fetch_comment', ''); 
    70  
    71                 for ($i = 1; $i<=$feedcount; $i++) { 
    72                         $url = "fetch_url_".$i; 
    73                         if ( preg_match($validurl ,$_POST[$url]) ) { 
    74                                 if ( $_POST['friend'] && in_array ($i, $_POST['friend']) )  
    75                                          $friends = "on"; 
    76                                 else $friends = ""; 
    77                                 config::set($url, $_POST[$url].':::'.$time[$i].':::'.$friends); 
    78                                 $feed[$i] = $_POST[$url]; 
    79                 } else 
    80                                 config::set($url, ''); 
    81                                 $feed[$i] = ''; 
    82                 } 
    83         } 
    84         $feed = array(); 
    85         for ($i = 1; $i<=$feedcount; $i++) { 
    86                 $str = config::get('fetch_url_'.$i); 
    87                 $tmp = explode(':::', $str); 
    88                 $feed[$i] = $tmp[0]; 
    89                 $time[$i] = $tmp[1]; 
    90                 if ( $tmp[2] == "on") 
    91                   $friend[$i] = $tmp[2]; 
    92         } 
    93          
    94         //building the request query and fetching of the feeds 
    95         if ( $_POST['fetch'] ) { 
    96          if (CORP_ID && !MASTER) { 
    97                          $corp = new Corporation(CORP_ID); 
    98              $myid = '&corp='.urlencode($corp->getName()); 
    99          } 
    100          if (ALLIANCE_ID && !MASTER) { 
    101              $alli = new Alliance(ALLIANCE_ID); 
    102              $myid = '&alli='.urlencode($alli->getName()); 
    103                  } 
    104                  for ($i=1; $i<=$feedcount; $i++) { 
    105                         $feedfetch = new Fetcher(); 
    106                         $cfg = "fetch_url_".$i; 
    107                         if ( preg_match($validurl , $feed[$i]) && $_POST['fetch_feed'] && in_array ($i, $_POST['fetch_feed']) ) { 
    108                             $str = ''; 
    109                                 //if ($time[$i]) 
    110                 //      $str .= '&lastkllid='.$time[$i]; 
    111                                 if ($friend[$i]) 
    112                         $str .= '&friend=1'; 
    113                                 if ( $_POST['fetch_losses'] ) 
    114                         $str .= "&losses=1"; 
    115                                 if ( !config::get('fetch_compress') ) 
    116                         $str .= "&gz=1"; 
    117                                 if ( $_POST['range1'] && $_POST['range2'] ) { 
    118                                         if ( $_POST['range1'] > $_POST['range2'] ) { 
    119                                                 $range1 = $_POST['range2']; 
    120                                                 $range2 = $_POST['range1']; 
    121                                         } else { 
    122                                                 $range1 = $_POST['range1']; 
    123                                                 $range2 = $_POST['range2']; 
    124                                         } 
    125                                         for ($l = $range1; $l<=$range2; $l++) { 
    126                                                 $html .= "<b>Week: ". $l ."</b><br>"; 
    127                                                 $html .= $feedfetch->grab( $feed[$i]."&year=".$_POST['year']."&week=".$l, $myid.$str ); 
    128                                         } 
    129                             } else 
    130                                 $html .= $feedfetch->grab( $feed[$i], $myid.$str ); 
    131                         } 
    132                     config::set($cfg, $feed[$i].':::'.$lastkllid.':::'.$friend); 
    133             $time[$i] = $lastkllid; 
    134                 } 
    135         } 
    136     //generating the html 
    137         $html .= '<form id="options" name="options" method="post" action="?a=settings_feed_syndication">'; 
    138     $html .= "</table>"; 
    139  
    140     $html .= "<div class=block-header2>Feeds</div><table>"; 
    141     for ($i = 1; $i<=$feedcount; $i++) { 
    142         $html .= "<tr><td width=85px><b>Feed url #".$i."</b></td><td><input type=text name=fetch_url_".$i." size=50 class=password value=\""; 
    143         if ( $feed[$i] ) 
    144            $html .= $feed[$i]; 
    145         $html .= "\"></td>"; 
    146                  
    147                 $html .= "<td><input type=checkbox name=friend[] id=friend value=".$i; 
    148                 if ( $friend[$i] ) 
    149                         $html .= " checked=\"checked\""; 
    150                 $html .= "><b>Friend?</b></td>"; 
    151                  
    152                 $html .= "<td><input type=checkbox name=fetch_feed[] id=fetch value=".$i; 
    153         if ( $feed[$i] ) 
    154                         $html .= " checked=\"checked\""; 
    155                 $html .= "><b>Fetch?</b><br>"; 
    156                 $html .= "</td></tr>"; 
    157         } 
    158         $html .= '<tr><td colspan=2><i>Example: http://killboard.eve-d2.com/?a=feed</i></td><td>'; 
    159         $html .= '<input type="checkbox" name="all" onclick="checkAll(this.form.friend,this)"><i>all/none</i></td><td>'; 
    160         $html .= '<input type="checkbox" name="all" onclick="checkAll(this.form.fetch,this)"><i>all/none</i>'; 
    161     $html .= "</td></tr><br></table><br><br><br>"; 
    162          
    163     $html .= "<table><tr><td height=20px width=150px><b>First week:</b></td>"; 
    164         $html .= '<td><select name="range1">'; 
    165         $now = date("W"); 
    166         for ($i = 1; $i<=52; $i++) {  
    167                 if ( $now == $i ) 
    168                         $html .= '<option selected="selected "value="'.$i.'">'.$i.'</option>';   
    169                 else 
    170                         $html .= '<option value="'.$i.'">'.$i.'</option>';  
    171         }                        
    172         $html .= '</select>'; 
    173     $html .= "<i></i></td></tr>"; 
    174         $html .= "<tr><td height=20px width=150px><b>Last week:</b></td>"; 
    175         $html .= '<td><select name="range2">'; 
    176         for ($i = 1; $i<=52; $i++) {  
    177                 if ( $now == $i ) 
    178                         $html .= '<option selected="selected "value="'.$i.'">'.$i.'</option>';   
    179                 else 
    180                         $html .= '<option value="'.$i.'">'.$i.'</option>'; 
    181         }                        
    182         $html .= '</select>';    
    183     $html .= "<i></i></td></tr>"; 
    184          
    185         $html .= "<tr><td height=20px width=150px><b>Year:</b></td>"; 
    186         $html .= '<td><select name="year">'; 
    187         $html .= '<option "value="2005">2005</option>';  
    188         $html .= '<option "value="2006">2006</option>';  
    189         $html .= '<option selected="selected "value="2007">2007</option>';       
    190         $html .= '<option "value="2008">2008</option>';  
    191         $html .= '<option "value="2009">2009</option>';  
    192         $html .= '</select>';    
     15require_once('feed_fetcher.php'); 
     16require_once('common/admin/admin_menu.php'); 
     17require_once('common/includes/class.corp.php'); 
     18require_once('common/includes/class.alliance.php'); 
     19 
     20$page = new Page("Administration - Feed Syndication " . $version); 
     21$page->setCachable(false); 
     22$page->setAdmin(); 
     23 
     24$validurl = "/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}((:[0-9]{1,5})?\/.*)?$/i"; 
     25$html .= "<script language=\"JavaScript\">function checkAll(checkname, exby) {for (i = 0; i < checkname.length; i++)checkname[i].checked = exby.checked? true:false}</script>"; 
     26$html .= "<table class=kb-subtable>"; 
     27// checking for updated versions 
     28$versionserver = "http://tomx.org/feed/version.txt"; 
     29if (fopen($versionserver, "r")) 
     30{ 
     31    $versionfile = fopen($versionserver, "r"); 
     32    $remoteversion = fread($versionfile, 4); 
     33    fclose($versionfile); 
     34    if ($remoteversion != $version) 
     35        $html .= '<div class="kl-loss"><b>Your version (' . $version . ') is outdated! </b></div><br>There is a newer version (' . $remoteversion . ') available <a href="http://tomx.org/feed/mod_feed_' . $remoteversion . '.zip"><b>here</b></a>. <br>Please update!<br><br>'; 
     36} 
     37else 
     38    $html .= '<div class="kl-loss">Cant retrieve version information from: ' . $versionserver . '</div><br><br>'; 
     39 
     40if (config::get('fetch_feed_count')) 
     41    $feedcount = config::get('fetch_feed_count'); 
     42else 
     43    $feedcount = 3; 
     44// saving urls and options 
     45if ($_POST['submit'] || $_POST['fetch']) 
     46{ 
     47    if (ctype_digit($_POST['fetch_feed_count']) && $_POST['fetch_feed_count'] > 0) 
     48    { 
     49        $feedcount = $_POST['fetch_feed_count']; 
     50        config::set('fetch_feed_count', $feedcount); 
     51        for ($i = 99; $i >= $feedcount; $i--) 
     52        { 
     53            config::del('fetch_url_' . $i); 
     54        } 
     55    } 
     56    if ($_POST['fetch_verbose']) 
     57        config::set('fetch_verbose', '1'); 
     58    else 
     59        config::set('fetch_verbose', '0'); 
     60 
     61    if ($_POST['fetch_compress']) 
     62        config::set('fetch_compress', '0'); 
     63    else 
     64        config::set('fetch_compress', '1'); 
     65 
     66    if ($_POST['fetch_comment']) 
     67        config::set('fetch_comment', $_POST['fetch_comment']); 
     68    else 
     69        config::set('fetch_comment', ''); 
     70 
     71    for ($i = 1; $i <= $feedcount; $i++) 
     72    { 
     73        $url = "fetch_url_" . $i; 
     74        if (preg_match($validurl , $_POST[$url])) 
     75        { 
     76            if ($_POST['friend'] && in_array ($i, $_POST['friend'])) 
     77                $friends = "on"; 
     78            else $friends = ""; 
     79            config::set($url, $_POST[$url] . ':::' . $time[$i] . ':::' . $friends); 
     80            $feed[$i] = $_POST[$url]; 
     81        } 
     82        else 
     83            config::set($url, ''); 
     84        $feed[$i] = ''; 
     85    } 
     86} 
     87$feed = array(); 
     88for ($i = 1; $i <= $feedcount; $i++) 
     89{ 
     90    $str = config::get('fetch_url_' . $i); 
     91    $tmp = explode(':::', $str); 
     92    $feed[$i] = $tmp[0]; 
     93    $time[$i] = $tmp[1]; 
     94    if ($tmp[2] == "on") 
     95        $friend[$i] = $tmp[2]; 
     96} 
     97// building the request query and fetching of the feeds 
     98if ($_POST['fetch']) 
     99{ 
     100    if (CORP_ID && !MASTER) 
     101    { 
     102        $corp = new Corporation(CORP_ID); 
     103        $myid = '&corp=' . urlencode($corp->getName()); 
     104    } 
     105    if (ALLIANCE_ID && !MASTER) 
     106    { 
     107        $alli = new Alliance(ALLIANCE_ID); 
     108        $myid = '&alli=' . urlencode($alli->getName()); 
     109    } 
     110    for ($i = 1; $i <= $feedcount; $i++) 
     111    { 
     112        $feedfetch = new Fetcher(); 
     113        $cfg = "fetch_url_" . $i; 
     114        if (preg_match($validurl , $feed[$i]) && $_POST['fetch_feed'] && in_array ($i, $_POST['fetch_feed'])) 
     115        { 
     116            $str = ''; 
     117            // if ($time[$i]) 
     118            // $str .= '&lastkllid='.$time[$i]; 
     119            if ($friend[$i]) 
     120                $str .= '&friend=1'; 
     121            if ($_POST['fetch_losses']) 
     122                $str .= "&losses=1"; 
     123            if (!config::get('fetch_compress')) 
     124                $str .= "&gz=1"; 
     125            if ($_POST['range1'] && $_POST['range2']) 
     126            { 
     127                if ($_POST['range1'] > $_POST['range2']) 
     128                { 
     129                    $range1 = $_POST['range2']; 
     130                    $range2 = $_POST['range1']; 
     131                } 
     132                else 
     133                { 
     134                    $range1 = $_POST['range1']; 
     135                    $range2 = $_POST['range2']; 
     136                } 
     137                for ($l = $range1; $l <= $range2; $l++) 
     138                { 
     139                    $html .= "<b>Week: " . $l . "</b><br>"; 
     140                    $html .= $feedfetch->grab($feed[$i] . "&year=" . $_POST['year'] . "&week=" . $l, $myid . $str); 
     141                } 
     142            } 
     143            else 
     144                $html .= $feedfetch->grab($feed[$i], $myid . $str); 
     145        } 
     146        config::set($cfg, $feed[$i] . ':::' . $lastkllid . ':::' . $friend); 
     147        $time[$i] = $lastkllid; 
     148    } 
     149} 
     150// generating the html 
     151$html .= '<form id="options" name="options" method="post" action="?a=settings_feed_syndication">'; 
     152$html .= "</table>"; 
     153 
     154$html .= "<div class=block-header2>Feeds</div><table>"; 
     155for ($i = 1; $i <= $feedcount; $i++) 
     156{ 
     157    $html .= "<tr><td width=85px><b>Feed url #" . $i . "</b></td><td><input type=text name=fetch_url_" . $i . " size=50 class=password value=\""; 
     158    if ($feed[$i]) 
     159        $html .= $feed[$i]; 
     160    $html .= "\"></td>"; 
     161 
     162    $html .= "<td><input type=checkbox name=friend[] id=friend value=" . $i; 
     163    if ($friend[$i]) 
     164        $html .= " checked=\"checked\""; 
     165    $html .= "><b>Friend?</b></td>"; 
     166 
     167    $html .= "<td><input type=checkbox name=fetch_feed[] id=fetch value=" . $i; 
     168    if ($feed[$i]) 
     169        $html .= " checked=\"checked\""; 
     170    $html .= "><b>Fetch?</b><br>"; 
    193171    $html .= "</td></tr>"; 
    194         $html .= "<tr><td height=40px width=150px><b>Get kills instead of losses?</b></td>"; 
    195         $html .= "<td><input type=checkbox name=fetch_losses id=fetch_losses>"; 
    196         $html .= "<i> (by default only their kills, your losses, get fetched, when ticked this is inversed)</i></td></tr>"; 
    197         $html .= "</table><br><br>"; 
    198         $html .= "<input type=submit id=submit name=fetch value=\"Fetch!\"><br><br>"; 
    199  
    200         $html .= "<div class=block-header2>Options</div><table>"; 
    201         $html .= "<tr><td height=30px width=150px><b>Number of feeds:</b></td>"; 
    202         $html .= "<td><input type=text name=fetch_feed_count size=2 maxlength=2 class=password value=\"".$feedcount."\"></td></tr>"; 
    203         $html .= "<tr><td height=50px width=150px><b>Comment for automatically parsed killmails?</b></td>"; 
    204         $html .= "<td><input type=text size=50 class=password name=fetch_comment id=fetch_comment value=\""; 
    205     if ( config::get('fetch_comment') ) 
    206                 $html .= config::get('fetch_comment'); 
    207         $html .= "\"><br><i> (leave blank for none)</i><br></td></tr>"; 
    208         $html .= "<tr><td height=30px width=150px><b>Enable compression?</b></td>"; 
    209     $html .= "<td><input type=checkbox name=fetch_compress id=fetch_compress"; 
    210         if ( !config::get('fetch_compress') ) 
    211                 $html .= " checked=\"checked\""; 
    212         $html .= "><i> (enables GZip compression for feeds that support this feature, for streams that do not support GZip compression regular html mode will be used automatically)</i></td>"; 
    213         $html .= "</tr>"; 
    214         $html .= "<tr><td height=30px width=150px><b>Verbose mode?</b></td>"; 
    215     $html .= "<td><input type=checkbox name=fetch_verbose id=fetch_verbose"; 
    216         if ( config::get('fetch_verbose') ) 
    217                 $html .= " checked=\"checked\""; 
    218         $html .= "><i> (displays advanced feed request information and errormessages when the imported mail is rejected for being malformed, already exists or is not related to your corp or alliance)</i></td>"; 
    219         $html .= "</tr></table><br><br>"; 
    220     $html .= "<input type=submit id=submit name=submit value=\"Save\">"; 
    221         $html .= "</form>"; 
    222  
    223     $page->addContext( $menubox->generate() ); 
    224     $page->setContent( $html ); 
    225     $page->generate(); 
     172} 
     173$html .= '<tr><td colspan=2><i>Example: http://killboard.eve-d2.com/?a=feed</i></td><td>'; 
     174$html .= '<input type="checkbox" name="all" onclick="checkAll(this.form.friend,this)"><i>all/none</i></td><td>'; 
     175$html .= '<input type="checkbox" name="all" onclick="checkAll(this.form.fetch,this)"><i>all/none</i>'; 
     176$html .= "</td></tr><br></table><br><br><br>"; 
     177 
     178$html .= "<table><tr><td height=20px width=150px><b>First week:</b></td>"; 
     179$html .= '<td><select name="range1">'; 
     180$now = date("W"); 
     181for ($i = 1; $i <= 52; $i++) 
     182{ 
     183    if ($now == $i) 
     184        $html .= '<option selected="selected "value="' . $i . '">' . $i . '</option>'; 
     185    else 
     186        $html .= '<option value="' . $i . '">' . $i . '</option>'; 
     187} 
     188$html .= '</select>'; 
     189$html .= "<i></i></td></tr>"; 
     190$html .= "<tr><td height=20px width=150px><b>Last week:</b></td>"; 
     191$html .= '<td><select name="range2">'; 
     192for ($i = 1; $i <= 52; $i++) 
     193{ 
     194    if ($now == $i) 
     195        $html .= '<option selected="selected "value="' . $i . '">' . $i . '</option>'; 
     196    else 
     197        $html .= '<option value="' . $i . '">' . $i . '</option>'; 
     198} 
     199$html .= '</select>'; 
     200$html .= "<i></i></td></tr>"; 
     201 
     202$html .= "<tr><td height=20px width=150px><b>Year:</b></td>"; 
     203$html .= '<td><select name="year">'; 
     204$html .= '<option "value="2005">2005</option>'; 
     205$html .= '<option "value="2006">2006</option>'; 
     206$html .= '<option selected="selected "value="2007">2007</option>'; 
     207$html .= '<option "value="2008">2008</option>'; 
     208$html .= '<option "value="2009">2009</option>'; 
     209$html .= '</select>'; 
     210$html .= "</td></tr>"; 
     211$html .= "<tr><td height=40px width=150px><b>Get kills instead of losses?</b></td>"; 
     212$html .= "<td><input type=checkbox name=fetch_losses id=fetch_losses>"; 
     213$html .= "<i> (by default only their kills, your losses, get fetched, when ticked this is inversed)</i></td></tr>"; 
     214$html .= "</table><br><br>"; 
     215$html .= "<input type=submit id=submit name=fetch value=\"Fetch!\"><br><br>"; 
     216 
     217$html .= "<div class=block-header2>Options</div><table>"; 
     218$html .= "<tr><td height=30px width=150px><b>Number of feeds:</b></td>"; 
     219$html .= "<td><input type=text name=fetch_feed_count size=2 maxlength=2 class=password value=\"" . $feedcount . "\"></td></tr>"; 
     220$html .= "<tr><td height=50px width=150px><b>Comment for automatically parsed killmails?</b></td>"; 
     221$html .= "<td><input type=text size=50 class=password name=fetch_comment id=fetch_comment value=\""; 
     222if (config::get('fetch_comment')) 
     223    $html .= config::get('fetch_comment'); 
     224$html .= "\"><br><i> (leave blank for none)</i><br></td></tr>"; 
     225$html .= "<tr><td height=30px width=150px><b>Enable compression?</b></td>"; 
     226$html .= "<td><input type=checkbox name=fetch_compress id=fetch_compress"; 
     227if (!config::get('fetch_compress')) 
     228    $html .= " checked=\"checked\""; 
     229$html .= "><i> (enables GZip compression for feeds that support this feature, for streams that do not support GZip compression regular html mode will be used automatically)</i></td>"; 
     230$html .= "</tr>"; 
     231$html .= "<tr><td height=30px width=150px><b>Verbose mode?</b></td>"; 
     232$html .= "<td><input type=checkbox name=fetch_verbose id=fetch_verbose"; 
     233if (config::get('fetch_verbose')) 
     234    $html .= " checked=\"checked\""; 
     235$html .= "><i> (displays advanced feed request information and errormessages when the imported mail is rejected for being malformed, already exists or is not related to your corp or alliance)</i></td>"; 
     236$html .= "</tr></table><br><br>"; 
     237$html .= "<input type=submit id=submit name=submit value=\"Save\">"; 
     238$html .= "</form>"; 
     239 
     240$page->addContext($menubox->generate()); 
     241$page->setContent($html); 
     242$page->generate(); 
     243 
    226244?>