Archivo de la etiqueta: Desarrollo Web

¿Cambios en el blog?

Ayer estuve un buen rato por la tarde buscando la manera de darle otro toque al blog. Probé el theme CleanJS, un theme para WordPress con AJAX y demás, pero no me gustó demasiado el resultado final, así que he decidido que lo que voy ha hacer es “arreglar” este.

Lo primero que he hecho ha sido hacer aparecer la barra lateral, ya que no salía al ver un post individual y para algunos era un engorro tener que dar atrás para volver a realizar una búsqueda (gracias Luis por el apunte 🙂 ). También he actualizado la versión de WordPress, algo que llevaba tiempo planeado, pero que por falta de tiempo no había llevado a cabo.

Lo próximo que haré será traducir por completo el theme, ya que hay algunas partes que salen en inglés… y si lo consigo, me gustaría hacer una cabecera nueva para el blog, pero tengo 2 problemas: no domino demasiado la técnica (yo de photoshop, GIMP,… más bien poco) y encima tengo el gusto en el culo… 🙂

Pues eso es todo, que al final me quedo con mi theme, que tampoco esta mal ¿no?

NOTA: Si alguien quiere utilizar el theme CleanJS, yo lo he traducido al castellano, así que en lugar de trabajar 2 veces, pedidme el fichero! 🙂

ACTUALIZACIÓN: He actualizado la versión del theme Blue Memories, que traía algunos cambios que me gustaban, y ahora me pondré a traducirlo…

ACTUALIZACIÓN 2: Creo que ya he terminado… El cambio es bastante leve, pero creo que ahora esta “mejor”. 😉

A2Billing 1.3.0 stable released

Leo en SineApps, que ha salido esta nueva versión de A2Billing, una aplicación de billing para Asterisk ampliamente utilizada. En esta nueva versión, algunos de sus módulos han sido completamente reescritos. La podéis encontrar donde siempre: http://trac.asterisk2billing.org/cgi-bin/trac.cgi

y el anuncio:

Dear A2Billing-Users,

I am pleased to announce the new version of Asterisk2Billing, V1.3.0 STABLE (Yellowjacket)
PROJECT URL : http://trac.asterisk2billing.org

A2Billing has completely re-written some its modules such as :

Invoicing, template management with Smarty, the call-back, added new methods of online payment integration with Moneybookers and Authorize.net in addition to Paypal. A2Billing have also improved the rating engine, giving the operator the ability to create Free Minutes packages to certain destinations. Additional reporting functions and alarms have also been added in the interests of revenue protection including automatic emails for High or Low ASR (Answer Seize Ratio), ALOC (Average Length of Call) and CIC (Consecutive Incomplete Calls) Alarms and many more good stuff…

As you can see, we decided to take a better direction for this project and make it easier for the community to contribute and participate to our development. Trac is providing Wiki, Ticket system, Timeline, etc…

A public SVN is available :
http://trac.asterisk2billing.org/cgi-bin/trac.cgi/wiki/Development

SVN server : http://svn.a2billing.net/svn/asterisk2billing/

We hope that this will make A2Billing more transparent and easier to contribute.

As usual, the forum & the online demo are still available :
FORUM
DEMO

CALL-LABS
Register and try Call-Labs, our A-Z provider!
If you are looking for A-Z termination at good rates, this could be your solution!

Please don’t forget to make a donation if you find our software useful and want to support the development of Asterisk2Billing :
Donate to A2Billing

Kind regards,
/Areski

logoa2b_tn.png

Expresiones regulares en PHP

Las expresiones regulares pueden resultarnos muy útiles en PHP a la hora de realizar funciones para validar contenidos, por ejemplo para comprobar si el valor introducido es una hora en formato adecuado, etc. Para esto, PHP dispone de 2 funciones principales: ereg($patron, $cadena) y eregi($patron, $cadena) la única diferencia entre las dos es que ereg comprueba las mayusculas y eregi no.

Sintáxis de las expresiones regulares

Patrón Significado
. cualquier carácter
^c empezar por el carácter c
c$ terminar por el carácter c
c+ 1 o más caracteres c
c* 0 o más caracteres c
c? 0 o 1 caracteres c
\n nueva línea
\t tabulador
\ escape, para escribir delante de caracteres especiales: ^ . [ ] % ( ) | * ? { } \
(cd) caracteres c y d agrupados
c|d caracter c o d
c{n} n veces el carácter c
c{n,} n o más carácteres c
c{n,m} desde n hasta m caracteres c
[a-z] cualquier letra minúscula
[A-Z] cualquier letra mayúscula
[0-9] cualquier dígito
[cde] cualquiera de los carácteres c, d o e
[c-f] cualquier letra entre c y f (es decir, c, d, e o f)
[^c] que no esté el caracter c
[[:alpha:]] cualquier letra
[[:digit:]] cualquier dígito
[[:alnum:]] cualquier letra o dígito
[[:space:]] cualquier espacio en blanco
[[:punct:]] cualquier marca de puntuación
[[:upper:]] cualquier letra mayúscula
[[:lower:]] cualquier letra minúscula

Por ejemplo, para comprobar si un valor es una hora utilizamos:
function comprueba_hora($hora) {
$patron="[0-23][0-59]:[0-23][0-59]";
if (ereg($patron,$hora)) {
return 1;
}
else return 0;
}

Fuente: Aquí

Pasando variables a un nodo (Drupal)

Tras mucho intentarlo, por fin hemos conseguido mandar una variable a un nodo de Drupal!!!

El procedimiento es el siguiente:

1 – En el enlace que lleva al nodo indicamos la variable y el valor:
<a href="?q=node/1&variable=valor">Ejemplo</a>

2 – Para recoger el valor de la variable basta con hacer un $_GET de la siguiente manera:
$resultado=$_GET[variable];

y listo, en resultado quedará almacenado el valor de “variable”.

Abrir nueva página (JavaScript)

Para abrir una nueva página (un pop-up) podemos utilizar el siguiente código:

<SCRIPT LANGUAGE="javascript">
<!--
window.open ('page.html')
-->
</SCRIPT>

Si queremos personalizar un poco más la apariencia de la página podemos utlilizar este otro:

<SCRIPT LANGUAGE="javascript">
<!--
window.open ('titlepage.html', 'newwindow', config='height=100,
width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no,
location=no, directories=no, status=no')
-->
</SCRIPT>

Variables de Nodo a Nodo

Después de mucho buscar, por fín he encontrado una manera un poco rudimentaria de pasar variables de un nodo de Drupal a otro: el truco consiste en declarar las variables como globales y recogerlas en el otro nodo, que en realidad lo unico que tendrá será algo como:

<?php
global $var1;
...
include("ruta completa al fichero a incluir?var1=valor1...");
?>

Importante permitir el uso de globales con register_globals on en el php.ini Si, ya se que es un poco sucio, pero probaré con $_GET o $_POST y ya veremos…