PluginProbe
CSS & JavaScript Toolbox / trunk
CSS & JavaScript Toolbox vtrunk
trunk 0.3 0.8 10 10.1 11 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 11.9.1 12 12.0 12.0.1 12.0.3 12.0.4 12.0.5 12.0.6 12.0.7 6.0 6.0.11 All 60 releases
← All changes | readme.txt +470 -116 0.8trunk View file →
@@ -1,156 +1,510 @@
1 1 === CSS & JavaScript Toolbox ===
2 -Contributors: wipeoutmedia
3 -Author URL: http://wipeoutmedia.com/wordpress-plugins/css-javascript-toolbox/
4 -Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VMXTA3838F6A8
5 -Tags: html, css, javascript, code, custom, page, pages, post, posts, category, categories, url
6 -Requires at least: 3.2
7 -Tested up to: 3.3.1
8 -Stable tag: 0.8
2 +Contributors: wipeoutmedia, lazycodelab
3 +Author URL: https://css-javascript-toolbox.com
4 +Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=EWDWF75JHT9Q6
5 +Tags: snippets, javascript, php, scripts, code
6 +License: GPLv2 or later
7 +License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
8 +Requires at least: 5.0 or higher
9 +Requires PHP: 7.4.0
10 +Tested up to: 7.0.4
11 +Stable tag: 12.0.7
9 12
10 -Easily add custom CSS and JavaScript code to individual Pages, Posts, Categories, and URLs.
13 +Add CSS, JavaScript, PHP and HTML code snippets to your site.
11 14
12 15 == Description ==
16 +Safely add CSS, JavaScript, PHP or HTML to unique code blocks, then choose where it goes on your site.
13 17
14 -Add custom reusable CSS & JavaScript to pages, posts, categories & URLs.
15 -Full code template management system.
16 -Insert, create, save, edit and delete code templates.
17 -Add titles to code template and blocks.
18 -Reuse code via code templates drop-down list.
19 -Add code to header or footer.
20 -Add extra code blocks as needed.
21 -Default CSS/JS declarations.
22 -Simple and easy UI.
23 -Page/post nav icons for page preview.
24 -Multilingual support.
25 -Reorder, minimise & maximise blocks.
26 -Ability to embedded WordPress/CJToolbox Javascript files by just checking them.
27 -jQuery Cycle and jQuery Easing included.
28 -Ability to Backup and Restore blocks data.
18 +### IDEAL FOR: ###
19 +* **Making CSS front-end changes** - No need to modify theme files or work with tedious built-in theme options. Just create a CSS code block.
20 +* **Adding site functionality** - Stop adding plugins for simple tasks as they can slow down your site. Create a JavaScript or PHP code block instead.
21 +* **Adding widgets, code snippets and third-party scripts** - Code blocks are perfect for adding scripts such as Google Analytics and chat widgets to your website.
29 22
30 -[Click for full instructions with screenshots, usage hints & tips, code examples, and user feedback](http://wipeoutmedia.com/wordpress-plugins/css-javascript-toolbox)
23 +CJT is built on the concept of a code block. Each code block is more than just a code editor. It also contains a location editor so you can click the sections of your website you want your code to run.
31 24
32 -= After Install & Activation =
33 -After you have installed and activated the CSS & JavaScript Toolbox plugin, you will notice a new menu item appear under Settings in your Dashboard. Click the 'CSS & JavaScript Toolbox' link in the main navigation (left side of your Dashboard).
25 +It was designed for super-fast development without any cumbersome page refreshing. Create as many code blocks as you need and see all of your code and locations in the one dashboard. Don't worry, CJT has been optimised to handle 100's of code blocks and thousands of locations (i.e. Pages, Posts, Categories, Custom Posts, etc).
34 26
35 -= Default code example =
36 -First time installers will see a large editor window with a JavaScript example, that simply adds an alert box to a page of your choice. You can try it out by clicking on a page or post checkbox. Clicking the navigation icon (rectangle with arrow in corner) will open the page in a new window. When you are done exploring, simply delete the entire text content from the editor.
27 +[Click for CSS & JavaScript Toolbox PLUS](https://css-javascript-toolbox.com/?utm_source=cjt_free_on_wordpress&utm_medium=readme_txt_description&utm_campaign=click_for_premium_link)
37 28
38 -= Create a CSS & JavaScript Block title =
39 -Block names are useful to keep your code blocks managed and organised. Please type a relevant name that describes what your block does, then click Save.
29 +### FEATURES: ###
30 +* Easy to use 'code blocks' interface
31 +* Powerful code editor
32 +* Intuitive assignment panel (click where your code goes)
33 +* Code/script library management
34 +* Add code to the header or footer hook
35 +* **PREMIUM** Add code to entire website, all posts, etc
36 +* **PREMIUM** Add code via shortcodes, widgets, Gutenburg blocks, etc
37 +* **PREMIUM** Add code via tags, URLs, regular expressions
38 +* **PREMIUM** 8 additional hooks for more precise assignments
39 +* **PREMIUM** Invert feature (run code everywhere but ...)
40 +* **PREMIUM** Editor tools (code auto complete, beautify/minify, etc)
41 +* **PREMIUM** Code revisions system
42 +* **PREMIUM** Backup and export/import system
40 43
41 -= Write the code, then choose what the code affects =
42 -The large editor window is where you write your CSS or JavaScript code. To allow your code to run on your website, you need to specify the pages, posts, categories, or page URLs you want the code to work with. You can select multiple checkboxes and even make selections from the other tabs, just make sure you click the Save All Changes button when you are done.
44 +[Click for CSS & JavaScript Toolbox PLUS](https://css-javascript-toolbox.com/?utm_source=cjt_free_on_wordpress&utm_medium=readme_txt_description&utm_campaign=click_for_premium_link)
43 45
44 -= Insert, create, save, edit, delete your code templates =
45 -We have created a management system so you can perform these functions with your code templates.
46 -- down arrow icon: insert code from the drop-down list into the editor window (at cursor)
47 -- plus sign icon: popup appears so you can add a new code template, which will be added to the drop-down list
48 -- pen icon: popup appears allowing you edit any existing code templates
49 -- cross icon: confirmation popup appears before deleting the code template
46 +### OVERVIEW VIDEO ###
47 +https://www.youtube.com/watch?v=vYAKePVgJqE
50 48
51 -= Adding more CSS & JavaScript Blocks =
52 -Look for a button labelled Add New CSS/JS Block. Click this and a popup will appear asking you to name the code block. Once the Save button is clicked, an entirely new CSS & JavaScript code block with the new name is now added. Note: CSS & JavaScript Blocks with EMPTY code will not be saved!
49 +== Installation ==
50 +1. If you're upgrading from older versions its highly recommended to backup your database before upgrading.
51 +2. Upload the 'css-javascript-toolbox' folder to the '/wp-content/plugins/' directory
52 +3. Activate the plugin through the 'Plugins' menu in WordPress
53 +4. Click 'CSS & JavaScript Toolbox' link in the main navigation (left side of your Dashboard).
53 54
54 -= Shuffle, drag, open and close CSS & JavaScript Blocks =
55 -If you hover your mouse cursor over the title bar of the code block, the cursor should change into a four-sided arrow. This allows you to shuffle and drag the blocks around. If you click on the title bar, the code block will open and close, which may come in handy if you have many code blocks.
55 +== Screenshots ==
56 +1. Code Block Editor
57 +2. Code Block Assignment Panel
58 +3. CJT Main Admin Toolbar
59 +4. Code Block Toolbar
60 +5. Code Block Editor Tools
61 +6. Assignment Panel for Pages
62 +7. Assignment Panel for Posts
63 +8. Assignment Panel for Categories
64 +9. Assignment Panel for Custom Posts
65 +10. Assignment Panel for Auxiliary Assignments
66 +11. Assignment Panel for Tags
67 +12. Assignment Panel for Advanced Assignments
68 +13. Assignment Panel Inverter
69 +14. Code Block Information
56 70
57 -= Header and Footer switch =
58 -This switch can be used to automatically add your code block to a header location or a footer location.
71 +== Frequently Asked Questions ==
72 += Why was the CJT plugin developed and what is it used for? =
73 +The CJT plugin was created to help website authors write or add their own code. The plugin allows you to contribute to your Wordpress installation code via a simple web interface, where you can modify and extend the functionality and appearance of your website by writing code directly into CJT code blocks. Some typical examples can include changing the look of a specific page by adding some CSS code; adding functionality to a page with PHP; or making a page more interactive by adding some JavaScript.
59 74
60 -= Saving your work =
61 -Although this plugin uses Ajax for the function calls (in other words does not refresh the webpage), please remember to save your code on a regular basis by clicking the Save All Changes button.
75 += What is a CJT 'code block'? =
76 +The CJT code block is the most fundamental unit for writing code and to associate it with specific Wordpress requests via the assignment panel.
62 77
63 -= Thank You =
64 -We would like to take this opportunity to thank you for installing our plugin. :)
65 -We hope you enjoy using our new WordPress plugin with your development work. We do plan on developing it further with some really cool updates in the near future. If you enjoy this plugin and not only find it useful, but appreciate the huge amount of work that has gone into creating it, you can certainly support us in a number of ways, including:
66 -- a small donation via [our PayPal account](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VMXTA3838F6A8)
67 -- provide a rating on Wordpress.org
68 -- visit our [Wipeout Media](http://wipeoutmedia.com/wordpress-plugins/css-javascript-toolbox/) website and provide some user feedback or feature requests
69 -- Like our [Facebook page](http://www.facebook.com/pages/Wipeout-Media/209420279099268) - we really need Likes :)
70 -- Follow us on [Twitter](http://twitter.com/wipeoutmedia) - we really need followers too :D
78 += What is the assignment panel? =
79 +The assignment panel is a tabs window, which appears on the right side of the code block editor and is used to assign/apply the code block into specific requests. These assignments include: Pages, Posts, Custom Posts, Tags, and Categories. Auxiliary sections such as Entire Website, Website Backend, All Pages, All Posts, Recent Posts, Blog Index, All Categories, Search Pages, All Archives, Tag Archives, Author Archives, Attachment Pages, 404 Error Pages. Advanced sections such as URLs, or Regular Expressions (Regex).
71 80
72 -Thank you very much for your support and we hope you enjoy using it as much as we enjoyed creating it.
81 += I have noticed a bunch of question marks appear during mouse hover - what are they? =
82 +These are premium features, which are only available for our CJT PLUS plugin. [Click here to purchase a license for any of our premium CJT PLUS products](https://css-javascript-toolbox.com/pricing).
73 83
74 -Regards,
75 -Wipeout Media Team
84 += Can you select more than one item from the assignment panel? =
85 +Yes. You can select any number of items you need, there is no limitation regarding this.
76 86
77 -== Installation ==
87 += Can you assign multiple blocks to the same items from the assignment panel? =
88 +Yes. It's one of the most useful features that CJT supports as it allows you to manage/split your codes into several code blocks, allowing you to override code in a former (or lower-ordered) code block.
78 89
79 -1. Upload the 'css-js-toolbox' folder to the '/wp-content/plugins/' directory
80 -2. Activate the plugin through the 'Plugins' menu in WordPress
81 -3. Click 'CSS & JavaScript Toolbox' link in the main navigation (left side of your Dashboard).
90 += What is Pages, Posts, Categories and Custom Posts tabs? =
91 +These lists with checkboxes represent all of your WordPress Pages, Posts, Categories and Custom Posts that your entire website contains. It also supports sub-pages and sub-categories, which you will find in there.
82 92
83 -== Frequently Asked Questions ==
93 += What is the Auxiliary tab? =
94 +As there are a number of requests that are not available as normal Wordpress items (e.g. Pages, Posts, etc) but since it's commonly required and most likely to be used, you will find them pre-defined in the Auxiliary tab. In the Auxiliary tab you can find things like: Entire Website, Blog Index, Author, 404 error, Front-end, Admin backend and much more!
84 95
96 += Is it better to use the URLs tab, or select items if found through other tabs? =
97 +Pages, Posts, Custom Posts and Categories tabs are created to simplify the assignment process for all types of users. Using URLs is great for fast performance as it requires less time to evaluate/identify the request! However, not all things can be done through the URLs tab. For example, applying a single block to a Category index page and all its sub-categories.
98 +
99 += What is the Advanced Expressions tab? =
100 +The Advanced Expression tab allows you to fully control what requests to integrate into the code block by using Regular Expressions. In other words, allowing CJT users to define more requests to assign the code block to.
101 +
85 102 = Can I move the blocks around? =
86 103 Yes by hovering your mouse cursor over the code block title bar until it turns into a four-sided arrow, this allow you to move the blocks. Clicking the block title bar allows you to open and close the blocks.
87 104
88 -= I'm using the URL List and my code is not working? =
89 -Make sure you have copied and pasted the page, post, or category URL exactly as it appears in the address bar. For example, you may have inadvertently included an extra forward slash at the end of your URL.
105 += Is a code block saved after I click 'Create' in 'Create New Code Block' form? =
106 +Yes. The block is created and saved in your database. In order to discard the block, you have to delete it, then click the 'Save All Changes' button.
90 107
91 -= Where did my CSS & JavaScript Block I created go? =
92 -If you have added a new CSS/JS block, created a title and clicked the Save All Changes button, and you refreshed the page when your block did not contain any code, then when the page reloads, your new 'empty' block will disappear. You must have code inside the block for it to permanently save.
108 += After shuffling the order of the code blocks using drag-and-drop, is the new code block order immediately saved? =
109 +No. In order to save the code blocks order, you need to click the 'Save All Changes' button.
93 110
94 -= Why use the Footer switch in Location/Hook? =
95 -Hook location feature gives you control over the location of outputting the CSS/JS code. This is useful in case overriding another Plugin CSS is required. Also sometimes its better to put your JS code in the footer to avoid slowing down your page load.
111 += Is a code block permanently deleted from the blocks list page after a code block delete icon is clicked? =
112 +No. After you delete a code block, you then need to click the 'Save All Changes' button.
96 113
114 += I'm using the URLs tab and my code is not working? =
115 +Make sure you have copied and pasted the Page, Post, or Category URL exactly as it appears in the browser address bar. For example, you may have inadvertently included an extra forward slash at the end of your URL.
116 +
117 += Why use the Hook switch in the code block bar? =
118 +The hook location feature gives you further control over the outputting of your CSS and JavaScript code. This is useful in case overriding another plugins' CSS code is required. Also, it's sometimes better to put your JavaScript code in the footer to avoid slowing down your page load.
119 +
97 120 = I received a weird error, what do I do now? =
98 -Sometimes a bug decides to rear its ugly head and when this happens, this is when we need your help. If you receive an error, if it be a PHP error, or some functionality that isn't working for whatever reason, please visit our: [Wipeout Media website and let us know](http://wipeoutmedia.com/wordpress-plugins/css-javascript-toolbox/)
121 +Due to the overwhelming amount of emails we get for users requesting support for our CJT plugins, we cannot provide support for the CJT Free plugin (hosted here on WordPress.org) at this stage unfortunately. If you wish to receive priority support, please visit our CJT website and then [purchase a license for any of our premium CJT PLUS products](https://css-javascript-toolbox.com/pricing).
99 122
100 -== Screenshots ==
123 +== Changelog ==
124 += 12.0.7 =
125 +* Security: Fixed a stored XSS in the [cjtoolbox] shortcode (CVE-2025-14814) - the user-supplied `tag` attribute is now validated against a strict allow-list of inert HTML elements, so it can no longer be set to `script` (or any other executable/dangerous element) to wrap shortcode content in an executable tag
126 +* Security: Fixed authenticated stored XSS in the code-block admin screens (CVE-2025-13533) - the block name, assigned URLs and assignment expressions are now HTML-escaped everywhere they are rendered in the admin (esc_attr/esc_html/esc_textarea), and the block name is additionally sanitized server-side on save/create so quotes and angle brackets can no longer be persisted by bypassing the client-side validation
127 +* Security: Hardened the AJAX access point - the module prefix and action name from the request are now strictly validated, and an unrecognised module can no longer register a loader or redirect the controller lookup path
128 +* Security: Removed the last use of the `create_function()` API, which was removed in PHP 8.0
129 +* Fixed: The dashboard "Latest News" headline now links to the news item itself instead of a hardcoded destination
130 +* Fixed: The update hook no longer reads missing array keys or queries the database during unrelated plugin updates
131 +* Fixed: The unsupported-PHP admin notice now reports the real minimum version (7.4) instead of 7.3
132 +* Changed: The dashboard header banner now promotes CSS & JavaScript Toolbox PLUS, and is hidden for users who already have PLUS installed
133 +* Enhancement: Removed unused images, dead stylesheet rules, stray OS metadata files and a duplicate PHP version check from the plugin package
101 134
102 -1. Main CSS & JavaScript Toolbox window showing the JS/CSS Block.
103 -2. Three tab sections showing Pages (& Posts), Categories, and URL List respectively.
104 -3. Popup window allowing you to edit the block name.
105 -4. Confirmation message after the Save Changes button is pressed.
106 -5. Popup window for writing and saving custom template CSS, JavaScript and jQuery code.
107 -6. Custom template code is now added and saved to the drop-down list for future use.
108 -7. With a press of a button, code is added to the block editor, and a page is assigned to use that code.
109 -8. CSS code is now styling the assigned page. Can be used for Posts, Categories and URLs too.
110 -9. Blocks can be ordered by click and dragging the block title bar. Single click minimises the block.
111 -10. Embedded WordPress or scripts that shipped out with CJToolbox Plugin by just checking them.
112 -11. Backup and Restore functions allow for backing up and restoring entire code blocks
135 += 12.0.6 =
136 +* Security: Fixed sanitization vulnerability in Template Manager
137 +* Security: Fixed sanitization vulnerability in Blocks Coupling controller
138 +* Enhancement: Improved plugin security and stability
113 139
114 -== Changelog ==
140 += 12.0.5 =
141 +* Fixed: Improved plugin security and stability
115 142
116 -= 0.8 =
117 -* Modifying template code.
118 -* Header and Footer hooks support: Select in which hook to output CSS/JS code.
119 -* Blocks can be reordered.
120 -* Blocks can be named.
121 -* New icons and improved UI.
122 -* Multilingual support: Only English translation is shipped with this version.
123 -* Style overriding: Blocks order allow later blocks styles to override former blocks.
124 -* Embedded Scripts: Embedded WordPress or Scripts that shipped out with CJToolbox Plugin by just checking them.
125 -* Backup and Restore blocks data.
126 -* Bug Fix: New blocks not toggling unless the page is refreshed.
127 -* Bug Fix: CSS/JS template extra slashes problem.
128 -* Bug Fix: Block deletion issues.
129 -* Bug Fix: Code is not applied to the URL list except the last URL.
130 -* Bug Fix: Cannot use string offset as array error.
131 -* Bug Fix: Invalid argument supplied foreach() error.
143 += 12.0.4 =
144 +* Fixed: Improved plugin security and stability
132 145
133 -= 0.3 =
134 -* This is the first and latest release.
146 += 12.0.3 =
147 +* Security: Fixed path traversal vulnerability in controller routing
148 +* Security: Added input validation to prevent arbitrary file inclusion
149 +* Enhancement: Improved plugin security and stability
135 150
136 -== Upgrade Notice ==
151 += 12.0.2 =
152 +* Fix: Text domain header issue
153 +* Fix: Old PHP notices and warnings
154 +* Enhancement: Improved plugin stability
137 155
138 -New features has been added and a few bugs fixed.
156 += 12.0.1 =
157 +* Fix: Headers already sent issue
158 +* Fix: Old PHP notices and warnings
159 +* Enhancement: Improved plugin stability
139 160
140 -== Credits ==
141 -
142 -Copyright (c) 2012, Wipeout Media.
161 += 12.0 =
162 +* Compatibility: with latest WordPress version
163 +* Enhancement: Improved plugin stability
164 +* Update: ACE editor to version 1.35.3
165 +* Fix: Resolved main controller dirname null string issue
166 +* Fix: Compatibility issues with PHP > 8.0
167 +* Fix: Notice warning errors in WordPress dashboard area
168 +* Fix: Various bugs fixed
143 169
144 -This program is free software; you can redistribute it and/or
145 -modify it under the terms of the GNU General Public License
146 -as published by the Free Software Foundation; either version 2
147 -of the License, or (at your option) any later version.
170 += 11.9.1 =
171 +* Fix: Various bugs fixed
172 +* Enhancement: Improved plugin stability
148 173
149 -This program is distributed in the hope that it will be useful,
150 -but WITHOUT ANY WARRANTY; without even the implied warranty of
151 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
152 -GNU General Public License for more details.
174 += 11.9 =
175 +* Fix: XSS vulnerability in shortcodes and code blocks
176 +* Fix: Bugs fixed
153 177
154 -You should have received a copy of the GNU General Public License
155 -along with this program; if not, write to the Free Software
156 -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
178 += 11.8 =
179 +* Fix: XSS vulnerability
180 +* Fix: Bugs fixed
181 +
182 += 11.7 =
183 +* Fix: PHP version 8 fatal issue
184 +* Fix: Updated old composer logic, updated file require path, and some other minor formatting
185 +* Fix: PHP version 8+ issue where Block ID Info panel and Assignment Info panel does not show
186 +
187 += 11.6 =
188 +* Enhancement: Updated ACE Editor to v1.15.0
189 +* Fix: Bugs fixed
190 +
191 += 11.5 =
192 +* Compatibility: PHP version 8+
193 +* Compatibility: MySQL version 8+
194 +* Fix: Duplicate ID issue, which on rare occasions was fetching the 'revision block' ID for a newly created block causing an error for duplicate entry
195 +* Enhancement: If the 'wp-content' directory is renamed to something different (e.g. 'content'), CJT will now find any custom content directories and install correctly
196 +
197 += 11.4 =
198 +* Removed: Auxiliary and Advanced tabs are removed for CJT new installs. Existing CJT users with active code blocks still get them
199 +* Enhancement: All mouse hover-over popups are faster and more responsive
200 +
201 += 11.3 =
202 +* Fix: URL Assignment tab is now working as expected
203 +* Fix: Inverter functionality was not being displayed in the frontend
204 +
205 += 11.2 =
206 +* Added: New links for CJT PLUS license validation
207 +
208 += 11.0 =
209 +* Added: 8 More Hooks (Body Open, Before Post Content, After Post Content, Before Post, Excerpt, After Post Excerpt, Before Posts List, After Posts List, Before Post
210 +* Enhancement: Assignments Panel
211 +* Enhancement: Templates Panel
212 +* Enhancement: Code Files Panel
213 +* Enhancement: Revisions Panel
214 +* Enhancement: Code Block Toolbar
215 +* Enhancement: Code Block InfoBar (added Shortcode copy feature)
216 +* Enhancement: Group Font Size Buttons
217 +* Enable/Disable: Toolbox menu when block is saved
218 +* Fix: Framework incompatibility version
219 +* Fix: Metabox Block InfoBar elements
220 +* Fix: Minifier was not working
221 +* Moved: Code Block Toolbar buttons
222 +* Moved: Code Block Toolbar editor menu (i.e. File, Edit, Settings) to Editor Toolbar as buttons
223 +* Removed: Clear Block (clears all Code Block code) Editor Toolbar button
224 +* Removed: Footer/Header All batch buttons
225 +* Show: Incompatible Hooks "Warning" Notice
226 +
227 += 10.0 =
228 +* Fix: Styling fixes for WordPress version 5.5
229 +* Enhancement: Updated ACE Editor to v1.4.12
230 +* Enhancement: Improve snippet manager
231 +* Enhancement: Add placeholder option
232 +* Added: Option to disable auto-indent
233 +* Added: New language modes
234 +* Fix: Double space being converted to dot on mobile keyboards
235 +* Fix: Backspace not working with some mobile keyboards
236 +
237 += 9.4 =
238 +* Improved variable security throughout the plugin.
239 +* Fix: Bugs fixed.
240 +* Fix: PHP notices and warnings fixed.
241 +
242 += 9.3 =
243 +* Fix: SQL vulnerability for uninstaller.
244 +
245 += 9.2 =
246 +* Added: Editor status bar to quickly display info regarding the block.
247 +* Enhancement: Updated ACE editor to v1.4.5
248 +* Enhancement: Detailed data about the assignment of the block in the info popup.
249 +
250 += 9.0 =
251 +* PHP 7.2+ fixes
252 +* Sanitisation on GET functions
253 +
254 += 8.4.2 =
255 +* Fix: Wordpress Vulnerability report
256 +
257 += 8.4.1 =
258 +* Fix: CSS & JavaScript Toolbox not showing
259 +
260 += 8.4 =
261 +* Enhancement: START and END comments for CJT Assignments, CJT Shortcodes, and CJT Metabox code blocks. You can now go into the Page Source and perform a search for these comments to quickly find your code block within the source code.
262 +* Removed: Admin notice “CJT plugin is no longer supported"
263 +
264 += 8.3.2 =
265 +* Added: Admin notice “CJT plugin is no longer supported"
266 +
267 += 8.3.1 =
268 +* Fix: Development log files created at production
269 +
270 += 8.3 =
271 +* Added: “CJT Plugin will not work” admin notice displayed when PHP version < 5.3
272 +* Enhancement: Dashboard statistics Metabox display more fields
273 +* Fix: WordPress Plugin compatibility for commonly detected conflicts
274 +* Fix: SQL errors commonly appears in Error log file
275 +* Fix: Dashboard statistics Metabox exception when CJT server is not reachable
276 +* Fix: Dashboard statistics Metabox blocks count include backups block
277 +* Updated: ACE Editor updated to the last version
278 +
279 += 8.2 =
280 +* Added: PHP version check on activation
281 +Fix: Fatal error: 'break' not in the 'loop' or 'switch' context in /path/to/wp-content/plugins/css-javascript-toolbox/controllers/block.php on line 145
282 +* Added: Display notice during installation steps on network-level errors. Resolves endless spinner issue
283 +* Compatibility: 100% compatible with BulletProof Security (BPS) security plugin. No need for any bypass rules
284 +
285 += 8.1 =
286 +* Compatibility: Fully tested with Wordpress 4.3.1
287 +* Enhancement: CJT core upgrades and enhancements
288 +
289 += 8.0.4 =
290 +* Compatibility: Fully tested with Wordpress 4.3
291 +* Added: List of future deprecated features
292 +
293 += 8.0.3 =
294 +* Added: Support us link on Dashboard Metabox
295 +* Added: Support us link on CJT Header
296 +
297 += 8.0.2 =
298 +* Removed: CJT License Setup form. CJT is now 100% Free
299 +* Fix: Multi-site CJT Network extensions not loading
300 +
301 += 8.0.1 =
302 +* Fix: Fresh installer stopping when “Adding Wordpress built-in scripts and styles as CJT Templates”
303 +* Added: Dashboard Metabox notices when CJT is not yet installed
304 +
305 += 8.0 =
306 +* Added: Show premium extensions list in Dashboard Widget instead of Scripts Packages
307 +* Enhancement: Framework update to make CJT functionality more extendable
308 +* Removed: Code Editor Toolbar buttons and code block ‘File', ‘Edit’ and ‘View’ menu are moved to separate extensions
309 +* Removed: Editor Themes switcher list are moved to separate extension
310 +* Removed: Import and Export Tools are moved to separate extension
311 +* Fix: Conflict with other popular themes like X Theme
312 +
313 += 7.2 =
314 +* Fix: Block Code file name moving away when open/close Block metabox
315 +* Fix: Shortcode list is too small for Shortcode names
316 +* Updated: CJT Framework for packages and extensions updates
317 +
318 += 7.1.2 =
319 +* Added: Show Latest News on Dashboard Widget
320 +
321 += 7.1.1 =
322 +* Added: Add Statistics Dashboard Widget that shows few useful fields.
323 +
324 += 7.1 =
325 +* Performance: Processing and Memory optimisation for better performance.
326 +* Enhancement: Block Box Themes Support.
327 +* Enhancement: 32 Themes is now supported to be applied for the whole block box.
328 +* Enhancement: Applying theme per browser. Allow for assigning appropriate theme for different devices.
329 +* Enhancement: Assigned/All mode switchers for assignment panel list. You can show all items even not selected ones or show only assigned to the block.
330 +* Enhancement: Bullet-Proof Assignment Panel layout so it would always reserved even if another Plugin wrongly load jQuery TABS/ACCORDION Styles.
331 +* UI & Graphics: General UI enhancements.
332 +* Updated: Code editor updates.
333 +* Enhancement: Turns CJT Block into a tiny Project that host Multiple "Managed" Code-Files instead of just one.
334 +* Enhancement: No need to create a Block for each Language Type and assign them to the same Wordpress Page. One Block with Multiple Code Files solved that by creating only one Block for each assigned request.
335 +* Enhancement: Code Files Support Language Type, Code, Description and TAG fields.
336 +* Enhancement: Write Design-Time Organised Code by separating them into code-files (JS, CSS, PHP, HTML) and CJT will merge them all at run-time.
337 +* Enhancement: There is no need to write <script>, <style> or <?php ?> tags when writing Javascript, CSS or PHP Codes. Code File assigned language would take care of that.
338 +* Enhancement: Control/Modify auto-added <script>, <style> or <?php ?> TAGS by modifying Code File TAG field.
339 +* Enhancement: Automatically Change Code Editor language to currently active Code File language.
340 +* Enhancement: Manage Code Files without leaving the Block Page.
341 +* Enhancement: Block revision is now created based on the Current Active Code File. Therefore each Code File has its own revision
342 +* Enhancement: Its now possible for multiple Authors to work on the same Block by creating Multiple Code-Files.
343 +* Enhancement: Add Multiple Code Files to CJT Packages.
344 +* Feature: Block File, Edit and View Menus.
345 +* Feature: 'Load Local', 'Load Url' and 'Reload' to load Block Code from Local File, Url and Reload From Server respectively.
346 +* Feature: Save/Download Block Current Active Code File.
347 +* Feature: Undo, Redo, Find, Find Next, Find Previous, Replace, Goto Line, Goto Line Up, GoTo Line Down, GoTo Next Error, GoTo Previous Error, Fold, Fold All, UnFold, UnFold All, To Lower Case and To Upper Case Edit Menu functions added.
348 +* Feature: 'Settings' Edit Menu item for Fully Customize Code Editor Fonts, Show/Hide Print Margin, Keybinding Methods, Show/Hide Scroll, Scroll Speed, Readonly, Show/Hide Gutter, TAB Size, New Line Mode and much more!
349 +* Enhancement: Show/Hide StatusBar via View StatusBar Menu.
350 +* Enhancement: CJT Website is now support Full documentation Tutorials that expose many internal features/possibilities that can be archived by CJT.
351 +* Enhancement: Code Blocks disappeared after upgrading to Wordpress 3.9 and sever running PHP >= 5.5.
352 +* Enhancement: Packages Management System (BETA)
353 +* Enhancement: Define Shortcode Parameters by creating package and input their values from the CJT Shortcode Parameters form.
354 +
355 += 6.1.5 =
356 +* Enhancement: Editor enhancements and updates.
357 +* Enhancement: Framework updates (Allow installing New CAC extension).
358 +* Fix: Safari Browser pagination icon position.
359 +
360 += 6.1.4 =
361 +* Fix: Assignment Panel Pagination Icon position fixed for Safari browsers.
362 +* Remove: New Block Form Activate, Location Hook and Initial position fields.
363 +* Remove: Block Revisions.
364 +* Remove: Blocks Backup and Restore.
365 +* Remove: Assignment Panel Select-Childs Checkboxes.
366 +* Remove: Minimize and Maximize All.
367 +* Remove: Batch Process (Delete All and Delete Empty).
368 +* Remove: Output Location Switch (Header and Footer).
369 +* Remove: State Switch (Activate, Deactivate and Invert).
370 +* Remove: Shortcode TinyMCE button (Community users has to write Shortcode manually).
371 +* Remove: Don't load more assignment objects by scroll (Community users has to use the pagination list).
372 +
373 += 6.1.3 =
374 +* UI & Graphics: UI Compatibility with Wordpress >= 3.8.
375 +* Deprecated: New Block Form Activate, Location Hook and Initial position fields.
376 +* Deprecated: Block Revisions.
377 +* Deprecated: Blocks Backup and Restore.
378 +* Deprecated: Assignment Panel Select-Childs Checkboxes.
379 +* Deprecated: Minimise and Maximise All.
380 +* Deprecated: Batch Process (Delete All and Delete Empty).
381 +* Deprecated: Output Location Switch (Header and Footer).
382 +* Deprecated: State Switch (Activate, Deactivate and Invert).
383 +* Deprecated: Shortcode TinyMCE button (Community users has to write Shortcode manually).
384 +* Deprecated: Don't load more assignment objects by scroll (Community users has to use the pagination list).
385 +
386 += 6.1.2 =
387 +* Fix: Break Wordpress frontend page pagination by issuing 301 redirect.
388 +
389 += 6.1.1 =
390 +* Fix: Validate block name when editing and adding blocks.
391 +* Fix: Code Blocks is not being applied on WPEngine servers and other servers related to the MYSQL query error.
392 +* Fix: Load block code one time after its first time opened as it was loaded every time the block is opened.
393 +* Enhancement: Show User-PHP code errors only when WP_DEBUG is set to TRUE.
394 +* Enhancement: Auto-Size edit-block-name text field to fit the current block-name, therefor display the name without the need of moving the cursor to the end.
395 +* Enhancement: Disable new-block form fields while saving prevent user from duplicating block when traffic is slow.
396 +
397 += 6.1 =
398 +* Enhancement: Initially don't load Block assignment panel items: Speed up Blocks page loading time when its initially opened, also affect the browser performance as the items is not loaded or rendered before its required.
399 +* Enhancement: Initially don't load Block code for the closed/minimised Blocks: Loading those Blocks will be done through AJAX once the Block is opened by user.
400 +* Enhancement: The ability to 'Cancel' revision mode and get back to the normal mode without refreshing the whole page.
401 +* Update: Animate Block 'Save' button for not-saved Blocks.
402 +* Update: The Assignment-Panel is now Loads the assigned items only when enter the revision and backup modes.
403 +* Update: Set assignment-Panel Advanced-TAB as the default active TAB.
404 +* Add: Few helper links to the CJT official website at the top of the Blocks page.
405 +* Fix: Block 'Save' and 'Save All Changes' buttons are stay enabled after updating Block Assignment-Panel items and revert them back again. The buttons is enabled even if the Block content has not been changed.
406 +
407 += 6.0.15 =
408 +* Enhancement: Uninstaller is now configurable so that admin can specify is to wipeout the data or not! This is really great for manual upgrade to the PE versions!
409 +
410 += 6.0.14 =
411 +* Enhancement: Accept Shortcode parameters and segments. Provide PHP framework for code blocks to define, validate and reading Shortcode parameters.
412 +* Enhancement: Allow using block 'name' in additional to 'id' when using Shortcodes.
413 +* Fix: Failed to work with non-ascii (e.g Arabic) characters.
414 +* Enhancement: Viewing block info is now showing Shortcode using block 'name' instead of 'id'.
415 +* Enhancement: Embedded Shortcode with its closing tag as the Shortcode content is now being used by the handler blocks.
416 +* Enhancement: Revert block Shortcode 'force' parameter default value to 'true' therefore allow using multiple Shortcode for the same block without setting 'force' attribute.
417 +
418 += 6.0.13 =
419 +* Fix: CJT hijacks Plugins page after activate or deactivate a Plugin.
420 +
421 += 6.0.12 =
422 +* Fix: PHP code is not getting evaluated when CJT code Block delegated using Shortcode.
423 +
424 += 6.0.11 =
425 +* Fix: Add ACE Editor PHP Worker as it was missing.
426 +* Enhancement: List only Public Custom Posts that can be accessed through Wordpress URL under Assignment Panel Custom Posts Tab. Therefor enhance performance for sites that has 'Log' custom post that might has hundreds or records read for every code block.
427 +
428 += 6.0.9 =
429 +* Enhancement: Suppress PHP errors displayed under STRICT PHP configuration like PHP >= 5.4.x and therefor boost performance, increase result and security reliability!
430 +* Fix: Installer operations state is cleared after the install/upgrade is interrupted, cause the repeats/re-executes of the install/upgrade operations.
431 +
432 += 6.0.7 =
433 +* Fix: text-area HTML tag break down CJT Block code.
434 +
435 += 6.0.6 =
436 +* Fix: Conflict with other Plugins!
437 +* Fix: Javascript exception thrown when dismissing the install/upgrade notice.
438 +* Enhancement: Disallow (with user notice) upgrade/downgrade if the target version is not being supported, therefore saving user data!
439 +* Enhancement: Don't break down the site if manual upgrade/downgrade process is uncompleted! Allow user to revert back manually or disable the Plugin.
440 +* Enhancement: E_ALL complain! Suppress all notices when WP_DEBUG set to true, allow better development, fast performance and error handling.
441 +
442 += 6.0 =
443 +* Enhancement: Core code is 100% re-written for optimum performance and future enhancements, and is 100% based on MVC (Model–view–controller) design.
444 +* Enhancement: 100% Using Web 2.0
445 +* Enhancement: Applying code blocks to the requests are now enhanced to boost performance.
446 +* Feature: The ability of interacting with admin pages too - not only the website side as in the previous versions.
447 +* UI & Graphics: Light-weight and smart user-interface.
448 +* Enhancement: Multiple operations can be executed at a time! For example, you can work on a code block while another block(s) is saving.
449 +* Enhancement: Code block data is automatically revisioned after saving.
450 +* Enhancement: Hot Key added for saving code block.
451 +* Fix: Empty code blocks can now exist.
452 +* Enhancement: Interaction with each code block from a simple smart graphical Toolbox using Web 2.0
453 +* Feature: Delegate code block using Shortcodes. You can do that manually or through CJT smart TinyMCE dropdown list button.
454 +* Feature: Integrate ACE Editor to provide syntax highlighting and correction while writing codes!
455 +* Feature: Syntax highlighting for 4 languages: CSS, HTML, JavaScript and PHP.
456 +* Enhancement: Entire plugin is now extensible! CJT supports installed extensions to extend or enhance its features.
457 +* Feature: Batch operations (Toggling On and Off, Activate, Deactivate and Revert states, Delete empty and Delete all) toolbox allow for batch update of all code blocks.
458 +* Enhancement: Rename and save code block name.
459 +* Enhancement: You can now save multiple backups.
460 +* Feature: Activate and Deactivate code blocks feature.
461 +* Fix: blocks order was correctly displayed from the admin side, but had no effect while applying blocks to the website side.
462 +* Enhancement: Templates system is totally removed and will be presented with many enhancements via a separate extension.
463 +* Feature: Allow assigning code blocks to Posts and Custom Posts.
464 +* Feature: Apply 'Category' block to all the child posts (or sub-posts) within that category.
465 +* Feature: Assignment Panel smart feature to assist while working with hierarchical items (sub-pages, sub-categories, etc).
466 +* Enhancement: Auxiliary tab has been added to the Assignment Panel in order to organise all the predefined items (or requests) under a single tab.
467 +* Enhancement: Moved and added: 'Front Page', 'All Pages' and 'All Posts' predefined items to appear under the Auxiliary tab.
468 +* Feature: Auxiliary Assignments. Blog Index, All Categories, Recent Posts, Entire Website, Website Backend, Search Pages, All Archives, Tag Archives, Author Archives, Attachment Pages and 404 Error
469 +* Feature: Support of regular expressions for defining code block Point-To-Hook
470 +* Security: Only administrators can execute CJT backend operations.
471 +* Feature: Each block now has an Information metabox (Author, created date, modification date, and Shortcode).
472 +* Enhancement: Create New Code Block dialog with initial properties ‘Name’, ‘State’ and ‘Position'
473 +* Fix: Internal error detection routine for detecting AJAX errors that may have occurred away from users view
474 +* Added: CJT User Manual PDF file added to the /docs folder
475 +* Added: New WordPress Dashboard menu item to embrace all CJT plugin pages
476 +* Enhancement: Added separate installer and upgrade pages for both CJT v0.3 and v0.8 to allow watching of the installation processes
477 +* Enhancement: Added an uninstaller to completely erase all CJT data from the system
478 +* Compatibility: 100% tested and working with BulletProof Security (BPS) plugin after applying [simple Ajax bypass rule](https://css-javascript-toolbox.com/support/topic/bulletproof-security-ajax-issue-and-resolution-2)
479 +
480 += 0.8 =
481 +* Enhancement: Template code can be modified
482 +* Feature: Code block Header and Footer feature so you can select which hook to output CSS/JS code
483 +* Enhancement: Code blocks can be re-ordered via click-n-drag
484 +* Enhancement: Code blocks can be given names, which can be edited and saved
485 +* UI & Graphics: New icons and improved user interface
486 +* Enhancement: Multilingual support. Only English translation is shipped with this version
487 +* Enhancement: Style overriding. Any higher-ordered/positioned code blocks style syntax will override lower-ordered/positioned code blocks style syntax
488 +* Feature: Built-in scripts bundled with WordPress can be used simply by checking them
489 +* Feature: Backup and Restore code blocks data
490 +* Fix: New code blocks are not toggling unless the page is refreshed
491 +* Fix: CSS/JS template ‘extra slash character’ issue
492 +* Fix: Code block deletion issues
493 +* Fix: Code is not applied to the URL list except the last URL
494 +* Fix: Cannot use string offset as array error
495 +* Fix: Invalid argument supplied foreach() error
496 +
497 += 0.3 =
498 +* Launch: This is the very first release of CSS & JavaScript Toolbox
499 +
500 +== Upgrade Notice ==
501 += 12.0.7 =
502 +* Security: Hardened the AJAX access point against unvalidated module and action names
503 +* Security: Removed the last use of `create_function()`, removed in PHP 8.0
504 +* Maintenance: Dead files, unused images and a duplicate PHP version check removed from the package
505 +
506 += 11.5 =
507 +* Compatibility: PHP version 8+
508 +* Compatibility: MySQL version 8+
509 +* Fix: Duplicate ID issue, which on rare occasions was fetching the 'revision block' ID for a newly created block causing an error for duplicate entry
510 +* Enhancement: If the 'wp-content' directory is renamed to something different (e.g. 'content'), CJT will now find any custom content directories and install correctly