/** * @group bp_docs_delete_folder_contents */ public function test_bp_docs_delete_folder_contents() { $f1 = bp_docs_create_folder(array('name' => 'foo')); $f1_d1 = $this->factory->doc->create(); $f1_d2 = $this->factory->doc->create(); bp_docs_add_doc_to_folder($f1_d1, $f1); bp_docs_add_doc_to_folder($f1_d2, $f1); $f2 = bp_docs_create_folder(array('name' => 'foo', 'parent' => $f1)); $f2_d1 = $this->factory->doc->create(); $f2_d2 = $this->factory->doc->create(); bp_docs_add_doc_to_folder($f2_d1, $f2); bp_docs_add_doc_to_folder($f2_d2, $f2); $f3 = bp_docs_create_folder(array('name' => 'foo', 'parent' => $f1)); $f3_d1 = $this->factory->doc->create(); $f3_d2 = $this->factory->doc->create(); bp_docs_add_doc_to_folder($f3_d1, $f3); bp_docs_add_doc_to_folder($f3_d2, $f3); $f4 = bp_docs_create_folder(array('name' => 'foo', 'parent' => $f2)); $f4_d1 = $this->factory->doc->create(); $f4_d2 = $this->factory->doc->create(); bp_docs_add_doc_to_folder($f4_d1, $f4); bp_docs_add_doc_to_folder($f4_d2, $f4); $this->assertTrue(bp_docs_delete_folder_contents($f1)); $f1_term = bp_docs_get_folder_term($f1); $f1_docs = get_posts(array('post_type' => bp_docs_get_post_type_name(), 'tax_query' => array(array('taxonomy' => 'bp_docs_doc_in_folder', 'field' => 'term_id', 'terms' => $f1_term)), 'update_meta_cache' => false, 'update_term_cache' => false)); $this->assertSame(array(), $f1_docs); $f2_term = bp_docs_get_folder_term($f2); $f2_docs = get_posts(array('post_type' => bp_docs_get_post_type_name(), 'tax_query' => array(array('taxonomy' => 'bp_docs_doc_in_folder', 'field' => 'term_id', 'terms' => $f2_term)), 'update_meta_cache' => false, 'update_term_cache' => false)); $this->assertSame(array(), $f2_docs); $f3_term = bp_docs_get_folder_term($f3); $f3_docs = get_posts(array('post_type' => bp_docs_get_post_type_name(), 'tax_query' => array(array('taxonomy' => 'bp_docs_doc_in_folder', 'field' => 'term_id', 'terms' => $f3_term)), 'update_meta_cache' => false, 'update_term_cache' => false)); $this->assertSame(array(), $f3_docs); $f4_term = bp_docs_get_folder_term($f4); $f4_docs = get_posts(array('post_type' => bp_docs_get_post_type_name(), 'tax_query' => array(array('taxonomy' => 'bp_docs_doc_in_folder', 'field' => 'term_id', 'terms' => $f4_term)), 'update_meta_cache' => false, 'update_term_cache' => false)); $this->assertSame(array(), $f4_docs); $this->assertSame(array(), bp_docs_get_folders(array('parent_id' => $f1))); $this->assertSame(array(), bp_docs_get_folders(array('parent_id' => $f2))); }
public function end_el(&$output, $page, $depth = 0, $args = array(), $current_page = 0) { // Get the docs belonging to this folder $folder_term = bp_docs_get_folder_term($page->ID); $folder_docs = get_posts(array('post_type' => bp_docs_get_post_type_name(), 'tax_query' => array(array('taxonomy' => 'bp_docs_doc_in_folder', 'field' => 'term_id', 'terms' => $folder_term)))); $empty_class = empty($folder_docs) ? 'empty' : ''; $output .= sprintf('<ul class="docs-in-folder %s" id="docs-in-folder-%d">', $empty_class, $page->ID); $output .= '<li class="folder-empty">' . __('This folder contains no Docs.', 'bp-docs') . '</li>'; foreach ($folder_docs as $folder_doc) { $output .= sprintf('<li class="doc-in-folder" id="doc-in-folder-%d" data-doc-id="%d">%s<a href="%s">%s</a>%s</li>', $folder_doc->ID, $folder_doc->ID, bp_docs_get_genericon('document', $folder_doc->ID), get_permalink($folder_doc), esc_html($folder_doc->post_title), wp_nonce_field('bp-docs-folder-drop-' . $folder_doc->ID, 'bp-docs-folder-drop-nonce-' . $folder_doc->ID, false, false)); } $output .= '</ul>'; $output .= '</li>'; }