本文整理汇总了PHP中BP_XProfile_Field::get_signup_fields方法的典型用法代码示例。如果您正苦于以下问题:PHP BP_XProfile_Field::get_signup_fields方法的具体用法?PHP BP_XProfile_Field::get_signup_fields怎么用?PHP BP_XProfile_Field::get_signup_fields使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BP_XProfile_Field
的用法示例。
在下文中一共展示了BP_XProfile_Field::get_signup_fields方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: xprofile_validate_signup_fields
function xprofile_validate_signup_fields($result)
{
global $bp_xprofile_callback, $avatar_error, $avatar_error_msg, $has_errors;
global $canvas, $original;
global $current_site, $active_signup;
global $wp_upload_error;
if ($_POST['stage'] != 'validate-user-signup') {
return $result;
}
// form has been submitted, let's validate the form
// using the built in Wordpress functions and our own.
extract($result);
$counter = 0;
$has_errors = false;
$prev_field_id = -1;
// Validate all sign up fields
$fields = BP_XProfile_Field::get_signup_fields();
if ($fields) {
foreach ($fields as $field) {
$value = $_POST['field_' . $field->id];
// Need to check if the previous field had
// the same ID, as to not validate individual
// day/month/year dropdowns individually.
if ($prev_field_id != $field->id) {
$field = new BP_XProfile_Field($field->id);
if ('datebox' == $field->type) {
if ($_POST['field_' . $field->id . '_day'] != "" && $_POST['field_' . $field->id . '_month'] != "" && $_POST['field_' . $field->id . '_year'] != "") {
$value = strtotime($_POST['field_' . $field->id . '_day'] . " " . $_POST['field_' . $field->id . '_month'] . " " . $_POST['field_' . $field->id . '_year']);
}
}
if (is_array($value)) {
$value = serialize($value);
}
$bp_xprofile_callback[$counter] = array("field_id" => $field->id, "type" => $field->type, "value" => $value);
if ($field->is_required && empty($value)) {
$bp_xprofile_callback[$counter]["error_msg"] = sprintf(__('%s cannot be left blank', 'buddypress'), $field->name);
$has_errors = true;
}
$counter++;
}
$prev_field_id = $field->id;
}
}
// validate the avatar upload if there is one.
$avatar_error = false;
$checked_upload = false;
$checked_size = false;
$checked_type = false;
$original = false;
$canvas = false;
// Set friendly error feedback.
$uploadErrors = array(0 => __("There is no error, the file uploaded with success", 'buddypress'), 1 => __("Your image was bigger than the maximum allowed file size of: ", 'buddypress') . size_format(CORE_MAX_FILE_SIZE), 2 => __("Your image was bigger than the maximum allowed file size of: ", 'buddypress') . size_format(CORE_MAX_FILE_SIZE), 3 => __("The uploaded file was only partially uploaded", 'buddypress'), 6 => __("Missing a temporary folder", 'buddypress'));
if (isset($_FILES['file'])) {
if (4 !== $_FILES['file']['error']) {
if (!($checked_upload = bp_core_check_avatar_upload($_FILES))) {
$avatar_error = true;
$avatar_error_msg = $uploadErrors[$_FILES['file']['error']];
}
if ($checked_upload && !($checked_size = bp_core_check_avatar_size($_FILES))) {
$avatar_error = true;
$avatar_size = size_format(CORE_MAX_FILE_SIZE);
$avatar_error_msg = sprintf(__('The file you uploaded is too big. Please upload a file under %s', 'buddypress'), $avatar_size);
}
if ($checked_upload && $checked_size && !($checked_type = bp_core_check_avatar_type($_FILES))) {
$avatar_error = true;
$avatar_error_msg = __('Please upload only JPG, GIF or PNG photos.', 'buddypress');
}
// "Handle" upload into temporary location
if ($checked_upload && $checked_size && $checked_type && !($original = bp_core_handle_avatar_upload($_FILES))) {
$avatar_error = true;
$avatar_error_msg = sprintf(__('Upload Failed! Error was: %s', 'buddypress'), $wp_upload_error);
}
if ($checked_upload && $checked_size && $checked_type && $original && !($canvas = bp_core_resize_avatar($original))) {
$canvas = $original;
}
}
}
if (!$has_errors && !$avatar_error) {
$public = (int) $_POST['blog_public'];
// put the user profile meta in a session ready to store.
for ($i = 0; $i < count($bp_xprofile_callback); $i++) {
$meta['field_' . $bp_xprofile_callback[$i]['field_id']] .= $bp_xprofile_callback[$i]['value'];
}
$meta['xprofile_field_ids'] = $_POST['xprofile_ids'];
$meta['avatar_image_resized'] = $canvas;
$meta['avatar_image_original'] = $original;
$_SESSION['xprofile_meta'] = $meta;
} else {
$errors->add('bp_xprofile_errors', '');
}
return array('user_name' => $user_name, 'user_email' => $user_email, 'errors' => $errors);
}