Esse sistema foi desenvolvido no Centro de Processamento de Dados(CPD) da Universidade Federal do Rio Grande do Sul(UFRGS) com base no sistema já utilizado na Universidade para ser disponibilizado a outras instituições que estejam necessitando de uma solução para registro e acompanhamento da carga horária dos seus servidores. O sistema foi portado em colaboração com a Universidade Federal Fluminense(UFF).
- Acompanhamento de horários (funcionário e chefia)
- Registro de horários
- Solicitação de ajustes e abonos de horas
Para testar o sistema o computador deve conter os seguintes softwares:
- PHP 5.3 ou superior
- Yii Framework 1.1
- Servidor Web (Recomenda-se o USBWebserver)
- Baixe e mova o código fonte para a pasta de páginas do servidor. No caso do USBWebserver, coloque na pasta root
- Baixe e extraia o Yii Framework para a pasta raiz do servidor
- Execute o arquivo ponto.sql no banco de dados
Por pardrão, as credenciais de acesso do banco de dados são:
usuário: root
senha: usbw
- Para visualizar a tela do ponto acesse localhost:8080/ponto
- Para visualizar a tela de serviços acesse localhost:8080/tempLogin/login
Lista de usuários cadastrados para teste:
| Login | Senha | Tipo | Chefia | Cadastrado | 
|---|---|---|---|---|
| 1 | Técnico | 4 | Departamento | |
| 2 | Técnico | 1 | Unidade acadêmica | |
| 3 | Docente | 2 | Órgão máximo | |
| 4 | Técnico | 0 | Departamento | 
Observação: pode-se informar qualquer senha para realizar o login
Para que o sistema funcione, é necessário habilitar as tags curtas (short_open_tag) no php.ini e habilitar o mod_rewrite nas configurações do Apache.
Os dados de acesso ao banco de dados são especificados no arquivo ponto/protected/config/config.php.
Basta alterar os valores contidos na chave db do array components.
'db'=>array(
        'connectionString' => 'mysql:host=localhost:3307;dbname=ponto',
        'emulatePrepare' => true,
        'username' => 'root',
        'password' => 'usbw',
        'charset' => 'utf8',
    ),
Para garantir que somente os pontos oficiais possam realizar registros,
recomenda-se adicionar o seguinte código no método beforeAction da classe
RegistroController realizando as substituições necessárias:
if (($ipv4 != 'Número IPv4 da rede') && ($ipv6 != 'Número IPv6 da rede')) {
    $this->render('mensagem', array(
        'mensagem' => "O registro de Ponto só funciona na rede da Universidade.",
    ));
    return false;
}
Para mais informações, guias e tutoriais sobre o projeto acesse a Wiki do repositório.