echo $trab->titulo;
        ?>
</td>
			<td class="td-revista"><?php 
        echo $trab->revista;
        ?>
</td>
		<?php 
        if ($editable) {
            ?>
			<td class="td-data td-data_criacao"><?php 
            echo date_to_br($trab->data_criacao);
            ?>
</td>
			<td class="td-data td-data_modificacao"><?php 
            echo date_to_br($trab->data_modificacao);
            ?>
</td>
			<td class="td-downloads_count"><?php 
            echo $trab->downloads_count;
            ?>
</td>
		<?php 
        } else {
            ?>
			<td class="td-primeira_pag"><?php 
            echo $trab->primeira_pag;
            ?>
</td>
			<td class="td-ultima_pag"><?php 
            echo $trab->ultima_pag;
Example #2
0
				<th class="col-head col-valor"><span>Valor</span></th>
				<th class="col-head col-status"><span>Status</span></th>
				<th class="col-head"><span>Ver boleto</span></th>
			</tr>
		</thead>
		<tbody>
			<?php 
    foreach ($boletos as $bol) {
        ?>
			<tr>
				<td><?php 
        echo substr_replace(date_to_br($bol->data_criacao), "", 10);
        ?>
</td>
				<td><?php 
        echo substr_replace(date_to_br($bol->data_vencimento), "", 10);
        ?>
</td>
				<td><?php 
        echo $bol->servico;
        ?>
</td>
				<td>R$ <?php 
        echo number_format($bol->valor, 2, ',', '.');
        ?>
</td>
				<td class="data bol-statuspedido">
					<?php 
        switch ($bol->status_pedido) {
            case TrajettoriaBoletos::STATUS_PEDIDO_NAO_INICIADO:
                echo "Aguardando";
Example #3
0
    public static function pagina_painel_boletos()
    {
        global $wpdb;
        // abaixo: exemplos
        // echo self::_helper_boleto_link('JNDHF8Y4GRUFHDJF', '0087998', '35941385854');
        // $prod_id = get_query_var('prod_id');
        // echo "<br><br>prod_id = " . $prod_id;
        // echo "<br><br>valor da propriedade 'label': " . self::_get_setting('label_descricao');
        if (current_user_can('manage_options')) {
            $menu = '<div class="alignright">';
            $menu .= '	<ul class="nav nav-pills">';
            $menu .= '<li ';
            if (!isset($_GET['modo']) || $_GET['modo'] != 'clientes') {
                $menu .= "class=active";
            }
            $menu .= '><a href="?modo=todos">Boletos</a></li>';
            $menu .= '<li ';
            if ($_GET['modo'] == 'clientes') {
                $menu .= "class=active";
            }
            $menu .= '><a href="?modo=clientes">Clientes</a></li>';
            $menu .= '</ul>';
            $menu .= '</div>';
            echo $menu;
            /* conta quantos boletos existem sempre que a página é carregada 
             * 
             * se não estivermos filtrando por CPF, contamos o total geral de boletos
             * senão, contamos os boletos do cliente do CPF em questão
             * */
            if (!get_query_var("cpf")) {
                $totalBoletos = $wpdb->get_var($wpdb->prepare("SELECT COUNT(id) FROM " . self::TRAJ_BOLETOS_TABLE));
            } else {
                $totalBoletos = $wpdb->get_var($wpdb->prepare("SELECT COUNT(id) FROM " . self::TRAJ_BOLETOS_TABLE . " WHERE cpf=" . get_query_var("cpf")));
            }
            /* conta quantos clientes existem sempre que a página é carregada 
             * */
            $totalClientes = $wpdb->get_var($wpdb->prepare("SELECT COUNT(distinct cpf) FROM " . self::TRAJ_BOLETOS_TABLE));
            switch (get_query_var('modo')) {
                case 'clientes':
                    // preparando paginação
                    if (!isset($_GET['order_by'])) {
                        $order = 'cpf';
                    } else {
                        $order = get_query_var('order_by');
                    }
                    if (!isset($_GET['sort'])) {
                        $sort = 'desc';
                    } else {
                        $sort = get_query_var('sort');
                    }
                    if (!isset($_GET['limit'])) {
                        $limit = 20;
                    } else {
                        $limit = get_query_var('limit');
                    }
                    if (!isset($_GET['offset']) || $_GET['offset'] < 0) {
                        $offset = 0;
                    } else {
                        $offset = get_query_var('offset');
                    }
                    $clientes = $wpdb->get_results("SELECT * FROM " . self::TRAJ_BOLETOS_TABLE . " GROUP BY cpf ORDER BY {$order} {$sort} LIMIT {$limit} OFFSET {$offset}", OBJECT_K);
                    ?>
					<form method="POST" enctype="multipart/form-data" action="" class="form-inline">
						<table class="table table-striped table-custom-padding" id="clientes-table" >
							<thead>
								<tr class="bol-tpagination">
									<th colspan="6" >
										<div class="row-fluid table-header">
											<div class="span4 center text">Mostrando clientes <?php 
                    echo $offset + 1;
                    ?>
 a <?php 
                    echo sizeof($clientes) + $offset;
                    ?>
 de <?php 
                    echo $totalClientes;
                    ?>
</div>
											<div class="span4 center pagination-custom">
												<ul>
													<li><a href="?modo=clientes&offset=0&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo $order;
                    ?>
&sort=<?php 
                    echo $sort;
                    ?>
"><button class="btn btn-small btn-primary" type="button"><<</button></a></li>
													<li><a href="?modo=clientes&offset=<?php 
                    if ($offset - $limit - 1 < 0) {
                        echo 0;
                    } else {
                        echo $offset - $limit;
                    }
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo $order;
                    ?>
&sort=<?php 
                    echo $sort;
                    ?>
"><button class="btn btn-small btn-primary" type="button"><</button></a></li>
													<li><input type="text" class="input-mini" id="ir-para-pagina" value="<?php 
                    echo floor($offset / $limit) + 1;
                    ?>
" /></li>
													<li><a href="?modo=clientes&offset=<?php 
                    if ($offset + $limit + 1 > $totalClientes) {
                        echo $offset;
                    } else {
                        echo $offset + $limit;
                    }
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo $order;
                    ?>
&sort=<?php 
                    echo $sort;
                    ?>
"><button class="btn btn-small btn-primary" type="button">></button></a></a></li>
													<li><a href="?modo=clientes&offset=<?php 
                    if ($totalClientes % $limit == 0) {
                        echo $totalClientes - $limit;
                    } else {
                        echo $totalClientes - $totalClientes % $limit;
                    }
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo $order;
                    ?>
&sort=<?php 
                    echo $sort;
                    ?>
"><button class="btn btn-small btn-primary" type="button">>></button></a></a></li>
												</ul>
											</div>
											<div class="span4 center form-inline">
												<label for="boletos-por-pagina">Clientes por página:</label>
												<select name="limit" class="input-mini" id="boletos-por-pagina">
													<option class="active"><?php 
                    echo $limit;
                    // @todo popular dinamicamente essa select com a quantidade real de páginas até no máximo 20
                    ?>
</option>
													<option value="1">1</option>
													<option value="5">5</option>
													<option value="10">10</option>
													<option value="15">15</option>
													<option value="20">20</option>
												</select>
											</div>
										</div> 
									</th>
								</tr>
								<tr class="bol-thead">
									<th class="col-head <?php 
                    if ($order == "cpf" && $sort == "asc") {
                        echo "sort-asc";
                    } elseif ($order == "cpf" && $sort == "desc") {
                        echo "sort-desc";
                    } else {
                        echo "sort";
                    }
                    ?>
">
										<a href="?modo=clientes&offset=<?php 
                    echo $offset;
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo "cpf";
                    ?>
&sort=<?php 
                    if ($sort == "desc") {
                        echo "asc";
                    } else {
                        echo "desc";
                    }
                    ?>
">CPF</a>
									</th>
									<th class="col-head col-nome <?php 
                    if ($order == "nome" && $sort == "asc") {
                        echo "sort-asc";
                    } elseif ($order == "nome" && $sort == "desc") {
                        echo "sort-desc";
                    } else {
                        echo "sort";
                    }
                    ?>
">
										<a href="?modo=clientes&offset=<?php 
                    echo $offset;
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo "nome";
                    ?>
&sort=<?php 
                    if ($sort == "desc") {
                        echo "asc";
                    } else {
                        echo "desc";
                    }
                    ?>
">Nome</a>
									</th>
									<th class="col-head <?php 
                    if ($order == "email" && $sort == "asc") {
                        echo "sort-asc";
                    } elseif ($order == "email" && $sort == "desc") {
                        echo "sort-desc";
                    } else {
                        echo "sort";
                    }
                    ?>
">
										<a href="?modo=clientes&offset=<?php 
                    echo $offset;
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo "email";
                    ?>
&sort=<?php 
                    if ($sort == "desc") {
                        echo "asc";
                    } else {
                        echo "desc";
                    }
                    ?>
">E-mail</a>
									</th>
									<th class="col-head col-status-boleto <?php 
                    if ($order == "status_boleto" && $sort == "asc") {
                        echo "sort-asc";
                    } elseif ($order == "status_boleto" && $sort == "desc") {
                        echo "sort-desc";
                    } else {
                        echo "sort";
                    }
                    ?>
">
										<a href="?modo=clientes&offset=<?php 
                    echo $offset;
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo "status_boleto";
                    ?>
&sort=<?php 
                    if ($sort == "desc") {
                        echo "asc";
                    } else {
                        echo "desc";
                    }
                    ?>
">Boleto em aberto?</a>
									</th>
									<th class="col-head col-status-pedido <?php 
                    if ($order == "status_pedido" && $sort == "asc") {
                        echo "sort-asc";
                    } elseif ($order == "status_pedido" && $sort == "desc") {
                        echo "sort-desc";
                    } else {
                        echo "sort";
                    }
                    ?>
">
										<a href="?modo=clientes&offset=<?php 
                    echo $offset;
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo "status_pedido";
                    ?>
&sort=<?php 
                    if ($sort == "desc") {
                        echo "asc";
                    } else {
                        echo "desc";
                    }
                    ?>
">Pedido em aberto?</a>
									</th>
									<th class="col-head col-opcoes">
										<span>Opções</span>
									</th>
								</tr>
							</thead>
							<tbody>
				
								
							<?php 
                    foreach ($clientes as $c) {
                        ?>
								<tr class='cliente-$c->id'>
									<td class="data cliente-cpf"><?php 
                        echo $c->cpf;
                        ?>
</td>
									<td class="data cliente-nome"><?php 
                        echo $c->nome;
                        ?>
</td>
									<td class="data cliente-email"><?php 
                        echo $c->email;
                        ?>
</td>
									<td class="data cliente-statusbol">
										<?php 
                        $totalBolAbertos = $wpdb->get_var($wpdb->prepare("SELECT COUNT(id) FROM " . self::TRAJ_BOLETOS_TABLE . " WHERE cpf = " . $c->cpf . " AND status_boleto = " . self::STATUS_BOLETO_EM_ABERTO));
                        if ($totalBolAbertos > 0) {
                            echo "Sim";
                        } else {
                            echo "Não";
                        }
                        ?>
									</td>
									<td class="data cliente-statuspedido">
										<?php 
                        $totalPedAbertos = $wpdb->get_var($wpdb->prepare("SELECT COUNT(id) FROM " . self::TRAJ_BOLETOS_TABLE . " WHERE cpf=" . $c->cpf . " AND ( status_pedido = " . self::STATUS_PEDIDO_EM_EXECUCAO . " OR status_pedido = " . self::STATUS_PEDIDO_NAO_INICIADO . " )"));
                        if ($totalPedAbertos > 0) {
                            echo "Sim";
                        } else {
                            echo "Não";
                        }
                        ?>
									</td>
									<td class="data cliente-opcoes">
										<select name="cliente-opcao[<?php 
                        echo $c->cpf;
                        ?>
]" class="opcao cliente-opcao">
											<option value="selecione">Selecione</option>
											<option value="boletos_<?php 
                        echo $c->cpf;
                        ?>
">Ver boletos/pedidos</option>
											<option value="dados_<?php 
                        echo $c->cpf;
                        ?>
">Ver dados pessoais</option>
										</select>
									</td>
								</tr>
							<?php 
                    }
                    ?>
				
							</tbody>
						</table>
					</form>
					
					<?php 
                    break;
                default:
                    // tratando ação quick-change
                    $msg["quick_change"] = "";
                    if (isset($_POST['submit_quickchange'])) {
                        if (preg_match('/[^0-9]/', $_POST['nosso_numero']) == TRUE || $_POST['nosso_numero'] === "") {
                            $msg["quick_change"] = '<div class="alert alert-error fade in alert-custom-margin"><button type="button" class="close" data-dismiss="alert">×</button>Por favor, preencha corretamente o campo "nosso número". Ele deve conter apenas números.</div>';
                        } else {
                            $totalBoletos = $wpdb->get_var($wpdb->prepare("SELECT COUNT(id) FROM " . self::TRAJ_BOLETOS_TABLE . " WHERE nosso_numero = {$_POST['nosso_numero']}"));
                            if ($totalBoletos > 0) {
                                switch ($_POST['submit_quickchange']) {
                                    case 'Marcar como pago':
                                        $wpdb->update(self::TRAJ_BOLETOS_TABLE, array('status_boleto' => self::STATUS_BOLETO_PAGO), array('nosso_numero' => $_POST['nosso_numero']));
                                        $msg["quick_change"] = '<div class="alert alert-success fade in alert-custom-margin"><button type="button" class="close" data-dismiss="alert">×</button>Boleto <strong>' . $_POST['nosso_numero'] . '</strong> foi marcado como pago!</div>';
                                        break;
                                    case 'Marcar como não pago':
                                        // checa se boleto venceu
                                        $statusBoleto = $wpdb->get_var($wpdb->prepare("SELECT status_boleto FROM " . self::TRAJ_BOLETOS_TABLE . " WHERE nosso_numero = " . $_POST['nosso_numero']));
                                        if ($statusBoleto != self::STATUS_BOLETO_VENCIDO) {
                                            $wpdb->update(self::TRAJ_BOLETOS_TABLE, array('status_boleto' => self::STATUS_BOLETO_EM_ABERTO), array('nosso_numero' => $_POST['nosso_numero']));
                                            $msg["quick_change"] = '<div class="alert alert-success fade in alert-custom-margin"><button type="button" class="close" data-dismiss="alert">×</button>Boleto <strong>' . $_POST['nosso_numero'] . '</strong> foi marcado como não-pago!</div>';
                                        } else {
                                            $msg["quick_change"] = '<div class="alert alert-error fade in alert-custom-margin"><button type="button" class="close" data-dismiss="alert">×</button>Boleto <strong>' . $_POST['nosso_numero'] . '</strong> passou da data de vencimento.</div>';
                                        }
                                        break;
                                    case 'Cancelar':
                                        $wpdb->update(self::TRAJ_BOLETOS_TABLE, array('status_boleto' => self::STATUS_BOLETO_CANCELADO), array('nosso_numero' => $_POST['nosso_numero']));
                                        $msg["quick_change"] = '<div class="alert alert-success fade in alert-custom-margin"><button type="button" class="close" data-dismiss="alert">×</button>Boleto <strong>' . $_POST['nosso_numero'] . '</strong> foi cancelado!</div>';
                                        break;
                                    case 'Excluir':
                                        $wpdb->delete(self::TRAJ_BOLETOS_TABLE, array('nosso_numero' => $_POST['nosso_numero']));
                                        $msg["quick_change"] = '<div class="alert alert-success fade in alert-custom-margin"><button type="button" class="close" data-dismiss="alert">×</button>Boleto <strong>' . $_POST['nosso_numero'] . '</strong> foi deletado!</div>';
                                        break;
                                    default:
                                        break;
                                }
                            } else {
                                $msg["quick_change"] = '<div class="alert alert-error fade in alert-custom-margin"><button type="button" class="close" data-dismiss="alert">×</button>Boleto <strong>' . $_POST['nosso_numero'] . '</strong> inexistente...</div>';
                            }
                        }
                    }
                    // tratando ação bol-opcao
                    if (isset($_POST['bol-single'])) {
                        foreach ($_POST['bol-single'] as $bolID => $option) {
                            if ($option != "selecione") {
                                switch ($option) {
                                    case "pago_{$bolID}":
                                        $wpdb->update(self::TRAJ_BOLETOS_TABLE, array('status_boleto' => self::STATUS_BOLETO_PAGO), array('id' => $bolID));
                                        break;
                                    case "nao-pago_{$bolID}":
                                        $statusBoleto = $wpdb->get_var($wpdb->prepare("SELECT status_boleto FROM " . self::TRAJ_BOLETOS_TABLE . " WHERE id = " . $bolID));
                                        if ($statusBoleto != self::STATUS_BOLETO_VENCIDO) {
                                            $wpdb->update(self::TRAJ_BOLETOS_TABLE, array('status_boleto' => self::STATUS_BOLETO_EM_ABERTO), array('id' => $bolID));
                                        }
                                        break;
                                    case "cancelar_{$bolID}":
                                        $wpdb->update(self::TRAJ_BOLETOS_TABLE, array('status_boleto' => self::STATUS_BOLETO_CANCELADO), array('id' => $bolID));
                                        break;
                                    case "nao-iniciado_{$bolID}":
                                        $wpdb->update(self::TRAJ_BOLETOS_TABLE, array('status_pedido' => self::STATUS_PEDIDO_NAO_INICIADO), array('id' => $bolID));
                                        break;
                                    case "em-execucao_{$bolID}":
                                        $wpdb->update(self::TRAJ_BOLETOS_TABLE, array('status_pedido' => self::STATUS_PEDIDO_EM_EXECUCAO), array('id' => $bolID));
                                        break;
                                    case "finalizado_{$bolID}":
                                        $wpdb->update(self::TRAJ_BOLETOS_TABLE, array('status_pedido' => self::STATUS_PEDIDO_FINALIZADO), array('id' => $bolID));
                                        break;
                                    case "excluir_{$bolID}":
                                        $wpdb->delete(self::TRAJ_BOLETOS_TABLE, array('id' => $bolID));
                                        break;
                                    case "ver_{$bolID}":
                                        // talvez aqui seja melhor usar uma âncora alterando as query vars
                                        $key = $wpdb->get_var("SELECT key_boleto FROM " . self::TRAJ_BOLETOS_TABLE . " WHERE id = " . $bolID);
                                        $link = self::_helper_boleto_link($key);
                                        echo "<meta http-equiv='refresh' content='0;url={$link}' />";
                                        exit;
                                        break;
                                    case "segunda-via_{$bolID}":
                                        // @todo chamar página boleto pré-poluando os campos
                                        break;
                                    case "enviar_{$bolID}":
                                        // A opção “enviar para cliente” envia um e-mail ao cliente, contendo um link para “ver-boleto” usando a key como query string.$ids = implode(", ", $boletoID);
                                        $boleto = $wpdb->get_row("SELECT id, email, nome, key_boleto FROM " . self::TRAJ_BOLETOS_TABLE . " WHERE id = " . $bolID, OBJECT);
                                        // @todo preparar texto de subject e content
                                        $content = self::_helper_boleto_link($boleto->key_boleto);
                                        self::_send_mail($boleto->email, "Boleto", $content);
                                        break;
                                    case "pedido_{$bolID}":
                                        // talvez aqui seja melhor usar uma âncora alterando as query vars
                                        break;
                                    default:
                                        break;
                                }
                                break;
                            }
                        }
                    }
                    // tratando ação bulk-action
                    if (isset($_POST['boleto'])) {
                        $boletoID = preg_replace('/[^-0-9]/', '', $_POST['boleto']);
                        if ($_POST['bulk-action'] != "selecione") {
                            switch ($_POST['bulk-action']) {
                                case "pago":
                                    foreach ($boletoID as $id) {
                                        $wpdb->update(self::TRAJ_BOLETOS_TABLE, array('status_boleto' => self::STATUS_BOLETO_PAGO), array('id' => $id));
                                    }
                                    // @todo verificar se alterações no banco obtiveram mesmo sucesso para definir mensagem de resultado... aqui e em todas as $msg
                                    $msg["bulk_action"] = '<div class="alert fade in"><button type="button" class="close" data-dismiss="alert">×</button>Os boletos selecionados foram marcados como pagos!</div>';
                                    break;
                                case "nao-pago":
                                    // checa se boleto venceu
                                    foreach ($boletoID as $id) {
                                        $statusBoleto = $wpdb->get_var($wpdb->prepare("SELECT status_boleto FROM " . self::TRAJ_BOLETOS_TABLE . " WHERE id = " . $id));
                                        if ($statusBoleto != self::STATUS_BOLETO_VENCIDO) {
                                            $wpdb->update(self::TRAJ_BOLETOS_TABLE, array('status_boleto' => self::STATUS_BOLETO_EM_ABERTO), array('id' => $id));
                                        }
                                    }
                                    break;
                                case "cancelar":
                                    foreach ($boletoID as $id) {
                                        $wpdb->update(self::TRAJ_BOLETOS_TABLE, array('status_boleto' => self::STATUS_BOLETO_CANCELADO), array('id' => $id));
                                    }
                                    break;
                                case "excluir":
                                    foreach ($boletoID as $id) {
                                        $wpdb->delete(self::TRAJ_BOLETOS_TABLE, array('id' => $id));
                                    }
                                    break;
                                case "enviar":
                                    // A opção “enviar para cliente” envia um e-mail ao cliente, contendo um link para “ver-boleto” usando a key como query string.
                                    $ids = implode(", ", $boletoID);
                                    $boletos = $wpdb->get_results("SELECT id, email, nome, key_boleto FROM " . self::TRAJ_BOLETOS_TABLE . " WHERE id IN (" . $ids . ")", OBJECT_K);
                                    foreach ($boletos as $bol) {
                                        // @todo preparar texto de subject e content
                                        $content = self::_helper_boleto_link($bol->key_boleto);
                                        self::_send_mail($bol->email, "Boleto", $content);
                                    }
                                    break;
                                default:
                                    break;
                            }
                        }
                    }
                    // preparando resumo de valores dos boletos
                    $somaTotal = $wpdb->get_results("SELECT status_boleto, sum( valor ) as total FROM " . self::TRAJ_BOLETOS_TABLE . " GROUP BY status_boleto", OBJECT_K);
                    if (array_key_exists(self::STATUS_BOLETO_EM_ABERTO, $somaTotal)) {
                        $totalNaoPago = $somaTotal[self::STATUS_BOLETO_EM_ABERTO]->total;
                    } else {
                        $totalNaoPago = 0;
                    }
                    if (array_key_exists(self::STATUS_BOLETO_PAGO, $somaTotal)) {
                        $totalPago = $somaTotal[self::STATUS_BOLETO_PAGO]->total;
                    } else {
                        $totalPago = 0;
                    }
                    if (array_key_exists(self::STATUS_BOLETO_VENCIDO, $somaTotal)) {
                        $totalVencido = $somaTotal[self::STATUS_BOLETO_VENCIDO]->total;
                    } else {
                        $totalVencido = 0;
                    }
                    // preparando paginação
                    if (!isset($_GET['order_by'])) {
                        $order = 'data_vencimento';
                    } else {
                        $order = get_query_var('order_by');
                    }
                    if (!isset($_GET['sort'])) {
                        $sort = 'desc';
                    } else {
                        $sort = get_query_var('sort');
                    }
                    if (!isset($_GET['limit'])) {
                        $limit = 20;
                    } else {
                        $limit = get_query_var('limit');
                    }
                    if (!isset($_GET['offset']) || $_GET['offset'] < 0) {
                        $offset = 0;
                    } else {
                        $offset = get_query_var('offset');
                    }
                    if (!isset($_GET['cpf'])) {
                        $boletos = $wpdb->get_results("SELECT t1.*, t2.post_title FROM " . self::TRAJ_BOLETOS_TABLE . " AS t1 LEFT JOIN wp_posts AS t2 ON (t1.post_id = t2.ID) order by {$order} {$sort} LIMIT {$limit} OFFSET {$offset}", OBJECT_K);
                    } else {
                        $cpf = get_query_var('cpf');
                        $boletos = $wpdb->get_results("SELECT * FROM " . self::TRAJ_BOLETOS_TABLE . " WHERE cpf={$cpf} ORDER BY {$order} {$sort} LIMIT {$limit} OFFSET {$offset}", OBJECT_K);
                    }
                    ?>
			
					<div class="clear"></div>
					
					<div class="alert alert-info alert-big center" id="resumo-boletos">
						<div class="row-fluid">
  							<div class="span4">Pago: <span>R$<?php 
                    echo number_format($totalPago, 2, ',', '.');
                    ?>
</span></div>
  							<div class="span4">Não pago: <span>R$<?php 
                    echo number_format($totalNaoPago, 2, ',', '.');
                    ?>
</span></div>
  							<div class="span4">Vencido: <span>R$<?php 
                    echo number_format($totalVencido, 2, ',', '.');
                    ?>
</span></div>
						</div>
					</div>
					
					<div class="alert alert-info alert-big center" id="quick-change">
						<form class="form-inline" method="POST" enctype="multipart/form-data" action="">
							<label for="nosso_numero">Nosso Número:</label>
							<input type="text" name="nosso_numero" class="input-small" id="nosso-numero" />
							<input type="submit" name="submit_quickchange" value="Marcar como pago" class="btn" id="button-marcar-pago" />
							<input type="submit" name="submit_quickchange" value="Marcar como não pago" class="btn" id="button-marcar-naopago" />
							<input type="submit" name="submit_quickchange" value="Cancelar" class="btn" id="button-cancelar" />
							<input type="button" value="Excluir" class="btn" id="button-excluir" />	
							<div class="modal hide fade in" id="excluirBoleto" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
							  <div class="modal-header">
							    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
							    <h3 id="excluir-boleto-ModalLabel">Confirmar exclusão de boleto</h3>
							  </div>
							  <div class="modal-body">
							    <p>Tem certeza que deseja prosseguir? Essa ação não pode ser revertida.</p>
							  </div>
							  <div class="modal-footer">
							    <input type="submit" name="submit_quickchange" value="Excluir" class="btn" />
							    <button class="btn btn-primary close-modal" data-dismiss="modal" aria-hidden="true">Cancelar</button>
							  </div>
							</div>				
						</form>
						<?php 
                    echo $msg["quick_change"];
                    ?>
						<span id="msg-quick-change"></span>
					</div>
					
					<form method="POST" enctype="multipart/form-data" action="" class="form-inline" id="boletos">
						<table class="table table-striped table-custom-padding" id="bol-table" >
							<thead>
								<tr class="bol-tpagination">
									<th colspan="9" >
										<div class="row-fluid table-header">
											<div class="span4 center text">Mostrando boletos <?php 
                    echo $offset + 1;
                    ?>
 a <?php 
                    echo sizeof($boletos) + $offset;
                    ?>
 de <?php 
                    echo $totalBoletos;
                    ?>
</div>
											<div class="span4 center pagination-custom">
												<ul>
													<li><a href="?modo=todos&offset=0&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo $order;
                    ?>
&sort=<?php 
                    echo $sort;
                    if (get_query_var("cpf")) {
                        echo "&cpf=" . get_query_var("cpf");
                    }
                    ?>
"><button class="btn btn-small btn-primary" type="button"><<</button></a></li>
													<li><a href="?modo=todos&offset=<?php 
                    if ($offset - $limit - 1 < 0) {
                        echo 0;
                    } else {
                        echo $offset - $limit;
                    }
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo $order;
                    ?>
&sort=<?php 
                    echo $sort;
                    if (get_query_var("cpf")) {
                        echo "&cpf=" . get_query_var("cpf");
                    }
                    ?>
"><button class="btn btn-small btn-primary" type="button"><</button></a></li>
													<li><input type="text" class="input-mini" id="ir-para-pagina" value="<?php 
                    echo floor($offset / $limit) + 1;
                    ?>
" /></li>
													<li><a href="?modo=todos&offset=<?php 
                    if ($offset + $limit + 1 > $totalBoletos) {
                        echo $offset;
                    } else {
                        echo $offset + $limit;
                    }
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo $order;
                    ?>
&sort=<?php 
                    echo $sort;
                    if (get_query_var("cpf")) {
                        echo "&cpf=" . get_query_var("cpf");
                    }
                    ?>
"><button class="btn btn-small btn-primary" type="button">></button></a></li>
													<li><a href="?modo=todos&offset=<?php 
                    if ($totalBoletos % $limit == 0) {
                        echo $totalBoletos - $limit;
                    } else {
                        echo $totalBoletos - $totalBoletos % $limit;
                    }
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo $order;
                    ?>
&sort=<?php 
                    echo $sort;
                    if (get_query_var("cpf")) {
                        echo "&cpf=" . get_query_var("cpf");
                    }
                    ?>
"><button class="btn btn-small btn-primary" type="button">>></button></a></li>
												</ul>
											</div>
											<div class="span4 center form-inline">
												<label for="boletos-por-pagina">Boletos por página:</label>
												<select name="limit" class="input-mini" id="boletos-por-pagina">
													<option class="active"><?php 
                    echo $limit;
                    // @todo popular dinamicamente essa select com a quantidade real de páginas até no máximo 20
                    ?>
</option>
													<option value="1">1</option>
													<option value="5">5</option>
													<option value="10">10</option>
													<option value="15">15</option>
													<option value="20">20</option>
												</select>
											</div>
										</div> 
									</th>
								</tr>
								<tr class="bol-thead">
									<th class="col-head"></th>
									<th class="col-head <?php 
                    if ($order == "nosso_numero" && $sort == "asc") {
                        echo "sort-asc";
                    } elseif ($order == "nosso_numero" && $sort == "desc") {
                        echo "sort-desc";
                    } else {
                        echo "sort";
                    }
                    ?>
">
										<a href="?modo=todos&offset=<?php 
                    echo $offset;
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo "nosso_numero";
                    ?>
&sort=<?php 
                    if ($sort == "desc") {
                        echo "asc";
                    } else {
                        echo "desc";
                    }
                    if (get_query_var("cpf")) {
                        echo "&cpf=" . get_query_var("cpf");
                    }
                    ?>
">Nosso Número</a>
									</th>
									<th class="col-head <?php 
                    if ($order == "data_criacao" && $sort == "asc") {
                        echo "sort-asc";
                    } elseif ($order == "data_criacao" && $sort == "desc") {
                        echo "sort-desc";
                    } else {
                        echo "sort";
                    }
                    ?>
">
										<a href="?modo=todos&offset=<?php 
                    echo $offset;
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo "data_criacao";
                    ?>
&sort=<?php 
                    if ($sort == "desc") {
                        echo "asc";
                    } else {
                        echo "desc";
                    }
                    if (get_query_var("cpf")) {
                        echo "&cpf=" . get_query_var("cpf");
                    }
                    ?>
">Emissão</a>
									</th>
									<th class="col-head <?php 
                    if ($order == "data_vencimento" && $sort == "asc") {
                        echo "sort-asc";
                    } elseif ($order == "data_vencimento" && $sort == "desc") {
                        echo "sort-desc";
                    } else {
                        echo "sort";
                    }
                    ?>
">
										<a href="?modo=todos&offset=<?php 
                    echo $offset;
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo "data_vencimento";
                    ?>
&sort=<?php 
                    if ($sort == "desc") {
                        echo "asc";
                    } else {
                        echo "desc";
                    }
                    if (get_query_var("cpf")) {
                        echo "&cpf=" . get_query_var("cpf");
                    }
                    ?>
">Vencimento</a>
									</th>
									<th class="col-head <?php 
                    if ($order == "nome" && $sort == "asc") {
                        echo "sort-asc";
                    } elseif ($order == "nome" && $sort == "desc") {
                        echo "sort-desc";
                    } else {
                        echo "sort";
                    }
                    ?>
">
										<a href="?modo=todos&offset=<?php 
                    echo $offset;
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo "nome";
                    ?>
&sort=<?php 
                    if ($sort == "desc") {
                        echo "asc";
                    } else {
                        echo "desc";
                    }
                    if (get_query_var("cpf")) {
                        echo "&cpf=" . get_query_var("cpf");
                    }
                    ?>
">Cliente</a>
									</th>
									<th class="col-head <?php 
                    if ($order == "post_title" && $sort == "asc") {
                        echo "sort-asc";
                    } elseif ($order == "post_title" && $sort == "desc") {
                        echo "sort-desc";
                    } else {
                        echo "sort";
                    }
                    ?>
">
										<a href="?modo=todos&offset=<?php 
                    echo $offset;
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo "post_title";
                    ?>
&sort=<?php 
                    if ($sort == "desc") {
                        echo "asc";
                    } else {
                        echo "desc";
                    }
                    if (get_query_var("cpf")) {
                        echo "&cpf=" . get_query_var("cpf");
                    }
                    ?>
">Serviço</a>
									</th>
									<th class="col-head <?php 
                    if ($order == "status_boleto" && $sort == "asc") {
                        echo "sort-asc";
                    } elseif ($order == "status_boleto" && $sort == "desc") {
                        echo "sort-desc";
                    } else {
                        echo "sort";
                    }
                    ?>
">
										<a href="?modo=todos&offset=<?php 
                    echo $offset;
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo "status_boleto";
                    ?>
&sort=<?php 
                    if ($sort == "desc") {
                        echo "asc";
                    } else {
                        echo "desc";
                    }
                    if (get_query_var("cpf")) {
                        echo "&cpf=" . get_query_var("cpf");
                    }
                    ?>
">Status Boleto</a>
									</th>
									<th class="col-head <?php 
                    if ($order == "status_pedido" && $sort == "asc") {
                        echo "sort-asc";
                    } elseif ($order == "status_pedido" && $sort == "desc") {
                        echo "sort-desc";
                    } else {
                        echo "sort";
                    }
                    ?>
">
										<a href="?modo=todos&offset=<?php 
                    echo $offset;
                    ?>
&limit=<?php 
                    echo $limit;
                    ?>
&order_by=<?php 
                    echo "status_pedido";
                    ?>
&sort=<?php 
                    if ($sort == "desc") {
                        echo "asc";
                    } else {
                        echo "desc";
                    }
                    if (get_query_var("cpf")) {
                        echo "&cpf=" . get_query_var("cpf");
                    }
                    ?>
">Status Pedido</a>
									</th>
									<th class="col-head col-opcoes">
										<span>Opções</span>
									</th>
								</tr>
							</thead>
							<tbody>
				
								
							<?php 
                    foreach ($boletos as $bol) {
                        ?>
								<tr class='bol-$bol->id'>
									<td class="check bol-check"><input type='checkbox' name='boleto[]' value='<?php 
                        echo $bol->id;
                        ?>
' /></td>
									<td class="data bol-nossonumero"><?php 
                        echo $bol->nosso_numero;
                        ?>
</td>
									<td class="data bol-dtemissao"><?php 
                        echo substr_replace(date_to_br($bol->data_criacao), "", 10);
                        ?>
</td>			
									<td class="data bol-dtvencimento"><?php 
                        echo substr_replace(date_to_br($bol->data_vencimento), "", 10);
                        ?>
</td>
									<td class="data bol-cliente"><?php 
                        echo $bol->nome;
                        ?>
</td>
									<td class="data bol-servico"><?php 
                        echo $bol->post_title;
                        ?>
</td>
									<td class="data bol-statusbol">
										<?php 
                        switch ($bol->status_boleto) {
                            case self::STATUS_BOLETO_EM_ABERTO:
                                echo "Aberto";
                                break;
                            case self::STATUS_BOLETO_CANCELADO:
                                echo "Cancelado";
                                break;
                            case self::STATUS_BOLETO_PAGO:
                                echo "Pago";
                                break;
                            case self::STATUS_BOLETO_VENCIDO:
                                echo "Vencido";
                                break;
                            default:
                                break;
                        }
                        ?>
									</td>
									<td class="data bol-statuspedido">
										<?php 
                        switch ($bol->status_pedido) {
                            case self::STATUS_PEDIDO_NAO_INICIADO:
                                echo "Aguardando";
                                break;
                            case self::STATUS_PEDIDO_EM_EXECUCAO:
                                echo "Em execução";
                                break;
                            case self::STATUS_PEDIDO_FINALIZADO:
                                echo "Finalizado";
                                break;
                            default:
                                break;
                        }
                        ?>
									</td>
									<td class="data bol-opcoes">
										<select name="bol-single[<?php 
                        echo $bol->id;
                        ?>
]" class="opcao bol-opcao">
											<option value="selecione">Selecione</option>
											<optgroup label="Mudar status do boleto:">
												<option value="pago_<?php 
                        echo $bol->id;
                        ?>
">Pago</option>
												<option value="nao-pago_<?php 
                        echo $bol->id;
                        ?>
">Aberto</option>
												<option value="cancelar_<?php 
                        echo $bol->id;
                        ?>
">Cancelado</option>
											</optgroup>
											<optgroup label="Mudar status do pedido:">
												<option value="nao-iniciado_<?php 
                        echo $bol->id;
                        ?>
">Aguardando</option>
												<option value="em-execucao_<?php 
                        echo $bol->id;
                        ?>
">Em execução</option>
												<option value="finalizado_<?php 
                        echo $bol->id;
                        ?>
">Finalizado</option>
											</optgroup>
											<option value="ver_<?php 
                        echo self::_helper_boleto_link($bol->key_boleto);
                        ?>
">Ver boleto</option>
											<option value="pedido_<?php 
                        echo $bol->id;
                        ?>
">Ver pedido</option>
											<option value="enviar_<?php 
                        echo $bol->id;
                        ?>
">Enviar para cliente</option>
											<option value="segunda-via_<?php 
                        echo $bol->id;
                        ?>
">Gerar segunda via</option>
											<option value="excluir_<?php 
                        echo $bol->id;
                        ?>
">Excluir</option>
										</select>
									</td>
								</tr>
							<?php 
                    }
                    ?>
				
							</tbody>
						</table>
						
						<div class="form-actions center">
							<label for="bulk-action">Com marcados:</label>
							<select name="bulk-action" id="bulk-action">
								<option value="selecione">Selecione</option>
								<option value="pago">Marcar como pago</option>
								<option value="nao-pago">Marcar como aberto</option>
								<option value="cancelar">Cancelar</option>
								<option value="excluir">Excluir</option>
								<option value="enviar">Enviar para cliente</option>
							</select>
						</div>
						
					</form>
					
			<?php 
                    break;
            }
            ?>
			
			<div class="modal hide fade in" id="excluir-boleto-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
			  <div class="modal-header">
			    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
			    <h3 id="excluir-boleto-ModalLabel">Confirmar exclusão de boleto</h3>
			  </div>
			  <div class="modal-body">
			    <p>Tem certeza que deseja prosseguir? Essa ação não pode ser revertida.</p>
			  </div>
			  <div class="modal-footer">
			    <input type="submit" id="excluir-boleto" value="Excluir" class="btn" />
			    <button class="btn btn-primary close-modal" data-dismiss="modal" aria-hidden="true">Cancelar</button>
			  </div>
			</div>
			
			<div class="modal hide fade in" id="generic-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"></div>
			
			<script type="text/javascript">

				jQuery(document).ready(function() {
					
					jQuery("#ir-para-pagina").keyup(function(e) {
						if(e.keyCode == 13) {
							var intRegex = /^\d+$/;
							var pagina = jQuery(this).val();
							var offset = <?php 
            echo $limit;
            ?>
 * (pagina - 1);
							if (pagina < 1 || pagina > <?php 
            echo ceil($totalBoletos / $limit);
            ?>
|| !intRegex.test(pagina) ) {
								offset = <?php 
            echo $offset;
            ?>
							}
							window.location.href = '<?php 
            echo get_permalink() . "?modo=" . get_query_var('modo');
            ?>
&offset=' + offset + '&limit=<?php 
            echo $limit;
            ?>
&order_by=<?php 
            echo $order;
            ?>
&sort=<?php 
            echo $sort;
            if (get_query_var("cpf")) {
                echo "&cpf=" . get_query_var("cpf");
            }
            ?>
';
						}
					});
					
					jQuery("#boletos-por-pagina").change(function() {
						window.location.href = '<?php 
            echo get_permalink() . "?modo=" . get_query_var('modo');
            ?>
&offset=0&limit=' + jQuery(this).val() + '&order_by=<?php 
            echo $order;
            ?>
&sort=<?php 
            echo $sort;
            if (get_query_var("cpf")) {
                echo "&cpf=" . get_query_var("cpf");
            }
            ?>
';
					});

					jQuery(".cliente-opcao").change(function() {
						var option = jQuery(this).val().split("_");
						var cpf = option[1];
						switch (option[0]) {
							case "boletos":
								window.location.href = '<?php 
            echo get_permalink() . "?modo=todos&offset=0";
            ?>
&limit=<?php 
            echo $limit;
            ?>
&order_by=<?php 
            echo $order;
            ?>
&sort=<?php 
            echo $sort;
            ?>
&cpf=' + cpf;
								break;
							case "dados":
								jQuery.ajax({
									url: "<?php 
            echo plugins_url("popups.php", __FILE__);
            ?>
?popup=cliente&cpf=" + cpf,
								 	dataType: "html"
								}).done(function(data){
									jQuery("#generic-modalLabel").html("Detalhes do cliente");
									jQuery("#generic-modal").html(data);
									jQuery("#generic-modal").modal("show");
								});

								break;
						}
						
					});

					jQuery(".bol-opcao").change(function() {
						var option = jQuery(this).val().split("_");
						var id = option[1];
						switch (option[0]) {
							case "excluir":
								// usar modal para confirmar exclusão do boleto
								jQuery("#excluir-boleto-modal").modal("show");
								break;
							case "ver":
								// chama ver-boleto passando a key
								redireciona(id);
								break;
							case "segunda-via":
								// chama “boleto”, para que seja criado um NOVO boleto 
								// (neste caso, os campos são pré-populados com os dados do cliente, 
								// valor, etc., 
								// MAS aplicando uma nova data de vencimento a partir da data atual de emissão). 
								break;
							case "pedido":
								jQuery.ajax({
									url: "<?php 
            echo plugins_url("popups.php", __FILE__);
            ?>
?popup=pedido&bol-id=" + id,
								 	dataType: "html"
								}).done(function(data){
									jQuery("#generic-modalLabel").html("Detalhes do pedido");
									jQuery("#generic-modal").html(data);
									jQuery("#generic-modal").modal("show");
								});
								
								break;
							default:
								jQuery("#boletos").submit();
								break;
						}
					});

					jQuery("#bulk-action").change(function() {
						var option = jQuery(this).val();
						switch (option) {
							case "excluir":
								jQuery("#excluir-boleto-modal").modal("show");
								break;
							default:
								jQuery("#boletos").submit();
								break;
						}
					});

					jQuery("#button-excluir").click(function() {
						var nossoNumero = jQuery("#nosso-numero").val();
						var intRegex = /^\d+$/;
						if ( !intRegex.test(nossoNumero) ) {
							jQuery("#msg-quick-change").html('<div class="alert alert-error fade in alert-custom-margin"><button type="button" class="close" data-dismiss="alert">×</button>Por favor, preencha corretamente o campo "nosso número". Ele deve conter apenas números.</div>');
						} else {
							jQuery("#excluirBoleto").modal("show");
						}
					});
					
					jQuery("#excluir-boleto").click(function() {
						jQuery("#boletos").submit();
					});


					jQuery(".close-modal").click(function(){
						jQuery(".opcao").val("Selecione");
						jQuery("#bulk-action").val("Selecione");
					});


					function redireciona(url)
					{
						window.location.href = url;
					}
					
				});
				
			</script>
			
			<?php 
        }
    }