getConnection()->exec('VACUUM'); Response\redirect('?action=config'); }); // Download the compressed database Router\get_action('download-db', function() { Response\force_download('db.sqlite.gz'); Response\binary(gzencode(file_get_contents(DB_FILENAME))); }); // Display preferences page Router\get_action('config', function() { Response\html(Template\layout('config', array( 'errors' => array(), 'values' => Model\Config\get_all(), 'db_size' => filesize(DB_FILENAME), 'languages' => Model\Config\get_languages(), 'timezones' => Model\Config\get_timezones(), 'autoflush_options' => Model\Config\get_autoflush_options(), 'paging_options' => Model\Config\get_paging_options(), 'theme_options' => Model\Config\get_themes(), 'sorting_options' => Model\Config\get_sorting_directions(), 'redirect_nothing_to_read_options' => Model\Config\get_nothing_to_read_redirections(), 'menu' => 'config', 'title' => t('Preferences') ))); }); // Update preferences Router\post_action('config', function() { $values = Request\values() + array('nocontent' => 0); list($valid, $errors) = Model\Config\validate_modification($values); if ($valid) { if (Model\Config\save($values)) { Session\flash(t('Your preferences are updated.')); } else { Session\flash_error(t('Unable to update your preferences.')); } Response\redirect('?action=config'); } Response\html(Template\layout('config', array( 'errors' => $errors, 'values' => Model\Config\get_all(), 'db_size' => filesize(DB_FILENAME), 'languages' => Model\Config\get_languages(), 'timezones' => Model\Config\get_timezones(), 'autoflush_options' => Model\Config\get_autoflush_options(), 'paging_options' => Model\Config\get_paging_options(), 'theme_options' => Model\Config\get_themes(), 'sorting_options' => Model\Config\get_sorting_directions(), 'redirect_nothing_to_read_options' => Model\Config\get_nothing_to_read_redirections(), 'menu' => 'config', 'title' => t('Preferences') ))); });