Introduction
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
JED Checker
- Version:
- 2.4.2
- Developer:
- Joomla Official Extensions
- Last updated:
-
Oct 07 2024
1 month ago - Date added:
- Nov 19 2014
- License:
- GPLv2 or later
- Type:
- Free download
- Includes:
- c
- Compatibility:
- J3 J4 J5
Share