RTMediaAlbum::delete PHP Method

delete() public method

Generic method to delete any album
public delete ( integer $id ) : boolean
$id integer
return boolean
    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;
    }