Skip to content

Commit

Permalink
Apelidos e colaborações funcionando.
Browse files Browse the repository at this point in the history
  • Loading branch information
guaycuru committed May 18, 2017
1 parent c9ccc70 commit ced92cd
Show file tree
Hide file tree
Showing 10 changed files with 139 additions and 23 deletions.
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,13 @@ Funcionam as páginas:
- Sala
- Sobre o GDE

Ainda não funciona:
Ainda não funcionam:

- Admin
- API
- Avisos
- Calendário
- Chat
- Colaborações
- Enquetes
- Notas
- Salvar Acontecimentos
Expand Down
12 changes: 12 additions & 0 deletions ajax/apelido.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?php

namespace GDE;

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

$Amigo = UsuarioAmigo::Load($_POST['id']);
if(($Amigo->getID() == null) || ($Amigo->getUsuario()->getID() != $_Usuario->getID()))
Base::Error_JSON('Erro');
$Amigo->setApelido(trim($_POST['nome']));
$Amigo->Save_JSON(true);
36 changes: 36 additions & 0 deletions ajax/colaboracao_oferecimento.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php

namespace GDE;

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

if(!isset($_POST['campo']) || !isset($_POST['valor']) || !isset($_POST['id_oferecimento']))
Base::Error_JSON('Faltando dados.');

$campo = trim($_POST['campo']);
if(ColaboracaoOferecimento::Campo_Valido($campo) === false)
Base::Error_JSON('Campo inv&aacute;lido.');

$valor = trim($_POST['valor']);
if($campo == 'pagina') {
if(substr($valor, 0, 7) != 'http://' || strpos($valor, 'unicamp.br') == false)
Base::Error_JSON("A p&aacute;gina deve come&ccedil;ar com 'http://' e deve conter 'unicamp.br'.");
}

$id_oferecimento = intval($_POST['id_oferecimento']);
if(ColaboracaoOferecimento::Existe_Colaboracao($id_oferecimento, $campo) == true)
Base::Error_JSON('J&aacute; existe uma colabora&ccedil;&atilde;o para este item.');

$Oferecimento = Oferecimento::Load($id_oferecimento);
if($Oferecimento->getID() == null)
Base::Error_JSON('Oferecimento n&atilde;o encontrado.');

$Colaboracao = new ColaboracaoOferecimento();
$Colaboracao->setOferecimento($Oferecimento);
$Colaboracao->setUsuario($_Usuario);
$Colaboracao->setCampo($campo);
$Colaboracao->setValor($valor);
$Colaboracao->setStatus(ColaboracaoOferecimento::STATUS_PENDENTE);
$Colaboracao->setData();
$Colaboracao->Save_JSON();
48 changes: 48 additions & 0 deletions ajax/colaboracao_professor.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?php

namespace GDE;

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

if(!isset($_POST['campo']) || !isset($_POST['valor']) || !isset($_POST['id_professor']))
Base::Error_JSON('Faltando dados.');

$campo = trim($_POST['campo']);
if(ColaboracaoProfessor::Campo_Valido($campo) === false)
Base::Error_JSON('Campo inv&aacute;lido.');

