Location: PHPKode > scripts > PHP Installer > php-installer/phpinstaller/installer.php
<?php

	set_time_limit(300); // 5 minutes
	ob_start();

	$GLOBALS['HTTP_VARS'] = $_GET + $_POST;
	function get($key){
		if( isset( $GLOBALS['HTTP_VARS'][$key] ) )
			return $GLOBALS['HTTP_VARS'][$key];
	}
	function byte( $size ) {
	    $unim = array("B","KB","MB","GB","TB","PB");
	    $i = 0;
	    while ($size>=1024) {
	        $i++;
	        $size = $size/1024;
	    }
	    return number_format($size,($i ? 2 : 0),",",".")." ".$unim[$i];
	}
	function myFlush(){
	    ob_end_flush();
	    ob_flush();
	    flush();
	    ob_start(); 
	}
	
	if( get('dump') && isset( $db ) ){
		$sql = base64_decode( $db['contents'] );
		$sql = gzuncompress( $sql );
		echo "Dump database <b>{$db['database']}</b><br/></br><textarea style=\"width:100%;padding:10px;\" rows=\"30\">$sql</textarea>";
		exit;
	}

	$dir = get('dir');
	$execute = isset( $settings['execute'] ) ? $dir . "/" . $settings['execute'] : null;
	$overwrite = get('overwrite');
	$install = get('install');
	
	//se install
	if( $install ){

		if( $dir != "" && substr( $dir, strlen($dir)-1,1 ) != "/" )
			$dir .= "/";
			
		if( $dir != '' && !file_exists( $dir ) )
			mkdir( $dir );


		if( get('db') ){

			$db_hostname=get('db_hostname');
			$db_username=get('db_username');
			$db_password=get('db_password');
			$db_database=get('db_database');

			if( mysql_connect( $db_hostname, $db_username, $db_password ) ){
				if( mysql_select_db( $db_database ) ){

					$db_installed = false;
					$db_error = false;

					$sql = base64_decode( $db['structure'] );
					$sql = gzuncompress( $sql );
					$query = explode( ";\r", $sql );
					echo "<br/><br/><h3>DATABASE: CREATE STRUCTURE</h3>";
					for( $i=0; $i<count($query);$i++){
						list($table,$rows) = each( $db['table_list'] );
						echo "<div>$table ($rows rows)";
						if( !mysql_query( $query[$i] ) ){
							$error = true;
							echo ' - <font color="red">ERROR</font>';
						}
						else
							echo " - OK";
						echo "</div>";
						myFlush();
					}
					if( $error )
						echo "<div>Ci sono stati errori</div>";
					$error = false;

					$sql = base64_decode( $db['contents'] );
					$sql = gzuncompress( $sql );
					$query = explode( ";\n", $sql );
					
					echo "<br/><br/><hr><h3>DATABASE: INSERT CONTENT</h3>";
					for( $i=0; $i<count($query);$i++){
						echo "<div>Query $i";
						if( !mysql_query( $query[$i] ) ){
							$error = true;
							echo ' - <font color="red">ERROR</font> ' . mysql_error() . " <div class=\"error\">".$query[$i]."</div>";
						}
						else
							echo " - OK";
						echo "</div>";
						myFlush();
					}
					if( $error )
						echo "<div>Ci sono stati errori</div>";

					mysql_close();
					
					
					$db_installed = true;
				}
				else
					echo "<div>Database $db_database not found!</div>";
			}
			
			if( $db_installed )
				echo "Database Installed";
		}



		echo "<br/><br/><hr><h3>CREATE DIRECTORY</h3>";
		foreach( $directory as $dirname => $dir_param )
			if( !file_exists( $dir . $dirname ) )
				mkdir( $dir . $dirname, $dir_param['perms'] );
		echo " - OK";
		myFlush();
				
		echo "<br/><br/><hr><h3>DEFLATING FILES</h3>";
		foreach( $file as $filename => $file_param ){
			
			if( !file_exists( $dir . $filename ) or $overwrite ){
				
				echo $dir . $filename . " ... ";
				myFlush();
				
				$fp = fopen( $dir . $filename, "w" );
				$contents = base64_decode( $file_param['contents'] );
				$contents = gzuncompress( $contents );

				fwrite( $fp, $contents, strlen( $contents ) );
				fclose( $fp );
				chmod( $dir . $filename, $file_param['perms'] );

				echo  " file write<br>";
				myFlush();
			}
		}
		
	echo " <br><hr><h1>Installation Complete!";
	
	if( $execute )
		echo " <a href=\"$execute\">Click here to go $execute</a>.";
		
	}else{
		?>
		#_INSTALLATION_UI_#
		<?php
	}

?>
Return current item: PHP Installer