Files
SIGE-WEB-snapshot/wp-content/plugins/users-customers-import-export-for-wp-woocommerce/admin/classes/class-logwriter.php

97 lines
2.8 KiB
PHP

<?php
/**
* Log writing section of the plugin
*
* @link
*
* @package Wt_Import_Export_For_Woo
*/
if (!defined('ABSPATH')) {
exit;
}
if(!class_exists('Wt_Import_Export_For_Woo_Basic_Logwriter')){
class Wt_Import_Export_For_Woo_Basic_Logwriter extends Wt_Import_Export_For_Woo_Basic_Log
{
private static $file_path='';
private static $file_pointer=null;
private static $mode='';
public function __construct()
{
}
public static function init($file_path, $mode="a+")
{
self::$file_path=$file_path;
self::$mode=$mode;
// phpcs:disable WordPress.WP.AlternativeFunctions.file_system_operations_fopen
self::$file_pointer=@fopen($file_path, $mode);
// phpcs:enable WordPress.WP.AlternativeFunctions.file_system_operations_fopen
}
public static function write_row($text, $is_writing_finished=false)
{
if(is_null(self::$file_pointer)) {
return;
}
// phpcs:disable WordPress.WP.AlternativeFunctions.file_system_operations_fwrite
@fwrite(self::$file_pointer, $text.PHP_EOL);
// phpcs:enable WordPress.WP.AlternativeFunctions.file_system_operations_fwrite
if($is_writing_finished) {
self::close_file_pointer();
}
}
public static function close_file_pointer()
{
if(self::$file_pointer!=null) {
// phpcs:disable WordPress.WP.AlternativeFunctions.file_system_operations_fclose
fclose(self::$file_pointer);
// phpcs:enable WordPress.WP.AlternativeFunctions.file_system_operations_fclose
}
}
/**
* Debug log writing function
* @param string $post_type post type
* @param string $action_type action type
* @param mixed $data array/string of data to write
*/
public static function write_log( $post_type, $action_type, $data ) {
if ( Wt_Import_Export_For_Woo_User_Basic_Common_Helper::get_advanced_settings( 'enable_import_log' ) == 1 ) {
/**
* Checks log file created for the current day
*/
$old_file_name = self::check_log_exists_for_entry( self::$history_id );
if ( !$old_file_name ) {
$file_name = self::generate_file_name( $post_type, $action_type, self::$history_id );
} else {
$file_name = $old_file_name;
}
$file_path = self::get_file_path( $file_name );
self::init( $file_path );
$date_string = date_i18n( 'm-d-Y @ H:i:s' );
if ( is_array( $data ) ) {
foreach ( $data as $value ) {
self::write_row( $date_string . " - " . wp_json_encode( $value ) );
}
} else {
self::write_row( $date_string . " - " . $data );
}
}
}
/**
* Import response log
* @param array $data array/string of import response data
* @param string $file_path import log file
*/
public static function write_import_log($data_arr, $file_path)
{
self::init($file_path);
foreach($data_arr as $key => $data)
{
self::write_row(wp_json_encode($data));
}
self::close_file_pointer();
}
}
}