Joomla JED Checker Extension

Joomla extension to check components, modules, or plugins for possible problems for submission to the JED.

Joomla JED Checker Extension
Joomla extension to check components, modules, or plugins for possible problems for submission to the JED.

-----------------------------------------------------------------------------------------------------------
# NEW JED Checker v2.4 - Joomla4 Ready! and much more...
-----------------------------------------------------------------------------------------------------------

Checks the extensions to discover Submission Error Codes https://extensions.joomla.org/support/knowledgebase/item/submission-error-codes/

- PH1 - Headers missing GPL license notice
- PH2 - Files missing JEXEC security
- PH3 - License tag missing or incorrect in the XML install file
- US1 - Update Servers missing or incorrect in XML file(s).
- Rule encoding - Base64 or another type of encoding in the files
- Rule errorreporting - error_reporting(0) in the files
- Rule Framework - Joomla Framework deprecated and unsafe
- Rule Jamss - JAMSS - Joomla! Anti-Malware Scan Script

JED Checker

This extension is able to check your components, modules or plugins for common errors that will prevent you
from publishing your extension on the JED (Joomla! Extensions Directory).

If you are a developer and want to contribute to this extension you can fork this repo.

Uploading your package

After installing this extension in your Joomla! backend, you can use it by uploading a Joomla! extension-package using
the upload-button. Once uploaded, the contents of the package (your files) will be checked against JED-rules.

Adding rules

If you want to write a rule have a look a the `administrator/components/com_jedchecker/library/rules` folder.

You just need to add a new file with your rule, for example `yourrule.php`.

The file `yourrule.php` needs to have a class `jedcheckerRulesYourrule` and that class needs to have a
function that accepts the basedir as a parameter. This is all - the component will automatically call
your rule check function.

If you are going to contribute your rule to the project, then make sure that it follows the Joomla coding conventions
and that it passes the code sniffer: http://docs.joomla.org/Joomla_CodeSniffer

Checking on existing files and folders

The extension also supports a scan of a pre-defined set of existing files and folders.
For this to work, add a list of folders to a text file `tmp/jed_checker/local.txt`.
There should be a folder on each line.
Once the file exists, a "Check" button becomes visible in the jedchecker-toolbar. Just hit it.

Example `tmp/jed_checker/local.txt` file:

components/com_jedchecker
administrator/components/com_jedchecker
plugins/system

History of the Extension

This extension was previously maintained by Compojoom (Daniel Dimitrov). Other developers that collaborated with the original project were Denis Dulici (mijosoft.com), Riccardo Zorn (fasterjoomla.com), Bernard Toplak, and eaxs (projectfork.net).

Now, JED Checker is currently supported by Joomla (Open Source Matters).

COPYRIGHT AND DISCLAIMER

Copyright (C) 2017 - 2019 Open Source Matters, Inc. All rights reserved.
Copyright (C) 2008 - 2016 compojoom.com . All rights reserved.

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 the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Changelog - JED Checker v2.4

