<?php

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

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

// Página
$pagina = 'tela';
$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']);

                $param = array();
                $param[] = Util::montaParametros(':slug', $slug, 'STR');
                $tela = Tela::listar('slug LIKE :slug', $param);

                if ($tela) {
                    $direct = $direct . '-inserir';
                    Message::error('Essa tela já existe.');
                    break;
                }

                $objTela = new Tela();
                $objTela->id = 0;
                $objTela->nome = $nome;
                $objTela->slug = $slug;

                $objLog = LogCMS::inserir($_SESSION['sesCMSCodigo'], 'Inseriu ' . ucfirst($pagina) . ' - ' . $_POST['nome'], $_SESSION['sesCMSIP']);

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

        case 'editar':
            if ($ac->editar()) {
                $direct = $direct . '-editar&id=' . $_POST['id'];

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

                $objTela = new Tela();
                $objTela->id = $id;
                $objTela->nome = $nome;
                $objTela->slug = $slug;

                $objLog = LogCMS::inserir($_SESSION['sesCMSCodigo'], 'Editou ' . ucfirst($pagina) . ' - ' . $_POST['nome'], $_SESSION['sesCMSIP']);

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

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

                if (count($arrIds) > 0) {
                    foreach ($arrIds as $id) {
                        try {
                            $tela = Tela::buscar($id);
                            $excluir = Tela::excluir($id);
                            $msg = 'Excluiu ' . ucfirst($pagina) . ' - ' . $tela->nome;
                            $objLog = LogCMS::inserir($_SESSION['sesCMSCodigo'], $msg, $_SESSION['sesCMSIP']);
                            echo 'sucesso';
                        } catch (BancoExcecao $ex) {
                            // Message::error($ex->getMessage());
                            echo 'erro';
                            break;
                        }
                    }
                }
            } else {
                echo 'erro';
            }
        break;

        case 'status':
            $tela = Tela::buscar($_POST['id']);
            $ativo = Tela::mudaStatus($_POST['id']);
            $msg = $ativo ? 'Ativou' : 'Desativou';
            $objLog = LogCMS::inserir($_SESSION['sesCMSCodigo'], $msg . ' Tela - ' . $tela->nome, $_SESSION['sesCMSIP']);
            echo $ativo;
            exit;
        break;
    }
}

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