Changeset 33

Show
Ignore:
Timestamp:
03/31/08 23:15:11 (5 months ago)
Author:
mauriz
Message:

Display "last update" in admin

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/experimental-simplepie-inherit/admin/index.php

    r28 r33  
    22require_once dirname(__FILE__).'/inc/auth.inc.php'; 
    33 
     4include_once(dirname(__FILE__).'/../app/classes/Planet.class.php'); 
    45require_once dirname(__FILE__).'/../app/lib/lib.opml.php'; 
     6 
     7//Load system files (config and OPML) 
     8$conf = Spyc::YAMLLoad(dirname(__FILE__).'/../custom/config.yml'); 
    59$opml = OpmlManager::load(dirname(__FILE__).'/../custom/people.opml'); 
     10 
     11//Build config object 
     12//Use OPML title if no title defined in the config file 
     13$PlanetConfig = new PlanetConfig($conf); 
     14if ($PlanetConfig->getName() === '') { 
     15    $PlanetConfig->setName($opml->getTitle()); 
     16} 
     17 
     18$Planet = new Planet($PlanetConfig); 
     19 
    620$opml_people = $opml->getPeople(); 
     21foreach ($opml_people as $opml_person){  
     22    if (!isset($opml_person['feed'])){ 
     23        continue; 
     24    } 
     25 
     26    if (!isset($opml_person['website'])){ 
     27        //use dirname as website, doesn't work with RSS proxies like feedburner 
     28        $opml_person['website'] = dirname($opml_person['feed']); 
     29    } 
     30 
     31    if (!isset($opml_person['name'])){ 
     32        //use url as screen name 
     33        $opml_person['name'] = $opml_person['website']; 
     34    } 
     35 
     36    $Planet->addPerson( 
     37        new PlanetPerson( 
     38            $opml_person['name'], 
     39            $opml_person['feed'], 
     40            $opml_person['website'] 
     41        ) 
     42    ); 
     43} 
     44 
     45$Planet->loadFeeds(true, true); 
     46 
     47//var_dump($Planet); 
     48 
    749header('Content-type: text/HTML; charset=UTF-8'); 
    850?> 
     
    75117                            <th><span>Selection</span></th> 
    76118                            <th>Name</th> 
     119                            <th>Last entry</th> 
    77120                            <th>Website link</th> 
    78121                            <th>Feed link</th> 
     
    82125                        <?php  
    83126                        $i = 0; 
    84                         foreach ($opml_people as $opml_person){ 
     127                        $everyone = $Planet->getPeople(); 
     128                        foreach ($everyone as $opml_person){ 
    85129                        $i++; 
    86130                        ?> 
    87131                        <tr class="<?php echo ($i%2)?'odd':'even'; ?>"> 
    88132                            <td><input type="checkbox" class="checkbox" name="opml[<?php echo $i; ?>][delete]" /></td> 
    89                             <td><input type="text" size="10" class="text" name="opml[<?php echo $i; ?>][name]" value="<?php echo $opml_person['name']; ?>" /></td> 
    90                             <td><input type="text" size="30" class="text" name="opml[<?php echo $i; ?>][website]" value="<?php echo $opml_person['website']; ?>" /></td> 
    91                             <td><input type="text" size="30" class="text" name="opml[<?php echo $i; ?>][feed]" value="<?php echo $opml_person['feed']; ?>" /></td> 
     133                            <td><input type="text" size="10" class="text" name="opml[<?php echo $i; ?>][name]" value="<?php echo $opml_person->getName(); ?>" /></td> 
     134                            <td> 
     135                                <?php  
     136                                $items = $opml_person->get_items(); 
     137                                if (count($items) > 0) { 
     138                                    echo $items[0]->get_date(); 
     139                                } else { 
     140                                    echo "Not in cache"; 
     141                                } 
     142                                ?> 
     143                            </td> 
     144                            <td><input type="text" size="30" class="text" name="opml[<?php echo $i; ?>][website]" value="<?php echo $opml_person->getWebsite(); ?>" /></td> 
     145                            <td><input type="text" size="30" class="text" name="opml[<?php echo $i; ?>][feed]" value="<?php echo $opml_person->getFeed(); ?>" /></td> 
    92146                        </tr> 
    93147                        <?php } ?> 
  • branches/experimental-simplepie-inherit/app/classes/Planet.class.php

    r32 r33  
    8282    } 
    8383 
     84    //@TODO: drop this pref 
    8485    function getShuffle(){ 
    8586        return $this->conf['shuffle']; 
     
    9091    } 
    9192 
     93    //@TODO: drop this pref 
    9294    function getNoHTML(){ 
    9395        return $this->conf['nohtml']; 
    9496    } 
    9597 
     98    //@TODO: drop this pref 
    9699    function getPostMaxLength(){ 
    97100        return $this->conf['postmaxlength']; 
     
    117120        parent::__construct(); 
    118121        $this->set_item_class('PlanetItem'); 
     122        $this->set_cache_location(dirname(__FILE__).'/../../cache'); 
    119123    } 
    120124     
     
    215219     * Load feeds 
    216220     */ 
    217     function loadFeeds($zap=true){ 
     221    function loadFeeds($zap=true, $force_cache=false){ 
    218222         
    219223        $i = 0; 
     
    231235                $this->errors[] = new PlanetError(1, 'Forced from cache : '.$person->getFeed()); 
    232236            } 
     237            if ($force_cache) { 
     238                $person->set_timeout(-1); 
     239            } 
    233240             
    234241            //Load feed 
    235242            $person->init(); 
    236243             
     244            // http://simplepie.org/wiki/reference/simplepie/merge_items ? 
    237245            //Add items to index 
    238246            if (($person->data) && ($person->get_item_quantity() > 0)){ 
  • branches/experimental-simplepie-inherit/custom/tpl/index.tpl.php

    r32 r33  
    2727                    </h2> 
    2828                    <p class="post-info"> 
     29                        <?php 
     30                        $feed = $item->get_feed(); 
     31                        echo '<a href="'.$feed->getWebsite().'" class="source">'.$feed->getName().'</a>'; 
     32                        ?> 
     33                         
    2934                        <?php echo ($item->get_author()? $item->get_author()->get_name() : 'anonymous'); ?>, 
    3035                        <?php  
    3136                        $ago = time() - $item->get_date('U'); 
    32                         echo '<span title="'.Duration::toString($ago).' ago">'.date('d/m/Y', $item->get_date('U')).'</span>'; 
     37                        echo '<span title="'.Duration::toString($ago).' ago" class="date">'.date('d/m/Y', $item->get_date('U')).'</span>'; 
    3338                        ?> 
    34                          
    35                         <?php 
    36                         $feed = $item->get_feed(); 
    37                         $favicon = $feed->get_favicon(); 
    38                         if ($favicon) { 
    39                             echo '<a href="'.$feed->getWebsite().'" class="source">'.$feed->getName().'</a>'; 
    40                         } 
    41                         ?> 
    42                          
    4339                    </p> 
    4440                    <div class="post-content"> 
     
    5450        <?php include(dirname(__FILE__).'/footer.tpl.php'); ?> 
    5551    </div> 
     52     
     53    <script src="app/js/mm.js" type="text/javascript"></script> 
    5654</body> 
    5755</html>