Yup, I rolled my own. I actually started work on this quite a while ago, but I put it aside for weeks at a time more than once, and it has also gone through one and a half complete rewrites. It makes a number of changes (improvements, in my opinion) from standard Futaba-inspired "rules," such as the email field, image files renamed by timecode, using Shift JIS (instead of Unicode), and the one-image-per-post rule, so that probably means that a lot of people won't like it. But oh well.
Please play with it, break it (but not so much my host gets pissed at me), whatever... Let me know what you think. I think at this moment it's "feature locked," as in I don't want to add any new features between now and the first public code release ('cept maybe sage-ing, which is already halfway implemented), merely squash bugs and oddities.
What you see here is its default skin. I actually posted some screenshots of it in http://nub.iichan.net/b/res/10314.html a couple of days ago, just to see folks' reaction... there wasn't one. (I was expecting a "WHAT IN HADES' NAME ARE YOU DOING, HEATHEN" flaming... mebbe I've overestimated the conservative temperaments of image board freaks.) I have also hobbled together a Futaba-ish skin basically by converting Wakaba's own futaba_style.pl; I'll take some screenshots and put 'em up in that thread.
Hmm, some first impressions on the interface:
Also, the timestamp filenames serve some quite important purposes for some people. If you download lots of image from an image board, the timestamps make a archiving and searching a lot easier. Also also, hardly any boards use Shift_JIS, except for this one and Japanese ones.
Also you'll want to consider supporting traditional 0ch tripcodes. They're not secure, but they are universal, and that counts for a lot.
I don't want to reply to all of your stuff right now (some stuff I see your point, some I disagree with), mainly because I want to see what others have to say as well, but I will touch on these two things:
One: The pages aren't always dynamically built. The site uses the Smarty templating engine http://smarty.php.net , which has a pretty serious caching system built in. So while it does run a PHP script for every page hit, most of the time all the script will be doing is saying "Hmm, has this page been cached already? Yes? Then here's the page. Ta!" Even when it does have to build a page, Smarty pre-parses and "compiles" all the templates into a PHP script, so it only ever has to parse the template once (unless you flush the cache, which should in theory delete the compiled templates too but that seems to be buggy at the moment, or you have what I call "Template Testing Mode" on).
Two: You think my captcha's easy to OCR? Potkettleblack, brotha. :P http://sam.zoy.org/pwntcha/ (scroll down to "Pichan." I tried emailing the guy correcting him about that, but he seems to have ignored me.) Anyway, I will admit to sacrificing hackability for code efficiency (it just uses PHP's built-in fonts, for example); even as it is, I think the captcha code could stand to be simplified a bit.
The overhead doesn't come from building the template (unless you use a REALLY bad templating engine) - the real overhead is hitting the database over and over again. The templating code only gets to work after you've hit the database, so no amount of caching in there will save you. It's up to you to be smart and avoid database hits.
Also, I notice he lists the captcha under those not broken. He may think it is "apparently weak", but it is also running on with some fairly easy settings. It can easily have the distortion turned up as needed.
But the script doesn't touch the database unless the page isn't cached... Why would it?
Let me try explaining it this way:
IF YES:
3. The cached copy is fed to the user, and the script quits. Period. The database may as well be in the eighth dimension of the Crab Nebula, for all the script cares.
IF NO:
3. The script loads the required compiled template. (The template is able to define, to a certain extent, what data it receives from the database and how that data is formed, so we load it first.)
4. The script connects to the database and queries it for the requested information.
5. The illegitimate child of the passionate lovemaking between the data and the template is passed on to the user.
6. The page is also written to disk so that the next time the page is requested, the database hit and the template magic won't be necessary next time. The script quits.
Come on, dude. I can't pretend to be any Enlightened Ascendant of code-slinging, but at least give me the benefit of the doubt...
All right, if the caching is non-transparent, then you can arrange things that way, that is true. I was thinking the templating library would do its own cache handling internally, which wouldn't be as useful.
You'll need to manually invalidate caches when somebody posts, right?
>. It makes a number of changes (improvements, in my opinion) from standard Futaba-inspired "rules," so that probably means that a lot of people won't like it. But oh well.
You're such a rebel
I posted an image with the filename "../<b>imagename'.jpg" and it removed the entire name instead of just sanitizing it :(
Also, your tripcode system is kind of weak. I shouldn't be able to pick one off the top of my head ("dongs") that looks so much like yours.
D'oh. It looks like every trip pass results in a code that starts with "kK1". Looks like that needs tweaking.
Oops, had to take the database down for a bit. I'll try to get things back up and running within twelve hours.
What kind of algorithm are you using for the tripcodes?
One with glaring problems, now that I take another look at it. I'm don't wanna post it because it's embarrassing. Probably something I wrote at 5:00 AM some night when I couldn't sleep or something.
(Site's back up now, BTW. Actually, I didn't need to take it down as I thought I would.)
I actually liked the look of thorn. Just needs polishing.
Category nesting in one installation = win
ZOMG UPD8
I want to at least finish those last two bullets before I release. Until then, please continue to play with the board:
> In regards to VacBob's shenanegans, files that have a "/" in the name, or a "." as the first character, are now ignored.
This sounds shaky. You will need to do AT LEAST the following:
(sigh)
Please, man, could you give me the benefit of the doubt on the easy stuff?
Instead of inferring file type from arbitrary filename extensions, why not use getimagesize() to query for that directly?
Because I think it's logical to expect people to upload image files that only have extensions of image files. Thus, we only have to incur the overhead of opening the file with GD and trying to do image stuff with it if it's already expected that the file is most likely an image. If, on the other hand, it's some other file that has a .jpeg extension or something, and the script opens it and doesn't get an image out of it, it ignores the file from thereon.
By the way, I forgot to mention that the script also chmods uploaded files so they're not executable.
> I don't know how Perl works, but in PHP it's quite easy to get the file's original filename without the path. In fact, getting the file's original pathname isn't possible, as far as I know.
Are you sure that this is the case? The thing is this: The browser is only supposed to send the name without path. However, some version of IE send the full path instead of the file name. So while you most of the time will only get the file name, sometimes you'll suddenly get the path too. Unless PHP specifically contains code to work around this, it will be the case for your script too.
And since this is not obvious, and most people assume you will only ever get the file name, an attacker might send a POST request containing a full path instead of the file name, hoping this will cause your script to accidentially overwrite some other file.
> By the way, I forgot to mention that the script also chmods uploaded files so they're not executable.
A good idea, but if somebody runs it on a Windows server, it won't help.
>Because I think it's logical to expect people to upload image files that only have extensions of image files.
>the script also chmods uploaded files so they're not executable
You make the first assumption, but then are cautious about executable bit on an uploaded file?
I would be much more concerned about malicious disguised payload in an upload or a mislabelled/misspelled file extension than an executable bit. Why would the executable bit even be set? That info is not transmitted with a file upload- it should be mode 600 when it arrives on the server.
And even if it were, that info is not transferred back down to the client. At least in no sane browser :p.
I think most of the important stuff here has been covered, but it all boils down to some stuff:
You have to be absolutely paranoid about any factors that are out of your control. You can't trust people to upload sane things, so you have to be defensive.
In our case, yeah, we need to sanitise images, and it can be done. I haven't bothered figuring out a bulletproof way of checking that an "image" is an image (via binary-inspection), but I'm sure it'd be fairly easy. ImageMagick has "identify", which can probably be shoehorned into the role.
As for filenaming, for meidokon I've stolen source for the PEAR package HTTP_Upload and changed it a little to suit my needs. As you said, PHP has the function to strip a path down to a filename, so it's just a matter of doing that, then sanitising the name. Drop any char that's not supported on windows & unix filesystems, or convert them to underscores.
>However, some version of IE send the full path instead of the file name.
Fuck IE.
PHP may or may not contain a workaround for this. Personally, I have never heard of this phenomenon... Link? Sauce?
>A good idea, but if somebody runs it on a Windows server, it won't help.
Fuck Windows.
(Good point, though. Maybe I should add a feature to turn that off, or maybe remove it altogether as it is redundant.)
>>Because I think it's logical to expect people to upload image files that only have extensions of image files.
>>the script also chmods uploaded files so they're not executable
>You make the first assumption, but then are cautious about executable bit on an uploaded file?
Okay, I think we're on different wavelengths or something here. What I meant by that first comment is that if a file does not have the extension of the image, Thorn doesn't bother to do any further checking to see if it's an image or not. It just ignores it. PHP deletes any uploaded files that the script doesn't move elsewhere when the script is terminated, so the file will be uploaded, spend a few microseconds in /tmp, then vanish from the face of the earth.
And, again, I do indeed check to see if an image is indeed an image before anything further is done with it.
> Fuck IE.
The important part wasn't the IE bit. The important part is that an attacker won't use any browser, but will hand-craft a POST request that says the filename is "/etc/httpd/httpd.conf" or whatever.
Some quick googling finds this:
http://216.239.59.104/search?q=cache:-vcJIcXFr5oJ:www.php-collab.org/blog/index.php/2005/02/17/php-4311-ie-and-file-upload/&hl=en&client=firefox-a
> Maybe I should add a feature to turn that off, or maybe remove it altogether as it is redundant.
Maybe. But then again, being paranoid is never a bad thing in these situations. Just remember that even though you chmod the file, it might still be executable on some platforms.
Update!
please to post and test please kthx
Hmm. Looks like that last update broke actual image posting. Perhaps I should have tested that...
No matter. That bug has been squashed, as well as some other tweaks, and I now RELEASE!
http://pichan.org/thorn/index.php
The Read Me:
http://pichan.org/thorn/READ-ME.text
The requested URL /thorn-0.9.tgz was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
(sigh) It's always the simple stuff. I forgot to rename the archives after uploading them.
Fixed. I hope.
Haha, I see people getting that one wrong all the time :D
Wasn't it moot who got it wrong initially and everybody's just been copying him ever since?
Okay, this crappy release will soon be replaced by one that does a few more things right, including better documentation in shiny new wiki format: http://pichan.org/wiki
I hope to release an update Sunday.
Version 0.9.1 released. I think this version is actually somewhat usable!
Version history:
http://pichan.org/wiki/doku.php?id=version_history
Now that I am forced to use it, I dislike it even more than I already did...
Please enable posting on the old board again.
Version 0.9.2 now released. Many bugs squashed. Version history and download pages as above.
I think I've pretty much got the base code as good as it'll get for now, so the next release will probably be 1.0, and will probably be just template tweaks, such as name/trip pass cookie-ing, and perhaps a Kareha-style template.
v0.9.3 now available. More bugs squashed. I really was hoping to get to 1.0 with this release, so I can finally start adding some new features again, but it's not quite ready, I think.
GJ for hunting down bugs!
v1.0 now released. Yet I will sage this post because I don't think it's that remarkable. Hopefully some more actual features will be seen soon in v1.1.
http://pichan.org/wiki/doku.php?id=download_thorn still lists 0.9.3 as the latest and the download links do not work
http://thorn.pichan.org/thorn-1.0.tar.gz finally worked for me, damn you for changing your filename scheme
This board sucks ass, I don't care if you use it for your own purposes but switch back to Wakaba for the iichan boards.
>>40
I wouldn't have worded it as rude, but I agree.
Clearly, the board software is not as convenient and easy to use as Wakaba.
Requesting to return to Wakaba until this aim is achieved.
Btw, it would be nice to have an option to delete your own threads/replies/pictures.
>Clearly, the board software is not as convenient and easy to use as Wakaba.
>Requesting to return to Wakaba until this aim is achieved.
Suggest ways to achieve this aim.
And there's no way for people to actually complain about problems if no one/no site is actually running it.
And personally, I like the idea of multiple images per post.
Otherwise I quite like it, to be honest.
>>42
The multiple image upload feature is the only thing about the software that is better than in Wakaba. Everything else was "fixed / improved for the worse".
Also, there could always be a test board to run this on and tell people to test it could, yknow, get people to actually test it.
Also, in the Futaba style, put in some spacing! Letting text touch the borders of its containing box is bad. It looks horrible.
> there could always be a test board to run this on and tell people
I've actually found that to be fairly useless. The best way to test board software is to put it into production, unfortunately.
> I've actually found that to be fairly useless. The best way to test board software is to put it into production, unfortunately.
Well, we'll have to agree on disagreeing on this one, then.
I have posted a lot on the Cityscapes board before it was turned to Thorn and just stopped posting because I find the new software horrible and cannot be arsed to write a dozen bug reports so that it becomes as convenient as it already had been before.
Ah, but while you may no longer be posting there, some people still are. A whole lot more than would be posting on an obscure /test/ somewhere.
It's a rather brusque way of doing things, but I can't blame Albright for resorting to it.
Personally, ever since he switched to the futaba skin, I haven't seen much wrong with it, other than little things.
Though, as >>43 said, unified name/tripcode field and having the tripcodes be the same as futaba/wakaba would be great.
(Not sure if bright could do the second though, as it's written in a different scripting language. And again, those are only small things that don't really matter. We'd probably wouldn't even complain about them if thorn had come first!)
>>48
Sure they do post but how many are actually giving feedback?
I would feel much more compelled to actually help out with testing and giving useful feedback if it hadn't been forced down my throat, so to speak.
Also, I was just giving my behaviour as an example in >>47. In no way did I mean to imply it was somehow statistically relevant.
>http://pichan.org/wiki/doku.php?id=download_thorn still lists 0.9.3 as the latest and the download links do not work
D'oh. Fixed. Thanks.
>Change the captcha method.
What's wrong with the current captcha system?
>Unify the name and tripcode fields.
At present, the script looks for the name and tripcode in different fields, and I don't want to change that in the script. But the one field thing might be doable via JavaScript (split the one field into two before passing it on to the script).
>Remove the "Mod" (what does that do?).
Click it and find out. (Due to a CSS bug in the version of the Wakaba skin currently on πchan, you actually have to click twice, but this should be fixed on the next release.)
>Make multi-image posts wrap.
They wrap in thread heads, but not in replies. This will be fixed. To tell the truth, I put less emphasis on getting the Wakaba-ish skin looking right than the default Andy skin, but I switched πchan to the Wakaba one because I figured fewer people would whine about it. Clearly I was wrong. :P
>Also, in the Futaba style, put in some spacing! Letting text touch the borders of its containing box is bad. It looks horrible.
Screenshot plz. On my end there's no text touching borders in Safari or Camino (Mozilla). http://thorn.pichan.org/index.php?t=57
>The best way to test board software is to put it into production, unfortunately.
That's true. With people actually using the board, hopefully some of them can find things that are wrong that I overlooked. And even if only 5% of people report glitches, 5% of a few dozen people is more than 5% of nobody.
One thing I hope you all remember is that I didn't write Thorn to be a 100% Wakaba/Futabally clone. What would be the point of that, anyway? It can do pretty much the same things, yes, but it'll do other things too.
Anyway, here's what's going on for the next release:
By the way, WAHa, do you block Japanese IPs to your web site? Whenever I try to go there, I get just a blank page. I have to SSH into my web account and use lynx or use a proxy.
> At present, the script looks for the name and tripcode in different fields, and I don't want to change that in the script.
For what reason?
> What's wrong with the current captcha system?
It's big, hard to read, and looks quite out of place.
> Clearly I was wrong.
Not really. I much prefer the current version.
Another suggestion: get rid of the "File 1:", "File 2:", etc. The "File" part is redundant.
By the way, the text touching a border issue that WAHa mentioned also appears in Opera. Take a look at the left edge: http://wakachan.org/junk/thorn-css.png. I'd also like to draw your attention to the location of the title at the bottom of the page.
For more title strangeness, see this: http://wakachan.org/junk/thorn-css2.png
> That's true. With people actually using the board, hopefully some of them can find things that are wrong that I overlooked. And even if only 5% of people report glitches, 5% of a few dozen people is more than 5% of nobody.
I think it tells quite a lot that people are more likely to give feedback here than on your own Thorn-powered Thorn discussion board. But hey, I just pulled that statistical approximation out of my ass, as is any other on itt.
> Screenshot plz. On my end there's no text touching borders in Safari or Camino (Mozilla). http://thorn.pichan.org/index.php?t=57
It's right there in your screenshot. All the poster names are far too close to the edge of their container. Wakaba avoids it because the delete checkmark spaces the text away from the border.
> Tripcodes fixed. Again. But for real this time. I hope.
You're still not using real tripcodes, though. 2ch-style tripcodes are weak, but they have the one huge advantage, which is that they stay the same across sites. You really ought to use those. Very few people care about secure tripcodes that change from site to site - Wakaba has them, and hardly anybody ever uses them.
Unifying the fields into one would also be nice, since it'd reduce clutter and make for less clicking or tabbing when filling things in. Generally you should look over the posting form fields - as it is right now, it's a mess. The captcha is too big, as was mentioned elsewhere, and text input and other fields are mixed in ways that just look untidy.
> By the way, WAHa, do you block Japanese IPs to your web site? Whenever I try to go there, I get just a blank page. I have to SSH into my web account and use lynx or use a proxy.
I'm trying to serve up a Japanese version of the front page to Japanese IPs. Isn't it working? Does http://wakaba.c3.cx/index.pl?lang=en work?
>> What's wrong with the current captcha system?
>It's big, hard to read, and looks quite out of place.
It's supposed to be hard to read. As for its size, it's even harder to read if it's smaller... I've tried. It is ugly, but I haven't found any better alternatives.
Okay, the glitch with the screenshot in >>53 I'm aware of and it'll be fixed in the next release. (That's one of those things that resulted from paying more attention to Andy than WakaWakaWaka.) I think the "glitch" in >>52 is bizarre pickiness, but that'll be simple enough to fix I suppose, so I'll do that too.
Re: Tripcodes: I have 2ch-style tripcodes implemented to the extent that the database schema has a field for it and there's commented-out code to create such tripcodes in the distribution (at the bottom of post-common.php), so actually implementing them would be easy. It's a low priority, though.
As for unifying the name and tripcode fields... I think you all are forgetting how illogical it is to enter two different bits of information in one single field. Look at it from the perspective of a new user, please.
I'm considering making another release with the newer, smaller improvements before the next big one with the blogging features and such.
Oh yeah: http://wakaba.c3.cx/index.pl?lang=en works. Thanks, now I can get to the Wakabamark reference in the wiki again.
> I think you all are forgetting how illogical it is to enter two different bits of information in one single field.
It may be illogical but it sure is convenient.
This is about pleasing the users, not about looking really smart about something of little theoretical significance.
> Look at it from the perspective of a new user, please.
I think new users should not be confused with a system of tripcodes that is entirely different from all other places on the internet that incorporate tripcodes. Which is why I also vote for 2ch-style tripcodes.
I tend to prefer the mixing of name and tripcode in one textfield for the simple reason that it's easier for newcomers.
What's a name? Easy, right? What's that #? Uh... what is that, and do I have to fill it in?
If you won't mix them, then perhaps put a tiny "(optional)" in there somewhere.
> As for unifying the name and tripcode fields... I think you all are forgetting how illogical it is to enter two different bits of information in one single field. Look at it from the perspective of a new user, please.
Tripcodes are a gimmick. They really shouldn't be promoted to the same status as the name field. New users don't need tripcodes. They're horribly overused as it is.
>New users don't need tripcodes.
Damn straight.
>blogging features
May I ask the reasoning behind this?
>I think it tells quite a lot that people are more likely to give feedback here than on your own Thorn-powered Thorn discussion board.
It's funny 'cause it's true.
> blogging features
Haha, reminds me of when I tried to add a "blog mode" to Shiichan. Good times, good times
By the way, I heard Markdown is the official markup language of the Web 2.0 Podcasting Blogosphere, confirm/deny?
>Letting text touch the borders of its containing box is bad.
It's gay becuase the text is touching, lol.
Sorry, couldn't resist.
>May I ask the reasoning behind this?
Back a long long time ago, when the idea of first writing a forum-ish script came to mind (which was even before 4chan was around) but I didn't yet have the skills to write one, I realized that various forms of communication software (if you will) on the web all kind of used the same model; whether they be text-based forums, image gallery scripts, or blog scripts, they all worked by someone posting a "head" (a new thread, an image, a blog post) and then others making replies to it. So if a textual BBS like phpBB, an image gallery like Gallery, an image board like Wakaba, a blog like Wordpress, and so on all use the same head-reply model, why can't one script be generalized enough that it can serve all of those purposes? Thorn can already do those first three just by tweaking with the templates and setting the options, no touching of the PHP code necessary; however, date functions to make it practical for using for blogging have yet to be implemented.
So, again, this is another reason why I say that Thorn is not meant to be a 100% clone of image board scripts. With so many decent image board scripts already out there, what would be the point? It's meant to work as an image board script and do other things as well.
>>I think it tells quite a lot that people are more likely to give feedback here than on your own Thorn-powered Thorn discussion board.
>It's funny 'cause it's true.
Well, I prefer using a Kareha-like layout over a Wakaba-like layout for just discussion as well.
>Tripcodes are a gimmick. They really shouldn't be promoted to the same status as the name field. New users don't need tripcodes. They're horribly overused as it is.
Yeah, I'll agree with you there. What's especially kitschy is when people make cutesy words and stuff with their tripcode, don't you think? :P
>>70
It's true. I think Waha indirectly promotes tripcodes, personally. Maybe if he restricted it to just /sup/ and whatever admin duties he had.
It's a remnant of the long-gone days when posting with only a tripcode was actually something cute. Now I'm stuck with it. If I had both a nickname and tripcode, I'd just drop the trip. But as it is, I can't do that without going anonymous (which I do, quite a bit). If I want to put in a name, though, this is all I have.
Disregard that... err yeah.
>>71
Can't you just go Waha? It's recognizable and no one uses it. Granted, it doesn't look as cool, but what can you do?
> Thorn is not meant to be a 100% clone of image board scripts.
Then why do you force it on iichan users?
>>75
I want to make a Halflife joke here, but I cannot for the life of my formulate one....
http://wakaba.c3.cx/thorn/thorn.html
There you go. Please implement this layout.
Also, "document.write()" is pretty dead and deprecated. You'd be much better off learning a bit about the DOM and using that. That way, you wouldn't be limited to a set number of file inputs, either.
>>77
Mein Gott! The post form suddenly became comprehensible!!
Wow! :O
>>77
ooo, nice layout. Thorn coder, you should make that the default layout.
>As for unifying the name and tripcode fields... I think you all are forgetting how illogical it is to enter two different bits of information in one single field. Look at it from the perspective of a new user, please.
I'll do my best.
(ahem)
Dum de dum, what have we here? Some sort of message board where people post art! There's a nice image, I'll just click reply here to say I liked it. I suppose I'll put in a name here...typetypetype ...what the heck is this "#" field for? Am I supposed to enter a number? Some sort of key? (branch point: user may begin searching for a registration link or some way to know the magic data necessary for the mysterious "#" field.) I'll try a random number. Now for my comment...typetypetype Verification? Oh, I remember this from signing up at yahoo. But they're kinda overlapped. Should it be 8627186271 or 8866227711?(Insert a couple of failed verifications before user figures it out.) Man, that was annoying. Now to click Submit. Hey, what is that gibberish next to my name?
(bow, curtain closes with a piano flourish)
And poof, you've got a newbie hooked on tripcodes who'll probably jump on the "Anonymous are cowards" bandwagon.
> you should make that the default layout.
Only for the form though. The other bugs are still there.
Yes, that was all I looked at for that one.
All right, a "beta" of 1.1 has been released, with many whin-- er, traditionalist-appeasing features. It's been implemented at Cityscapes and such.
You really should implement >>77, though. It fixes a number of problems that are still there in 1.1.
I highly approve this new 1.1!
The only glitch I could find has to do with title and image layout (http://wakachan.org/junk/thorn-css3.png). Unlike Opera, Firefox handles the title properly, although it too does odd things with wrapping.
I think putting the new vericode above the entry is actually a pretty good idea. Should wakaba follow suit?
All of the threads on the Artwork board are mainly devoted to complaining about Thorn... this was a good choice of software for WAKAchan, huh?
>>87
Yknow, I am not a big fan of Thorn either, but blanket criticism is getting tiring now. It seems obvious that Albright is going to stay with Thorn, so you might as well point out the concrete points you'd like to see changed if you want the situation to improve.
the download link for the damn thing is broken.
Rrgrr, again? Fixed. Thanks.
1.1b3 now available. And I checked the download links this time, so they should work at the moment. I've decided to put the STUPID RRGRR FRUSTRATING date-oriented stuff on the back burner and work on getting some basics down, such as remembering usernames and such.
Would you please clean up the posting form already? The # appears to be back, the "remember me" checkbox is pretty much superfluous, and if you want it it'd look less annoying if it followed the name field. Also, the inputs are still scattered around the form according to no obvious system, along with bits of text that belong in the label column.
Here's a diagram of the problem: http://wakaba.c3.cx/thorn/layout.png
Here's what I've been using, just as an extra point of comparison ^^:
http://renfu.metachan.org/wp-content/new_post_form.png
Been trying to simplify. Thankfully haven't needed to add verification yet.
Hey, that looks pretty good!
>>93, that's really cool!
Is that your own script, or a modified template for Wakaba? If the latter, maybe you should make it available, it is pretty neat-looking.
Although two things spring to mind: Maybe the Name and Email should be on the left, and maybe the frames are a bit superfluous. Then again, maybe not.
If you ever need to add verification, how about stuffing it in together with the post button somehow? They seem sort of logically connected. And it looks a bit lonely all by itself.
>>96: It looks like it's his own script based off of Futabally. See http://renfu.metachan.org
Anyway, I agree that the post form is definitely in need of an overhaul. It's just tough to do whilst still making people like WAHa happy. :/ I think the Required/Optional sections make it all a bit too noisy, but otherwise it looks pretty slick. Good work.
I've never had a problem with changing the board look. But when you do, you need to make something that works as well as what you're trying to replace.
Now, with Thorn, your problem is just that the current Futaba-style layout is bad not as a copy, but on its own. It's too messy and inconsistent. It's easy to fix, and I made a suggestion for how to do it in >>77.
n 人 人 n
(ヨ ) (_ ) (_ ) ( E)
/ | (__) (__) | ヽ THORN IS SHIT ! !
\人/( ・∀・)∩(・∀・ )ヽ/ 人
n (_ )u ( ⌒) uu)∩ (_ )
( l (__) ./,. 人 i ,,E)__)
\ \ (・∀・ ) / /_) ./ .ノ( ・∀・ ) n
ヽ___ ̄ ̄ ) / /____) ,/ ./ ̄ \ ( E)
/ ̄| . 人 / / ・∀・) / フ 人 ./ヽ ヽ_//
| |. (__) / (__) \_///
| |. (__)\ 人 ヽ (__) / /人
,― \( ・∀・) (__) ∩ ・∀・)∩ ./ .(__)
| ___) | ノ (__) 〉 _ノ / ∩(__)
| ___) |)_) (,,・∀・) ノ ノ ノ / .| ( ・∀・)_
| ___) | ( O┬O .し´(_) .// | ヽ/
ヽ__)_/ ≡ ◎-ヽJ┴◎
thorn sux
ノ⌒ 丿
_/ ::(
/ :::::::\
( :::::::;;;;;;;)
\_―― ̄ ̄::::::::::\
ノ ̄ ::::::::::::::::::::::)
( ::::::::::::::;;;;;;;;;;;;人
/ ̄――――― ̄ ̄::::::::\
( :::::::::::::::::::::::::::::::::)
\__::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;ノ
Hey, nice 100 get!
New beta released today. Name cookieification has been implemented, as well as a bitchin' preview feature for testing your mark-up before posting. (I'd love to see something like that in Kareha, WAHa…)
Bah. I just realized that I kinda got excited rushed things and left some important things undone, so I pulled the download of the new version. But it's still up and running at πchan. Please check it out.
Also, the Preview function probably won't work on IE.
I was avoiding doing that because building a whole new page with the preview was too much of a bother, but after I suggested you do it with XMLHttpRequest, I realized I could do the same, so I might just add it.
Yeah... This could also be used pretty easily to test verification codes before submitting the form, so that one doesn't have to wait for their file to upload just to find out they entered the code wrong and their file and time waiting just disappeared into the ether... Kinda exciting, the possibilities of this... Wish I'd sat down with it sooner.
1.1b5 now available. A nasty paging glitch in the Wakaba-like template was fixed, and all the features that should have been in b4 are now better implemented.
Thorn 1.1b6 is now released, and is currently running on πchan. The most noticeable features are:
*Post previewing should work in IE now.
Stupid JS trick: Vericodes are now checked before the form is posted. (I *think I implemented this securely.)
*Animated GIF detection.
If you can't post, please try reloading your cache. Your browser is probably trying to use the old JavaScript file.
Try: http://pichan.org/pc/
Download: http://thorn.pichan.org/doku.php?id=download_thorn
Version history: http://thorn.pichan.org/doku.php?id=version_history
Bah. The WakabaMark wiki page needs more info on how to correctly make a bulleted list... I always screw it up.
Hm.. I'm kinda new to thorn, I'm actually working on a separate project to add seed support to image boards, and that got me into trying Thorn out. I finally got it to work now, but I had to go through some trouble. I don't know, it may be issues taken care of already though as I just noticed now that you released a new beta (I was trying 1.0). I noticed when I fucked up on installs I cant click the back button and retry, I have to wipe out the directory and refresh from the archive. On windows when I try to install it to a directory like "E:\Program Files\Apache Group\Apache2\htdocs\thorn\" it doesn’t seem to like it, it will work at first, but when trying to apply admin settings it gives a PHP error about trying to access a file, and the file path that it errors on I notice seems to be the correct path but the "\th" in “\thorn\” is messed up. So basically, I couldn’t get it to work in a directory called "thorn". Also, when I got past that, it some how messed up on the MySQL database setup (I think I forgot to tell it to create the tables), but when I tried to go back to fix my mistake, I couldn’t. From that point on no matter what thorn page I tried to access it gave some MySQL code and something about how it couldn’t access the tables (I had to start all over again from scratch).
Well, I got it to work now though, I went around the admin section a few times pressing apply buttons and changing some settings and it seems to work well. I guess it's just the install functions that need to be debugged a little.
Nice work though btw.
>>110: First off, please do use the most recent beta instead of 1.0. Thorn has been greatly debugged and improved since its one and only "stable" release.
To tell the truth, I haven't really been following your project, and a lot of your site is tl;dr, but from what I can tell, it looks for seeds through the link URL to the image, so it doesn't involve the regular image board script too much. If that's so, it should be possible to add support for it in Thorn just by modifying the templates to link to the seed-finding script when an image is clicked. One possible issue that I can see is that the seed finder seems to be IDing images by their filename. As Thorn doesn't rename uploaded files, it's possible for multiple files to have the same filename. (Each post has its own subdirectory full of images; see http://pichan.org/pc/images/ ) Perhaps IDing files by hash would be better? Or allowing directories in the filename, so that something like "192/image.jpeg" would work?
RRG~ SWG spontaneously combusts
Yeah, I know what your talking about, I noticed it doing that every so often last night, and it semis to b happening more and more often now. I think I know why... When a user tries access an image, java-script runs in the background (you can see the script by going View/Source on a re-direct page). The script makes sure that the user got to the redirect target, and if not, then it redirects the user again and has a hidden frame report back to the tracker saying the URL is 404 and needs to be erased. I dunno, I heard of browsers crapping out every once in a while but i guess I didn't expect this; the tracker is getting messages that even the files on the primary image board server are 404 (which ofcourse is totall bullshit), and even they get erased. I'm guessing these are just dumb bougous errors? Or maybe just timeouts? I dunno, but the only thing that could erase an item from the source lists are 404 errors (this is a protection system to notice if a seeder just cuts the computer off)
Anyway, I edited the tracker script to never delete the image-board-server's files (even in the event of 404), and the thing should check the URLs for itself b4 erasing a source... So like, I think it should work now, but l0l, I know I had said that manny time before.
Crap, just posted this in the wrong thread, and I can't delete >_< Where do i even put a password in?
è
I know this thread is old, but did anyone still have the thorn software and can upload it please?
thanks.
>>122
No. It has disappeared from the face of the internet forever.
>>123
Alas, poor Thorn! I knew it, Anonymous, a script of infinite THREADs, of most excellent GETs.
>>122
http://www.mediafire.com/?a5g9eouc0qldhcf
Enjoy your PHP imageboard software from 2006.
>>122 why use thorn when you can use drydock? It (kinda) works, at least, and isn't from 2006
Hay guise. I just want to say that I'm really sorry about Thorn.
It was my first PHP project of any decent size, and it certainly smelled like it. When I remember the code and compare it with what I am capable of writing today, I am ashamed. It breaks my heart that people are asking where to find the script (sometimes tracking me down and asking me directly), and that Drydock (http://code.google.com/p/drydock/) still uses so much of the original script as its base. If I could, I'd erase it from the internet entirely, or at least any association of my name with it.
I mean, my God, look at >>68 - I was starting to roll my own CMS before I even knew what a CMS was! What the hell was wrong with me?
Please, don't use it. And don't use Drydock, at least until it undergoes a complete rewrite that purges all Thorn guts from its core. Move along; nothing to see there.
(Though I won't apologize for the idea of being able to add multiple images per post; that was brilliant, and I'm glad to see others copied the idea. Though I'm sure they would have stumbled on it eventually.)
>>130
You did the best you could given what you knew at the time. Much respect.
>(Though I won't apologize for the idea of being able to add multiple images per post; that was brilliant, and I'm glad to see others copied the idea. Though I'm sure they would have stumbled on it eventually.)
Yes, this is brilliant, keep at it. You can do it.
The actual godmother of punk rock Vivienne Westwood usual overhead from the planet as well as skeletal system head, brooches, anklet bracelets, and necklace design to the higher vividness of color.
read more:
http://truereligionbrand.webnode.cn/%E5%8D%9A%E5%AE%A2/
http://truereligioncanada.eklablog.com/
http://www.miespaciodenegocios.com/members/profile/5439/blog
celineluggagebagssale.com
juicycoutureoutlett.com
viviennewestwoodmalluk.com
canadaoutletbags.org