Server IP : 104.21.38.3 / Your IP : 172.71.124.91 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/wwwroot/coircraft.com/wp-content/plugins/wpforms-lite/src/Admin/Builder/ |
Upload File : |
<?php namespace WPForms\Admin\Builder; use WPForms\Helpers\CacheBase; /** * Form templates cache handler. * * @since 1.6.8 */ class TemplatesCache extends CacheBase { /** * Determine if the class is allowed to load. * * @since 1.6.8 * * @return bool */ protected function allow_load() { $has_permissions = wpforms_current_user_can( [ 'create_forms', 'edit_forms' ] ); $allowed_requests = wpforms_is_admin_ajax() || wpforms_is_admin_page( 'builder' ) || wpforms_is_admin_page( 'templates' ); $allow = wp_doing_cron() || wpforms_doing_wp_cli() || ( $has_permissions && $allowed_requests ); /** * Whether to load this class. * * @since 1.7.2 * * @param bool $allow True or false. */ return (bool) apply_filters( 'wpforms_admin_builder_templatescache_allow_load', $allow ); // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName } /** * Provide settings. * * @since 1.6.8 * * @return array Settings array. */ protected function setup() { return [ // Remote source URL. 'remote_source' => 'https://wpforms.com/templates/api/get/', // Cache file. 'cache_file' => 'templates.json', /** * Time-to-live of the templates cache files in seconds. * * This applies to `uploads/wpforms/cache/templates.json` * and all *.json files in `uploads/wpforms/cache/templates/` directory. * * @since 1.6.8 * * @param integer $cache_ttl Cache time-to-live, in seconds. * Default value: WEEK_IN_SECONDS. */ 'cache_ttl' => (int) apply_filters( 'wpforms_admin_builder_templates_cache_ttl', WEEK_IN_SECONDS ), // Scheduled update action. 'update_action' => 'wpforms_admin_builder_templates_cache_update', ]; } /** * Prepare data to store in a local cache. * * @since 1.6.8 * * @param array $data Raw data received by the remote request. * * @return array Prepared data for caching. */ protected function prepare_cache_data( $data ) { if ( empty( $data ) || ! is_array( $data ) || empty( $data['status'] ) || $data['status'] !== 'success' || empty( $data['data'] ) ) { return []; } $cache_data = $data['data']; // Strip the word "Template" from the end of each template name. foreach ( $cache_data['templates'] as $slug => $template ) { $cache_data['templates'][ $slug ]['name'] = preg_replace( '/\sTemplate$/', '', $template['name'] ); } return $cache_data; } }