public function inserir(SubAtividade &$sa, Atividade $atividade)
 {
     $id = $this->getId("SA");
     $this->con->executar("INSERT INTO " . BDPrefixo . $this->tabela . "(id, atividade, titulo) VALUES('" . $id . "','" . $atividade->getId() . "','" . $sa->titulo . "')");
     $temp = new SubAtividade($id);
     $temp->titulo = $sa->titulo;
     $sa = $temp;
 }
示例#2
0
 public function deletar(Atividade $at)
 {
     $where = "WHERE id = '" . $at->getId() . "'";
     while ($sa = $at->getSubAtividade->listar()) {
         $at->getSubAtividade()->deletar($sa);
     }
     $this->con->deletar(BDPrefixo . $this->tabela, $where);
 }
 public function alterar(Atividade $obj)
 {
     $strSQL = "UPDATE ADM_ATV_ATIVIDADES SET ";
     $strSQL .= "ATV_Descricao = '" . $obj->getDescricao() . "', ";
     $strSQL .= "ATV_ExigeData = '" . $obj->getExigeData() . "', ";
     $strSQL .= "ATV_Status = '" . $obj->getStatus() . "' ";
     $strSQL .= "WHERE ATV_ID = " . $obj->getId() . " ";
     return Db::getInstance()->executar($strSQL);
 }
示例#4
0
 public function __construct($atividade_cdg = null)
 {
     parent::__construct($atividade_cdg, 1);
     $this->atividade_cdg = isset($atividade_cdg) ? $atividade_cdg : -1;
     if ($this->atividade_cdg != -1) {
         $this->carregar_atividade();
     }
 }
 /**
  * Validate a given value
  * @param $label Identifies the value to be validated in case of exception
  * @param $value Value to be validated in case of 00:00
  */
 public function validate($label, $value, $parameters = NULL)
 {
     if (trim($value)) {
         $ultima = Atividade::retornaHoraUltimaAtividade($parameters['user'], $parameters['data']);
         if ($ultima) {
             $HoraSaida = new DateTime($value);
             $HoraAtividade = new DateTime($ultima);
             if ($HoraAtividade > $HoraSaida) {
                 throw new Exception("Horário de saída inferior a hora final da ultima atividade");
             }
         }
     }
 }
 private function factory($arrStrDados)
 {
     $obj = new AtividadeMembro();
     $objMembro = new Membro();
     if (isset($arrStrDados["PES_ID"])) {
         $objMembro->setId($arrStrDados["PES_ID"]);
     }
     if (isset($arrStrDados["PES_Nome"])) {
         $objMembro->setNome($arrStrDados["PES_Nome"]);
     }
     $obj->setMembro($objMembro);
     $objAtividade = new Atividade();
     if (isset($arrStrDados["ATV_ID"])) {
         $objAtividade->setId($arrStrDados["ATV_ID"]);
     }
     if (isset($arrStrDados["ATV_Descricao"])) {
         $objAtividade->setDescricao($arrStrDados["ATV_Descricao"]);
     }
     if (isset($arrStrDados["ATV_ExigeData"])) {
         $objAtividade->setExigeData($arrStrDados["ATV_ExigeData"]);
     }
     if (isset($arrStrDados["ATV_Status"])) {
         $objAtividade->setStatus($arrStrDados["ATV_Status"]);
     }
     $obj->setAtividade($objAtividade);
     if (isset($arrStrDados["ATM_Desde"])) {
         $intTotOcorrencia = substr_count($arrStrDados["ATM_Desde"], "/");
         if ($intTotOcorrencia > 0) {
             //veio com / então retira
             $obj->setDataDesde(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["ATM_Desde"]));
         } else {
             $intTotOcorrencia2 = substr_count($arrStrDados["ATM_Desde"], "-");
             if ($intTotOcorrencia2 > 0) {
                 $obj->setDataDesde(DataHelper::getInstance()->converterDataBancoParaDataUsuario($arrStrDados["ATM_Desde"]));
             } else {
                 $obj->setDataDesde(null);
             }
         }
     }
     if (isset($arrStrDados["ATM_Ate"])) {
         $intTotOcorrencia = substr_count($arrStrDados["ATM_Ate"], "/");
         if ($intTotOcorrencia > 0) {
             //veio com / então retira
             $obj->setDataAte(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["ATM_Ate"]));
         } else {
             $intTotOcorrencia2 = substr_count($arrStrDados["ATM_Ate"], "-");
             if ($intTotOcorrencia2 > 0) {
                 $obj->setDataAte(DataHelper::getInstance()->converterDataBancoParaDataUsuario($arrStrDados["ATM_Ate"]));
             } else {
                 $obj->setDataAte(null);
             }
         }
     }
     return $obj;
 }
 /**
  * Painel do participante
  * @return void
  */
 public function indexAction()
 {
     if (!Zend_Auth::getInstance()->hasIdentity()) {
         $this->_redirect('participantes/cadastrar');
     } elseif (Zend_Auth::getInstance()->getIdentity()->sRole == 'admin') {
         $this->_redirect('administrador');
     }
     $idUsuario = Zend_Auth::getInstance()->getIdentity()->id;
     $usuario = Usuario::build()->find($idUsuario)->current();
     // Atividades submetidas
     $this->view->atividadesSubmetidas = Atividade::build()->findByPalestrante($idUsuario);
     // Atividades que esta inscrito
     $this->view->atividadesInscrito = Atividade::build()->findByParticipante($idUsuario);
     // Vagas ocupadas/inscrições
     $this->view->vagasOcupadas = Inscricao::build()->countByAtividade();
 }
 /**
  * Painel do administrador
  * @return void
  */
 public function indexAction()
 {
     $idUsuario = Zend_Auth::getInstance()->getIdentity()->id;
     // Atividades submetidas
     $this->view->atividadesSubmetidas = Atividade::build()->fetchAll('situacao = ' . Atividade::SUBMETIDO, 'nome');
     // Atividades
     $this->view->atividades = Atividade::build()->findAll();
     // Atividades rejeitadas
     $this->view->atividadesRejeitadas = Atividade::build()->fetchAll('situacao = ' . Atividade::REJEITADO, 'nome');
     // Usuários cadastrados
     $this->view->qtUsuarios = Usuario::build()->fetchAll()->count();
     // Usuários cadastrados
     $this->view->qtInscricoes = Inscricao::build()->fetchAll()->count();
     // Vagas ocupadas/inscrições
     $this->view->vagasOcupadas = Inscricao::build()->countByAtividade();
     //Atividades que o admin está inscritos
     $this->view->atividadesInscrito = Atividade::build()->findByParticipante($idUsuario);
 }
示例#9
0
<?php

include_once dirname(__FILE__) . '/../../inc/config.inc.php';
include_once dirname(__FILE__) . '/../../model/Inscricao.class.php';
include_once dirname(__FILE__) . '/../../model/Atividade.class.php';
include_once dirname(__FILE__) . '/../../inc/mensagens.inc.php';
session_start();
if (!isset($_SESSION['usuario'])) {
    header("location: /" . $config['PATH'] . "/admin/form_login.php?syserror=AUTENTICACAO_NECESSARIA");
    exit;
}
$atividade = Atividade::find($_GET['id']);
$inscricoes = Inscricao::find_by_atividade($_GET['id']);
?>

<!DOCTYPE HTML>
<html lang="pt-br">
	<head>
		<?php 
