Notifications and deleting albums

This commit is contained in:
Max Shinn 2010-12-30 08:02:59 -06:00
parent 57aef10ed2
commit 24e5f1806a
2 changed files with 50 additions and 1 deletions

View File

@ -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);
}

View 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')));
@ -102,6 +108,18 @@ class PhotouploadAction extends Action
$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);
}
}
}