remove blocklist feature in favor of the comment blocklist
This commit is contained in:
parent
fb22aeae71
commit
a875b90054
4 changed files with 2 additions and 85 deletions
|
@ -107,14 +107,6 @@ class Admin {
|
||||||
'default' => array( 'post', 'pages' ),
|
'default' => array( 'post', 'pages' ),
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
\register_setting(
|
|
||||||
'activitypub', 'activitypub_blacklist', array(
|
|
||||||
'type' => 'string',
|
|
||||||
'description' => \esc_html__( 'Block fediverse instances', 'activitypub' ),
|
|
||||||
'show_in_rest' => true,
|
|
||||||
'default' => 'gab.com',
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function add_settings_help_tab() {
|
public static function add_settings_help_tab() {
|
||||||
|
|
|
@ -287,48 +287,3 @@ function url_to_authorid( $url ) {
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the blacklist from the WordPress options table
|
|
||||||
*
|
|
||||||
* @return array the list of blacklisted hosts
|
|
||||||
*
|
|
||||||
* @uses apply_filters() Calls 'activitypub_blacklist' filter
|
|
||||||
*/
|
|
||||||
function get_blacklist() {
|
|
||||||
$blacklist = \get_option( 'activitypub_blacklist', 'gab.com' );
|
|
||||||
$blacklist_hosts = \explode( \PHP_EOL, $blacklist );
|
|
||||||
|
|
||||||
// if no values have been set, revert to the defaults
|
|
||||||
if ( ! $blacklist || ! $blacklist_hosts || ! \is_array( $blacklist_hosts ) ) {
|
|
||||||
$blacklist_hosts = array();
|
|
||||||
}
|
|
||||||
|
|
||||||
// clean out any blank values
|
|
||||||
foreach ( $blacklist_hosts as $key => $value ) {
|
|
||||||
if ( empty( $value ) ) {
|
|
||||||
unset( $blacklist_hosts[ $key ] );
|
|
||||||
} else {
|
|
||||||
$blacklist_hosts[ $key ] = \trim( $blacklist_hosts[ $key ] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return \apply_filters( 'activitypub_blacklist', $blacklist_hosts );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if an URL is blacklisted
|
|
||||||
*
|
|
||||||
* @param string $url an URL to check
|
|
||||||
*
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
function is_blacklisted( $url ) {
|
|
||||||
foreach ( \ActivityPub\get_blacklist() as $blacklisted_host ) {
|
|
||||||
if ( \stripos( $url, $blacklisted_host ) !== false ) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
|
@ -135,23 +135,11 @@ class Inbox {
|
||||||
|
|
||||||
$params['id'] = array(
|
$params['id'] = array(
|
||||||
'required' => true,
|
'required' => true,
|
||||||
'validate_callback' => function( $param, $request, $key ) {
|
|
||||||
if ( ! \is_string( $param ) ) {
|
|
||||||
$param = $param['id'];
|
|
||||||
}
|
|
||||||
return ! \Activitypub\is_blacklisted( $param );
|
|
||||||
},
|
|
||||||
'sanitize_callback' => 'esc_url_raw',
|
'sanitize_callback' => 'esc_url_raw',
|
||||||
);
|
);
|
||||||
|
|
||||||
$params['actor'] = array(
|
$params['actor'] = array(
|
||||||
'required' => true,
|
'required' => true,
|
||||||
'validate_callback' => function( $param, $request, $key ) {
|
|
||||||
if ( ! \is_string( $param ) ) {
|
|
||||||
$param = $param['id'];
|
|
||||||
}
|
|
||||||
return ! \Activitypub\is_blacklisted( $param );
|
|
||||||
},
|
|
||||||
'sanitize_callback' => function( $param, $request, $key ) {
|
'sanitize_callback' => function( $param, $request, $key ) {
|
||||||
if ( ! \is_string( $param ) ) {
|
if ( ! \is_string( $param ) ) {
|
||||||
$param = $param['id'];
|
$param = $param['id'];
|
||||||
|
@ -188,24 +176,12 @@ class Inbox {
|
||||||
$params['id'] = array(
|
$params['id'] = array(
|
||||||
'required' => true,
|
'required' => true,
|
||||||
'type' => 'string',
|
'type' => 'string',
|
||||||
'validate_callback' => function( $param, $request, $key ) {
|
|
||||||
if ( ! \is_string( $param ) ) {
|
|
||||||
$param = $param['id'];
|
|
||||||
}
|
|
||||||
return ! \Activitypub\is_blacklisted( $param );
|
|
||||||
},
|
|
||||||
'sanitize_callback' => 'esc_url_raw',
|
'sanitize_callback' => 'esc_url_raw',
|
||||||
);
|
);
|
||||||
|
|
||||||
$params['actor'] = array(
|
$params['actor'] = array(
|
||||||
'required' => true,
|
'required' => true,
|
||||||
//'type' => array( 'object', 'string' ),
|
//'type' => array( 'object', 'string' ),
|
||||||
'validate_callback' => function( $param, $request, $key ) {
|
|
||||||
if ( ! \is_string( $param ) ) {
|
|
||||||
$param = $param['id'];
|
|
||||||
}
|
|
||||||
return ! \Activitypub\is_blacklisted( $param );
|
|
||||||
},
|
|
||||||
'sanitize_callback' => function( $param, $request, $key ) {
|
'sanitize_callback' => function( $param, $request, $key ) {
|
||||||
if ( ! \is_string( $param ) ) {
|
if ( ! \is_string( $param ) ) {
|
||||||
$param = $param['id'];
|
$param = $param['id'];
|
||||||
|
|
|
@ -108,20 +108,14 @@
|
||||||
|
|
||||||
<p><?php \esc_html_e( 'Server related settings.', 'activitypub' ); ?></p>
|
<p><?php \esc_html_e( 'Server related settings.', 'activitypub' ); ?></p>
|
||||||
|
|
||||||
<?php
|
|
||||||
// load the existing blacklist from the WordPress options table
|
|
||||||
$activitypub_blacklist = \trim( \implode( \PHP_EOL, \ActivityPub\get_blacklist() ), \PHP_EOL );
|
|
||||||
?>
|
|
||||||
|
|
||||||
<table class="form-table">
|
<table class="form-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<?php \esc_html_e( 'Blacklist', 'activitypub' ); ?>
|
<?php \esc_html_e( 'Blocklist', 'activitypub' ); ?>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<textarea name="activitypub_blacklist" id="activitypub_blacklist" rows="10" cols="50" class="large-text"><?php echo $activitypub_blacklist; ?></textarea>
|
<p class="description"><?php \printf( \__( 'To block servers, add the host of the server to the "<a href="%s">Disallowed Comment Keys</a>" list.', 'activitypub' ), admin_url( 'options-discussion.php#disallowed_keys' ) ); ?></p>
|
||||||
<p class="description"><?php \_e( 'A list of hosts, you want to block, one host per line. Please use only the host/domain of the server you want to block, without <code>http://</code> and without <code>www.</code>. For example <code>example.com</code>.', 'activitypub' ); ?></p>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
Loading…
Reference in a new issue