function delibera_get_comments_resolucoes($post_id) { if (has_filter('delibera_get_resolucoes')) { return apply_filters('delibera_get_resolucoes', delibera_get_comments($post_id, 'resolucao')); } return delibera_get_comments($post_id, 'resolucao'); }
?> </ol> <?php } elseif ($situacao->slug == 'emvotacao') { ?> <div class="votes"> <ul class="clearfix"> <?php delibera_wp_list_comments(); ?> </ul> </div> <?php $args['walker'] = new Delibera_Walker_Comment(); $comments = delibera_get_comments($post->ID, array('discussao', 'encaminhamento', 'encaminhamento_selecionado')); ?> <h2 class="comments-title bottom"><?php _e('Histórico da pauta', 'delibera'); ?> </h2> <ol class="commentslist"> <?php wp_list_comments($args, $comments); ?> </ol> <?php } else { ?>
/** * Formulário do comentário * @param array $defaults */ function delibera_comment_form($defaults) { global $post, $delibera_comments_padrao, $user_identity, $comment_footer; $comment_footer = ""; if ($delibera_comments_padrao === true) { $defaults['fields'] = $defaults['must_log_in']; if (!is_user_logged_in()) { $defaults['comment_field'] = ""; $defaults['logged_in_as'] = ''; $defaults['comment_notes_after'] = ""; $defaults['label_submit'] = ""; $defaults['id_submit'] = "botao-oculto"; $defaults['comment_notes_before'] = ' '; } return $defaults; } if (get_post_type($post) == "pauta") { /* @var WP_User $current_user */ $current_user = wp_get_current_user(); $defaults['id_form'] = 'delibera_commentform'; $defaults['comment_field'] = '<div class="delibera_before_fields">' . $defaults['comment_field']; $situacao = delibera_get_situacao($post->ID); switch ($situacao->slug) { case 'validacao': $user_comments = delibera_get_comments($post->ID, 'validacao', array('user_id' => $current_user->ID)); $temvalidacao = false; foreach ($user_comments as $user_comment) { if (get_comment_meta($user_comment->comment_ID, 'delibera_comment_tipo', true) == 'validacao') { $temvalidacao = true; break; } } if ($temvalidacao) { $defaults['comment_notes_after'] = ' <script type="text/javascript"> var formdiv = document.getElementById("respond"); formdiv.style.display = "none"; </script> '; } else { $defaults['title_reply'] = __('Você quer ver essa pauta posta em discussão?', 'delibera'); $defaults['must_log_in'] = sprintf(__('Você precisar <a href="%s">estar logado</a> e ter permissão para votar.', 'delibera'), wp_login_url(apply_filters('the_permalink', get_permalink($post->ID)))); if (delibera_current_user_can_participate()) { $form = ' <div id="painel_validacao" > <input id="delibera_aceitar" type="radio" name="delibera_validacao" value="S" checked /><label for="delibera_aceitar" class="delibera_aceitar_radio_label">' . __('Aceitar', 'delibera') . '</label> <input id="delibera_rejeitar" type="radio" name="delibera_validacao" value="N" /><label for="delibera_rejeitar" class="delibera_aceitar_radio_label">' . __('Rejeitar', 'delibera') . '</label> <input name="comment" value="A validação de ' . $current_user->display_name . ' foi registrada no sistema." style="display:none;" /> <input name="delibera_comment_tipo" value="validacao" style="display:none;" /> </div> '; $defaults['comment_field'] = $form; $defaults['comment_notes_after'] = '<div class="delibera_comment_button">'; $defaults['logged_in_as'] = ""; $defaults['label_submit'] = __('Votar', 'delibera'); $comment_footer = "</div>"; } else { $defaults['comment_field'] = ""; $defaults['logged_in_as'] = '<p class="logged-in-as">' . sprintf(__('Você está logado como <a href="%1$s">%2$s</a> que não é um usuário autorizado a votar. <a href="%3$s" title="Sair desta conta?">Sair desta conta</a> e logar com um usuário com permissão de votar?', 'delibera'), admin_url('profile.php'), $user_identity, wp_logout_url(apply_filters('the_permalink', get_permalink($post->ID)))) . '</p>'; $defaults['comment_notes_after'] = ""; $defaults['label_submit'] = ""; $defaults['id_submit'] = "botao-oculto"; } } break; case 'discussao': case 'relatoria': $defaults['title_reply'] = sprintf(__('Discussão em torno de "%s"', 'delibera'), $post->post_title); $defaults['must_log_in'] = sprintf(__('Você precisar <a href="%s">estar logado</a> para contribuir com a discussão.', 'delibera'), wp_login_url(apply_filters('the_permalink', get_permalink($post->ID)))); $defaults['comment_notes_after'] = ""; $defaults['logged_in_as'] = ""; $defaults['comment_field'] = ' <input name="delibera_comment_tipo" value="discussao" style="display:none;" />' . $defaults['comment_field']; if ($situacao->slug == 'relatoria') { $defaults['comment_field'] = ' <input id="delibera-baseouseem" name="delibera-baseouseem" value="" style="display:none;" autocomplete="off" /> <div id="painel-baseouseem" class="painel-baseouseem"><label id="painel-baseouseem-label" class="painel-baseouseem-label" >' . __('Proposta baseada em:', 'delibera') . ' </label></div><br/> ' . $defaults['comment_field']; } if (delibera_current_user_can_participate()) { $replace = ''; if (delibera_pautas_suportam_encaminhamento()) { if ($situacao->slug != 'relatoria') { $replace .= '<label class="delibera-encaminha-label" ><input type="radio" name="delibera_encaminha" value="N" checked="checked" />' . __('Opinião', 'delibera') . '</label>'; } $replace .= '<label class="delibera-encaminha-label" ><input type="radio" name="delibera_encaminha" value="S" ' . ($situacao->slug == 'relatoria' ? ' checked="checked" ' : '') . ' />' . __('Proposta de encaminhamento', 'delibera') . '</label>'; } else { $replace .= '<input type="hidden" name="delibera_encaminha" value="N" />'; } $defaults['comment_field'] = preg_replace("/<label for=\"comment\">(.*?)<\\/label>/", $replace, $defaults['comment_field']); } else { $defaults['comment_field'] = ""; $defaults['logged_in_as'] = '<p class="logged-in-as">' . sprintf(__('Você está logado como <a href="%1$s">%2$s</a> que não é um usuário autorizado a votar. <a href="%3$s" title="Sair desta conta?">Sair desta conta</a> e logar com usuário que possa votar?', 'delibera'), admin_url('profile.php'), $user_identity, wp_logout_url(apply_filters('the_permalink', get_permalink($post->ID)))) . '</p>'; $defaults['comment_notes_after'] = ""; $defaults['label_submit'] = ""; $defaults['id_submit'] = "botao-oculto"; } if (has_filter('delibera_discussao_comment_form')) { $defaults = apply_filters('delibera_discussao_comment_form', $defaults, $situacao->slug); } break; case 'emvotacao': $user_comments = delibera_get_comments($post->ID, 'voto', array('user_id' => $current_user->ID)); $temvoto = false; foreach ($user_comments as $user_comment) { if (get_comment_meta($user_comment->comment_ID, 'delibera_comment_tipo', true) == 'voto') { $temvoto = true; break; } } if ($temvoto) { $defaults['comment_notes_after'] = ' <script type="text/javascript"> var formdiv = document.getElementById("respond"); formdiv.style.display = "none"; </script> '; } else { $defaults['title_reply'] = sprintf(__('Regime de votação para a pauta "%s"', 'delibera'), $post->post_title); $defaults['must_log_in'] = sprintf(__('Você precisar <a href="%s">estar logado</a> e ter permissão para votar.'), wp_login_url(apply_filters('the_permalink', get_permalink($post->ID)))); $encaminhamentos = array(); if (delibera_current_user_can_participate()) { $form = '<div class="delibera_checkbox_voto">'; $encaminhamentos = delibera_get_comments_encaminhamentos($post->ID); $form .= '<div class="instrucoes-votacao">' . __('Escolha os encaminhamentos que deseja aprovar e depois clique em "Votar":', 'delibera') . '</div>'; $i = 0; foreach ($encaminhamentos as $encaminhamento) { $form .= ' <div class="checkbox-voto"><input type="checkbox" name="delibera_voto' . $i . '" id="delibera_voto' . $i . '" value="' . $encaminhamento->comment_ID . '" /><label for="delibera_voto' . $i++ . '" class="label-voto">' . $encaminhamento->comment_content . '</label></div> '; } $form .= ' <input name="delibera_comment_tipo" value="voto" style="display:none;" /> <input name="comment" value="O voto de ' . $current_user->display_name . ' foi registrado no sistema" style="display:none;" /> </div>'; $defaults['comment_field'] = $form; $defaults['logged_in_as'] = ""; $defaults['label_submit'] = __('Votar', 'delibera'); $defaults['comment_notes_after'] = '<div class="delibera_comment_button">'; $comment_footer = "</div>"; } else { $defaults['comment_field'] = ""; $defaults['logged_in_as'] = '<p class="logged-in-as">' . sprintf(__('Você está logado como <a href="%1$s">%2$s</a> que não é um usuário autorizado a votar. <a href="%3$s" title="Sair desta conta?">Sair desta conta</a> e logar com um usuário com permisão para votar?', 'delibera'), admin_url('profile.php'), $user_identity, wp_logout_url(apply_filters('the_permalink', get_permalink($post->ID)))) . '</p>'; $defaults['comment_notes_after'] = ""; $defaults['label_submit'] = ""; $defaults['id_submit'] = "botao-oculto"; } } if (has_filter('delibera_resolucoes_comment_form')) { $defaults = apply_filters('delibera_resolucoes_comment_form', $defaults, $temvoto, $encaminhamentos); } break; case 'comresolucao': $defaults['comment_notes_after'] = '<script type="text/javascript"> var formdiv = document.getElementById("respond"); formdiv.style.display = "none"; </script>'; if (has_filter('delibera_comresolucao_comment_form')) { $defaults = apply_filters('delibera_comresolucao_comment_form', $defaults); } break; } if (!is_user_logged_in()) { $defaults['comment_notes_before'] = '<script type="text/javascript"> var formdiv = document.getElementById("respond"); formdiv.style.display = "none"; </script>'; } } return $defaults; }
/** * Retorna apenas os encaminhamentos ids dos comentários do tipo * 'encaminhamento_selecionado' (aqueles que foram selecionados * pelo relator para ir para votação). * * @param int $post_id * * @return array array de ids dos encaminhamentos */ function delibera_get_comments_encaminhamentos_selecionados_ids($post_id) { $ids = array(); $comments = delibera_get_comments($post_id, 'encaminhamento_selecionado'); foreach ($comments as $comment) { $ids[] = $comment->comment_ID; } return $ids; }
<?php /** * Gera um arquivo XLS com as opiniões e propostas de * encaminhamento feitos pelos usuários nas pautas */ // contorna problema com links simbolicos no ambiente de desenvolvimento $wp_root = dirname(dirname($_SERVER['SCRIPT_FILENAME'])) . '/../../'; require_once $wp_root . 'wp-load.php'; if (!current_user_can('manage_options')) { die('Você não deveria estar aqui'); } $pautas = get_posts(array('post_type' => 'pauta', 'post_status' => 'publish')); $comments = array(); foreach ($pautas as $pauta) { $comments = array_merge($comments, delibera_get_comments($pauta->ID, array('discussao', 'encaminhamento', 'encaminhamento_selecionado', 'resolucao'))); } foreach ($comments as $comment) { $situacao = delibera_get_situacao($comment->comment_post_ID); $comment->pauta_title = get_the_title($comment->comment_post_ID); $comment->pauta_status = $situacao->name; $comment->type = delibera_get_comment_type_label($comment, false, false); $comment->link = get_comment_link($comment); $comment->concordaram = (int) get_comment_meta($comment->comment_ID, 'delibera_numero_curtir', true); $comment->discordaram = (int) get_comment_meta($comment->comment_ID, 'delibera_numero_discordar', true); $comment->votes_count = (int) get_comment_meta($comment->comment_ID, "delibera_comment_numero_votos", true); } header('Pragma: public'); header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1 header("Pragma: no-cache");