<?php

$pasta = dirname(__FILE__) . '/../../';

require_once $pasta . 'includes/inicio.php';
require_once $pasta . 'includes/verificaSessao.php';

// Página
$pagina = 'categoria';
$direct = 'cms-' . $pagina;

if (isset($_GET['t'])) {
    $ac = Acesso::check($direct);

    switch ($_GET['t']) {
        case 'inserir':
            if ($ac->inserir()) {

                $nome = trim($_POST['nome']);
                $slug = trim($_POST['slug']);

                $objCategoria = new Categoria();
                $objCategoria->id = 0;
                $objCategoria->nome = $nome;
                $objCategoria->slug = $slug;

                $objLog = LogCMS::inserir($_SESSION['sesCMSCodigo'], 'Inserir ' . ucfirst($pagina), $_SESSION['sesCMSIP']);

                try {
                    $objCategoria->inserir();
                    Message::success('Operação realizada com sucesso.');
                } catch (BancoExcecao $ex) {
                    $direct = $direct . '-inserir';
                    Message::error($ex->getMessage());
                    exit;
                }
            } else {
                Message::error('Acesso negado.');
            }
        break;

        case 'editar':
            if ($ac->editar()) {

                $id = $_POST['id'];
                $nome = trim(@$_POST['nome']);
                $slug = trim($_POST['slug']);

                $objCategoria = new Categoria();
                $objCategoria->id = $id;
                $objCategoria->nome = $nome;
                $objCategoria->slug = $slug;

                $objLog = LogCMS::inserir($_SESSION['sesCMSCodigo'], 'Editar ' . ucfirst($pagina), $_SESSION['sesCMSIP']);

                try {
                    $objCategoria->editar();
                    Message::success('Operação realizada com sucesso');
                } catch (BancoExcecao $ex) {
                    $direct = $direct . '-editar&id=' . $_POST['id'];
                    Message::error($ex->getMessage());
                    exit;
                }
            } else {
                Message::error('Acesso negado.');
            }
        break;

        case 'excluir':
            if ($ac->excluir()) {
                $arrIds = (isset($_POST['id'])) ? $_POST['id'] : '';
                $arrIds = explode(',', $arrIds);

                if (count($arrIds) > 0) {
                    $objLog = LogCMS::inserir($_SESSION['sesCMSCodigo'], 'Excluir ' . ucfirst($pagina), $_SESSION['sesCMSIP']);

                    foreach ($arrIds as $id) {
                        try {
                            $excluir = Categoria::excluir($id);
                            echo 'sucesso';
                            // Message::success("Operação realizada com sucesso.");
                        } catch (BancoExcecao $ex) {
                            // Message::error($ex->getMessage());
                            echo 'erro';
                            break;
                        }
                    }
                }
            } else {
                // Message::error("Acesso negado.");
                echo 'erro';
            }
        break;

        case 'status':
            $objLog = LogCMS::inserir($_SESSION['sesCMSCodigo'], 'Alterou status do ' . ucfirst($pagina) . ' ' . $_POST['id'], $_SESSION['sesCMSIP']);
            echo Categoria::mudaStatus($_POST['id']);
            exit;
        break;
    }
}

if (!$_GET['ajax']) {
    Util::redirect(Util::baseUrl() . 'cms/?i=' . $direct);
}
