<?php

	function getOne($fields = array(), $table, $fieldOnTable, $whatToLookFor, $args = null, $conn)
	{

		if (is_array($fields)) {
			$fields = implode(', ', $fields);
		}

		try {

			$query = $conn->prepare("SELECT {$fields} FROM {$table} WHERE {$fieldOnTable} = :campoNaTabela");
			$query->bindParam(':campoNaTabela', $whatToLookFor, PDO::PARAM_STR);
			$query->execute();
			$arrData = $query->fetch();

			return $arrData;

		} catch (Exception $e) {
			echo "Erro ao buscar dados da tabela {$table}\n\n",$e->getMessage();
		}

	}

	function getAll($fields = array(), $table, $fieldOnTable, $whatToLookFor, $conn)
	{

		if (is_array($fields)) {
			$fields = implode(', ', $fields);
		}

		try {

			$aux = NULL;
			if ($fieldOnTable && $whatToLookFor) {
				$aux = "WHERE {$fieldOnTable} = :campoNaTabela";
			}

			$query = $conn->prepare("SELECT {$fields} FROM {$table} $aux ORDER BY id");

			if ($fieldOnTable && $whatToLookFor) {
				$query->bindParam(':campoNaTabela', $whatToLookFor, PDO::PARAM_STR);
			}

			$query->execute();
			$arrData = $query->fetchAll(PDO::FETCH_ASSOC);

			return $arrData;

		} catch (Exception $e) {
			echo "Erro ao buscar dados da tabela {$table}\n\n",$e->getMessage();
		}

	}

	/**
	 * [defaultMetadata description]
	 * @param  [PDO Obj] $conn [description]
	 * @return [string]        [description]
	 */
	function defaultMetadata($id, $conn)
	{
		try {

			$query = $conn->prepare("SELECT conteudo FROM adm_seo WHERE idSeo = :id");
			$query->bindParam(':id', $id, PDO::PARAM_INT);
			$query->execute();
			$description = $query->fetchColumn(0);
			return $description;
			
		} catch (Exception $e) {
			echo "Erro ao busar meta dados padrão da página.\n\n",$e->getMessage();
			return false;
		}
	}

	/**
	 * [getMetadata description]
	 * @param  [string] $field     [Campo da tabela para retornar]
	 * @param  [string] $table     [Tabela para buscar]
	 * @param  [string] $slug      [Campo que contém a slug ou afim]
	 * @param  [string] $slugField [Slug ou afim]
	 * @param  [PDO Obj] $conn     [Obejto de conexão]
	 * @return [string | false]    [String contendo os dados ou não]
	 */
	function getMetadata($field, $table, $slugField, $slug, $conn)
	{
		try {

			$query = $conn->prepare("SELECT {$field} FROM {$table} WHERE {$slugField} = :slug");
			$query->bindParam(':slug', $slug, PDO::PARAM_STR);
			$query->execute();
			$data = $query->fetchColumn(0);

			if (!empty($data)) { return $data; }
			else { return false; }

		} catch (Exception $e) {
			echo "Erro ao buscar {$field} da página.\n\n",$e->getMessage();
			return false;
		}
	}

	function url($string) {

		$aceito = ['www.', 'http'];

		$inicio = substr($string, 0,4);

		if (!in_array($inicio, $aceito)) {
			return '//'.$string;
		}

		return $string;

	}