Example #1
0
/**
 * Obtiene la representación html de un campo.
 * Se utiliza en consulta. 
 * @return valor
 */
function ddlib_visualizarCampo(&$aCampo, $campo, $fila)
{
    $idioma = tIdiomaPorDefecto();
    $aParametros = explode(' ', $aCampo["tipo"]);
    $formato = $aParametros[0];
    switch ($formato) {
        case "adjunto":
        case "url":
            if ($campo) {
                // @TODO verificar otros protocolos
                if (substr($campo, 0, 4) != "http") {
                    $cTemp = (isset($aParametros[1]) ? $aParametros[1] : "") . $campo;
                } else {
                    $cTemp = $campo;
                }
                return "<a href='{$cTemp}'>" . corta($campo, 25) . "</a>";
            } else {
                return "";
            }
        case "implode":
            return is_array($campo) ? implode(substr($aCampo["tipo"], 8), $campo) : $campo;
        case "lista":
            if (isset($aCampo["lista"])) {
                return isset($aCampo["lista"][$campo]) ? $aCampo["lista"][$campo] : $campo;
            } elseif (isset($aParametros[1])) {
                return mlista($aParametros[1], $campo);
            } else {
                return $campo;
            }
        case "checkbox":
        case "SINO":
            return "<strong>" . ($campo ? tIdiomaLocale("SI") : tIdiomaLocale("NO")) . "</strong>";
        case "siNO":
            return $campo ? tIdiomaLocale("SI") : "<strong>" . tIdiomaLocale("NO") . "</strong>";
        case "SIno":
            return $campo ? "<strong>" . tIdiomaLocale("SI") . "</strong>" : tIdiomaLocale("NO");
        case "sino":
            $campo = $campo ? "SI" : "NO";
            return tIdiomaLocale($campo);
        case "si":
            $campo = $campo ? "SI" : "";
            return tIdiomaLocale($campo);
        case "no":
            $campo = $campo ? "" : "NO";
            return tIdiomaLocale($campo);
        case "funcioncampo":
            return call_user_func($aParametros[1], $campo);
        case "funcion":
        case "funcionregistro":
            return call_user_func($aParametros[1], $fila);
        case "imagen":
        case "irudia":
            if ($campo) {
                $cTemp = (isset($aParametros[1]) ? $aParametros[1] . "/" : "") . $campo;
                $atributos = "";
                if (isset($aCampo["ancho"])) {
                    $atributos = " width='{$aCampo[ancho]}'";
                }
                if (isset($aCampo["alto"])) {
                    $atributos .= " height='{$aCampo[alto]}'";
                }
                return "<img src='{$cTemp}' alt='{$campo}'{$atributos}>";
            } else {
                return "";
            }
        case "fecha":
            return fecha_mysql_php($campo, tIdiomaLocale("fecha"));
        default:
            return $campo;
    }
    return $campo;
}
/**
 * Obtiene la representación html de un campo.
 * Se utiliza en consulta.
 * @return cadenaHTML
 */
function ddlib_visualizarCampo(&$aCampo, $campo, $fila)
{
    $idioma = tIdiomaPorDefecto();
    $aParametros = explode(' ', $aCampo["tipo"]);
    $formato = $aParametros[0];
    $resto = substr($aCampo["tipo"], strlen($formato) + 1);
    switch ($formato) {
        case "adjunto":
            if ($campo) {
                $cPath = isset($aParametros[1]) ? $aParametros[1] . "/" : "";
                return "<a href='{$cPath}{$campo}'>" . corta($campo, 25) . "</a>";
            }
            return "";
        case "url":
            if ($campo) {
                $cHttp = substr($campo, 0, 4) != "http" ? "http://" : "";
                $clase = si_es_key($aCampo, 'clase', 'externo');
                return "<a href='{$cHttp}{$campo}' class='{$clase}'>" . corta($campo, 25) . "</a>";
            }
            return "";
        case "concatena":
        case "implode":
            $separador = substr($aCampo["tipo"], $formato == "implode" ? 8 : 10);
            return is_array($campo) ? _ddlib_mimplode($separador, $campo) : $campo;
        case "lista":
            if (isset($aCampo["lista"])) {
                return isset($aCampo["lista"][$campo]) ? $aCampo["lista"][$campo] : $campo;
            } else {
                return $campo;
            }
        case "checkbox":
            if ($resto) {
                return $campo ? $resto : "";
            } else {
                return $campo ? tIdiomaLocale("SI") : tIdiomaLocale("NO");
            }
        case "SINO":
            return "<strong>" . ($campo ? tIdiomaLocale("SI") : tIdiomaLocale("NO")) . "</strong>";
        case "siNO":
            return $campo ? tIdiomaLocale("SI") : "<strong>" . tIdiomaLocale("NO") . "</strong>";
        case "SIno":
            return $campo ? "<strong>" . tIdiomaLocale("SI") . "</strong>" : tIdiomaLocale("NO");
        case "sino":
            return tIdiomaLocale($campo ? "SI" : "NO");
        case "si":
            return $campo ? tIdiomaLocale("SI") : "";
        case "no":
            return $campo ? "" : tIdiomaLocale("NO");
        case "SI":
            return $campo ? "<strong>" . tIdiomaLocale("SI") . "</strong>" : "";
        case "NO":
            return $campo ? "" : "<strong>" . tIdiomaLocale("NO") . "</strong>";
        case "funcioncampo":
            return call_user_func($aParametros[1], $campo);
        case "funcion":
        case "funcionregistro":
            return call_user_func($aParametros[1], $fila);
        case "imagen":
        case "irudia":
            if ($campo) {
                $cTemp = (isset($aParametros[1]) ? $aParametros[1] . "/" : "") . $campo;
                $atributos = "";
                if (isset($aCampo["ancho"])) {
                    $atributos = " width='{$aCampo[ancho]}'";
                }
                if (isset($aCampo["alto"])) {
                    $atributos .= " height='{$aCampo[alto]}'";
                }
                return "<img src='{$cTemp}' alt='{$campo}'{$atributos}>";
            } else {
                return "";
            }
        case "sinHTML":
            if (!isset($aParametros[1])) {
                return strip_tags($campo);
            }
            return isset($aParametros[1]) && is_numeric($aParametros[1]) ? corta($campo, $aParametros[1]) : strip_tags($campo, $aParametros[1]);
        case "texto":
        case "cadena":
            return isset($aParametros[1]) ? corta($campo, $aParametros[1]) : $campo;
        case "fecha":
            return fecha_mysql_php($campo, tIdiomaLocale("fecha"));
        default:
            return $campo;
    }
    return $campo;
}