Funciones personalizadas

Muestra tipo de archivo

// * @author Adam Sánchez, Infoandina
function usr_filetype ($columns, $col, $param)
{

$archivo =$columns[$col][0][value];

if ($archivo{strlen($archivo)-4}==".") {

$extension =substr($archivo, -3); //extraigo los tres ultimos caracteres

return $extension;
}

else {

return "no hay archivo";
}
}

?>

Muestra tamaño de archivo

// * @author Adam Sánchez, Infoandina
function usr_filesize ($columns, $col, $param)
{

define('PATH', "/home/colnodo/public_html"); //ruta completa

$archivo =PATH.$columns[$col][0][value];

if ($archivo{strlen($archivo)-4}==".") { // compruebo si tiene una
extension tipo windows

$tamano = filesize($archivo);

if ($tamano $tamano_kb = round($tamano /1024,1);
return $tamano_kb." Kb";
}
else // si pasa 1024 se muestra en MB
{

Fechas en español

// * @author Adam Sánchez, INICTEL
function usr_fecha_espanol($columns, $col, $param="") {
$dte = $columns[$col][0][value];
$month = array( 1 => "enero", 2=>"febrero", 3=>"marzo", 4=>"abril",
5=>"mayo", 6=>"junio", 7=>"julio", 8=>"agosto",9=>"setiembre",
10=>"octubre", 11=>"noviembre", 12=>"diciembre");
$weekday = array(1=>"lunes",2=>"martes",3=>"miércoles",4=>"jueves",
5=>"viernes",6=>"sábado",0=>"domingo");
$m = $month[ date("n", $dte)];
$end = ( !$param ? "" : $weekday[ date("w", $dte) ]);

Contador de checkbox

// * @author Adam Sánchez, Infoandina
function usr_contar ($columns, $col, $param)
{
$contador=0;
$cadena='';

// 17 es el numero total de checkbox

for ($i=0;$i if($cadena.$columns[$col][$i][value]!='')
{$contador++;}

}

$porcentaje = round((($contador/17)*100),2);

return $porcentaje;

}

Cómo se pasan parámetros a una función personalizada

Muchas veces las funciones para cada campo nos quedan cortas y no nos queda mas remedio que desear hacernos una a la medida. Si se sabe algo de php es algo sencillo armarse una, el problema comienza cuando queremos pasar un parametro. Lo que sucede es que las AA incluyen al nombre de la funcion personalizada como parte de la variable parametro ($param). Por ejemplo si uno configura su campo asi;

¿Qué son las funciones personalizadas?

Son funciones que sirven para personalizar la forma como se va a mostrar el contenido de un campo en la página web.

Procedimiento

1. Crear el archivo contenedor de funciones personalizadas usr_aliasfnc.php3 dentro de la carpeta /apc-aa/include donde /apc-aa/ es el nombre de la carpeta de instalacion de las AA (puede ser otro tambien)

2. Colocar dentro de ese archivo la función, por ejemplo

function usr_nombreusuario ($columns, $col, $param)
#ejem {alias:posted_by.......:f_u:usr_nombreusuario:}
{
$id=$columns[$col][0][value];

Reemplazar cadena

function usr_reemplazartexto($columns, $col, $param)
{
#example {alias:abstract........:f_u:usr_reemplazarcadena:}
$val=$columns[$col][0][value];
$param = split(":",$param);
list($text, $text_replace) = $param;
$cadena = str_replace($text,$text_replace,$val);
return $cadena;
}

Muestra nombre de archivo

function usr_nombrearchivo($columns, $col, $param)
{
#example {alias:file...........1:f_u:usr_nombrearchivo:}
$field = $columns[$col][0][value];
$string2array = explode("/",$field);
$file=$string2array[count($string2array)-1];
return $file;
}

Recorta parte de un párrafo

function usr_resumen ($columns, $col, $param)
{
#example {alias:abstract........:f_u:usr_resumen:0:120}
$val=$columns[$col][0][value];
$param = split(":",$param);
list($funcion,$a,$b) = $param;
$val=ereg_replace("", "", $val); //replace los tags with its link
$text=substr($val,$a,$b);
return $text;
}

Ubica parte ruta de un archivo

function usr_parteruta ($columns, $col, $param)
#ejem {alias:file...........2:f_u:usr_parteruta:2}
#el orden es de derecha a izquierda, empieza en 1
{
$field =$columns[$col][0][value];
$parameters = split(":",$param);
list($func,$pos) = $parameters;
$string2array = explode("/",$field);
$string=$string2array[count($string2array)-$pos];
return $string;
}

Pages

Subscribe to RSS - Funciones personalizadas