function delete($id)
{
/* action to perform any task befor deleting an album */
do_action('rtmedia_before_delete_album', $this);
/**
* First fetch all the media from that album
*/
add_filter('rt_db_model_per_page', array($this, 'set_queries_per_page'), 10, 2);
$page = 1;
$flag = true;
/**
* Delete each media from the album first
*/
while ($media = $this->media->model->get_by_album_id($id, $page)) {
$media_id = $media['result'][0]['media_id'];
$flag = wp_delete_attachment($media_id);
if (!$flag) {
break;
}
$page++;
}
/**
* If all the media are deleted from the album then delete the album at last.
*/
if ($flag) {
$this->media->delete($id);
}
/* action to perform any task after deleting an album */
do_action('rtmedia_after_delete_album', $this);
return $flag;
}