Location: PHPKode > projects > NAR contents manager > software/libs/vistas.php
<?
//Este es el fichero que contiene las clases 'vista' del patrón C-V-M
require_once("BD.php");
require_once("modelos.php");
require_once("plantilla\plantilla.php");

class user_view {
	var $user; 
	var $state;
	var $currentuser;
	var $tic;

	function setuser($user){
		$this->user = new user();  //usuario a ver o editar
		$this->user=$user;
	}

	function setcurrentuser($cuser){  //usuario actual del sistema y su ticket
		
		$this->currentuser = new user();

		//Sacamos el usuario que tiene ese nombre
		$BDcontrolador = new db_handling;
		$BDcontrolador->connection();
		$BDcontrolador->query("SELECT * FROM user WHERE username='$cuser'");
		@$BDcontrolador->all_results_into_array();
		$this->currentuser->fill_user($BDcontrolador->arrayfinalresult["username"],$BDcontrolador->arrayfinalresult["name"],$BDcontrolador->arrayfinalresult["surnames"],$BDcontrolador->arrayfinalresult["address"],$BDcontrolador->arrayfinalresult["email"],$BDcontrolador->arrayfinalresult["rol"],$BDcontrolador->arrayfinalresult["telephone"],$BDcontrolador->arrayfinalresult["password"]);

		//sacamos el ticket
		$BDcontrolador->query("SELECT id_ticket FROM ticket WHERE username='$cuser'");
		@$BDcontrolador->one_result("0","id_ticket");
		$this->tic=$BDcontrolador->finalresult;
	}
	
	function setstate($state){
		$this->state=$state;       //puede ser 'create', 'edit' o 'readonly'
	}


	//'error' puede ser 'no'(no hay error),'incomplete'(faltan datos),'bad'(dato mal introducido) o vacío(no se muestra ningún mensaje)
	function show($error){      
		$fichero = "crearusuario.html";
		
		//Con plantillas
		$p = new plantilla(".\plantilla\htmls");
		$p->asignar_fichero("general", "crearusuario.html");
		$p->asignar_bloque("general", "bloque-editar", "bloque-editars");
		$p->asignar_bloque("general", "bloque-ver", "bloque-vers");
		$p->asignar_bloque("bloque-editar", "bloque-editrol", "bloque-editrols");
		$p->asignar_bloque("bloque-editar", "bloque-verrol", "bloque-verrols");
		
		$p->asignar_bloque("bloque-editar", "bloque-clavecrear", "bloque-clavecrears");
		$p->asignar_bloque("bloque-editar", "bloque-claveeditar", "bloque-claveeditars");

		$p->asignar_bloque("general", "bloque-errorno", "bloque-errornos");
		$p->asignar_bloque("general", "bloque-errorincomplete", "bloque-errorincompletes");
		$p->asignar_bloque("general", "bloque-errorbad", "bloque-errorbads");

		if ($this->state=='create'){
			$estado="Crear";
			if ($this->currentuser->rol=='master'){
				$p->asignar_variable('selectedred', 'SELECTED');
				$p->calcular("bloque-editrols", "bloque-editrol");
			}
			$p->calcular("bloque-editars", "bloque-editar");
			$p->calcular("bloque-clavecrears", "bloque-clavecrear");
			$p->asignar_variable("voperation", "crearusuario");
			if ($error=='no') $p->calcular("bloque-errornos", "bloque-errorno");
			else if ($error=='incomplete') $p->calcular("bloque-errorincompletes", "bloque-errorincomplete");
			else if ($error=='bad') $p->calcular("bloque-errorbads", "bloque-errorbad"); 
		}else if ($this->state=='edit'){
			$estado="Editar";
			$p->asignar_variable("voperation", "editarusuario");
			$p->asignar_variable("vusername", $this->user->username);
			$p->asignar_variable("vpassword", $this->user->password);
			$p->asignar_variable("vnombre", $this->user->name);
			$p->asignar_variable("vapellidos", $this->user->surnames);
			$p->asignar_variable("vdireccion", $this->user->address);
			$p->asignar_variable("vtelefono", $this->user->telephone);
			$p->asignar_variable("vemail", $this->user->email);

			//El master puede modificar el rol solo si no el suyo 
			if (($this->currentuser->rol == 'master') && ($this->currentuser->username != $this->user->username)){
				if ($this->user->rol=='c_redaccion') $selected='selectedcr';
				if ($this->user->rol=='c_cierre') $selected='selectedcc';
				if ($this->user->rol=='redactor') $selected='selectedred';
				if ($this->user->rol=='corrector') $selected='selectedce';
				if ($this->user->rol=='diseñador') $selected='selectedd';
				if ($this->user->rol=='reportero') $selected='selectedrep';
				if ($this->user->rol=='editor') $selected='selectede';
				if ($this->user->rol=='master') $selected='selectedm';
				$p->asignar_variable($selected, 'SELECTED');
				$p->calcular("bloque-editrols", "bloque-editrol");
			}else{
				if ($this->user->rol=='c_redaccion'){
					$rol='consejo de redacción';
					$rol2='c_redaccion';
				}else if ($this->user->rol=='c_cierre'){
					$rol='consejo de cierre';
					$rol2='c_cierre';
				}else if ($this->user->rol=='redactor'){
					$rol='redactor';
					$rol2='redactor';
				}else if ($this->user->rol=='corrector'){
					$rol='corrector de estilo';
					$rol2='corrector';
				}else if ($this->user->rol=='diseñador'){
					$rol='diseñador';
					$rol2='diseñador';
				}else if ($this->user->rol=='reportero'){
					$rol='reportero';
					$rol2='reportero';
				}else if ($this->user->rol=='editor'){
					$rol='editor';
					$rol2='editor';
				}else if ($this->user->rol=='master'){
					$rol='master';
					$rol2='master';
				}

				$p->asignar_variable("vrol", $rol);
				$p->asignar_variable("vrol2", $rol2);
				$p->calcular("bloque-verrols", "bloque-verrol");
			} 
			$p->calcular("bloque-editars", "bloque-editar");
			$p->calcular("bloque-claveeditars", "bloque-claveeditar");
			if ($error=='no') $p->calcular("bloque-errornos", "bloque-errorno");
			else if ($error=='incomplete') $p->calcular("bloque-errorincompletes", "bloque-errorincomplete");
			else if ($error=='bad') $p->calcular("bloque-errorbads", "bloque-errorbad"); 
		}else if ($this->state=='readonly'){
			$estado="Ver";
			$p->asignar_variable("voperation", "leerusuario");
			$p->asignar_variable("vusername", $this->user->username);
			$p->asignar_variable("vpassword", $this->user->password);
			$p->asignar_variable("vnombre", $this->user->name);
			$p->asignar_variable("vapellidos", $this->user->surnames);
			$p->asignar_variable("vdireccion", $this->user->address);
			$p->asignar_variable("vtelefono", $this->user->telephone);
			$p->asignar_variable("vemail", $this->user->email);
			if ($this->user->rol=='c_redaccion') $rol='consejo de redacción';
			if ($this->user->rol=='c_cierre') $rol='consejo de cierre';
			if ($this->user->rol=='redactor') $rol='redactor';
			if ($this->user->rol=='corrector') $rol='corrector de estilo';
			if ($this->user->rol=='diseñador') $rol='diseñador';
			if ($this->user->rol=='reportero') $rol='reportero';
			if ($this->user->rol=='editor') $rol='editor';
			if ($this->user->rol=='master') $rol='master';
			$p->asignar_variable("vrol", $rol);
			$p->calcular("bloque-vers", "bloque-ver");
		}

		$p->asignar_variable("vticket", $this->tic);
		$p->asignar_variable("state", $estado);
		$p->calcular("salida", "general");
	    $res=$p->tomar("salida");
		return $res;
	}
}


