private function getSearchOptionUniqID($itemtype, $option = array())
{
$uid_parts = array($itemtype);
$sub_itemtype = getItemTypeForTable($option['table']);
if ((isset($option['joinparams']['beforejoin']['table']) || empty($option['joinparams'])) && $option['linkfield'] != getForeignKeyFieldForItemType($sub_itemtype) && $option['linkfield'] != $option['field']) {
$uid_parts[] = $option['linkfield'];
}
if (isset($option['joinparams'])) {
if (isset($option['joinparams']['beforejoin'])) {
$sub_parts = $this->getSearchOptionUniqIDJoins($option['joinparams']['beforejoin']);
$uid_parts = array_merge($uid_parts, $sub_parts);
}
}
if (isset($option['joinparams']['beforejoin']['table']) || $sub_itemtype != $itemtype) {
$uid_parts[] = $sub_itemtype;
}
$uid_parts[] = $option['field'];
$uuid = implode('.', $uid_parts);
return $uuid;
}