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 = utf8_decode("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"; $plantillaDir=""; $includesDir="../"; if(substr($plantilla,0,10)=="Evaluacion") { $plantillaDir="../../../logreg/"; $includesDir="../../../includess/"; } require_once($plantillaDir.'phpmailer/class.phpmailer.php'); include ($includesDir.'includess/directorio.inc.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, utf8_encode($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",DirectorioInfecclinic,$body); $mail->MsgHTML($body); //Adjunto solo en las correcciones de Test de Evaluacion if($subDir)$mail->AddAttachment($subDir.'plantillas/rr_unidad'.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; var $saltControl; function authenticate() { $this->db = new db; $this->salt = 'infecc09'; $this->saltControl = 'persistencia'; $this->id = -1; $this->cod = -1; $this->tto = ""; $this->nombre = ""; $this->apellidos = ""; $this->email = ""; $this->pass = ""; } //end constructor function tryLogin($email, $clave) { //codficacion md5 de la clave $paramda5=$clave.$this->salt; $clavemd5=hash('md5',$paramda5); $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]; $query1b = "UPDATE inscripcion SET claveenclaro='".$clave."' WHERE email='$email'"; $result1b = $this->db->db_query($query1b); $query2b = "UPDATE inscripcion SET clavemd5='".$clavemd5."' WHERE email='$email'"; $result2b = $this->db->db_query($query2b); return 1; } else { return 0; } } //end login() function usuarioUsado($email, $cod) { $query = "SELECT id FROM inscripcion WHERE email = '" . $email . "'"; $result = $this->db->db_query($query); if($this->db->db_numrows($result) > 0) { return 1; } else { $query2 = "SELECT idu FROM usercurso WHERE codigo='".strtoupper($cod)."'"; $result2 = $this->db->db_query($query2); if($this->db->db_numrows($result2) > 0) { return 1; } else { return 0; } } } function codigocontrol($cod,$control) { //1º Ponemos el código a máyusculas para unir a la palabra clave $codigo = strtoupper($cod); //2º Unimos el cógido con la palabra clave $cadenahaseada=$codigo.$this->saltControl; //3º Hacemos un hash sha1 y recogemos los 4 primeros caracteres (como el control del código) $cod_control=substr(hash('sha1',$cadenahaseada),0,4); if ($cod_control==$control){ return 0; } return 1; } function createUser($post) { if(!$post){ return 1; }else{ if($_POST["nacional"]=="1") $niftotal=strtoupper(str_pad($_POST["nif1"], 8, "0", STR_PAD_LEFT).$_POST["nif2"]); else $niftotal=strtoupper($_POST["xy"].str_pad($_POST["nif1"], 7, "0", STR_PAD_LEFT).$_POST["nif2"]); //C�digo aleatorio para activacion $rc=$this->randomCode(20,true,true,false); //codficacion md5 para integración con moodle $paramda5=$post['clave1'].$this->salt; $clavemd5=hash('md5',$paramda5); /*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."',"; $query .="'" . $niftotal ."',"; $query .="'" . $post['clave1'] ."',"; $query .="'" . $clavemd5 ."')"; $result = $this->db->db_query($query); //Me entero de a que curso va el payo $cadena = substr(strtoupper($post['codigo'], 0, 3)); if ($cadena == "MIC"){ $cursito = 3; } else if ($cadena == "INN"){ $cursito = 4; }else { $cursito = 5; } //Me pispo de cual es el id que le hemos asignado utomáticamente $query = "SELECT id FROM inscripcion WHERE codigo='" . strtoupper($post['codigo']) ."'"; $result = $this->db->db_query($query); $row = $this->db->db_fetch_array($result); //Con los datos anteriores lo metemos en la nueva tabla de datos $query2 = "INSERT INTO usercurso VALUES (DEFAULT,"; $query2 .= $row[0] .","; $query2 .="'" . strtoupper($post['codigo']) ."',"; $query2 .= $cursito .")"; $result2 = $this->db->db_query($query2); $conecta4=pg_connect("host=localhost port=5432 dbname=cursos_ext user=cursos password=cursos") or die ("Fallo en el establecimiento de la conexion"); $matricula=pg_query($conecta4,"INSERT INTO usuarios (id,usuario_login,role,course) values (DEFAULT,'".$post['email']."','student','AS_INF_IFI')"); /*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); //codficacion md5 para integración con moodle $paramda5=$nc.$this->salt; $clavemd5=hash('md5',$paramda5); //lo metemos //$query = "UPDATE inscripcion SET clave='".crypt($nc,$this->salt)."', claveenclaro='".$nc."', clavemd5='".$clavemd5."' WHERE email='.$email.'"; $query = "UPDATE inscripcion SET clave='".crypt($nc,$this->salt)."' WHERE email='$email'"; $result = $this->db->db_query($query); $query1a = "UPDATE inscripcion SET claveenclaro='".$nc."' WHERE email='$email'"; $result1a = $this->db->db_query($query1a); $query2a = "UPDATE inscripcion SET clavemd5='".$clavemd5."' WHERE email='$email'"; $result2a = $this->db->db_query($query2a); try{ /*Mail*/ $asunto=utf8_decode("Nueva clave 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/seguro.drugfarma.com/astellasinfecclinic/logreg/authorClass.php:498) in /var/www/sitios/seguro.drugfarma.com/astellasinfecclinic/logreg/session.inc.php on line 3

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/sitios/seguro.drugfarma.com/astellasinfecclinic/logreg/authorClass.php:498) in /var/www/sitios/seguro.drugfarma.com/astellasinfecclinic/logreg/session.inc.php on line 3

Parse error: syntax error, unexpected end of file in /var/www/sitios/seguro.drugfarma.com/astellasinfecclinic/includess/inclusiones.inc.php on line 128