• User Attivo

    ...scusa la domanda, ma la modifica che mi hai consigliato tu inizialmente (e che al momento ho adottato) pure quella modifica il core di joomla? credo di no perché alla fine ho modificato un file di un componente, però chiedo per sicurezza...

    Oltre a questo, volevo dire che sono d'accordissimo che è meglio evitare questo tipo di modifiche, cioè quelle del core di Joomla, però è vero pure che alla fine si tratta solo di due cavolatine che non credo possano compromettere granché, inoltre se un domani dovessi aggiornare qualcosa e le modifiche si ripristinano io posso sempre rimodificare nuovamente i files interessati, anche perché alla fine si tratta di commentare solo qualche stringa.

    Per la ricerca, ovviamente mi fa piacere, però se non trovi nulla fa lo stesso, ovviamente se trovi qualcosa mi fa più piacere 🙂 inoltre possiamo scrivere tutto sul forum perché credo che possa interessare veramente a molti, ho trovato molte discussioni in merito ma alla fine nessuno ha ottenuto dei risultati...


  • User Attivo

    La modifica che ti avevo proposto è relativa ad un componente...ma...leggendo qua e la, mettendo insieme i pezzi e facendo varie prove sono giunto a...rullo di tamburi...una cosa che funziona :yuppi:...ma per i motivi scritti prima non mi assumo alcun tipo di responsabilità sulla sicurezza o meno dell'utilizzo... :vai:

    Primo passo è FONDAMENTALE effettuare il salvataggio del file che andremo a modificare...il file in oggetto è...

    /administrator/modules/mod_menu/helper.php

    Circa alla riga 126 troviamo la query che sceglie i componenti da visualizzare

    
      $query = 'SELECT *' .
                    ' FROM #__components' .
                    ' WHERE '.$db->NameQuote( 'option' ).' <> "com_frontpage"' .
                    ' AND '.$db->NameQuote( 'option' ).' <> "com_media"' .
                    ' AND enabled = 1' .
                    ' ORDER BY ordering, name';
    
    ```Ora possiamo utilizzare il livello di accesso per modificare la query a piacimento utilizzando la variabile...
    

    $user =& JFactory::getUser();
    $user_type = $user->get('usertype');

    Nell' esempio successivo ho sostituito alla query principale, la lettura dalla varibile e le 2 query.
    La prima delle due query è quella standard che però renderemo visibile solamente ad Administrator e Super Administrator.
    La seconda per i Manager ai quali non faremo visualizzare il componente "com_prova".
    
    Ovviamente è personalizzabile a piacere...
    
    

    $user =& JFactory::getUser();
    $user_type = $user->get('usertype');

    if ($usertype !== "Manager") {
    $query = 'SELECT *' .
    ' FROM' .
    ' WHERE '.$db->NameQuote( 'option' ).' <> "com_frontpage"' .
    ' AND '.$db->NameQuote( 'option' ).' <> "com_media"' .
    ' AND enabled = 1' .
    ' ORDER BY ordering, name';
    }
    else {
    $query = 'SELECT *' .
    ' FROM' .
    ' WHERE '.$db->NameQuote( 'option' ).' <> "com_frontpage"' .
    ' AND '.$db->NameQuote( 'option' ).' <> "com_media"' .
    ' AND '.$db->NameQuote( 'option' ).' <> "com_prova"' .
    ' AND enabled = 1' .
    ' ORDER BY ordering, name';
    }

    
    :ciauz:

  • User Attivo

    Ciao kre0, come a sempre grazie mille in anticipo, sicuramente funzionerà e sono curioso di provarla ma oggi non sono certo di riuscirci, ho avuto altri imprevisti e non ho il lavoro sotto mano, ma appena posso (prestissimo) provo e ti faccio sapere...però per ora sono anche curioso del fatto che dici "non mi assumo alcun tipo di responsabilità sulla sicurezza o meno dell'utilizzo", cosa vorresti dire esattamente? per caso la sicurezza di Joomla potrebbe essere poco sicuro e potrebbe essere più vulnerabile agli attachi? oppure riguarda solo una questione di funzionamento? nel primo caso effettivamente sarebbe un pò rischioso, nel secondo invece basta semplicemente provare se tutto funziona bene e il gioco è fatto! 🙂


  • User Attivo

    :lol:...non credo che abbia implicazioni sulla sicurezza, non cambia oggettivamente molto...è solo una query...ma non si sa mai 😉


  • User Attivo

    ...allora sono riuscito a fare una prova solo che non funziona...praticamente ho sostituito:

    $query = 'SELECT *' .
                    ' FROM #__components' .
                    ' WHERE '.$db->NameQuote( 'option' ).' <> "com_frontpage"' .
                    ' AND '.$db->NameQuote( 'option' ).' <> "com_media"' .
                    ' AND enabled = 1' .
                    ' ORDER BY ordering, name';
    

    con:

    $user =& JFactory::getUser();
    $user_type = $user->get('usertype');
    
    if ($usertype !== "Manager") {
      $query = 'SELECT *' .
                    ' FROM' .
                    ' WHERE '.$db->NameQuote( 'option' ).' <> "com_frontpage"' .
                    ' AND '.$db->NameQuote( 'option' ).' <> "com_media"' .
                    ' AND enabled = 1' .
                    ' ORDER BY ordering, name';
    }
    else {
    $query = 'SELECT *' .
                    ' FROM' .
                    ' WHERE '.$db->NameQuote( 'option' ).' <> "com_frontpage"' .
                    ' AND '.$db->NameQuote( 'option' ).' <> "com_media"' .
                    ' AND '.$db->NameQuote( 'option' ).' <> "com_jsecure"' .
                    ' AND enabled = 1' .
                    ' ORDER BY ordering, name';
    }
    

    per nascondere il componente JSecure ai Manager solo che non funziona, la voce resta ancora nel menù Componenti :mmm:


  • User Attivo

    kre0 sicuro che hai provato e funziona? perché ame proprio non ne vuole sapere...oppure ho capito male io?


  • User Attivo

    ...non c'è nessuno che mi può aiutare sulla base di questi elementi?


  • User Attivo

    Kre0 ma che fine hai fatto? mi hai lasciato così, sul più bello (anzi brutto)? 😞


  • User Attivo

    ...ragazzi ma possibile mai che non esiste nessun metodo per rimuovere manualmente dei componenti per alcuni utenti? mi sembra strano, anche perché non riesco a trovare nulla neanche in giro per il web 😞


  • User Attivo

    Ciao,
    dovresti utilizzare un componente che gestisca le estensioni legate ai singoli utenti.

    Se cerchi su extension qualcosa trovi 😉


  • User Attivo

    ...ho già provato più di un componente (free) ma alcuni non mi facevano fare esattamente ciò che mi serviva, altri davano problemi vari (ad es di visualizzazione, altri non si traducevano, etc) e inoltre a me occorre solo rimuovere queste due voci, mi sembra inutile utilizzare un componente solo per questo quando basta seplicemente commentare o fare una piccola modifica di una stringa, credo che la cosa sia fattibile e neanche complicata, solo che non si sa perché non riesco a capire come si possa fare, ho aperti anche altre discussioni su altri forum ma nessuno ha saputo darmi risposte in merito...ho fatto alcune ricerche su altri forum in inglese e ho visto che si è parlato molto spesso di questo solo che in alcuni casi nello specifico non riguardava esattamene ciò che mi serviva e poi non conosco bene l'inglese, quindi non sono riuscito a ricarci nulla però ho capito che è possibile solo che nei forum in italiano dove ho scritto chi per un motivo e chi per un altro alla fine non sono riuscito ad arrivare a nulla 😞