$v) { if($tipo=='M') $res.=strtoupper($v) . " "; else $res.=ucfirst($v). " "; } return $res; } function nombreTabla2($cad,$cad2,$tipo) { $temporal=explode("_",$cad); $temporal2=explode("_",$cad2); $res=""; foreach($temporal as $k=>$v) { if($tipo=='M') $res.=strtoupper($v) . " "; else $res.=ucfirst($v). " "; } $res.=" > "; foreach($temporal2 as $k=>$v) { if($tipo=='M') $res.=strtoupper($v) . " "; else $res.=ucfirst($v). " "; } return $res; } // Funcion que comprueba un tipo con su mime function tipos_mime($tipo,$tipos_esperados) { $mimes=array(); if($tipos_esperados=="fotos") $mimes=array('image/bmp','image/gif','image/x-png','image/jpeg','image/jpeg','image/pjpeg','image/png', 'image/svg+xml'); if($tipos_esperados=="videos") $mimes=array('application/x-shockwave-flash','application/octet-stream','video/x-flv'); if($tipos_esperados=="docs") $mimes=array('application/binary','application/msword','application/pdf','text/plain','application/vnd.openxmlformats-officedocument.wordprocessingml.document'); if($tipos_esperados=="comprimidos") $mimes=array('application/x-zip-compressed','application/octet-stream','application/zip','application/x-rar-compressed','application/rar'); if($tipos_esperados=="audios") $mimes=array('audio/mpeg'); if($tipos_esperados=="imagen-flash") $mimes=array('image/bmp','image/gif','image/x-png','image/jpeg','image/jpeg','image/pjpeg','image/png','application/x-shockwave-flash'); if($tipos_esperados=="fotos-videos") $mimes=array('image/bmp','image/gif','image/x-png','image/jpeg','image/jpeg','image/pjpeg','image/png','application/x-shockwave-flash','application/octet-stream'); // echo $tipo; return in_array($tipo,$mimes); } // Funcion que comprueba la extension. function extension($ext_file,$tipos_esperados) { $atipos=array(); $ext_file=strtolower($ext_file); if($tipos_esperados=="fotos") $atipos=array('png','gif','jpg','jpeg','bmp', 'svg'); if($tipos_esperados=="videos") $atipos=array('flv','swf','mov'); if($tipos_esperados=="docs") $atipos=array('pdf','doc','txt','docx'); if($tipos_esperados=="comprimidos") $atipos=array('zip','rar'); if($tipos_esperados=="audios") $atipos=array('mp3'); if($tipos_esperados=="imagen-flash") $atipos=array('swf','png','gif','jpg','jpeg','bmp'); if($tipos_esperados=="fotos-videos") $atipos=array('png','gif','jpg','jpeg','bmp','flv','swf','mov'); return in_array($ext_file,$atipos); } /* Funcion que crea un directorio si no existe, si existe pues no hace nada*/ function crea_directorio($ruta) { if(!is_dir($ruta)) mkdir($ruta, 0700); //Ponemos permiso de escritura en el directorio chmod($ruta,0775); } function tiene_acceso($usuario,$seccion) { $acceso=false; if($usuario==1) $acceso=true; // SuperAdmnistrador siemre con todo el acceso else { $s="select idpermisos from permisos where idusuarios=$usuario and idseccion=$seccion"; $r=mysql_query($s); if(mysql_num_rows($r)!=0) $acceso=true; } return $acceso; } function esEntero( $var ) { /* Verificar si es entero sea lo que sea lo que entra por parametro: Un string o entero o lo que sea */ return preg_match ('/'."^[-]?[0-9]+([\.][0-9]+)?$".'/', $var); } function NormalizaURL($url){ /*Normaliza una url, es decir si no tiene http:// pues se lo pone y si lo tiene no toca nada*/ if (!preg_match("/^(http|ftp):/", $url)) { $url = 'http://'.$url; } return $url; } function NormalizaURLRedesSociales($url){ /*Normaliza una url, es decir si no tiene http:// pues se lo pone y si lo tiene no toca nada*/ if (!preg_match("/^(https|ftps):/", $url)) { $url = 'https://'.$url; } return $url; } function ofuscaCorreo($text) { /*Obfusca direcciones de correo para span en robots*/ $length = strlen($text); $scrambled = ''; for ($i = 0; $i < $length; ++$i) { $scrambled .= '&#' . ord(substr($text, $i, 1)) . ';'; } return $scrambled; } function crearClave() // Crea clave aleatoria { $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; $cad = ""; for($i=0;$i<9;$i++) { $cad .= substr($str,rand(0,62),1); } return $cad; } function enviar_user($web,$remitente,$login,$clave,$email) // Envia al user su acceso a la administraci�n { $destinatario = $email; $as="Datos de acceso a la administraci�n de $web"; $cuerpo = '

