- $noscrape = defaults($data->no_scrape_url, '');
- $version = $data->version;
- $site_name = $data->site_name;
- $info = $data->info;
- $register_policy = constant($data->register_policy);
- $platform = $data->platform;
+ if (!empty($data['no_scrape_url'])) {
+ $noscrape = $data['no_scrape_url'];
+ }
+
+ $version = $data['version'];
+
+ if (!empty($data['site_name'])) {
+ $site_name = $data['site_name'];
+ }
+
+ $info = $data['info'];
+ $register_policy = defaults($data, 'register_policy', REGISTER_CLOSED);
+ if (in_array($register_policy, ['REGISTER_CLOSED', 'REGISTER_APPROVE', 'REGISTER_OPEN'])) {
+ $register_policy = constant($data['register_policy']);
+ } else {
+ Logger::log("Register policy '$register_policy' from $server_url is invalid.");
+ $register_policy = REGISTER_CLOSED; // set a default value
+ }
+ $platform = $data['platform'];