=== WP Content Copy Protection & No Right Click ===
Contributors: wp-buy	
Tags: content copy protection, content protection, prevent copy, image protection, no right click
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Requires at least: 4.8
Tested up to: 7.1
Stable tag: 4.1
Requires PHP: 7.4

This WP plugin protects posts from being copied (content copy protection). Keep your content safe from unauthorized distribution!

== Description ==
This wp plugin protect the posts content from being copied by any other web site author , you dont want your content to spread without your permission!!
The plugin will keep your posts and home page protected by multiple techniques (JavaScript + CSS), this techniques does not found in any other wordpress plugin and you will own it for free with this plugin
<li><a href="https://www.wp-buy.com/product/wp-content-copy-protection-pro/?src=wp1"><strong>PRO Version Features</strong></li>

Protect Your Valuable Content with WP Content Copy Protection & No Right Click

Are you tired of seeing your original content copied and spread across the web without your permission? The WP Content Copy Protection & No Right Click plugin is here to safeguard your posts and home page from unauthorized copying.

✨ *Key Features:*
🛡️ *Content Protection:*
Ensure your hard work remains yours. This plugin employs advanced content-protection techniques to keep your text and images safe from being copied by other web authors.

🔒 *Copy Protection:*
With robust copy protection mechanisms, this plugin prevents unauthorized duplication of your content. It effectively disables common methods used for content theft, ensuring your intellectual property remains secure.

©️ *Copyright Enforcement:*
Maintain control over your copyrighted material. The plugin acts as a virtual guardian, enforcing copyright rules and deterring potential infringers.

🖱️ *Disable Right Click:*
Stop users from right-clicking on your content. By disabling right-click functionality, this plugin adds an extra layer of security, preventing easy access to the context menu used for copying content.

🚫 *Deny Copy Paste:*
Block the ability to copy and paste your content. This plugin uses a combination of JavaScript and CSS techniques to make copying and pasting from your site nearly impossible.

👥 *Control Who Can Copy:*
Take charge of your content distribution. With this plugin, you have the power to control who can and cannot copy your content, giving you peace of mind that your work is protected.

💧 *Watermark Images (Pro Version):*
Upgrade to the Pro version to add watermarks to your images. This feature ensures that even if your images are copied, they will still carry your watermark, maintaining your brand visibility and deterring unauthorized use.

*Unique Benefits:*
Unparalleled Protection: Unlike other WordPress plugins, our unique combination of JavaScript and CSS techniques offers a level of protection not found elsewhere.
Free to Use: Enjoy all these powerful features without any cost. Protect your content with the free version of our plugin, and upgrade to the Pro version for additional benefits like image watermarking.
User-Friendly: Easy to install and configure, this plugin requires no technical expertise, making it accessible for all WordPress users.
Ensure your content remains yours with the WP Content Copy Protection & No Right Click plugin. Protect your work, enforce your copyright, and control who can copy your content—all for free.

**Easy to Install**:
Read the installation steps to find that this plugin does not need any coding or theme editing, just use your mouse..

**Basic Features:**
<ul>
<li>Protect your content from selection and copy. this plugin makes protecting 
your posts extremely simple without yelling at your readers</li>
<li>No one can save images from your site.</li>
<li>No right click or context menu.</li>
<li>Show alert message, Image Ad or HTML Ad on save images or right click.</li>
<li>Disable the following keys&nbsp; CTRL+A, CTRL+C, CTRL+X,CTRL+S or CTRL+V.</li>
<li>Advanced and easy to use control panel.</li>
<li>No one can right click images on your site if you want</li>
</ul>

