db_type = 1; $this->db_server = 'localhost'; $this->db_port = 5432; $this->db_name = 'Infecclinic'; $this->db_user = 'postgres'; $this->db_pass = 'post10PROD'; $this->db_connect(); } //end constructor function db_connect () { // Postgre if($this->db_type == 1) { $this->dbh = pg_connect("host=$this->db_server port=$this->db_port dbname=$this->db_name user=$this->db_user password=$this->db_pass"); if (!$this->dbh) { printf("Error: La conexi�n a '%s' fall�.
\n", $this->db_server); return; } } //end Postgre } //end db_connect() function db_query ($query) { // Postgre if($this->db_type == 1) { $result = pg_query($this->dbh,$query) or die ("Error en la ejecuci�n de la query."); return $result; } //end Postgre } //end db_query() function db_numrows ($result) { switch($this->db_type) { case 1: //Postgre return pg_num_rows($result); } //end switch } // end db_numrows() function db_fetch_array (&$result) { switch($this->db_type) { case 1: //Postgre return pg_fetch_array($result); } //end switch } //end db_fetch_array() } class mailing{ var $m_host; var $m_port; var $m_cuenta; var $m_usuario; var $m_clave; var $m_proyecto; function mailing(){ $this->m_host = "smtp.prodrugmultimedia.com"; $this->m_port = 25; $this->m_cuenta = "astellasinfecclinic@prodrugmultimedia.com"; $this->m_usuario = "hdc646c"; $this->m_clave = "hast3LAS"; $this->m_proyecto = "Infecclinic. Campus Virtual de Formación y Práctica Médica en Patología Infecciosa"; } function enviaMail($email,$nombre,$motivo,$plantilla,$rc,$codigo) { if(strpos($_SERVER['SERVER_NAME'], ".desarrollo."))$DirectorioInfecclinic="/www.astellasinfecclinic.es"; $subDir=""; $isEval = false; if(substr($plantilla,0,10)=="Evaluacion") { $subDir="../../../logreg/"; $isEval=true; } if(substr($plantilla,0,7)=="Tutoria") $subDir="../../logreg/"; require_once($subDir.'phpmailer/class.phpmailer.php'); $mail = new PHPMailer(true); $mail->IsSMTP(); $mail->CharSet = "utf-8"; try { $mail->Host = $this->m_host; $mail->SMTPAuth = true; $mail->Timeout = 30; $mail->Port = $this->m_port; $mail->Username = $this->m_usuario; $mail->Password = $this->m_clave; $mail->AddAddress($email, $nombre); $mail->SetFrom($this->m_cuenta, $this->m_proyecto); $mail->AddReplyTo($this->m_cuenta, 'Webmaster'); $mail->Subject = $motivo; $mail->AltBody = 'Para visualizar este mensaje correctamente se requiere un cliente de correo electrónico compatible con HTML'; $body = file_get_contents($subDir.'plantillas/plantilla'.$plantilla.'.htm'); $body = str_replace("Prodrug",$nombre,$body); $body = str_replace("CCC",$rc,$body); $body = str_replace("UUU",$codigo,$body); $body = str_replace("HHH",$_SERVER['HTTP_HOST'].$DirectorioInfecclinic,$body); $mail->MsgHTML($body); //Adjunto solo en las correcciones de Test de Evaluacion if($isEval)$mail->AddAttachment($subDir.'plantillas/rr_unidadN'.substr($plantilla,-1,1).'.pdf'); $exito = $mail->Send(); $intentos=1; while ((!$exito) && ($intentos < 5)) { sleep(5); $exito = $mail->Send(); $intentos=$intentos+1; } return $exito; } catch (Exception $e) { throw $e; } } } class authenticate { var $db; var $salt; var $tto; var $id; var $cod; var $nombre; var $apellidos; var $email; var $pass; function authenticate() { $this->db = new db; $this->salt = 'infecc09'; $this->id = -1; $this->cod = -1; $this->tto = ""; $this->nombre = ""; $this->apellidos = ""; $this->email = ""; $this->pass = ""; } //end constructor function tryLogin($email, $clave) { $query = "SELECT id,codigo,nombre,apellido1,apellido2,titulo,clave FROM inscripcion WHERE validado='1' AND email = '" . $email . "' AND clave = '" . crypt($clave,$this->salt) . "'"; $result = $this->db->db_query($query); if($this->db->db_numrows($result) > 0) { $row = pg_fetch_row($result); $this->tto=($row[5]?"Dra. ":"Dr. ").$row[3]; $this->id=$row[0]; $this->cod=$row[1]; $this->nombre=$row[2]; $this->apellidos=$row[3]." ".$row[4]; $this->email=$email; $this->pass=$row[6]; return 1; } else { return 0; } } //end login() function Log($uid) { $query = "SELECT id,codigo,nombre,apellido1,apellido2,titulo,email,clave FROM inscripcion WHERE id=" . $uid; $result = $this->db->db_query($query); if($this->db->db_numrows($result) > 0) { $row = pg_fetch_row($result); $this->tto=($row[5]?"Dra. ":"Dr. ").$row[3]; $this->id=$row[0]; $this->cod=$row[1]; $this->nombre=$row[2]; $this->apellidos=$row[3]." ".$row[4]; $this->email=$row[6]; $this->pass=$row[7]; return 1; } else { return 0; } } //end login() function usuarioUsado($email, $cod) { $query = "SELECT id FROM inscripcion WHERE email = '" . $email . "' OR codigo='".$cod."'"; $result = $this->db->db_query($query); if($this->db->db_numrows($result) > 0) { return 1; } else { return 0; } } function createUser($post) { if(!$post){ return 0; }else{ //C�digo aleatorio para activacion $rc=$this->randomCode(20,true,true,false); /*BBDD*/ $query = "INSERT INTO inscripcion VALUES (DEFAULT,"; $query .="'" . strtoupper($post['codigo']) ."',"; $query .="'" . $post['titulo'] ."', "; $query .="'" . $post['nombre'] ."',"; $query .="'" . $post['apellido1'] ."',"; $query .="'" . $post['apellido2'] ."',"; $query .="'" . $post['direccion'] ."',"; $query .= $post['cp'] .", "; $query .="'" . $post['ciudad'] ."',"; $query .= $post['provincia'] .", "; $query .="'" . $post['telefono'] ."',"; $query .="'" . $post['especialidad']."',"; $query .="'" . $post['email'] ."',"; $query .="'" . crypt($post['clave1'],$this->salt) . "',"; $query .="'0','".$_SERVER[REMOTE_ADDR]."',NOW(),'".$rc."')"; $result = $this->db->db_query($query); /*Mail*/ $asunto=utf8_encode("Confirmaci�n de registro"); $plantilla="Registro"; try{ $mailing = new mailing(); if($mailing->enviaMail($post['email'],$post['nombre']." ".$post['apellido1']." ".$post['apellido2'],$asunto,$plantilla,$rc,$post['codigo'])){ //log de envio ok... $query = "INSERT INTO mailsLog VALUES ('".$rc."','0',NOW())"; $result = $this->db->db_query($query); } } catch (Exception $e) { $query = "INSERT INTO mailsLog VALUES ('".$rc."','1',NOW())"; $result = $this->db->db_query($query); return 0; } return 1; } } function validarUsuario($caw,$cod) { $query = "SELECT validado,email,nombre,apellido1,apellido2 FROM inscripcion WHERE caw='" . $caw . "' AND codigo='" . strtoupper($cod) ."'"; $result = $this->db->db_query($query); if($this->db->db_numrows($result) > 0) { $row = $this->db->db_fetch_array($result); if($row[0]=='1'){ return 2; }else{ $query = "UPDATE inscripcion SET validado='1' WHERE caw='" . $caw . "' AND codigo='" . strtoupper($cod) ."'"; $result = $this->db->db_query($query); try{ /*Mail*/ $asunto=utf8_encode("Activaci�n de acceso web"); $plantilla="Activacion"; //C�digo aleatorio para activacion $rc=$this->randomCode(20,true,true,false); $mailing = new mailing(); if($mailing->enviaMail($row[1],$row[2]." ".$row[3]." ".$row[4],$asunto,$plantilla,$rc,'')){ //log de envio ok... $query = "INSERT INTO mailsLog VALUES ('".$rc."','0',NOW())"; $result = $this->db->db_query($query); } } catch (Exception $e) { $query = "INSERT INTO mailsLog VALUES ('".$rc."','1',NOW())"; $result = $this->db->db_query($query); return 1; } return 1; } } else { return 0; } } function regenClave($email) { if(!$email)return 0; //Par�metro vac�o else{ $query = "SELECT nombre,apellido1,apellido2 FROM inscripcion WHERE email='$email' and validado='1'"; $result = $this->db->db_query($query); if($this->db->db_numrows($result) > 0) { //Destinatario formateado... $row = $this->db->db_fetch_array($result); $para=$row[0]." ".$row[1]." ".$row[2]; //Nueva clave aleatoria... $nc=$this->randomCode(8,true,true,false); $query = "UPDATE inscripcion SET clave='".crypt($nc,$this->salt)."' WHERE email='$email'"; $result = $this->db->db_query($query); try{ /*Mail*/ $asunto=utf8_encode("Regeneraci�n de contrase�a de acceso web"); $plantilla="Remain"; //C�digo aleatorio para activacion $rc=$this->randomCode(20,true,true,false); $mailing = new mailing(); if($mailing->enviaMail($email,$para,$asunto,$plantilla,$rc,$nc)){ //log de envio ok... $query = "INSERT INTO mailsLog VALUES ('".$rc."','0',NOW())"; $result = $this->db->db_query($query); } } catch (Exception $e) { $query = "INSERT INTO mailsLog VALUES ('".$rc."','1',NOW())"; $result = $this->db->db_query($query); return 1; } return 1; }else{ return 0;//E-mail no encontrado o usuario no validado... } } } function getTto(){ return $this->tto; } function getEmail(){ return $this->email; } function getNombre() { return $this->nombre; } function getApellidos() { return $this->apellidos; } function getCodigo() { return $this->cod; } function getId() { return $this->id; } function getPass() { return $this->pass; } function randomCode($length=10,$uc=TRUE,$n=TRUE,$sc=FALSE){ $source = 'abcdefghijklmnopqrstuvwxyz'; if($uc==1) $source .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; if($n==1) $source .= '1234567890'; if($sc==1) $source .= '|@#~$%()=^*+[]{}-_'; if($length>0){ $rstr = ""; $source = str_split($source,1); for($i=1; $i<=$length; $i++){ mt_srand((double)microtime() * 1000000); $num = mt_rand(1,count($source)); $rstr .= $source[$num-1]; } } return $rstr; } /***************Relativo a la parte de Formaci�n***************/ function unidadHecha($usuario,$curso,$unidad) { $query = "SELECT ide FROM evaluacion WHERE idi=$usuario AND idc=$curso AND unidad=$unidad AND autoevaluacion='0'"; $result = $this->db->db_query($query); if($this->db->db_numrows($result) > 0) { $row = $this->db->db_fetch_array($result); return $row[0]; } else { return 0; } } function unidadActiva($curso,$unidad) { $query = "SELECT activo FROM unidades WHERE idc=$curso AND unidad=$unidad"; $result = $this->db->db_query($query); if($this->db->db_numrows($result) > 0) { $row = $this->db->db_fetch_array($result); return $row[0]; } } function infoTest($idEvaluacion) { $query = "SELECT respuestas,fecha FROM evaluacion WHERE ide=$idEvaluacion"; $result = $this->db->db_query($query); if($this->db->db_numrows($result) > 0) { return $this->db->db_fetch_array($result); } else { return 0; } } function corregirTest($curso,$unidad,$respuestas) { $query = "SELECT respuestas FROM unidades WHERE idc=$curso AND unidad=$unidad"; $result = $this->db->db_query($query); if($this->db->db_numrows($result) > 0) { $row = $this->db->db_fetch_array($result); $respuestasUsuario= explode("/", ereg_replace("[{-}]", "", $respuestas)); $respuestasCorrectas=explode("/",$row[0]); $cantidad=count($respuestasCorrectas); $aciertos=0; foreach ($respuestasCorrectas as $k => $v) { if($respuestasUsuario[$k]==$v)$aciertos++; } return(round(($aciertos*100)/$cantidad,2)); } else { return -1; } } } ?>
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/sitios/www.astellasinfecclinic.es/logreg/authorClass.php:439) in /var/www/sitios/www.astellasinfecclinic.es/logreg/session.inc.php on line 3

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/sitios/www.astellasinfecclinic.es/logreg/authorClass.php:439) in /var/www/sitios/www.astellasinfecclinic.es/logreg/session.inc.php on line 3
getCodigo(); $nombreAps= $usuario->getTto(); } ?> INFECCLINIC
Biblioblog Curso IFI Hematología

Intercasos Curso IFI Hematología

©2024 Prodrug Multimedia S.L.  |  Contacto  |  Aviso legal
Curso Micología Clínica


Curso Infección Nosocomial
Galería de casos
Curso Micología Clínica


Galería de casos
Curso Infección Nosocomial

Fatal error: Call to undefined function encabezado() in /var/www/sitios/www.astellasinfecclinic.es/presentacion.php on line 7