Esempio n. 1
0
 /**
  * Renvoi de l'instance et initialisation si nécessaire.
  */
 public static function getInstance()
 {
     if (!self::$_instance instanceof self) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
 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;
 }