Example #1
0
 protected function prepare_tax_query()
 {
     $this->tax_query[] = array('terms' => $this->levels, 'taxonomy' => bp_docs_get_access_tax_name(), 'field' => 'slug', 'operator' => 'IN');
 }
Example #2
0
function bp_docs_update_doc_access($doc_id, $access_setting = 'anyone')
{
    $doc = get_post($doc_id);
    if (!$doc || is_wp_error($doc)) {
        return false;
    }
    // Convert the access setting to a WP taxonomy term
    switch ($access_setting) {
        case 'anyone':
        case 'loggedin':
            $access_term = 'bp_docs_access_' . $access_setting;
            break;
        case 'group-members':
        case 'admins-mods':
            $associated_group = bp_docs_get_associated_group_id($doc_id);
            $access_term = 'group-members' == $access_setting ? bp_docs_get_access_term_group_member($associated_group) : bp_docs_get_access_term_group_adminmod($associated_group);
            break;
        case 'creator':
        case 'no-one':
            // @todo Don't know how these are different
            $access_term = bp_docs_get_access_term_user($doc->post_author);
            break;
    }
    if (isset($access_term)) {
        $retval = wp_set_post_terms($doc_id, $access_term, bp_docs_get_access_tax_name());
    }
    if (empty($retval) || is_wp_error($retval)) {
        return false;
    } else {
        return true;
    }
}