From 0151e074ca20a96060393eec3b6dd8beba326ad3 Mon Sep 17 00:00:00 2001 From: samiahmedsiddiqui Date: Thu, 25 Jan 2018 16:44:11 +0500 Subject: [PATCH] Updated translation code and fixed PHP Notices --- README.md | 30 +- admin/class-remove-links-scripts-about.php | 147 + admin/class-remove-links-scripts-admin.php | 188 +- admin/class-remove-links-scripts-settings.php | 185 + admin/css/about-plugins.css | 213 + admin/css/about-plugins.min.css | 1 + admin/images/custom-permalinks.svg | 23 + admin/images/http-auth.svg | 84 + admin/images/json-structuring-markup.svg | 1043 +++ admin/images/make-paths-relative.svg | 62 + admin/images/media-post-permalink.png | Bin 0 -> 24611 bytes admin/images/media-post-permalink.svg | 6483 +++++++++++++++++ admin/images/permalinks-customizer.svg | 31 + admin/images/prevent-xss-vulnerability.png | Bin 0 -> 7538 bytes admin/images/prevent-xss-vulnerability.svg | 10 + admin/images/remove-links-and-scripts.svg | 329 + admin/images/schema-for-article.svg | 56 + LICENSE => license.txt | 8 +- readme.txt | 36 +- remove-links-scripts-main.php | 8 +- remove-links-scripts.php | 3 +- 21 files changed, 8784 insertions(+), 156 deletions(-) create mode 100644 admin/class-remove-links-scripts-about.php create mode 100644 admin/class-remove-links-scripts-settings.php create mode 100644 admin/css/about-plugins.css create mode 100644 admin/css/about-plugins.min.css create mode 100644 admin/images/custom-permalinks.svg create mode 100644 admin/images/http-auth.svg create mode 100644 admin/images/json-structuring-markup.svg create mode 100644 admin/images/make-paths-relative.svg create mode 100644 admin/images/media-post-permalink.png create mode 100644 admin/images/media-post-permalink.svg create mode 100644 admin/images/permalinks-customizer.svg create mode 100644 admin/images/prevent-xss-vulnerability.png create mode 100644 admin/images/prevent-xss-vulnerability.svg create mode 100644 admin/images/remove-links-and-scripts.svg create mode 100644 admin/images/schema-for-article.svg rename LICENSE => license.txt (99%) diff --git a/README.md b/README.md index 21f342a..61ffbf6 100644 --- a/README.md +++ b/README.md @@ -20,11 +20,33 @@ All the above headers can be removed from this plugin. You can select them from **Note**: Make sure to check the settings Page -## Installation +### Thanks for the Support -1. Upload the `remove-links-scripts` folder to the `/wp-content/plugins/` directory or Directly install the plugin through the WordPress plugins screen. -2. Activate the Remove Links and Scripts plugin through the `Plugins` menu in WordPress. -3. Configure the plugin by going to the menu `Remove Links and Scripts` that appears in your admin menu +The support from the users that love Remove Links and Scripts is huge. You can support Remove Links and Scripts future development and help to make it even better by donating or even giving a 5 star rating with a nice message to me :) + +[Donate to Remove Links and Scripts](https://www.paypal.me/yasglobal) + +## Installation + +This process defines you the steps to follow either you are installing through WordPress or Manually from FTP. + +**From within WordPress** + +1. Visit 'Plugins > Add New' +2. Search for Remove Links and Scripts +3. Activate Remove Links and Scripts from your Plugins page. +4. Go to "after activation" below. + +**Manually** + +1. Upload the `remove-links-and-scripts` folder to the `/wp-content/plugins/` directory +2. Activate Remove Links and Scripts through the 'Plugins' menu in WordPress +3. Go to "after activation" below. + +**After activation** + +1. Go to the plugin settings page and set up the plugin for your site. +2. You're done! ## Frequently Asked Questions diff --git a/admin/class-remove-links-scripts-about.php b/admin/class-remove-links-scripts-about.php new file mode 100644 index 0000000..711778f --- /dev/null +++ b/admin/class-remove-links-scripts-about.php @@ -0,0 +1,147 @@ +more_plugins(); + } + + /** + * More Plugins HTML + */ + private function more_plugins() { + $plugin_url = plugins_url( '/admin', REMOVE_LINKS_SCRIPTS_FILE ); + $img_src = $plugin_url . '/images'; + wp_enqueue_style( 'style', $plugin_url . '/css/about-plugins.min.css' ); + $plugin_name = __( 'Remove Links and Scripts', 'remove-links-scripts' ); + $button_text = __( 'Check it out', 'remove-links-scripts' ); + $five_star = ' + + + + + + + + + + + + + + + + '; + ?> + +
+
+

