Sicurezza lavoro

Cassazione Penale Sent. Sez. 4 Num. 10665 | 14 Marzo 2024

Cassazione  Penale Sez  4  14 marzo 2024 n  10665

Cassazione Penale Sent. Sez. 4 Num. 10665 | 14 Marzo 2024

Posizioni di garanzia: fabbricante/venditore/noleggiatore/concedente del macchinario e utilizzatore/datore di lavoro

Penale Sent. Sez. 4 Num. 10665 Anno 2024
Dott. CIAMPI Francesco Maria - Presidente
Dott. CAPPELLO Gabriella - Relatore
Dott. BRUNO Mariarosaria - Consigliere
Dott. MARI Attilio - Consigliere
Dott. GIORDANO Bruno - Consigliere

Ritenuto in fatto

1. La Corte d'appello di Venezia ha confermato la sentenza del Tribunale di Rovigo, con la quale A.A., nella qualità di legale rappresentante della CFM Srl e soggetto che aveva concesso in uso sino al 31/7/2014, con autorizzazione del 18/7/2014, di tre giorni antecedente l'infortunio, alla OFFICINE MECCANICHE B.B. Srl una ventosa da sollevamento EBERLE del 2004, era stato condannato in cooperazione colposa con C.C. (legale rappresentante di OFFICINE MECCANICHE B.B. Srl), per il reato di lesioni colpose ai danni del lavoratore D.D., dipendente della ditta F.lli B.B. s.nc. e distaccato alla OFFICINE MECCANICHE B.B. Srl, presso un cantiere temporaneo, il quale era stato colpito e fatto cadere a terra da un pannello coibentato staccatosi dalla presa della citata ventosa, utilizzata per il sollevamento, riportando le lesioni meglio descritte in imputazione.

2. In sintesi, questa la ricostruzione dei fatti per cui è processo operata dai giudici di merito. Dall'istruttoria (dichiarazioni persona offesa e di altri testimoni, documentazione e consulenza PM) i giudici del merito hanno ricavato che, nell'occorso, il D.D. era stato intento, nel pomeriggio del 21/7/2014, a lavorare all'interno di un cantiere edile per la realizzazione di un capannone industriale. In particolare, egli stava procedendo, insieme ad altri due colleghi, al posizionamento di pannelli sul tetto per mezzo di una gru alla quale il singolo pannello veniva agganciato a mezzo della ventosa oggetto dell'imputazione. Le dichiarazioni del lavoratore ferito e dei colleghi erano state conformi e, grazie ad esse, si era verificato che quello era stato il primo giorno di utilizzo della ventosa e che i lavoratori addetti non avevano ricevuto alcuna istruzione sulle verifiche da effettuare prima dell'utilizzo (stato delle ventose, caratteristiche delle superfici sulle quali applicarle, posizionamento dei lavoratori). Il teste dello SPISAL aveva visionato il macchinario la sera stessa dell'avvenuto infortunio, verificando le condizioni delle ventose (alcune delle quali lesionate), avendo anche ricostruito la dinamica dell'incidente, recandosi il giorno successivo presso il cantiere per azionare la macchina che aveva funzionato, impiegandola però per sollevare un pannello a pochi centimetri da terra. Dal canto suo, il consulente nominato dall'accusa aveva esaminato le guarnizioni e verificato che esse presentavano la colla impiegata fratturata, inadatta a garantire la tenuta in aspirazione, laddove altre presentavano abrasioni e lacerazioni e cinque di esse una discontinuità superiore al millimetro di larghezza, concludendo per lo stato pessimo delle stesse: oltre alle lacerazioni, non erano in pezzo unico, ma assemblate tramite colla. Quanto ai pannelli, inoltre, l'esperto aveva constatato che la loro superficie non era perfettamente piana, ma che le ventose potevano funzionare ove collocate in maniera da coinvolgere la parte piana.

In sede di integrazione dell'istruttoria, poi, il titolare della ditta che realizzava quei macchinari (presso il quale il consulente aveva condotto accertamenti e verificato che, in una macchina dello stesso tipo, le guarnizioni originali erano ricavate da un unico pezzo e non con giunture incollate) aveva affermato che nella macchina in questione era verosimile che il tipo di guarnizioni fosse "a taglio aperto", poiché nel 2004 fornivano agli acquirenti dei rotoli per effettuare le sostituzioni delle parti usurate con la relativa colla, ciò affermando in considerazione della tipologia del materiale fornito per le sostituzioni.

Alla stregua di tale chiarimento, peraltro, già il primo giudice aveva ritenuto che il macchinario fosse dotato di guarnizioni originali non a taglio unico, superando le considerazioni rassegnate dal consulente del PM sulla scorta delle informazioni parzialmente diverse che questi aveva ricevuto in sede di controllo presso il costruttore.

Tuttavia, quel giudice ha ritenuto che i difetti riscontrati sul macchinario ne confermassero la preesistenza al momento del prestito di esso da parte della ditta del A.A.: essi, riscontrati su cinque guarnizioni su otto, riguardavano le fessurazioni tra le guarnizioni che ne impedivano la tenuta; le guarnizioni inoltre erano abrase e lacerate, fratturate nel punto di giuntura e non perfettamente incollate e tali difetti, proprio alla luce della ricostruita tempistica, sono stati ritenuti presenti già al momento della consegna del mezzo dalla CFM alla B.B.. Sul punto, il Tribunale ha valorizzato i riferito dei lavoratori CFM (E.E. E F.F.), vagliandone attentamente la attendibilità e concludendo nel senso che costoro avessero confermato che la ventosa era stata revisionata prima di essere conservata, mesi prima dell'accaduto, senza che, al momento della consegna al C.C., fosse stata nuovamente sottoposta a verifica e al cambio delle guarnizioni, ritenendo infondata la spiegazione che si era tentato di accreditare, quella secondo la quale lo stato di usura riscontrato dal CT del PM e dal tecnico SIPISAL fosse conseguenza di un utilizzo avvenuto nei tre giorni in cui il C.C. aveva avuto a disposizione la ventosa. Lo stesso C.C. aveva, peraltro, ammesso contra se di aver consegnato ai propri lavoratori un macchinario che presentava guarnizioni non nuove e con segni di usura (ammaccature, taglietti). Il primo giudice ha poi esaminato le spiegazioni alternative proposte dalla difesa, anche a mezzo dell'apporto conoscitivo di un proprio esperto, ritenendole inverosimili: quanto all'asserito danneggiamento riportato dalla ventosa al momento del suo trasporto dopo l'infortunio, ha rilevato che le foto avevano consentito di accertare che le ventose erano rimaste sollevate e non potevano esser state sfregate a terra, lo sfregamento avendo potuto spiegare in ogni caso solo le abrasioni, ma non anche le scollature; quanto all'errore umano, asserito in relazione alla circostanza che durante la prova effettuata il giorno dopo, la macchina aveva funzionato, ha precisato, secondo quanto riferito dal CT del PM, che la prova era stata fatta dopo un periodo di riposo che poteva consentire alle guarnizioni, data la natura gommosa del materiale con il quale sono fatte, di recuperare un po' di elasticità, ma soprattutto ha valorizzato la circostanza che la prova era stata effettuata senza oscillazioni e mediante il sollevamento del pannello, a meno di mezzo metro in posizione orizzontale e per un breve lasso temporale, il che rendeva del tutto incomparabile tale prova rispetto alle condizioni nelle quali il macchinario era stato utilizzato in occasione dell'infortunio; sotto altro profilo, poi, ha escluso l'errore umano, ipotizzato con riferimento a un prematuro sganciamento del pannello, osservando che l'operazione presupponeva necessariamente che il pannello fosse posizionato e fissato sul tetto, dovendo l'operaio calarsi con la cesta di contenimento sul pannello per azionare il decompressore che si trovava al centro di esso che, quindi, non poteva trovarsi ancora sospeso.

La Corte territoriale, in risposta a quei motivi del gravame che toccano i punti devoluti con il ricorso (che, si anticipa, riguardano sostanzialmente l'impianto motivazionale quanto alla verifica delle condizioni del macchinario al momento dell'utilizzo, con specifico riferimento al relativo onere di controllo e alla possibilità di una sua modificazione e/o danneggiamento nel lasso temporale tra la consegna e l'utilizzo; alla circostanza del mancato azionamento dell'allarme acustico e visivo; alla tenuta delle guarnizioni in dotazione del macchinario; alla ricostruzione causale dell'evento, per mancata individuazione della causa dell'infortunio; alla valutazione delle prospettate tesi alternative a difesa, con travisamento dei relativi fatti), ha preliminarmente dato atto della intervenuta rinuncia dell'imputato a far valere la prescrizione, che ha ritenuto già maturata, concludendo per la conferma della condanna in ordine al reato di lesioni colpose (stante la declaratoria di estinzione per prescrizione della contravvenzione nel giudizio di primo grado) e ritenendo in particolare integrato l'addebito di colpa specifico (art. 23 D.Lgs. n. 81/2008), per avere il A.A. concesso in uso un macchinario non in perfetto stato di manutenzione, valutando le censure difensive inerenti alle caratteristiche delle guarnizioni incriminate del tutto eccentriche rispetto all'imputazione, con la quale si era contestato il cattivo stato di manutenzione dell'accessorio concesso in uso, anche in considerazione delle tempistiche (lasso tra la consegna e l'utilizzo e tra l'infortunio e le verifiche SPISAL).