class news_view {
	var $news; 
	var $state;
	var $currentuser;
	var $tic;


	function setnews($news){
		$this->news = new news();  //noticia a ver o editar
		$this->news=$news;
	}

	function setcurrentuser($cuser){  //usuario actual del sistema y su ticket
		
		$this->currentuser = new user();

		//Sacamos el usuario que tiene ese nombre
		$BDcontrolador = new db_handling;
		$BDcontrolador->connection();
		$BDcontrolador->query("SELECT * FROM user WHERE username='$cuser'");
		@$BDcontrolador->all_results_into_array();
		$this->currentuser->fill_user($BDcontrolador->arrayfinalresult["username"],$BDcontrolador->arrayfinalresult["name"],$BDcontrolador->arrayfinalresult["surnames"],$BDcontrolador->arrayfinalresult["address"],$BDcontrolador->arrayfinalresult["email"],$BDcontrolador->arrayfinalresult["rol"],$BDcontrolador->arrayfinalresult["telephone"],$BDcontrolador->arrayfinalresult["password"]);

		//sacamos el ticket
		$BDcontrolador->query("SELECT id_ticket FROM ticket WHERE username='$cuser'");
		@$BDcontrolador->one_result("0","id_ticket");
		$this->tic=$BDcontrolador->finalresult;
	}
	
	function setstate($state){
		$this->state=$state;       //puede ser 'create', 'edit' o 'readonly'
	}


