=0) && ( $pieces[$i]=='en' || $pieces[$i]=='del' || $pieces[$i]=='el' || $pieces[$i]=='desde' || $pieces[$i]=='con' || $pieces[$i]=='de' || $pieces[$i]=='la' || $pieces[$i]=='para' || $pieces[$i]=='las') ) $poslink=$i+1;
$posflink=$poslink+($poslink % 4)+1;
if($i==$poslink){
$link="";
//array_push($nuarr,"(".$poslink.")"); //para depuración
array_push($nuarr,$link);
array_push($nuarr,$pieces[$i]);
$enlink=1;
}
else if( $i == $posflink || ( strpbrk($pieces[$i-1],",.:)") && $enlink==1) ){
$numlinks--;
$enlink=0;
array_push($nuarr,$pieces[$i]);
array_push($nuarr,"");
if($numlinks>=0){
$sig=rand($poslink+10, ($numpals-(10*$numlinks)) );
$poslink = ( $sig? sig : $numpals+1);//para que no inserte más
}
else {
$poslink = $numpals+1;//para que no inserte más
}
}
else array_push($nuarr,$pieces[$i]);
if( $i==($numpals-1) && $enlink==1)array_push($nuarr,"");//si se había quedado el último link sin cerrar
}
return implode(" ",$nuarr);
}
function iconofiletype ($nomfich){
// extraemos la extensión:
$fileextension=substr(strrchr($nomfich, '.'), 0 );
//seleccionamos el nombre del icono:
switch($fileextension)
{
case '.txt': case '.rtf': case '.log':
$fticon='fttexto.gif';
break;
case '.doc': case '.docx': case '.docm': case '.odt': case '.sxw': case '.lwp': case '.dot': case '.dotx': case '.dotm': case '.ott': case '.stw': case '.mwp':
$fticon='ftdocumento.gif';
break;
case '.ppt' : case '.pps' : case '.pptx' : case '.pptm' : case '.ppsx' : case '.ppsm' : case '.ppam' : case '.odp' : case '.sxi' : case '.prz' : case '.key' : case '.pot' : case '.potx' : case '.potm' : case '.otp' : case '.mas' : case '.smc' : case '.sti':
$fticon='ftpresentacion.gif';
break;
case '.pdf':
$fticon='ftpdf.gif';
break;
case '.htm': case '.html': case '.css': case '.jsp': case '.xml': case '.js': case '.cfm': case '.php': case '.asp': case '.c': case '.py': case '.cpp': case '.hpp': case '.java':
$fticon='ftcodigo.gif';
break;
case '.gif': case '.png': case '.bmp': case '.psd': case '.ai': case '.eps': case '.tiff': case '.tga': case '.svg': case '.svgz':
$fticon='ftgrafico.gif';
break;
case '.jpg': case '.jpeg':
$fticon='ftimagen.gif';
break;
case '.mp3': case '.wav': case'.aiff': case '.m4a': case '.aac': case '.wma':
$fticon='ftsonido.gif';
break;
case '.mov': case '.avi': case '.wmv': case '.divx': case '.mp4':
$fticon='ftvideo.gif';
break;
case '.zip': case '.cab': case '.dmg': case '.rar': case '.sit': case '.tar': case '.sqx': case '.gz': case '.jar': case '.arc':
$fticon='ftcomprimida.gif';
break;
case '.vcf': case '.vcard':
$fticon='ftcontacto.gif';
break;
default;
$fticon='ftgeneral.gif';
break;
}
return $fticon;
}
function generarCaptcha (){
$v1= rand(6,9);
$v2= rand(1,5);
$v3= rand(0,4);
$orden= rand(0,1);
$msgcaptcha="";
switch($v3)
{
case 0:
$msgcaptcha="¿ Cuánto es $v1 más $v2 ? ";
$resultado=$v1+$v2;
$op='+';
break;
case 1:
$msgcaptcha="¿ Cuánto es $v1 menos $v2 ? ";
$resultado=$v1-$v2;
$op='-';
break;
case 2:
$op='>';
if($orden){
$izqd=$v1;
$dcha=$v2;
}else{
$izqd=$v2;
$dcha=$v1;
}
$msgcaptcha="Escribe el mayor de entre $izqd y $dcha: ";
$resultado=$v1;
break;
case 3:
$op='<';
if($orden){
$izqd=$v1;
$dcha=$v2;
}else{
$izqd=$v2;
$dcha=$v1;
}
$msgcaptcha="Escribe el menor de entre $izqd y $dcha: ";
$aux=$v1;
$v1=$v2;
$v2=$aux;
$resultado=$v1;
break;
case 4:
$resultado=$v2*$v1;
$msgcaptcha="¿ Cuánto es $v1 por $v2 ? ";
$op='*';
break;
default:
$msgcaptcha="Error con numero aleatorio ";
}
$codigoverificacion = rand(100000,90000000);
$_SESSION['verificacion_captcha']=$codigoverificacion;
$_SESSION['resultado_captcha']=$resultado;
$_SESSION['v1_captcha']=$v1;
$_SESSION['v2_captcha']=$v2;
$_SESSION['operacion_captcha']=$op;
//a�adido 26/07/2021
$_SESSION['pregunta']=$msgcaptcha;
$datoscaptcha=array("mensaje"=>$msgcaptcha,"codigo_verificacion"=>$codigoverificacion);
$_SESSION['horaCaptchaGenerada']=date('Y-m-d H:i:s');
return $datoscaptcha;
}
function verificarcaptcha($codigoverificacion, $resultado){
$codigoverificacion = (int) $codigoverificacion;
$resultado = (int) $resultado;
if(!$codigoverificacion){
return false;
}
$exito=$_SESSION['verificacion_captcha']===$codigoverificacion && $_SESSION['resultado_captcha']===$resultado;
$v1=$_SESSION['v1_captcha'];
$v2=$_SESSION['v2_captcha'];
$op=$_SESSION['operacion_captcha'];
$resultado=$_SESSION['resultado_captcha'];
return array("exito"=>$exito,"v1"=>$v1,"v2"=>$v2,"op"=>$op,"resultado"=>$resultado);
}
function grabarcaptcha($exito){
//id,ip,resultadoEnviado,operandoEsperado1,operandoEsperado2,operacionEsperada,resultadoEsperado,idSesion,diayhora,mensaje,nombre,exito
GLOBAL $conexion;
$ip=$_SERVER['REMOTE_ADDR'];
$resultadoEnviado= MySQL_real_escape_string($_POST['txtrespuesta'],$conexion);
$v1= $_SESSION['v1_captcha'];
$v2= $_SESSION['v2_captcha'];
$pregunta= $_SESSION['pregunta'];
$op= $_SESSION['operacion_captcha'];
$resultadoEsperado= $_SESSION['resultado_captcha'];
$idSesion= SESSION_ID();
$mensaje= MySQL_real_escape_string($_POST["txtconsulta"],$conexion);
$nombre= MySQL_real_escape_string($_POST["txtnombre"],$conexion);
//$exito = par�metro
$horaCaptchaGenerada=$_SESSION['horaCaptchaGenerada'];
$segundosRellenar = strtotime(date('Y-m-d H:i:s'))-strtotime($horaCaptchaGenerada);
$consultaestudiocaptha = <<