public static function get_new_user_permissions() { $data = Wdfb_OptionsRegistry::get_instance(); $extra_fields = array('gender', 'hometown', 'relationship_status', 'significant_other', 'political', 'religion', 'favorite_teams', 'quotes'); $import = false; if (!defined('BP_VERSION') && $data->get_option('wdfb_connect', 'wordpress_registration_fields')) { $wp_fields = $data->get_option('wdfb_connect', 'wordpress_registration_fields'); if (is_array($wp_fields)) { foreach ($wp_fields as $map) { if (!isset($map['fb'])) { continue; } if (!in_array($map['fb'], $extra_fields)) { continue; } $import = true; break; } } } else { if (defined('BP_VERSION')) { $model = new Wdfb_Model(); $fields = $model->get_bp_xprofile_fields(); if (is_array($fields)) { foreach ($fields as $field) { $fb_value = $data->get_option('wdfb_connect', 'buddypress_registration_fields_' . $field['id']); if (!in_array($fb_value, $extra_fields)) { continue; } $import = true; break; } } } } $perms = $import ? rtrim(join(',', array(self::EXTRAS, self::NEW_USER)), ',') : rtrim(self::NEW_USER, ','); return apply_filters('wdfb-permissions-new_user', $perms); }
function create_buddypress_registration_fields_box() { $opt = $this->_get_option('wdfb_connect'); $model = new Wdfb_Model(); $fb_fields = $model->get_known_fb_fields_map(); $bp_fields = $model->get_bp_xprofile_fields(); if (!is_array($bp_fields)) { return ''; } foreach ($bp_fields as $bpf) { _e(sprintf('Map %s to', $bpf['name']), 'wdfb'); echo ' <select name="wdfb_connect[buddypress_registration_fields_' . $bpf['id'] . ']">'; foreach ($fb_fields as $fbf_key => $fbf_label) { echo '<option value="' . $fbf_key . '" ' . (@$opt['buddypress_registration_fields_' . $bpf['id']] == $fbf_key ? 'selected="selected"' : '') . ' >' . $fbf_label . '</option>'; } echo '</select><br />'; } }