File: /home/www/fotospedroj/application/helpers/controlacceso_helper.php
<?php
function ca_nivel_usuario(){
$CI = &get_instance();
if (!$CI->session->userdata('user_is_logged_in')){
return 4;
}
else{
return $CI->session->userdata('user_level');
}
}
function ca_es_grupo_visible($gid){
$nivel_usuario = ca_nivel_usuario();
$CI = &get_instance();
$grupo = $CI->db->query('select * from groups where gid=\''. $gid . '\'');
if ($grupo->num_rows()==0)
return false;
$visibilidad_grupo = $grupo->row()->visibility;
$visibilidad_usuario = 5;
if ($nivel_usuario == 1){
$visibilidad_usuario = 1;
}
else if (($nivel_usuario == 2)&&($visibilidad_grupo==2)){
if ($grupo->row()->uid == ca_usuario_id()){
$visibilidad_usuario = 2;
}
else {
$visibilidad_usuario = 3;
}
}
else if (($nivel_usuario == 2)&&($visibilidad_grupo==3)){
$visibilidad_usuario = 3;
}
else if ($nivel_usuario == 3){
$visibilidad_usuario = 4;
}
else if ($nivel_usuario == 4){
$visibilidad_usuario = 5;
}
return ($visibilidad_usuario <= $visibilidad_grupo);
}
function ca_es_galeria_visible($gid){
$nivel_usuario = ca_nivel_usuario();
$CI = &get_instance();
$galeria = $CI->db->query('select * from galleries where gid=\''. $gid . '\'');
if ($galeria->num_rows()==0)
return false;
$visibilidad_galeria = $galeria->row()->visibility;
$visibilidad_usuario = 5;
if ($nivel_usuario == 1){
$visibilidad_usuario = 1;
}
else if (($nivel_usuario == 2)&&($visibilidad_galeria == 2)){
if ($galeria->row()->uid == ca_usuario_id()){
$visibilidad_usuario = 2;
}
else {
$visibilidad_usuario = 4;
}
}
else if (($nivel_usuario == 2)&&($visibilidad_galeria == 3)){
if ($galeria->row()->uid == ca_usuario_id()){
$visibilidad_usuario = 3;
}
else {
$visibilidad_usuario = 4;
}
}
else if ($nivel_usuario == 3){
$visibilidad_usuario = 4;
}
else if ($nivel_usuario == 4){
$visibilidad_usuario = 5;
}
return ($visibilidad_usuario <= $visibilidad_galeria);
}
function ca_es_galeria_editable($gid){
if (ca_es_admin())
return true;
else {
$nivel_usuario = ca_nivel_usuario();
$CI = &get_instance();
$galeria = $CI->db->query('select * from galleries where gid=\''. $gid . '\'');
if ($galeria->num_rows()==0)
return false;
$visibilidad_galeria = $galeria->row()->visibility;
$visibilidad_usuario = 5;
if ($nivel_usuario == 1){
return true;
}
else if (($nivel_usuario == 2)&&($visibilidad_galeria == 2)){
if ($galeria->row()->uid == ca_usuario_id()){
return true;
}
else {
return false;
}
}
else if (($nivel_usuario == 2)&&($visibilidad_galeria == 3)){
if ($galeria->row()->uid == ca_usuario_id()){
return true;
}
else {
return false;
}
}
else if ($nivel_usuario >= 3){
return false;
}
return false;
}
}
function ca_es_admin(){
$CI = &get_instance();
//Se obtiene el nivel de usuario para saber hasta donde mostrar
if (!$CI->session->userdata('user_is_logged_in')){
return FALSE;
}
else{
$nivel_usuario = $CI->session->userdata('user_level');
if ($nivel_usuario == 1){
return TRUE;
}
}
return FALSE;
}
function ca_usuario_id(){
$CI = &get_instance();
if (!$CI->session->userdata('user_is_logged_in')){
return 0;
}
else{
return $CI->session->userdata('user_id');
}
}
?>