Server : Apache System : Linux pod-100823:apache2_74:v0.5.7 5.4.0-1138-gcp #147~18.04.1-Ubuntu SMP Mon Oct 7 21:46:26 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33.7 Disable Function : apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,disk_free_space,disk_total_space,diskfreespace,dl,exec,fastcgi_finish_request,link,opcache_compile_file,opcache_get_configuration,opcache_invalidate,opcache_is_script_cached,opcache_reset,passthru,pclose,pcntl_exec,popen,posix_getpid,posix_getppid,posix_getpwuid,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,realpath_cache_get,shell_exec,show_source,symlink,system Directory : /nas/content/live/attorneyexperi/wp-content/plugins/imagify/inc/functions/ |
<?php defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' ); /** * Run an async job to optimize images in background. * * @param array $body Contains the usual $_POST. * * @since 1.4 */ function imagify_do_async_job( $body ) { $args = [ 'timeout' => 0.01, 'blocking' => false, 'body' => $body, 'cookies' => isset( $_COOKIE ) && is_array( $_COOKIE ) ? $_COOKIE : [], 'sslverify' => apply_filters( 'https_local_ssl_verify', false ), ]; /** * Filter the arguments used to launch an async job. * * @since 1.6.6 * @author Grégory Viguier * * @param array $args An array of arguments passed to wp_remote_post(). */ $args = apply_filters( 'imagify_do_async_job_args', $args ); /** * It can be a XML-RPC request. The problem is that XML-RPC doesn't use cookies. */ if ( defined( 'XMLRPC_REQUEST' ) && get_current_user_id() ) { /** * In old WP versions, the field "option_name" in the wp_options table was limited to 64 characters. * From 64, remove 19 characters for "_transient_timeout_" = 45. * Then remove 12 characters for "imagify_rpc_" (transient name) = 33. * Luckily, a md5 is 32 characters long. */ $rpc_id = md5( maybe_serialize( $body ) ); // Send the request to our RPC bridge instead. $args['body']['imagify_rpc_action'] = $args['body']['action']; $args['body']['action'] = 'imagify_rpc'; $args['body']['imagify_rpc_id'] = $rpc_id; $args['body']['imagify_rpc_nonce'] = wp_create_nonce( 'imagify_rpc_' . $rpc_id ); // Since we can't send cookies to keep the user logged in, store the user ID in a transient. set_transient( 'imagify_rpc_' . $rpc_id, get_current_user_id(), 30 ); } $url = admin_url( 'admin-ajax.php' ); /** * Filter the URL to use for async jobs. * * @since 1.9.5 * @author Grégory Viguier * * @param string $url An URL. * @param array $args An array of arguments passed to wp_remote_post(). */ $url = apply_filters( 'imagify_async_job_url', $url, $args ); wp_remote_post( $url, $args ); }