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; 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->element('img', array('src' => $this->photo->uri));
$this->elementStart('form', array('method' => 'post', $this->elementStart('form', array('method' => 'post',
'action' => '/editphoto/' . $this->photo->id)); 'action' => '/editphoto/' . $this->photo->id));
@ -173,7 +179,7 @@ class EditphotoAction extends Action
return; return;
} }
common_redirect('/photo/' . $this->photo->id, '303'); 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)) { if(empty($this->user)) {
$this->element('p', array(), 'You are not logged in.'); $this->element('p', array(), 'You are not logged in.');
} else { } 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', $this->elementStart('form', array('enctype' => 'multipart/form-data',
'method' => 'post', 'method' => 'post',
'action' => common_local_url('photoupload'))); 'action' => common_local_url('photoupload')));
@ -101,6 +107,18 @@ class PhotouploadAction extends Action
$this->elementEnd('ul'); $this->elementEnd('ul');
$this->submit('create', _('Create')); $this->submit('create', _('Create'));
$this->elementEnd('form'); $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')) { if ($this->arg('create')) {
$this->createAlbum(); $this->createAlbum();
} }
if ($this->arg('deletealbum')) {
$this->deleteAlbum();
}
} }
function showForm($msg, $success=false) function showForm($msg, $success=false)
@ -213,4 +234,26 @@ class PhotouploadAction extends Action
GNUsocialPhotoAlbum::newAlbum($cur->id, $album_name, $album_description); 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);
}
}
} }