Add new TemplateEngine->testInstall method
- Add admin summary template engine error messages
This commit is contained in:
parent
c6ba92c43d
commit
346f99b877
3 changed files with 26 additions and 1 deletions
|
@ -31,7 +31,9 @@ use Friendica\Database\DBStructure;
|
|||
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;
|
||||
|
@ -46,6 +48,14 @@ class Summary extends BaseAdmin
|
|||
|
||||
// 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');
|
||||
}
|
||||
|
@ -136,7 +146,6 @@ class Summary extends BaseAdmin
|
|||
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());
|
||||
}
|
||||
|
|
|
@ -53,6 +53,14 @@ final class FriendicaSmartyEngine extends TemplateEngine
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function testInstall(array &$errors = null)
|
||||
{
|
||||
$this->smarty->testInstall($errors);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
|
|
|
@ -40,6 +40,14 @@ abstract class TemplateEngine
|
|||
*/
|
||||
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
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue