/** * 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']);