	function show($error){
	
		$fichero = "crearnoticia.html";
		$es_el=false;

		//Sacamos quienes son los redactores de la noticia
		$BDcontrolador2 = new db_handling;
		$BDcontrolador2->connection();
		$comprobar = $this->news->id_news;
		$BDcontrolador2->query("SELECT username FROM mnewsuser WHERE id_news='$comprobar'");
		$BDcontrolador2->numrows();
		$numresultados=$BDcontrolador2->finalresult;
		$BDcontrolador2->one_result("0","username");
		$resultados=$BDcontrolador2->finalresult;
		//Vamos a ver si el redactor que está usando el sistema es el mismo que escribió la noticia
		if ($BDcontrolador2->finalresult == $this->currentuser->username) $es_el= true;

		for ($i=1;$i<$numresultados;$i++){
			@$BDcontrolador2->one_result($i,"username");
			$resultados=$resultados."\n".$BDcontrolador2->finalresult;
			if ($BDcontrolador2->finalresult == $this->currentuser->username) $es_el= true;
		}

		$p = new plantilla(".\plantilla\htmls");
		$p->asignar_fichero("general", "crearnoticia.html");
		$p->asignar_bloque("general", "bloque-ver", "bloque-vers");
		$p->asignar_bloque("bloque-ver", "bloque-materialv", "bloque-materialvs");
		$p->asignar_bloque("bloque-ver", "bloque-comentarv", "bloque-comentarvs");
		$p->asignar_bloque("general", "bloque-notificar", "bloque-notificars");
		$p->asignar_bloque("general", "bloque-editar", "bloque-editars");
		$p->asignar_bloque("bloque-editar", "bloque-hayestado", "bloque-hayestados");
		$p->asignar_bloque("bloque-editar", "bloque-hayredactores", "bloque-hayredactoress");
		$p->asignar_bloque("bloque-hayestado", "bloque-estadoeditor", "bloque-estadoeditors");
		$p->asignar_bloque("bloque-hayestado", "bloque-estadocorrector", "bloque-estadocorrectors");
		$p->asignar_bloque("bloque-hayestado", "bloque-estado", "bloque-estados");
		$p->asignar_bloque("bloque-editar", "bloque-matcheck", "bloque-matchecks");
		$p->asignar_bloque("bloque-editar", "bloque-material", "bloque-materials");
		$p->asignar_bloque("bloque-material", "bloque-matmarcar", "bloque-matmarcars");
		$p->asignar_bloque("bloque-material", "bloque-matbot", "bloque-matbots");
		$p->asignar_bloque("bloque-editar", "bloque-matbotones", "bloque-matbotoness");
		$p->asignar_bloque("bloque-editar", "bloque-comentar", "bloque-comentars");
		$p->asignar_bloque("general", "bloque-errorno", "bloque-errornos");
		$p->asignar_bloque("general", "bloque-errorincomplete", "bloque-errorincompletes");
		$p->asignar_bloque("general", "bloque-errorbad", "bloque-errorbads");

		
		if ($this->state=='create'){
			$estado="Crear";
			$p->asignar_variable("voperation", "crearnoticia");
			$p->calcular("bloque-notificars", "bloque-notificar");
			$p->calcular("bloque-editars", "bloque-editar");
			//$p->calcular("bloque-materials", "bloque-material");
			//$p->calcular("bloque-matbotoness", "bloque-matbotones");
			//$p->calcular("bloque-matchecks", "bloque-matcheck");
			if ($error=='no') $p->calcular("bloque-errornos", "bloque-errorno");
			else if ($error=='incomplete') $p->calcular("bloque-errorincompletes", "bloque-errorincomplete");
			else if ($error=='bad') $p->calcular("bloque-errorbads", "bloque-errorbad"); 
		}else if ($this->state=='edit'){
			
			$estado="Editar";
			$p->asignar_variable("voperation", "editarnoticia");
			$p->asignar_variable("vidnoticia", $this->news->id_news);
			$p->asignar_variable("vtitulo", $this->news->title);
			$p->asignar_variable("vfecha", $this->news->ndate);
			$p->asignar_variable("vtema", $this->news->matter);
			$p->asignar_variable("vredactores", $resultados);
			$p->calcular("bloque-hayredactoress", "bloque-hayredactores");
			$p->asignar_variable("vcontenido", $this->news->contents);
						
			if ($this->currentuser->rol=='editor'){
				if ($this->news->state=='redactada') $selected='selectedre';
				if ($this->news->state=='aprobada') $selected='selectedap';
				if ($this->news->state=='corregida') $selected='selectedcor';
				if ($this->news->state=='comentada') $selected='selectedcom';
				if ($this->news->state=='historica') $selected='selectedhi';
				$p->asignar_variable($selected, 'SELECTED');
				$p->asignar_variable("vcomentario", $this->news->comment);
				$p->calcular("bloque-comentars", "bloque-comentar");
				$p->calcular("bloque-hayestados", "bloque-hayestado");
				$p->calcular("bloque-estadoeditors", "bloque-estadoeditor");

				//Vamos a sacar el material asociado (para verlo,eliminarlo o agregar)
				$comprobar=$this->news->id_news;
				$BDcontrolador2->query("SELECT descriptor FROM mmaterialnews WHERE id_news='$comprobar'");
				$BDcontrolador2->numrows();
				$numresultados=$BDcontrolador2->finalresult;
				$p->asignar_variable("vnumelem", $numresultados);
								
				$p->calcular("bloque-matchecks", "bloque-matcheck");
				
				for ($i=0;$i<$numresultados;$i++){
					@$BDcontrolador2->one_result($i,"descriptor");
					$p->asignar_variable("vnombrematerial", $BDcontrolador2->finalresult);
					$p->asignar_variable("vclave2", $BDcontrolador2->finalresult);
					$p->asignar_variable("veliminar", "eliminar$i");
					@$p->calcular("bloque-materials", "bloque-material", true);
					@$p->calcular("bloque-matmarcars", "bloque-matmarcar", true);
					@$p->calcular("bloque-matbots", "bloque-matbot", true);
				}
				
				$p->calcular("bloque-matbotoness", "bloque-matbotones");
				
				
			}else if ($this->currentuser->rol=='corrector'){
				$p->asignar_variable("vcomentario", $this->news->comment);
				$p->calcular("bloque-comentars", "bloque-comentar");
				$p->calcular("bloque-hayestados", "bloque-hayestado");
				$p->calcular("bloque-estadocorrectors", "bloque-estadocorrector");

				//Vamos a sacar el material asociado (solo para verlo)
				$comprobar=$this->news->id_news;
				$BDcontrolador2->query("SELECT descriptor FROM mmaterialnews WHERE id_news='$comprobar'");
				$BDcontrolador2->numrows();
				$numresultados=$BDcontrolador2->finalresult;
				$p->asignar_variable("vnumelem", $numresultados);
				for ($i=0;$i<$numresultados;$i++){
					@$BDcontrolador2->one_result($i,"descriptor");
					$p->asignar_variable("vnombrematerial", $BDcontrolador2->finalresult);
					$p->asignar_variable("vclave2", $BDcontrolador2->finalresult);
					$p->asignar_variable("veliminar", "eliminar$i");
					@$p->calcular("bloque-materials", "bloque-material", true);
					@$p->calcular("bloque-matbots", "bloque-matbot",true);
				}

			}else if (($this->currentuser->rol=='c_redaccion') || ($this->currentuser->rol=='c_cierre') || ($es_el)){
				
				$p->asignar_variable("vcomentario", $this->news->comment);
				$p->calcular("bloque-comentars", "bloque-comentar");
				$p->asignar_variable("vestado", $this->news->state);
				$p->calcular("bloque-hayestados", "bloque-hayestado");
				$p->calcular("bloque-estados", "bloque-estado");

				//Vamos a sacar el material asociado (para verlo, eeliminarlo o agregar)
				$comprobar=$this->news->id_news;
				$BDcontrolador2->query("SELECT descriptor FROM mmaterialnews WHERE id_news='$comprobar'");
				$BDcontrolador2->numrows();
				$numresultados=$BDcontrolador2->finalresult;
				$p->asignar_variable("vnumelem", $numresultados);
				$p->calcular("bloque-matchecks", "bloque-matcheck");

				for ($i=0;$i<$numresultados;$i++){
					@$BDcontrolador2->one_result($i,"descriptor");
					$p->asignar_variable("vnombrematerial", $BDcontrolador2->finalresult);
					$p->asignar_variable("vclave2", $BDcontrolador2->finalresult);
					$p->asignar_variable("veliminar", "eliminar$i");
					
					@$p->calcular("bloque-matmarcars", "bloque-matmarcar",true);
					@$p->calcular("bloque-matbots", "bloque-matbot",true);
					@$p->calcular("bloque-materials", "bloque-material", true);
				}

				$p->calcular("bloque-matbotoness", "bloque-matbotones");

			}else{
				$p->asignar_variable("vestado", $this->news->state);
				$p->calcular("bloque-hayestados", "bloque-hayestado");
				$p->calcular("bloque-estados", "bloque-estado");

				//Vamos a sacar el material asociado (solo para verlo)
				$comprobar=$this->news->id_news;
				$BDcontrolador2->query("SELECT descriptor FROM mmaterialnews WHERE id_news='$comprobar'");
				$BDcontrolador2->numrows();
				$numresultados=$BDcontrolador2->finalresult;
				$p->asignar_variable("vnumelem", $numresultados);
				for ($i=0;$i<$numresultados;$i++){
					@$BDcontrolador2->one_result($i,"descriptor");
					$p->asignar_variable("vnombrematerial", $BDcontrolador2->finalresult);
					$p->asignar_variable("vclave2", $BDcontrolador2->finalresult);
					$p->asignar_variable("veliminar", "eliminar$i");
					@$p->calcular("bloque-materials", "bloque-material", true);
					@$p->calcular("bloque-matbots", "bloque-matbot",true);
				}

			} 
			
			$p->calcular("bloque-editars", "bloque-editar");
			if ($error=='no') $p->calcular("bloque-errornos", "bloque-errorno");
			else if ($error=='incomplete') $p->calcular("bloque-errorincompletes", "bloque-errorincomplete");
			else if ($error=='bad') $p->calcular("bloque-errorbads", "bloque-errorbad"); 
		}else if ($this->state=='readonly'){
			$estado="Ver";
			$p->asignar_variable("voperation", "leernoticia");
			$p->asignar_variable("vtitulo", $this->news->title);
			$p->asignar_variable("vfecha", $this->news->ndate);
			$p->asignar_variable("vestado", $this->news->state);
			$p->asignar_variable("vtema", $this->news->matter);
			$cadena=$this->news->contents;
			$p->asignar_variable("vcontenido", eregi_replace("\n","<BR>",$cadena));
			$p->asignar_variable("vredactores", $resultados);

			//Vemos si se debe mostrar el comentario de la noticia
			if (($this->currentuser->rol=='c_redaccion') || ($this->currentuser->rol=='c_cierre') || ($this->currentuser->rol=='corrector') || ($this->currentuser->rol=='editor') || ($es_el)){
				$cadena=$this->news->comment;
				//usamos el eregi_replace para que las lineas salgan una debajo de otra
				$p->asignar_variable("vcomentario", eregi_replace("\n","<BR>",$cadena));
				$p->calcular("bloque-comentarvs", "bloque-comentarv");
			}

			//el material
			$comprobar=$this->news->id_news;
			$BDcontrolador2->query("SELECT descriptor FROM mmaterialnews WHERE id_news='$comprobar'");
			$BDcontrolador2->numrows();
			$numresultados=$BDcontrolador2->finalresult;
			$p->asignar_variable("vnumelem", $numresultados);
			for ($i=0;$i<$numresultados;$i++){
				@$BDcontrolador2->one_result($i,"descriptor");
				$p->asignar_variable("vnombrematerial", $BDcontrolador2->finalresult);
				$p->asignar_variable("vclave2", $BDcontrolador2->finalresult);
				$p->asignar_variable("veliminar", "eliminar$i");
				@$p->calcular("bloque-materialvs", "bloque-materialv", true);
			}
			
			$p->calcular("bloque-vers", "bloque-ver");
		}

		$p->asignar_variable("vticket", $this->tic);  //metemos el ticket en el hidden
		$p->asignar_variable("state", $estado);
		$p->calcular("salida", "general");
	    $res=$p->tomar("salida");
		return $res;
	
	}

}