**The Complete Edition gives you more than protection — it gives you confidence every time you publish:**
<ul>
<li>🚀 <a href="https://www.wp-buy.com/product/wp-content-copy-protection-pro/?src=wp2"><strong>Explore the Complete Edition</strong></a></li>
<li>🛡️ <strong>Your original work deserves to stay yours.</strong> Protect text, images, videos, links, and other valuable content from unwanted copying.</li>
<li>✨ <strong>Protect every image without compromising its beauty.</strong> Create professional logo and text watermarks that strengthen your brand while preserving the visual impact of your images.</li>
<li>🎨 Design watermarks your way with live previews, reusable presets, flexible positioning, transparency, rotation, colors, fonts, signatures, and repeated-text controls.</li>
<li>⚡ Choose from multiple watermark delivery methods, including reversible Static Watermarking and on-the-fly protection, with clear speed, SEO, and server-compatibility guidance.</li>
<li>🔒 Publish with peace of mind. Static Watermarking securely backs up your original images before replacing any files and lets you restore them whenever needed.</li>
<li>🌐 Protect images from hotlinking and unauthorized external use, whether they are displayed on your own website or requested from another domain.</li>
<li>🖱️ Take precise control of the right-click menu on images, links, text, headings, fields, videos, code blocks, canvas elements, audio players, and empty page areas.</li>
<li>💬 Turn blocked actions into a polished experience with customizable alert messages, ready-made color palettes, flexible sizing, borders, shadows, timing, and live previews.</li>
<li>⌨️ Discourage common copying methods by controlling text selection, drag and drop, printing, Print Screen, source-view shortcuts, and keys such as Ctrl+A, Ctrl+C, Ctrl+X, Ctrl+V, Ctrl+S, Ctrl+U, Ctrl+P, and F12 where the browser allows.</li>
<li>🖼️ Add responsive transparent overlays that remain aligned with protected images as their size and position change across different screen sizes.</li>
<li>🎯 Protect exactly what matters. Apply different protection settings to the homepage, posts, pages, archives, WooCommerce content, attachments, and other supported public content types.</li>
<li>🧩 Exclude selected pages, URLs, post types, categories, user roles, CSS classes, image sizes, filenames, domains, or user agents without weakening protection everywhere else.</li>
<li>🔍 Find visible images such as logos, banners, payment icons, and featured images with the built-in site image scanner, then exclude them from watermarking with a click.</li>
<li>💻 Keep useful content usable. Allow visitors to select code snippets or use a one-click copy button without enabling text selection across the entire page.</li>
<li>📱 Deliver a smooth, responsive protection experience across modern desktop and mobile browsers and a wide range of WordPress themes.</li>
<li>🧭 Manage everything from a clean, organized control panel with focused tabs, searchable selectors, status information, previews, diagnostics, and restore controls.</li>
<li>🔧 Test each watermark method against your actual server before activating it, with support for common Apache, Nginx, and LiteSpeed hosting environments.</li>
</ul>

== Screenshots ==
1. WP Content Copy Protection premium admin page
2. Get ful control over context menue
3. Watermarking options
4. Watermarking samples

== Installation ==
**Installation steps**
<ul>
<li>Download the package.</li>
<li>Extract the contents of WP-Content-Copy-Protection.zip to wp-content/plugins/ folder  You should get a folder called WP-Content-Copy-Protection</li>
<li>Activate the Plugin in WP-Admin.</li>
<li>Goto Settings > **WP-Content-Copy-Protection** to configure options.</li>
<li>You will find **4 options** to protect your content,images,homepage and css protection. dont forget to **save** the changes before exit</li>
</ul>