include_once dirname(__FILE__) . '/../../inc/head.inc.php';
?>
		<script type="text/javascript">
			function marcar_todos() {
				$("input[type='checkbox']").attr('checked', true);
			}
			
			function desmarcar_todos() {
				$("input[type='checkbox']").attr('checked', false);
			}
		</script>
	</head>
 /**
  * 
  * Retorna JSON de todas as pessoas desta atividade
  * @param integer $id - identificador da Atividade
  */
 public function actionTokenPessoa($id)
 {
     $model = new Atividade();
     $model = Atividade::model()->findByPk($id);
     if ($model == null) {
         throw new CHttpException('404');
     }
     echo '[';
     $num = count($model->pessoas);
     foreach ($model->pessoas as $i => $p) {
         echo "{\"id\": \"" . $p->cod_pessoa . "\", \"name\": \"" . $p->nome . "\"}";
         if ($i < $num - 1) {
             echo ',';
         }
     }
     echo ']';
 }
 /**
  * method onGenerate()
  * Executed whenever the user clicks at the generate button
  */
 function onGenerate()
 {
     try {
         // open a transaction with database 'atividade'
         TTransaction::open('atividade');
         // get the form data into an active record
         $formdata = $this->form->getData();
         $validador = new TDuasDatasValidator();
         $validador->validate('Datas', '', array($formdata->ano_atividade_inicial . '-' . str_pad($formdata->mes_atividade_inicial, 2, '0', STR_PAD_LEFT) . '-01', $formdata->ano_atividade_final . '-' . str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT) . '-01'));
         $meses = $this->colecaoMeses($formdata);
         $tickets = null;
         $arrayTickets = null;
         if ($formdata->cliente_id > 0) {
             $cliente = Pessoa::getPessoasEntidade($formdata->cliente_id);
             $retorno = Ticket::getTicketsCliente($cliente);
             $arrayTickets = $retorno;
             $tickets = implode(",", $retorno);
         }
         $criteria = new TCriteria();
         $criteria->add(new TFilter("origem", "=", 1));
         $criteria->add(new TFilter("codigo_cadastro_origem", "=", 100));
         $criteria->add(new TFilter("ativo", "=", 1));
         $criteria->add(new TFilter("usuario", "is not "));
         $repo = new TRepository('Pessoa');
         $pessoas = $repo->load($criteria);
         $criteria = new TCriteria();
         $criteria->add(new TFilter('data_atividade', '<', $formdata->ano_atividade_inicial . '-' . str_pad($formdata->mes_atividade_inicial, 2, '0', STR_PAD_LEFT) . '-01'), TExpression::OR_OPERATOR);
         $criteria->add(new TFilter('data_atividade', '>', $formdata->ano_atividade_final . '-' . str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT) . '-' . cal_days_in_month(CAL_GREGORIAN, str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT), $formdata->ano_atividade_final)), TExpression::OR_OPERATOR);
         $repository = new TRepository('Atividade');
         $count = $repository->count($criteria);
         $format = $formdata->output_type;
         if ($count > 0) {
             $widths = array();
             switch ($format) {
                 case 'html':
                     $tr = new TTableWriterHTML($widths);
                     $break = '<br />';
                     break;
                 case 'pdf':
                     $tr = new TTableWriterPDF($widths);
                     $break = '<br />';
                     break;
                 case 'rtf':
                     if (!class_exists('PHPRtfLite_Autoloader')) {
                         PHPRtfLite::registerAutoloader();
                     }
                     $tr = new TTableWriterRTF($widths);
                     $break = '<br />';
                     break;
             }
             // create the document styles
             $tr->addStyle('title', 'Arial', '10', 'B', '#ffffff', '#6B6B6B');
             $tr->addStyle('datap', 'Arial', '10', '', '#000000', '#E5E5E5');
             $tr->addStyle('datai', 'Arial', '10', '', '#000000', '#ffffff');
             $tr->addStyle('header', 'Times', '16', 'B', '#4A5590', '#C0D3E9');
             $tr->addStyle('footer', 'Times', '12', 'BI', '#4A5590', '#C0D3E9');
             $colunas = count($meses) * 4 + 2;
             $arrayMeses = $this->string->array_meses();
             // add a header row
             $tr->addRow();
             $tr->addCell('RELATORIO XPTO', 'center', 'header', $colunas);
             // add a header row
             $tr->addRow();
             $tr->addCell('Indicadores', 'center', 'header', $colunas);
             // add a header row
             $i = 0;
             $tr->addRow();
             $tr->addCell('', 'center', 'header');
             foreach ($meses as $mes) {
                 $i++;
                 $tr->addCell(substr(strtoupper($arrayMeses[intval(substr($mes, 3, 2))]), 0, 3), 'center', 'header');
                 $tr->addCell('%', 'center', 'header');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
             }
             $tr->addCell('TOTAL', 'center', 'header');
             $tr->addCell('%', 'center', 'header');
             // add a carga horaria row
             $i = 0;
             $totalHorario = null;
             $arrayHorario = array();
             $tr->addRow();
             $tr->addCell(utf8_decode('Carga horária mensal:'), 'left', 'datap');
             foreach ($meses as $mes) {
                 $criteria = new TCriteria();
                 $criteria->add(new TFilter("mes", "=", substr($mes, 3, 2)));
                 $criteria->add(new TFilter("ano", "=", substr($mes, 6, 4)));
                 if ($formdata->colaborador_id > 0) {
                     $criteria->add(new TFilter("colaborador_id", "=", $formdata->colaborador_id));
                 }
                 $repo = new TRepository('CargaHoraria');
                 $cargaHoraria = $repo->load($criteria);
                 $horario = null;
                 foreach ($cargaHoraria as $carga) {
                     $horario += $this->string->time_to_sec($carga->horario);
                 }
                 $totalHorario += $horario;
                 $arrayHorario[$i] = $horario;
                 $horario = $this->string->sec_to_time($horario);
                 $tr->addCell($this->string->retira_segundos($horario), 'center', 'datap');
                 $tr->addCell('100%', 'center', 'datap');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                 $i++;
             }
             $totalHorario = $this->string->sec_to_time($totalHorario);
             $tr->addCell($this->string->retira_segundos($totalHorario), 'center', 'datap');
             $tr->addCell('100%', 'center', 'datap');
             //add horas ponto total row
             $i = 0;
             $totalPontoTotal = null;
             $arrayPontoTotal = array();
             $tr->addRow();
             $tr->addCell(utf8_decode('Horas ponto total:'), 'left', 'datap');
             foreach ($meses as $mes) {
                 if ($formdata->colaborador_id > 0) {
                     $totalPonto = $this->retornaPonto($formdata->colaborador_id, substr($mes, 3, 2), substr($mes, 6, 4));
                     $totalPontoTotal += $this->string->time_to_sec($totalPonto);
                     $arrayPontoTotal[$i] = $this->string->time_to_sec($totalPonto);
                 } else {
                     foreach ($pessoas as $pessoa) {
                         $totalPonto += $this->string->time_to_sec($this->retornaPonto($pessoa->pessoa_codigo, substr($mes, 3, 2), substr($mes, 6, 4)));
                     }
                     $totalPontoTotal += $totalPonto;
                     $arrayPontoTotal[$i] = $totalPonto;
                     $totalPonto = $this->string->sec_to_time($totalPonto);
                 }
                 $tr->addCell($this->string->retira_segundos($totalPonto), 'center', 'datap');
                 $tr->addCell(round($arrayPontoTotal[$i] * 100 / $arrayHorario[$i]) . '%', 'center', 'datap');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                 $i++;
             }
             $totalPontoTotal = $this->string->sec_to_time($totalPontoTotal);
             $tr->addCell($this->string->retira_segundos($totalPontoTotal), 'center', 'datap');
             $tr->addCell(round($this->string->time_to_sec($totalPontoTotal) * 100 / $this->string->time_to_sec($totalHorario)) . '%', 'center', 'datap');
             //add horas ponto util row
             $i = 0;
             $totalPontoUtil = null;
             $arrayPontoUtil = array();
             $tr->addRow();
             $tr->addCell(utf8_decode('Horas ponto util:'), 'left', 'datap');
             foreach ($meses as $mes) {
                 $cri = new TCriteria();
                 if ($formdata->colaborador_id > 0) {
                     $cri->add(new TFilter("colaborador_id", "=", $formdata->colaborador_id));
                 }
                 $cri->add(new TFilter("ticket_id", "IN", array(328, 514)));
                 $cri->add(new TFilter("extract('month' from data_atividade)", "=", substr($mes, 3, 2)));
                 $cri->add(new TFilter("extract('year' from data_atividade)", "=", substr($mes, 6, 4)));
                 $repo = new TRepository('Atividade');
                 $ausencias = $repo->count($cri);
                 $tempo = 0;
                 if ($ausencias) {
                     $horas = $repo->load($cri);
                     foreach ($horas as $h) {
                         $tempo += $this->string->time_to_sec($h->hora_fim) - $this->string->time_to_sec($h->hora_inicio);
                     }
                 }
                 $pontoUtil = $arrayPontoTotal[$i] - $tempo;
                 $arrayPontoUtil[$i] = $pontoUtil;
                 $totalPontoUtil += $pontoUtil;
                 $pontoUtil = $this->string->sec_to_time($pontoUtil);
                 $tr->addCell($this->string->retira_segundos($pontoUtil), 'center', 'datap');
                 $tr->addCell(round($arrayPontoUtil[$i] * 100 / $arrayHorario[$i]) . '%', 'center', 'datap');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                 $i++;
             }
             $totalPontoUtil = $this->string->sec_to_time($totalPontoUtil);
             $tr->addCell($this->string->retira_segundos($totalPontoUtil), 'center', 'datap');
             $tr->addCell(round($this->string->time_to_sec($totalPontoUtil) * 100 / $this->string->time_to_sec($totalHorario)) . '%', 'center', 'datap');
             //add atividades indicador total
             $i = 0;
             $totalAtividadeTotal = null;
             $arrayAtividadeTotal = array();
             $tr->addRow();
             $tr->addCell(utf8_decode('Horas atividade (indicador total):'), 'left', 'datap');
             foreach ($meses as $mes) {
                 $total = Atividade::retornaTotalAtividadesColaborador($formdata->colaborador_id, substr($mes, 3, 2), substr($mes, 6, 4), $tickets);
                 $arrayAtividadeTotal[$i] = $this->string->time_to_sec($total);
                 $totalAtividadeTotal += $this->string->time_to_sec($total);
                 $tr->addCell($this->string->retira_segundos($total), 'center', 'datap');
                 $tr->addCell(round($arrayAtividadeTotal[$i] * 100 / $arrayPontoTotal[$i]) . '%', 'center', 'datap');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                 $i++;
             }
             $totalAtividadeTotal = $this->string->sec_to_time($totalAtividadeTotal);
             $tr->addCell($this->string->retira_segundos($totalAtividadeTotal), 'center', 'datap');
             $tr->addCell(round($this->string->time_to_sec($totalAtividadeTotal) * 100 / $this->string->time_to_sec($totalPontoTotal)) . '%', 'center', 'datap');
             //add atividades indicador util
             $i = 0;
             $tr->addRow();
             $tr->addCell(utf8_decode('Horas atividade (indicador util):'), 'left', 'datap');
             foreach ($meses as $mes) {
                 $total = $this->string->sec_to_time($arrayAtividadeTotal[$i]);
                 $tr->addCell($this->string->retira_segundos($total), 'center', 'datap');
                 $tr->addCell(round($arrayAtividadeTotal[$i] * 100 / $arrayPontoUtil[$i]) . '%', 'center', 'datap');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                 $i++;
             }
             //$totalAtividadeTotal = $this->string->sec_to_time($totalAtividadeTotal);
             $tr->addCell($this->string->retira_segundos($totalAtividadeTotal), 'center', 'datap');
             $tr->addCell(round($this->string->time_to_sec($totalAtividadeTotal) * 100 / $this->string->time_to_sec($totalPontoUtil)) . '%', 'center', 'datap');
             // division row
             $tr->addRow();
             $tr->addCell($break, 'center', 'datai', $colunas);
             // add a header row
             $tr->addRow();
             $tr->addCell(utf8_decode('Ausências'), 'center', 'header', $colunas);
             // add a header row
             $i = 0;
             $tr->addRow();
             $tr->addCell('', 'center', 'header');
             foreach ($meses as $mes) {
                 $i++;
                 $tr->addCell(substr(strtoupper($arrayMeses[intval(substr($mes, 3, 2))]), 0, 3), 'center', 'header');
                 $tr->addCell('%', 'center', 'header');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
             }
             $tr->addCell('TOTAL', 'center', 'header');
             $tr->addCell('%', 'center', 'header');
             // add atestado medico row
             $i = 0;
             $totalAtestados = null;
             $arrayAtestados = array();
             $tr->addRow();
             $tr->addCell(utf8_decode('Atestado médico:'), 'left', 'datap');
             foreach ($meses as $mes) {
                 $atestados = Atividade::retornaAtestados($formdata->colaborador_id, substr($mes, 3, 2), substr($mes, 6, 4));
                 $arrayAtestados[$i] = $this->string->time_to_sec($atestados);
                 $totalAtestados += $this->string->time_to_sec($atestados);
                 $tr->addCell($this->string->retira_segundos($atestados), 'center', 'datap');
                 $tr->addCell(round($arrayAtestados[$i] * 100 / $arrayPontoTotal[$i]) . '%', 'center', 'datap');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                 $i++;
             }
             $totalAtestados = $this->string->sec_to_time($totalAtestados);
             $tr->addCell($this->string->retira_segundos($totalAtestados), 'center', 'datap');
             $tr->addCell(round($this->string->time_to_sec($totalAtestados) * 100 / $this->string->time_to_sec($totalPontoTotal)) . '%', 'center', 'datap');
             // add ausencias row
             $i = 0;
             $totalAusencias = null;
             $arrayAusencias = array();
             $tr->addRow();
             $tr->addCell(utf8_decode('Ausências:'), 'left', 'datap');
             foreach ($meses as $mes) {
                 $ausencias = Atividade::retornaAusencias($formdata->colaborador_id, substr($mes, 3, 2), substr($mes, 6, 4));
                 $arrayAusencias[$i] = $this->string->time_to_sec($ausencias);
                 $totalAusencias += $this->string->time_to_sec($ausencias);
                 $tr->addCell($this->string->retira_segundos($ausencias), 'center', 'datap');
                 $tr->addCell(round($arrayAusencias[$i] * 100 / $arrayPontoTotal[$i]) . '%', 'center', 'datap');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                 $i++;
             }
             $totalAusencias = $this->string->sec_to_time($totalAusencias);
             $tr->addCell($this->string->retira_segundos($totalAusencias), 'center', 'datap');
             $tr->addCell(round($this->string->time_to_sec($totalAusencias) * 100 / $this->string->time_to_sec($totalPontoTotal)) . '%', 'center', 'datap');
             // division row
             $tr->addRow();
             $tr->addCell($break, 'center', 'datai', $colunas);
             // add a header row
             $tr->addRow();
             $tr->addCell(utf8_decode('Tipo Atividades'), 'center', 'header', $colunas);
             // add Tipo Atividades row
             $i = 0;
             $tr->addRow();
             $tr->addCell('', 'center', 'header');
             foreach ($meses as $mes) {
                 $i++;
                 $tr->addCell(substr(strtoupper($arrayMeses[intval(substr($mes, 3, 2))]), 0, 3), 'center', 'header');
                 $tr->addCell('%', 'center', 'header');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
             }
             $tr->addCell('TOTAL', 'center', 'header');
             $tr->addCell('%', 'center', 'header');
             // verifica tipos de atividades do periodo
             $colour = FALSE;
             $tipoAtividades = array();
             $objects = Atividade::retornaTiposAtividadesPeriodo($formdata->colaborador_id, $formdata->ano_atividade_inicial . '-' . str_pad($formdata->mes_atividade_inicial, 2, '0', STR_PAD_LEFT) . '-01', $formdata->ano_atividade_final . '-' . str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT) . '-' . cal_days_in_month(CAL_GREGORIAN, str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT), $formdata->ano_atividade_final), $tickets);
             $i = 1;
             foreach ($objects as $row) {
                 $tipoAtividades[$i] = $row['tipo_atividade_id'];
                 $i++;
             }
             foreach ($tipoAtividades as $ati) {
                 // adiciona as linhas por tipo de atividade
                 $style = $colour ? 'datap' : 'datai';
                 $i = 0;
                 $totalAtividade = null;
                 $arrayAtividade = array();
                 $tipoAtv = new TipoAtividade($ati);
                 $tr->addRow();
                 $tr->addCell(utf8_decode($tipoAtv->nome . ':'), 'left', $style);
                 foreach ($meses as $mes) {
                     $cri = new TCriteria();
                     if ($formdata->colaborador_id > 0) {
                         $cri->add(new TFilter("colaborador_id", "=", $formdata->colaborador_id));
                     }
                     if ($tickets) {
                         $cri->add(new TFilter("ticket_id", "IN", $arrayTickets));
                     }
                     $cri->add(new TFilter("extract('month' from data_atividade)", "=", substr($mes, 3, 2)));
                     $cri->add(new TFilter("extract('year' from data_atividade)", "=", substr($mes, 6, 4)));
                     $cri->add(new TFilter("tipo_atividade_id", "=", $ati));
                     $repo = new TRepository('Atividade');
                     $count = $repo->count($cri);
                     $tempo = 0;
                     if ($count) {
                         $horas = $repo->load($cri);
                         foreach ($horas as $h) {
                             $tempo += $this->string->time_to_sec($h->hora_fim) - $this->string->time_to_sec($h->hora_inicio);
                         }
                     }
                     $arrayAtividade[$i] = $tempo;
                     $totalAtividade += $tempo;
                     $tempo = $this->string->sec_to_time($tempo);
                     $tr->addCell($this->string->retira_segundos($tempo), 'center', $style);
                     $tr->addCell(round($arrayAtividade[$i] * 100 / $arrayAtividadeTotal[$i]) . '%', 'center', $style);
                     $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                     $i++;
                     $colour = !$colour;
                 }
                 $totalAtividade = $this->string->sec_to_time($totalAtividade);
                 $tr->addCell($this->string->retira_segundos($totalAtividade), 'center', $style);
                 $tr->addCell(round($this->string->time_to_sec($totalAtividade) * 100 / $this->string->time_to_sec($totalAtividadeTotal)) . '%', 'center', $style);
             }
             //row total
             $i = 0;
             $tr->addRow();
             $tr->addCell(utf8_decode('<b>Total:</b>'), 'left', 'footer');
             foreach ($meses as $mes) {
                 $total = $this->string->sec_to_time($arrayAtividadeTotal[$i]);
                 $tr->addCell($this->string->retira_segundos($total), 'center', 'footer');
                 $tr->addCell('100%', 'center', 'footer');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                 $i++;
             }
             $tr->addCell($this->string->retira_segundos($totalAtividadeTotal), 'center', 'footer');
             $tr->addCell('100%', 'center', 'footer');
             // division row
             $tr->addRow();
             $tr->addCell($break, 'center', 'datai', $colunas);
             // add Por Sistema row
             $tr->addRow();
             $tr->addCell(utf8_decode('Por sistema'), 'center', 'header', $colunas);
             $i = 0;
             $tr->addRow();
             $tr->addCell('', 'center', 'header');
             foreach ($meses as $mes) {
                 $i++;
                 $tr->addCell(substr(strtoupper($arrayMeses[intval(substr($mes, 3, 2))]), 0, 3), 'center', 'header');
                 $tr->addCell('%', 'center', 'header');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
             }
             $tr->addCell('TOTAL', 'center', 'header');
             $tr->addCell('%', 'center', 'header');
             // verifica tipos de atividades do periodo
             $colour = FALSE;
             $tipoSistemas = array();
             $objects = Atividade::retornaSistemasPeriodo($formdata->colaborador_id, $formdata->ano_atividade_inicial . '-' . str_pad($formdata->mes_atividade_inicial, 2, '0', STR_PAD_LEFT) . '-01', $formdata->ano_atividade_final . '-' . str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT) . '-' . cal_days_in_month(CAL_GREGORIAN, str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT), $formdata->ano_atividade_final), $tickets);
             $i = 1;
             foreach ($objects as $row) {
                 $tipoSistemas[$i] = $row['sistema_id'];
                 $i++;
             }
             foreach ($tipoSistemas as $sis) {
                 // adiciona as linhas por tipo de atividade
                 $style = $colour ? 'datap' : 'datai';
                 $i = 0;
                 $totalSistema = null;
                 $arraySistema = array();
                 $sistema = new Sistema($sis);
                 $tr->addRow();
                 $tr->addCell(utf8_decode($sistema->nome . ':'), 'left', $style);
                 foreach ($meses as $mes) {
                     $cri = new TCriteria();
                     if ($formdata->colaborador_id > 0) {
                         $cri->add(new TFilter("colaborador_id", "=", $formdata->colaborador_id));
                     }
                     if ($tickets) {
                         $cri->add(new TFilter("ticket_id", "IN", $arrayTickets));
                     }
                     $cri->add(new TFilter("extract('month' from data_atividade)", "=", substr($mes, 3, 2)));
                     $cri->add(new TFilter("extract('year' from data_atividade)", "=", substr($mes, 6, 4)));
                     $cri->add(new TFilter("sistema_id", "=", $sis));
                     $cri->add(new TFilter("ticket_id", "not in", array(328, 514)));
                     $repo = new TRepository('Atividade');
                     $count = $repo->count($cri);
                     $tempo = 0;
                     if ($count) {
                         $horas = $repo->load($cri);
                         foreach ($horas as $h) {
                             $tempo += $this->string->time_to_sec($h->hora_fim) - $this->string->time_to_sec($h->hora_inicio);
                         }
                     }
                     $arraySistema[$i] = $tempo;
                     $totalSistema += $tempo;
                     $tempo = $this->string->sec_to_time($tempo);
                     $tr->addCell($this->string->retira_segundos($tempo), 'center', $style);
                     $tr->addCell(round($arraySistema[$i] * 100 / $arrayAtividadeTotal[$i]) . '%', 'center', $style);
                     $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                     $i++;
                     $colour = !$colour;
                 }
                 $totalSistema = $this->string->sec_to_time($totalSistema);
                 $tr->addCell($this->string->retira_segundos($totalSistema), 'center', $style);
                 $tr->addCell(round($this->string->time_to_sec($totalSistema) * 100 / $this->string->time_to_sec($totalAtividadeTotal)) . '%', 'center', $style);
             }
             //row total
             $i = 0;
             $tr->addRow();
             $tr->addCell(utf8_decode('<b>Total:</b>'), 'left', 'footer');
             foreach ($meses as $mes) {
                 $total = $this->string->sec_to_time($arrayAtividadeTotal[$i]);
                 $tr->addCell($this->string->retira_segundos($total), 'center', 'footer');
                 $tr->addCell('100%', 'center', 'footer');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                 $i++;
             }
             $tr->addCell($this->string->retira_segundos($totalAtividadeTotal), 'center', 'footer');
             $tr->addCell('100%', 'center', 'footer');
             // division row
             $tr->addRow();
             $tr->addCell($break, 'center', 'datai', $colunas);
             // add Por Cliente row
             $tr->addRow();
             $tr->addCell(utf8_decode('Por Cliente'), 'center', 'header', $colunas);
             $i = 0;
             $tr->addRow();
             $tr->addCell('', 'center', 'header');
             foreach ($meses as $mes) {
                 $i++;
                 $tr->addCell(substr(strtoupper($arrayMeses[intval(substr($mes, 3, 2))]), 0, 3), 'center', 'header');
                 $tr->addCell('%', 'center', 'header');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
             }
             $tr->addCell('TOTAL', 'center', 'header');
             $tr->addCell('%', 'center', 'header');
             // monta array de clientes
             $tipoClientes = array();
             $objects = Atividade::retornaClientesPeriodo($formdata->colaborador_id, $formdata->ano_atividade_inicial . '-' . str_pad($formdata->mes_atividade_inicial, 2, '0', STR_PAD_LEFT) . '-01', $formdata->ano_atividade_final . '-' . str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT) . '-' . cal_days_in_month(CAL_GREGORIAN, str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT), $formdata->ano_atividade_final), $tickets);
             foreach ($objects as $row) {
                 $cliente = new Pessoa($row['solicitante_id']);
                 if ($cliente->origem == 1) {
                     $ind = $cliente->codigo_cadastro_origem;
                 } else {
                     $ind = 999;
                 }
                 $tipoClientes[$ind] += $this->string->time_to_sec($row['sum']);
             }
             arsort($tipoClientes);
             $colour = FALSE;
             foreach ($tipoClientes as $key => $value) {
                 $style = $colour ? 'datap' : 'datai';
                 $i = 0;
                 $totalClientes = null;
                 $arrayClientes = array();
                 $labelCliente = '';
                 if ($key == '999') {
                     $labelCliente = '999 - ECS';
                 } else {
                     $entidade = new Entidade($key);
                     $labelCliente = str_pad($key, 3, '0', STR_PAD_LEFT) . ' - ' . $entidade->entnomfan;
                 }
                 $tr->addRow();
                 $tr->addCell(utf8_decode($labelCliente), 'left', $style);
                 foreach ($meses as $mes) {
                     $cri = new TCriteria();
                     if ($formdata->colaborador_id > 0) {
                         $cri->add(new TFilter("colaborador_id", "=", $formdata->colaborador_id));
                     }
                     if (!$tickets) {
                         $cliente = Pessoa::getPessoasEntidade($key);
                         $retorno = Ticket::getTicketsCliente($cliente);
                         $arrayTickets = $retorno;
                     }
                     $cri->add(new TFilter("ticket_id", "IN", $arrayTickets));
                     $cri->add(new TFilter("extract('month' from data_atividade)", "=", substr($mes, 3, 2)));
                     $cri->add(new TFilter("extract('year' from data_atividade)", "=", substr($mes, 6, 4)));
                     $cri->add(new TFilter("ticket_id", "not in", array(328, 514)));
                     $repo = new TRepository('Atividade');
                     $count = $repo->count($cri);
                     $tempo = 0;
                     if ($count) {
                         $horas = $repo->load($cri);
                         foreach ($horas as $h) {
                             $tempo += $this->string->time_to_sec($h->hora_fim) - $this->string->time_to_sec($h->hora_inicio);
                         }
                     }
                     $arrayClientes[$i] = $tempo;
                     $totalClientes += $tempo;
                     $tempo = $this->string->sec_to_time($tempo);
                     $tr->addCell($this->string->retira_segundos($tempo), 'center', $style);
                     $tr->addCell(round($arrayClientes[$i] * 100 / $arrayAtividadeTotal[$i]) . '%', 'center', $style);
                     $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                     $i++;
                     $colour = !$colour;
                 }
                 $totalClientes = $this->string->sec_to_time($totalClientes);
                 $tr->addCell($this->string->retira_segundos($totalClientes), 'center', $style);
                 $tr->addCell(round($this->string->time_to_sec($totalClientes) * 100 / $this->string->time_to_sec($totalAtividadeTotal)) . '%', 'center', $style);
             }
             //row total
             $i = 0;
             $tr->addRow();
             $tr->addCell(utf8_decode('<b>Total:</b>'), 'left', 'footer');
             foreach ($meses as $mes) {
                 $total = $this->string->sec_to_time($arrayAtividadeTotal[$i]);
                 $tr->addCell($this->string->retira_segundos($total), 'center', 'footer');
                 $tr->addCell('100%', 'center', 'footer');
                 $tr->addCell('&nbsp;&nbsp;&nbsp;&nbsp;', 'center', 'datai');
                 $i++;
             }
             $tr->addCell($this->string->retira_segundos($totalAtividadeTotal), 'center', 'footer');
             $tr->addCell('100%', 'center', 'footer');
             // stores the file
             if (!file_exists("app/output/Atividade.{$format}") or is_writable("app/output/Atividade.{$format}")) {
                 $tr->save("app/output/Atividade.{$format}");
             } else {
                 throw new Exception(_t('Permission denied') . ': ' . "app/output/Atividade.{$format}");
             }
             // open the report file
             parent::openFile("app/output/Atividade.{$format}");
             // shows the success message
             new TMessage('info', 'Report generated. Please, enable popups in the browser (just in the web).');
         } else {
             new TMessage('error', 'No records found');
         }
         // fill the form with the active record data
         $this->form->setData($formdata);
         // close the transaction
         TTransaction::close();
     } catch (Exception $e) {
         // shows the exception error message
         new TMessage('error', '<b>Error</b> ' . $e->getMessage());
         // undo all pending operations
         TTransaction::rollback();
     }
 }
 /**
  * method Delete()
  * Delete a record
  */
 function Delete($param)
 {
     try {
         // print_r($param);
         $key = $param['id'];
         // get the parameter $key
         TTransaction::open('atividade');
         // open a transaction with database
         $object = new Atividade($key, FALSE);
         // instantiates the Active Record
         $object->delete();
         // deletes the object from the database
         TTransaction::close();
         // close the transaction
         $action = new TAction(array('AtividadeList', 'onReload'));
         new TMessage('info', TAdiantiCoreTranslator::translate('Record deleted'), $action);
         // success message
     } catch (Exception $e) {
         new TMessage('error', '<b>Error</b> ' . $e->getMessage());
         // shows the exception error message
         TTransaction::rollback();
         // undo all pending operations
     }
 }
