You are here

public static function Salesforce::convertId in Salesforce Suite 7.3

Converts a 15-character case-sensitive Salesforce ID to 18-character case-insensitive ID. If input is not 15-characters, return input unaltered.

Parameters

string $sfid15: 15-character case-sensitive Salesforce ID

Return value

string 18-character case-insensitive Salesforce ID

2 calls to Salesforce::convertId()
salesforce_mapping_object_form_save_mapping_validate in modules/salesforce_mapping/includes/salesforce_mapping_object.admin.inc
salesforce_mapping_object_form_validate in modules/salesforce_mapping/includes/salesforce_mapping_object.admin.inc
Implements hook_form_validate().

File

includes/salesforce.inc, line 43
Objects, properties, and methods to communicate with the Salesforce REST API

Class

Salesforce
Ability to authorize and communicate with the Salesforce REST API.

Code

public static function convertId($sfid15) {
  if (strlen($sfid15) != 15) {
    return $sfid15;
  }
  $chunks = str_split($sfid15, 5);
  $extra = '';
  foreach ($chunks as $chunk) {
    $chars = str_split($chunk, 1);
    $bits = '';
    foreach ($chars as $char) {
      $bits .= !is_numeric($char) && $char == strtoupper($char) ? '1' : '0';
    }
    $map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ012345';
    $extra .= substr($map, base_convert(strrev($bits), 2, 10), 1);
  }
  return $sfid15 . $extra;
}