Also, I'd like to ask exactly how Kareha does automatically generates deletion passwords. I'm guessing it's similar if not identical to how it creates ID session codes with a user's IP.
Congratulations to 82.94.251.206!
So the subject line will look like this:
[username]<><>[unix timestamp from now]<>[content of comment box]<> <>[IP]
I can't reproduce this on Firefox 1.0.4 nor Safari on the Mac, but that ancient Firebird had a similar problem (but even worse).
Anyone else? Try post with a | in your name.
And maybe this: http://wakaba.c3.cx/sup/kareha.pl/1126586277/5
testing #`¦
I don't see any inconsistencies in >>341 except for the rounded corners.
> multi-page links (1-, 101-, 201-, etc) at the top of subpages
This is just implemented on some 0ch types. 2channel doesn't use it (at least on no board that I know of).
Gah, I am totally confused about what to do about the admin interface. Separate script? Built-in? Javascript? How do I display the data? I have no idea!
>>116
Good question! I tried to find out myself but just found some interesting but rather unhelpful links:
http://d.hatena.ne.jp/keyword/fusianasan
http://info.2ch.net/guide/faq.html#G5
http://ansitu.xrea.jp/guidance/?FAQ1
Okay then, for starters, how about the closing message to exactly look like a post (although it's sad it won't be accesable with >>1001)?
> how about having a third party create extensions for those browsers and freeing up the real estate on the actual page?
What's with this obsession on removing the CSS options? It's a single line, and some of us find it useful.
Real estate? Scroll down.
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;
}> What about a(n) (optional) preview page?
I've been considering that, but it's a goddamn pain to implement. It'd be pretty useful, though. Also, it could include the spell checker someone requested way back at the beginning of time.
> some other trickery
I smell JavaScript coming in about >>90-120
Hmmm, I just noticed you still allow <a> tags, which would let posters use inline links. Are you gonna keep that?
I notice some weirdness with the CSS changes sometimes. For example, the first post on a -100 page will sometimes have the first character of the post enlarged. >>2 looks something like
\
/>2 until it is mouse-overed or you change the CSS, but then it goes back to large again on refresh. Also can happen with lowercase letters. Some of the field labels also change size from refreshing in a certain CSS versus just switching to it.
>It's all a design & layout question. I'd like to have the interface reduced to what is absolutely neccessary, esp. since I do not think many people really want to even bother or bother very often with the whole markup question.
Why have a name field or link field? For the majority of posts they are not used, or only used for sage. As stated earlier, they are not even needed for the bare minimum of usage. You want to prove it is you posting? Use a gpg signature or something and a third-party extension, it is just fluff that is not needed at all!
I'm all for having a system that is easy to modify to the end-user's wants and needs. However, there are going to be plenty of users that are not hardcore enough to make or use such options. Therefore, the normal functionality should be pretty usable.
People seem to pop-up whenever something that would change the interface to shout it down. They seem to fear any change and normally give no reason other than it would clutter things up or some nonsense. Does the CSS selector -really- get in your way? It is probably a whole ten pixels! Is having the More options thing really ruining your experience, or are you just against it on some principle? Personally, I would move it below the comment text-area or something, as now the tab amounts between the main fields has changed.
Also, wouldn't making capcodes even more prevalent be considered A Bad Thing®? If anything, the role of capcodes should be minimized or altogether eradicated, in favor of ninja moderation.
Another question: would FUDGE_BLOCKQUOTES be considered deprecated by now, or are there still CSS styles out there that require it?
>>63
Nevermind, the issues seem to have resolved themselves within the hour of the new version being uploaded.
More stuff:
To more closely resemble the 2ch look, how about prefixing thread title headers in the main board page with a 【position:postcount】thingie?
And as suggested before, the navigation links on the bottom of individual thread pages should include "Previous 100" (ie, all posts before the first post in the URL) and "Next 100" (ie, all posts after the last post in the URL). Of course, this could get screwy if you're using reverse order and out-of-order posts in the URL, so I dunno how well it could be implemented.
The "First 100" link should also be removed from the bottom of individual thread pages, and there should be a link to to thread-list included below the reply box of each previewed thread on the front page.
Bonus:
Change "Del" links to widget buttons.
In order for the CSS selector not to take over the entire header, how about turning it into a drop-down menu? The same could be done with the Admin functions (appearing only after one correctly inputs the password), placing it on the right side of the board and thread title headers (this would also allow admins the convenience of deleting and permasaging threads from the front-page).
and would something like this work (given that all boards share the same root directory)?
>>>>sup/1129153864/1-100
>>>1129153864/1-100
P.S. When you mentioned serving dynamic pages in >>46, were you referring to individual thread pages? As I mentioned before, it'd be nice to make the front page as dynamic and flexible as thread pages when it comes to viewing options (via PATH_INFO).
I was browsing through some old threads and now they're all gone. :(
> Red, bold thread filesizes displayed near the bottom of subpages?
I support this, especially if thread-closing by filesize should be implemented.
Too late! Already released!