<?php
/*
  ===============================================================

  inGenio X
  http://ingenio.area421.com

  Created by 
  Julian Moreno Hidalgo (Software developer)
  Jesus Moreno Hidalgo (Communication's tree)

  inGenio X is a free software licensed under CC-GNU GPL

  ===============================================================
*/
	if (!defined("IGNX")) { die("Attempt..."); }

/* salida gral */
function salida_gral( $str )
{
	$str = str_replace("<br>","<br />",$str);
	return $str;
}

/* salidas no HTML */
function salida_sin_tags_html_br( $str )
{
	// comillas inteligentes
	$str = str_replace( "&#8220;", "\"", $str );
	$str = str_replace( "&#8221;", "\"", $str );
	// tags
	$str = strip_tags ($str);
	$str = str_replace("\r\n","<br />",$str);
	return $str;
}

/* salida popups */
/* $html -> true|false */
function salida_popups( $str, $html=false )
{
	if (!$html)
	{
		$str = strip_tags ($str);
		$str = str_replace("\r\n"," ",$str);
		$str =  str_replace( "\"", "&#34;", $str );
		$str =  str_replace( "'", "&#39;", $str );
	} else {
		$str = str_replace("\r\n","<br />",$str);
		$str =  str_replace( "\"", "&#34;", $str );
		$str =  str_replace( "'", "&#39;", $str );
	}
	return $str;
}

function salida_sin_tags_html_corte( $str )
{
	$str = strip_tags ($str);
	if (strlen($str) > 255)
	{
		$str = substr($str,0,255);
		return $str."...";
	} else {
		return $str;
	}
	
}

/* salida formulario input text */
function salida_editar_form( $str )
{
	$str = str_replace( "'", "&#39;", $str );
	$str = str_replace( "\"", "&#34;", $str );
	return $str;
}

/* entrada no HMTL */
/* $br -> true|false */
function entrada_sin_tags_html( $str, $br=false )
{
	// comillas inteligentes
	$str = str_replace( "&#8220;", "\"", $str );
	$str = str_replace( "&#8221;", "\"", $str );
	// tags
	$str = strip_tags ($str);
	if ($br) { 	$str = str_replace("\r\n","<br />",$str); }
	return $str;
}

/* entrada etiquetas no HMTL, ... */
function entrada_etiquetas( $str )
{
	// caracter de control
	$car = TPL_CARACTER_URL;

	// borra caracteres especiales
	$str = str_replace("\r\n"," ",$str);
	$str = str_replace($car,"",$str);
	$str = str_replace("'"," ",$str);
	$str = str_replace("\"","",$str);
	$str = strip_tags ($str);	

	// gestiona las comas
	if ($str != "")
	{
		if (substr($str,0,1) != ",") { $str = ",".$str; }
		if (substr($str,-1) != ",") { $str = $str.","; }
	}		
	return $str;

}


/* entrada gral HMTL */
function entrada_gral_html( $str ) 
{
	$str = str_replace("\\","\\\\",stripslashes($str));	
	$str = str_replace( "'", "''", $str );
	$str = strTinyMCE ($str);	
	$str = str_replace( "<br>", "<br />", $str );
	return $str;
}

/* entrada de la cadena buscar */
function entrada_buscador($str) 
{
	
	$str = strip_tags ($str);	
	$str = str_replace("%","",$str);
	$str = str_replace("_","",$str);
	$str = stripslashes($str);
	$str = str_replace("'","",$str);
	$str = str_replace("\"","",$str);
	return $str;

}

/* por entrada TinyMCE */
function strTinyMCE ($str)
{

$str = preg_replace('/<p[^>]*>/', '', $str); // Remove the start <p> or <p attr="">
$str = preg_replace('/<\/p>/', '<br />', $str); // Replace the end
return $str; // Output content without P tags

}

/* por titulo producto en carro */
function grabar_titulo_prd ($str)
{
	$str = str_replace( "'", "''", $str );
	return $str;

}

/* 
	Funciones para la entrada de PVP en admin
	usada en -> precio, gastos, descuento
	roundDigits() -> devuelve el valor con los decimales marcados
	$value -> valor
	$precision -> decimales
*/
function entrada_pvp ($pvp)
{
	$pvp = str_replace( ",", ".", $pvp );
	if (is_numeric($pvp))
	{
		$pvp = roundDigits($pvp,2);
		
	} else {
		
		$pvp = 0;
	}
	return $pvp;
}
function roundDigits( $value, $precision=0 )
{
	$precisionFactor = ($precision == 0) ? 1 : pow( 10, $precision );
	return round( $value * $precisionFactor ) / $precisionFactor;
}

/*
	Funcion para mostrar el PVP en web
	muestra dos decimales
*/
function mostrar_pvp ($pvp)
{
	// pone un cero '0'
	if (round($pvp*10) == ($pvp*10) && round($pvp) != $pvp)
	{
		$pvp = $pvp."0";
	}
	// pone dos ceros '.00'
	if (!strstr($pvp,"."))
	{
		$pvp .= ".00";
	}
	
	// pone el simbolo
	if (CONFIG_67 == 1)
	{
		return CONFIG_68.$pvp;
	
	} else if (CONFIG_67 == 0)
	{
		return $pvp.CONFIG_68;
	}

}


/* funciones para codificar/descodificar
	en UTF8 desde ISO-8859-1 y viceversa */
function url_encode($text)
{
	return utf8_encode($text);
}
function url_decode($text)
{
	return utf8_decode($text);
}

/* funcion de codificar/descodificar ruta etiquetas y buscador
	$str -> la cadena que se busca
	$decode  -> descodificar (true|false) */
function codificar_buscador($str, $decode=false)
{
	// caracter de control
	$car = TPL_CARACTER_URL;
	
	if ($decode)
	{
		$str = preg_replace ('/([a-zA-Z])('.$car.'1)/', '&$1uml;', $str);
		$str = preg_replace ('/([a-zA-Z])('.$car.'2)/', '&$1acute;', $str);
		$str = preg_replace ('/([a-zA-Z])('.$car.'3)/', '&$1grave;', $str);
		$str = preg_replace ('/([a-zA-Z])('.$car.'4)/', '&$1circ;', $str);
		$str = preg_replace ('/([a-zA-Z])('.$car.'5)/', '&$1tilde;', $str);
		$str = preg_replace ('/([a-zA-Z])('.$car.'6)/', '&$1cedil;', $str);
		$str = preg_replace ('/([a-zA-Z])('.$car.'7)/', '&$1ring;', $str);
		$str = html_entity_decode($str);

	} else {

		$str = htmlentities($str);
		$str = preg_replace ('/&([a-zA-Z])(uml);/', '$1'.$car.'1', $str);
		$str = preg_replace ('/&([a-zA-Z])(acute);/', '$1'.$car.'2', $str);
		$str = preg_replace ('/&([a-zA-Z])(grave);/', '$1'.$car.'3', $str);
		$str = preg_replace ('/&([a-zA-Z])(circ);/', '$1'.$car.'4', $str);
		$str = preg_replace ('/&([a-zA-Z])(tilde);/', '$1'.$car.'5', $str);
		$str = preg_replace ('/&([a-zA-Z])(cedil);/', '$1'.$car.'6', $str);
		$str = preg_replace ('/&([a-zA-Z])(ring);/', '$1'.$car.'7', $str);

	}

	return $str;
}


/* funciones de codificar/descodificar cadenas */
function encode64($str)
{
	$sal = base64_encode($str);
	return $sal;
}

function decode64($str)
{
	$sal = base64_decode($str);
	return $sal;
}


?>