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\DI;
|
||||||
use Friendica\Model\Register;
|
use Friendica\Model\Register;
|
||||||
use Friendica\Module\BaseAdmin;
|
use Friendica\Module\BaseAdmin;
|
||||||
|
use Friendica\Module\Update\Profile;
|
||||||
use Friendica\Network\HTTPException\InternalServerErrorException;
|
use Friendica\Network\HTTPException\InternalServerErrorException;
|
||||||
|
use Friendica\Render\FriendicaSmarty;
|
||||||
use Friendica\Util\ConfigFileLoader;
|
use Friendica\Util\ConfigFileLoader;
|
||||||
use Friendica\Util\DateTimeFormat;
|
use Friendica\Util\DateTimeFormat;
|
||||||
use Friendica\Util\Network;
|
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
|
// are there MyISAM tables in the DB? If so, trigger a warning message
|
||||||
$warningtext = [];
|
$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()])) {
|
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');
|
$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.');
|
throw new InternalServerErrorException('Stream is null.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Throwable $exception) {
|
} catch (\Throwable $exception) {
|
||||||
$warningtext[] = DI::l10n()->t('The debug logfile \'%s\' is not usable. No logging possible (error: \'%s\')', $file, $exception->getMessage());
|
$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
|
* @inheritDoc
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -40,6 +40,14 @@ abstract class TemplateEngine
|
||||||
*/
|
*/
|
||||||
abstract public function __construct(string $theme, array $theme_info);
|
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
|
* Returns the rendered template output from the template string and variables
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue