Mostrar solo algunos roles

Hola,

tengo este foreach que me muestra todos los roles para que pueda assignarles a el usuario.




    <?php foreach(Yii::app()->authManager->getAuthItems() as $data): ?>

    <?php $enabled=Yii::app()->authManager->checkAccess($data->name, $model->id)?>


     <?php echo $data->name; ?>

     <?php if($data->type==0) echo "Roles";?>

     <?php /*if($data->type==1) echo "Tareas";*/?>

     <?php /*if($data->type==2) echo "Operaciones", "  ";*/?> 

     <br />

<?php echo CHtml::link($enabled?'Quita Role':'Activa Role', array('user/assignar-role', 'id'=>$model->id, 'item'=>$data->name), array('class'=>$enabled?"btn btn-danger":"btn btn-success"));?>

   


     <?php /* echo $data->description */?><br /><br />


    <?php endforeach; ?>



Pero con este foreach se meustran todos los roles y tambien el role de Administrador.

Como puedo hacer para que en el foreach no se vea el role de Administrador??

Lo he ententado, pero no me sale y sigue mostrando todos los roles.

Les pido ayuda por favor!!!

Y si pones la condicion de que solo te imprima los que no sean "Administrador", o puedes cambiar la condición de que si no es usuario "Administrador" no muestre este tipo de rol




<?php foreach(Yii::app()->authManager->getAuthItems() as $data): ?>

    <?php $enabled=Yii::app()->authManager->checkAccess($data->name, $model->id)?>


    <?php  if ($data->name!="Administrador"){

	 	 echo $data->name; 

	 }?>

     <?php if($data->type==0) echo "Roles";?>

     <?php /*if($data->type==1) echo "Tareas";*/?>

     <?php /*if($data->type==2) echo "Operaciones", "  ";*/?> 

     <br />

	<?php echo CHtml::link($enabled?'Quita Role':'Activa Role', array('user/assignar-role', 'id'=>$model->id, 'item'=>$data->name), array('class'=>$enabled?"btn btn-danger":"btn btn-success"));?>

   


	<?php /* echo $data->description */?><br /><br />


<?php endforeach; ?>



Hola Cesar Baltodano,

antes que todo te digo gracias por tu respuesta.

Eso ya lo he ententado, es verdad que no me muestra el role, pero me muestra el boton para assignarselo o quitarselo.

Como puedo hacer para que no me muestre tambien el boton de ese role?

Mira el imagen que hé cargado para ver lo que te digo.

Un Saludo

Del momento lo he arreglado asi por el boton:




...................

<?php if ($data->name!="Administrador"){

echo CHtml::link($enabled?'Quita Role':'Activa Role', array('user/assegnaruolodir', 'id'=>$model->id, 'item'=>$data->name), array('class'=>$enabled?"btn btn-danger":"btn btn-success"));}?>

..................



Aun que me deja mucho espacio entre el boton por el Role de Administrador y lo otros, del momento lo dejo asi, hasta que no encuentro otra solucion.

Tambien puedo borrar todos los Roles e insertarlos otra vez por que he visto que los ordena asi como los inserto. Podria hacer que me los ordenenara por nombre (‘name’).

Pero bueno ya lo are mas adelante.

Muchas Gracias otra vez Cesar Baltodano.

Ok. No me había fijado en eso, me imagino que te tira los espacios porque aunque no sea administrador te los imprime. Puedes hacer esto entonces.




<?php foreach(Yii::app()->authManager->getAuthItems() as $data): ?>


	<?php  if ($data->name!="Administrador"):?>

		<?php $enabled=Yii::app()->authManager->checkAccess($data->name, $model->id)?>

		<?php echo $data->name; ?>

		<?php if($data->type==0) echo "Roles";?>

		<?php /*if($data->type==1) echo "Tareas";*/?>

		<?php /*if($data->type==2) echo "Operaciones", "  ";*/?> 

		<br />

		<?php echo CHtml::link($enabled?'Quita Role':'Activa Role', array('user/assignar-role', 'id'=>$model->id, 'item'=>$data->name), array('class'=>$enabled?"btn btn-danger":"btn btn-success"));?>

		<?php /* echo $data->description */?><br /><br />

	<?php endif; ?>


<?php endforeach; ?>



has tratado con la palabra reservada de php unset?, sería unset(array(‘algo’)) ó unset(array(1)) claro le indico que la posición 1 del arreglo, claro indicas la posición, unset es para quitar lo que no quieres, creo que sería mas fácil esa solución