WooCommerce
PHP / MySQLdb_version() ); ?>
HPOS

25; $loyaltypress_rows = array_slice( $loyaltypress_rows, 0, 25 ); ?> actor_id ? get_userdata( $a->actor_id ) : null; ?>
created_at ); ?>display_name : __( 'System', 'loyaltyspin' ) ); ?>action ); ?>object ); ?>details || '{}' === $a->details ? '—' : '' . esc_html( $a->details ) . ''; ?>

1 ) : ?> ← →

512 * 1024 ) { Admin::back( $url, __( 'Please choose a settings file.', 'loyaltyspin' ), true ); } $data = json_decode( (string) file_get_contents( $tmp ), true ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents if ( ! is_array( $data ) ) { Admin::back( $url, __( 'That file is not valid JSON.', 'loyaltyspin' ), true ); } $clean = array_intersect_key( $data, Settings::defaults() ); // Re-sanitize text recursively; numbers stay numbers. array_walk_recursive( $clean, static function ( &$v ) { if ( is_string( $v ) ) { $v = sanitize_textarea_field( $v ); } elseif ( ! is_int( $v ) && ! is_float( $v ) && ! is_bool( $v ) && null !== $v ) { $v = ''; } } ); if ( isset( $clean['general']['qualifying_statuses'] ) ) { $clean['general']['qualifying_statuses'] = array_values( array_diff( (array) $clean['general']['qualifying_statuses'], Settings_Page::FORBIDDEN_STATUSES ) ); } update_option( Settings::OPTION, $clean, false ); Audit::log( 'settings_imported', 'settings' ); Admin::back( $url, __( 'Settings imported.', 'loyaltyspin' ) ); } /** * Run jobs now. */ public static function run_jobs() { Admin::require_cap(); check_admin_referer( 'loyaltypress_run_jobs' ); Plugin::instance()->hourly(); Plugin::instance()->daily(); Audit::log( 'jobs_run', 'manual' ); Admin::back( admin_url( 'admin.php?page=loyaltypress-tools' ), __( 'Jobs completed.', 'loyaltyspin' ) ); } }