';
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 ;
}
?>