Mudanças entre as edições de "Projeto Integrador - 2010.1 - Equipe Coffee Break"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 204: Linha 204:
 
<h3 style="color:#661b00;">Aplicação</h3>
 
<h3 style="color:#661b00;">Aplicação</h3>
 
* Foi feito o núcleo do sistema
 
* Foi feito o núcleo do sistema
 
Foi implementado nos formulários do sistema funções JavaScript para verificação dos campos. '''Exemplo:'''
 
<syntaxhighlight lang=lang="javascript">
 
<form name="enviar" onSubmit="return formularios();" method="post" action="atualizar.php?action=atualizar">
 
<input type="text" name="titulo">
 
<input name="enviar" type="submit" value="Enviar">
 
</form>
 
 
<script language="JavaScript">
 
function formularios(){
 
if (document.enviar.titulo.value=="") {
 
alert( "Entre com um título!" );
 
document.enviar.titulo.focus();
 
return false;
 
}
 
return true;
 
}
 
</script>
 
</syntaxhighlight>
 
  
 
Foi implementado a página inicial do sistema. '''Página:'''
 
Foi implementado a página inicial do sistema. '''Página:'''

Edição das 20h11min de 3 de julho de 2010

Diario do Projeto

Projeto 2010.1

Equipe CoffeBreak

Subdominio coffeebreak.sj.ifsc.edu.br

IP Válido 200.135.37.103

Alunos: Caroline, Jesse, Mario Andre, Rodolfo


8/6/10 - Terça-feira

Física

  • Separado os Rak's por equipe
  • Colocado dois Path Panel e um organizador no armario da equipe
  • Não tinhamos cabo grande o suficiente para alcançar o nosso RAK

Enlace

  • Não foi feito nada nesse dia

Rede

  • Escolhido nosso servidor

Img10.jpg

  • Instalado o Ubuntu Server 10.04 LTS
  • Instalado os aplicativos
    • SSH ( com o sistema operacional )
    • apache2
      • bind9
      • dhcp3-server

Aplicação

  • Não foi feito nada nesse dia

9/6/10 - Quarta-feira

Física

  • Passamos 3 Cabos do RACK principal até o RACK da nossa equipe
  • Os cabos foram crimpados no Path Panel do RACK da equipe
  • Instalado 3 áreas de trabalho (na parede)

Enlace

  • Não foi feito nada nesse dia

Rede

  • Configurado DHCP
  • Configurado NTP
  • Testado NTP OK

Aplicação

  • Não foi feito nada nesse dia

10/6/10 - Quinta-feira

Física

  • Crimpado os cabos no Path Panel do armario principal
  • Testado todos os cabos, conexão com Path Panel e Área de trabalho

Enlace

  • Não foi feito nada nesse dia

Rede

  • Testado DHCP
  • Configurado NAT e Roteamento

Aplicação

  • Foi iniciado o processo de criação
  • A estrutura do bando de dados MySQL foi projetada e implantada

Segue a estrutara do banco de dados:

--
-- Banco de Dados: `coffeebreak`
--

-- --------------------------------------------------------

--
-- Estrutura da tabela `anuncio`
--

