当前位置: 首页>>代码示例>>PHP>>正文


PHP bp_get_member_type_object函数代码示例

本文整理汇总了PHP中bp_get_member_type_object函数的典型用法代码示例。如果您正苦于以下问题:PHP bp_get_member_type_object函数的具体用法?PHP bp_get_member_type_object怎么用?PHP bp_get_member_type_object使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了bp_get_member_type_object函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: cfbgr_enqueue_current_user_has_access

/**
 * Restrict access to a group regarding its 'member type'
 *
 * If a user is not logged in, he is redirected to the login form
 * If a user ! member type, he is redirected to the groups directory
 * If a user is a super admin, he can access
 *
 * @param  bool $user_has_access
 * @param  array &$no_access_args the redirect args
 * @return bool False if member type doesn't match, true otherwise
 */
function cfbgr_enqueue_current_user_has_access($user_has_access, &$no_access_args)
{
    // If the user does not already have access bail
    if (empty($user_has_access)) {
        return $user_has_access;
    }
    // Get the member type of the group
    $restriction = groups_get_groupmeta(bp_get_current_group_id(), 'cf-buddypress-group-restrictions');
    // Don't touch to regular groups and leave Admins access
    if (empty($restriction) || bp_current_user_can('bp_moderate')) {
        return $user_has_access;
    }
    $current_group = groups_get_current_group();
    if (!is_user_logged_in()) {
        $user_has_access = false;
        $no_access_args = array('message' => __('You must log in to access the page you requested.', 'buddypress-group-restrictions'), 'root' => bp_get_group_permalink($current_group) . 'home/', 'redirect' => false);
        return $user_has_access;
        // Current user does not match the restriction
    } elseif ($restriction !== bp_get_member_type(bp_loggedin_user_id())) {
        $user_has_access = false;
        // Get infos about the member type
        $member_type_object = bp_get_member_type_object($restriction);
        $singular_name = '';
        if (!empty($member_type_object->labels['singular_name'])) {
            $singular_name = $member_type_object->labels['singular_name'];
        }
        // You need to redirect to a BuddyPress page to have
        $no_access_args = array('mode' => 3, 'message' => sprintf(__('Sorry the group you tried to enter is only viewable for %s members', 'buddypress-group-restrictions'), esc_html($singular_name)), 'root' => bp_get_groups_directory_permalink(), 'redirect' => false);
        return $user_has_access;
    }
    // By default, leave BuddyPress deal with access
    return $user_has_access;
}
开发者ID:WeFoster,项目名称:buddypress-group-restrictions,代码行数:44,代码来源:functions.php

示例2: is_valid

 /**
  * Is it a valid member type?
  * 
  * @param type $val
  * @return boolean
  */
 public function is_valid($val)
 {
     //if a registered member type,
     if (empty($val) || bp_get_member_type_object($val)) {
         return true;
     }
     return false;
 }
开发者ID:buddydev,项目名称:bp-xprofile-member-type-field,代码行数:14,代码来源:class-member-type-field.php

示例3: users_table_filter_by_type

 /**
  * Filter WP Admin users list table to include users of the specified type.
  *
  * @param WP_Query $query
  *
  * @since 2.7.0
  */
 public function users_table_filter_by_type($query)
 {
     global $pagenow;
     if (is_admin() && 'users.php' === $pagenow && !empty($_REQUEST['bp-member-type'])) {
         $type_slug = sanitize_text_field($_REQUEST['bp-member-type']);
         // Check that the type is registered.
         if (null == bp_get_member_type_object($type_slug)) {
             return;
         }
         // Get the list of users that are assigned to this member type.
         $type = bp_get_term_by('slug', $type_slug, bp_get_member_type_tax_name());
         if (empty($type->term_id)) {
             return;
         }
         $user_ids = bp_get_objects_in_term($type->term_id, bp_get_member_type_tax_name());
         if ($user_ids && !is_wp_error($user_ids)) {
             $query->set('include', (array) $user_ids);
         }
     }
 }
开发者ID:buddypress,项目名称:BuddyPress-build,代码行数:27,代码来源:class-bp-members-admin.php

示例4: update_member_type

 /**
  * Update User member type association
  * 
  * @return type
  */
 public function update_member_type()
 {
     //none of our actions are set
     if (empty($_REQUEST['new_member_type_top']) && empty($_REQUEST['new_member_type_bottom'])) {
         return;
     }
     //only admin/super admin
     if (!current_user_can('edit_users')) {
         return;
     }
     $member_type = '';
     if (!empty($_REQUEST['new_member_type_top'])) {
         $member_type = trim($_REQUEST['new_member_type_top']);
     } else {
         $member_type = trim($_REQUEST['new_member_type_bottom']);
     }
     $input_name = 'users';
     if (is_multisite() && is_network_admin()) {
         $input_name = 'allusers';
     }
     $users = isset($_REQUEST[$input_name]) ? $_REQUEST[$input_name] : array();
     if (empty($users)) {
         return;
         //no user selected
     }
     //
     $users = wp_parse_id_list($users);
     $member_type = sanitize_key($member_type);
     $member_type_object = bp_get_member_type_object($member_type);
     if (empty($member_type_object)) {
         return;
         //the member type does not seem to be registered
     }
     $updated = 0;
     foreach ($users as $user_id) {
         bp_set_member_type($user_id, $member_type);
     }
     $updated = 1;
     $this->message = sprintf(__('Updated member type for %d user(s) to %s. '), count($users), $member_type_object->labels['singular_name']);
     if (is_network_admin()) {
         $url = network_admin_url('users.php');
     } else {
         $url = admin_url('users.php');
     }
     $redirect = add_query_arg(array('updated' => $updated, 'bp-member-type-message' => urlencode($this->message)), $url);
     wp_safe_redirect($redirect);
     exit(0);
 }
开发者ID:buddydev,项目名称:bp-member-type-generator,代码行数:53,代码来源:user-helper.php

示例5: process_member_type_update

 /**
  * Process changes from the Member Type metabox.
  *
  * @since 2.2.0
  */
 public function process_member_type_update()
 {
     if (!isset($_POST['bp-member-type-nonce']) || !isset($_POST['bp-members-profile-member-type'])) {
         return;
     }
     $user_id = $this->get_user_id();
     check_admin_referer('bp-member-type-change-' . $user_id, 'bp-member-type-nonce');
     // Permission check.
     if (!current_user_can('bp_moderate') && $user_id != bp_loggedin_user_id()) {
         return;
     }
     // Member type string must either reference a valid member type, or be empty.
     $member_type = stripslashes($_POST['bp-members-profile-member-type']);
     if (!empty($member_type) && !bp_get_member_type_object($member_type)) {
         return;
     }
     /*
      * If an invalid member type is passed, someone's doing something
      * fishy with the POST request, so we can fail silently.
      */
     if (bp_set_member_type($user_id, $member_type)) {
         // @todo Success messages can't be posted because other stuff happens on the page load.
     }
 }
开发者ID:igniterealtime,项目名称:community-plugins,代码行数:29,代码来源:class-bp-members-admin.php

示例6: bp_has_member_type

/**
 * Check whether the given user has a certain member type.
 *
 * @since 2.3.0
 *
 * @param int    $user_id     $user_id ID of the user.
 * @param string $member_type Member Type.
 * @return bool Whether the user has the given member type.
 */
function bp_has_member_type($user_id, $member_type)
{
    // Bail if no valid member type was passed.
    if (empty($member_type) || !bp_get_member_type_object($member_type)) {
        return false;
    }
    // Get all user's member types.
    $types = bp_get_member_type($user_id, false);
    if (!is_array($types)) {
        return false;
    }
    return in_array($member_type, $types);
}
开发者ID:CompositeUK,项目名称:clone.BuddyPress,代码行数:22,代码来源:bp-members-functions.php

示例7: get_sql_clause_for_member_types

 /**
  * Get a SQL clause representing member_type include/exclusion.
  *
  * @since 2.4.0
  *
  * @param string|array $member_types Array or comma-separated list of member types.
  * @param string       $operator     'IN' or 'NOT IN'.
  * @return string
  */
 protected function get_sql_clause_for_member_types($member_types, $operator)
 {
     global $wpdb;
     // Sanitize.
     if ('NOT IN' !== $operator) {
         $operator = 'IN';
     }
     // Parse and sanitize types.
     if (!is_array($member_types)) {
         $member_types = preg_split('/[,\\s+]/', $member_types);
     }
     $types = array();
     foreach ($member_types as $mt) {
         if (bp_get_member_type_object($mt)) {
             $types[] = $mt;
         }
     }
     $tax_query = new WP_Tax_Query(array(array('taxonomy' => 'bp_member_type', 'field' => 'name', 'operator' => $operator, 'terms' => $types)));
     // Switch to the root blog, where member type taxonomies live.
     $switched = false;
     if (!bp_is_root_blog()) {
         switch_to_blog(bp_get_root_blog_id());
         $switched = true;
     }
     $sql_clauses = $tax_query->get_sql('u', $this->uid_name);
     if ($switched) {
         restore_current_blog();
     }
     $clause = '';
     // The no_results clauses are the same between IN and NOT IN.
     if (false !== strpos($sql_clauses['where'], '0 = 1')) {
         $clause = $this->no_results['where'];
         // The tax_query clause generated for NOT IN can be used almost as-is. We just trim the leading 'AND'.
     } elseif ('NOT IN' === $operator) {
         $clause = preg_replace('/^\\s*AND\\s*/', '', $sql_clauses['where']);
         // IN clauses must be converted to a subquery.
     } elseif (preg_match('/' . $wpdb->term_relationships . '\\.term_taxonomy_id IN \\([0-9, ]+\\)/', $sql_clauses['where'], $matches)) {
         $clause = "u.{$this->uid_name} IN ( SELECT object_id FROM {$wpdb->term_relationships} WHERE {$matches[0]} )";
     }
     return $clause;
 }
