Ajuda - Oculta / Mostrar link e menu

:huh: [color="#0000FF"]Olá Pessoal,[/color]

[color="#696969"]>>> [/color][color="#0000FF"]Estou fazendo uma rotina de permissão de acesso, e agora quero ocultar ou mostrar link ou menu conforme a permissão do usuário. [/color]

[color="#696969"]>>> [/color][color="#0000FF"]No controller chamo o arquivo de permissões:[/color]

[color="#FF0000"]UsuarioController.php[/color]




  public function accessRules()

	{ 

    // Define o codigo da área e chama a classe de Permissões 

    $Area='CAD000001';

	return require("/../models/Permissoes.php");

	}  



[color="#696969"]>>> [/color][color="#0000FF"]Este é meu arquivo de Permissões:[/color]

[color="#FF0000"]Permissoes.php[/color]




<?php


foreach ( Yii::app()->user->getState('BuscaPermissao') as $Regra ) { 

   if ( $Regra['Area'] == $Area ) {        

      break;

   }

}    

  if ( $Regra['Area'] == $Area ) {


// Variavel de permissão para visualizar  

   if ($Regra['Visualizar'] =='S'){

         $RegraLista="";

         $RegraVisualizar="";

         $RegraPesquisar="";

   }else{

         $RegraLista="index";

         $RegraVisualizar="view";

         $RegraPesquisar="admin";

   }

// Variavel de permissão para iserir  

   if ($Regra['Inserir'] =='S'){

      $RegraInserir="";

   }else{

         $RegraInserir="create";

   }

// Variavel de permissão para alterar  

   if ($Regra['Alterar'] =='S'){

      $RegraAlterar="";

   }else{

         $RegraAlterar="update";

   }

// Variavel de permissão para apagar  

   if ($Regra['Apagar'] =='S'){

      $RegraApagar="";

   }else{

         $RegraApagar="delete";

   }                                                         

      

$Regras = array();

$Regras[] = 

array('deny','actions'=>array($RegraLista,$RegraVisualizar,$RegraPesquisar,$RegraVisualizar,$RegraInserir,$RegraAlterar,$RegraApagar),

'users'=>array('*'),);    

    

return $Regras;


  }else{

  // Informa ao usuario que ele não tem permissão para executar a ação.

throw new CHttpException(403,Yii::t('yii','You are not authorized to perform this action.'));   


  } 

>?



[color="#696969"]>>> [/color][color="#0000FF"]Até aí acho que vai… Mas como eu faço para ocultar os links e menus que os usuários não tem acesso? Queria fazer algo do tipo abaixo na view:




$this->menu=array(


 if ($RegraInserir=='S'){

   array('label'=>'Adicionar Novo', 'url'=>array('create')),  

   }


);



Desde já obrigado pela ajuda.[/color]

// Verifica se te dá uma idéia essa forma que já utilizei:

function permicao($array){

    if(&#33;Yii::app()-&gt;user-&gt;isGuest)


        return in_array(Yii::app()-&gt;user-&gt;nivel, &#036;array);


    return false;


}

<?php

$this->widget(‘zii.widgets.CMenu’, array(

‘items’ => array(

array(‘label’ => ‘Foo’, ‘url’ => array(’/foo/admin’), ‘visible’ => U::permicao(array(‘admin’, ‘baruser’)))

),

));

?>

Blz! Vou tentar bolar algo… Obrigado.

Cara, ajudou mesmo.

Fiz o seguinte:




<?php

$Area='CAD000001';

	include_once("/../models/LinkVisivel.php");

$MenuOperacoes = array();

$MenuOperacoes[] = $this->menu=array( 


	array('label'=>'Listar', 'url'=>array('index'),'visible'=>$PermissaoLista),

	array('label'=>'Adicionar Novo', 'url'=>array('create'),'visible'=>$PermissaoInserir),

 	array('label'=>'Pesquisar', 'url'=>array('admin'),'visible'=>$PermissaoPesquisar),

  );

?>



OK - Resolvido!