Quanto, invece, al mancato azionamento dell'allarme acustico, ha condiviso la conclusione del Tribunale che aveva ritenuto la circostanza irrilevante, posto che l'inserimento del dispositivo doveva avvenire manualmente prima dell'azionamento del macchinario e che i lavoratori non avevano ricevuto alcuna formazione in merito (lo stesso libretto d'uso chiarendo in maniera irrefutabile che il dispositivo doveva essere attivato a inizio lavoro ponendo la leva in posizione "ON"). Ha parimenti condiviso il giudizio di irrilevanza degli esiti della prova effettuata il giorno dopo dal tecnico SPISAL richiamando le diverse condizioni nelle quali era stata condotta rispetto alla lavorazione durante la quale era avvenuto l'infortunio, affermando altresì che quella verifica non aveva connotati probatori, siccome non espletata con esperimento giudiziale, disconoscendone lei valenza falsificatoria del ragionamento probatorio basato su altri elementi.

3. La difesa dell'imputato A.A. ha proposto ricorso, formulando tre motivi.

Con il primo, ha dedotto vizio della motivazione, sotto forma di mancanza, in riferimento allo specifico motivo di appello, con il quale si era chiesta l'assoluzione dell'imputato, per essere l'onere di verifica delle condizioni del macchinario gravante sull'utilizzatore. Il deducente ha osservato che nella specie si tratterebbe di verifica da effettuarsi sempre e non periodicamente e che, siccome prescinderebbe dai pregressi uso e manutenzione, potendo anche minimi eventi compromettere il buon funzionamento, l'obbligo riconosciuto in capo al A.A. sarebbe sostanzialmente impossibile da osservare, a differenza dell'utilizzatore che può svolgere detto controllo ogni qualvolta utilizzi il macchinario, lo stesso esperto SPISAL avendo confermato che dal momento in cui la macchina viene consegnata l'utilizzatore deve verificarne lo stato di manutenzione. Quanto al lasso temporale tra la consegna e l'infortunio (tre giorni), il deducente ha rilevato che l'osservazione dei giudici del merito è viziata da aggravata illogicità, dal momento che l'utilizzatore/datore di lavoro aveva l'obbligo di effettuare comunque la verifica del buono stato delle guarnizioni, a prescindere dalla durata di tale lasso temporale, considerato peraltro che il A.A. non è un noleggiatore professionale, ma aveva solo prestato lo stesso al C.C. perché costui potesse provarlo ai fini di un eventuale, successivo acquisto e che il macchinario non era stato consegnato al cantiere edile, ma prelevato dallo stesso C.C., provato e, poi, da questi trasferito sul cantiere edile.

Ai fini della valutazione, inoltre, la Corte territoriale non avrebbe dovuto considerare solo il breve lasso temporale, quanto semmai l'uso fatto del macchinario in quel frangente, potendo anche l'impiego per pochi minuti determinare il grave deperimento delle guarnizioni, tenuto anche conto della mancata formazione del personale addetto dal C.C. all'utilizzo del macchinario (in ricorso elencandosi varie possibilità dipendenti da tale difetto di formazione).

Ha, poi, richiamato la prova testimoniale, inferendone conferma che lo stato delle guarnizioni alla consegna era buono, trattandosi di guarnizioni nuove, posto che il materiale del quale sono fatte si deteriora anche senza uso e che la sistemazione della macchina, prima della consegna, presupponeva la sostituzione delle guarnizioni apposte allorquando era stata conservata. Ancora, ha contestato la valutazione operata in ordine all'esito delle verifiche da parte dell'esperto SPISAL, dalla Corte svalutato probatoriamente e ritenuto dalla difesa di assoluto rilievo in relazione alle modalità con le quali, dopo l'infortunio, il macchinario fu trasportato sul camion, pur prevedendo il libretto d'uso quale unica modalità per il trasporto l'aggancio a un occhiello e avendo il consulente della difesa affermato la possibilità che le degradazioni rilevate fossero conseguenza di tale trasporto, in difetto di una prova delle condizioni delle guarnizioni al momento della consegna ed essendo stato il macchinario utilizzato dal C.C. prima del giorno dell'infortunio e il giorno successivo, impropriamente appoggiato sul cassone del camion per il trasporto.

La difesa, inoltre, ha dedotto il travisamento di alcuni fatti: con l'attivazione del sistema di allarme, si attiverebbe anche la pompa che genera il vuoto, aspirando l'aria, i segnali cessando al raggiungimento della depressione necessaria; inoltre, anche ove il sistema d'allarme ordinario fosse escludibile manualmente, altrettanto non potrebbe dirsi per quello di emergenza, privo di interruttori e ad attivazione automatica, spiegazione che l'esperto SPISAL non ha espressamente escluso, l'organo accertatore avendo chiesto ai lavoratori non se i sistemi di allarme fossero stati attivati, ma se avessero suonato al distacco del pannello, neppure il CT del PM avendo saputo spiegare il mancato inserimento dell'allarme. Da ciò il deducente ha inferito la conferma che il distacco del pannello non era dipeso da una perdita di depressione del sollevatore conseguente alla tenuta delle guarnizioni e che, in ogni caso, il difetto di elementi di certezza sul punto avrebbe dovuto essere compensato con apposita perizia e non attraverso una valutazione basata su una ipotesi (allarme non inserito per mancata formazione dei lavoratori).

Ha, poi, contestato la valutazione dell'esito della verifica condotta dallo SPISAL alla quale la Corte distrettuale ha negato i connotati di un vero esperimento giudiziale, osservando che lo stesso PM non aveva ritenuto di procedere con detta prova e che, in ogni caso, nulla sarebbe cambiato ove la verifica fosse stata formalmente eseguita a seguito di esperimento giudiziale, altresì precisando che, se l'attività svolta dall'organo ispettivo non aveva valore di prova, allora l'accertamento non poteva valere neppure per documentare lo stato delle guarnizioni e che l'intervento in questione aveva determinato la manipolazione dello stato dei luoghi, non avendo potuto l'imputato prendervi parte.

Con il secondo motivo, ha dedotto vizio della motivazione con riferimento alla censura d'appello con la quale era stata richiesta l'assoluzione dell'imputato in ragione dell'esistenza di condotte di terzi atte a interrompere il nesso di causa tra la condotta al medesimo contestata e l'evento e violazione degli artt. 41, cod. pen. e 192, comma 2, cod. proc. pen. Secondo il deducente, l'istruttoria avrebbe dimostrato che era obbligo del datore di lavoro verificare lo stato delle guarnizioni prima dell'inizio del lavoro, essendo emerso che, nell'occorso, ciò non era stato fatto, verifica ancor più necessaria posto che il sollevatore era già stato usato dalla ditta B.B. il sabato precedente. Inoltre, la movimentazione dei pannelli doveva avvenire solo a mezzo cinghie, il POS non contemplando alcun sollevatore, considerata anche la natura dei pannelli, la cui superficie non era piana, ma "grecata"; inoltre, era mancata la prova che tali mancanze fossero state portate a conoscenza del A.A. Pertanto, secondo il ragionamento difensivo, anche ove le guarnizioni fossero state in perfetto stato, la condotta omissiva ascritta all'imputato era stata del tutto ininfluente sul decorso causale, non avendo inciso sul determinismo dell'evento stanti le violazioni di obblighi di prudenza da parte del datore di lavoro e dei lavoratori.

Con il terzo motivo, ha dedotto vizio della motivazione con riferimento al motivo di gravame con il quale si era chiesta l'assoluzione dell'imputato per introduzione di un ragionevole dubbio in considerazione delle formulate ipotesi alternative, oltre al travisamento dei fatti. Il consulente non avrebbe verificato se la macchina era funzionante, ritenendo di rinviare agli esiti della prova effettuata dallo SPISAL, la difesa contestando la spiegazione addotta (esser stata la macchina sotto sequestro). Inoltre, non era stato in grado di riferire perché il pannello si era staccato, laddove il tecnico SPISAL, constatato il funzionamento regolare della ventosa, aveva ipotizzato che il distacco fosse avvenuto per lo scorretto posizionamento del sollevatore e avuto riguardo alla superficie non liscia dello stesso, non compatibile con quel dispositivo come risultava anche dal libretto d'uso.

