HEX
Server: Apache
System: Linux hcss-ecs-9037 3.10.0-1160.53.1.el7.x86_64 #1 SMP Fri Jan 14 13:59:45 UTC 2022 x86_64
User: www (1000)
PHP: 8.3.21
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/zhangwenbin_blog/wp-content/plugins/wp-china-yes/Plugin.php
<?php

namespace WenPai\ChinaYes;

defined( 'ABSPATH' ) || exit;

use WenPai\ChinaYes\Service\Base;

class Plugin {

	/**
	 * 创建插件实例
	 */
	public function __construct() {
		new Base();
		if ( is_admin() ) {
			add_action( 'plugins_loaded', [ $this, 'plugins_loaded' ] );
		}
	}

	/**
	 * 插件激活时执行
	 */
	public static function activate() {
		// 兼容性检测
		self::check();
	}

	/**
	 * 插件删除时执行
	 */
	public static function uninstall() {
		// 清除设置
		is_multisite() ? delete_site_option( 'wp_china_yes' ) : delete_option( 'wp_china_yes' );
	}

	/**
	 * 插件加载时执行
	 */
	public function plugins_loaded() {
		load_plugin_textdomain( 'wp-china-yes', false, CHINA_YES_PLUGIN_PATH . 'languages' );
		add_action( 'admin_notices', [ $this, 'admin_notices' ] );
		/**
		 * 插件列表页中所有插件增加「参与翻译」链接
		 */
		add_filter( sprintf( '%splugin_action_links', is_multisite() ? 'network_admin_' : '' ), function ( $links, $plugin = '' ) {
			$links[] = '<a target="_blank" href="https://translate.wenpai.org/projects/plugins/' . substr( $plugin, 0, strpos( $plugin, '/' ) ) . '/">参与翻译</a>';
			$links[] = '<a target="_blank" href="https://wpcy.com/plugins/' . substr( $plugin, 0, strpos( $plugin, '/' ) ) . '/">去广告</a>';

			return $links;
		}, 10, 2 );
	}

	/**
	 * 插件兼容性检测函数
	 */
	public static function check() {
		$notices = [];
		if ( version_compare( PHP_VERSION, '7.0.0', '<' ) ) {
			deactivate_plugins( 'wp-china-yes/wp-china-yes.php' );
			$notices[] = '<div class="notice notice-error"><p>' . sprintf( __( 'WP-China-Yes 插件需要 PHP 7.0.0 或更高版本,当前版本为 %s,插件已自动禁用。',
					'wp-china-yes' ),
					PHP_VERSION ) . '</p></div>';
		}
		if ( is_plugin_active( 'wp-china-no/wp-china-no.php' ) ) {
			deactivate_plugins( 'wp-china-no/wp-china-no.php' );
			$notices[] = '<div class="notice notice-error is-dismissible">
					<p><strong>' . __( '检测到旧版插件 WP-China-No,已自动禁用!', 'wp-china-yes' ) . '</strong></p>
				</div>';
		}
		if ( is_plugin_active( 'wp-china-plus/wp-china-plus.php' ) ) {
			deactivate_plugins( 'wp-china-plus/wp-china-plus.php' );
			$notices[] = '<div class="notice notice-error is-dismissible">
					<p><strong>' . __( '检测到不兼容的插件 WP-China-Plus,已自动禁用!', 'wp-china-yes' ) . '</strong></p>
				</div>';
		}
		if ( is_plugin_active( 'kill-429/kill-429.php' ) ) {
			deactivate_plugins( 'kill-429/kill-429.php' );
			$notices[] = '<div class="notice notice-error is-dismissible">
					<p><strong>' . __( '检测到不兼容的插件 Kill 429,已自动禁用!', 'wp-china-yes' ) . '</strong></p>
				</div>';
		}
		// 代理服务器检测
		if ( defined( 'WP_PROXY_HOST' ) || defined( 'WP_PROXY_PORT' ) ) {
			$notices[] = '<div class="notice notice-warning is-dismissible">
					<p><strong>' . __( '检测到已在 WordPress 配置文件中设置代理服务器,这可能会导致插件无法正常工作!',
					'wp-china-yes' ) . '</strong></p>
				</div>';
		}

		set_transient( 'wp-china-yes-admin-notices', $notices, 10 );
	}

	/**
	 * 输出管理后台提示信息
	 */
	public function admin_notices() {
		$notices = get_transient( 'wp-china-yes-admin-notices' );
		if ( $notices ) {
			foreach ( $notices as $notice ) {
				echo $notice;
			}
			delete_transient( 'wp-china-yes-admin-notices' );
		}
	}
}