Buenas,voy a intentar explicarlo lo mejor posible dentro de mis posibilidades de programacion.
Pues resulta que tengo un componente instalado en joomla que se llama COM_EVENTS,y lo voy a utilizar para confirmaciones de los pilotos
si asiste o
no para las carreras.
El componente solo me da la opcion de confirmar la carrera,pero yo quiero usarlo tanto para confirmar si se corre la carrera como si no se corre.
O sea,yo voy a poner los archivos que tengos en el componente y a ver si podeis meter por ahi por medio una opcion que puedan elegir "Confirmar SI" o "Confirmar NO".
Y claro,que a mi me salta si han confirmado en positivo o en negativo en la tabla de administracion del comoponente,que me salga si ha confirmado en positivo o en negativo.
Bueno voy al grano con imagenes y archivos.
Esta primera imagen es lo que le sale a cualquier usuario que quiera confirmar asistencia a las carreras.Y ahi es donde quiero que salga otra opcion donde puedan confirmar en positivo SI o en negativo NO.
Esta segunda imagen es lo que veo yo solamente como administrador que soy.Pero me interesaria que aqui me reflejara tambien lo de la confirmacion positiva o negativa de los pilotos,para llevar un control de quien asiste y quien no a las carreras.
Aqui pongo los archivos:
Ruta:
/Web/components/com_eventos
Archivo: eventos.php
Código PHP:
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
$idEvento = $_POST['evento'];
$correo = $_POST['correo'];
//$nombre = $_POST['appat']." ".$_POST['apmat']." ".$_POST['nombre'];
$nombre = $_POST['nombre'];
$mensaje=$_GET['mid'];
global $database;
$activarid=$_GET['activate'];
$activarid=$_GET['activate'];
if (isset($activarid)) {
$datos_registro=explode("_",$activarid);
$sql="select * from jos_com_asistencia where idEvento=".$datos_registro[1]." and idAsistente='".$datos_registro[0]."'";
$database->setQuery( $sql );
$rows=$database->loadObjectList();
$row=$rows[0];
//-----------------------------------------------
if ($row->confirm != 1) {
$sql = "update jos_com_asistencia set confirm=1 where idEvento=".$datos_registro[1]." and idAsistente='".$datos_registro[0]."'";
$database->setQuery( $sql);
if (!$database->query()){
echo "<meta http-equiv='refresh' content='0 ; url=".$PHP_SELF."?option=com_eventos&mid=2'>";
} else {
echo "<meta http-equiv='refresh' content='0 ; url=".$PHP_SELF."?option=com_eventos&mid=3'>";
}
} else {
echo "<meta http-equiv='refresh' content='0 ; url=".$PHP_SELF."?option=com_eventos&mid=4'>";
}
//------------------------------------------------
} else if (isset($mensaje)) {
if ($mensaje == 0) {
echo "<div class='componentheading' style='color:#FF9900'>Ya existe registro</div>Sus datos ya estaban registrados previamente en este evento.";
} else if ($mensaje == 1) {
echo "<div class='componentheading'>Gracias por su registro</div>Un <b>correo electrónico de confirmación </b> ha sido enviado a la dirección de correo que usted nos proporcionó. <br><br> Para continuar con su registro porfavor confirme su asistencia.";
} else if ($mensaje == 2) {
echo "<div class='componentheading' style='color:#FF0000'>Error al registrar</div>Sus datos no han podido ser registrados en el evento<br>Porfavor contacte al administrador del sitio: ". $mainframe->getCfg('mailfrom');
}else if ($mensaje == 3) {
echo "<div class='componentheading'>Enhorabuena!</div> Su registro ha sido completado con éxito";
}else if ($mensaje == 4) {
echo "<div class='componentheading' style='color:#FF9900'>Confirmado</div>No se realizó confirmacion debido a que sus datos ya estan confirmados para el evento.";
}
} else if (isset($nombre) && isset($correo) && isset($idEvento)) {
$sql = "SELECT * FROM jos_com_asistencia where idEvento=".$idEvento." and mail='".$correo."'";
$database->setQuery( $sql );
$rows=$database->loadObjectList();
$row=$rows[0];
if ($row->mail == $correo) {
echo "<meta http-equiv='refresh' content='0 ; url=".$PHP_SELF."?option=com_eventos&mid=0'>";
} else {
$sql = "INSERT INTO jos_com_asistencia (idAsistente,idEvento,nombre,mail,fecha) values (UUID(),".$idEvento.",'".$nombre."','".$correo."', now()) ON DUPLICATE KEY UPDATE idAsistente=idAsistente+1;";
$database->setQuery( $sql );
if (!$database->query()){
echo "<meta http-equiv='refresh' content='0 ; url=".$PHP_SELF."?option=com_eventos&mid=2'>";
} else {
//----ENVIAR CORREO DE CONFIRMACIÓN------------
$sql = "SELECT * FROM jos_com_asistencia at join jos_com_eventos ev on ev.idEvento=at.idEvento where at.idEvento=".$idEvento." and mail='".$correo."'";
$database->setQuery( $sql );
$rows=$database->loadObjectList();
$row=$rows[0];
//--Enviando un correo de confirmacion.---------------
$e_remitente=$mainframe->getCfg('mailfrom');
$url = $_SERVER['SERVER_NAME']."/index.php?option=com_eventos&activate=".$row->idAsistente."_".$row->idEvento."&Itemid=4";
$sitio = $mainframe->getCfg('sitename');
$asunto = "Confirmacion de asistencia para ".$row->nombre;
$mensaje = "<div style='font-size:16px;color:#33669'><b>Estimado(a) " . $row->nombre . ":</b></div><br><br>";
$mensaje .= "Este correo está generado automaticamente desde el sitio de ".$sitio." como parte de su ";
$mensaje .= "solicitud de inscripción a <b>".$row->nombreEvento."</b>.<br><br>";
$mensaje .= "El propósito de este correo es verificar que la dirección de correo que se nos ";
$mensaje .= "proporcionó realmente existe, y que usted está dispuesto(a) a informar a la administracion de si vas a participar o no en el evento.<br><br>";
$mensaje .= "Para confirmar si asiste o no al evento, de click en el siguiente vínculo:<br><b><div style='font-size:13px;color:#FF0000'><a href='".$url."'>".$url."</a></div></b><br><br><br>";
$mensaje .= "<b>Nota:</b>Este correo electronico solo sirve para confirmar si se asiste o no a dicha carrera, <br>";
$mensaje .= "tendras que hacer los mismos pasos para cada carrera.<br><br><div style='font-size:13px;color:#33669'><b>Atte: Equipo de ".$sitio."</b></div>";
$encabezado = "From:".$e_remitente."\nReply-To:".$e_remitente."\n";
$encabezado .= "X-Mailer:PHP/".phpversion()."\n";
$encabezado .= "Mime-Version: 1.0\n";
$encabezado .= "Content-Type: text/html";
mail($row->mail,$asunto,$mensaje,$encabezado);
//----- Fin de envio de correo...--------------------
echo "<meta http-equiv='refresh' content='0 ; url=".$PHP_SELF."?option=com_eventos&mid=1'>";
}
}
} else {
echo "<script type='text/javascript'>
function isEmail(theElement){
var s = theElement.value;
var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
if (filter.test(s) && s.length > 0)
return true;
else
alert('Ingrese una direccion de correo valida');
theElement.focus();
return false;
}
function validar() {
if (document.registro.evento.value.length < 1) {
alert('Debe seleccionar un Evento');
return false;
}
if (document.registro.nombre.value.length < 3) {
alert('Debe escribir su nombre');
return false;
}
if (!isEmail(document.registro.correo)) {
return false;
}
return true;
}
</script>";
$sql = "SELECT * from jos_com_eventos where fechalimite >= now()";
$database->setQuery( $sql );
$rows = $database->loadObjectList();
$row0=$rows[0];
echo "<div class='componentheading'>Suscripción a Eventos</div><div class='small'> (Hay ". count($rows)." evento(s) disponible(s))</div>";
echo "<table><tr><td><form name='registro' method='post' action='".$PHP_SELF."' onsubmit='return validar()'>
<br>";
if ($row0->nombreEvento != ""){
echo "<div class='small2'>Evento <select name='evento' style='margin-left:19px'>";
foreach ( $rows as $row ) {
echo "<option value='".$row->idEvento."'>".$row->nombreEvento."</option>";
}
echo "</select></div>";
} else {
echo "<div style='margin-left:30px; color:#ff6600'>No existen eventos por ahora</div>";
}
echo "<div class='small2'>Nickname <input type='text' name='nombre' size='27'></div>
<div class='small2'>Correo Electrónico <input type='text' name='correo' style='margin-left:4px'></div><br>
<input type='reset' value='Limpiar Campos' style='background:#FFFFFF; Color:#666666'> <input type='submit' value='Registrarme' style='background:#FFFFFF; Color:#666666'>
</form></td></tr></table>";
}
?>