Trying to view documentation with an invalid path would cause an error when it
encoded the path in the 404 error page, so rather than fix that case, just use
a safer function everywhere. Although maybe should be a bit more cautious about
displaying user supplied text?
- Use `http_response_code` as it's a bit more robust than using `header`.
- Check errors against `error_reporting()`, so that error checks can be
ignored when appropriate.
It used to just grab anything that looked like a version number from a
string. Now the whole string must be a version number. Left the library
list in a little bit of a mess, but will clean that up next.
So that a release can have a version number before it goes into beta.
Note: needed to run update-doc-list for this to work, as the serialised
documentation list includes version numbers.
This allowed me to simplify some of update-doc-list as there's no longer
any need to work out the module for a library. This might break
update-doc-list in places. Will work on that next.
The ruby version resolves partial paths to the current working
directory, this resolves them to the path of the current file. I can't
see it specified anywhere and this seems like better behaviour to me.
This requires the use of composer, which I've been avoiding to make
running the website easier, but in this case it isn't needed as part of
general operations, so it should be okay.
Now cleans up the database even when there are no updates. Updating for
a relese is better integrated. And also sets up the ground work for
deleting libraries.
The code was pretty messy because it was using BoostLibraries for
everything, this will hopefully let it be a bit cleaner.
Also removes support for xml metadata files. No one has ever used it.
It used to just ignore the beta information, but that wasn't quite right.
This does means that the library details will still have information about
the beta version after a release, which isn't desirable, but it
shouldn't be too hard to write something to strip out old beta
information.
PHP 5.4 uses UTF-8 by default, but PHP 5.3 uses ISO-8859-1 so character
encoding is going wrong there. So replace htmlentities with a function
that uses the correct encoding.