]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/GNUsocialPhotos/actions/photoupload.php
Notifications and deleting albums
[quix0rs-gnu-social.git] / plugins / GNUsocialPhotos / actions / photoupload.php
index fc86b8e3abe079b27688d943cf367d6e1df0ecff..5411ec8089ce5b8a5d448421fc8b1dc39b1432b9 100644 (file)
@@ -63,6 +63,12 @@ class PhotouploadAction extends Action
         if(empty($this->user)) {
             $this->element('p', array(), 'You are not logged in.');
         } else {
+            //showForm() data
+            if(!empty($this->msg)) {
+                $class = ($this->success) ? 'success' : 'error';
+                $this->element('p', array('class' => $class), $this->msg);
+            }
+
             $this->elementStart('form', array('enctype' => 'multipart/form-data',
                                               'method' => 'post',
                                               'action' => common_local_url('photoupload')));
@@ -101,6 +107,18 @@ class PhotouploadAction extends Action
             $this->elementEnd('ul');
             $this->submit('create', _('Create'));
             $this->elementEnd('form');
+
+            //Delete an album
+            $this->element('h3', array(), _("Delete an album"));
+            $this->elementStart('form', array('method' => 'post',
+                                              'action' =>common_local_url('photoupload')));
+            $this->elementStart('ul', 'form_data');
+            $this->elementStart('li');
+            $this->dropdown('album', _("Album"), $this->albumList(), _("The album in which to place this photo"), false);
+            $this->elementEnd('li');
+            $this->elementEnd('ul');
+            $this->submit('deletealbum', _('Delete'));
+            $this->elementEnd('form');
             
         }
     }
@@ -138,6 +156,9 @@ class PhotouploadAction extends Action
         if ($this->arg('create')) {
             $this->createAlbum();
         }
+        if ($this->arg('deletealbum')) {
+            $this->deleteAlbum();
+        }
     }
 
     function showForm($msg, $success=false)
@@ -213,4 +234,26 @@ class PhotouploadAction extends Action
        
         GNUsocialPhotoAlbum::newAlbum($cur->id, $album_name, $album_description);
     }
+
+    function deleteAlbum()
+    {
+        $cur = common_current_user();
+        if(empty($cur)) return;
+        
+        $album_id = $this->trimmed('album');
+        $album = GNUsocialPhotoAlbum::staticGet('album_id', $album_id);
+        if (empty($album)) {
+            $this->showForm(_('This album does not exist or has been deleted.'));
+            return;
+        }
+        //Check if the album has any photos in it before deleting
+        $photos = GNUsocialPhoto::staticGet('album_id', $album_id);
+        if(empty($photos)) {
+            $album->delete();
+            $this->showForm(_('Album deleted'), true);
+        }
+        else {
+            $this->showForm(_('Cannot delete album when there are photos in it!'), false);
+        }
+    }
 }