function fetchAll_salesforce($lstCol = 'Name,ProductCode,Id', $where = "") { $sales = Application_Model_SalesforceConnect::getInstance(); $vue = array(); $time_start = $sales->microtime_float(); $vue['products'] = $sales->query('Product2', $lstCol, $where); if (!is_array($vue['products'])) { /* pb de query */ echo $vue['products']; } $time_end = $sales->microtime_float(); $vue['cols'] = explode(',', $lstCol); $vue['tps'] = $time_end - $time_start; $colsPrice = 'Name,Description,IsStandard,Id'; $vue['Pricebooks'] = $sales->query('Pricebook2', $colsPrice); $vue['colsPrice'] = explode(',', $colsPrice); /* Quel est le pricebook sélectionné ? * */ $pricebookid = ""; if ($pricebookid == "") { /* on prend le 1er de la liste */ if (count($vue['Pricebooks']) > 0) { $pricebookid = @$vue['Pricebooks'][0]['Id']; } } /*recherche des prix */ for ($i = 0; $i < count($vue['products']); $i++) { $id = $vue['products'][$i]['Id']; $sel = "Product2Id='" . $id . "' and Pricebook2Id = '" . $pricebookid . "'"; $info = $sales->query('PricebookEntry', 'UnitPrice,Pricebook2Id', $sel); if (isset($info[0])) { $vue['products'][$i]['UnitPrice'] = $info[0]['UnitPrice']; } foreach ($info as $pricebookEntry) { $vue['products'][$i]['UnitPrice'] = $pricebookEntry['UnitPrice']; } /* affichage des images */ if (isset($vue['products'][$i]['image1__c'])) { $vue['products'][$i]['image1__c'] = '<img src="' . $vue['products'][$i]['image1__c'] . '" height="100" width="100"'; } } $vue['cols'] = explode(',', $lstCol . ',UnitPrice'); return $vue; }
function import_salesforce($db, $table, $champs, $lstCol, $where = '', $option = 'ORDER BY Id ASC') { /* importation en masse de salesforces */ $sales = Application_Model_SalesforceConnect::getInstance(); $erreur = ""; $lst = $sales->query($table, $lstCol, $where, $option, &$erreur); $info = array(); $info[] = 'Importation de la table ' . $table . ' : ' . count($lst) . ' nb'; $id = ""; try { foreach ($lst as $elt) { $fields = array('fields' => Zend_Json::encode($elt)); /* On rajoute les champs nécessaires aux index */ foreach ($champs as $champ) { if ($champ == 'fields') { continue; } if (isset($elt[$champ])) { $fields[$champ] = $elt[$champ]; } } //Zend_Debug::dump($fields); /* Liste des champs de la base */ $ret = $db->insert($table, $fields); $id = $fields['Id']; } } catch (Exception $e) { $info[] = 'PB importation table ' . $table . ' : ' . $e->getMessage(); } if (!empty($erreur) && $where == '') { // Appel récurssif pour importer le reste des enregristrements $where = "(Id > '" . $id . "' )"; $info[] = 'Import :' . $where; $info[] = $this->import_salesforce($db, $table, $champs, $lstCol, $where, $option); } return $info; }
function fetchAll_salesforce($lstCol = 'Name,Id', $where = "") { /* la liste des colonnes provient du fichier de application.ini ou celui du login */ $sales = Application_Model_SalesforceConnect::getInstance(); $vue['opportunities'] = $sales->query('Opportunity', $lstCol, $where); $vue['cols'] = explode(',', $lstCol); return $vue; }