Skip to content

Instantly share code, notes, and snippets.

@valdiney
Created August 12, 2014 17:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save valdiney/495695b42c40da171b4e to your computer and use it in GitHub Desktop.
Save valdiney/495695b42c40da171b4e to your computer and use it in GitHub Desktop.
Model professor
<?php
require_once('conecxao.php');
$pdo = conecxao();
////////////////////////////////
// Class ModelProfessor...
///////////////////////////////
class ModelProfessor {
protected $nome;
protected $disciplina;
protected $complemento;
protected $p_dataCadastro;
protected $fotoPerfil;
protected $login;
protected $senha;
protected $permissao;
protected $sexo;
public function __set($attr, $valor) {
$this->$attr = $valor;
}
public function __get($attr) {
return $this->$attr;
}
}
if (isset($_GET['cadastrarProfessor'])) {
$professor = new ModelProfessor();
$id = $_GET['id'];
$professor->nome = $_POST['nome'];
$professor->disciplina = $_POST['disciplina'];
$professor->complemento = $_POST['complemento'];
$professor->p_dataCadastro = Date('d/m/Y');
$professor->login = $_POST['login'];
$professor->senha = $_POST['senha'];
$professor->permissao = $_POST['permissao'];
$professor->sexo = $_POST['sexo'];
/////////////////////////////////////////
/*
1: Se for carregado uma imagem na Variável _FILES chama o script para mover
a imagem para a pasta.
2: Se o usuario cadastrar uma nova imagem, o ascript vai até a tabela, busca o nome
da imagem que já está cadastrada, depois vai até a pasta e apaga a imagem antiga e em seguida cadastra
e move a imagem nova para a pasta.
Ou seja, as imagens antigas são sempre deletadas da pasta uploads exeto a imagem denominada "semFotoPadrao.jpg"
3: Se não carregar uma nova imagem durante a atualização dos dados
o script verifica se na tabela já existe uma imagem cadastrada e recadastra a mesma
4: Se não existir uma imagem cadastrada na tabela, carrega uma imagem alternativa.
*/
////////////////////////////////////////
if ($_FILES['arquivo']['name']) {
$busca = $pdo->prepare("select * from professor where id = ?");
$busca->execute(array($id));
$linha = $busca->fetchAll(PDO::FETCH_OBJ);
foreach($linha as $listar) {
$oldFoto = $listar->fotoPerfil;
}
$oldFotoNaPasta = $oldFoto;
if ($oldFotoNaPasta != "uploads/semFotoPadrao.jpg") {
if (!unlink($oldFotoNaPasta)) {
echo "Erro ao tentar deletar $oldFoto";
}
else {
echo "Foto antiga deletada";
}
}
require_once('uploadFotoScript.php');
$professor->fotoPerfil = $_UP['pasta'].$nomeFinal;
}
else {
$buscaFoto = $pdo->prepare("select * from professor where id = ?");
$buscaFoto->execute(array($id));
$linha = $buscaFoto->fetchAll(PDO::FETCH_OBJ);
foreach($linha as $listar) {
$foto = $listar->fotoPerfil;
}
if (empty($foto)) {
$professor->fotoPerfil = "uploads/semFotoPadrao.jpg";
}
else {
$professor->fotoPerfil = $foto;
}
}
//////////////////////////////////////////////////////////////////////////
/*
Se o usuario logado tentar Atualizar seus dados de acesso como: Login e Senha
esses novos dados de login e senha serão gravados em uma tabela chamada (loginTemporario).
Os dados de acesso atual não serao mudados durante esse processo.
A ação de gravar os novos dados de acesso na tabela (professor) será realizada por
um outro Script localizado na página (reader_and_menu.php).
*/
//////////////////////////////////////////////////////////////////////////
$select = $pdo->prepare("select * from professor where id = ?");
$select->execute(array($id));
$linha = $select->fetchAll(PDO::FETCH_OBJ);
foreach($linha as $listar) {
$Ologin = $listar->login;
$Asenha = $listar->senha;
}
if ($professor->login != $Ologin || $professor->senha != $Asenha) {
$usuarioTemporario = $pdo->prepare("insert into loginTemporario (login, senha, id_do_usuario) values (?,?,?)");
$usuarioTemporario->execute(array($professor->login, $professor->senha, $id));
header("Location:meusDados.php");
}
else {
$cadastra = $pdo->prepare("update professor set nome=?, sexo = ?, disciplina=?, complemento=?, p_dataCadastro=?, fotoPerfil=?, login=?, senha=?, permissao=? where id=?");
$cadastra->execute(array($professor->nome, $professor->sexo, $professor->disciplina, $professor->complemento, $professor->p_dataCadastro, $professor->fotoPerfil, $professor->login, $professor->senha, $professor->permissao, $id));
if ($cadastra) {
echo "Cadastrado com sucesso";
header("Location:meusDados.php");
}
else {
echo "Erro ao tentar cadastrar um professor";
}
} // end else...
} // end primeiro if...
/////////////////////////////////////////////////////////
/*
Cadastra um suario! Ação realizada pelo administrador...
(Esses dados são passados para a Interface via Ajax)...
*/
////////////////////////////////////////////////////////
if (isset($_POST['inputData'])) {
$usuario = $pdo->prepare("select * from professor where login=?");
$usuario->execute(array($_POST['inputData']));
if ($usuario->rowCount() > 0) {
echo "Já existe um usuário com este Email.
Por favor, digite um outro endereço de
Email valido que você tenha.";
}
else {
if (isset($_GET['cadastrarUsuario'])) {
$professor = new ModelProfessor();
$professor->nome = $_POST['nome'];
$professor->p_dataCadastro = Date('d/m/Y');
$professor->login = $_POST['login'];
$professor->senha = $_POST['senha'];
$professor->permissao = $_POST['permissao'];
$professor->fotoPerfil = "uploads/semFotoPadrao.jpg";
$cadastra = $pdo->prepare("insert into professor(nome, p_dataCadastro, fotoPerfil, login, senha, permissao) values (?,?,?,?,?,?)");
$cadastra->execute(array($professor->nome, $professor->p_dataCadastro, $professor->fotoPerfil, $professor->login, $professor->senha, $professor->permissao));
if ($cadastra) {
echo "Cadastrado com sucesso";
header("Location:meusDados.php");
}
else {
echo "Erro au tentar cadastrar um Usuario";
}
}
}
}
/////////////////////////////////////////////////////////////////
/*
Verifica se existe um usuario com este email, caso exista mandamos
tanto o email quanto a senha para o email do usuario...
(Esses dados são passados para a Interface via Ajax)...
*/
////////////////////////////////////////////////////////////////
if (isset($_POST['inputEmail'])) {
$usuario = $pdo->prepare("select * from professor where login=?");
$usuario->execute(array($_POST['inputEmail']));
if ($usuario->rowCount() > 0) {
echo "1) Uma mensagem foi enviada para este Email contendo seus dados de acesso.";
}
else {
echo "0) Desculpa, mas não existe nenhum usuário cadastrado com este Email.";
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment