<?php import_file(DIR_TEMPLATES."header_website.php", ["title" => "Lojas"]); ?>
<?php import_file(DIR_MODELS."Model.class.php"); ?>

<?php 
		
	$pesquisa = filter_input(INPUT_GET, "pesquisa", FILTER_SANITIZE_STRING);
	$pagina = (!empty($_GET["pag"])) ? (int) filter_input(INPUT_GET, "pag", FILTER_SANITIZE_NUMBER_INT) : 1;
	$id_estado = (int) (isset($_GET["estado"])) ? filter_input(INPUT_GET, "estado", FILTER_SANITIZE_NUMBER_INT) : Session::get("id_estado");
	$id_cidade = (int) (isset($_GET["cidade"])) ? filter_input(INPUT_GET, "cidade", FILTER_SANITIZE_NUMBER_INT) : Session::get("id_cidade");
	$id_categoria_loja = (!empty($_GET["categoria"])) ? (int) filter_input(INPUT_GET, "categoria", FILTER_SANITIZE_NUMBER_INT) : null;
	$id_subcategoria_loja = (isset($_GET["subcategoria"])) ? filter_var_array($_GET["subcategoria"], FILTER_SANITIZE_NUMBER_INT) : [];

	$link_pagina = "";

	$link_pagina .= "pesquisa=".urlencode($pesquisa)."&";
	$link_pagina .= "estado=".urlencode($id_estado)."&";
	$link_pagina .= "cidade=".urlencode($id_cidade)."&";
	$link_pagina .= "categoria=".urlencode($id_categoria_loja)."&";

	for ($i=0; $i < count($id_subcategoria_loja); $i++) { 
		$link_pagina .= "subcategoria=".urlencode($id_subcategoria_loja[$i])."&";
	}

	$model = new Model();

?>

<div class="container mt-4">
	<?php 
		import_file(DIR_COMPONENTS."filtro_loja.php", compact(
			"pesquisa",
			"id_estado",
			"id_cidade",
			"id_categoria_loja",
			"id_subcategoria_loja",
			"pagina"
		)); 
	?>

	<div class="mb-3">
		<?php

			$maximo = 20;

			$query = "";

			if (!empty($id_estado) and is_numeric($id_estado)) {
				$query .= " AND id_estado = ".anti_injection($id_estado);
			}

			if (!empty($id_cidade) and is_numeric($id_cidade)) {
				$query .= " AND id_cidade = ".anti_injection($id_cidade);
			}

			if (!empty($id_categoria_loja) and is_numeric($id_categoria_loja)) {
				$query .= " AND id_categoria_loja = ".anti_injection($id_categoria_loja);
			}

			if (isset($id_subcategoria_loja) and is_array($id_subcategoria_loja)) {
				if (count($id_subcategoria_loja) > 0) {
					$aux = "";

					for ($i=0; $i < count($id_subcategoria_loja); $i++) { 
						if (!empty($id_subcategoria_loja[$i])) {
							if (($i + 1) == count($id_subcategoria_loja)) {
								$aux .= intval($id_subcategoria_loja[$i]);
							}
							else {
								$aux .= intval($id_subcategoria_loja[$i]).", ";
							}
						}
					}

					if (!empty($aux)) {
						$query .= " AND id_subcategoria_loja IN({$aux})";
					}
				}
			}

			$inicio = (($maximo*$pagina)-$maximo);

			$result = $model->query("
				SELECT
					a.*
				FROM loja a
				LEFT JOIN loja_subcategoria b ON (a.id_loja = b.id_loja)
				WHERE 
					(
						a.nome_loja LIKE :pesquisa OR
						a.descricao_loja LIKE :pesquisa
					)
					$query
				GROUP BY 
					a.id_loja
				ORDER BY 
					a.id_loja DESC
				LIMIT 
					:maximo OFFSET :inicio
			", [
				":pesquisa" => "%".$pesquisa."%", 
				":maximo" => $maximo, 
				":inicio" => $inicio
			]);

		?>

		<nav aria-label="breadcrumb">
			<ol class="breadcrumb">
				<li class="breadcrumb-item"><a href="<?php echo show_link("/"); ?>">Início</a></li>
				<li class="breadcrumb-item active" aria-current="page">Lojas</li>
			</ol>
		</nav>

		<?php if ($result->rowCount() > 0): ?>
			<div class="form-row">
				<?php foreach ($result->fetchAll() as $i): ?>
					<div class="col-xl-3 col-lg-4 col-md-6 col-sm-12">
						<a href="<?php echo show_link("/visualizar-loja/?loja=".urlencode(encrypt_encode($i->id_loja))."&".$_SERVER["QUERY_STRING"]); ?>" class="text-dark" style="text-decoration: none;">
							<div class="card my-2">
								<div 
									class="card-img-top" 
									style="
										width: 100%;
										height: 250px;
										background-image: url('<?php echo show_link($i->banner_loja); ?>');
										background-repeat: no-repeat;
										background-position: center;
										background-size: cover;
								"></div>
								<div class="card-body border-top" style="padding: 0.75rem;">
									<div class="card-title" style="height: 45px; font-size: 18px;">
										<?php echo compress_string($i->nome_loja, 50); ?>	
									</div>
									
								</div>
							</div>
						</a>
					</div>
				<?php endforeach; ?>
			</div>

			<ul class="pagination justify-content-center mt-2" style="margin-bottom: -15px;">
				<?php 

					$busca = $model->query("
						SELECT * FROM loja a
						LEFT JOIN loja_subcategoria b ON (a.id_loja = b.id_loja)
						WHERE 
							(
								a.nome_loja LIKE :pesquisa OR
								a.descricao_loja LIKE :pesquisa
							)
							$query
						GROUP BY 
							a.id_loja
					", [
						":pesquisa" => "%".$pesquisa."%"
					]);

					$total  = $busca->rowCount();

					$total_paginas = ceil($total/$maximo);
								   
					if ($pagina <= $total_paginas and $pagina > 1) {
		 				echo '<li class="page-item"><a href="?'.$link_pagina.'pag='.($pagina-1).'" class="page-link"><span aria-hidden="true">&laquo;</span></a> </li>';
					}

					echo ' <li class="page-item active"><p class="page-link">'.$pagina.'</p></li> ';

					if ($pagina < $total_paginas) {	
						echo '<li class="page-item"><a href="?'.$link_pagina.'pag='.($pagina+1).'" class="page-link"><span aria-hidden="true">&raquo;</span></a></li> ';
					}
					
				?>
			</ul>
		<?php else: ?>
			<h5 class="text-center">
				<i>Nenhuma loja encontrada!</i>
			</h5>
		<?php endif; ?>
	</div>
</div>

<?php import_file(DIR_TEMPLATES."footer_website.php"); ?>