CREATE TABLE IF NOT EXISTS `anuncio` (
  `aid` int(11) unsigned zerofill NOT NULL AUTO_INCREMENT,
  `titulo` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `texto` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `link` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `visualizacoes` int(11) NOT NULL,
  `visitas` int(11) NOT NULL,
  `expira_em` datetime NOT NULL,
  `expirado` char(1) NOT NULL,
  PRIMARY KEY (`aid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=49 ;

-- --------------------------------------------------------

--
-- Estrutura da tabela `banner`
--

CREATE TABLE IF NOT EXISTS `banner` (
  `bid` int(11) unsigned zerofill NOT NULL,
  PRIMARY KEY (`bid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Estrutura da tabela `login`
--

CREATE TABLE IF NOT EXISTS `login` (
  `id` int(6) unsigned zerofill NOT NULL AUTO_INCREMENT,
  `usuario` varchar(100) NOT NULL,
  `senha` varchar(255) NOT NULL,
  `ultimo_ip` varchar(100) NOT NULL,
  `ultima_data` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

11/6/10 - Sexta-feira

Física

  • Não foi feito nada nesse dia

Enlace

  • Manobrado os cabos do servidor direito até o switch do RAK Central para conexão com a COINF

Rede

  • Configurado o Ip Válido
  • Testado o DNS
  • Colocado o servidor no armario da direita no laboratorio Redes 1

Aplicação

  • Foi feito a conexão ao banco de dados orientado a objetos.

Segue o código (mysql.php):

<?
class conMysql {

 var $servidor = "localhost";
 var $usuario = "root";
 var $senha = "4coffee4";
 var $database = "coffeebreak";
 var $validacao = "TGHDFEU1H5N5cUo2fHfUeHe1bUrheeaukghdyuGHEgh443256gyfegR";

 var $query;
 var $link;
 var $resultado;
 
function conectar() {
$this->link = mysql_connect($this->servidor,$this->usuario,$this->senha);
if (!$this->link) {
echo "Falha na conexao com o Banco de Dados!<br />";
echo "Erro: " . mysql_error();
die();
} elseif (!mysql_select_db($this->database, $this->link)) {
echo "O Banco de Dados solicitado não pode ser aberto!<br />";
echo "Erro: " . mysql_error();
die();
	}
} // fecha conectar

function desconectar() {
return mysql_close($this->link);
}

function executeQuery($query) {
$this->conectar();
$this->query=$query;
if($this->resultado=mysql_query($this->query)) {
$this->desconectar();
return $this->resultado;
} else {
echo "Ocorreu um erro na execução da SQL";
echo "Erro :" . mysql_error();
echo "SQL: " . $query;
die();
desconectar();
		}
	}
} // fecha class
?>

Estanciando e executando a Query:

require 'admin/mysql.php'; // Faz o requerimento da classe conMysql
$conexao = new conMysql(); // Faz o estanciamento
$conexao->executeQuery("select * from anuncio where expirado = 'n'"); // Executa a Query

14/6/10 - Segunda-feira

Física

  • iniciado a confecção dos pacth cord

Enlace

  • Fomos informados pelo professor Casagrande que os patch cord prontos(que são do laboratorio Redes 1), usados na conexão cruzada nos RACKs das equipes tem que ser trocados, por path cord confeccionados pelas mesmas

Rede

Aplicação

  • Foi feito o núcleo do sistema

Foi implementado a página inicial do sistema. Página:

// Função do ítem deletar
<script language='Javascript'>
function confirmar() {
  if( confirm( 'Tem certeza que deseja deletar?' ) ) {
	  return true;
  } else {
	  return false;
  }
}
</script>

<table id="box-table-a" summary="Coffee Break">
    <thead>
       <tr>
         <th scope="col">Título</th>
         <th scope="col">Cliques</th>
         <th scope="col">Tempo Restante</th>
         <th scope="col">Expirado</th>
         <th scope="col">Editar</th>
         <th scope="col">Excluir</th>
       </tr>
    </thead>
<tbody>

<?
	$conexao = new conMysql();
	
	function transData($dataMySQL) {
	$agora = date("Y-n-j H:i:s");
	$data_atual = explode(' ', $agora);
	
	$data_de_cadastro = explode(' ', $dataMySQL);
	// Tranforma a difença entre as datas que estão no formato aaaa/mm/dd em dias faltantes.
	$time_inicial = strtotime($data_atual[0]);
	$time_final = strtotime($data_de_cadastro[0]);
	$diferenca = $time_final - $time_inicial;
	$dias = (int)floor( $diferenca / (60 * 60 * 24));
		if ($dias <= 0) {
		$dias = "";
		} elseif ($dias == 1) {
		$dias .= " dia";
		} else {
		$dias .= " dias";
		}
	return $dias;
	}
	// Se o banner estiver expirado, o mesmo é atualizado e a página do sistema é atualizada.
	function atualizaBD($dataBD,$aid,$expirado) {
	$agora = date("Y-n-j H:i:s");
	$tempo_transcorrido = (strtotime($agora)-strtotime($dataBD));
		if (($tempo_transcorrido > 0) && ($expirado != "s")) {
				$conexao = new conMysql();
				$conexao->executeQuery("update anuncio set expirado='s' where aid='$aid'");
				echo("<script>window.location = 'sistema.php';</script>");
			}
	}
	
	$resultado = $conexao->executeQuery("select * from anuncio order by expira_em desc");
	
	// Gera as linhas da tabela
        while ($busca = mysql_fetch_object($resultado)) {
	
	atualizaBD($busca->expira_em,$busca->aid,$busca->expirado);
	// Troca "n" ou "s" por "Sim" ou "Não". 	
	if ($busca->expirado == n) {
			$expirado = "Não";
		} else {
			$expirado = "Sim";
		}
			
			echo '<tr>
			<td><a href="' . $busca->link . '">' . $busca->titulo . '</a></td>
			<td>' . $busca->visitas . '</td>
			<td>' . transData($busca->expira_em) . ' </td>
			<td>' . $expirado . '</td>
			<td><a href="sistema.php?action=editar&editar=' . $busca->aid . '"><img src="imagens/edit.png" width="16" height="16" /></a></td>
			<td><a href="excluir.php?action=excluir&excluir=' . $busca->aid . '" onClick="return confirmar();"><img src="imagens/delete.png" width="16" height="16" /></a></td>
			</tr>';
}
?>
</tbody>
</table>

15/6/10 - Terça-feira

Física

  • confeccionado 4 path cord para conexão cruzada, para o RACK da equipe

Enlace

Rede

Aplicação

16/6/10 - Quarta-feira

Física

  • confeccionado 4 pacth cord para conexão cruzada, parao RACK principal

Enlace

Rede

  • Instalados e configurados:Dansguardian, Squid, Firewall.

Aplicação

17/6/10 - quinta-feira

Física

Enlace

Rede

Aplicação

  • Programação.

18/6/10 - Sexta-feira

Física

Enlace

Rede

Aplicação

21/6/10 - Segunda-feira

Física

Enlace

Rede

Aplicação

22/6/10 - terça-feira

Física

Enlace

Rede

Aplicação

23/6/10 - Quarta-feira

Física

Enlace

Rede

Aplicação

24/6/10 - Quinta-feira

Física

Enlace

Rede

Aplicação

25/6/10 - Sexta-feira

Física

Enlace

Rede

Aplicação

28/6/10 - Segunda-feira

Física

Enlace

Rede

Aplicação

29/6/10 - Terça-feira

Física

Enlace

  • Configurado access point
  • colocado access point para funcionar

Rede

Aplicação


30/6/10 - Quarta-feira

Física

Enlace

Rede

Aplicação

01/7/10 - Quinta-feira

Física

Enlace

Rede

Aplicação

02/7/10 - Sexta-feira

Física

Enlace

Rede

Aplicação

05/7/10 - Segunda-feira

Física

Enlace

Rede

Aplicação