本文整理汇总了PHP中bp_xprofile_fullname_field_name函数的典型用法代码示例。如果您正苦于以下问题:PHP bp_xprofile_fullname_field_name函数的具体用法?PHP bp_xprofile_fullname_field_name怎么用?PHP bp_xprofile_fullname_field_name使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了bp_xprofile_fullname_field_name函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: bp_xprofile_fullname_field_id
/**
* Return the field ID for the Full Name xprofile field.
*
* @since BuddyPress (2.0.0)
*
* @return int Field ID.
*/
function bp_xprofile_fullname_field_id()
{
$id = wp_cache_get('fullname_field_id', 'bp_xprofile');
if (false === $id) {
global $wpdb;
$bp = buddypress();
$id = $wpdb->get_var($wpdb->prepare("SELECT id FROM {$bp->profile->table_name_fields} WHERE name = %s", bp_xprofile_fullname_field_name()));
wp_cache_set('fullname_field_id', $id, 'bp_xprofile');
}
return absint($id);
}
示例2: xprofile_sync_bp_profile
/**
* Syncs the standard built in NXTClass profile data to XProfile.
*
* @since 1.2.4
* @package BuddyPress Core
*/
function xprofile_sync_bp_profile(&$errors, $update, &$user)
{
global $bp;
if (!empty($bp->site_options['bp-disable-profile-sync']) && (int) $bp->site_options['bp-disable-profile-sync'] || !$update || $errors->get_error_codes()) {
return;
}
xprofile_set_field_data(bp_xprofile_fullname_field_name(), $user->ID, $user->display_name);
}
示例3: sort_by_name
function sort_by_name($user_ids)
{
global $nxtdb, $bp;
if (!bp_is_active('xprofile')) {
return false;
}
return $nxtdb->get_results($nxtdb->prepare("SELECT user_id FROM {$bp->profile->table_name_data} pd, {$bp->profile->table_name_fields} pf WHERE pf.id = pd.field_id AND pf.name = %s AND pd.user_id IN ( {$user_ids} ) ORDER BY pd.value ASC", bp_xprofile_fullname_field_name()));
}
示例4: bp_save_profile_data
/**
* Saves Buddypress profile data.
*
* @uses WP_CRM_Core::wp_crm_save_user_data()
* @param array $data. Request (POST,GET)
* @author peshkov@UD
*/
static function bp_save_profile_data($data)
{
global $bp;
if (empty($data['bp']) || empty($data['user_id'])) {
return;
}
//* Set necessary variables */
$user_id = $data['user_id'];
$user_data = $data['wp_crm']['user_data'];
$data = $data['bp'];
$errors = false;
$posted_field_ids = array();
$is_required = array();
//* Set xprofile full name from display_name */
$display_name = WP_CRM_F::get_first_value($user_data['display_name']);
if (!empty($display_name)) {
$fullname_field_name = bp_xprofile_fullname_field_name();
$fullname_field_id = xprofile_get_field_id_from_name($fullname_field_name);
$data["field_{$fullname_field_id}"] = $display_name;
}
//* Get all posted field ids */
foreach ($data as $name => $value) {
$field_id = str_replace(array('field_', '_day', '_month', '_year'), '', $name);
array_push($posted_field_ids, $field_id);
}
$posted_field_ids = array_unique($posted_field_ids);
//* Validate the field */
foreach ($posted_field_ids as $field_id) {
if (!isset($data['field_' . $field_id])) {
if (!empty($data['field_' . $field_id . '_day']) && !empty($data['field_' . $field_id . '_month']) && !empty($data['field_' . $field_id . '_year'])) {
/* Concatenate the values */
$date_value = $data['field_' . $field_id . '_day'] . ' ' . $data['field_' . $field_id . '_month'] . ' ' . $data['field_' . $field_id . '_year'];
/* Turn the concatenated value into a timestamp */
$data['field_' . $field_id] = date('Y-m-d H:i:s', strtotime($date_value));
}
}
$is_required[$field_id] = xprofile_check_is_required_field($field_id);
if ($is_required[$field_id] && empty($data['field_' . $field_id])) {
$errors = true;
}
}
//** There are errors */
if ($errors) {
WP_CRM_F::add_message(__('Please make sure you fill in all required Buddypress fields in this profile field group before saving.', ud_get_wp_crm()->domain), 'bad');
//** No errors */
} else {
//** Now we've checked for required fields, lets save the values. */
foreach ($posted_field_ids as $field_id) {
//** Certain types of fields (checkboxes, multiselects) may come through empty. */
//** Save them as an empty array so that they don't get overwritten by the default on the next edit. */
if (empty($data['field_' . $field_id])) {
$value = array();
} else {
$value = $data['field_' . $field_id];
}
if (!xprofile_set_field_data($field_id, $user_id, $value, $is_required[$field_id])) {
$errors = true;
} else {
do_action('xprofile_profile_field_data_updated', $field_id, $value);
}
}
//** Set the feedback message if we have error */
if ($errors) {
WP_CRM_F::add_message(__('There was a problem updating some of Buddypress profile information, please try again.', ud_get_wp_crm()->domain), 'bad');
}
}
}
示例5: get_user_extras
/**
* Fetch extra user information, such as friend count and last profile update message.
*
* Accepts multiple user IDs to fetch data for.
*
* @global wpdb $wpdb WordPress database object.
*
* @param array $paged_users An array of stdClass containing the users.
* @param string $user_ids The user ids to select information about.
* @param string $type The type of fields we wish to get.
* @return mixed False on error, otherwise associative array of results.
*/
public static function get_user_extras(&$paged_users, &$user_ids, $type = false)
{
global $wpdb;
$bp = buddypress();
if (empty($user_ids)) {
return $paged_users;
}
// Sanitize user IDs
$user_ids = implode(',', wp_parse_id_list($user_ids));
// Fetch the user's full name
if (bp_is_active('xprofile') && 'alphabetical' != $type) {
$names = $wpdb->get_results($wpdb->prepare("SELECT pd.user_id as id, pd.value as fullname FROM {$bp->profile->table_name_fields} pf, {$bp->profile->table_name_data} pd WHERE pf.id = pd.field_id AND pf.name = %s AND pd.user_id IN ( {$user_ids} )", bp_xprofile_fullname_field_name()));
for ($i = 0, $count = count($paged_users); $i < $count; ++$i) {
foreach ((array) $names as $name) {
if ($name->id == $paged_users[$i]->id) {
$paged_users[$i]->fullname = $name->fullname;
}
}
}
}
// Fetch the user's total friend count
if ('popular' != $type) {
$friend_count = $wpdb->get_results($wpdb->prepare("SELECT user_id as id, meta_value as total_friend_count FROM {$wpdb->usermeta} WHERE meta_key = %s AND user_id IN ( {$user_ids} )", bp_get_user_meta_key('total_friend_count')));
for ($i = 0, $count = count($paged_users); $i < $count; ++$i) {
foreach ((array) $friend_count as $fcount) {
if ($fcount->id == $paged_users[$i]->id) {
$paged_users[$i]->total_friend_count = (int) $fcount->total_friend_count;
}
}
}
}
// Fetch whether or not the user is a friend
if (bp_is_active('friends')) {
$friend_status = $wpdb->get_results($wpdb->prepare("SELECT initiator_user_id, friend_user_id, is_confirmed FROM {$bp->friends->table_name} WHERE (initiator_user_id = %d AND friend_user_id IN ( {$user_ids} ) ) OR (initiator_user_id IN ( {$user_ids} ) AND friend_user_id = %d )", bp_loggedin_user_id(), bp_loggedin_user_id()));
for ($i = 0, $count = count($paged_users); $i < $count; ++$i) {
foreach ((array) $friend_status as $status) {
if ($status->initiator_user_id == $paged_users[$i]->id || $status->friend_user_id == $paged_users[$i]->id) {
$paged_users[$i]->is_friend = $status->is_confirmed;
}
}
}
}
if ('active' != $type) {
$user_activity = $wpdb->get_results($wpdb->prepare("SELECT user_id as id, meta_value as last_activity FROM {$wpdb->usermeta} WHERE meta_key = %s AND user_id IN ( {$user_ids} )", bp_get_user_meta_key('last_activity')));
for ($i = 0, $count = count($paged_users); $i < $count; ++$i) {
foreach ((array) $user_activity as $activity) {
if ($activity->id == $paged_users[$i]->id) {
$paged_users[$i]->last_activity = $activity->last_activity;
}
}
}
}
// Fetch the user's last_activity
if ('active' != $type) {
$user_activity = $wpdb->get_results($wpdb->prepare("SELECT user_id as id, meta_value as last_activity FROM {$wpdb->usermeta} WHERE meta_key = %s AND user_id IN ( {$user_ids} )", bp_get_user_meta_key('last_activity')));
for ($i = 0, $count = count($paged_users); $i < $count; ++$i) {
foreach ((array) $user_activity as $activity) {
if ($activity->id == $paged_users[$i]->id) {
$paged_users[$i]->last_activity = $activity->last_activity;
}
}
}
}
// Fetch the user's latest update
$user_update = $wpdb->get_results($wpdb->prepare("SELECT user_id as id, meta_value as latest_update FROM {$wpdb->usermeta} WHERE meta_key = %s AND user_id IN ( {$user_ids} )", bp_get_user_meta_key('bp_latest_update')));
for ($i = 0, $count = count($paged_users); $i < $count; ++$i) {
foreach ((array) $user_update as $update) {
if ($update->id == $paged_users[$i]->id) {
$paged_users[$i]->latest_update = $update->latest_update;
}
}
}
return $paged_users;
}
示例6: bp_xprofile_filter_user_query_populate_extras
/**
* Filter BP_User_Query::populate_extras to override each queries users fullname
*
* @since BuddyPress (1.7)
*
* @global BuddyPress $bp
* @global WPDB $wpdb
* @param BP_User_Query $user_query
* @param string $user_ids_sql
*/
function bp_xprofile_filter_user_query_populate_extras(BP_User_Query $user_query, $user_ids_sql)
{
global $bp, $wpdb;
if (bp_is_active('xprofile')) {
$fullname_field_id = $wpdb->get_var($wpdb->prepare("SELECT id FROM {$bp->profile->table_name_fields} WHERE name = %s", bp_xprofile_fullname_field_name()));
$user_id_names = $wpdb->get_results($wpdb->prepare("SELECT user_id, value as fullname FROM {$bp->profile->table_name_data} WHERE user_id IN ({$user_ids_sql}) AND field_id = %d", $fullname_field_id));
// Loop through names and override each user's fullname
foreach ($user_id_names as $user) {
if (isset($user_query->results[$user->user_id])) {
$user_query->results[$user->user_id]->fullname = $user->fullname;
}
}
}
}
示例7: get_fullname
function get_fullname($user_id = 0)
{
if (empty($user_id)) {
$user_id = bp_displayed_user_id();
}
$field_name = bp_xprofile_fullname_field_name();
$data = xprofile_get_field_data($field_name, $user_id);
return $data[$field_name];
}
示例8: test_get_all_for_user_uncached
/**
* @group get_all_for_user
*/
public function test_get_all_for_user_uncached()
{
$u = $this->factory->user->create();
$g1 = $this->factory->xprofile_group->create();
$g2 = $this->factory->xprofile_group->create();
$f1 = $this->factory->xprofile_field->create(array('type' => 'textbox', 'field_group_id' => $g1));
$f2 = $this->factory->xprofile_field->create(array('type' => 'radio', 'field_group_id' => $g2));
$time = bp_core_current_time();
// Get the fullname field - hackish
$f0_id = xprofile_get_field_id_from_name(bp_xprofile_fullname_field_name());
$f0 = new BP_XProfile_Field($f0_id);
$g0 = new BP_XProfile_Group($f0->group_id);
$d0 = new BP_XProfile_ProfileData($f0->id, $u);
$d1 = new BP_XProfile_ProfileData();
$d1->user_id = $u;
$d1->field_id = $f1;
$d1->value = 'foo';
$d1->last_updated = $time;
$d1->save();
$d2 = new BP_XProfile_ProfileData();
$d2->user_id = $u;
$d2->field_id = $f2;
$d2->value = 'bar';
$d2->last_updated = $time;
$d2->save();
// Ensure it's deleted from cache
wp_cache_delete("{$u}:{$f1}", 'bp_xprofile_data');
wp_cache_delete("{$u}:{$f2}", 'bp_xprofile_data');
$u_obj = new WP_User($u);
$g1_obj = new BP_XProfile_Group($g1);
$g2_obj = new BP_XProfile_Group($g2);
$f1_obj = new BP_XProfile_Field($f1);
$f2_obj = new BP_XProfile_Field($f2);
$expected = array('user_login' => $u_obj->user_login, 'user_nicename' => $u_obj->user_nicename, 'user_email' => $u_obj->user_email, $f0->name => array('field_group_id' => $g0->id, 'field_group_name' => $g0->name, 'field_id' => $f0->id, 'field_type' => $f0->type, 'field_data' => $d0->value), $f1_obj->name => array('field_group_id' => $g1, 'field_group_name' => $g1_obj->name, 'field_id' => $f1, 'field_type' => $f1_obj->type, 'field_data' => $d1->value), $f2_obj->name => array('field_group_id' => $g2, 'field_group_name' => $g2_obj->name, 'field_id' => $f2, 'field_type' => $f2_obj->type, 'field_data' => $d2->value));
$this->assertEquals($expected, BP_XProfile_ProfileData::get_all_for_user($u));
}
示例9: get_fullname
function get_fullname($user_id = 0)
{
global $bp;
if (!$user_id) {
$user_id = $bp->displayed_user->id;
}
$field_name = bp_xprofile_fullname_field_name();
$data = xprofile_get_field_data($field_name, $user_id);
return $data[$field_name];
}
示例10: sort_by_name
/**
* Sort a list of user IDs by their display names.
*
* @todo Why does this exist, and why is it in bp-friends?
*
* @param array $user_ids Array of user IDs.
*
* @return array User IDs, sorted by the associated display names.
*/
public static function sort_by_name($user_ids)
{
global $wpdb;
if (!bp_is_active('xprofile')) {
return false;
}
$bp = buddypress();
$user_ids = implode(',', wp_parse_id_list($user_ids));
return $wpdb->get_results($wpdb->prepare("SELECT user_id FROM {$bp->profile->table_name_data} pd, {$bp->profile->table_name_fields} pf WHERE pf.id = pd.field_id AND pf.name = %s AND pd.user_id IN ( {$user_ids} ) ORDER BY pd.value ASC", bp_xprofile_fullname_field_name()));
}