Changeset 947

Show
Ignore:
Timestamp:
10/12/05 19:06:40 (3 years ago)
Author:
mbonetti
Message:

Fix for #915. Applied James' enclosure patch. Plugin follows.
(Thank you very much, Jamers!)

Location:
trunk/rss
Files:
16 modified

Legend:

Unmodified
Added
Removed
  • trunk/rss/cls/items.php

    r946 r947  
    3737    var $title; 
    3838    var $url; 
     39    var $enclosure; 
    3940    var $id; 
    4041    var $feed; 
     
    5859     * ctor 
    5960     */ 
    60     function Item($id, $title, $url, $parent, $author, $description, $date, $isPubDate, $unread, $rating) { 
     61    function Item($id, $title, $url, $enclosure, $parent, $author, $description, $date, $isPubDate, $unread, $rating) { 
    6162        $this->rss = &$GLOBALS['rss']; 
    6263        $this->id = $id; 
     
    7374        $this->escapedTitle = preg_replace("/[^A-Za-z0-9%\.]/", "_", utf8_uri_encode($title)); 
    7475        $this->url = $url; 
     76        $this->enclosure = $enclosure; 
    7577        $this->feed = $parent; 
    7678        $this->author = $author; 
     
    270272        _pf('ItemList::populate()'); 
    271273        $sql = "select i.title,  c.title, c.id, i.unread, " 
    272             ."i.url, i.author, i.description, c.icon, " 
     274            ."i.url, i.enclosure, i.author, i.description, c.icon, " 
    273275            ." unix_timestamp(ifnull(i.pubdate,i.added)) as ts, " 
    274276            ." i.pubdate is not null as ispubdate, i.id, r.rating  " 
     
    340342        $curIdx = 0; 
    341343        $f=null; 
    342         while (list ($ititle_, $ctitle_, $cid_, $iunread_, $iurl_, $iauthor_, $idescr_, $cicon_, $its_, $iispubdate_, $iid_, $rrating_) = $this->rss->db->rss_fetch_row($res)) { 
     344        while (list ($ititle_, $ctitle_, $cid_, $iunread_, $iurl_, $ienclosure_, $iauthor_, $idescr_, $cicon_, $its_, $iispubdate_, $iid_, $rrating_) = $this->rss->db->rss_fetch_row($res)) { 
    343345             
    344346            // Built a new Item 
    345             $i = new Item($iid_, $ititle_, $iurl_, $cid_, $iauthor_, $idescr_, $its_, $iispubdate_, $iunread_, $rrating_); 
     347            $i = new Item($iid_, $ititle_, $iurl_, $ienclosure_, $cid_, $iauthor_, $idescr_, $its_, $iispubdate_, $iunread_, $rrating_); 
    346348             
    347349            // no dupes, please 
  • trunk/rss/cls/wrappers/item.php

    r940 r947  
    279279} 
    280280 
     281function rss_item_has_enclosure() { 
     282   return ! empty($GLOBALS['rss']->currentItem->enclosure); 
     283} 
     284 
     285function rss_item_enclosure() { 
     286    if ( rss_item_has_enclosure() ) { 
     287        return $GLOBALS['rss']->currentItem->enclosure; 
     288  } 
     289} 
     290 
     291 
    281292?> 
  • trunk/rss/dbstruct.sql

    r928 r947  
    5555  `title` varchar(255) default NULL, 
    5656  `url` varchar(255) default NULL, 
     57  `enclosure` varchar(255) default NULL, 
    5758  `description` text, 
    5859  `unread` tinyint(4) default '1', 
  • trunk/rss/extlib/rss_parse.inc

    r916 r947  
    217217            $this->inimage = true; 
    218218        } 
     219 
     220        elseif ( 
     221            $this->feed_type == RSS and  
     222            $this->current_namespace == '' and  
     223            $el == 'enclosure' )  
     224        { 
     225            $this->current_item['enclosure'] = $attrs['url']; 
     226        } 
    219227         
    220228        # handle atom content constructs 
  • trunk/rss/intl/de.php

    r879 r947  
    244244 
    245245define ('LBL_RATING','Bewertung:'); 
     246// New in 0.5.3: 
     247define('LBL_ENCLOSURE', 'Enclosure:'); 
     248define('LBL_DOWNLOAD', 'download'); 
     249define('LBL_PLAY', 'play'); 
    246250?> 
  • trunk/rss/intl/dk.php

    r898 r947  
    244244 
    245245define ('LBL_RATING','Bedømmelse:'); 
     246// New in 0.5.3: 
     247define('LBL_ENCLOSURE', 'Enclosure:'); 
     248define('LBL_DOWNLOAD', 'download'); 
     249define('LBL_PLAY', 'play'); 
    246250?> 
  • trunk/rss/intl/en.php

    r907 r947  
    251251define ('LBL_RATING','Rating:'); 
    252252 
     253 
     254// New in 0.5.3: 
     255define('LBL_ENCLOSURE', 'Enclosure:'); 
     256define('LBL_DOWNLOAD', 'download'); 
     257define('LBL_PLAY', 'play'); 
    253258?> 
  • trunk/rss/intl/es.php

    r879 r947  
    250250define ('LBL_RATING','Valoración:'); 
    251251 
     252// New in 0.5.3: 
     253define('LBL_ENCLOSURE', 'Recinto:'); 
     254define('LBL_DOWNLOAD', 'download'); 
     255define('LBL_PLAY', 'play'); 
    252256?> 
  • trunk/rss/intl/fr.php

    r879 r947  
    247247 
    248248define ('LBL_RATING','Rating:'); 
     249// New in 0.5.3: 
     250define('LBL_ENCLOSURE', 'ClÔture:'); 
     251define('LBL_DOWNLOAD', 'télécharger'); 
     252define('LBL_PLAY', 'jouer'); 
    249253?> 
  • trunk/rss/intl/it.php

    r879 r947  
    252252 
    253253define ('LBL_RATING','Rating:'); 
     254// New in 0.5.3: 
     255define('LBL_ENCLOSURE', 'Enclosure:'); 
     256define('LBL_DOWNLOAD', 'scarica'); 
     257define('LBL_PLAY', 'riproduci'); 
    254258?> 
  • trunk/rss/intl/pt_BR.php

    r908 r947  
    245245 
    246246define ('LBL_RATING','Avaliação:'); 
     247// New in 0.5.3: 
     248define('LBL_ENCLOSURE', 'Enclosure:'); 
     249define('LBL_DOWNLOAD', 'download'); 
     250define('LBL_PLAY', 'play'); 
    247251?> 
  • trunk/rss/intl/ru.php

    r858 r947  
    262262 
    263263define ('LBL_RATING','Rating:'); 
    264  
     264// New in 0.5.3: 
     265define('LBL_ENCLOSURE', 'Enclosure:'); 
     266define('LBL_DOWNLOAD', 'download'); 
     267define('LBL_PLAY', 'play'); 
    265268?> 
  • trunk/rss/intl/sv.php

    r902 r947  
    256256 
    257257define ('LBL_RATING','Värdering:'); 
     258// New in 0.5.3: 
     259define('LBL_ENCLOSURE', 'Enclosure:'); 
     260define('LBL_DOWNLOAD', 'download'); 
     261define('LBL_PLAY', 'play'); 
    258262 
    259263?> 
  • trunk/rss/schema.php

    r927 r947  
    137137            } 
    138138        break; 
     139        case 'i.enclosure': 
     140        case 'enclosure': 
     141            // enclosure for an item 
     142            rss_query('alter table ' . getTable('item') . ' add column enclosure varchar(255) null'); 
     143            if (rss_is_sql_error(RSS_SQL_ERROR_NO_ERROR)) { 
     144                $updated++; 
     145                rss_error('updated schema for table ' . getTable('item'), RSS_ERROR_NOTICE); 
     146            } else { 
     147                rss_error('Failed updating schema for table ' . getTable('item') . ': ' 
     148                    . rss_sql_error_message(), RSS_ERROR_ERROR); 
     149            } 
     150        break; 
    139151    } 
    140152    return $updated; 
     
    312324          title varchar(255) default NULL, 
    313325          url varchar(255) default NULL, 
     326          enclosure varchar(255) default NULL, 
    314327          description text, 
    315328          unread tinyint(4) default '1', 
  • trunk/rss/themes/default/item.php

    r890 r947  
    2121    </div> 
    2222    <?php } ?> 
     23    <?php if (rss_item_has_enclosure()) { ?> 
     24      <h5><?php echo LBL_ENCLOSURE; ?>&nbsp;[<a href="<?php echo rss_item_enclosure(); ?>"><?php echo LBL_DOWNLOAD; ?></a><?php rss_plugin_hook("rss.plugins.items.enclosure", null); ?>]</h5> 
     25    <?php } ?> 
    2326    <?php   if (rss_item_display_tags()) { ?> 
    2427    <h5> 
  • trunk/rss/util.php

    r940 r947  
    241241            } 
    242242 
     243         // enclosure 
     244            if (array_key_exists('enclosure', $item) ) { 
     245            $enclosure = $item['enclosure']; 
     246         } else { 
     247            $enclosure = ""; 
     248         } 
     249 
    243250            // drop items with an url exceeding our column length: we couldn't provide a 
    244251            // valid link back anyway. 
     
    264271 
    265272                $sql = "insert into ".getTable("item") 
    266                 ." (cid, added, title, url, "." description, author, unread, pubdate) " 
     273                ." (cid, added, title, url, enclosure," 
     274            ." description, author, unread, pubdate) " 
    267275                ." values ("."$cid, now(), '$dbtitle', " 
    268                 ." '$url', '".rss_real_escape_string($description)."', '" 
     276                ." '$url', '$enclosure', '" 
     277            .rss_real_escape_string($description)."', '" 
    269278                .rss_real_escape_string($author)."', " 
    270279                ."$mode, $sec)";