File: /home/www/torresncgolf/instalaciones/application/helpers/util_helper.php
<?php
function load_template_ci($vista, $argumentos=array()) {
$CI = &get_instance();
if (!is_user_logged_in()) {
registrar_evento('login', 'info', "Esta logeado:".$CI->session->userdata('user_logged_in') );
//redirect('login');
load_template_public($vista,$argumentos);
}
// Enlaces que siempre aparecen
//$enlaces = array("< Volver"=>"../", "Perfil"=>base_url()."index.php/perfil");
$enlaces = array("< Volver"=>"../");
$who_is_logged = "";
// Enlaces que sólo se ven cuando un usuario está logueado
if (is_user_logged_in()) {
$who_is_logged = $CI->session->userdata('alias');
if ($who_is_logged) {
//$enlaces = array_merge($enlaces, array("Foro"=>"index.php/foro"));
//$enlaces = array_merge($enlaces, array("Foro en Facebook"=>"https://www.facebook.com/groups/115678721904787/"));
$enlaces = array_merge($enlaces, array("Reservas"=>base_url()."index.php/reservas"));
$enlaces = array_merge($enlaces, array("Tu perfil"=>base_url()."index.php/perfil"));
}
if ($CI->session->userdata('user_is_admin')){
$enlaces = array_merge($enlaces, array("Administrar"=>base_url()."index.php/admin"));
}
}
$data = array("logged_in"=>$CI->session->userdata('user_logged_in') ,"links"=>$enlaces, "who_is_logged"=>$who_is_logged);
$CI->load->view('templates/links', $data);
$CI->load->view('templates/header');
$CI->load->view($vista, $argumentos);
$CI->load->view('templates/footer');
}
function load_template_public($vista) {
$CI = &get_instance();
// Enlaces que siempre aparecen
//$enlaces = array("Inicio"=>"#", "Final"=>"#");
$enlaces = array("Inicio"=>"/");
$who_is_logged = "";
// Enlaces que sólo se ven cuando un usuario está logueado
if ($CI->session->userdata('user_logged_in')) {
$who_is_logged = $CI->session->userdata('alias');
if ($who_is_logged) {
$enlaces = array_merge($enlaces, array("Reservar"=>base_url()."index.php/reservas"));
}
}
$data = array("logged_in"=>$CI->session->userdata('user_logged_in'), "links"=>$enlaces, "who_is_logged"=>$who_is_logged);
$CI->load->view('templates/links', $data);
$CI->load->view('templates/header');
$CI->load->view($vista);
$CI->load->view('templates/footer');
}
function generatePassword($length = 9, $strength = 0) {
$vowels = 'aeuy';
$consonants = 'bdghjmnpqrstvz';
if ($strength & 1) {
$consonants .= 'BDGHJLMNPQRSTVWXZ';
}
if ($strength & 2) {
$vowels .= "AEUY";
}
if ($strength & 4) {
$consonants .= '23456789';
}
if ($strength & 8) {
$consonants .= '@#$%';
}
$password = '';
$alt = time() % 2;
for ($i = 0; $i < $length; $i++) {
if ($alt == 1) {
$password .= $consonants[(rand() % strlen($consonants))];
$alt = 0;
} else {
$password .= $vowels[(rand() % strlen($vowels))];
$alt = 1;
}
}
return $password;
}
function dejar_numericos($cadena){
return preg_replace('/[^\d\-]/', '', $cadena);
}
function dejar_alfanumericos($cadena){
return preg_replace('/[^\w\-_]/', '', $cadena);
}
function dejar_alfanumericos_y_espacios($cadena){
return preg_replace('/[^\s\w\-_]/', '', $cadena);
}
function check_login(){
$CI = &get_instance();
$CI->load->helper(array('date','form','url'));
$CI->load->library('session');
//echo "hola";
if ( is_user_logged_in() ) {
$user = wp_get_current_user();
#echo "<pre>";
#print_r ( $user );
#exit;
$usuarios = $CI->db->query('select * from usuario where login=\''. $user->data->user_login .'\'');
if ($usuarios->num_rows() == 0){
redirect ('/wp-login.php');
}
$CI->session->set_userdata('user_id', $usuarios->row()->id );
$CI->session->set_userdata('user_login', $user->data->user_login );
$CI->session->set_userdata('alias', $user->data->display_name );
#$CI->session->set_userdata('user_logged_in', 1 );
if ($usuarios->row()->admin == 1){
//if ($user->roles[0] == 'administrator'){
$CI->session->set_userdata('user_is_admin', 1 );
}
else {
$CI->session->set_userdata('user_is_admin', 0 );
}
// Obtengo la fecha y hora actual
$fecha_ahora = new DateTime("now", new DateTimeZone('Europe/Madrid'));
$timestamp_ahora = $fecha_ahora->format('U') + $fecha_ahora->format('Z');
$horario_verano = $fecha_ahora->format('I');
if ($horario_verano == 1){
$timestamp_ahora+=3600;
}
$fecha_ahora_mysql = date('Y-m-d H:i:s',$timestamp_ahora);
/*if ($usuarios->row()->last_login != NULL ){
$CI->session->set_userdata('user_last_login', mysql_to_unix($usuarios->row()->last_login) );
} else {
$CI->session->set_userdata('user_last_login', $timestamp_ahora );
}*/
$CI->db->query('update usuario set last_login=\''. $fecha_ahora_mysql . '\' where id='.$usuarios->row()->id);
registrar_evento('login', 'info', 'El usuario '.$login.' con alias ['.$usuarios->row()->alias.'] ha entrado: ['.$CI->session->userdata('user_logged_in'), $usuarios->row()->id );
if ($usuarios->row()->alias == '') {
redirect ('/instalaciones/index.php/login/alias');
}
} else {
registrar_evento('login', 'warning', "El usuario $login falló la contraseña o no existe: Passwd: [$passwd]" );
print (base_url());
redirect ( '/wp-login.php?redirect_to='.base_url() );
/*$creds = array();
// If you're not logged in, you should display a form or something
// Use the submited information to populate the user_login & user_password
$creds['user_login'] = "";
$creds['user_password'] = "";
$creds['remember'] = true;
$user = wp_signon( $creds, false );
if ( is_wp_error( $user ) ) {
echo $user->get_error_message();
} else {
wp_set_auth_cookie( $user->ID, true );
}*/
}
}
function registrar_evento($controlador, $tipo_evento, $descripcion ,$usuario_id=0, $reserva_id=0, $comentario_id=0){
$CI = &get_instance();
$fecha_ahora = new DateTime("now", new DateTimeZone('Europe/Madrid'));
$timestamp_ahora = $fecha_ahora->format('U') + $fecha_ahora->format('Z');
$horario_verano = $fecha_ahora->format('I');
if ($horario_verano == 1){
$timestamp_ahora+=3600;
}
$fecha_ahora_mysql = date('Y-m-d H:i:s',$timestamp_ahora);
if ( $CI->db->query('INSERT INTO log (fecha, controlador, tipo, descripcion, usuario_id, reserva_id, comentario_id) VALUES(\''.$fecha_ahora_mysql .'\',\''. $controlador .'\',\''.$tipo_evento.'\',\''. $descripcion .'\',\''. $usuario_id .'\',\''. $reserva_id .'\',\''. $comentario_id .'\')' ) ) {
return 0;
}else{
return -1;
}
}
?>