Empowering People Ethically 🚀 — Matomo is hiring! Join us → https://matomo.org/jobs Matomo is the leading open-source alternative to Google Analytics, giving you complete control and built-in privacy. Easily collect, visualise, and analyse data from websites & apps. Star us on GitHub ⭐️ – Pull Requests welcome!
This report presents the forensic synthetic code analysis of matomo-org/matomo, a PHP project with 21,733 GitHub stars. SynthScan v2.0 examined 1,727,596 lines of code across 11153 source files, recording 8996 pattern matches distributed across 11 syntactic categories. The overall adjusted score of 6.0 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 8996 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | vue.config.js | 63 | function OutputDetectedDependentPluginsPlugin() {} | CODE |
| LOW | core/Access.php | 206 | public function getRawSitesWithSomeViewAccess($login) | CODE |
| LOW | core/Access.php | 364 | public function getSitesIdWithAtLeastViewAccess() | CODE |
| LOW | core/Access.php | 383 | public function getSitesIdWithAtLeastWriteAccess() | CODE |
| LOW | core/Access.php | 400 | public function getSitesIdWithAdminAccess() | CODE |
| LOW | core/Access.php | 431 | public function getSitesIdWithWriteAccess() | CODE |
| LOW | core/Access.php | 443 | public function checkUserHasSuperUserAccess() | CODE |
| LOW | core/Access.php | 487 | public function checkUserHasSomeWriteAccess() | CODE |
| LOW | core/Access.php | 499 | public function checkUserHasSomeAdminAccess() | CODE |
| LOW | core/Access.php | 511 | public function checkUserHasSomeViewAccess() | CODE |
| LOW | core/Segment.php | 301 | private function getExpressionsWithUnionsResolved(array $expressions): array | CODE |
| LOW | core/Segment.php | 364 | private function getInvertedOperatorForSubQuery($operator) | CODE |
| LOW | core/Segment.php | 772 | private function mergeSubqueryExpressionsInTree(array $tree): array | CODE |
| LOW | core/Segment.php | 783 | private function mergeSubqueryExpressionsInExpr(array $expressions, bool $isAndChain): array | CODE |
| LOW | core/Archive.php | 283 | public static function shouldSkipArchiveIfSkippingSegmentArchiveForToday(Site $site, Period $period, Segment $segmen | CODE |
| LOW | core/Archive.php | 400 | public function getDataTableFromNumericAndMergeChildren($names) | CODE |
| LOW | core/Archive.php | 506 | public static function createDataTableFromArchive($recordName, $idSite, $period, $date, $segment, $expanded = false, | CODE |
| LOW | core/Archive.php | 627 | private function addDataToResultCollection( | CODE |
| LOW | core/Archive.php | 717 | private function cacheArchiveIdsAfterLaunching($archiveNamesByPlugin): void | CODE |
| LOW | core/Archive.php | 772 | private function cacheArchiveIdsWithoutLaunching($plugins): void | CODE |
| LOW | core/Archive.php | 1037 | private function getArchiveIdsAndStatesByMonth($doneFlags): array | CODE |
| LOW | core/Archive.php | 1081 | public function forceFetchingWithoutLaunchingArchiving() | CODE |
| LOW | core/Mail.php | 360 | protected function parseDomainPlaceholderAsPiwikHostName($email) | CODE |
| LOW | core/DataArray.php | 44 | public function getDataArrayWithTwoLevels() | CODE |
| LOW | core/DataArray.php | 361 | public function enrichMetricsWithConversions() | CODE |
| LOW | core/SettingsServer.php | 55 | public static function setIsNotTrackerApiRequest() | CODE |
| LOW | core/SettingsServer.php | 147 | public static function raiseMemoryLimitIfNecessary() | CODE |
| LOW | core/SettingsServer.php | 233 | private static function getMegaBytesFromShorthandByte($value) | CODE |
| LOW | core/Filesystem.php | 252 | public static function unlinkTargetFilesNotPresentInSource($source, $target) | CODE |
| LOW | core/Filesystem.php | 276 | public static function sortFilesDescByPathLength($files) | CODE |
| LOW | core/Filesystem.php | 539 | private static function tryToCopyFileAndVerifyItWasCopied($source, $dest) | CODE |
| LOW | core/Filesystem.php | 573 | public static function isFileSystemCaseInsensitive(): bool | CODE |
| LOW | core/Filesystem.php | 617 | private static function createIndexFilesToPreventDirectoryListing($path) | CODE |
| LOW | core/Cookie.php | 458 | private static function getSameSiteValueForBrowser($default) | CODE |
| LOW | core/Plugin.php | 162 | private function hasDefinedPluginInformationInPluginClass() | CODE |
| LOW | core/Plugin.php | 261 | public function requiresInternetConnection() | CODE |
| LOW | core/Plugin.php | 477 | public function getMissingDependenciesAsString($piwikVersion = null) | CODE |
| LOW | core/Plugin.php | 518 | public function schedulePluginReArchiving() | CODE |
| LOW | core/Plugin.php | 549 | public static function getPluginNameFromBacktrace($backtrace) | CODE |
| LOW | core/Plugin.php | 570 | public static function getPluginNameFromNamespace($namespaceOrClassName) | CODE |
| LOW | core/Plugin.php | 597 | public function getPluginLastActivationTime() | CODE |
| LOW | core/Plugin.php | 611 | public function getPluginLastDeactivationTime() | CODE |
| LOW | core/ArchiveProcessor.php | 214 | public function aggregateDataTableRecords( | CODE |
| LOW | core/ArchiveProcessor.php | 322 | public function getNumberOfVisitsConverted() | CODE |
| LOW | core/ArchiveProcessor.php | 402 | protected function getAggregatedDataTableMapFromBlobs(\Iterator $dataTableBlobs, $columnsAggregationOperation, $colu | CODE |
| LOW | core/ArchiveProcessor.php | 445 | public function areColumnsNotAlreadyRenamed($table) | CODE |
| LOW | core/ArchiveProcessor.php | 465 | protected function enrichWithUniqueVisitorsMetric(Row $row) | CODE |
| LOW | core/ArchiveProcessor.php | 543 | private function getIdSitesToComputeNbUniques() | CODE |
| LOW | core/ArchiveProcessor.php | 595 | protected function getAggregatedDataTableMap($data, $columnsAggregationOperation) | CODE |
| LOW | core/ArchiveProcessor.php | 616 | protected function aggregatedDataTableMapsAsOne(Map $map, DataTable $aggregated) | CODE |
| LOW | core/ArchiveProcessor.php | 630 | public function renameColumnsAfterAggregation(DataTable $table, $columnsToRenameAfterAggregation = null) | CODE |
| LOW | core/ArchiveProcessor.php | 653 | protected function getAggregatedNumericMetrics($columns, $operationsToApply) | CODE |
| LOW | core/Theme.php | 107 | private function rewriteAssetPathIfOverridesFound($src) | CODE |
| LOW | core/Http.php | 142 | public static function ensureDestinationDirectoryExists($destinationPath) | CODE |
| LOW | core/Http.php | 1045 | public static function getClientHintsFromServerVariables(): array | CODE |
| LOW | core/Nonce.php | 95 | public static function verifyNonceWithErrorMessage($id, $cnonce, $allowedReferrerHost = null) | CODE |
| LOW | core/UpdateCheck.php | 76 | private static function getLatestAvailableVersionNumber() | CODE |
| LOW | core/AssetManager.php | 116 | public function setMinimalStylesheetFetcher($minimalStylesheetFetcher) | CODE |
| LOW | core/AssetManager.php | 227 | public function getMergedNonCoreJavaScript() | CODE |
| LOW | core/AssetManager.php | 376 | protected function getIndividualCoreAndNonCoreJsIncludes(): string | CODE |
| 7447 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | plugins/CoreVisualizations/javascripts/jqplot.js | 565 | this.jqplotParams.axes.xaxis.ticksOriginal = this.jqplotParams.axes.xaxis.ticks.slice(); | CODE |
| CRITICAL | plugins/CoreVisualizations/javascripts/jqplot.js | 568 | var ticks = this.jqplotParams.axes.xaxis.ticks = this.jqplotParams.axes.xaxis.ticksOriginal.slice(); | CODE |
| CRITICAL | plugins/Overlay/javascripts/Piwik_Overlay.js | 487 | var currentHashStr = window.CoreHome.MatomoUrl.url.value.hash.replace(/^[#/?]+/g, ''); | CODE |
| CRITICAL | plugins/Overlay/javascripts/Piwik_Overlay.js | 500 | hashChangeCallback(window.CoreHome.MatomoUrl.url.value.hash.replace(/^[#/?]+/g, '')); | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-3.3.1.js | 7 | (function(){var h=Ext.util,k=Ext.each,g=true,i=false;h.Observable=function(){var l=this,m=l.events;if(l.listeners){l.on( | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-3.3.1.js | 11 | var swfobject=function(){var F="undefined",t="object",U="Shockwave Flash",Y="ShockwaveFlash.ShockwaveFlash",s="applicati | CODE |
| CRITICAL | tests/javascript/frameworks/ext/ext-base-2.3.0.js | 183 | return[tmp[0][0],tmp[0][1]];};};(function(){Ext.lib.ColorAnim=function(el,attributes,duration,method){Ext.lib.ColorAnim. | CODE |
| CRITICAL | tests/javascript/frameworks/ext/ext-base-2.3.0.js | 216 | return Ext.lib.Easing.bounceOut(t*2-d,0,c,d)*.5+c*.5+b;}};(function(){Ext.lib.Motion=function(el,attributes,duration,met | CODE |
| CRITICAL | tests/javascript/frameworks/ext/ext-base-2.3.0.js | 225 | else{superclass.setRuntimeAttribute.call(this,attr);}};var translateValues=function(val,start){var pageXY=Ext.lib.Dom.ge | CODE |
| CRITICAL | tests/javascript/frameworks/ext/ext-core-3.0.0.js | 9 | window.undefined=window.undefined;Ext={version:"3.0"};Ext.apply=function(d,e,b){if(b){Ext.apply(d,b)}if(d&&e&&typeof e== | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 710 | Ext.dd.DragSource.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFr | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 711 | if(this.afterDragEnter){this.afterDragEnter(target,e,id);}}},beforeDragEnter:function(target,e,id){return true;},alignEl | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 720 | var data=this.getDragData(e);if(data&&this.onBeforeDrag(data,e)!==false){this.dragData=data;this.proxy.stop();Ext.dd.Dra | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 723 | Ext.dd.DropTarget.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{isTarget:true});};Ext.extend(Ex | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 726 | Ext.dd.DragZone=function(el,config){Ext.dd.DragZone.superclass.constructor.call(this,el,config);if(this.containerScroll) | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 729 | Ext.dd.DropZone=function(el,config){Ext.dd.DropZone.superclass.constructor.call(this,el,config);};Ext.extend(Ext.dd.Drop | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 785 | Ext.data.SimpleStore=function(config){Ext.data.SimpleStore.superclass.constructor.call(this,Ext.apply(config,{reader:new | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 787 | Ext.data.SimpleStore.superclass.loadData.call(this,data,append);}}); | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 789 | Ext.data.JsonStore=function(c){Ext.data.JsonStore.superclass.constructor.call(this,Ext.apply(c,{proxy:c.proxy||(!c.data? | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 805 | Ext.data.DataProxy=function(){this.addEvents('beforeload','load');Ext.data.DataProxy.superclass.constructor.call(this);} | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 807 | Ext.data.MemoryProxy=function(data){Ext.data.MemoryProxy.superclass.constructor.call(this);this.data=data;};Ext.extend(E | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 810 | Ext.data.HttpProxy=function(conn){Ext.data.HttpProxy.superclass.constructor.call(this);this.conn=conn;this.useAjax=!conn | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 814 | Ext.data.HttpProxy.superclass.destroy.call(this);}}); | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 816 | Ext.data.ScriptTagProxy=function(config){Ext.data.ScriptTagProxy.superclass.constructor.call(this);Ext.apply(this,config | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 819 | this.fireEvent("load",this,o,trans.arg);trans.callback.call(trans.scope||window,result,trans.arg,true);},handleFailure:f | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 821 | Ext.data.JsonReader=function(meta,recordType){meta=meta||{};Ext.data.JsonReader.superclass.constructor.call(this,meta,re | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1040 | Ext.layout.FitLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,onLayout:function(ct,target){Ext.layout.F | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1043 | this.activeItem=item;item.show();this.layout();}},renderAll:function(ct,target){if(this.deferredRender){this.renderItem( | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1045 | Ext.layout.AnchorLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,getAnchorViewSize:function(ct,target){ | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1085 | this.isSlid=false;if(this.animFloat!==false){this.beforeSlide();this.el.slideOut(this.getSlideAnchor(),{callback:functio | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1089 | var sd=this.splitEl.dom,s=sd.style;var sh=sd.offsetHeight;this.panel.setPosition(box.x,box.y+sh);s.left=(box.x)+'px';s.t | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1097 | Ext.layout.FormLayout=Ext.extend(Ext.layout.AnchorLayout,{labelSeparator:':',getAnchorViewSize:function(ct,target){retur | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1103 | c.render('x-form-el-'+c.id);}else{Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments);}},adjustWidthAnchor | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1111 | Ext.layout.Accordion.superclass.renderItem.apply(this,arguments);c.header.addClass('x-accordion-hd');c.on('beforeexpand' | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1116 | Ext.layout.TableLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:false,setContainer:function(ct){Ext.layout.T | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1263 | this.panel.el.dom.style.display='none';}},repair:function(xy,callback,scope){this.hide();if(typeof callback=="function") | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1266 | Ext.state.Provider=function(){this.addEvents("statechange");this.state={};Ext.state.Provider.superclass.constructor.call | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1275 | Ext.state.CookieProvider=function(config){Ext.state.CookieProvider.superclass.constructor.call(this);this.path="/";this. | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1276 | this.setCookie(name,value);Ext.state.CookieProvider.superclass.set.call(this,name,value);},clear:function(name){this.cle | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1580 | curNode=c;c.expand(false,false,f);};curNode.expand(false,false,f);},selectPath:function(path,attr,callback){attr=attr||" | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1581 | (this.useArrows?'x-tree-arrows':this.lines?"x-tree-lines":"x-tree-no-lines")});},initEvents:function(){Ext.tree.TreePane | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1584 | this.getSelectionModel().init(this);},afterRender:function(){Ext.tree.TreePanel.superclass.afterRender.call(this);this.r | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1586 | this.root.destroy();this.nodeHash=null;Ext.tree.TreePanel.superclass.onDestroy.call(this);}});Ext.tree.TreePanel.nodeTyp | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1614 | break;};}});Ext.tree.MultiSelectionModel=function(config){this.selNodes=[];this.selMap={};this.addEvents("selectionchang | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1621 | this.childrenRendered=false;this.rendered=false;Ext.tree.TreeNode.superclass.constructor.call(this,attributes);this.expa | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1622 | if(this.rendered){this.renderIndent(true,true);}},setLastChild:function(node){var ol=this.lastChild;Ext.tree.TreeNode.su | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1624 | var node=Ext.tree.TreeNode.superclass.appendChild.call(this,n);if(node&&this.childrenRendered){node.render();} | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1625 | this.ui.updateExpandIcon();return node;},removeChild:function(node){this.ownerTree.getSelectionModel().unselect(node);Ex | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1629 | var newNode=Ext.tree.TreeNode.superclass.insertBefore.apply(this,arguments);if(newNode&&refNode&&this.childrenRendered){ | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1642 | this.childrenRendered=true;},sort:function(fn,scope){Ext.tree.TreeNode.superclass.sort.apply(this,arguments);if(this.chi | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1647 | Ext.tree.AsyncTreeNode=function(config){this.loaded=config&&config.loaded===true;this.loading=false;Ext.tree.AsyncTreeNo | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1650 | Ext.tree.AsyncTreeNode.superclass.expand.call(this,deep,anim,callback);},isLoading:function(){return this.loading;},load | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1727 | if(Ext.dd.DragZone){Ext.tree.TreeDragZone=function(tree,config){Ext.tree.TreeDragZone.superclass.constructor.call(this,t | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1730 | Ext.tree.TreeEditor=function(tree,fc,config){fc=fc||{};var field=fc.events?fc:new Ext.form.TextField(fc);Ext.tree.TreeEd | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1733 | this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[node.ui.textNode,value]);return false;}},bindScroll:functio | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1736 | Ext.apply(this,config);this.id=this.id||Ext.id();this.addEvents('beforeshow','beforehide','show','hide','click','mouseov | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1779 | Ext.menu.BaseItem=function(config){Ext.menu.BaseItem.superclass.constructor.call(this,config);this.addEvents('click','ac | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1780 | Ext.menu.BaseItem.superclass.destroy.call(this);},render:function(container,parentMenu){this.parentMenu=parentMenu;Ext.m | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1786 | Ext.menu.TextItem.superclass.constructor.call(this,cfg);};Ext.extend(Ext.menu.TextItem,Ext.menu.BaseItem,{hideOnClick:fa | CODE |
| CRITICAL⚡ | tests/javascript/frameworks/ext/ext-all-2.3.0.js | 1788 | Ext.menu.Separator=function(config){Ext.menu.Separator.superclass.constructor.call(this,config);};Ext.extend(Ext.menu.Se | CODE |
| 132 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/DataTable/Renderer/Xml.php | 261 | // 0 => | COMMENT |
| LOW | plugins/ExampleTheme/docs/index.md | 1 | ## Documentation | COMMENT |
| LOW | plugins/ExampleTheme/stylesheets/theme.less | 1 | // Theme colors are defined through Theme.configureThemeVariables so they can | COMMENT |
| LOW | …cking/Reports/AbstractAIChatbotFavouredPagesReport.php | 201 | // For that to hold, all of the following must stay true (the BotTracking_spec.js pairing | COMMENT |
| LOW | …tions/JqplotDataGenerator/ForecastSubPeriodFetcher.php | 361 | return '' !== $column; | COMMENT |
| LOW | …tions/JqplotDataGenerator/ForecastSubPeriodFetcher.php | 881 | COMMENT | |
| LOW | …reVisualizations/vue/src/Sparklines/SparklineCard.less | 21 | // Query container for the metric readout: MetricValue's number + heights scale with this width via | COMMENT |
| LOW | …tests/Unit/JqplotDataGenerator/ForecastBuilderTest.php | 801 | // Same-DoW feed-forward also has to apply to MONOTONICITY_FREE series (ratios, | COMMENT |
| LOW | …tests/Unit/JqplotDataGenerator/ForecastBuilderTest.php | 841 | // Tick 2: with feed-forward, $runningDailySamples['2026-04-28'] = 35. Walk from May 5 | COMMENT |
| LOW | …tests/Unit/JqplotDataGenerator/ForecastBuilderTest.php | 901 | COMMENT | |
| LOW | …tests/Unit/JqplotDataGenerator/ForecastBuilderTest.php | 961 | // the chunk-3 walk it lands on (100 + 100 + 500) / 3 = 233.33. | COMMENT |
| LOW | …tests/Unit/JqplotDataGenerator/ForecastBuilderTest.php | 1801 | { | COMMENT |
| LOW | …tests/Unit/JqplotDataGenerator/ForecastBuilderTest.php | 1841 | self::assertSame([[null, 2730.0]], $forecastData); | COMMENT |
| LOW | …tests/Unit/JqplotDataGenerator/ForecastBuilderTest.php | 1861 | // Month-of-year scale (computeMonthOfYearScale, analogChunk = MONTH_ANALOG_CHUNK = 4): | COMMENT |
| LOW | …tests/Unit/JqplotDataGenerator/ForecastBuilderTest.php | 1921 | // - April daily samples reproduce a per-month total of 1000 via the month | COMMENT |
| LOW | …s/PrivacyManager/tests/Integration/DataPurgingTest.php | 621 | $this->checkLogDataPurged(); | COMMENT |
| LOW | plugins/ImageGraph/StaticGraph/GridGraph.php | 421 | // can not currently be used because pChart's label design is not flexible enough | COMMENT |
| LOW | plugins/ImageGraph/StaticGraph/GridGraph.php | 441 | // $Format = array( | COMMENT |
| LOW | plugins/ImageGraph/StaticGraph/GridGraph.php | 461 | // // display only one min & max label | COMMENT |
| LOW | plugins/ImageGraph/StaticGraph/GridGraph.php | 481 | // if ($value < $minValue) | COMMENT |
| LOW | plugins/CoreVue/types/plugin-modules.d.ts | 1 | // Plugin-name imports (e.g. `import { translate } from 'CoreHome'`) are wired | COMMENT |
| LOW | plugins/ExamplePlugin/docs/index.md | 1 | ## Documentation | COMMENT |
| LOW | plugins/Actions/ArchivingHelper.php | 521 | $configLimit = $configGeneral['archiving_ranking_query_row_limit']; | COMMENT |
| LOW | …/tests/Unit/Processor/ExceptionToTextProcessorTest.php | 141 | COMMENT | |
| LOW | …/tests/Unit/Processor/ExceptionToTextProcessorTest.php | 201 | $wholeTrace = preg_replace('/\\(\\d+\\)/', '', $wholeTrace); | COMMENT |
| LOW | …/tests/Unit/Processor/ExceptionToTextProcessorTest.php | 261 | COMMENT | |
| LOW | …/tests/Unit/Processor/ExceptionToTextProcessorTest.php | 281 | #11 {main}, | COMMENT |
| LOW | plugins/GeoIp2/data/isoRegionNames.php | 1 | <?php | COMMENT |
| LOW | js/piwik.js | 1061 | COMMENT | |
| LOW | js/piwik.js | 2341 | // pk_vid = visitor ID | COMMENT |
| LOW | …sources/extractSearchEngineInformationFromUrlTests.yml | 201 | # Bing mobile image search has a special URL | COMMENT |
| LOW | …ts/PHPUnit/Unit/AssetManager/scripts/SimpleComments.js | 1 | //This is a simple comment | COMMENT |
| LOW | tests/lib/q-1.4.1/spec/lib/jasmine-1.2.0/jasmine.css | 1 | body { background-color: #eeeeee; padding: 0; margin: 5px; overflow-y: scroll; } | COMMENT |
| LOW | tests/lib/q-1.4.1/spec/lib/jasmine-1.2.0/jasmine.css | 21 | #HTMLReporter .symbolSummary li.pending:before { color: #aaaaaa; content: "-"; } | COMMENT |
| LOW | tests/lib/q-1.4.1/spec/lib/jasmine-1.2.0/jasmine.css | 41 | #HTMLReporter .summary .suite .suite, #HTMLReporter .summary .specSummary { margin-left: 14px; } | COMMENT |
| LOW | tests/lib/q-1.4.1/spec/lib/jasmine-1.2.0/jasmine.css | 61 | #TrivialReporter .options { text-align: right; font-size: .8em; } | COMMENT |
| LOW | tests/javascript/index.php | 201 | // a. Let Pk be ToString(k). | COMMENT |
| LOW | tests/javascript/jslint/jslint.js | 1 | // jslint.js | COMMENT |
| LOW | tests/javascript/jslint/jslint.js | 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | COMMENT |
| LOW | tests/javascript/jslint/jslint.js | 41 | // or an object whose keys are used as global names, with a boolean value | COMMENT |
| LOW | tests/javascript/jslint/jslint.js | 61 | // If a stopping error was found, a null will be the last element of the | COMMENT |
| LOW | tests/javascript/jslint/jslint.js | 81 | // functions: [ | COMMENT |
| LOW | tests/javascript/jslint/jslint.js | 101 | // STRING | COMMENT |
| LOW | tests/javascript/jslint/jslint.js | 121 | // STRING: NUMBER | COMMENT |
| LOW | tests/javascript/jslint/jslint.js | 141 | // var myErrorReport = JSLINT.error_report(data); | COMMENT |
| LOW | tests/javascript/jslint/jslint.js | 161 | COMMENT | |
| LOW | tests/javascript/jslint/jslint.js | 181 | COMMENT | |
| LOW | tests/javascript/jslint/jslint.js | 201 | // forin true, if for in statements need not filter | COMMENT |
| LOW | tests/javascript/frameworks/yui/yui-3.3.0.js | 3701 | // caps=1:1;2:0;3:1; | COMMENT |
| LOW | tests/javascript/frameworks/jquery/jquery-1.4.4.js | 941 | COMMENT | |
| LOW | tests/javascript/frameworks/jquery/jquery-1.2.6.js | 3381 | // IE adds the HTML element's border, by default it is medium which is 2px | COMMENT |
| LOW | tests/javascript/frameworks/dojo/dojo-1.6.0.js | 61 | COMMENT | |
| LOW | tests/javascript/frameworks/dojo/dojo-1.6.0.js | 81 | // only then are resources evaluated in dependency order via | COMMENT |
| LOW | tests/javascript/frameworks/dojo/dojo-1.6.0.js | 101 | locale: undefined, | COMMENT |
| LOW | tests/javascript/frameworks/dojo/dojo-1.6.0.js | 121 | // `djConfig.modulePaths = { "foo": "../../bar" }` is the equivalent | COMMENT |
| LOW | tests/javascript/frameworks/dojo/dojo-1.6.0.js | 141 | // require: Array | COMMENT |
| LOW | tests/javascript/frameworks/dojo/dojo-1.6.0.js | 161 | ioPublish: false, | COMMENT |
| LOW | tests/javascript/frameworks/dojo/dojo-1.6.0.js | 281 | // Version number of the Dojo Toolkit | COMMENT |
| LOW | tests/javascript/frameworks/dojo/dojo-1.6.0.js | 341 | if(!(name in target) || (target[name] !== s && (!(name in empty) || empty[name] !== s))){ | COMMENT |
| LOW | tests/javascript/frameworks/dojo/dojo-1.6.0.js | 361 | // props: | COMMENT |
| 1101 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/Plugin.php | 183 | * - 'author_homepage' => string // author homepage URL (or email "mailto:youremail@example.org") | COMMENT |
| LOW | core/Updater.php | 123 | * $mail->addTo('test@example.org'); | COMMENT |
| LOW | core/Db/Schema/Mysql.php | 649 | VALUES ( 'anonymous', '', 'anonymous@example.org', '', 0, '$now', '$now' , NULL);"); | CODE |
| LOW | core/API/DocumentationGenerator.php | 217 | 'email' => 'test@example.org', | CODE |
| LOW | plugins/WebsiteMeasurable/MeasurableSettings.php | 192 | 'placeholder' => $ip, | CODE |
| LOW | plugins/WebsiteMeasurable/Settings/Urls.php | 43 | 'placeholder' => "http://example.com/\nhttps://www.example.org/", | CODE |
| LOW⚡ | plugins/CoreAdminHome/tests/Integration/TasksTest.php | 192 | $this->assertEquals($mail->getEmailAddress(), 'hello@example.org'); | CODE |
| LOW | plugins/CoreAdminHome/tests/Integration/TasksTest.php | 222 | $this->assertEquals('hello@example.org', $mail->getEmailAddress()); | CODE |
| LOW | …ins/CorePluginsAdmin/vue/src/FormField/FieldSelect.vue | 104 | $materialInput.attr('placeholder', placeholder); | CODE |
| LOW | …oreVisualizations/Visualizations/Sparklines/Config.php | 205 | 'group' => 'placeholder' . count($this->sparklines), | CODE |
| LOW⚡ | plugins/ExampleUI/Controller.php | 19 | $notification = new Notification('Lorem ipsum dolor sit amet, consectetur adipiscing elit.'); | CODE |
| LOW⚡ | plugins/ExampleUI/Controller.php | 19 | $notification = new Notification('Lorem ipsum dolor sit amet, consectetur adipiscing elit.'); | CODE |
| LOW⚡ | plugins/ExampleUI/Controller.php | 22 | $notification = new Notification('Neque porro quisquam est qui dolorem ipsum quia dolor sit amet.'); | CODE |
| LOW⚡ | plugins/ExampleUI/Controller.php | 22 | $notification = new Notification('Neque porro quisquam est qui dolorem ipsum quia dolor sit amet.'); | CODE |
| LOW | plugins/Marketplace/tests/Integration/ApiTest.php | 277 | self::assertSame(['hello@example.org' => ''], $sentMail->getRecipients()); | CODE |
| LOW | plugins/Marketplace/Api/Service.php | 83 | * @param null|array $postData eg array('email' => 'user@example.org') | COMMENT |
| LOW | plugins/Marketplace/Api/Service.php | 137 | * @param null|array $postData eg array('email' => 'user@example.org') | COMMENT |
| LOW | plugins/ScheduledReports/API.php | 131 | * 'additionalEmails' => ['user@example.com']]` for email reports. | COMMENT |
| LOW | plugins/ScheduledReports/API.php | 221 | * 'additionalEmails' => ['user@example.com']]` for email reports. | COMMENT |
| LOW⚡ | …ledReports/tests/Integration/SubscriptionModelTest.php | 89 | [true, [], 'hello@example.org', 1, false, []], | CODE |
| LOW⚡ | …ledReports/tests/Integration/SubscriptionModelTest.php | 91 | [true, ['hello@example.org'], 'hello@example.org', 1, false, []], | CODE |
| LOW⚡ | …ledReports/tests/Integration/SubscriptionModelTest.php | 93 | [false, ['hello@example.org'], 'hello@example.org', 1, false, []], | CODE |
| LOW⚡ | …ledReports/tests/Integration/SubscriptionModelTest.php | 97 | [false, ['guest@example.org', 'test@matomo.org'], 'guest@example.org', 2, false, ['test@matomo.org']], | CODE |
| LOW | plugins/ScheduledReports/tests/Integration/ApiTest.php | 378 | 'additionalEmails' => array('test@test.com', 't2@test.com'), | CODE |
| LOW | plugins/ScheduledReports/tests/Integration/ApiTest.php | 1306 | 'additionalEmails' => array('test@test.com', 'test@test.com', 't2@test.com', 'test@test.com'), | CODE |
| LOW | plugins/ScheduledReports/tests/Integration/ApiTest.php | 1317 | $expectedEmails = array('test@test.com', 't2@test.com'); | CODE |
| LOW | plugins/ScheduledReports/tests/Integration/ApiTest.php | 1363 | 'additionalEmails' => array('test@test.com', 't2@test.com'), | CODE |
| LOW⚡ | …ns/UsersManager/tests/Integration/UsersManagerTest.php | 445 | $this->api->addUser("geggeqgeqag", "geqgeagae", "test@test.com"); | CODE |
| LOW⚡ | …ns/UsersManager/tests/Integration/UsersManagerTest.php | 455 | $this->api->addUser("geggeqgeqag", "geqgeagae", "test@test.com"); | CODE |
| LOW⚡ | …ns/UsersManager/tests/Integration/UsersManagerTest.php | 1125 | 'email' => "test@test.com", | CODE |
| LOW⚡ | …ns/UsersManager/tests/Integration/UsersManagerTest.php | 1143 | 'email' => "test@test.com", | CODE |
| LOW⚡ | …ns/UsersManager/tests/Integration/UsersManagerTest.php | 1161 | 'email' => "test@test.com", | CODE |
| LOW | …ns/UsersManager/tests/Integration/UsersManagerTest.php | 184 | 'email' => "test@test.com", | CODE |
| LOW | …ns/UsersManager/tests/Integration/UsersManagerTest.php | 389 | $this->api->addUser("geggeqgeqag", "geqgeagae", "test@test.com"); | CODE |
| LOW | …ns/UsersManager/tests/Integration/UsersManagerTest.php | 426 | $this->api->addUser("geggeqgeqag", "geqgeagae", "test@test.com"); | CODE |
| LOW | …ns/UsersManager/tests/Integration/UsersManagerTest.php | 1178 | 'email' => "test@test.com", | CODE |
| LOW | …ns/UsersManager/tests/Integration/UsersManagerTest.php | 1222 | 'email' => "test@test.com", | CODE |
| LOW | …ns/UsersManager/tests/Integration/UsersManagerTest.php | 1245 | 'email' => "test@test.com", | CODE |
| LOW | …ns/UsersManager/tests/Integration/UsersManagerTest.php | 1329 | 'email' => "test@test.com", | CODE |
| LOW⚡ | …/UsersManager/tests/Integration/SystemSettingsTest.php | 77 | $this->settings->allowedEmailDomains->setValue(['@maToMo.org', 'foo@matomo.com', ' foo @ example.com ', ' @examp | CODE |
| LOW⚡ | …gins/UsersManager/tests/Integration/ControllerTest.php | 128 | $userEmail = 'test@test.com'; | CODE |
| LOW⚡ | …UsersManager/tests/Integration/UserLoginHelperTest.php | 59 | $this->assertNull(UserLoginHelper::findCanonicalLoginByLoginOrEmail('does-not-exist@example.org')); | CODE |
| LOW⚡ | …UsersManager/tests/Integration/UserLoginHelperTest.php | 66 | $this->assertSame('does-not-exist@example.org', UserLoginHelper::normalizeLoginOrEmailToLogin('does-not-exist@ex | CODE |
| LOW⚡ | …ests/Integration/Validators/AllowedEmailDomainTest.php | 106 | $userApi->addUser('foo6', 'foo' . time(), 'foobar2@example.org'); | CODE |
| LOW | plugins/CoreHome/vue/src/SiteSelector/SiteSelector.vue | 38 | class="placeholder" | CODE |
| LOW | …ugins/CoreHome/vue/src/SearchInput/SearchInput.spec.ts | 20 | expect(wrapper.find('input').attributes('placeholder')).toBe('General_Search'); | CODE |
| LOW | …ns/GeoIp2/tests/System/ConvertRegionCodesToIsoTest.php | 53 | $t->setUserId('userid.email@example.org'); | CODE |
| LOW | …ns/GeoIp2/tests/System/ConvertRegionCodesToIsoTest.php | 73 | $t->setUserId('userid.email@example.org'); | CODE |
| LOW | plugins/SegmentEditor/tests/Integration/ApiTest.php | 771 | \Piwik\Plugins\UsersManager\API::getInstance()->addUser('myUserLogin', 'password', 'test@test.com'); | CODE |
| LOW | plugins/Login/tests/UI/Login_spec.js | 132 | await page.type("#login_form_login", "hello@example.org"); | CODE |
| LOW | plugins/Login/tests/Integration/ControllerTest.php | 87 | $userEmail = 'test@test.com'; | CODE |
| LOW | plugins/Login/tests/Integration/LoginTest.php | 348 | 'email' => 'test@test.com', | CODE |
| LOW | tests/resources/install-matomo.php | 98 | $model->addUser($login, $password, 'hello@example.org', Date::now()->getDatetime()); | CODE |
| LOW | tests/resources/install-matomo.php | 100 | $model->updateUser($login, $password, 'hello@example.org'); | CODE |
| LOW | tests/resources/lipsum.txt | 1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ultricies tempor vulputate. Donec justo enim, cursus sit | CODE |
| LOW | tests/resources/lipsum.txt | 1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ultricies tempor vulputate. Donec justo enim, cursus sit | CODE |
| LOW | tests/resources/lipsum.txt | 25 | Suspendisse vitae tempus tortor. Morbi ac leo eros, eget rhoncus libero. Vestibulum ante ipsum primis in faucibus orci l | CODE |
| LOW | tests/resources/lipsum.txt | 25 | Suspendisse vitae tempus tortor. Morbi ac leo eros, eget rhoncus libero. Vestibulum ante ipsum primis in faucibus orci l | CODE |
| LOW | tests/PHPUnit/Framework/Fixture.php | 785 | $model->addUser($login, $password, 'hello@example.org', Date::now()->getDatetime()); | CODE |
| LOW | tests/PHPUnit/Framework/Fixture.php | 787 | $model->updateUser($login, $password, 'hello@example.org'); | CODE |
| 37 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/ViewDataTable/Config.php | 429 | * Attention: Message will be printed raw. Don't forget to escape where needed! | COMMENT |
| LOW | core/ViewDataTable/Config.php | 436 | * Attention: Message will be printed raw. Don't forget to escape where needed! | COMMENT |
| LOW | core/ViewDataTable/Config.php | 544 | * Attention: Message will be printed raw. Don't forget to escape where needed! | COMMENT |
| LOW | plugins/Marketplace/tests/resources/v2.0_plugins.json | 1501 | "faq": "<p><strong>I have a large database, can I install the plugin on the command line?</stron | CODE |
| LOW | plugins/Marketplace/tests/resources/v2.0_plugins.json | 1501 | "faq": "<p><strong>I have a large database, can I install the plugin on the command line?</stron | CODE |
| MEDIUM | plugins/Marketplace/tests/resources/v2.0_plugins.json | 3564 | "faq": "<p><strong>Why is PIWIK 2.5 required?</strong></p>\n\n<p>Because the configuration (to b | CODE |
| MEDIUM | plugins/Marketplace/tests/resources/v2.0_plugins.json | 4957 | "faq": "<p><strong>What are the requirements for this plugin?</strong></p>\n\n<ul><li><a href=\" | CODE |
| LOW | plugins/Marketplace/tests/resources/v2.0_plugins.json | 4957 | "faq": "<p><strong>What are the requirements for this plugin?</strong></p>\n\n<ul><li><a href=\" | CODE |
| MEDIUM | …gins/ExampleTracker/Columns/ExampleActionDimension.php | 50 | * detected correctly, you may want to adjust the type manually. The configured type will affect how the dimension | COMMENT |
| MEDIUM | …/ExampleTracker/Columns/ExampleConversionDimension.php | 46 | * detected correctly, you may want to adjust the type manually. The configured type will affect how the dimension | COMMENT |
| MEDIUM | …ugins/ExampleTracker/Columns/ExampleVisitDimension.php | 45 | * detected correctly, you may want to adjust the type manually. The configured type will affect how the dimension | COMMENT |
| LOW | plugins/ExamplePlugin/Widgets/MyExampleWidget.php | 67 | * twig template. In such a case don't forget to create a twig template (eg. myViewTemplate.twig) in the | COMMENT |
| LOW | plugins/Feedback/lang/en.json | 72 | "FormNotEnoughFeedbackText": "Please don't forget to share your feedback below.", | CODE |
| MEDIUM | plugins/GeoIp2/lang/en.json | 31 | "HowToSetupGeoIPIntro": "You do not appear to have accurate Geolocation setup. This is a useful feature and with | CODE |
| MEDIUM | plugins/SEO/tests/resources/bing_response.html | 36 | //]]></script><div id="b_content"><main aria-label="Search Results"><div id="b_tween"><span class="sb_count">54.700 resu | COMMENT |
| LOW | plugins/ExampleReport/Reports/GetExampleReport.php | 82 | * report. Don't forget to create the defined twig template within the templates folder of your plugin in order to | COMMENT |
| LOW | tests/PHPUnit/Integration/Columns/DimensionTest.php | 425 | $this->fail("Dimension does no longer exist: $dimension\nPlease update list of available column dimensio | CODE |
| LOW⚡ | tests/javascript/frameworks/ext/ext-all-3.3.1.js | 7 | (function(){var h=Ext.util,k=Ext.each,g=true,i=false;h.Observable=function(){var l=this,m=l.events;if(l.listeners){l.on( | CODE |
| LOW | libs/Zend/Db/Select.php | 461 | * bindings, don't forget to pass the values when actually | COMMENT |
| MEDIUM | .ddev/config.yaml | 208 | # If you prefer you can change this to "ddev.local" to preserve | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | plugins/SEO/tests/resources/bing_response.html | 14 | 0;_w.si_sbwu=function(n){var r="/fd/ls/GLinkPingPost.aspx?IG="+_G.IG+n,t="sendBeacon",i=!1;if(navigator&&navigator[t])tr | CODE |
| MEDIUM | plugins/Overlay/client/followingpages.js | 399 | // derive the offset and dimensions is more robust. | COMMENT |
| MEDIUM | tests/javascript/frameworks/dojo/dojo-1.6.0.js | 9383 | // "$" function, dojo.query provides robust, high-performance | COMMENT |
| MEDIUM | tests/javascript/frameworks/dojo/dojo-1.4.3.js | 9364 | // "$" function, dojo.query provides robust, high-performance | COMMENT |
| MEDIUM | tests/javascript/frameworks/dojo/dojo-1.3.3.js | 7803 | // "$" function, dojo.query provides robust, high-performance | COMMENT |
| MEDIUM | tests/javascript/frameworks/dojo/dojo-1.0.3.js | 5915 | // "$" function, dojo.query provides robust, high-performance | COMMENT |
| MEDIUM | tests/javascript/frameworks/dojo/dojo-1.1.2.js | 6609 | // "$" function, dojo.query provides robust, high-performance | COMMENT |
| MEDIUM | tests/javascript/frameworks/dojo/dojo-1.5.0.js | 9379 | // "$" function, dojo.query provides robust, high-performance | COMMENT |
| MEDIUM | .ddev/config.yaml | 101 | # can specify any version, and is more robust than using 'nvm'. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | misc/cron/archive.sh | 2 | # ======================================================================= | COMMENT |
| MEDIUM | misc/cron/archive.sh | 8 | # ======================================================================= | COMMENT |
| MEDIUM | .github/scripts/clean-build.sh | 5 | # ------------ | COMMENT |
| MEDIUM | .github/scripts/clean-build.sh | 9 | # ------------ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/resources/staticFileServer.php | 53 | // Setting zlib output compression as requested | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/javascript/jash/Jash.js | 1269 | jash.print("Error: the loop type '" + type + "' does not exist"); | CODE |
| LOW | .ddev/commands/host/matomo_plugins_lib.sh | 126 | except Exception: | CODE |
| LOW | .ddev/commands/host/matomo_plugins_lib.sh | 147 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | plugins/Installation/ServerFilesGenerator.php | 124 | $content = "# This file is auto generated by Matomo, do not edit directly\n# Please report any issue or improvem | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/Db/TransactionLevel.php | 66 | // the first time we need to check if the transaction level actually works by | COMMENT |