ok ho risolto
Dopo quello che ci siamo detti (di realizzare uno script CURL ad-hoc per l'occasione da far eseguire a chronoform) ho pensato di andare a controllare prima il codice del plugin CURL utilizzato da chronoforms.
Leggendo il codice mi sono accorto che, durante la chiamata CURL, i dati inviati erano incompleti (praticamente un piccolo bug O_O). I dati inviati erano soltamente quelli specificati nel Params/Fields map e quindi soltanto moduleName=Leads (nel mio caso). Il resto dei valori del form, obbligatori per vtiger, venivano tralasciati.
Vtiger, dal canto suo, in assenza di tutti i valori non permetteva l'inserimento dei dati.
A questo punto, apportando una piccola modifica al plugin, riesco a recuperare tutto quello che mi serve, lo invio con la chiamata CURL e adesso funziona.
brevemente ecco un pezzo di codice estratto dal plugin
// qui prende solamente i valori specificati nell'area di testo sottoforma di
// nomevalore=valore
// nomevalore=valore
// e cosi via
//prende i valori e con un elaborazione, che non sto a spiegare, genera un output di tipo
//nomevalore=valore&nomevalore=valore&nomevalore=valore&
// il risultato lo mette in $query
// infine $query lo invia direttamente con la chiamata CURL tralasciando il resto dei dati che sono presenti nel form
if(!empty($actiondata->content1)){
$list = explode("\n", trim($actiondata->content1));
$curl_values = array();
foreach($list as $item){
$fields_data = explode("=", $item);
$curl_values[$fields_data[0]] = trim($fields_data[1]);
}
}
$query = JURI::buildQuery($curl_values);
echo $query;
exit;
$form->debug['curl'][] = '$curl_values: '.print_r($query, true);
$form->debug['curl'][] = 'curl_target_url: '.$params->get('target_url');
$ch = curl_init($params->get('target_url'));
curl_setopt($ch, CURLOPT_HEADER, $params->get('header_in_response', 0));// set to 0 to eliminate header info from response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// Returns response data instead of TRUE(1)
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);// use HTTP POST to send form data
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$response = curl_exec($ch);//execute post and get results
curl_close($ch);