Autor:
Pablo Glanz
feb
16
Para crear una ventana de suscripción personalizada a un PHPList se me ocurrio poner un solo campo en formulario donde se deba ingresar el email, y al hacer clic en suscribir o enviar que abra una ventana donde ya aparezca escrito el email y se puedan llenar el resto de los datos.
Para solucionar esto y que el dato pase del formulario al popup simplemente tuve que poner un “target” en las propiedades del form y ademas crear un onsubmit con las caracteristicas de esa ventana PopUP.
Este es el código utilizado. Notar que deben tener el mismo nombre el “target” y el nombre del popup.
<form action="suscribirse.php" method="post" name="form1" target="ventana1" id="form1" onsubmit="window.open('', 'ventana1', 'scrollbar=no,resizable=no,width=400,height=400,statusbar=no')">
// resto del formulario
</form>
Autor:
Pablo Glanz
sep
18
Sin dudas la pelea contra el SPAM esta más lejos de ganarse que cualquier otra cosa, pero siempre podemos ir buscado alternativas para hacerle la cosa mas dificil a estos individuos y sus inescrupulosas actividades.
Es bastante conocido y utilizado el sistema de CAPTCHA en todas sus variantes: textos, preguntas, numeros, operaciones matemáticas, palabras, y combinaciones de todo esto, donde controlamos la igualdad entre 2 variables, una generada por nuestra página y otra escrita por nuestro navegante.
Aca una solución que me ha dado buen resultado con 2 controles adicionales.
Leer el resto de esta entrada…
Archivado bajo:
Soluciones
Después del artículo Integrar Formularios Web con CRM I (Sugar) pasamos a ver como integramos nuestros formularios web con vTiger.
Lo principal a tener en cuenta es la ID del dato a agregar y las tablas donde debemos ingresar la info.
Con respecto a la ID, y a diferencia de Sugar, la ID no es generada por una función, sino que debemos sacarla de una tabla que almacena la última ID utilizada. Esto se encuentra en el campo id de la tabla vtiger_crmentity_seq.
Es importante recordar que a esa ID obtenida debemos incrementarle 1 y esa nueva ID es la que utilizaremos para ingresar los datos a las tablas, y por supuesto no olvidar que debemos actualizar la tabla vtiger_crmentity_seq para que tenga almacenada la nueva ID.
Con esto obtengo la ID y dejo la tabla actualizada.
mysql_select_db($database_connvt, $connvt);
$query_lastcontact = "SELECT id FROM vtiger_crmentity_seq";
$lastcontact = mysql_query($query_lastcontact, $connvt) or die(mysql_error());
$row_lastcontact = mysql_fetch_assoc($lastcontact);
$newcontact = $row_lastcontact['id']+1; //create new crmid
$oldcontact = $row_lastcontact['id']; //create new crmid
mysql_free_result($lastcontact);
$updateSQL = sprintf("UPDATE vtiger_crmentity_seq SET id=%s WHERE id=%s",$newcontact,$oldcontact);
mysql_select_db($database_connvt, $connvt);
$Result1 = mysql_query($updateSQL, $connvt) or die(mysql_error());
Las tablas donde debemos insertar los datos si queremos un nuevo Leads son: vtiger_crmentity, vtiger_leaddetails, vtiger_leadaddress, vtiger_leadscf, vtiger_leadsubdetails.
Si lo que queresmos es un nuevo Contact, son vtiger_crmentity, vtiger_contactdetails, vtiger_contactaddress, vtiger_contactscf, vtiger_contactsubdetails.
Archivado bajo:
Open Source
Si necesitamos organizar las comunicaciones de un portal, ya sea por la cantidad de contactos o porque son muchos los que reciben esos contactos, lo mejor es integrar nuestros web forms con algun CRM.
En este caso algunos consejos para la integracion con Sugar.
Tenemso que tenes en cuenta principalmente 2 cosas. Una es ingresar los datos en todas las tablas necesarias para que el “Contact” o “Lead” funcione correctamente, y la otra es identificar los registros ingresados cin una ID compatible con el sistema.
Para generar la ID debemos utilizar esta función:
function create_guid()
{
$microTime = microtime();
list($a_dec, $a_sec) = explode(" ", $microTime);
$dec_hex = sprintf("%x", $a_dec* 1000000);
$sec_hex = sprintf("%x", $a_sec);
ensure_length($dec_hex, 5);
ensure_length($sec_hex, 6);
$guid = "";
$guid .= $dec_hex;
$guid .= create_guid_section(3);
$guid .= '-';
$guid .= create_guid_section(4);
$guid .= '-';
$guid .= create_guid_section(4);
$guid .= '-';
$guid .= create_guid_section(4);
$guid .= '-';
$guid .= $sec_hex;
$guid .= create_guid_section(6);
return $guid;
}
function ensure_length(&$string, $length)
{
$strlen = strlen($string);
if($strlen < $length)
{
$string = str_pad($string,$length,"0");
}
else if($strlen > $length)
{
$string = substr($string, 0, $length);
}
}
function create_guid_section($characters)
{
$return = "";
for($i=0; $i<$characters; $i++)
{
$return .= sprintf("%x", mt_rand(0,15));
}
return $return;
}
Y las tablas en las que debemos ingresar los datos si estamos agregando un Lead son: leads, email_addresses, email_addr_bean_rel y leads_cstm (esta solo si trabajamos con campos personalizados).
Si lo que queremos agregas es un Contact, las tablas son: contacts, email_addresses, email_addr_bean_rel y conatcts_cstm (esta solo si trabajamos con campos personalizados).
Y por último si queremos que el dato agregado aparezca en la barra de “Last Viewed” debemos agregar el dato en la tabla tracker.
Archivado bajo:
Open Source