]> git.mxchange.org Git - friendica.git/blobdiff - mod/fbrowser.php
Merge remote-tracking branch 'upstream/develop' into 1607-performance
[friendica.git] / mod / fbrowser.php
index e7f4b76d48a585869caae6c68e4234baa027cdfe..110ca9585c9d2e5ff0e346aaf4ad4328afffadd7 100644 (file)
@@ -35,12 +35,14 @@ function fbrowser_content($a){
                        $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 ",
-                                       intval(local_user())
+                               $albums = q("SELECT distinct(`album`) AS `album` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s' ",
+                                       intval(local_user()),
+                                       dbesc('Contact Photos'),
+                                       dbesc( t('Contact Photos'))
                                );
-                               // anon functions only from 5.3.0... meglio tardi che mai..
-                               $folder1 = function($el) use ($mode) {return array(bin2hex($el['album']),$el['album']);};
-                               $albums = array_map( $folder1 , $albums);
+
+                               function _map_folder1($el){return array(bin2hex($el['album']),$el['album']);};
+                               $albums = array_map( "_map_folder1" , $albums);
 
                        }
 
@@ -53,12 +55,14 @@ function fbrowser_content($a){
                        }
 
                        $r = q("SELECT `resource-id`, `id`, `filename`, type, min(`scale`) AS `hiq`,max(`scale`) AS `loq`, `desc`
-                                       FROM `photo` WHERE `uid` = %d  $sql_extra
+                                       FROM `photo` WHERE `uid` = %d $sql_extra AND `album` != '%s' AND `album` != '%s'
                                        GROUP BY `resource-id` $sql_extra2",
-                               intval(local_user())
+                               intval(local_user()),
+                               dbesc('Contact Photos'),
+                               dbesc( t('Contact Photos'))
                        );
 
-                       function files1($rr){
+                       function _map_files1($rr){
                                global $a;
                                $types = Photo::supportedTypes();
                                $ext = $types[$rr['type']];
@@ -70,13 +74,21 @@ function fbrowser_content($a){
                                        $filename_e = $rr['filename'];
                                }
 
+                               // Take the largest picture that is smaller or equal 640 pixels
+                               $p = q("SELECT `scale` FROM `photo` WHERE `resource-id` = '%s' AND `height` <= 640 AND `width` <= 640 ORDER BY `resource-id`, `scale` LIMIT 1",
+                                       dbesc($rr['resource-id']));
+                               if ($p)
+                                       $scale = $p[0]["scale"];
+                               else
+                                       $scale = $rr['loq'];
+
                                return array(
-                                       $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '.' .$ext,
+                                       $a->get_baseurl() . '/photos/' . $a->user['nickname'] . '/image/' . $rr['resource-id'],
                                        $filename_e,
-                                       $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $rr['loq'] . '.'. $ext
+                                       $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $scale . '.'. $ext
                                );
                        }
-                       $files = array_map("files1", $r);
+                       $files = array_map("_map_files1", $r);
 
                        $tpl = get_markup_template($template_file);
 
@@ -94,11 +106,11 @@ function fbrowser_content($a){
                        break;
                case "file":
                        if ($a->argc==2){
-                               $files = q("SELECT id, filename, filetype FROM `attach` WHERE `uid` = %d ",
+                               $files = q("SELECT `id`, `filename`, `filetype` FROM `attach` WHERE `uid` = %d ",
                                        intval(local_user())
                                );
 
-                               function files2($rr){ global $a;
+                               function _map_files2($rr){ global $a;
                                        list($m1,$m2) = explode("/",$rr['filetype']);
                                        $filetype = ( (file_exists("images/icons/$m1.png"))?$m1:"zip");
 
@@ -111,8 +123,7 @@ function fbrowser_content($a){
 
                                        return array( $a->get_baseurl() . '/attach/' . $rr['id'], $filename_e, $a->get_baseurl() . '/images/icons/16/' . $filetype . '.png');
                                }
-                               $files = array_map("files2", $files);
-                               //echo "<pre>"; var_dump($files); killme();
+                               $files = array_map("_map_files2", $files);
 
 
                                $tpl = get_markup_template($template_file);