domingo, 29 de marzo de 2009

Listas con css

He copiado el estilo de un par de tutoriales de css para hacer que una lista aparesca en forma horizontal y nada.

Supongamos que mi lista es la siguiente:

<ul>
<li>Elemento 1</li>
<li>Elemento 2</li>
</ul>

Y deseo que aparesca de forma horizontal, como lo hago con CSS?

El estilo necesario es el siguiente:

<style>
ul li{
display:inline;
}
</style>

Si deseas agregarle un icono a los elementos li puedes hacer lo siguiente:
Agrego padding-left para establecer la zona de relleno izquierdo al texto, y la imagen que quiero mostrar en ese link.

.icono1{
padding-left: 20px;
background:url(../templates/maps/maps/mapa_r1_c2_r2_c2.jpg) no-repeat;
}

por lo que la lista quedaría como sigue:

<ul>
<li class="icono1" >Elemento 1</li>
<li>Elemento 2</li>
</ul>

Encontre este codigo css que asocia la extension a la que apunta el link con una imagen, no lo he probado.

a[href $='.pdf'] {
padding-left: 20px;
background: transparent url(icon_pdf.gif) no-repeat center left;
}

viernes, 20 de marzo de 2009

Moderar SMF

Tengo un foro SMF www.elforo.cl cuyos post se han llenado de spam ultimamente. Para mi que hay gente que le pagan para que haga spam porque no son robots. Para registrarse hay un captcha. Habran robots que salten los captchas?, me asalta la duda. Investigare luego.
El tema es que estaba buscando un medio para desacerme de tanta basura, porque bloquear uno a uno y eliminar uno a uno los mensajes, habria que tener casi el mismo tiempo que tienen los spammers para estar moderando.
Encontre una forma de hacer eso mas rapido. Se trata de habilitar para mi perfil un checkbox en cada post de modo de seleccionar varios al mismo tiempo y bloquear los spamers y eliminar los post en el mismo lugar.

El truco es:
Editar perfil -> Configuración de Apariencia y Diseño --> En la linea que dice:
Mostrar la moderación rápida en el índice de mensajes como seleccionar checkboxes

¡tadan¡ borre toda la basura en pocos minutos. Eso no quiere decir que acabe con el spam en mi foro. Por lo que sigo buscando un mod que detecte alguna de las tipicas frasesitas de los spam y elimine el solo el post o no lo publique hasta que haga moderacion sobre el.

jueves, 12 de marzo de 2009

Comillas en MS SQL

Mas de programador ha necesitado alguna vez o va a necesitar concatenar scripts en SQL. El problema surge para cuando un parametro tiene que pasarse entre comillas y tu ya vienes con comillas abiertas.

En SQL no puedes empezar con comillas dobles, empiezas con las simples y acabas tus opciones. En otros lenguajes puedes usar comillas dobles dentro de la expresion comillas simples y funciona.

En Sql puedes usar lo siguiente chr(39) para mostrar una comilla simple.

Por ejemplo necesitaba pasar una consulta a una variable y los parametros devian ir con comillas. La solución la comparto a continuacion:

@script = '
SELECT CAMPO1, CAMPO2 FROM TABLA
WHERE [DeclFec] BETWEEN ' + char(39) + convert(varchar,@fechadesde,112) + char(39) + ' AND ' + char(39) + convert(varchar,@fechahasta,112) + char(39)

IIS - A non-faltal configuration error ocurred




En un servidor de testing de la empresa esta ocurriendo el siguiente error, que impide crear nuevas carpetas virtuales o editar otras:


A non-faltal configuration error ocurred. Not all available information may be displayed.


Esto ocurre cuando la metabase del IIS esta corrupta. Los sitios que consulte indican que algun sitio esta provocando este error por lo que se debe eliminar. Mi IIS tiene cerca de 80 sitios como saber?

Segui los pasos de este blog pero no consegui gran cosa:

http://blogs.msdn.com/rakkimk/archive/2006/11/06/won-t-be-able-to-change-certain-properties-of-the-website-popup-quot-a-non-fatal-configuration-error-occured-quot-when-opening-iis-manager-gui.aspx


Hice una restauración , pero el punto que tenia disponible era muy antiguo por lo que no me sirvio de mucho. Antes cree un Back Up por lo volvi a utilizarlo. Retomando el error en cuestion.

Para utilizar estas caracteristicas tienes que hacer clic con el boton derecho en el servidor de IIS y luego elegir BackUp/Restore Configuration



Por lo que la unica solución disponible es ubicar el sitio que esta corrupto y eliminarlo.

Pero el otro problema es que cuando voy a eliminar algun sitio me sale este otro mensaje: The path especified cannot be used at this time.



La ayuda de Microsoft es super alentadora al respecto:
http://technet.microsoft.com/es-es/library/cc956704(en-us).aspx

dice que la carpeta es siendo usada por otro subproceso y que intente de nuevo. Genial.

Que hice?
Detube el servicio de IIS. Inicio -> Ejecutar -> services.msc -> Enter.
Y todo volvio a la normalidad sin esperarlo. Pude eliminar sitios, editar la configuracion, crear nuevas carpetas virtuales, etc.



Más información:
http://localhost/iishelp/iis/htm/adminsamples/default.htm
Copia y pega este link en tu server para obtener ayuda sobre adsutil.vbs

martes, 10 de marzo de 2009

Plug in de Power point

Una de las cosas que estoy haciendo ultimamente es un plug in de power point que permite de forma facil agregar logos, imagenes de la imagen corporativa de las empresas que conforman el grupo empresarial para el que trabajo.

Una de las dudas que tenia era como hacer para que al iniciar Power Point se iniciará tambien mi plug in. Leyendo el libro:

PowerPoint Advanced Presentation Techniques
by Faithe Wempen
John Wiley & Sons © 2004
ISBN:0764568817

encontre este link interesante que les dejo a todos los que buscan esa información.

http://support,microsoft.com/?scid=kb;EN-US;q222685

si bien es cierto se trata de la version 2000 deberia funcionar tambien para las mas recientes.

Otros links interesantes:

http://www.pptfaq.com/FAQ00031.htm

http://skp.mvps.org/ppafaq.htm

http://www.pptalchemy.co.uk

domingo, 8 de marzo de 2009

Cannot send session cache limiter

Tengo una archivo php que hace las veces de menu. Por lo que lo llamo desde las páginas de la siguiente forma:

include("menu.php");
?>

dentro del menu muestra el e-mail de la persona. Este dato previamente lo he guardado en una sesión:

session_start();
$usuario = $_SESSION["EMAIL_USU"];
echo "Bienvenido :".$usuario."";

y me muestra el siguiente error:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/elforoc/public_html/mapa/configurar.php:8) in /home/elforoc/public_html/mapa/menu.php on line 2

En algunos foros leo que se trata de espacios que hay despues de los signos

Solucione el problema llevando las siguientes lineas al archivo que me estaba dando error:
session_start();
$usuario = $_SESSION["EMAIL_USU"];
?>

luego en el archivo menu.php hice mención de la variable.




Libro, Aprende a Programar en PHP YA!