File: /home/www/torresncgolf/instalaciones/application/controllers/admin.php
<?php
class Admin extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('form','url','util'));
$this->load->library('session');
}
function index()
{
check_login();
load_template_ci ('admin/admin_view');
}
function log(){
check_login();
if (!is_user_logged_in()){
redirect ( '/wp-login.php?redirect_to='.base_url() );
}
if (!$this->session->userdata('user_is_admin')){
redirect('reservas');
}
$data = array();
$eventos = $this->db->query('select * from log order by fecha desc limit 100');
// Comprobamos que la actividad existe
if ($eventos->num_rows()==0){
echo 'No se encontraron eventos que mostrar.';
return;
}
$data['eventos'] = $eventos;
load_template_ci('admin/log_view', $data);
}
function editaccount(){
check_login();
if (!is_user_logged_in()){
redirect ( '/wp-login.php?redirect_to='.base_url() );
}
if (!$this->session->userdata('user_is_admin')){
redirect('reservas');
}
load_template_ci('admin/editaccount_view');
}
function populate_account(){
check_login();
if (!is_user_logged_in()){
redirect ( '/wp-login.php?redirect_to='.base_url() );
}
if (!$this->session->userdata('user_is_admin')){
redirect('reservas');
}
$login = dejar_numericos ($this->input->post('account_id'));
$usuarios = $this->db->query('select * from usuario where login='.$login);
if ($usuarios->num_rows()<=0){
$data = array('mensaje'=>'La cuenta no existe.','login'=>$login);
load_template_ci ('admin/error_view', $data );
return;
}
$usuario = $usuarios->row();
$data = array("account"=>$usuario);
load_template_ci ('admin/editformaccount_view',$data);
}
function perform_changes_account(){
check_login();
if (!is_user_logged_in()){
redirect ( '/wp-login.php?redirect_to='.base_url() );
}
if (!$this->session->userdata('user_is_admin')){
redirect('reservas');
}
$login = dejar_numericos ($this->input->post('account_login'));
$usuarios = $this->db->query('select * from usuario where login='.$login);
if ($usuarios->num_rows()<=0){
$data = array('mensaje'=>'La cuenta no existe.','login'=>$login);
load_template_ci ('admin/error_view', $data );
return;
}
$usuario = $usuarios->row();
$alias = dejar_alfanumericos_y_espacios ($this->input->post('account_alias'));
$passwd_clear = dejar_alfanumericos_y_espacios ($this->input->post('account_passwd'));
$passwd = md5( $passwd_clear );
$email = $this->input->post('account_email');
if ( strlen($passwd_clear)>0 ){
if ($usuario->admin==1){
$data = array('mensaje'=>'Las contraseñas de las cuentas de administrador no pueden cambiarse desde la web.','login'=>$login);
load_template_ci ('admin/error_view', $data );
return;
}
$this->db->query('update usuario set alias=\''. $alias . '\',passwd=\''. $passwd . '\',email=\''. $email . '\' where login='.$login);
registrar_evento('admin', 'info', 'Se ha modificado '.$login.' cambiando su alias a ['.$alias.'] y password.', $this->session->userdata('user_id') );
}
else {
$this->db->query('update usuario set alias=\''. $alias . '\',email=\''. $email . '\' where login='.$login);
registrar_evento('admin', 'info', 'Se ha modificado la cuenta '.$login.' cambiando su alias a ['.$alias.']', $this->session->userdata('user_logged_in') );
}
$data = array('mensaje'=>'La cuenta ha sido modificada satisfactoriamente.');
load_template_ci ('admin/ok_view', $data );
}
}