Changeset 2852066
- Timestamp:
- 01/20/2023 08:45:55 PM (3 years ago)
- Location:
- feed-changer
- Files:
-
- 28 added
- 3 edited
-
tags/0.2 (added)
-
tags/0.2/FeedChanger-fa_IR.mo (added)
-
tags/0.2/FeedChanger-fa_IR.po (added)
-
tags/0.2/css (added)
-
tags/0.2/css/admin.css (added)
-
tags/0.2/css/img (added)
-
tags/0.2/css/img/index.html (added)
-
tags/0.2/css/index.html (added)
-
tags/0.2/index.html (added)
-
tags/0.2/index.php (added)
-
tags/0.2/js (added)
-
tags/0.2/js/admin.js (added)
-
tags/0.2/js/index.html (added)
-
tags/0.2/readme.txt (added)
-
tags/0.2/simple-class-options.php (added)
-
tags/0.3 (added)
-
tags/0.3/index.html (added)
-
tags/0.3/index.php (added)
-
tags/0.3/languages (added)
-
tags/0.3/languages/FeedChanger-fa_IR.mo (added)
-
tags/0.3/languages/FeedChanger-fa_IR.po (added)
-
tags/0.3/languages/index.html (added)
-
tags/0.3/readme.txt (added)
-
tags/0.3/simple-class-options.php (added)
-
trunk/index.php (modified) (3 diffs)
-
trunk/languages (added)
-
trunk/languages/FeedChanger-fa_IR.mo (added)
-
trunk/languages/FeedChanger-fa_IR.po (added)
-
trunk/languages/index.html (added)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/simple-class-options.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
feed-changer/trunk/index.php
r1254815 r2852066 1 1 <?php 2 2 /* 3 Plugin Name: Feed Changer 4 Plugin URI : http://wp-master.ir 5 Author: wp-master.ir 6 Author URI: http://wp-master.ir 7 Description: Feed Changer 8 Version: 0.2 9 Text Domain: FeedChanger 10 */ 11 12 /* 13 * No script kiddies please! 14 */ 15 defined('ABSPATH') or die("اللهم صل علی محمد و آل محمد و عجل فرجهم"); 3 * Plugin Name: Feed Changer 4 * Plugin URI: http://wp-master.ir/ 5 * Description: Feed Changer 6 * Version: 0.3 7 * Author: wp-master.ir 8 * Author URI: http://wp-master.ir/ 9 * Requires PHP: 7.0 10 * Text Domain: FeedChanger 11 * Domain Path: /languages 12 */ 13 if (!defined('ABSPATH')) { 14 die("اللهم صل علی محمد و آل محمد و عجل فرجهم"); 15 } 16 /** 17 * Changes: 18 * 0.3: initial version 19 * 20 */ 16 21 17 22 /* 18 23 * Defines 19 24 */ 20 define('_FeedChanger_DIR' , dirname( __FILE__ ).DIRECTORY_SEPARATOR); 21 define('_FeedChanger_PATH' , plugin_dir_url( __FILE__ )); 25 define('_FeedChanger_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR); 26 define('_FeedChanger_PATH', plugin_dir_url(__FILE__)); 27 28 /** 29 * Redirect to settings page after plugin activation 30 */ 31 register_activation_hook(__FILE__, function () { 32 add_option('FeedChanger_init_redirect_after_activation_option', true); 33 34 35 }); 36 add_action('init', function () { 37 38 if (get_option('FeedChanger_init_redirect_after_activation_option', false)) { 39 delete_option('FeedChanger_init_redirect_after_activation_option'); 40 exit(wp_redirect(admin_url('options-general.php?page=FeedChanger-options'))); 41 } 42 }); 22 43 23 44 … … 25 46 * load plugin language 26 47 */ 27 add_action( 'plugins_loaded', '_FeedChanger_lang');48 add_action('plugins_loaded', '_FeedChanger_lang'); 28 49 function _FeedChanger_lang() 29 50 { 30 load_plugin_textdomain( 'FeedChanger', false, dirname( plugin_basename( __FILE__ ) ).DIRECTORY_SEPARATOR); 31 } 32 __('Feed Changer' , 'FeedChanger'); 33 __('Feed Changer' , 'FeedChanger'); 34 35 36 /** 37 * Load Plugin Style And script that are need in front area 38 */ 39 function FeedChanger_user_styles_scripts($hook) 40 { 41 if($hook == 'settings_page_FeedChanger-options'){ 42 wp_register_script('FeedChanger' . 'admin_JS' , _FeedChanger_PATH . 'js/admin.js', array('jquery'), 1.0, false); 43 wp_register_style('FeedChanger' . 'admin_CSS' , _FeedChanger_PATH.'css/admin.css', array(), 1.0, 'all'); 44 wp_enqueue_script('FeedChanger' . 'admin_JS'); 45 wp_enqueue_style('FeedChanger' . 'admin_CSS'); 46 } 47 51 load_plugin_textdomain('FeedChanger', false, dirname(plugin_basename(__FILE__)) . DIRECTORY_SEPARATOR . 'languages'); 48 52 } 49 53 50 add_action('admin_enqueue_scripts', 'FeedChanger_user_styles_scripts');54 __('Feed Changer', 'FeedChanger'); 51 55 52 56 /** … … 56 60 57 61 global $feedChanger_opt; 58 $feedChanger_opt['settings'] = get_option( 'feedChanger');62 $feedChanger_opt['settings'] = feedChanger_opts(); 59 63 60 if ($feedChanger_opt['settings']['FeedChanger_main_feed_enable'] != 'yes'){61 //Disable RSS Feeds functions62 feedChanger_feed_switch_off();63 //Remove feed link from header64 remove_action( 'wp_head', 'feed_links_extra', 3); //Extra feeds such as category feeds65 remove_action( 'wp_head', 'feed_links', 2); // General feeds: Post and Comment Feed64 if ($feedChanger_opt['settings']['FeedChanger_main_feed_enable'] != 'yes') { 65 //Disable RSS Feeds functions 66 feedChanger_feed_switch_off(); 67 //Remove feed link from header 68 remove_action('wp_head', 'feed_links_extra', 3); //Extra feeds such as category feeds 69 remove_action('wp_head', 'feed_links', 2); // General feeds: Post and Comment Feed 66 70 67 71 } 68 72 69 73 70 function feedChanger_disable_feed() { 71 global $feedChanger_opt; 72 if(!isset($_GET['feedChanger']) || $_GET['feedChanger'] != $feedChanger_opt['settings']['FeedChanger_feed_string']){ 73 $err = (trim($feedChanger_opt['settings']['FeedChanger_die_error']) == '') ? __('No feed available' , 'FeedChanger'):$feedChanger_opt['settings']['FeedChanger_die_error']; 74 wp_die( $err ); 75 } 74 function feedChanger_disable_feed() 75 { 76 global $feedChanger_opt; 77 if (!isset($_GET['feedChanger']) || $_GET['feedChanger'] != $feedChanger_opt['settings']['FeedChanger_feed_string']) { 78 $err = (trim($feedChanger_opt['settings']['FeedChanger_die_error']) == '') ? __('No feed available', 'FeedChanger') : $feedChanger_opt['settings']['FeedChanger_die_error']; 79 wp_die(esc_html($err)); 80 } 76 81 77 82 } 78 83 79 84 80 function feedChanger_feed_switch_off(){ 81 //Disable RSS Feeds functions 82 add_action('do_feed', 'feedChanger_disable_feed', 1); 83 add_action('do_feed_rdf', 'feedChanger_disable_feed', 1); 84 add_action('do_feed_rss', 'feedChanger_disable_feed', 1); 85 add_action('do_feed_rss2', 'feedChanger_disable_feed', 1); 86 add_action('do_feed_atom', 'feedChanger_disable_feed', 1); 85 function feedChanger_feed_switch_off() 86 { 87 //Disable RSS Feeds functions 88 add_action('do_feed', 'feedChanger_disable_feed', 1); 89 add_action('do_feed_rdf', 'feedChanger_disable_feed', 1); 90 add_action('do_feed_rss', 'feedChanger_disable_feed', 1); 91 add_action('do_feed_rss2', 'feedChanger_disable_feed', 1); 92 add_action('do_feed_atom', 'feedChanger_disable_feed', 1); 93 add_action('do_feed_rss2_comments', 'feedChanger_disable_feed', 1); 94 add_action('do_feed_atom_comments', 'feedChanger_disable_feed', 1); 95 96 87 97 } 98 99 function feedChanger_wp_kses($html) 100 { 101 return wp_kses($html, ['img' => ['class' => [], 'src' => [], 'width' => [], 'style' => []], 'button' => ['id' => [], 'class' => [], 'name' => []], 'option' => ['value' => [], 'selected' => []], 'select' => ['name' => [], 'class' => [], 'option' => []], 'span' => ['id' => [], 'class' => [], 'data-current-id' => [], 'title' => []], 'strong' => ['class' => []], 'ul' => [], 'div' => ['id' => [], 'class' => []], 'p' => ['class' => []], 'label' => ['class' => []], 'br' => [], 'input' => ['checked' => [], 'type' => [], 'value' => [], 'name' => []], 'hr' => [], 'h3' => [], 'h4' => [], 'li' => ['data-tab-id' => [], 'class' => []], 'a' => ['target' => [], 'href' => []]]); 102 } 103 104 function feedChanger_make_random_secret($n = 15) 105 { 106 $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 107 $randomString = ''; 108 109 for ($i = 0; $i < $n; $i++) { 110 $index = rand(0, strlen($characters) - 1); 111 $randomString .= $characters[$index]; 112 } 113 114 return $randomString; 115 } 116 117 118 function feedChanger_opts() 119 { 120 $defaults = array('FeedChanger_main_feed_enable' => false, 'FeedChanger_changed_feed_enable' => 'yes', 'FeedChanger_feed_string' => '', 'FeedChanger_die_error' => __('No feed available', 'FeedChanger')); 121 122 $feedChanger = get_option('feedChanger', $defaults); 123 124 if (empty($feedChanger['FeedChanger_feed_string'])) { 125 $feedChanger['FeedChanger_feed_string'] = feedChanger_make_random_secret(); 126 update_option('feedChanger', $feedChanger); 127 } 128 129 return $feedChanger; 130 } -
feed-changer/trunk/readme.txt
r1255552 r2852066 1 === Feed Changer ===1 === Feed Changer & Remover === 2 2 Contributors: goback2,mohammadgh,saeedbeygi,mehrban,vahedimohammadreza2013 3 Tags: feed , rss , feed changer , rss changer , rss protector , feed protector , فیدو , تغییر دهنده فید,فید3 Tags: feed , rss , feed changer , rss changer , rss protector ,rss feed,remove feed,remove rss, feed protector , فیدو , تغییر دهنده فید,فید 4 4 Requires at least: 3.0 5 Tested up to: 4.36 Stable tag: trunk5 Tested up to: 6.1.1 6 Stable tag: 0.3 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 12 12 13 13 == Description == 14 Easily change main wordpress feed url and get new feed url , so you can protect your feed. 14 Do you want to disable your site's feed? 15 Don't want to disable the address of the feed, but only want to access it yourself? 16 17 This plugin is for you! 18 Disable your site's feed with just one tick. 19 Or put a password on your feed so that only you can use it. 20 15 21 16 22 = Features = -
feed-changer/trunk/simple-class-options.php
r1254545 r2852066 3 3 /** 4 4 * Master theme class 5 * 5 * 6 6 * @package Bolts 7 7 * @since 1.0 8 8 */ 9 class FeedChanger_Options { 10 11 private $sections; 12 private $checkboxes; 13 private $settings; 14 15 /** 16 * Construct 17 * 18 * @since 1.0 19 */ 20 public function __construct() { 21 add_action( 'admin_menu', array( &$this, 'add_pages' ) ); 22 23 } 24 25 /** 26 * Add options page 27 * 28 * @since 1.0 29 */ 30 public function add_pages() { 31 32 $admin_page = add_options_page( __( 'Feed Changer' , 'FeedChanger' ), __( 'Feed Changer' , 'FeedChanger' ), 'manage_options', 'FeedChanger-options', array( &$this, 'display_page' ) ); 33 34 } 35 36 37 /** 38 * Display options page 39 * 40 * @since 1.0 41 */ 42 public function display_page() { 43 44 echo '<div class="wrap">'; 45 echo '<div class="feed-changer">'; 46 if(isset($_POST['FeedChanger_button-primary'])){ 47 $FeedChangervars = array(); 48 foreach ($_POST as $key => $value) { 49 if(strpos($key, 'FeedChanger_') !== false){ 50 $FeedChangervars[$key] = $value; 51 } 52 } 53 if(update_option( 'feedChanger', $FeedChangervars )) 54 echo '<div class="updated"><p>'.__('Settings Updated!' , 'FeedChanger').'</p></div>'; 55 } 56 $feedChanger_opt['settings'] = get_option( 'feedChanger' , array('FeedChanger_main_feed_enable' => 'yes' , 'FeedChanger_die_error' => __('No feed available' , 'FeedChanger'))); 57 ?> 58 <form action="" method="post"> 59 <table class="form-table"> 60 <tr><td colspan="2"><strong><?php _e('Main Feed Settings' , 'FeedChanger'); ?></strong><hr></td></tr> 61 <tr> 62 <th scope="row"><label for="FeedChanger_main_feed_enable"><?php _e('Enable main feed?' , 'FeedChanger'); ?></label></th> 63 <td> 64 <input type="checkbox" id="FeedChanger_main_feed_enable" value="yes" <?php checked( 'yes' , $feedChanger_opt['settings']['FeedChanger_main_feed_enable'], true ); ?> name="FeedChanger_main_feed_enable" > 65 <p class="description"><?php _e('Enable/Disbale main wordpress feeds' , 'FeedChanger'); ?></p> 66 </td> 67 </tr> 9 class FeedChanger_Options 10 { 68 11 69 <tr><td colspan="2"><strong><?php _e('Custom Feed Settings' , 'FeedChanger'); ?></strong><hr></td></tr> 70 <tr> 71 <th scope="row"><label for="FeedChanger_changed_feed_enable"><?php _e('Enable custom feed?' , 'FeedChanger'); ?></label></th> 72 <td> 73 <input type="checkbox" id="FeedChanger_changed_feed_enable" value="yes" <?php checked( 'yes' , $feedChanger_opt['settings']['FeedChanger_changed_feed_enable'], true ); ?> name="FeedChanger_changed_feed_enable" > 74 <p class="description"><?php _e('enable new custom feed?' , 'FeedChanger'); ?></p> 75 </td> 76 </tr> 77 <tr> 78 <th scope="row"><label for="FeedChanger_die_error"><?php _e('Error messages when feed is disabled' , 'FeedChanger'); ?></label></th> 79 <td> 80 <input type="text" id="FeedChanger_die_error" value="<?php echo $feedChanger_opt['settings']['FeedChanger_die_error']; ?>" name="FeedChanger_die_error" > 81 <p class="description"><?php _e('enable new custom feed?' , 'FeedChanger'); ?></p> 82 </td> 83 </tr> 84 <tr> 85 <th scope="row"><label for="FeedChanger_feed_string"><?php _e('Secret Feed String' , 'FeedChanger'); ?></label></th> 86 <td> 87 <input type="text" id="FeedChanger_feed_string" name="FeedChanger_feed_string" value="<?php echo $feedChanger_opt['settings']['FeedChanger_feed_string']; ?>"> 88 <p class="description"> 89 <?php 90 _e('a secret text' , 'FeedChanger'); 91 if($feedChanger_opt['settings']['FeedChanger_feed_string'] != '' && $feedChanger_opt['settings']['FeedChanger_changed_feed_enable'] =='yes'){ 92 $site_url = rtrim(site_url() , '/'); 93 $site_url .= '/?feed=rss&feedChanger='.$feedChanger_opt['settings']['FeedChanger_feed_string']; 94 echo ' , '; 95 echo __('your custom feed url is' , 'FeedChanger').':<br>'; 96 echo '<span class="new-feed-url">'; 97 echo $site_url; 98 echo '</span>'; 99 } 100 ?> 12 private $sections; 13 private $checkboxes; 14 private $settings; 101 15 102 </p> 103 </td> 104 </tr> 16 /** 17 * Construct 18 * 19 * @since 1.0 20 */ 21 public function __construct() 22 { 23 add_action('admin_menu', array(&$this, 'add_pages')); 105 24 106 </table> 107 <input type="submit" class="button-primary" name="FeedChanger_button-primary" value="<?php _e('submit' , 'FeedChanger'); ?>"> 108 </form> 109 <?php 110 echo '</div>'; 111 echo '</div>'; 112 113 } 114 115 25 } 116 26 117 27 /** 28 * Add options page 29 * 30 * @since 1.0 31 */ 32 public function add_pages() 33 { 34 35 $admin_page = add_options_page(__('Feed Changer', 'FeedChanger'), __('Feed Changer', 'FeedChanger'), 'manage_options', 'FeedChanger-options', array(&$this, 'display_page')); 36 37 } 38 39 40 /** 41 * Display options page 42 * 43 * @since 1.0 44 */ 45 public function display_page() 46 { 47 48 echo '<div class="wrap">'; 49 echo '<div class="feed-changer">'; 50 if (isset($_POST['FeedChanger_button-primary'])) { 51 $FeedChangervars = array(); 52 foreach ($_POST as $key => $value) { 53 if (strpos($key, 'FeedChanger_') !== false) { 54 $FeedChangervars[$key] = sanitize_text_field($value); 55 } 56 } 57 if (update_option('feedChanger', $FeedChangervars)) 58 echo feedChanger_wp_kses('<div class="updated"><p>' . __('Settings Updated!', 'FeedChanger') . '</p></div>'); 59 } 60 $feedChanger_opt['settings'] = feedChanger_opts(); 61 ?> 62 <style> 63 .new-feed-url , .new-feed-url a { 64 color: green; 65 } 66 </style> 67 <form action="" method="post"> 68 <table class="form-table"> 69 <tr> 70 <td colspan="2"><strong><?php _e('Main Feed Settings', 'FeedChanger'); ?></strong> 71 <hr> 72 </td> 73 </tr> 74 <tr> 75 <th scope="row"><label 76 for="FeedChanger_main_feed_enable"><?php _e('Enable main feed?', 'FeedChanger'); ?></label> 77 </th> 78 <td> 79 <input type="checkbox" id="FeedChanger_main_feed_enable" 80 value="yes" <?php checked('yes', $feedChanger_opt['settings']['FeedChanger_main_feed_enable'], true); ?> 81 name="FeedChanger_main_feed_enable"> 82 <p class="description"><?php _e('Enable/Disbale main wordpress feeds', 'FeedChanger'); ?></p> 83 </td> 84 </tr> 85 86 <tr> 87 <td colspan="2"><strong><?php _e('Custom Feed Settings', 'FeedChanger'); ?></strong> 88 <hr> 89 </td> 90 </tr> 91 <tr> 92 <th scope="row"><label 93 for="FeedChanger_changed_feed_enable"><?php _e('Enable custom feed?', 'FeedChanger'); ?></label> 94 </th> 95 <td> 96 <input type="checkbox" id="FeedChanger_changed_feed_enable" 97 value="yes" <?php checked('yes', $feedChanger_opt['settings']['FeedChanger_changed_feed_enable'], true); ?> 98 name="FeedChanger_changed_feed_enable"> 99 <p class="description"><?php _e('enable new custom feed?', 'FeedChanger'); ?></p> 100 </td> 101 </tr> 102 <tr> 103 <th scope="row"><label 104 for="FeedChanger_die_error"><?php _e('Error messages when feed is disabled', 'FeedChanger'); ?></label> 105 </th> 106 <td> 107 <input type="text" id="FeedChanger_die_error" 108 value="<?php echo esc_attr($feedChanger_opt['settings']['FeedChanger_die_error']); ?>" 109 name="FeedChanger_die_error"> 110 <p class="description"><?php _e('enable new custom feed?', 'FeedChanger'); ?></p> 111 </td> 112 </tr> 113 <tr> 114 <th scope="row"><label 115 for="FeedChanger_feed_string"><?php _e('Secret Feed String', 'FeedChanger'); ?></label> 116 </th> 117 <td> 118 <input type="text" id="FeedChanger_feed_string" name="FeedChanger_feed_string" 119 value="<?php echo esc_attr($feedChanger_opt['settings']['FeedChanger_feed_string']); ?>"> 120 <p class="description"> 121 <?php 122 _e('a secret text', 'FeedChanger'); 123 if (isset($feedChanger_opt['settings']['FeedChanger_feed_string']) && !empty($feedChanger_opt['settings']['FeedChanger_feed_string']) && $feedChanger_opt['settings']['FeedChanger_changed_feed_enable'] == 'yes') { 124 $site_url = rtrim(site_url(), '/'); 125 $secretKey = $feedChanger_opt['settings']['FeedChanger_feed_string'] ?? ''; 126 127 echo ' , '; 128 echo __('your custom feed url is', 'FeedChanger') . ':<br>'; 129 echo '<span class="new-feed-url">'; 130 $mainFeed = $site_url . '/?feed=rss&feedChanger=' . $secretKey; 131 $CommentsFeed = $site_url . '/?feed=comments-rss&feedChanger=' . $secretKey; 132 133 echo feedChanger_wp_kses(":<br>"); 134 _e('RSS'); 135 echo feedChanger_wp_kses(":<br>"); 136 137 echo feedChanger_wp_kses("<a href='" . esc_url($mainFeed) . "' target='_blank'>" . esc_url($mainFeed) . "</a>"); 138 echo feedChanger_wp_kses("<br>"); 139 echo feedChanger_wp_kses("<a href='" . esc_url($CommentsFeed) . "' target='_blank'>" . esc_url($CommentsFeed) . "</a>"); 140 $mainFeed = $site_url . '/?feed=atom&feedChanger=' . $secretKey; 141 $CommentsFeed = $site_url . '/?feed=comments-atom&feedChanger=' . $secretKey; 142 143 echo feedChanger_wp_kses(":<br>"); 144 _e('Atom'); 145 echo feedChanger_wp_kses(":<br>"); 146 147 echo feedChanger_wp_kses("<a href='" . esc_url($mainFeed) . "' target='_blank'>" . esc_url($mainFeed) . "</a>"); 148 echo feedChanger_wp_kses("<br>"); 149 echo feedChanger_wp_kses("<a href='" . esc_url($CommentsFeed) . "' target='_blank'>" . esc_url($CommentsFeed) . "</a>"); 150 $mainFeed = $site_url . '/?feed=rdf&feedChanger=' . $secretKey; 151 $CommentsFeed = $site_url . '/?feed=comments-rdf&feedChanger=' . $secretKey; 152 153 echo feedChanger_wp_kses(":<br>"); 154 _e('RDF'); 155 echo feedChanger_wp_kses(":<br>"); 156 157 echo feedChanger_wp_kses("<a href='" . esc_url($mainFeed) . "' target='_blank'>" . esc_url($mainFeed) . "</a>"); 158 echo feedChanger_wp_kses("<br>"); 159 echo feedChanger_wp_kses("<a href='" . esc_url($CommentsFeed) . "' target='_blank'>" . esc_url($CommentsFeed) . "</a>"); 160 161 echo '</span>'; 162 } 163 ?> 164 165 </p> 166 </td> 167 </tr> 168 169 </table> 170 <input type="submit" class="button-primary" name="FeedChanger_button-primary" 171 value="<?php _e('submit', 'FeedChanger'); ?>"> 172 </form> 173 <?php 174 echo '</div>'; 175 echo '</div>'; 176 177 } 178 179 118 180 } 119 181
Note: See TracChangeset
for help on using the changeset viewer.