示例#13
0
include_once dirname(__FILE__) . '/../inc/helper.inc.php';
include_once dirname(__FILE__) . '/../model/Participante.class.php';
include_once dirname(__FILE__) . '/../model/Atividade.class.php';
include_once dirname(__FILE__) . '/../model/Inscricao.class.php';
if (!inscricoes_abertas()) {
    header("location: /" . $config['PATH'] . "/minicursos/index.php?syserror=INSCRICOES_ENCERRADAS");
    exit;
}
$minicurso_id = $_GET['minicurso_id'];
session_start();
if (!isset($_SESSION['participante'])) {
    header("location: /" . $config['PATH'] . "/inscricoes/form_login.php?minicurso_id={$minicurso_id}&info=INSCRICAO_MINICURSO");
    exit;
}
$participante = $_SESSION['participante'];
$minicurso = Atividade::find($minicurso_id);
if (!$minicurso->temVagasDisponiveis()) {
    header("location: /" . $config['PATH'] . "/minicursos/index.php?syserror=VAGAS_ESGOTADAS");
    exit;
}
$inscricoes = $participante->getInscricoes();
foreach ($inscricoes as $inscricao) {
    if ($inscricao->atividade->id == $minicurso_id) {
        header("location: /" . $config['PATH'] . "/minicursos/index.php?syserror=JA_INSCRITO_MINICURSO");
        exit;
    }
}
/*if(Inscricao::verificar_conflito($participante, $minicurso)) {
	header("location: /" . $config['PATH'] . "/minicursos/index.php?syserror=CONFLITO_HORARIOS");
	exit;
}*/
示例#14
0
 /**
  * 
  * Retorna as atividades que acabam em 6 meses que um determinado
  * usuário É RESPONS�VEL
  * @param Pessoa $user
  * @return Atividade[]
  */
 public static function getAllRespByUser($user)
 {
     if ($user == null) {
         //Se a pessoa não contém login retorna um array vazio
         return array();
     }
     $cod_pessoa = $user->cod_pessoa;
     $criteria = new CDbCriteria();
     $criteria->addCondition("t.cod_pessoa = {$cod_pessoa}", 'AND');
     $criteria->addCondition("t.estagio = false", 'AND');
     $criteria->order = 't.data_fim ASC, t.nome_atividade ASC';
     return Atividade::model()->findALL($criteria);
 }
