uziel wrote:
foxsidc wrote:
Parabéns pelo componente, demorei um pouquinho pra aprender a usar, mas agora esta do jeito que eu queria, consegui implementar também o "hack" pra não aparecer os menus que o usuário não tem acesso, funcionou muito bem, ficou perfeito

Conseguiu bloquer contéudo para determinados grupos?
Consegui sim, instalei 4 Adapters, não sei se precisava de todos, menu, acces, content e modules, mas tudo que fiz é para o frontend.
Após ter instalado criei dois grupos, um para os vendedores e outro para os gerentes
Coloquei os dois grupos como Parent do nivel Registrado.
Depois disso, fui na configuração de grupos e para o grupo de vendedores só dei acesso a um menu registrado, para o grupo de gerentes dei acesso a todos os menus registrados.
Com isso ele já estava bloqueando o acesso dos vendedores a certos menus, dai inseri o codigo abaixo no arquivo "/modules/mod_mainmenu/helper.php" na linha 206 próximo a função addNode()
Este código foi retirado deste link
viewtopic.php?f=46&t=369537Obs:Logo após ter inserido o código, loguei no site com um usuário do grupo vendedor e ele não tinha nenhum menu visível, depois de tentar achar alguma solução em foruns sem sucesso, fui na configuração de grupo e usuários, gravei as configurações novamente e funcionou, não tenho certeza se vi errado ou gravando novamente resolveu, pois ja era 6:30 da manhã.Code:
// Get permission on item
$user = Jfactory::getUSER();
$db = JFactory::getDBO();
$prequery1 = "select gid, usertype from jos_users where id = " . $user->id;
$db->setQuery( $prequery1 );
$row = $db->loadObject();
$arrGroupIds[] = $row->gid;
$arrGroupNames[] = $row->usertype;
$prequery2 = "select id_group, name from jos_noixacl_multigroups, jos_core_acl_aro_groups where id_user = " . $user->id;
$prequery2 .= " and id_group != " . $row->gid . " and id_group = id";
$db->setQuery($prequery2);
$rows = $db->loadObjectList();
if( !empty($rows) ){
foreach($rows as $row){
$arrGroupIds[] = $row->id_group;
$arrGroupNames[] = $row->name;
}
}
$inGroups = "";
foreach($arrGroupNames as $name) {
$inGroups .= "'" . $name . "'" . ", ";
}
$inGroups = substr($inGroups,0,(strlen($inGroups)-2));
$query = "select * from jos_noixacl_rules where axo_value = " . $item->id . " and aro_value in (" . $inGroups;
$query .= ") and aco_value = 'access' and aco_section = 'com_menus' and aro_section = 'users'";
$db->setQuery($query);
$row = $db->loadObject();
$specialaccess = true;
if (empty($row)) {
$specialaccess = false;
}
$query = "select access from jos_menu where id = " . $item->id;
$db->setQuery($query);
$row = $db->loadObject();
$publicaccess = false;
if ($row->access == 0) {
$publicaccess = true;
}
if (!$publicaccess && !$specialaccess) {
return;
}
// Create the node and add it
Espero ter ajudado