ソースを参照

fix #48: filter acls/visibility property

George S. Baugh 5 年 前
コミット
e1af3cd0d0
3 ファイル変更8 行追加4 行削除
  1. 7 1
      lib/Trog/Routes/HTML.pm
  2. 0 2
      www/templates/acls.tx
  3. 1 1
      www/templates/tags.tx

+ 7 - 1
lib/Trog/Routes/HTML.pm

@@ -450,11 +450,17 @@ sub post ($query, $render_cb) {
         $app = 'audio' if $query->{route} =~ m/audio$/;
     }
 
+    #Filter displaying acl/visibility tags
+    my @visibuddies = qw{public unlisted private};
+    foreach my $post (@$posts) {
+        @{$post->{tags}} = grep { my $tag = $_; !grep { $tag eq $_ } (@visibuddies, map { $_->{aclname} } @$acls ) } @{$post->{tags}};
+    }
+
     return $render_cb->('post.tx', {
         title       => 'New Post',
         to          => $query->{to},
         failure     => $query->{failure} // -1,
-        post_visibilities => ['public', 'private', 'unlisted'],
+        post_visibilities => \@visibuddies,
         stylesheets => $css,
         scripts     => $js,
         posts       => $posts,

+ 0 - 2
www/templates/acls.tx

@@ -8,9 +8,7 @@ Visibility<br />
     ACLs / Series<br/ >
     <select multiple class="cooltext" name="acls">
         : for $acls -> $acl {
-            : if ($acl.aclname != 'public' && $acl.aclname != 'private' && $acl.aclname != 'unlisted') {
             <option value="<: $acl.aclname :>"><: $acl.data :></option>
-            : }
         : }
     </select>
 </div>

+ 1 - 1
www/templates/tags.tx

@@ -1,6 +1,6 @@
 Tags:<br />
 <select class="cooltext" multiple name="tags">
     : for $post.tags -> $tag {
-    <option value="<: $tag :>" selected><: $tag :></option>
+        <option value="<: $tag :>" selected><: $tag :></option>
     : }
 </select>