Login: ' . $login .'
Clave: ' . $clave .'

'; //para el env�o en formato HTML $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; //direcci�n del remitente $headers .= "From: WEB $web <$remitente> \r\n"; //direcciones que recibir�n copia oculta //$headers .= "Bcc: informacion@diteh.es\r\n"; mail($destinatario,$as,$cuerpo,$headers); } function enviar_administrador_registrodemandante($web,$remitente,$email,$provincia) // Envia al user su acceso a la administraci�n { $destinatario = "contacto@jobvers.es"; //$destinatario = "juanlump@hotmail.com"; $as="Nuevo usuario registrado en Jobvers"; $cuerpo = '

Se ha registrado un nuevo usuario en Jobvers. Usuario registrado con Email: '.$email.' y provincia: '.$provincia; $cuerpo.='



'; //para el env�o en formato HTML $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; //direcci�n del remitente $headers .= "From: WEB $web <$remitente> \r\n"; //direcciones que recibir�n copia oculta //$headers .= "Bcc: informacion@diteh.es\r\n"; mail($destinatario,$as,$cuerpo,$headers); } function enviar_administrador_registroofertante($web,$remitente,$email,$empresa,$provincia) // Envia al user su acceso a la administraci�n { $destinatario = "contacto@jobvers.es"; //$destinatario = "juanlump@hotmail.com"; $as="Nueva empresa registrada en Jobvers"; $cuerpo = '

Se ha registrado una nueva empresa en Jobvers. Empresa con nombre: '.$empresa.'. Registrada con Email: '.$email.' y provincia: '.$provincia; $cuerpo.='



'; //para el env�o en formato HTML $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; //direcci�n del remitente $headers .= "From: WEB $web <$remitente> \r\n"; //direcciones que recibir�n copia oculta //$headers .= "Bcc: informacion@diteh.es\r\n"; mail($destinatario,$as,$cuerpo,$headers); } function enviar_demandante_registro($web,$remitente,$login,$clave,$email) // Envia al user su acceso a la administraci�n { $destinatario = $email; $as="Jobvers te da la Bienvenida"; $cuerpo = '

�ENHORABUENA!. Su registro se ha realizado correctamente.
Ahora es un miembro de la comunidad Jobvers.
Sus datos de acceso son:

Usuario: ' . $login .'
Contraseña: ' . $clave .'



'; //para el env�o en formato HTML $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; //direcci�n del remitente $headers .= "From: WEB $web <$remitente> \r\n"; //direcciones que recibir�n copia oculta //$headers .= "Bcc: informacion@diteh.es\r\n"; mail($destinatario,$as,$cuerpo,$headers); } function enviar_demandante_nuevopass($web,$remitente,$login,$clave,$email) // Envia al user su acceso a la administraci�n { $destinatario = $email; $as="Nueva clave de acceso Jobvers"; $cuerpo = '

�ENHORABUENA!. Su contrase�a se ha modificado correctamente.
Sus datos de acceso son:

Usuario: ' . $login .'
Contraseña: ' . $clave .'



