miércoles, 29 de diciembre de 2010

Funcion de Mutual Friends para BuddyPress

Esta es una función para obtener los amigos en común. Esta es una función para developers de BP lo puedes agregar a un pluggin, o widget.



<?php
function get_mutual_firends($wp_logged_user_id, $wp_profile_user_id)
{
global $wpdb, $bp; //$wpdb para realizar las consultas,
//$bp para obtener el nombre de la tabla de friends

if($wp_logged_user_id==$wp_profile_user_id) return array(); //se salta cuando es tu propio profile
$qry = sprintf('SELECT DISTINCT u1.*
FROM '.$wpdb->users.' u1,
(SELECT f1.initiator_user_id,f1.friend_user_id
FROM '.$bp->friends->table_name.' f1
WHERE (f1.initiator_user_id = %1$d
OR f1.friend_user_id = %1$d)
AND f1.is_confirmed = 1) f1
WHERE (u1.id = f1.initiator_user_id
OR u1.id = f1.friend_user_id)
AND u1.id <> %1$d
AND EXISTS(SELECT 1
FROM '.$wpdb->users.' u2,
(SELECT f2.initiator_user_id,f2.friend_user_id
FROM '.$bp->friends->table_name.' f2
WHERE (f2.initiator_user_id = %2$d
OR f2.friend_user_id = %2$d)
AND f2.is_confirmed = 1) f2
WHERE (u2.id = f2.initiator_user_id
OR u2.id = f2.friend_user_id)
AND u2.id <> %2$d
AND u1.id = u2.id)
'
,$wp_profile_user_id,$wp_logged_user_id);

return $wpdb->get_results($qry);
}
?>


lunes, 28 de septiembre de 2009

JavaScript: Serialize form


Javascript

Para poder implementar Ajax y enviar todos los datos de un formulario en una página web se necesita serializar los controles del formulario. En esta función, hecha en javascript, se serializan los controles del tipo input, textarea y select, siempre y cuando tengan en sus atributos los elementos id y name.



Finalmente, los parametros se concatenan como una cadena de querystring con el siguiente formato:



parm1=valor1&parm2=value2&parm3=value3



Este formato es facil de mandar en funciones de Ajax.




Me base en una función de las librerias de prototype pero estaba manejando otras libreryas de dhtmlx para unos calendarios pero se chocaban dos funciones y varias variables que tenian los mismos nombres, asi que en vez de estar corrigiendo el trabajo de otros (que es muuuy extenso) se me hizo mas facil hacer mi propia función copiensela y modifiquenla a su gusto, si tienen una mejor versión avisen!!!!

Mi funcion de serialize form es la siguiente:




<script>
function serialize(form)
{
var elements = form.getElementsByTagName('*');
var i;
var count = 0;
var controls = new Array();
var res='';
for(i=0;i<elements.length;i++)
{
if(elements[i].tagName.toLowerCase()=='input' || elements[i].tagName.toLowerCase()=='select' || elements[i].tagName.toLowerCase()=='textarea')
{
if(elements[i] && !elements[i].disabled && elements[i].name.length>0)
{
var tmp = '';
if(elements[i].type=="checkbox" || elements[i].type=="radio")
{
if(elements[i].checked)
tmp = elements[i].name + "=" + encodeURIComponent(elements[i].value);
}
else
tmp = elements[i].name + "=" + encodeURIComponent(elements[i].value);
if(res=='') res = tmp; else if (res!='' && tmp!='') res = res + "&" + tmp;
}
}
}

return res;
}
function $(element)
{
return document.getElementById(element);
}
</script>


Un ejemplito básico:




<form name="form1" id="form1" method="post">
<input type="text" id="control1" name="control1" value="dato1" />
<input type="text" id="control2" name="control2" value="dato2" />
<input type="button" onclick="alert(serialize($('form1')))" value="serialize" />
</form>

martes, 3 de febrero de 2009

Urban hack attack

Un video muy pero muy bueno.








este es el link, esta disponible en HQ http://www.youtube.com/watch?v=0L7DTMKekoU

viernes, 7 de noviembre de 2008

Iconos espera Ajax



He aquí una pagina muy buena para generar gráficos .gif para indicar que se están cargando o procesando datos, unos iconos de espera excelentes en esta dirección: http://www.ajaxload.info/

martes, 7 de octubre de 2008

Tutorial PL/SQL de Oracle


Es bastante básico pero muy bueno, enseña desde los conceptos básicos hasta creación de paquetes, funciones integradas, secuencias, sql dinámico y otras cosas más que tiene el pl/sql de Oracle. Este tutorial me ayudó mucho para aprender desde cero el pl/sql. Espero les sirva. El link de la página es este:

http://www.devjoker.com/contenidos/Tutorial-PLSQL/22/Introducci%C3%B3n-a-PLSQL.aspx

domingo, 5 de octubre de 2008

Como yo



Juan Luis Guerra: Como yo

Esto es para ti

lunes, 18 de agosto de 2008

Billetera de origami




No se diga mas! Encontré una billetera de origami que está muy buena las instrucciones estan las puse en rapidshare, son 2 archivos pdf uno es el diseño y el otro son las instrucciones.

http://rapidshare.com/files/138381306/billetera_origami.rar

mi pagina de origami www.OrigamiForAll.com