From fc131c2fb66997d42527e645ff475f7161165522 Mon Sep 17 00:00:00 2001
From: Ian Denhardt <ian@zenhack.net>
Date: Sun, 5 Sep 2010 13:19:15 -0400
Subject: [PATCH] Users now post photos to separate albums in the DB (still
 need to display them separately.)

---
 plugins/GNUsocialPhotos/actions/photoupload.php      | 12 +++++++++---
 .../GNUsocialPhotos/classes/gnusocialphotoalbum.php  | 12 +++++++-----
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/plugins/GNUsocialPhotos/actions/photoupload.php b/plugins/GNUsocialPhotos/actions/photoupload.php
index 84caf47475..a0dfd56bb4 100644
--- a/plugins/GNUsocialPhotos/actions/photoupload.php
+++ b/plugins/GNUsocialPhotos/actions/photoupload.php
@@ -113,7 +113,6 @@ class PhotouploadAction extends Action
 
     function uploadPhoto()
     {
-        common_log(LOG_INFO, 'Is this function even getting called?');
         $cur = common_current_user();
         if(empty($cur)) {
             return;
@@ -137,8 +136,15 @@ class PhotouploadAction extends Action
         $uri = 'http://' . common_config('site', 'server') . '/file/' . $filename;
         $thumb_uri = 'http://' . common_config('site', 'server') . '/file/thumb.' . $filename;
         $profile_id = $cur->id;
-		//scorbett: the second arg below should be set to the album ID
-        GNUsocialPhoto::saveNew($profile_id, 0, $thumb_uri, $uri, 'web');
+       
+        // TODO: proper multiple album support 
+        $album = GNUsocialPhotoAlbum::staticGet('profile_id', $profile_id);
+        if(!$album) {
+            $album = GNUsocialPhotoAlbum::newAlbum($profile_id, 'Default');
+            GNUsocialPhoto::saveNew($profile_id, $album->album_id, $thumb_uri, $uri, 'web');
+        } else {
+            GNUsocialPhoto::saveNew($profile_id, $album->album_id, $thumb_uri, $uri, 'web');
+        }
     }
 
 }
diff --git a/plugins/GNUsocialPhotos/classes/gnusocialphotoalbum.php b/plugins/GNUsocialPhotos/classes/gnusocialphotoalbum.php
index 853854e428..13c7663a67 100644
--- a/plugins/GNUsocialPhotos/classes/gnusocialphotoalbum.php
+++ b/plugins/GNUsocialPhotos/classes/gnusocialphotoalbum.php
@@ -69,8 +69,8 @@ class GNUsocialPhotoAlbum extends Memcached_DataObject
 
     function sequenceKey()
     {
-        return array(false, false, false);
-    } 
+        return array('album_id', true, false);
+    }
 
     static function newAlbum($profile_id, $album_name)
     {
@@ -81,14 +81,16 @@ class GNUsocialPhotoAlbum extends Memcached_DataObject
         }
         
         $album = new GNUsocialPhotoAlbum();
-        //TODO: Should autoincrement..
         $album->profile_id = $profile_id;
         $album->album_name = $album_name;
-        
-        if ($album->insert() == false){
+       
+        $album->album_id = $album->insert();
+        if (!$album->album_id){
             common_log_db_error($album, 'INSERT', __FILE__);
             throw new ServerException(_m('Error creating new album.'));
         }
+        common_log(LOG_INFO, 'album_id : ' . $album->album_id);
+        return $album;
     } 
 
 }
-- 
2.39.5