dsn = $dsn; } /******************************/ # Funciones de pluging function ListarPalabrasPluging(){ $sql = "SELECT * FROM spip_libropalabrarelacionada "; $this->Conectar($this->dsn); $tmp = mysql_query($sql); $num_rows = mysql_num_rows($tmp); if( $num_rows ){ while($row = mysql_fetch_array($tmp, MYSQL_ASSOC)){ $aux = utf8_encode($row['palabra']); $resultado[$aux] = '[(\ |,|\.)'.$aux.'(\ |,|\.)]'; } } $this->Desconectar(); return $resultado; } # Fin de funciones de pluging /******************************/ function AgregarPalabra($data){ $this->Conectar($this->dsn); $sql = "INSERT INTO spip_libropalabra( palabra ) VALUES ('".trim($data['palabra'])."')"; $resultado = mysql_query($sql); $id_insert = mysql_insert_id(); $sql = "INSERT INTO spip_libropalabrarelacionada ( palabra , id_palabra ) VALUES ('".trim($data['palabra'])."','".$id_insert."')"; #echo $sql."
"; mysql_query($sql); foreach ( $data as $key => $value){ if ( array_key_exists('Check'.$key, $data )) { if( strlen($value)>0 ){ $sql = "INSERT INTO spip_libropalabrarelacionada ( palabra, id_palabra ) VALUES ('".trim($value)."','".$id_insert."')"; mysql_query($sql); } } if ( substr_count($key, 'otraP')>0 ){ if( strlen($value)>0 ){ $sql = "INSERT INTO spip_libropalabrarelacionada ( palabra, id_palabra ) VALUES ('".trim($value)."','".$id_insert."')"; mysql_query($sql); } } #echo $sql."
"; } // $resultado = mysql_query($sql); $this->Desconectar(); return $resultado; } function EditarPalabra($data){ $sql = "UPDATE spip_libropalabra SET palabra = '".$data['palabra']."' WHERE id_palabra = '".$data['id_palabra']."' LIMIT 1 ;"; $this->Conectar($this->dsn); $resultado = mysql_query($sql); $this->Desconectar(); return $resultado; } function BorrarPalabra($id_palabra){ //$sql = "UPDATE spip_libropalabra SET estado = '0' WHERE id_palabra = ".$id_palabra." LIMIT 1 "; $this->Conectar($this->dsn); $sql = "DELETE FROM spip_libropalabra WHERE id_palabra = ".$id_palabra." LIMIT 1 "; mysql_query($sql); $sql = "DELETE FROM spip_libropalabrarelacionada WHERE id_palabra = ".$id_palabra.""; mysql_query($sql); $this->Desconectar(); return $resultado; } function DatosPalabra($id){ $sql = "SELECT * FROM spip_libropalabra WHERE id_palabra='".$id."'"; $this->Conectar($this->dsn); $tmp = mysql_query($sql); $resultado = mysql_fetch_array($tmp, MYSQL_ASSOC); $this->Desconectar(); return $resultado; } /**/ function ListarPalabras(){ $sql = "SELECT * FROM spip_libropalabra"; $this->Conectar($this->dsn); $tmp = mysql_query($sql); while($row = mysql_fetch_array($tmp, MYSQL_ASSOC)){ $resultado[] = $row; } $this->Desconectar(); return $resultado; } } ?>$v ){ if( !empty($v) ){ if ( substr( htmlspecialchars_decode($v) , 0 , 1) == '"' ){ $mpalabra .= trim( htmlspecialchars_decode($v) , '"' ) ; if ( strlen( trim( htmlspecialchars_decode($v) , '"' ) )>3 ) $palabras[] = trim( htmlspecialchars_decode($v) , '"' ) ; $add = false; } elseif ( substr( htmlspecialchars_decode($v) , -1 , 1) == '"' ){ $mpalabra .= " ".trim( htmlspecialchars_decode($v) , '"' ) ; if ( strlen( trim( htmlspecialchars_decode($v) , '"' ) )>3 ) $palabras[] = trim( htmlspecialchars_decode($v) , '"' ); $add = true; } else{ if ( strlen( htmlspecialchars_decode($v) )>3 ) $palabras[] = htmlspecialchars_decode($v); if (!$add) $mpalabra .= " ".htmlspecialchars_decode($v); } } } $resultado['texte'] = $mpalabra ; $resultado['conTexto'] = ( empty($mpalabra)?false:true ); $resultado['palabras'] = ( is_array($palabras) ) ? array_unique($palabras) : $palabras ; return $resultado; } # Varifiica la valides de un e-mail function verificaMail($mail){ if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)+$",$mail)){ return true; }else return false; } # validacion de las varibles pasadas function var_nueva($dato){ if(is_array($dato)){ foreach($dato as $key=>$valor){ $dato[$key] = var_nueva($valor); } return $dato; } else{ return validar($dato); } } function validar($var){ $var = trim($var); $var = strip_tags($var); $var = htmlspecialchars($var); $var = mysql_escape_string($var); $var = htmlentities($var); return $var; } # muestra las variables en forma humana function debug($datos, $color = false, $titulo = false ){ echo "

