diff --git a/plugins/GNUsocialPhotos/actions/editphoto.php b/plugins/GNUsocialPhotos/actions/editphoto.php index e32b5fe01d..34f41a2752 100644 --- a/plugins/GNUsocialPhotos/actions/editphoto.php +++ b/plugins/GNUsocialPhotos/actions/editphoto.php @@ -76,6 +76,12 @@ class EditphotoAction extends Action return; } + //showForm() data + if(!empty($this->msg)) { + $class = ($this->success) ? 'success' : 'error'; + $this->element('p', array('class' => $class), $this->msg); + } + $this->element('img', array('src' => $this->photo->uri)); $this->elementStart('form', array('method' => 'post', 'action' => '/editphoto/' . $this->photo->id)); @@ -173,7 +179,7 @@ class EditphotoAction extends Action return; } common_redirect('/photo/' . $this->photo->id, '303'); - $this->showForm(_('Success!')); + $this->showForm(_('Success!'), true); } diff --git a/plugins/GNUsocialPhotos/actions/photoupload.php b/plugins/GNUsocialPhotos/actions/photoupload.php index fc86b8e3ab..5411ec8089 100644 --- a/plugins/GNUsocialPhotos/actions/photoupload.php +++ b/plugins/GNUsocialPhotos/actions/photoupload.php @@ -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); + } + } }