HEX
Server: LiteSpeed
System: Linux server315.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: globfdxw (6114)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //home/globfdxw/diasporameetsafrica.com/wp-content/plugins/wpforms-pdf/src/Helpers.php
<?php

namespace WPFormsPDF;

/**
 * PDF helpers.
 *
 * @since 1.0.0
 */
class Helpers {

	/**
	 * Detect debug mode.
	 *
	 * @since 1.0.0
	 *
	 * @return bool
	 * @noinspection PhpUndefinedConstantInspection
	 */
	public function is_debug(): bool {

		return defined( 'WPFORMS_PDF_DEBUG' ) && WPFORMS_PDF_DEBUG;
	}

	/**
	 * Log message.
	 *
	 * @since 1.0.0
	 *
	 * @param mixed  $message Log a message or any data.
	 * @param string $type    Message type.
	 */
	public function log( $message, string $type = 'log' ): void {

		if (
			! (
				( $this->is_debug() && $type === 'debug' ) || // The `debug` messages are allowed only in WPFORMS_PDF_DEBUG mode.
				( in_array( $type, [ 'log', 'error' ], true ) )
			)
		) {
			return;
		}

		// Output to the error.log only `debug` messages.
		if ( $type === 'debug' ) {
			// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r
			$message_str = is_array( $message ) || is_object( $message ) ? print_r( $message, true ) : $message;

			// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log
			error_log( 'WPForms PDF: ' . $message_str );
		}

		wpforms_log( 'WPForms PDF', $message, [ 'type' => $type === 'debug' ? 'log' : $type ] );
	}

	/**
	 * Get uploads directory data.
	 *
	 * @since 1.0.0
	 *
	 * @return array
	 */
	public function get_wp_upload_dir(): array {

		static $data = null;

		if ( $data ) {
			return $data;
		}

		$data = [
			'dir' => '',
			'url' => '',
		];

		$upload_dir = wp_upload_dir();

		if ( ! empty( $upload_dir['error'] ) ) {
			return $data;
		}

		$basedir     = wp_is_stream( $upload_dir['basedir'] ) ? $upload_dir['basedir'] : realpath( $upload_dir['basedir'] );
		$data['dir'] = trailingslashit( wp_normalize_path( $basedir ) );
		$data['url'] = trailingslashit( $upload_dir['baseurl'] );

		return $data;
	}
}