]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Debug/Babel.php
Issue 9743: Added translatable texts
[friendica.git] / src / Module / Debug / Babel.php
index 5b89c530167f091595646d8fbbc7c67ee7c21a97..322b742fbe475d61dae68aa86505ff4a1c1cfc8c 100644 (file)
@@ -24,13 +24,10 @@ namespace Friendica\Module\Debug;
 use Friendica\BaseModule;
 use Friendica\Content\PageInfo;
 use Friendica\Content\Text;
-use Friendica\Core\Protocol;
 use Friendica\Core\Renderer;
 use Friendica\DI;
-use Friendica\Model\Conversation;
 use Friendica\Model\Item;
 use Friendica\Protocol\Activity;
-use Friendica\Model\Tag;
 use Friendica\Util\XML;
 
 /**
@@ -49,7 +46,7 @@ class Babel extends BaseModule
                if (!empty($_REQUEST['text'])) {
                        switch (($_REQUEST['type'] ?? '') ?: 'bbcode') {
                                case 'bbcode':
-                                       $bbcode = trim($_REQUEST['text']);
+                                       $bbcode = $_REQUEST['text'];
                                        $results[] = [
                                                'title'   => DI::l10n()->t('Source input'),
                                                'content' => visible_whitespace($bbcode)
@@ -67,6 +64,11 @@ class Babel extends BaseModule
                                                'content' => visible_whitespace($html)
                                        ];
 
+                                       $results[] = [
+                                               'title'   => DI::l10n()->t('BBCode::convert (hex)'),
+                                               'content' => visible_whitespace(bin2hex($html)),
+                                       ];
+
                                        $results[] = [
                                                'title'   => DI::l10n()->t('BBCode::convert'),
                                                'content' => $html
@@ -178,6 +180,25 @@ class Babel extends BaseModule
                                                'content' => $html
                                        ];
 
+                                       $config = \HTMLPurifier_Config::createDefault();
+                                       $HTMLPurifier = new \HTMLPurifier($config);
+                                       $purified = $HTMLPurifier->purify($html);
+
+                                       $results[] = [
+                                               'title'   => DI::l10n()->t('HTML Purified (raw)'),
+                                               'content' => visible_whitespace($purified),
+                                       ];
+
+                                       $results[] = [
+                                               'title'   => DI::l10n()->t('HTML Purified (hex)'),
+                                               'content' => visible_whitespace(bin2hex($purified)),
+                                       ];
+
+                                       $results[] = [
+                                               'title'   => DI::l10n()->t('HTML Purified'),
+                                               'content' => $purified,
+                                       ];
+
                                        $bbcode = Text\HTML::toBBCode($html);
                                        $results[] = [
                                                'title'   => DI::l10n()->t('HTML::toBBCode'),
@@ -222,29 +243,34 @@ class Babel extends BaseModule
                                case 'twitter':
                                        $json = trim($_REQUEST['text']);
 
-                                       $status = json_decode($json);
+                                       if (file_exists('addon/twitter/twitter.php')) {
+                                               require_once 'addon/twitter/twitter.php';
 
-                                       $results[] = [
-                                               'title'   => DI::l10n()->t('Decoded post'),
-                                               'content' => visible_whitespace(var_export($status, true)),
-                                       ];
+                                               if (parse_url($json) !== false) {
+                                                       preg_match('#^https?://(?:mobile\.|www\.)?twitter.com/[^/]+/status/(\d+).*#', $json, $matches);
+                                                       $status = twitter_statuses_show($matches[1]);
+                                               } else {
+                                                       $status = json_decode($json);
+                                               }
 
-                                       $postarray = [];
-                                       $postarray['object-type'] = Activity\ObjectType::NOTE;
+                                               $results[] = [
+                                                       'title'   => DI::l10n()->t('Decoded post'),
+                                                       'content' => visible_whitespace(var_export($status, true)),
+                                               ];
 
-                                       if (!empty($status->full_text)) {
-                                               $postarray['body'] = $status->full_text;
-                                       } else {
-                                               $postarray['body'] = $status->text;
-                                       }
+                                               $postarray = [];
+                                               $postarray['object-type'] = Activity\ObjectType::NOTE;
 
-                                       // When the post contains links then use the correct object type
-                                       if (count($status->entities->urls) > 0) {
-                                               $postarray['object-type'] = Activity\ObjectType::BOOKMARK;
-                                       }
+                                               if (!empty($status->full_text)) {
+                                                       $postarray['body'] = $status->full_text;
+                                               } else {
+                                                       $postarray['body'] = $status->text;
+                                               }
 
-                                       if (file_exists('addon/twitter/twitter.php')) {
-                                               require_once 'addon/twitter/twitter.php';
+                                               // When the post contains links then use the correct object type
+                                               if (count($status->entities->urls) > 0) {
+                                                       $postarray['object-type'] = Activity\ObjectType::BOOKMARK;
+                                               }
 
                                                $picture = \twitter_media_entities($status, $postarray);
 
@@ -277,14 +303,16 @@ class Babel extends BaseModule
 
                $tpl = Renderer::getMarkupTemplate('babel.tpl');
                $o = Renderer::replaceMacros($tpl, [
+                       '$title'         => DI::l10n()->t('Babel Diagnostic'),
                        '$text'          => ['text', DI::l10n()->t('Source text'), $_REQUEST['text'] ?? '', ''],
                        '$type_bbcode'   => ['type', DI::l10n()->t('BBCode'), 'bbcode', '', (($_REQUEST['type'] ?? '') ?: 'bbcode') == 'bbcode'],
                        '$type_diaspora' => ['type', DI::l10n()->t('Diaspora'), 'diaspora', '', (($_REQUEST['type'] ?? '') ?: 'bbcode') == 'diaspora'],
                        '$type_markdown' => ['type', DI::l10n()->t('Markdown'), 'markdown', '', (($_REQUEST['type'] ?? '') ?: 'bbcode') == 'markdown'],
                        '$type_html'     => ['type', DI::l10n()->t('HTML'), 'html', '', (($_REQUEST['type'] ?? '') ?: 'bbcode') == 'html'],
                        '$flag_twitter'  => file_exists('addon/twitter/twitter.php'),
-                       '$type_twitter'  => ['type', DI::l10n()->t('Twitter Source'), 'twitter', '', (($_REQUEST['type'] ?? '') ?: 'bbcode') == 'twitter'],
-                       '$results'       => $results
+                       '$type_twitter'  => ['type', DI::l10n()->t('Twitter Source / Tweet URL (requires API key)'), 'twitter', '', (($_REQUEST['type'] ?? '') ?: 'bbcode') == 'twitter'],
+                       '$results'       => $results,
+                       '$submit'        => DI::l10n()->t('Submit'),
                ]);
 
                return $o;