class report_view{
	var $report; 
	var $state;
	var $currentuser;
	var $tic;


	function setreport($report){
		$this->report = new report();  //informe a ver o editar
		$this->report=$report;
	}

	function setcurrentuser($cuser){  //usuario actual del sistema y su ticket
		
		$this->currentuser = new user();

		//Sacamos el usuario que tiene ese nombre
		$BDcontrolador = new db_handling;
		$BDcontrolador->connection();
		$BDcontrolador->query("SELECT * FROM user WHERE username='$cuser'");
		@$BDcontrolador->all_results_into_array();
		$this->currentuser->fill_user($BDcontrolador->arrayfinalresult["username"],$BDcontrolador->arrayfinalresult["name"],$BDcontrolador->arrayfinalresult["surnames"],$BDcontrolador->arrayfinalresult["address"],$BDcontrolador->arrayfinalresult["email"],$BDcontrolador->arrayfinalresult["rol"],$BDcontrolador->arrayfinalresult["telephone"],$BDcontrolador->arrayfinalresult["password"]);

		//sacamos el ticket
		$BDcontrolador->query("SELECT id_ticket FROM ticket WHERE username='$cuser'");
		@$BDcontrolador->one_result("0","id_ticket");
		$this->tic=$BDcontrolador->finalresult;
	}
	
