Файловый менеджер - Редактировать - /home/rowdyr7/vbln.supply/wp-content/plugins/weforms/includes/functions.php
Назад
<?php /** * Get a single form * * @since 1.0.3 * * @param int $form_id * * @return false|WP_Post */ function weform_get_form( $form_id ) { return weforms()->form->get( $form_id ); } /** * Get contact form templates * * @return array */ function weforms_get_form_template_categories() { $categories = [ 'default' => [ 'name' => 'Default Templates', 'icon' => 'fa fa-bars', ], 'registration' => [ 'name' => 'Registration Templates', 'icon' => 'fa fa-user-plus', ], 'application' => [ 'name' => 'Application Templates', 'icon' => 'fa fa-address-card-o', ], 'request' => [ 'name' => 'Request Templates', 'icon' => 'fa fa-hand-paper-o', ], 'event' => [ 'name' => 'Event Templates', 'icon' => 'fa fa-calendar', ], 'feedback' => [ 'name' => 'Feedback Templates', 'icon' => 'fa fa-comments', ], 'employment' => [ 'name' => 'Employment Templates', 'icon' => 'fa fa-suitcase', ], 'payment' => [ 'name' => 'Payment Templates', 'icon' => 'fa fa-money', ], 'reservation' => [ 'name' => 'Reservation Templates', 'icon' => 'fa fa-bandcamp', ], 'others' => [ 'name' => 'Others Templates', 'icon' => 'fa fa-info-circle', ], ]; return apply_filters( 'weforms_form_template_categories', $categories ); } /** * Get entries by a form_id * * @param int $form_id * @param array $args * * @return object */ function weforms_get_form_entries( $form_id, $args = [] ) { global $wpdb; $defaults = [ 'number' => 10, 'offset' => 0, 'orderby' => 'created_at', 'status' => 'publish', 'order' => 'DESC', ]; $r = wp_parse_args( $args, $defaults ); $query = $wpdb->prepare( " SELECT id, form_id, user_id, INET_NTOA( user_ip ) as ip_address, created_at FROM $wpdb->weforms_entries WHERE form_id = %d AND status = %s ORDER BY %s %s LIMIT %d, %d ", array( $form_id, $r['status'], $r['orderby'], $r['order'], $r['offset'], $r['number'], ) ); $results = $wpdb->get_results( $query ); return $results; } /** * Count all entries from weForms_entries table * * @param array $args * * @return int $number */ function weforms_count_entries( $args = [] ) { global $wpdb; $defaults = [ 'orderby' => 'created_at', 'status' => 'publish', 'order' => 'DESC', ]; $r = wp_parse_args( $args, $defaults ); $query = $wpdb->prepare( " SELECT id, form_id, user_id, INET_NTOA( user_ip ) as ip_address, created_at FROM $wpdb->weforms_entries WHERE status = %s ORDER BY %s %s ", array( $r['status'], $r['orderby'], $r['order'], ) ); $results = $wpdb->get_results( $query ); return count( $results ); } /** * Get payments by a form_id * * @param int $form_id * @param array $args * * @return object */ function weforms_get_form_payments( $form_id, $args = [] ) { global $wpdb; $defaults = [ 'number' => 10, 'offset' => 0, 'orderby' => 'created_at', 'order' => 'DESC', ]; $r = wp_parse_args( $args, $defaults ); $query = $wpdb->prepare( " SELECT * FROM wp_weforms_payments WHERE form_id = %d ORDER BY %s %s LIMIT %d, %d ", array( $form_id, $r['orderby'], $r['order'], $r['offset'], $r['number'], ) ); $results = $wpdb->get_results( $query ); return $results; } /** * Get payments by a entry_id * * @param int $entry_id * * @return object */ function weforms_get_entry_payment( $entry_id ) { global $wpdb; $query = $wpdb->prepare( " SELECT transaction_id FROM $wpdb->prefix 'weforms_payments' WHERE entry_id = %d ", array( $entry_id ) ); $payment = $wpdb->get_row( $query ); return $payment; } /** * Get an entry by id * * @param int $entry_id * * @return object */ function weforms_get_entry( $entry_id ) { global $wpdb; $cache_key = 'weforms-entry-' . $entry_id; $entry = wp_cache_get( $cache_key, 'weforms' ); if ( false === $entry ) { $query = 'SELECT id, form_id, user_id, user_device, referer, INET_NTOA( user_ip ) as ip_address, created_at FROM ' . $wpdb->weforms_entries . ' WHERE id = %d'; $entry = $wpdb->get_row( $wpdb->prepare( $query, $entry_id ) ); wp_cache_set( $cache_key, $entry ); } return $entry; } /** * Insert a new entry * * @param array $args * @param array $fields * * @return WP_Error|int */ function weforms_insert_entry( $args, $fields = [] ) { global $wpdb; $browser = weforms_get_browser(); $defaults = [ 'form_id' => 0, 'user_id' => get_current_user_id(), 'user_ip' => ip2long( weforms_get_client_ip() ), 'user_device' => $browser['name'] . '/' . $browser['platform'], 'referer' => isset( $_SERVER['HTTP_REFERER'] ) ? sanitize_url( wp_unslash( $_SERVER['HTTP_REFERER'] ) ) : '', 'created_at' => current_time( 'mysql' ) ]; $r = wp_parse_args( $args, $defaults ); if ( !$r['form_id'] ) { return new WP_Error( 'no-form-id', __( 'No form ID was found.', 'weforms' ) ); } if ( !$fields ) { return new WP_Error( 'no-fields', __( 'No form fields were found.', 'weforms' ) ); } $success = $wpdb->insert( $wpdb->weforms_entries, $r ); if ( is_wp_error( $success ) || !$success ) { return new WP_Error( 'could-not-create', __( 'Could not create an entry', 'weforms' ) ); } $entry_id = $wpdb->insert_id; foreach ( $fields as $key => $value ) { weforms_add_entry_meta( $entry_id, $key, $value ); } return $entry_id; } /** * Change an entry status * * @param int $entry_id * @param string $status * * @return int|bool */ function weforms_change_entry_status( $entry_id, $status ) { global $wpdb; return $wpdb->update( $wpdb->weforms_entries, [ 'status' => $status, ], [ 'id' => $entry_id, ], [ '%s' ], [ '%d' ] ); } /** * Delete an entry * * @param int $entry_id * * @return int|bool */ function weforms_delete_entry( $entry_id ) { global $wpdb; weforms_delete_entry_attachments( $entry_id ); $deleted = $wpdb->delete( $wpdb->weforms_entries, [ 'id' => $entry_id, ], [ '%d' ] ); if ( $deleted ) { $wpdb->delete( $wpdb->weforms_entrymeta, [ 'weforms_entry_id' => $entry_id, ], [ '%d' ] ); } return $deleted; } /** * Delete attachments of an entry * * @param int $entry_id * * @since 1.3.5 */ function weforms_delete_entry_attachments( $entry_id ) { $entry = weforms_get_entry( $entry_id ); $fields = weforms_get_form_field_labels( $entry->form_id ); if ( !$fields ) { return false; } foreach ( $fields as $meta_key => $field ) { $value = weforms_get_entry_meta( $entry_id, $meta_key, true ); if ( in_array( $field['type'], [ 'image_upload', 'file_upload' ] ) ) { if ( is_array( $value ) && $value ) { foreach ( $value as $attachment_id ) { wp_delete_attachment( $attachment_id, true ); } } } } } /** * Add meta data field to an entry. * * @param int $entry_id entry ID * @param string $meta_key metadata name * @param mixed $meta_value Metadata value. Must be serializable if non-scalar. * @param bool $unique Optional. Whether the same key should not be added. * Default false. * * @return int|false meta ID on success, false on failure */ function weforms_add_entry_meta( $entry_id, $meta_key, $meta_value, $unique = false ) { return add_metadata( 'weforms_entry', $entry_id, $meta_key, $meta_value, $unique ); } /** * Retrieve entry meta field for a entry. * * @param int $entry_id entry ID * @param string $key Optional. The meta key to retrieve. By default, returns * data for all keys. Default empty. * @param bool $single Optional. Whether to return a single value. Default false. * * @return mixed Will be an array if $single is false. Will be value of meta data * field if $single is true. */ function weforms_get_entry_meta( $entry_id, $key = '', $single = false ) { return get_metadata( 'weforms_entry', $entry_id, $key, $single ); } /** * Update entry meta field based on entry ID. * * Use the $prev_value parameter to differentiate between meta fields with the * same key and entry ID. * * If the meta field for the entry does not exist, it will be added. * * @param int $entry_id entry ID * @param string $meta_key metadata key * @param mixed $meta_value Metadata value. Must be serializable if non-scalar. * @param mixed $prev_value Optional. Previous value to check before removing. * Default empty. * * @return int|bool meta ID if the key didn't exist, true on successful update, * false on failure */ function weforms_update_entry_meta( $entry_id, $meta_key, $meta_value, $prev_value = '' ) { return update_metadata( 'weforms_entry', $entry_id, $meta_key, $meta_value, $prev_value ); } /** * Delete everything from entry meta matching meta key. * * @param string $entry_meta_key key to search for when deleting * * @return bool whether the entry meta key was deleted from the database */ function weforms_delete_entry_meta_by_key( $meta_key ) { return delete_metadata( 'weforms_entry', null, $meta_key, '', true ); } /** * Retrieve entry meta fields, based on entry ID. * * The entry meta fields are retrieved from the cache where possible, * so the function is optimized to be called more than once. * * @since 1.2.0 * * @param int $entry_id optional * * @return array entry meta for the given entry */ function weforms_get_entry_custom( $entry_id = 0 ) { $entry_id = absint( $entry_id ); return weforms_get_entry_meta( $entry_id ); } /** * Retrieve meta field names for a entry. * * If there are no meta fields, then nothing (null) will be returned. * * @param int $entry_id optional * * @return array|void array of the keys, if retrieved */ function weforms_get_entry_custom_keys( $entry_id = 0 ) { $custom = weforms_get_entry_custom( $entry_id ); if ( !is_array( $custom ) ) { return false; } if ( $keys = array_keys( $custom ) ) { return $keys; } } /** * Get the number of entries count on a form * * @param int $form_id * * @return int */ function weforms_count_form_entries( $form_id, $status = 'publish' ) { global $wpdb; return (int) $wpdb->get_var( $wpdb->prepare( 'SELECT count(id) FROM ' . $wpdb->weforms_entries . ' WHERE form_id = %d AND status = %s', $form_id, $status ) ); } /** * Get the number of entries count on a form * * @param int $form_id * * @return int */ function weforms_count_form_payments( $form_id ) { global $wpdb; if ( !class_exists( 'WeForms_Payment' ) ) { return 0; } return (int) $wpdb->get_var( $wpdb->prepare( 'SELECT count(id) FROM ' . $wpdb->prefix . 'weforms_payments' . ' WHERE form_id = %d', $form_id ) ); } /** * Get the form author details * * @param int $form_id * * @return array */ function weforms_get_form_author_details( $form_id ) { if ( empty( $form_id ) ) { return; } $author_details = []; $form = get_post( $form_id ); $author_id = $form->post_author; $author_details['username'] = get_the_author_meta( 'user_login', $author_id ); $author_details['avatar'] = get_avatar_url( $author_id ); return $author_details; } /** * Get table column heads for a form * * For now, return only text type fields * * @param int $form_id * * @return array */ function weforms_get_entry_columns( $form_id, $limit = 6 ) { $fields = weforms()->form->get( $form_id )->get_fields(); $columns = []; // filter by input types if ( $limit ) { $fields = array_filter( $fields, function ( $item ) { return in_array( $item['template'], [ 'text_field', 'name_field', 'dropdown_field', 'radio_field', 'email_address', 'url_field', 'column_field' ] ); } ); } if ( $fields ) { foreach ( $fields as $field ) { if ( $field['template'] == 'column_field' ) { foreach ( $field['inner_fields'] as $c_field ) { $columns[ $c_field[0]['name'] ] = $c_field[0]['label']; } continue; } $columns[ $field['name'] ] = $field['label']; } } // if passed 0/false, return all columns if ( $limit && sizeof( $columns ) > $limit ) { $columns = array_slice( $columns, 0, $limit ); // max 6 columns } return apply_filters( 'weforms_get_entry_columns', $columns, $form_id ); } /** * Get table column heads for a form * * For now, return only text type fields * * @param int $form_id * * @return array */ function weforms_get_payment_columns( $form_id, $limit = 6 ) { $fields = weforms()->form->get( $form_id )->get_fields(); $columns = []; // filter by input types if ( $limit ) { $fields = array_filter( $fields, function ( $item ) { return in_array( $item['template'], [ 'text_field', 'name_field', 'dropdown_field', 'radio_field', 'email_address', 'url_field' ] ); } ); } if ( $fields ) { foreach ( $fields as $field ) { $columns[ $field['name'] ] = $field['label']; } } // if passed 0/false, return all collumns if ( $limit && sizeof( $columns ) > $limit ) { $columns = array_slice( $columns, 0, $limit ); // max 6 columns } return apply_filters( 'weforms_get_entry_columns', $columns, $form_id ); } /** * Get fields from a form by it's meta key * * @param int $form_id * * @return array */ function weforms_get_form_field_labels( $form_id ) { $fields = weforms()->form->get( $form_id )->get_fields(); $exclude = [ 'step_start', 'section_break', 'recaptcha', 'shortcode', 'action_hook' ]; if ( !$fields ) { return false; } $data = []; foreach ( $fields as $field ) { if ( empty( $field['name'] ) ) { continue; } // exclude the fields if ( in_array( $field['template'], $exclude ) ) { continue; } $data[ $field['name'] ] = [ 'label' => $field['label'], 'type' => $field['template'], ]; } return $data; } /** * Get data from an entry * * @param int $entry_id * @param int $form_id * * @return false|array */ function weforms_get_entry_data( $entry_id ) { $data = []; $entry = weforms_get_entry( $entry_id ); $fields = weforms_get_form_field_labels( $entry->form_id ); if ( !$fields ) { return false; } foreach ( $fields as $meta_key => $field ) { $value = weforms_get_entry_meta( $entry_id, $meta_key, true ); if ( $field['type'] == 'textarea' ) { $data[ $meta_key ] = weforms_format_text( $value ); } elseif ( $field['type'] == 'name' ) { $data[ $meta_key ] = implode( ' ', explode( WeForms::$field_separator, $value ) ); } elseif ( in_array( $field['type'], [ 'image_upload', 'file_upload' ] ) ) { $data[ $meta_key ] = ''; if ( is_array( $value ) && $value ) { foreach ( $value as $attachment_id ) { if ( $field['type'] == 'image_upload' ) { $thumb = wp_get_attachment_image( $attachment_id, 'thumbnail' ); } else { $thumb = get_post_field( 'post_title', $attachment_id ); } $full_size = wp_get_attachment_url( $attachment_id ); $data[ $meta_key ] .= sprintf( '<a href="%s" target="_blank">%s</a> ', $full_size, $thumb ); } } } elseif ( in_array( $field['type'], [ 'checkbox', 'multiselect' ] ) ) { $data[ $meta_key ] = explode( WeForms::$field_separator, $value ); } elseif ( $field['type'] == 'map' ) { list( $lat, $long ) = explode( ',', $value ); $data[ $meta_key ] = [ 'lat' => $lat, 'long' => $long, ]; } else { $data[ $meta_key ] = $value; } } return [ 'fields' => $fields, 'data' => $data, ]; } /** * Format a text and apply WP function callbacks * * @param string $content * * @return string */ function weforms_format_text( $content ) { $content = wptexturize( $content ); $content = convert_smilies( $content ); $content = wpautop( $content ); $content = make_clickable( $content ); return $content; } /** * Get User Agent browser and OS type * * @return array */ function weforms_get_browser() { $u_agent = isset( $_SERVER['HTTP_USER_AGENT'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ) : ''; $bname = 'Unknown'; $platform = 'Unknown'; $version = ''; // first get the platform if ( preg_match( '/linux/i', $u_agent ) ) { $platform = 'Linux'; } elseif ( preg_match( '/macintosh|mac os x/i', $u_agent ) ) { $platform = 'MAC OS'; } elseif ( preg_match( '/windows|win32/i', $u_agent ) ) { $platform = 'Windows'; } // next get the name of the useragent yes seperately and for good reason if ( preg_match( '/MSIE/i', $u_agent ) && !preg_match( '/Opera/i', $u_agent ) ) { $bname = 'Internet Explorer'; $ub = 'MSIE'; } elseif ( preg_match( '/Trident/i', $u_agent ) ) { // this condition is for IE11 $bname = 'Internet Explorer'; $ub = 'rv'; } elseif ( preg_match( '/Firefox/i', $u_agent ) ) { $bname = 'Mozilla Firefox'; $ub = 'Firefox'; } elseif ( preg_match( '/Chrome/i', $u_agent ) ) { $bname = 'Google Chrome'; $ub = 'Chrome'; } elseif ( preg_match( '/Safari/i', $u_agent ) ) { $bname = 'Apple Safari'; $ub = 'Safari'; } elseif ( preg_match( '/Opera/i', $u_agent ) ) { $bname = 'Opera'; $ub = 'Opera'; } elseif ( preg_match( '/Netscape/i', $u_agent ) ) { $bname = 'Netscape'; $ub = 'Netscape'; } // finally get the correct version number // Added "|:" $known = [ 'Version', $ub, 'other' ]; $pattern = '#(?<browser>' . join( '|', $known ) . ')[/|: ]+(?<version>[0-9.|a-zA-Z.]*)#'; if ( !preg_match_all( $pattern, $u_agent, $matches ) ) { // we have no matching number just continue } // see how many we have $i = count( $matches['browser'] ); if ( $i != 1 ) { // we will have two since we are not using 'other' argument yet // see if version is before or after the name if ( strripos( $u_agent, 'Version' ) < strripos( $u_agent, $ub ) ) { $version = $matches['version'][0]; } else { $version = $matches['version'][1]; } } else { $version = $matches['version'][0]; } // check if we have a number if ( $version == null || $version == '' ) { $version = ''; } return [ 'userAgent' => $u_agent, 'name' => $bname, 'version' => $version, 'platform' => $platform, 'pattern' => $pattern, ]; } /** * Get form notification merge tags * * @since 1.0 * * @return array */ function weforms_get_merge_tags() { $tags = [ 'form' => [ 'title' => __( 'Form', 'weforms' ), 'tags' => [ 'entry_id' => __( 'Entry ID', 'weforms' ), 'form_id' => __( 'Form ID', 'weforms' ), 'form_name' => __( 'Form Name', 'weforms' ), ], ], 'system' => [ 'title' => __( 'System', 'weforms' ), 'tags' => [ 'admin_email' => __( 'Site Administrator Email', 'weforms' ), 'date' => __( 'Date', 'weforms' ), 'site_name' => __( 'Site Title', 'weforms' ), 'site_url' => __( 'Site URL', 'weforms' ), 'page_title' => __( 'Embedded Page Title', 'weforms' ), ], ], 'user' => [ 'title' => __( 'User', 'weforms' ), 'tags' => [ 'ip_address' => __( 'IP Address', 'weforms' ), 'user_id' => __( 'User ID', 'weforms' ), 'first_name' => __( 'First Name', 'weforms' ), 'last_name' => __( 'Last Name', 'weforms' ), 'display_name' => __( 'Display Name', 'weforms' ), 'user_email' => __( 'Email', 'weforms' ), ], ], 'urls' => [ 'title' => __( 'URL\'s', 'weforms' ), 'tags' => [ 'url_page' => __( 'Embeded Page URL', 'weforms' ), 'url_referer' => __( 'Referer URL', 'weforms' ), 'url_login' => __( 'Login URL', 'weforms' ), 'url_logout' => __( 'Logout URL', 'weforms' ), 'url_register' => __( 'Register URL', 'weforms' ), 'url_lost_password' => __( 'Lost Password URL', 'weforms' ), 'personal_data_erase_confirm_url' => __( 'Personal Data Erase Confirmation URL', 'weforms' ), 'personal_data_export_confirm_url' => __( 'Personal Data Export Confirmation URL', 'weforms' ), ], ], ]; return apply_filters( 'wpuf_cf_merge_tags', $tags ); } /** * Record a form view count * * @param int $form_id * * @return void */ function weforms_track_form_view( $form_id ) { // don't track administrators if ( current_user_can( 'administrator' ) ) { return; } // ability to turn this off if someone doesn't like this tracking $is_enabled = apply_filters( 'weforms_track_form_view', true ); if ( !$is_enabled ) { return; } // increase the count $meta_key = '_weforms_view_count'; $number = (int) get_post_meta( $form_id, $meta_key, true ); update_post_meta( $form_id, $meta_key, ( $number + 1 ) ); } /** * Get form view count of a form * * @param int $form_id * * @return int */ function weforms_get_form_views( $form_id ) { return (int) get_post_meta( $form_id, '_weforms_view_count', true ); } /** * Get the weForms global settings * * @param string $key * @param mixed $default * * @return mixed */ function weforms_get_settings( $key = '', $default = '' ) { $settings = get_option( 'weforms_settings', [] ); $settings = apply_filters( 'weforms_get_settings', $settings ); if ( empty( $key ) ) { return $settings; } if ( isset( $settings[ $key ] ) ) { return $settings[ $key ]; } return $default; } /** * Update Settings * * @param array $updated_settings * * @return array */ function weforms_update_settings( $updated_settings = [] ) { $previuos_settings = weforms_get_settings(); $settings = array_merge( $previuos_settings, $updated_settings ); update_option( 'weforms_settings', $settings ); return $settings; } /** * Form access capability for forms * * @since 1.0.5 * * @return string */ function weforms_form_access_capability() { return apply_filters( 'weforms_form_access_capability', 'manage_options' ); } /** * Form access capability for forms * * @since 1.2.4 * * @return string */ function weforms_log_file_path() { return apply_filters( 'weforms_log_file_path', WP_CONTENT_DIR . '/weforms.log' ); } /** * Clear the buffer * * prevents ajax breakage and endless loading icon. A LIFE SAVER!!! * * @since 1.1.0 * * @return void */ function weforms_clear_buffer() { if ( ob_get_length() > 0 ) { ob_clean(); } } /** * Get the client IP address * * @since 1.1.0 * * @return string */ function weforms_get_client_ip() { $ipaddress = ''; if ( isset( $_SERVER['HTTP_CLIENT_IP'] ) ) { $ipaddress = sanitize_text_field( wp_unslash( $_SERVER['HTTP_CLIENT_IP'] ) ); } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { $ipaddress = sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ); } elseif ( isset( $_SERVER['HTTP_X_FORWARDED'] ) ) { $ipaddress = sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED'] ) ); } elseif ( isset( $_SERVER['HTTP_FORWARDED_FOR'] ) ) { $ipaddress = sanitize_text_field( wp_unslash( $_SERVER['HTTP_FORWARDED_FOR'] ) ); } elseif ( isset( $_SERVER['HTTP_FORWARDED'] ) ) { $ipaddress = sanitize_text_field( wp_unslash( $_SERVER['HTTP_FORWARDED'] ) ); } elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) { $ipaddress = sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ); } else { $ipaddress = 'UNKNOWN'; } return $ipaddress; } /** * Save form fields * * @since 1.1.0 * * @param int $form_id * @param array $field * @param int $field_id * @param int $order * * @return int ID of updated or inserted post */ function weforms_insert_form_field( $form_id, $field = [], $field_id = null, $order = 0 ) { $args = [ 'post_type' => 'wpuf_input', 'post_parent' => $form_id, 'post_status' => 'publish', 'post_content' => maybe_serialize( wp_unslash( $field ) ), 'menu_order' => $order, ]; if ( $field_id ) { $args['ID'] = $field_id; } if ( $field_id ) { return wp_update_post( $args ); } else { return wp_insert_post( $args ); } } /** * Allowed upload extensions * * @return array */ function weforms_allowed_extensions() { $extesions = [ 'images' => [ 'ext' => 'jpg,jpeg,gif,png,bmp', 'label' => __( 'Images', 'weforms' ), ], 'audio' => [ 'ext' => 'mp3,wav,ogg,wma,mka,m4a,ra,mid,midi', 'label' => __( 'Audio', 'weforms' ), ], 'video' => [ 'ext' => 'avi,divx,flv,mov,ogv,mkv,mp4,m4v,divx,mpg,mpeg,mpe', 'label' => __( 'Videos', 'weforms' ), ], 'pdf' => [ 'ext' => 'pdf', 'label' => __( 'PDF', 'weforms' ), ], 'office' => [ 'ext' => 'doc,ppt,pps,xls,mdb,docx,xlsx,pptx,odt,odp,ods,odg,odc,odb,odf,rtf,txt', 'label' => __( 'Office Documents', 'weforms' ), ], 'zip' => [ 'ext' => 'zip,gz,gzip,rar,7z', 'label' => __( 'Zip Archives', 'weforms' ), ], 'exe' => [ 'ext' => 'exe', 'label' => __( 'Executable Files', 'weforms' ), ], 'csv' => [ 'ext' => 'csv', 'label' => __( 'CSV', 'weforms' ), ], ]; return apply_filters( 'weforms_allowed_extensions', $extesions ); } /** * Get form integration settings * * @since 1.1.0 * * @param int $form_id * * @return array */ function weforms_get_form_integrations( $form_id ) { $integrations = get_post_meta( $form_id, 'integrations', true ); if ( !$integrations ) { return []; } return $integrations; } /** * Check if an integration is active * * @since 1.1.0 * * @param int $form_id * @param string $integration_id * * @return bool */ function weforms_is_integration_active( $form_id, $integration_id ) { $integrations = weforms_get_form_integrations( $form_id ); if ( !$integrations ) { return false; } foreach ( $integrations as $id => $integration ) { if ( $integration_id == $id && $integration->enabled == true ) { return $integration; } } return false; } /** * Get Flat UI Colors * * @return array */ function weforms_get_flat_ui_colors() { return [ '#1abc9c', '#2ecc71', '#3498db', '#9b59b6', '#34495e' ]; } /** * Get default form settings * * @return array */ function weforms_get_default_form_settings() { return apply_filters( 'weforms_get_default_form_settings', [ 'redirect_to' => 'same', 'message' => __( 'Thanks for contacting us! We will get in touch with you shortly.', 'weforms' ), 'page_id' => '', 'url' => '', 'submit_text' => __( 'Submit', 'weforms' ), 'submit_button_cond' => [ 'condition_status' => 'no', 'cond_logic' => 'any', 'conditions' => [ [ 'name' => '', 'operator' => '=', 'option' => '', ], ], ], 'schedule_form' => 'false', 'schedule_start' => '', 'schedule_end' => '', 'sc_pending_message' => __( 'Form submission hasn\'t been started yet', 'weforms' ), 'sc_expired_message' => __( 'Form submission is now closed.', 'weforms' ), 'require_login' => 'false', 'req_login_message' => __( 'You need to login to submit a query.', 'weforms' ), 'limit_entries' => 'false', 'limit_number' => '100', 'limit_message' => __( 'Sorry, we have reached the maximum number of submissions.', 'weforms' ), 'label_position' => 'above', 'use_theme_css' => 'wpuf-style', 'quiz_form' => 'no', 'shuffle_question_order' => 'no', 'release_grade' => 'after_submission', 'respondent_can_see' => [ 'missed_questions', 'correct_answers', 'point_values' ], 'total_points' => 0, 'enable_multistep' => false, 'multistep_progressbar_type' => 'progressive', 'humanpresence_enabled' => false, // payment 'payment_paypal_images' => 'https://www.paypalobjects.com/webstatic/mktg/logo/AM_mc_vs_dc_ae.jpg', 'payment_paypal_label' => __( 'PayPal', 'weforms' ), 'payment_stripe_label' => __( 'Credit Card', 'weforms' ), 'payment_stripe_images' => [ 'visa', 'mastercard', 'amex', 'discover' ], 'payment_stripe_deactivate' => '', 'stripe_mode' => 'live', 'stripe_page_id' => '', 'stripe_override_keys' => '', 'stripe_email' => '', 'stripe_key' => '', 'stripe_secret_key' => '', 'stripe_key_test' => '', 'stripe_secret_key_test' => '', 'stripe_prefill_email' => '', 'stripe_user_email_field' => '', 'payment_paypal_deactivate' => '', 'paypal_mode' => 'live', 'paypal_type' => '_cart', 'paypal_override' => '', 'paypal_email' => '', 'paypal_page_id' => '', 'paypal_prefill_email' => '', 'paypal_user_email_field' => '', ] ); } /** * Get default form settings * * @return array */ function weforms_get_default_form_notification() { return apply_filters( 'weforms_get_default_form_notification', [ 'active' => 'true', 'type' => 'email', 'smsTo' => '', 'smsText' => '[{form_name}] ' . __( 'New Form Submission', 'weforms' ) . ' #{entry_id}', 'name' => __( 'Admin Notification', 'weforms' ), 'subject' => '[{form_name}] ' . __( 'New Form Submission', 'weforms' ) . ' #{entry_id}', 'to' => '{admin_email}', 'replyTo' => '{field:email}', 'message' => '{all_fields}', 'fromName' => '{site_name}', 'fromAddress' => '{admin_email}', 'cc' => '', 'bcc' => '', 'weforms_cond' => [ 'condition_status' => 'no', 'cond_logic' => 'any', 'conditions' => [ [ 'name' => '', 'operator' => '=', 'option' => '', ], ], ], ] ); } /** * weforms_get_pain_text * * @param $value mixed * * @return string **/ function weforms_get_pain_text( $value ) { if ( is_serialized( $value ) ) { $value = unserialize( $value ); } if ( is_array( $value ) ) { $string_value = []; foreach ( $value as $key => $single_value ) { if ( is_array( $single_value ) || is_serialized( $single_value ) ) { $single_value = weforms_get_pain_text( $single_value ); } $single_value = ucwords( str_replace( [ '_', '-' ], ' ', $key ) ) . ': ' . ucwords( $single_value ); $string_value[] = $single_value; } $value = implode( WeForms::$field_separator, $string_value ); } $value = trim( strip_tags( $value ) ); // escape spreadsheet special characters to prevent formula exploits. $value = preg_match( '/^[=+@-]/', $value ) ? '\'' . $value : $value; return $value; } /** * Get countries * * @since 1.1.0 * * @param string $type (optional) * * @return array|string */ function weforms_get_countries( $type = 'array' ) { $countries = include WEFORMS_INCLUDES . '/country-list.php'; if ( $type == 'json' ) { $countries = json_encode( $countries ); } return $countries; } /** * Get country name * * @since 1.3.7 * * @param string $country_code (required) * * @return string */ function get_country_name( $country_code ) { if ( empty( $country_code ) ) { return; } $countries = weforms_get_countries(); foreach ( $countries as $country ) { if ( $country['code'] == $country_code ) { return $country['name']; } } } /** * Localize countries * * @since 1.3.5 * * @return array */ function weforms_localized_countries( $script ) { $script['countries'] = weforms_get_countries(); return $script; } add_filter( 'weforms_localized_script', 'weforms_localized_countries' ); function is_weforms_api_allowed_guest_submission() { $permission = false; if ( current_user_can( 'read' ) ) { $permission = true; } return apply_filters( 'weforms_anonymous_entry_submit_permission', $permission ); } /** * Clean variables using weforms_clean. Arrays are cleaned recursively. * Non-scalar values are ignored. * * @param string|array $var Data to sanitize. * @return string|array */ function weforms_clean( $var ) { if ( is_array( $var ) ) { return array_map( 'weforms_clean', $var ); } else { return is_scalar( $var ) ? sanitize_textarea_field( wp_unslash( $var ) ) : $var; } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка