$str_echo2 = '';
            while (bp_profile_fields()) {
                bp_the_profile_field();
                // field ID
                $int_field_id = esc_html($field->id);
                // use our (custom) method to get the fields' vibility level
                $str_field_ev = $obj_bp_ev->ez_bp_get_the_profile_field_visibility_level();
                // get the visible value
                $str_field_visible = $obj_bp_ev->get_level_visible($str_field_ev);
                // is the field's visibile okay for this visitor?
                if (isset($arr_current_visitor_has_permissions[$str_field_visible])) {
                    $str_echo2 .= '<div class="viewfield field_' . $int_field_id . ' field_' . strtolower(sanitize_file_name($field->name)) . ' field_type_' . esc_html($field->type) . '">';
                    $str_echo2 .= '<label for="field_' . $int_field_id . '">' . bp_get_the_profile_field_name();
                    //	$str_echo2 .= ' [' . $str_field_ev . ' -  (TODO remove)]';
                    $str_echo2 .= '</label>';
                    $str_echo2 .= '<div class="bp-view-the-field">' . bp_get_the_profile_field_value() . '</div>';
                    $str_echo2 .= '</div>';
                    $str_echo2 .= '</div>';
                } else {
                    // TODO REMOVE echo '<br>' . $int_field_id  . ' - display = false - ' . $str_field_ev .  ' [TODO - remove from profile-loop.php]<br>';
                }
                ?>

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

					<?php 
            }
            // we're only gonna output a group if we know there was something in the group to display.
            if (!empty($str_echo2)) {
function bp_the_profile_field_value()
{
    echo bp_get_the_profile_field_value();
}
 function rtmedia_api_process_bp_get_profile_request()
 {
     $this->rtmediajsonapifunction->rtmedia_api_verfiy_token();
     //Errors
     $ec_no_fields = 400001;
     $msg_no_fields = __('no profile found', 'rtmedia');
     $ec_profile_fields = 400002;
     $msg_profile_fields = __('profile fields', 'rtmedia');
     $profile_fields = array();
     $user_id = $loggedin_user_id = '';
     extract($_REQUEST);
     if (empty($user_id)) {
         $user_id = $this->user_id;
     } else {
         $loggedin_user_id = $this->user_id;
     }
     $user = get_userdata($user_id);
     if (empty($user)) {
         echo $this->rtmedia_api_response_object('TRUE', $ec_no_fields, $msg_no_fields);
         exit;
     }
     $user_data = $this->rtmediajsonapifunction->rtmedia_api_user_data_from_id($user_id, 250, 250, 'full');
     $profile_fields['id'] = $user_id;
     $profile_fields['avatar']['src'] = $user_data['avatar'];
     $profile_fields['avatar']['width'] = 250;
     $profile_fields['avatar']['height'] = 250;
     if (bp_has_profile(array('user_id' => $user_id))) {
         while (bp_profile_groups()) {
             bp_the_profile_group();
             if (bp_profile_group_has_fields()) {
                 while (bp_profile_fields()) {
                     bp_the_profile_field();
                     if (bp_field_has_data()) {
                         $profile_fields['fields'][bp_get_the_profile_field_name()] = array('value' => strip_tags(bp_get_the_profile_field_value()), 'privacy' => bp_get_the_profile_field_visibility_level());
                     }
                 }
             }
         }
     } else {
         echo $this->rtmedia_api_response_object('FALSE', $ec_no_fields, $msg_no_fields);
         exit;
     }
     //If followers plugin exists
     if (function_exists('rtmedia_api_followers')) {
         $followers = rtmedia_api_followers($user_id);
         $following = rtmedia_api_following($user_id);
         foreach ($followers as $follower) {
             $follower_data = $this->rtmediajsonapifunction->rtmedia_api_user_data_from_id($follower, 66, 66);
             $profile_fields['follower'][] = array('id' => $follower, 'name' => $follower_data['name'], 'avatar' => $follower_data['avatar']);
         }
         foreach ($following as $follow) {
             $follow_data = $this->rtmediajsonapifunction->rtmedia_api_user_data_from_id($follow, 66, 66);
             $profile_fields['following'][] = array('id' => $follow, 'name' => $follow_data['name'], 'avatar' => $follow_data['avatar']);
         }
     }
     if (!empty($_REQUEST['user_id']) && $loggedin_user_id != $user_id) {
         $args = array('leader_id' => $user_id, 'follower_id' => $loggedin_user_id);
         if (function_exists('bp_follow_is_following')) {
             $profile_fields['loggedin_user']['following'] = 'FALSE';
             if (bp_follow_is_following($args)) {
                 $profile_fields['loggedin_user']['following'] = 'TRUE';
             }
             $args = array('leader_id' => $loggedin_user_id, 'follower_id' => $user_id);
             $profile_fields['loggedin_user']['followed'] = 'FALSE';
             if (bp_follow_is_following($args)) {
                 $profile_fields['loggedin_user']['followed'] = 'TRUE';
             }
         }
     }
     echo $this->rtmedia_api_response_object('TRUE', $ec_profile_fields, $msg_profile_fields, $profile_fields);
     exit;
 }
 /**
  * Returns an object with profile information
  * @return Object Profile Fields
  */
 public function get_profile()
 {
     /* Possible parameters:
      * String username: the username you want information from (required)
      */
     $this->initVars('profile');
     $oReturn = new stdClass();
     if ($this->username === false || !username_exists($this->username)) {
         return $this->error('profile', 1);
     }
     $oUser = get_user_by('login', $this->username);
     if (!bp_has_profile(array('user_id' => $oUser->data->ID))) {
         return $this->error('profile', 0);
     }
     while (bp_profile_groups(array('user_id' => $oUser->data->ID))) {
         bp_the_profile_group();
         if (bp_profile_group_has_fields()) {
             $sGroupName = bp_get_the_profile_group_name();
             while (bp_profile_fields()) {
                 bp_the_profile_field();
                 $sFieldName = bp_get_the_profile_field_name();
                 if (bp_field_has_data()) {
                     $sFieldValue = bp_get_the_profile_field_value();
                 }
                 $oReturn->groups->{$sGroupName}->{$sFieldName} = $sFieldValue;
             }
         }
     }
     return $oReturn;
 }
示例#5
0
 function rtmedia_api_process_bp_get_profile_request()
 {
     $this->rtmediajsonapifunction->rtmedia_api_verfiy_token();
     //Errors
     $ec_no_fields = 400001;
     $msg_no_fields = esc_html__('no profile found', 'buddypress-media');
     $ec_profile_fields = 400002;
     $msg_profile_fields = esc_html__('profile fields', 'buddypress-media');
     $profile_fields = array();
     $user_id = $loggedin_user_id = '';
     $user_id = filter_input(INPUT_POST, 'user_id', FILTER_SANITIZE_NUMBER_INT);
     $loggedin_user_id = filter_input(INPUT_POST, 'loggedin_user_id', FILTER_SANITIZE_NUMBER_INT);
     if (empty($user_id)) {
         $user_id = $this->user_id;
     } else {
         $loggedin_user_id = $this->user_id;
     }
     $user = get_userdata($user_id);
     if (empty($user)) {
         wp_send_json($this->rtmedia_api_response_object('TRUE', $ec_no_fields, $msg_no_fields));
     }
     $user_data = $this->rtmediajsonapifunction->rtmedia_api_user_data_from_id($user_id, 250, 250, 'full');
     $profile_fields['id'] = $user_id;
     $profile_fields['avatar']['src'] = esc_url($user_data['avatar']);
     $profile_fields['avatar']['width'] = 250;
     $profile_fields['avatar']['height'] = 250;
     if (bp_has_profile(array('user_id' => $user_id))) {
         while (bp_profile_groups()) {
             bp_the_profile_group();
             if (bp_profile_group_has_fields()) {
                 while (bp_profile_fields()) {
                     bp_the_profile_field();
                     if (bp_field_has_data()) {
                         $profile_fields['fields'][bp_get_the_profile_field_name()] = array('value' => strip_tags(bp_get_the_profile_field_value()), 'privacy' => bp_get_the_profile_field_visibility_level());
                     }
                 }
             }
         }
     } else {
         wp_send_json($this->rtmedia_api_response_object('FALSE', $ec_no_fields, $msg_no_fields));
     }
     //If followers plugin exists
     if (function_exists('rtmedia_api_followers')) {
         $followers = rtmedia_api_followers($user_id);
         $following = $this->rtmediajsonapifunction->rtmedia_api_following($user_id);
         foreach ($followers as $follower) {
             $follower_data = $this->rtmediajsonapifunction->rtmedia_api_user_data_from_id($follower, 66, 66);
             $profile_fields['follower'][] = array('id' => $follower, 'name' => $follower_data['name'], 'avatar' => $follower_data['avatar']);
         }
         foreach ($following as $follow) {
             $follow_data = $this->rtmediajsonapifunction->rtmedia_api_user_data_from_id($follow, 66, 66);
             $profile_fields['following'][] = array('id' => $follow, 'name' => $follow_data['name'], 'avatar' => $follow_data['avatar']);
         }
     }
     if (!empty($user_id) && intval($loggedin_user_id) !== intval($user_id)) {
         $args = array('leader_id' => $user_id, 'follower_id' => $loggedin_user_id);
         if (function_exists('bp_follow_is_following')) {
             $profile_fields['loggedin_user']['following'] = 'FALSE';
             if (bp_follow_is_following($args)) {
                 $profile_fields['loggedin_user']['following'] = 'TRUE';
             }
             $args = array('leader_id' => $loggedin_user_id, 'follower_id' => $user_id);
             $profile_fields['loggedin_user']['followed'] = 'FALSE';
             if (bp_follow_is_following($args)) {
                 $profile_fields['loggedin_user']['followed'] = 'TRUE';
             }
         }
     }
     wp_send_json($this->rtmedia_api_response_object('TRUE', $ec_profile_fields, $msg_profile_fields, $profile_fields));
 }
示例#6
0
 function user_buddypress_form($content)
 {
     // displays badge list in user profile
     global $qa_request;
     $userid = $content['raw']['userid'];
     $handles = qa_userids_to_handles(array($userid));
     $handle = $handles[$userid];
     if (!$handle) {
         return;
     }
     global $bp;
     if (qa_opt('buddypress_enable_profile')) {
         $idx = 1;
         if (bp_has_profile(array('user_id' => $userid))) {
             while (bp_profile_groups()) {
                 bp_the_profile_group();
                 if (bp_profile_group_has_fields()) {
                     $fields[] = array('label' => '<span class="qa-bp-profile-group-title">' . bp_get_the_profile_group_name() . '</span>', 'type' => 'static', 'value' => qa_get_logged_in_userid() === $userid ? ' <a class="qa-bp-profile-group-edit" href="' . bp_loggedin_user_domain() . $bp->profile->slug . '/edit/group/' . $idx++ . '">' . qa_lang_html('question/edit_button') . '</a>' : '');
                     while (bp_profile_fields()) {
                         bp_the_profile_field();
                         if (bp_field_has_data()) {
                             $fields[] = array('label' => bp_get_the_profile_field_name(), 'type' => 'static', 'value' => preg_replace('|</*p>|', '', bp_get_the_profile_field_value()));
                         }
                     }
                 }
             }
         }
         $ok = null;
         $tags = null;
         $buttons = array();
         $title = '<a href="' . bp_core_get_user_domain($userid) . $bp->profile->slug . '/">' . qa_opt('buddypress_integration_title') . '</a>';
         $content = array_merge(array('form-buddypress-list' => array('ok' => $ok && !isset($error) ? $ok : null, 'style' => 'wide', 'tags' => $tags, 'title' => $title, 'fields' => $fields, 'buttons' => $buttons)), $content);
     }
     if (qa_opt('buddypress_integration_priv_message') && qa_get_logged_in_userid() && $userid != qa_get_logged_in_userid()) {
         $content = array_merge(array('form-buddypress-message' => array('fields' => array('field' => array('label' => '<a href="' . wp_nonce_url($bp->loggedin_user->domain . $bp->messages->slug . '/compose/?r=' . $handle) . '">' . qa_lang('misc/private_message_title') . '</a>', 'type' => 'static')), 'style' => 'wide')), $content);
     }
     return $content;
 }
                ?>
">
						<table class="profile-fields">
							<?php 
                while (bp_profile_fields()) {
                    bp_the_profile_field();
                    ?>
								<?php 
                    if (bp_field_has_data()) {
                        ?>
									<tr<?php 
                        bp_field_css_class();
                        ?>
>
										<?php 
                        $stripped_string = strip_tags(bp_get_the_profile_field_value());
                        $found = strpos($stripped_string, 'http');
                        if ($found === false) {
                            $stripped_string = 'http://' . $stripped_string;
                        }
                        $name = bp_get_the_profile_field_name();
                        $url = '';
                        switch ($name) {
                            case 'Facebook':
                                $alt = 'Facebook';
                                $url = get_field('facebook_icon', 'option');
                                break;
                            case 'LinkedIn':
                                $alt = 'LinkedIn';
                                $url = get_field('linkedin_icon', 'option');
                                break;