	function setstate($state){
		$this->state=$state;       //puede ser 'create', 'edit' o 'readonly'
	}

	
	function show($error){
	
		$fichero = "crearinforme.html";
		
		$p = new plantilla(".\plantilla\htmls");
		$p->asignar_fichero("general", "crearinforme.html");
		$p->asignar_bloque("general", "bloque-ver", "bloque-vers");
		$p->asignar_bloque("bloque-ver", "bloque-materialv", "bloque-materialvs");
		$p->asignar_bloque("general", "bloque-notificar", "bloque-notificars");
		$p->asignar_bloque("general", "bloque-editar", "bloque-editars");
		$p->asignar_bloque("bloque-editar", "bloque-estadoedit", "bloque-estadoedits");
		$p->asignar_bloque("bloque-editar", "bloque-estado", "bloque-estados");
		$p->asignar_bloque("bloque-editar", "bloque-matcheck", "bloque-matchecks");
		$p->asignar_bloque("bloque-editar", "bloque-material", "bloque-materials");
		$p->asignar_bloque("bloque-material", "bloque-matmarcar", "bloque-matmarcars");
		$p->asignar_bloque("bloque-material", "bloque-matbot", "bloque-matbots");
		$p->asignar_bloque("bloque-editar", "bloque-matbotones", "bloque-matbotoness");
		$p->asignar_bloque("general", "bloque-errorno", "bloque-errornos");
		$p->asignar_bloque("general", "bloque-errorincomplete", "bloque-errorincompletes");
		$p->asignar_bloque("general", "bloque-errorbad", "bloque-errorbads");

		$BDcontrolador2 = new db_handling;
		$BDcontrolador2->connection();

		if ($this->state=='create'){
			$estado="Crear";
			$p->asignar_variable("voperation", "crearinforme");
			$p->calcular("bloque-editars", "bloque-editar");
			$p->calcular("bloque-estadoedits", "bloque-estadoedit");
			$p->asignar_variable('selectedpe', 'SELECTED');
			$p->calcular("bloque-notificars", "bloque-notificar");
			//$p->calcular("bloque-materials", "bloque-material");
			//$p->calcular("bloque-matchecks", "bloque-matcheck");
			//$p->calcular("bloque-matmarcars", "bloque-matmarcar");
			//$p->calcular("bloque-matbotoness", "bloque-matbotones");
			if ($error=='no') $p->calcular("bloque-errornos", "bloque-errorno");
			else if ($error=='incomplete') $p->calcular("bloque-errorincompletes", "bloque-errorincomplete");
			else if ($error=='bad') $p->calcular("bloque-errorbads", "bloque-errorbad"); 
		}else if ($this->state=='edit'){
			$estado="Editar";
			$p->asignar_variable("voperation", "editarinforme");
			$p->asignar_variable("vidinforme", $this->report->id_report);
			$p->asignar_variable("vtitulo", $this->report->title);
			$p->asignar_variable("vfecha", $this->report->rdate);
			$p->asignar_variable("vtipo", $this->report->type);
			$p->asignar_variable("vresponsable", $this->report->username);
			$p->asignar_variable("vcontenido", $this->report->contents);

			
			if ( ($this->currentuser->rol=='editor') || ($this->currentuser->rol=='c_redaccion') ){
				if ($this->report->state=='pendiente') $selected='selectedpe';
				if ($this->report->state=='pendiente urgente') $selected='selectedpeu';
				if ($this->report->state=='visto') $selected='selectedv';
				$p->asignar_variable($selected, 'SELECTED');
				$p->calcular("bloque-estadoedits", "bloque-estadoedit");

				//Vamos a sacar el material asociado
				$comprobar=$this->report->id_report;
				$BDcontrolador2->query("SELECT descriptor FROM mmaterialreport WHERE id_report='$comprobar'");
				$BDcontrolador2->numrows();
				$numresultados=$BDcontrolador2->finalresult;
				$p->asignar_variable("vnumelem", $numresultados);
				//if ($numresultados != '0'){
				//	$p->calcular("bloque-matmarcars", "bloque-matmarcar");
				//	$p->calcular("bloque-matbots", "bloque-matbot");
				//}
				$p->calcular("bloque-matchecks", "bloque-matcheck");
				for ($i=0;$i<$numresultados;$i++){
					@$BDcontrolador2->one_result($i,"descriptor");
					$p->asignar_variable("vnombrematerial", $BDcontrolador2->finalresult);
					$p->asignar_variable("vclave2", $BDcontrolador2->finalresult);
					$p->asignar_variable("veliminar", "eliminar$i");
					@$p->calcular("bloque-materials", "bloque-material", true);
					@$p->calcular("bloque-matbots", "bloque-matbot",true);
					@$p->calcular("bloque-matmarcars", "bloque-matmarcar", true);
				}
				$p->calcular("bloque-matbotoness", "bloque-matbotones");
					
			}else{
				$p->asignar_variable("vestado", $this->report->state);
				$p->calcular("bloque-estados", "bloque-estado");
				//Vamos a sacar el material asociado
				$comprobar=$this->report->id_report;
				$BDcontrolador2->query("SELECT descriptor FROM mmaterialreport WHERE id_report='$comprobar'");
				$BDcontrolador2->numrows();
				$numresultados=$BDcontrolador2->finalresult;
				$p->asignar_variable("vnumelem", $numresultados);
				for ($i=0;$i<$numresultados;$i++){
					@$BDcontrolador2->one_result($i,"descriptor");
					$p->asignar_variable("vnombrematerial", $BDcontrolador2->finalresult);
					$p->asignar_variable("vclave2", $BDcontrolador2->finalresult);
					$p->asignar_variable("veliminar", "eliminar$i");
					@$p->calcular("bloque-materials", "bloque-material", true);
					@$p->calcular("bloque-matbots", "bloque-matbot",true);
				}

			} 
		
			$p->calcular("bloque-editars", "bloque-editar");
			if ($error=='no') $p->calcular("bloque-errornos", "bloque-errorno");
			else if ($error=='incomplete') $p->calcular("bloque-errorincompletes", "bloque-errorincomplete");
			else if ($error=='bad') $p->calcular("bloque-errorbads", "bloque-errorbad"); 
		}else if ($this->state=='readonly'){
			$estado="Ver";
			$p->asignar_variable("voperation", "leerinforme");
			$p->asignar_variable("vtitulo", $this->report->title);
			$p->asignar_variable("vfecha", $this->report->rdate);
			$p->asignar_variable("vestado", $this->report->state);
			$p->asignar_variable("vtipo", $this->report->type);
			$cadena=$this->report->contents;
			//usamos el eregi_replace para que las lineas salgan una debajo de otra
			$p->asignar_variable("vcontenido",eregi_replace("\n","<BR>",$cadena));
			$p->asignar_variable("vresponsable", $this->report->username);

			//el material
			$comprobar=$this->report->id_report;
			$BDcontrolador2->query("SELECT descriptor FROM mmaterialreport WHERE id_report='$comprobar'");
			$BDcontrolador2->numrows();
			$numresultados=$BDcontrolador2->finalresult;
			$p->asignar_variable("vnumelem", $numresultados);
			for ($i=0;$i<$numresultados;$i++){
				@$BDcontrolador2->one_result($i,"descriptor");
				$p->asignar_variable("vnombrematerial", $BDcontrolador2->finalresult);
				$p->asignar_variable("vclave2", $BDcontrolador2->finalresult);
				$p->asignar_variable("veliminar", "eliminar$i");
				@$p->calcular("bloque-materialvs", "bloque-materialv", true);
			}
			
			$p->calcular("bloque-vers", "bloque-ver");
		}

		$p->asignar_variable("vticket", $this->tic);  //metemos el ticket en el hidden
		$p->asignar_variable("state", $estado);
		$p->calcular("salida", "general");
	    $res=$p->tomar("salida");
		return $res;
	}

}


class material_view{
	var $material; 
	var $state;
	var $currentuser;
	var $tic;


	function setmaterial($material){
		$this->material = new material();  //material a ver o editar
		$this->material=$material;
	}

	function setcurrentuser($cuser){  //usuario actual del sistema y su ticket
		
		$this->currentuser = new user();

		//Sacamos el usuario que tiene ese nombre
		$BDcontrolador = new db_handling;
		$BDcontrolador->connection();
		$BDcontrolador->query("SELECT * FROM user WHERE username='$cuser'");
		@$BDcontrolador->all_results_into_array();
		$this->currentuser->fill_user($BDcontrolador->arrayfinalresult["username"],$BDcontrolador->arrayfinalresult["name"],$BDcontrolador->arrayfinalresult["surnames"],$BDcontrolador->arrayfinalresult["address"],$BDcontrolador->arrayfinalresult["email"],$BDcontrolador->arrayfinalresult["rol"],$BDcontrolador->arrayfinalresult["telephone"],$BDcontrolador->arrayfinalresult["password"]);

		//sacamos el ticket
		$BDcontrolador->query("SELECT id_ticket FROM ticket WHERE username='$cuser'");
		@$BDcontrolador->one_result("0","id_ticket");
		$this->tic=$BDcontrolador->finalresult;
	}
	
	function setstate($state){
		$this->state=$state;       //puede ser 'create','edit' o 'readonly'
	}


	function show($error,$asignarkey,$tipoasignar){
		
		$fichero = "crearmaterial.html";
		$situplantillas=".\plantilla\htmls";
		$p = new plantilla($situplantillas);
		$p->asignar_fichero("general", "crearmaterial.html");
		$p->asignar_bloque("general", "bloque-ver", "bloque-vers");
		$p->asignar_bloque("bloque-ver", "bloque-contimagenv", "bloque-contimagenvs");
		$p->asignar_bloque("bloque-ver", "bloque-contdocumentov", "bloque-contdocumentovs");
		$p->asignar_bloque("general", "bloque-asignaquien", "bloque-asignaquiens");
		$p->asignar_bloque("general", "bloque-editar", "bloque-editars");
		$p->asignar_bloque("bloque-editar", "bloque-tipoedit", "bloque-tipoedits");
		$p->asignar_bloque("bloque-editar", "bloque-responsable", "bloque-responsables");
		$p->asignar_bloque("bloque-editar", "bloque-vercontenido", "bloque-vercontenidos");
		$p->asignar_bloque("bloque-vercontenido", "bloque-contimagen", "bloque-contimagens");
		$p->asignar_bloque("bloque-vercontenido", "bloque-contdocumento", "bloque-contdocumentos");
		$p->asignar_bloque("bloque-editar", "bloque-subefichero", "bloque-subeficheros");
		$p->asignar_bloque("bloque-editar", "bloque-tipo", "bloque-tipos");

		$p->asignar_bloque("bloque-editar", "bloque-clavecrear", "bloque-clavecrears");
		$p->asignar_bloque("bloque-editar", "bloque-claveeditar", "bloque-claveeditars");

		$p->asignar_bloque("general", "bloque-errorno", "bloque-errornos");
		$p->asignar_bloque("general", "bloque-errorincomplete", "bloque-errorincompletes");
		$p->asignar_bloque("general", "bloque-errorbad", "bloque-errorbads");
		$posestado='';


		if ($this->state=='create'){
			$estado="Agregar";
			$p->asignar_variable("voperation", "crearmaterial");
			
			//Si se va a asignar material a algo, decir a quien se le va a asignar
			if ($tipoasignar != ""){
				$BDcontrolador = new db_handling;
				$BDcontrolador->connection();
				$p->calcular("bloque-asignaquiens", "bloque-asignaquien");
				//Sacanos el título o nombre de lo que sea para mostrarlo
				if ($tipoasignar == 'news'){
					$quees='noticia';
					$articulo='a la';
					$com=$asignarkey;
					$BDcontrolador->query("SELECT title FROM news WHERE id_news='$com'");
					$BDcontrolador->one_result("0","title");
				}else if ($tipoasignar == 'report'){
					$quees='informe';
					$articulo='al';
					$com=$asignarkey;
					$BDcontrolador->query("SELECT title FROM report WHERE id_report='$com'");
					$BDcontrolador->one_result("0","title");
				}else if ($tipoasignar == 'structure'){
					$quees='estructura';
					$articulo='a la';
					$com=$asignarkey;
					$BDcontrolador->query("SELECT name FROM structure WHERE id_structure='$com'");
					$BDcontrolador->one_result("0","name");
				}
				
				$p->asignar_variable("vtituloclaveobjeto",$BDcontrolador->finalresult);
				$p->asignar_variable("vtitulotipomat",$quees);
				$p->asignar_variable("varticulo",$articulo);
			}

			$p->asignar_variable("vasignara", $asignarkey);
			$p->asignar_variable("vtipoasignara", $tipoasignar);
			$posestado="desde archivo";
			$p->calcular("bloque-editars", "bloque-editar");
			$p->calcular("bloque-tipoedits", "bloque-tipoedit");
			$p->calcular("bloque-clavecrears", "bloque-clavecrear");
			$p->asignar_variable('selecteddo', 'SELECTED');
			$p->calcular("bloque-subeficheros", "bloque-subefichero");
			if ($error=='no') $p->calcular("bloque-errornos", "bloque-errorno");
			else if ($error=='incomplete') $p->calcular("bloque-errorincompletes", "bloque-errorincomplete");
			else if ($error=='bad') $p->calcular("bloque-errorbads", "bloque-errorbad"); 

		}else if ($this->state=='edit'){
			$estado="Editar";
			
			$p->asignar_variable("vasignara", $asignarkey);
			$p->asignar_variable("vviejocontenido", $this->material->contents);
			$p->asignar_variable("vtipoasignara", $tipoasignar);
			$p->asignar_variable("voperation", "editarmaterial");
			$p->asignar_variable("vdescriptor", $this->material->descriptor);
			$p->asignar_variable("vfecha", $this->material->mdate);
			if ($this->material->type=='fotografia'){
				$p->asignar_variable("selectedfo", 'SELECTED');
				$p->calcular("bloque-contimagens", "bloque-contimagen");
				$situacion=$situplantillas.'\\'.$this->material->contents;
				$p->asignar_variable("vcontenido", $situacion);
			}else if ($this->material->type=='video'){
				$p->asignar_variable("selectedvi", 'SELECTED');
				$p->calcular("bloque-contimagens", "bloque-contimagen");
				$situacion=$situplantillas.'\\'.$this->material->contents;
				$p->asignar_variable("vcontenido", $situacion);
			}else if ($this->material->type=='documento'){
				$p->asignar_variable("selecteddo", 'SELECTED');
				$p->calcular("bloque-contdocumentos", "bloque-contdocumento");
				$p->asignar_fichero("vcontenido", $this->material->contents);
				$p->calcular("salidamatver", "vcontenido");
			}
			$p->asignar_variable("vnota", $this->material->attachednote);
			

			$p->calcular("bloque-vercontenidos", "bloque-vercontenido");
			$p->calcular("bloque-subeficheros", "bloque-subefichero");
			$p->calcular("bloque-tipoedits", "bloque-tipoedit");
			$p->calcular("bloque-claveeditars", "bloque-claveeditar");
			$p->calcular("bloque-editars", "bloque-editar");
			if ($error=='no') $p->calcular("bloque-errornos", "bloque-errorno");
			else if ($error=='incomplete') $p->calcular("bloque-errorincompletes", "bloque-errorincomplete");
			else if ($error=='bad') $p->calcular("bloque-errorbads", "bloque-errorbad"); 
		}else if ($this->state=='readonly'){
			$estado="Ver";
			
			$p->asignar_variable("vasignara", $asignarkey);
			$p->asignar_variable("vtipoasignara", $tipoasignar);
			$p->asignar_variable("voperation", "leermaterial");
			$p->asignar_variable("vdescriptor", $this->material->descriptor);
			$p->asignar_variable("vfecha", $this->material->mdate);
			$p->asignar_variable("vtipo", $this->material->type);
			$p->asignar_variable("vresponsable", $this->material->username);

			$cadena=$this->material->attachednote;
			//usamos el eregi_replace para que las lineas salgan una debajo de otra
			$p->asignar_variable("vnota",eregi_replace("\n","<BR>",$cadena));

			
			//¡¡Ojo!!Los materiales están en la carpeta '.\plantilla\htmls\material'. Cuando se llama directamente a un fichero desde aquí(caso de los documentos),basta con pasarle 'material\nombredelfichero.txt' pq desde aquí se interpreta que el directorio origen es '.\plantilla\htmls'.Sin embargo, cuando el nombre del fichero se pasa al html para que éste sea llamado desde allí, hay que pasarle la ruta completa '.\plantilla\htmls\material\nombredelfichero.loquesea' ya que allí el directorio raíz es la carpeta www. En conclusión: los materiales deben figurar en la BD con la ruta 'material\fichero.loqsea'.
			if ($this->material->type=='fotografia'){ 
				$p->calcular("bloque-contimagenvs", "bloque-contimagenv");
				$situacion=$situplantillas.'\\'.$this->material->contents;
				$p->asignar_variable("vcontenido", $situacion);
			}else if ($this->material->type=='video'){
				$p->calcular("bloque-contimagenvs", "bloque-contimagenv");
				$situacion=$situplantillas.'\\'.$this->material->contents;
				$p->asignar_variable("vcontenido", $situacion);
			}else if ($this->material->type=='documento'){
				$p->calcular("bloque-contdocumentovs", "bloque-contdocumentov");
				$p->asignar_fichero("vcontenido", $this->material->contents);
				$p->calcular("salidamatver", "vcontenido");
			}
			
			
					
			$p->calcular("bloque-vers", "bloque-ver");
		}

		$p->asignar_variable("vticket", $this->tic);  //metemos el ticket en el hidden
		$p->asignar_variable("state", $estado);
		$p->asignar_variable("poststate", $posestado);
		$p->calcular("salida", "general");
		$res=$p->tomar("salida");
		return $res;
		
	}
}



