You are here

private static function SFID::convertId in Salesforce Suite 5.0.x

Same name and namespace in other branches
  1. 8.4 src/SFID.php \Drupal\salesforce\SFID::convertId()
  2. 8.3 src/SFID.php \Drupal\salesforce\SFID::convertId()

Convert 15-character Salesforce ID to an 18-character ID.

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

1 call to SFID::convertId()
SFID::__construct in src/SFID.php
SFID constructor.

File

src/SFID.php, line 90

Class

SFID
Class SFID.

Namespace

Drupal\salesforce

Code

private static function convertId($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;
}