- Stable version 2.4.0 which is Joomla 4 ready.
- Makes sure that the use encoding with base64 is still treated as an error, for manual investigation.
- warning-level for GPL-compatible licenses
- fix missed js folder in manifest
- fix "unexpected protected"
- remove extension type check (moving to XMLINFO rules)
- add check for allowed extension type (moved here from XMLManifest rules)
- remove incorrect since tags
- fix collapsing in BS5
- check folders exist
- fix processing of one-line comments
- Apply naming rules to the main manifest file(s?) only (others are checked for URLs, ASCII, length, and menu name only)
- sort sidebar menu items according to the $ordering field
- remove GPL-incompatible licenses
- fix version to 2.4
- fix processing of short php tags
- switch to JEDCheckerHelper::findManifests
- switch to use of JEDCheckerHelper in xmlfiles
- Display full path to the file/folder in the error message
- switch to JEDCheckerHelper::findManifests
- Joomla code-style fix
- switch to use of JEDCheckerHelper in xmlinfo
- Check length of the listing name (warning for 40+, error for 80+)
- Error for non-ASCII characters in the listing name
- Allow trailing "for Joomla" in the listing name
- check prefixed names
- check reserved words
- extract extension's language file loading into function loadExtensionLanguage
- change foreach-based to regex-based search in encoding.php
- Mitigate Encoding rule to warning-level
- skip nonexecutable files [starting with die() or exit()] in GPL rule
- introduce JEDCheckerHelper::findManifests to get "real" manifest files, sorted by depth
- Add JEDCheckerHelper class with some common methods
- Mitigate unquoted strings error to a warning
- add newline at end of dtd-json files
- Warning on outdated manifest format
- fix Joomla codestyle
- fix Joomla codestyle
- Check both filename and file nodes
- check namespace path directory exists
- check addfieldpath/addformpath/addrulepath directories exist
- add "tgz" into a list of possible archive extensions
- Check files in the fileset node of type="file" extensions
- check fonts in language package
- Detect tabs in key names
- Check file is correctly read
- Add descriptions for new checks
- Check for spaces around the translation string (just a notice for en-GB language)
- separate check for left and right quotes (for convenience)
- Check for invalid UTF8 values
- Check for incorrect EOL
- Support J4-style language file names
- remove notice on unused argnum syntax, but keep detection of incorrect argnum syntax
- use warning for BOM followed by newline or comment
- Allow packager and packagerurl in library extensions
- Mitigate error to a note for missed optional node
- implement prefixed rules in DTD-json (to separate processing of files>file and sql>file nodes)
- rule to found missed/incorrent client attribute
- rule to found missed method="upgrade"
- Fix warning on types not supported by JED
- fix issue with processing of fileset>files in type=file extensions
- warning for template w/o positions
- support dlid attributes
- dtd-json files for file, library, and template manifests
- support optional url tag in packages
- don't warn on empty child with attributes (e.g. field nodes)
- new inspection: empty element
- change unknown children and attribute to just an info-level message
- validate domain name in both authorUrl and packagerurl
- Joomla! code style fixes
- get localized component title from sys.ini file
- unify displayed code lines
- change translation strings
- few more checks for translation keys validation
- change message type: compat for QQ, and info for empty values
- check for duplicated translation keys
- parse multiline values
- unify code lines displaying
- Add support of Bootstrap5 tooltips
- simplify code
- add zlib's encode/decode
- check for full function names (to avoid false-positive with base64-encoded URI)
- show line number and code in the encoding rule
- sync accept attribute with discussion on PR#90
- change tabs background to bg-light
- display uploading animation
- add processing of errors in response (timeout, server error, expired session, etc.)
- simplify processing of ajax results
- Add support of Bootstrap5 tooltips
- merge similar CSS blocks to reduce file size
- use unminified CSS in debug mode
- add missed js files
- load minified css style
- new j4-style layout
- simplify regex
- a "greedy" match
- fix comment text

How to install Joomla JED Checker Extension

You can install Joomla JED Checker Extension via Joomla Installer.

Follow the steps below:

  1. Download the Joomla JED Checker Extension package from the official website.
  2. Login to your Joomla website's administrator dashboard.
  3. Go to the "Extensions" tab and select "Manage" from the drop-down menu.
  4. Click on the "Upload Package File" tab and select the Joomla JED Checker Extension package that you downloaded.
  5. Click the "Upload & Install" button to install the extension.
  6. You will see a confirmation message when the installation is complete.

That's it! You can now use Joomla JED Checker Extension on your Joomla website.

Joomla JED Checker Language Files

Is Joomla JED Checker not available in your language?

We understand that not all extensions come equipped with language files, which can make it difficult for non-English speakers to fully utilize them. That's where our Language File Creation service comes in.

Great news!

ExtensionPlazza has now introduced a new feature to help Joomla users worldwide:

With our Joomla Extension Translation Tool, you no longer have to worry about language barriers preventing you from using the Joomla extensions you need. Our tool allows you to easily translate Joomla JED Checker Language Files to any language you require, making it easier than ever before to use Joomla extensions in your preferred language.

Joomla JED Checker Extension Customization

Do you need Joomla JED Checker to do more than what it currently offers? Our expert team can help you extend or customize Joomla JED Checker to meet your specific needs and requirements.

At ExtensionPlazza, we specialize in Joomla extension development and customization, and we are committed to providing exceptional services to our clients. We have extensive experience working with Joomla and related technologies, and we can help you create a solution that is tailored to your unique business requirements.

Whether you need a

  • custom integration,
  • additional features,
  • or a complete overhaul of the extension
we are here to help. We will work closely with you to understand your needs and requirements and develop a solution that exceeds your expectations.

Contact us today to learn more about our extension customization and extension development services, and how we can help you take your project to the next level.

You can reach us through the following channels:

Free Extension of December 2024

Each month, ExtensionPlazza brings you a Premium Joomla Extension developed by ExtensionPlazza exclusively for our valued visitors
Get the download link to your email inbox right now!

Extension Specifications

Current Version
2.4.2
Created on
19 November 2014
Last updated on
08 October 2024
Compatibility
Joomla 3,Joomla 4,50
Extension Type
Component
Free or Premium
Free Joomla Extension
Listed in
Joomla Development Extensions
Developed by
Joomla Official Extensions

Score
100%
100%
100%
97%


Joomla JED Checker,
Joomla 3,Joomla 4,50 Compatible Joomla JED Checker is reviewed
4.97 out of 5 by 23 Joomla user(s)

Spread the Word