New revs

Nao

  • Dadman with a boy
  • Posts: 16,080
Re: New revs
« Reply #225, on October 10th, 2010, 11:18 PM »
rev 191
* Made main menu background a bit brighter. Subtility, crap like that... (index.css)
+ Made sure to hide the dropdown arrow if a top-level menu entry doesn't have any submenu. (index.css, index.template.php)
* Moved main menu icon definitions to index.css, and replaced spriting code with a simple 'padding' parameter to tell the menu code the actual width of the current icon. (Subs.php, index.css, index.template.php)
* Changed favicon MIME type to the official one. (index.template.php)
Quote from Arantor on October 10th, 2010, 07:51 PM
You can change it :P Just it was something to hand that was convenient.
We'll be keeping it for now, I guess...
Quote
Sure, but how often do site admins have a favicon already in place for a top level domain and have nothing else there when adding a forum to the top level of the domain?
Hmm... Well...
I don't know.
To me, that Wedge icon was pretty much the symbol for our website, rather than our software. See what I mean...?
Just like SMF has their own favicon at simplemachines.org, but they don't include it in the package.
Quote
Sure, but having it set up like this will mean they just copy theirs over the top of the provided one (we don't have to include it in upgrades).
Hmm... I guess. But if they don't know the first time around... And if they don't keep a copy somewhere... (Okay, then that's THEIR problem.)
Quote
No need to apologise; only reason I thought of it is because I've been doing a similarly styleable menu for my other project and one of the things was to make it as flexible as possible to style in pure CSS.
I was probably influenced a bit too much by my own Noisen code for adding icons in the main menu.
(And seriously -- I don't understand a bit why it was so incredibly easy to implement them in a tableless fashion in Wedge, when I broke my teeth for several days trying the same in Noisen... And finally settled on a table version.)

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: New revs
« Reply #226, on October 11th, 2010, 12:04 AM »
Quote
Hmm... Well...
I don't know.
To me, that Wedge icon was pretty much the symbol for our website, rather than our software. See what I mean...?
Just like SMF has their own favicon at simplemachines.org, but they don't include it in the package.
It's not really about the icon itself that I made the change; the icon just happened to be what I had to hand. The idea is to provide something out of the box for those users who would want it - I'm thinking about things we can do to minimise support requests generally, and having it set up like that will mean that people can just upload a new one and everything will just support it regardless of anything else.
Re: New revs
« Reply #227, on October 12th, 2010, 01:02 AM »
Revision: 192
Author: arantor
Date: 00:01:09, 12 October 2010
Message:
- Remove karma (lots of files, including removing from the installer, language strings, even the icon for it in Core Features)
----
Modified : /trunk/Sources/Admin.php
Modified : /trunk/Sources/DbPackages.php
Deleted : /trunk/Sources/Karma.php
Modified : /trunk/Sources/Load.php
Modified : /trunk/Sources/ManageMaintenance.php
Modified : /trunk/Sources/ManagePermissions.php
Modified : /trunk/Sources/ManageSettings.php
Modified : /trunk/Sources/News.php
Modified : /trunk/Sources/Profile-Modify.php
Modified : /trunk/Sources/Subs-Members.php
Modified : /trunk/Sources/Subs.php
Modified : /trunk/Themes/default/Display.template.php
Modified : /trunk/Themes/default/PersonalMessage.template.php
Modified : /trunk/Themes/default/Profile.template.php
Deleted : /trunk/Themes/default/images/admin/feature_k.png
Modified : /trunk/Themes/default/languages/Admin.english.php
Modified : /trunk/Themes/default/languages/Errors.english.php
Modified : /trunk/Themes/default/languages/Help.english.php
Modified : /trunk/Themes/default/languages/Install.english.php
Modified : /trunk/Themes/default/languages/ManagePermissions.english.php
Modified : /trunk/Themes/default/languages/ManageSettings.english.php
Modified : /trunk/Themes/default/languages/Reports.english.php
Modified : /trunk/Themes/default/languages/Stats.english.php
Modified : /trunk/Themes/default/languages/index.english.php
Modified : /trunk/index.php
Modified : /trunk/other/install_2-0.sql
Modified : /trunk/other/tools/repair.php
Modified : /trunk/other/unittest/tests/Class-UnitTest_tidyhtml.php
Modified : /trunk/other/xml/detailed-version.js


Surprising how many places needed to be edited for what is really a minor feature.
Re: New revs
« Reply #228, on October 12th, 2010, 05:05 AM »
Revision: 193
Author: arantor
Date: 02:45:10, 12 October 2010
Message:
! Make Wedge UTF-8 only. Note, there are still some legacy functions roaming around (notably the legacy attachment handler and the conversion functions to handle other-to-UTF-8 and entities-to-UTF-8-characters) which can remain for now until we get that sorted in the converters.
----
Modified : /trunk/SSI.php
Modified : /trunk/Sources/Class-Editor.php
Modified : /trunk/Sources/DbPackages.php
Modified : /trunk/Sources/Display.php
Modified : /trunk/Sources/Load.php
Modified : /trunk/Sources/LogInOut.php
Modified : /trunk/Sources/ManageMaintenance.php
Modified : /trunk/Sources/ManagePosts.php
Modified : /trunk/Sources/ManageServer.php
Modified : /trunk/Sources/ManageSettings.php
Modified : /trunk/Sources/Memberlist.php
Modified : /trunk/Sources/News.php
Modified : /trunk/Sources/PersonalMessage.php
Modified : /trunk/Sources/Profile-Modify.php
Modified : /trunk/Sources/QueryString.php
Modified : /trunk/Sources/Register.php
Modified : /trunk/Sources/ScheduledTasks.php
Modified : /trunk/Sources/Search.php
Modified : /trunk/Sources/Subs-Auth.php
Modified : /trunk/Sources/Subs-Members.php
Modified : /trunk/Sources/Subs-Post.php
Modified : /trunk/Sources/Subs.php
Modified : /trunk/Themes/default/Admin.template.php
Modified : /trunk/Themes/default/Calendar.template.php
Modified : /trunk/Themes/default/Display.template.php
Modified : /trunk/Themes/default/Errors.template.php
Modified : /trunk/Themes/default/GenericList.template.php
Modified : /trunk/Themes/default/Help.template.php
Modified : /trunk/Themes/default/Login.template.php
Modified : /trunk/Themes/default/ManageAttachments.template.php
Modified : /trunk/Themes/default/ManageBans.template.php
Modified : /trunk/Themes/default/ManageBoards.template.php
Modified : /trunk/Themes/default/ManageCalendar.template.php
Modified : /trunk/Themes/default/ManageMaintenance.template.php
Modified : /trunk/Themes/default/ManageMembergroups.template.php
Modified : /trunk/Themes/default/ManageMembers.template.php
Modified : /trunk/Themes/default/ManageNews.template.php
Modified : /trunk/Themes/default/ManagePermissions.template.php
Modified : /trunk/Themes/default/ManageScheduledTasks.template.php
Modified : /trunk/Themes/default/ManageSearch.template.php
Modified : /trunk/Themes/default/ManageSmileys.template.php
Modified : /trunk/Themes/default/Memberlist.template.php
Modified : /trunk/Themes/default/MessageIndex.template.php
Modified : /trunk/Themes/default/ModerationCenter.template.php
Modified : /trunk/Themes/default/MoveTopic.template.php
Modified : /trunk/Themes/default/Packages.template.php
Modified : /trunk/Themes/default/PersonalMessage.template.php
Modified : /trunk/Themes/default/Poll.template.php
Modified : /trunk/Themes/default/Post.template.php
Modified : /trunk/Themes/default/Printpage.template.php
Modified : /trunk/Themes/default/Profile.template.php
Modified : /trunk/Themes/default/Recent.template.php
Modified : /trunk/Themes/default/Register.template.php
Modified : /trunk/Themes/default/Reminder.template.php
Modified : /trunk/Themes/default/Reports.template.php
Modified : /trunk/Themes/default/Search.template.php
Modified : /trunk/Themes/default/SendTopic.template.php
Modified : /trunk/Themes/default/SplitTopics.template.php
Modified : /trunk/Themes/default/Themes.template.php
Modified : /trunk/Themes/default/Who.template.php
Modified : /trunk/Themes/default/Wireless.template.php
Modified : /trunk/Themes/default/Xml.template.php
Modified : /trunk/Themes/default/index.template.php
Modified : /trunk/Themes/default/languages/Install.english.php
Modified : /trunk/Themes/default/languages/ManageMaintenance.english.php
Modified : /trunk/Themes/default/languages/index.english.php
Modified : /trunk/index.php
Modified : /trunk/other/Sphinx/sphinx_config.php
Modified : /trunk/other/install.php
Modified : /trunk/other/ssi_examples.php
Modified : /trunk/other/tools/smfinfo.php
Modified : /trunk/other/unittest/templates/UnitTest.template.php
Modified : /trunk/other/upgrade.php



I don't think I broke anything, either, and I think I got rid of most (if not all) of the language strings though I may have left some for the legacy conversion interface in there.
Posted: October 12th, 2010, 03:45 AM

Revision: 194
Author: arantor
Date: 03:23:23, 12 October 2010
Message:
! More anti-UTF-8 removals
 ! Fixing the language editor (ManageServer.php, Admin.template.php)
 ! Fixing language loaders (Load.php, ManageServer.php)
 ! Yet more language strings going bye-bye (Install.english.php, ManageSettings.english.php)
----
Modified : /trunk/Sources/Load.php
Modified : /trunk/Sources/ManageServer.php
Modified : /trunk/Themes/default/Admin.template.php
Modified : /trunk/Themes/default/languages/Install.english.php
Modified : /trunk/Themes/default/languages/ManageSettings.english.php


I yoinked out some more stuff in the admin panel. Nothing exciting.
Posted: October 12th, 2010, 04:24 AM

Revision: 195
Author: arantor
Date: 04:03:50, 12 October 2010
Message:
! Fix minimum version in web installer
+ Added check for GD2 plus the functions we need in the CAPTCHA and attachment handlers
----
Modified : /trunk/Themes/default/languages/Install.english.php
Modified : /trunk/other/install.php
Modified : /trunk/other/tools/webinstall.php


There's more to the GD stuff; now that's in, there's legacy stuff like the gif-to-png magic converter, plus the files in the fonts/ directory that are GIFs, and the CAPTCHA-without-GD code that can go too. Time for bed for me though, didn't have time to do them today.
When we unite against a common enemy that attacks our ethos, it nurtures group solidarity. Trolls are sensational, yes, but we keep everyone honest. | Game Memorial

live627

  • Should five per cent appear too small / Be thankful I don't take it all / 'Cause I'm the taxman, yeah I'm the taxman
  • Posts: 1,670
Re: New revs
« Reply #229, on October 12th, 2010, 08:14 AM »
Quote from Arantor on October 12th, 2010, 01:02 AM
- Remove karma (lots of files, including removing from the installer, language strings, even the icon for it in Core Features)
So does that imply that Fustrate's Rep mod won't work?


What program lets you copy the entire output? TortoiseSVN?
A confident man keeps quiet.whereas a frightened man keeps talking, hiding his fear.

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: New revs
« Reply #230, on October 12th, 2010, 08:57 AM »
It won't work, no, because I ripped out the DB fields too.

Yup, I use TortoiseSVN, all I do for my commit notices is go to the trunk root, right click, view the log then right click on my commit and copy to clipboard.
Re: New revs
« Reply #231, on October 12th, 2010, 10:09 AM »
Revision: 196
Author: nao
Date: 08:26:55, 12 October 2010
Message:
* Renamed content_section to content. (Various files)
----
Modified : /trunk/Themes/default/css/ie6.css
Modified : /trunk/Themes/default/css/ie7.css
Modified : /trunk/Themes/default/css/index.css
Modified : /trunk/other/readme_convert.html
Modified : /trunk/other/readme_install.html
Modified : /trunk/other/readme_update.html
Modified : /trunk/other/readme_upgrade.html


Revision: 197
Author: arantor
Date: 09:08:17, 12 October 2010
Message:
- Remove legacy CAPTCHA code using only premade images shown in a line (ManageSettings.php, ManageSettings.english.php, Register.php, Subs-Editor.php, Subs-Graphics.php, GenericControls.template.php)
- Remove all the premade image folders (Candice, Hootie, President)
----
Modified : /trunk/Sources/ManageSettings.php
Modified : /trunk/Sources/Register.php
Modified : /trunk/Sources/Subs-Editor.php
Modified : /trunk/Sources/Subs-Graphics.php
Modified : /trunk/Themes/default/GenericControls.template.php
Deleted : /trunk/Themes/default/fonts/Candice
Deleted : /trunk/Themes/default/fonts/Hootie
Deleted : /trunk/Themes/default/fonts/President
Modified : /trunk/Themes/default/languages/ManageSettings.english.php

Nao

  • Dadman with a boy
  • Posts: 16,080
Re: New revs
« Reply #232, on October 12th, 2010, 10:27 AM »
I was going to post my 196 log ;)
Reason I did that small commit, is to save me some time when diff'ing the files. In the end it was pretty useless because several of the files needed to be updated first, so I didn't commit those... So it's a half-broken update, ah ah! Just don't bother about it. I'll commit the final 3 files when I'm done reviewing your tons of edits.
As for myself, I copy what I type into the changelog, directly before posting it, because if a file is out of sync, it friggin' erases the log and doesn't let me copy it for my next attempt! So, I use the opportunity to post the text here... Hence why it doesn't have your more verbose changelog formatting.

rev 198
* Simplified htmlspecialchars(). (Load.php)
- Removed smf_charset Javascript variable. (ssi_examples.php, upgrade.php, index.template.php, script.js)
- Removed any charsets other than UTF8 from php_to8bit(). That felt GOOD! (script.js)

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: New revs
« Reply #233, on October 12th, 2010, 10:49 AM »
Quote
As for myself, I copy what I type into the changelog, directly before posting it, because if a file is out of sync, it friggin' erases the log and doesn't let me copy it for my next attempt!
Never have that problem, even when it's out of sync. TortoiseSVN keeps all mine even if I hit cancel; above the changelog textbox there's a 'Recent Messages' button you can click... maybe you need a more recent version?
Quote
* Simplified htmlspecialchars(). (Load.php)
Interesting change... any particular reason? The one thing I'd note is that now every ' that comes in will be converted to an entity (which may have other consequences for the places where no override was given, where it will just use ENT_COMPAT, so only double quotes would be entitified before)

Nao

  • Dadman with a boy
  • Posts: 16,080
Re: New revs
« Reply #234, on October 12th, 2010, 12:04 PM »
rev 199
- Karma leftovers. (upgrade_2-0.sql)
- getLanguage() utf8 leftovers. (ManageServer.php, Profile-Modify.php)
- char_set leftover. (ScheduledTasks.php)

I'll leave you the pleasure of submitting rev 200!
Quote from Arantor on October 12th, 2010, 10:49 AM
Never have that problem, even when it's out of sync. TortoiseSVN keeps all mine even if I hit cancel; above the changelog textbox there's a 'Recent Messages' button you can click... maybe you need a more recent version?
Yeah, maybe. I have a fairly recent version (several months.)
I'll be sure to have a look next time.
Quote
Quote
* Simplified htmlspecialchars(). (Load.php)
Interesting change... any particular reason? The one thing I'd note is that now every ' that comes in will be converted to an entity (which may have other consequences for the places where no override was given, where it will just use ENT_COMPAT, so only double quotes would be entitified before)
I... I'm not sure I understand. I was just read through the log, saw something that I would sum up as "$a = 'hello'; echo $a;" and turned it into "echo 'a';"... Did I make a mistake? Feel free to revert, of course.

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: New revs
« Reply #235, on October 12th, 2010, 01:16 PM »
Quote
I... I'm not sure I understand. I was just read through the log, saw something that I would sum up as "$a = 'hello'; echo $a;" and turned it into "echo 'a';"... Did I make a mistake? Feel free to revert, of course.
htmlspecialchars does one core job, converting key HTML items into entities, namely stuff like & to &. It also has options for handling quotes, ENT_COMPAT, ENT_NOQUOTES and ENT_QUOTES. ENT_COMPAT is the default, which converts " to ", ENT_NOQUOTES leaves both " and ' alone, and ENT_QUOTES does both " to " and ' to  according to php.net's page on it. (At least, it definitely turns ' into entities)

It's probably OK to do that, actually, but it may have unintended side effects. I'll revert it for now because I don't want to get extra unintended stuff breaking - the UTF-8 changes were huge, and may mean other stuff may fail in interesting ways yet, and I'd rather not change something like that just yet. (It is a good idea to simplify it down though, as I'm not entirely sure that it's needed outside the query parameterisation)
Posted: October 12th, 2010, 12:25 PM

Revision: 200
Author: arantor
Date: 11:40:49, 12 October 2010
Message:
! Expand installer strtolower version to match main source (install.php)
! Fix broken regexp for sanitising lists (Class-Editor.php)
! Quasi-revert htmlspecialchars change for now, but remove charset parameter (Load.php)
! Remove lang_character_set from the language editor options (ManageServer.php)
! Fix caller for recursive Unicode validation (Subs.php)
----
Modified : /trunk/Sources/Class-Editor.php
Modified : /trunk/Sources/Load.php
Modified : /trunk/Sources/ManageServer.php
Modified : /trunk/Sources/Subs.php
Modified : /trunk/other/install.php

Posted: October 12th, 2010, 12:41 PM

Revision: 201
Author: arantor
Date: 12:16:01, 12 October 2010
Message:
! Restructure download handler into its own file (Display.php, index.php, Download.php)
! Fix broken attachments (reverting previous optimisation) (Download.php)
----
Modified : /trunk/Sources/Display.php
Added : /trunk/Sources/Download.php
Modified : /trunk/index.php


This marks the start of breaking up the monolithic files in the core; there's really no need to have them like that, especially as it makes things slower in fact (Display being one of the most heavily used files, needs to be kept lighter!)

Nao

  • Dadman with a boy
  • Posts: 16,080
Re: New revs
« Reply #236, on October 12th, 2010, 02:04 PM »
rev 202
- Removed unused globals from Xml functions. (Xml.template.php)
* Complicated code just for an unset... (index.php, SSI.php)
* Spacinazi. (ManageSettings.php, Admin.template.php)

rev 203
* Committed the last few conflicted files with content_section changes. (install.php, ssi_examples.php, upgrade.php, index.template.php)
! Regex is an art form. Like, modern art for the ego. (Class-Editor.php)

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: New revs
« Reply #237, on October 12th, 2010, 02:17 PM »
Quote
* Complicated code just for an unset... (index.php, SSI.php)
It didn't used to be complicated for a single unset, when it had two items in it... but in hindsight it was still complicated.
Quote
* Spacinazi. (ManageSettings.php, Admin.template.php)
Won't that break the settings pages since $context['settings_post_javascript'] doesn't add its own <script> tag...?
Quote
! Regex is an art form. Like, modern art for the ego. (Class-Editor.php)
Yes, that was an oops moment, sorry...

Nao

  • Dadman with a boy
  • Posts: 16,080
Re: New revs
« Reply #238, on October 12th, 2010, 02:27 PM »
Phew... Finally done reading through your changes. I can't believe you did all of that in a single night...! What are you on?

Okay, I'll switch to the post editor... Quick Reply is cool when you're not replying to a long post. There's no handle to increase its size... (Idea for later.)
Quote from Arantor on October 12th, 2010, 01:16 PM
htmlspecialchars does one core job, converting key HTML items into entities, namely stuff like & to &amp;. It also has options for handling quotes, ENT_COMPAT, ENT_NOQUOTES and ENT_QUOTES. ENT_COMPAT is the default, which converts " to &quot;, ENT_NOQUOTES leaves both " and ' alone, and ENT_QUOTES does both " to &quot; and ' to  according to php.net's page on it. (At least, it definitely turns ' into entities)
Oh... I see what you mean, very sorry. I didn't notice the separator. I was changing the data in the parameter list -- and that was a "default" parameter but it could be changed... I've never been very comfy with create_function.
I totally broke htmlspecialchars, ahah!
BTW, there were two remaining calls in ManageServer.php that specified UTF-8 at the end, I've modified them locally. Will be in the next commit.
Quote
(It is a good idea to simplify it down though, as I'm not entirely sure that it's needed outside the query parameterisation)
Oh well then that's a good thing I missed the point in the first place... 8-)
Quote
! Expand installer strtolower version to match main source (install.php)
+1
Quote
! Fix broken regexp for sanitising lists (Class-Editor.php)
-1 :niark:
Quote
! Fix caller for recursive Unicode validation (Subs.php)
BTW, makes me think... Is this Unicode or UTF? If it's Unicode, then I don't even know what the function is there for... SMF/Wedge never ever generate Unicode stuff, AFAIK...
Quote
! Fix broken attachments (reverting previous optimisation) (Download.php)
That was one of mine... Actually I just followed the comment's suggestion. ("Would use ob_clean but that's PHP 4.2") I figured okay it's PHP 5.0 now so let's use ob_clean...
Now, I'm not sure in what way it was broken? It's been a long time since I've played with output buffer manipulation. Especially in SMF, where there are plenty of buffers at a time...
Quote
This marks the start of breaking up the monolithic files in the core; there's really no need to have them like that, especially as it makes things slower in fact (Display being one of the most heavily used files, needs to be kept lighter!)
That's a good idea, indeed...
Quote from Arantor on October 12th, 2010, 02:17 PM
It didn't used to be complicated for a single unset, when it had two items in it... but in hindsight it was still complicated.
Well, yes it was complicated, even at the time... My problem is that I'm not auditing the codebase. Maybe I should. I only find such issues when checking commits and making changes to the code myself.

unset($GLOBALS['cachedir'], $GLOBALS['db_character_set']);

As you can see... It does two unsets, and it's still a single call ;)
Quote
Quote
* Spacinazi. (ManageSettings.php, Admin.template.php)
Won't that break the settings pages since $context['settings_post_javascript'] doesn't add its own <script> tag...?
Well, I added the script tag in ManageSettings, didn't I...?
I mainly did it because you unindented the code and it wasn't in line with the script tag. Also, SMF's implementation would automatically add a tab. I just deleted the hell out of those ugly lines and made it cleaner.
That's my job...[1]
Quote
Quote
! Regex is an art form. Like, modern art for the ego. (Class-Editor.php)
Yes, that was an oops moment, sorry...
 1. I'M NOT A WINDOW CLEANER!!!!![1]
 1. Okay, it only works if you've read my first post on runic's place[1].
 1. *And* you watched this year's IT Crowd...
Given these last few hectic hours, it's no surprise we're both making blunders here and there. That's why we proof-read each other's code. Glad to be of help :)

