I don't see any inconsistencies in >>341 except for the rounded corners.
If you want to have a look at what the code actually does to dig out flaws, here is the current version:
sub sanitize_html($%)
{
my ($html,%tags)=@_;
my (@stack,$clean);
my $entity_re=qr/&(?!\#[0-9]+;|\#x[0-9a-fA-F]+;|amp;)/;
while($html=~/(?:([^<]+)|<([^<>]*)>?)/g)
{
my ($text,$tag)=($1,$2);
if($text)
{
$text=~s/$entity_re/&/g;
$text=~s/>/>/g;
$clean.=$text;
}
else
{
if($tag=~m!^\s*(/?)\s*([a-z0-9_:\-\.]+)(?:\s+(.*?)|)\s*(/?)\s*$!si)
{
my ($closing,$name,$args,$implicit)=($1,lc($2),$3,$4);
if($tags{$name})
{
if($closing)
{
if(grep { $_ eq $name } @stack)
{
my $entry;
do {
$entry=pop @stack;
$clean.="</$entry>";
} until $entry eq $name;
}
}
else
{
my %args;
$args=~s/\s/ /sg;
while($args=~/([a-z0-9_:\-\.]+)(?:\s*=\s*(?:'([^']*?)'|"([^"]*?)"|['"]?([^'" ]*))|)/gi)
{
my ($arg,$value)=(lc($1),defined($2)?$2:defined($3)?$3:$4);
$value=$arg unless defined($value);
my $type=$tags{$name}{args}{$arg};
if($type)
{
my $passes=1;
if($type=~/url/i) { $passes=0 unless $value=~/(?:^$protocol_re:|^[^:]+$)/ }
if($type=~/number/i) { $passes=0 unless $value=~/^[0-9]+$/ }
if($passes)
{
$value=~s/$entity_re/&/g;
if($value=~/"/) { $value="'$value'" }
else { $value="\"$value\"" }
$args{$arg}=$value;
}
}
}
my $cleanargs=join " ",map { "$_=$args{$_}" } keys %args;
$implicit="/" if($tags{$name}{empty});
push @stack,$name unless $implicit;
$clean.="<$name";
$clean.=" $cleanargs" if $cleanargs;
$clean.=" $implicit" if $implicit;
$clean.=">";
}
}
}
}
}
my $entry;
while($entry=pop @stack) { $clean.="</$entry>" }
return $clean;
}> More information on the all threads page [...] file size?
If (optional) closing on filesize should be implemented, this would probably be a good idea.
http://wakaba.c3.cx/sup/kareha.pl/1099697376/101-101
(First "Next 100" link) does not include >>1 in that thread
There's also some weird bug where the entire browser windowd content goes black, dunno what that is about...
>>69
The sage seems a bit off...
>>275
Heh, I thought you had disabled it manually.
>The File field is almost never there.
Right, and when it isn't, the Formatting menu can still reside on the same line.
The error page in mode_message should more closely resemble that of 0ch (complete with "ERROR!" title).
> Red, bold thread filesizes displayed near the bottom of subpages?
I support this, especially if thread-closing by filesize should be implemented.
Weird, ¦ now stays ¦.
Testing #¦ now.
> You don't see the link to the WakabaMark page either?
Nope... ?
> There's just a tiny little link there to let people do this. Is this really a such a huge bother to deal with? It's two words.
It's a link, it screams "Click me!". Most people don't need it most of the time, still it'll be there all of the time. How about style:none or something?
And sorry for being annoying. Strong opinions and all, no offense.
I had a number of good old threads from this board bookmarked so I could read them later and wrap my head around their ideas, but then I lost them all in a hard drive crash (strike two, Western Digital!). I also had a number of Japanese BBS's linked from this board bookmarked so I could take a look at their software's functionality and get some other ideas.
Anyway, these are all non-template suggestions:
I also have an early idea swimming around in my head about only bumping threads a few positions up, instead of to the top. Another idea is actively bumping threads down, either by a few positions or to the bottom. I'm not exactly sure yet what good it'd be for.
Also...
>* I'll add thread closing to Kareha, but I was thinking of setting the default behaviour to never permasage or close threads.
I think this is ideal for the time, until we have enough statistical data to derive thorough auto-permasage and auto-delete/archive algorithms. Just add the functionality for mods to manually set these statuses, but remove the "permasage at 1000" behavior.
The standalone thumbnailer project is a great idea too. As a suggestion, how about adding functionality to also read and thumbnail document files like TXT, PDF, and DOC?
Plus if you were to allow those tags in HTML, you should do the same for WakabaMark (which actually takes its cue from Markdown, so I don't see why it has a different name).
> Pruning set to furthest-back instead of oldest.
I don't like this one. You just have to continually age a topic (until it hits the permasage treshold) in order for it so survive a long time. Normal users might have good reason to ignore simply it, though...
> Size limit instead of post number limit, maybe?
Sounds good.
> I was thinking of setting the default behaviour to never permasage or close threads.
I guess I don't have a strong opinion on this one. As long as the values will be customizable, I don't really care, I suppose.
Also: I just noticed that "¦" in tripcodes will work correctly but turn into "�U" through the cookie on /soc/ but not on the sandbox.
> Wait, why should l50 links be indexed/cached?
Because the only way for the search engine to find the old threads is to go through the l50 links. I'm taking the advice of >>322 though.
> The CSS in the All threads page is unsightly. Is there a way to properly wrap the outer color border(s) around the table of threads?
You need to explain what you're talking about before I can do anything about that. What style, and what does "wrap the outer color border(s) around" mean?
> I still say that the "Navigation: " text is extraneous when people can clearly see what the links do. Also still partitioning for 0ch-style error pages (with displayed user host and all).
It's there because freefloating unlabelled links look weird.
> Now that we do have filesize indicators in the backlog page of mode_message, do you still find it useless to have the red bold filesizes near the bottom of thread subpages?
They're there, but only if you enable pruning by size.
> Does mode_message now work in PAGE_GENERATION => 'paged'?
No. I'm too lazy to figure what that's supposed to do, and I don't think anybody actually wants to use that in the first place.
> Idea: forced anonymous/sage/ID/fusianasan by IP/thread/board/whole site (some of these combinations already exist, I know)?
There's no database to keep IP data in, and I'd prefer to keep the script completely agnostic to IP addresses.
> Finally, I imagine that the permasage/close/delete functions in kareha.pl will be easily interchangeable among the conditions in post_stuff(). Can you confirm this?
No, because I don't know what you mean.
Random post: The test thread could use some linking in the notes at the bottom (what's the common nomenclature for that one?).
Put the Entire thread link on the top of the thread, not the bottom.
> 3) A specific string for ID:Heaven instead of anything in the email field
Isn't that already an option in the config?
> 5) Seperation of sage et al from the email field to something else...
Strong oppose! I am of the (strong! lol) opinion that the current situation is the one working the best and also that it is widely accepted on almost all similiar board scripts (save for Shiichan and one obscure Japanese discussion board script that I once stumbled upon).
Previous discussion of this can be found here:
http://wakaba.c3.cx/sup/kareha.pl/1102984488/
> I'd like to have the interface reduced to what is absolutely neccessary
That's why there is a "More options..." link, instead of putting the controls there on every single thread everywhere.
> change the no-ID-on-email option to no-ID-on-sage
> multi-page links (1-, 101-, 201-, etc) at the top of subpages
Already implemented.
> config.pl parameter to permasage after a certain thread filesize/total number of characters has been reached
Isn't this essentially the same as saying "Please don't talk so much?"
> no EMAIL_ID parameter (most if not everyone uses "Heaven" anyway, and if they really want to change it they can easily find the string in kareha.pl)
The choice of this string is so weird and arbitary, I feel better keeping it as an option so that I can disclaim responsibility!
> better configuration of date and time (with optional timezone offsets), parsing certain characters for individual elements (ie, yyyy/MM/dd(D) hh:mm:ss -5:00:00) and also accepting numerical inputs for fixed dates and times (Eternal September)
> red, bold thread filesize indicator near the bottom of subpages
Pretty useless. I'd rather not waste work and code on something that has no actual use. (Timezone offsets would be useful, but this is such an incredibly hairy issue to get right, I don't want to even try. Just handling Daylight Savings Time would make my head explode, and I can't just leave it out, because then either the admin has to keep changing the offset, or the time will be wrong half the year anyway.)
> non-bolded post numbers
> colons before dates
> colons before names (thread subpages only)
what
The "Entire thread" link in the top navigation bar of the thread page is still broken.
The one with encoded Javascript that makes you post with fusianasan is cute.
testing #`¦
So, does that mean you approve of removing the style selector on subpages? I just woke up and I'm confused.
Anyway, Safari doesn't, as far as I know, let you pick stylesheets. And IE obviously doesn't. Also, not even Firefox will actually remember your choice, making the ability completely useless anyway, unless coupled with Javascript on the page to save the setting.
> The Futaba template is missing the "No File" checkbox next to the File field in the Post New Thread area.
That's because Kareha has no "No File" check in the first place, and I'm not sure I want to add code just for that (since it'd have to be optional anyway).