'; //para el env�o en formato HTML $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; //direcci�n del remitente $headers .= "From: WEB $web <$remitente> \r\n"; //direcciones que recibir�n copia oculta //$headers .= "Bcc: informacion@diteh.es\r\n"; mail($destinatario,$as,$cuerpo,$headers); } /* Backup de BD OR solo una tabla */ function backup_bd($tables = '*') { // $link = mysql_connect($host,$user,$pass); // mysql_select_db($name,$link); $user=$db_usuario; $name=$base_de_datos; $pass=$db_password; //get all of the tables if($tables == '*') { $tables = array(); $result = mysql_query('SHOW TABLES'); while($row = mysql_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',',$tables); } //cycle through foreach($tables as $table) { $result = mysql_query('SELECT * FROM '.$table); $num_fields = mysql_num_fields($result); $return.= 'DROP TABLE '.$table.';'; $row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table)); $return.= "\n\n".$row2[1].";\n\n"; for ($i = 0; $i < $num_fields; $i++) { while($row = mysql_fetch_row($result)) { $return.= 'INSERT INTO '.$table.' VALUES('; for($j=0; $j<$num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = ereg_replace("\n","\\n",$row[$j]); if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; } } $return.= ");\n"; } } $return.="\n\n\n"; } //save file $nfile='db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql'; $handle = fopen($nfile,'w+'); fwrite($handle,$return); fclose($handle); return $nfile; } // Validacion en formularios function texto_obligatorio($nombre,$valor) { if(trim($valor)=='') return "$nombre no puede estar vacio, "; else return ''; } function entero_obligatorio($nombre,$valor) { if(!is_numeric($valor)) return "$nombre debe ser un número"; else return ''; } function es_archivo($nombre,$valor,$tipo) { if ($_FILES['fichero']['name']!="") { $aextension = explode(".",$_FILES['fichero']['name']); $num = count($aextension)-1; $ext=strtolower($aextension[$num]); if(!extension($ext,$tipos['fichero'])) $Err.="La extensión del fichero de video no es correcta
"; if(!tipos_mime($_FILES['fichero']['type'],$tipos['fichero'])) $Err.="Tipo incorrecto del fichero de video
"; } } function strip_tags_attributes($string,$allowtags=NULL,$allowattributes=NULL){ $string = strip_tags($string,$allowtags); if (!is_null($allowattributes)) { if(!is_array($allowattributes)) $allowattributes = explode(",",$allowattributes); if(is_array($allowattributes)) $allowattributes = implode(")(? 0) $allowattributes = "(?]*>/i",create_function( '$matches', 'return preg_replace("/ [^ =]*'.$allowattributes.'=(\"[^\"]*\"|\'[^\']*\')/i", "", $matches[0]);' ),$string); } return $string; } function getRealIP() { if( $_SERVER['HTTP_X_FORWARDED_FOR'] != '' ) { $client_ip = ( !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : ( ( !empty($_ENV['REMOTE_ADDR']) ) ? $_ENV['REMOTE_ADDR'] : "unknown" ); // los proxys van a�adiendo al final de esta cabecera // las direcciones ip que van "ocultando". Para localizar la ip real // del usuario se comienza a mirar por el principio hasta encontrar // una direcci�n ip que no sea del rango privado. En caso de no // encontrarse ninguna se toma como valor el REMOTE_ADDR $entries = split('[, ]', $_SERVER['HTTP_X_FORWARDED_FOR']); reset($entries); while (list(, $entry) = each($entries)) { $entry = trim($entry); if ( preg_match("/^([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)/", $entry, $ip_list) ) { // http://www.faqs.org/rfcs/rfc1918.html $private_ip = array( '/^0\\./', '/^127\\.0\\.0\\.1/', '/^192\\.168\\..*/', '/^172\\.((1[6-9])|(2[0-9])|(3[0-1]))\\..*/', '/^10\\..*/'); $found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]); if ($client_ip != $found_ip) { $client_ip = $found_ip; break; } } } } else { $client_ip = ( !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : ( ( !empty($_ENV['REMOTE_ADDR']) ) ? $_ENV['REMOTE_ADDR'] : "unknown" ); } return $client_ip; } function formatearFecha($fecha) { if ($fecha == '') return; switch (date("m",$fecha)) { case 1: $mes='Enero';break; case 2: $mes='Febrero';break; case 3: $mes='Marzo';break; case 4: $mes='Abril';break; case 5: $mes='Mayo';break; case 6: $mes='Junio';break; case 7: $mes='Julio';break; case 8: $mes='Agosto';break; case 9: $mes='Septiembre';break; case 10: $mes='Octubre';break; case 11: $mes='Noviembre';break; case 12: $mes='Diciembre';break; } return date("d", $fecha) . " de " . $mes . " de " . date("Y",$fecha); } function formatearFecha2($fecha) { if ($fecha == '') return; switch (date("w",$fecha)) { case 0: $dia='Domingo';break; case 1: $dia='Lunes';break; case 2: $dia='Martes';break; case 3: $dia='Miércoles';break; case 4: $dia='Jueves';break; case 5: $dia='Viernes';break; case 6: $dia='Sábado';break; } switch (date("m",$fecha)) { case 1: $mes='Enero';break; case 2: $mes='Febrero';break; case 3: $mes='Marzo';break; case 4: $mes='Abril';break; case 5: $mes='Mayo';break; case 6: $mes='Junio';break; case 7: $mes='Julio';break; case 8: $mes='Agosto';break; case 9: $mes='Septiembre';break; case 10: $mes='Octubre';break; case 11: $mes='Noviembre';break; case 12: $mes='Diciembre';break; } return $dia.", ". date("d", $fecha) . " de " . $mes . " de " . date("Y",$fecha); } function formatearFecha3($fecha) { if ($fecha == '') return; switch (date("m",$fecha)) { case 1: $mes='Enero';break; case 2: $mes='Febrero';break; case 3: $mes='Marzo';break; case 4: $mes='Abril';break; case 5: $mes='Mayo';break; case 6: $mes='Junio';break; case 7: $mes='Julio';break; case 8: $mes='Agosto';break; case 9: $mes='Septiembre';break; case 10: $mes='Octubre';break; case 11: $mes='Noviembre';break; case 12: $mes='Diciembre';break; } return $mes . " de " . date("Y",$fecha); } function formatearFecha4($fecha) { if ($fecha == '') return; switch (date("m",$fecha)) { case 1: $mes='Ene';break; case 2: $mes='Feb';break; case 3: $mes='Mar';break; case 4: $mes='Abr';break; case 5: $mes='May';break; case 6: $mes='Jun';break; case 7: $mes='Jul';break; case 8: $mes='Ago';break; case 9: $mes='Sep';break; case 10: $mes='Oct';break; case 11: $mes='Nov';break; case 12: $mes='Dic';break; } return $mes; } function formatearCadena($cadena) { $cadena = strtolower(quitarAcento($cadena)); $noValidos = array("%", "?", ".", ")" ,"(", "¿"); $cadena = str_ireplace($noValidos , '', $cadena); str_ireplace ( ' ', ' ', $cadena); return str_ireplace(' ' , '-', $cadena); } function quitarAcento($cadena) { $no_permitidas= array ("á","é","í","ó","ú","Á","É","Í","Ó","Ú","ñ","À","Ã","Ì","Ò","Ù","Ù","à ","è","ì","ò","ù","ç","Ç","â","ê","î","ô","û","Â","Ê","ÃŽ","Ô","Û","ü","ö","Ö","ï","ä","«","Ò","Ï","Ä","Ë"); $permitidas= array ("a","e","i","o","u","A","E","I","O","U","n","N","A","E","I","O","U","a","e","i","o","u","c","C","a","e","i","o","u","A","E","I","O","U","u","o","O","i","a","e","U","I","A","E"); $texto = str_replace($no_permitidas, $permitidas ,$cadena); return $texto; } function formatearDescripcion ($descripcion, $tipo=0) { $caracteresEliminar = array('

'); $descripcion = str_ireplace($caracteresEliminar, '', $descripcion); $caracteresEliminar = array('

'); $descripcion = str_ireplace($caracteresEliminar, '', $descripcion); if ($tipo == 0) { if (strpos($descripcion, '')) return substr($descripcion, 0, strpos($descripcion, '')); else return $descripcion; } else return $descripcion; } function crearRSS() { $rss = ''; $sql = "SELECT email FROM contacto"; $result=mysql_query($sql); $R=mysql_fetch_array($result); $email=$R['email']; $sql = "SELECT noticias, idnoticias, fecha, descripcion FROM noticias ORDER BY fecha DESC LIMIT 10 OFFSET 0"; $result=mysql_query($sql); if (mysql_num_rows($result) > 0) { $rss = ' DUNA FORMACION http://www.dunaformacion.com/ El RSS de duna formacion es-ES DUNA FORMACION ('.$email.') Copyright 2014 DUNA FORMACION ' . date ('Y-m-d') . 'T' . date('h:m:s') . '+01:00'. ' '; while ($Rc= mysql_fetch_array($result)) { $cadenaURL = formatearCadena(utf8_decode($Rc["noticias"]))."/".$Rc["idnoticias"]; $rss .= " ". $Rc["noticias"]." http://dunaformacion.com/novedad.php?" . $cadenaURL ." ". date('Y-m-d',$Rc['fecha']) . 'T09:00:00' . "+01:00 "; } $rss .= " "; } return $rss; } function generarCodigoDecuento($bd) { $codigoDescuento = crearClave(); $sql = "SELECT codigo FROM descuentos WHERE codigo='$codigoDescuento'"; if ($bd->ejectuarConsultaSQL($sql) > 0) { if ($bd->getTotalRegistros() > 0) generarCodigoDecuento($bd); } return $codigoDescuento; } ?>