$titulo

"; echo "
";
	print_r($datos);
	echo "

"; } # muestra las variables en forma humana function i($datos, $color = false, $titulo = false ){ echo "

$titulo

"; echo "
";
	print_r($datos);
	echo "

"; } # Devuelve la ip function ObtenerIp2long(){ return ip2long($_SERVER['REMOTE_ADDR']); } # Devuelve la ip real function GetIP(){ if ( !empty($_SERVER['HTTP_CLIENT_IP']) ){ $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif ( !empty($_SERVER['HTTP_X_FORWARDED_FOR']) ){ $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else{ $ip=$_SERVER['REMOTE_ADDR']; } return $ip; } # Validacion function formVacio( $variable, $mjeError ){ if( empty($variable) ){ $respuesta = $mjeError; } return $respuesta; } # Funciones Generadoras de variables de palabras function Mayuscula($palabra,$cod = false){ if($cod == false) $check = "checked"; $aux = strtoupper($palabra); $resultado = '
'; return $resultado; } function Minuscula($palabra,$cod = false){ if($cod == false) $check = "checked"; $aux = strtolower($palabra); $resultado = '
'; return $resultado; } function PrimeraMay($palabra,$cod = false){ if($cod == false) $check = "checked"; $aux = ucfirst($palabra); $resultado = '
'; return $resultado; } function TodasPrimeraMay($palabra,$cod = false){ if($cod == false) $check = "checked"; $trozos = explode(" ", $palabra ); if( count($trozos)>1 ){ $aux = ucwords($palabra); $resultado = '
'; } return $resultado; } function OpcionesPalabras( $palabra , $cod = false ){ $resultado = Mayuscula( $palabra, $cod ); $resultado .= Minuscula( $palabra, $cod ); $resultado .= PrimeraMay( $palabra, $cod ); $resultado .= TodasPrimeraMay( $palabra ,$cod ); return $resultado; } function Plural( $palabras, $cod ){ $trozos = explode(" ", $palabras ); foreach ($trozos as $palabra ){ if( substr($palabra, -1) == 'a' || substr($palabra, -1) == 'e' || substr($palabra, -1) == 'i' || substr($palabra, -1) == 'o' || substr($palabra, -1) == 'u' ) { $aux .= $palabra . "s " ; } else{ $aux .= $palabra . "es " ; } } $resultado = '
'; $resultado .= OpcionesPalabras( $aux , $cod ); return $resultado; } # Formatea los texto para se mostrados function TexteTruncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false){ if ($length == 0) return ''; if (strlen($string) > $length) { $length -= min($length, strlen($etc)); if (!$break_words && !$middle) { $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1)); } if(!$middle) { return substr($string, 0, $length) . $etc; } else { return substr($string, 0, $length/2) . $etc . substr($string, -$length/2); } } else { return $string; } } ######## Paginacion ########## function paginar( $array ,$cantPorPagina ,$inicio ,$final ,$url, $p ) { // DEFINIMOS LA CANTIDAD DE PGINAS $paginas = ceil(count($array) / $cantPorPagina ); $desde = ( ($p-5)<1 ? 1 : $p-5 ); $hasta = ( ($p+5)>$paginas ? $paginas : $p+5 ); // LISTAMOS LAS PGINAS echo '
'; if ($p>1) echo 'Anterior - '; for ($i=$desde; $i<=$hasta; $i++) { if ($i == $p) echo "".$i." "; else echo ''.$i.' '; } if ($p<$paginas) echo ' -  Siguiente '; echo '
'; return; } ######## function decodeFecha($var){ if ( !empty($var) ){ $aux = explode ( "-",$var ); $resultado = $aux[2]."-".$aux[1]."-".$aux[0]; } else{ $resultado = ""; } return $resultado ; } function encodeFecha($var,$hora="00:00:00"){ if ( !empty($var) ){ $aux = explode ( "-",$var ); // i($aux); $resultado = "'".$aux[2]."-".$aux[1]."-".$aux[0]." ".$hora."'" ; } else{ $resultado = 'NULL'; } // echo $resultado ; return $resultado ; } ############################## # Pasa un array en php a array java script function PasarArrayPhpAJavaScript($phpArray, $jsArrayName, &$html = '') { $html .= $jsArrayName . " = new Array(); \r\n "; foreach ($phpArray as $key => $value) { $outKey = (is_int($key)) ? '[' . $key . ']' : "['" . $key . "']"; if (is_array($value)) { PasarArrayPhpAJavaScript($value, $jsArrayName . $outKey, $html); continue; } $html .= $jsArrayName . $outKey . " = "; if (is_string($value)) { $html .= "'" . $value . "'; \r\n "; } else if ($value === false) { $html .= "false; \r\n"; } else if ($value === NULL) { $html .= "null; \r\n"; } else if ($value === true) { $html .= "true; \r\n"; } else { $html .= $value . "; \r\n"; } } return $html; } # Escribe una archivo function wDatos( $texto, $archivo="wdatos.txt" ){ $fp = fopen( $archivo, "a" ); fwrite($fp, $texto . PHP_EOL); fclose($fp); } # Pasa los caracteres de html a normal y de normal a html function convertirCaracteres( $texto , $tipo = "normal" ){ if ( $tipo=="html" ){ $busca = array ("","","","","","","","","","","",""); $remplazo = array ("á","é","í","ó","ú","Á","É","Í","Ó","Ú","ñ","Ñ"); } if ( $tipo=="normal" ){ $remplazo = array ("","","","","","","","","","","",""); $busca = array ("á","é","í","ó","ú","Á","É","Í","Ó","Ú","ñ","Ñ"); } $txt = str_replace( $busca, $remplazo, $texto ); return $txt; } # Funcion qie muestra los que se busco. # Funcion para el buscador function encabezadoResultado( $fila, $infoTexte ){ if ( $fila['query']=='A' ){ if ( $infoTexte['conTexto'] ){ $mostrar = '" '.$infoTexte['texte'].' "'; } else{ $mostrar = implode(" y/o ",$infoTexte['palabras'] ); } } if ( $fila['query']=='B' ){ $mostrar = implode(" y/o ",$infoTexte['palabras'] ); } $resultado['origen'] = $fila['tipo']; $resultado['mostrar'] = $mostrar; return $resultado; } # $fuente > El texto donde se busca # $strinsa > array con las palabras a ser buscadas # $texMax > es el largo del dek texto resultante # $style > es el stylo de las palabras a resalatar function TruncateTextoBuscado( $fuente, $strings , $texMax , $style = " background-color:#FFFF00;font-weight:bold;" ) { $i = 0; foreach( $strings as $str ) { # Se genera las varuables de las palabras que se van a buscar $aux = ""; $aux[] = $str; $aux[] = strtoupper($str); $aux[] = strtolower($str); $aux[] = ucfirst($str); # Busco las pociciones de las palabras foreach ( $aux as $string ){ $pos[$string] = strpos( $fuente, convertirCaracteres($string) ); # Se guarda la info sobre las palabras encontradas if( $pos[$string] !== false ){ $dat[$i]['ori'] = $string; $dat[$i]['rep'] = "".$string.""; # se guarda aparte las posiciones $posiciones[] = $pos[$string]; $i++; } } } if ( count($posiciones)>0 ){ // echo "
".count($posiciones)."
"; # Se eliminan las posisicones repetidas $posiciones = array_unique($posiciones) ; # Variable con la mitad de los caracteres maximos para mostar $media = $texMax / 2 ; # Se verifica que las palabras a ser remplazadas sean 2 o mas. if ( count($posiciones)>1 ){ # Se ordena las posiciones sort($posiciones); # Se genera un arreglo que contiene la distancia entre la posicion actual y la # siguiente posiciones las posicines a las que se hace refencia en el calculo. for( $i=0; $i ( $texMax-40 ) ){ # Se hace el calculo para la posicion desde la que se va cortar el texto. $start = $posiciones[$i] - $media; # Se verifica el $start y se define definitivamente la posicion de inicio de corte. if ( $start < 0 ) { $dataTexte[$i]['start'] = 0 ; } else{ $dataTexte[$i]['start'] = ceil($start) ; } } else{ # Se hace el calculo para la posicion desde la que se va cortar el texto. $start = ( ($dist / 2) + $posiciones[$i] ) - $media; # Se verifica el $start y se define definitivamente la posicion de inicio de corte. if ( $start < 0 ) { $dataTexte[$i]['start'] = 0 ; } else{ $dataTexte[$i]['start'] = ceil($start) ; } } } # Se exatra la ultima posicion porque se hace sobre el fin de archivo (cero) y no sobre otra posicion array_pop($dataTexte); # Se ordena por distancia entre las posiciones ( de menor a mayor ). sort($dataTexte); $desde = $dataTexte[0]['start']; # Porcion de texto que se va a mostrar $resultado = substr($fuente, $desde, $texMax) ; } else{ # Se hace el calculo de la posicion desde la que se va a cortar. $desde = $posiciones[0] - ( $texMax / 2 ) ; # Se verifica el resultado se viable. $desde = ( $desde<0 )? 0 : $desde ; # Porcion de texto que se va a mostrar $resultado = substr( $fuente, $desde , $texMax ); } # Si NO es desde la posicion cero se le agrega los puntos y se muestra desde el primer espacio. $resultado = ( ( $desde == 0 ) ? $resultado : "... ".strstr($resultado," ") ); # Funcion que formatear el final de la cadena $resultado = TexteTruncate( $resultado , $texMax-10, " ..." ) ; # Se realiza el remplazo de las palabras por la palabras con el formato de resaltacion. //i($dat); foreach ( $dat as $d ){ $resultado = str_replace( convertirCaracteres($d['ori']), convertirCaracteres($d['rep']), $resultado ); } } else { $resultado = TexteTruncate( $fuente , $texMax, " ..." ) ; } return $resultado ; } ?>