. * * @category Widget * @package GNU Social * @author Ian Denhardt * @author Sean Corbett * @copyright 2010 Free Software Foundation, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 */ if (!defined('STATUSNET')) { exit(1); } class PhotosAction extends Action { var $user = null; function prepare($args) { parent::prepare($args); $args = $this->returnToArgs(); $username = $args[1]['nickname']; if (common_valid_profile_tag($username) == 0) { $this->user = null; } else { $this->user = Profile::staticGet('nickname', $username); } return true; } function handle($args) { parent::handle($args); $this->showPage(); } function title() { if (empty($this->user)) { return _m('No such user.'); } else { return sprintf(_m("%s's Photos."), $this->user->nickname); } } function showContent() { if(empty($this->user)) { return; } $page = $_GET['pageid']; if (!filter_var($page, FILTER_VALIDATE_INT)){ $page = 1; } if ($page > 1) { $this->element('a', array('href' => 'photos?pageid=' . ($page-1)), 'Previous page'); } $this->element('a', array('href' => 'photos?pageid=' . ($page+1) ), 'Next page'); //TODO choice of available albums by user. //Currently based on fact that each user can only have one album. $album = GNUSocialPhotoAlbum::staticGet('profile_id', $this->user->id); $photos = GNUsocialPhoto::getGalleryPage($page, $album->album_id, 9); $this->elementStart('ul', array('class' => 'photothumbs')); foreach ($photos as $photo) { $this->elementStart('li'); $this->elementStart('a', array('href' => $photo->uri)); $this->element('img', array('src' => $photo->thumb_uri)); $this->elementEnd('a'); $this->elementEnd('li'); } $this->elementEnd('ul'); } }