/** * Render Meta Box content. * @param WP_Post $post The post object. */ public function render_valores_padrao_meta_box($post) { $postId = $post->ID; // Organizador $organizadores = Organizadores::getInstance()->getAll(); $organizadores = Plib::array_to_key_value(Plib::object_to_array($organizadores), 'id', 'titulo'); $organizadores[''] = ""; echo input_select($postId, 'valor_id_organizador', 'Organizador:', $organizadores); // Confirmação echo input_select($postId, 'valor_confirmacao', 'Confirmação da Inscrição:', array('' => '', 'preinscricao' => 'Pré-inscrição', 'imediata' => 'Imediata', 'pagamento' => 'Após Confirmação do Pagamento', 'posterior' => 'Posteriormente pelo Organizador')); // Tipo de inscrição //echo input_select($postId, 'pago', 'Tipo de Inscrição:', array(''=>'','pago' => 'Paga', 'gratuito' => 'Gratuita')); // Add an nonce field so we can check for it later. wp_nonce_field('myplugin_inner_custom_box', 'myplugin_inner_custom_box_nonce'); }
/** * Workaround que retorna todos os extras de todos os eventos, divididos por tipo */ public function getExtrasTitulosTipos() { if (self::$_extrasTitulosTipo != null) { return self::$_extrasTitulosTipo; } $return = null; $sql = "SELECT meta_value AS extra FROM wp_postmeta WHERE meta_key='campos_extras' ORDER BY meta_id"; $result = $this->wpdb()->get_results($sql); if ($result && count($result) > 0) { $return = array(); foreach ($result as $extras) { $extras = explode("\r\n", PLib::unicode_to_utf8($extras->extra)); foreach ($extras as $extra) { $chave = substr($extra, 0, strpos($extra, '/')); $titulo = str_replace($chave . '/', '', $extra); if (strpos($titulo, '[ ]') > 0) { $tipo = "bool"; } else { if (strpos($titulo, '[file]') > 0) { $tipo = "file"; } else { $tipo = 'string'; } } if (strpos($titulo, ' [') > 0) { $titulo = substr($titulo, 0, strpos($titulo, ' [')); } if ($chave != null && $titulo != null) { $return[$chave] = json_decode(json_encode(array('Chave' => $chave, 'Titulo' => $titulo, 'Tipo' => $tipo))); } // var_dump($extra); // var_dump($chave); // $titulo } } // \TiagoGouvea\PLib::var_dump($return); // die(); } self::$_extrasTitulosTipo = $return; return $return; }
public function render_meta_box_descricoes($post) { $postId = $post->ID; $this->post_id = $postId; if ($postId != null) { $this->evento = Eventos::getInstance()->getById($postId, false); } ?> <div id="tabs"> <ul class="tabs"> <li><a href="#tabs-descricao">Descrição</a></li> <li><a href="#tabs-realizacao">Realização</a></li> <li><a href="#tabs-inscricao">Inscrição</a></li> <?php if ($this->templateExibir('campos_extras')) { ?> <li><a href="#tabs-dados">Dados Formulário</a></li> <?php } ?> <?php if ($this->evento->pago == 'pago') { ?> <li><a href="#tabs-treinamento">Treinamento</a></li> <?php } ?> <!-- <li><a href="#tabs-mensagens">Mensagens</a></li>--> <?php if ($this->templateExibir('secoes_extras')) { ?> <li><a href="#tabs-sessoesextras">Sessões Extras</a></li> <?php } ?> </ul> <div id="tabs-descricao"> <?php if (TGO_EVENTO_EVENTO_PAI === true) { echo "<div class=fields>"; echo "<h3>Herdar Configurações</h3>"; $eventos = Eventos::getInstance()->getEventosOrfaos($postId); $eventos = PLib::object_to_array($eventos); $eventos = Plib::array_to_key_value($eventos, 'id', 'titulo'); echo input_select($postId, 'id_evento_pai', 'Evento Pai:', $eventos, null, get_post_meta($postId, 'id_evento_pai', true), 'class=ajustes_visuais'); echo "</div>"; } echo "<div class=fields>"; echo "<h3>Chamadas Curtas</h3>"; if ($this->templateExibir('descricao_1')) { echo input_texto($postId, 'descricao_1', 'Descrição Curtíssima', 100); } if ($this->templateExibir('descricao_2')) { echo input_textarea($postId, 'descricao_2', 'Descrição Breve', 3); } echo "</div>"; echo "<div class=fields>"; echo "<h3>Apresentação completa</h3>"; if ($this->templateExibir('descricao_3')) { $value = get_post_meta($postId, 'descricao_3', true); wp_editor($value, 'descricao_3', array('textarea_rows' => get_option('default_post_edit_rows', 20))); } echo "</div>"; ?> </div> <div id="tabs-realizacao"> <?php // Organizador $organizadores = Plib::object_to_array(Organizadores::getInstance()->getAll()); $organizadores = Plib::array_to_key_value($organizadores, 'id', 'titulo'); if (count($organizadores) > 1) { echo "<div class=fields>"; echo "<h3>Organização</h3>"; if ($this->templateExibir('id_organizador')) { echo input_select($postId, 'id_organizador', 'Organizador:', $organizadores, null, $this->templateValorPadrao('id_organizador')); } else { if ($this->templateValorPadrao('id_organizador') != null) { echo input_hidden($postId, 'id_organizador', $this->templateValorPadrao('id_organizador')); } else { $organizadores = array_keys($organizadores); echo input_hidden($postId, 'id_organizador', $organizadores[0]); } } echo "</div>"; } // Instrutor if ($this->templateExibir('id_instrutor')) { $instrutores = Instrutores::getInstance()->getTodosArray(); echo input_select($postId, 'id_instrutor', 'Instrutor/Coordenador:', $instrutores); } echo "<div class=fields>"; echo "<h3>Data e Local</h3>"; echo input_data($postId, 'data', 'Data do Evento:'); echo input_hora($postId, 'hora', 'Hora de Inicio:'); if ($this->templateExibir('data_fim')) { echo input_data($postId, 'data_fim', 'Data Término:'); } echo input_hora($postId, 'hora_fim', 'Hora Término:'); if ($this->templateExibir('id_local')) { Locais::getInstance()->init(); $locais = Plib::object_to_array(Locais::getInstance()->getAll()); $locais = Plib::array_to_key_value($locais, 'id', 'titulo'); echo input_select($postId, 'id_local', 'Local:', $locais); } echo "</div>"; echo "<div class=fields>"; echo "<h3>Medidores de Conversão</h3>"; echo input_texto($postId, 'fb_conversion_track', 'Facebook Conversion Track:', 20); echo input_texto($postId, 'tw_conversion_track', 'Twitter Conversion Track:', 20); echo "</div>"; ?> </div> <div id="tabs-inscricao"> <?php // Data Inicio Inscrições echo "<div class=fields>"; echo "<h3>Inscrições</h3>"; echo input_data($postId, 'data_inicio_inscricoes', 'Inicio das Inscrições:'); echo input_data($postId, 'data_fim_inscricoes', 'Fim das Inscrições:'); // Pago ou Gratuito if ($this->templateExibir('pago')) { echo input_select($postId, 'pago', 'Tipo de Inscrição:', array('pago' => 'Paga', 'gratuito' => 'Gratuita'), null, null, 'class=ajustes_visuais'); } else { if ($this->templateValorPadrao('pago') != null) { echo input_hidden($postId, 'pago', $this->templateValorPadrao('pago')); } } if ($this->templateExibir('confirmacao')) { echo input_select($postId, 'confirmacao', 'Confirmação da Inscrição:', array('preinscricao' => 'Pré-inscrição', 'imediata' => 'Imediata', 'pagamento' => 'Após Confirmação do Pagamento', 'posterior' => 'Posteriormente pelo Organizador'), null); } else { if ($this->templateValorPadrao('confirmacao') != null) { echo input_hidden($postId, 'confirmacao', $this->templateValorPadrao('confirmacao')); } } if ($this->templateExibir('validacao_pessoa')) { echo input_select($postId, 'validacao_pessoa', 'Localizar Cadastro do Inscrito:', array('email' => 'Email', 'cpf' => 'CPF'), null, 'email'); } echo "</div>"; // Vagas if ($this->templateExibir('vagas')) { echo "<div class=fields>"; echo "<h3>Vagas</h3>"; echo input_numero($postId, 'vagas', 'Vagas Disponíveis:'); echo input_checkbox($postId, 'fila_espera', 'Fila de Espera'); echo "</div>"; } // Formas de pagamento echo "<div id=formas_pagamento class=fields>"; echo "<h3>Pagamento</h3>"; // Integração PagSeguro if (Integracoes::getInstance()->hasByServico('PagSeguro')) { echo input_checkbox($postId, 'pago_pagseguro', 'PagSeguro'); $integracoes = Plib::object_to_array(Integracoes::getInstance()->getByServico('PagSeguro')); $integracoes = Plib::array_to_key_value($integracoes, 'id', 'titulo'); echo input_select($postId, 'id_integracao_pagseguro', 'Integração PagSeguro:', $integracoes); } // Integração Cielo if (Integracoes::getInstance()->hasByServico('Cielo')) { echo input_checkbox($postId, 'pago_cielo', 'Cielo'); $integracoes = Plib::object_to_array(Integracoes::getInstance()->getByServico('Cielo')); $integracoes = Plib::array_to_key_value($integracoes, 'id', 'titulo'); echo input_select($postId, 'id_integracao_cielo', 'Integração Cielo:', $integracoes); } // Local de pagamento echo input_checkbox($postId, 'pago_dinheiro', 'Dinheiro'); $locais = Plib::object_to_array(Locais::getInstance()->getAll()); $locais = Plib::array_to_key_value($locais, 'id', 'titulo'); echo input_select($postId, 'id_local_pagamento', 'Local pagamenho Dinheiro:', $locais); echo input_checkbox($postId, 'pago_deposito', 'Depósito Bancário'); echo "</div>"; // Beta if ($this->templateExibir('beta')) { echo input_checkbox($postId, 'beta', 'Beta:'); } // Confirmação da Inscrição: //var_dump($this->evento->confirmacao); // $meta = get_post_meta($postId, 'confirmacao', true); // echo "'$meta'<br>"; //die(); ?> </div> <div id="tabs-dados"> <?php // Campo chave de validação da pessoa // Campos Extra if ($this->templateExibir('campos_extras')) { echo "<div class=fields>"; echo "<h3>Campos Extras</h3>"; echo input_textarea($postId, 'campos_extras', 'Campos Extras:', 10, "Utilizar:<br>nome_unico/Titulo do campo<br>Exemplo:<br>empresa/Empresa em que trabalha"); echo "</div>"; } if ($this->templateExibir('avaliacao')) { $questionarios = Plib::object_to_array(Questionarios::getInstance()->getAll()); $questionarios = Plib::array_to_key_value($questionarios, 'id', 'titulo'); echo input_select($postId, 'id_questionario', 'Questionário de Feedback:', $questionarios); } ?> </div> <!-- <div id="tabs-mensagens">--> <!-- --><?php // if ($this->evento){ // // Incluir formulário parcial de mensagens // Mensagens::getInstance()->setEvento($this->evento->id); // require_once PLUGINPATH. '/view/mensagens/partial_mensagens.php'; // } // ?> <!-- </div>--> <?php if ($this->evento->pago == 'pago') { ?> <div id="tabs-treinamento"> <?php echo "<div class=fields>"; echo "<h3>Treinamento</h3>"; // Publico Alvo if ($this->templateExibir('publico_alvo')) { echo input_textarea($postId, 'publico_alvo', 'Público Alvo', 2); } // Material Didático if ($this->templateExibir('material')) { echo input_textarea($postId, 'material', 'Material Didático oferecido:', 2); } // Certificado if ($this->templateExibir('certificado')) { echo input_textarea($postId, 'certificado', 'Certificado:', 1); } // Duração if ($this->templateExibir('duracao')) { echo input_textarea($postId, 'duracao', 'Duração:', 1); } if ($this->templateExibir('horarios')) { echo input_textarea($postId, 'horarios', 'Horários:', 1); } if ($this->templateExibir('requisitos')) { echo input_textarea($postId, 'requisitos', 'Pré-Requisitos:', 1); } // Valor // if ($this->templateExibir('valor')) // echo input_numero($postId, 'valor', 'Valor:'); echo "</div>"; echo "<div class=fields>"; echo "<h3>Conteúdo</h3>"; // Tópicos if ($this->templateExibir('topicos')) { echo input_textarea($postId, 'topicos', 'Tópicos:', 10, "Utilizar um tópico por linha. Identar com 3 espaços.<br>[v] Video, [a] Arquivo"); } // FAQ if ($this->templateExibir('faq')) { echo input_textarea($postId, 'faq', 'Perguntas Frequentes.:', 10, "Utilizar:<br>- Pergunta<Br>Resposta"); } echo "</div>"; ?> </div> <?php } ?> <?php if ($this->templateExibir('secoes_extras')) { ?> <div id="tabs-sessoesextras"> <?php $postId = $post->ID; // Cada secão if ($this->evento) { $secoes = $this->evento->getSecoesExtras(); if ($secoes != null) { foreach ($secoes as $secao => $titulo) { // var_dump($secoes); echo "<label for='secao_{$secao}'><div><p>{$titulo}</p></div></label>"; $value = get_post_meta($postId, 'secao_' . $secao, true); wp_editor($value, 'secao_' . $secao, array('textarea_rows' => get_option('default_post_edit_rows', 10))); } } } // Secões echo input_textarea($postId, 'secoes_extras', 'Secoes Extras:', 7, "Utilizar:<br>nome_unico/Titulo da seção"); ?> </div> <?php } ?> </div> <script> function ajustesVisuais(){ console.log(this); console.log(); if (jQuery("#pago").val() == "pago") { jQuery("#formas_pagamento").css("display","block"); } else { jQuery("#formas_pagamento").css("display","none"); } }; jQuery(function ($) { $(document ).ready(function() { $("#tabs").tabs(); $(".ajustes_visuais").on("change", function () { ajustesVisuais(); }); ajustesVisuais(); }); }); </script> <?php }
public function getExtrasArray($retornarChaveArray = true) { $titulosTipos = Organizadores::getInstance()->getExtrasTitulosTipos(); $return = array(); if ($this->extras == null) { return; } $extras = $this->getExtras(); // var_dump($extras); if ($extras == null) { return; } // var_dump($extras); foreach ($extras as $key => $extra) { if ($extra['valor'] == '') { continue; } // Tentar obter o extra pelo titulo..... if (strpos($extra['titulo'], ' [ ') > 0) { $titulo = substr($extra['titulo'], 0, strpos($extra['titulo'], ' [ ')); } else { $titulo = $extra['titulo']; } $tituloTipo = null; if ($titulosTipos) { foreach ($titulosTipos as $titTip) { // echo trim(strtolower($titulo)).'=='.(trim(strtolower($titTip->Titulo))).'<br>'; if (trim(strtolower($titTip->Titulo)) == trim(strtolower($titulo))) { $tituloTipo = $titTip; break; } } } if ($tituloTipo) { // echo "<pre>"; // var_dump($extra); // echo "</pre>"; // var_dump($tituloTipo); $nExtra = $tituloTipo; if ($tituloTipo->Tipo == 'bool') { $nExtra->Valor = $extra['valor'] == '1' ? 'Sim' : 'Não'; } else { if ($tituloTipo->Tipo == 'file') { if ($extra['arquivo']) { $arquivo = get_stylesheet_directory() . "/../../uploads/eventos/" . $extra['arquivo']; $arquivo = '/' . $this->get_absolute_path($arquivo); // var_dump($arquivo); if (file_exists($arquivo)) { $nExtra->Valor = $arquivo; } else { $nExtra->Valor = null; } } } else { $nExtra->Valor = $extra['valor']; } } $chave = $titTip->Chave; // echo "<pre>"; //// var_dump($nExtra); // echo "</pre>"; } else { $nExtra = json_decode(json_encode(array('Tipo' => 'string'))); $nExtra->Valor = $extra['valor']; $nExtra->Titulo = $extra['titulo']; $chave = $nExtra->Titulo; // var_dump($nExtra); } if ($retornarChaveArray) { $return[$key] = $nExtra; } else { $return[] = $nExtra; } // } else if ($extra['arquivo']){ // $extra['tipo']="file"; // $arquivo = get_stylesheet_directory()."/../../uploads/eventos/".$extra['arquivo']; // if (file_exists($arquivo)){ // $extra['valor'] = get_stylesheet_uri()."/../../../uploads/eventos/".$extra['arquivo']; // } else { // $extra['valor'] = ""; // } // } // if (strpos($extra['titulo'], ' [ ') > 0) // $extra['titulo'] = substr($extra['titulo'],0,strpos($extra['titulo'], ' [ ')); // $return[]=$extra; } return $return; }
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; } }
/** * Retorna objeto do organizador * @return Organizador */ function organizador() { if (TGO_EVENTO_SINGLE_ORGANIZER === true) { $organizador = Organizadores::getInstance()->getAll(); if ($organizador == null) { throw new Exception("SINGLE_ORGANIZER sem organizador"); } return $organizador[0]; } else { if ($this->id_organizador) { return Organizadores::getInstance()->getById($this->id_organizador); } else { if (Organizadores::getInstance()->getCountAll() == 1) { $organizador = Organizadores::getInstance()->getAll(); return $organizador[0]; } else { // Ops! throw new Exception("Não foi possível encontrar uma definição de organizador para um evento"); } } } }
function exportarInscritosOrganizadorCsv() { //$id_organizador = $_GET['id']; //$organizador = Organizador::obterPorId($id_organizador); $inscritos = Organizadores::getInstance()->getTodosInscritos(); $nInscritos = array(); foreach ($inscritos as $inscrito) { if ($inscrito->email != null) { $nInscritos[$inscrito->email] = $inscrito; } } $cabecalho = array(); foreach ($nInscritos[$inscrito->email] as $campo => $valor) { $cabecalho[0][$campo] = $campo; } $nInscritos = array_merge($cabecalho, $nInscritos); //var_dump($inscritos);die(); Plib::array_to_csv_download($nInscritos, 'Inscritos.csv'); die; }
public static function showList() { require_once PLUGINPATH . '/view/organizadores/list.php'; $organizadores = Organizadores::getInstance()->getAll(); ListTableOrganizadores($organizadores, "Organizadores"); }