Show
Ignore:
Timestamp:
12/07/06 05:34:28 (14 years ago)
Author:
exi
Message:

Pimped the syndication module.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • dev/common/admin_feed.php

    r136 r137  
    1 <? 
     1<?php 
     2@set_time_limit(0); 
     3 
    24// liq's feed syndication mod v1.0 
     5require_once("class.page.php"); 
     6require_once("db.php"); 
     7require_once("admin_menu.php"); 
     8require_once("feed_fetcher.php"); 
     9require_once("class.killboard.php"); 
     10require_once('class.corp.php'); 
     11require_once('class.alliance.php'); 
    312 
    4   require_once( "class.page.php" ); 
    5   require_once( "db.php" ); 
    6   require_once( "admin_menu.php" );   
    7   require_once( "feed_fetcher.php" ); 
    8   require_once( "class.killboard.php" ); 
    9    
    10   $page = new Page( "Administration - Feeds" ); 
    11   $page->setAdmin(); 
    12   $killboard = new Killboard( KB_SITE ); 
    13    
    14   $validurl = "/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}((:[0-9]{1,5})?\/.*)?$/i";   
    15      
    16   $html .= "<table class=kb-subtable>"; 
    17    
    18         if ( $_POST['fetch'] ) { 
    19                 $i=1; 
    20                 while ( $i <= 5 ) { 
    21                         @set_time_limit(0);  
    22                         $feed = new Fetcher(); 
    23                         $url = "fetch_url_".$i; 
    24                         if ( preg_match( $validurl ,$config->getConfig($url) )) { 
    25                          
    26                                 if ( $_POST['graball'] ) { 
    27                                         $l=1;  
    28                                         while ( $l <= 52 ) { 
    29                                                 $html .= "<b>Week: ". $l ."</b><br>"; 
    30                                                 $html .= $feed->generate( $config->getConfig($url)."&week=".$l ); 
    31                                                 $l++; 
    32                                         } 
    33                             } else 
    34                                 $html .= $feed->generate( $config->getConfig($url) ); 
    35                         } 
    36                         $i++; 
    37                 } 
    38         } 
     13$page = new Page("Administration - Feeds"); 
     14$page->setAdmin(); 
     15$killboard = new Killboard(KB_SITE); 
    3916 
    40         if ( $_POST['submit'] ) { 
    41          
    42                 $i=1; 
    43                 while ( $i <= 5 ) { 
    44                         $url = "fetch_url_".$i; 
    45                         if ( preg_match($validurl ,$_POST[$url]) ) 
    46                                 $config->setConfig($url, $_POST[$url]);          
    47                 else  
    48                                 $config->setConfig($url, ''); 
    49                         $i++; 
    50                 } 
    51         }  
     17// the rig0r basecode does not have this functions 
     18function setConfig($key, $value) 
     19{ 
     20    global $config; 
    5221 
    53   $html .= "<br><form id=options name=options method=post action=?a=admin_feed>"; 
    54   $html .= "<input type=submit id=submit name=fetch value=\"Fetch\">"; 
    55   $html .= "<br><br><input type=checkbox name=graball id=graball>grab ALL kills from the feed servers? <br> <i>(use this may take upto several hours depending on the amount of kills to import!)</i>"; 
    56   $html .= "</form></table><br>"; 
    57    
    58   $html .= "<table class=kb-subtable>"; 
    59   $html .= "<div class=block-header2>Feed options</div>"; 
    60   $html .= "<form id=options name=options method=post action=?a=admin_feed>"; 
    61   $html .= "Feed url #1<input type=text name=fetch_url_1 size=50 class=password value=\"".$config->getConfig('fetch_url_1')."\"><br><br>"; 
    62   $html .= "Feed url #2<input type=text name=fetch_url_2 size=50 class=password value=\"".$config->getConfig('fetch_url_2')."\"><br><br>"; 
    63   $html .= "Feed url #3<input type=text name=fetch_url_3 size=50 class=password value=\"".$config->getConfig('fetch_url_3')."\"><br><br>"; 
    64   $html .= "Feed url #4<input type=text name=fetch_url_4 size=50 class=password value=\"".$config->getConfig('fetch_url_4')."\"><br><br>"; 
    65   $html .= "Feed url #5<input type=text name=fetch_url_5 size=50 class=password value=\"".$config->getConfig('fetch_url_5')."\"><br><br>"; 
    66   $html .= "<i>Example: http://killboard.eve-d2.com/?a=feed</i>";  
    67   $html .= "<br><br><br><input type=submit id=submit name=submit value=\"Save\">"; 
    68   $html .= "</form></table>";  
     22    if (method_exists($config, 'setConfig')) 
     23    { 
     24        return $config->setConfig($key, $value); 
     25    } 
    6926 
    70   $page->addContext( $menubox->generate() ); 
    71   $page->setContent( $html ); 
    72   $page->generate(); 
    73          
     27    $qry = new DBQuery(); 
     28    $qry->execute("select cfg_value from kb3_config 
     29                   where cfg_key = '".$key."' and cfg_site = '".KB_SITE."'"); 
     30    if ($qry->recordCount()) 
     31    { 
     32        $sql = "update kb3_config set cfg_value = '".$value."' 
     33                where cfg_site = '".KB_SITE."' and cfg_key = '".$key."'"; 
     34    } 
     35    else 
     36    { 
     37        $sql = "insert into kb3_config values ( '".KB_SITE."','".$key."','".$value."' )"; 
     38    } 
     39    $qry->execute($sql); 
     40} 
     41 
     42function getConfig($key) 
     43{ 
     44    global $config; 
     45 
     46    if (method_exists($config, 'getConfig')) 
     47    { 
     48        return $config->getConfig($key); 
     49    } 
     50    $qry = new DBQuery(); 
     51    $qry->query("select ".$key." from kb3_config where cfg_site = '".KB_SITE."'"); 
     52    $row = $qry->getRow(); 
     53    if (isset($row[$key])) 
     54    { 
     55        return $row[$key]; 
     56    } 
     57    return false; 
     58} 
     59 
     60$validurl = "/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}((:[0-9]{1,5})?\/.*)?$/i"; 
     61 
     62$html .= "<table class=\"kb-subtable\">"; 
     63 
     64$feed = array(); 
     65for ($i = 1; $i<=5; $i++) 
     66{ 
     67    $str = getConfig('fetch_url_'.$i); 
     68    $tmp = explode(':::', $str); 
     69    $feed[$i] = $tmp[0]; 
     70    $time[$i] = $tmp[1]; 
     71} 
     72 
     73if ($_POST['fetch']) 
     74{ 
     75    $i = 1; 
     76    while ($i <= 5) 
     77    { 
     78        $feedfetch = new Fetcher(); 
     79        $url = "fetch_url_".$i; 
     80        if (preg_match($validurl , $feed[$i])) 
     81        { 
     82            $str = ''; 
     83            if (CORP_ID) 
     84            { 
     85                $corp = new Corporation(CORP_ID); 
     86                $str = '&corp_name='.urlencode($corp->getName()); 
     87            } 
     88            else 
     89            { 
     90                $all = new Alliance(ALLIANCE_ID); 
     91                $str = '&alliance_name='.urlencode($all->getName()); 
     92            } 
     93            if ($time[$i]) 
     94            { 
     95                $str .= '&lastkllid='.$time[$i]; 
     96            } 
     97 
     98            if ($_POST['graball']) 
     99            { 
     100                $l = 1; 
     101                while ($l <= 52) 
     102                { 
     103                    $html .= "<b>Week: ".$l."</b><br>"; 
     104                    $html .= $feedfetch->generate($feed[$i]."&week=".$l.$str); 
     105                    $l++; 
     106                } 
     107            } 
     108            else 
     109            { 
     110                $html .= $feedfetch->generate($feed[$i].$str); 
     111            } 
     112            setConfig($url, $feed[$i].':::'.$lastkllid); 
     113            $time[$i] = $lastkllid; 
     114        } 
     115        $i++; 
     116    } 
     117} 
     118 
     119if ($_POST['submit']) 
     120{ 
     121    $i = 1; 
     122    while ($i <= 5) 
     123    { 
     124        $url = "fetch_url_".$i; 
     125        if (preg_match($validurl , $_POST[$url])) 
     126        { 
     127            setConfig($url, $_POST[$url].':::'.$time[$i]); 
     128            $feed[$i] = $_POST[$url]; 
     129        } 
     130        else 
     131        { 
     132            setConfig($url, ''); 
     133        } 
     134        $i++; 
     135    } 
     136} 
     137 
     138$html .= "<br><form id=options name=options method=post action=?a=admin_feed>"; 
     139$html .= "<input type=submit id=submit name=fetch value=\"Fetch\">"; 
     140$html .= "<br><br><input type=checkbox name=graball id=graball>grab ALL kills from the feed servers? <br> <i>(use this may take upto several hours depending on the amount of kills to import!)</i>"; 
     141$html .= "</form></table><br>"; 
     142 
     143$html .= "<table class=kb-subtable>"; 
     144$html .= "<div class=block-header2>Feed options</div>"; 
     145$html .= "<form id=options name=options method=post action=?a=admin_feed>"; 
     146$html .= "Feed url #1<input type=text name=fetch_url_1 size=50 class=password value=\"".$feed[1]."\"><br><br>"; 
     147$html .= "Feed url #2<input type=text name=fetch_url_2 size=50 class=password value=\"".$feed[2]."\"><br><br>"; 
     148$html .= "Feed url #3<input type=text name=fetch_url_3 size=50 class=password value=\"".$feed[3]."\"><br><br>"; 
     149$html .= "Feed url #4<input type=text name=fetch_url_4 size=50 class=password value=\"".$feed[4]."\"><br><br>"; 
     150$html .= "Feed url #5<input type=text name=fetch_url_5 size=50 class=password value=\"".$feed[5]."\"><br><br>"; 
     151$html .= "<i>Example: http://killboard.eve-d2.com/?a=feed</i>"; 
     152$html .= "<br><br><br><input type=submit id=submit name=submit value=\"Save\">"; 
     153$html .= "</form></table>"; 
     154 
     155$page->addContext($menubox->generate()); 
     156$page->setContent($html); 
     157$page->generate(); 
    74158?>