use Friendica\DI;
use Friendica\Model\Register;
use Friendica\Module\BaseAdmin;
+use Friendica\Module\Update\Profile;
use Friendica\Network\HTTPException\InternalServerErrorException;
+use Friendica\Render\FriendicaSmarty;
use Friendica\Util\ConfigFileLoader;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Network;
// are there MyISAM tables in the DB? If so, trigger a warning message
$warningtext = [];
+
+ $templateEngine = Renderer::getTemplateEngine();
+ $errors = [];
+ $templateEngine->testInstall($errors);
+ foreach ($errors as $error) {
+ $warningtext[] = DI::l10n()->t('Template engine (%s) error: %s', $templateEngine::$name, $error);
+ }
+
if (DBA::count(['information_schema' => 'tables'], ['engine' => 'myisam', 'table_schema' => DBA::databaseName()])) {
$warningtext[] = DI::l10n()->t('Your DB still runs with MyISAM tables. You should change the engine type to InnoDB. As Friendica will use InnoDB only features in the future, you should change this! See <a href="%s">here</a> for a guide that may be helpful converting the table engines. You may also use the command <tt>php bin/console.php dbstructure toinnodb</tt> of your Friendica installation for an automatic conversion.<br />', 'https://dev.mysql.com/doc/refman/5.7/en/converting-tables-to-innodb.html');
}
throw new InternalServerErrorException('Stream is null.');
}
}
-
} catch (\Throwable $exception) {
$warningtext[] = DI::l10n()->t('The debug logfile \'%s\' is not usable. No logging possible (error: \'%s\')', $file, $exception->getMessage());
}
*/
abstract public function __construct(string $theme, array $theme_info);
+ /**
+ * Checks the template engine is correctly installed and configured and reports error messages in the provided
+ * parameter or displays them directly if it's null.
+ *
+ * @param array|null $errors
+ */
+ abstract public function testInstall(array &$errors = null);
+
/**
* Returns the rendered template output from the template string and variables
*