示例#15
0
						<?php 
    }
    ?>
					</div>
			<?php 
} else {
    ?>
				<p><b>Não participa de nenhuma atividade no momento</b></p>
			<?php 
}
?>
			</div>
			
		
			<?php 
$atividades_responsavel = Atividade::getAllRespByUser($user);
?>
			<div class="view-left">			
			<?php 
if (count($atividades_responsavel) > 0) {
    ?>
					<p><b>Atividades o qual é responsável (<?php 
    echo count($atividades_responsavel);
    ?>
)</b> </p> 
					<div class="view-scroll">
						<?php 
    foreach ($atividades_responsavel as $a) {
        ?>
						 	<div class="view <?php 
        echo $a->class;
示例#16
0
文件: vquiz.php 项目: marcosyyz/self
include_once '../../config.php';
include ROOT . "model/atividade.php";
include ROOT . "view/vhead.php";
if (isset($_SESSION['ALUNO_CDG'])) {
    require_once ROOT . 'control/login/verificar_autenticacao_aluno.php';
}
if (isset($_GET['q'])) {
    $questao_atual = $_GET['q'];
} else {
    echo "ERRO 01 - QUESTAO NAO CARREGADA";
}
if (trim($questao_atual) == '') {
    echo "ERRO 01 - QUESTAO NAO CARREGADA";
}
$ativ = new Atividade(isset($_SESSION['ATIVIDADE_ATUAL']) ? $_SESSION['ATIVIDADE_ATUAL'] : -1, isset($_SESSION['ALUNO_TURMA']) ? $_SESSION['ALUNO_TURMA'] : -1);
$ativ->carregar_Questao($questao_atual, TIPO_SIMULADO);
?>

</head>



 <title>SELF</title> 
 <body  data-speed="10" class="bg-Parallax">      
<!--      <div id="corpo">
         <div id="moldura-transparente"><div>-->
 <div id="transparente-div-home">
     
          <?php 
if (isset($_SESSION['ERROS'])) {
示例#17
0
文件: vquiz.php 项目: marcosyyz/self
<?php

include_once '../../../config.php';
include ROOT . "model/atividade.php";
include ROOT . "view/vhead.php";
if (isset($_SESSION['ALUNO_CDG'])) {
    require_once ROOT . 'control/login/verificar_autenticacao_aluno.php';
}
if (isset($_GET['q'])) {
    $questao_atual = $_GET['q'];
} else {
    echo "ERRO 01 - QUESTAO NAO CARREGADA";
}
$ativ = new Atividade(isset($_SESSION['ATIVIDADE_ATUAL']) ? $_SESSION['ATIVIDADE_ATUAL'] : -1, isset($_SESSION['ALUNO_TURMA']) ? $_SESSION['ALUNO_TURMA'] : -1);
$ativ->carregar_Questao($questao_atual, TIPO_DIGITAR);
?>

</head>



 <title>SELF</title> 
 <body  data-speed="10" class="bg-Parallax">      
<!--      <div id="corpo">
         <div id="moldura-transparente"><div>-->
 <div id="transparente-div-home">
     
          <?php 
if (isset($_SESSION['ERROS'])) {
    for ($i = 1; $i <= 3 - $_SESSION['ERROS']; $i++) {
        echo "<img  class='vidas' src='" . ROOT_URL . "view/img/coracao_32x32.png' > ";
示例#18
0
文件: new.php 项目: hexti/troncal
<?php

include_once '../../includes.sys/ini.php';
include_once '../../includes.sys/metodos.php';
include_once '../DAO/AtividadeDAO.php';
include_once '../Atividade.class.php';
checkUserAuth(EXTERNAL_ROOT_PORTAL . '/index.php?error=true');
include_once '../../head.php';
$acesso = listarAcesso();
if (!in_array(244, $acesso)) {
    echo '<script language= "JavaScript">location.href="' . EXTERNAL_ROOT_PORTAL . '/modulos.php";</script>';
}
//Verifica se a opcao de salvar foi iniciada
if (!empty($_POST['cmd']) && $_POST['cmd'] == 'inserir') {
    $atividade = new Atividade();
    $DAO = new AtividadeDAO();
    $atividade->setNome($_POST['nome']);
    $atividade->setVencDiasCorridos($_POST['venc_dias_corridos']);
    $atividade->setVencimento($_POST['vencimento']);
    $atividade->setObservacao($_POST['observacao']);
    $atividade->setUsuario(userId());
    connectSQL();
    $result = mysql_query("SELECT * FROM " . MYSQL_BASE_PROCEDIMENTO_LICITATORIO_ATIVIDADE . " WHERE excluido IS NULL AND nome='" . $atividade->getNome() . "'");
    $num_rows = mysql_num_rows($result);
    if ($num_rows > 0) {
        $msg = utf8_encode("Não foi possível salvar, pois o dia já existe nos registros.");
        echo '<script language= "JavaScript">alert("' . $msg . '");</script>';
    } else {
        $data = $atividade->getNome();
        if (!empty($data)) {
            $retorno = $DAO->Gravar($atividade);
示例#19
0
文件: edit.php 项目: hexti/troncal
<?php

include_once '../../includes.sys/ini.php';
include_once '../../includes.sys/metodos.php';
include_once '../DAO/AtividadeDAO.php';
include_once '../private $usuario;.class.php';
checkUserAuth(EXTERNAL_ROOT_PORTAL . '/index.php?error=true');
include_once '../../head.php';
$acesso = listarAcesso();
if (!in_array(245, $acesso)) {
    echo '<script language= "JavaScript">location.href="' . EXTERNAL_ROOT_PORTAL . '/modulos.php";</script>';
}
$DAO = new AtividadeDAO();
$atividade = new Atividade();
//Verifica se foi executado a acao de salvar
if (!empty($_POST['cmd']) && $_POST['cmd'] == 'editar') {
    $atividade->setNome($_POST['nome']);
    $atividade->setVencDiasCorridos($_POST['venc_dias_corridos']);
    $atividade->setVencimento($_POST['vencimento']);
    $atividade->setObservacao($_POST['observacao']);
    $atividade->setId($_POST['id']);
    connectSQL();
    $result = mysql_query("SELECT vencimento FROM " . MYSQL_BASE_PROCEDIMENTO_LICITATORIO_ATIVIDADE . " WHERE excluido IS NULL AND nome='" . $atividade->getNome() . "'");
    while ($row = mysql_fetch_array($result)) {
        $vencimento = $row['vencimento'];
    }
    $num_rows = mysql_num_rows($result);
    if ($atividade->getNome() != '') {
        $retorno = $DAO->Atualizar($atividade);
        if ($retorno == true) {
            if ($atividade->getVencimento() != $vencimento) {
示例#20
0
<h3>Atividades</h3>
<ul class="nav nav-pills" id="nav-atividades">
  <li class="active"><a href="#atv-responsavel" data-toggle="tab">Responsável</a></li>
  <li><a href="#atv-participante" data-toggle="tab">Que Participa</a></li>
  <li><a href="#passos" data-toggle="tab">Tarefas / Passos</a></li>
</ul>

<div class="tab-content">
  <div class="tab-pane active" id="atv-responsavel">
  	<?php 
$atividades = Atividade::model()->findAll('cod_pessoa = ' . $data->cod_pessoa);
?>
		
		<p align="left"><b>Atividades que você é responsável</b></p>
			<?php 
foreach ($atividades as $atividade) {
    ?>
				<?php 
    $this->renderPartial('/atividade/_view', array('data' => $atividade));
    ?>
			<?php 
}
?>
			<?php 
if (count($atividades) == 0) {
    ?>
			<div class="view verde"><p><b>Não é responsável por nenhuma atividade</b></p></div>
			<?php 
}
?>
  </div>
示例#21
0
文件: teste.php 项目: marcosyyz/self
<?php

require 'atividade.php';
$ativ = new Atividade(4, 1);
$ativ->finalizar('9', 8, 1, '8', -1);
echo $ativ->pontuar_aluno(9, 9);
示例#22
0
<?php

require_once '../../config.php';
include_once ROOT . 'model/atividade.php';
if (isset($_SESSION['ATIVIDADE_ATUAL'])) {
    $ativ = new Atividade($_SESSION['ATIVIDADE_ATUAL'], $_SESSION['ALUNO_TURMA']);
    $ativ->finalizar_sessoes();
}
if (!isset($_SESSION['ANONIMO'])) {
    // caso for prof nao tem nivel atual vai pra home
    ?>
        
            <script>
                window.location = '<?php 
    echo ROOT_URL;
    ?>
'; 	
            </script>
            <?php 
} else {
    //se for anonimo vai pra home anonimo
    ?>
        
            <script>
                window.location = '<?php 
    echo ROOT_URL . '/anonimo';
    ?>
'; 	
            </script>
            <?php 
}
示例#23
0
  tipo_progresso = 1  ,  apos perder as 3 chances volta para a tela home do nivel
  tipo_progresso = 2  ,  acertando ou errando, vai pra proxima questao
*/
///********************************************** Sessions, variaveis e Includes **************************************************///
include '../../config.php';
include ROOT . "model/atividade.php";
include ROOT . "model/crono.php";
$tipo_progresso = isset($_GET['t']) ? $_GET['t'] : 0;
$_SESSION['TIPO_PROGRESSO'] = $tipo_progresso;
if (isset($_GET['a'])) {
    $atividade_atual = $_GET['a'];
} else {
    echo "Codigo da atividade nao enviado";
    exit;
}
$ativ = new Atividade($atividade_atual, $_SESSION['ALUNO_TURMA']);
//***********************************************************************************//
//Zerar sessions
$ativ->iniciar_sessoes();
//$ativ = new Atividade($atividade_atual,$_SESSION['ALUNO_TURMA']);
$lista_questoes = $ativ->lista_questoes;
if (sizeof($lista_questoes) < 1) {
    echo 'Atividade ' . $atividade_atual . ' não tem questoes cadastradas ';
    die;
}
shuffle($lista_questoes);
$questao_inicial = $lista_questoes[0]->cdg;
$tipo_questao_inicial = $lista_questoes[0]->tipo;
Crono::setInicio(date("H:i:s"));
//******************************************************************************************************************************//
//********************                 Redirecionar para continuar ou finalizar  *************************************///
示例#24
0
<?php

///********************************************** Sessions e Includes **************************************************///
include '../../config.php';
include ROOT . "model/atividade.php";
include ROOT . "model/crono.php";
//******************************************************************************************************************//
if (!isset($_SESSION['ATIVIDADE_ATUAL'])) {
    echo " Session ATIVIDADE_ATUAL nao setada";
}
Crono::setFim(date("H:i:s"));
// se for aluno finaliza atividade
if (isset($_SESSION['ALUNO_CDG'])) {
    $ativ = new Atividade($_SESSION['ATIVIDADE_ATUAL'], $_SESSION['ALUNO_TURMA']);
    $ativ->finalizar($_SESSION['ALUNO_CDG'], $_SESSION['ACERTOS'], $_SESSION['ERROS'], $_SESSION['QTD_QUESTOES'], Crono::calcular_segundos_gasto());
}
// se tiver aluno2 finaliza atividade
if (isset($_SESSION['ALUNO_CDG2'])) {
    $ativ2 = new Atividade($_SESSION['ATIVIDADE_ATUAL'], $_SESSION['ALUNO_TURMA2']);
    $ativ2->finalizar($_SESSION['ALUNO_CDG2'], $_SESSION['ACERTOS'], $_SESSION['ERROS'], $_SESSION['QTD_QUESTOES'], Crono::calcular_segundos_gasto());
}
require ROOT . "view/quiz/vpremio.php";
 /**
  * Method getAtividades
  */
 public function getAtividades()
 {
     $criteria = new TCriteria();
     $criteria->add(new TFilter('tipoatividade_id', '=', $this->id));
     return Atividade::getObjects($criteria);
 }
 public function cancelarAction()
 {
     if ($this->getRequest()->isGet()) {
         $this->view->nomeUsuario = Zend_Auth::getInstance()->getIdentity()->nome;
         $this->view->nomeAtividade = Atividade::build()->find($this->getRequest()->getParam('atividade_id'))->current()->nome;
         $this->view->atividade_id = $this->getRequest()->getParam('atividade_id');
     }
     if ($this->getRequest()->isPost()) {
         try {
             $idUsuario = Zend_Auth::getInstance()->getIdentity()->id;
             $idAtividade = $this->getRequest()->getParam('atividade_id');
             Inscricao::build()->cancelarInscricaoAtividadeUsuario($idUsuario, $idAtividade);
             $this->_addMessage('Inscrição na atividade cancelada com sucesso');
             $this->_redirect('participantes');
         } catch (Exception $e) {
             $this->_addMessage('Não foi possível cancelar a inscrição na atividade');
         }
     }
 }
示例#27
0
 public function getAtividadesResponsavelByDate($data_inicio = null, $data_fim = null, $atividadesResponsavelFinalizadas = true)
 {
     $criteria = new CDbCriteria();
     $criteria->params = array();
     $criteria->addCondition('t.cod_pessoa = :cod_pessoa', 'AND');
     $criteria->params['cod_pessoa'] = $this->cod_pessoa;
     if (!$atividadesResponsavelFinalizadas) {
         $criteria->addCondition('status <> 2', 'AND');
     }
     if ($data_inicio != null) {
         $criteria->addCondition('data_inicio >= :data_inicio', 'AND');
         $criteria->params['data_inicio'] = $data_inicio;
     }
     if ($data_fim != null) {
         $criteria->addCondition('data_fim <= :data_fim', 'AND');
         $criteria->params['data_fim'] = $data_fim;
     }
     $criteria->order = 't.status, t.data_fim ASC';
     $atividades = Atividade::model()->findAll($criteria, array('data_inicio' => $data_inicio, 'data_fim' => $data_fim, 'id_pessoa' => $this->cod_pessoa));
     return $atividades;
 }
 /**
  * method onGenerate()
  * Executed whenever the user clicks at the generate button
  */
 function onGenerate()
 {
     try {
         // open a transaction with database 'atividade'
         TTransaction::open('atividade');
         // get the form data into an active record
         $formdata = $this->form->getData();
         $dataInicial = date('Y') . '-' . str_pad($formdata->mes_atividade, 2, 0, STR_PAD_LEFT) . '-01';
         $dataFinal = date('Y') . '-' . str_pad($formdata->mes_atividade, 2, 0, STR_PAD_LEFT) . '-' . cal_days_in_month(CAL_GREGORIAN, $formdata->mes_atividade, date('Y'));
         $dias = Atividade::retornaDiasAtividades($dataInicial, $dataFinal);
         $criteria = new TCriteria();
         $criteria->add(new TFilter("origem", "=", 1));
         $criteria->add(new TFilter("codigo_cadastro_origem", "=", 100));
         $criteria->add(new TFilter("ativo", "=", 1));
         $criteria->add(new TFilter("pessoa_codigo", "IN", "(SELECT colaborador_id FROM atividade WHERE data_atividade between '{$dataInicial}' and '{$dataFinal}')"));
         $newparam['order'] = 'pessoa_nome';
         $newparam['direction'] = 'asc';
         $criteria->setProperties($newparam);
         // order, offset
         $repo = new TRepository('Pessoa');
         $pessoas = $repo->load($criteria);
         $format = $formdata->output_type;
         if ($dias) {
             $widths = array(50);
             switch ($format) {
                 case 'html':
                     $tr = new TTableWriterHTML($widths);
                     $break = '<br />';
                     break;
                 case 'pdf':
                     $tr = new TTableWriterPDF($widths);
                     $break = '';
                     break;
                 case 'rtf':
                     if (!class_exists('PHPRtfLite_Autoloader')) {
                         PHPRtfLite::registerAutoloader();
                     }
                     $tr = new TTableWriterRTF($widths);
                     $break = '<br />';
                     break;
             }
             // create the document styles
             $tr->addStyle('title', 'Arial', '10', 'B', '#ffffff', '#6B6B6B');
             $tr->addStyle('datap', 'Arial', '10', '', '#000000', '#E5E5E5');
             $tr->addStyle('datai', 'Arial', '10', '', '#000000', '#ffffff');
             $tr->addStyle('totais', 'Arial', '10', '', '#000000', '#C0D3E9');
             $tr->addStyle('header', 'Times', '16', 'B', '#4A5590', '#C0D3E9');
             $tr->addStyle('footer', 'Times', '12', 'BI', '#4A5590', '#C0D3E9');
             // add a header row
             $tr->addRow();
             $tr->addCell(utf8_decode('Indicador de produtividade de: ') . strtoupper($this->string->array_meses()[$formdata->mes_atividade]), 'center', 'header', 33);
             $tr->addRow();
             $tr->addCell('Seq.', 'center', 'title');
             $tr->addCell('Nome', 'center', 'title');
             foreach ($dias as $dia) {
                 $tr->addCell(substr($dia['dias'], -2), 'center', 'title');
                 $arrayDias[substr($dia['dias'], -2)] = $dia['dias'];
             }
             $tr->addCell('TOTAL', 'center', 'title');
             // controls the background filling
             $colour = FALSE;
             // data rows
             $count = 1;
             foreach ($pessoas as $pessoa) {
                 $style = $colour ? 'datap' : 'datai';
                 $tr->addRow();
                 $tr->addCell($count, 'left', $style);
                 $tr->addCell(utf8_decode($pessoa->pessoa_nome), 'left', $style, 33);
                 $tr->addRow();
                 $tr->addCell('', 'left', $style);
                 $tr->addCell('Ponto', 'left', $style);
                 $totalPonto = null;
                 foreach ($arrayDias as $dia) {
                     $ponto = $this->retornaPonto($pessoa->pessoa_codigo, $dia);
                     $totalPonto += $this->string->time_to_sec($ponto);
                     $tr->addCell(substr($ponto, 0, -3), 'center', $style);
                     $arrayPonto[$dia] += $this->string->time_to_sec($ponto);
                 }
                 $arrayPonto['total'] += $totalPonto;
                 $tr->addCell(substr($this->string->sec_to_time($totalPonto), 0, -3), 'center', $style);
                 $tr->addRow();
                 $tr->addCell('', 'left', $style);
                 $tr->addCell('Atividades', 'left', $style);
                 $totalAtividades = null;
                 foreach ($arrayDias as $dia) {
                     $horas = Ponto::horaPreenchidas($dia, $pessoa->pessoa_codigo);
                     if (!$horas) {
                         $horas = '00:00:00';
                     }
                     $x = $this->retornaPonto($pessoa->pessoa_codigo, $dia);
                     if ($this->string->time_to_sec($x) > 0) {
                         $totalAtividades += $this->string->time_to_sec($horas);
                         $arrayAtividades[$dia] += $this->string->time_to_sec($horas);
                     }
                     $tr->addCell(substr($horas, 0, -3), 'center', $style);
                 }
                 $arrayAtividades['total'] += $totalAtividades;
                 $tr->addCell(substr($this->string->sec_to_time($totalAtividades), 0, -3), 'center', $style);
                 $tr->addRow();
                 $tr->addCell('', 'left', $style);
                 $tr->addCell('Produtividade', 'left', $style);
                 foreach ($arrayDias as $dia) {
                     $campo = $this->calculaPercentualProdutividade($pessoa->pessoa_codigo, $dia);
                     $tr->addCell($campo, 'center', $style);
                 }
                 $tr->addCell($this->calculaPercentualProdutividadeTotalColaborador($totalAtividades, $totalPonto), 'center', $style);
                 $tr->addRow();
                 $tr->addCell($break, 'left', $style, 33);
                 $count++;
                 $colour = !$colour;
             }
             // totais row
             $tr->addRow();
             $tr->addCell($count, 'left', 'totais');
             $tr->addCell('TOTAIS', 'left', 'totais', 33);
             $tr->addRow();
             $tr->addCell('', 'left', 'totais');
             $tr->addCell('Ponto', 'left', 'totais');
             foreach ($arrayDias as $dia) {
                 $tr->addCell(substr($this->string->sec_to_time($arrayPonto[$dia]), 0, -3), 'center', 'totais');
             }
             $tr->addCell(substr($this->string->sec_to_time($arrayPonto['total']), 0, -3), 'center', 'totais');
             $tr->addRow();
             $tr->addCell('', 'left', 'totais');
             $tr->addCell('Atividades', 'left', 'totais');
             foreach ($arrayDias as $dia) {
                 $tr->addCell(substr($this->string->sec_to_time($arrayAtividades[$dia]), 0, -3), 'center', 'totais');
             }
             $tr->addCell(substr($this->string->sec_to_time($arrayAtividades['total']), 0, -3), 'center', 'totais');
             $tr->addRow();
             $tr->addCell('', 'left', 'totais');
             $tr->addCell('Produtividade', 'left', 'totais');
             foreach ($arrayDias as $dia) {
                 $tr->addCell($this->calculaPercentualProdutividadeTotalColaborador($arrayAtividades[$dia], $arrayPonto[$dia]), 'center', 'totais');
             }
             $tr->addCell($this->calculaPercentualProdutividadeTotalColaborador($arrayAtividades['total'], $arrayPonto['total']), 'center', 'totais');
             // footer row
             $tr->addRow();
             $var = rand(0, 1000);
             $tr->addCell(date('d/m/Y H:i:s'), 'center', 'footer', 33);
             foreach ($arrayAtividades as $key => $value) {
                 if ($key != 'total') {
                     $yAtividades[substr($key, -2)] = $this->string->sec_to_time($value);
                     $xLabel[substr($key, -2)] = substr($key, -2);
                 }
             }
             foreach ($arrayPonto as $key => $value) {
                 if ($key != 'total') {
                     $yPonto[substr($key, -2)] = $this->string->sec_to_time($value);
                 }
             }
             ksort($yAtividades);
             ksort($yPonto);
             ksort($xLabel);
             $chart = new TLineChart(new TPChartDesigner());
             $chart->setTitle('Totais', NULL, NULL);
             $chart->setSize(1100, 600);
             $chart->setXLabels($xLabel);
             $chart->setYLabel('Horas');
             $chart->setOutputPath('app/output/linechart_{$var}.png');
             $chart->addData('Atividades', $yAtividades);
             $chart->addData('Ponto', $yPonto);
             $chart->generate();
             $tr->addRow();
             $tr->addCell(new TImage('app/output/linechart_{$var}.png'), 'center', 'datai', 33);
             // stores the file
             if (!file_exists("app/output/Ponto_{$var}.{$format}") or is_writable("app/output/Ponto_{$var}.{$format}")) {
                 $tr->save("app/output/Ponto_{$var}.{$format}");
             } else {
                 throw new Exception(_t('Permission denied') . ': ' . "app/output/Ponto_{$var}.{$format}");
             }
             // open the report file
             parent::openFile("app/output/Ponto_{$var}.{$format}");
             // shows the success message
             new TMessage('info', 'Relatorio gerado. Por favor, habilite popups no navegador (somente para web).');
         } else {
             new TMessage('error', 'No records found');
         }
         // fill the form with the active record data
         $this->form->setData($formdata);
         // close the transaction
         TTransaction::close();
     } catch (Exception $e) {
         // shows the exception error message
         new TMessage('error', '<b>Error</b> ' . $e->getMessage());
         // undo all pending operations
         TTransaction::rollback();
     }
 }
示例#29
0
<?php

include_once dirname(__FILE__) . '/../../inc/config.inc.php';
include_once dirname(__FILE__) . '/../../model/Inscricao.class.php';
include_once dirname(__FILE__) . '/../../model/Atividade.class.php';
session_start();
if (!isset($_SESSION['usuario'])) {
    header("location: /" . $config['PATH'] . "/admin/form_login.php?syserror=AUTENTICACAO_NECESSARIA");
    exit;
}
$inscricoes = Inscricao::find_by_atividade($_GET['id']);
$minicurso = Atividade::find($_GET['id']);
?>
<center>
<img src="/<?php 
echo $config['PATH'];
?>
/img/ifrn.jpg" />

<h3>RELAÇÃO DE INSCRITOS PARA O MINICURSO<br/>
<?php 
echo $minicurso->tema;
?>
</h3>

<?php 
if (count($inscricoes) > 0) {
    ?>
	<table border="1">
		<thead>
			<tr>
示例#30
0
 private static function convert($row)
 {
     $inscricao = new Inscricao();
     $inscricao->id = $row['id'];
     $atividade = Atividade::find($row['atividade_id']);
     $participante = Participante::find($row['participante_id']);
     $inscricao->atividade = $atividade;
     $inscricao->participante = $participante;
     $inscricao->emitir_certificado = $row['emitir_certificado'];
     return $inscricao;
 }