WP coding style
This commit is contained in:
parent
bff28ce85b
commit
1e0659e649
@ -1,124 +1,126 @@
|
||||
<?php
|
||||
|
||||
/* Quit */
|
||||
defined('ABSPATH') OR exit;
|
||||
defined( 'ABSPATH' ) OR exit;
|
||||
|
||||
/**
|
||||
* Statify Blacklist
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class StatifyBlacklist
|
||||
{
|
||||
/**
|
||||
* Plugin options
|
||||
*
|
||||
* @var array
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static $_options;
|
||||
class StatifyBlacklist {
|
||||
/**
|
||||
* Plugin options
|
||||
*
|
||||
* @var array
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static $_options;
|
||||
|
||||
/**
|
||||
* Multisite Status
|
||||
*
|
||||
* @var bool
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static $multisite;
|
||||
/**
|
||||
* Multisite Status
|
||||
*
|
||||
* @var bool
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static $multisite;
|
||||
|
||||
/**
|
||||
* Class self initialize
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function instance()
|
||||
{
|
||||
new self();
|
||||
}
|
||||
/**
|
||||
* Class self initialize
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function instance() {
|
||||
new self();
|
||||
}
|
||||
|
||||
/**
|
||||
* Class constructor
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @changed 1.1.2
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
/* Skip on autosave or AJAX */
|
||||
if ( (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) OR (defined('DOING_AJAX') && DOING_AJAX) ) {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Class constructor
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @changed 1.1.2
|
||||
*/
|
||||
public function __construct() {
|
||||
/* Skip on autosave or AJAX */
|
||||
if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) OR ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* Plugin options */
|
||||
self::update_options();
|
||||
/* Plugin options */
|
||||
self::update_options();
|
||||
|
||||
/* Get multisite status */
|
||||
self::$multisite = (is_multisite() && array_key_exists(STATIFYBLACKLIST_BASE, (array)get_site_option('active_sitewide_plugins')));
|
||||
/* Get multisite status */
|
||||
self::$multisite = ( is_multisite() && array_key_exists( STATIFYBLACKLIST_BASE, (array) get_site_option( 'active_sitewide_plugins' ) ) );
|
||||
|
||||
/* Add Filter to statify hook */
|
||||
add_filter('statify_skip_tracking', array('StatifyBlacklist', 'apply_blacklist_filter'));
|
||||
/* Add Filter to statify hook */
|
||||
add_filter( 'statify_skip_tracking', array( 'StatifyBlacklist', 'apply_blacklist_filter' ) );
|
||||
|
||||
/* Admin only filters */
|
||||
if (is_admin()) {
|
||||
/* Load Textdomain (only needed for backend */
|
||||
load_plugin_textdomain( 'statifyblacklist', false, STATIFYBLACKLIST_DIR.'/lang/');
|
||||
/* Admin only filters */
|
||||
if ( is_admin() ) {
|
||||
/* Load Textdomain (only needed for backend */
|
||||
load_plugin_textdomain( 'statifyblacklist', false, STATIFYBLACKLIST_DIR . '/lang/' );
|
||||
|
||||
/* Add actions */
|
||||
add_action('wpmu_new_blog', array('StatifyBlacklist_Install', 'init_site'));
|
||||
add_action('delete_blog', array('StatifyBlacklist_System', 'init_site'));
|
||||
add_filter('plugin_row_meta', array('StatifyBlacklist_Admin', 'plugin_meta_link'), 10, 2);
|
||||
/* Add actions */
|
||||
add_action( 'wpmu_new_blog', array( 'StatifyBlacklist_Install', 'init_site' ) );
|
||||
add_action( 'delete_blog', array( 'StatifyBlacklist_System', 'init_site' ) );
|
||||
add_filter( 'plugin_row_meta', array( 'StatifyBlacklist_Admin', 'plugin_meta_link' ), 10, 2 );
|
||||
|
||||
if (is_multisite()) {
|
||||
add_action('network_admin_menu', array('StatifyBlacklist_Admin', '_add_menu_page'));
|
||||
add_filter('network_admin_plugin_action_links', array('StatifyBlacklist_Admin', 'plugin_actions_links'), 10, 2);
|
||||
} else {
|
||||
add_action('admin_menu', array('StatifyBlacklist_Admin', '_add_menu_page'));
|
||||
add_filter('plugin_action_links', array('StatifyBlacklist_Admin', 'plugin_actions_links'), 10, 2 );
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( is_multisite() ) {
|
||||
add_action( 'network_admin_menu', array( 'StatifyBlacklist_Admin', '_add_menu_page' ) );
|
||||
add_filter( 'network_admin_plugin_action_links', array(
|
||||
'StatifyBlacklist_Admin',
|
||||
'plugin_actions_links'
|
||||
), 10, 2 );
|
||||
} else {
|
||||
add_action( 'admin_menu', array( 'StatifyBlacklist_Admin', '_add_menu_page' ) );
|
||||
add_filter( 'plugin_action_links', array( 'StatifyBlacklist_Admin', 'plugin_actions_links' ), 10, 2 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update options
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @changed 1.1.1
|
||||
*/
|
||||
public static function update_options() {
|
||||
self::$_options = wp_parse_args(
|
||||
get_option('statify-blacklist'),
|
||||
array(
|
||||
'active_referer' => 0,
|
||||
'referer' => array()
|
||||
)
|
||||
);
|
||||
}
|
||||
/**
|
||||
* Update options
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @changed 1.1.1
|
||||
*/
|
||||
public static function update_options() {
|
||||
self::$_options = wp_parse_args(
|
||||
get_option( 'statify-blacklist' ),
|
||||
array(
|
||||
'active_referer' => 0,
|
||||
'referer' => array()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply the blacklist filter if active
|
||||
*
|
||||
* @return TRUE if referer matches blacklist.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function apply_blacklist_filter() {
|
||||
/* Skip if blacklist is inactive */
|
||||
if (self::$_options['active_referer'] != 1) {
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* Apply the blacklist filter if active
|
||||
*
|
||||
* @return TRUE if referer matches blacklist.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function apply_blacklist_filter() {
|
||||
/* Skip if blacklist is inactive */
|
||||
if ( self::$_options['active_referer'] != 1 ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Extract relevant domain parts */
|
||||
$referer = strtolower( ( isset($_SERVER['HTTP_REFERER']) ? parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST) : '' ) );
|
||||
$referer = explode('.', $referer);
|
||||
if( count($referer) >1 )
|
||||
$referer = implode('.', array_slice($referer, -2));
|
||||
else
|
||||
$referer = implode('.', $referer);
|
||||
/* Extract relevant domain parts */
|
||||
$referer = strtolower( ( isset( $_SERVER['HTTP_REFERER'] ) ? parse_url( $_SERVER['HTTP_REFERER'], PHP_URL_HOST ) : '' ) );
|
||||
$referer = explode( '.', $referer );
|
||||
if ( count( $referer ) > 1 ) {
|
||||
$referer = implode( '.', array_slice( $referer, - 2 ) );
|
||||
} else {
|
||||
$referer = implode( '.', $referer );
|
||||
}
|
||||
|
||||
/* Get blacklist */
|
||||
$blacklist = self::$_options['referer'];
|
||||
/* Get blacklist */
|
||||
$blacklist = self::$_options['referer'];
|
||||
|
||||
/* Check blacklist */
|
||||
return in_array($referer, $blacklist);
|
||||
}
|
||||
/* Check blacklist */
|
||||
|
||||
return in_array( $referer, $blacklist );
|
||||
}
|
||||
}
|
||||
|
@ -1,144 +1,158 @@
|
||||
<?php
|
||||
|
||||
/* Quit */
|
||||
defined('ABSPATH') OR exit;
|
||||
defined( 'ABSPATH' ) OR exit;
|
||||
|
||||
/**
|
||||
* Statify Blacklist admin configuration
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class StatifyBlacklist_Admin extends StatifyBlacklist
|
||||
{
|
||||
/**
|
||||
* Update options
|
||||
*
|
||||
* @return mixed array of sanitized array on errors, FALSE if there were none
|
||||
* @since 1.1.1
|
||||
*/
|
||||
public static function update_options($options) {
|
||||
if (isset($options) && current_user_can('manage_options')) {
|
||||
/* Sanitize URLs and remove empty inputs */
|
||||
$givenReferer = $options['referer'];
|
||||
$sanitizedReferer = self::sanitizeURLs($givenReferer);
|
||||
class StatifyBlacklist_Admin extends StatifyBlacklist {
|
||||
/**
|
||||
* Update options
|
||||
*
|
||||
* @return mixed array of sanitized array on errors, FALSE if there were none
|
||||
* @since 1.1.1
|
||||
*/
|
||||
public static function update_options( $options ) {
|
||||
if ( isset( $options ) && current_user_can( 'manage_options' ) ) {
|
||||
/* Sanitize URLs and remove empty inputs */
|
||||
$givenReferer = $options['referer'];
|
||||
$sanitizedReferer = self::sanitizeURLs( $givenReferer );
|
||||
|
||||
/* Abort on errors */
|
||||
if (!empty(array_diff($givenReferer, $sanitizedReferer))) {
|
||||
return $sanitizedReferer;
|
||||
}
|
||||
/* Abort on errors */
|
||||
if ( ! empty( array_diff( $givenReferer, $sanitizedReferer ) ) ) {
|
||||
return $sanitizedReferer;
|
||||
}
|
||||
|
||||
/* Update database on success */
|
||||
if ((is_multisite() && array_key_exists(STATIFYBLACKLIST_BASE, (array)get_site_option('active_sitewide_plugins'))))
|
||||
update_site_option('statify-blacklist', $options);
|
||||
else
|
||||
update_option('statify-blacklist', $options);
|
||||
}
|
||||
/* Update database on success */
|
||||
if ( ( is_multisite() && array_key_exists( STATIFYBLACKLIST_BASE, (array) get_site_option( 'active_sitewide_plugins' ) ) ) ) {
|
||||
update_site_option( 'statify-blacklist', $options );
|
||||
} else {
|
||||
update_option( 'statify-blacklist', $options );
|
||||
}
|
||||
}
|
||||
|
||||
/* Refresh options */
|
||||
parent::update_options();
|
||||
/* Refresh options */
|
||||
parent::update_options();
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add configuration page to admin menu
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function _add_menu_page() {
|
||||
$title = __( 'Statify Blacklist', 'statify-blacklist' );
|
||||
if (self::$multisite)
|
||||
add_submenu_page( 'settings.php', $title, $title, 'manage_network_plugins', 'statify-blacklist-settings', array('StatifyBlacklist_Admin', 'settings_page') );
|
||||
else
|
||||
add_submenu_page( 'options-general.php', $title, $title, 'manage_options', 'statify-blacklist', array('StatifyBlacklist_Admin', 'settings_page') );
|
||||
/**
|
||||
* Add configuration page to admin menu
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function _add_menu_page() {
|
||||
$title = __( 'Statify Blacklist', 'statify-blacklist' );
|
||||
if ( self::$multisite ) {
|
||||
add_submenu_page( 'settings.php', $title, $title, 'manage_network_plugins', 'statify-blacklist-settings', array(
|
||||
'StatifyBlacklist_Admin',
|
||||
'settings_page'
|
||||
) );
|
||||
} else {
|
||||
add_submenu_page( 'options-general.php', $title, $title, 'manage_options', 'statify-blacklist', array(
|
||||
'StatifyBlacklist_Admin',
|
||||
'settings_page'
|
||||
) );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static function settings_page() {
|
||||
include STATIFYBLACKLIST_DIR . '/views/settings_page.php';
|
||||
}
|
||||
public static function settings_page() {
|
||||
include STATIFYBLACKLIST_DIR . '/views/settings_page.php';
|
||||
}
|
||||
|
||||
/**
|
||||
* Add plugin meta links
|
||||
*
|
||||
* @param $links
|
||||
* @param $file
|
||||
* @return array
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function plugin_meta_link($links, $file) {
|
||||
if ($file == STATIFYBLACKLIST_BASE) {
|
||||
$links[] = '<a href="https://github.com/stklcode/statify-blacklist">GitHub</a>';
|
||||
}
|
||||
return $links;
|
||||
}
|
||||
/**
|
||||
* Add plugin meta links
|
||||
*
|
||||
* @param $links
|
||||
* @param $file
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function plugin_meta_link( $links, $file ) {
|
||||
if ( $file == STATIFYBLACKLIST_BASE ) {
|
||||
$links[] = '<a href="https://github.com/stklcode/statify-blacklist">GitHub</a>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Add plugin action links
|
||||
*
|
||||
* @param array $input Registered links
|
||||
* @return array Merged links
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function plugin_actions_links($links, $file) {
|
||||
$base = self::$multisite ? network_admin_url( 'settings.php' ) : admin_url( 'options-general.php' );
|
||||
return $links;
|
||||
}
|
||||
|
||||
if( $file == STATIFYBLACKLIST_BASE && current_user_can('manage_options') ) {
|
||||
array_unshift(
|
||||
$links,
|
||||
sprintf( '<a href="%s">%s</a>', esc_attr(add_query_arg( 'page', 'statify-blacklist', $base )), __('Settings'))
|
||||
);
|
||||
}
|
||||
return $links;
|
||||
}
|
||||
/**
|
||||
* Add plugin action links
|
||||
*
|
||||
* @param array $input Registered links
|
||||
*
|
||||
* @return array Merged links
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function plugin_actions_links( $links, $file ) {
|
||||
$base = self::$multisite ? network_admin_url( 'settings.php' ) : admin_url( 'options-general.php' );
|
||||
|
||||
/**
|
||||
* Filter database for cleanup.
|
||||
*
|
||||
* @since 1.1.0
|
||||
* @changed 1.1.1
|
||||
*/
|
||||
public static function cleanup_database() {
|
||||
/* Check user permissions */
|
||||
if (!current_user_can('manage_options'))
|
||||
die(_e('Are you sure you want to do this?'));
|
||||
if ( $file == STATIFYBLACKLIST_BASE && current_user_can( 'manage_options' ) ) {
|
||||
array_unshift(
|
||||
$links,
|
||||
sprintf( '<a href="%s">%s</a>', esc_attr( add_query_arg( 'page', 'statify-blacklist', $base ) ), __( 'Settings' ) )
|
||||
);
|
||||
}
|
||||
|
||||
global $wpdb;
|
||||
return $links;
|
||||
}
|
||||
|
||||
/* Sanitize URLs */
|
||||
$referer = self::sanitizeURLs(self::$_options['referer']);
|
||||
/**
|
||||
* Filter database for cleanup.
|
||||
*
|
||||
* @since 1.1.0
|
||||
* @changed 1.1.1
|
||||
*/
|
||||
public static function cleanup_database() {
|
||||
/* Check user permissions */
|
||||
if ( ! current_user_can( 'manage_options' ) ) {
|
||||
die( _e( 'Are you sure you want to do this?' ) );
|
||||
}
|
||||
|
||||
/* Build filter regexp */
|
||||
$refererRegexp = str_replace('.', '\.', implode('|', $referer));
|
||||
if (!empty($refererRegexp)) {
|
||||
/* Execute filter on database */
|
||||
$wpdb->query(
|
||||
$wpdb->prepare("DELETE FROM `$wpdb->statify` WHERE referrer REGEXP %s", $refererRegexp)
|
||||
);
|
||||
global $wpdb;
|
||||
|
||||
/* Optimize DB */
|
||||
$wpdb->query("OPTIMIZE TABLE `$wpdb->statify`");
|
||||
}
|
||||
}
|
||||
/* Sanitize URLs */
|
||||
$referer = self::sanitizeURLs( self::$_options['referer'] );
|
||||
|
||||
/* Build filter regexp */
|
||||
$refererRegexp = str_replace( '.', '\.', implode( '|', $referer ) );
|
||||
if ( ! empty( $refererRegexp ) ) {
|
||||
/* Execute filter on database */
|
||||
$wpdb->query(
|
||||
$wpdb->prepare( "DELETE FROM `$wpdb->statify` WHERE referrer REGEXP %s", $refererRegexp )
|
||||
);
|
||||
|
||||
/* Optimize DB */
|
||||
$wpdb->query( "OPTIMIZE TABLE `$wpdb->statify`" );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sanitize URLs and remove empty results
|
||||
* @param $urls array given array of URLs
|
||||
* @return array sanitized array
|
||||
*
|
||||
* @since 1.1.1
|
||||
*/
|
||||
private static function sanitizeURLs($urls) {
|
||||
return array_filter(
|
||||
array_map(
|
||||
function($r) {
|
||||
return preg_replace('/[^\da-z\.-]/i', '', filter_var($r, FILTER_SANITIZE_URL));
|
||||
},
|
||||
$urls
|
||||
)
|
||||
);
|
||||
}
|
||||
/**
|
||||
* Sanitize URLs and remove empty results
|
||||
*
|
||||
* @param $urls array given array of URLs
|
||||
*
|
||||
* @return array sanitized array
|
||||
*
|
||||
* @since 1.1.1
|
||||
*/
|
||||
private static function sanitizeURLs( $urls ) {
|
||||
return array_filter(
|
||||
array_map(
|
||||
function ( $r ) {
|
||||
return preg_replace( '/[^\da-z\.-]/i', '', filter_var( $r, FILTER_SANITIZE_URL ) );
|
||||
},
|
||||
$urls
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
@ -1,70 +1,69 @@
|
||||
<?php
|
||||
|
||||
/* Quit */
|
||||
defined('ABSPATH') OR exit;
|
||||
defined( 'ABSPATH' ) OR exit;
|
||||
|
||||
/**
|
||||
* Statify Blacklist system configuration
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class StatifyBlacklist_System extends StatifyBlacklist
|
||||
{
|
||||
/**
|
||||
* Plugin install handler.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @param bool $network_wide Whether the plugin was activated network-wide or not.
|
||||
*/
|
||||
public static function install( $network_wide = false ) {
|
||||
global $wpdb;
|
||||
class StatifyBlacklist_System extends StatifyBlacklist {
|
||||
/**
|
||||
* Plugin install handler.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @param bool $network_wide Whether the plugin was activated network-wide or not.
|
||||
*/
|
||||
public static function install( $network_wide = false ) {
|
||||
global $wpdb;
|
||||
|
||||
// Create tables for each site in a network.
|
||||
if ( is_multisite() && $network_wide ) {
|
||||
// Todo: Use get_sites() in WordPress 4.6+
|
||||
$ids = $wpdb->get_col( "SELECT blog_id FROM `$wpdb->blogs`" );
|
||||
// Create tables for each site in a network.
|
||||
if ( is_multisite() && $network_wide ) {
|
||||
// Todo: Use get_sites() in WordPress 4.6+
|
||||
$ids = $wpdb->get_col( "SELECT blog_id FROM `$wpdb->blogs`" );
|
||||
|
||||
foreach ( $ids as $site_id ) {
|
||||
switch_to_blog( $site_id );
|
||||
add_option(
|
||||
'statify-blacklist',
|
||||
array()
|
||||
);
|
||||
}
|
||||
foreach ( $ids as $site_id ) {
|
||||
switch_to_blog( $site_id );
|
||||
add_option(
|
||||
'statify-blacklist',
|
||||
array()
|
||||
);
|
||||
}
|
||||
|
||||
restore_current_blog();
|
||||
} else {
|
||||
add_option(
|
||||
'statify-blacklist',
|
||||
array()
|
||||
);
|
||||
}
|
||||
}
|
||||
restore_current_blog();
|
||||
} else {
|
||||
add_option(
|
||||
'statify-blacklist',
|
||||
array()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Plugin uninstall handler.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function uninstall() {
|
||||
global $wpdb;
|
||||
/**
|
||||
* Plugin uninstall handler.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function uninstall() {
|
||||
global $wpdb;
|
||||
|
||||
if ( is_multisite() ) {
|
||||
$old = get_current_blog_id();
|
||||
if ( is_multisite() ) {
|
||||
$old = get_current_blog_id();
|
||||
|
||||
// Todo: Use get_sites() in WordPress 4.6+
|
||||
$ids = $wpdb->get_col( "SELECT blog_id FROM `$wpdb->blogs`" );
|
||||
// Todo: Use get_sites() in WordPress 4.6+
|
||||
$ids = $wpdb->get_col( "SELECT blog_id FROM `$wpdb->blogs`" );
|
||||
|
||||
foreach ( $ids as $id ) {
|
||||
switch_to_blog( $id );
|
||||
delete_option('statify-blacklist');
|
||||
}
|
||||
foreach ( $ids as $id ) {
|
||||
switch_to_blog( $id );
|
||||
delete_option( 'statify-blacklist' );
|
||||
}
|
||||
|
||||
switch_to_blog( $old );
|
||||
}
|
||||
switch_to_blog( $old );
|
||||
}
|
||||
|
||||
delete_option('statify-blacklist');
|
||||
}
|
||||
delete_option( 'statify-blacklist' );
|
||||
}
|
||||
}
|
@ -12,37 +12,38 @@ Version: 1.1.2
|
||||
*/
|
||||
|
||||
/* Quit */
|
||||
defined('ABSPATH') OR exit;
|
||||
defined( 'ABSPATH' ) OR exit;
|
||||
|
||||
/* Constants */
|
||||
define('STATIFYBLACKLIST_FILE', __FILE__);
|
||||
define('STATIFYBLACKLIST_DIR', dirname(__FILE__));
|
||||
define('STATIFYBLACKLIST_BASE', plugin_basename(__FILE__));
|
||||
define( 'STATIFYBLACKLIST_FILE', __FILE__ );
|
||||
define( 'STATIFYBLACKLIST_DIR', dirname( __FILE__ ) );
|
||||
define( 'STATIFYBLACKLIST_BASE', plugin_basename( __FILE__ ) );
|
||||
|
||||
/* System Hooks */
|
||||
add_action('plugins_loaded', array('StatifyBlacklist', 'instance'));
|
||||
add_action( 'plugins_loaded', array( 'StatifyBlacklist', 'instance' ) );
|
||||
|
||||
register_activation_hook(STATIFYBLACKLIST_FILE, array('StatifyBlacklist_System', 'install'));
|
||||
register_activation_hook( STATIFYBLACKLIST_FILE, array( 'StatifyBlacklist_System', 'install' ) );
|
||||
|
||||
register_uninstall_hook(STATIFYBLACKLIST_FILE, array('StatifyBlacklist_System', 'uninstall'));
|
||||
register_uninstall_hook( STATIFYBLACKLIST_FILE, array( 'StatifyBlacklist_System', 'uninstall' ) );
|
||||
|
||||
/* Autoload */
|
||||
spl_autoload_register('statifyBlacklist_autoload');
|
||||
spl_autoload_register( 'statifyBlacklist_autoload' );
|
||||
|
||||
/**
|
||||
* Autoloader for StatifyBlacklist classes.
|
||||
*
|
||||
* @param $class
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
function statifyBlacklist_autoload($class) {
|
||||
$plugin_classes = array(
|
||||
'StatifyBlacklist',
|
||||
'StatifyBlacklist_Admin',
|
||||
'StatifyBlacklist_System'
|
||||
);
|
||||
function statifyBlacklist_autoload( $class ) {
|
||||
$plugin_classes = array(
|
||||
'StatifyBlacklist',
|
||||
'StatifyBlacklist_Admin',
|
||||
'StatifyBlacklist_System'
|
||||
);
|
||||
|
||||
if (in_array($class, $plugin_classes)) {
|
||||
require_once(sprintf('%s/inc/%s.class.php', STATIFYBLACKLIST_DIR, strtolower($class)));
|
||||
}
|
||||
if ( in_array( $class, $plugin_classes ) ) {
|
||||
require_once( sprintf( '%s/inc/%s.class.php', STATIFYBLACKLIST_DIR, strtolower( $class ) ) );
|
||||
}
|
||||
}
|
||||
|
@ -1,94 +1,104 @@
|
||||
<?php
|
||||
|
||||
/* Quit */
|
||||
defined('ABSPATH') OR exit;
|
||||
defined( 'ABSPATH' ) OR exit;
|
||||
|
||||
/* Update plugin options */
|
||||
if ( !empty($_POST['statifyblacklist']) ) {
|
||||
/* Verify nonce */
|
||||
check_admin_referer( 'statify-blacklist-settings' );
|
||||
if ( ! empty( $_POST['statifyblacklist'] ) ) {
|
||||
/* Verify nonce */
|
||||
check_admin_referer( 'statify-blacklist-settings' );
|
||||
|
||||
/* Check user capabilities */
|
||||
if (!current_user_can('manage_options')) {
|
||||
die(_e('Are you sure you want to do this?'));
|
||||
}
|
||||
/* Check user capabilities */
|
||||
if ( ! current_user_can( 'manage_options' ) ) {
|
||||
die( _e( 'Are you sure you want to do this?' ) );
|
||||
}
|
||||
|
||||
if (!empty($_POST['cleanUp'])) {
|
||||
/* CleanUp DB */
|
||||
StatifyBlacklist_Admin::cleanup_database();
|
||||
} else {
|
||||
/* Extract referer array */
|
||||
if (empty(trim($_POST['statifyblacklist']['referer']))) $referer = array();
|
||||
else $referer = explode("\r\n", $_POST['statifyblacklist']['referer']);
|
||||
if ( ! empty( $_POST['cleanUp'] ) ) {
|
||||
/* CleanUp DB */
|
||||
StatifyBlacklist_Admin::cleanup_database();
|
||||
} else {
|
||||
/* Extract referer array */
|
||||
if ( empty( trim( $_POST['statifyblacklist']['referer'] ) ) ) {
|
||||
$referer = array();
|
||||
} else {
|
||||
$referer = explode( "\r\n", $_POST['statifyblacklist']['referer'] );
|
||||
}
|
||||
|
||||
/* Update options (data will be sanitized) */
|
||||
$statifyBlacklistUpdateResult= StatifyBlacklist_Admin::update_options(
|
||||
array(
|
||||
'active_referer' => (int)@$_POST['statifyblacklist']['active_referer'],
|
||||
'referer' => $referer
|
||||
)
|
||||
);
|
||||
/* Update options (data will be sanitized) */
|
||||
$statifyBlacklistUpdateResult = StatifyBlacklist_Admin::update_options(
|
||||
array(
|
||||
'active_referer' => (int) @$_POST['statifyblacklist']['active_referer'],
|
||||
'referer' => $referer
|
||||
)
|
||||
);
|
||||
|
||||
/* Generate messages */
|
||||
if ($statifyBlacklistUpdateResult !== false) {
|
||||
$statifyBlacklistPostWarning = 'Some URLs are invalid and have been sanitized. Settings have not been saved yet.';
|
||||
} else {
|
||||
$statifyBlacklistPostSuccess = 'Settings updated successfully.';
|
||||
}
|
||||
}
|
||||
/* Generate messages */
|
||||
if ( $statifyBlacklistUpdateResult !== false ) {
|
||||
$statifyBlacklistPostWarning = 'Some URLs are invalid and have been sanitized. Settings have not been saved yet.';
|
||||
} else {
|
||||
$statifyBlacklistPostSuccess = 'Settings updated successfully.';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<div class="wrap">
|
||||
<h1><?php _e( 'Statify Blacklist', 'statify-blacklist') ?></h1>
|
||||
<?php
|
||||
if (is_plugin_inactive('statify/statify.php')) {
|
||||
print '<div class="notice notice-warning"><p>';
|
||||
esc_html_e('Statify plugin is not active.', 'statify-blacklist');
|
||||
print '</p></div>';
|
||||
}
|
||||
if (isset($statifyBlacklistPostWarning)) {
|
||||
print '<div class="notice notice-warning"><p>';
|
||||
esc_html_e($statifyBlacklistPostWarning);
|
||||
print '</p></div>';
|
||||
}
|
||||
if (isset($statifyBlacklistPostSuccess)) {
|
||||
print '<div class="notice notice-success"><p>';
|
||||
esc_html_e($statifyBlacklistPostSuccess);
|
||||
print '</p></div>';
|
||||
}
|
||||
?>
|
||||
<form action="" method="post" id="statify-blacklist-settings">
|
||||
<ul style="list-style: none;">
|
||||
<li>
|
||||
<label for="statify-blacklist_active_referer">
|
||||
<input type="checkbox" name="statifyblacklist[active_referer]" id="statifyblacklist_active_referer" value="1" <?php checked(StatifyBlacklist::$_options['active_referer'], 1); ?> />
|
||||
<?php esc_html_e('Activate referer blacklist', 'statify-blacklist'); ?>
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label for="statify-blacklist_referer">
|
||||
<?php esc_html_e('Referer blacklist:', 'statify-blacklist'); ?><br />
|
||||
<textarea cols="40" rows="5" name="statifyblacklist[referer]" id="statify-blacklist_referer"><?php
|
||||
if (isset($statifyBlacklistUpdateResult) &&$statifyBlacklistUpdateResult !== false)
|
||||
print esc_html(implode("\r\n", $statifyBlacklistUpdateResult));
|
||||
else
|
||||
print esc_html(implode("\r\n", StatifyBlacklist::$_options['referer']));
|
||||
?></textarea><br />
|
||||
<small>(<?php esc_html_e('Add one domain (without subdomains) each line, e.g. example.com', 'statify-blacklist'); ?>)</small>
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
<?php wp_nonce_field('statify-blacklist-settings'); ?>
|
||||
<h1><?php _e( 'Statify Blacklist', 'statify-blacklist' ) ?></h1>
|
||||
<?php
|
||||
if ( is_plugin_inactive( 'statify/statify.php' ) ) {
|
||||
print '<div class="notice notice-warning"><p>';
|
||||
esc_html_e( 'Statify plugin is not active.', 'statify-blacklist' );
|
||||
print '</p></div>';
|
||||
}
|
||||
if ( isset( $statifyBlacklistPostWarning ) ) {
|
||||
print '<div class="notice notice-warning"><p>';
|
||||
esc_html_e( $statifyBlacklistPostWarning );
|
||||
print '</p></div>';
|
||||
}
|
||||
if ( isset( $statifyBlacklistPostSuccess ) ) {
|
||||
print '<div class="notice notice-success"><p>';
|
||||
esc_html_e( $statifyBlacklistPostSuccess );
|
||||
print '</p></div>';
|
||||
}
|
||||
?>
|
||||
<form action="" method="post" id="statify-blacklist-settings">
|
||||
<ul style="list-style: none;">
|
||||
<li>
|
||||
<label for="statify-blacklist_active_referer">
|
||||
<input type="checkbox" name="statifyblacklist[active_referer]" id="statifyblacklist_active_referer"
|
||||
value="1" <?php checked( StatifyBlacklist::$_options['active_referer'], 1 ); ?> />
|
||||
<?php esc_html_e( 'Activate referer blacklist', 'statify-blacklist' ); ?>
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label for="statify-blacklist_referer">
|
||||
<?php esc_html_e( 'Referer blacklist:', 'statify-blacklist' ); ?><br/>
|
||||
<textarea cols="40" rows="5" name="statifyblacklist[referer]" id="statify-blacklist_referer"><?php
|
||||
if ( isset( $statifyBlacklistUpdateResult ) && $statifyBlacklistUpdateResult !== false ) {
|
||||
print esc_html( implode( "\r\n", $statifyBlacklistUpdateResult ) );
|
||||
} else {
|
||||
print esc_html( implode( "\r\n", StatifyBlacklist::$_options['referer'] ) );
|
||||
}
|
||||
?></textarea>
|
||||
<br />
|
||||
<small>
|
||||
(<?php esc_html_e( 'Add one domain (without subdomains) each line, e.g. example.com', 'statify-blacklist' ); ?>
|
||||
)
|
||||
</small>
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
<?php wp_nonce_field( 'statify-blacklist-settings' ); ?>
|
||||
|
||||
<p class="submit">
|
||||
<input class="button-primary" type="submit" name="submit" value="<?php _e('Save Changes') ?>">
|
||||
<hr>
|
||||
<input class="button-secondary" type="submit" name="cleanUp" value="<?php esc_html_e('CleanUp Database', 'statify-blacklist') ?>"
|
||||
onclick="return confirm('Do you really want to apply filters to database? This cannot be undone.');">
|
||||
<br>
|
||||
<small><?php esc_html_e('Applies filter (even if disabled) to data stored in database. This cannot be undone!', 'statify-blacklist'); ?></small>
|
||||
</p>
|
||||
</form>
|
||||
<p class="submit">
|
||||
<input class="button-primary" type="submit" name="submit" value="<?php _e( 'Save Changes' ) ?>" />
|
||||
<hr />
|
||||
<input class="button-secondary" type="submit" name="cleanUp"
|
||||
value="<?php esc_html_e( 'CleanUp Database', 'statify-blacklist' ) ?>"
|
||||
onclick="return confirm('Do you really want to apply filters to database? This cannot be undone.');">
|
||||
<br />
|
||||
<small><?php esc_html_e( 'Applies filter (even if disabled) to data stored in database. This cannot be undone!', 'statify-blacklist' ); ?></small>
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user