/** * connect to salesforce, get sforceClient * @return SforcePartnerClient */ public static function getClient() { if (self::$_sForceClient == NULL) { $sforceClient = new SforcePartnerClient(); // TODO now only partner client supported. $soapClient = $sforceClient->createConnection(self::$wsdlPartner); if (PHP_SAPI != 'cli') { @session_start(); if (isset($_SESSION[self::SESSION_KEY])) { $conf = $_SESSION[self::SESSION_KEY]; $sforceClient->setEndpoint($conf->location); $sforceClient->setSessionHeader($conf->sessionId); } else { $sforceLogin = $sforceClient->login(self::$username, self::$password . self::$securityToken); $conf = new stdClass(); $conf->location = $sforceClient->getLocation(); $conf->sessionId = $sforceClient->getSessionId(); $_SESSION[self::SESSION_KEY] = $conf; } } else { $sforceLogin = $sforceClient->login(self::$username, self::$password . self::$securityToken); } self::$_sForceClient = $sforceClient; } return self::$_sForceClient; }
public function __construct() { require_once LIB_DIR . '/config.php'; $mySforceConnection = new SforcePartnerClient(); $mySoapClient = $mySforceConnection->createConnection(SOAP_CLIENT_BASEDIR . '/partner.wsdl.xml'); $mylogin = $mySforceConnection->login($USERNAME, $PASSWORD . $TOKEN); $this->sforce = $mySforceConnection; // get the program $query1 = "Select Id From TC_Program__c Where Name = '{$this->YEAR}'"; $result = $this->sforce->query($query1); $program = unpackSObjects($result); //print_r($program); $this->progId = $program[0]->Id; // get the metrics $query2 = "Select a.Id, a.Question_ID__c, a.Question_Text__c, a.Median_Value__c, a.Mean_Value__c, \r\n a.Trend__c, a.Software_1__c, a.Software_2__c, Benchmark_High__c, Benchmark_Low__c \r\n \t From Annual_Metric__c a\r\n \t Where Top_Company__c = '{$this->progId}'"; $result = $this->sforce->query($query2); $this->metrics = unpackSObjects($result); //$this->dump($this->metrics); }
define("ENCRYPTION_KEY", "thisisaloudofbull"); function simple_encrypt($text, $salt) { return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)))); } function simple_decrypt($text, $salt) { return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $salt, base64_decode($text), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))); } /*****************salesforce*******************/ require_once PATH . '/includes/salesforce/SforcePartnerClient.php'; $sf_connect = false; try { $mySforceConnection = new SforcePartnerClient(); $mySoapClient = $mySforceConnection->createConnection(PATH . "/includes/salesforce/partner.wsdl.xml"); $mylogin = $mySforceConnection->login("*****@*****.**", simple_decrypt('1wDiGNrvb0Wnu4YlKnag4jiY6jNmsSB+CzBdMO7JOVw=', ENCRYPTION_KEY) . 'XLXKi5uo7dyODWL3E70ZoUc7h'); $sf_connect = true; } catch (Exception $e) { $sf_connect = false; } /*****************sendmail*******************/ function sendMail($email, $subject, $msg = NULL) { $message = ''; if ($msg == NULL) { $msg = $this->contents; } $message .= $msg; $message = wordwrap($message, 70); $mail = new PHPMailer(); // $mail->IsSMTP(); // Use SMTP
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; } }
<pre> <?php // SOAP_CLIENT_BASEDIR - folder that contains the PHP Toolkit and your WSDL // $USERNAME - variable that contains your Salesforce.com username (must be in the form of an email) // $PASSWORD - variable that contains your Salesforce.ocm password define("SOAP_CLIENT_BASEDIR", "../soapclient"); $USERNAME = '******'; $PASSWORD = '******'; require_once SOAP_CLIENT_BASEDIR . '/SforcePartnerClient.php'; require_once SOAP_CLIENT_BASEDIR . '/SforceHeaderOptions.php'; $query = "Select o.OrganizationType, o.Id From Organization o where id = '00D300000007gjdEAA'"; try { $mySforceConnection = new SforcePartnerClient(); $mySoapClient = $mySforceConnection->createConnection(SOAP_CLIENT_BASEDIR . '/partner.wsdl.xml'); $mylogin = $mySforceConnection->login($USERNAME, $PASSWORD); print_r($mySforceConnection->getUserInfo()); //print_r($mylogin->userInfo); echo "***** Get Server Timestamp *****\n"; //$response = $mySforceConnection->getServerTimestamp(); // print_r($response); //print_r($mySforceConnection->describeSObject('User')); //$result = $mySforceConnection->query($query); //print_r($result); } catch (Exception $e) { print_r($e); } ?> </pre>
function getSession($USERNAME, $PASSWORD) { $sessionId = ''; try { $mySforceConnection = new SforcePartnerClient(); $mySoapClient = $mySforceConnection->createConnection('phpToolkit/partner.wsdl.xml'); $mylogin = $mySforceConnection->login($USERNAME, $PASSWORD); $sessionId = $mylogin->sessionId; } catch (Exception $e) { print_r($mySforceConnection->getLastRequest()); echo $e->faultstring; } return $sessionId; }
"> <input type="hidden" name="formstate" value="confirm"> </form> </body> </html> <?php } elseif ($_REQUEST['formstate'] == 'confirm') { $log = fopen('sforce.log', 'a'); define("SOAP_CLIENT_BASEDIR", "../../sforce"); require_once SOAP_CLIENT_BASEDIR . '/config.inc'; require_once SOAP_CLIENT_BASEDIR . '/SforcePartnerClient.php'; require_once SOAP_CLIENT_BASEDIR . '/SforceHeaderOptions.php'; $sforce = new SforcePartnerClient(); $client = $sforce->createConnection(SOAP_CLIENT_BASEDIR . '/partner.wsdl.xml'); $mylogin = $sforce->login($USERNAME, $PASSWORD . $TOKEN); if ($log) { fwrite($log, date('c') . " - Login\n"); fwrite($log, 'Entry from ' . $_POST['company'] . ' by ' . $_POST['first_name'] . ' ' . $_POST['last_name'] . "\n"); } // retrieve the program $query = "Select Id From TC_Program__c Where Name = '2010'"; try { $response = $sforce->query($query); } catch (Exception $ex) { sendError($ex, $_POST["company"]); exit; } $records = $response->records; $record = $records[0]; $tcid = $record->Id;
public static function get_api($settings = array()) { if (!class_exists("SforcePartnerClient")) { require_once plugin_dir_path(__FILE__) . 'developerforce/include/SforcePartnerClient.php'; } // If it's already set, use it. if (!empty(self::$api)) { return self::$api; } if (!is_array($settings) || empty($settings)) { $settings = self::$settings; if (!is_array($settings) || empty($settings)) { $settings = get_option("gf_salesforce_settings"); } } if (!is_array($settings) || empty($settings)) { return false; } extract($settings); try { //This is instantiating the service used for the sfdc api $conn = new SforcePartnerClient(); $conn->createconnection(plugin_dir_path(__FILE__) . 'developerforce/include/partner.wsdl.xml'); $mylogin = $conn->login($username, $password . $securitytoken); self::$api = $conn; return $conn; } catch (Exception $e) { return isset($e->faultstring) ? $e->faultstring : false; } }
function PostSalesforce($awebreg) { // input: array $awebreg contains a range of form field data from some user-registration context // output: whatever you want it to be; this exmaple returns the LeadId of the inserted person, along with the CampaignId the lead was assigned to. ini_set("soap.wsdl_cache_enabled", "0"); // general SOAP wsdl caching - no caching? require_once 'salesforce/soapclient/SforcePartnerClient.php'; // Partner or Enterprise? Leroy provides this local WSDL require_once 'salesforce/soapclient/SforceHeaderOptions.php'; // Certain headers in a separate $wsdl = 'salesforce/soapclient/aigpartner.wsdl.xml'; // Shissler $userName = "******"; // Shissler $password = "******"; // I think this is built by requesting the key in the SF online wasteland. // Process of logging on and getting a salesforce.com session // Process of logging on and getting a salesforce.com session // Process of logging on and getting a salesforce.com session // Process of logging on and getting a salesforce.com session $client = new SforcePartnerClient(); // Partner or Enterprise? if ($client) { $csfresult .= writelog("+++ Connection Attempt START +++"); $client->createConnection($wsdl); $csfresult .= writelog("+++ Connection Attempt ENDED +++"); if ($client) { $csfresult .= writelog("+++ Login Attempt START, with u/p " . $userName . "/" . $password . " +++"); $loginResult = $client->login($userName, $password); $csfresult .= writelog("+++ Login Attempt ENDED +++"); if ($loginResult) { $areturn['login'] = parseObjectToString($loginResult); $csfresult .= writelog("*** login ***\n" . $areturn['login']); } else { $areturn['login'] = "******"; $csfresult .= writelog("#### LOGIN FAILED ####"); return $areturn; die; } } else { $areturn['login'] = "******"; $csfresult .= writelog("#### CREATECONNECTION FAILED ####"); return $areturn; die; } } else { $areturn['login'] = "******"; $csfresult .= writelog("#### sforcePartnerClient create FAILED ####"); return $areturn; die; } // Build up the transaction payload based on the incoming array of data fields // Build up the transaction payload based on the incoming array of data fields // Build up the transaction payload based on the incoming array of data fields // Build up the transaction payload based on the incoming array of data fields $records = array(); // Parse out Industry from the 3-level choice sent in from the form $aIndustry = explode("|", $awebreg['Industry']); // This is specific to old AS site, where a form returned a 3-level SF Industry code, showing the Industry/Sub/SF object id $thisIndustry = $aIndustry[0]; $records[0] = new SObject(); $records[0]->fields = array('FirstName' => htmlspecialchars($awebreg['FirstName']), 'LastName' => htmlspecialchars($awebreg['LastName']), 'Phone' => htmlspecialchars($awebreg['Phone']), 'Company' => htmlspecialchars($awebreg['Company']), 'Salutation' => htmlspecialchars($awebreg['salutation']), 'Title' => htmlspecialchars($awebreg['JobTitle']), 'Leadsource' => 'Web Direct', 'Email' => htmlspecialchars($awebreg['Useremail']), 'Street' => htmlspecialchars($awebreg['Address1']), 'City' => htmlspecialchars($awebreg['City']), 'State' => htmlspecialchars($awebreg['State']), 'PostalCode' => htmlspecialchars($awebreg['Zip']), 'Country' => htmlspecialchars($awebreg['Country']), 'HasOptedOutofEmail' => '0', 'Product_line__c' => 'Portable Analytical Instruments', 'Industry' => htmlspecialchars($thisIndustry), 'Markets_Application__c' => $awebreg['subIndustry'], 'Description' => htmlspecialchars("WebInquiry=" . $awebreg['HowBetterServed'] . ". Visitor was on webpage: " . $awebreg['WasOnPage']), 'RecordTypeId' => '012600000001BnZ'); $records[0]->type = 'Lead'; // Attempt the create $response = $client->create($records); $leadId = $response->id; // an ugly SF ID reference // now insert CampaignMember - new on 2014/08/03 $createFields = array('CampaignId' => $awebreg['CampaignId'], 'LeadId' => $leadId, 'Status' => 'Web To Lead'); $camprecords[0] = new SObject(); $camprecords[0]->fields = $createFields; $camprecords[0]->type = 'CampaignMember'; $createResp = $client->create($camprecords, 'CampaignMember'); $campaignId = $response->id; // I'm not sure this actually works, but it makes sense from the response of the Lead creation above. return array($leadId, $campaignId); }
// Partner WSDL ファイルを利用します。 define("PARTNER_WSDL_FILE", "./configs/partner.wsdl.xml"); define("WS_TWILIO_WSDL_FILE", "./configs/WS_TwilioDemo.wsdl.xml"); // セールスフォースへAPI接続する場合、接続元のIPアドレス許可が必要となりますが、 // 代替手段として、今回はセキュリティトークンを発行してIPアドレス許可の設定はスキップします。 define("SECURITY_TOKEN", "i695PQ92Vqxj8AWp2fqlBzVX0"); // API でログインするセールスフォースのアカウントです。 define("LOGIN_ID", "*****@*****.**"); // パスワードの後ろにセキュリティトークンを付けます。 define("LOGIN_PASS", "sis-515user" . SECURITY_TOKEN); // 接続用クラスを生成します。 $sforce_connection = new SforcePartnerClient(); $soap_client = $sforce_connection->createConnection(PARTNER_WSDL_FILE, null); try { // セールスフォースへログインを実行します。 $login = $sforce_connection->login(LOGIN_ID, LOGIN_PASS); //var_dump($login); } catch (Exception $e) { var_dump($e); } // SOAPクライアントを作成します $parsedURL = parse_url($sforce_connection->getLocation()); define("_SFDC_SERVER_", substr($parsedURL['host'], 0, strpos($parsedURL['host'], '.'))); define("_WS_NAME_", "WS_TwilioDemo"); define("_WS_ENDPOINT_", 'https://login.salesforce.com/services/wsdl/class/' . _WS_NAME_); define("_WS_NAMESPACE_", 'http://soap.sforce.com/schemas/class/' . _WS_NAME_); $client = new SoapClient(WS_TWILIO_WSDL_FILE); $sforce_header = new SoapHeader(_WS_NAMESPACE_, "SessionHeader", array("sessionId" => $sforce_connection->getSessionId())); $client->__setSoapHeaders(array($sforce_header)); try { // GETされたユーザの入力を分割
$response = $mySforceConnection->delete($ids); foreach ($response as $result) { echo $result->success == 1 ? $result->id . " deleted<br/>\n" : "Error: " . $result->errors->message . "<br/>\n"; } echo "</td><td>"; echo "Now let's use the partner client<br/><br/>\n"; $mySforceConnection = new SforcePartnerClient(); $mySforceConnection->createConnection("soapclient/partner.wsdl.xml"); if (isset($_SESSION['partnerSessionId'])) { $location = $_SESSION['partnerLocation']; $sessionId = $_SESSION['partnerSessionId']; $mySforceConnection->setEndpoint($location); $mySforceConnection->setSessionHeader($sessionId); echo "Used session ID for partner<br/><br/>\n"; } else { $mySforceConnection->login(USERNAME, PASSWORD . SECURITY_TOKEN); $_SESSION['partnerLocation'] = $mySforceConnection->getLocation(); $_SESSION['partnerSessionId'] = $mySforceConnection->getSessionId(); echo "Logged in with partner<br/><br/>\n"; } $query = "SELECT Id, FirstName, LastName, Phone from Contact"; $response = $mySforceConnection->query($query); $queryResult = new QueryResult($response); echo "Results of query '{$query}'<br/><br/>\n"; for ($queryResult->rewind(); $queryResult->pointer < $queryResult->size; $queryResult->next()) { $record = $queryResult->current(); // Id is on the $record, but other fields are accessed via // the fields object echo $record->Id . ": " . $record->fields->FirstName . " " . $record->fields->LastName . " " . $record->fields->Phone . "<br/>\n"; } echo "<br/>Now, create some records<br/><br/>\n";
static function edit($option, $tabpane, $pkg, $ids, $caller) { global $database; JArrayHelper::toInteger($ids); $database = JFactory::getDBO(); $row = new facileFormsForms($database); if ($ids[0]) { $row->load($ids[0]); } else { $row->package = $pkg; $row->class1 = 'content_outline'; $row->width = 400; $row->widthmode = 0; $row->height = 500; $row->heightmode = 0; $row->pages = 1; $row->emailntf = 1; $row->mb_emailntf = 1; $row->emaillog = 1; $row->mb_emaillog = 1; $row->emailxml = 0; $row->mb_emailxml = 0; $row->dblog = 1; $row->script1cond = 0; $row->script2cond = 0; $row->piece1cond = 0; $row->piece2cond = 0; $row->piece3cond = 0; $row->piece4cond = 0; $row->published = 1; $row->runmode = 0; $row->prevmode = 2; $row->prevwidth = 400; $row->custom_mail_subject = ''; $row->mb_custom_mail_subject = ''; $row->alt_mailfrom = ''; $row->mb_alt_mailfrom = ''; $row->alt_fromname = ''; $row->mb_alt_fromname = ''; $row->email_type = 0; $row->mb_email_type = 0; $row->email_custom_html = 0; $row->mb_email_custom_html = 0; $row->email_custom_template = ''; $row->mb_email_custom_template = ''; $row->salesforce_token = ''; $row->salesforce_enabled = 0; $row->salesforce_fields = ''; $row->salesforce_username = ''; $row->salesforce_password = ''; $row->dropbox_email = ''; $row->dropbox_password = ''; $row->dropbox_folder = ''; $row->dropbox_submission_enabled = 0; $row->dropbox_submission_types = 'pdf'; $row->tags_form = ''; $row->tags_content = ''; $row->tags_content_template = ''; $row->tags_content_template_default_element = 0; $row->tags_content_default_category = 1; $row->tags_content_default_state = 1; $row->tags_content_default_access = 1; $row->tags_content_default_language = '*'; $row->tags_content_default_featured = 0; $row->tags_content_default_publishup = ''; $row->tags_content_default_publishdown = ''; $row->autoheight = 0; $database->setQuery("select max(ordering)+1 from #__facileforms_forms"); $row->ordering = $database->loadResult(); } // if if ($row->tags_content_default_publishup == '0000-00-00 00:00:00') { $row->tags_content_default_publishup = ''; } if ($row->tags_content_default_publishdown == '0000-00-00 00:00:00') { $row->tags_content_default_publishdown = ''; } $row->dropbox_submission_types = explode(',', $row->dropbox_submission_types); $row->salesforce_types = array(); $row->salesforce_type_fields = array(); $row->breezingforms_fields = array(); $row->salesforce_error = ''; if ($row->salesforce_enabled && $ids[0]) { try { 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'; } $mySforceConnection = new SforcePartnerClient(); $mySoapClient = $mySforceConnection->createConnection(BF_SOAP_CLIENT_BASEDIR . '/partner.wsdl.xml'); $mylogin = $mySforceConnection->login($row->salesforce_username, $row->salesforce_password . $row->salesforce_token); $row->salesforce_types = $mySforceConnection->describeGlobal()->sobjects; // retrieve fields from Lead by default $sobjects = array(); if ($row->salesforce_type == '') { $row->salesforce_type = 'Lead'; $sobjects = $mySforceConnection->describeSObject('Lead')->fields; } else { $sobjects = $mySforceConnection->describeSObject($row->salesforce_type)->fields; } $row->salesforce_type_fields = $sobjects; $row->salesforce_fields = explode(',', $row->salesforce_fields); $database->setQuery("Select `title`,`name` From #__facileforms_elements Where form = " . $ids[0] . " And `title` Not In ('bfFakeTitle','bfFakeTitle2','bfFakeTitle3','bfFakeTitle4','bfFakeTitle5') Order By ordering"); $row->breezingforms_fields = $database->loadObjectList(); } catch (Exception $e) { $row->salesforce_error = $e->getMessage(); } } $lists = array(); $database->setQuery("select id, concat(package,'::',name) as text " . "from #__facileforms_scripts " . "where published=1 and type='Form Init' " . "order by text, id desc"); $lists['init'] = $database->loadObjectList(); $database->setQuery("select id, concat(package,'::',name) as text " . "from #__facileforms_scripts " . "where published=1 and type='Form Submitted' " . "order by text, id desc"); $lists['submitted'] = $database->loadObjectList(); $database->setQuery("select id, concat(package,'::',name) as text " . "from #__facileforms_pieces " . "where published=1 and type='Before Form' " . "order by text, id desc"); $lists['piece1'] = $database->loadObjectList(); $database->setQuery("select id, concat(package,'::',name) as text " . "from #__facileforms_pieces " . "where published=1 and type='After Form' " . "order by text, id desc"); $lists['piece2'] = $database->loadObjectList(); $database->setQuery("select id, concat(package,'::',name) as text " . "from #__facileforms_pieces " . "where published=1 and type='Begin Submit' " . "order by text, id desc"); $lists['piece3'] = $database->loadObjectList(); $database->setQuery("select id, concat(package,'::',name) as text " . "from #__facileforms_pieces " . "where published=1 and type='End Submit' " . "order by text, id desc"); $lists['piece4'] = $database->loadObjectList(); $order = JHTML::_('list.genericordering', "select ordering as value, title as text " . "from #__facileforms_forms " . "where package = " . $database->quote($pkg) . " " . "order by ordering"); $lists['ordering'] = JHTML::_('select.genericlist', $order, 'ordering', 'class="inputbox" size="1"', 'value', 'text', intval($row->ordering)); HTML_facileFormsForm::edit($option, $tabpane, $pkg, $row, $lists, $caller); }