mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
- fixed file uploading process;
This commit is contained in:
@@ -347,6 +347,7 @@ function initFileUpload_UM( trigger ) {
|
||||
action: 'um_fileupload',
|
||||
key: trigger.data('key'),
|
||||
set_id: trigger.data('set_id'),
|
||||
user_id: trigger.data('user_id'),
|
||||
set_mode: trigger.data('set_mode'),
|
||||
_wpnonce: trigger.data('nonce'),
|
||||
timestamp: trigger.data('timestamp')
|
||||
|
||||
@@ -57,7 +57,7 @@ if ( ! class_exists( 'um\Dependencies' ) ) {
|
||||
'woocommerce' => '2.0.1',
|
||||
'restrict-content' => '2.0',
|
||||
'beaver-builder' => '2.0',
|
||||
'photos' => '1.1',
|
||||
'user-photos' => '2.0.1',
|
||||
);
|
||||
|
||||
|
||||
|
||||
@@ -2264,7 +2264,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
|
||||
}
|
||||
$nonce = wp_create_nonce( 'um_upload_nonce-' . $this->timestamp );
|
||||
$output .= '<div class="um-single-image-preview ' . $crop_class . '" data-crop="' . $crop_data . '" data-ratio="' . $ratio . '" data-min_width="' . $min_width . '" data-min_height="' . $min_height . '" data-coord=""><a href="#" class="cancel"><i class="um-icon-close"></i></a><img src="" alt="" /><div class="um-clear"></div></div><div class="um-clear"></div>';
|
||||
$output .= '<div class="um-single-image-upload" data-nonce="' . $nonce . '" data-timestamp="' . esc_attr( $this->timestamp ) . '" data-icon="' . esc_attr( $icon ) . '" data-set_id="' . esc_attr( $set_id ) . '" data-set_mode="' . esc_attr( $set_mode ) . '" data-type="' . esc_attr( $type ) . '" data-key="' . esc_attr( $key ) . '" data-max_size="' . esc_attr( $max_size ) . '" data-max_size_error="' . esc_attr( $max_size_error ) . '" data-min_size_error="' . esc_attr( $min_size_error ) . '" data-extension_error="' . esc_attr( $extension_error ) . '" data-allowed_types="' . esc_attr( $allowed_types ) . '" data-upload_text="' . esc_attr( $upload_text ) . '" data-max_files_error="' . esc_attr( $max_files_error ) . '" data-upload_help_text="' . esc_attr( $upload_help_text ) . '">' . $button_text . '</div>';
|
||||
$output .= '<div class="um-single-image-upload" data-user_id="' . esc_attr( $_um_profile_id ) . '" data-nonce="' . $nonce . '" data-timestamp="' . esc_attr( $this->timestamp ) . '" data-icon="' . esc_attr( $icon ) . '" data-set_id="' . esc_attr( $set_id ) . '" data-set_mode="' . esc_attr( $set_mode ) . '" data-type="' . esc_attr( $type ) . '" data-key="' . esc_attr( $key ) . '" data-max_size="' . esc_attr( $max_size ) . '" data-max_size_error="' . esc_attr( $max_size_error ) . '" data-min_size_error="' . esc_attr( $min_size_error ) . '" data-extension_error="' . esc_attr( $extension_error ) . '" data-allowed_types="' . esc_attr( $allowed_types ) . '" data-upload_text="' . esc_attr( $upload_text ) . '" data-max_files_error="' . esc_attr( $max_files_error ) . '" data-upload_help_text="' . esc_attr( $upload_help_text ) . '">' . $button_text . '</div>';
|
||||
$output .= '<div class="um-modal-footer">
|
||||
<div class="um-modal-right">
|
||||
<a href="#" class="um-modal-btn um-finish-upload image disabled" data-key="' . $key . '" data-change="' . __( 'Change photo', 'ultimate-member' ) . '" data-processing="' . __( 'Processing...', 'ultimate-member' ) . '"> ' . __( 'Apply', 'ultimate-member' ) . '</a>
|
||||
@@ -2295,25 +2295,25 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
|
||||
$file_field_value = $this->field_value( $key, $default, $data );
|
||||
$file_type = wp_check_filetype( $file_field_value );
|
||||
$file_info = um_user( $data['metakey']."_metadata" );
|
||||
|
||||
$file_field_name = $file_field_value;
|
||||
if( isset( $file_info['original_name'] ) && ! empty( $file_info['original_name'] ) ){
|
||||
$file_field_value = $file_info['original_name'];
|
||||
$file_field_name = $file_info['original_name'];
|
||||
}
|
||||
|
||||
if( 'register' == $this->set_mode ){
|
||||
$file_url = UM()->uploader()->get_core_temp_dir() . "/" . $this->field_value( $key, $default, $data );
|
||||
}else{
|
||||
$file_url = um_user_uploads_uri() . $this->field_value( $key, $default, $data );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if ( file_exists( um_user_uploads_dir() . $file_field_value ) ) {
|
||||
$output .= "<div class=\"um-single-file-preview show\" data-key=\"{$key}\">
|
||||
<a href=\"#\" class=\"cancel\"><i class=\"um-icon-close\"></i></a>
|
||||
<div class=\"um-single-fileinfo\">
|
||||
<a href=\"{$file_url}\" target=\"_blank\">
|
||||
<span class=\"icon\" style=\"background:" . UM()->files()->get_fonticon_bg_by_ext( $file_type['ext'] ) . "\"><i class=\"" . UM()->files()->get_fonticon_by_ext( $file_type['ext'] ) . "\"></i></span>
|
||||
<span class=\"filename\">{$file_field_value}</span>
|
||||
<span class=\"filename\">{$file_field_name}</span>
|
||||
</a>
|
||||
</div></div>";
|
||||
} else {
|
||||
@@ -2322,8 +2322,8 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
|
||||
|
||||
$output .= "<a href=\"#\" data-modal=\"um_upload_single\" data-modal-size=\"{$modal_size}\" data-modal-copy=\"1\" class=\"um-button um-btn-auto-width\">" . __( 'Change file', 'ultimate-member' ) . "</a>";
|
||||
} else {
|
||||
$output .= '<div class="um-single-file-preview" data-key="{$key}">
|
||||
</div><a href="#" data-modal="um_upload_single" data-modal-size="{$modal_size}" data-modal-copy="1" class="um-button um-btn-auto-width">{$button_text}</a>';
|
||||
$output .= "<div class=\"um-single-file-preview\" data-key=\"{$key}\">
|
||||
</div><a href=\"#\" data-modal=\"um_upload_single\" data-modal-size=\"{$modal_size}\" data-modal-copy=\"1\" class=\"um-button um-btn-auto-width\">{$button_text}</a>";
|
||||
}
|
||||
$output .= '</div>';
|
||||
/* modal hidden */
|
||||
@@ -2347,7 +2347,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
|
||||
</div>
|
||||
</div>';
|
||||
$nonce = wp_create_nonce( 'um_upload_nonce-' . $this->timestamp );
|
||||
$output .= '<div class="um-single-file-upload" data-timestamp="' . esc_attr( $this->timestamp ) . '" data-nonce="' . $nonce . '" data-icon="' . esc_attr( $icon ) . '" data-set_id="' . esc_attr( $set_id ) . '" data-set_mode="' . esc_attr( $set_mode ) . '" data-type="' . esc_attr( $type ) . '" data-key="' . esc_attr( $key ) . '" data-max_size="' . esc_attr( $max_size ) . '" data-max_size_error="' . esc_attr( $max_size_error ) . '" data-min_size_error="' . esc_attr( $min_size_error ) . '" data-extension_error="' . esc_attr( $extension_error ) . '" data-allowed_types="' . esc_attr( $allowed_types ) . '" data-upload_text="' . esc_attr( $upload_text ) . '" data-max_files_error="' . esc_attr( $max_files_error ) . '" data-upload_help_text="' . esc_attr( $upload_help_text ) . '">' . $button_text . '</div>';
|
||||
$output .= '<div class="um-single-file-upload" data-user_id="' . esc_attr( $_um_profile_id ) . '" data-timestamp="' . esc_attr( $this->timestamp ) . '" data-nonce="' . $nonce . '" data-icon="' . esc_attr( $icon ) . '" data-set_id="' . esc_attr( $set_id ) . '" data-set_mode="' . esc_attr( $set_mode ) . '" data-type="' . esc_attr( $type ) . '" data-key="' . esc_attr( $key ) . '" data-max_size="' . esc_attr( $max_size ) . '" data-max_size_error="' . esc_attr( $max_size_error ) . '" data-min_size_error="' . esc_attr( $min_size_error ) . '" data-extension_error="' . esc_attr( $extension_error ) . '" data-allowed_types="' . esc_attr( $allowed_types ) . '" data-upload_text="' . esc_attr( $upload_text ) . '" data-max_files_error="' . esc_attr( $max_files_error ) . '" data-upload_help_text="' . esc_attr( $upload_help_text ) . '">' . $button_text . '</div>';
|
||||
$output .= '<div class="um-modal-footer">
|
||||
<div class="um-modal-right">
|
||||
<a href="#" class="um-modal-btn um-finish-upload file disabled" data-key="' . $key . '" data-change="' . __( 'Change file' ) . '" data-processing="' . __( 'Processing...', 'ultimate-member' ) . '"> ' . __( 'Save', 'ultimate-member' ) . '</a>
|
||||
|
||||
@@ -192,7 +192,7 @@ if ( ! class_exists( 'um\core\Files' ) ) {
|
||||
/**
|
||||
* File upload by AJAX
|
||||
*/
|
||||
function ajax_file_upload(){
|
||||
function ajax_file_upload() {
|
||||
$ret['error'] = null;
|
||||
$ret = array();
|
||||
|
||||
@@ -244,7 +244,9 @@ if ( ! class_exists( 'um\core\Files' ) ) {
|
||||
|
||||
if( isset( $_FILES[ $id ]['name'] ) ) {
|
||||
|
||||
if( ! is_array( $_FILES[ $id ]['name'] ) ) {
|
||||
if ( ! is_array( $_FILES[ $id ]['name'] ) ) {
|
||||
|
||||
$user_id = $_POST['user_id'];
|
||||
|
||||
$uploaded = UM()->uploader()->upload_file( $_FILES[ $id ], $user_id, $id );
|
||||
if ( isset( $uploaded['error'] ) ){
|
||||
@@ -266,7 +268,7 @@ if ( ! class_exists( 'um\core\Files' ) ) {
|
||||
}
|
||||
|
||||
} else {
|
||||
$ret['error'] = __('A theme or plugin compatibility issue','ultimate-member');
|
||||
$ret['error'] = __('A theme or plugin compatibility issue','ultimate-member');
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -738,7 +738,7 @@ if ( ! class_exists( 'um\core\Uploader' ) ) {
|
||||
* @param $file
|
||||
* @param $field
|
||||
*
|
||||
* @return null|string|void
|
||||
* @return null|string
|
||||
*/
|
||||
public function validate_file_data( $file, $field_key ){
|
||||
$error = null;
|
||||
@@ -825,15 +825,11 @@ if ( ! class_exists( 'um\core\Uploader' ) ) {
|
||||
*/
|
||||
$data = apply_filters( "um_file_handle_{$field_key}__option", $data );
|
||||
|
||||
if ( $image_info['invalid_file'] == true ) {
|
||||
$error = sprintf(__('Your file is invalid or too large!','ultimate-member') );
|
||||
} elseif ( isset($data['max_file_size']) && ( $image_info['size'] > $data['max_file_size'] ) ) {
|
||||
if ( isset( $data['max_file_size'] ) && ( $file_info['size'] > $data['max_file_size'] ) ) {
|
||||
$error = $data['max_file_size_error'];
|
||||
}
|
||||
|
||||
|
||||
return $error;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1084,6 +1080,95 @@ if ( ! class_exists( 'um\core\Uploader' ) ) {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Move temporary files
|
||||
*
|
||||
* @param $user_id
|
||||
* @param $files
|
||||
* @param bool $move_only
|
||||
*/
|
||||
function move_temporary_files( $user_id, $files, $move_only = false ) {
|
||||
$new_files = array();
|
||||
|
||||
foreach ( $files as $key => $filename ) {
|
||||
|
||||
if ( empty( $filename ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$user_basedir = UM()->uploader()->get_upload_user_base_dir( $user_id, true );
|
||||
$temp_file_path = UM()->uploader()->get_core_temp_dir() . DIRECTORY_SEPARATOR . $filename;
|
||||
|
||||
if ( file_exists( $temp_file_path ) ) {
|
||||
$extra_hash = hash( 'crc32b', current_time('timestamp') );
|
||||
|
||||
if ( strpos( $filename , 'stream_photo_' ) !== false ) {
|
||||
$new_filename = str_replace("stream_photo_","stream_photo_{$extra_hash}_", $filename );
|
||||
} else {
|
||||
$new_filename = str_replace("file_","file_{$extra_hash}_", $filename );
|
||||
}
|
||||
|
||||
if ( $move_only ) {
|
||||
|
||||
$file = $user_basedir. DIRECTORY_SEPARATOR . $filename;
|
||||
$new_files[ $key ] = $filename;
|
||||
rename( $temp_file_path, $file );
|
||||
|
||||
} else {
|
||||
|
||||
$file = $user_basedir. DIRECTORY_SEPARATOR . $new_filename;
|
||||
|
||||
$new_files[ $key ] = $new_filename;
|
||||
|
||||
if ( rename( $temp_file_path, $file ) ) {
|
||||
$file_info = get_transient("um_{$filename}");
|
||||
update_user_meta( $user_id, $key, $new_filename );
|
||||
update_user_meta( $user_id, "{$key}_metadata", $file_info );
|
||||
delete_transient("um_{$filename}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$this->remove_unused_uploads( $user_id, $new_files );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Clean user temp uploads
|
||||
*
|
||||
* @param int $user_id
|
||||
* @param array $new_files
|
||||
*/
|
||||
function remove_unused_uploads( $user_id, $new_files ) {
|
||||
um_fetch_user( $user_id );
|
||||
$user_meta_keys = UM()->user()->profile;
|
||||
|
||||
$_array = array();
|
||||
foreach ( UM()->builtin()->custom_fields as $_field ) {
|
||||
if ( $_field['type'] == 'file' && ! empty( $user_meta_keys[ $_field['metakey'] ] ) ) {
|
||||
$_array[ $_field['metakey'] ] = $user_meta_keys[ $_field['metakey'] ];
|
||||
}
|
||||
}
|
||||
$_array = array_merge( $_array, $new_files );
|
||||
|
||||
$files = glob( um_user_uploads_dir() . '*', GLOB_BRACE );
|
||||
$error = array();
|
||||
if ( file_exists( um_user_uploads_dir() ) && $files && isset( $_array ) && is_array( $_array ) ) {
|
||||
foreach ( $files as $file ) {
|
||||
$str = basename( $file );
|
||||
|
||||
if ( ! strstr( $str, 'profile_photo' ) && ! strstr( $str, 'cover_photo' ) &&
|
||||
! strstr( $str, 'stream_photo' ) && ! preg_grep( '/' . $str . '/', $_array ) ) {
|
||||
$error[] = $str;
|
||||
unlink( $file );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1884,56 +1884,5 @@ if ( ! class_exists( 'um\core\User' ) ) {
|
||||
|
||||
return $hash_email_address;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Move temporary files
|
||||
*
|
||||
* @param array $user_id
|
||||
* @param array $files
|
||||
*/
|
||||
function move_temporary_files( $user_id, $files, $move_only = false ){
|
||||
foreach ( $files as $key => $filename ) {
|
||||
|
||||
if( empty( $filename ) ) continue;
|
||||
|
||||
$user_basedir = UM()->uploader()->get_upload_user_base_dir( $user_id, true );
|
||||
|
||||
$temp_file_path = UM()->uploader()->get_core_temp_dir() . "/" . $filename;
|
||||
|
||||
if( file_exists( $temp_file_path ) ){
|
||||
|
||||
|
||||
$extra_hash = hash( 'crc32b', current_time('timestamp') );
|
||||
|
||||
if ( strpos( $filename , 'stream_photo_' ) !== false ) {
|
||||
$new_filename = str_replace("stream_photo_","stream_photo_{$extra_hash}_", $filename );
|
||||
}else{
|
||||
$new_filename = str_replace("file_","file_{$extra_hash}_", $filename );
|
||||
}
|
||||
|
||||
if( $move_only ){
|
||||
|
||||
$file = $user_basedir. "/" . $filename;
|
||||
|
||||
rename( $temp_file_path, $file );
|
||||
|
||||
}else{
|
||||
|
||||
$file = $user_basedir. "/" . $new_filename;
|
||||
|
||||
if( rename( $temp_file_path, $file ) ){
|
||||
$file_info = get_transient("um_{$filename}");
|
||||
update_user_meta( $user_id, $key, $new_filename );
|
||||
update_user_meta( $user_id, "{$key}_metadata", $file_info );
|
||||
delete_transient("um_{$filename}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -394,29 +394,7 @@ function um_user_edit_profile( $args ) {
|
||||
|
||||
//UM()->user()->update_files( $files );
|
||||
|
||||
UM()->user()->move_temporary_files( um_user( 'ID' ), $files );
|
||||
|
||||
/**
|
||||
* UM hook
|
||||
*
|
||||
* @type action
|
||||
* @title um_after_user_upload
|
||||
* @description After complete UM user profile edit and file uploaded.
|
||||
* @input_vars
|
||||
* [{"var":"$user_id","type":"int","desc":"User ID"},
|
||||
* {"var":"$files","type":"array","desc":"Files data"}]
|
||||
* @change_log
|
||||
* ["Since: 2.0"]
|
||||
* @usage add_action( 'um_after_user_upload', 'function_name', 10, 2 );
|
||||
* @example
|
||||
* <?php
|
||||
* add_action( 'um_after_user_upload', 'my_after_user_upload', 10, 2 );
|
||||
* function my_after_user_upload( $user_id, $files ) {
|
||||
* // your code here
|
||||
* }
|
||||
* ?>
|
||||
*/
|
||||
do_action( 'um_after_user_upload', um_user( 'ID' ), $files );
|
||||
UM()->uploader()->move_temporary_files( um_user( 'ID' ), $files );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -467,7 +445,6 @@ function um_user_edit_profile( $args ) {
|
||||
$url = um_user_profile_url( um_user( 'ID' ) );
|
||||
exit( wp_redirect( um_edit_my_profile_cancel_uri( $url ) ) );
|
||||
}
|
||||
|
||||
}
|
||||
add_action( 'um_user_edit_profile', 'um_user_edit_profile', 10 );
|
||||
|
||||
|
||||
@@ -695,29 +695,7 @@ function um_registration_save_files( $user_id, $args ) {
|
||||
|
||||
//UM()->user()->update_files( $files );
|
||||
|
||||
UM()->user()->move_temporary_files( $user_id, $files );
|
||||
|
||||
/**
|
||||
* UM hook
|
||||
*
|
||||
* @type action
|
||||
* @title um_after_user_upload
|
||||
* @description After complete UM user registration and file uploaded.
|
||||
* @input_vars
|
||||
* [{"var":"$user_id","type":"int","desc":"User ID"},
|
||||
* {"var":"$files","type":"array","desc":"Files data"}]
|
||||
* @change_log
|
||||
* ["Since: 2.0"]
|
||||
* @usage add_action( 'um_after_user_upload', 'function_name', 10, 2 );
|
||||
* @example
|
||||
* <?php
|
||||
* add_action( 'um_after_user_upload', 'my_after_user_upload', 10, 2 );
|
||||
* function my_after_user_upload( $user_id, $files ) {
|
||||
* // your code here
|
||||
* }
|
||||
* ?>
|
||||
*/
|
||||
do_action( 'um_after_user_upload', $user_id, $files );
|
||||
UM()->uploader()->move_temporary_files( $user_id, $files );
|
||||
}
|
||||
}
|
||||
add_action( 'um_registration_set_extra_data', 'um_registration_save_files', 10, 2 );
|
||||
|
||||
@@ -3,42 +3,6 @@
|
||||
if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
|
||||
/**
|
||||
* Clean user temp uploads
|
||||
*
|
||||
* @param $user_id
|
||||
* @param $post_array
|
||||
*/
|
||||
function um_remove_unused_uploads( $user_id, $post_array ) {
|
||||
um_fetch_user( $user_id );
|
||||
|
||||
$user_meta_keys = UM()->user()->profile;
|
||||
|
||||
$_array = array();
|
||||
foreach ( UM()->builtin()->custom_fields as $_field ) {
|
||||
if ( $_field['type'] == 'file' && ! empty( $user_meta_keys[ $_field['metakey'] ] ) )
|
||||
$_array[] = $user_meta_keys[ $_field['metakey'] ];
|
||||
}
|
||||
$_array = array_merge( $_array, $post_array );
|
||||
|
||||
|
||||
$files = glob( um_user_uploads_dir() . '*', GLOB_BRACE );
|
||||
$error = array();
|
||||
if ( file_exists( um_user_uploads_dir() ) && $files && isset( $_array ) && is_array( $_array ) ) {
|
||||
foreach ( $files as $file ) {
|
||||
$str = basename( $file );
|
||||
|
||||
if ( ! strstr( $str, 'profile_photo' ) && ! strstr( $str, 'cover_photo' ) &&
|
||||
! strstr( $str, 'stream_photo' ) && ! preg_grep( '/' . $str . '/', $_array ) ) {
|
||||
$error[] = $str;
|
||||
unlink( $file );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
add_action( 'um_after_user_upload','um_remove_unused_uploads', 10, 2 );
|
||||
|
||||
|
||||
/**
|
||||
* Adds main links to a logout widget
|
||||
*
|
||||
|
||||
@@ -1,123 +0,0 @@
|
||||
<?php
|
||||
// Exit if accessed directly
|
||||
if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
$dirname = dirname( __FILE__ );
|
||||
do {
|
||||
$dirname = dirname( $dirname );
|
||||
$wp_config = "{$dirname}/wp-config.php";
|
||||
$wp_load = "{$dirname}/wp-load.php";
|
||||
}
|
||||
while( !file_exists( $wp_config ) );
|
||||
|
||||
if ( ! file_exists( $wp_load ) ) {
|
||||
$dirs = glob( $dirname . '/*' , GLOB_ONLYDIR );
|
||||
|
||||
foreach ( $dirs as $key => $value ) {
|
||||
$wp_load = "{$value}/wp-load.php";
|
||||
if ( file_exists( $wp_load ) ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
require_once( $wp_load );
|
||||
|
||||
$ret['error'] = null;
|
||||
$ret = array();
|
||||
|
||||
/* commented for enable download files on registration form
|
||||
* if ( ! is_user_logged_in() ) {
|
||||
$ret['error'] = 'Invalid user';
|
||||
die( json_encode( $ret ) );
|
||||
}*/
|
||||
|
||||
$nonce = $_POST['_wpnonce'];
|
||||
$id = $_POST['key'];
|
||||
$timestamp = $_POST['timestamp'];
|
||||
|
||||
UM()->fields()->set_id = $_POST['set_id'];
|
||||
UM()->fields()->set_mode = $_POST['set_mode'];
|
||||
|
||||
/**
|
||||
* UM hook
|
||||
*
|
||||
* @type filter
|
||||
* @title um_file_upload_nonce
|
||||
* @description Change File Upload nonce
|
||||
* @input_vars
|
||||
* [{"var":"$nonce","type":"bool","desc":"Nonce"}]
|
||||
* @change_log
|
||||
* ["Since: 2.0"]
|
||||
* @usage
|
||||
* <?php add_filter( 'um_file_upload_nonce', 'function_name', 10, 1 ); ?>
|
||||
* @example
|
||||
* <?php
|
||||
* add_filter( 'um_file_upload_nonce', 'my_file_upload_nonce', 10, 1 );
|
||||
* function my_file_upload_nonce( $nonce ) {
|
||||
* // your code here
|
||||
* return $nonce;
|
||||
* }
|
||||
* ?>
|
||||
*/
|
||||
$um_file_upload_nonce = apply_filters( "um_file_upload_nonce", true );
|
||||
|
||||
if( $um_file_upload_nonce ){
|
||||
if ( ! wp_verify_nonce( $nonce, 'um_upload_nonce-'.$timestamp ) && is_user_logged_in()) {
|
||||
// This nonce is not valid.
|
||||
$ret['error'] = 'Invalid nonce';
|
||||
die( json_encode( $ret ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(isset($_FILES[$id]['name'])) {
|
||||
|
||||
if(!is_array($_FILES[$id]['name'])) {
|
||||
|
||||
$temp = $_FILES[$id]["tmp_name"];
|
||||
|
||||
/**
|
||||
* UM hook
|
||||
*
|
||||
* @type filter
|
||||
* @title um_upload_file_name
|
||||
* @description Change File Upload nonce
|
||||
* @input_vars
|
||||
* [{"var":"$filename","type":"string","desc":"Filename"},
|
||||
* {"var":"$id","type":"int","desc":"ID"},
|
||||
* {"var":"$name","type":"string","desc":"Name"}]
|
||||
* @change_log
|
||||
* ["Since: 2.0"]
|
||||
* @usage
|
||||
* <?php add_filter( 'um_upload_file_name', 'function_name', 10, 3 ); ?>
|
||||
* @example
|
||||
* <?php
|
||||
* add_filter( 'um_upload_file_name', 'my_upload_file_name', 10, 3 );
|
||||
* function my_upload_file_name( $filename, $id, $name ) {
|
||||
* // your code here
|
||||
* return $filename;
|
||||
* }
|
||||
* ?>
|
||||
*/
|
||||
$file = apply_filters( 'um_upload_file_name', $id . "-" . $_FILES[ $id ]["name"], $id, $_FILES[ $id ]["name"] );
|
||||
$file = sanitize_file_name( $file );
|
||||
$extension = strtolower( pathinfo( $file, PATHINFO_EXTENSION ) );
|
||||
|
||||
$error = UM()->files()->check_file_upload( $temp, $extension, $id );
|
||||
if ( $error ){
|
||||
$ret['error'] = $error;
|
||||
} else {
|
||||
$ret[] = UM()->files()->new_file_upload_temp( $temp, $file );
|
||||
$ret['icon'] = UM()->files()->get_fonticon_by_ext( $extension );
|
||||
$ret['icon_bg'] = UM()->files()->get_fonticon_bg_by_ext( $extension );
|
||||
$ret['filename'] = $file;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
$ret['error'] = __('A theme or plugin compatibility issue','ultimate-member');
|
||||
}
|
||||
echo json_encode($ret);
|
||||
@@ -1,92 +0,0 @@
|
||||
<?php
|
||||
// Exit if accessed directly
|
||||
if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
$dirname = dirname( __FILE__ );
|
||||
do {
|
||||
$dirname = dirname( $dirname );
|
||||
$wp_config = "{$dirname}/wp-config.php";
|
||||
$wp_load = "{$dirname}/wp-load.php";
|
||||
}
|
||||
while( !file_exists( $wp_config ) );
|
||||
|
||||
if ( !file_exists( $wp_load ) ) {
|
||||
$dirs = glob( $dirname . '/*' , GLOB_ONLYDIR );
|
||||
|
||||
|
||||
foreach ( $dirs as $key => $value ) {
|
||||
$wp_load = "{$value}/wp-load.php";
|
||||
if ( file_exists( $wp_load ) ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
require_once( $wp_load );
|
||||
|
||||
$ret['error'] = null;
|
||||
$ret = array();
|
||||
|
||||
$id = $_POST['key'];
|
||||
$timestamp = $_POST['timestamp'];
|
||||
$nonce = $_POST['_wpnonce'];
|
||||
|
||||
UM()->fields()->set_id = $_POST['set_id'];
|
||||
UM()->fields()->set_mode = $_POST['set_mode'];
|
||||
|
||||
/**
|
||||
* UM hook
|
||||
*
|
||||
* @type filter
|
||||
* @title um_image_upload_nonce
|
||||
* @description Change Image Upload nonce
|
||||
* @input_vars
|
||||
* [{"var":"$nonce","type":"bool","desc":"Nonce"}]
|
||||
* @change_log
|
||||
* ["Since: 2.0"]
|
||||
* @usage
|
||||
* <?php add_filter( 'um_image_upload_nonce', 'function_name', 10, 1 ); ?>
|
||||
* @example
|
||||
* <?php
|
||||
* add_filter( 'um_image_upload_nonce', 'my_image_upload_nonce', 10, 1 );
|
||||
* function my_image_upload_nonce( $nonce ) {
|
||||
* // your code here
|
||||
* return $nonce;
|
||||
* }
|
||||
* ?>
|
||||
*/
|
||||
$um_image_upload_nonce = apply_filters( "um_image_upload_nonce", true );
|
||||
|
||||
if( $um_image_upload_nonce ){
|
||||
if ( ! wp_verify_nonce( $nonce, 'um_upload_nonce-'.$timestamp ) && is_user_logged_in() ) {
|
||||
// This nonce is not valid.
|
||||
$ret['error'] = 'Invalid nonce';
|
||||
die( json_encode( $ret ) );
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($_FILES[$id]['name'])) {
|
||||
|
||||
if(!is_array($_FILES[$id]['name'])) {
|
||||
|
||||
$temp = $_FILES[$id]["tmp_name"];
|
||||
$file = $id."-".$_FILES[$id]["name"];
|
||||
$file = sanitize_file_name($file);
|
||||
$ext = strtolower( pathinfo($file, PATHINFO_EXTENSION) );
|
||||
|
||||
$error = UM()->files()->check_image_upload( $temp, $id );
|
||||
if ( $error ){
|
||||
|
||||
$ret['error'] = $error;
|
||||
|
||||
} else {
|
||||
$file = "stream_photo_".md5($file)."_".uniqid().".".$ext;
|
||||
$ret[ ] = UM()->files()->new_image_upload_temp( $temp, $file, UM()->options()->get('image_compression') );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
$ret['error'] = __('A theme or plugin compatibility issue','ultimate-member');
|
||||
}
|
||||
echo json_encode($ret);
|
||||
Reference in New Issue
Block a user