function _perform($aModule, $sClass, $sMethod, $aParams, $bTerminateOnError = true) { $sClass = $aModule['class_prefix'] . $sClass; $oModule = BxDolRequest::_require($aModule, $sClass); if ($oModule === false && $bTerminateOnError) { BxDolRequest::methodNotFound($sMethod, $aModule['uri']); } else { if ($oModule === false && !$bTerminateOnError) { return false; } } $bMethod = method_exists($oModule, $sMethod); if ($bMethod) { return call_user_func_array(array($oModule, $sMethod), $aParams); } else { if (!$bMethod && $bTerminateOnError) { BxDolRequest::methodNotFound($sMethod, $aModule['uri']); } else { if (!$bMethod && !$bTerminateOnError) { return false; } } } }