<?php

require_once 'connect.php';
require_once 'inc/messages.php';

// retorna array com lista de módulos, ou false se deu erro
function modulo_getAll() {
  global $conexao;
  $sql = "select * from erpc_modulos where st_ativo=?";
  $values[] = '1';
  $result = _prepareAndQuery($sql, $values);
  return $result;
}

// retorna array associativo com objeto, ou false se deu erro/não encontrar
function modulo_getById($id) {
  global $conexao;
  $sql = "select * from erpc_modulos where id=? and st_ativo=1";
  $values[] = $id;
  $result = _prepareAndQuery($sql, $values);
  if ($result !== false) {
    if (count($result) === 1) {
      $result = $result[0];
    } else {
      $result = false;
      addError('Id não encontrado');
    }
  }
  return $result;
}

// insere novo módulo
function modulo_insert($modulo) {
  global $conexao;
  $ok = false;
  $sql = 'insert into erpc_modulos ';
  $campos = array('ds_modulo', 'ds_path_modulo', 'ds_icone', 'st_ativo');
  $values = array($modulo['ds_modulo'], $modulo['ds_path_modulo'], $modulo['ds_icone'], $modulo['st_ativo']);
  $sql .= '(' . implode(',', $campos) . ') values (' . trim(str_repeat('?,', count($values)), ',') . ')';

  $ok = _prepareAndExecute($sql, $values);
  if ($ok !== false) {
    addMessage('Inserido com sucesso');
  }
  return $ok;
}

// altera a senha do usuário
function modulo_update($modulo) {
  global $conexao;
  $ok = false;
  $sql = 'update erpc_modulos set ds_modulo = ?, ds_path_modulo = ?, ds_icone = ?';
  $values = array($modulo['ds_modulo'], $modulo['ds_path_modulo'], $modulo['ds_icone']);
  $sql .= ' where id = ?';
  $values[] = $modulo['id'];
  $ok = _prepareAndExecute($sql, $values);
  if ($ok !== false) {
    addMessage('Atualizado com sucesso');
  }
  return $ok;
}

function modulo_delete($modulo) {
  global $conexao;
  $ok = false;
  $sql = 'update erpc_modulos set st_ativo = 0';
  $values = array();
  $sql .= ' where id = ?';
  $values[] = $modulo['id'];
  $ok = _prepareAndExecute($sql, $values);
  if ($ok !== false) {
    addMessage('Removido com sucesso');
  }
  return $ok;
}

function modulo_create() {
  date_default_timezone_set('America/Sao_Paulo');
  $modulo = array(
    'id' => '',
    'ds_modulo' => '',
    'ds_path_modulo' => '',
    'ds_icone' => '',
    'st_ativo' => '1',
  );
  return $modulo;
}
