All pastes #614424 Raw Edit

Stuff

public php v1 · immutable
·published 2007-07-11 15:20 UTC
rendered paste body
<html>	<head>		<title>GetPhpClassFromDb</title>	</head>	<body ondblclick="alert('GetPhpClassFromDb \r\n Développé par Guillemot Bruno \r\n Version:1.11 \r\n Dernière release : 11/07/2007')">		<style>			BODY			{ 				background-image: url('fond/fond.png');				width:100%;				overflow:hide;			} 			#bann			{ 				background-image: url('fond/ban.gif');				background-repeat:no-repeat;				position : relative;				left:17%;			} 			#mediumbox			{				position : relative;				left :13%;				top:10%;				width:70%;				height:65%;				background-image: url('fond/fondmed.png');				border: 3px inset black;				display : block;				padding : 10px;				overflow:auto;				arrows-face-color : #e2b232;				font: 16px;				font-weight :bold;			}			td			{ 				background-image: url('fond/fond.png');			} 		</style>		<script>		function conform(expression) 		{			var car = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";			if (expression.length==0)return(true);			for (var n=0; n < expression.length; n++)			{				if(car.indexOf(expression.charAt(n))==-1)return(true);			}					}		function checkchamp()		{			check = 'true'; 			if (document.getElementById("h").value.length==0)			{				alert('vous devez remplir le champ indiquant le serveur');				check='false';			}			if(conform(document.getElementById("h").value))			{				alert('le champ indiquant le serveur contient des caractères interdits');				check='false';			}			if ((document.getElementById("u").value.length==0)&&(check!='false'))			{				alert('vous devez remplir le champ indiquant l\'utilisateur');				check='false';			}			if(check!='false')			{				document.getElementById("selctdb").submit();			}					}		</script>		<div id="bann" ><br/><br/><br/><br/>		</div>		<div id="mediumbox" >		<?php		if(isset($_POST['bdd']))		{			include('fonction.php');			extract($_POST,EXTR_OVERWRITE);			if(empty($pass))			{				$pass="";			}			$connect = mysql_connect($host,$user,$pass) or die('problême lors de la connection mysql vérifier les identifiants utilisateurs et base de données');			mysql_select_db($bdd,$connect)or die('la base de donnée n\'éxiste pas') ;			$reqtalbeexec=mysql_query("show tables",$connect);			$nbtables = mysql_num_rows($reqtalbeexec);						for($i=0;$i<$nbtables;$i++)			{				$nomtable[$i]= mysql_result($reqtalbeexec,$i,"tables_in_".$bdd);				$describexec=mysql_query("Show fields from ".$nomtable[$i],$connect);				$nbchamps[$i]=mysql_num_rows($describexec);				$a = $nbchamps[$i];				for($j=0;$j<$a;$j++)				{					$field[$i][$j] = mysql_result($describexec,$j,"Field");					$fieldtype[$i][$j] = mysql_result($describexec,$j,"Type");					$fieldkey[$i][$j] = mysql_result($describexec,$j,"key");					$fieldextra[$i][$j] = mysql_result($describexec,$j,"Extra");				}			}			if(!is_dir("Nouvelle_classe/")){mkdir ("Nouvelle_classe/");}			//on crée les dossier qui vont recevoir les codes généré			mkdir ("Nouvelle_classe/".$bdd."/")or die("le dossier conteneur éxiste déja, vérifiez que vous n'avez pas déja créer les classes");			mkdir ("Nouvelle_classe/".$bdd."/classes/")or die("le dossier de classe éxiste déja, vérifiez que vous n'avez pas déja créer les classes");			mkdir ("Nouvelle_classe/".$bdd."/Vecteurs/")or die("le dossier de Vecteurs éxiste déja, vérifiez que vous n'avez pas déja créer les classes");			mkdir ("Nouvelle_classe/".$bdd."/formulaires/")or die("le dossier de Formulaires éxiste déja, vérifiez que vous n'avez pas déja créer les classes");			for($i=0;$i<$nbtables;$i++)			{				//création des classes				$cptcle=0;				echo "<table><tr><td CELLSPACING='.$nbchamps[$i].' style='border:2px black outset;'><B>$nomtable[$i]</B></td></tr>\r\n";				if(!empty($pref))				{					$nomtable[$i]=suprimeprefixe($nomtable[$i],$pref);				}				$fichclass=fopen("Nouvelle_classe/".$bdd."/classes/".$nomtable[$i]."_class.php","w");					$fichvect=fopen("Nouvelle_classe/".$bdd."/Vecteurs/".$nomtable[$i]."_vect.php","w");					$contenufich = "<?php \r\nclass $nomtable[$i] \r\n{\r\n ";								echo"<tr>";				for($j=0;$j<$nbchamps[$i];$j++)				{					echo "<td style='border:2px black outset;";					if (!empty($fieldkey[$i][$j]))					{						echo "background-image: url(\"fond/fondmed.png\");";						}						echo "'><tt>".$field[$i][$j]."</tt></td>";						$contenufich .="\t var  $".$field[$i][$j].";";						if ((!empty($fieldkey[$i][$j]))&&($fieldkey[$i][$j]!="MUL"))						{							$contenufich .= "\t/* Clé primaire */\r\n";							$cle[$cptcle]=$field[$i][$j];							$typecle[$cptcle]=$fieldtype[$i][$j];							$extrakey[$cptcle]=$fieldextra[$i][$j];							$cptcle++;						}					else					{						$contenufich .= "\r\n";					}					echo"\r\n";				}				echo"</tr>\r\n<tr>";				for($j=0;$j<$nbchamps[$i];$j++)				{					echo "<td style='border:2px black outset;'><tt>".$fieldtype[$i][$j]."</tt></td>";				}				echo"</tr>\r\n";								//pour le constructeur				$contenufich .="\r\n\t function __construct(";				for($j=0;$j<$nbchamps[$i];$j++)				{					if($j<$nbchamps[$i]-1)					{						$contenufich .= "$".$field[$i][$j].",";					}					else					{						$contenufich .= "$".$field[$i][$j];					}				}				$contenufich .=") \r\n\t {\r\n";								for($j=0;$j<$nbchamps[$i];$j++)				{					$contenufich .="\t\t \$this->".$field[$i][$j]." = (".cherchetype(suprimelongeur($fieldtype[$i][$j])).") $".$field[$i][$j].";\r\n";				}				$contenufich .="\t}\r\n";				$contenufich .="\t //on écrit les accesseur\r\n";				for($j=0;$j<$nbchamps[$i];$j++)				{					$contenufich .="\r\n\t  function get".$field[$i][$j]."() \r\n\t {\r\n";					$contenufich .="\t\t return(\$this->".$field[$i][$j].") ;\r\n";					$contenufich .="\t}\r\n";				}				$contenufich .="\t //on écrit les mutateurs\r\n ";				for($j=0;$j<$nbchamps[$i];$j++)				{					$contenufich .="\r\n\t  function set".$field[$i][$j]."(\$new".$field[$i][$j].") \r\n\t {\r\n";					$contenufich .="\t\t include('cnx.inc');\r\n \t\t \$this->".$field[$i][$j]." = \$new".$field[$i][$j].";\r\n";						if(formatdonnees($fieldtype[$i][$j]))						{							$contenufich .= "\t\t \$req='update ".$nomtable[$i]." set ".$field[$i][$j]."= \"'.\$new".$field[$i][$j].".'\" where";						}						else						{							$contenufich .= "\t\t \$req='update ".$nomtable[$i]." set ".$field[$i][$j]."= '.\$new".$field[$i][$j].".' where";						}						$cptpk=0;						for($k=0;$k<$nbchamps[$i];$k++)						{							if ((!empty($fieldkey[$i][$k]))&&($fieldkey[$i][$k]!="MUL"))							{								$temppk[$cptpk] = $field[$i][$k];								$temptypepk[$cptpk]  = $fieldtype[$i][$k];								$cptpk++;							}						}						for($k=0;$k<$cptpk;$k++)						{							if($k!=0)							{								if(formatdonnees($temptypepk[$k]))								{									$contenufich .= " and $temppk[$k] = \"'.\$this->get$temppk[$k]().'\"";								}								else								{									$contenufich .= " and $temppk[$k] = '.\$this->get$temppk[$k]().'";								}							}							else							{								if(formatdonnees($temptypepk[$k]))								{									$contenufich .= " $temppk[$k] = \"'.\$this->get$temppk[$k]().'\"";								}								else								{									$contenufich .= " $temppk[$k] = '.\$this->get$temppk[$k]().'";								}							}						}						$contenufich .="';\r\n\t\t mysql_query(\$req);\r\n";						$contenufich .="\t}\r\n";				}				echo "\r\n</table>\r\n<Br/>";				$contenufich .="\r\n\t  function affichtout() \r\n\t {\r\n";				for($j=0;$j<$nbchamps[$i];$j++)				{				$contenufich .="\t\t echo \$this->get".$field[$i][$j]."();\r\n";				}				$contenufich .="\t}\r\n ";				$contenufich .="}\r\n ?>";				$contenufichvecteurs = "<?php \r\n \t//Vecteurs de classes $nomtable[$i] \r\n\r\n ";				$contenufichvecteurs .= "\t include('../$bdd/$nomtable[$i].php');\r\n";				$contenufichvecteurs .= "\t \$nb$nomtable[$i]=0;\r\n";				$contenufichvecteurs .= "\t \$$nomtable[$i] = array();\r\n";				$contenufichvecteurs .= "\t //fonction : création du vecteurs";				$contenufichvecteurs .= "\r\n\t function createvect$nomtable[$i]()\r\n";				$contenufichvecteurs .= "\t { \r\n";				$contenufichvecteurs .= "\t\t global \$$nomtable[$i],\$nb$nomtable[$i]; \r\n";				$contenufichvecteurs .= "\t\t include('cnx.inc'); \r\n";				$contenufichvecteurs .= "\t\t \$req=\"SELECT * FROM $nomtable[$i] \"; \r\n";				$contenufichvecteurs .= "\t\t \$reqexec=mysql_query(\$req); \r\n";				$contenufichvecteurs .= "\t\t \$nb$nomtable[$i]=mysql_num_rows(\$reqexec); \r\n";				$contenufichvecteurs .= "\t\t for(\$i=0;\$i<\$nb$nomtable[$i],\$i++) \r\n";								$contenufichvecteurs .= "\t\t { \r\n";				$contenufichvecteurs .= "\t\t\t \$$nomtable[$i]temp = new $nomtable[$i]; \r\n";				$contenufichvecteurs .= "\t\t\t \$$nomtable[$i]temp->_construct(";				for($j=0;$j<$nbchamps[$i];$j++)				{					if($j<$nbchamps[$i]-1)					{						$contenufichvecteurs .= "mysql_result(\$reqexec,\$i,'".$field[$i][$j]."'),";					}					else					{						$contenufichvecteurs .= "mysql_result(\$reqexec,\$i,'".$field[$i][$j]."'));\r\n";					}									}				$contenufichvecteurs .= "\t\t\t\$$nomtable[$i][\$i]=\$$nomtable[$i]temp;\r\n";				$contenufichvecteurs .= "\t\t } \r\n";				$contenufichvecteurs .= "\t } \r\n";				$contenufichvecteurs .= "\t //fonction : suppression enregistrement du vecteurs";				$contenufichvecteurs .= "\r\n\tfunction supprenreg$nomtable[$i](";				for($j=0;$j<$cptcle;$j++)				{					if($j<$cptcle-1)					{						$contenufichvecteurs .= "\$$cle[$j],";					}					else					{						$contenufichvecteurs .= "\$$cle[$j])\r\n";					}				}				$contenufichvecteurs .= "\t { \r\n";				$contenufichvecteurs .= "\t\t include('cnx.inc'); \r\n";				$contenufichvecteurs .="\t\t \$req='Delete  FROM prospect where ";				for($j=0;$j<$cptcle;$j++)				{					if($j<$cptcle-1)					{						if(formatdonnees($typecle[$j]))						{							$contenufichvecteurs .= "$cle[$j]=\"'.$$cle[$j].' \",";						}						else						{							$contenufichvecteurs .= "$cle[$j]='.\$$cle[$j].',";						}					}					else					{						if(formatdonnees($typecle[$j]))						{							$contenufichvecteurs .= "$cle[$j]=\"'.$$cle[$j].'\"';";						}						else						{							$contenufichvecteurs .= "$cle[$j]='.\$$cle[$j];";						}					}				}				$contenufichvecteurs .= "\r\n\t\t \$reqexec=mysql_query(\$req); \r\n";				$contenufichvecteurs .= "\t\t createvect$nomtable[$i]()";				$contenufichvecteurs .= "\r\n\t } \r\n";				$contenufichvecteurs .= "\r\n\tfunction addenreg$nomtable[$i](";				for($j=0;$j<$nbchamps[$i];$j++)				{					if($j<$nbchamps[$i]-1)					{						if($fieldextra!='auto_increment')						{							$contenufichvecteurs .= "\$".$field[$i][$j].",";						}					}					else					{						if($fieldextra!='auto_increment')						{							$contenufichvecteurs .= "\$".$field[$i][$j].")\r\n";						}					}				}				$contenufichvecteurs .= "\t{\r\n\t\t include('cnx.inc'); \r\n";				$contenufichvecteurs .= "\t\t\$req=\"Insert into prospect Values (";				for($j=0;$j<$nbchamps[$i];$j++)				{					if($j<$nbchamps[$i]-1)					{						if($fieldextra!='auto_increment')						{							if(!formatdonnees($fieldtype[$i][$j]))							{								$contenufichvecteurs .= "\$".$field[$i][$j].",";							}							else							{								$contenufichvecteurs .= "'\$".$field[$i][$j]."',";							}						}						else						{							$contenufichvecteurs .= "'',";						}					}					else					{						if($fieldextra!='auto_increment')						{							if(!formatdonnees($fieldtype[$i][$j]))							{								$contenufichvecteurs .= "\$".$field[$i][$j]."";							}							else							{								$contenufichvecteurs .= "'\$".$field[$i][$j]."'";							}						}						else						{							$contenufichvecteurs .= "''";						}					}				}				$contenufichvecteurs .= ")\";";				$contenufichvecteurs .= "\r\n\t\t \$reqexec=mysql_query(\$req); \r\n";				$contenufichvecteurs .= "\t\t createvect$nomtable[$i]()";				$contenufichvecteurs .= "\r\n\t } \r\n";				$contenufichvecteurs .= "?>";								fwrite($fichclass,$contenufich) or die('impossible de créer le fichier '.$fichclass);				fwrite($fichvect,$contenufichvecteurs) or die('impossible de créer le fichier '.$fichvect);			}			echo "<script>alert('le code a été généré correctement \\r\\n dossier : Nouvelle_classe/".$bdd."/')</script>";		}		else		{			?>			<form METHOD='POST' name='selctdb' id='selctdb' action="index.php">				<br/>				Serveur :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name='host' id="h"><Br /><Br />				Utilisateur : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name='user' id="u"><Br /><Br />				Password : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="password" name='pass' id="p"><Br /><Br />				Base de données :<input type="text" name='bdd' id="b"><Br /><Br />				préfixe de table : &nbsp;<input type="text" name='pref' id="pr"><Br /><Br />				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;				<input value="CREER LES CLASSES" type="button" name='sub' style='border:1px outset;background-image: url("fond/fond.png");color:black;font-weight:bold;border:1px black outset;' onClick="checkchamp()"><Br />			</form>			<?		}		?>		</div>	</body></html>