Back to top

Autore Topic: modificare permessi per manager [RISOLTO]  (Letto 1312 volte)

Offline claudiovis

  • Esploratore
  • **
  • Post: 91
    • Mostra profilo
modificare permessi per manager [RISOLTO]
« il: 01 Mar 2011, 11:11:22 »
Ciao a tutti
Stavo cercando un modo per eliminare la visualizzazione di alcuni componenti(es. i feed) che non voglio vengano modificati quando ci si logga nel backend come manager.

...alla fine ho letto che basta commentare alcune righe di authorization.php e così ho fatto
Codice: [Seleziona]
$this->addACL( 'com_newsfeeds', 'manage', 'users', 'super administrator' );
$this->addACL( 'com_newsfeeds', 'manage', 'users', 'administrator' );
//$this->addACL( 'com_newsfeeds', 'manage', 'users', 'manager' );
(anche se le visualizza lo stesso almeno non ne permette la modifica... in teoria)

il problema è che quando vado in  >componenti >feed va bene e mi dice che non ho il permesso ma se vado su >componenti >feed >categorie invece mi permette di lavorarci senza problemi

come posso ovviare al problema?
« Ultima modifica: 01 Mar 2011, 12:44:24 da claudiovis »

Offline claudiovis

  • Esploratore
  • **
  • Post: 91
    • Mostra profilo
Re:modificare permessi per manager
« Risposta #1 il: 01 Mar 2011, 12:13:15 »
a chiunque servisse eliminare dei componenti per l'utente manager ho trovato questa soluzione

file: administrator/modules/mod_menu/helpers.php
trovare questa stringa
Codice: [Seleziona]
$query = 'SELECT *' .
' FROM #__components' .
' WHERE '.$db->NameQuote( 'option' ).' <> "com_frontpage"' .
' AND '.$db->NameQuote( 'option' ).' <> "com_media"' .
' AND enabled = 1' .
' ORDER BY ordering, name';

e sostituirla con
Codice: [Seleziona]
$user =& JFactory::getUser();
$user_type = $user->get('usertype');

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

in questo caso vengono eliminati per l'utente manager i componenti newsfeed e contatti

 



Web Design Bolzano Kreatif