function _xSync() { $settings = unserialize(base64_decode($_REQUEST['sync'])); // Sync blacklist if (isset($settings[NETWORK_SYNC_BLACKLIST]) && is_array($settings[NETWORK_SYNC_BLACKLIST])) { foreach ($settings[NETWORK_SYNC_BLACKLIST] as $bl_file => $file_contents) { file_write(DIR_BLACKLIST . '/' . $bl_file, $file_contents); } } // Sync categories if (isset($settings[NETWORK_SYNC_CATEGORIES])) { file_write(FILE_CATEGORIES, $settings[NETWORK_SYNC_CATEGORIES]); } // Sync countries if (isset($settings[NETWORK_SYNC_COUNTRIES])) { file_write(FILE_COUNTRIES, $settings[NETWORK_SYNC_COUNTRIES]); } // Sync groups if (isset($settings[NETWORK_SYNC_GROUPS])) { file_write(FILE_GROUPS, $settings[NETWORK_SYNC_GROUPS]); } // Sync network sites if (isset($settings[NETWORK_SYNC_NETWORK_SITES]) && is_array($settings[NETWORK_SYNC_NETWORK_SITES])) { require_once 'textdb.php'; $db = new NetworkDB(); foreach ($settings[NETWORK_SYNC_NETWORK_SITES] as $site) { if ($db->Exists($site['domain'])) { $db->Update($site['domain'], $site); } else { $db->Add($site); } } network_site_update_stored_values(); } // Sync search engines if (isset($settings[NETWORK_SYNC_SEARCH_ENGINES])) { file_write(FILE_SEARCH_ENGINES, $settings[NETWORK_SYNC_SEARCH_ENGINES]); } // Sync skim schemes if (isset($settings[NETWORK_SYNC_SKIM_SCHEMES]) && is_array($settings[NETWORK_SYNC_SKIM_SCHEMES])) { foreach ($settings[NETWORK_SYNC_SKIM_SCHEMES] as $scheme => $ss_file) { file_write(DIR_SKIM_SCHEMES . '/' . $scheme, $ss_file['merged']); file_write(DIR_SKIM_SCHEMES_BASE . '/' . $scheme, $ss_file['base']); file_write(DIR_SKIM_SCHEMES_DYNAMIC . '/' . $scheme, $ss_file['dynamic']); } } // Sync trades if (isset($settings[NETWORK_SYNC_TRADES]) && is_array($settings[NETWORK_SYNC_TRADES])) { require_once 'dirdb.php'; $db = new TradeDB(); foreach ($settings[NETWORK_SYNC_TRADES] as $trade) { if ($db->Exists($trade['domain'])) { // Update existing $db->Update($trade['domain'], $trade); } else { // Create new, no confirmation $trade['flag_confirm'] = 0; trade_add($trade); } } } // Sync trade rules if (isset($settings[NETWORK_SYNC_TRADE_RULES])) { file_write(FILE_TRADE_RULES, $settings[NETWORK_SYNC_TRADE_RULES]); } network_success(true); }
function _xNetworkSitesAdd() { $v = Validator::Get(); $v->Register($_REQUEST['url'], VT_VALID_HTTP_URL, 'The Control Panel URL field must be a valid HTTP URL'); $v->Register($_REQUEST['username'], VT_NOT_EMPTY, 'The Username field is required'); $v->Register($_REQUEST['password'], VT_NOT_EMPTY, 'The Password field is required'); if (!$v->Validate()) { return JSON::Warning(array(JSON_KEY_MESSAGE => 'Network site could not be added; please fix the following items', JSON_KEY_WARNINGS => $v->GetErrors())); } $_REQUEST['domain'] = domain_from_url($_REQUEST['url']); $_REQUEST['url'] = preg_replace(array('~index.php$~i', '~(?<!/)$~'), array('', '/'), $_REQUEST['url']); require_once 'textdb.php'; if (string_is_empty($_REQUEST['category'])) { $_REQUEST['category'] = '-- NONE --'; } if (string_is_empty($_REQUEST['owner'])) { $_REQUEST['owner'] = '-- NONE --'; } $db = new NetworkDB(); $db->Add($_REQUEST); network_site_update_stored_values(); JSON::Success(array(JSON_KEY_MESSAGE => 'Network site has been successfully added', JSON_KEY_ROW => _xIncludeCapture('network-sites-tr.php', $_REQUEST), JSON_KEY_ITEM_TYPE => 'network-sites', JSON_KEY_DIALOG => _xIncludeCapture('network-sites-add.php'))); }