*/ require_once('include/photo_factory.php'); class Fbrowser extends Controller { public function get() { if (!local_channel()) { killme(); } if (App::$argc == 1) { killme(); } //echo "
"; var_dump(\App::$argv); killme();

        switch (App::$argv[1]) {
            case "image":
                $path = [[z_root() . "/fbrowser/image/", t("Photos")]];
                $albums = false;
                $sql_extra = "";
                $sql_extra2 = " ORDER BY created DESC LIMIT 0, 10";

                if (App::$argc == 2) {
                    $albums = q(
                        "SELECT distinct(album) AS album FROM photo WHERE uid = %d ",
                        intval(local_channel())
                    );
                    // anon functions only from 5.3.0... meglio tardi che mai..
                    $albums = array_map("self::folder1", $albums);
                }

                $album = "";
                if (App::$argc == 3) {
                    $album = hex2bin(App::$argv[2]);
                    $sql_extra = sprintf("AND album = '%s' ", dbesc($album));
                    $sql_extra2 = "";
                    $path[] = [z_root() . "/fbrowser/image/" . App::$argv[2] . "/", $album];
                }

                $r = q(
                    "SELECT resource_id, id, filename, type, min(imgscale) AS hiq,max(imgscale) AS loq, description  
						FROM photo WHERE uid = %d $sql_extra
						GROUP BY resource_id $sql_extra2",
                    intval(local_channel())
                );

                $files = array_map("self::files1", $r);

                $tpl = Theme::get_template("filebrowser.tpl");
                echo replace_macros($tpl, [
                    '$type' => 'image',
                    '$baseurl' => z_root(),
                    '$path' => $path,
                    '$folders' => $albums,
                    '$files' => $files,
                    '$cancel' => t('Cancel'),
                ]);


                break;
            case "file":
                if (App::$argc == 2) {
                    $files = q(
                        "SELECT id, filename, filetype FROM attach WHERE uid = %d ",
                        intval(local_channel())
                    );

                    $files = array_map("self::files2", $files);
                    //echo "
"; var_dump($files); killme();


                    $tpl = Theme::get_template("filebrowser.tpl");
                    echo replace_macros($tpl, [
                        '$type' => 'file',
                        '$baseurl' => z_root(),
                        '$path' => [[z_root() . "/fbrowser/image/", t("Files")]],
                        '$folders' => false,
                        '$files' => $files,
                        '$cancel' => t('Cancel'),
                    ]);
                }

                break;
        }


        killme();
    }

    private static function folder1($el)
    {
        return [bin2hex($el['album']), $el['album']];
    }


    private static function files1($rr)
    {

        $ph = photo_factory('');
        $types = $ph->supportedTypes();
        $ext = $types[$rr['type']];

        $filename_e = $rr['filename'];

        return [
            z_root() . '/photo/' . $rr['resource_id'] . '-' . $rr['hiq'] . '.' . $ext,
            $filename_e,
            z_root() . '/photo/' . $rr['resource_id'] . '-' . $rr['loq'] . '.' . $ext
        ];
    }

    private static function files2($rr)
    {
        list($m1, $m2) = explode("/", $rr['filetype']);
        $filetype = ((file_exists("images/icons/$m1.png")) ? $m1 : "zip");

        if (App::get_template_engine() === 'internal') {
            $filename_e = template_escape($rr['filename']);
        } else {
            $filename_e = $rr['filename'];
        }

        return [z_root() . '/attach/' . $rr['id'], $filename_e, z_root() . '/images/icons/16/' . $filetype . '.png'];
    }
}