开发者ID:igniterealtime,项目名称:community-plugins,代码行数:50,代码来源:class-bp-user-query.php

示例8: bp_get_current_member_type_message

/**
 * Generate the current member type message.
 *
 * @since 2.3.0
 *
 * @return string
 */
function bp_get_current_member_type_message()
{
    $type_object = bp_get_member_type_object(bp_get_current_member_type());
    $message = sprintf(__('Viewing members of the type: %s', 'buddypress'), '<strong>' . $type_object->labels['singular_name'] . '</strong>');
    return apply_filters('bp_get_current_member_type_message', $message);
}
开发者ID:mawilliamson,项目名称:wordpress,代码行数:13,代码来源:bp-members-template.php

示例9: do_action

?>
	</div><!-- #members-dir-search -->

	<?php 
do_action('bp_before_directory_members_tabs');
?>

	<form action="" method="post" id="members-directory-form" class="dir-form">

		<div id="subnav" class="item-list-tabs" role="navigation">
			<ul>

				<?php 
$member_type = bp_get_current_member_type();
if ($member_type) {
    $member_type = bp_get_member_type_object($member_type);
    ?>
					<li class="selected" id="members-all"><a href="<?php 
    bp_members_directory_permalink();
    ?>
"><?php 
    printf(__('All %s <span>%s</span>', 'kleo_framework'), $member_type->labels['name'], bp_get_total_member_count());
    ?>
</a></li>
				<?php 
} else {
    ?>
					<li class="selected" id="members-all"><a href="<?php 
    bp_members_directory_permalink();
    ?>
"><?php 
开发者ID:quyip8818,项目名称:wps,代码行数:31,代码来源:index.php

示例10: prepare_user_ids_query


//.........这里部分代码省略.........
		// xprofile field matches happen in bp_xprofile_bp_user_query_search()
		if ( false !== $search_terms ) {
			$search_terms = bp_esc_like( wp_kses_normalize_entities( $search_terms ) );

			if ( $search_wildcard === 'left' ) {
				$search_terms_nospace = '%' . $search_terms;
				$search_terms_space   = '%' . $search_terms . ' %';
			} elseif ( $search_wildcard === 'right' ) {
				$search_terms_nospace =        $search_terms . '%';
				$search_terms_space   = '% ' . $search_terms . '%';
			} else {
				$search_terms_nospace = '%' . $search_terms . '%';
				$search_terms_space   = '%' . $search_terms . '%';
			}

			$sql['where']['search'] = $wpdb->prepare(
				"u.{$this->uid_name} IN ( SELECT ID FROM {$wpdb->users} WHERE ( user_login LIKE %s OR user_login LIKE %s OR user_nicename LIKE %s OR user_nicename LIKE %s ) )",
				$search_terms_nospace,
				$search_terms_space,
				$search_terms_nospace,
				$search_terms_space
			);
		}

		// Member type.
		if ( ! empty( $member_type ) ) {
			$member_types = array();

			if ( ! is_array( $member_type ) ) {
				$member_type = preg_split( '/[,\s+]/', $member_type );
			}

			foreach ( $member_type as $mt ) {
				if ( ! bp_get_member_type_object( $mt ) ) {
					continue;
				}

				$member_types[] = $mt;
			}

			if ( ! empty( $member_types ) ) {
				$member_type_tq = new WP_Tax_Query( array(
					array(
						'taxonomy' => 'bp_member_type',
						'field'    => 'name',
						'operator' => 'IN',
						'terms'    => $member_types,
					),
				) );

				// Switch to the root blog, where member type taxonomies live.
				switch_to_blog( bp_get_root_blog_id() );

				$member_type_sql_clauses = $member_type_tq->get_sql( 'u', $this->uid_name );
				restore_current_blog();



				// Grab the first term_relationships clause and convert to a subquery.
				if ( preg_match( '/' . $wpdb->term_relationships . '\.term_taxonomy_id IN \([0-9, ]+\)/', $member_type_sql_clauses['where'], $matches ) ) {
					$sql['where']['member_type'] = "u.{$this->uid_name} IN ( SELECT object_id FROM $wpdb->term_relationships WHERE {$matches[0]} )";
				}
			}
		}

		// 'meta_key', 'meta_value' allow usermeta search
开发者ID:pombredanne,项目名称:ArcherSys,代码行数:67,代码来源:bp-core-classes.php

示例11: bp_set_member_type

/**
 * Set type for a member.
 *
 * @since BuddyPress (2.2.0)
 *
 * @param int    $user_id     ID of the user.
 * @param string $member_type Member type.
 * @param bool   $append      Optional. True to append this to existing types for user,
 *                            false to replace. Default: false.
 * @return See {@see bp_set_object_terms()}.
 */
function bp_set_member_type($user_id, $member_type, $append = false)
{
    // Pass an empty $member_type to remove a user's type.
    if (!empty($member_type) && !bp_get_member_type_object($member_type)) {
        return false;
    }
    $retval = bp_set_object_terms($user_id, $member_type, 'bp_member_type', $append);
    // Bust the cache if the type has been updated.
    if (!is_wp_error($retval)) {
        wp_cache_delete($user_id, 'bp_member_member_type');
        /**
         * Fires just after a user's member type has been changed.
         *
         * @since BuddyPress (2.2.0)
         *
         * @param int    $user_id     ID of the user whose member type has been updated.
         * @param string $member_type Member type.
         * @param bool   $append      Whether the type is being appended to existing types.
         */
        do_action('bp_set_member_type', $user_id, $member_type, $append);
    }
    return $retval;
}
开发者ID:sdh100shaun,项目名称:pantheon,代码行数:34,代码来源:bp-members-functions.php

示例12: bp_get_current_member_type_message

/**
 * Generate the current member type message.
 *
 * @since 2.3.0
 *
 * @return string
 */
function bp_get_current_member_type_message()
{
    $type_object = bp_get_member_type_object(bp_get_current_member_type());
    $message = sprintf(__('Viewing members of the type: %s', 'buddypress'), '<strong>' . $type_object->labels['singular_name'] . '</strong>');
    /**
     * Filters the current member type message.
     *
     * @since 2.3.0
     *
     * @param string $message Message to filter.
     */
    return apply_filters('bp_get_current_member_type_message', $message);
}
开发者ID:CompositeUK,项目名称:clone.BuddyPress,代码行数:20,代码来源:bp-members-template.php

示例13: get_member_type_label

 /**
  * Gets a label representing the field's member types.
  *
  * This label is displayed alongside the field's name on the Profile Fields Dashboard panel.
  *
  * @since 2.4.0
  *
  * @return string
  */
 public function get_member_type_label()
 {
     // Field 1 is always displayed to everyone, so never gets a label.
     if (1 == $this->id) {
         return '';
     }
     // Return an empty string if no member types are registered.
     $all_types = bp_get_member_types();
     if (empty($all_types)) {
         return '';
     }
     $member_types = $this->get_member_types();
     // If the field applies to all member types, show no message.
     $all_types[] = 'null';
     if (array_values($all_types) == $member_types) {
         return '';
     }
     $label = '';
     if (!empty($member_types)) {
         $has_null = false;
         $member_type_labels = array();
         foreach ($member_types as $member_type) {
             if ('null' === $member_type) {
                 $has_null = true;
                 continue;
             } else {
                 $mt_obj = bp_get_member_type_object($member_type);
                 $member_type_labels[] = $mt_obj->labels['name'];
             }
         }
         // Alphabetical sort.
         natcasesort($member_type_labels);
         $member_type_labels = array_values($member_type_labels);
         // Add the 'null' option to the end of the list.
         if ($has_null) {
             $member_type_labels[] = __('Users with no member type', 'buddypress');
         }
         $label = sprintf(__('(Member types: %s)', 'buddypress'), implode(', ', array_map('esc_html', $member_type_labels)));
     } else {
         $label = '<span class="member-type-none-notice">' . __('(Unavailable to all members)', 'buddypress') . '</span>';
     }
     return $label;
 }
开发者ID:JeroenNouws,项目名称:BuddyPress,代码行数:52,代码来源:class-bp-xprofile-field.php

示例14: test_bp_get_member_type_object_should_return_type_object

 public function test_bp_get_member_type_object_should_return_type_object()
 {
     bp_register_member_type('foo');
     $this->assertInternalType('object', bp_get_member_type_object('foo'));
 }
开发者ID:JeroenNouws,项目名称:BuddyPress,代码行数:5,代码来源:types.php

示例15: kleo_bp_profile_member_type_label

function kleo_bp_profile_member_type_label()
{
    $member_type = bp_get_member_type(bp_displayed_user_id());
    if (empty($member_type)) {
        return;
    }
    $member_type_object = bp_get_member_type_object($member_type);
    if ($member_type_object) {
        $member_type_label = '<p class="kleo_bp_profile_member_type_label">' . esc_html($member_type_object->labels['singular_name']) . '</p>';
        echo apply_filters('kleo_bp_profile_member_type_label', $member_type_label);
    }
}
开发者ID:quyip8818,项目名称:wps,代码行数:12,代码来源:config.php


注:本文中的bp_get_member_type_object函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。