[ 'timeout' => 1800 ] ]; if (AppConst::isDuoDuoCloud()) { $streamContextDefaultOptions['http']['protocol_version'] = '1.1'; } stream_context_set_default($streamContextDefaultOptions); $envConfig = array ( 'env' => $env, 'tbEnv' => 'live', 'kdniaoEnv' => $env, 'appName' => $appName, 'appChineseName' => Zk::appChineseName, 'appCategory' => $appCategory, 'isSzChengji' => $isSzChengji, 'node-video.bucket' => 'node-video-rt', 'honor-pub.bucket' => Zk::ossBucket, 'honor-pub.domain' => Zk::ossDomain, 'honor-pub.domain.alias' => Zk::ossDomainAlias, 'honor-pub.internal.domain' => Zk::ossInternalDomain, 'fc-pub.bucket' => Zk::fcOssBucket, 'fc-pub.domain' => Zk::fcOssDomain, 'fc-pub.internal.domain' => Zk::fcOssInternalDomain, 'honor-desktop.domain' => $isSzChengji ? 'http://pdd-desktop-c.szchengji-inc.com/' : 'http://pdd-desktop-c.chengji-inc.com/', 'aliyun.access_key_id' => Zk::ossAliyunAccessKeyId, 'aliyun.access_key_secret' => Zk::ossAliyunAccessKeySecret, 'ps.domain' => Zk::psDomain, 'static.host' => $_SERVER['HTTP_HOST'], 'static.host.list' => [$_SERVER['HTTP_HOST']], 'ai-ps-auto.domain.list' => Zk::$aiPsAutoDomainList, 'ai-ps.matting.token' => Zk::aiPsMattingToken, 'match.cate.domain' => Zk::matchCateDomain, 'video.domain' => 'http://jc-node-video.szchengji-inc.com', 'videoToken' => 'fsfk^5*dfk3b43%po332h34*&$3fb.,:', 'dwh.encrypt.key' => Zk::dwhEncryptKey, 'dwh.token' => Zk::dwhToken, 'dwh.logRule.jsPath' => Zk::dwhLogRuleJsPath, 'dwh.pushLog.jsUrl' => Zk::dwhPushLogJsUrl, 'dwh.domain' => Zk::dwhDomain, 'vender.encrypt.key' => Zk::venderEncryptKey, 'http-domain' => 'http://' . $_SERVER['HTTP_HOST'] . '/', 'static.domain' => $_SERVER['HTTP_HOST'], 'temp.dir' => sys_get_temp_dir() . '/', 'posterToken' => ZK::posterToken, 'ddcToken' => ZK::ddcToken, 'appGateToken' => ZK::appGateToken, 'acn.ds.domain' => 'acn-ds.chengji-inc.com', 'acn.ds.token' => ZK::acnDsToken, 'pddddkClientId' => Zk::pddddkClientId, 'pddddkClientSecret' => Zk::pddddkClientSecret, 'redis' => array ( 'bizCache' => array ( 'host' => Zk::redisBizCacheHost, 'port' => Zk::redisBizCachePort, 'password' => Zk::redisBizCachePassword, 'timeout' => 1, 'dbIndex' => Zk::redisBizCacheDbIndex ), 'solidCache' => array ( 'host' => Zk::redisSolidCacheHost, 'port' => Zk::redisSolidCachePort, 'password' => Zk::redisSolidCachePassword, 'timeout' => 1, 'dbIndex' => Zk::redisSolidCacheDbIndex ), 'timerCache' => array ( 'host' => Zk::redisTimerCacheHost, 'port' => Zk::redisTimerCachePort, 'password' => Zk::redisTimerCachePassword, 'timeout' => 1, 'dbIndex' => Zk::redisTimerCacheDbIndex ), 'statCache' => array ( 'host' => Zk::redisStatCacheHost, 'port' => Zk::redisStatCachePort, 'password' => Zk::redisStatCachePassword, 'timeout' => 1, 'dbIndex' => Zk::redisStatCacheDbIndex ), 'fcCache' => array ( 'host' => Zk::redisFcCacheHost, 'port' => Zk::redisFcCachePort, 'password' => Zk::redisFcCachePassword, 'timeout' => 1 ), 'fcQueueCache' => array ( 'host' => Zk::redisFcQueueCacheHost, 'port' => Zk::redisFcQueueCachePort, 'password' => Zk::redisFcQueueCachePassword, 'timeout' => 1 ), ), 'app' => array( AppConst::appCategoryJxc => array( 'clientId' => Zk::jxcClientId, 'clientSecret' => Zk::jxcClientSecret, ), AppConst::appCategorySh => array( 'clientId' => Zk::shClientId, 'clientSecret' => Zk::shClientSecret, ), AppConst::appCategoryOd => array( 'clientId' => Zk::odClientId, 'clientSecret' => Zk::odClientSecret, ), AppConst::appCategoryOp => array( 'clientId' => Zk::opClientId, 'clientSecret' => Zk::opClientSecret, ), AppConst::appCategorySp => array( 'clientId' => Zk::spClientId, 'clientSecret' => Zk::spClientSecret, ), ), 'enableSendSms' => true, 'whiteRoutes' => array ( RouteConst::commonAuthLogin, RouteConst::commonAuthGetCaptchaCode, RouteConst::commonAuthAuth, RouteConst::commonAuthAjaxAuth, RouteConst::commonAuthMockUser, RouteConst::commonAuthGetLoginVerificationCode, RouteConst::userPaymentIndex, RouteConst::userPaymentCreateOrderAndGotoPay, RouteConst::userPaymentPayAfterNotify, RouteConst::userPaymentPayAfterReturn, RouteConst::userPaymentUpgradePayAfterNotify, RouteConst::userPaymentUpgradePayAfterReturn, RouteConst::userPaymentMoveSpeedRechargeAfterNotify, RouteConst::userPaymentMoveSpeedRechargeAfterReturn, RouteConst::userRechargeMoveRechargeAfterNotify, RouteConst::userRechargeMoveRechargeAfterReturn, RouteConst::userPaymentAppGroupPayAfterNotify, RouteConst::userPaymentAppGroupPayAfterReturn, RouteConst::userRechargeSmsAfterReturn, RouteConst::userRechargeSmsAfterNotify, RouteConst::detectBanWordsScanTaskPayAfterNotify, RouteConst::detectBanWordsScanTaskPayAfterReturn, RouteConst::userUserGoAuth, RouteConst::userUserCallback, RouteConst::userUserOpCallback, RouteConst::commonAuthExitApp, DesktopRouteConst::openCommonGetAutoStartInfo, DesktopRouteConst::userPaymentPayAfterNotify, DesktopRouteConst::userPaymentPayAfterReturn, DesktopRouteConst::userPaymentIndex, DesktopRouteConst::chatChatGetAllAuthMallMerchantList, DesktopRouteConst::commonAuthSwitchMall, DesktopRouteConst::commonAuthExitApp, RouteConst::userUserAfterAuth, RouteConst::desktopOpenCommonConfig, 'user/user/test', AgateRouteConst::timerTimerIndex, AgateRouteConst::userMachineCreateMachineCode, AgateRouteConst::userMachineHasMachineMallAuth, AgateRouteConst::userUserAgateCallback, RubyRouteConst::userLogin, RubyRouteConst::userCheckUsername, RubyRouteConst::userUpgrade, RubyRouteConst::userDoLogin, RubyRouteConst::userRegister, RubyRouteConst::userResetPassword, RubyRouteConst::userSendRegisterSmsCode, RubyRouteConst::userSendResetPasswordSmsCode, RubyRouteConst::getCaptchaCode, RubyRouteConst::userExitApp, RubyRouteConst::userUserMallGoAuth, RubyRouteConst::userUserRubyCallback, RubyRouteConst::userUserDdkCallback, TaoBaiKeRouteConst::userLogin, TaoBaiKeRouteConst::userUserOdCallback, RouteConst::userLoginSubAccount, RouteConst::userLoginAuthSubAccount, RouteConst::userLoginGetSubAccountVerifyCode, RouteConst::userUserAfterWbAuth, ), 'kdniao' => array( 'sandbox' => array( 'reqHost' => 'http://sandboxapi.kdniao.com:8080/', 'eBusinessID' => Zk::kdniaoEBusinessID, 'appKey' => Zk::kdniaoAppKey ), 'live' => array( 'reqHost' => 'http://api.kdniao.com/', 'eBusinessID' => Zk::kdniaoEBusinessID, 'appKey' => Zk::kdniaoAppKey ) ), 'jdmsApi' => array( 'appKey' => Zk::jdmsApiAppKey, 'secretKey' => Zk::jdmsApiSecretKey, 'gatewayUrl' => Zk::jdmsApiGatewayUrl ), 'platformAuthToken' => Zk::platformAuthToken, 'sessionName' => Zk::sessionName, 'goAuthRoute' => RouteConst::userUserGoAuth, 'afterAuthRoute' => Zk::afterAuth, 'authorizeUrl' => 'http://mms.pinduoduo.com/open.html', 'tokenUrl' => 'http://open-api.pinduoduo.com/oauth/token', 'wbAuthorizeUrl' => 'http://wb.pinduoduo.com/logistics/auth', 'redirectUri' => $redirectUri, 'ddkRedirectUri' => $ddkRedirectUri, 'wbRedirectUri' => $wbRedirectUri, 'gatewayUrl' => 'http://gw-api.pinduoduo.com/api/router', 'clientId' => Zk::clientId, 'clientSecret' => Zk::clientSecret, 'dzshClientId' => Zk::dzshClientId, 'dzshClientSecret' => Zk::dzshClientSecret, 'wbClientId' => Zk::wbClientId, 'wbClientSecret' => Zk::wbClientSecret, 'goodsClientId' => Zk::goodsClientId, 'goodsClientSecret' => Zk::goodsClientSecret, 'fetchBank.token' => Zk::fetchBankToken, 'fetchBank.domain' => $isSzChengji ? 'fb.pdd.szchengji-inc.com' : 'fb.pdd.chengji-inc.com', 'aone.token' => Zk::aoneToken, 'pcwsConnectAddress' => Zk::pcwsConnectAddress, 'pcwsConnectSalt' => Zk::pcwsConnectSalt, 'jflow.host' => 'jflow.jiancent.com', 'jx.group.token' => Zk::jxGroupToken, ); if ((strpos($hostname, 'honor-') === 0) || (strpos($hostname, 'ay-') === 0)) { $envConfig['idc'] = 'aliyun'; $envConfig['aliyun.oss_endpoint'] = Zk::ossAliyunInternalEndpoint; $envConfig['isOssInternalDomain'] = true; $envConfig['pc-center.domain'] = $isSzChengji ? 'http://pc-intra.szchengji-inc.com' : 'http://pc-intra.chengji-inc.com'; if ((stripos($hostname, '-pre') !== false) || (stripos($_SERVER['HTTP_HOST'], '-pre') !== false)) { $envConfig['multi.crawler.domain'] = $isSzChengji ? 'mc-pdd-intra-pre.szchengji-inc.com' : 'mc-pdd-intra-pre.chengji-inc.com'; $envConfig['multi.crawler.fetchBank.domain'] = $isSzChengji ? 'fb-intra-pre.szchengji-inc.com' : 'fb-intra-pre.chengji-inc.com'; $envConfig['pc-center.domain'] = $isSzChengji ? 'http://pc-intra-pre.szchengji-inc.com' : 'http://pc-intra-pre.chengji-inc.com'; } else { $envConfig['multi.crawler.domain'] = $isSzChengji ? 'mc-pdd-intra.szchengji-inc.com' : 'mc-pdd-intra.chengji-inc.com'; $envConfig['multi.crawler.fetchBank.domain'] = $isSzChengji ? 'fb-intra.szchengji-inc.com' : 'fb-intra.chengji-inc.com'; } $envConfig['env'] = 'live'; } elseif (strpos($hostname, 'app-') === 0) { $envConfig['idc'] = 'aliyun'; $envConfig['aliyun.oss_endpoint'] = Zk::ossAliyunEndpoint; $envConfig['isOssInternalDomain'] = false; $envConfig['pc-center.domain'] = $isSzChengji ? 'http://pc.szchengji-inc.com' : 'http://pc.chengji-inc.com'; $envConfig['multi.crawler.domain'] = '100.65.128.217:11002'; $envConfig['multi.crawler.mspddod.domain'] = '100.65.128.159:10831'; $envConfig['multi.crawler.mspddop.domain'] = '100.65.129.29:10166'; $envConfig['multi.crawler.pdddz.domain'] = '100.65.128.157:10812'; $envConfig['multi.crawler.pdddzod.domain'] = '100.65.128.162:10851'; $envConfig['multi.crawler.pdddzop.domain'] = '100.65.129.51:10225'; $envConfig['multi.crawler.ruby.domain'] = '100.65.132.130:11269'; $envConfig['multi.crawler.fetchBank.domain'] = $isSzChengji ? 'jc-fb-intra.szchengji-inc.com' : 'jc-fb-intra.chengji-inc.com'; $envConfig['env'] = 'live'; } else { $envConfig['needRandMcDomain'] = true; if ((stripos($hostname, 'honor-pre') !== false) || (stripos($_SERVER['HTTP_HOST'], '-pre') !== false)) { if ($isSzChengji) { $envConfig['jc.pc.domain.list'] = array('jc-pc-intra-p1-pre.szchengji-inc.com', 'jc-pc-intra-p2-pre.szchengji-inc.com', 'jc-pc-intra-p3-pre.szchengji-inc.com'); } else { $envConfig['jc.pc.domain.list'] = array('jc-pc-intra-p1-pre.chengji-inc.com', 'jc-pc-intra-p2-pre.chengji-inc.com', 'jc-pc-intra-p3-pre.chengji-inc.com'); } } else { // 京东云的正式环境 if ($isSzChengji) { $envConfig['jc.pc.domain.list'] = array('jc-pc-intra-p1.szchengji-inc.com', 'jc-pc-intra-p2.szchengji-inc.com', 'jc-pc-intra-p3.szchengji-inc.com'); } else { $envConfig['jc.pc.domain.list'] = array('jc-pc-intra-p1.chengji-inc.com', 'jc-pc-intra-p2.chengji-inc.com', 'jc-pc-intra-p3.chengji-inc.com'); } } $envConfig['idc'] = 'jcloud'; $envConfig['aliyun.oss_endpoint'] = Zk::ossAliyunEndpoint; $envConfig['isOssInternalDomain'] = false; $envConfig['pc-center.domain'] = $isSzChengji ? 'http://pc.szchengji-inc.com' : 'http://pc.chengji-inc.com'; $envConfig['multi.crawler.domain'] = $isSzChengji ? 'pdd.szchengji-inc.com' : 'pdd.chengji-inc.com'; $envConfig['multi.crawler.fetchBank.domain'] = $isSzChengji ? 'jc-fb-intra.szchengji-inc.com' : 'jc-fb-intra.chengji-inc.com'; $envConfig['env'] = 'sandbox'; } if ($isLocal) { $envConfig['needRandMcDomain'] = false; $envConfig['sessionType'] = 'redis'; $envConfig['multi.crawler.pdddz.domain'] = 'pdddz.jiancent.com'; $envConfig['multi.crawler.pdddzod.domain'] = 'pdddz-od.jiancent.com'; $envConfig['multi.crawler.ruby.domain'] = 'dc-ruby-pdd.ry-inc.com'; $envConfig['multi.crawler.fetchBank.domain'] = $isSzChengji ? 'fb.pdd.szchengji-inc.com' : 'fb.pdd.chengji-inc.com'; } else { $envConfig['sessionType'] = 'redis'; } $zcConfig = array ( ZcConfigConst::DefaultRoute => $defaultRoute, ZcConfigConst::DbConfig => array ( 'error_mode' => 'bool', // bool or exception 'default_group' => 'zc', 'query_result_format' => ZcDb::QUERY_RESULT_FORMAT_CAMEL, 'db_listeners' => array ( array ( 'class' => 'JmonitorDbListener', 'file' => 'libs/tool/class.JmonitorDbListener.php' ) ), 'connections' => array ( 'zc' => array ( 'master' => array ( 'db_id' => 'zc.master', 'dbms' => 'mysql', 'hostname' => Zk::dbHostname, 'port' => Zk::dbPort, 'username' => Zk::dbUsername, 'password' => Zk::dbPassword, 'pconnect' => false, 'charset' => 'utf8', 'database' => Zk::dbDatabase ), 'slaves' => array( array ( 'db_id' => 'zc.slave1', 'dbms' => 'mysql', 'hostname' => Zk::dbSlave1Hostname, 'port' => '3306', 'username' => Zk::dbSlave1Username, 'password' => Zk::dbSlave1Password, 'pconnect' => false, 'charset' => 'utf8', 'database' => Zk::dbSlave1Database, 'read_weight' => 0 ) ) ), 'pdp' => array ( 'master' => array ( 'db_id' => 'pdp.master', 'dbms' => 'mysql', 'hostname' => Zk::pdpDbHostname, 'port' => Zk::pdpDbPort, 'username' => Zk::pdpDbUsername, 'password' => Zk::pdpDbPassword, 'pconnect' => false, 'charset' => 'utf8', 'database' => Zk::pdpDbDatabase ) ), 'mall' => array ( 'master' => array ( 'db_id' => 'mall.master', 'dbms' => 'mysql', 'hostname' => Zk::mallDbHostname, 'port' => Zk::mallDbPort, 'username' => Zk::mallDbUsername, 'password' => Zk::mallDbPassword, 'pconnect' => false, 'charset' => 'utf8', 'database' => Zk::mallDbDatabase ) ), 'be' => array ( 'master' => array ( 'db_id' => 'be.master', 'dbms' => 'mysql', 'hostname' => Zk::beDbHostname, 'port' => Zk::beDbPort, 'username' => Zk::beDbUsername, 'password' => Zk::beDbPassword, 'pconnect' => false, 'charset' => 'utf8', 'database' => Zk::beDbDatabase ) ), 'ps' => array ( 'master' => array ( 'db_id' => 'zc.master', 'dbms' => 'mysql', 'hostname' => Zk::dbHostname, 'port' => Zk::dbPort, 'username' => Zk::dbUsername, 'password' => Zk::dbPassword, 'pconnect' => false, 'charset' => 'utf8', 'database' => Zk::dbDatabase ) ), 'ws' => array ( 'master' => array ( 'db_id' => 'zc.master', 'dbms' => 'mysql', 'hostname' => Zk::dbHostname, 'port' => Zk::dbPort, 'username' => Zk::dbUsername, 'password' => Zk::dbPassword, 'pconnect' => false, 'charset' => 'utf8', 'database' => Zk::dbDatabase ) ), 'sw' => array ( 'master' => array ( 'db_id' => 'sw.master', 'dbms' => 'mysql', 'hostname' => Zk::swDbHostname, 'port' => Zk::swDbPort, 'username' => Zk::swDbUsername, 'password' => Zk::swDbPassword, 'pconnect' => false, 'charset' => 'utf8', 'database' => Zk::swDbDatabase ) ), 'rt' => array ( 'master' => array ( 'db_id' => 'rt.master', 'dbms' => 'mysql', 'hostname' => Zk::rtDbHostname, 'port' => Zk::rtDbPort, 'username' => Zk::rtDbUsername, 'password' => Zk::rtDbPassword, 'pconnect' => false, 'charset' => 'utf8', 'database' => Zk::rtDbDatabase ) ), 'qlt' => array ( 'master' => array ( 'db_id' => 'qlt.master', 'dbms' => 'mysql', 'hostname' => Zk::qltDbHostname, 'port' => Zk::qltDbPort, 'username' => Zk::qltDbUsername, 'password' => Zk::qltDbPassword, 'pconnect' => false, 'charset' => 'utf8', 'database' => Zk::qltDbDatabase ) ), 'ac' => array ( 'master' => array ( 'db_id' => 'ac.master', 'dbms' => 'mysql', 'hostname' => Zk::acDbHostname, 'port' => Zk::acDbPort, 'username' => Zk::acDbUsername, 'password' => Zk::acDbPassword, 'pconnect' => false, 'charset' => 'utf8', 'database' => Zk::acDbDatabase ) ), 'fc' => array ( 'master' => array ( 'db_id' => 'fc.master', 'dbms' => 'mysql', 'hostname' => Zk::fcDbHostname, 'port' => Zk::fcDbPort, 'username' => Zk::fcDbUsername, 'password' => Zk::fcDbPassword, 'pconnect' => false, 'charset' => 'utf8', 'database' => Zk::fcDbDatabase ) ), ) ), ZcConfigConst::Session => array ( 'session_type' => 'redis', 'gc_maxlifetime' => 7200, 'options' => array ( 'master_servers' => array ( array ( 'host' => Zk::redisMasterHost, 'port' => Zk::redisMasterPort, 'password' => Zk::redisMasterPassword, 'timeout' => 0.5, 'dbIndex' => Zk::redisMasterDbIndex, ) ), 'slave_servers' => array ( array ( 'host' => Zk::redisSlaveHost, 'port' => Zk::redisSlavePort, 'password' => Zk::redisSlavePassword, 'timeout' => 0.5, 'dbIndex' => Zk::redisSlaveDbIndex ) ) ) ), ZcConfigConst::AutoloadDirsWs => array ( 'libs/controller/abstract', 'libs/util/', 'libs/service/', 'libs/dao/', 'libs/tool/', 'libs/const/', 'libs/vendor/fetch-client/', 'libs/exception/', 'libs/vendor/ds-client/', 'libs/vendor/cg-client/', ), ZcConfigConst::AutoloadIncludeFiles => array ( dirname(dirname(__FILE__)) . '/libs/controller/timer/class.BaseTimerController.php', dirname(dirname(__FILE__)) . '/libs/controller/timer/class.BaseRsyncController.php', dirname(dirname(__FILE__)) . '/libs/vendor/pddAjaxApi/PddAutoLoad.php', dirname(dirname(__FILE__)) . '/libs/vendor/ddk_sdk/vendor/autoload.php', dirname(dirname(__FILE__)) . '/libs/vendor/thirdPackage/ThirdPackageAutoLoad.php', dirname(dirname(__FILE__)) . '/libs/controller/inner_open/class.PddOdBaseApiController.php', dirname(dirname(__FILE__)) . '/libs/vendor/my_imagine/class.MyImagineAutoloader.php', dirname(dirname(__FILE__)) . '/libs/vendor/taobao_sdk_auto_20170210/TopSdk.php', dirname(dirname(__FILE__)) . '/libs/controller/open/ds/class.DsBaseController.php', dirname(dirname(__FILE__)) . '/libs/controller/open/outer/class.OuterBaseController.php', dirname(dirname(__FILE__)) . '/libs/vendor/jflow-client/Autoloader.php', dirname(dirname(__FILE__)) . '/libs/controller/open/cg/class.CgBaseController.php', ), ZcConfigConst::UrlHandler => array ( 'class' => 'AppUrlHandler' ), ZcConfigConst::MonitorAutostart => true, ZcConfigConst::MonitorHandler => array ( 'class' => 'JMonitorHandler', 'file' => '/libs/tool/class.JMonitorHandler.php' ), ZcConfigConst::DefaultTimezone => 'Asia/Shanghai', ZcConfigConst::CleanQuotes => true, ZcConfigConst::Filters => array ( array ( 'route' => 'filter/init/index', 'route.pattern' => '/^(?!filter|timer|admin|open|inner_open|front|desktop|affiliate).*/i' ), array ( 'route' => 'filter/init/open', 'route.pattern' => '/^(open\/.*|desktop\/.*)/i' ), array ( 'route' => 'filter/init/inner_open', 'route.pattern' => '/^(inner_open|timer)\/.*/i' ), array ( 'route' => 'filter/init/admin', 'route.pattern' => '/^admin\/.*/i' ), array ( 'route' => 'filter/init/affiliate', 'route.pattern' => '/^affiliate\/.*/i' ), ), ZcConfigConst::ZcArrayHelperDefaultSkipKeys => 'access_token,refresh_token,ajax_access_token', ZcConfigConst::LogDir => sprintf('%s/log/%s/', $serverBaseDir, Zk::bizLogDir), ZcConfigConst::DirWsViewsStatic => 'app/views/' . Zk::dirWsViewsStatic . '/' ); if (($env == 'live') && AppConst::isDuoDuoCloud()) { $isUseDirFileLog = $isPre ? file_exists(sys_get_temp_dir() . '/is_use_file_log.txt') : false; if (!$isUseDirFileLog) { $zcConfig[ZcConfigConst::LogHandler] = array ( 'class' => ZcLog::LOG_HANDLER_STDOUT, ); } } if (in_array($appName, [AppConst::appPddRuby])) { $zcConfig[ZcConfigConst::Pagination] = array ( 'minSideLen' => 5, 'maxSideLen' => 8, 'midLen' => 3, ); } $themeConfig = array( ZcConfigConst::ThemeCheckboxStyle => 'primary', ZcConfigConst::ThemeRadioStyle => 'primary' ); if ($appName === AppConst::appPddRuby && stripos($_SERVER['REQUEST_URI'], '/admin/') !== 0) { if (AppConst::checkIsDesktop()) { $zcConfig[ZcConfigConst::DirWsViewsStatic] = 'app/views/static_ruby_dt/'; } else { $zcConfig[ZcConfigConst::DirFsViewsLayout] = Zc::C(ZcConfigConst::DirFsApp) . 'views/layout/ruby/'; } } $jdmsConfig = array( 'jdms.config' => array( 'app.config' => array( 'appChineseName' => defined('Zk::jdmsAppChineseName') ? Zk::jdmsAppChineseName : '', 'adminIndexRoute' => defined('Zk::jdmsAdminIndexRoute') ? Zk::jdmsAdminIndexRoute : '', 'adminLogoutRoute' => defined('Zk::jdmsAdminLogoutRoute') ? Zk::jdmsAdminLogoutRoute : '', 'appRoutePrefix' => '', ), 'db.config' => array( 'readonlyUser' => array( 'username' => defined('Zk::jdmsDbReadonlyUsername') ? Zk::jdmsDbReadonlyUsername : '', 'password' => defined('Zk::jdmsDbReadonlyPassword') ? Zk::jdmsDbReadonlyPassword : '', ), 'useOriginDbIds' => ['pdp'], ) ) ); return array_merge($envConfig, $zcConfig, $themeConfig, $jdmsConfig);