Skip to content

Commit b51dfe4

Browse files
committed
Commit inicial, ainda muito a ser arrumado!
0 parents  commit b51dfe4

File tree

442 files changed

+55296
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

442 files changed

+55296
-0
lines changed

.gitattributes

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Set default behaviour, in case users don't have core.autocrlf set.
2+
* text=auto
3+
4+
# Store some files with LF always
5+
*.php text eol=lf
6+
*.js text eol=lf
7+
*.css text eol=lf
8+
*.less text eol=lf
9+
*.sh text eol=lf
10+
*.pem text eol=lf
11+
12+
# Binary files
13+
*.svg binary
14+
*.ttf binary
15+
*.woff binary
16+
*.mp3 binary

.gitignore

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Commit your application's lock file http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file
2+
# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
3+
# composer.lock
4+
5+
nbproject/
6+
.svn/
7+
api/gen/
8+
web/fts/*
9+
!web/fts/nobody*.gif
10+
42/
11+
.DS_Store
12+
.idea/
13+
*.iml
14+
proxies/*
15+
vendor/
16+
composer.phar
17+
common/config.inc.php
18+
cache/

.htaccess

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
Options -MultiViews
2+
RewriteEngine On
3+
4+
# Add trailing slash
5+
RewriteCond %{REQUEST_URI} !(/$|\.)
6+
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
7+
8+
# Force HTTPS
9+
RewriteCond %{HTTP:X-Forwarded-Proto} !https
10+
RewriteCond %{HTTPS} !=on
11+
RewriteCond %{REMOTE_ADDR} !=127.0.0.1
12+
RewriteCond %{HTTP_HOST} !=localhost
13+
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA]
14+
15+
# Home view
16+
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
17+
RewriteRule ^$ views/index.php [L,QSA]
18+
19+
# Rewrite views
20+
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
21+
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
22+
RewriteRule ^([^\/\.]+)/$ views/$1.php [L,QSA]
23+
24+
# Rewrite views with ID
25+
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
26+
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
27+
RewriteRule ^([^\/\.]+)/([^\/\.\?\&]+)/$ views/$1.php?id=$2 [L,QSA]

README.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
## Instalação ##
2+
3+
[ToDo]
4+
5+
1. getcomposer.org
6+
2. composer install
7+
3. common/config_sample.inc.php -> common/config.inc.php
8+
4. vi common/config.inc.php
9+
5. vendor/bin/doctrine[.bat] orm:schema-tool:update --force
10+
11+
## FAQ - Perguntas Frequentes ##
12+
13+
P: Este é o GDE "de verdade"?
14+
R: Sim e não: Esta é a versão 2.5 do GDE, atualmente a versão "em produção" é a 2.3.
15+
16+
P: Qual a diferença entre a versão 2.3 e a 2.5?
17+
R: Em termos de funcionalidades nenhuma, a diferença está no backend. A versão 2.3 foi escrita entre 2009 e 2012, e contém código antigo, desatualizado, potencialmente inseguro e, sinceramente, as vezes vergonhoso. Nenhuma biblioteca ou framework foi utilizada, foi tudo feito do zero. Na versão 2.5 está tudo sendo reescrito para utilizar o ORM [Doctrine](http://www.doctrine-project.org/ "Doctrine").
18+
19+
P: Já foi tudo reescrito?
20+
R: Não, esse é um processo lento e trabalhoso, e infelizmente estou fazendo tudo sozinho.
21+
22+
P: E falta muito?
23+
R: Depende do ponto de vista. A página inicial já funciona, e as principais classes já foram reescritas.
24+
25+
P: E qual o prazo pra isso ser concluído?
26+
R: Gostaria de dar um prazo, mas isso é impossível. Quero concluir o mais rápido possível para que todos possam colaborar com o projeto.
27+
28+
P: O que já funciona nesta versão e o que não funciona?
29+
R: Segue a lista que vou manter atualizada:
30+
31+
Funciona:
32+
33+
- Página inicial
34+
35+
Ainda não funciona:
36+
37+
- Todo o resto
38+
39+
40+
P: Por que isso está sendo feito?
41+
R: Porque eu acredito que a comunidade de alunos (e ex-alunos) da Unicamp podem colaborar com o projeto, e levá-lo muito mais longe do que eu (e meus amigos que me ajudaram) sou capaz (por questões de tempo, conhecimento, ideias, etc).
42+
43+
P: Posso colaborar?
44+
R: Sim, por favor! Faça fork e envie seu pull request!

ajax/acontecimentos.php

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
<?php
2+
3+
namespace GDE;
4+
5+
define('NO_CACHE', true);
6+
define('NO_HTML', true);
7+
define('NO_REDIRECT', true);
8+
9+
require_once('../common/common.inc.php');
10+
11+
/*if(isset($_POST['ui']))
12+
die(Acontecimento::Ultimo_ID($_GDE['DB']));*/
13+
14+
$por_pagina = (isset($_POST['pp'])) ? intval($_POST['pp']) : 10;
15+
$start = (isset($_POST['st'])) ? intval($_POST['st']) : 0;
16+
$maior_que = (isset($_POST['nvs'])) ? intval($_POST['ultimo']) : false;
17+
if(isset($_POST['nvs']))
18+
$por_pagina = '-1';
19+
20+
if(((!isset($_POST['i'])) || ($_POST['i'] == null)) && ((!isset($_POST['g'])) || ($_POST['g'] == null))) {
21+
$home = $meu = true;
22+
$mensagens = ((isset($_POST['msg'])) && ($_POST['msg'] != null));
23+
$minhas = ((isset($_POST['min'])) && ($_POST['min'] != null));
24+
$amizades = $minhas;
25+
$amigos = ((isset($_POST['am'])) && ($_POST['am'] != null));
26+
$grupos = ((isset($_POST['gr'])) && ($_POST['gr'] != null));
27+
$gde = ((isset($_POST['gde'])) && ($_POST['gde'] != null));
28+
$todas_respostas = ((isset($_POST['rt']) && ($_POST['rt'] == 1)));
29+
// ToDo: Fix salvar
30+
/*if(!isset($_POST['o'])) {
31+
$Usuario_Config = $_Usuario->getConfig(true);
32+
$Usuario_Config->setAcontecimentos_Mensagens($mensagens);
33+
$Usuario_Config->setAcontecimentos_Minhas($minhas);
34+
$Usuario_Config->setAcontecimentos_Amigos($amigos);
35+
$Usuario_Config->setAcontecimentos_Grupos($grupos);
36+
$Usuario_Config->setAcontecimentos_GDE($gde);
37+
$Usuario_Config->Salvar();
38+
}*/
39+
$Usr = $_Usuario;
40+
$Grupo = null;
41+
} elseif(isset($_POST['i'])) {
42+
$home = $meu = false;
43+
$mensagens = $minhas = $todas_respostas = true;
44+
$amizades = $amigos = $gde = $grupos = false;
45+
$Usr = new Usuario(intval($_POST['i']));
46+
if($Usr->getID() == null)
47+
exit();
48+
$Grupo = null;
49+
} elseif(isset($_POST['g'])) {
50+
$home = false;
51+
$mensagens = $minhas = true;
52+
$Grupo = new Grupo(intval($_POST['g']));
53+
$todas_respostas = $amizades = (($_Usuario->Grupo_Moderador($Grupo)) || ($_Usuario->getAdmin()));
54+
$meu = false;
55+
if($Grupo->getID() == null)
56+
exit();
57+
$Usr = null;
58+
}
59+
// Um Acontecimento especifico...
60+
if(isset($_POST['o'])) {
61+
$todas_respostas = true;
62+
$Acontecimentos = array(new Acontecimento(intval($_POST['o'])));
63+
if($Acontecimentos[0]->Pode_Ver($_Usuario) === false)
64+
exit();
65+
} else
66+
$Acontecimentos = ($Usr !== null) ? Acontecimento::Listar($Usr, $por_pagina, $start, $maior_que, $mensagens, $minhas, $amizades, $amigos, $gde, $grupos) : Acontecimento::Listar_Grupo($Grupo, $por_pagina, $start, $maior_que, $mensagens, $minhas, $amizades);
67+
68+
$maior_id = (isset($_POST['ultimo'])) ? intval($_POST['ultimo']) : 0;
69+
70+
if(isset($_POST['mais'])) // Gambiarra pro find do jQuery funcionar
71+
echo '<div>';
72+
73+
if(count($Acontecimentos) > 0)
74+
echo '<div id="atualizacao_maior_id" style="display:none;">'.Acontecimento::Ultimo_ID().'</div>';
75+
76+
foreach($Acontecimentos as $Acontece) {
77+
$Respostas = $Acontece->Listar_Respostas(($todas_respostas) ? null : $Usr);
78+
?>
79+
<div class="atualizacao<?php if(($maior_id > -1) && ($Acontece->getID() > $maior_id)) echo " atualizacao_nova"; if(isset($_POST['nvs'])) echo " atualizacao_nova_escondida"; ?>" id="<?php if(isset($_POST['nvs'])) echo "nova_"; ?>atualizacao_<?= $Acontece->getID(); ?>"<?php if(isset($_POST['nvs'])) echo " style=\"display: none;\""; ?>>
80+
<div class="atualizacao_foto">
81+
<a href="<?= $Acontece->getLink(); ?>"><img src="<?= $Acontece->getFoto(); ?>" border="0" alt="<?= $Acontece->getNome(); ?>" class="escala" /></a>
82+
</div>
83+
<div class="atualizacao_texto_data">
84+
<div class="atualizacao_texto">
85+
<?php if(($home) && ($Acontece->getOrigem() !== null)/* Nao preciso pq na home nao aparece quem nao eh meu amigo && ($Usr->Amigo($Acontece->getUsuario_Origem()))*/) echo $Acontece->getOrigem()->getChat_Status(true); ?><a href="<?= $Acontece->getLink(); ?>" title="<?= $Acontece->getNome(true); ?>"><span class="atualizacao_nome"><?= $Acontece->getNome(); ?></span></a><?= $Acontece->getTexto(true, true, $meu, $_Usuario); ?>
86+
</div>
87+
<div class="atualizacao_data_link">
88+
<span class="atualizacao_data"><?= $Acontece->getData('d/m/Y H:i:s'); ?></span><br />
89+
<span class="responder_remover">
90+
<?php if($Acontece->Pode_Responder($_Usuario)) { ?><a href="#" class="atualizacao_responder" id="responder_<?= $Acontece->getID(); ?>"><strong>Responder</strong></a><?php } ?>
91+
<?php if(($Acontece->Pode_Responder($_Usuario)) && ($Acontece->Pode_Apagar($_Usuario))) echo " / "; ?>
92+
<?php if($Acontece->Pode_Apagar($_Usuario)) { ?><a href="#" class="atualizacao_remover" id="remover_<?= $Acontece->getID(); ?>"><strong>Remover</strong></a><?php } ?>
93+
</span><br />
94+
<?php if($Acontece->getNumero_Respostas() > count($Respostas)) { ?><span class="todas_respostas"><a href="#" class="atualizacao_todas_respostas" id="todas_respostas_<?= $Acontece->getID(); ?>">Exibir <?= ($Acontece->getRespostas() > 1) ? 'as '.$Acontece->getRespostas().' respostas' : ' 1 resposta'; ?></a></span><?php } ?>
95+
</div>
96+
</div>
97+
<div class="clear_all"></div>
98+
</div>
99+
<div class="atualizacao_respostas<?php if(isset($_POST['nvs'])) echo " atualizacao_nova_escondida"; ?>" id="<?php if(isset($_POST['nvs'])) echo "nova_"; ?>respostas_<?= $Acontece->getID(); ?>"<?php if(isset($_POST['nvs'])) echo " style=\"display: none;\""; ?>>
100+
<?php
101+
foreach($Respostas as $Resposta) {
102+
?>
103+
<div class="atualizacao_resposta<?php if(($maior_id > -1) && ($Resposta->getID() > $maior_id)) echo " atualizacao_nova"; if(isset($_POST['nvs'])) echo " atualizacao_nova_escondida"; ?>" id="<?php if(isset($_POST['nvs'])) echo "nova_"; ?>atualizacao_<?= $Resposta->getID(); ?>"<?php if(isset($_POST['nvs'])) echo " style=\"display: none;\" class=\"atualizacao_nova_escondida\""; ?>>
104+
<div class="atualizacao_foto">
105+
<a href="<?= $Resposta->getLink(); ?>"><img src="<?= $Resposta->getFoto(); ?>" border="0" alt="<?= $Resposta->getNome(); ?>" class="escala" /></a>
106+
</div>
107+
<div class="atualizacao_texto_data">
108+
<div class="atualizacao_texto">
109+
<?php if(($home) && ($Resposta->getOrigem() !== null) && ($Usr->Amigo($Resposta->getOrigem()) !== false)) echo $Resposta->getOrigem()->getChat_Status(true); ?>
110+
<a href="<?= $Resposta->getLink(); ?>" title="<?= $Resposta->getNome(true); ?>"><span class="atualizacao_nome"><?= $Resposta->getNome(); ?></span></a>
111+
<?= $Resposta->getTexto(true, true, $home, $_Usuario); ?>
112+
</div>
113+
<div class="atualizacao_data_link">
114+
<span class="atualizacao_data"><?= $Resposta->getData('d/m/Y H:i:s'); ?></span><br />
115+
<?php if($Acontece->Pode_Responder($_Usuario)) { ?><a href="#" class="atualizacao_responder" id="responder_<?= $Resposta->getID(); ?>_<?= $Resposta->getOriginal()->getID(); ?>"><strong>Responder</strong></a><?php } ?>
116+
<?php if(($Acontece->Pode_Responder($_Usuario)) && ($Acontece->Pode_Apagar($_Usuario))) echo " / "; ?>
117+
<?php if($Resposta->Pode_Apagar($_Usuario) === true) { ?><a href="#" class="atualizacao_remover" id="remover_<?= $Resposta->getID(); ?>"><strong>Remover</strong></a><?php } ?>
118+
</div>
119+
</div>
120+
<div class="clear_all"></div>
121+
</div>
122+
<?php } ?>
123+
</div>
124+
<?php
125+
}
126+
if(isset($_POST['mais']))
127+
echo '</div>';
128+
129+
echo $FIM;
130+
?>

ajax/aviso.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
3+
namespace GDE;
4+
5+
define('NO_CACHE', true);
6+
define('NO_HTML', true);
7+
define('NO_REDIRECT', true);
8+
9+
require_once('../common/common.inc.php');
10+
11+
// tipo = l -> Lido
12+
// tipo = r -> Removido
13+
if(isset($_POST['id']) && $_POST['tipo'] == 'l') {
14+
$Aviso = Aviso::Load($_POST['id']);
15+
if($Aviso->getID_Usuario() != $_Usuario->getID())
16+
die();
17+
$Aviso->setLido($Aviso->getLido() ? false : true);
18+
$Aviso->Salvar();
19+
}
20+
21+
if(isset($_POST['id']) && $_POST['tipo'] == 'r') {
22+
$Aviso = Aviso::Load($_POST['id']);
23+
if($Aviso->getID_Usuario() != $_Usuario->getID())
24+
die();
25+
$Aviso->Excluir();
26+
}
27+
28+
echo Aviso::QuantidadeAvisos($_Usuario->getID());
29+
?>

0 commit comments

Comments
 (0)