Skip to content

Commit

Permalink
Recomendacao funcionando
Browse files Browse the repository at this point in the history
  • Loading branch information
guaycuru committed Mar 28, 2017
1 parent 82d2716 commit 94dab77
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 83 deletions.
52 changes: 27 additions & 25 deletions ajax/recomendar.php
Original file line number Diff line number Diff line change
@@ -1,32 +1,34 @@
<?php

define('JUST_INC', true);
namespace GDE;

define('JSON', true);
require_once('../common/common.inc.php');

echo "<script>$(document).ready( function(){";
$Rec = new Recomendacao();
$Rec->setChave();
$Rec->setRecomendante($_Usuario);
$Rec->setEmail($_POST['email']);
$Rec->setRA($_POST['ra']);

if(isset($_POST['enviar'])) {
$Rec = new Recomendacao();
$Rec->setChave();
$Rec->setLogin($_Usuario->getLogin(true));
$Rec->setEmail($_POST['email']);
$Rec->setRA(intval($_POST['ra']));
$verificar = $Rec->Verificar();
if($verificar !== true) {
echo "$.guaycuru.confirmacao(\"Os seguintes erros foram encontrados, favor corrig&iacute;-los:<br />";
foreach($verificar as $erro) {
echo $erro."<br />";
}
echo "\");";
} else {
if($Rec->Recomendar($_Usuario, $_POST['mensagem']) === true)
echo "$.guaycuru.confirmacao(\"Sua Recomenda&ccedil;&atilde;o foi enviada com sucesso! O GDE agradece!!!\", \"".CONFIG_URL."/index/\")";
else
echo "$.guaycuru.confirmacao(\"N&atilde;o foi poss&iacute;vel enviar a Recomenda&ccedil;&atilde;o.\")";
}
$erros = array();
if((strlen($_POST['email']) < 2) || (preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i', $_POST['email']) == 0))
$erros[] = "O email digitado &eacute; inv&aacute;lido.";
if($Rec->Existe_Dados() === true)
$erros[] = "O email ou o RA digitado j&aacute; est&aacute; cadastrado no sistema.";
if(count($erros) > 0) {
die(Base::To_JSON(array(
'ok' => false,
'erros' => $erros
)));
} else {
if($Rec->Recomendar($_Usuario, $_POST['mensagem']) === true)
die(Base::To_JSON(array(
'ok' => true
)));
else
die(Base::To_JSON(array(
'ok' => false,
'erros' => array('N&atilde;o foi poss&iacute;vel enviar a Recomenda&ccedil;&atilde;o.')
)));
}

echo "});</script>";

echo $FIM;
8 changes: 2 additions & 6 deletions classes/GDE/Evento.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,19 +30,15 @@ class Evento extends Base {
* @var Usuario
*
* @ORM\ManyToOne(targetEntity="Usuario")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_usuario", referencedColumnName="id_usuario")
* })
* @ORM\JoinColumn(name="id_usuario", referencedColumnName="id_usuario")
*/
protected $usuario;

/**
* @var Oferecimento
*
* @ORM\ManyToOne(targetEntity="Oferecimento")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_oferecimento", referencedColumnName="id_oferecimento")
* })
* @ORM\JoinColumn(name="id_oferecimento", referencedColumnName="id_oferecimento")
*/
protected $oferecimento;

Expand Down
52 changes: 17 additions & 35 deletions classes/GDE/Recomendacao.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
* Recomendacao
*
* @ORM\Table(
* name="gde_recomendacoes",
* indexes={@ORM\Index(name="login", columns={"login"}), @ORM\Index(name="recomendado", columns={"recomendado"})}
* name="gde_recomendacoes"
* )
* @ORM\Entity
*/
Expand All @@ -23,32 +22,34 @@ class Recomendacao extends Base {
protected $chave;

/**
* @var integer
* @var Usuario
*
* @ORM\Column(type="integer", unique=true, options={"unsigned"=true}, nullable=false)
* @ORM\ManyToOne(targetEntity="Usuario")
* @ORM\JoinColumn(name="id_recomendante", referencedColumnName="id_usuario")
*/
protected $ra;
protected $recomendante;

/**
* @var string
* @var Usuario
*
* @ORM\Column(type="string", length=255, unique=true, nullable=false)
* @ORM\ManyToOne(targetEntity="Usuario")
* @ORM\JoinColumn(name="id_recomendado", referencedColumnName="id_usuario")
*/
protected $email;
protected $recomendado;

/**
* @var string
* @var integer
*
* @ORM\Column(type="string", length=255, nullable=false)
* @ORM\Column(type="integer", unique=true, options={"unsigned"=true}, nullable=false)
*/
protected $login;
protected $ra;

/**
* @var string
*
* @ORM\Column(type="string", length=255, nullable=true)
* @ORM\Column(type="string", length=255, unique=true, nullable=false)
*/
protected $recomendado;
protected $email;

/**
* getFinal
Expand Down Expand Up @@ -82,35 +83,16 @@ public function setChave() {
* @return bool
*/
public function Existe_Dados() {
if(($this->getEmail() == null) && ($this->getRA() == null))
return false;
return (
(Usuario::FindOneBy(array('email' => $this->getEmail(false))) !== null) ||
(Usuario::FindOneBy(array('ra' => $this->getRA(false))) !== null) ||
(Usuario::FindOneBy(array('aluno' => $this->getRA(false))) !== null) ||
(self::FindOneBy(array('email' => $this->getEmail(false))) !== null) ||
(self::FindOneBy(array('ra' => $this->getRA(false))) !== null)
);
}

public function Verificar() {
$erros = array();

if((strlen($this->login) < 3) || (strlen($this->login) > 16))
$erros[] = "O login deve ter no m&iacute;nimo 3 e no m&aacute;ximo 16 caracteres.";

if(preg_match('/^[A-Z0-9_]+/i', $this->login) == 0)
$erros[] = "O login digitado &eacute; inv&aacute;lido. Deve conter apenas letras, n&uacute;meros e underscores.";

if((strlen($this->email) < 2) || (preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i', $this->email) == 0))
$erros[] = "O email digitado &eacute; inv&aacute;lido.";

if($this->Existe_Dados() === true)
$erros[] = "O email ou o RA digitado j&aacute; est&aacute; cadastrado no sistema.";

if(count($erros) == 0)
return true;
else
return $erros;
}

/**
* Recomendar
*
Expand Down
23 changes: 10 additions & 13 deletions common/common.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,6 @@
date_default_timezone_set('America/Sao_Paulo');
mb_internal_encoding("UTF-8");

// Password hashing
if(version_compare(PHP_VERSION, '5.5.0') < 0)
require_once(__DIR__.'/password/password.php');

// ToDo: Remover isto, usado soh para dev
error_reporting(E_ALL & ~E_STRICT);

session_name('GDES');
session_start();

Expand All @@ -34,8 +27,8 @@
}
if((defined('AJAX')) && (AJAX === true)) {
define('HTML', false);
define('SEM_CACHE', true);
define('LOGIN_REDIRECIONAR', false);
define('NO_CACHE', true);
define('NO_REDIRECT', true);
}

if(defined('NO_HTML'))
Expand All @@ -44,7 +37,7 @@
if(!defined('HTML'))
define('HTML', true);

if((defined('SEM_CACHE')) && (SEM_CACHE === TRUE)) {
if((defined('NO_CACHE')) && (NO_CACHE === TRUE)) {
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 16 Dec 2003 16:38:00 GMT");
}
Expand All @@ -54,7 +47,7 @@
if($_SESSION['admin']['debug'] >= 2)
error_reporting(E_ALL);
register_shutdown_function(function ($inicio) {
if((!defined('NO_HTML')) || (NO_HTML === false))
if((!defined('HTML')) || (HTML === true))
echo "<hr />Tempo de Gera&ccedil;&atilde;o da P&aacute;gina: ".(microtime(true)-$inicio)." segundo(s)";
}, $TS_INICIO);
}
Expand Down Expand Up @@ -128,13 +121,17 @@
<link rel="apple-touch-icon" href="<?= CONFIG_URL; ?>web/images/apple-touch-icon.png" />
</head>
<body id="page_bg">
<script type="text/javascript">
// <![CDATA[
var CONFIG_URL = '<?= CONFIG_URL; ?>';
// ]]>
</script>
<?php
if((!defined('JUST_INC')) || (JUST_INC === false)) {
if($_Usuario !== null) {
?>
<script type="text/javascript">
// <![CDATA[
var CONFIG_URL = '<?= CONFIG_URL; ?>';
// Informacoes para o chat
<?php if(($_Usuario !== null) && (((!isset($_SESSION['admin_su'])) || ($_SESSION['admin_su'] === false)))) { ?>
var meu_id = '<?= $_Usuario->getID(); ?>';
Expand Down Expand Up @@ -171,9 +168,9 @@
});
<?php } ?>
});
<?php } ?>
// ]]>
</script>
<?php } ?>
<iframe src="about:blank" width="0" height="0" frameborder="0" id="controle" name="controle"></iframe>
<div id="top">
<div id="mini_logo">
Expand Down
24 changes: 20 additions & 4 deletions views/recomendar.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,26 @@
$Aluno = (isset($_GET['ra'])) ? Aluno::Load($_GET['ra']) : false;

?>
<script type="text/javascript">
// <![CDATA[
$(document).ready(function() {
$("#form_recomendacao").submit(function() {
$.post(CONFIG_URL + 'ajax/recomendar.php', $(this).serialize(), function(res) {
if((res) && (res.ok)) {
var msg = 'Sua Recomenda&ccedil;&atilde;o foi enviada com sucesso! O GDE agradece!!!';
$.guaycuru.confirmacao(msg, CONFIG_URL + "/index/");
} else {
var erro = ((res) && (res.erros)) ? res.erros.join(' ') : 'Um erro desconhecido ocorreu. Por favor, tente novamente.';
$.guaycuru.confirmacao(erro);
}
});
return false;
});
});
// ]]>
</script>
<h2>Recomendar o GDE</h2>
<form method="post" action="<?= CONFIG_URL; ?>ajax/recomendar.php" target="controle">
<form id="form_recomendacao">
<table border="0">
<tr>
<td>RA:</td>
Expand All @@ -29,6 +47,4 @@
</tr>
</table>
</form>
<?php
echo $FIM;
?>
<?= $FIM; ?>

0 comments on commit 94dab77

Please sign in to comment.