class publication_view{
	var $publication; 
	var $state;
	var $currentuser;
	var $tic;


	function setpublication($publication){
		$this->publication = new publication();  //publicación a ver o editar
		$this->publication=$publication;
	}

	function setcurrentuser($cuser){  //usuario actual del sistema y su ticket
		
		$this->currentuser = new user();

		//Sacamos el usuario que tiene ese nombre
		$BDcontrolador = new db_handling;
		$BDcontrolador->connection();
		$BDcontrolador->query("SELECT * FROM user WHERE username='$cuser'");
		@$BDcontrolador->all_results_into_array();
		$this->currentuser->fill_user($BDcontrolador->arrayfinalresult["username"],$BDcontrolador->arrayfinalresult["name"],$BDcontrolador->arrayfinalresult["surnames"],$BDcontrolador->arrayfinalresult["address"],$BDcontrolador->arrayfinalresult["email"],$BDcontrolador->arrayfinalresult["rol"],$BDcontrolador->arrayfinalresult["telephone"],$BDcontrolador->arrayfinalresult["password"]);

		//sacamos el ticket
		$BDcontrolador->query("SELECT id_ticket FROM ticket WHERE username='$cuser'");
		@$BDcontrolador->one_result("0","id_ticket");
		$this->tic=$BDcontrolador->finalresult;
	}
	
	function setstate($state){
		$this->state=$state;       //puede ser 'create','edit' o 'readonly'
	}


	function show($error){
	
		$fichero = "crearpublicacion.html";
		$situplantillas=".\plantilla\htmls";
		$p = new plantilla($situplantillas);
		$p->asignar_fichero("general", "crearpublicacion.html");
		$p->asignar_bloque("general", "bloque-ver", "bloque-vers");
		$p->asignar_bloque("general", "bloque-editar", "bloque-editars");
		$p->asignar_bloque("bloque-editar", "bloque-estadoedit", "bloque-estadoedits");
		$p->asignar_bloque("bloque-editar", "bloque-estado", "bloque-estados");

		$p->asignar_bloque("bloque-editar", "bloque-clavecrear", "bloque-clavecrears");
		$p->asignar_bloque("bloque-editar", "bloque-claveeditar", "bloque-claveeditars");

		$p->asignar_bloque("general", "bloque-errorno", "bloque-errornos");
		$p->asignar_bloque("general", "bloque-errorincomplete", "bloque-errorincompletes");
		$p->asignar_bloque("general", "bloque-errorbad", "bloque-errorbads");
		

		if ($this->state=='create'){
			$estado="Crear";
			$p->asignar_variable("voperation", "crearpublicacion");
			$p->calcular("bloque-editars", "bloque-editar");
			$p->calcular("bloque-estadoedits", "bloque-estadoedit");
			$p->calcular("bloque-clavecrears", "bloque-clavecrear");
			$p->asignar_variable('selectedcu', 'SELECTED');
			if ($error=='no') $p->calcular("bloque-errornos", "bloque-errorno");
			else if ($error=='incomplete') $p->calcular("bloque-errorincompletes", "bloque-errorincomplete");
			else if ($error=='bad') $p->calcular("bloque-errorbads", "bloque-errorbad"); 

		}else if ($this->state=='edit'){
			$estado="Editar";
			$p->asignar_variable("voperation", "editarpublicacion");
			$p->asignar_variable("vnombre", $this->publication->publicationname);
			$p->asignar_variable("vfecha", $this->publication->pdate);
			$p->asignar_variable("vsecciones", $this->publication->sections);
			
			if ($this->publication->state=='en curso') $p->asignar_variable("selectedcu", 'SELECTED');
			else if ($this->publication->state=='publicar') $p->asignar_variable("selectedpu", 'SELECTED');
			

			$p->calcular("bloque-estadoedits", "bloque-estadoedit");
			$p->calcular("bloque-claveeditars", "bloque-claveeditar");
			$p->calcular("bloque-editars", "bloque-editar");
			if ($error=='no') $p->calcular("bloque-errornos", "bloque-errorno");
			else if ($error=='incomplete') $p->calcular("bloque-errorincompletes", "bloque-errorincomplete");
			else if ($error=='bad') $p->calcular("bloque-errorbads", "bloque-errorbad"); 
		}else if ($this->state=='readonly'){
			$estado="Ver";
			$p->asignar_variable("voperation", "leerpublicacion");
			$p->asignar_variable("vnombre", $this->publication->publicationname);
			$p->asignar_variable("vfecha", $this->publication->pdate);
			$p->asignar_variable("vestado", $this->publication->state);
			$cadena=$this->publication->sections;
			//usamos el eregi_replace para que las lineas salgan una debajo de otra
			$p->asignar_variable("vsecciones",eregi_replace("\n","<BR>",$cadena));

			$p->calcular("bloque-vers", "bloque-ver");
		}

		$p->asignar_variable("vticket", $this->tic);  //metemos el ticket en el hidden
		$p->asignar_variable("state", $estado);
		$p->calcular("salida", "general");
		$res=$p->tomar("salida");
		return $res;
	
	}
}



