[Vtigercrm-developers] problems with vtwsclib
Fusioncore
ml at arceva.fr
Wed Sep 23 18:29:22 PDT 2009
Hi
I have create a plugin for my website who create account and contact in
vtiger when a customer register on the website.
For this purpose, I use vtwsclib 1.2 with php doCreate method
after the script creation, I test it and it work well with contact
creation but for the account, nothing was add on vtiger.
The method LastError was on error when I use it
I paste my code if anyone have an idea of the error. See the bug part of
the file around the //bug
The include files access.php contain only url, login and password and
the functions.php contain functions addPortalAccess and addDate who work
perfectly
Thanks,
Bruno
French-vtiger Manager
<?php
include_once('/var/www/site/access.php'); //logins site & CRM
include_once('vtwsclib/Vtiger/WSClient.php'); //Librairie SOAP CRM
include_once('/var/www/site/www/sync/functions.php');
//Connexion base de données
mysql_connect($sitedbhost,$sitedbuser,$sitedbpassword,$sitedb);
mysql_select_db($sitedb);
//Vérification si il y a des users a synchroniser
$verif = mysql_query("SELECT NULLIF(1, (SELECT MIN(sync_crm) FROM users))");
$verif1 = mysql_result($verif, 0, 0);
//echo"$verif1";
if ($verif1 == "")
echo "Nothing to sync";
else
{
//Comptage du nombre d'utilisateurs à synchroniser
$test_needed = mysql_query("SELECT COUNT(0) FROM jos_users WHERE
sync_crm=0 GROUP BY sync_crm");
$sync_needed = mysql_result($test_needed, 0, 0);
//*echo "number of non sync user : $sync_needed";
while ($sync_needed >= 1) //Boucle tant qu'on a des users a
synchroniser
{
$result = mysql_query("SELECT id FROM users WHERE sync_crm=0");
$current_user_sync = mysql_result($result, 0, 0);
//*echo "<br />Id of current sync user :
$current_user_sync<br />";
//Extraction des infos de l'utilisateur
$user_extend = mysql_query("SELECT * FROM
juser_extended_data WHERE user_id='$current_user_sync'");
$ident = mysql_query("SELECT * FROM users WHERE
id='$current_user_sync'");
$identity = mysql_result($ident, 0, name);
$name = explode("\n", $identity);
// Champs pour le compte
$prenom = $name[0];
$nom = $name[1];
$email = mysql_result($ident, 0, email);
$telephone1 = mysql_result($user_extend,2 ,fvalue);
//Champs pour le contact
$societe = mysql_result($user_extend,1 ,fvalue);
$telephone2 = mysql_result($user_extend,3 ,fvalue);
$fax = mysql_result($user_extend,4 ,fvalue);
$siret = mysql_result($user_extend,5 ,fvalue);
$codeape = mysql_result($user_extend,6 ,fvalue);
$secteur = mysql_result($user_extend,7 ,fvalue);
$poste = mysql_result($user_extend,8 ,fvalue);
$nbsalaries = mysql_result($user_extend,9 ,fvalue);
$site = mysql_result($user_extend,10 ,fvalue);
$adresse = mysql_result($user_extend,11 ,fvalue);
$BP = mysql_result($user_extend,12 ,fvalue);
$CP = mysql_result($user_extend,13 ,fvalue);
$ville = mysql_result($user_extend,14 ,fvalue);
$pays = mysql_result($user_extend,15 ,fvalue);
$username = mysql_result($ident ,0, username);
$passwd = mysql_result($ident, 0, password);
//Fin d'extration des infos de l'utilisateur
//bug start
//Connexion au CRM
$client = new Vtiger_WSClient($crm_url);
$login = $client->doLogin($crm_username, $crm_accesskey);
if(!$login)
echo 'Login Failed';
else
{
/**/echo "Login Successful<br />";
$module = 'Accounts';
$module2 = 'Contacts';
$record = $client->doCreate($module,
array(
'account_no'=>"$societe",
'phone'=>"$telephone2",
'fax'=>"$fax",
'siccode'=>"$codeape",
'industry'=>"$secteur",
'employees'=>"$nbsalaries",
'website'=>"$site",
'ship_street'=>"$adresse",
'ship_pobox'=>"$BP",
'ship_code'=>"$CP",
'ship_city'=>"$ville",
'ship_country'=>"$pays",
'bill_street'=>"$adresse",
'bill_pobox'=>"$BP",
'bill_code'=>"$CP",
'bill_city'=>"$ville",
'bill_country'=>"$pays",
)
);
if($record) {
$accountid = $client->getRecordId($record['id']);
}
echo "new account id : $accountid <br />";
//bug end
$record = $client->doCreate($module2,
array(
'firstname'=>"$prenom",
'lastname'=>"$nom",
'email'=>"$email",
'phone'=>"$telephone1",
'title'=>"$poste",
'accountid'=>"$accountid",
)
);
if($record) {
$contactid = $client->getRecordId($record['id']);
}
echo "new contact id : $contactid <br />";
addPortalAccess($crmdbhost,$crmdb,$crmdbuser,$crmdbpasswd,$contactid,$username,$passwd);
addDate($crmdbhost,$crmdb,$crmdbuser,$crmdbpasswd,$contactid);
mysql_query("UPDATE users SET sync_crm=1 WHERE
id=$current_user_sync");
$sync_needed--;
}
}
}
?>
More information about the vtigercrm-developers
mailing list