| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
is_readable is flaky under Windows, opendir should be more accurate.
|
| |
|
|
|
|
|
| |
Notably: "PHP5 standards improvements". Maybe it will throw less
PHP warnings now.
|
| |
|
| |
|
|
|
|
|
|
| |
Don't run scrub_in on the subject and body; it's not touching the
database or being output back to the browser, and we send plain text
email. Anything malicious that can be done is a phpmailer bug.
|
|
|
|
|
| |
This should be a more complete fix, and possibly a somewhat more
efficient approach.
|
|
|
|
|
|
| |
Actually transfer all ASF tags into the asf tag array. I suspect that
some things like 'genre' may actually be multivalued, but I don't have
any samples to back that up.
|
|
|
|
| |
I'm tired of seeing alpha1.
|
|
|
|
|
|
| |
Using a relative path required it to be run from the top-level
directory; we already do voodoo to figure out the correct prefix, so we
should use that.
|
|
|
|
|
|
|
|
|
| |
Newer versions of the PCRE library changed behaviour so we can't
replace invalid characters by listing them, since it now requires
that the characters in a pattern are valid Unicode characters. Use an
inverted character class instead.
Might work.
|
|
|
|
|
|
| |
According to the changelog, getID3 1.7.9 standardised on part_of_a_set
as the key for this info (pulled from TPOS or TPA, depending on the
minor version of ID3v2); we were looking for 'pos', which is wrong.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Previously we would say things like "1 seconds" and "1 hours". Using
the magic of ngettext and sprintf we can get rid of the static
concatenation order and become theoretically more translatable as well
as more correct in English.
Also changed the logic a bit, since the old looping method was
unfriendly to my brain.
|
| |
|
|
|
|
|
|
| |
Initial tag is case sensitive; we were emitting [Playlist] but some
players don't accept that. There is unfortunately no real standard to
check, but this does match what Winamp (ack, pthbbt) does.
|
|
|
|
|
|
| |
Picard is putting multiple MBIDs in the tags now that MusicBrainz' new
schema is live. The easiest way to deal with this is to store all of
them as an aggregate value and match against that.
|
|
|
|
|
|
|
|
| |
This would result in extra slashes, e.g.
'/\/([0-9]+?)\s\\\-\s(.+?)\..+$/' instead of
'/\/([0-9]+?)\s\-\s(.+?)\..+$/'
There are some unrelated cosmetic changes as well.
|
|
|
|
|
| |
It could be in either $_REQUEST or a playlist object, so we need to
check the correct one.
|
|
|
|
| |
ID can be multiple digits, so we should capture all of them.
|
| |
|
|
|
|
|
| |
JSON has some strict rules about what can be escaped, and we should have
been scrubbing to entities all along.
|
|
|
|
| |
Add an option to have newly registered accounts disabled by default.
|
|
|
|
| |
Sessions can be longer than 32 characters. Bump to 64.
|
|
|
|
|
|
| |
It seems that Chrome believes that commas end header values (it's
probably correct in this belief). Quoting the value should avoid this,
and potentially other issues.
|
|
|
|
| |
Missing ampersand.
|
|
|
|
|
| |
Video searching was trying to use explode instead of implode. That
won't work.
|
| |
|
|
|
|
|
|
| |
This can, for instance, be used to allow LDAP authenticated users to use the
API without manually setting a password, as long as they've logged in using
the web interface at least once.
|
|
|
|
|
|
|
| |
We were manually loading the vauth class (apparently to work around a
bug in Synology's PHP) but not calling vauth::_auto_init(), so the
default session handler was used. This normally does session locking,
so bad things happened.
|
|
|
|
| |
Cleaned up the code, might work now. Untested.
|
|
|
|
| |
http://freshmeat.net/projects/captchaphp
|
| |
|
| |
|
|
|
|
|
| |
The rewritten MPD module did not allow passing false values to MPD.
Using isset instead of boolean evaluation fixes this.
|
|
|
|
| |
Allows for odd characters in the database username and password.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Api::search_songs needed to declare a type, and Search::run needed to
honour that declaration.
|
| |
|
|
|
|
|
| |
Acting on 'click' sends the AJAX request as soon as the user clicks to
make the dropdown drop down; watch for 'change' instead.
|
| |
|
|
|
|
|
| |
Use Access::check_network to check the ACLs. Be more restrictive about
validating timestamps. Miscellaneous cleanup (line wraps, etc.)
|
| |
|
| |
|
| |
|