Funciones personalizadas

Cálculo de edad

Message: 2
Date: Tue, 21 Feb 2006 12:25:10 -0500 (GMT-05:00)
From: Jeff Haney
Reply-To: Jeff Haney
To: apc-aa-general@lists.sourceforge.net
Subject: [Apc-aa-general] Re: Calculating age

I guess I answered my own question; I just wrote my first custom alias function which wasn't as hard as I thought it would be. In case anybody is interested, the function is added to the /include/usr_aliasfnc.php3 file and is as follows:

function usr_calc_age($columns, $col, $param="") {
$age = $columns[$col][0][value];

Muestra atributos de archivo teniendo como dato la su ruta

function usr_atributosarchivo($columns, $col, $param) {
# muestra datos del archivo subido dado la ruta del archivo, por ejmplo /home/asocam/public+html/biblioteca . Adam
#ejem {alias:file...........6:f_u:usr_atributosarchivo:size}
#ejem {alias:file...........6:f_u:usr_atributosarchivo:type}

$parametros = split(":",$param);
$nomfuncion = $parametros[0];
$atributo = $parametros[1];

switch ($atributo) {
case 'type':
{$string = $columns[$col][0][value];
$string2array = explode(".",$string);

Muestra contenido del campo en minúsculas

function usr_minusculas ($columns, $col, $param)
#ejem {alias:text..........42:f_u:usr_minusculas}
{
$field =strtolower($columns[$col][0][value]);
return $field;
}

Muestra segmentos de cadena delimitadas por varios tipos de separadores

function usr_subcadena ($columns, $col, $param)
#ejem {alias:text..........42:f_u:usr_subcadena:-:2}
#ejem {alias:text..........42:f_u:usr_subcadena:[-|>]:2} Se puede ver el uso de expresiones regulares. CESA-Biblioteca>Recurso
#el orden es de derecha a izquierda, empieza en 1
{
$field =$columns[$col][0][value];
$parameters = split(":",$param);
list($func,$sep,$pos) = $parameters;
$string2array = split($sep,$field);
$string=$string2array[$pos-1];
return $string;
}

Fecha de caducidad (expiración)

La función personalizada es

function usr_expiracion ($columns, $col, $param) {

$hoy = mktime(0, 0, 0, date("m") , date("d"), date("Y"));
//$hoy = mktime(0, 0, 0, 03, 19, 2008);
$fechafin = mktime(0, 0, 0, 03, 19, 2008);
$diff=(int)$fechafin-(int)$hoy;

$res= (($diff>0) ? "Disponible":"Expiró");

return "hoy=".$hoy."

}

se usa en combinación con comandos como

Cómo programar funciones personalizadas

Hi Adam, Ariel and Ruth ,

if you are using SVN version of AA newer than 02/06/07, then it is better to use AA_Stringexpand approach. You can just put following code into usr_aliasfnc.php3 file and then use {myip} syntax.

/** {myip} - displays IP (or what it do) */
class AA_Stringexpand_Myip extends AA_Stringexpand {

function expand() {
if ($_SERVER) {
if ($_SERVER['HTTP_X_FORWARDED_FOR']) {
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif ( $_SERVER["HTTP_CLIENT_IP"] ) {

Mostrar subcategorías de categoría

Esta función sirve para mostrar las subcategorias de una categoria para una lista de constantes del mismo tipo que traen las AA para su arbol de categorias por default. Se usa como separador de la lista de constantes a la virgulilla ~

Por ejemplo, si la lista de constantes es

People-Gender
People-Children
People-Family

Si uso {alias:category........:f_u:usr_constantes:People}

mostrará Gender, Children, Family

function usr_constantes ($columns, $col, $param)
#ejem {alias:category........:f_u:usr_constantes:Society}
{

Muestra nombre de canal

function usr_nombrecanal ($columns, $col, $param)
#ejem {alias:slice_id........:f_u:usr_nombrecanal:{slice_id........}}
{
$param = split(":",$param);
list($funcion,$slice_id) = $param;
$result=mysql_query("select name from slice where id='".q_pack_id($slice_id)."'")
or die("consulta invalida");
while ($row=mysql_fetch_array($result))
{
$valor =$row["name"];
}
return $valor;
}

Muestra IP

function usr_ip($columns, $col, $param)
#ejem {alias:headline........:f_u:usr_ip:}
{
if ($_SERVER)
{
if ($_SERVER[HTTP_X_FORWARDED_FOR])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else
if ( $_SERVER["HTTP_CLIENT_IP"] )
$ip = $_SERVER["HTTP_CLIENT_IP"];
else
$ip = $_SERVER["REMOTE_ADDR"];
}
else
{
if ( getenv( "HTTP_X_FORWARDED_FOR" ) )
$ip = getenv( "HTTP_X_FORWARDED_FOR" );
else
if ( getenv( "HTTP_CLIENT_IP" ) )

Exportando a CSV

//usr_csv_field print field in CSV format
//(C)Michael Moritz mimo/at/restoel.net
function usr_csv_field($columns, $col, $param=""){
$quote = false;
list (,$value) = split_escaped (":",$param,"#:");
print("
v=".strpos($value,""")."
");
$quotepos = strpos($value,""");
if( $quotepos !== false ) {
$value = str_replace(""","""",$value);
$quote = true;
}
if($quote || (strpos($value,",")) || (strpos($value,"\n")) ) {
$value = """.$value.""";
}
return $value;
}
?>

Pages

Subscribe to RSS - Funciones personalizadas