summaryrefslogtreecommitdiffstats
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
* Update CHANGELOGPaul Arthur2013-10-301-0/+6
|
* Add naive compaction for Query serializationapiPaul Arthur2013-06-121-0/+1
| | | | | | | | | | | | | | | | | | | | | Can be very efficient with the right input, but probably has degenerative cases where it increases the size. Worst-case size increase is one character per ID in the result set, so it shouldn't be an issue. String lengths for a large search result that was unstorable before: serialize: 1991874 json_encode: 756249 cooked: 244 And some with more discontinuity: serialize: 1772238 json_encode: 674751 cooked: 37950 serialize: 164942 json_encode: 65771 cooked: 25369
* Don't cache browses for the APIPaul Arthur2013-06-121-0/+2
| | | | | The API will never request it again, so caching the query just wastes space.
* Remove old changelogPaul Arthur2013-06-031-1877/+0
|
* Drop validateEmailPaul Arthur2013-05-301-0/+1
| | | | | PHPMailer will validate the format of the address, and that's all we really want.
* Bump PHPMailer to 5.2.6Paul Arthur2013-05-301-0/+1
| | | | Development has moved to GitHub: https://github.com/PHPMailer/PHPMailer
* Onward to the futurePaul Arthur2013-05-301-0/+3
|
* Finalise 3.6-alpha63.6-alpha6Paul Arthur2013-05-301-3/+2
|
* Use the correct operator for 'before date' rulesthinca2013-05-301-0/+2
|
* Register session_write_close shutdown functionPaul Arthur2013-05-301-0/+1
| | | | | | | | | | | | | | | | http://php.net/manual/en/function.session-set-save-handler.php: When using objects as session save handlers, it is important to register the shutdown function with PHP to avoid unexpected side-effects from the way PHP internally destroys objects on shutdown and may prevent the write and close from being called. Typically you should register 'session_write_close' using the register_shutdown_function() function. We're not using objects as session save handlers, but some people (notably, Synology users) seem to be encountering a similar issue related to the timing of object destruction. Closing the session earlier in the shutdown process is a perfectly sane thing to do, so let's do it.
* install: Add support for MySQL socketsPaul Arthur2013-05-271-0/+1
| | | | | If we're using a socket, grant privileges to user@localhost, not user@socketname.
* Set the memory_limit to at least 32MPaul Arthur2013-05-151-0/+1
| | | | '32' != '32M'
* Fix Rating::gc()Paul Arthur2013-05-131-0/+2
| | | | | | The join was incorrect, sometimes resulting in loss of ratings. Fixes GH #22
* Make Catalog::count_songs use the correct variablePaul Arthur2013-05-131-0/+1
| | | | Fixes GH#23
* Increase the field size in the ACL entry formPaul Arthur2013-05-131-0/+2
| | | | | It wasn't large enough to enter IPv6 addresses. Fixes GH #24
* Add a working check for database existencePaul Arthur2013-05-131-0/+2
| | | | Fixes GH #21
* Fix 'foo all catalogs' via the web interfacePaul Arthur2013-05-131-0/+2
| | | | | | | Evidently Catalog::get_catalog_ids() wasn't quite as unused as I thought it was. Fixes GH #18
* Add support for nonstandard MySQL portsPaul Arthur2013-05-131-0/+1
|
* Bump getID3 versionPaul Arthur2013-05-131-0/+1
|
* Update the stream_playlist table to use MyISAMPaul Arthur2013-04-291-0/+1
| | | | | | | | | | | | InnoDB's performance is unacceptable out of the box, and there's no clean way to batch these insertions into transactions, and stuff. Benchmarks for 1000 inserts: InnoDB: 54.826 MyISAM: 0.091 InnoDB transaction: 0.159 Fixes GH #14
* Clean up Random::play_url()Paul Arthur2013-04-231-0/+2
| | | | | | | | | Include the correct type parameter in the URL and rename the random type parameter to random_type. Remove unused parameters from the function call. Should fix issue #11
* Cosmetics: html5_player.phpPaul Arthur2013-04-151-0/+3
| | | | Correct vim modeline. Remove useless switch.
* Finalise 3.6-alpha53.6-alpha5Paul Arthur2013-04-151-2/+2
|
* Fix date format in CHANGELOGPaul Arthur2013-04-131-1/+1
|
* Drop MIGRATIONPaul Arthur2013-03-291-63/+0
| | | | | Should think about making the upgrade section of the README more useful, but this information isn't particularly helpful nowadays.
* INSTALL was outdated and wrong and bad.Paul Arthur2013-03-291-241/+0
|
* Cosmetics: fix markdown in CHANGELOGPaul Arthur2013-03-291-2/+2
|
* Reformat CHANGELOG some more, move old entries outPaul Arthur2013-03-292-2819/+468
|
* Try slightly reformatting CHANGELOGPaul Arthur2013-03-291-0/+2350
|
* First pass at making a github READMEPaul Arthur2013-03-271-159/+0
|
* Scrub user data in User->update()Paul Arthur2013-02-071-0/+2
| | | | Fixes another persistent XSS vulnerability.
* Fix persistent XSS vulnerabilities in AJAX editingPaul Arthur2013-02-071-0/+2
| | | | | Based on merge request #22 from Jean-Lou Hau, but does the escaping for everything and in a different place.
* Clean up vainfo somewhatPaul Arthur2013-02-051-0/+4
| | | | | | | | | | | | | | Handling of unknown tags was wrong (we should just pass them through and hope for the best, not do some weird-ass id3v2 thing). Add matroska to the list of known tags. Switch the video types to a generic cleanup function and move the several-times-duplicated general information gathering into the general information gathering function where it belongs. Treat the general information as another tag type instead of special-casing it as a complete override through array_merge. Drop the useless iconv stuff (getID3 already translates tags to our requested charset). Rename some functions to more closely match their purpose. Fix some private functions that were marked public. Fix encoding detection, which has been completely broken for a while.
* Switch Dba from mysql to PDO-MySQLPaul Arthur2013-01-291-0/+1
| | | | | The mysql extension is deprecated in PHP 5.5 and will be removed in the future.
* Log stderr when we transcodePaul Arthur2013-01-281-0/+1
| | | | | Now you shouldn't need to manually run the command to see what went wrong.
* Fix incorrect updatesPaul Arthur2013-01-281-0/+2
| | | | | Starting with a fresh 3.3.3.5 import these updates failed. Kick them to the curb.
* Add 'external' auth methodPaul Arthur2013-01-281-0/+2
| | | | Based on merge request #11
* Rename the 'local' auth method to 'pam'Paul Arthur2013-01-281-0/+1
| | | | It's what it should have been from the start.
* Yank out the Flash player by the roots.Paul Arthur2013-01-282-6/+1
|
* Add an HTML5 playerHolger Brunn2013-01-281-0/+1
| | | | | Merge request #20. Basic, not very pretty, but works and, unlike the Flash player, is maintainable.
* Cosmetics: s/incase/in case/Paul Arthur2013-01-251-1/+1
|
* Change css handling for RTL languagesPaul Arthur2013-01-251-0/+1
| | | | | | | | | | | | Code duplication is bad even when it's CSS, mmkay? If a theme has templates/rtl.css, it will be loaded in addition to default.css. This is more sane than the old behaviour, which loaded default-rtl.css instead of default.css. I'm not feeling ambitious enough to actually check whether the current -rtl.css files work and change them to overrides instead of modified copypasta, so I just dropped them for now.
* Fix add and edit catalog legend format specifiers in penguin themeFred Thomsen2013-01-231-0/+2
|
* Rework transcodingPaul Arthur2013-01-231-0/+1
| | | | | | | | Remove some of the roundabout complexity that had built up. Push people toward using a single, flexible tool for most of their transcoding needs. Increase backend and configuration flexibility to support user-requested format changes (e.g. for an HTML5 player); this functionality is not yet exposed.
* Tear the offset/eof/size crap out of StreamPaul Arthur2013-01-231-0/+3
| | | | | | Now that playback doesn't pretend it's supported, we don't need the fragile hacks to support guessing the content size or 'seeking' within a transcoded stream.
* Mess around with rating searchPaul Arthur2013-01-231-0/+3
| | | | | Simplify the rating search and drop the ugly subquery; make it a straight query against the current user's ratings.
* Update prototype to git HEAD (4ce0b0f)Paul Arthur2013-01-151-0/+1
| | | | git://github.com/sstephenson/prototype.git
* Cosmetics: reformat changelogPaul Arthur2013-01-151-2086/+2083
|
* Always output masked passwordFred Thomsen2013-01-151-0/+2
| | | | | Previously, users who didn't have access to modify the password were shown the actual current setting instead of asterisks.
* Make playlist downloads idempotentPaul Arthur2013-01-151-0/+2
| | | | | | | | | | | | | | | | | | | | Should fix the VLC plugin, as well as allow direct use of an Ampache site on Android devices. First, split the Stream class into an instantiable class that does the playlist wrangling and a static class that handles the streaming stuff. How does this work? Well, stream.php does its fancy stuff like gathering the media IDs and clearing the playlist, but instead of generating the playlist file there we use the Stream_Playlist class to store the list of URLs in the database, then redirect to play/index.php to create the actual download (there are some magic playlist types like localplay that don't need to redirect.) The playlist will be cached as long as that stream session is active, so it can be downloaded multiple times and by clients that don't share the browser's cookie cache. Clean up the playlist generation by reducing copypasta.