Location: PHPKode > projects > NAR contents manager > software/index.php
<?

//Fichero inicial para la creación de la base de datos



/*bdn*/$bdname="gestor";




if (!isset($_POST["servidor"])){

	//Se piden los parámetros adecuados
	echo "<CENTER><H1>Formulario para la instalación</H1></CENTER>";
	echo "<CENTER><H3>Rellene los campos que se le piden y pulse sobre 'enviar'</H3></CENTER><BR><BR>";
	echo "<FORM METHOD=POST ACTION='index.php'><TABLE border=0 cellpadding=10>";

	echo "<tr><td>Nombre del servidor de la base de datos:</td> <td><INPUT TYPE='text' NAME='servidor' VALUE='localhost'></td></tr>";
	echo "<tr><td>Nombre de la base de datos a crear:</td> <td>  <INPUT TYPE='text' NAME='bd' VALUE='gestor'></td></tr>";
	echo "<tr><td>Nombre del usuario de la base de datos:</td> <td>  <INPUT TYPE='text' NAME='usuario'  VALUE='root'></td></tr>";
	echo "<tr><td>Password del usuario de la base de datos: </td> <td> <INPUT TYPE='password' NAME='password' VALUE=''></td></tr>";
	echo "<tr><td align='right'><INPUT TYPE='submit' VALUE='enviar'></td></tr>";

	echo "</TABLE></FORM>";

}else{

	//Se hacen las sustituciones convenientes en BD.php
	$fichero="libs\BD.php";
	if ($f=fopen($fichero,"r")){
		echo "El fichero BD.php se ha abierto correctamente para leerlo<BR>";
	}else{
		echo "El fichero BD.php no se ha podido abrir correctamente para leerlo<BR>";
	}

	$lineas = file($fichero);
	fclose($f);
	$cad1='$server='.'localhost'.";";
	
	for ($i=0;$i<count($lineas);$i++){
		
		if (substr(trim($lineas[$i]),0,5)=='/*s*/'){
			
			$cadena= '		/*s*/$server='.'"'.$_POST["servidor"].'"'.";";
			$lineas[$i]=$cadena;

		}else if (substr(trim($lineas[$i]),0,5)=="/*u*/"){
			
			$cadena='		/*u*/$user='.'"'.$_POST["usuario"].'"'.";";
			$lineas[$i]=$cadena;
		
		}else if (substr(trim($lineas[$i]),0,5)=="/*p*/"){
			
			$cadena='		/*p*/$password='.'"'.$_POST["password"].'"'.";";
			$lineas[$i]=$cadena;
		
		}else if (substr(trim($lineas[$i]),0,7)=="///*d*/"){
			
			$cadena='		///*d*/$database='.'"'.$_POST["bd"].'"'.";";
			$lineas[$i]=$cadena;
		
		}
	}

	
	if ($f=fopen($fichero,"w+")){
		echo "El fichero BD.php se ha abierto correctamente para escribirlo<BR>";
	}else{
		echo "El fichero BD.php no se ha podido abrir correctamente para escribirlo<BR>";
	}

	for ($i=0;$i<count($lineas);$i++){
	
		fwrite($f,$lineas[$i]);

	}
	fclose($f);

	
	//Se hace la sustitución conveniente en index.php

	
	$fichero="index.php";
	if ($f=fopen($fichero,"r")){
		echo "El fichero index.php se ha abierto correctamente para leerlo<BR>";
	}else{
		echo "El fichero index.php no se ha podido abrir correctamente para leerlo<BR>";
	}

	$lineas = file($fichero);
	fclose($f);
		
	for ($i=0;$i<count($lineas);$i++){
		
		if (trim($lineas[$i])=='/*bdn*/$bdname="gestor";'){
			
			$cadena= '/*bdn*/$bdname='.'"'.$_POST["bd"].'"'.";";
			$lineas[$i]=$cadena;

		}
	}

	if ($f=fopen($fichero,"w+")){
		echo "El fichero index.php se ha abierto correctamente para escribirlo<BR>";
	}else{
		echo "El fichero index.php no se ha podido abrir correctamente para escribirlo<BR>";
	}

	for ($i=0;$i<count($lineas);$i++){
	
		fwrite($f,$lineas[$i]);

	}
	fclose($f);


	//Se crea la base de datos

	require_once("libs\BD.php");
	$BDcontrolador = new db_handling;
	$BDcontrolador->connection();

	$BDcontrolador->error();
	if ($BDcontrolador->error != ""){

		echo "Error al intentar conectar con la base de datos. ".$BDcontrolador->error."<BR>";

	}else{

		$BDcontrolador->create_db($bdname);

		$BDcontrolador->select_db($bdname);

		$BDcontrolador->query("create table user (username VARCHAR(20) PRIMARY KEY, name VARCHAR(20) NOT NULL ,surnames VARCHAR(50) NOT NULL,address VARCHAR(20) NULL,email VARCHAR(20) NULL,rol VARCHAR(20) NOT NULL,telephone VARCHAR(30) NOT NULL,password VARCHAR(30) NOT NULL)");

		echo "Se ha creado la tabla de usuarios<BR>";


		$BDcontrolador->query("insert into user (username,name,surnames,address,email,rol,telephone,password) values ('master','inicial','inicial','inicial','hide@address.com','master','111111111','master')");

		echo "Se ha insertado el usuario master inicial<BR>";



		$BDcontrolador->query("create table ticket (id_ticket INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL )");

		echo "Se ha creado la tabla de tickets<BR>";

		$BDcontrolador->query("create table structure (id_structure INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30) NOT NULL, state VARCHAR(20) NOT NULL, type VARCHAR(20) NOT NULL, category VARCHAR(20) NOT NULL, pagewi INT NOT NULL, pagehe INT NOT NULL, marginsize INT NOT NULL, username VARCHAR(20) NOT NULL)");

		echo "Se ha creado la tabla de estructuras<BR>";


		$BDcontrolador->query("create table report (id_report INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(200) NOT NULL, type VARCHAR(30) NOT NULL, state VARCHAR(30) NOT NULL, rdate VARCHAR(20) NOT NULL, contents TEXT NOT NULL, username VARCHAR(20) NOT NULL)");

		echo "Se ha creado la tabla de informes<BR>";

		$BDcontrolador->query("create table publication (publicationname VARCHAR(50) PRIMARY KEY , pdate VARCHAR(20) NOT NULL,sections TEXT NOT NULL,state VARCHAR(30) NOT NULL)");

		echo "Se ha creado la tabla de publicaciones<BR>";

		$BDcontrolador->query("create table news (id_news INT PRIMARY KEY AUTO_INCREMENT, matter VARCHAR(50) NOT NULL,state VARCHAR(30) NOT NULL, ndate VARCHAR(20) NOT NULL, title VARCHAR(200) NOT NULL,contents TEXT NOT NULL,comments TEXT NULL)");

		echo "Se ha creado la tabla de noticias<BR>";

		$BDcontrolador->query("create table mstructurepublication (id_structurepublication INT PRIMARY KEY AUTO_INCREMENT, id_structure INT NOT NULL, publicationname VARCHAR(50) NOT NULL, isfromsection VARCHAR(10) NOT NULL,section VARCHAR(100) NULL)");

		echo "Se ha creado la tabla de relación m-m entre estructuras y publicaciones<BR>";

		$BDcontrolador->query("create table mnewsuser (id_newsuser INT PRIMARY KEY AUTO_INCREMENT, id_news INT NOT NULL, username VARCHAR(20) NOT NULL)");

		echo "Se ha creado la tabla de relación m-m entre noticias y usuarios<BR>";

		$BDcontrolador->query("create table mnewspublication (id_newspublication INT PRIMARY KEY AUTO_INCREMENT, id_news INT NOT NULL, publicationname VARCHAR(50) NOT NULL)");

		echo "Se ha creado la tabla de relación m-m entre noticias y publicaciones<BR>";

		$BDcontrolador->query("create table mmaterialreport (id_materialreport INT PRIMARY KEY AUTO_INCREMENT, descriptor VARCHAR(20) NOT NULL, id_report INT NOT NULL)");

		echo "Se ha creado la tabla de relación m-m entre material e informes<BR>";

		$BDcontrolador->query("create table mmaterialnews (id_materialnews INT PRIMARY KEY AUTO_INCREMENT, descriptor VARCHAR(20) NOT NULL, id_news INT NOT NULL)");

		echo "Se ha creado la tabla de relación m-m entre material y noticias<BR>";

		$BDcontrolador->query("create table material (descriptor VARCHAR(20) PRIMARY KEY, type VARCHAR(20) NOT NULL, mdate VARCHAR(20) NOT NULL, attachednote TEXT NOT NULL, contents VARCHAR(200) NOT NULL, username VARCHAR(20) NOT NULL)");

		echo "Se ha creado la tabla de material<BR>";

		echo "<BR>La creación de la BD ha finalizado con éxito.<BR>";

	}


	//Se prepara el BD.php para poder empezar

	$fichero="libs\BD.php";
	if ($f=fopen($fichero,"r")){
		echo "El fichero BD.php se ha abierto correctamente para leerlo<BR>";
	}else{
		echo "El fichero BD.php no se ha podido abrir correctamente para leerlo<BR>";
	}

	$lineas = file($fichero);
	fclose($f);
	$cad1='$server='.'localhost'.";";
	
	for ($i=0;$i<count($lineas);$i++){
		
		if (trim($lineas[$i])=='//mysql_select_db($database,$this->connection2);'){
			
			$cadena='		mysql_select_db($database,$this->connection2);';
			$lineas[$i]=$cadena;
		
		}else if (substr(trim($lineas[$i]),0,7)=="///*d*/"){
		
			$cadena='		/*d*/$database='.'"'.$bdname.'"'.";";
			$lineas[$i]=$cadena;

		}
	}

	if ($f=fopen($fichero,"w+")){
		echo "El fichero BD.php se ha abierto correctamente para escribirlo<BR>";
	}else{
		echo "El fichero BD.php no se ha podido abrir correctamente para escribirlo<BR>";
	}

	for ($i=0;$i<count($lineas);$i++){
	
		fwrite($f,$lineas[$i]);

	}
	fclose($f);

	echo "<BR>Finalizado el proceso de instalación.<BR>Para comenzar actualice la página con el botón 'actualizar de su navegador'  <BR>";

	$fichnuevo="index/index.php";
	copy ($fichnuevo,".\index.php");

}

?>
Return current item: NAR contents manager