Architecture
UNA 15 is one PHP 8.2+ application with a MySQL or MariaDB database and a one-minute cron. Apps add the features, Studio configures them, and two frontends share the same module services: the PHP template site and NEO (Next.js 16 web, Expo SDK 58 iOS and Android) through /api.php. {
"status": 200,
"module": "bx_posts",
"method": "{method}",
"params": [],
"data": {},
"hash": "{hash of the current API configuration}"
}
{
"status": 400,
"error": "{error message}",
"data": "",
"code": 400
}
bx_srv('system', 'is_module_profile', [$sModuleName]);
bx_srv('system', 'is_module_context', [$sModuleName]);
bx_srv('system', 'is_module_content', [$sModuleName]);
BxBaseModGeneralModule extends BxDolModule
BxBaseModTextModule extends BxBaseModGeneralModule implements iBxDolContentInfoService
BxBaseModFilesModule extends BxBaseModTextModule
BxBaseModProfileModule extends BxBaseModGeneralModule implements iBxDolContentInfoService, iBxDolProfileService
BxBaseModGroupsModule extends BxBaseModProfileModule
BxBaseModNotificationsModule extends BxBaseModGeneralModule
BxBaseModConnectModule extends BxBaseModGeneralModule
BxBaseModPaymentModule extends BxBaseModGeneralModule
BxBaseModTemplateModule extends BxBaseModGeneralModule
// In BxBaseServices: public function serviceIsModuleContent($mixedModule)
$bIsContent = bx_srv('system', 'is_module_content', ['bx_posts']);
bx_alert('bx_posts', 'add', $iPostId, $iProfileId, [
'content' => $sContent,
'title' => $sTitle,
'module' => $this->_oConfig->getName(),
]);
10d