+++ /dev/null
-<?php
-
-use Friendica\App;
-use Friendica\Core\Theme;
-
-function pretheme_init(App $a) {
-
- if ($_REQUEST['theme']) {
- $theme = $_REQUEST['theme'];
- $info = Theme::getInfo($theme);
- if ($info) {
- // unfortunately there will be no translation for this string
- $desc = $info['description'];
- $version = $info['version'];
- $credits = $info['credits'];
- } else {
- $desc = '';
- $version = '';
- $credits = '';
- }
- echo json_encode(['img' => Theme::getScreenshot($theme), 'desc' => $desc, 'version' => $version, 'credits' => $credits]);
- }
-
- exit();
-}
$collector->addRoute(['GET'], '/{type}/{name}', Module\Photo::class);
$collector->addRoute(['GET'], '/{type}/{customize}/{name}', Module\Photo::class);
});
+ $this->routeCollector->addRoute(['GET'], '/pretheme', Module\ThemeDetails::class);
$this->routeCollector->addGroup('/profile', function (RouteCollector $collector) {
$collector->addRoute(['GET'], '/{nickname}', Module\Profile::class);
$collector->addRoute(['GET'], '/{profile:\d+}/view', Module\Profile::class);
--- /dev/null
+<?php
+
+namespace Friendica\Module;
+
+use Friendica\BaseModule;
+use Friendica\Core\Theme;
+
+/**
+ * Prints theme specific details as a JSON string
+ */
+class ThemeDetails extends BaseModule
+{
+ public static function rawContent()
+ {
+ if (!empty($_REQUEST['theme'])) {
+ $theme = $_REQUEST['theme'];
+ $info = Theme::getInfo($theme);
+
+ // Unfortunately there will be no translation for this string
+ $description = defaults($info, 'description', '');
+ $version = defaults($info, 'version' , '');
+ $credits = defaults($info, 'credits' , '');
+
+ echo json_encode([
+ 'img' => Theme::getScreenshot($theme),
+ 'desc' => $description,
+ 'version' => $version,
+ 'credits' => $credits,
+ ]);
+ }
+ exit();
+ }
+}