晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
Server : Apache
System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64
User : rainic ( 1014)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/stando/public_html/wp-content/plugins/wp-analytify/classes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/stando/public_html/wp-content/plugins/wp-analytify/classes/analytify-logs.php
<?php

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

class Analytify_Logs {


	function __construct() {
		$this->run_setup();
    add_action( 'admin_menu', array( $this, 'log_page' ) );
		add_action( 'admin_init', array( $this, 'buffer' ), 1 );

	}


	function run_setup() {

    // Run setup only once.
		if ( get_option( 'analytify_logs_setup' ) ) {
			return;
		}

		add_action( 'init', array( $this, 'create_cron_jobs' ) );
		add_action( 'init', array( $this, 'create_files' ) );


		update_option( 'analytify_logs_setup', true );

	}

  /**
   * Setup Cron to clear the debug logs
   *
   */
	function create_cron_jobs() {

		if ( ! wp_next_scheduled( 'analytify_cleanup_logs' ) ) {
			wp_schedule_event( time() + ( 3 * HOUR_IN_SECONDS ), 'daily', 'analytify_cleanup_logs' );
		}

	}


  /**
   * Create directory for Logs.
   *
   */
	function create_files() {

		// Install files and folders for uploading files and prevent hotlinking.
		$upload_dir = wp_upload_dir();

		$files = array(

			array(
				'base'    => ANALYTIFY_LOG_DIR,
				'file'    => '.htaccess',
				'content' => 'deny from all',
			),
			array(
				'base'    => ANALYTIFY_LOG_DIR,
				'file'    => 'index.html',
				'content' => '',
			),
		);

		foreach ( $files as $file ) {
			if ( wp_mkdir_p( $file['base'] ) && ! file_exists( trailingslashit( $file['base'] ) . $file['file'] ) ) {
				$file_handle = @fopen( trailingslashit( $file['base'] ) . $file['file'], 'w' ); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged, WordPress.WP.AlternativeFunctions.file_system_read_fopen
				if ( $file_handle ) {
					fwrite( $file_handle, $file['content'] ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_read_fwrite
					fclose( $file_handle ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_read_fclose
				}
			}
		}
	}

  function log_page() {
    // add_submenu_page( string $parent_slug, string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = '' )
    add_submenu_page( null, __( 'Analytify Logs', 'wp-analytify' ), __( 'Analytify Logs', 'wp-analytify' ), 'manage_options', 'analytify-logs', array( $this, 'add_logs_page' )  );

  }

  function add_logs_page() {

    $logs = self::scan_log_files();

    if ( ! empty( $_REQUEST['log_file'] ) && isset( $logs[ sanitize_title( wp_unslash( $_REQUEST['log_file'] ) ) ] ) ) { // WPCS: input var ok, CSRF ok.
      $viewed_log = $logs[ sanitize_title( wp_unslash( $_REQUEST['log_file'] ) ) ]; // WPCS: input var ok, CSRF ok.
    } elseif ( ! empty( $logs ) ) {
      $viewed_log = current( $logs );
    }

    $handle = ! empty( $viewed_log ) ? self::get_log_file_handle( $viewed_log ) : '';

    if ( ! empty( $_REQUEST['handle'] ) ) { // WPCS: input var ok, CSRF ok.
      self::remove_log();
    }

    include ANALYTIFY_PLUGIN_DIR . 'inc/analytify-logs.php';

  }

  /**
  * Scan the log files.
  *
  * @return array
  */
  public static function scan_log_files() {
    return ANALYTIFY_Log_Handler_File::get_log_files();
  }


  	/**
  	 * Return the log file handle.
  	 *
  	 * @param string $filename Filename to get the handle for.
  	 * @return string
  	 */
  	public static function get_log_file_handle( $filename ) {
  		return substr( $filename, 0, strlen( $filename ) > 48 ? strlen( $filename ) - 48 : strlen( $filename ) - 4 );
  	}

    /**
  	 * Remove/delete the chosen file.
  	 */
  	public static function remove_log() {
  		if ( empty( $_REQUEST['_wpnonce'] ) || ! wp_verify_nonce( wp_unslash( $_REQUEST['_wpnonce'] ), 'remove_log' ) ) { // WPCS: input var ok, sanitization ok.
  			wp_die( esc_html__( 'Action failed. Please refresh the page and retry.', 'wp-analytify' ) );
  		}

  		if ( ! empty( $_REQUEST['handle'] ) ) {  // WPCS: input var ok.
  			$log_handler = new ANALYTIFY_Log_Handler_File();
  			$log_handler->remove( wp_unslash( $_REQUEST['handle'] ) ); // WPCS: input var ok, sanitization ok.
  		}

  		wp_safe_redirect( esc_url_raw( admin_url( 'admin.php?page=analytify-logs' ) ) );
			exit();
  	}


		/**
		* Output buffering allows admin screens to make redirects later on.
		*/
		public function buffer() {
			if ( isset( $_GET['page'] ) && $_GET['page'] == 'analytify-logs' ) {
				ob_start();
			}
		}
}

new Analytify_Logs();

haha - 2025