]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
rudementary photo albums. going to /username/photos displays all the images username...
authorIan Denhardt <ian@zenhack.net>
Tue, 3 Aug 2010 17:21:11 +0000 (13:21 -0400)
committerIan Denhardt <ian@zenhack.net>
Tue, 3 Aug 2010 17:21:11 +0000 (13:21 -0400)
plugins/GNUsocialPhotos/GNUsocialPhotosPlugin.php
plugins/GNUsocialPhotos/actions/photos.php

index 928eeccc1c33b38ae0d942af900ccc61299af2c5..91861818a1534686339438704bd7819706f9c4a4 100644 (file)
@@ -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;
     }
index 0780a0242a4e8dc229161c783a2f2488cdd3a437..d34263e5b8b65b64a955789c230050c87ce03d34 100644 (file)
@@ -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');
+                }
+            }
         } 
     } 
 }