Commit Graph

520 Commits

Author SHA1 Message Date
Denis Ryabov e582e2b358 add support of api files in component (supported since J!4.0) 2021-06-15 16:53:23 +03:00
Llewellyn van der Merwe 7d0e47cacc
Merge PR #130 into develop 2021-06-15 01:40:28 +02:00
Denis Ryabov 2651e11b50 check folders exist 2021-06-14 23:06:17 +03:00
Crowdin Bot 4dc5a91de9 New Crowdin translations by Github Action 2021-06-13 21:23:18 +00:00
Llewellyn van der Merwe a9d5e93d24
Merge PR #126 into develop 2021-06-09 16:17:59 +02:00
Llewellyn van der Merwe 506cf8b85b
Merge PR #121 with develop 2021-06-09 16:15:29 +02:00
Llewellyn van der Merwe 20d9e38369
Merge PR #116 with develop 2021-06-09 16:12:52 +02:00
Denis Ryabov ee3e0d8b1d
Fix issue #125 2021-05-21 22:15:49 +03:00
Denis Ryabov c0101a72cf
Extended error description 2021-05-21 21:33:10 +03:00
Denis Ryabov cbd3bd8f9e fix processing of one-line comments 2021-05-21 21:26:50 +03:00
Denis Ryabov 7f00263488 Fix _QQ_ match (to load language file in rare case of disabled parse_ini_file) 2021-05-17 23:49:10 +03:00
Denis Ryabov c50e39e357 Apply naming rules to the main manifest file(s?) only (others are checked for URLs, ASCII, length, and menu name only) 2021-05-17 23:42:59 +03:00
Denis Ryabov 266ab63780 clean BOM before JEXEC check 2021-05-17 23:37:31 +03:00
Denis Ryabov 054e97b5b8 a few comments 2021-05-17 23:30:44 +03:00
Denis Ryabov 3aa1682131 check BOM in the Framework rule 2021-05-17 23:30:33 +03:00
Denis Ryabov 686155a639 Set ordering for new rules 2021-05-17 23:25:11 +03:00
Denis Ryabov ed89be7422 sort sidebar menu items according to the $ordering field 2021-05-17 23:21:34 +03:00
Denis Ryabov 91c9d8234d remove GPL-incompatible licenses 2021-05-17 23:01:47 +03:00
Denis Ryabov d1a1bfd10b 2.4, 2.4 is everywhere 2021-05-15 22:15:06 +03:00
Denis Ryabov 09b49ec5af fix @since version to 2.4 2021-05-15 16:11:57 +03:00
Denis Ryabov 448b5c59a9 error on short php tag 2021-05-13 22:03:51 +03:00
Denis Ryabov 06f84ba6a0 add link to Joomla! 4 compatibility page 2021-05-13 22:01:48 +03:00
Denis Ryabov 00076827b1 fix processing of short php tags 2021-05-13 21:58:18 +03:00
Denis Ryabov 7fe37585f2 fix displaying of "\n" in the message 2021-05-11 23:56:48 +03:00
Denis Ryabov 7d7fd10cac Mitigate non-unix EOL to info-level 2021-05-11 23:55:25 +03:00
Denis Ryabov 581f61efc9 fix missed to-upper-case for language keys 2021-05-11 23:54:13 +03:00
Denis Ryabov 6ab463d324 typo 2021-05-11 23:53:52 +03:00
Denis Ryabov 1039b49b9b Joomla code-style fixes 2021-05-11 23:52:40 +03:00
Denis Ryabov 5662e48df4 Fix typo in language key 2021-05-11 23:51:03 +03:00
Denis Ryabov 39608b595b Add missed constant for JText detection 2021-05-11 23:50:49 +03:00
Denis Ryabov c79d929832 Add check for existing keys in JText arguments (info-level meanwhile) 2021-05-11 23:50:33 +03:00
Denis Ryabov 234abe600e switch to JEDCheckerHelper::findManifests 2021-05-11 23:46:12 +03:00
Denis Ryabov 1b3b020322 switch to use of JEDCheckerHelper in xmlfiles 2021-05-11 23:42:15 +03:00
Denis Ryabov 73db135bcb Display full path to the file/folder in the error message 2021-05-11 23:41:58 +03:00
Denis Ryabov 907bbd1d75 switch to JEDCheckerHelper::findManifests 2021-05-11 23:33:20 +03:00
Denis Ryabov bd9b9bb0ed add comment line 2021-05-11 23:32:32 +03:00
Denis Ryabov 469a89a434 Joomla code-style fix 2021-05-11 23:31:22 +03:00
Denis Ryabov 758fcf5b37 switch to use of JEDCheckerHelper in xmlinfo 2021-05-11 23:29:59 +03:00
Denis Ryabov 30c9ced67b Check length of the listing name (warning for 40+, error for 80+) 2021-05-11 23:26:52 +03:00
Denis Ryabov 10a9cba326 Error for non-ASCII characters in the listing name 2021-05-11 23:25:06 +03:00
Denis Ryabov 0dd8b4e572 Allow trailing "for Joomla" in the listing name 2021-05-11 23:24:32 +03:00
Denis Ryabov 084367bc78 check prefixed names 2021-05-11 23:08:21 +03:00
Denis Ryabov 4ac26c9282 check reserved words 2021-05-11 23:07:22 +03:00
Denis Ryabov 8e53d6f964 extract extension's language file loading into function loadExtensionLanguage 2021-05-11 21:19:44 +03:00
Denis Ryabov 373f47482e switch to JEDCheckerHelper::findManifests 2021-05-11 21:05:54 +03:00
Denis Ryabov 88969d8fc4 typo 2021-05-11 21:04:56 +03:00
Denis Ryabov 33ac37a092 Add "type" attribute to "schemapath" node 2021-05-11 21:03:59 +03:00
Denis Ryabov c4c723a93c switch to JEDCheckerHelper::findManifests in XMLUpdateServer rule 2021-05-11 20:58:38 +03:00
Denis Ryabov 7949ee3872 switch to JEDCheckerHelper::findManifests in the XMLlicense rule 2021-05-11 20:52:36 +03:00
Denis Ryabov aae0a965b7 use existing var 2021-05-11 18:56:36 +03:00
Denis Ryabov 14aa58899b fix "L" in JControllerLegacy 2021-05-11 18:56:04 +03:00
Denis Ryabov f6df5dc520 Fix backslash in paths on Windows 2021-05-11 18:48:21 +03:00
Denis Ryabov 7e9d840377 reformat long code line 2021-05-11 18:46:10 +03:00
Denis Ryabov f0184fa74d Joomla code-style fixes 2021-05-11 18:45:51 +03:00
Denis Ryabov 14ba00024a switch to use of JEDCheckerHelper in framework 2021-05-11 18:42:44 +03:00
Denis Ryabov 2c3fe01168 remove unused code 2021-05-11 18:42:28 +03:00
Denis Ryabov 72c8ed99ef Fix possible warning on empty php files 2021-05-11 18:42:12 +03:00
Denis Ryabov 1b2bdbe41e Extended list of leftover files/folders 2021-05-11 18:41:55 +03:00
Denis Ryabov c454374642 switch to use of JEDCheckerHelper in jamss 2021-05-11 18:40:11 +03:00
Denis Ryabov 893beace31 change foreach-based to regex-based search in errorreporting.php 2021-05-11 18:39:01 +03:00
Denis Ryabov a8ea5b75c2 Mitigate ErrorReporting rule to warning-level 2021-05-11 18:38:26 +03:00
Denis Ryabov b59e2aab24 change foreach-based to regex-based search in encoding.php 2021-05-11 18:36:25 +03:00
Denis Ryabov eeaa31a338 Mitigate Encoding rule to warning-level 2021-05-11 18:34:34 +03:00
Denis Ryabov f7d9cad01a skip nonexecutable files [starting with die() or exit()] in GPL rule 2021-05-11 17:38:37 +03:00
Denis Ryabov 6cee91b678 introduce JEDCheckerHelper::findManifests to get "real" manifest files, sorted by depth 2021-05-11 16:59:15 +03:00
Denis Ryabov f2552dd9ab Add JEDCheckerHelper class with some common methods 2021-05-11 16:58:53 +03:00
Crowdin Bot f9e8754e1e New Crowdin translations by Github Action 2021-05-08 17:36:18 +00:00
Denis Ryabov c38f2a549a
Fix issue #113 2021-05-08 20:30:05 +03:00
Llewellyn van der Merwe 3d9fc254a0
Merge PR #83 with develop 2021-04-27 01:23:18 +02:00
Llewellyn van der Merwe bf2ca15b99
Merge PR #82 with develop 2021-04-27 01:19:11 +02:00
Llewellyn van der Merwe f616ebff7d
Merge PR #81 with develop 2021-04-27 01:11:40 +02:00
Llewellyn van der Merwe 5ee979715d
Merge PR #80 with develop 2021-04-27 00:59:38 +02:00
Denis Ryabov 86e03fec05 Mitigate unquoted strings error to a warning 2021-04-07 11:04:56 +03:00
Denis Ryabov c60b397af7 add newline at end of dtd-json files 2021-04-07 10:36:46 +03:00
Denis Ryabov 56363f5a09 fix typo in composer.json 2021-04-04 17:11:05 +03:00
Denis Ryabov 942f5a6dc0 Warning on outdated manifest format 2021-04-04 16:06:01 +03:00
Denis Ryabov 21a4a72356 add Joomla! 4 removed and deprecated snippets 2021-04-04 15:17:22 +03:00
Denis Ryabov 57374c3492 fix deprecated rules (behaviour.mootools is mostly loaded via JHtml::_, and assignRef is not static method) 2021-04-04 15:14:19 +03:00
Denis Ryabov 8cca981cff add debug_zval_dump to the error_log checks 2021-04-04 15:14:06 +03:00
Denis Ryabov 729d082bd2 fix Joomla codestyle 2021-04-04 15:12:02 +03:00
Denis Ryabov 0c9c53038c fix Joomla codestyle 2021-04-04 15:08:43 +03:00
Denis Ryabov 37e563b14b fix Joomla codestyle 2021-04-04 15:06:48 +03:00
Denis Ryabov ce7058f121 Check both filename and file nodes 2021-04-04 15:03:55 +03:00
Denis Ryabov fefbb2ca8e check namespace path directory exists 2021-04-04 15:03:40 +03:00
Denis Ryabov a88050c37b check addfieldpath/addformpath/addrulepath directories exist 2021-04-04 15:03:25 +03:00
Denis Ryabov 75e93bad90 add "tgz" into a list of possible archive extensions 2021-04-04 15:03:11 +03:00
Denis Ryabov 715b061840 Check files in the fileset node of type="file" extensions 2021-04-04 15:02:32 +03:00
Denis Ryabov 3e03b981e8 check fonts in language package 2021-04-04 15:02:16 +03:00
Denis Ryabov 9e2c702b6b add a comment 2021-04-04 15:00:40 +03:00
Denis Ryabov 58e3bebf67 Auto-detect external library directories 2021-04-04 14:58:17 +03:00
Denis Ryabov edf06dc135 Allow declare/namespace/use statements before the JEXEC guard 2021-04-04 14:57:46 +03:00
Denis Ryabov 1a201318c6 use a single regex match in the jexec rule 2021-04-04 14:57:31 +03:00
Denis Ryabov 0a09a14fb3 don't search for JEXEC guard in comments 2021-04-04 14:57:18 +03:00
Denis Ryabov 13a1237d6b Detect tabs in key names 2021-04-04 14:54:59 +03:00
Denis Ryabov 6e6b1224a0 Check file is correctly read 2021-04-04 14:54:45 +03:00
Denis Ryabov 0c51f8a60b Add descriptions for new checks 2021-04-04 14:54:06 +03:00
Denis Ryabov cfe16c16d0 Check for spaces around the translation string (just a notice for en-GB language) 2021-04-04 14:49:04 +03:00
Denis Ryabov adb548249d separate check for left and right quotes (for convenience) 2021-04-04 14:48:30 +03:00
Denis Ryabov 566ce26d11 Check for invalid UTF8 values 2021-04-04 14:44:20 +03:00
Denis Ryabov 9c6295231e Check for incorrect EOL 2021-04-04 14:44:07 +03:00
Denis Ryabov 778ece5631 Support J4-style language file names 2021-04-04 14:43:51 +03:00
Denis Ryabov da42c8f0b6 remove notice on unused argnum syntax, but keep detection of incorrect argnum syntax 2021-04-04 14:43:16 +03:00
Denis Ryabov c0f76f4da6 use warning for BOM followed by newline or comment 2021-04-04 14:34:49 +03:00
Denis Ryabov 1e0c1efec4 Allow packager and packagerurl in library extensions 2021-04-04 14:30:30 +03:00
Denis Ryabov 03f22df7d9 Mitigate error to a note for missed optional node 2021-04-04 14:29:53 +03:00
Denis Ryabov f914e438c5 implement prefixed rules in DTD-json (to separate processing of files>file and sql>file nodes) 2021-04-04 14:26:57 +03:00
Denis Ryabov 4ed9b2c64d rule to found missed/incorrent client attribute 2021-04-04 14:26:31 +03:00
Denis Ryabov a426ccfd0e rule to found missed method="upgrade" 2021-04-04 14:24:10 +03:00
Denis Ryabov 3961bbf319 Fix warning on types not supported by JED 2021-04-04 14:21:14 +03:00
Denis Ryabov d023f84c3a fix issue with processing of fileset>files in type=file extensions 2021-04-04 14:21:00 +03:00
Denis Ryabov 5a4003c0da warning for template w/o positions 2021-04-04 14:20:43 +03:00
Denis Ryabov f8320333aa support dlid attributes 2021-04-04 14:20:26 +03:00
Denis Ryabov 9b36852506 dtd-json files for file, library, and template manifests 2021-04-04 14:20:11 +03:00
Denis Ryabov ed7eb05279 support optional url tag in packages 2021-04-04 14:19:56 +03:00
Denis Ryabov d228600cf7 don't warn on empty child with attributes (e.g. field nodes) 2021-04-04 14:19:42 +03:00
Denis Ryabov 4d658b082c new inspection: empty element 2021-04-04 14:19:29 +03:00
Denis Ryabov 49b383514e change unknown children and attribute to just an info-level message 2021-04-04 14:19:14 +03:00
Denis Ryabov ef48e97221 validate domain name in both authorUrl and packagerurl 2021-04-04 14:13:19 +03:00
Denis Ryabov ce6ca7a939 simplify word boundary check 2021-04-04 14:05:39 +03:00
Denis Ryabov a2bb820771 Check errors in JFolder::folders/files results 2021-04-04 14:03:59 +03:00
Denis Ryabov c47fba03c9 add comments 2021-04-04 14:03:34 +03:00
Denis Ryabov a2565abe68 add direct search for leftover files and folders 2021-04-04 14:01:38 +03:00
Denis Ryabov ded1cab905 add __MACOSX to the list of leftover folders 2021-04-04 14:01:21 +03:00
Denis Ryabov ae251b5d5b Joomla! code style fixes 2021-04-04 13:59:50 +03:00
Denis Ryabov e2d61929f9 Joomla! code style fixes 2021-04-04 13:50:33 +03:00
Denis Ryabov a34f3bd138 Joomla! code style fixes 2021-04-04 13:44:33 +03:00
Denis Ryabov b0a0a3a0ad rename vars 2021-04-04 13:40:51 +03:00
Denis Ryabov b78df71597 Joomla Code Style 2021-04-04 13:40:43 +03:00
Denis Ryabov eb6ea3c7ec codestyle 2021-04-04 13:38:13 +03:00
Denis Ryabov 7dd70628e0 Typos / Joomla! code style fixes 2021-04-04 13:36:35 +03:00
Denis Ryabov 40135deac7 Joomla! code style fixes 2021-04-04 13:31:35 +03:00
Denis Ryabov 8cac461cb9 Minor fixes: Joomla! code style / typo / missed fields 2021-04-04 13:25:35 +03:00
Denis Ryabov 0fe6fd5dd5 get localized component title from sys.ini file 2021-04-04 13:06:57 +03:00
Denis Ryabov 2c2ea7da46 unify displayed code lines 2021-04-04 13:00:28 +03:00
Denis Ryabov fb16f918d3 clean PHP code (by removing comments, html, and strings) in the framework rules to avoid false-positives 2021-04-04 12:52:53 +03:00
Denis Ryabov 9596227ffc change translation 2021-04-04 12:51:18 +03:00
Denis Ryabov 359c464fa6 change translation strings 2021-04-04 12:50:33 +03:00
Denis Ryabov 0e7d8b33a0 few more checks for translation values validation 2021-04-04 12:24:22 +03:00
Denis Ryabov 2866d24e59 few more checks for translation keys validation 2021-04-04 12:20:00 +03:00
Denis Ryabov dcf4801eec change message type: compat for _QQ_, and info for empty values 2021-04-04 12:19:45 +03:00
Denis Ryabov a7aa53ac31 check for duplicated translation keys 2021-04-04 12:19:31 +03:00
Denis Ryabov 134e4c0588 parse multiline values 2021-04-04 12:19:03 +03:00
Denis Ryabov 2e54c9fc7e parse multiline values 2021-04-04 12:12:58 +03:00
Denis Ryabov ab4acc2bba unify code lines displaying 2021-04-04 12:07:11 +03:00
Denis Ryabov c0b7c05e6f Add support of Bootstrap5 tooltips #2 2021-04-04 11:58:16 +03:00
Denis Ryabov bda87074f0 Add support of Bootstrap5 tooltips for JAMSS reports 2021-04-04 11:55:46 +03:00
Denis Ryabov c241ede692 badge-style for info tip in jamss 2021-04-04 11:55:10 +03:00
Denis Ryabov 071d50ce65 clean PHP code (by removing comments only) in the jamss rules to avoid false-positives 2021-04-04 11:42:02 +03:00
Denis Ryabov 7b8532f372 unify code lines displaying 2021-04-04 11:41:33 +03:00
Denis Ryabov f42ed7c300 fix missed "|" separators in regex 2021-04-04 11:30:23 +03:00
Denis Ryabov 8f1bb04d8d correct variable name 2021-04-04 11:28:55 +03:00
Denis Ryabov 606fb5225c fix comment 2021-04-04 11:28:30 +03:00
Denis Ryabov 14138dd097 show line number and code in the errorreporting rule 2021-04-04 11:25:30 +03:00
Denis Ryabov f9a073beab simplify code 2021-04-04 11:24:02 +03:00
Denis Ryabov ad64bd21b7 add zlib's encode/decode 2021-04-04 11:23:31 +03:00
Denis Ryabov c55e5e928f check for full function names (to avoid false-positive with base64-encoded URI) 2021-04-04 11:23:05 +03:00
Denis Ryabov 54060ee451 show line number and code in the encoding rule 2021-04-04 11:22:50 +03:00
Denis Ryabov 733bcd5937 sync accept attribute with discussion on PR#90 2021-04-04 11:09:07 +03:00
Denis Ryabov f84495e24b change tabs background to bg-light 2021-04-04 11:02:03 +03:00
Denis Ryabov 03834bfedc display uploading animation 2021-04-04 11:01:46 +03:00
Denis Ryabov b983dcbcfe use unminified CSS in debug mode 2021-04-04 10:53:32 +03:00
Denis Ryabov d62f9a3859 load minified css style 2021-04-04 10:53:02 +03:00
Denis Ryabov b585389ddb new j4-style layout 2021-04-04 10:52:39 +03:00
Llewellyn van der Merwe 21faa210dc
Merge PR #86 into develop 2021-03-27 05:32:24 +02:00
Crowdin Bot f94be5e9fa New Crowdin translations by Github Action 2021-03-27 03:14:37 +00:00
Llewellyn van der Merwe c25c94b384
Merge PR #96 with develop 2021-03-27 05:12:34 +02:00
Llewellyn van der Merwe aa6f0c6bb6
Merge PR #89 with develop 2021-03-27 05:09:56 +02:00
Crowdin Bot cea8ec573e New Crowdin translations by Github Action 2021-03-24 22:37:30 +00:00
Denis Ryabov 0d2310f75d simplify regex 2021-03-24 15:22:09 +03:00
Denis Ryabov ab96c035ad a "greedy" match (by @Llewellynvdm) 2021-03-24 15:13:28 +03:00
Denis Ryabov 0869a0cecb fix comment text 2021-03-24 15:11:59 +03:00
Denis Ryabov 17e6f3b3a4 Load jQuery explicitly 2021-03-17 18:44:19 +03:00
Llewellyn van der Merwe 4962f0a6cf
Merge pull request #90 2021-03-16 04:18:11 +02:00
Denis Ryabov c02a2607a8 Accept supported filetypes only 2021-03-15 10:40:43 +03:00
Denis Ryabov 118846b53b fix copyright 2021-03-11 16:00:58 +03:00
Denis Ryabov 0545fddb87 fix copyright 2021-03-11 15:59:54 +03:00
Denis Ryabov 01c5c5e550 fix copyright 2021-03-11 15:56:27 +03:00
Denis Ryabov ba75eb5967 remove `@author` tag 2021-03-11 13:41:07 +03:00
Denis Ryabov 8d7531a047 remove `@author` tag 2021-03-11 13:40:09 +03:00
Denis Ryabov 321221a495 remove `@author` tag 2021-03-11 13:39:11 +03:00
Denis Ryabov 694741bdf5 optionally store code line in the report 2021-03-11 11:00:00 +03:00
Denis Ryabov 6dbc83f782 extract common code to formatItems method 2021-03-11 10:59:30 +03:00
Denis Ryabov 65fe32b164 replace check against a preinstalled domains list by the link to the Joomla! Trademark Approval Registry page 2021-03-11 10:40:52 +03:00
Denis Ryabov d102979258 add some comments 2021-03-11 01:56:04 +03:00
Denis Ryabov 1bcd291f8c JError is not supported by Joomla! 4, return false is sufficient to abort installation 2021-03-11 01:37:00 +03:00
Denis Ryabov 0ac7ee0f6b fixed: JFile::read is not supported by Joomla! 4 2021-03-11 01:36:29 +03:00
Denis Ryabov c81699b61c Add a description for each check in the code 2021-03-11 01:35:15 +03:00
Denis Ryabov 1432595581 temporaty remove argnum check 2021-03-11 01:34:51 +03:00
Denis Ryabov b5fe0e91b4 check for BOM in language files 2021-03-11 01:20:57 +03:00
Denis Ryabov 08864234a9 correct authors list for new rule 2021-03-11 01:20:37 +03:00
Denis Ryabov 75d8daa931 apply code style (spaces to tabs) 2021-03-11 01:19:48 +03:00
Denis Ryabov 8c52d0c912 change title 2021-03-11 01:18:39 +03:00
Denis Ryabov d583e82bd7 fix path for sql files 2021-03-11 01:17:37 +03:00
Denis Ryabov 4775ddd43b correct authors list for new rule 2021-03-11 01:17:00 +03:00
Denis Ryabov d353c8b2f8 commenting the code 2021-03-11 01:15:13 +03:00
Denis Ryabov 825208b28c add DTD json for language packages 2021-03-11 01:13:56 +03:00
Denis Ryabov 9855b35deb use angle brackets for nodes names 2021-03-11 01:13:36 +03:00
Denis Ryabov db4d6ea7f2 change title to plural 2021-03-11 01:12:57 +03:00
Denis Ryabov a73780e524 don't require menu and languages sections in components 2021-03-11 01:11:09 +03:00
Denis Ryabov b74a082198 support both file and filename names for files children in package manifest 2021-03-11 01:10:53 +03:00