/**
  * Get a Salesforce client object by passing an API
  *
  * @access		public
  * @param		mixed
  * @return		object|null
  */
 public static function getClient($varApi)
 {
     if ($varApi instanceof \Database\Result) {
         $varApi = new ApiConfig($varApi);
     } elseif (is_numeric($varApi)) {
         $varApi = SF_ApiConfig::findByPk($varApi);
     }
     if ($varApi === null || !$varApi instanceof SF_ApiConfig) {
         return null;
     }
     $objBuilder = new SF_ClientBuilder($varApi->wsdlpath ?: TL_ROOT . '/system/modules/salesforce/vendorfiles/soapclient/partner.wsdl.xml', $varApi->username, \Encryption::decrypt($varApi->password), $varApi->token);
     return $objBuilder->build();
 }
<?php

/**
 * Copyright (C) 2015 Rhyme Digital, LLC.
 * 
 * @author		Blair Winans <*****@*****.**>
 * @author		Adam Fisher <*****@*****.**>
 * @link		http://rhyme.digital
 * @license		http://www.gnu.org/licenses/lgpl-3.0.html LGPL
 */
/**
 * Back end modules
 */
array_insert($GLOBALS['BE_MOD'], 1, array('salesforce' => array('salesforce_apiconfigs' => array('tables' => array('tl_salesforce_apiconfig'), 'icon' => 'system/modules/salesforce/assets/img/api-config.png'))));
/**
 * Models
 */
$GLOBALS['TL_MODELS'][\Rhyme\Salesforce\Model\ApiConfig::getTable()] = 'Rhyme\\Salesforce\\Model\\ApiConfig';
/**
 * Hooks
 */
$GLOBALS['TL_HOOKS']['processFormData'][] = array('Rhyme\\Salesforce\\Hooks\\ProcessFormData\\SendSalesforceData', 'run');
/**
 * Salesforce objects
 */
$GLOBALS['TL_SOBJECTS']['Account'] = array('class' => 'Rhyme\\Salesforce\\SObject\\Account', 'label' => &$GLOBALS['TL_LANG']['MSC']['salesforceObjectAccount']);
$GLOBALS['TL_SOBJECTS']['Case'] = array('class' => 'Rhyme\\Salesforce\\SObject\\Case', 'label' => &$GLOBALS['TL_LANG']['MSC']['salesforceObjectCase']);
$GLOBALS['TL_SOBJECTS']['Contact'] = array('class' => 'Rhyme\\Salesforce\\SObject\\Contact', 'label' => &$GLOBALS['TL_LANG']['MSC']['salesforceObjectContact']);
$GLOBALS['TL_SOBJECTS']['Lead'] = array('class' => 'Rhyme\\Salesforce\\SObject\\Lead', 'label' => &$GLOBALS['TL_LANG']['MSC']['salesforceObjectLead']);
$GLOBALS['TL_SOBJECTS']['User'] = array('class' => 'Rhyme\\Salesforce\\SObject\\User', 'label' => &$GLOBALS['TL_LANG']['MSC']['salesforceObjectUser']);