function relevanssi_post_ok($doc) { static $set_listed_ids = false; if (!$set_listed_ids) { $set_listed_ids = true; $GLOBALS['scoper']->listed_ids['post'] = array_fill_keys(array_keys($this->relevanssi_results), true); } if (function_exists('relevanssi_s2member_level')) { if (relevanssi_s2member_level($doc) == 0) { return false; } // back compat with relevanssi_default_post_ok, in case somebody is also running s2member } $status = relevanssi_get_post_status($doc); if (in_array($status, $this->valid_stati)) { $post_ok = current_user_can('read_post', $doc); } else { $post_ok = false; } return $post_ok; }
function relevanssi_get_post_status($id) { global $relevanssi_post_array; $type = substr($id, 0, 2); if ($type == 't_') { return 'publish'; } if ($type == 'u_') { return 'publish'; } if (isset($relevanssi_post_array[$id])) { $status = $relevanssi_post_array[$id]->post_status; if ('inherit' == $status) { $parent = $relevanssi_post_array[$id]->post_parent; $status = relevanssi_get_post_status($parent); if ($status == false) { // attachment without a parent // let's assume it's public $status = 'publish'; } } return $status; } else { return get_post_status($id); } }
function relevanssi_get_post_status($id) { global $relevanssi_post_array; if (isset($relevanssi_post_array[$id])) { $status = $relevanssi_post_array[$id]->post_status; if ('inherit' == $status) { $parent = $relevanssi_post_array[$id]->post_parent; $status = relevanssi_get_post_status($parent); } return $status; } else { return get_post_status($id); } }