== Changelog ==
= 4.1 =
<ul>
<li>Major release: the whole admin settings panel has been redesigned from scratch with a modern interface and layout matching the wp-buy.com design system (clean cards, soft shadows, rounded corners and a new color palette).</li>
<li>Interface: The old tabs strip is replaced by pill style tab buttons. The SimpleTabs jQuery library was dropped for a lightweight script with keyboard navigation (arrow, Home and End keys), accessible tab roles, and it remembers the last opened tab.</li>
<li>Interface: The old table based layout is replaced by setting cards, every option now sits on one aligned row: title, option and help note.</li>
<li>Interface: Save Settings, Restore defaults and Preview alert message buttons moved into a new sticky action bar at the bottom of the form.</li>
<li>Interface: Compact visual scale for a settings page (smaller headings, tabs, inputs, rows and text areas), the panel is now about 24% shorter.</li>
<li>Interface: Self hosted Inter font, loaded on the plugin settings page only, no external requests and nothing added to the front end.</li>
<li>Interface: New plugin box logo and icons in WebP format, plus a full set of built in SVG icons across the panel.</li>
<li>Interface: New featured PRO banner at the top of the panel and a new footer help area with three cards: Get support, Help topics and Leave a review.</li>
<li>Interface: Glass shine effect on the PRO badges, primary buttons and screenshots on mouse hover and when their tab opens (disabled for users who prefer reduced motion).</li>
<li>RightClick Protection tab: each "Disable RightClick on" option (Posts, HomePage, Static pages) is now on its own line with a help note, plus a new locked PRO row for any post type, such as WooCommerce and marketplace products.</li>
<li>More with PRO tab: new Plans / Detailed info toggle. Plans view (default) compares the FREE, ESSENTIAL and COMPLETE plans with their real lifetime prices, the support and updates note and the website discount notice. Detailed info view lists the PRO features grouped into 7 protection modules with icons.</li>
<li>More with PRO tab: removed the "Basic features" box, since the plugin user already has these features.</li>
<li>New: The Restore defaults button now opens a confirmation popup before resetting the settings, so they cannot be wiped by a wrong click. The popup can be closed with Cancel, X, the Escape key or a click outside it, and it supports RTL languages.</li>
<li>Mobile: Full responsive layout for phones and tablets. The PRO banner collapses to its icon and title, the action bar is no longer sticky so it does not hide the screen, and the help cards stack with full width buttons.</li>
<li>Fixed: The PRO banner icon was stretching to fill the entire screen on small width devices.</li>
<li>Fixed: Setting labels and descriptions were rendered at the same font size because of a CSS rule conflict, and some option controls were misaligned by 30px.</li>
<li>Fixed: The newsletter bar email field was taller than intended, and some texts were showing a double escaped "&amp;amp;".</li>
<li>Links: "Get support" now opens the wp-buy contact page and "Browse plugins" is renamed to "Help topics", opening the copy protection help topics.</li>
<li>Language support: New translations added for German, Spanish, French, Italian, Japanese, Dutch, Portuguese (Brazil), Portuguese (Portugal), Russian and Chinese (Simplified), with Arabic fully updated. 11 languages, each with all 263 strings translated.</li>
<li>Language support: The front end alert messages ("You are not allowed to save images!", "Context Menu disabled!", "You are not allowed to copy content or view source") and the admin menu titles are now translatable.</li>
<li>Code cleanup and consistent formatting inside preventer-index.php, with no change to the protection behaviour. Your saved settings are kept exactly as before.</li>
</ul>
= 3.7.5 =
<ul>
<li>Fixed plugin activation hook: `add_action('admin_init', 'wccp_free_load_textdomain')` was incorrectly registered with `admin_init` instead of the correct `init` hook. This caused translations to load late, potentially after some text had already been output without translation.</li>
<li>Fixed: The "Upgrade to Pro" callout message was being displayed on every page load instead of only once every 15 days. This was due to an incorrect condition in the wccp_free_after_plugin_row function.</li>
<li>languages/wp-content-copy-protector.pot — regenerated from source. It was stale since 2020 and had drifted badly</li>
<li>languages/wp-content-copy-protector-ar.po — merged against the new template, keeping all existing translations, then filled the gaps. Went from 90 translated + 2 fuzzy + 12 missing → 97/97 translated, 0 fuzzy</li>
<li>also rewrote the two fuzzy entries; No right-click or context menu. had been mistranslated as "nobody will right-click on pages and images", now تعطيل النقر بزر الفأرة الأيمن وقائمة السياق.</li>
</ul>
= 3.7.4 =
<ul>
<li>Security: Escaped every output in the admin settings panel and the review notice using esc_html_e(), esc_attr_e(), esc_js() and wp_kses().</li>
<li>Security: All $_POST, $_GET and $_SERVER values are now unslashed with wp_unslash() and sanitized before being used or saved.</li>
<li>Prefixed all plugin global variables and functions with wccp_free_ to prevent conflicts with themes and other plugins.</li>
<li>Fixed the deprecated third parameter that was passed to add_option() when creating the settings option.</li>
<li>Removed dead code: $_POST values that were read and then discarded, and an empty condition block inside wccp_read_options().</li>
<li>No change to the protection behaviour, the saved settings are stored exactly as before.</li>
</ul>
= 3.7.3 =
<ul>
<li>Checking with wordpress version 7.1</li>
<li>Add survey on plugin deactivation</li>
<li>keep only one upgrade notice under the plugin name in plugin list table.</li>
<li>Fixed in preventer-index.php:112-133.</li>
<li>What was happening: wccp_free_iscontenteditable() did an unguarded target.parentElement.isContentEditable. Every element has a parent except <html> — and document.onmousedown fires with e.target === document.documentElement when the click lands on the html element rather than body content (the gutter/margin area outside <body>, or a page whose body doesn't fill the viewport). parentElement is null there, hence the intermittent throw. Because disable_copy throws before returning, the rest of its logic is skipped for that click</li>
<li>Fixed in preventer-index.php:33-67.</li>
<li>What was happening: wpccp_free_disable_copy() never returned early on copy-allowed elements, so if a user selected content inside an allowed <div> or <textarea>, the script would still throw a preventDefault() on the event and display the alert( )
message. Even though preventDefault() doesn't stop the browser's own copy mechanism, the console error can be jarring, and your code didn't allow for a per-element override when the global switch was enabled</li>
</ul>
= 3.7.2 =
<ul>
<li>Checking with wordpress version 7.0.3</li>
</ul>
= 3.7.1 =
<ul>
<li>Checking with wordpress version 7.0.1</li>
</ul>
= 3.7 =
<ul>
<li>Checking with wordpress version 7.0</li>
</ul>
= 3.6.9 =
<ul>
<li>Fix admin page tabs view error.</li>
</ul>
= 3.6.8 =
<ul>
<li>Security: Escaped JavaScript output using esc_js() to prevent potential XSS vulnerabilities.</li>
<li>Security: Added nonce verification for $_GET requests to improve protection against CSRF attacks.</li>
<li>Fix plugin upgrade messages logic into wpccp_after_plugin_row() function.</li>
<li>Load plugin textdomain function hass been removed because its deprecated.</li>
<li>Remove wp_enqueue_style('font-awesome.min.css') because including external css file is prevented.</li>
</ul>
= 3.6.7 =
<ul>
<li>Checking with wordpress version 6.9.4</li>
</ul>
= 3.6.6 =
<ul>
<li>Checking with wordpress version 6.9</li>
</ul>
= 3.6.5 =
<ul>
<li>Checking with wordpress version 6.8.2</li>
</ul>
= 3.6.4 =
<ul>
<li>Checking with wordpress version 6.8.1</li>
</ul>
= 3.6.3 =
<ul>
<li>Checking with wordpress version 6.7.2</li>
</ul>
= 3.6.2 =
<ul>
<li>Fix style error inside customizer.php theme options page</li>
<li>Checking with wordpress version 6.7.1</li>
</ul>
= 3.6.1 =
<ul>
<li>Fix security issue related to restore_defaults action inside admin panel</li>
<li>Checking with wordpress version 6.6.2</li>
</ul>
= 3.5.9 =
<ul>
<li>Checking with wordpress version 6.6.1</li>
</ul>
= 3.5.8 =
<ul>
<li>Checking with wordpress version 6.4.3</li>
</ul>
= 3.5.7 =
<ul>
<li>Checking with wordpress version 6.3</li>
</ul>
= 3.5.6 =
<ul>
<li>Fix some sanitization errors</li>
</ul>
= 3.5.5 =
<ul>
<li>Checking & some text changes</li>
</ul>
= 3.5.4 =
<ul>
<li>Checking with wordpress version 6.2.2</li>
</ul>
= 3.5.3 =
<ul>
<li>Checking with wordpress version 6.2</li>
</ul>
= 3.5.2 =
<ul>
<li>Checking with wordpress version 6.1</li>
</ul>
= 3.5.1 =
<ul>
<li>Fix ReferenceError: on is not defined, e.setAttribute(unselectable, on)</li>
<li>Checking with wordpress version 6.0.1</li>
</ul>
= 3.4.9 =
<ul>
<li>Return to the previous version (3.4.7)with some small fix and new version id (3.4.9) until do more fixes</li>
</ul>
= 3.4.8 =
<ul>
<li>error fix for the main page</li>
</ul>
= 3.4.7 =
<ul>
<li>Checking with wordpress version 6.0</li>
</ul>
= 3.4.6 =
<ul>
<li>Checking with wordpress version 5.9.3</li>
</ul>

= 3.4.5 =
<ul>
<li>security fix for the settings form</li>
</ul>

= 3.4.4 =
<ul>
<li>Checking with wordpress version 5.9</li>
</ul>

= 3.4.3 =
<ul>
<li>Checking with wordpress version 5.8.2</li>
</ul>

= 3.4.2 =
<ul>
<li>Checking some code errors</li>
</ul>

= 3.4.1 =
<ul>
<li>Checking with wordpress version 5.8.1</li>
</ul>

= 3.4.1 =
<ul>
<li>Checking with wordpress version 5.7.2</li>
</ul>

= 3.4 =
<ul>
<li>Important code fix</li>
</ul>

= 3.1.5 =
<ul>
<li>Checking with wordpress version 5.7</li>
<li>Important code fix</li>
</ul>

= 3.1.4 =
<ul>
<li>Checking with wordpress version 5.6</li>
</ul>

= 3.1.3 =
<ul>
<li>Fixed, PHP Notice:  fread(): read of 8192 bytes failed with errno=21 Is a directory in /wp-includes/functions.php on line 6030</li>
</ul>

= 3.1.2 =
<ul>
<li>Important fix for this error, PHP Warning: array_key_exists() expects parameter 2 to be array, preventer-index.php on line 691 </li>
<li>Top icon bar color converted to new very nice color - green</li>
<li>Testing with wordpress 5.5.3 new version</li>
</ul>

= 3.1 =
<ul>
<li>Now compatible with (elemenator page builder) plugin</li>
<li>Now compatible with (siteorigin live editor page builder) plugin</li>
<li>Now compatible with (WordPress Page Builder – Beaver Builder) plugin</li>
<li>Now compatible with (Wordpress internal preview mode)</li>
<li>New control panel (restore defaults) button added</li>
<li>New control panel (preview alert message) button added</li>
<li>New name for the top bar icon to fix its default choice in the previous version</li>
<li>Translation file updated</li>
<li>Some fixes</li>
</ul>

= 2.9 =
<ul>
<li>Important fix for content editable tags</li>
<li>Now compatible with wpDiscuz plugin & some chat wordpress plugins</li>
<li>Top bar icon  has been returned, as it was inside previous version 2.6</li>
<li>New option inside main settings to control the visibility of the top bar icon</li>
<li>Stop the auto loading for the alert (warning.png) icon</li>
<li>Some linguistic mistakes were corrected</li>
</ul>

= 2.8.1 =
<ul>
<li>Important fix for 2.7 update</li>
<li>Add links to dismiss the new start page links</li>
</ul>
= 2.7 =
<ul>
<li>Disable (CTRL + Shift + I) developer tools shortcut key</li>
<li>Remove recommended plugins section from admin page</li>
<li>Add one starting page for all of our plugins</li>
<li>Code fix</li>
</ul>
= 2.6 =
<ul>
<li>Test all features with wordpress version 5.5</li>
</ul>
= 2.5 =
<ul>
<li>Code fix</li>
</ul>
= 2.4 =
<ul>
<li>Safari update and fix</li>
<li>checking with new wordpress version</li>
<li>Admin page Fix</li>
</ul>
= 2.3 =
<ul>
<li>Copy paste password to log in fields and any other text field is now possible</li>
<li>Some script fixes</li>
<li>Admin page Fix (mailing list join message will show your email before submit)</li>
<li>Admin page Fix (Our other products list is ready to go)</li>
</ul>
= 2.2 =
<ul>
<li>Admin page Fix</li>
</ul>
= 2.1 =
<ul>
<li>Fix iphone & ipad posts protection</li>
<li>Premium feature unlocked!! the second option inside CSS protection tab</li>
<li>"Review us" admin dismissable notice added</li>
</ul>
= 1.9 =
<ul>
<li>Translation slug is now the same as the plugin slug</li>
<li>Arabic translation file included inside the plugin language folder and its also included on wordpress translation plugin page</li>
</ul>
= 1.8 =
<ul>
<li>Translation is now supported</li>
<li>wp-content-copy-protector.pot Template translation file included</li>
</ul>	
= 1.7.3 =
<ul>
<li>Checking with the last update</li>
<li>Unwanted ad removed</li>
</ul>	
= 1.7.2 =
<ul>
<li>Fix the error Undefined index: prnt_scr_msg in preventer-index.php on line 171</li>
</ul>	
= 1.7.1 =
<ul>
<li>Add dismiss button to the end of upgrade message</li>
</ul>	
= 1.7 =
<ul>
<li>New option to show Print preview message instead of showing page content when user try to print your page using CTRL+P key</li>
<li>Fixes inside admin page layout</li>
</ul>	
= 1.6.2 =
<ul>
<li>Fix Fatal error: Cannot redeclare plugin_add_settings_link()</li>
</ul>
= 1.6 =
<ul>
<li>JQuery important hotfix</li>
<li>Sanetization for all input and output</li>
</ul>
= 1.5.0.5 =
<ul>
<li>Internet Explorer important hotfix</li>
<li>Testing on wordpress 4.4.2 new version</li>
</ul>
= 1.5.0.4 =
<ul>
<li>Auto remove image url's</li>
<li>Fix javascript errors</li>
</ul>
= 1.5.0.3 =
<ul>
<li>Adding adminbar link and icon redirecting you to the plugin settings page</li>
<li>Adding settings link into the plugins list page</li>
</ul>
= 1.5.0.2 =
<ul>
<li>Adding isset() function to all variables</li>
<li>Improving alert message</li>
<li>Fixing CTRL + U issue</li>
<li>Fixing CSS tricks</li>
</ul>
= 1.5.0.1 =
<ul>
<li>Fixing error (Warning: join(): Invalid arguments passed in /home/retailmakeover/public_html/wp-includes/post-template.php on line 478)</li>
</ul>
= 1.4.0.1 =
<ul>
<li>Admin can disable copy protection for logged in/admin users</li>
<li>disable the possible shortcut keys for copying the Text</li>
<li>You can also choose where this Plugin should work like All Pages (including Home Page and all other Pages & Posts) or Home Page or Custom Pages/Posts using the Settings Page options.</li>
<li>Multiple Text and Image Protection methods</li>
<li>Advanced Image Protection using Responsive Lightbox</li>
<li>Protect your Text and Images by Disabling the Mouse Right Click and Possible Shortcut Keys for Cut (CTRL+x), Copy (CTRL+c), Paste (CTRL+v), Select All(CTRL+a), View Source (CTRL+u) etc.</li>
<li>control the protection to be on users only (if admin here dont protect)</li>
<li>Option to Display Alert Message on Mouse Right Click.</li>
<li>Enable Right Click on Hyperlink Option Added</li>
<li>Right click problem fixed on static pages</li>
<li>New flat interface</li>
</ul>
= 1.0 =
<ul>
<li>initial version</li>
<li>static pages bug fixed</li>
<li>home page problem fixed</li>
<li>Add new Style</li>
</ul>