setPageNameIndex (BX_PAGE_DEFAULT); $oTemplate->setPageHeader ("Macros List"); $oTemplate->setPageContent ('page_main_code', PageCompMainCode()); $oTemplate->getPageCode(); /** * page code function */ function PageCompMainCode() { ob_start(); $aBaseClasses = array( 'BxBaseModGeneralModule' => 'bx_base_general', 'BxBaseServices' => 'bx_system_general', 'BxBaseServiceAccount' => 'bx_system_general', 'BxBaseServiceCategory' => 'bx_system_general', 'BxBaseServiceLogin' => 'bx_system_general', 'BxBaseServiceMetatags' => 'bx_system_general', 'BxBaseServiceProfiles' => 'bx_system_general', 'BxBaseChartServices' => 'bx_system_general', 'BxBasePaymentsServices' => 'bx_system_general', ); $o = BxDolModuleQuery::getInstance(); $aModules = $o->getModules(); foreach ($aModules as $aModule) { $oModule = BxDolModule::getInstance($aModule['name']); if (!$oModule) continue; $oModuleReflection = new ReflectionClass(get_class($oModule)); $a = bx_srv($aModule['name'], 'get_safe_services'); if (!$a) continue; echo '

' . $aModule['title'] . '

'; echo '

'; foreach ($a as $sService => $sClass) { if ($sClass) { if (0 === strncmp('BxPayment', $sClass, 9)) bx_import(substr($sClass, 9), 'bx_payment'); $oModuleReflection = new ReflectionClass($sClass); } $oMethodReflection = $oModuleReflection->getMethod('service' . $sService); $sDeclaringClass = $oMethodReflection->getDeclaringClass()->getName(); $sService = trim(preg_replace_callback('/[A-Z]/', function ($aMatches) { return '_' . strtolower($aMatches[0]); }, $sService), '_'); $sModule = isset($aBaseClasses[$sDeclaringClass]) ? $aBaseClasses[$sDeclaringClass] : $aModule['name']; echo ''; echo '{{~' . $aModule['name'] . ':' . $sService . '[...]~}}'; echo '
'; } echo '

'; } $s = ob_get_clean(); return DesignBoxContent("Macros List", $s, BX_DB_PADDING_DEF); } /** @} */