HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux aritmodecarnaval.es 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
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');
		}
	}

?>