140 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			140 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php 
 | |
| 
 | |
| $root = realpath($_SERVER["DOCUMENT_ROOT"]);
 | |
| include_once $root.'/db/db.php';
 | |
| 
 | |
| function verifyCaptcha(){
 | |
|     $url = 'https://www.google.com/recaptcha/api/siteverify';
 | |
|     $data = array(
 | |
|         'secret' => '6LesRDsUAAAAAA6t3UgL4U4Foc9njmXX-8HIiLj_',
 | |
|         'response' => $_POST["g-recaptcha-response"]
 | |
|     );
 | |
|     $options = array(
 | |
|         'http' => array (
 | |
|             'header' => 'Content-Type: application/x-www-form-urlencoded\r\n',
 | |
|             'method' => 'POST',
 | |
|             'content' => http_build_query($data)
 | |
|         )
 | |
|     );
 | |
|     $context  = stream_context_create($options);
 | |
|     $verify = file_get_contents($url, false, $context);
 | |
|     $captcha_success=json_decode($verify);
 | |
|     return $captcha_success;
 | |
| }
 | |
| 
 | |
| /*function verifyExistance($doc,$mail){
 | |
|     $fp = fopen("2021y22.csv", 'r');
 | |
|     fclose($fp);
 | |
| }*/
 | |
| 
 | |
| /*function setheaders() {
 | |
|     $fp = fopen("2021y22.csv", 'w');
 | |
|     $cabezal = array('Nombre', 'Apellido','TipoDoc','Documento',
 | |
|                     'Direccion','Pais','Ciudad', 'Telefono', 'Email',
 | |
|                     'Profesión','Trabaja en','Financiación','Detalle Financiación');
 | |
|     if($fp){
 | |
|     fputcsv($fp,$cabezal);
 | |
|     fclose($fp);
 | |
|     }
 | |
|     else{
 | |
|         die("unable to open file");
 | |
|     }
 | |
| }*/
 | |
| 
 | |
| /*function registrar($fila) {
 | |
|     $fp = fopen("2021y22.csv", 'a');
 | |
|     if($fp){
 | |
|         fputcsv($fp,$fila);
 | |
|         fclose($fp);        
 | |
|         
 | |
|     }
 | |
|     else{
 | |
|         die("unable to open file");
 | |
|     }
 | |
|     
 | |
| }
 | |
| 
 | |
| function bkpregister(){
 | |
|     $fecha = date("d-m-H:i:s");
 | |
|     $filebkp = "bkp/registro-".$fecha.".bak.csv";
 | |
|     copy("2021y22.csv",$filebkp);
 | |
| }*/
 | |
| 
 | |
| $errors         = array();      // array to hold validation errors
 | |
| $data           = array();      // array to pass back data
 | |
| 
 | |
| 
 | |
| // validate the variables ======================================================
 | |
| $data['nombre'] = $_POST['nombre'];
 | |
| $data['apellido'] = $_POST['apellido'];
 | |
| $data['titulo'] = $_POST['titulo'];
 | |
| $data['afiliacion'] = $_POST['afiliacion'];
 | |
| $data['ciudad'] = $_POST['ciudad'];
 | |
| $data['pais'] = $_POST['pais'];
 | |
| $data['email'] = $_POST['email'];
 | |
| $data['fechaLlegada'] = $_POST['bda'];
 | |
| $data['fechaPartida'] = $_POST['eda'];
 | |
| $data['financiacion'] = $_POST['financiacion'];
 | |
| $data['invitado'] = $_POST['invited'];
 | |
| $data['cartaInvitacion'] = $_POST['letterinvited'];
 | |
| $data['roomingPref']  = $_POST['roomtype'];
 | |
| $data['roommate']  = $_POST['roomate'];
 | |
| $data['fechaRegistro'] = date("Y-m-d H:i:s");
 | |
| $fila = $data;
 | |
| 
 | |
| if (empty($_POST['nombre']))
 | |
|     $errors['nombre'] = 'Nombre is required.';
 | |
| 
 | |
| if (empty($_POST['apellido']))
 | |
|     $errors['apellido'] = 'Apellido is required.'; 
 | |
| 
 | |
| if (empty($_POST['email']))
 | |
|     $errors['email'] = 'E-Mail de contacto vacio o incorrecto';
 | |
| 
 | |
| if($db->findByMail($data['email']))
 | |
|     $errors['emailExists'] = 'There is already a registration for that email: ' . $data['email'].'\n'.
 | |
|     'Please contact: lydia@cmat.edu.uy';
 | |
| 
 | |
| if(empty($_POST['g-recaptcha-response'])){
 | |
|     $errors['recaptcha'] = 'Debe validar el captcha';
 | |
| }
 | |
| else if(!verifyCaptcha()){
 | |
|     $errors['recaptcha'] = 'Error en la validación de ReCaptcha';
 | |
| }
 | |
| 
 | |
| 
 | |
| if ( !empty($errors)) {
 | |
| 
 | |
|     // if there are items in our errors array, return those errors
 | |
|     $data['success'] = false;
 | |
|     $data['errors']  = $errors;
 | |
| } 
 | |
| else {
 | |
|     $data['success'] = true;
 | |
|     $db->insert($fila);   
 | |
|     /*
 | |
|     $mail = $data["email"];
 | |
|     $nombre = $data["nombre"] . " " . $data["apellido"];
 | |
|     $msg = "Hi ". $data["nombre"] ."!\n\n".
 | |
|     "You have been Successfully registered to the workshop on Groups, Geometry and Dynamics!\n\n".
 | |
|     "For any question, write us to: ggdworkshop@cmat.edu.uy\n\n".
 | |
|     "Regards,\n\n".
 | |
|     "Organizing Commite, GGD Workshop.";
 | |
|     $headers = 'From: ' . "ggdworkshop@cmat.edu.uy" . "\r\n" .
 | |
|                'Reply-To: ' . "ggdworkshop@cmat.edu.uy" . "\r\n" .
 | |
|                'Content-Type: ' . "text/plain; charset=UTF-8". "\r\n" .
 | |
|                'X-Mailer: PHP/' . phpversion();
 | |
|     mail($mail, 'Registration confirmation for GGDWorkshop', $msg, $headers);
 | |
|     */
 | |
|     $data['message'] = "Registration Successfully!";
 | |
| 
 | |
| }
 | |
| 
 | |
| // return all our data to an AJAX call
 | |
| $encoded = json_encode($data);
 | |
| header('Content-Type: application/json');
 | |
| exit($encoded);
 | |
| //echo json_encode($data);
 | |
| 
 | |
| ?>
 | 