Il metodo impiegato dal consulente dell'accusa era stato criticato da quello della difesa, il quale aveva anche rilevato le gravi lacune nella verifica operata dallo SPISAL che non aveva correttamente fotografato la scena dell'infortunio. Da ciò la difesa ha inferito il difetto di elementi certi per ricostruire il nesso causale, laddove la Corte d'appello, sorvolando su tali dubbi, avrebbe concluso diversamente senza dare atto del dibattito sul punto tra gli esperti (G.G. dello SPISAL e i consulenti), in maniera che la difesa ha giudicato incoerente con i principi di derivazione giurisprudenziale sulla valutazione della prova scientifica.

4. Il procuratore generale, in persona del sostituto H.H., ha concluso per l'annullamento del provvedimento impugnato con rinvio per un nuovo esame.

5. La difesa ha depositato conclusioni scritte, con le quali, richiamati i motivi di ricorso e le conclusioni del Procuratore generale, ha insistito nell'accoglimento del ricorso.

Considerato in diritto

1. Il ricorso è inammissibile.

2. Qualche premessa è necessaria prima di procedere all'esame dei motivi, in ragione del tenore di essi.

2.1. La decisione della Corte territoriale, nella specie, si salda con quella appellata, stante la conformità dei giudizi. Ciò ha evidenti ricadute sulla natura del sindacato di legittimità per quanto riguarda la verifica dell'adeguatezza e congruità del ragionamento giustificativo in ordine alle doglianze formulate in punto accertamento della responsabilità (sussistenza dell'obbligo della cui violazione si discute e nesso di causa), ma anche sulla tipologia di vizio deducibile.

Si è già da tempo chiarito, per esempio, che il vizio di travisamento della prova (implicitamente evocato a difesa con riferimento alla lettura degli elementi fattuali, anche di natura tecnica, acquisiti al processo) può essere dedotto con il ricorso per cassazione, nel caso di cosiddetta "doppia conforme", sia nell'ipotesi in cui il giudice di appello, per rispondere alle critiche contenute nei motivi di gravame, abbia richiamato dati probatori non esaminati dal primo giudice, sia quando entrambi i giudici del merito siano incorsi nel medesimo travisamento delle risultanze probatorie acquisite in forma di tale macroscopica o manifesta evidenza da imporre, in termini inequivocabili, il riscontro della non corrispondenza delle motivazioni di entrambe le sentenze di merito rispetto al compendio probatorio acquisito nel contraddittorio delle parti (sez. 4, n. 44765 del 22/10/2013, Buonfine, Rv. 256837-01; sez. 2, n. 5336 del 9/1/2018, L, Rv. 272018-01; sez. 4, n. 35963 del 3/12/2020, Tassoni, Rv. 280155-01; sez. 3, n. 45537 del 28/9/2022, M., Rv. 283777-01).

In ogni caso, il vizio in questione, anche a seguito della modifica apportata all'art. 606, comma primo, lett. e), cod. proc. pen. dall'art. 8, comma primo, della legge n. 46 del 2006, che ha esteso l'ambito della deducibilità del vizio di motivazione anche ad altri atti del processo specificamente indicati nei motivi di gravame, introducendo il travisamento della prova quale ulteriore criterio di valutazione della contraddittorietà estrinseca della motivazione, per essere esaminabile in sede di legittimità deve riguardare uno o più specifici atti del giudizio e non il fatto nella sua interezza (sez. 3, n. 38431 del 31/1/2018, Ndoja, Rv. 273911-01; sez. 1, n. 39846 del 23/5/2023, Salerno, Rv. 285368-01).

2.2. Inoltre, deve precisarsi che il vizio motivazionale, in ipotesi di doppia sentenza conforme nel merito, non può tradursi nella reiterazione della tesi difensiva esaminata dai giudici d'appello (sez. 3 n. 13926 del 1/12/2011, dep. 2012, Valerio, Rv. 252615; sez. 3 n. 44418 del 16/7/2013, Argentieri, Rv, 257595; sez. 2, n. 37295 del 12/6/2019, Rv. 277218): il che avviene esattamente quando le sentenze di primo e di secondo grado, saldandosi, formino un unico complesso motivazionale (nel senso sopra indicato), come accaduto nella specie, e quando i motivi di gravame non abbiano riguardato elementi nuovi, ma si siano limitati a prospettare circostanze già esaminate ed ampiamente chiarite nella decisione impugnata, come è accaduto nella specie.

