}
    }
    if (is_array($errors)) {
        define("__SYM_MISSINGFIELDS__", true);
    } else {
        $settings['region']['dst'] = $settings['region']['dst'] ? 'yes' : 'no';
        $settings['symphony']['allow_workspace_synchronisation'] = $settings['symphony']['allow_workspace_synchronisation'] ? '1' : '0';
        if ($settings['region']['dst'] != $Admin->getConfigVar('dst', 'region') || $settings['region']['time_zone'] != $Admin->getConfigVar('time_zone', 'region')) {
            $repairEntries = true;
        }
        foreach ($settings as $set => $values) {
            foreach ($values as $key => $val) {
                $Admin->setConfigVar($key, $val, $set);
            }
        }
        if ($repairEntries) {
            require_once TOOLKIT . '/class.entrymanager.php';
            $em = new EntryManager($Admin);
            $em->repairEntryLocalPublishDates();
        }
        $Admin->saveConfig();
        if (!$errors) {
            $Admin->flush_cache("ALL");
            ###
            # Delegate: Save
            # Description: Saving of system preferences.
            $CampfireManager->notifyMembers('Save', CURRENTPAGE);
            General::redirect($Admin->getCurrentPageURL() . "&_f=saved");
        }
    }
}