- if (!is_writable(__DIR__ . '/../../view/smarty3/')) {
- echo "<b>ERROR:</b> folder <tt>view/smarty3/</tt> must be writable by webserver.";
- exit();
+ $this->theme = $theme;
+ $this->theme_info = $theme_info;
+ $this->smarty = new FriendicaSmarty($this->theme, $this->theme_info);
+
+ if (!is_writable(DI::basePath() . '/view/smarty3')) {
+ $admin_message = DI::l10n()->t('The folder view/smarty3/ must be writable by webserver.');
+ DI::logger()->critical($admin_message);
+ $message = is_site_admin() ?
+ $admin_message :
+ DI::l10n()->t('Friendica can\'t display this page at the moment, please contact the administrator.');
+ throw new InternalServerErrorException($message);