コード例 #1
0
 function establish(ConnectionConfiguration $connConfig)
 {
     $connection = new SforcePartnerClient();
     $connection->createConnection($this->buildWsdlPath($connConfig));
     $connection->setEndpoint($this->buildEndpoint($connConfig));
     $connection->setSessionHeader($connConfig->getSessionId());
     $connection->setCallOptions(new CallOptions($connConfig->getClientId(), WorkbenchConfig::get()->value('callOptions_defaultNamespace')));
     if (WorkbenchContext::get()->isApiVersionAtLeast(27.0)) {
         if (!WorkbenchConfig::get()->value('ownerChangeOptions_transferAttachments') || !WorkbenchConfig::get()->value('ownerChangeOptions_transferOpenActivities')) {
             $connection->setOwnerChangeOptionsHeader(new OwnerChangeOptionsHeader(WorkbenchConfig::get()->value('ownerChangeOptions_transferAttachments'), WorkbenchConfig::get()->value('ownerChangeOptions_transferOpenActivities')));
         }
     }
     if (WorkbenchConfig::get()->value('assignmentRuleHeader_assignmentRuleId') || WorkbenchConfig::get()->value('assignmentRuleHeader_useDefaultRule')) {
         $connection->setAssignmentRuleHeader(new AssignmentRuleHeader(WorkbenchConfig::get()->value('assignmentRuleHeader_assignmentRuleId'), WorkbenchConfig::get()->value('assignmentRuleHeader_useDefaultRule')));
     }
     if (WorkbenchConfig::get()->value('mruHeader_updateMru')) {
         $connection->setMruHeader(new MruHeader(WorkbenchConfig::get()->value('mruHeader_updateMru')));
     }
     if (WorkbenchConfig::get()->value('queryOptions_batchSize')) {
         $connection->setQueryOptions(new QueryOptions(WorkbenchConfig::get()->value('queryOptions_batchSize')));
     }
     if (WorkbenchConfig::get()->value('emailHeader_triggerAutoResponseEmail') || WorkbenchConfig::get()->value('emailHeader_triggerOtherEmail') || WorkbenchConfig::get()->value('emailHeader_triggertriggerUserEmail')) {
         $connection->setEmailHeader(new EmailHeader(WorkbenchConfig::get()->value('emailHeader_triggerAutoResponseEmail'), WorkbenchConfig::get()->value('emailHeader_triggerOtherEmail'), WorkbenchConfig::get()->value('emailHeader_triggertriggerUserEmail')));
     }
     if (WorkbenchConfig::get()->value('UserTerritoryDeleteHeader_transferToUserId')) {
         $connection->setUserTerritoryDeleteHeader(new UserTerritoryDeleteHeader(WorkbenchConfig::get()->value('UserTerritoryDeleteHeader_transferToUserId')));
     }
     if (WorkbenchConfig::get()->value('allowFieldTruncationHeader_allowFieldTruncation')) {
         $connection->setAllowFieldTruncationHeader(new AllowFieldTruncationHeader(WorkbenchConfig::get()->value('allowFieldTruncationHeader_allowFieldTruncation')));
     }
     if (WorkbenchConfig::get()->value('allOrNoneHeader_allOrNone')) {
         $connection->setAllOrNoneHeader(new AllOrNoneHeader(WorkbenchConfig::get()->value('allOrNoneHeader_allOrNone')));
     }
     if (WorkbenchConfig::get()->value('disableFeedTrackingHeader_disableFeedTracking')) {
         $connection->setDisableFeedTrackingHeader(new DisableFeedTrackingHeader(WorkbenchConfig::get()->value('disableFeedTrackingHeader_disableFeedTracking')));
     }
     if (WorkbenchConfig::get()->value('localOptions_language')) {
         $connection->setLocaleOptions(new LocaleOptions(WorkbenchConfig::get()->value('localOptions_language')));
     }
     if (WorkbenchConfig::get()->value('packageVersionHeader_include') && WorkbenchConfig::get()->value('packageVersion_namespace') && WorkbenchConfig::get()->value('packageVersion_majorNumber') && WorkbenchConfig::get()->value('packageVersion_minorNumber')) {
         $connection->setPackageVersionHeader(WorkbenchConfig::get()->value("packageVersion_namespace"), WorkbenchConfig::get()->value("packageVersion_majorNumber"), WorkbenchConfig::get()->value("packageVersion_minorNumber"));
     }
     return $connection;
 }
コード例 #2
0
 function sendSalesforceNotification()
 {
     if ($this->formrow->salesforce_enabled != 1) {
         return;
     }
     define("BF_SOAP_CLIENT_BASEDIR", JPATH_SITE . DS . 'administrator' . DS . 'components' . DS . 'com_breezingforms' . DS . 'libraries' . DS . 'salesforce');
     if (!class_exists('SforcePartnerClient')) {
         require_once BF_SOAP_CLIENT_BASEDIR . '/SforcePartnerClient.php';
     }
     if (!class_exists('SforceHeaderOptions')) {
         require_once BF_SOAP_CLIENT_BASEDIR . '/SforceHeaderOptions.php';
     }
     try {
         $mySforceConnection = new SforcePartnerClient();
         $trunc = new AllowFieldTruncationHeader(true);
         $mySforceConnection->setAllowFieldTruncationHeader($trunc);
         $mySoapClient = $mySforceConnection->createConnection(BF_SOAP_CLIENT_BASEDIR . '/partner.wsdl.xml');
         $mylogin = $mySforceConnection->login($this->formrow->salesforce_username, $this->formrow->salesforce_password . $this->formrow->salesforce_token);
         $sobjects = $mySforceConnection->describeSObject($this->formrow->salesforce_type)->fields;
         $fields = array();
         $this->formrow->salesforce_fields = explode(',', $this->formrow->salesforce_fields);
         foreach ($this->formrow->salesforce_fields as $sfields) {
             foreach ($this->sfdata as $savedata) {
                 $sfield = explode('::', $sfields);
                 if ($sfield[0] == $savedata[1]) {
                     foreach ($sobjects as $sobject) {
                         // forcing some primitives
                         if ($sobject->name == $sfield[1]) {
                             switch ($sobject->type) {
                                 case 'boolean':
                                     $savedata[4] = $savedata[4] ? 1 : 0;
                                     break;
                                 case 'int':
                                     $savedata[4] = intval($savedata[4]);
                                     break;
                                 case 'double':
                                     $savedata[4] = doubleval($savedata[4]);
                                     break;
                             }
                             break;
                         }
                     }
                     $fields[$sfield[1]] = '<![CDATA[' . $savedata[4] . ']]>';
                     // bug in SF Toolkit appeareantly requires CDATA
                     break;
                 }
             }
         }
         $sObject = new SObject();
         $sObject->fields = $fields;
         $sObject->type = $this->formrow->salesforce_type;
         $createResponse = $mySforceConnection->create(array($sObject));
     } catch (Exception $e) {
         echo 'Salesforce Exception: ' . $e->getMessage();
         session_write_close();
         exit;
     }
 }