private static function showForm($action)
 {
     // Postando?
     if (count($_POST) > 0) {
         /* @var $inscricao Inscricao */
         $inscricao = Inscricoes::getInstance()->getById(get_query_var('avaliacao') / 13);
         /* @var $evento Evento */
         $questionario = $inscricao->evento()->getQuestionarioAvaliacao();
         $perguntas = $questionario->getPerguntas();
         $jaRespondeu = $inscricao->hasAvaliacaoResposta(1);
         $mensagem = null;
         foreach ($perguntas as $pergunta) {
             $resp = trim($_POST['input_' . $pergunta->id]);
             //                var_dump($resp);
             if ($pergunta->obrigatoria && $resp == '') {
                 setFlashError("Por favor, responda as perguntas obrigatórias (marcadas com *)");
                 break;
             }
             if ($resp != '') {
                 $resposta = Respostas::getInstance()->createResposta($pergunta, $inscricao, $resp);
                 $mensagem .= $pergunta->titulo . ': ' . $resp . '<br>';
             }
         }
         if (!hasFlashError()) {
             setFlash("sucesso");
             // Enviar email com respostas
             //                $mensagem="Respostas:<br><br>".$mensagem;
             //                $inscricao->evento()->organizador()->enviarEmail(
             //                    $inscricao->evento()->organizador()->email,
             //                    "Resposta - ".$questionario->titulo." - ".$inscricao->evento()->titulo." - ". $inscricao->pessoa()->nome,
             //                    $mensagem
             //                );
             // Creditar o gamification
             if (TGO_EVENTO_GAMIFICATION === true && !$jaRespondeu) {
                 Gamification::getInstance()->broadcast('event_feedback', $inscricao->id_pessoa, $inscricao);
             }
         }
     } else {
         // Obter inscrição
         $inscricao = Inscricoes::getInstance()->getById(get_query_var('avaliacao') / 13);
         if ($inscricao == null) {
             die("Inscrição não localizada");
         }
         // Validar inscrição
         if ($inscricao->confirmado != '1') {
             die("Inscrição não confirmada");
         }
     }
     return 'avaliacao.php';
 }
 function column_default($item, $column_name)
 {
     //        var_dump($item['*idLevel']);
     //        var_dump($item);
     $level = Gamification::getInstance()->getLevel($item['idLevel']);
     //        var_dump($level);
     //        die();
     switch ($column_name) {
         case 'nivel':
             return $level->getTitle();
             //                return "<pre>".print_r($inscricao->pessoa()->getExtrasArray(),true)."</pre>";// $inscricao->pessoa()->getExtrasExibicao();
         //                return "<pre>".print_r($inscricao->pessoa()->getExtrasArray(),true)."</pre>";// $inscricao->pessoa()->getExtrasExibicao();
         default:
             return $item[$column_name];
             //return print_r($item,true); //Show the whole array for troubleshooting purposes
     }
 }
 function column_default($item, $column_name)
 {
     /* @var $item Event */
     switch ($column_name) {
         case 'description':
             return $item->getDescription();
             //                return "<pre>".print_r($inscricao->pessoa()->getExtrasArray(),true)."</pre>";// $inscricao->pessoa()->getExtrasExibicao();
         //                return "<pre>".print_r($inscricao->pessoa()->getExtrasArray(),true)."</pre>";// $inscricao->pessoa()->getExtrasExibicao();
         case 'allow_repetitions':
             return $item->getAllowRepetitions() ? "Sim" : "";
         case 'reach_required_repetitions':
             return $item->getRequiredRepetitions();
         case 'id_each_badge':
             if ($item->getIdEachBadge()) {
                 $badge = Gamification::getInstance()->getBadge($item->getIdEachBadge());
                 return $badge->getTitle();
             }
             return null;
         case 'id_reach_badge':
             if ($item->getIdReachBadge()) {
                 $badge = Gamification::getInstance()->getBadge($item->getIdReachBadge());
                 return $badge->getTitle();
             }
         case 'each_points':
             return $item->getEachPoints();
         case 'reach_points':
             return $item->getReachPoints();
             //            case 'each_callback':
             //                return $item->getEachCallback();
             //            case 'reach_callback':
             //                return $item->getReachCallback();
         //            case 'each_callback':
         //                return $item->getEachCallback();
         //            case 'reach_callback':
         //                return $item->getReachCallback();
         case 'alias':
             return $item->getAlias();
         default:
             return null;
     }
 }
                                </div>


                            <?php 
} else {
    ?>

                                <h3 class="hndle"><span>Inserir Badge</span></h3>
                                <div class="inside">
                                    <?php 
    echo label('description', 'Descrição', input_textarea_simples('description', 5, $_POST['description']));
    echo label('alias', 'Alias', input_texto_simples('alias', 'Alias', 40, $_POST['alias']));
    echo label('allow_repetitions', 'Permite Repetição', input_checkbox_padrao('allow_repetitions', 'Permite Repetição'));
    echo label('reach_required_repetitions', 'Repetições Requeridas', input_texto_simples('reach_required_repetitions', '', 5, $_POST['reach_required_repetitions']));
    // Badge
    $badges = Gamification::getInstance()->getBadgesArray();
    echo label('id_each_badge', 'Badge - para cada', input_select_simples('id_each_badge', 'Badge - para cada', $badges));
    echo label('id_reach_badge', 'Badge - ao alcançar', input_select_simples('id_reach_badge', 'Badge - ao alcançar', $badges));
    echo label('each_points', 'Pontos - para cada', input_texto_simples('each_points', '', 5, $_POST['each_points']));
    echo label('reach_points', 'Pontos - ao alcançar', input_texto_simples('reach_points', '', 5, $_POST['reach_points']));
    //            'each_callback' => 'Callback - para cada',
    //            'reach_callback' => 'Callback - ao alcançar',
    ?>
                                </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>
 private static function decorateRanking($ranking)
 {
     $return = array();
     /* @var $rank UserScore */
     foreach ($ranking as $rank) {
         //            var_dump($rank);
         /* @var $pessoa Pessoa */
         $pessoa = Pessoas::getInstance()->getById($rank->getIdUser());
         $level = Gamification::getInstance()->getLevel($rank->getIdLevel());
         //            var_dump($pessoa->id_user);
         if ($pessoa->id_user > 0) {
             continue;
         }
         $r = array();
         $r['idUser'] = $rank->getIdUser();
         $r['idLevel'] = $rank->getIdLevel();
         $r['points'] = $rank->getPoints();
         //            $r['levelTitle'] = $rank->getLevel()->getTitle();
         $r['userName'] = $pessoa->primeiro_segundo_nome();
         $r['userPicture'] = $pessoa->getPictureUrl();
         $r['levelName'] = $level->getTitle();
         $return[] = $r;
     }
     return $return;
 }
                </div>
            </div>
        <?php 
}
?>

        <?php 