+
+

+

%s rating with a nice message to me :)', 'remove-links-scripts' ), 'https://wordpress.org/support/plugin/remove-links-and-scripts/reviews/?rate=5#new-post', $five_star ); ?>

+
+
+ +
+ +
+ +
+

+ +
+
+ +
+ +

+

individual posts, pages, tags or categories. It will NOT apply whole permalink structures, or automatically apply a category\'s custom permalink to the posts within that category.', 'schema-for-article' ); ?>

+ +
+ +
+
+ +
+ +

+

+ +
+ + + +
+
+ +
+ +

+

+ +
+ +
+
+ +
+ +

+

Post, Category, Archive, Image URLs and Script and Style src as per your requirement. You can choose which you want to be relative from the settings Page.', 'custom-permalinks' ); ?>

+ +
+ + + +
+
+ +
+ +

+

SCHEMA types like Article, News Article, Organization and Website Schema.', 'remove-links-scripts' ); ?>

+ +
+ +
+
+ +
+ +

+

attachment post with the permalink of /services/ and doesn\'t allow you to use that permalink to point your page. In this case, we comes up with this great solution.', 'remove-links-scripts' ); ?>

+ +
+
+
+ $_POST['shortlink'], - 'rsd_link' => $_POST['rsd_link'], - 'wlwmanifest_link' => $_POST['wlwmanifest_link'], - 'feed_links' => $_POST['feed_links'], - 'emoji_scripts' => $_POST['emoji_scripts'], - 'wp_embed' => $_POST['wp_embed'], - 'wp_json' => $_POST['wp_json'], - 'emoji_styles' => $_POST['emoji_styles'], - 'generator' => $_POST['generator'], - 'rel_link' => $_POST['rel_link'], + wp_die( + __( 'You do not have sufficient permissions to access this page.' ) ); - update_option( 'remove_links_scripts', serialize( $remove_settings ) ); } - $remove_settings = unserialize( get_option('remove_links_scripts') ); - $remove_settings_shortlink_checked = ''; - $remove_settings_rsd_link_checked = ''; - $remove_settings_wlwmanifest_link_checked = ''; - $remove_settings_feed_links_checked = ''; - $remove_settings_emoji_scripts_checked = ''; - $remove_settings_wp_embed_checked = ''; - $remove_settings_wp_json_checked = ''; - $remove_settings_emoji_styles_checked = ''; - $remove_settings_generator_checked = ''; - $remove_settings_rel_link_checked = ''; - - if ( isset( $remove_settings ) ) { - if ( esc_attr( $remove_settings['shortlink'] ) == 'on' ) { - $remove_settings_shortlink_checked = 'checked'; - } - - if ( esc_attr( $remove_settings['rsd_link'] ) == 'on' ) { - $remove_settings_rsd_link_checked = 'checked'; - } - - if ( esc_attr( $remove_settings['wlwmanifest_link'] ) == 'on' ) { - $remove_settings_wlwmanifest_link_checked = 'checked'; - } - - if ( esc_attr( $remove_settings['feed_links'] ) == 'on' ) { - $remove_settings_feed_links_checked = 'checked'; - } - if ( esc_attr( $remove_settings['emoji_scripts'] ) == 'on' ) { - $remove_settings_emoji_scripts_checked = 'checked'; - } - - if ( esc_attr( $remove_settings['wp_embed'] ) == 'on' ) { - $remove_settings_wp_embed_checked = 'checked'; - } - - if ( esc_attr( $remove_settings['wp_json'] ) == 'on' ) { - $remove_settings_wp_json_checked = 'checked'; - } - - if ( esc_attr( $remove_settings['emoji_styles'] ) == 'on' ) { - $remove_settings_emoji_styles_checked = 'checked'; - } - - if ( esc_attr( $remove_settings['generator'] ) == 'on' ) { - $remove_settings_generator_checked = 'checked'; - } - - if ( esc_attr( $remove_settings['rel_link'] ) == 'on' ) { - $remove_settings_rel_link_checked = 'checked'; - } - } - wp_enqueue_style( 'style', - plugins_url( '/admin/css/admin-style.min.css', REMOVE_LINKS_SCRIPTS_FILE ) + require_once( + REMOVE_LINKS_SCRIPTS_PATH . 'admin/class-remove-links-scripts-settings.php' ); - ?> -
-

-
- -
- Remove Links and Scripts please leave us a %s rating. A huge thanks in advance!', 'remove-links-scripts' ), '★★★★★' ); + $footer_text = sprintf( + __( 'Remove Links and Scripts version %s by YAS Global - Support forums - Follow on Twitter: YAS Global', 'custom-permalinks' ), + REMOVE_LINKS_SCRIPTS_PLUGIN_VERSION, 'https://www.yasglobal.com', + 'https://wordpress.org/support/plugin/remove-links-and-scripts', + 'https://twitter.com/samisiddiqui91' + ); return $footer_text; } /** - * Plugin Settings Page Link on the Plugin Page under the Plugin Name. + * Add About, Contact and Settings Page Link on the Plugin Page + * under the Plugin Name. */ public function settings_link( $links ) { - $settings_link = 'Settings'; + $about = sprintf( + __( 'About', 'remove-links-scripts' ), + 'admin.php?page=remove-links-scripts-about-plugins' + ); + $contact = sprintf( + __( 'Contact', 'remove-links-scripts' ), + 'https://www.yasglobal.com/#request-form' + ); + $settings_link = sprintf( + __( 'Settings', 'remove-links-scripts' ), + 'admin.php?page=remove-links-scripts-settings' + ); array_unshift( $links, $settings_link ); + array_unshift( $links, $contact ); + array_unshift( $links, $about ); return $links; } } diff --git a/admin/class-remove-links-scripts-settings.php b/admin/class-remove-links-scripts-settings.php new file mode 100644 index 0000000..0bb0307 --- /dev/null +++ b/admin/class-remove-links-scripts-settings.php @@ -0,0 +1,185 @@ +remove_scripts_settings(); + } + + /** + * Remove Links and Scripts Settings + */ + private function remove_scripts_settings() { + if ( isset( $_POST['submit'] ) ) { + if ( ! isset( $_POST['shortlink'] ) ) { + $_POST['shortlink'] = ''; + } + if ( ! isset( $_POST['rsd_link'] ) ) { + $_POST['rsd_link'] = ''; + } + if ( ! isset( $_POST['wlwmanifest_link'] ) ) { + $_POST['wlwmanifest_link'] = ''; + } + if ( ! isset( $_POST['feed_links'] ) ) { + $_POST['feed_links'] = ''; + } + if ( ! isset( $_POST['emoji_scripts'] ) ) { + $_POST['emoji_scripts'] = ''; + } + if ( ! isset( $_POST['wp_embed'] ) ) { + $_POST['wp_embed'] = ''; + } + if ( ! isset( $_POST['wp_json'] ) ) { + $_POST['wp_json'] = ''; + } + if ( ! isset( $_POST['emoji_styles'] ) ) { + $_POST['emoji_styles'] = ''; + } + if ( ! isset( $_POST['generator'] ) ) { + $_POST['generator'] = ''; + } + if ( ! isset( $_POST['rel_link'] ) ) { + $_POST['rel_link'] = ''; + } + + $remove_settings = array( + 'shortlink' => $_POST['shortlink'], + 'rsd_link' => $_POST['rsd_link'], + 'wlwmanifest_link' => $_POST['wlwmanifest_link'], + 'feed_links' => $_POST['feed_links'], + 'emoji_scripts' => $_POST['emoji_scripts'], + 'wp_embed' => $_POST['wp_embed'], + 'wp_json' => $_POST['wp_json'], + 'emoji_styles' => $_POST['emoji_styles'], + 'generator' => $_POST['generator'], + 'rel_link' => $_POST['rel_link'], + ); + update_option( 'remove_links_scripts', serialize( $remove_settings ) ); + } + $remove_settings = unserialize( get_option('remove_links_scripts') ); + $remove_settings_shortlink_checked = ''; + $remove_settings_rsd_link_checked = ''; + $remove_settings_wlwmanifest_link_checked = ''; + $remove_settings_feed_links_checked = ''; + $remove_settings_emoji_scripts_checked = ''; + $remove_settings_wp_embed_checked = ''; + $remove_settings_wp_json_checked = ''; + $remove_settings_emoji_styles_checked = ''; + $remove_settings_generator_checked = ''; + $remove_settings_rel_link_checked = ''; + + if ( isset( $remove_settings ) ) { + if ( esc_attr( $remove_settings['shortlink'] ) == 'on' ) { + $remove_settings_shortlink_checked = 'checked'; + } + + if ( esc_attr( $remove_settings['rsd_link'] ) == 'on' ) { + $remove_settings_rsd_link_checked = 'checked'; + } + + if ( esc_attr( $remove_settings['wlwmanifest_link'] ) == 'on' ) { + $remove_settings_wlwmanifest_link_checked = 'checked'; + } + + if ( esc_attr( $remove_settings['feed_links'] ) == 'on' ) { + $remove_settings_feed_links_checked = 'checked'; + } + + if ( esc_attr( $remove_settings['emoji_scripts'] ) == 'on' ) { + $remove_settings_emoji_scripts_checked = 'checked'; + } + + if ( esc_attr( $remove_settings['wp_embed'] ) == 'on' ) { + $remove_settings_wp_embed_checked = 'checked'; + } + + if ( esc_attr( $remove_settings['wp_json'] ) == 'on' ) { + $remove_settings_wp_json_checked = 'checked'; + } + + if ( esc_attr( $remove_settings['emoji_styles'] ) == 'on' ) { + $remove_settings_emoji_styles_checked = 'checked'; + } + + if ( esc_attr( $remove_settings['generator'] ) == 'on' ) { + $remove_settings_generator_checked = 'checked'; + } + + if ( esc_attr( $remove_settings['rel_link'] ) == 'on' ) { + $remove_settings_rel_link_checked = 'checked'; + } + } + wp_enqueue_style( 'style', + plugins_url( '/admin/css/admin-style.min.css', REMOVE_LINKS_SCRIPTS_FILE ) + ); + ?> +
+

+
+ +
+ span { + font-size: 1.3em; + margin-bottom: 1em; + display: block; + text-align: left; + margin: 0 auto 1em; +} +.product h2 { + display: block; + margin: 1em auto; + font-size: 2.2em; + text-align:left; +} +.product .box { + background-color: #fff; + width: 300px; + min-height: 200px; + text-align: center; + padding: 20px; + box-shadow: 2px 2px 3px #d1d1d1; + display: inline-block; + margin: 10px; + vertical-align: top; +} +.product .tagline{ + text-align: center; +} +.product .img { + background: #eee; + border-radius: 50%; + width: 150px; + height: 150px; + margin: 0 auto; +} +.product .img svg, +.product .img img { + max-width: 70%; + margin-top: 25px; +} +.product .h3 { + margin-bottom: 5px; +} + +.product p { + color: #888; + font-size: 14px; + line-height: 26px; + text-align: left; + transition: max-height 450ms 100ms ease; + margin: 1em 0 2em; +} +@media(min-width:746px) { + .product p { + min-height: 185px; + max-height: 135px; + overflow: hidden; + } + .product .box:hover p { + max-height: 300px + } +} +.box.recommended { + position: relative; + background: rgb(232, 235, 238); +} +.box.recommended * { + position: relative; + z-index:2; +} +.box.recommended:before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + transition: all 350ms ease; + z-index: 1; + background: aliceblue; + right: 0; + top: 0; + background: linear-gradient(35deg, rgb(232, 235, 238) 62%,rgba(181,198,208,1) 50%); + transform-origin: top right; +} +@keyframes blinking { +0%,100%{opacity:0.1} +25%,75%{opacity:1} +} +.box.recommended:after { + content: "RECOMMENDED"; + position: absolute; + top: 41px; + right: -11px; + color: #fff; + font-size: 18px; + font-weight: bold; + transform: rotateZ(35deg); + font-family: sans-serif; + z-index: 1; + animation: blinking 2s infinite linear; +} +.box.recommended:hover:before { + height: 175px; + width: 150px; +} +.box.recommended:hover:after { + animation: blinking 2s 1 linear; +} + +.box > a { + display: inline-block; + float: right; + background: rgb(181,198,208); + color: #fff; + background: linear-gradient(-35deg, rgba(216,225,231,0.8) 12%,rgb(181,198,208) 13%); + text-decoration: none; + font-size:20px; + padding: 8px 17px; + border-radius: 3px; + transition: all 250ms ease; +} +.box > a:hover { + font-size: 22px; +} +@media(max-width:991px) { + .wrap { + max-width: 725px; + } +} +@media(max-width:767px) { + .wrap { + max-width: 640px; + } + .product .box { + width: 258px; + min-height: 410px; + } +} +@media(max-width:650px){ + .wrap { + max-width: 460px; + } + .product .box { + width: 400px; + max-width: 90%; + min-height: inherit; + margin-left: 0; + margin-right: 0; + box-sizing: border-box; + } + .wrap .float { + width: 100%; + } + .wrap .float:nth-child(2) { + margin: 40px 0 70px 50px; + position: absolute; + right: 20px; + } + .wrap h1 { + margin: 70px 0 30px; + width: 300px; + line-height: 1.2em; + } +} +@media(max-width:450px) { + .wrap h1 { + margin: 0px 0 150px; + font-size: 2em; + width: 300px; + } + .wrap .float:nth-child(2) { + right: inherit; + margin: 80px auto 0; + text-align: center; + } +} \ No newline at end of file diff --git a/admin/css/about-plugins.min.css b/admin/css/about-plugins.min.css new file mode 100644 index 0000000..9733442 --- /dev/null +++ b/admin/css/about-plugins.min.css @@ -0,0 +1 @@ +.wrap{margin:2em auto 1em;max-width:1090px}.wrap .float{width:calc(100% - 188px);float:left;box-sizing:border-box}.wrap .float:nth-child(2){width:128px;margin:40px 0 70px 50px}.wrap h1{margin:40px auto 20px;font-size:2.5em}.tagline p{font-size:1.3em;margin:0 auto 1em}p a{text-decoration:none}#footer-left a{text-decoration:underline}a .star svg polygon{fill:#f9d539}a .star svg:hover polygon{fill:#ff7c00}.product{width:100%;display:inline-block;text-align:center}.product > span{font-size:1.3em;display:block;text-align:left;margin:0 auto 1em}.product h2{display:block;margin:1em auto;font-size:2.2em;text-align:left}.product .box{background-color:#fff;width:300px;min-height:200px;text-align:center;padding:20px;box-shadow:2px 2px 3px #d1d1d1;display:inline-block;margin:10px;vertical-align:top}.product .tagline{text-align:center}.product .img{background:#eee;border-radius:50%;width:150px;height:150px;margin:0 auto}.product .img svg,.product .img img{max-width:70%;margin-top:25px}.product .h3{margin-bottom:5px}.product p{color:#888;font-size:14px;line-height:26px;text-align:left;transition:max-height 450ms 100ms ease;margin:1em 0 2em}@media(min-width:746px){.product p{min-height:185px;max-height:135px;overflow:hidden}.product .box:hover p{max-height:300px}}.box.recommended{position:relative;background:#e8ebee}.box.recommended *{position:relative;z-index:2}.box.recommended:before{content:"";position:absolute;width:100%;height:100%;transition:all 350ms ease;z-index:1;background:#f0f8ff;right:0;top:0;background:linear-gradient(35deg,#e8ebee 62%,rgba(181,198,208,1) 50%);transform-origin:top right}@keyframes blinking{0%,100%{opacity:.1}25%,75%{opacity:1}}.box.recommended:after{content:"RECOMMENDED";position:absolute;top:41px;right:-11px;color:#fff;font-size:18px;font-weight:700;transform:rotateZ(35deg);font-family:sans-serif;z-index:1;animation:blinking 2s infinite linear}.box.recommended:hover:before{height:175px;width:150px}.box.recommended:hover:after{animation:blinking 2s 1 linear}.box > a{display:inline-block;float:right;background:#b5c6d0;color:#fff;background:linear-gradient(-35deg,rgba(216,225,231,0.8) 12%,#b5c6d0 13%);text-decoration:none;font-size:20px;padding:8px 17px;border-radius:3px;transition:all 250ms ease}.box > a:hover{font-size:22px}@media(max-width:991px){.wrap{max-width:725px}}@media(max-width:767px){.wrap{max-width:640px}.product .box{width:258px;min-height:410px}}@media(max-width:650px){.wrap{max-width:460px}.product .box{width:400px;max-width:90%;min-height:inherit;margin-left:0;margin-right:0;box-sizing:border-box}.wrap .float{width:100%}.wrap .float:nth-child(2){margin:40px 0 70px 50px;position:absolute;right:20px}.wrap h1{margin:70px 0 30px;width:300px;line-height:1.2em}}@media(max-width:450px){.wrap h1{margin:0 0 150px;font-size:2em;width:300px}.wrap .float:nth-child(2){right:inherit;margin:80px auto 0;text-align:center}} \ No newline at end of file diff --git a/admin/images/custom-permalinks.svg b/admin/images/custom-permalinks.svg new file mode 100644 index 0000000..43fc217 --- /dev/null +++ b/admin/images/custom-permalinks.svg @@ -0,0 +1,23 @@ + + Custom Permalinks + + + + + + + \ No newline at end of file diff --git a/admin/images/http-auth.svg b/admin/images/http-auth.svg new file mode 100644 index 0000000..a6a18ae --- /dev/null +++ b/admin/images/http-auth.svg @@ -0,0 +1,84 @@ + +Http Auth + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin/images/json-structuring-markup.svg b/admin/images/json-structuring-markup.svg new file mode 100644 index 0000000..90a87e2 --- /dev/null +++ b/admin/images/json-structuring-markup.svg @@ -0,0 +1,1043 @@ + + JSON Structuring Markup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/admin/images/make-paths-relative.svg b/admin/images/make-paths-relative.svg new file mode 100644 index 0000000..8032ca5 --- /dev/null +++ b/admin/images/make-paths-relative.svg @@ -0,0 +1,62 @@ + + Make Paths Relative + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/admin/images/media-post-permalink.png b/admin/images/media-post-permalink.png new file mode 100644 index 0000000000000000000000000000000000000000..82ff8d1c719e145427695df51703ffb2ff39a4fb GIT binary patch literal 24611 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 eUo-xn00RKBRNghw7+`e(0000 + Media Post Permalink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/admin/images/permalinks-customizer.svg b/admin/images/permalinks-customizer.svg new file mode 100644 index 0000000..a3a3a07 --- /dev/null +++ b/admin/images/permalinks-customizer.svg @@ -0,0 +1,31 @@ + +Permalink Customizer + + + + + + + + + + + + + diff --git a/admin/images/prevent-xss-vulnerability.png b/admin/images/prevent-xss-vulnerability.png new file mode 100644 index 0000000000000000000000000000000000000000..fdb309d822cb08fd1bd4c9aa43d78939b38da06d GIT binary patch literal 7538 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 + + + +Prevent XSS Vulnerability + + + diff --git a/admin/images/remove-links-and-scripts.svg b/admin/images/remove-links-and-scripts.svg new file mode 100644 index 0000000..f7ed63a --- /dev/null +++ b/admin/images/remove-links-and-scripts.svg @@ -0,0 +1,329 @@ + +Remove Links and Scripts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin/images/schema-for-article.svg b/admin/images/schema-for-article.svg new file mode 100644 index 0000000..811b018 --- /dev/null +++ b/admin/images/schema-for-article.svg @@ -0,0 +1,56 @@ + +SCHEMA for Article + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LICENSE b/license.txt similarity index 99% rename from LICENSE rename to license.txt index 9cecc1d..20d40b6 100644 --- a/LICENSE +++ b/license.txt @@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - {one line to give the program's name and a brief idea of what it does.} - Copyright (C) {year} {name of author} + + Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - {project} Copyright (C) {year} {fullname} + Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. @@ -671,4 +671,4 @@ into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read -. +. \ No newline at end of file diff --git a/readme.txt b/readme.txt index 59ab1f6..96322e4 100644 --- a/readme.txt +++ b/readme.txt @@ -30,11 +30,37 @@ All the above headers can be removed from this plugin. You can select them from = Make sure to check the settings Page = +=== Thanks for the Support === + +The support from the users that love Remove Links and Scripts is huge. You can support Remove Links and Scripts future development and help to make it even better by donating or even giving a 5 star rating with a nice message to me :) + +[Donate to Remove Links and Scripts](https://www.paypal.me/yasglobal) + +=== Bug reports === + +Bug reports for Remove Links and Scripts are [welcomed on GitHub](https://github.com/yasglobal/remove-links-and-scripts). Please note GitHub is not a support forum, and issues that aren't properly qualified as bugs will be closed. + == Installation == -1. Upload the `remove-links-and-scripts` folder to the `/wp-content/plugins/` directory or Directly install the plugin through the WordPress plugins screen. -2. Activate the Remove Links and Scripts plugin through the `Plugins` menu in WordPress. -3. Configure the plugin by going to the menu `Remove Links and Scripts` that appears in your admin menu +This process defines you the steps to follow either you are installing through WordPress or Manually from FTP. + +**From within WordPress** + +1. Visit 'Plugins > Add New' +2. Search for Remove Links and Scripts +3. Activate Remove Links and Scripts from your Plugins page. +4. Go to "after activation" below. + +**Manually** + +1. Upload the `remove-links-and-scripts` folder to the `/wp-content/plugins/` directory +2. Activate Remove Links and Scripts through the 'Plugins' menu in WordPress +3. Go to "after activation" below. + +**After activation** + +1. Go to the plugin settings page and set up the plugin for your site. +2. You're done! == Screenshots == @@ -50,6 +76,10 @@ A. Yes, You can select the items you want to remove. == Changelog == += 0.2.3 = + + * Updated translation code and fixed PHP Notices + = 0.2.2 = * Added uninstall hook diff --git a/remove-links-scripts-main.php b/remove-links-scripts-main.php index f08b6c6..a099845 100644 --- a/remove-links-scripts-main.php +++ b/remove-links-scripts-main.php @@ -15,7 +15,7 @@ exit(); } -define( 'REMOVE_LINKS_SCRIPTS_PLUGIN_VERSION', '0.2.2' ); +define( 'REMOVE_LINKS_SCRIPTS_PLUGIN_VERSION', '0.2.3' ); if ( ! defined( 'REMOVE_LINKS_SCRIPTS_PATH' ) ) { define( 'REMOVE_LINKS_SCRIPTS_PATH', @@ -55,9 +55,9 @@ function remove_links_scripts_plugin_uninstall() { /** * Add textdomain hook for translation. */ -function remove_links_scripts_load_plugin_textdomain() { +function remove_links_scripts_translation_capability() { load_plugin_textdomain( 'remove-links-scripts', FALSE, - REMOVE_LINKS_SCRIPTS_BASENAME . '/languages/' + basename( dirname( REMOVE_LINKS_SCRIPTS_FILE ) ) . '/languages/' ); } -add_action( 'plugins_loaded', 'remove_links_scripts_load_plugin_textdomain' ); +add_action( 'plugins_loaded', 'remove_links_scripts_translation_capability' ); diff --git a/remove-links-scripts.php b/remove-links-scripts.php index 2d2f2c0..d2b6e45 100644 --- a/remove-links-scripts.php +++ b/remove-links-scripts.php @@ -1,10 +1,9 @@