本文整理汇总了PHP中BP_Groups_Group::group_exists方法的典型用法代码示例。如果您正苦于以下问题:PHP BP_Groups_Group::group_exists方法的具体用法?PHP BP_Groups_Group::group_exists怎么用?PHP BP_Groups_Group::group_exists使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BP_Groups_Group
的用法示例。
在下文中一共展示了BP_Groups_Group::group_exists方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: bp_group_reviews_extension
function bp_group_reviews_extension()
{
global $bp;
$this->group_id = BP_Groups_Group::group_exists($bp->current_item);
$this->name = __('Reviews', 'bpgr');
$this->slug = $bp->group_reviews->slug;
$this->nav_item_position = 22;
$this->enable_create_step = false;
$this->enable_nav_item = BP_Group_Reviews::current_group_is_available();
$this->enable_edit_item = false;
if (isset($_POST['review_submit'])) {
check_admin_referer('review_submit');
$has_posted = '';
if (empty($_POST['review_content']) || !(int) $_POST['rating']) {
// Something has gone wrong. Save the user's submitted data to reinsert into the post box after redirect
$cookie_data = array('review_content' => $_POST['review_content'], 'rating' => $_POST['rating']);
$cookie = json_encode($cookie_data);
setcookie('bpgr-data', $cookie, time() + 60 * 60 * 24, COOKIEPATH);
bp_core_add_message(__("Please make sure you fill in the review, and don't forget to provide a rating!", 'bpgr'), 'error');
} else {
/* Auto join this user if they are not yet a member of this group */
if (!is_super_admin() && 'public' == $bp->groups->current_group->status && !groups_is_user_member($bp->loggedin_user->id, $bp->groups->current_group->id)) {
groups_join_group($bp->groups->current_group->id, $bp->loggedin_user->id);
}
if ($rating_id = $this->post_review(array('content' => $_POST['review_content'], 'rating' => (int) $_POST['rating']))) {
bp_core_add_message("Your review was posted successfully!");
$has_posted = groups_get_groupmeta($bp->groups->current_group->id, 'posted_review');
if (!in_array((int) $bp->loggedin_user->id, (array) $has_posted)) {
$has_posted[] = (int) $bp->loggedin_user->id;
}
groups_update_groupmeta($bp->groups->current_group->id, 'posted_review', $has_posted);
if ((int) $_POST['rating'] < 0) {
$_POST['rating'] = 1;
}
if ((int) $_POST['rating'] > 5) {
$_POST['rating'] = 5;
}
} else {
bp_core_add_message("There was a problem posting your review, please try again.", 'error');
}
}
bp_core_redirect(apply_filters('bpgr_after_post_redirect', trailingslashit(bp_get_group_permalink($bp->groups->current_group) . $this->slug, $has_posted)));
}
}
示例2: get_id_from_slug
function get_id_from_slug($slug)
{
return BP_Groups_Group::group_exists($slug);
}
示例3: groups_get_id
/**
* Get a group ID by its slug.
*
* @since 1.6.0
*
* @param string $group_slug The group's slug.
*
* @return int The ID.
*/
function groups_get_id($group_slug)
{
return (int) BP_Groups_Group::group_exists($group_slug);
}
示例4: setup_globals
/**
* Set up component global data.
*
* The BP_GROUPS_SLUG constant is deprecated, and only used here for
* backwards compatibility.
*
* @since 1.5.0
*
* @see BP_Component::setup_globals() for a description of arguments.
*
* @param array $args See BP_Component::setup_globals() for a description.
*/
public function setup_globals($args = array())
{
$bp = buddypress();
// Define a slug, if necessary.
if (!defined('BP_GROUPS_SLUG')) {
define('BP_GROUPS_SLUG', $this->id);
}
// Global tables for groups component.
$global_tables = array('table_name' => $bp->table_prefix . 'bp_groups', 'table_name_members' => $bp->table_prefix . 'bp_groups_members', 'table_name_groupmeta' => $bp->table_prefix . 'bp_groups_groupmeta');
// Metadata tables for groups component.
$meta_tables = array('group' => $bp->table_prefix . 'bp_groups_groupmeta');
// All globals for groups component.
// Note that global_tables is included in this array.
$args = array('slug' => BP_GROUPS_SLUG, 'root_slug' => isset($bp->pages->groups->slug) ? $bp->pages->groups->slug : BP_GROUPS_SLUG, 'has_directory' => true, 'directory_title' => _x('Groups', 'component directory title', 'buddypress'), 'notification_callback' => 'groups_format_notifications', 'search_string' => _x('Search Groups...', 'Component directory search', 'buddypress'), 'global_tables' => $global_tables, 'meta_tables' => $meta_tables);
parent::setup_globals($args);
/* Single Group Globals **********************************************/
// Are we viewing a single group?
if (bp_is_groups_component() && ($group_id = BP_Groups_Group::group_exists(bp_current_action()))) {
$bp->is_single_item = true;
/**
* Filters the current PHP Class being used.
*
* @since 1.5.0
*
* @param string $value Name of the class being used.
*/
$current_group_class = apply_filters('bp_groups_current_group_class', 'BP_Groups_Group');
if ($current_group_class == 'BP_Groups_Group') {
$this->current_group = groups_get_group(array('group_id' => $group_id, 'populate_extras' => true));
} else {
/**
* Filters the current group object being instantiated from previous filter.
*
* @since 1.5.0
*
* @param object $value Newly instantiated object for the group.
*/
$this->current_group = apply_filters('bp_groups_current_group_object', new $current_group_class($group_id));
}
// When in a single group, the first action is bumped down one because of the
// group name, so we need to adjust this and set the group name to current_item.
$bp->current_item = bp_current_action();
$bp->current_action = bp_action_variable(0);
array_shift($bp->action_variables);
// Using "item" not "group" for generic support in other components.
if (bp_current_user_can('bp_moderate')) {
bp_update_is_item_admin(true, 'groups');
} else {
bp_update_is_item_admin(groups_is_user_admin(bp_loggedin_user_id(), $this->current_group->id), 'groups');
}
// If the user is not an admin, check if they are a moderator.
if (!bp_is_item_admin()) {
bp_update_is_item_mod(groups_is_user_mod(bp_loggedin_user_id(), $this->current_group->id), 'groups');
}
// Is the logged in user a member of the group?
if (is_user_logged_in() && groups_is_user_member(bp_loggedin_user_id(), $this->current_group->id)) {
$this->current_group->is_user_member = true;
} else {
$this->current_group->is_user_member = false;
}
// Should this group be visible to the logged in user?
if ('public' == $this->current_group->status || $this->current_group->is_user_member) {
$this->current_group->is_visible = true;
} else {
$this->current_group->is_visible = false;
}
// If this is a private or hidden group, does the user have access?
if ('private' == $this->current_group->status || 'hidden' == $this->current_group->status) {
if ($this->current_group->is_user_member && is_user_logged_in() || bp_current_user_can('bp_moderate')) {
$this->current_group->user_has_access = true;
} else {
$this->current_group->user_has_access = false;
}
} else {
$this->current_group->user_has_access = true;
}
// Check once if the current group has a custom front template.
$this->current_group->front_template = bp_groups_get_front_template($this->current_group);
// Set current_group to 0 to prevent debug errors.
} else {
$this->current_group = 0;
}
/**
* Filters the list of illegal groups names/slugs.
*
* @since 1.0.0
*
* @param array $value Array of illegal group names/slugs.
//.........这里部分代码省略.........
示例5: setup_globals
/**
* Setup globals
*
* The BP_GROUPS_SLUG constant is deprecated, and only used here for
* backwards compatibility.
*
* @since BuddyPress (1.5)
* @global BuddyPress $bp The one true BuddyPress instance
*/
function setup_globals()
{
global $bp;
// Define a slug, if necessary
if (!defined('BP_GROUPS_SLUG')) {
define('BP_GROUPS_SLUG', $this->id);
}
// Global tables for messaging component
$global_tables = array('table_name' => $bp->table_prefix . 'bp_groups', 'table_name_members' => $bp->table_prefix . 'bp_groups_members', 'table_name_groupmeta' => $bp->table_prefix . 'bp_groups_groupmeta');
// All globals for messaging component.
// Note that global_tables is included in this array.
$globals = array('slug' => BP_GROUPS_SLUG, 'root_slug' => isset($bp->pages->groups->slug) ? $bp->pages->groups->slug : BP_GROUPS_SLUG, 'has_directory' => true, 'notification_callback' => 'groups_format_notifications', 'search_string' => __('Search Groups...', 'buddypress'), 'global_tables' => $global_tables);
parent::setup_globals($globals);
/** Single Group Globals **********************************************/
// Are we viewing a single group?
if (bp_is_groups_component() && ($group_id = BP_Groups_Group::group_exists(bp_current_action()))) {
$bp->is_single_item = true;
$current_group_class = apply_filters('bp_groups_current_group_class', 'BP_Groups_Group');
$this->current_group = apply_filters('bp_groups_current_group_object', new $current_group_class($group_id));
// When in a single group, the first action is bumped down one because of the
// group name, so we need to adjust this and set the group name to current_item.
$bp->current_item = bp_current_action();
$bp->current_action = bp_action_variable(0);
array_shift($bp->action_variables);
// Using "item" not "group" for generic support in other components.
if (bp_current_user_can('bp_moderate')) {
bp_update_is_item_admin(true, 'groups');
} else {
bp_update_is_item_admin(groups_is_user_admin(bp_loggedin_user_id(), $this->current_group->id), 'groups');
}
// If the user is not an admin, check if they are a moderator
if (!bp_is_item_admin()) {
bp_update_is_item_mod(groups_is_user_mod(bp_loggedin_user_id(), $this->current_group->id), 'groups');
}
// Is the logged in user a member of the group?
if (is_user_logged_in() && groups_is_user_member(bp_loggedin_user_id(), $this->current_group->id)) {
$this->current_group->is_user_member = true;
} else {
$this->current_group->is_user_member = false;
}
// Should this group be visible to the logged in user?
if ('public' == $this->current_group->status || $this->current_group->is_user_member) {
$this->current_group->is_visible = true;
} else {
$this->current_group->is_visible = false;
}
// If this is a private or hidden group, does the user have access?
if ('private' == $this->current_group->status || 'hidden' == $this->current_group->status) {
if ($this->current_group->is_user_member && is_user_logged_in() || bp_current_user_can('bp_moderate')) {
$this->current_group->user_has_access = true;
} else {
$this->current_group->user_has_access = false;
}
} else {
$this->current_group->user_has_access = true;
}
// Set current_group to 0 to prevent debug errors
} else {
$this->current_group = 0;
}
// Illegal group names/slugs
$this->forbidden_names = apply_filters('groups_forbidden_names', array('my-groups', 'create', 'invites', 'send-invites', 'forum', 'delete', 'add', 'admin', 'request-membership', 'members', 'settings', 'avatar', $this->slug, $this->root_slug));
// If the user was attempting to access a group, but no group by that name was found, 404
if (bp_is_groups_component() && empty($this->current_group) && bp_current_action() && !in_array(bp_current_action(), $this->forbidden_names)) {
bp_do_404();
return;
}
if (bp_is_groups_component() && !empty($this->current_group)) {
$this->default_extension = apply_filters('bp_groups_default_extension', defined('BP_GROUPS_DEFAULT_EXTENSION') ? BP_GROUPS_DEFAULT_EXTENSION : 'home');
if (!bp_current_action()) {
$bp->current_action = $this->default_extension;
}
// Prepare for a redirect to the canonical URL
$bp->canonical_stack['base_url'] = bp_get_group_permalink($this->current_group);
if (bp_current_action()) {
$bp->canonical_stack['action'] = bp_current_action();
}
if (!empty($bp->action_variables)) {
$bp->canonical_stack['action_variables'] = bp_action_variables();
}
// When viewing the default extension, the canonical URL should not have
// that extension's slug, unless more has been tacked onto the URL via
// action variables
if (bp_is_current_action($this->default_extension) && empty($bp->action_variables)) {
unset($bp->canonical_stack['action']);
}
}
// Group access control
if (bp_is_groups_component() && !empty($this->current_group)) {
if (!$this->current_group->user_has_access) {
// Hidden groups should return a 404 for non-members.
//.........这里部分代码省略.........
示例6: groups_check_group_exists
function groups_check_group_exists($group_id)
{
return BP_Groups_Group::group_exists($group_id);
}
示例7: bp_group_hierarchy_fixup_forum_links
/**
* Fix forum topic action links (Edit, Delete, Close, Sticky, etc.)
*/
function bp_group_hierarchy_fixup_forum_links($has_topics)
{
global $forum_template;
$group_id = BP_Groups_Group::group_exists($forum_template->topic->object_slug);
$forum_template->topic->object_slug = BP_Groups_Hierarchy::get_path($group_id);
return $has_topics;
}
示例8: bp_ning_import_get_discussion_groups
function bp_ning_import_get_discussion_groups()
{
global $wpdb;
$ning_id_array = get_option('bp_ning_user_array');
// Get list of Ning groups for cross reference
$groups = bp_ning_import_prepare_json('groups');
$ning_group_id_array = get_option('bp_ning_group_array', array());
// Loop through each discussion. If the topic doesn't have a corresponding group, create one. Then insert the forum items.
$discussions = bp_ning_import_prepare_json('discussions');
$counter = 0;
foreach ((array) $discussions as $discussion_key => $discussion) {
if (!isset($discussion->category)) {
continue;
}
$ning_group_id = $discussion->category;
if (isset($ning_group_id_array[$ning_group_id])) {
continue;
}
// todo - what if a topic has no group and no category
$slug = sanitize_title(esc_attr($discussion->category));
$ning_group_creator_id = $discussion->contributorName;
$creator_id = $ning_id_array[$ning_group_creator_id];
$ndate = strtotime($discussion->createdDate);
$date_created = date("Y-m-d H:i:s", $ndate);
if (!($group_id = BP_Groups_Group::group_exists($slug))) {
$args = array('creator_id' => $creator_id, 'name' => $discussion->category, 'description' => $discussion->category, 'slug' => groups_check_slug($slug), 'status' => 'public', 'enable_forum' => 1, 'date_created' => $date_created);
if ($group_id = groups_create_group($args)) {
groups_update_groupmeta($group_id, 'last_activity', $date_created);
groups_update_groupmeta($group_id, 'total_member_count', 1);
groups_new_group_forum($group_id, $discussion->category, $discussion->category);
echo "<strong>Created group: {$discussion->category}</strong><br />";
$ning_group_id_array[$ning_group_id] = $group_id;
update_option('bp_ning_group_array', $ning_group_id_array);
}
} else {
echo "<strong>Group already exists: {$discussion->category}</strong><br />";
$ning_group_id_array[$ning_group_id] = $group_id;
update_option('bp_ning_group_array', $ning_group_id_array);
}
}
}
示例9: set_nav
/**
* set_nav()
*
* Sets up the component navigation
*/
function set_nav()
{
global $bp;
if (!$this->courseware_status($bp->groups->current_group->id)) {
return;
}
if ($group_id = BP_Groups_Group::group_exists($bp->current_action)) {
$bp->is_single_item = true;
$bp->groups->current_group =& new BP_Groups_Group($group_id);
}
$groups_link = $bp->root_domain . '/' . $bp->groups->slug . '/' . $bp->groups->current_group->slug . '/';
if ($bp->is_single_item) {
bp_core_new_subnav_item(array('name' => __('Courseware', 'bpsp'), 'slug' => $bp->courseware->slug, 'parent_url' => $groups_link, 'parent_slug' => $bp->groups->slug, 'screen_function' => array(&$this, 'screen_handler'), 'position' => 35, 'user_has_access' => $bp->groups->current_group->user_has_access, 'item_css_id' => 'courseware-group'));
$this->nav_options[__('Home', 'bpsp')] = $groups_link . $bp->courseware->slug;
}
do_action('courseware_group_set_nav');
}
示例10: bp_chat_setup_nav
/**
* bp_chat_setup_nav()
*
* Sets up the navigation items for the component. This adds the top level nav
* item and all the sub level nav items to the navigation array. This is then
* rendered in the template.
*/
function bp_chat_setup_nav()
{
global $bp, $current_blog, $group_object;
#$chat_link = $bp->loggedin_user->domain . $bp->chat->slug . '/';
$chat_link = get_bloginfo('wpurl') . $bp->chat->slug . '/';
if (function_exists('anygig_orig_check_supporter')) {
if (false == anygig_orig_check_supporter('Chat', 'bp-chat', $bp->chat->slug, 80, $bp->chat->id, $chat_link)) {
return;
}
}
if (function_exists('bp_core_new_nav_item')) {
bp_core_new_nav_item(array('name' => __('Chat', 'bp-chat'), 'slug' => $bp->chat->slug, 'screen_function' => 'bp_chat_screen_one', 'default_subnav_slug' => 'chat', 'user_has_access' => bp_is_home()));
} else {
/* Add 'Chat' to the main navigation */
bp_core_add_nav_item(__('Chat', 'bp-chat'), $bp->chat->slug);
/* Set a specific sub nav item as the default when the top level item is clicked */
bp_core_add_nav_default($bp->chat->slug, 'bp_chat_screen_one', 'chat-one');
}
if (class_exists('BP_Groups_Group')) {
if ($group_id = BP_Groups_Group::group_exists($bp->current_action)) {
/* This is a single group page. */
$bp->is_single_item = true;
$bp->groups->current_group =& new BP_Groups_Group($group_id);
}
$groups_link = $bp->root_domain . '/' . $bp->groups->slug . '/' . $bp->groups->current_group->slug . '/';
/* Add the subnav item only to the single group nav item*/
if ($bp->is_single_item) {
bp_core_new_subnav_item(array('name' => __('Chat', 'bp-chat'), 'slug' => $bp->chat->slug, 'parent_url' => $groups_link, 'parent_slug' => $bp->groups->slug, 'screen_function' => 'bp_chat_screen_one', 'position' => 35, 'user_has_access' => $bp->groups->current_group->user_has_access, 'item_css_id' => 'bp-chat'));
}
do_action('bp_group_documents_nav_setup');
}
#print "<pre>";
#print_r ($bp->groups);
#print "</pre>";
/* Only execute the following code if we are actually viewing this component (e.g. http://chat.org/chat) */
if ($bp->current_component == $bp->chat->slug) {
if (bp_is_home()) {
/* If the user is viewing their own profile area set the title to "My Chat" */
$bp->bp_options_title = __('My Chat', 'bp-chat');
} else {
/* If the user is viewing someone elses profile area, set the title to "[user fullname]" */
//$bp->bp_options_avatar = bp_core_get_avatar( $bp->displayed_user->id, 1 );
$bp->bp_options_title = $bp->displayed_user->fullname;
}
}
}