2.3. Non pare ultroneo ricordare, poi, stante la natura di alcune censure, che sono del tutto estranei al giudizio di legittimità la valutazione e l'apprezzamento del significato degli elementi probatori (ivi compreso il sapere tecnico eventualmente veicolato nel processo) che attengono interamente al merito. Se ne inferisce, pertanto, l'inammissibilità di doglianze sostanzialmente intese a sollecitare una rivalutazione del risultato probatorio, secondo diversi parametri di ricostruzione e valutazione dei fatti, indicati come maggiormente plausibili o dotati di migliore capacità esplicativa rispetto a quelli adottati dal giudice del merito (sez. 6 n. 47204 del 7/10/2015, Musso, Rv. 265482-01; sez. 6 n. 5465 del 4711/2020, dep. 2021, F, Rv. 280601-01; sez. 3 n. 18521 del 11/1/2018, Ferri, Rv. 273217; sez. 6 n. 25255 del 14/2/2012, Minervini, Rv. 253099-01, in cui si è precisato, come già sopra chiarito, che, anche a seguito della modifica apportata all'art. 606, lett. e), cod. proc. pen. dalla l. n. 46 del 2006, resta non deducibile nel giudizio di legittimità il travisamento del fatto, stante la preclusione per la Corte di cassazione di sovrapporre la propria valutazione delle risultanze processuali a quella compiuta nei precedenti gradi di merito).

2.4. Infine, sotto altro profilo, va ribadita l'inammissibilità del motivo con il quale si deduca la violazione dell'art. 192 cod. proc. pen., anche se in relazione agli artt. 125 e 546, comma 1, lett. e), stesso codice, per censurare l'omessa o erronea valutazione degli elementi di prova acquisiti o acquisibili, in quanto i limiti all'ammissibilità delle doglianze connesse alla motivazione, fissati specificamente dall'art. 606, comma 1, lett. e), cod. proc. pen., non possono essere superati ricorrendo al motivo di cui alla lettera c) della medesima disposizione, nella parte in cui consente di dolersi dell'inosservanza delle norme processuali stabilite a pena di nullità (Sez. U, n. 29541/2020, Filardo, Rv. 280027-04; sez. 6, n. 4119 del 3/4/2019, dep. 2020, Romeo, Rv. 278196-02, con riferimento all'art. 192, comma 3, cod. proc. pen., ove si è precisato che la violazione potrà esser fatta valere soltanto nei limiti indicati dalla lett. e) della stessa norma, ossia come mancanza, contraddittorietà o manifesta illogicità della motivazione, quando il vizio risulti dal testo del provvedimento o da altri atti specificamente indicati nei motivi di gravame).

3. Fatte tali premesse, il primo motivo è manifestamente infondato.

La difesa, reiterando una tesi già dibattuta nel giudizio d'appello, ha riproposto il tema dell'esistenza dell'obbligo del concedente in uso del macchinario di verificarne le condizioni prima della consegna, ritenendo che esso incomba sull'utilizzatore prima di ogni utilizzo. Tale tesi è smentita, intanto, dal chiaro tenore dell'imputazione, con la quale si è espressamente rimproverato al A.A. di aver concesso in uso alla ditta del C.C. un macchinario non rispondente alle disposizioni legislative e regolamentari in materia di salute e sicurezza sul lavoro, dal cui utilizzo è derivato l'evento (art. 2.3, D.Lgs. n. 81/2008, norma che riproduce esattamente l'abrogato art. 6, comma 2, D.Lgs. n. 626/1994) e dai principi più volte formulati dalla giurisprudenza di legittimità in ordine alla concorrenza delle due posizioni di gestori del rischio (quella, cioè, del fabbricante/venditore/noleggiatore/concedente del macchinario e quella dell'utilizzatore/datore di lavoro). Nella specie le lesioni sono state cagionate dall'impiego di un macchinario ad uso lavorativo cosicché, qualora un infortunio sia dipeso dalla utilizzazione di macchine o impianti non conformi alle norme antinfortunistiche, la responsabilità dell'imprenditore che li ha messi in funzione senza ovviare alla non rispondenza alla normativa suddetta non fa venir meno la responsabilità di chi ha costruito, installato, venduto o ceduto gli impianti o i macchinari stessi (sez. 4, n. 2494 del 3712/2009, dep. 2010, Castelletti, Rv. 246162-01, in cui si è fatta applicazione dei principi già espressi dal diritto vivente, v. Sez. U, n. 1003 del 23/11/1990, dep. 1991, Tescaro, Rv. 186372-01; ma anche sez. 4, n. 41147 del 27/10/2021, Fava retto, Rv. 282065-01; n. 1184 del 3/10/2018, dep. 2019, Motta, Rv. 275114-02). Tali principi, peraltro, sono stati successivamente ripresi, riconoscendosi la responsabilità del venditore allorquando, pur essendo conoscibile la non conformità del macchinario alle prescrizioni in tema di sicurezza, egli non si sia attivato per eliminare la difformità prima della vendita (sez. 4, n. 35295 del 23/4/2013, Bendotti, Rv. 256399-01, in fattispecie in cui è stata riconosciuta la responsabilità per omicidio colposo del venditore di una mini pala in abbinamento con una benna miscelatrice, capovoltasi addosso ad un operaio per l'eccessivo carico, in assenza di adeguate indicazioni, con tacche o segni nella benna, dei livelli massimi di possibile riempimento).

Trattasi, peraltro, di divieto non limitato al fornitore professionale della macchina, il relativo obbligo incombendo anche su chi l'abbia ceduta solo occasionalmente (sez. 3, n. 10342 del 28/6/2000, Piola, Rv. 217456-01, in cui il principio è stato affermato, in materia di vendita, con riferimento all'allora vigente art. 6, comma 2, del D.Lgs. 19 settembre 1994 n. 626, come sostituito dall'art. 4 del D.Lgs. 19 marzo 1996 n. 242). Va, poi ricordato che neppure una formale certificazione attestante la rispondenza alle misure esonera il venditore (ma, si ritiene, anche il cedente) per le lesioni derivanti da un infortunio sul lavoro per effetto dell'impiego del macchinario difettoso (sez. 4, n. 18139 del 17/4/2012, Perrone, Rv. 253771-01; n. 35295 del 23/4/2013).

Nel caso all'esame, entrambi i giudici del merito hanno ritenuto che il vizio del macchinario non consistesse nella dotazione di guarnizioni non originali (ciò che era stato contraddetto dagli esiti dell'istruttoria, essendo emerso che le guarnizioni erano compatibili con quelle in dotazione all'epoca di costruzione della ventosa); ma hanno, al contempo, precisato - sulla scorta della disamina delle evidenze raccolte, sulle quali questa Corte non può essere chiamata, per i principi sopra esposti, a compiere una rivalutazione nei termini ritenuti più convincenti dalla difesa - che le guarnizioni installate sul mezzo ceduto in uso erano danneggiate o, comunque, inadatte a garantire un funzionamento in sicurezza del dispositivo e che proprio da tale condizione era dipeso il distacco del pannello.

4. Dai principi sopra richiamati, discende anche la manifesta infondatezza della seconda e della terza censura, con le quali la difesa ha reiterato argomenti introduttivi, a suo parere, di un ragionevole dubbio sul decorso causale, anche al a luce di un asserito comportamento altrui rilevante ai sensi dell'art. 41, comma 2, cod. pen. Ribadito, tuttavia, quanto già precisato a proposito dei limiti del sindacato di legittimità sulla tenuta del percorso argomentativo dei giudici del merito e sulla valutazione di elementi fattuali, in questa sede interdetta, va precisato che i giudici del merito, con motivazione congrua, scevra da profili di contraddittorietà e non manifestamente illogica, hanno spiegato perché le condizioni delle guarnizioni non potevano essere ricondotte a un danneggiamento intervenuto nel breve lasso di tempo tra la consegna di esso e l'utilizzo del sollevatore a ventosa e neppure successivamente all'infortunio e durante il trasporto del macchinario stesso. La prospettazione difensiva, invero, poggia interamente su censure con le quali si è inteso "attaccare" la persuasività e l'adeguatezza del ragionamento probatorio ed evidenziare una mancanza di rigore o puntualità (o, al limite, una mera illogicità, certamente non manifesta), quando non sollecitare una differente comparazione dei significati probatori da attribuire alle prove o evidenziare ragioni in fatto per giungere a conclusioni differenti sulla valenza probatoria del singolo elemento, ciò che, in questa sede, è per l'appunto interdetto (sez. 2, n. 9106 del 12/2/2021, Caradonna, Rv. 280747).

5. Alla declaratoria di inammissibilità segue la condanna del ricorrente al pagamento delle spese processuali e della somma di euro tremila in favore della Cassa delle ammende, non ravvisandosi ragioni di esonero in ordine alla causa di inammissibilità (Corte cost. n. 186/2000).

P.Q.M.

Dichiara inammissibile il ricorso e condanna il ricorrente al pagamento delle spese processuali e della somma di euro tremila in favore della Cassa delle ammende.

Così deciso in Roma, il 20 gennaio 2024.

Depositata in Cancelleria il 14 marzo 2024.

Certifico s.r.l.

Sede: Via A. De Curtis, 28 - 06135 Perugia - IT
Sede: Via Madonna Alta 138/A - 06128 Perugia - IT
P. IVA: IT02442650541

Tel. 1: +39 075 599 73 63
Tel. 2: +39 075 599 73 43

Assistenza: +39 075 599 73 43

www.certifico.com
info@certifico.com

Testata editoriale iscritta al n. 22/2024 del registro periodici della cancelleria del Tribunale di Perugia in data 19.11.2024

25.411MBMemory Usage317msRequest Duration
Joomla! Version5.2.5
PHP Version8.3.14
Identityguest
Response200
Templateshaper_helixultimate
Database
Server
mysql
Version
10.11.6-MariaDB-0+deb12u1
Collation
utf8mb3_general_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
array:1 [ "62a92c53e84a3da1ecb6bdbbf83e5ec6" => "f3mdlegeu4pmk5smjnlo4s9aaq" ]
$_SERVER
array:48 [ "USER" => "certifico_com_user" "HOME" => "/var/www/vhosts/certifico.com" "SCRIPT_NA...
session
array:3 [ "counter" => 7 "timer" => array:3 [ "start" => 1744480384 "last" => 1744480390...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (86.59KB) (3.88ms)
  • afterInitialise (3.35MB) (30.92ms)
  • afterRoute (370.42KB) (9.86ms)
  • beforeRenderComponent com_content (37.3KB) (1.14ms)
  • Before Access::preloadComponents (all components) (34.53KB) (1.37ms)
  • After Access::preloadComponents (all components) (115.88KB) (476μs)
  • Before Access::preloadPermissions (com_content) (1.51KB) (11μs)
  • After Access::preloadPermissions (com_content) (16.82MB) (27.51ms)
  • Before Access::getAssetRules (id:43685 name:com_content.article.21528) (514.65KB) (470μs)
  • After Access::getAssetRules (id:43685 name:com_content.article.21528) (12.67KB) (229μs)
  • afterRenderComponent com_content (621.05KB) (42.83ms)
  • afterDispatch (2.44KB) (301μs)
  • beforeRenderRawModule mod_login (Accedi all'area riservata) (1.75MB) (15.34ms)
  • afterRenderRawModule mod_login (Accedi all'area riservata) (62.87KB) (2.51ms)
  • beforeRenderModule mod_login (Accedi all'area riservata) (736B) (3μs)
  • afterRenderModule mod_login (Accedi all'area riservata) (5.95KB) (327μs)
  • beforeRenderRawModule mod_menu (Main Menu) (33.91KB) (3.6ms)
  • afterRenderRawModule mod_menu (Main Menu) (21.86KB) (34.32ms)
  • beforeRenderModule mod_menu (Main Menu) (704B) (4μs)
  • afterRenderModule mod_menu (Main Menu) (11.27KB) (654μs)
  • beforeRenderRawModule mod_menu (Social) (41.43KB) (596μs)
  • afterRenderRawModule mod_menu (Social) (60.09KB) (4.11ms)
  • beforeRenderModule mod_menu (Social) (704B) (3μs)
  • afterRenderModule mod_menu (Social) (3.92KB) (568μs)
  • beforeRenderRawModule mod_menu (Media) (912B) (15μs)
  • afterRenderRawModule mod_menu (Media) (14.41KB) (3.59ms)
  • beforeRenderModule mod_menu (Media) (704B) (3μs)
  • afterRenderModule mod_menu (Media) (3.11KB) (639μs)
  • beforeRenderRawModule mod_menu (Policies) (616B) (47μs)
  • afterRenderRawModule mod_menu (Policies) (23.48KB) (4.48ms)
  • beforeRenderModule mod_menu (Policies) (704B) (2μs)
  • afterRenderModule mod_menu (Policies) (3.3KB) (478μs)
  • beforeRenderRawModule mod_menu (Store) (912B) (10μs)
  • afterRenderRawModule mod_menu (Store) (18.38KB) (3.07ms)
  • beforeRenderModule mod_menu (Store) (704B) (2μs)
  • afterRenderModule mod_menu (Store) (3.3KB) (473μs)
  • beforeRenderRawModule mod_menu (Info) (440B) (29μs)
  • afterRenderRawModule mod_menu (Info) (10.42KB) (2.12ms)
  • beforeRenderModule mod_menu (Info) (704B) (2μs)
  • afterRenderModule mod_menu (Info) (3.05KB) (556μs)
  • beforeRenderRawModule mod_menu (Marketing) (896B) (13μs)
  • afterRenderRawModule mod_menu (Marketing) (21.64KB) (4.62ms)
  • beforeRenderModule mod_menu (Marketing) (704B) (3μs)
  • afterRenderModule mod_menu (Marketing) (3.3KB) (614μs)
  • beforeRenderRawModule mod_custom (Certifico s.r.l.) (2.29KB) (39μs)
  • afterRenderRawModule mod_custom (Certifico s.r.l.) (4.22KB) (744μs)
  • beforeRenderModule mod_custom (Certifico s.r.l.) (720B) (3μs)
  • afterRenderModule mod_custom (Certifico s.r.l.) (3.36KB) (626μs)
  • beforeRenderRawModule mod_menu (Documenti Abbonati) (1.96KB) (36μs)
  • afterRenderRawModule mod_menu (Documenti Abbonati) (164.93KB) (8.05ms)
  • beforeRenderModule mod_menu (Documenti Abbonati) (720B) (4μs)
  • afterRenderModule mod_menu (Documenti Abbonati) (3.94KB) (624μs)
  • beforeRenderRawModule mod_articles_categories (Sicurezza lavoro) (2.36KB) (13μs)
  • afterRenderRawModule mod_articles_categories (Sicurezza lavoro) (450.51KB) (21.37ms)
  • beforeRenderModule mod_articles_categories (Sicurezza lavoro) (720B) (5μs)
  • afterRenderModule mod_articles_categories (Sicurezza lavoro) (14.52KB) (665μs)
  • beforeRenderRawModule mod_custom (Regolamento Macchine) (9.7KB) (17μs)
  • afterRenderRawModule mod_custom (Regolamento Macchine) (1.03KB) (153μs)
  • beforeRenderModule mod_custom (Regolamento Macchine) (720B) (2μs)
  • afterRenderModule mod_custom (Regolamento Macchine) (5.08KB) (226μs)
  • beforeRenderRawModule mod_custom (D. Lgs. 81/2008 - TUSSL) (13.5KB) (11μs)
  • afterRenderRawModule mod_custom (D. Lgs. 81/2008 - TUSSL) (928B) (113μs)
  • beforeRenderModule mod_custom (D. Lgs. 81/2008 - TUSSL) (720B) (1μs)
  • afterRenderModule mod_custom (D. Lgs. 81/2008 - TUSSL) (4.02KB) (93μs)
  • beforeRenderRawModule mod_custom (Codice Prevenzione Incendi | RTO II) (2.25KB) (10μs)
  • afterRenderRawModule mod_custom (Codice Prevenzione Incendi | RTO II) (3.41KB) (107μs)
  • beforeRenderModule mod_custom (Codice Prevenzione Incendi | RTO II) (736B) (2μs)
  • afterRenderModule mod_custom (Codice Prevenzione Incendi | RTO II) (4.16KB) (92μs)
  • beforeRenderRawModule mod_custom (TUA | Testo Unico Ambiente) (1.63KB) (10μs)
  • afterRenderRawModule mod_custom (TUA | Testo Unico Ambiente) (928B) (106μs)
  • beforeRenderModule mod_custom (TUA | Testo Unico Ambiente) (736B) (2μs)
  • afterRenderModule mod_custom (TUA | Testo Unico Ambiente) (4.03KB) (90μs)
  • beforeRenderRawModule mod_custom (TUSSL / Link) (2.52KB) (9μs)
  • afterRenderRawModule mod_custom (TUSSL / Link) (976B) (107μs)
  • beforeRenderModule mod_custom (TUSSL / Link) (720B) (2μs)
  • afterRenderModule mod_custom (TUSSL / Link) (3.64KB) (89μs)
  • beforeRenderRawModule mod_custom (Glossario Certifico HSE) (2.38KB) (9μs)
  • afterRenderRawModule mod_custom (Glossario Certifico HSE) (1.03KB) (107μs)
  • beforeRenderModule mod_custom (Glossario Certifico HSE) (720B) (1μs)
  • afterRenderModule mod_custom (Glossario Certifico HSE) (3.77KB) (93μs)
  • beforeRenderRawModule mod_custom (CEM4 || Ultimo aggiornamento) (2KB) (9μs)
  • afterRenderRawModule mod_custom (CEM4 || Ultimo aggiornamento) (1.03KB) (109μs)
  • beforeRenderModule mod_custom (CEM4 || Ultimo aggiornamento) (736B) (1μs)
  • afterRenderModule mod_custom (CEM4 || Ultimo aggiornamento) (3.91KB) (88μs)
  • beforeRenderRawModule mod_custom (D. Lgs. 231/2001 - Responsabilità amministrativa enti) (2.09KB) (9μs)
  • afterRenderRawModule mod_custom (D. Lgs. 231/2001 - Responsabilità amministrativa enti) (960B) (105μs)
  • beforeRenderModule mod_custom (D. Lgs. 231/2001 - Responsabilità amministrativa enti) (752B) (2μs)
  • afterRenderModule mod_custom (D. Lgs. 231/2001 - Responsabilità amministrativa enti) (4.42KB) (86μs)
  • beforeRenderRawModule mod_custom (D. Lgs. 196/2003 - Codice protezione dati personali | GDPR) (1.78KB) (11μs)
  • afterRenderRawModule mod_custom (D. Lgs. 196/2003 - Codice protezione dati personali | GDPR) (960B) (106μs)
  • beforeRenderModule mod_custom (D. Lgs. 196/2003 - Codice protezione dati personali | GDPR) (768B) (2μs)
  • afterRenderModule mod_custom (D. Lgs. 196/2003 - Codice protezione dati personali | GDPR) (4.44KB) (85μs)
  • beforeRenderRawModule mod_custom (D. Lgs. 101/2020 - Protezione esposizione radiazioni ionizzanti) (2.72KB) (10μs)
  • afterRenderRawModule mod_custom (D. Lgs. 101/2020 - Protezione esposizione radiazioni ionizzanti) (960B) (107μs)
  • beforeRenderModule mod_custom (D. Lgs. 101/2020 - Protezione esposizione radiazioni ionizzanti) (768B) (2μs)
  • afterRenderModule mod_custom (D. Lgs. 101/2020 - Protezione esposizione radiazioni ionizzanti) (4.44KB) (89μs)
  • beforeRenderRawModule mod_custom (Direttiva macchine e norme armonizzate) (2.73KB) (9μs)
  • afterRenderRawModule mod_custom (Direttiva macchine e norme armonizzate) (1.05KB) (107μs)
  • beforeRenderModule mod_custom (Direttiva macchine e norme armonizzate) (736B) (2μs)
  • afterRenderModule mod_custom (Direttiva macchine e norme armonizzate) (4.16KB) (85μs)
  • beforeRenderRawModule mod_custom (Certifico ADR) (2.77KB) (8μs)
  • afterRenderRawModule mod_custom (Certifico ADR) (1.02KB) (106μs)
  • beforeRenderModule mod_custom (Certifico ADR) (720B) (2μs)
  • afterRenderModule mod_custom (Certifico ADR) (3.89KB) (85μs)
  • beforeRenderRawModule mod_custom (MOCA - GMP | Consolidato) (1.5KB) (8μs)
  • afterRenderRawModule mod_custom (MOCA - GMP | Consolidato) (1.03KB) (105μs)
  • beforeRenderModule mod_custom (MOCA - GMP | Consolidato) (736B) (2μs)
  • afterRenderModule mod_custom (MOCA - GMP | Consolidato) (4.02KB) (88μs)
  • beforeRenderRawModule mod_custom (Codice Unico Sicurezza) (2.25KB) (9μs)
  • afterRenderRawModule mod_custom (Codice Unico Sicurezza) (928B) (106μs)
  • beforeRenderModule mod_custom (Codice Unico Sicurezza) (720B) (2μs)
  • afterRenderModule mod_custom (Codice Unico Sicurezza) (4.02KB) (92μs)
  • beforeRenderRawModule mod_custom (DM 21 Marzo 1973 | MOCA IT) (2.38KB) (9μs)
  • afterRenderRawModule mod_custom (DM 21 Marzo 1973 | MOCA IT) (1.03KB) (108μs)
  • beforeRenderModule mod_custom (DM 21 Marzo 1973 | MOCA IT) (736B) (2μs)
  • afterRenderModule mod_custom (DM 21 Marzo 1973 | MOCA IT) (4.03KB) (87μs)
  • beforeRenderRawModule mod_custom (Abbonamento Full) (2.39KB) (9μs)
  • afterRenderRawModule mod_custom (Abbonamento Full) (912B) (109μs)
  • beforeRenderModule mod_custom (Abbonamento Full) (720B) (2μs)
  • afterRenderModule mod_custom (Abbonamento Full) (4.89KB) (94μs)
  • beforeRenderRawModule mod_custom (Abbonamento Full Plus) (1.63KB) (10μs)
  • afterRenderRawModule mod_custom (Abbonamento Full Plus) (912B) (107μs)
  • beforeRenderModule mod_custom (Abbonamento Full Plus) (720B) (1μs)
  • afterRenderModule mod_custom (Abbonamento Full Plus) (4.14KB) (87μs)
  • beforeRenderRawModule mod_custom (Store Certifico) (3.27KB) (9μs)
  • afterRenderRawModule mod_custom (Store Certifico) (976B) (105μs)
  • beforeRenderModule mod_custom (Store Certifico) (720B) (2μs)
  • afterRenderModule mod_custom (Store Certifico) (3.58KB) (85μs)
  • beforeRenderRawModule mod_custom (Food Safety book) (2.52KB) (8μs)
  • afterRenderRawModule mod_custom (Food Safety book) (12.02KB) (106μs)
  • beforeRenderModule mod_custom (Food Safety book) (720B) (2μs)
  • afterRenderModule mod_custom (Food Safety book) (4.02KB) (85μs)
  • beforeRenderRawModule mod_custom (MEPA) (1.95KB) (8μs)
  • afterRenderRawModule mod_custom (MEPA) (960B) (124μs)
  • beforeRenderModule mod_custom (MEPA) (704B) (1μs)
  • afterRenderModule mod_custom (MEPA) (3.75KB) (90μs)
  • beforeRenderRawModule mod_menu (Temi) (904B) (48μs)
  • afterRenderRawModule mod_menu (Temi) (292.94KB) (47.12ms)
  • beforeRenderModule mod_menu (Temi) (704B) (4μs)
  • afterRenderModule mod_menu (Temi) (22.67KB) (498μs)
  • beforeRenderRawModule mod_custom (Titolo "Sicurezza lavoro") (2.18KB) (38μs)
  • afterRenderRawModule mod_custom (Titolo "Sicurezza lavoro") (1008B) (118μs)
  • beforeRenderModule mod_custom (Titolo "Sicurezza lavoro") (736B) (1μs)
  • afterRenderModule mod_custom (Titolo "Sicurezza lavoro") (2.69KB) (477μs)
  • beforeRenderRawModule mod_menu (Top Menu) (2.56KB) (53μs)
  • afterRenderRawModule mod_menu (Top Menu) (31.08KB) (4.54ms)
  • beforeRenderModule mod_menu (Top Menu) (704B) (2μs)
  • afterRenderModule mod_menu (Top Menu) (4.11KB) (79μs)
  • afterRender (786.97KB) (24.91ms)
  • 1 x afterRenderRawModule mod_menu (Temi) (292.94KB) (14.89%)
    47.12ms
    1 x afterRenderComponent com_content (621.05KB) (13.53%)
    42.83ms
    1 x afterRenderRawModule mod_menu (Main Menu) (21.86KB) (10.84%)
    34.32ms
    1 x afterInitialise (3.35MB) (9.77%)
    30.92ms
    1 x After Access::preloadPermissions (com_content) (16.82MB) (8.69%)
    27.51ms
    1 x afterRender (786.97KB) (7.87%)
    24.91ms
    1 x afterRenderRawModule mod_articles_categories (Sicurezza lavoro) (450.51KB) (6.75%)
    21.37ms
    1 x beforeRenderRawModule mod_login (Accedi all'area riservata) (1.75MB) (4.85%)
    15.34ms
    1 x afterRoute (370.42KB) (3.12%)
    9.86ms
    1 x afterRenderRawModule mod_menu (Documenti Abbonati) (164.93KB) (2.54%)
    8.05ms
    1 x afterRenderRawModule mod_menu (Marketing) (21.64KB) (1.46%)
    4.62ms
    1 x afterRenderRawModule mod_menu (Top Menu) (31.08KB) (1.43%)
    4.54ms
    1 x afterRenderRawModule mod_menu (Policies) (23.48KB) (1.41%)
    4.48ms
    1 x afterRenderRawModule mod_menu (Social) (60.09KB) (1.3%)
    4.11ms
    1 x afterLoad (86.59KB) (1.23%)
    3.88ms
    1 x beforeRenderRawModule mod_menu (Main Menu) (33.91KB) (1.14%)
    3.60ms
    1 x afterRenderRawModule mod_menu (Media) (14.41KB) (1.13%)
    3.59ms
    1 x afterRenderRawModule mod_menu (Store) (18.38KB) (0.97%)
    3.07ms
    1 x afterRenderRawModule mod_login (Accedi all'area riservata) (62.87KB) (0.79%)
    2.51ms
    1 x afterRenderRawModule mod_menu (Info) (10.42KB) (0.67%)
    2.12ms
    1 x Before Access::preloadComponents (all components) (34.53KB) (0.43%)
    1.37ms
    1 x beforeRenderComponent com_content (37.3KB) (0.36%)
    1.14ms
    1 x afterRenderRawModule mod_custom (Certifico s.r.l.) (4.22KB) (0.24%)
    744μs
    1 x afterRenderModule mod_articles_categories (Sicurezza lavoro) (14.52KB) (0.21%)
    665μs
    1 x afterRenderModule mod_menu (Main Menu) (11.27KB) (0.21%)
    654μs
    1 x afterRenderModule mod_menu (Media) (3.11KB) (0.2%)
    639μs
    1 x afterRenderModule mod_custom (Certifico s.r.l.) (3.36KB) (0.2%)
    626μs
    1 x afterRenderModule mod_menu (Documenti Abbonati) (3.94KB) (0.2%)
    624μs
    1 x afterRenderModule mod_menu (Marketing) (3.3KB) (0.19%)
    614μs
    1 x beforeRenderRawModule mod_menu (Social) (41.43KB) (0.19%)
    596μs
    1 x afterRenderModule mod_menu (Social) (3.92KB) (0.18%)
    568μs
    1 x afterRenderModule mod_menu (Info) (3.05KB) (0.18%)
    556μs
    1 x afterRenderModule mod_menu (Temi) (22.67KB) (0.16%)
    498μs
    1 x afterRenderModule mod_menu (Policies) (3.3KB) (0.15%)
    478μs
    1 x afterRenderModule mod_custom (Titolo "Sicurezza lavoro") (2.69KB) (0.15%)
    477μs
    1 x After Access::preloadComponents (all components) (115.88KB) (0.15%)
    476μs
    1 x afterRenderModule mod_menu (Store) (3.3KB) (0.15%)
    473μs
    1 x Before Access::getAssetRules (id:43685 name:com_content.article.21528) (514.65KB) (0.15%)
    470μs
    1 x afterRenderModule mod_login (Accedi all'area riservata) (5.95KB) (0.1%)
    327μs
    1 x afterDispatch (2.44KB) (0.1%)
    301μs
    1 x After Access::getAssetRules (id:43685 name:com_content.article.21528) (12.67KB) (0.07%)
    229μs
    1 x afterRenderModule mod_custom (Regolamento Macchine) (5.08KB) (0.07%)
    226μs
    1 x afterRenderRawModule mod_custom (Regolamento Macchine) (1.03KB) (0.05%)
    153μs
    1 x afterRenderRawModule mod_custom (MEPA) (960B) (0.04%)
    124μs
    1 x afterRenderRawModule mod_custom (Titolo "Sicurezza lavoro") (1008B) (0.04%)
    118μs
    1 x afterRenderRawModule mod_custom (D. Lgs. 81/2008 - TUSSL) (928B) (0.04%)
    113μs
    1 x afterRenderRawModule mod_custom (CEM4 || Ultimo aggiornamento) (1.03KB) (0.03%)
    109μs
    1 x afterRenderRawModule mod_custom (Abbonamento Full) (912B) (0.03%)
    109μs
    1 x afterRenderRawModule mod_custom (DM 21 Marzo 1973 | MOCA IT) (1.03KB) (0.03%)
    108μs
    1 x afterRenderRawModule mod_custom (Codice Prevenzione Incendi | RTO II) (3.41KB) (0.03%)
    107μs
    1 x afterRenderRawModule mod_custom (TUSSL / Link) (976B) (0.03%)
    107μs
    1 x afterRenderRawModule mod_custom (Direttiva macchine e norme armonizzate) (1.05KB) (0.03%)
    107μs
    1 x afterRenderRawModule mod_custom (Abbonamento Full Plus) (912B) (0.03%)
    107μs
    1 x afterRenderRawModule mod_custom (Glossario Certifico HSE) (1.03KB) (0.03%)
    107μs
    1 x afterRenderRawModule mod_custom (D. Lgs. 101/2020 - Protezione esposizione radiazioni ionizzanti) (960B) (0.03%)
    107μs
    1 x afterRenderRawModule mod_custom (TUA | Testo Unico Ambiente) (928B) (0.03%)
    106μs
    1 x afterRenderRawModule mod_custom (D. Lgs. 196/2003 - Codice protezione dati personali | GDPR) (960B) (0.03%)
    106μs
    1 x afterRenderRawModule mod_custom (Certifico ADR) (1.02KB) (0.03%)
    106μs
    1 x afterRenderRawModule mod_custom (Codice Unico Sicurezza) (928B) (0.03%)
    106μs
    1 x afterRenderRawModule mod_custom (Food Safety book) (12.02KB) (0.03%)
    106μs
    1 x afterRenderRawModule mod_custom (MOCA - GMP | Consolidato) (1.03KB) (0.03%)
    105μs
    1 x afterRenderRawModule mod_custom (D. Lgs. 231/2001 - Responsabilità amministrativa enti) (960B) (0.03%)
    105μs
    1 x afterRenderRawModule mod_custom (Store Certifico) (976B) (0.03%)
    105μs
    1 x afterRenderModule mod_custom (Abbonamento Full) (4.89KB) (0.03%)
    94μs
    1 x afterRenderModule mod_custom (D. Lgs. 81/2008 - TUSSL) (4.02KB) (0.03%)
    93μs
    1 x afterRenderModule mod_custom (Glossario Certifico HSE) (3.77KB) (0.03%)
    93μs
    1 x afterRenderModule mod_custom (Codice Prevenzione Incendi | RTO II) (4.16KB) (0.03%)
    92μs
    1 x afterRenderModule mod_custom (Codice Unico Sicurezza) (4.02KB) (0.03%)
    92μs
    1 x afterRenderModule mod_custom (TUA | Testo Unico Ambiente) (4.03KB) (0.03%)
    90μs
    1 x afterRenderModule mod_custom (MEPA) (3.75KB) (0.03%)
    90μs
    1 x afterRenderModule mod_custom (TUSSL / Link) (3.64KB) (0.03%)
    89μs
    1 x afterRenderModule mod_custom (D. Lgs. 101/2020 - Protezione esposizione radiazioni ionizzanti) (4.44KB) (0.03%)
    89μs
    1 x afterRenderModule mod_custom (CEM4 || Ultimo aggiornamento) (3.91KB) (0.03%)
    88μs
    1 x afterRenderModule mod_custom (MOCA - GMP | Consolidato) (4.02KB) (0.03%)
    88μs
    1 x afterRenderModule mod_custom (DM 21 Marzo 1973 | MOCA IT) (4.03KB) (0.03%)
    87μs
    1 x afterRenderModule mod_custom (Abbonamento Full Plus) (4.14KB) (0.03%)
    87μs
    1 x afterRenderModule mod_custom (D. Lgs. 231/2001 - Responsabilità amministrativa enti) (4.42KB) (0.03%)
    86μs
    1 x afterRenderModule mod_custom (D. Lgs. 196/2003 - Codice protezione dati personali | GDPR) (4.44KB) (0.03%)
    85μs
    1 x afterRenderModule mod_custom (Direttiva macchine e norme armonizzate) (4.16KB) (0.03%)
    85μs
    1 x afterRenderModule mod_custom (Certifico ADR) (3.89KB) (0.03%)
    85μs
    1 x afterRenderModule mod_custom (Store Certifico) (3.58KB) (0.03%)
    85μs
    1 x afterRenderModule mod_custom (Food Safety book) (4.02KB) (0.03%)
    85μs
    1 x afterRenderModule mod_menu (Top Menu) (4.11KB) (0.02%)
    79μs
    1 x beforeRenderRawModule mod_menu (Top Menu) (2.56KB) (0.02%)
    53μs
    1 x beforeRenderRawModule mod_menu (Temi) (904B) (0.02%)
    48μs
    1 x beforeRenderRawModule mod_menu (Policies) (616B) (0.01%)
    47μs
    1 x beforeRenderRawModule mod_custom (Certifico s.r.l.) (2.29KB) (0.01%)
    39μs
    1 x beforeRenderRawModule mod_custom (Titolo "Sicurezza lavoro") (2.18KB) (0.01%)
    38μs
    1 x beforeRenderRawModule mod_menu (Documenti Abbonati) (1.96KB) (0.01%)
    36μs
    1 x beforeRenderRawModule mod_menu (Info) (440B) (0.01%)
    29μs
    1 x beforeRenderRawModule mod_custom (Regolamento Macchine) (9.7KB) (0.01%)
    17μs
    1 x beforeRenderRawModule mod_menu (Media) (912B) (0%)
    15μs
    1 x beforeRenderRawModule mod_menu (Marketing) (896B) (0%)
    13μs
    1 x beforeRenderRawModule mod_articles_categories (Sicurezza lavoro) (2.36KB) (0%)
    13μs
    1 x Before Access::preloadPermissions (com_content) (1.51KB) (0%)
    11μs
    1 x beforeRenderRawModule mod_custom (D. Lgs. 81/2008 - TUSSL) (13.5KB) (0%)
    11μs
    1 x beforeRenderRawModule mod_custom (D. Lgs. 196/2003 - Codice protezione dati personali | GDPR) (1.78KB) (0%)
    11μs
    1 x beforeRenderRawModule mod_menu (Store) (912B) (0%)
    10μs
    1 x beforeRenderRawModule mod_custom (Codice Prevenzione Incendi | RTO II) (2.25KB) (0%)
    10μs
    1 x beforeRenderRawModule mod_custom (TUA | Testo Unico Ambiente) (1.63KB) (0%)
    10μs
    1 x beforeRenderRawModule mod_custom (D. Lgs. 101/2020 - Protezione esposizione radiazioni ionizzanti) (2.72KB) (0%)
    10μs
    1 x beforeRenderRawModule mod_custom (Abbonamento Full Plus) (1.63KB) (0%)
    10μs
    1 x beforeRenderRawModule mod_custom (Glossario Certifico HSE) (2.38KB) (0%)
    9μs
    1 x beforeRenderRawModule mod_custom (D. Lgs. 231/2001 - Responsabilità amministrativa enti) (2.09KB) (0%)
    9μs
    1 x beforeRenderRawModule mod_custom (Direttiva macchine e norme armonizzate) (2.73KB) (0%)
    9μs
    1 x beforeRenderRawModule mod_custom (Codice Unico Sicurezza) (2.25KB) (0%)
    9μs
    1 x beforeRenderRawModule mod_custom (Store Certifico) (3.27KB) (0%)
    9μs
    1 x beforeRenderRawModule mod_custom (TUSSL / Link) (2.52KB) (0%)
    9μs
    1 x beforeRenderRawModule mod_custom (CEM4 || Ultimo aggiornamento) (2KB) (0%)
    9μs
    1 x beforeRenderRawModule mod_custom (DM 21 Marzo 1973 | MOCA IT) (2.38KB) (0%)
    9μs
    1 x beforeRenderRawModule mod_custom (Abbonamento Full) (2.39KB) (0%)
    9μs
    1 x beforeRenderRawModule mod_custom (Food Safety book) (2.52KB) (0%)
    8μs
    1 x beforeRenderRawModule mod_custom (MEPA) (1.95KB) (0%)
    8μs
    1 x beforeRenderRawModule mod_custom (Certifico ADR) (2.77KB) (0%)
    8μs
    1 x beforeRenderRawModule mod_custom (MOCA - GMP | Consolidato) (1.5KB) (0%)
    8μs
    1 x beforeRenderModule mod_articles_categories (Sicurezza lavoro) (720B) (0%)
    5μs
    1 x beforeRenderModule mod_menu (Main Menu) (704B) (0%)
    4μs
    1 x beforeRenderModule mod_menu (Temi) (704B) (0%)
    4μs
    1 x beforeRenderModule mod_menu (Documenti Abbonati) (720B) (0%)
    4μs
    1 x beforeRenderModule mod_login (Accedi all'area riservata) (736B) (0%)
    3μs
    1 x beforeRenderModule mod_menu (Social) (704B) (0%)
    3μs
    1 x beforeRenderModule mod_menu (Media) (704B) (0%)
    3μs
    1 x beforeRenderModule mod_menu (Marketing) (704B) (0%)
    3μs
    1 x beforeRenderModule mod_custom (Certifico s.r.l.) (720B) (0%)
    3μs
    1 x beforeRenderModule mod_menu (Store) (704B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (TUSSL / Link) (720B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (D. Lgs. 101/2020 - Protezione esposizione radiazioni ionizzanti) (768B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (Codice Unico Sicurezza) (720B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (DM 21 Marzo 1973 | MOCA IT) (736B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (Store Certifico) (720B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (Food Safety book) (720B) (0%)
    2μs
    1 x beforeRenderModule mod_menu (Policies) (704B) (0%)
    2μs
    1 x beforeRenderModule mod_menu (Info) (704B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (Regolamento Macchine) (720B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (Codice Prevenzione Incendi | RTO II) (736B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (TUA | Testo Unico Ambiente) (736B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (D. Lgs. 231/2001 - Responsabilità amministrativa enti) (752B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (D. Lgs. 196/2003 - Codice protezione dati personali | GDPR) (768B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (Direttiva macchine e norme armonizzate) (736B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (Certifico ADR) (720B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (MOCA - GMP | Consolidato) (736B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (Abbonamento Full) (720B) (0%)
    2μs
    1 x beforeRenderModule mod_menu (Top Menu) (704B) (0%)
    2μs
    1 x beforeRenderModule mod_custom (Glossario Certifico HSE) (720B) (0%)
    1μs
    1 x beforeRenderModule mod_custom (D. Lgs. 81/2008 - TUSSL) (720B) (0%)
    1μs
    1 x beforeRenderModule mod_custom (CEM4 || Ultimo aggiornamento) (736B) (0%)
    1μs
    1 x beforeRenderModule mod_custom (Abbonamento Full Plus) (720B) (0%)
    1μs
    1 x beforeRenderModule mod_custom (MEPA) (704B) (0%)
    1μs
    1 x beforeRenderModule mod_custom (Titolo "Sicurezza lavoro") (736B) (0%)
    1μs
76 statements were executed, 25 of which were duplicates, 51 unique47.99ms4.97MB
  • SELECT @@SESSION.sql_mode;56μs968BExplainStack/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:308Copy
  • SELECT `data` FROM `com_session` WHERE `session_id` = ?110μs1KBParamsExplainStack/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:250Copy
  • SELECT `session_id` FROM `com_session` WHERE `session_id` = :session_id LIMIT 150μs1.31KBParamsExplainStack/libraries/src/Session/MetadataManager.php:187Copy
  • UPDATE `com_session` SET `guest` = :guest , `time` = :time , `userid` = :user_id , `username` = :username , `client_id` = :client_id WHERE `session_id` = :session_id1.84ms992BParamsStack/libraries/src/Session/MetadataManager.php:316Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `com_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1184μs1.56KBExplainStack/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `com_viewlevels`51μs656BExplainStack/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `com_usergroups` AS `a` LEFT JOIN `com_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest93μs1.33KBParamsExplainStack/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `com_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`420μs4.48KBParamsExplainStack/libraries/src/Plugin/PluginHelper.php:294Copy
  • SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component` FROM `com_menu` AS `m` LEFT JOIN `com_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE ( (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2) ORDER BY `m`.`lft`851μs375.92KBParamsExplainStack/libraries/src/Menu/SiteMenu.php:166Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`244μs4.02KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id` FROM `com_content` WHERE `alias` = :segment AND `catid` = :id155μs1.34KBParamsExplainStack/components/com_content/src/Service/Router.php:263Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `com_template_styles` AS `s` LEFT JOIN `com_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 1174μs60.84KBExplainStack/administrator/components/com_templates/src/Model/StyleModel.php:775Copy
  • SELECT * FROM `com_template_styles` WHERE `client_id` = 0 AND `id` = '13'72μs40.91KBExplainStack/plugins/system/helixultimate/src/Platform/Helper.php:57Copy
  • SELECT * FROM `com_languages` WHERE `published` = 1 ORDER BY `ordering` ASC80μs1.59KBExplainStack/libraries/src/Language/LanguageHelper.php:177Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `com_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)286μs7.44KBParamsExplainStack/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `com_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 015.3ms3.92MBParamsExplainStack/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `com_content`393μs3.02KBStack/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `com_content` SET `hits` = (`hits` + 1) WHERE `id` = '21528'1.59ms48BStack/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `com_content` AS `a` INNER JOIN `com_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `com_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `com_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `com_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `com_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)202μs78.12KBParamsExplainStack/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`191μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `com_contentitem_tag_map` AS `m` INNER JOIN `com_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)2.37ms4KBParamsExplainStack/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`225μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM com_fields AS a LEFT JOIN `com_languages` AS l ON l.lang_code = a.language LEFT JOIN com_users AS uc ON uc.id=a.checked_out LEFT JOIN com_viewlevels AS ag ON ag.id = a.access LEFT JOIN com_users AS ua ON ua.id = a.created_user_id LEFT JOIN com_fields_groups AS g ON g.id = a.group_id LEFT JOIN `com_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5)) AND `a`.`access` IN (:preparedArray6,:preparedArray7)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray8,:preparedArray9)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC364μs4.81KBParamsExplainStack/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`catid`,`a`.`language`, CASE WHEN CHAR_LENGTH(`a`.`alias`) != 0 THEN CONCAT_WS(':', `a`.`id`, `a`.`alias`) ELSE a.id END AS `slug`, CASE WHEN CHAR_LENGTH(`cc`.`alias`) != 0 THEN CONCAT_WS(':', `cc`.`id`, `cc`.`alias`) ELSE cc.id END AS `catslug` FROM `com_content` AS `a` LEFT JOIN `com_categories` AS `cc` ON `cc`.`id` = `a`.`catid` WHERE `a`.`catid` = :catid AND `a`.`state` = :state AND `a`.`access` IN (:preparedArray1,:preparedArray2) AND (`publish_up` IS NULL OR `publish_up` <= :nowDate1) AND (`publish_down` IS NULL OR `publish_down` >= :nowDate2) ORDER BY CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END DESC3.43ms93.72KBParamsExplainStack/plugins/content/pagenavigation/src/Extension/PageNavigation.php:188Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`207μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT * FROM com_hikashop_config117μs24.63KBExplainStack/administrator/components/com_hikashop/classes/config.php:16Copy
  • SET sql_mode=(SELECT REPLACE(REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''), 'STRICT_TRANS_TABLES', ''));26μs0BStack/administrator/components/com_hikashop/helpers/helper.php:3558Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `com_modules` AS `m` LEFT JOIN `com_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `com_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) ORDER BY `m`.`position`,`m`.`ordering`984μs148.81KBParamsExplainStack/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id72μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id39μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug`,( SELECT COUNT(`i`.`id`) FROM `com_content` AS `i` WHERE `i`.`catid` = `c`.`id` AND `i`.`state` = 1) AS `numitems` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`12.14ms4.34KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`238μs4.06KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`237μs6.45KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`210μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`192μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`206μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`205μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`186μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`182μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`180μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`176μs3.94KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`182μs3.94KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT * FROM `com_schemaorg` WHERE `itemId` = :itemId AND `context` = :context56μs1.55KBParamsExplainStack/plugins/system/schemaorg/src/Extension/Schemaorg.php:403Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `com_content` AS `a` INNER JOIN `com_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `com_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `com_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `com_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `com_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)161μs78.17KBParamsExplainStack/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `com_scheduler_tasks` AS `a` WHERE `a`.`state` = 162μs1.37KBParamsExplainStack/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id48μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`89μs3.88KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id41μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id40μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`78μs3.88KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id41μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`209μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id39μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id38μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`199μs3.94KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id41μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`197μs3.94KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id41μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`197μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id40μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id37μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id41μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id37μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id38μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id39μs12.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id37μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id39μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id36μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id39μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id36μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id37μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `com_categories` AS `s` INNER JOIN `com_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`203μs3.95KBParamsExplainStack/libraries/src/Categories/Categories.php:375Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id39μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `com_content` WHERE `id` = :id38μs1.31KBParamsExplainStack/components/com_content/src/Service/Router.php:168Copy
  • SELECT `session_id` FROM `com_session` WHERE `session_id` = ?52μs1KBParamsExplainStack/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:277Copy
  • UPDATE `com_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?1.13ms592BParamsStack/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:301Copy