if (TGO_EVENTO_GAMIFICATION === true) {
    ?>
            <div id="postbox-container-2" class="postbox-container">
                <div id="postexcerpt" class="postbox ">
                    <h3 class="hndle"><span>Gamification</span></h3>

                    <div class="inside">
                        <?php 
    $gamification = Gamification::getInstance();
    $gamification->setUserId($pessoa->id);
    $gamification->showUserScores();
    $gamification->showUserLog();
    $gamification->showUserEvents();
    ?>
                        <bR>
                        <a href="admin.php?page=Gamification&action=addEventoPessoa&id_pessoa=<?php 
    echo $pessoa->id;
    ?>
"
                           class="add-new-h2">Adicionar Evento a Pessoa</a>
                        <a href="admin.php?page=Gamification&action=addBadgePessoa&id_pessoa=<?php 
    echo $pessoa->id;
    ?>
"
            <br/>
        </div>
        <h2>Adicionar Evento a Pessoa</h2>

        <form method="post">
            <div id="poststuff">
                <div id="post-body" class="metabox-holder columns-2">
                    <div id="post-body-content">
                        <div class="postbox-container">
                            <div class="postbox">
                                <h3 class="hndle"><span>Evento</span></h3>
                                <div class="inside">

                                    <?php 
// Evento
$eventos = Gamification::getInstance()->getEventosArray();
echo label('alias', 'Evento', input_select_simples('alias', 'Evento', $eventos));
// Pessoas
$pessoas = Pessoas::getInstance()->getTodosArray();
echo label('id_pessoa', 'Pessoa', input_select_simples('id_pessoa', 'Pessoa', $pessoas, $_GET['id_pessoa']));
?>
                                </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>
 private static function addEvent($event = null)
 {
     // Postando?
     if (count($_POST) > 0) {
         if ($_POST['id']) {
             // Update??
             die("Update não implementado");
         } else {
             $event = new Event();
             $event->setAlias($_POST['alias']);
             $event->setDescription($_POST['description']);
             $event->setAllowRepetitions($_POST['allow_repetitions'] == 1);
             if ($_POST['reach_required_repetitions']) {
                 $event->setReachRequiredRepetitions($_POST['reach_required_repetitions']);
             }
             if ($_POST['id_each_badge']) {
                 $badge = Gamification::getInstance()->getBadge($_POST['id_each_badge']);
                 $event->setEachBadgeGranted($badge);
             }
             if ($_POST['id_reach_badge']) {
                 $badge = Gamification::getInstance()->getBadge($_POST['id_reach_badge']);
                 $event->setReachBadgeGranted($badge);
             }
             if ($_POST['each_points']) {
                 $event->setEachPointsGranted($_POST['each_points']);
             }
             if ($_POST['reach_points']) {
                 $event->setReachPointsGranted($_POST['reach_points']);
             }
             $event = Gamification::getInstance()->addEvent($event);
         }
         ControllerGamification::eventList();
     } else {
         require_once PLUGINPATH . '/view/gamification/form_event.php';
     }
 }
 /**
  * Marca presença
  */
 public function presenca()
 {
     if ($this->presente != 1) {
         $this->presente = 1;
         $this->confirmado = 1;
         Inscricoes::getInstance()->save($this->id, $this);
         if (TGO_EVENTO_GAMIFICATION === true) {
             // Primeira presença?
             if ($this->pessoa()->getCountConfirmados() == 1) {
                 Gamification::getInstance()->broadcast('first_presence', $this->id_pessoa, $this);
             } else {
                 Gamification::getInstance()->broadcast('event_presence', $this->id_pessoa, $this);
             }
         }
     }
     return $this;
 }