if($campo == 'instituto')
$valor = intval($_POST['valor']);
else {
$valor = trim($_POST['valor']);
if($campo == 'pagina') {
if(substr($valor, 0, 7) != 'http://' || strpos($valor, 'unicamp.br') == false)
Base::Error_JSON("A p&aacute;gina deve come&ccedil;ar com 'http://' e deve conter 'unicamp.br'.");
}
else if($campo == 'email') {
if(strpos($valor, 'unicamp.br') == false || preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i', $valor) == 0)
Base::Error_JSON("O e-mail deve conter 'unicamp.br'.");
}
else if($campo == 'lattes') {
if(substr($valor, 0, 55) != 'http://buscatextual.cnpq.br/buscatextual/visualizacv.do' && substr($valor, 0, 22) != 'http://lattes.cnpq.br/')
Base::Error_JSON("O link para o curriculo Lattes deve come&ccedil;ar com 'http://buscatextual.cnpq.br/buscatextual/visualizacv.do' ou 'http://lattes.cnpq.br/'.");
}
}

$id_professor = intval($_POST['id_professor']);
if(ColaboracaoProfessor::Existe_Colaboracao($id_professor, $campo) == true)
Base::Error_JSON('J&aacute; existe uma colabora&ccedil;&atilde;o para este item.');

$Professor = Professor::Load($id_professor);
if($Professor->getID() == null)
Base::Error_JSON('Professor n&atilde;o encontrado.');

$Colaboracao = new ColaboracaoProfessor();
$Colaboracao->setProfessor($Professor);
$Colaboracao->setUsuario($_Usuario);
$Colaboracao->setCampo($campo);
$Colaboracao->setValor($valor);
$Colaboracao->setStatus(ColaboracaoProfessor::STATUS_PENDENTE);
$Colaboracao->setData();
$Colaboracao->Save_JSON();
6 changes: 4 additions & 2 deletions classes/GDE/Base.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -135,14 +135,15 @@ public static function Error_JSON($message, $http = 200, $extra = array()) {
*
* @param bool $flush
* @param array $extra
* @return void
*/
public function Save_JSON($flush = true, $extra = array()) {
if($this->Save($flush) === true) {
if(is_callable($extra))
$extra = $extra();
return self::OK_JSON($this->getID(), 200, $extra);
self::OK_JSON($this->getID(), 200, $extra);
} else
return self::Error_JSON('Um erro desconhecido ocorreu, por favor tente novamente.');
self::Error_JSON('Um erro desconhecido ocorreu, por favor tente novamente.');
}

/**
Expand All @@ -151,6 +152,7 @@ public function Save_JSON($flush = true, $extra = array()) {
* Deletes and outputs JSON
*
* @param bool $flush
* @return void
*/
public function Delete_JSON($flush = true) {
if($this->Delete($flush) === true)
Expand Down
7 changes: 7 additions & 0 deletions classes/GDE/ColaboracaoOferecimento.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ class ColaboracaoOferecimento extends Base {
*/
protected $data;

const CAMPO_PAGINA = 'pagina';
private static $_campos = array(self::CAMPO_PAGINA);

const STATUS_AUTORIZADA = 'a';
const STATUS_PENDENTE = 'p';
const STATUS_RECUSADA = 'r';
Expand All @@ -87,4 +90,8 @@ public static function Existe_Colaboracao($id_oferecimento, $campo) {
return ($query->getSingleScalarResult() > 0);
}

public static function Campo_Valido($campo) {
return in_array($campo, self::$_campos);
}

}
17 changes: 17 additions & 0 deletions classes/GDE/ColaboracaoProfessor.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,19 @@ class ColaboracaoProfessor extends Base {
*/
protected $data;

const CAMPO_EMAIL = 'email';
const CAMPO_INSTITUTO = 'instituto';
const CAMPO_LATTES = 'lattes';
const CAMPO_PAGINA = 'pagina';
const CAMPO_SALA = 'sala';
private static $_campos = array(
self::CAMPO_EMAIL,
self::CAMPO_INSTITUTO,
self::CAMPO_LATTES,
self::CAMPO_PAGINA,
self::CAMPO_SALA
);

const STATUS_AUTORIZADA = 'a';
const STATUS_PENDENTE = 'p';
const STATUS_RECUSADA = 'r';
Expand All @@ -87,4 +100,8 @@ public static function Existe_Colaboracao($id_professor, $campo) {
return ($query->getSingleScalarResult() > 0);
}

public static function Campo_Valido($campo) {
return in_array($campo, self::$_campos);
}

}
6 changes: 4 additions & 2 deletions views/oferecimento.php
Original file line number Diff line number Diff line change
Expand Up @@ -101,12 +101,14 @@
else {
$("#" + campo + "_valor").attr('disabled', 'disabled');
$("#" + campo + "_colaborar").hide();
$.post("<?= CONFIG_URL; ?>ajax/ax_colaboracao_oferecimento.php", {campo: campo, valor: valor, id_oferecimento: id_oferecimento}, function(data) {
if(data == "1") {
$.post("<?= CONFIG_URL; ?>ajax/colaboracao_oferecimento.php", {campo: campo, valor: valor, id_oferecimento: id_oferecimento}, function(data) {
if(data && data.ok) {
$.guaycuru.confirmacao("Colabora&ccedil;&atilde;o enviada. Aguarde autoriza&ccedil;&atilde;o.");
$("#" + campo + "_valor").hide();
$("#" + campo + "_valor").after("<label>Colabora&ccedil;&atilde;o pendente j&aacute; existe. Aguardando autoriza&ccedil;&atilde;o.</label>");
$("#" + campo + "_colaborar").hide();
} else if(data.error) {
$.guaycuru.confirmacao(data.error, "<?= CONFIG_URL; ?>oferecimento/<?= $Oferecimento->getID(); ?>");
} else {
$("#" + campo + "_valor").removeAttr('disabled');
$("#" + campo + "_colaborar").show();
Expand Down
25 changes: 9 additions & 16 deletions views/perfil.php
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,6 @@
<?php if ($Usr !== null) { ?>
<script type="text/javascript" src="<?= CONFIG_URL; ?>web/js/gde.amizades.js?<?= REVISION; ?>"></script>
<script type="text/javascript" src="<?= CONFIG_URL; ?>web/js/gde.atualizacoes.js?<?= REVISION; ?>"></script>
<script type="text/javascript" src="<?= CONFIG_URL; ?>web/js/gde.grupos.js?<?= REVISION; ?>"></script>
<?php } if ($_tipo == 'P') { ?>
<script type="text/javascript" src="<?= CONFIG_URL; ?>web/js/gde.avaliacao.js?<?= REVISION; ?>"></script>
<?php } if ($_tipo == 'A') { ?>
Expand Down Expand Up @@ -258,8 +257,8 @@
if($.trim($("#nome_amigo").val()) == '' || $.trim($("#nome_amigo").val()) == '<?= $Usr->getNome_Completo(true) ?>') {
$("#nome_amigo").val('<?= $Usr->getNome_Completo(true) ?>');
salvando_apelido = true;
$.post('<?= CONFIG_URL; ?>ajax/apelido.php', {id: '<?= $Usr->getID() ?>', nome: ""}, function(data){
if(data == '1') {
$.post('<?= CONFIG_URL; ?>ajax/apelido.php', {id: '<?= $Meu_Amigo->getID() ?>', nome: ""}, function(data){
if(data && data.ok) {
$("#salvando_nome_amigo").remove();
salvando_apelido = false;
if(!blur)
Expand All @@ -271,8 +270,8 @@
return;
$("#nome_amigo").after('<img id="salvando_nome_amigo" src="<?= CONFIG_URL; ?>web/images/loading.gif" alt="..." />');
salvando_apelido = true;
$.post('<?= CONFIG_URL; ?>ajax/apelido.php', {id: '<?= $Usr->getID() ?>', nome: $("#nome_amigo").val()}, function(data){
if(data == '1') {
$.post('<?= CONFIG_URL; ?>ajax/apelido.php', {id: '<?= $Meu_Amigo->getID() ?>', nome: $("#nome_amigo").val()}, function(data){
if(data && data.ok) {
$("#salvando_nome_amigo").remove();
salvando_apelido = false;
if(!blur)
Expand Down Expand Up @@ -315,7 +314,6 @@
$(window).resize(Tamanho_Abas);
<?php if($Usr !== null) { ?>
$('#buscar_amigos1').Procura_Amigo('lista_amigos1');
Carregar_Grupos(<?= $Usr->getID() ?>);
<?php if(($Meu_Amigo === false) && ($_Usuario->Quase_Amigo($Usr) === false)) { ?>
$('#link_amigo').click(function() { Adicionar_Amigo('<?= $Usr->getID(); ?>'); return false; });
<?php } else { ?>
Expand Down Expand Up @@ -361,18 +359,15 @@
$("#" + campo + "_valor").attr('disabled', 'disabled');
$("#" + campo + "_colaborar").hide();
$.post("<?= CONFIG_URL; ?>ajax/colaboracao_professor.php", {campo: campo, valor: valor, id_professor: id_professor}, function(data) {
if(data == "4")
$.guaycuru.confirmacao("O link para o curriculo Lattes deve come&ccedil;ar com 'http://buscatextual.cnpq.br/buscatextual/visualizacv.do' ou 'http://lattes.cnpq.br/'.", "<?= CONFIG_URL; ?>perfil/?professor=<?= $Professor->getID(); ?>");
else if(data == "3")
$.guaycuru.confirmacao("O e-mail deve conter 'unicamp.br'.", "<?= CONFIG_URL; ?>perfil/?professor=<?= $Professor->getID(); ?>");
else if(data == "2")
$.guaycuru.confirmacao("A p&aacute;gina deve come&ccedil;ar com 'http://' e deve conter 'unicamp.br'.", "<?= CONFIG_URL; ?>perfil/?professor=<?= $Professor->getID(); ?>");
else if(data == "1") {
if(data && data.ok) {
$.guaycuru.confirmacao("Colabora&ccedil;&atilde;o enviada. Aguarde autoriza&ccedil;&atilde;o.");
$("#" + campo + "_valor").hide();
$("#" + campo + "_valor").after("<label>Colabora&ccedil;&atilde;o pendente j&aacute; existe. Aguardando autoriza&ccedil;&atilde;o.</label>");
$("#" + campo + "_colaborar").hide();
} else {
}
else if(data.error)
$.guaycuru.confirmacao(data.error, "<?= CONFIG_URL; ?>perfil/?professor=<?= $Professor->getID(); ?>");
else {
$("#" + campo + "_valor").removeAttr('disabled');
$("#" + campo + "_colaborar").show();
$.guaycuru.confirmacao("Houve um problema com o seu pedido. Tente novamente mais tarde.");
Expand Down Expand Up @@ -809,8 +804,6 @@
<?php } ?>
</div>
<?php } ?>
<h3 id="accordion_grupos"><a href='#' class='accordion_header'>Grupos (<span id="span_numero_grupos">?</span>):</a></h3>
<div id="lista_grupos" ><img src="<?= CONFIG_URL; ?>web/images/loading.gif" alt="..." /> Carregando...</div>
</div>
</div>
<?php } ?>
Expand Down
2 changes: 1 addition & 1 deletion web/css/tabs.css
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ div.TabView div.Tabs a:hover, div.TabView div.Tabs a.Active {
.ui-tabs .ui-tabs-nav {
list-style: none;
position: relative;
padding: .2em 4px 0 4px;
padding: .2em 0px 0 4px;
}

.ui-tabs .ui-tabs-nav li {
Expand Down

0 comments on commit ced92cd

Please sign in to comment.