From d8de9ef8c0780cfbfce2d1aad821ed00a1ff56a8 Mon Sep 17 00:00:00 2001 From: LudoBoggio Date: Thu, 6 Sep 2012 16:34:13 +0200 Subject: [PATCH] Rajout d'une page d'administration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Amélioration de l'utilisabilité. --- plugin.php | 85 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 70 insertions(+), 15 deletions(-) diff --git a/plugin.php b/plugin.php index 83694af..8044a8c 100644 --- a/plugin.php +++ b/plugin.php @@ -1,29 +1,84 @@ Your IP has been blacklisted."; - die(); - } + $ip = $args[0]; + $liste_ip = yourls_get_option ('ludo_blacklist_ip_liste'); + if ( !$liste_ip ) { + $liste_ip_display = unserialize ( $liste_ip ); + + if (in_array($ip, $liste_ip_display)) { + // yourls_die ( "Your IP has been blacklisted.", "Black list",403); + echo "
Your IP has been blacklisted.
"; + die(); + } + } +} + +// Add admin page +function ludo_blacklist_ip_add_page () { + yourls_register_plugin_page( 'ludo_blacklist_ip', 'Blacklist IPs', 'ludo_blacklist_ip_do_page' ); +} + +// Display admin page +function ludo_blacklist_ip_do_page () { + if( isset( $_POST['action'] ) && $_POST['action'] == 'blacklist_ip' ) { + ludo_blacklist_ip_process (); + } else { + ludo_blacklist_ip_form (); + } +} + +// Display form to administrate blacklisted IPs list +function ludo_blacklist_ip_form () { + $nonce = yourls_create_nonce( 'blacklist_ip' ) ; + $liste_ip = yourls_get_option ('ludo_blacklist_ip_liste','Enter IP addresses here, one per line'); + if ($liste_ip != 'Enter IP addresses here, one per line' ) + $liste_ip_display = implode ( "\n" , unserialize ( $liste_ip ) ); + echo << BlackList IPs +
+ + + + +

Blacklist following IPs + +

+ +

+
+HTML; +} + +// Update blacklisted IPs list +function ludo_blacklist_ip_process () { + // Check nonce + yourls_verify_nonce( 'blacklist_ip' ) ; + + // Update list + $sent_list = serialize ( explode ( '\n' , $_POST['blacklist_form'] ) ); + yourls_update_option ( $sent_list , 'ludo_blacklist_ip_liste' ); + echo "Black list updated" ; } ?>