diff --git a/plugins/GNUsocialPhotos/actions/photos.php b/plugins/GNUsocialPhotos/actions/photos.php index a9f76042b9..d5597191a8 100644 --- a/plugins/GNUsocialPhotos/actions/photos.php +++ b/plugins/GNUsocialPhotos/actions/photos.php @@ -39,9 +39,13 @@ class PhotosAction extends Action { parent::prepare($args); - $this->user = common_current_user(); - common_log(LOG_INFO, "finishing prepare. user : "); - common_log(LOG_INFO, $this->user->nickname); + $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; } @@ -54,75 +58,41 @@ class PhotosAction extends Action function title() { if (empty($this->user)) { - return _m('Hello'); + return _m('No such user.'); } else { - return sprintf(_m('Hello, %s'), $this->user->nickname); + return sprintf(_m("%s's Photos."), $this->user->nickname); } } function showContent() { - common_log(LOG_INFO, "getting to show content.\n"); - if (empty($this->user)) { - // TODO: should just redirect to the login page. - $this->element('p', array(), 'You are not logged in'); - } else { - common_log(LOG_INFO, 'fileroot : ' . $_SERVER['DOCUMENT_ROOT'] . '/file/'); - $dir = opendir($_SERVER['DOCUMENT_ROOT'] . '/file/'); - if ($dir === false) { - $err = error_get_last(); - common_log(LOG_INFO, 'Error opening dir : ' . $err['message']); - return; - } - $args = $this->returnToArgs(); - foreach (array_keys($args) as $key) { - common_log(LOG_INFO, $key . ' => ' . $args[$key]); - if (is_array($args[$key])) { - foreach (array_keys($args[$key]) as $skey) { - common_log(LOG_INFO, ' ' . $skey . ' => ' . $args[$key][$skey]); - } - } - } - $pathparts = explode('/', $args[1]['nickname']); - $username = $pathparts[0]; - - - - $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'); - - $args = $this->returnToArgs(); - $profile_nick = $args[1]['nickname']; //Nickname for the profile being looked at - - //TODO choice of available albums by user. - //Currently based on fact that each user can only have one album. - error_log('profile nick:', 3, '/tmp/sean.log'); - error_log($profile_nick, 3, '/tmp/sean.log'); - $profile = Profile::staticGet('nickname', $profile_nick); - //error_log(',profile_id:', 3, '/tmp/sean.log'); - //error_log($profile->id, 3, '/tmp/sean.log'); - $album = GNUSocialPhotoAlbum::staticGet('profile_id', $profile->id); - //error_log(',album_id:', 3, '/tmp/sean.log'); - //error_log($album->album_id, 3, '/tmp/sean.log'); - $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'); + 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'); } }