<?php 
class parc extends controlador {
     var $models = array('parque_model');     
	 //Action indice     
	 function indice(){    
		$this->render('indice');     //llamada de la vista indice.php
	 }
	 
	 function busqueda($ip){         
		$d['record'] = $this->parque_model->getByIP($ip); 		
		$this->set($d);        
		$this->render('busqueda');    //llamada de la vue busqueda.php
	 } 
	 
	 //ver el número de PC por sala (limitado a los 8 primeros)
	 function ver(){         
		
		$d['record'] = $this->parque_model->getNumeroPCSalla();		 
		$nb_maximum = 0; //mayor número de PC
		$val1=0; // número de PC en una sala
		$val2=0; // numéro de la sala
		$tabla_PC = array(); //clave de la tabla = n° de sala, valor de la tabla = número de PC en la sala
		foreach($d['record'] as $cle=>$val) {
			$val1 = $val["nombre"]; 
			if ($val1 > $nb_maximum) {
				$nb_maximum = $val1;
			}
			$val2 = $val["sala"];
			$tabla_PC[$val2] = $val1; 
		}		

		$nombre_element = count($tabla_PC); //número de elementos en la tabla
		
		$largoImage = 450; 
		$altoImage = 400; 
		$image = imagecreate($largoImage, $altoImage);         
		$blanco = imagecolorallocate($image, 255, 255, 255);  
		$negro = imagecolorallocate($image, 0, 0, 0);   
		$azul = imagecolorallocate($image, 100, 100, 255);      

		// trazo horizontal para representar el eje de las salas     
		imageline($image, 10, $altoImage-10, $largoImage-10, $altoImage-10, $negro); 
		// ver número de las salas 
		foreach ($tabla_PC as $clave=>$val) { $j ++ ;
 
			imagestring($image, 0, $j*40, $altoImage-10, $clave, $negro); 
		} 
		 
		// trazo vertical que representa el número de PC 
		imageline($image, 10, 10, 10, $altoImage-10, $negro);
		
		$nb_maximum = $nb_maximum+1; //para ver un gráfico un poco más alto que el número máximo
		// traza de los rectángulos 
		$j=0;
        foreach ($tableau_PC as $val) { 
        $j++; 
			$altoRectangulo = round(($tabla_PC[$j]*$altoImage)/$nb_maximum); 
			imagefilledRectangulo($image, $j*40-6, $altoImage-$altoRectangulo, $j*40+8, $altoImage-10, $azul); 
			imagestring($image, 0, $j*40-6, $altoImage-$altoRectangulo-10, $val, $negro); 
		} 
		imagestring($image, 3, 0, 0, "Número de PC.", $negro);
		imagestring($image, 3, $largoImage-100, $altoImage-30, "N° de sala.", $negro);
		imagepng($image, "./images/monimage.png");
		imagedestroy($image); 		 
		      
		 $this->render('ver');   //llamada de la vista ver.php
	 } 
	 
	  function formulario_busqueda(){   
		$this->render('formulario_busqueda');    //llamada de la vista formulario_busqueda.php
	  } 
}
 ?>