]> git.mxchange.org Git - friendica.git/blobdiff - mod/fbrowser.php
Merge pull request #8883 from annando/replace-getdetails
[friendica.git] / mod / fbrowser.php
index 3401359052fa29c39a4992e6c641740d87f35dc0..984747bcd8124b529281b90137e5e4c56f4d146a 100644 (file)
@@ -6,11 +6,11 @@
  */
 
 use Friendica\App;
-use Friendica\Core\L10n;
 use Friendica\Core\Renderer;
-use Friendica\Core\System;
 use Friendica\Database\DBA;
-use Friendica\Object\Image;
+use Friendica\DI;
+use Friendica\Util\Images;
+use Friendica\Util\Strings;
 
 /**
  * @param App $a
@@ -27,40 +27,38 @@ function fbrowser_content(App $a)
                exit();
        }
 
-       $template_file = "filebrowser.tpl";
-       $mode = "";
-       if (!empty($_GET['mode'])) {
-               $mode  = "?mode=".$_GET['mode'];
+       // Needed to match the correct template in a module that uses a different theme than the user/site/default
+       $theme = Strings::sanitizeFilePathItem($_GET['theme'] ?? null);
+       if ($theme && is_file("view/theme/$theme/config.php")) {
+               $a->setCurrentTheme($theme);
        }
 
+       $template_file = "filebrowser.tpl";
+
+       $o = '';
+
        switch ($a->argv[1]) {
                case "image":
-                       $path = [["", L10n::t("Photos")]];
+                       $path = ['' => DI::l10n()->t('Photos')];
                        $albums = false;
                        $sql_extra = "";
                        $sql_extra2 = " ORDER BY created DESC LIMIT 0, 10";
 
                        if ($a->argc==2) {
-                               $albums = q("SELECT distinct(`album`) AS `album` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s' ",
+                               $photos = q("SELECT distinct(`album`) AS `album` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s' ",
                                        intval(local_user()),
                                        DBA::escape('Contact Photos'),
-                                       DBA::escape(L10n::t('Contact Photos'))
+                                       DBA::escape(DI::l10n()->t('Contact Photos'))
                                );
 
-                               function _map_folder1($el)
-                               {
-                                       return [bin2hex($el['album']),$el['album']];
-                               };
-
-                               $albums = array_map("_map_folder1", $albums);
+                               $albums = array_column($photos, 'album');
                        }
 
-                       $album = "";
-                       if ($a->argc==3) {
-                               $album = hex2bin($a->argv[2]);
+                       if ($a->argc == 3) {
+                               $album = $a->argv[2];
                                $sql_extra = sprintf("AND `album` = '%s' ", DBA::escape($album));
                                $sql_extra2 = "";
-                               $path[]=[$a->argv[2], $album];
+                               $path[$album] = $album;
                        }
 
                        $r = q("SELECT `resource-id`, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`filename`) AS `filename`, ANY_VALUE(`type`) AS `type`,
@@ -69,13 +67,13 @@ function fbrowser_content(App $a)
                                        GROUP BY `resource-id` $sql_extra2",
                                intval(local_user()),
                                DBA::escape('Contact Photos'),
-                               DBA::escape(L10n::t('Contact Photos'))
+                               DBA::escape(DI::l10n()->t('Contact Photos'))
                        );
 
                        function _map_files1($rr)
                        {
-                               $a = \get_app();
-                               $types = Image::supportedTypes();
+                               $a = DI::app();
+                               $types = Images::supportedTypes();
                                $ext = $types[$rr['type']];
                                $filename_e = $rr['filename'];
 
@@ -89,9 +87,9 @@ function fbrowser_content(App $a)
                                }
 
                                return [
-                                       System::baseUrl() . '/photos/' . $a->user['nickname'] . '/image/' . $rr['resource-id'],
+                                       DI::baseUrl() . '/photos/' . $a->user['nickname'] . '/image/' . $rr['resource-id'],
                                        $filename_e,
-                                       System::baseUrl() . '/photo/' . $rr['resource-id'] . '-' . $scale . '.'. $ext
+                                       DI::baseUrl() . '/photo/' . $rr['resource-id'] . '-' . $scale . '.'. $ext
                                ];
                        }
                        $files = array_map("_map_files1", $r);
@@ -100,13 +98,12 @@ function fbrowser_content(App $a)
 
                        $o =  Renderer::replaceMacros($tpl, [
                                '$type'     => 'image',
-                               '$baseurl'  => System::baseUrl(),
                                '$path'     => $path,
                                '$folders'  => $albums,
                                '$files'    => $files,
-                               '$cancel'   => L10n::t('Cancel'),
+                               '$cancel'   => DI::l10n()->t('Cancel'),
                                '$nickname' => $a->user['nickname'],
-                               '$upload'   => L10n::t('Upload')
+                               '$upload'   => DI::l10n()->t('Upload')
                        ]);
 
                        break;
@@ -118,12 +115,11 @@ function fbrowser_content(App $a)
 
                                function _map_files2($rr)
                                {
-                                       $a = \get_app();
-                                       list($m1,$m2) = explode("/", $rr['filetype']);
+                                       list($m1, $m2) = explode("/", $rr['filetype']);
                                        $filetype = ( (file_exists("images/icons/$m1.png"))?$m1:"zip");
                                        $filename_e = $rr['filename'];
 
-                                       return [System::baseUrl() . '/attach/' . $rr['id'], $filename_e, System::baseUrl() . '/images/icons/16/' . $filetype . '.png'];
+                                       return [DI::baseUrl() . '/attach/' . $rr['id'], $filename_e, DI::baseUrl() . '/images/icons/16/' . $filetype . '.png'];
                                }
                                $files = array_map("_map_files2", $files);
 
@@ -131,13 +127,12 @@ function fbrowser_content(App $a)
                                $tpl = Renderer::getMarkupTemplate($template_file);
                                $o = Renderer::replaceMacros($tpl, [
                                        '$type'     => 'file',
-                                       '$baseurl'  => System::baseUrl(),
-                                       '$path'     => [ [ "", L10n::t("Files")] ],
+                                       '$path'     => [ [ "", DI::l10n()->t("Files")] ],
                                        '$folders'  => false,
                                        '$files'    => $files,
-                                       '$cancel'   => L10n::t('Cancel'),
+                                       '$cancel'   => DI::l10n()->t('Cancel'),
                                        '$nickname' => $a->user['nickname'],
-                                       '$upload'   => L10n::t('Upload')
+                                       '$upload'   => DI::l10n()->t('Upload')
                                ]);
                        }