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;
}
}