if (!is_array($excludeServiceKeys)) {
$excludeServiceKeys = self::trimExplode(',', $excludeServiceKeys, 1);
}
+
+ $requestInfo = array(
+ 'requestedServiceType' => $serviceType,
+ 'requestedServiceSubType' => $serviceSubType,
+ 'requestedExcludeServiceKeys' => $excludeServiceKeys,
+ );
+
while ($info = t3lib_extMgm::findService($serviceType, $serviceSubType, $excludeServiceKeys)) {
+ // provide information about requested service to service object
+ $info = array_merge($info, $requestInfo);
+
// Check persistent object and if found, call directly and exit.
if (is_object($GLOBALS['T3_VAR']['makeInstanceService'][$info['className']])) {
+
+ // update request info in persistent object
+ $GLOBALS['T3_VAR']['makeInstanceService'][$info['className']]->info = $info;
+
// reset service and return object
$GLOBALS['T3_VAR']['makeInstanceService'][$info['className']]->reset();
return $GLOBALS['T3_VAR']['makeInstanceService'][$info['className']];