/** * Get allowed no. of posts * Use this filter * @param type $user_id * @return type */ function buddyblog_get_allowed_no_of_posts($user_id = false) { if (!$user_id) { $user_id = bp_displayed_user_id(); } //filter on this hook to change the no. of posts allowed return apply_filters('buddyblog_allowed_posts_count', buddyblog_get_option('max_allowed_posts'), $user_id); //by default no. posts allowed }
/** * Get the link for editing this Post * @param type $id * @param type $label * @return type */ function buddyblog_get_edit_link($id = 0, $label = 'Edit') { if (!buddyblog_get_option('allow_edit')) { return ''; } $url = buddyblog_get_edit_url($id); if (!$url) { return ''; } return "<a href='{$url}'>{$label}</a>"; }
/** * Can the user delete this post * * @param type $post_id * @param type $user_id * @return bool */ function buddyblog_user_can_delete($post_id, $user_id = false) { if (!$post_id && in_the_loop()) { $post_id = get_the_ID(); } if (!$post_id || !is_user_logged_in()) { return false; } if (is_super_admin()) { return true; } elseif (!buddyblog_get_option('allow_delete')) { //if deleting post is disabled return false; } if (!$user_id) { $user_id = get_current_user_id(); } $post = get_post($post_id); if ($post->post_author == $user_id) { return true; } return false; }
/** * Should we show the single post on profile * * @return type */ function buddyblog_show_posts_on_profile($post) { return apply_filters('buddyblog_show_posts_on_profile', buddyblog_get_option('show_posts_on_profile'), $post); }
/** * register post form for Posting/editing * @return type */ public function register_form() { //make sure the Front end simple post plugin is active if (!function_exists('bp_new_simple_blog_post_form')) { return; } $post_status = buddyblog_get_option('post_status'); $user_id = get_current_user_id(); if (!buddyblog_user_can_post($user_id)) { $post_status = 'draft'; } $settings = array('post_type' => buddyblog_get_posttype(), 'post_status' => $post_status, 'comment_status' => buddyblog_get_option('comment_status'), 'show_comment_option' => buddyblog_get_option('show_comment_option'), 'custom_field_title' => '', 'custom_fields' => array('_is_buddyblog_post' => array('type' => 'hidden', 'label' => '', 'default' => 1)), 'upload_count' => 0, 'has_post_thumbnail' => 1, 'current_user_can_post' => current_user_can(buddyblog_get_option('post_cap'))); if (buddyblog_get_option('enable_taxonomy')) { $taxonomies = array(); $tax = buddyblog_get_option('allowed_taxonomies'); if (!empty($tax)) { foreach ((array) $tax as $tax_name) { $view = 'checkbox'; //is_taxonomy_hierarchical($tax_name); $taxonomies[$tax_name] = array('taxonomy' => $tax_name, 'view_type' => 'checkbox'); } } if (!empty($taxonomies)) { $settings['tax'] = $taxonomies; } } //use it to add extra fields or filter the post type etc $settings = apply_filters('buddyblog_post_form_settings', $settings); bp_new_simple_blog_post_form('buddyblog-user-posts', $settings); // the blog form }