Файловый менеджер - Редактировать - /home/goldin10/public_html/getoutyourbox.com/wp-content/plugins/caldera-forms/includes/field_processors.php
Error occurred
Назад
<?php add_filter('caldera_forms_view_field_checkbox', 'cf_handle_multi_view', 10, 3); function cf_handle_multi_view( $data, $field ){ if( empty( $data ) || !is_array( $data ) ){ return $data; } // Remove the json total of checked options array_pop($data); // can put in the value as well. $viewer = array(); foreach( $data as $key=>$value ){ foreach( $field['config']['option'] as $option_key=>$option ){ if( $value == $option['value'] ){ $viewer[$key] = $option['label'] . ' (' . $option['value'] . ')'; } } if( !isset( $viewer[$key] ) ){ $viewer[$key] = $value; } } return implode( ', ', $viewer ); } add_filter('caldera_forms_process_field_file', 'cf_handle_file_upload', 10, 3); add_filter('caldera_forms_process_field_advanced_file', 'cf_handle_file_upload', 10, 3); /** * Handle uploading of files from file fields * * @since unknown * * @param $entry * @param $field * @param $form * * @return bool|mixed */ function cf_handle_file_upload( $entry, $field, $form ){ if( ! Caldera_Forms_Field_Util::is_file_field( $field, $form ) ){ return false; } // check transdata if string based entry if( is_string( $entry ) ){ $transdata = Caldera_Forms_Transient::get_transient( $entry ); if( !empty( $transdata ) ){ Caldera_Forms_Transient::delete_at_submission_complete( $entry ); return $transdata; } } if( isset($_POST[ '_cf_frm_edt' ] ) ) { if ( ! isset( $_FILES ) || ( isset( $_FILES[ $field[ 'ID' ] ][ 'size' ][0] ) && 0 == $_FILES[ $field[ 'ID' ] ][ 'size' ][0] ) || ( isset( $_FILES[ $field[ 'ID' ] ][ 'size' ] ) && 0 == $_FILES[ $field[ 'ID' ] ][ 'size' ] ) ) { $entry = Caldera_Forms::get_field_data( $field[ 'ID' ], $form, absint( $_POST[ '_cf_frm_edt' ] ) ); return $entry; } } $required = false; if ( isset( $field[ 'required' ] ) && $field[ 'required' ] ){ $required = true; } if(!empty($_FILES[$field['ID']]['size'])){ // build wp allowed types $allowed = get_allowed_mime_types(); $wp_allowed = array(); foreach( $allowed as $ext=>$mime ){ $exts = explode('|', $ext ); foreach( $exts as $ext ){ $wp_allowed[ strtolower( $ext ) ] = true; } } // check if user set allowed types if(!empty($field['config']['allowed'])){ $allowed = array_map('trim', explode(',', trim( $field['config']['allowed'] ) ) ); $field['config']['allowed'] = array(); foreach( $allowed as $ext ){ $ext = strtolower( trim( $ext, '.' ) ); if( in_array($ext, $wp_allowed ) ){ $field['config']['allowed'][ $ext ] = true; } } }else{ //set allowed to only what wp allows $field['config']['allowed'] = $wp_allowed; } // check each file now foreach( (array) $_FILES[$field['ID']]['name'] as $file_name ){ if( empty( $file_name ) ){ return $entry; } $filetype = wp_check_filetype( basename( $file_name ), null ); if( empty( $field['config']['allowed'][ strtolower( $filetype['ext'] ) ] ) ){ return new WP_Error( 'fail', __('This file type is not allowed. Please try another.', 'caldera-forms') ); } } if ( ! function_exists( 'wp_handle_upload' ) ) { require_once( ABSPATH . 'wp-admin/includes/file.php' ); } $files = array(); foreach( (array) $_FILES[$field['ID']] as $file_key=>$file_parts ){ foreach( (array) $file_parts as $part_index=>$part_value ){ $files[ $part_index ][ $file_key ] = $part_value; } } $uploads = array(); foreach( $files as $file ){ if( ! $required && 0 == $file[ 'size' ] ){ continue; } if( ! Caldera_Forms_Files::is_private( $field ) ){ $upload_args = array( 'private' => false, 'field_id' => $field['ID'], 'form_id' => $form['ID'] ); }else{ $upload_args = array( 'private' => true, 'field_id' => $field['ID'], 'form_id' => $form['ID'] ); } $uploader = Caldera_Forms_Files::get_upload_handler( $form, $field ); if( is_callable( $uploader) ){ $upload = call_user_func( $uploader, $file, $upload_args ); }else{ return new WP_Error( 'invalid-upload-handler', sprintf( __( 'Invalid file upload handler. See %s', 'caldera-forms'), 'https://calderaforms.com/doc/alternative-file-upload-directory/') ); } if( !empty( $upload['error'] ) ){ return new WP_Error( 'fail', $upload['error'] ); } $uploads[] = $upload['url']; // check media handler if( !empty( $field['config']['media_lib'] ) ){ Caldera_Forms_Files::add_to_media_library( $upload, $field ); } } if( count( $uploads ) > 1 ){ return $uploads; } if( empty( $uploads ) ){ return array(); } return $uploads[0]; }else{ // for multiples if( is_array( $entry ) ){ foreach( $entry as $index => $line ){ if( !filter_var( $line, FILTER_VALIDATE_URL ) ){ unset( $entry[ $index ] ); } } return $entry; }else{ if( filter_var( $entry, FILTER_VALIDATE_URL ) ){ return $entry; } } } } add_filter( 'caldera_forms_render_get_field_type-hidden', 'caldera_forms_allow_edit_hidden_fields' ); /** * When editing a form from entry viewer, convert hidden fields to text fields to so they too can be edited. * * @since 1.4.3 * * @uses "caldera_forms_render_get_field_type-hidden" filter * * @param array $field Field config * * @return mixed */ function caldera_forms_allow_edit_hidden_fields( $field ){ if( ( ! empty( $_GET[ 'modal' ] ) && 'view_entry' == $_GET[ 'modal' ] ) || ( ! empty( $_POST[ '_cf_frm_edt' ] ) ) ){ $field[ 'type' ] = 'text'; } return $field; }; add_filter( 'caldera_forms_validate_field_phone_better', 'caldera_forms_validate_phone_better', 10, 3 ); /** * Prevent phone number fields submitted with country code only from being considered valid. * * @uses "caldera_forms_validate_field_phone_better" filter * * @since 1.5.2 * * @param string|mixed $entry * @param array $field * @param array $form * * @return WP_Error|string */ function caldera_forms_validate_phone_better( $entry, $field, $form ){ if( empty( $field[ 'required' ] ) ){ return $entry; } if( false !== strpos( $entry, '+' ) && 4 >= strlen( $entry ) ){ return new WP_Error( 400, __( 'Country code is required', 'caldera-forms' ) ); } return $entry; } add_filter( 'caldera_forms_validate_field_star_rating', 'caldera_forms_validate_field_star_rating', 10, 3 ); /** * Validate star rating fields * * Makes 0 an invalid entry for a required star rating field * * @since 1.5.5 * * @uses "caldera_forms_validate_field_star_rating" filter * * @param int|string $entry Entyre value * @param array $field * @param array $form * @return WP_Error|string|int */ function caldera_forms_validate_field_star_rating( $entry, $field, $form ){ if( ! empty( $field[ 'required' ] ) && empty( $entry ) ){ return new WP_Error( 400, __( 'Value is required', 'caldera-forms' ) ); } return $entry; } add_filter( 'caldera_forms_validate_field_email', 'caldera_forms_validate_field_email', 10, 3 ); /** * Reject field value if ! is_email() on email fields * * @uses "caldera_forms_validate_field_email" filter * * @since 1.7.2 * * @param string|mixed $entry * @param array $field * @param array $form * * @return WP_Error|string */ function caldera_forms_validate_field_email( $entry, $field, $form ){ if( empty( $entry ) ){ return $entry; } if( ! is_email( $entry ) ){ return new WP_Error( 400, __( 'Not a valid email address', 'caldera-forms' ) ); } return $entry; } add_filter( 'caldera_forms_validate_field_number', 'caldera_forms_validate_field_number', 10, 3 ); /** * Reject field value if ! is_numeric() on number fields * * @uses "caldera_forms_validate_field_number" filter * * @since 1.7.2 * * @param string|mixed $entry * @param array $field * @param array $form * * @return WP_Error|string */ function caldera_forms_validate_field_number( $entry, $field, $form ){ if( empty( $entry ) ){ return $entry; } if( ! is_numeric( $entry ) ){ return new WP_Error( 400, __( 'Not a number', 'caldera-forms' ) ); } return $entry; }
| ver. 1.4 |
Github
|
.
| PHP 7.2.34 | Генерация страницы: 0.05 |
proxy
|
phpinfo
|
Настройка