Prevent from saving a non-existing skin path in user prefs
| | |
| | | CHANGELOG RoundCube Webmail |
| | | =========================== |
| | | |
| | | - Prevent from saving a non-existing skin path in user prefs (#1486936) |
| | | - Improve handling of single-part messages with bogus BODYSTRUCTURE (#1486898) |
| | | - Fix path to SQL files when using pgsql/mysqli/sqlsrv drivers (#1486902) |
| | | - Fix upgrade script for SQLite (#1486903) |
| | |
| | | */ |
| | | public function set_skin($skin) |
| | | { |
| | | if (!empty($skin) && is_dir('skins/'.$skin) && is_readable('skins/'.$skin)) |
| | | $valid = false; |
| | | |
| | | if (!empty($skin) && is_dir('skins/'.$skin) && is_readable('skins/'.$skin)) { |
| | | $skin_path = 'skins/'.$skin; |
| | | else |
| | | $valid = true; |
| | | } |
| | | else { |
| | | $skin_path = $this->config['skin_path'] ? $this->config['skin_path'] : 'skins/default'; |
| | | $valid = !$skin; |
| | | } |
| | | |
| | | $this->app->config->set('skin_path', $skin_path); |
| | | $this->config['skin_path'] = $skin_path; |
| | | |
| | | return $valid; |
| | | } |
| | | |
| | | /** |
| | |
| | | if (empty($MESSAGE->headers)) { |
| | | rcmail_message_error($uid); |
| | | } |
| | | |
| | | sleep(5); |
| | | send_nocacheing_headers(); |
| | | |
| | | $mbox_name = $IMAP->get_mailbox_name(); |
| | |
| | | $OUTPUT->command('reload', 500); |
| | | } |
| | | |
| | | // switch skin |
| | | $OUTPUT->set_skin($a_user_prefs['skin']); |
| | | // switch skin (if valid, otherwise unset the pref and fall back to default) |
| | | if (!$OUTPUT->set_skin($a_user_prefs['skin'])) |
| | | unset($a_user_prefs['skin']); |
| | | |
| | | // force min size |
| | | if ($a_user_prefs['pagesize'] < 1) |