summaryrefslogtreecommitdiff
path: root/plugins/GNUsocialPhotos
diff options
context:
space:
mode:
authorIan Denhardt <ian@zenhack.net>2010-08-03 13:21:11 -0400
committerIan Denhardt <ian@zenhack.net>2010-08-03 13:21:11 -0400
commitfe5f55cc24d23848644af2ff212292e96545b940 (patch)
tree939a24932416b6415521b9fa949c6c91fb097c8a /plugins/GNUsocialPhotos
parenteebc37604a92d29f259ada59c3e655984449ad89 (diff)
rudementary photo albums. going to /username/photos displays all the images username has attached.
Diffstat (limited to 'plugins/GNUsocialPhotos')
-rw-r--r--plugins/GNUsocialPhotos/GNUsocialPhotosPlugin.php2
-rw-r--r--plugins/GNUsocialPhotos/actions/photos.php33
2 files changed, 33 insertions, 2 deletions
diff --git a/plugins/GNUsocialPhotos/GNUsocialPhotosPlugin.php b/plugins/GNUsocialPhotos/GNUsocialPhotosPlugin.php
index 928eeccc1..91861818a 100644
--- a/plugins/GNUsocialPhotos/GNUsocialPhotosPlugin.php
+++ b/plugins/GNUsocialPhotos/GNUsocialPhotosPlugin.php
@@ -53,7 +53,7 @@ class GNUsocialPhotosPlugin extends Plugin
function onRouterInitialized($m)
{
- $m->connect('main/photos', array('action' => 'photos'));
+ $m->connect(':nickname/photos', array('action' => 'photos'));
common_log(LOG_INFO, "init'd!");
return true;
}
diff --git a/plugins/GNUsocialPhotos/actions/photos.php b/plugins/GNUsocialPhotos/actions/photos.php
index 0780a0242..d34263e5b 100644
--- a/plugins/GNUsocialPhotos/actions/photos.php
+++ b/plugins/GNUsocialPhotos/actions/photos.php
@@ -67,7 +67,38 @@ class PhotosAction extends Action
// TODO: should just redirect to the login page.
$this->element('p', array(), 'You are not logged in');
} else {
- $this->element('p', array(), common_config('site', 'path'));
+ 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];
+ while (false !== ($file = readdir($dir))) {
+ $fparts = explode('-', $file);
+ if ($fparts[0] == $username // uploaded by this user
+ && ((substr($file, -4) == '.png')
+ || (substr($file, -4) == '.jpg') // XXX: is this needed? status.net seems to save jpgs as .jpeg
+ || (substr($file, -5) == '.jpeg')
+ || (substr($file, -4) == '.gif')
+ || (substr($file, -4) == '.svg'))) { // and it's an image
+ common_log(LOG_INFO, 'file : ' . $file);
+ $this->elementStart('p');
+ $this->element('a', array('href' => 'http://' . common_config('site', 'server') . '/file/' . $file), $file);
+ $this->elementEnd('p');
+ }
+ }
}
}
}