class structure_view{
	var $structure; 
	var $state;
	var $currentuser;
	var $tic;


	function setstructure($structure){
		$this->structure = new structure();  //estructura a ver o editar
		$this->structure=$structure;
	}

	function setcurrentuser($cuser){  //usuario actual del sistema y su ticket
		
		$this->currentuser = new user();

		//Sacamos el usuario que tiene ese nombre
		$BDcontrolador = new db_handling;
		$BDcontrolador->connection();
		$BDcontrolador->query("SELECT * FROM user WHERE username='$cuser'");
		@$BDcontrolador->all_results_into_array();
		$this->currentuser->fill_user($BDcontrolador->arrayfinalresult["username"],$BDcontrolador->arrayfinalresult["name"],$BDcontrolador->arrayfinalresult["surnames"],$BDcontrolador->arrayfinalresult["address"],$BDcontrolador->arrayfinalresult["email"],$BDcontrolador->arrayfinalresult["rol"],$BDcontrolador->arrayfinalresult["telephone"],$BDcontrolador->arrayfinalresult["password"]);

		//sacamos el ticket
		$BDcontrolador->query("SELECT id_ticket FROM ticket WHERE username='$cuser'");
		@$BDcontrolador->one_result("0","id_ticket");
		$this->tic=$BDcontrolador->finalresult;
	}
	
	function setstate($state){
		$this->state=$state;       //puede ser 'create','edit' o 'readonly'
	}



	function show($error){
	
		$fichero = "crearestructura.html";
		$situplantillas=".\plantilla\htmls";
		$p = new plantilla($situplantillas);
		$p->asignar_fichero("general", "crearestructura.html");
		$p->asignar_bloque("general", "bloque-ver", "bloque-vers");
		$p->asignar_bloque("general", "bloque-editar", "bloque-editars");
		$p->asignar_bloque("bloque-editar", "bloque-tipoedit", "bloque-tipoedits");
		$p->asignar_bloque("bloque-editar", "bloque-tipo", "bloque-tipos");
		$p->asignar_bloque("bloque-editar", "bloque-estadoedit", "bloque-estadoedits");
		$p->asignar_bloque("bloque-editar", "bloque-estado", "bloque-estados");
		$p->asignar_bloque("bloque-editar", "bloque-categoriaedit", "bloque-categoriaedits");
		$p->asignar_bloque("bloque-editar", "bloque-categoria", "bloque-categorias");
		$p->asignar_bloque("general", "bloque-errorno", "bloque-errornos");
		$p->asignar_bloque("general", "bloque-errorincomplete", "bloque-errorincompletes");
		$p->asignar_bloque("general", "bloque-errorbad", "bloque-errorbads");



		if ($this->state=='create'){
			$estado="Crear";
			$p->asignar_variable("voperation", "crearestructura");
			$p->calcular("bloque-editars", "bloque-editar");
			$p->calcular("bloque-estadoedits", "bloque-estadoedit");
			$p->asignar_variable('selectedmec', 'SELECTED');
			$p->calcular("bloque-tipoedits", "bloque-tipoedit");
			$p->asignar_variable('selectedse', 'SELECTED');
			$p->calcular("bloque-categoriaedits", "bloque-categoriaedit");
			$p->asignar_variable('selectedme', 'SELECTED');
			if ($error=='no') $p->calcular("bloque-errornos", "bloque-errorno");
			else if ($error=='incomplete') $p->calcular("bloque-errorincompletes", "bloque-errorincomplete");
			else if ($error=='bad') $p->calcular("bloque-errorbads", "bloque-errorbad"); 

		}else if ($this->state=='edit'){
			$estado="Editar";
			$p->asignar_variable("voperation", "editarestructura");
			$p->asignar_variable("vnombre", $this->structure->name);
			$p->asignar_variable("videstructura", $this->structure->id_structure);
			$p->asignar_variable("vresponsable", $this->structure->username);

			if ($this->structure->type=='seccion') $p->asignar_variable("selectedse", 'SELECTED');
			else if ($this->structure->type=='publicacion') $p->asignar_variable("selectedpu", 'SELECTED');

			if ($this->structure->state=='a medida aprobada') $p->asignar_variable("selectedmea", 'SELECTED');
			else if ($this->structure->state=='a medida en curso') $p->asignar_variable("selectedmec", 'SELECTED');
			else if ($this->structure->state=='predefinida') $p->asignar_variable("selectedpre", 'SELECTED');

			if ($this->structure->category=='a medida') $p->asignar_variable("selectedme", 'SELECTED');
			else if ($this->structure->category=='predefinida') $p->asignar_variable("selectedpr", 'SELECTED');

			$p->asignar_variable("vancho", $this->structure->pagewi);
			$p->asignar_variable("valto", $this->structure->pagehe);
			$p->asignar_variable("vmargen", $this->structure->marginsize);
			
			$p->calcular("bloque-estadoedits", "bloque-estadoedit");
			$p->calcular("bloque-tipoedits", "bloque-tipoedit");
			$p->calcular("bloque-categoriaedits", "bloque-categoriaedit");
			$p->calcular("bloque-editars", "bloque-editar");
			if ($error=='no') $p->calcular("bloque-errornos", "bloque-errorno");
			else if ($error=='incomplete') $p->calcular("bloque-errorincompletes", "bloque-errorincomplete");
			else if ($error=='bad') $p->calcular("bloque-errorbads", "bloque-errorbad"); 
		}else if ($this->state=='readonly'){
			$estado="Ver";
			$p->asignar_variable("voperation", "leerestructura");
			$p->asignar_variable("vnombre", $this->structure->name);
			$p->asignar_variable("vresponsable", $this->structure->username);

			$p->asignar_variable("vtipo", $this->structure->type);
			$p->asignar_variable("vestado", $this->structure->state);
			$p->asignar_variable("vcategoria", $this->structure->category);
			
			$p->asignar_variable("vancho", $this->structure->pagewi);
			$p->asignar_variable("valto", $this->structure->pagehe);
			$p->asignar_variable("vmargen", $this->structure->marginsize);

			$p->calcular("bloque-vers", "bloque-ver");
		}

		$p->asignar_variable("vticket", $this->tic);  //metemos el ticket en el hidden
		$p->asignar_variable("state", $estado);
		$p->calcular("salida", "general");
		$res=$p->tomar("salida");
		return $res;

	}
}


?>
Return current item: NAR contents manager