The following methods should have their visibility level set to protected instead of public:
CApplication::checkInput()
CDRule::checkInput()
CHostInterface::checkInput()
CItem::addRelatedObjects()
CMap::checkInput()
CMapElement::checkCircleSelectsLink()
CService::validateUpdate()
CService::validateDelete()
CService::validateAddTimes()
CService::validateUpdate()
CUser::checkAuthentication()
CUser::ldapLogin()
CUserMacro::getMacros()
CUserMacro::resolveTrigger()
CUserMacro::resolveItem()
CUserMacro::replaceMacros()
CAction::validateOperations()
CAction::validateConditions()
CAction::validateOperationConditions()
CZBXAPI::tableName()
CZBXAPI::pk()
CZBXAPI::pkOption()
+ All syncTemplates() and similar methods.
This may require some code refactoring.