| Server IP : 23.111.136.34 / Your IP : 216.73.216.136 Web Server : Apache System : Linux servidor.eurohost.com.br 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : meusitei ( 1072) PHP Version : 5.6.40 Disable Function : show_source, system, shell_exec, passthru, proc_open MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/meusitei/www/controle/models/grupo/ |
Upload File : |
<?php
class GrupoModel
{
/**
* Construtor para essa classe
*
* Configura o DB, o controlador, os parâmetros e dados do usuário.
*
* @since 0.1
* @access public
* @param object $db Objeto da nossa conexão PDO
* @param object $controller Objeto do controlador
*/
/**
* $form_data
*
* Os dados do formulário de envio.
*
* @access public
*/
public $form_data;
/**
* $form_msg
*
* As mensagens de feedback para o usuário.
*
* @access public
*/
public $form_msg;
/**
* $db
*
* O objeto da nossa conexão PDO
*
* @access public
*/
public $db;
/**
* Construtor
*
* Carrega o DB.
*
* @since 0.1
* @access public
*/
public function __construct( $db = false ) {
$this->db = $db;
}
/**
* Verificação
*/
public function validate_register_form () {
// Configura os dados do formulário
$this->form_data = array();
// Verifica se algo foi postado
if ( 'POST' == $_SERVER['REQUEST_METHOD'] && ! empty ( $_POST ) ) {
// Faz o loop dos dados do post
foreach ( $_POST as $key => $value ) {
// Configura os dados do post para a propriedade $form_data
$this->form_data[$key] = $value;
// Nós não permitiremos nenhum campos em branco
if ( empty($value)) {
$this->form_msg = '
<script type="text/javascript">
$(document).ready(function(){
$.gritter.add({
title: "Erro Interno!",
text: "Preencha todos os dados corretamente!",
class_name: "danger"
});
});
</script>';
// Termina
return;
}
}
if ( empty($_POST['permissoes'])) {
$this->form_msg = '
<script type="text/javascript">
$(document).ready(function(){
$.gritter.add({
title: "Erro Interno!",
text: "Preencha todos os dados corretamente!",
class_name: "danger"
});
});
</script>';
return;
}
} else {
// Termina se nada foi enviado
return;
}
// Verifica se a propriedade $form_data foi preenchida
if( empty( $this->form_data ) ) {
return;
}
// Verifica se o usuário existe
$db_check_user = $this->db->query (
'SELECT * FROM `grupo` WHERE `nome` = ?',
array(
chk_array( $this->form_data, 'nome')
)
);
// Verifica se a consulta foi realizada com sucesso
if ( ! $db_check_user ) {
$this->form_msg = '
<script type="text/javascript">
$(document).ready(function(){
$.gritter.add({
title: "Erro Interno!",
text: "Ocorreu um erro interno durante o processamento!",
class_name: "danger"
});
});
</script>';
return;
}
// Obtém os dados da base de dados MySQL
$fetch_user = $db_check_user->fetch();
// Configura o ID do usuário
$grupo_id = $fetch_user['grupo_id'];
$per = $tags_permi = @implode(",", $this->form_data['permissoes']);
// Faz um trim nas permissões
$permissions = array_map('trim', explode(',', $per));
// Remove permissões duplicadas
$permissions = array_unique( $permissions );
// Remove valores em branco
$permissions = array_filter( $permissions );
// Serializa as permissões
$permissions = serialize( $permissions );
// Se o ID do usuário não estiver vazio, atualiza os dados
if ( ! empty( $grupo_id ) ) {
$query = $this->db->update('grupo', 'grupo_id', $grupo_id, array(
'nome' => chk_array( $this->form_data, 'nome'),
'status' => chk_array( $this->form_data, 'status'),
'permissoes' => $permissions,
));
$user_name = explode(' ',$_SESSION['userdata']['user_name']);
$logger = $this->db->insert('logger', array('desc' => "Editou os Grupos",'tipo' => "3",'id_user'=>$_SESSION['userdata']['user_id'],'user_name'=>$user_name[0],'time'=>time(),'link'=>HOME_URI.'tarefas'));
$query_user_ad = $this->db->query('SELECT * FROM `users` WHERE `grupo` = ?', array( $grupo_id ));
$fetch_user_ad2 = $query_user_ad->fetchAll();
foreach ( $fetch_user_ad2 as $key => $value ) {
$this->db->update('users', 'user_id', $value['user_id'], array('user_permissions' => $permissions));
}
// Verifica se a consulta está OK e configura a mensagem
if ( ! $query ) {
$this->form_msg = '
<script type="text/javascript">
$(document).ready(function(){
$.gritter.add({
title: "Erro Interno!",
text: "Ocorreu um erro durante o processamento do banco de Dados",
class_name: "danger"
});
});
</script>';
// Termina
return;
} else {
$this->form_msg = '
<script type="text/javascript">
$(document).ready(function(){
$.gritter.add({
title: "Sucesso!",
text: "Usuário atualizado com sucesso!",
class_name: "success"
});
});
</script>';
// Termina
return;
}
// Se o ID do usuário estiver vazio, insere os dados
} else {
// Executa a consulta
$query = $this->db->insert('grupo', array(
'nome' => chk_array( $this->form_data, 'nome'),
'status' => chk_array( $this->form_data, 'status'),
'permissoes' => $permissions,
));
$user_name = explode(' ',$_SESSION['userdata']['user_name']);
$logger = $this->db->insert('logger', array('desc' => "Editou os Grupos",'tipo' => "3",'id_user'=>$_SESSION['userdata']['user_id'],'user_name'=>$user_name[0],'time'=>time(),'link'=>HOME_URI.'tarefas'));
// Verifica se a consulta está OK e configura a mensagem
if ( ! $query ) {
$this->form_msg = '
<script type="text/javascript">
$(document).ready(function(){
$.gritter.add({
title: "Erro Interno!",
text: "Ocorreu um erro ao enviar para o banco de dados!",
class_name: "danger"
});
});
</script>';
// Termina
return;
} else {
$this->form_msg = '
<script type="text/javascript">
$(document).ready(function(){
$.gritter.add({
title: "Sucesso!",
text: "Usuário registrado com sucesso!",
class_name: "success"
});
});
</script>';
// Termina
return;
}
}
} // validate_register_form
public function get_register_form ( $user_id = false ) {
// O ID de usuário que vamos pesquisar
$s_user_id = false;
// Verifica se você enviou algum ID para o método
if ( ! empty( $user_id ) ) {
$s_user_id = (int)$user_id;
}
// Verifica se existe um ID de usuário
if ( empty( $s_user_id ) ) {
return;
}
// Verifica na base de dados
$query = $this->db->query('SELECT * FROM `grupo` WHERE `grupo_id` = ?', array( $s_user_id ));
// Verifica a consulta
if ( ! $query ) {
$this->form_msg = '
<script type="text/javascript">
$(document).ready(function(){
$.gritter.add({
title: "Erro Interno!",
text: "O Usuário não existe!",
class_name: "danger"
});
});
</script>';
return;
}
// Obtém os dados da consulta
$fetch_userdata = $query->fetch();
// Verifica se os dados da consulta estão vazios
if ( empty( $fetch_userdata ) ) {
$this->form_msg = '
<script type="text/javascript">
$(document).ready(function(){
$.gritter.add({
title: "Erro Interno!",
text: "Usuário não existe!",
class_name: "danger"
});
});
</script>';
return;
}
// Configura os dados do formulário
foreach ( $fetch_userdata as $key => $value ) {
$this->form_data[$key] = $value;
}
// Remove a serialização das permissões
$this->form_data['permissoes'] = unserialize($this->form_data['permissoes']);
// Separa as permissões por vírgula
$this->form_data['permissoes'] = implode(',', $this->form_data['permissoes']);
} // get_register_form
public function del_grupo ( $parametros = array() ) {
// O ID do usuário
$user_id = null;
// Verifica se existe o parâmetro "del" na URL
if ( chk_array( $parametros, 0 ) == 'del' ) {
// Mostra uma mensagem de confirmação
echo '<p class="alert">Tem certeza que deseja apagar este valor?</p>';
echo '<p><a href="' . $_SERVER['REQUEST_URI'] . '/confirma">Sim</a> |
<a href="' . HOME_URI . '/grupo">Não</a> </p>';
// Verifica se o valor do parâmetro é um número
if (
is_numeric( chk_array( $parametros, 1 ) )
&& chk_array( $parametros, 2 ) == 'confirma'
) {
// Configura o ID do usuário a ser apagado
$user_id = chk_array( $parametros, 1 );
}
}
echo $user_id;
// Verifica se o ID não está vazio
if ( !empty( $user_id ) ) {
if($user_id != 1){
// O ID precisa ser inteiro
$user_id = (int)$user_id;
// Deleta o usuário
$query = $this->db->delete('grupo', 'grupo_id', $user_id);
$user_name = explode(' ',$_SESSION['userdata']['user_name']);
$logger = $this->db->insert('logger', array('desc' => "Deletou um Grupo",'tipo' => "3",'id_user'=>$_SESSION['userdata']['user_id'],'user_name'=>$user_name[0],'time'=>time(),'link'=>HOME_URI.'tarefas'));
// Redireciona para a página de registros
echo '<meta http-equiv="Refresh" content="0; url=' . HOME_URI . '/grupo/">';
echo '<script type="text/javascript">window.location.href = "' . HOME_URI . '/grupo/";</script>';
return;
}
}
} // del_user
/**
* Obtém a lista de usuários
*
* @since 0.1
* @access public
*/
public function get_grupo_list() {
// Simplesmente seleciona os dados na base de dados
$query = $this->db->query('SELECT * FROM `grupo` ORDER BY grupo_id DESC');
// Verifica se a consulta está OK
if ( ! $query ) {
return array();
}
// Preenche a tabela com os dados do usuário
return $query->fetchAll();
} // get_user_list
public function get_paginas_list() {
// Simplesmente seleciona os dados na base de dados
$paginas = $this->db->query('SELECT * FROM `paginas` ORDER BY nome DESC');
// Verifica se a consulta está OK
if ( ! $paginas ) {
return array();
}
// Preenche a tabela com os dados do usuário
return $paginas->fetchAll();
} // get_user_list
}