Skip to content

Commit

Permalink
[mod] adjust Youtube service class + styles
Browse files Browse the repository at this point in the history
- remove youtube classes for method parameter
- add new list parameter (uploads, favorites)
- using Feed class
  • Loading branch information
haschek committed Nov 13, 2011
1 parent 178d57b commit 07a7364
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 68 deletions.
67 changes: 20 additions & 47 deletions lib/Services/Youtube.php
Expand Up @@ -2,62 +2,35 @@
defined('PUBWICH') or die('No direct access allowed.');

/**
* @classname Youtube
* @description Fetch Youtube videos
* Youtube Service
*
* Fetch Youtube videos.
*
* @version 1.2 (20100530)
* @author Rémi Prévost (exomel.com)
* @methods YoutubeVideos YoutubeVideos
* @author Michael Haschke, http://michael.haschke.biz/
*/

Pubwich::requireServiceFile( 'Atom' );
class Youtube extends Atom {

private $size;
Pubwich::requireServiceFile( 'Feed' );
class Youtube extends Feed {

public function __construct( $config ){
$this->size = $config['size'];
parent::__construct( $config );
$this->setItemTemplate('<li class="clearfix"><a href="{{{link}}}"><img src="{{{image}}}" alt="{{{title}}}" /><strong>{{{title}}}</strong></a></li>'."\n");
}

/**
* @return array
*/
public function populateItemTemplate( &$item ) {
$media = $item->children('http://search.yahoo.com/mrss/');

if ( $media->group->thumbnail ) {
$attrs = $media->group->thumbnail[0]->attributes();
$title = (string) $media->group->title;
$description = (string) $media->group->description;
$url_attrs = $media->group->player->attributes();
$url = $url_attrs['url'];
}

return parent::populateItemTemplate( $item ) + array(
'image' => $attrs ? $attrs['url'] : '',
'size' => $item->size,
);
}

}
$config['list'] = isset($config['list']) ? $config['list']:'uploads';
$config['url'] = 'http://gdata.youtube.com/feeds/api/users/'.
$config['username'].'/'.$config['list'].
'?v=2&orderby=published&max-results='.$config['total'];
$config['link'] = 'http://youtube.com/user/'.$config['username'];
$config['contenttype'] = 'application/atom+xml';

class YoutubeVideos extends Youtube {

public function __construct( $config ){
$config['url'] = sprintf( 'http://gdata.youtube.com/feeds/api/users/%s/uploads?v=2', $config['username'] );
$config['link'] = 'http://www.youtube.com/user/'.$config['username'].'/';
parent::__construct( $config );
}

}

class YoutubeFavorites extends Youtube {

public function __construct( $config ){
$config['url'] = sprintf( 'http://gdata.youtube.com/feeds/api/users/%s/favorites?v=2', $config['username'] );
$config['link'] = 'http://www.youtube.com/user/'.$config['username'].'#p/f';
parent::__construct( $config );
$this->setItemTemplate(
'<li>
<a href="{{{link}}}"><img src="{{{media_thumbnail_url}}}" alt="" class="item-media-thumbnail" height="75"/>
{{{title}}}</a> ({{{date}}})
</li>'."\n"
);
}

}

21 changes: 0 additions & 21 deletions themes/default/style.css
Expand Up @@ -448,27 +448,6 @@ h1, h2, h1 a, h2 a {
color: #D62323;
}

.youtube li a {
display: block;
padding: 5px;
border: none;
}

.youtube li a img {
float: left;
display: block;
}

.youtube li a strong {
display: block;
margin-left: 130px;
}

.youtube li a span {
display: block;
margin-left: 130px;
}

/**
* =! Vimeo
******************************************************************/
Expand Down

0 comments on commit 07a7364

Please sign in to comment.