Hey, my footnotes got in the wrong place... I'll make sure I've applied my Wedge fix on them.

:edit: Argh, it seems that it's already applied... :-/ Will need to fix that, then.

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: New revs
« Reply #239, on October 12th, 2010, 02:36 PM »
Quote
Okay, I'll switch to the post editor... Quick Reply is cool when you're not replying to a long post. There's no handle to increase its size... (Idea for later.)
Get a better browser then; Chrome's had it built in for ages. :P
Quote
BTW, makes me think... Is this Unicode or UTF? If it's Unicode, then I don't even know what the function is there for... SMF/Wedge never ever generate Unicode stuff, AFAIK...
Well... UTF-8 is one form of Unicode. The whole concept is a total mess anyway -sigh-. Anyway, the idea is that it should always be valid UTF-8 (and by proxy valid Unicode) except that in some cases it isn't, but I have no idea why that might be. It's been there since 1.1, and it may not be relevant any more - doubly so since it never seemed to be called before.
Quote
Now, I'm not sure in what way it was broken? It's been a long time since I've played with output buffer manipulation. Especially in SMF, where there are plenty of buffers at a time...
Attachments totally failed to load before. Just went to an error message about not being able to load the page.

What was happening is that there was an extra output buffer existing that shouldn't have existed, which was causing content not to be flushed properly - and even if it did get flushed, the result would be corrupted because it would be gzipped content when the header implied otherwise. (I haven't checked the browser-specific stuff yet, that's next up)

Gzipping binary content when you're serving in true binary probably isn't a clever idea ;) And if it's over 4MB, you don't really want to be managing that in PHP anyway since it'll be coming out of PHP memory, PHP buffering and possibly fail between PHP and webserver.
Quote
unset($GLOBALS['cachedir'], $GLOBALS['db_character_set']);
I wonder why SMF never did that.
Quote
Well, I added the script tag in ManageSettings, didn't I...?
It still breaks though, vomiting raw JS onto the page :/
Quote
Given these last few hectic hours, it's no surprise we're both making blunders here and there. That's why we proof-read each other's code. Glad to be of help
Not only that but we've made some very large changes to the codebase, and it's unlikely we'd have totally caught every one first time simply because they are very large changes with lots of consequences.