function column_default($item, $column_name) { /* @var $desconto Desconto */ $desconto = $this->itemsObj[$item['id']]; switch ($column_name) { case 'desconto': if ($item['desconto_por'] == 'percentual') { return $item['desconto'] . '%'; } else { return PLib::format_cash($item['desconto']); } break; case 'inscritos': $inscritos = $desconto->getQtdInscritos(); if ($inscritos > 0) { $inscritos = "<span style='color:blue;'>" . $inscritos . "</span>"; } $confirmados = PLib::coalesce($desconto->getQtdConfirmados(), 0); $restantes = $desconto->getQuantidadeRestante(); if ($confirmados > 0 && $restantes == 0) { $confirmados = "<span style='color:green;'>" . $confirmados . "</span>"; } else { if ($confirmados > 0) { $confirmados = "<span style='color:blue;'>" . $confirmados . "</span>"; } } return $inscritos . '/' . $confirmados; break; case 'pessoa': return '<a href="admin.php?page=Pessoas&action=view&id=' . $desconto->id_pessoa . '">' . $desconto->pessoa()->nome . '</a>'; break; case 'validade': return PLib::date_relative($desconto->data_validade); break; case 'vagas': $restantes = $desconto->getQuantidadeRestante(); if ($restantes == 0) { $restantes = "<span style='color:green;'>" . $restantes . "</span>"; } return $desconto->quantidade . '/' . $restantes; break; default: return $item[$column_name]; //return print_r($item,true); //Show the whole array for troubleshooting purposes } }
} elseif ($evento->acontecendo) { ?> <div class=""> <h3>Data e hora</h3> <p>Evento em andamento agora! Término <?php echo strtolower(PLib::date_relative($evento->dataFim . " " . $evento->horaFim)); ?> .</p> </div> <?php } else { ?> <div class=""> <h3>Data</h3> <p>Evento realizado <?php echo PLib::date_relative($evento->data . " " . $evento->hora, false, false); ?> </p> </div> <?php } ?> <?php if (!$evento->preInscricao) { ?> <?php if ($evento->id_instrutor) { ?> <div class=""> <h3>Coordenador</h3>
?> </h4> <p><?php if (get_the_excerpt() != null) { the_excerpt(); } else { echo $evento->descricao_2; } ?> </p> <?php } else { ?> <h4> <?php echo "Evento realizado " . PLib::date_relative($evento->data, false, false); if ($evento->local()) { echo " no " . $evento->local()->titulo; } ?> </h4> <p> <?php $release = strip_tags($evento->release); $limit = 230; if (strlen($release) > $limit) { $release = substr($release, 0, strrpos(substr($release, 0, $limit), ' ')) . '...'; $release .= " <a href='" . get_permalink($evento->id) . "'>continuar lendo</a>"; } echo $release;
</thead> <?php if (count($inscricoes) > 0) { foreach ($inscricoes as $inscricao) { ?> <tr> <td><?php echo $inscricao->id; ?> </td> <td><?php echo $inscricao->evento()->titulo; ?> </td> <td><?php echo PLib::date_relative($inscricao->data_inscricao); ?> </td> <td><?php echo $inscricao->getSituacaoString() . $inscricao->getSituacaoAcoes(true); ?> </td> </tr> <?php } } ?> </table> </div> </div> </div>
public function substituirVariaveis($mensagem, Evento $evento = null, Pessoa $pessoa = null, Inscricao $inscricao = null) { // Evento if ($evento != null) { $mensagem = str_replace('%evento_titulo%', $evento->titulo, $mensagem); $mensagem = str_replace('%evento_data_hora%', mb_strtolower(PLib::date_relative($evento->data . " " . $evento->hora, true, false)), $mensagem); if (function_exists('get_permalink')) { $mensagem = str_replace('%link_evento%', get_permalink($evento->id), $mensagem); } // Evento Local if ($evento->id_local != null) { $mensagem = str_replace('%evento_local%', $evento->local()->titulo, $mensagem); $mensagem = str_replace('%evento_local_endereco%', $evento->getLocal()->endereco, $mensagem); $mensagem = str_replace('%evento_local_telefone%', $evento->getLocal()->telefone, $mensagem); } } // Pessoa if ($pessoa != null) { $mensagem = str_replace('%pessoa_nome%', mb_convert_case(mb_strtolower($pessoa->nome), MB_CASE_TITLE, "UTF-8"), $mensagem); $mensagem = str_replace('%pessoa_primeiro_nome%', $pessoa->primeiro_nome(), $mensagem); $mensagem = str_replace('%pessoa_celular%', $pessoa->celular, $mensagem); $mensagem = str_replace('%pessoa_email%', $pessoa->email, $mensagem); $mensagem = str_replace('%pessoa_password%', $pessoa->getPassword(), $mensagem); if (strpos($mensagem, 'pessoa_extras') !== false) { $mensagem = str_replace('%pessoa_extras%', $pessoa->getExtrasExibicao(), $mensagem); } if (strpos($mensagem, 'pessoa_extras_social') !== false) { $mensagem = str_replace('%pessoa_extras_social%', $pessoa->getExtrasExibicao(null, true, false), $mensagem); } } // Inscrição if ($inscricao != null) { $mensagem = str_replace('%id_inscricao%', $inscricao->id, $mensagem); $mensagem = str_replace('%ticket%', $inscricao->id * 13, $mensagem); $mensagem = str_replace('%data_confirmacao%', $inscricao->data_confirmacao, $mensagem); $mensagem = str_replace('%valor_inscricao%', PLib::format_cash($inscricao->valor_inscricao), $mensagem); $mensagem = str_replace('%valor_pago%', PLib::format_cash($inscricao->valor_pago), $mensagem); $mensagem = str_replace('%forma_pagamento%', PagSeguroUtil::getFormaPagamentoTituloString($inscricao->forma_pagamento_gateway), $mensagem); $mensagem = str_replace('%meio_pagamento%', $inscricao->meio_pagamento, $mensagem); if (function_exists('get_permalink')) { $mensagem = str_replace('%link_pagamento%', $inscricao->getLinkPagamento(), $mensagem); $mensagem = str_replace('%link_avaliacao%', $inscricao->getLinkAvaliacao(), $mensagem); $mensagem = str_replace('%link_inscrito%', $inscricao->getLinkPagamento(), $mensagem); $mensagem = str_replace('%link_certificado%', $inscricao->getLinkCertificado(), $mensagem); } $mensagem = str_replace('%link_qrcode%', $inscricao->getLinkQrCode(), $mensagem); $mensagem = str_replace('%resumo_inscricoes%', 'Inscritos: ' . $inscricao->evento()->qtdInscritos() . ' - Confirmados: ' . $inscricao->evento()->qtdConfirmados(), $mensagem); } return $mensagem; }
function column_default($item, $column_name) { $idEvento = $item['id']; /* @var $evento Evento */ $evento = $this->itemsObj[$idEvento]; // var_dump($evento); // var_dump($item); switch ($column_name) { // Obter total de visitantes case 'inscritos': global $wpdb; $return = null; $qtd = $evento->qtdPreInscritos(); if ($qtd > 0) { $return = 'Pré-inscritos: ' . $qtd . '<br>'; } $return .= $evento->qtdInscritos() . " / " . $evento->qtdConfirmados() . '<br>'; if ($evento->pago == 'pago') { $return .= "Visitantes Inscritos: <b>{$evento->conversaoVisitantesInscritos}</b><br>"; if (!$evento->preInscricao()) { $return .= "Inscritos Confirmados: <b>{$evento->conversaoInscritosConfirmados}</b><br>"; } } return $return; break; // Obter total de visitantes e pageviews // Obter total de visitantes e pageviews case 'visitas': global $wpdb; // Visitantes unicos $qtd = getVisitantesEvento($idEvento); // PageView $qtd2 = getPageViewsEvento($idEvento); return $qtd . " / " . $qtd2; break; case 'data': if ($item['data'] == null) { return null; } $data = PLib::date_relative($item['data'] . " " . $item['hora'], false, false); if (strtotime($item['data']) > time()) { $dias = PLib::days_between_dates($item['data']); if ($dias > 0) { $data .= "<br>" . $dias . " dias restantes"; } } return $data; break; case 'algomais': $return = null; if ($evento->noFuturo()) { if ($evento->beta) { $return = '[BETA]<br>'; } if ($evento->preInscricao()) { $return .= '[PRÉ-INSCRIÇÃO]<BR>'; } if ($evento->pago == 'pago' && !$evento->preInscricao()) { $preco = $evento->getPrecoAtual(); if ($preco != null) { $vagasRestantes = $preco->getVagasRestantes(); if ($vagasRestantes <= 2) { $vagasRestantes = "<span style='color:orangered;'>{$vagasRestantes}</span>"; } if ($vagasRestantes <= 0) { $vagasRestantes = "<span style='color:red;'>{$vagasRestantes}</span>"; } $return .= "<b>Lote:</b> " . $preco->titulo . ' - ' . PLib::format_cash($evento->valor()) . ' - Vagas Restantes Lote: ' . $vagasRestantes . '<br>'; } } if ($evento->noFuturo() && !$evento->preInscricao()) { $vagasDisponiveis = $evento->vagasDisponiveis(); if ($vagasDisponiveis <= 2) { $vagasDisponiveis = "<span style='color:orangered;'>{$vagasDisponiveis}</span>"; } if ($vagasDisponiveis <= 0) { $vagasDisponiveis = "<span style='color:red;'>{$vagasDisponiveis}</span>"; } $return .= "<b>Vagas Disponíveis Evento:</b> " . $vagasDisponiveis; } $erros = $evento->getErros(); if (count($erros['error']) > 0) { $return .= '<br><span style="color:red;"><b>Erros: </b>' . count($erros['error']) . '</span>'; } } else { if ($evento->hasAvaliacao()) { $avaliacao1 = $evento->getAvaliacaoMediaPergunta(1); $avaliacao2 = $evento->getAvaliacaoMediaPergunta(2); $avaliacao3 = $evento->getAvaliacaoMediaPergunta(3); $avaliacao = ($avaliacao1 + $avaliacao2 + $avaliacao3) / 3; $avaliacao = number_format(round(($avaliacao1 + $avaliacao2 + $avaliacao3) / 3, 1), 1, '.', ''); $return .= 'Avaliação<br><div id="score_' . $evento->id . '"></div>'; $return .= "\n <script>\n jQuery(document).ready(function () {\n jQuery('#score_{$evento->id}').raty({\n score: {$avaliacao},\n readOnly: true,\n starHalf : 'star-half-big.png',\n starOff : 'star-off-big.png',\n starOn : 'star-on-big.png',\n path: '" . plugins_url('/Eventos/public/img/') . "'\n });\n });\n </script>"; } } return $return; break; default: return $item[$column_name]; //return print_r($item,true); //Show the whole array for troubleshooting purposes } }
public static function processarTransacoes($integracao, PagSeguroTransactionSearchResult $transacoes) { //PLib::var_dump(count($transacoes->getTransactions())); if (count($transacoes->getTransactions()) > 0) { $results = Inscricoes::getInstance()->processarTransacoes($integracao->servico, $transacoes->getTransactions()); if (count($results['inscricoes']) > 0) { echo "<h2>Inscrições</h2>"; echo "<table>\n <thead>\n <th>Codigo<br>Gateway</th>\n <th>Ticket</th>\n <th>Evento</th>\n <th>Pessoa</th>\n <th>Forma<br>Pagamento</th>\n <th>Status<br>Transação</th>\n <th>Ultima<br>Atualização</th>\n <th>Pagamento</th>\n <th>Valor<br>Pago</th>\n <th>Sincronização<br>atual</th>\n </thead>"; /** @var $inscricao Inscricao */ foreach ($results['inscricoes'] as $inscricao) { echo "<tr>\n <td>" . $inscricao->codigo_gateway . "</td>\n <td>" . $inscricao->id . "</td>\n <td><a href='admin.php?page=Eventos&action=view&id='" . $inscricao->id_evento . "'>" . $inscricao->evento()->titulo . "</a></td>\n <td><a href='admin.php?page=Pessoas&action=view&id='" . $inscricao->id_pessoa . "'>" . $inscricao->pessoa()->primeiro_nome() . "</a></td>\n <td>" . PagSeguroUtil::getFormaPagamentoTituloString($inscricao->forma_pagamento_gateway) . "</td>\n <td>" . $inscricao->_status_gateway . "</td>\n <td>" . PLib::date_relative($inscricao->data_atualizacao_gateway, true) . "</td>\n <td>" . PLib::date_relative($inscricao->data_pagamento, true) . "</td>\n <td>" . ($inscricao->valor_pago > 0 ? PLib::format_cash($inscricao->valor_pago) : '') . "</td>\n <td>" . $inscricao->_observacao . "</td>\n </tr>"; // var_dump($inscricao); } echo "</table>"; } if (count($results['falhas']) > 0) { echo "<h2>Falhas</h2>"; foreach ($results['falhas'] as $falha) { echo $falha . '<br>'; } } } else { echo "Sem transações no período<br>"; } }
/** * Retorna a situação da inscrição em string para exibição amigável */ public function getSituacaoString() { $return = null; // Fila de espera? if ($this->id_situacao == 10) { $return .= '<b>Fila Espera</b><br>'; } // Presente? Confirmado? if ($this->presente == 1) { $return .= '<b>Confirmada e Presente</b>'; } if ($this->presente != 1 && $this->confirmado == '1') { $return .= '<b>Confirmada</b>'; } if ($this->confirmado == '1' && $this->data_confirmacao != null) { $return .= '<br>' . PLib::date_relative($this->data_confirmacao, true) . '<br>'; } else { if ($this->confirmado === '0') { $return .= '<b>Cancelada</b><br>'; if ($this->data_cancelamento != null) { $return .= 'Cancelamento: ' . PLib::date_relative($this->data_cancelamento) . '<br>'; } } else { if ($this->pre_inscricao == 1) { $return .= '<b>Pré-inscrição</b><br>'; } } } if ($this->confirmado == null) { $return .= '<b>Não confirmada</b><br>'; if ($this->meio_pagamento != null) { $return .= 'Meio de Pagamento: ' . $this->meio_pagamento . '<br>'; } } // Algo de pagamento? if ($this->forma_pagamento) { $return .= "Forma Pagamento: " . $this->forma_pagamento . '<br>'; } if ($this->id_pessoa_confirmacao && $this->valor_pago) { $return .= "Pessoa Recebimento: " . $this->pessoa_confirmacao()->nome . '<br>'; } else { if ($this->id_pessoa_confirmacao) { $return .= "Pessoa Confirmação: " . $this->pessoa_confirmacao()->nome . '<br>'; } } if ($this->forma_pagamento_gateway) { $return .= "Forma Pgto Gateway: " . PagSeguroUtil::getFormaPagamentoTituloString($this->forma_pagamento_gateway) . '<br>'; } if ($this->status_gateway) { $return .= "Status PagSeguro: " . PagSeguroUtil::getStatusTituloString($this->status_gateway) . '<br>'; } if (PLib::coalesce($this->valor_pago, 0) > 0) { $return .= "Valor pago: " . PLib::format_cash($this->valor_pago) . '<br>'; } if ($this->valor_liquido !== $this->valor_pago) { $return .= "Valor líquido: " . PLib::format_cash(PLib::coalesce($this->valor_liquido, $this->valor_inscricao)) . '<br>'; } if ($this->data_atualizacao_gateway) { $return .= "Atualização: " . PLib::date_relative($this->data_atualizacao_gateway, true) . " (" . PLib::days_between_dates($this->data_atualizacao_gateway) . " dias)<br>"; } return $return; }
function add_menus() { // Se for author, deixo apenas confirmar inscrições if (get_user_role() == 'author') { add_menu_page('Inscrições', 'Inscrições', 'read', 'Inscricoes', array('ControllerEventos', 'inscricoes'), 'dashicons-index-card', 6); } else { add_menu_page('Eventos', 'Eventos', 'edit_pages', 'Eventos', array('ControllerEventos', 'dispatcher'), 'dashicons-calendar-alt', 5); // Incluir já eventos no menu $eventos = Eventos::getInstance()->getAtuaisERecentes(); if ($eventos) { foreach ($eventos as $evento) { add_submenu_page('Eventos', PLib::date_relative($evento->data) . ' - ' . $evento->titulo, PLib::date_relative($evento->data) . ' - ' . $evento->titulo, 'edit_pages', 'Eventos&action=view&id=' . $evento->id, 'AdminPresenca'); } } add_menu_page('Inscrições', 'Inscrições', 'read', 'Inscricoes', array('ControllerEventos', 'inscricoes'), 'dashicons-index-card', 6); add_menu_page('Pessoas', 'Pessoas', 'edit_pages', 'Pessoas', array('ControllerPessoas', 'dispatcher'), 'dashicons-groups', 7); if (TGO_EVENTO_GAMIFICATION === true) { add_menu_page('Gamification', 'Gamification', 'edit_pages', 'Gamification', array('ControllerGamification', 'dispatcher'), 'dashicons-smiley', 8); add_submenu_page('Gamification', 'Importar Eventos', 'Importar Eventos', 'edit_pages', 'GamificationGDGJF', array('ControllerGamification', 'import')); add_submenu_page('Gamification', 'Badges', 'Badges', 'edit_pages', 'badges', array('ControllerGamification', 'dispatcher')); add_submenu_page('Gamification', 'Eventos', 'Eventos', 'edit_pages', 'eventos', array('ControllerGamification', 'dispatcher')); } add_menu_page('Apoio', 'Apoio', 'edit_pages', 'AdminApoio', 'AdminApoio', 'dashicons-nametag', 9); add_submenu_page('AdminApoio', 'Tickets de Desconto', 'Tickets de Desconto', 'edit_pages', 'TicketsDesconto', array('ControllerDescontos', 'dispatcher')); add_submenu_page('AdminApoio', 'Locais', 'Locais', 'edit_pages', 'Locais', array('ControllerLocais', 'dispatcher')); add_submenu_page('AdminApoio', 'Organizadores', 'Organizadores', 'manage_options', 'Organizadores', array('ControllerOrganizadores', 'dispatcher')); add_submenu_page('AdminApoio', 'Templates', 'Templates', 'manage_options', 'edit.php?post_type=tgo_template'); add_submenu_page('AdminApoio', 'Mensagens', 'Mensagens', 'manage_options', 'Mensagens', array('ControllerMensagens', 'dispatcher')); add_submenu_page('AdminApoio', 'Integrações', 'Integrações', 'manage_options', 'Integracoes', array('ControllerIntegracoes', 'dispatcher')); // add_submenu_page('AdminApoio', 'Migrar Dados', 'Migrar Dados', 'manage_options', 'MenuConfig', array('AdminConfig', 'adminConfigHome')); add_submenu_page('AdminApoio', 'Sincronizar Gateways', 'Sincronizar Gateways', 'manage_options', 'Sincronizar', array('ControllerInscricoes', 'sincronizarGateways')); } // Actions sem menu add_submenu_page(null, 'Categorias', 'Categorias', 'read', 'Categorias', array('ControllerCategorias', 'dispatcher')); add_submenu_page(null, 'Inscrições', 'Inscrições', 'read', 'Inscricoes', array('ControllerInscricoes', 'dispatcher')); add_submenu_page(null, 'Comunicação', 'Comunicação', 'read', 'Comunicacao', array('ControllerComunicacao', 'dispatcher')); add_submenu_page(null, 'Preços', 'Preços', 'read', 'Precos', array('ControllerPrecos', 'dispatcher')); add_submenu_page(null, 'Descontos', 'Descontos', 'read', 'Descontos', array('ControllerDescontos', 'dispatcher')); add_submenu_page(null, 'Pessoas', 'Pessoas', 'read', 'Pessoas', array('ControllerPessoas', 'dispatcher')); }
public function showUserLog() { $logs = self::$gamification->getUserLog(); if ($logs) { echo "<h4>Log</h4>"; echo "<table><Tr><th>Data</th><th>Alias</th><th>Evento</th><th>Pontuou</th><th>Badge</th><th>Novo Nível</th></Tr>"; foreach ($logs as $log) { $event = self::$gamification->getEventById($log->getIdEvent()); if ($log->getIdBadge()) { $badge = self::$gamification->getBadge($log->getIdBadge())->getTitle(); } else { $badge = null; } echo "<tr><td>" . PLib::date_relative($log->getEventDate()) . "</td><td>" . $event->getAlias() . " </td><td>" . $event->getDescription() . "</td><td>" . $log->getPoints() . "</td><td> " . $badge . "</td><td>" . $log->getIdLevel() . "</td></tr>"; } echo "</table>"; } }