Initial commit
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.env
|
6
.htaccess
Normal file
|
@ -0,0 +1,6 @@
|
|||
RewriteEngine on
|
||||
RewriteBase /
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond $1 !^(index\.php|assets|images|robots\.txt)
|
||||
RewriteRule ^(.*)$ index.php?/$1 [L]
|
861
index.php
Normal file
|
@ -0,0 +1,861 @@
|
|||
<?php
|
||||
|
||||
//estatisticas --> fma18g8E1IAC
|
||||
error_reporting(E_ERROR | E_PARSE);
|
||||
$mysql_servername = $_ENV["MYSQL_SERVERNAME"];
|
||||
$mysql_username = $_ENV["MYSQL_USERNAME"];
|
||||
$mysql_password = $_ENV["MYSQL_PASSWORD"];
|
||||
$mysql_dbname = $_ENV["MYSQL_DBNAME"];
|
||||
|
||||
if(isset($_GET["img"])){
|
||||
if(CHECK_USER_LOGADO()){
|
||||
$name = '45hgGgFGD4467GgtyhujujhsdkgfkjfKJLHuygTGHJFjhgfDC3JHGFiuklilj7654HJGFfgdf/fotos/'.$_GET["img"].'.jpg';
|
||||
if(!file_exists($name)){
|
||||
$name = 'static/img/avatar_1.png';
|
||||
}
|
||||
$fp = fopen($name, 'rb');
|
||||
header("Content-Type: image/png");
|
||||
header("Content-Length: " . filesize($name));
|
||||
fpassthru($fp);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
//if(isset($_POST["cmd"])){
|
||||
$entrada = json_decode(file_get_contents('php://input'), true);
|
||||
$saida = array();
|
||||
if(array_key_exists("cmd",$entrada)){
|
||||
switch ($entrada["cmd"]) {
|
||||
|
||||
case "check_login":
|
||||
|
||||
if(check_login($entrada["email"],$entrada["token"])){
|
||||
$saida["res"] = "ok";
|
||||
}else{
|
||||
$saida["res"] = "erro";
|
||||
}
|
||||
break;
|
||||
|
||||
case "login":
|
||||
|
||||
$saida = login($entrada["email"],$entrada["senha"]);
|
||||
break;
|
||||
|
||||
case "ultimo_relatorio":
|
||||
if(CHECK_USER_LOGADO()){
|
||||
$saida = ultimo_relatorio("45hgGgFGD4467GgtyhujujhsdkgfkjfKJLHuygTGHJFjhgfDC3JHGFiuklilj7654HJGFfgdf/ultimo_relatorio.csv");
|
||||
}
|
||||
$saida["res"] = "ok";
|
||||
break;
|
||||
|
||||
case "set_marcacoes":
|
||||
|
||||
$saida = set_marcacao($entrada);;
|
||||
break;
|
||||
|
||||
case "get_marcacoes":
|
||||
|
||||
$saida = get_marcacoes($entrada);;
|
||||
break;
|
||||
|
||||
default:
|
||||
$saida = array("res"=>"erro", "msg"=>"comando nao existe");
|
||||
break;
|
||||
}
|
||||
|
||||
header('Content-type: application/json');
|
||||
echo json_encode($saida);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function get_marcacoes($entrada){
|
||||
|
||||
$matricula = $entrada["matricula"];
|
||||
|
||||
$mysql_servername = $GLOBALS['mysql_servername'];
|
||||
$mysql_username = $GLOBALS['mysql_username'];
|
||||
$mysql_password = $GLOBALS['mysql_password'];
|
||||
$mysql_dbname = $GLOBALS['mysql_dbname'];
|
||||
$mysql_conn = new mysqli($mysql_servername, $mysql_username, $mysql_password, $mysql_dbname);
|
||||
|
||||
$m = array(0=>false,1=>true);
|
||||
|
||||
if(existe_marcacao($matricula)){
|
||||
|
||||
$sql = "SELECT `matricula`, `whats`, `whats`, `fone`, `email`, `visita`, `pessoal`, `sucesso`, `comentario` FROM `acoes` WHERE matricula='$matricula'";
|
||||
$result = $mysql_conn->query($sql);
|
||||
if ($result->num_rows > 0) {
|
||||
while($linha = $result->fetch_assoc()) {
|
||||
|
||||
$r = array();
|
||||
$r["matricula"] = $matricula;
|
||||
$r["pessoal"] = $m[$linha["pessoal"]];
|
||||
$r["whats"] = $m[$linha["whats"]];
|
||||
$r["fone"] = $m[$linha["fone"]];
|
||||
$r["email"] = $m[$linha["email"]];
|
||||
$r["visita"] = $m[$linha["visita"]];
|
||||
$r["sucesso"] = $m[$linha["sucesso"]];
|
||||
$r["comentario"] = $linha["comentario"];
|
||||
|
||||
|
||||
|
||||
|
||||
return $r;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
$mysql_conn->close();
|
||||
|
||||
$linha = array(
|
||||
"res"=>"ok",
|
||||
"matricula"=>$matricula,
|
||||
"pessoal"=>false,
|
||||
"whats"=>false,
|
||||
"fone"=>false,
|
||||
"email"=>false,
|
||||
"visita"=>false,
|
||||
"sucesso"=>false,
|
||||
"comentario"=>""
|
||||
);
|
||||
|
||||
|
||||
|
||||
return $linha ;
|
||||
}
|
||||
function set_marcacao($entrada){
|
||||
|
||||
$matricula = $entrada["matricula"];
|
||||
$pessoal = $entrada["pessoal"];
|
||||
$whats = $entrada["whats"];
|
||||
$fone = $entrada["fone"];
|
||||
$email = $entrada["email"];
|
||||
$visita = $entrada["visita"];
|
||||
$sucesso = $entrada["sucesso"];
|
||||
$comentario = $entrada["comentario"];
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$mysql_servername = $GLOBALS['mysql_servername'];
|
||||
$mysql_username = $GLOBALS['mysql_username'];
|
||||
$mysql_password = $GLOBALS['mysql_password'];
|
||||
$mysql_dbname = $GLOBALS['mysql_dbname'];
|
||||
$mysql_conn = new mysqli($mysql_servername, $mysql_username, $mysql_password, $mysql_dbname);
|
||||
|
||||
if(existe_marcacao($matricula)){
|
||||
$sql = "UPDATE `acoes` SET `pessoal`='$pessoal', `whats`='$whats', `fone`='$fone', `email`='$email', `visita`='$visita', `sucesso`='$sucesso', `comentario`='$comentario' WHERE matricula='$matricula'";
|
||||
}else{
|
||||
$sql = "INSERT INTO `acoes`(`matricula`, `pessoal`, `whats`, `fone`, `email`, `visita`, `sucesso`, `comentario`) VALUES ('$matricula', '$pessoal', '$whats', '$fone', '$email', '$visita', '$sucesso', '$comentario')";
|
||||
}
|
||||
|
||||
$result = $mysql_conn->query($sql);
|
||||
$mysql_conn->close();
|
||||
|
||||
return array("res"=>"ok","rr"=>$sql,"entrada"=>$entrada);
|
||||
|
||||
}
|
||||
|
||||
function existe_marcacao($matricula){
|
||||
$mysql_servername = $GLOBALS['mysql_servername'];
|
||||
$mysql_username = $GLOBALS['mysql_username'];
|
||||
$mysql_password = $GLOBALS['mysql_password'];
|
||||
$mysql_dbname = $GLOBALS['mysql_dbname'];
|
||||
$mysql_conn = new mysqli($mysql_servername, $mysql_username, $mysql_password, $mysql_dbname);
|
||||
|
||||
$sql = "SELECT `matricula` FROM `acoes` WHERE matricula='$matricula'";
|
||||
$result = $mysql_conn->query($sql);
|
||||
if ($result->num_rows > 0) {
|
||||
while($linha = $result->fetch_assoc()) {
|
||||
if($linha["matricula"]==$matricula){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
$mysql_conn->close();
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
function CHECK_USER_LOGADO(){
|
||||
if(!isset($_COOKIE['email'])){return false;};
|
||||
if(!isset($_COOKIE['token'])){return false;};
|
||||
if(check_login($_COOKIE["email"],$_COOKIE["token"])){return true;};
|
||||
return false;
|
||||
}
|
||||
function ultimo_relatorio($arquivo){
|
||||
|
||||
#"estudante","unidade_curricular","classe","curso","coordenacao","campus","qt_aulas_classe","data_falta","matricula","id_classe","turma","professor","celular","email","email_institucional","endereco","idade"
|
||||
#"estudante","turma","total_faltas","faltas_por_dia","matricula","celular","email","endereco","idade"
|
||||
|
||||
$datas = array();
|
||||
$turmas = array();
|
||||
$risco_turma = array();
|
||||
$linhas = csvToArray($arquivo);
|
||||
$k = mapa_de_chaves($linhas[0]);
|
||||
|
||||
$ultima_matricula = "";
|
||||
$primeiro = true;
|
||||
$nova_linha = array();
|
||||
$turnos = array("1"=>" - Matutino","2"=>" - Vespertino","3"=>" - Noturno","4"=>"","5"=>"","0"=>"");
|
||||
$dados = array();
|
||||
$LIMITE_DE_FALTAS = 20;
|
||||
|
||||
for($i = 1; $i<count($linhas); $i++){
|
||||
$linha = $linhas[$i];
|
||||
if(count($linha)>=6){
|
||||
if ($ultima_matricula!= $linha[$k["matricula"]]){
|
||||
if(!$primeiro){
|
||||
ksort($nova_linha["faltas_por_dia"]);
|
||||
$chave_lista = str_pad($nova_linha["total_faltas"], 6 , '0' , STR_PAD_LEFT) ."_". $nova_linha["estudante"];
|
||||
if($nova_linha["em_risco"]){
|
||||
$dados[$chave_lista] = $nova_linha;
|
||||
}
|
||||
if($nova_linha["em_risco"]){
|
||||
$risco_turma[$nova_linha["turma"]] +=1;
|
||||
}
|
||||
}
|
||||
$nova_linha = array();
|
||||
$nova_linha["estudante"] = $linha[$k["estudante"]];
|
||||
$nova_linha["matricula"] = $linha[$k["matricula"]];
|
||||
$turma = end(explode(" ", $linha[$k["curso"]])) ." ". substr($linha[$k["turma"]],-2, 2). $turnos[substr($linha[$k["turma"]],-4, 1)] ;
|
||||
$nova_linha["turma"] = $turma ;
|
||||
$nova_linha["total_faltas"] = 0;
|
||||
$nova_linha["faltas_por_dia"] = array();
|
||||
$nova_linha["faltas_por_disciplina"] = array();
|
||||
$nova_linha["celular"] = $linha[$k["celular"]];
|
||||
$nova_linha["endereco"] = $linha[$k["endereco"]];
|
||||
$nova_linha["email"] = $linha[$k["email"]];
|
||||
$nova_linha["idade"] = $linha[$k["idade"]];
|
||||
$nova_linha["em_risco"] = false;
|
||||
$primeiro = false;
|
||||
$ultima_matricula = $linha[$k["matricula"]];
|
||||
}
|
||||
$turmas[$turma] +=1;
|
||||
$nova_linha["faltas_por_dia"][ tdata( $linha[$k["data_falta"]] ) ] +=1;
|
||||
$nova_linha["total_faltas"] += 1;
|
||||
if($nova_linha["total_faltas"]>= $LIMITE_DE_FALTAS){
|
||||
$nova_linha["em_risco"] = true;
|
||||
}
|
||||
$datas[tdata($linha[$k["data_falta"]])] +=1;
|
||||
}
|
||||
}
|
||||
$chave_lista = str_pad($nova_linha["total_faltas"], 6 , '0' , STR_PAD_LEFT) ."_". $nova_linha["estudante"];
|
||||
if($nova_linha["em_risco"]){
|
||||
$dados[ $chave_lista ] = $nova_linha;
|
||||
}
|
||||
if($nova_linha["em_risco"]){
|
||||
$risco_turma[$nova_linha["turma"]] +=1;
|
||||
}
|
||||
|
||||
ksort($risco_turma,SORT_STRING);
|
||||
ksort($dados,SORT_STRING);
|
||||
ksort($turmas,SORT_STRING);
|
||||
ksort($datas,SORT_STRING);
|
||||
|
||||
return array("turmas"=>$turmas,"risco_turma"=>$risco_turma,"dados"=>$dados,"datas"=>$datas);
|
||||
}
|
||||
function tdata($data){
|
||||
$d = explode("/", $data);
|
||||
return $d[2] ."/" . $d[1] . "/" . $d[0];
|
||||
}
|
||||
function mapa_de_chaves($linha0){
|
||||
$k = array();
|
||||
for($i = 0; $i<count($linha0); $i++){
|
||||
$k[$linha0[$i]] = $i;
|
||||
}
|
||||
return $k;
|
||||
}
|
||||
function lista_de_turmas($datas){
|
||||
}
|
||||
function login($email,$senha){
|
||||
$mysql_servername = $GLOBALS['mysql_servername'];
|
||||
$mysql_username = $GLOBALS['mysql_username'];
|
||||
$mysql_password = $GLOBALS['mysql_password'];
|
||||
$mysql_dbname = $GLOBALS['mysql_dbname'];
|
||||
$mysql_conn = new mysqli($mysql_servername, $mysql_username, $mysql_password, $mysql_dbname);
|
||||
|
||||
$sql = "SELECT `email`,`senha` FROM `usuarios` WHERE email='$email'";
|
||||
$result = $mysql_conn->query($sql);
|
||||
if ($result->num_rows > 0) {
|
||||
while($user = $result->fetch_assoc()) {
|
||||
if($user["email"]==$email&&$user['senha']==$senha){
|
||||
|
||||
$token = gerar_token();
|
||||
$sql = "UPDATE usuarios SET token='$token' WHERE email='$email'";
|
||||
$mysql_conn->query($sql);
|
||||
$mysql_conn->close();
|
||||
return array("res"=>"ok","token"=> $token);
|
||||
}
|
||||
}
|
||||
}
|
||||
$mysql_conn->close();
|
||||
return array("res"=>"erro", "token"=>"");
|
||||
}
|
||||
function check_login($email,$token){
|
||||
$mysql_servername = $GLOBALS['mysql_servername'];
|
||||
$mysql_username = $GLOBALS['mysql_username'];
|
||||
$mysql_password = $GLOBALS['mysql_password'];
|
||||
$mysql_dbname = $GLOBALS['mysql_dbname'];
|
||||
$mysql_conn = new mysqli($mysql_servername, $mysql_username, $mysql_password, $mysql_dbname);
|
||||
|
||||
$sql = "SELECT `email`,`token` FROM `usuarios` WHERE email='$email'";
|
||||
|
||||
$result = $mysql_conn->query($sql);
|
||||
$mysql_conn->close();
|
||||
if ($result->num_rows > 0) {
|
||||
while($user = $result->fetch_assoc()) {
|
||||
if($user["email"]==$email&&$user['token']==$token){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function exemplo_busca(){
|
||||
$mysql_servername = $GLOBALS['mysql_servername'];
|
||||
$mysql_username = $GLOBALS['mysql_username'];
|
||||
$mysql_password = $GLOBALS['mysql_password'];
|
||||
$mysql_dbname = $GLOBALS['mysql_dbname'];
|
||||
|
||||
$conn = new mysqli($mysql_servername, $mysql_username, $mysql_password, $mysql_dbname);
|
||||
if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);}
|
||||
//$sql = "INSERT INTO `usuarios`(`email`, `senha`, `nome`) VALUES ('novoemail@gmail.com','12345678','novousuario')";
|
||||
//$sql = "SELECT * FROM `usuarios` WHERE 1";
|
||||
//$sql = "SELECT * FROM `usuarios` WHERE 1 ORDER BY nome DESC";
|
||||
//$sql = "SELECT `email`,`senha` FROM `usuarios` WHERE email='novoemail@gmail.com'";
|
||||
//$sql = "UPDATE usuarios SET senha='123', nome='abc' WHERE email='novoemail@gmail.com'";
|
||||
//$sql = "DELETE FROM usuarios WHERE nome='abc'";
|
||||
$result = $conn->query($sql);
|
||||
if ($result->num_rows > 0) {
|
||||
while($row = $result->fetch_assoc()) {
|
||||
print_r($row);
|
||||
echo "<br>";
|
||||
}
|
||||
}
|
||||
$conn->close();
|
||||
|
||||
}
|
||||
|
||||
function gerar_token($tamanho=50, $maiusculas=true, $minusculas=true, $numeros=true, $simbolos=false){
|
||||
$ma = "ABCDEFGHIJKLMNOPQRSTUVYXWZ";
|
||||
$mi = "abcdefghijklmnopqrstuvyxwz";
|
||||
$nu = "0123456789";
|
||||
$si = "!@#$%¨&*()_+=";
|
||||
if ($maiusculas){$senha .= str_shuffle($ma);}
|
||||
if ($minusculas){$senha .= str_shuffle($mi);}
|
||||
if ($numeros){$senha .= str_shuffle($nu);}
|
||||
if ($simbolos){$senha .= str_shuffle($si);}
|
||||
return substr(str_shuffle($senha),0,$tamanho);
|
||||
}
|
||||
function csvToArray($csvFile){
|
||||
|
||||
$file_to_read = fopen($csvFile, 'r');
|
||||
$lines = array();
|
||||
while (!feof($file_to_read) ) {
|
||||
$lines[] = fgetcsv($file_to_read);
|
||||
}
|
||||
return $lines;
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<link rel="shortcut icon" href="static/img/icone.ico"/>
|
||||
|
||||
<title>ProjetosIFMS</title>
|
||||
<style>
|
||||
*{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="static/materialize/icons/material_icons.css">
|
||||
<link rel="stylesheet" href="static/materialize/css/materialize.min.css">
|
||||
|
||||
</head>
|
||||
<body class='teal lighten-2'>
|
||||
<div id="menu_voltar" class="navbar-fixed" style="display:none;">
|
||||
<nav class="nav-extended">
|
||||
<div class="nav-wrapper teal">
|
||||
<div class="container">
|
||||
<ul class="left">
|
||||
<li><a onclick="voltar()"><i class="material-icons left">arrow_back</i>Voltar</a></li>
|
||||
</ul>
|
||||
<a id="titulo_do_menu_voltar" class="right"></a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="menu_desktop" class="navbar-fixed" style="display:none;">
|
||||
<nav class="nav-extended">
|
||||
<div class="nav-wrapper teal">
|
||||
<div class="container">
|
||||
<a id="titulo_do_menu">Mapa das classes</a>
|
||||
|
||||
<a href="#" class="sidenav-trigger" data-target="menu_mobile">
|
||||
<i class="material-icons">menu</i>
|
||||
</a>
|
||||
<ul class="right hide-on-med-and-down">
|
||||
<li><a onclick="mostrar_aba('Estudantes em risco de evasão')"><i class="material-icons left">format_list_bulleted</i>Estudantes em risco</a></li>
|
||||
<li style="display:none"><a onclick="mostrar_aba('Conselho pedagógico')" ><i class="material-icons left">group</i>Conselho pedagógico</a></li>
|
||||
<li style="display:none"><a onclick="mostrar_aba('Visão geral das turmas')"><i class="material-icons left">show_chart</i>Visão geral das turmas</a></li>
|
||||
<li><a onclick="logout()"><i class="material-icons left">exit_to_app</i>Sair</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<ul id="menu_mobile" class="sidenav sidenav-close" style="display:none">
|
||||
<li><a onclick="mostrar_aba('Estudantes em risco de evasão')"><i class="material-icons left">format_list_bulleted</i>Estudantes em risco</a></li>
|
||||
<li style="display:none"><a onclick="mostrar_aba('Conselho pedagógico')" ><i class="material-icons left">group</i>Conselho pedagógico</a></li>
|
||||
<li style="display:none"><a onclick="mostrar_aba('Visão geral das turmas')"><i class="material-icons left">show_chart</i>Visão geral das turmas</a></li>
|
||||
<li><a onclick="logout()"><i class="material-icons left">exit_to_app</i>Sair</a></li>
|
||||
</ul>
|
||||
|
||||
<div id="Estudantes em risco de evasão" class="row l12 m12 s12 center-align " style="display:none;">
|
||||
|
||||
<div class="col l6 m8 s12 left-align offset-l3 offset-m2" id='lista_turmas'>
|
||||
<ul class="collection" id="lista_turmas_lista">
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col l6 m8 s12 left-align offset-l3 offset-m2" id='estudantes_da_turma' style="display:none">
|
||||
<ul class="collection" id="estudantes_da_turma_lista">
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col l6 m8 s12 left-align offset-l3 offset-m2" id='detalhes_do_estudante' style="display:none">
|
||||
|
||||
<div class="row">
|
||||
<div class="col l12 m12 s12">
|
||||
<div class="card">
|
||||
<div class="card-image">
|
||||
<img src="" id="detalhes_do_estudante_foto">
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<span id="detalhes_do_estudante_nome" class="card-title">Card Title</span>
|
||||
<p id="detalhes_do_estudante_conteudo"></p>
|
||||
</div>
|
||||
<div id="detalhes_do_estudante_acao" class="card-action center-align">
|
||||
<a href="#">This is a link</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col l12 m12 s12">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Registro de ações</span>
|
||||
<p>
|
||||
<label>
|
||||
<input type="checkbox" id="acao_contato_pessoal" onchange="set_marcacoes()">
|
||||
<span>Contato pessoal</span>
|
||||
</label>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label>
|
||||
<input type="checkbox" id="acao_contato_whats" onchange="set_marcacoes()">
|
||||
<span>Contato por wahtsapp</span>
|
||||
</label>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label>
|
||||
<input type="checkbox" id="acao_contato_fone" onchange="set_marcacoes()">
|
||||
<span>Contato por telefone</span>
|
||||
</label>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label>
|
||||
<input type="checkbox" id="acao_contato_email" onchange="set_marcacoes()">
|
||||
<span>Contato por email</span>
|
||||
</label>
|
||||
</p>
|
||||
<p>
|
||||
<label>
|
||||
<input type="checkbox" id="acao_visita" onchange="set_marcacoes()">
|
||||
<span>Visita a domicílio</span>
|
||||
</label>
|
||||
</p>
|
||||
<p>
|
||||
<label>
|
||||
<input type="checkbox" id="acao_sucesso" onchange="set_marcacoes()">
|
||||
<span>Aluno resgatado com sucesso</span>
|
||||
</label>
|
||||
</p>
|
||||
<br>
|
||||
<label for="textarea2">Comentários adicionais</label>
|
||||
<textarea id="acao_comentario" onchange="set_marcacoes()" class="materialize-textarea" ></textarea>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col l12 m12 s12">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Faltas por data</span>
|
||||
<p id="detalhes_do_estudante_faltas_por_data"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="tela_login" class="row section teal" style="display:none; height:100vh; overflow: hidden;">
|
||||
<div class="col l12 m12 s12 valign-wrapper" style="height:100%">
|
||||
<div class="valign" style="width: 100%">
|
||||
<div class="col s12 m8 l4 offset-m2 offset-l4">
|
||||
<div class="card hoverable z-depth-1">
|
||||
<div class="card-action teal lighten-1">
|
||||
<h7 class="white-text">Login</h7>
|
||||
</div>
|
||||
<div class="card-content white">
|
||||
<div class="input-field">
|
||||
<i class="material-icons prefix">email</i>
|
||||
<input type="email" id="login_email" placeholder="digite seu email aqui">
|
||||
<label for="login_email">Email</label>
|
||||
</div>
|
||||
<div class="input-field">
|
||||
<i class="material-icons prefix">password</i>
|
||||
<input type="password" id="login_senha" placeholder="digite sua senha aqui">
|
||||
<label for="primeiro_nome">Senha</label>
|
||||
<div id="feedback_login" class="col s10 m10 l10 offset-s1 offset-m1 offset-l1 red-text" style="display:none;padding:10px;"></div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="form-field">
|
||||
<button id="login" onclick="login()" class="teal btn-large waves-effect waves-dark">ENTRAR</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
<script src="static/scripts/jquery.min.js"></script>
|
||||
<script src="static/materialize/js/materialize.min.js"></script>
|
||||
<script src="static/scripts/libx.js?t=<?php echo str_shuffle('QWER') ?>"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function(){
|
||||
$(".sidenav").sidenav();
|
||||
$('select').formSelect();
|
||||
check_login()
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
var dados = {}
|
||||
|
||||
//var logado = false;
|
||||
//setInterval(function () {
|
||||
// api({
|
||||
// "cmd":"check_login",
|
||||
// "email":getCookie("email"),
|
||||
// "token":getCookie("token")
|
||||
// },
|
||||
// function(res){
|
||||
// if(res["res"]!="ok"){
|
||||
// if(logado){
|
||||
// document.location.reload(true);;
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
//}, 1000);
|
||||
|
||||
|
||||
|
||||
function check_login(){
|
||||
api({
|
||||
"cmd":"check_login",
|
||||
"email":getCookie("email"),
|
||||
"token":getCookie("token")
|
||||
},
|
||||
function(res){
|
||||
if(res["res"]=="ok"){
|
||||
mostrar_aba('Estudantes em risco de evasão')
|
||||
document.getElementById("menu_desktop").style.display = "block";
|
||||
document.getElementById("menu_mobile").style.display = "block";
|
||||
document.getElementById("lista_turmas").style.display = "block";
|
||||
api({
|
||||
"cmd":"ultimo_relatorio"
|
||||
},
|
||||
function(res){
|
||||
dados=res
|
||||
monta_lista_turmas()
|
||||
})
|
||||
|
||||
}else{
|
||||
document.getElementById("menu_desktop").style.display = "none";
|
||||
document.getElementById("menu_mobile").style.display = "none";
|
||||
document.getElementById("tela_login").style.display = "none";
|
||||
mostrar_aba('tela_login')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function monta_lista_turmas(){
|
||||
|
||||
document.getElementById('lista_turmas_lista').innerHTML = ""
|
||||
n = 0
|
||||
|
||||
for (const [nome_turma, total_faltas] of Object.entries(dados["turmas"])) {
|
||||
|
||||
risco_turma = 0
|
||||
if( nome_turma in dados["risco_turma"] ){
|
||||
risco_turma = dados["risco_turma"][nome_turma]
|
||||
}
|
||||
|
||||
n+=1
|
||||
adicional = ''
|
||||
if(risco_turma==0){adicional = 'teal lighten-5'}
|
||||
document.getElementById('lista_turmas_lista').insertAdjacentHTML("afterbegin",novo_item_lista_turmas(nome_turma,risco_turma,adicional));
|
||||
}
|
||||
}
|
||||
function novo_item_lista_turmas(nome_turma,risco,adicional=''){
|
||||
|
||||
linha = `
|
||||
<li id='[TITULO]' onclick="mostrar_turma('[TITULO]')" class='collection-item avatar waves-effect `+adicional+`' style='width:100%; padding-top: 1px;' >
|
||||
<br>
|
||||
<img src='static/img/[IMAGEM].png' class='circle'>
|
||||
<span class='title'>[TITULO]</span>
|
||||
<a href='#' class='secondary-content'>
|
||||
<i class='material-icons' onclick='monta_lista_estudantes_turma(\"[TITULO]\")' >chevron_right</i>
|
||||
</a>
|
||||
<p>
|
||||
<p class='teal-text'>[RISCO] estudante(s) em risco</p>
|
||||
</p>
|
||||
</img>
|
||||
</li>`
|
||||
imagem = "pessoas_1";
|
||||
if( nome_turma.includes("Informática") ){imagem="informatica"}
|
||||
if( nome_turma.includes("Agricultura") ){imagem="agricultura"}
|
||||
if( nome_turma.includes("Agronegócio") ){imagem="agronegocio"}
|
||||
|
||||
|
||||
if( nome_turma.includes("Agronomia") ){imagem="agronomia"}
|
||||
linha = linha.replaceAll("[IMAGEM]", imagem);
|
||||
linha = linha.replaceAll("[TITULO]", nome_turma);
|
||||
linha = linha.replaceAll("[RISCO]", risco);
|
||||
return linha;
|
||||
}
|
||||
|
||||
function mostrar_turma(turma){
|
||||
|
||||
document.getElementById("lista_turmas").style.display = "none";
|
||||
document.getElementById("estudantes_da_turma").style.display = "block";
|
||||
document.getElementById('estudantes_da_turma_lista').innerHTML = ""
|
||||
var myDiv = document.getElementById('estudantes_da_turma_lista').scrollTop = 0;
|
||||
|
||||
|
||||
document.getElementById("menu_voltar").style.display = "block";
|
||||
document.getElementById("menu_desktop").style.display = "none";
|
||||
|
||||
document.getElementById('titulo_do_menu_voltar').innerHTML = turma
|
||||
|
||||
|
||||
|
||||
n = 0
|
||||
|
||||
for (const [faltas_nome, dados_estudante] of Object.entries(dados["dados"])) {
|
||||
if(dados_estudante["turma"]==turma){
|
||||
n+=1
|
||||
adicional = ''
|
||||
//if(dados_estudante["total_faltas"]>=20){adicional = 'teal lighten-5'}
|
||||
document.getElementById('estudantes_da_turma_lista').insertAdjacentHTML("afterbegin",novo_item_lista_alunos_da_turma(faltas_nome,dados_estudante,adicional));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
function novo_item_lista_alunos_da_turma(faltas_nome,dados_estudante,adicional){
|
||||
linha = `
|
||||
<li id='[TITULO]' onclick="mostra_detalhes_aluno('[KEY]')" class='collection-item avatar waves-effect `+adicional+`' style='width:100%; padding-top: 1px;' >
|
||||
<br>
|
||||
<img src='[IMAGEM]' class='circle'>
|
||||
<span class='title'>[TITULO]</span>
|
||||
<a href='#' class='secondary-content'>
|
||||
<i class='material-icons' onclick='monta_lista_estudantes_turma(\"[TITULO]\")' >chevron_right</i>
|
||||
</a>
|
||||
<p>
|
||||
<p class='teal-text'>[RISCO] falta(s) em 15 dias</p>
|
||||
</p>
|
||||
</img>
|
||||
</li>`
|
||||
//if( nome_turma.includes("Informática") ){imagem="informatica"}
|
||||
//if( nome_turma.includes("Agricultura") ){imagem="agricultura"}
|
||||
//if( nome_turma.includes("Agronegócio") ){imagem="agronegocio"}
|
||||
//if( nome_turma.includes("Agronomia") ){imagem="agronomia"}
|
||||
linha = linha.replaceAll("[IMAGEM]", "index.php?img="+dados_estudante["matricula"]);
|
||||
linha = linha.replaceAll("[KEY]", faltas_nome);
|
||||
linha = linha.replaceAll("[TITULO]", dados_estudante["estudante"]);
|
||||
linha = linha.replaceAll("[RISCO]", dados_estudante["total_faltas"]);
|
||||
return linha;
|
||||
}
|
||||
var MATRICULA_SELECIONADA = "";
|
||||
function mostra_detalhes_aluno(faltas_nome){
|
||||
dados_estudante = dados["dados"][faltas_nome]
|
||||
MATRICULA_SELECIONADA = dados_estudante["matricula"]
|
||||
|
||||
get_marcacoes_aluno(MATRICULA_SELECIONADA)
|
||||
|
||||
document.getElementById("estudantes_da_turma").style.display = "none";
|
||||
document.getElementById("detalhes_do_estudante").style.display = "block";
|
||||
document.getElementById("detalhes_do_estudante_foto").src = "index.php?img="+dados_estudante["matricula"];
|
||||
document.getElementById("detalhes_do_estudante_nome").innerHTML = dados_estudante["estudante"];
|
||||
|
||||
conteudo = `
|
||||
<p>Possui: <b>[FALTAS] faltas</b> em 15 dias</p>
|
||||
<p>Idade: <b>[IDADE]</b> anos</p>
|
||||
<p>Email: <b>[EMAIL]</b></p>
|
||||
<p>Telefone: <b>[TELEFONE]</b></p>
|
||||
<p>Endereço: <b>[ENDERECO]</b></p>
|
||||
|
||||
`
|
||||
|
||||
celular = dados_estudante["celular"].replaceAll("+", "").replaceAll("(", "").replaceAll(")", "").replaceAll(" ", "").replaceAll("-", "")
|
||||
endereco = dados_estudante["endereco"].replaceAll("Outros", "")
|
||||
|
||||
acoes = `
|
||||
<a class="waves-effect waves-light btn-large btn-floating" href="https://wa.me/55[TELEFONE]" target="_blank"><i class="material-icons left">message</i>what</a>
|
||||
     
|
||||
<a class="waves-effect waves-light btn-large btn-floating" href="mailto:[EMAIL]"><i class="material-icons left">email</i>email</a>
|
||||
     
|
||||
<a class="waves-effect waves-light btn-large btn-floating" href="https://www.google.com.br/maps/search/[ENDERECO]" target="_blank" ><i class="material-icons left">directions_car</i>mapa</a>
|
||||
`.replaceAll("[EMAIL]", dados_estudante["email"]).replaceAll("[TELEFONE]", celular).replaceAll("[ENDERECO]", endereco);
|
||||
|
||||
|
||||
lista_faltas_por_dia ="<table><thead><tr><th>Data</th><th>Faltas</th></tr></thead><tbody>";
|
||||
for (const [data_falta, quantidade_faltas] of Object.entries(dados_estudante["faltas_por_dia"])) {
|
||||
lista_faltas_por_dia += "<tr><td>" + data_falta + "</td><td>" + quantidade_faltas + "</td></tr>"
|
||||
}
|
||||
lista_faltas_por_dia+= "</tbody></table>"
|
||||
|
||||
conteudo = conteudo.replaceAll("[FALTAS]", dados_estudante["total_faltas"]);
|
||||
conteudo = conteudo.replaceAll("[EMAIL]", dados_estudante["email"]);
|
||||
conteudo = conteudo.replaceAll("[TELEFONE]", dados_estudante["celular"]);
|
||||
conteudo = conteudo.replaceAll("[IDADE]", dados_estudante["idade"]);
|
||||
conteudo = conteudo.replaceAll("[ENDERECO]", endereco);
|
||||
|
||||
document.getElementById("detalhes_do_estudante_conteudo").innerHTML= conteudo;
|
||||
document.getElementById("detalhes_do_estudante_faltas_por_data").innerHTML= lista_faltas_por_dia;
|
||||
document.getElementById("detalhes_do_estudante_acao").innerHTML= acoes;
|
||||
|
||||
}
|
||||
function set_marcacoes(matricula){
|
||||
|
||||
api({
|
||||
"cmd":"set_marcacoes",
|
||||
"matricula":MATRICULA_SELECIONADA,
|
||||
"pessoal":document.getElementById("acao_contato_pessoal").checked ,
|
||||
"whats":document.getElementById("acao_contato_whats").checked ,
|
||||
"fone":document.getElementById("acao_contato_fone").checked ,
|
||||
"email":document.getElementById("acao_contato_email").checked ,
|
||||
"visita":document.getElementById("acao_visita").checked ,
|
||||
"sucesso":document.getElementById("acao_sucesso").checked ,
|
||||
"comentario":document.getElementById("acao_comentario").value
|
||||
})
|
||||
|
||||
}
|
||||
function get_marcacoes_aluno(matricula){
|
||||
api({
|
||||
"cmd":"get_marcacoes",
|
||||
"matricula":MATRICULA_SELECIONADA
|
||||
},
|
||||
function(res){
|
||||
p(res);
|
||||
document.getElementById("acao_contato_pessoal").checked = res["pessoal"]
|
||||
document.getElementById("acao_contato_whats").checked = res["whats"]
|
||||
document.getElementById("acao_contato_fone").checked = res["fone"]
|
||||
document.getElementById("acao_contato_email").checked = res["email"]
|
||||
document.getElementById("acao_visita").checked = res["visita"]
|
||||
document.getElementById("acao_sucesso").checked = res["sucesso"]
|
||||
document.getElementById("acao_comentario").value = res["comentario"]
|
||||
})
|
||||
}
|
||||
|
||||
function voltar(){
|
||||
|
||||
if(document.getElementById("estudantes_da_turma").style.display == "block"){
|
||||
|
||||
document.getElementById("lista_turmas").style.display = "block";
|
||||
document.getElementById("estudantes_da_turma").style.display = "none";
|
||||
document.getElementById("menu_voltar").style.display = "none";
|
||||
document.getElementById("menu_desktop").style.display = "block";
|
||||
|
||||
|
||||
}else if(document.getElementById("detalhes_do_estudante").style.display == "block"){
|
||||
|
||||
document.getElementById("estudantes_da_turma").style.display = "block";
|
||||
document.getElementById("detalhes_do_estudante").style.display = "none";
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
function login(){
|
||||
api({
|
||||
"cmd":"login",
|
||||
"email":document.getElementById("login_email").value,
|
||||
"senha":document.getElementById("login_senha").value
|
||||
},
|
||||
function(res){
|
||||
if(res["res"]=="ok"){
|
||||
setCookie("email",document.getElementById("login_email").value)
|
||||
setCookie("token",res["token"])
|
||||
mostrar_aba('Estudantes em risco de evasão')
|
||||
document.getElementById("menu_desktop").style.display = "block";
|
||||
document.getElementById("menu_mobile").style.display = "block";
|
||||
api({
|
||||
"cmd":"ultimo_relatorio"
|
||||
},
|
||||
function(res){
|
||||
dados=res
|
||||
monta_lista_turmas()
|
||||
logado = true;
|
||||
})
|
||||
}else{
|
||||
document.getElementById("feedback_login").style.display = "block"
|
||||
document.getElementById("feedback_login").innerHTML = "Email ou senha incorretos"
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function logout(){
|
||||
setCookie("email","")
|
||||
setCookie("token","")
|
||||
document.getElementById("menu_desktop").style.display = "none";
|
||||
document.getElementById("menu_mobile").style.display = "none";
|
||||
mostrar_aba('tela_login')
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
159
projetosifms.sql
Normal file
|
@ -0,0 +1,159 @@
|
|||
-- phpMyAdmin SQL Dump
|
||||
-- version 4.3.7
|
||||
-- http://www.phpmyadmin.net
|
||||
--
|
||||
-- Host: mysql04-farm88.kinghost.net
|
||||
-- Tempo de geração: 24/02/2023 às 15:02
|
||||
-- Versão do servidor: 10.6.11-MariaDB-log
|
||||
-- Versão do PHP: 5.3.29
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
|
||||
--
|
||||
-- Banco de dados: `projetosifms`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Estrutura para tabela `acoes`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `acoes` (
|
||||
`matricula` text NOT NULL,
|
||||
`whats` int(1) NOT NULL,
|
||||
`fone` int(1) NOT NULL,
|
||||
`visita` int(1) NOT NULL,
|
||||
`sucesso` int(1) NOT NULL,
|
||||
`comentario` text NOT NULL,
|
||||
`email` int(1) NOT NULL,
|
||||
`pessoal` int(11) NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
|
||||
|
||||
--
|
||||
-- Fazendo dump de dados para tabela `acoes`
|
||||
--
|
||||
|
||||
INSERT INTO `acoes` (`matricula`, `whats`, `fone`, `visita`, `sucesso`, `comentario`, `email`, `pessoal`) VALUES
|
||||
('2019107036083-8', 0, 0, 0, 0, '', 0, 0),
|
||||
('2019107036010-2', 1, 0, 0, 0, 'No dia 31 de agosto de 2022 bati um papo com o estudante. Não vejo necessidade de visita ao domicÃlio. (Rogério Cardoso)\n\n', 0, 1),
|
||||
('2021107036092-5', 0, 0, 0, 0, '', 0, 0),
|
||||
('2020107036004-9', 1, 1, 0, 0, 'Conversei com o FabrÃcio ele negou que tenha faltado. Informei a mãe e a vó(responsável por ele). Se os colegas e os professores/técnicos, puderem também conversar com ele, será muito positivo.(Tânia)', 0, 1),
|
||||
('2020207432003-1', 0, 0, 0, 0, '', 0, 0),
|
||||
('2021107036013-5', 1, 0, 0, 1, '', 0, 1),
|
||||
('2020107036040-5', 0, 0, 0, 0, '', 0, 0),
|
||||
('2019207036003-8', 1, 0, 0, 0, 'Estava com dificuldade em vir ao ifms, mas já se organizou e não faltará mais. Em lab. de programação 5 fez prova de suficiência, passou porém as faltas ainda estão contando. Ass. Camila nuged', 0, 0),
|
||||
('2021107036050-0', 0, 0, 0, 0, '', 0, 0),
|
||||
('2020107035089-2', 0, 0, 0, 0, 'Aluna está de atestado médico', 0, 0),
|
||||
('2020107035027-2', 0, 0, 0, 0, 'Entrei em contato com a mãe, informou que a filha não está bem, vai vir ao campus para conversar.', 0, 0),
|
||||
('2019107035009-3', 0, 0, 0, 0, 'Conversei com o aluno na sala do nuged, disse que foi uma semana em que não estava se sentindo bem, mas que já está tudo certo e frequentando as aulas novamente.', 0, 0),
|
||||
('2020107035040-0', 0, 0, 0, 0, 'Conversei com a mãe, ela está ciente, informou que na sexta ( 21/10), ele foi para um retiro em Dourados, disse que conversou com os professores.', 0, 0),
|
||||
('2020107035008-6', 0, 0, 0, 0, 'Não consegui contato ao telefone, enviei email ao aluno.', 0, 0),
|
||||
('2019107069031-5', 0, 0, 0, 0, 'Não consegui contato por telefone, enviei email ao estudante. Respondeu que vai trancar e voltar semestre que vem.', 0, 0),
|
||||
('2020107069023-5', 0, 0, 0, 0, 'Não consegui contato por telefone, enviei email ao estudante.', 0, 0),
|
||||
('2021207484009-1', 0, 0, 0, 0, 'Não consegui contato por telefone, enviei email ao estudante.', 0, 0),
|
||||
('2017207069001-7', 0, 0, 0, 0, 'Mudou para jardim, passei o contato da Cerel para ver se consegue trancar o curso.', 0, 0),
|
||||
('2020107069011-1', 0, 0, 0, 0, 'Estava doente, vai retornar e entregar o atestado na Cerel.', 0, 0),
|
||||
('2022207891021-0', 0, 0, 0, 0, 'Começou a trabalhar e não consegue vir as aulas.', 0, 0),
|
||||
('2022207891036-9', 0, 0, 0, 0, 'Esqueceu do inÃcio das aulas.', 0, 0),
|
||||
('2022207891022-9', 0, 0, 0, 0, 'Não conseguiu mudar para Ponta Porã, não vai cursar.', 0, 0),
|
||||
('2022207891040-7', 0, 0, 0, 0, 'Não consegui contato por telefone, enviei email.', 0, 0),
|
||||
('2022207891006-7', 0, 0, 0, 0, 'Informou que não estuda no IFMS.', 0, 0),
|
||||
('2022207891012-1', 0, 0, 0, 0, 'Não consegui contato por telefone, enviei email.', 0, 0),
|
||||
('2022207891035-0', 0, 0, 0, 0, 'Informou que ligou na central e falaram que ela não estava matriculada.Orientei que procurasse a Cerel.', 0, 0),
|
||||
('2022207891033-4', 0, 0, 0, 0, ' Não consegui contato por telefone, enviei email.', 0, 0),
|
||||
('2020107035003-5', 0, 0, 0, 0, 'Não consegui contato por telefone, enviei email.', 0, 0),
|
||||
('2020107035025-6', 0, 0, 0, 0, 'Conversei com a mãe, informou que está com problemas no transporte de Aral Moreira, mas disse que a aluna já conversou com os professores e coordenação.', 0, 0),
|
||||
('2020107035049-3', 0, 0, 0, 0, 'Conversei com o pai, informou que viajou e o filho aproveitou para faltar, vai conversar com o coordenador.', 0, 0),
|
||||
('2020107035090-6', 0, 0, 0, 0, 'Conversei com a madrasta, Elizabeth, disse que não sabe o que está havendo, porque ele sai para vir ao campus todos os dias, disse que vai conversar com ele, orientei que procurasse a coordenação.', 0, 0),
|
||||
('2019107035071-9', 0, 0, 0, 0, 'Conversei com a mãe, ela disse que ele esta assistindo algumas aulas no curso de informática e que conversou com os professores, orientei que ele procurasse a coordenação.', 0, 0),
|
||||
('2019107035008-5', 0, 0, 0, 0, 'Disse que não estava se sentindo bem e que foi embora, mas que já está frequentando as aulas normalmente.', 0, 0),
|
||||
('2021107035048-2', 0, 0, 0, 0, 'Não consegui contato, enviei email.', 0, 0),
|
||||
('2018107102037-5', 0, 0, 0, 0, 'Regime Domiciliar', 0, 0),
|
||||
('2020107035046-9', 0, 0, 0, 0, 'A aluna disse que vai procurar a coordenação.', 0, 0),
|
||||
('2021107035069-5', 0, 0, 0, 0, 'A aluna está gestante e não trouxe atestado, conversei com a mãe, orientei que procurasse a coordenação.', 0, 0),
|
||||
('2022107035089-7', 0, 0, 0, 0, 'Conversei com a mãe, informou que ele deslocou o joelho, orientei que entregasse o atestado na Cerel.', 0, 0),
|
||||
('2020107035077-9', 0, 0, 0, 0, 'Conversei com a mãe, disse que ele não está muito bem do estômago e que quando chove também tem dificuldade com o transporte, orientei que as faltas também reprovam.', 0, 0),
|
||||
('2020107035063-9', 0, 0, 0, 0, 'Não consegui contato, enviei email ao estudante.', 0, 0),
|
||||
('2022107035039-0', 0, 0, 0, 0, 'A aluna está gestante, a mãe informou que vai trancar o curso.', 0, 0),
|
||||
('2020107035035-3', 0, 0, 0, 0, 'Não consegui contato, enviei email.', 0, 0),
|
||||
('2019107035045-0', 0, 0, 0, 0, 'Não consegui contato, enviei email.', 0, 0),
|
||||
('2019107036047-1', 1, 0, 0, 0, 'Contato por Camila ', 0, 0),
|
||||
('2021107036008-9', 0, 0, 0, 0, '', 0, 0);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Estrutura para tabela `fotos`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `fotos` (
|
||||
`matricula` text NOT NULL,
|
||||
`imagem_pequena` text NOT NULL,
|
||||
`imagem_grande` text NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Estrutura para tabela `ultimo_relatorio`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ultimo_relatorio` (
|
||||
`estudante` text NOT NULL,
|
||||
`email` text NOT NULL,
|
||||
`telefone` text NOT NULL,
|
||||
`endereco` text NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=COMPACT;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Estrutura para tabela `usuarios`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `usuarios` (
|
||||
`email` text NOT NULL,
|
||||
`nome` text NOT NULL,
|
||||
`senha` text NOT NULL,
|
||||
`token` text NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
|
||||
|
||||
--
|
||||
-- Fazendo dump de dados para tabela `usuarios`
|
||||
--
|
||||
|
||||
INSERT INTO `usuarios` (`email`, `nome`, `senha`, `token`) VALUES
|
||||
('robsonjaques@gmail.com', 'Robson', 'q1p0w2o9e3i8', 'tpncT2gkK4INmzyljwBGvExWuPd35M1LD6sYfZiA9FUhJVXS08'),
|
||||
('rogerio.batista@ifms.edu.br', 'rogerio', 'rog1234', 'ZK8Y4liofRzpjJaNVqPAHkcXMUhd5tS3E9TrmeyxwIbCusL62G'),
|
||||
('marcel.dorta@ifms.edu.br', 'marcel', 'mar4567', 'Q8nTaIEhrkgNPGoBmAwbJ1Zc4Hu7i0XeCVy6vFMtxRLDfYS2WK'),
|
||||
('lin.feng@ifms.edu.br', 'lin', 'lin7890', 'B14LmM8HKp2Ak3qizNeb6Yot9IgQnUFaXhuWr0Z5ysdPCvDOf7'),
|
||||
('marilene.ribeiro@ifms.edu.br', 'marilene', 'mar1234', 'YdI64yxFGrDh1lON8XAQHsvqwVeJi0zPLU3gSZuB7MTmWR9fK2'),
|
||||
('cerel.pp@ifms.edu.br', 'Cerel', 'fapd2019', 'JsfRxHmI5Gd8Ay7r9teNl2BnSo0TgKDZMFchuWkEYQVLb6U1wC'),
|
||||
('maria.costa@ifms.edu.br', 'Maria', '030742', 'k1piZGFvcfwK5ChaXIr7NgYulRUVqHdJTMjEPznSODeA964tWo'),
|
||||
('maria.soares@ifms.edu.br', 'Lau', '291136', 'mBxKraAeudWVQ4nsM6XPZ5wSGfivgpzEIOFHCjDYy13LoklbR7'),
|
||||
('lia.daniel@ifms.edu.br', 'Lia', '100660RD', 'sm1zR9i6wAnZySlbYHf32UKBILgOQpt5TvCWPGEcFj7x8Vaeq0'),
|
||||
('coren.pp@ifms.edu.br', 'Coren', 'corencoren', 'PNlpgLxYcsXUzWdo2HtZOwauBrmeDRKVECnTSfJI3M8y5qkGF6'),
|
||||
('monica.miyashiro@ifms.edu.br', 'Monica', 'miyashiro31', '3J9guiysILzYBE76HetU5qanV0QCMOTZkRbomrhpAGlcN2FPKS'),
|
||||
('ligia.piletti@ifms.edu.br', '', 'LILIKA88', ''),
|
||||
('dirge.pp@ifms.edu.br', '', 'direcao2022', '2UDvrT1HS3XinxlCjwGNZI0FYa8hoVytAkQKfLc79JER4Oeu6W'),
|
||||
('diren.pp@ifms.edu.br', '', 'direnpp', 'uFr3qNkGOnPJxp2IYXd9RDtvTUs7Cbmy0lEeSaLfKWchVQgjwM'),
|
||||
('camila.souza@ifms.edu.br', '', 'Ca_890517', 'qeaZk6h2gs79GCYDtN0nKIlULumBSHbdJryF3VAOxjfXcwiE5M'),
|
||||
('miriam.espindola@ifms.edu.br', '', '322315', '1ZyBpdH0SzjtTM4GWEAFrbRXInx6klJL3Q2N8DPYmisCeg5KVv'),
|
||||
('ivan.herrmann@hotmail.com', '', 'adminadmin', ''),
|
||||
('napne.pp@ifms.edu.br', '', '394521', 'oVESh0qstzXJblpM7NCIc41PLFWQ69AngZr8UYRwK2vyjmDTd5'),
|
||||
('ivan.herrmann@ifms.edu.br', '', 'Papaie10', 'NA5YGSsafT4Q6FzbCxlKVdvnR9wmy7BoPei8hj3gkcWMHZ2XtE'),
|
||||
('coinf.pp@ifms.edu.br', '', '3edc4rfv', 'yH9qUla13RhMX5W6VbTP2JSOcznovCQLxKIks0jF4tY7rwgEdi'),
|
||||
('lesley.bueno@ifms.edu.br', 'Lesley', 'Seara228.', 'oSg2Y0apX9Pymbl3JGU5fMt8HxeqWVA7wdn16QKrvTcEhs4NIL'),
|
||||
('marlom.marques@ifms.edu.br', 'Marlom', 'Marlom1@2Projetos', 'jzVLi7xZ3mwHh5koWJafOv2BsFcU14tnplRePSKgCurMYEQA8y');
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
BIN
static/img/agricultura.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
static/img/agronegocio.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
static/img/agronomia.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
static/img/avatar_1.jpg
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
static/img/avatar_1.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
static/img/avatar_2.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
static/img/class.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
static/img/icone.ico
Normal file
After Width: | Height: | Size: 66 KiB |
0
static/img/index.php
Normal file
BIN
static/img/informatica.png
Normal file
After Width: | Height: | Size: 882 B |
BIN
static/img/livros1.jpg
Normal file
After Width: | Height: | Size: 719 KiB |
BIN
static/img/livros2.jpg
Normal file
BIN
static/img/livros3.jpg
Normal file
BIN
static/img/pessoas.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
static/img/pessoas_1.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
static/img/pessoas_2.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
static/img/pessoas_3.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
0
static/index.php
Normal file
BIN
static/materialize/LICENSE
Normal file
91
static/materialize/README.md
Normal file
|
@ -0,0 +1,91 @@
|
|||
<p align="center">
|
||||
<a href="http://materializecss.com/">
|
||||
<img src="http://materializecss.com/res/materialize.svg" width="150">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<h3 align="center">MaterializeCSS</h3>
|
||||
|
||||
<p align="center">
|
||||
Materialize, a CSS Framework based on material design.
|
||||
<br>
|
||||
<a href="http://materializecss.com/"><strong>-- Browse the docs --</strong></a>
|
||||
<br>
|
||||
<br>
|
||||
<a href="https://travis-ci.org/Dogfalo/materialize">
|
||||
<img src="https://travis-ci.org/Dogfalo/materialize.svg?branch=master" alt="Travis CI badge">
|
||||
</a>
|
||||
<a href="https://badge.fury.io/js/materialize-css">
|
||||
<img src="https://badge.fury.io/js/materialize-css.svg" alt="npm version badge">
|
||||
</a>
|
||||
<a href="https://cdnjs.com/libraries/materialize">
|
||||
<img src="https://img.shields.io/cdnjs/v/materialize.svg" alt="CDNJS version badge">
|
||||
</a>
|
||||
<a href="https://david-dm.org/Dogfalo/materialize">
|
||||
<img src="https://david-dm.org/Dogfalo/materialize/status.svg" alt="dependencies Status badge">
|
||||
</a>
|
||||
<a href="https://david-dm.org/Dogfalo/materialize#info=devDependencies">
|
||||
<img src="https://david-dm.org/Dogfalo/materialize/dev-status.svg" alt="devDependency Status badge">
|
||||
</a>
|
||||
<a href="https://gitter.im/Dogfalo/materialize">
|
||||
<img src="https://badges.gitter.im/Join%20Chat.svg" alt="Gitter badge">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## Table of Contents
|
||||
- [Quickstart](#quickstart)
|
||||
- [Documentation](#documentation)
|
||||
- [Supported Browsers](#supported-browsers)
|
||||
- [Changelog](#changelog)
|
||||
- [Testing](#testing)
|
||||
- [Contributing](#contributing)
|
||||
- [Copyright and license](#copyright-and-license)
|
||||
|
||||
## Quickstart:
|
||||
Read the [getting started guide](http://materializecss.com/getting-started.html) for more information on how to use materialize.
|
||||
|
||||
- [Download the latest release](https://github.com/Dogfalo/materialize/releases/latest) of materialize directly from GitHub. ([Beta](https://github.com/Dogfalo/materialize/releases/))
|
||||
- Clone the repo: `git clone https://github.com/Dogfalo/materialize.git` (Beta: `git clone -b v1-dev https://github.com/Dogfalo/materialize.git`)
|
||||
- Include the files via [cdnjs](https://cdnjs.com/libraries/materialize). More [here](http://materializecss.com/getting-started.html). ([Beta](https://cdnjs.com/libraries/materialize/1.0.0-beta))
|
||||
- Install with [npm](https://www.npmjs.com): `npm install materialize-css` (Beta: `npm install materialize-css@next`)
|
||||
- Install with [Bower](https://bower.io): `bower install materialize` ([DEPRECATED](https://bower.io/blog/2017/how-to-migrate-away-from-bower/))
|
||||
- Install with [Atmosphere](https://atmospherejs.com): `meteor add materialize:materialize` (Beta: `meteor add materialize:materialize@=1.0.0-beta`)
|
||||
|
||||
## Documentation
|
||||
The documentation can be found at <http://materializecss.com>. To run the documentation locally on your machine, you need [Node.js](https://nodejs.org/en/) installed on your computer.
|
||||
|
||||
### Running documentation locally
|
||||
Run these commands to set up the documentation:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/Dogfalo/materialize
|
||||
cd materialize
|
||||
npm install
|
||||
```
|
||||
|
||||
Then run `grunt monitor` to compile the documentation. When it finishes, open a new browser window and navigate to `localhost:8000`. We use [BrowserSync](https://www.browsersync.io/) to display the documentation.
|
||||
|
||||
### Documentation for previous releases
|
||||
Previous releases and their documentation are available for [download](https://github.com/Dogfalo/materialize/releases).
|
||||
|
||||
## Supported Browsers:
|
||||
Materialize is compatible with:
|
||||
|
||||
- Chrome 35+
|
||||
- Firefox 31+
|
||||
- Safari 9+
|
||||
- Opera
|
||||
- Edge
|
||||
- IE 11+
|
||||
|
||||
## Changelog
|
||||
For changelogs, check out [the Releases section of materialize](https://github.com/Dogfalo/materialize/releases) or the [CHANGELOG.md](CHANGELOG.md).
|
||||
|
||||
## Testing
|
||||
We use Jasmine as our testing framework and we're trying to write a robust test suite for our components. If you want to help, [here's a starting guide on how to write tests in Jasmine](CONTRIBUTING.md#jasmine-testing-guide).
|
||||
|
||||
## Contributing
|
||||
Check out the [CONTRIBUTING document](CONTRIBUTING.md) in the root of the repository to learn how you can contribute. You can also browse the [help-wanted](https://github.com/Dogfalo/materialize/labels/help-wanted) tag in our issue tracker to find things to do.
|
||||
|
||||
## Copyright and license
|
||||
Code Copyright 2018 Materialize. Code released under the MIT license.
|