phpEasyInstaller
Publicado por EVERTON DA ROSA 28/02/2008
[ Hits: 5.080 ]
Homepage: http://everton3x.github.io
Download phpEasyInstaller-v1.0.7z
O phpEasyInstaller é um instalador para sistemas desenvolvidos em PHP e Mysql.
Com ele, o desenvolvedor pode oferecer aos usuários do seu sistema uma forma fácil e rápida de instalação.
O código está comentado e é de fácil configuração para qualquer sistema que requeira a troca de dados em um arquivo de configuração e a criação/inserção de dados em um banco de dados Mysql.
O phpEasyInstaller é de fácil adaptação.
#index.php <? $title = "phpEasyInstaller"; //texto que apareçe na barra de título do navegador e no título principal da página $description = "Instalardor de sistemas PHP+Mysql";//breve descrição do que vai ser instalado $instructions = "Para testar o instalador phpEasyInstaller, preencha os campos abaixo e clique em instalar.";//instruções de instalação $configFields = array(//configurações dos campos do formulário. Estes serão os campos a serem preenchidos com os valores que substituirão os valores default no arquivo de configuração 'Servidor Mysql'=>array(//primeiro campo 'id'=>'host',//propriedades id e nome do campo 'size'=>'50',//propriedade tamanho do campo 'type'=>'text'//tipo do campo, testado somente com text e password ), 'Usuário Mysql'=>array(//segundo campo 'id'=>'user', 'size'=>'50', 'type'=>'text' ), 'Senha do usuário Mysql'=>array(//terceiro campo 'id'=>'password', 'size'=>'50', 'type'=>'password' ) ); //não é preciso mudar nada daqui em diante $form = '<form action="phpEasyInstaller.php" method="post">'; foreach($configFields as $label=>$fields){ foreach($fields as $tag=>$value){ $$tag=$value; } $form .= '<label style="display:block">'.$label.'</label><input id="'.$id.'" name="'.$id.'" type="'.$type.'" size="'.$size.'"><br>'; } $form .= '<hr>'; $form .= '<label style="display:block">Servidor Mysql</label><input type="text" id="dbHost" name="dbHost" size="30"><br>'; $form .= '<label style="display:block">Usuário administrador Mysql</label><input type="text" id="dbUser" name="dbUser" size="30"><br>'; $form .= '<label style="display:block">Senha do usuário administrador Mysql</label><input type="password" id="dbPwd" name="dbPwd" size="30"><br>'; $form .= '<label style="display:block">Nome do banco de dados</label><input type="text" id="dbName" name="dbName" size="30">'; $form .= '<hr><input type="submit" value="Instalar"></form>'; ?> <html> <head> <title> <? echo $title; ?> </title> </head> <body> <h1> <? echo $title; ?> </h1> <h2> <? echo $description; ?> </h2> <hr> <h3> <? echo $instructions; ?> </h3> <hr> <? echo $form; ?> <hr> <h4>Desenvolvido por <a href="mailto:everton3x@gmail.com">Everton da Rosa</a> sob a licença <a href="http://www.gnu.org/licenses/licenses.html" target="_blank">GPL</a></h4> </body> </html> ################################################# #phpEasyInstaller.php <? $msgfinal = "Feche esta janela e acesse o sistema";//mensagem dada no final da instalação quando há sucesso require('sql.php');//busca as querys sql a serem executadas $fileConfig = "config.php";//arquivo de configruação do seu aplicativo $defaultConfig = array(//vincula os valores default do arquivo de configuração com os campos do formulário da página index. Utilize como chave de cada elemento do array o mesmo valor informado na chave 'id' da variável $configFields do arquivo index.php 'host'=>'%localhost%',//procure utilzar valores que não sejam repetidos em nehum lugar do arquivo de configuração para evitar efeitos indesejáveis 'user'=>'%user%', 'password'=>'%password%' ); //não é preciso alterar mais nada daqui em diante function printlog($log){ foreach($log as $time=>$text){ echo date("d-m-Y H:i:s",$time).": ".$text; } return true; } $dbHost = $_POST['dbHost']; $dbUser = $_POST['dbUser']; $dbPwd = $_POST['dbPwd']; $dbName = $_POST['dbName']; $con = mysql_connect($dbHost,$dbUser,$dbPwd); if($con){ $log[microtime()] = '<p style="color:green">Conexão com o servidor Mysql realizada com sucesso!</p>'; }else{ $log[microtime()] = '<p style="color:read">Conexão com o servidor Mysql falhou!</p>'; printlog($log); die(mysql_error()); } $query = mysql_query('create database '.$dbName); if($query){ $log[microtime()] = '<p style="color:green">Banco de dados criado com sucesso!</p>'; }else{ $log[microtime()] = '<p style="color:read">Criação do banco de dados falhou!</p>'; printlog($log); die(mysql_error()); } $sel = mysql_select_db($dbName); if($sel){ $log[microtime()] = '<p style="color:green">Seleção do banco de dados realizada com sucesso!</p>'; }else{ $log[microtime()] = '<p style="color:read">Seleção do banco de dados falhou!</p>'; printlog($log); die(mysql_error()); } foreach($sql as $s){ $query mysql_query($s); if($query){ $log[microtime()] = '<p style="color:green">Gravação dos dados realizada com sucesso!</p>'; }else{ $log[microtime()] = '<p style="color:read">Gravação dos dados falhou!</p>'; printlog($log); die(mysql_error()); } } $fopen = fopen($fileConfig,"rb+"); if($fopen){ $log[microtime()] = '<p style="color:green">Arquivo de configuração aberto com sucesso!</p>'; }else{ $log[microtime()] = '<p style="color:read">Abertura do arquivo de configuração falhou!</p>'; printlog($log); die(); } while(!feof($fopen)){ $row = fgets($fopen,"3062"); foreach($_POST as $varname=>$varvalue){ $search = $defaultConfig[$varname]; $row = str_replace($search,$varvalue,$row); } $newFile .= $row; reset($_POST); } $log[microtime()] = '<p style="color:green">Leitura e substituição de parâmetros realizada com sucesso!</p>'; fclose($fopen); $fopen = fopen($fileConfig,"wb"); $fwrite = fwrite($fopen,$newFile); fclose($fopen); if($fwrite){ $log[microtime()] = '<p style="color:green">Gravação dos dados realizada com sucesso!</p>'; }else{ $log[microtime()] = '<p style="color:read">Gravação dos dados falhou!</p>'; printlog($log); die(); } $log[microtime()] = '<p style="color:green">Instalação concluída!</p>'; printlog($log); echo "<hr>".$msgfinal; ?> ################################################# #config.php (exemplo) <? /* Este é um arquivo de configuração teste para o phpEasyInstall */ //variáveis de teste //coloque o valor default igual aos que você informou na variável $defaultConfig do arquivo phpEasyInstaller.php. Os valores informados aqui não devem se repetir no restante do arquivo pois serão substituídos pelos valores passados pelo formulário $mysqlHost = "%localhost%"; $mysqlUser = "%user%"; $mysqlPwd = "%password%"; /* As variáveis acima deverão ter seus valores trocados para os valores informados na página de instalação. os valores originais são respectivamente: localhost, user e password. se eles foram trocados, significa que o phpEasyInstall está funcionando */ ?> ################################################# #sql.php (exemplo) <? //neste arquivo você deve inserir as consultas sql a serem realizadas. Utilize um item do array para cada consulta $sql= array( 'SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO', 'CREATE TABLE IF NOT EXISTS `catalogo` ( `id` int(11) NOT NULL auto_increment, `matricula` int(11) NOT NULL default "0", `nome` varchar(255) collate utf8_unicode_ci NOT NULL default "", `setor` varchar(255) collate utf8_unicode_ci NOT NULL default "", `t1e` varchar(255) collate utf8_unicode_ci NOT NULL default "0.000", `t1s` varchar(255) collate utf8_unicode_ci NOT NULL default "0.000", `t2e` varchar(255) collate utf8_unicode_ci NOT NULL default "0.000", `t2s` varchar(255) collate utf8_unicode_ci NOT NULL default "0.000", PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT="Armazena os dados do funcionário" AUTO_INCREMENT=13090', 'INSERT INTO `catalogo` (`id`, `matricula`, `nome`, `setor`, `t1e`, `t1s`, `t2e`, `t2s`) VALUES (12557, 575, "ABILIO GUSTAVO DE OLIVEIRA", "2325-BALANÇAS", "05:30", "11:00", "12:15", "14:45"), (12558, 10269, "ACARI KROLOW KLEIN", "2311-CONTROLE DE QUALIDADE", "07:30", "11:30", "13:00", "17:00"), (12559, 912, "ADAIR DE SOUZA", "2324-CARPINTARIA/PINTURA/PEDREIRO", "07:30", "11:45", "13:30", "16:35"), (12560, 1177, "ADAIR LANGER DA SILVA", "2307- DESOSSA", "05:45", "11:00", "12:15", "15:00"), (12561, 137, "ADAO NUNES DA ROSA", "2209-CARREGAMENTO", "07:00", "11:30", "13:00", "15:50"), (12562, 598, "ADAO ROLIM DE ALMEIDA", "2306- ABATE", "06:30", "12:00", "13:15", "15:45"), (12563, 1115, "ADAVILSON ANTUNES DE FREITAS", "2315-LIMPEZA", "16:30", "20:45", "22:00", "00:45"), (12564, 747, "ADELINO DA CRUZ REIS", "2314-TUNEIS", "04:30", "08:45", "10:00", "13:42"), (12565, 856, "ADEMAR BELMONTE NETO", "2307- DESOSSA", "06:00", "11:15", "12:30", "15:15"), (12566, 60, "ADEMAR CAMPOS", "2306- ABATE", "07:30", "12:00", "13:15", "16:45")' ); ?>
Classe de Internacionalização(Multi linguagens)
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Preciso resolver um erro de DPKG (1)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (2)
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta