/** * @param $evento Evento */ function etapaConteudo(Evento $evento, Pessoa $pessoa = null, Inscricao $inscricao = null) { // var_dump($evento); // var_dump($pessoa); // var_dump($inscricao); // Qual a situação da inscrição? Do evento? if ($evento->fila_espera == 1) { $mensagem = "wizard_fim_fila_espera"; } else { if ($evento->confirmacao == 'imediata') { $mensagem = "wizard_fim_inscricao_confirmada"; } else { if ($evento->confirmacao == 'posterior') { $mensagem = "wizard_fim_confirmacao_posterior"; } else { if ($evento->confirmacao == 'preinscricao') { $mensagem = "wizard_fim_pre_inscricao"; } else { if ($evento->confirmacao == 'pagamento') { if (!$inscricao->confirmado) { $mensagem = "wizard_fim_pagamento_aguardando_confirmacao"; } else { $mensagem = "wizard_fim_pagamento_confirmado"; } } } } } } echo Mensagens::getInstance()->get($mensagem, $evento, $pessoa, $inscricao, true); }
private static function showForm() { // Postando? if (count($_POST) > 0) { Mensagens::getInstance()->savePost($_POST); } require_once PLUGINPATH . '/view/mensagens/form.php'; }
function textAreaMensagem($name, $rows = 4) { $mensagem = Mensagens::getInstance()->getUnico($name); // $mensagem = str_replace("<br>","\r\n",$mensagem); // $mensagem = preg_replace('/ +/', ' ',$mensagem); // $mensagem = preg_replace('/\t+/', '',$mensagem); echo input_textarea_simples($name, $rows, $mensagem); }
public static function showForm($action, $registro = null) { // Postando? if (count($_POST) > 0) { // Validar $registro = Organizadores::getInstance()->populate($_POST); // Salvar ou incluir? if ($_POST['id'] == null) { $registro = Organizadores::getInstance()->insert($registro); } else { $registro = Organizadores::getInstance()->save($_POST['id'], $registro); // Postando mensagem? Mensagens::getInstance()->savePost($_POST); } self::showList(); } else { $organizador = $registro; require_once PLUGINPATH . '/view/organizadores/form.php'; } }
/** * Save the meta when the post is saved. * * @param int $post_id The ID of the post being saved. */ public function save($post_id) { // If this is an autosave, our form has not been submitted, // so we don't want to do anything. if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return $post_id; } // Check the user's permissions. if ('page' == $_POST['post_type']) { if (!current_user_can('edit_page', $post_id)) { return $post_id; } } else { if (!current_user_can('edit_post', $post_id)) { return $post_id; } } if ($post_id != null) { $this->evento = Eventos::getInstance()->getById($post_id); } /* OK, its safe for us to save the data now. */ meta_update($post_id, 'id_evento_pai'); meta_update($post_id, 'descricao_1', false); // Descricao2 meta_update($post_id, 'descricao_2', false); // Descricao3 meta_update($post_id, 'descricao_3', false); // Publico Alvo meta_update($post_id, 'publico_alvo'); // Instrutor meta_update($post_id, 'id_instrutor', false); // Local meta_update($post_id, 'id_local', false); // Organizador if (get_option('singleOrganizer', true) && get_option('idSingleOrganizer', null) != null) { update_post_meta($post_id, 'id_organizador', get_option('idSingleOrganizer')); } else { meta_update($post_id, 'id_organizador', false); } // Topicos meta_update($post_id, 'topicos', false); // FAQ meta_update($post_id, 'faq', false); // Data meta_update($post_id, 'data'); // Hora meta_update($post_id, 'hora'); // Data meta_update($post_id, 'data_fim'); // Hora meta_update($post_id, 'hora_fim'); // dataInicioInscricoes meta_update($post_id, 'data_inicio_inscricoes'); // data_fimInscricoes meta_update($post_id, 'data_fim_inscricoes'); // vagas meta_update($post_id, 'vagas'); // pago meta_update($post_id, 'pago'); meta_update($post_id, 'pago_dinheiro'); meta_update($post_id, 'pago_pagseguro'); meta_update($post_id, 'pago_cielo'); meta_update($post_id, 'pago_deposito'); meta_update($post_id, 'fb_conversion_track'); // Integração de Pagamento meta_update($post_id, 'id_integracao_pagseguro', false); meta_update($post_id, 'id_integracao_cielo', false); // Local pagamento meta_update($post_id, 'id_local_pagamento', false); // Fila de espera meta_update($post_id, 'fila_espera'); // beta meta_update($post_id, 'beta'); // Campos extras meta_update($post_id, 'campos_extras', false); // Id Questionário meta_update($post_id, 'id_questionario', false); // Duração meta_update($post_id, 'duracao'); meta_update($post_id, 'horarios'); meta_update($post_id, 'requisitos'); // Valor meta_update($post_id, 'valor'); // Material Didático meta_update($post_id, 'material'); // Certificado meta_update($post_id, 'certificado'); // confirmacao meta_update($post_id, 'confirmacao'); // validacaoPessoa meta_update($post_id, 'validacao_pessoa', false, 'email'); //die(); // Release meta_update($post_id, 'release', false); // Campos extras meta_update($post_id, 'secoes_extras', false); // Cada seção if ($this->evento) { $secoes = $this->evento->getSecoesExtras(); if ($secoes != null) { foreach ($secoes as $secao => $titulo) { meta_update($post_id, 'secao_' . $secao, false); } } } // Mensagens if ($post_id) { Mensagens::getInstance()->savePost($_POST); } // echo "<br>FIM DE POSTANDO<br>"; }
$assunto = stripslashes($assunto); ?> Inscrição obtida para teste: <?php echo $inscricao->id . " - " . $inscricao->pessoa()->nome; ?> <br><br> <h3><?php echo $assunto; ?> </h3> <span style="background-color: white; border: 1px solid grey; width: 97%; display:block; padding: 10px;"> <?php $mensagem = nl2br($_POST['mensagem']); $mensagemEnviar = Mensagens::getInstance()->substituirVariaveis($mensagem, $evento, $inscricao->pessoa(), $inscricao); $mensagemEnviar = stripslashes($mensagemEnviar); $mensagemEnviar = $mensagemEnviar . "<br><br>" . $inscricao->evento()->organizador()->titulo; echo $mensagemEnviar; ?> </span> <br> </div> <div id="major-publishing-actions"> <div id="publishing-action"> <input type="submit" class="button button-primary button-large" value="Enviar Agora" onclick="javascript:document.getElementById('preview').value='';document.getElementById('form_email').submit();"></div> <div class="clear"></div> </div> </div>
public static function dispatcher() { header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: GET, POST, OPTIONS'); header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With'); error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING ^ E_STRICT); $app = new \Slim\Slim(); \Slim\Slim::registerAutoloader(); $app->contentType('application/json; charset=utf-8'); $app->config('debug', true); // echo "<pre>"; if (WP_DEBUG) { $root = strtolower($app->request()->getRootUri()) . '/api'; } else { $root = "/api"; } // var_dump($root); // $root = "/api"; // $root = strtolower($app->request()->getRootUri()) . '/api'; // else // $root = "/api"; // var_dump($root); // $root = null; // $root = var_dump($app->request()->getRootUri()); // die(); // }); // var_dump($app->request->headers); $app->hook('slim.before.dispatch', function () use($app) { // Conferir se é url que exige autenticação $req = $_SERVER['REQUEST_URI']; if (strpos($req, '/autenticar/') !== false) { return; } $headers = self::request_headers(); // var_dump($headers);die(); $app = \Slim\Slim::getInstance(); $erro = null; $api_user_id = $headers['X-API-USER-ID']; $api_token = $headers['X-API-TOKEN']; if ($api_user_id == null || $api_token == null) { $erro = "É preciso informar X-API-USER-ID e X-API-TOKEN no header."; } else { // Sanitizar user_id /* @var $pessoa Pessoa */ $pessoa = Pessoas::getInstance()->getById($api_user_id); // Sanitizar token if ($pessoa == null) { $erro = 'Não te encontramos em nossa base de dados...'; } else { if (md5($pessoa->id . '_' . $pessoa->password) != $api_token) { $erro = 'Password inválido'; } } } if ($erro) { $app->response->headers['X-Authenticated'] = 'False'; $app->halt('401', '{"error":{"text": "' . $erro . '" }}'); } }); $app->group($root, function () use($app) { // '/' $app->get('/', function () use($app) { echo json_encode(array("bem vindo", "a API")); }); // Autenticate $app->post('/autenticar/', function () use($app) { // Obter pessoa, e usuário $email = $_POST['email']; $password = $_POST['password']; if ($email == '' || !filter_var($email, FILTER_VALIDATE_EMAIL)) { echo json_encode(array('Erro' => 'Informe um endereço de email válido.')); return; } /* @var $pessoa Pessoa */ $pessoa = Pessoas::getInstance()->getByEmail($email); if ($pessoa == null) { echo json_encode(array('Erro' => 'Não te encontramos em nossa base de dados...')); return; } // Validar senha, antes de mais nada // @TODO Buscar user do wordpress que seja esta pessoa e verificar se está ativo, senão, é pessoa normal // Aqui, só pode ser um participante do grupo ou inscrito em algum evento $nPessoa = ControllerApi::decoratePessoa($pessoa); $return = array('pessoa' => $nPessoa); $return = PLib::object_to_array($return); // $return = PLib::array_utf8_encode($return); echo json_encode($return, JSON_NUMERIC_CHECK); return; }); $app->group('/gamification', function () use($app) { $app->get('/ranking', function () use($app) { $ranking = Gamification::getInstance()->getUsersPointsRanking(300); // var_dump($ranking); $nRanking = ControllerApi::decorateRanking($ranking); echo json_encode($nRanking); }); $app->get('/user/:id', function ($id) use($app) { $pessoa = ControllerApi::getPessoa($id, true); if ($pessoa) { /* @var $gamification Gamification */ $gamification = Gamification::getInstance(); $gamification->setUserId($id); $nPessoa = ControllerApi::decorateUserGamification($pessoa); $badges = $gamification->getBadges(); $nBadges = ControllerApi::decorateBadges($badges); $return = array('user' => $nPessoa, 'badge' => $nBadges); $return = PLib::object_to_array($return); echo json_encode($return, JSON_NUMERIC_CHECK); } }); }); // '/' $app->get('/notificacao/', function () use($app) { die("notificação"); }); // Retorna uma inscrição $app->get('/inscricao/:idInscricao/simples/', function ($idInscricao) use($app) { if (strlen($idInscricao) > 10) { $transactionId = $idInscricao; $inscricao = Inscricoes::getInstance()->callbackPagamento(1, $transactionId); if (get_class($inscricao) != 'Inscricao') { $erro = 'Transação não identificada..'; } } else { /* @var $inscricao Inscricao */ $inscricao = Inscricoes::getInstance()->getById($idInscricao); if ($inscricao == null) { $erro = 'Inscrição não localizada (' . $idInscricao . ')'; } } if ($erro) { echo json_encode(array('erro' => $erro)); } else { if ($erro == null) { if ($inscricao->confirmado == true) { $mensagem = "wizard_fim_pagamento_confirmado"; } else { $mensagem = "wizard_fim_pagamento_aguardando_confirmacao"; } $mensagem = Mensagens::getInstance()->get($mensagem, $inscricao->evento(), $inscricao->pessoa(), $inscricao, true); $nInscricao = array('confirmado' => $inscricao->confirmado, 'mensagem' => $mensagem); $return = array('inscricao' => $nInscricao); $nInscrito = PLib::object_to_array($return); echo json_encode($nInscrito, JSON_NUMERIC_CHECK); } } }); // Redireciona para URL de pagamento no gateway - Por enquanto só funciona pro devfest $app->get('/inscricao/:idInscricao/pagar/', function ($idInscricao) use($app) { /* @var $inscricao Inscricao */ $inscricao = Inscricoes::getInstance()->getById($idInscricao); if ($inscricao == null) { echo json_encode(array('erro' => 'Inscrição não localizada (' . $idInscricao . ')')); return; } $urlRetorno = BASE_URL . '/confirmacao?ticket=' . $inscricao->id * 333; $url = \lib\PagSeguroUtil::getUrlPagamento($inscricao, $urlRetorno); $return = array('url' => $url); $return = PLib::object_to_array($return); echo json_encode($return, JSON_NUMERIC_CHECK); }); // Retorna dados de uma pessoa $app->get('/pessoa/:idPessoa/', function ($idPessoa) use($app) { $pessoa = ControllerApi::getPessoa($idPessoa, true); if ($pessoa) { $nPessoa = ControllerApi::decoratePessoa($pessoa); $return = array('pessoa' => $nPessoa); // $return = PLib::array_utf8_encode($return); $return = PLib::object_to_array($return); echo json_encode($return, JSON_NUMERIC_CHECK); } }); // Retorna as inscrições de uma pessoa $app->get('/pessoa/:idPessoa/inscricoes/', function ($idPessoa) use($app) { $pessoa = ControllerApi::getPessoa($idPessoa, true); if ($pessoa) { // Obter inscrições da pessoa $inscricoes = Inscricoes::getInstance()->getByPessoa($pessoa->id); $nInscricoes = array(); if ($inscricoes == null) { echo json_encode(array('mensagem' => 'Sem inscrições desta pessoa')); return; } foreach ($inscricoes as $inscricao) { $nInscricoes[] = ControllerApi::decorateInscricaoTeceiros($inscricao); } $return = array('inscricoes' => $nInscricoes); $return = PLib::object_to_array($return); echo json_encode($return, JSON_NUMERIC_CHECK); } }); // Realiza uma inscrição $app->post('/inscrever/:idEvento/', function ($idEvento) use($app) { $idPessoa = $_POST['id_pessoa']; $nome = trim(ucfirst($_POST['nome'])); $email = trim(strtolower($_POST['email'])); $cpf = trim($_POST['cpf']); $celular = PLib::only_numbers($_POST['celular']); if (strpos($celular, '55') === 0) { $celular = substr($celular, 2); } /* @var $evento Evento */ $evento = Eventos::getInstance()->getById($idEvento); if ($evento == null) { echo json_encode(array('erro' => 'Evento não localizado na base de dados (' . $idEvento . ')')); return; } $validacao = PLib::coalesce($evento->validacao_pessoa, 'email'); if ($idPessoa == null && ($nome == null || $celular == null || $email == null || ${$validacao} == null)) { echo json_encode(array('erro' => 'Envie todos os dados (' . $nome . $email . $celular . ').' . print_r($_POST, true))); return; } if ($idPessoa == null && !filter_var($email, FILTER_VALIDATE_EMAIL)) { echo json_encode(array('erro' => 'Email inválido')); return; } if ($idPessoa == null && strlen($celular) < 8) { echo json_encode(array('erro' => 'Celular inválido')); return; } // Mesmo sem id de pessoa, tentar encontrar pessoa por email if ($idPessoa == null) { $pessoa = Pessoas::getInstance()->getByMd5($email); if ($pessoa != null) { $idPessoa = $pessoa->id; } } // $validacao='cpf'; // if ($validacao=='cpf' && $cpf!=null && !PLib::validade_cpf($cpf)){ // echo json_encode(array('erro' => 'CPF inválido ('.$cpf.')')); // return; // } // Incluir pessoa /* @var $pessoa Pessoa */ if ($idPessoa == null) { /* @var $pessoa Pessoa */ $pessoa = new Pessoa(); $pessoa->nome = $nome; $pessoa->email = $email; $pessoa->celular = $celular; if ($validacao == 'cpf') { $pessoa->cpf = PLib::str_mask(PLib::only_numbers($cpf), '###.###.###-##'); } // PLib::var_dump($pessoa); $pessoa = Pessoas::getInstance()->insert($pessoa); } else { $pessoa = Pessoas::getInstance()->getById($idPessoa); if ($nome != null && strlen($nome) > 2) { $pessoa->nome = $nome; } if ($celular != null && strlen($celular) > 2) { $pessoa->celular = $celular; } $pessoa->save(); } // Extras? Pegar do post.... xeu pensar - ter como limitar e tal.. como tornar mais seguro? $extras = array(); foreach ($_POST as $key => $value) { if ($key == 'id_pessoa' || $key == 'nome' || $key == 'cpf' || $key == 'celular' || $key == 'email') { continue; } $extra = array('titulo' => $key, 'valor' => $value); $extras[$key] = $extra; } if (count($extras) > 0) { $pessoa->setExtras($extras); $pessoa->save(); } //PLib::var_dump($pessoa->getExtrasArray()); //PLib::var_dump($pessoa);die(); $idPessoa = $pessoa->id; // Verificar se já está inscrita.... hum, tem algumas situações aqui $inscricao = Inscricoes::getInstance()->getByEventoPessoaConfirmado($idEvento, $idPessoa); if ($inscricao != null) { echo json_encode(array('erro' => "Você já está inscrito e confirmado para este evento!")); return; } // Já salvar registro de inscrição $inscricao = Inscricoes::getInstance()->certificarInscricao($evento, $pessoa, $evento->confirmacao == "preinscricao"); $nInscrito = ControllerApi::decorateInscricao($inscricao); $return = array('inscricao' => $nInscrito); $return = PLib::object_to_array($return); echo json_encode($return, JSON_NUMERIC_CHECK); }); // Return "current" events $app->get('/eventos/', function () use($app) { $eventos = Eventos::getInstance()->getAll(); if ($eventos == null) { echo json_encode(array('erro' => 'Nenhum evento registrado....')); return; } $events = array(); /* @var $evento Evento */ foreach ($eventos as $evento) { if ($evento->preInscricao()) { continue; } $nEvento = ControllerApi::decorateEvento($evento, false); $events[] = $nEvento; } $events = PLib::object_to_array($events); echo json_encode($events, JSON_NUMERIC_CHECK); }); // Return "current" events $app->get('/eventos/futuros/', function () use($app) { $eventos = Eventos::getInstance()->getAcontecendoFuturos(); if ($eventos) { $events = array(); /* @var $evento Evento */ foreach ($eventos as $evento) { $nEvento = ControllerApi::decorateEvento($evento, false); $events[] = $nEvento; } $events = PLib::object_to_array($events); echo json_encode($events, JSON_NUMERIC_CHECK); } }); // Return "current" events $app->get('/eventos/atual/', function () use($app) { $evento = ControllerApi::getEventoAtual(); if ($evento == null) { echo json_encode(array('erro' => 'Não existe um evento atual')); return; } $evento = ControllerApi::decorateEvento($evento, false); $events = PLib::object_to_array($evento); echo json_encode($events, JSON_NUMERIC_CHECK); }); // Return "current" events $app->get('/eventos/terceiros/', function () use($app) { // Obter eventos de outros sites de eventos // $sites = array( // ); // $eventosArray = array(); // foreach ($sites as $site) { // // Initiate curl // $ch = curl_init(); // curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_setopt($ch, CURLOPT_URL, $site . '/api/eventos/futuros/'); // $result = curl_exec($ch); // curl_close($ch); //// var_dump($result); // if ($result) { // $eventosJson = json_decode($result, true); //// var_dump($eventosJson); // if ($eventosJson) { // foreach ($eventosJson as $evento) { //// $evento = Eventos::getInstance()->populate($evento); // $eventosArray[] = $evento; // } // } else { // echo "nune " . $site; // } // } else { //// echo "none ".$site; // } // } // // Ordernar //// var_dump($eventosArray); // usort($eventosArray, 'ControllerApi::ordem'); //// Eventos::getInstance()->ordenar($eventosArray,true); //// $eventosReturn=array(); //// foreach($eventosArray as $evento) { //// $eventosReturn[]= ControllerApi::decorateEvento($evento, false); //// } // // $eventosReturn = PLib::object_to_array($eventosArray); // echo json_encode($eventosReturn, JSON_NUMERIC_CHECK); }); // Retorna um evento e seus dados $app->get('/evento/:idEvento/', function ($idEvento) use($app) { $evento = Eventos::getInstance()->getById($idEvento); if ($evento == null) { echo json_encode(array('erro' => 'Evento não localizado na base de dados (' . $idEvento . ')')); return; } $nEvento = ControllerApi::decorateEvento($evento, true); $events = PLib::object_to_array($nEvento); echo json_encode($events, JSON_NUMERIC_CHECK); }); // Retorna os inscritos no evento $app->get('/inscritos/:idEvento/', function ($idEvento) use($app) { $inscritos = Inscricoes::getInstance()->getByEvento($idEvento, null, "ev_pessoas.nome"); // var_dump($inscritos); $registrations = array(); /* @var $inscrito Inscricao */ foreach ($inscritos as $inscrito) { $nInscrito = ControllerApi::decorateInscricao($inscrito); $registrations[] = $nInscrito; } $registrations = PLib::object_to_array($registrations); echo json_encode($registrations, JSON_NUMERIC_CHECK); }); // Dá presença a um inscrito $app->post('/inscricao/self_chekin/', function () use($app) { /* @var $inscricao Inscricao */ $inscricao = null; $identificacao = $_POST['identificacao']; // email - ou id_evento-id_inscricao-id_pessoa if (substr_count($identificacao, '-') === 2) { $id_evento = substr($identificacao, 0, strpos($identificacao, '-')); $id_inscricao = substr($identificacao, strpos($identificacao, '-') + 1); $id_pessoa = substr($id_inscricao, strpos($identificacao, '-') + 1); $id_inscricao = substr($id_inscricao, 0, strpos($identificacao, '-')); // var_dump($id_evento); // var_dump($id_inscricao); // var_dump($id_pessoa); $inscricao = Inscricoes::getInstance()->getById($id_inscricao); if ($inscricao == null) { echo json_encode(array('erro' => 'Inscrição não localizada...')); return; } else { if ($inscricao->id_pessoa != $id_pessoa) { echo json_encode(array('erro' => 'As informações não batem! Inscrição X Pessoa')); return; } else { if ($inscricao->id_evento != $id_evento) { echo json_encode(array('erro' => 'As informações não batem! Inscrição X Evento')); return; } } } } else { if (filter_var($identificacao, FILTER_VALIDATE_EMAIL) !== false) { // $evento = $evento = ControllerApi::getEventoAtual(); if ($evento == null) { echo json_encode(array('erro' => 'Não existe um evento atual')); return; } $pessoa = Pessoas::getInstance()->getByEmail(strtolower(trim($identificacao))); if ($pessoa == null) { echo json_encode(array('erro' => 'Não te encontramos em nossa base de dados (' . $identificacao . ')')); return; } $inscricao = Inscricoes::getInstance()->getByEventoPessoa($evento->id, $pessoa->id); if ($inscricao == null) { echo json_encode(array('erro' => 'Você não se inscreveu pra este evento!')); return; } } else { echo json_encode(array('erro' => 'Do que você está falando afinal?')); return; } } // Fazer - retornar $inscricao->presenca(); $nInscrito = ControllerApi::decorateInscricao($inscricao, true); $return = PLib::object_to_array($nInscrito); echo json_encode($return, JSON_NUMERIC_CHECK); }); // Setar dados da inscrição - por enquanto apenas categoria $app->post('/inscricao/:idInscricao/', function ($idInscricao) use($app) { /* @var $inscricao Inscricao */ $inscricao = Inscricoes::getInstance()->getById($idInscricao); if ($inscricao == null) { echo json_encode(array('erro' => 'Inscrição não localizada na base de dados (' . $idInscricao . ')')); return; } // Categoria - Como bloquear mudar a categoria? Depois de que momento não pode mudar mais? $id_categoria = $_POST['id_categoria']; $inscricao->setCategoria($id_categoria); $inscricao->save(); $return = array('inscricao' => $inscricao); $return = PLib::object_to_array($return); echo json_encode($return, JSON_NUMERIC_CHECK); }); // Retorna uma inscrição $app->get('/inscricao/:idInscricao/', function ($idInscricao) use($app) { /* @var $inscricao Inscricao, e o evento referente */ $inscricao = Inscricoes::getInstance()->getById($idInscricao); if ($inscricao == null) { echo json_encode(array('erro' => 'Inscrição não localizada na base de dados (' . $idInscricao . ')')); return; } $nInscrito = ControllerApi::decorateInscricao($inscricao, true); $nInscrito = PLib::object_to_array($nInscrito); echo json_encode($nInscrito, JSON_NUMERIC_CHECK); }); // Confirma um inscrito $app->post('/inscricao/:idInscricao/confirmar/', function ($idInscricao) use($app) { /* @var $inscricao Inscricao */ $inscricao = Inscricoes::getInstance()->getById($idInscricao); if ($inscricao == null) { echo json_encode(array('erro' => 'Inscrição não localizada na base de dados (' . $idInscricao . ')')); return; } // Se evento pago, verificar se informações vieram no post if ($inscricao->valor_inscricao > 0 && $_POST['forma_pagamento'] == null) { $return = array('erro' => 'É preciso informar a forma de pagamento da insrição.'); } else { if ($inscricao->valor_inscricao > 0 && $_POST['id_pessoa_confirmacao'] == null) { $return = array('erro' => 'É preciso informar a pessoa que está confirmando o pagamento.'); } else { if ($_POST['id_pessoa_confirmacao'] == null) { $return = array('erro' => 'É preciso informar a pessoa que está confirmando a inscrição.'); } else { if (Pessoas::getInstance()->getById($_POST['id_pessoa_confirmacao'])->id_user == null) { $return = array('erro' => 'O usuário confirmando precisa ser um admin.'); } else { $inscricao->id_pessoa_confirmacao = $_POST['id_pessoa_confirmacao']; if ($inscricao->confirmado != 1) { $inscricao = $inscricao->confirmar($_POST['forma_pagamento'], $inscricao->valor_inscricao); } $nInscrito = ControllerApi::decorateInscricao($inscricao, true); $nEvento = ControllerApi::decorateEvento($inscricao->evento(), true); $return = array('evento' => $nEvento, 'inscricao' => $nInscrito); } } } } $return = PLib::object_to_array($return); echo json_encode($return, JSON_NUMERIC_CHECK); }); // Dá presença a um inscrito $app->get('/inscricao/:idInscricao/presente/', function ($idInscricao) use($app) { /* @var $inscricao Inscricao */ $inscricao = Inscricoes::getInstance()->getById($idInscricao); if ($inscricao == null) { echo json_encode(array('erro' => 'Inscrição não localizada na base de dados (' . $idInscricao . ')')); return; } $inscricao = $inscricao->presenca(); $nInscrito = ControllerApi::decorateInscricao($inscricao, true); $nEvento = ControllerApi::decorateEvento($inscricao->evento(), true); $return = array('evento' => $nEvento, 'inscricao' => $nInscrito); $return = PLib::object_to_array($return); echo json_encode($return, JSON_NUMERIC_CHECK); }); // Atualiza dados de uma pessoa $app->post('/pessoa/:identificacao/', function ($identificacao) use($app) { /* @var $pessoa Pessoa */ $identificacao = urldecode($identificacao); $pessoa = Pessoas::getInstance()->getByMd5($identificacao); if ($pessoa == null) { echo json_encode(array('erro' => 'Pessoa nao localizada na base de dados (' . $identificacao . ')')); return; } // Extras? $extras = $_POST['extras']; if ($extras) { foreach ($extras as $chave => $valor) { $pessoa->setExtra($chave, ucfirst($chave), $valor); } $pessoa->save(); } $pessoa = Pessoas::getInstance()->getByMd5($identificacao); $nPessoa = ControllerApi::decoratePessoa($pessoa); $return = array('pessoa' => $nPessoa); $return = PLib::object_to_array($return); echo json_encode($return, JSON_NUMERIC_CHECK); }); // Obter todas pessoas $app->get('/pessoas/todas/', function () use($app) { /* @var $pessoas Pessoa[] */ $pessoas = Pessoas::getInstance()->getAll(); $return = array(); foreach ($pessoas as $pessoa) { if ($pessoa->getCountConfirmados()) { $return[] = ControllerApi::decoratePessoa($pessoa); } } $return = array('pessoas' => $return); $return = PLib::object_to_array($return); echo json_encode($return, JSON_NUMERIC_CHECK); }); // $app->get('/reset/', function () use ($app) { // // Zera todos os dados do site... // if (DB_NAME == 'emjf_wpjf' || DB_NAME == 'emjf') { // /* @var $wpdb wpdb */ // $sql = "UPDATE ev_inscricoes SET confirmado=NULL, data_pagamento=NULL, data_confirmacao=NULL, valor_pago=NULL, taxa_cobranca=NULL, valor_liquido=NULL,codigo_pagamento=NULL, formapagamento_pagseguro=NULL,presente=NULL,status_gateway=NULL,forma_pagamento_gateway=NULL,codigo_gateway=NULL,data_atualizacao_gateway=NULL,vencido=NULL,data_vencido=NULL,data_cancelamento=NULL,forma_pagamento=NULL,id_situacao=NULL"; // $return = array('sucesso' => 'Dados resetados'); // echo json_encode($return, JSON_NUMERIC_CHECK); // } else { // $return = array('erro' => 'Ops.. aqui não pode!'); // echo json_encode($return, JSON_NUMERIC_CHECK); // } // }); }); $app->run(); }
public function savePost($post) { $chave = $post['chave']; /** @var $wpdb wpdb */ // \TiagoGouvea\PLib::var_dump($post,"Post em savePost"); foreach ($this->getIndices() as $indice) { $excluir = false; // Se está sendo postado, registrar valor if (isset($post[$indice])) { $mensagemPost = $post[$indice]; $mensagemBanco = $this->getDefault($indice); // É diferente do padrão? $salvar = preg_replace("/[^A-Za-z0-9?!]/", '', $mensagemPost) != preg_replace("/[^A-Za-z0-9?!]/", '', $mensagemBanco); // var_dump($salvar); if ($salvar) { // echo "<pre>"; // var_dump($mensagemPost); // var_dump($this->getDefault($indice)); // echo "</pre>"; $mensagem = Mensagens::getInstance()->getByIndiceChave($indice, $chave); if ($mensagem == null) { $mensagem = new Mensagem(); $mensagem->chave = $chave; $mensagem->indice = $indice; $mensagem->mensagem = $mensagemPost; Mensagens::insert($mensagem); } else { $mensagem->mensagem = $mensagemPost; Mensagens::save($mensagem->id, $mensagem); } } else { $excluir = true; } } else { // Se não está sendo postado, e existir, apagar $excluir = true; } // Ele sempre exclui... pensar melhor depois nisso if ($excluir) { $this->wpdb()->delete('ev_mensagens', array('indice' => $indice, 'chave' => $chave)); } } }
public static function recuperarSenha() { // Recebendo post de autenticação? $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL); $pessoa = Pessoas::getInstance()->getByEmail($email); if ($pessoa) { // Enviar email /* @var $organizador Organizador */ $organizadores = Organizadores::getInstance()->getAll(); $organizador = $organizadores[0]; $mensagem = Mensagens::getInstance()->get('email_lembrete_senha', null, $pessoa); $organizador->enviarEmail($pessoa->email, "Lembrete de Senha", $mensagem); setFlash("Acabamos de lhe enviar um email com seu lembrete de senha. Se isso não for o suficiente entre em contato conosco."); } else { setFlashError("Nenhum usuário encontrado com este email."); return false; } }
private static function showFormSms($filter, Evento $evento) { // Postando? if (count($_POST) > 0) { $mensagem = nl2br($_POST['mensagem']); // Enviar emails if ($filter == 'confirmados') { $inscritos = Inscricoes::getInstance()->getConfirmados($evento->id); } else { if ($filter == 'naoConfirmados') { //$inscritos = Inscricao::obterPorEventoNaoConfirmados($evento->id); } else { if ($filter == 'rejeitados') { //$inscritos = Inscricao::obterPorEventoRejeitados($evento->id); } } } $subTitulo = $filter; echo "<h2>Envio de SMS para {$subTitulo}</h2><br>"; $enviados = 0; foreach ($inscritos as $inscrito) { /* @var $inscrito Inscricao */ if ($inscrito->pessoa()->celular == null) { continue; } $mensagemEnviar = Mensagens::getInstance()->substituirVariaveis($mensagem, $evento, $inscrito->pessoa(), $inscrito); $mensagemEnviar = stripslashes($mensagemEnviar); $enviado = $evento->organizador()->enviarSms($inscrito->pessoa()->celular, $mensagemEnviar); if ($enviado) { echo "SMS enviado para " . $inscrito->pessoa()->nome . ' (' . $inscrito->pessoa()->celular . ')<Br>'; $enviados++; } else { echo "Erro ao enviar email SMS " . $inscrito->pessoa()->nome . ' (' . $inscrito->pessoa()->celular . ')<Br>'; } } echo "<br><br>SMS enviado para {$enviados} pessoas.<br><br>"; } else { $subTitulo = $filter; $titulo = "SMS para {$subTitulo} no " . $evento->titulo; require_once PLUGINPATH . '/view/comunicacao/form_sms.php'; } }
public static function newMessageCount() { $db = new Mensagens(); $count = $db->countUnread(); return $count; }
public static function setMeioPagamento($id_inscricao, $set_meio_pagamento) { /* @var $inscricao Inscricao */ $inscricao = Inscricoes::getInstance()->getById($id_inscricao); $inscricao->meio_pagamento = ucfirst($set_meio_pagamento); $inscricao->evento()->organizador()->enviarEmail($inscricao->evento()->organizador()->email, 'Meio de Pagamento - Inscrição: ' . $id_inscricao . ' - ' . $set_meio_pagamento, Mensagens::getInstance()->get('email_definido_meio_pagamento_organizador', $inscricao->evento(), $inscricao->pessoa(), $inscricao)); }
echo label('inscricao_dados_conta', 'Dados para depósito em conta:', input_textarea_simples('inscricao_dados_conta', 10, $organizador->inscricao_dados_conta), "Deixar em branco para não existir"); // Locais para pagamento em dinheiro echo label('inscricao_locais_pagamento', 'Locais para pagamento em dinheiro:', input_textarea_simples('inscricao_locais_pagamento', 10, $organizador->inscricao_locais_pagamento), "Deixar em branco para não existir"); echo input_checkbox_padrao('ativo', "Ativo", $organizador->ativo); ?> </div> </div> </div> <?php // Incluir formulário parcial de mensagens if ($organizador->id != null) { Mensagens::getInstance()->setOrganizador($organizador->id); require_once PLUGINPATH . '/view/mensagens/partial_mensagens.php'; } ?> </div> <div id="major-publishing-actions"> <div id="publishing-action"> <span class="spinner"></span> <input type="submit" name="publish" id="publish" class="button button-primary button-large" value="Salvar" accesskey="p"></div> <div class="clear"></div> </div> </div> </div>
<?php /** @var $categoria Categoria */ $id_evento = $categoria->id_evento ? $categoria->id_evento : $evento->id; ?> <div class='wrap'> <div id='icon-edit' class='icon32'> <br/> </div> <h2>Mensagens</h2> <form method="post"> <div id="poststuff"> <div id="post-body" class="metabox-holder columns-2"> <div id="post-body-content"> <?php Mensagens::getInstance()->setConfig(); require_once 'partial_mensagens.php'; ?> <div id="major-publishing-actions"> <div id="publishing-action"> <span class="spinner"></span> <input type="submit" name="publish" id="publish" class="button button-primary button-large" value="Salvar" accesskey="p"></div> <div class="clear"></div> </div> </div> </div> </div> </form> </div>
public function enviarEmailInscricaoRealizada() { // Obter pessoas $pessoa = $this->pessoa(); $evento = $this->evento(); $organizador = $evento->organizador(); // Avisa apenas se for um evento pago - não avisa quando for confirmação pelo organizador if ($evento->pago !== 'pago') { return; } if ($evento->noFuturo()) { // Email para inscrito $assunto = 'Inscrição em "' . $evento->titulo . '"'; $mensagem = Mensagens::getInstance()->get("email_realizacao_inscricao_pagar", $evento, $pessoa, $this, true); $organizador->enviarEmail($pessoa->email, $assunto, $mensagem); // Email para organizador $assunto = 'Inscrição - ' . $evento->titulo . ' - ' . $pessoa->nome; $mensagem = Mensagens::getInstance()->get("email_realizacao_inscricao_organizador", $evento, $pessoa, $this, true); $organizador->enviarEmail($evento->organizador()->email, $assunto, $mensagem); } }
public static function CallbackEventPresent(Pessoa $pessoa) { $assunto = "Muito bom hein!"; $mensagem = "Olá %pessoa_primeiro_nome%!<br><br>\n\n Graças a pessoas como você que nossa comunidade continua sempre crescendo!<br><br>\n\n Ficamos muito agradecidos com sua participação apresentando conteúdos, ok?<br><br>\n\n A partir de agora, você irá ganhar pontos de acordo com o feedback das pessoas que assistirem sua apresentação. Se votarem notas altas, você ganha mais pontos, caso contrário, não ganhará quase nada.<br><br>\n\n Você também já ganhou uma badge \"Estreiou no microfone\"! :) <br><br>\n\n Boa sorte e manda bala!<br><br>\n\n Valeu!\n "; $mensagem = \Mensagens::getInstance()->substituirVariaveis($mensagem, null, $pessoa, null); /* @var $organizadores Organizador[] */ $organizadores = Organizadores::getInstance()->getAll(); $oganizador = $organizadores[0]; $oganizador->enviarEmail($pessoa->email, $assunto, $mensagem); return true; }