Commit Graph

272 Commits

Author SHA1 Message Date
Lucas Bickel 0f5cb8b1f8 🔥 remove remaining legacy saas code 2019-08-18 16:34:29 +02:00
Kyle Robbertze c69136767e Use user-defined timezone if it exists
Fixes: #785
2019-06-29 22:27:55 +02:00
Robbt 7d1acab7b6 fixed autoloading playlist to avoid errors when trying to schedule empty playlist 2019-02-19 07:49:11 -05:00
Robbt 1bdd27077c add audio/flac to mimetype in filedatahelper 2019-02-15 16:25:51 -05:00
frecuencialibre 4d0fea34fc
Merge pull request #707 from Robbt/intro-playlist
Add Intro and Outro playlist to Autoloading Playlists
2019-02-14 10:49:15 -06:00
Robbt 6f7c2f2cc9 refactored autoplaylist and updated showinstance to make sequential adds possible 2019-02-09 10:58:00 -05:00
Robbt 8de94a670f trying different things for autoplaylist 2019-01-21 11:06:04 -05:00
Robbt f9a5da2ba3 intro playlist scaffolding in place but needs refinement to get working 2019-01-20 19:20:13 -05:00
Robbt 7177fc7bed Removed logging and fix parameter variable 2019-01-13 11:46:55 -05:00
Robbt 2485e70bbe fixed typo in variable 2019-01-13 09:50:21 -05:00
Robbt eb349174dd change album override label to podcast metadata override in preferences page 2019-01-13 00:40:13 -05:00
Robbt e2e8591b4d added track title override for podcasts 2018-12-23 14:54:47 -05:00
Robb 022b231cfe
Merge pull request #536 from radiorabe/dev/fileio-for-sizeless-files-from-legacy
Always return proper file size
2018-10-06 17:11:16 -04:00
Jerry Russell 542c60c30b issue 349 - add missing code to allow preview seek 2017-11-16 00:38:44 +00:00
Xabi Spacebiker 715df8418f Update HTTPHelper.php 2017-09-29 12:21:13 +02:00
Xabi Spacebiker 418e46c5d8 Update HTTPHelper.php
We want getStationUrl to return a slash at the end, so we add it if missing
2017-09-28 11:23:32 +02:00
Lucas Bickel fa2018a2c5 Simplify configuration file structure
This removes most of the legacy upstream config madness by not using
weird config files spread all over the place.

This isn't the solution to other config reading fragility issues, but
it does move the whole config back to the central airtime.conf file.
2017-07-21 13:15:28 +02:00
Lucas Bickel 04e2402276 Fix non default local CORS URL case
I cleaned up the CORSHandler code a bit more and also rewrote the
helper to use the framework to access the request properly and
took care of also grabbing the request schema from the server.
2017-07-18 20:39:53 +02:00
Lucas Bickel fd6f3230ed Always return proper file size
Legacy upstream had a weird way of doing this that could lead to empty files being requested with a range header that did not match what was available on the server. I'm assuming this code used to work aroud some media-monitor feature that has been since refactored into analyzer which handles these cases properly.
2017-04-17 23:03:44 +02:00
Robb 8f372f5610 Merge pull request #136 from radiorabe/feature/freeipa-auth
FreeIPA Auth Adaptor for LibreTime
2017-04-03 11:50:23 -04:00
Robb Ebright 8a92c80bcb Fixed autoplaylist repeat to fill show 2017-04-01 01:00:00 -04:00
Lucas Bickel aa5bc06d74 FreeIPA Auth Adaptor for LibreTime
Allow delegating user authentication to FreeIPA rather than having it be checked against the database.
2017-03-31 14:16:31 +02:00
Robb Ebright 7a944ac9ce code change to repeat autoplaylists lacking UI option to enable/disable 2017-03-30 23:01:31 -04:00
Lucas Bickel ee81a73817 Run more unstranslated Strings through _() 2017-03-24 13:32:15 +01:00
Lucas Bickel 1fc1e6a199 Get rid of session use in auto playlist
The user object was triggering the creation of a user context that tried to grab something from the session. The later code never tried to use this due to the checkPerm flag.

I'm assuming the user model used to have a sane constructor w/o side effects in the times where this code had it's heyday.
2017-03-22 12:26:18 +01:00
Robb Ebright 934cad44b5 Fixing dependence upon hard-coded password by modifying playlist build to not require authentication 2017-03-21 15:02:31 -04:00
Lucas Bickel 38d4fdcdda Disable all google tracking per default 2017-03-13 17:30:05 +01:00
Robb 2be8ef0f2b Merge pull request #55 from radiorabe/feature/autodj
Robbs AutoDJ
2017-03-11 18:41:08 -05:00
Lucas Bickel 1c1f7587a3 Fix _isTask method in taskmanager
The is_a fix from 09aea8b747 was not quite the way to go, with array_key_exists and class_implements implements the TaskManager finds all tasks again.
2017-03-11 22:49:05 +01:00
Lucas Bickel 2a53241ba3 Whitespace and deadcode nitpick 2017-03-10 16:27:46 +01:00
Robb Ebright 32a1a66378 Added AutoPlaylist Functionality to Show Scheduler enabling shows to have tracks added automatically. 2017-03-10 15:33:32 +01:00
Lucas Bickel baa0f9ba77 Make CORS great again
This fixes CORS to work properly with most 2.5 api endpoints while keeping the JSONP format available.

* [x] return JSONP or JSON with proper CORS headers from API
* [x] Field in Genereal Preferences Form to configure CORS enabled URLs

See #17 for what triggered this refactor. I beleive this should make integrating the APIs on the client side trivial without mandating the use of JSONP.
2017-03-10 15:10:56 +01:00
Robb 0abfa7f018 Merge pull request #23 from radiorabe/feature/stop-using-reflection-inproduction-code
stop using reflection in production code
2017-03-04 22:25:34 -05:00
Lucas Bickel 09aea8b747 stop using reflection in prooduction code
Problem: Reflection is a debugging tool and not really meant for use on production. There are easier ways to check if a class implements an interface with `is_a()`.

Solution: Get rid of reflection use and switch to `is_a()` in TaskManager, refactor the Enum thing that does not make sense since it is not being used.

The `is_a()` solution is really straightforward and has been supported in php for ages.

The Enum thing was a copy paste hack from stackoverflow and ignored the simple solution mentioned there while not using the features of the advanced one.
2017-03-03 22:48:19 +01:00
Lucas Bickel 6e03863fa1 Problem: Billing is always on
Solution: Make billing configurable through LIBRETIME_ENABLE_BILLING and deactivate it

This should catch all the changes needed to deactive billing in LibreTime.

* [x] only call billing when it is enabled
* [x] let super admins edit their info
* [x] dont link to billing if it is disabled
2017-03-03 15:34:54 +01:00
Lucas Bickel 625f92fe44 Vendorize ZF1, fix PHPUnit and configure travis
This a a rather large commit due to the nature of the stuff it is touching. To get PHPUnit up and running again I had to update some deps and I did so by vendorizing them. The vendorizing of zf1 makes sense since distros are already considering to drop it from their repos.

* [x] install vendorized zf1 with composer
* [x] load composer autoloader before zf1
* [x] Implement headAction for all Zend_Rest_Controller based controllers
* [x] switch to yml dataset to get around string only limitations of xml sets (also removed warning in readme)
* [x] use year 2044 as hardcoded date for tests since it is in the future and has the same days like previously used 2016
* [x] make tests easier to run when accessing phpunit directly
* [x] clean up test helper to always use airtime.conf
* [x] switch test dbname to libretime_test
* [x] test db username password switched to libretime/libretime
* [x] install phpunit with composer in a clear version (make tests easier to reproduce on other platforms)
* [x] remove local libs from airtime repo (most of airtime_mvc/library was not needed of in vendor already)
* [x] configure composer autoloading and use it (also removed requires that are not needed anymore)
* [x] add LibreTime prefix for FileNotFoundException (phing had a similar class and these are all pre-namespace style)
* [x] add .travis.yml file
* [x] make etc and logdir configurable with LIBRETIME_CONF_DIR and LIBRETIME_LOG_DIR env (so travis can change it)
* [x] slight cleanup in config for travis not to fail
* [x] add cloud_storage.conf for during test runs
* [x] rewrite mvc testing docs and move them to docs/ folder
* [x] don't use `static::class` in a class that does not have a parent class, use `__CLASS__` instead.
* [x] don't use `<ClassName>::class`, since we already know what class we want `"<ClassName>"` ist just fine.
* [x] fix "can't use method in write context" errors on 5.4 (also helps the optimizer)
* [x] add build status badge on main README.md

Fixes https://github.com/LibreTime/libretime/issues/4

The PHP parts of https://github.com/LibreTime/libretime/pull/10 get obsoleted by this change and it will need rebasing.

This also contains https://github.com/LibreTime/libretime/pull/8, the late static binding compat code was broken for no reason and until CentOS drops php 5.4 there is no reason I'm aware of not to support it. I inlined #8 since the test would be failing on php 5.4 without the change.

If you want to run tests you need to run `composer install` in the root directory and then `cd airtime_mvc/tests && ../../vendor/bin/phpunit`. For the tests to run the user `libretime` needs to be allowed to create the `libretime_test` database. See `docs/TESTING.md` for more info on getting set up.
2017-02-27 17:59:01 +01:00
Albert Santoni 09316041c6 Fix unnecessary HTTPS redirect to reduce traffic 2015-12-08 17:47:07 -05:00
Duncan Sommerville 27df10cb5d Mute 'Waiting for Celery task' logging 2015-11-27 17:22:05 -05:00
Duncan Sommerville eff7cd2f07 Fix bug in podcast download 2015-11-27 16:48:44 -05:00
Duncan Sommerville 786b357ed5 Add bandwidth limit for trial plan 2015-11-26 12:37:09 -05:00
Duncan Sommerville e68f6cadd6 Add bandwidth limits for awesome august plan levels 2015-11-26 12:31:59 -05:00
Duncan Sommerville 3f241b2f25 SAAS-1229 - add default bandwidth limit values 2015-11-25 15:04:45 -05:00
Duncan Sommerville 82544f34d9 SAAS-1229, SAAS-1230 - initial implementation of station suspend when over bandwidth limit 2015-11-24 13:36:54 -05:00
Duncan Sommerville 6c2d1f008b SAAS-1229 - initial work on bandwidth limit within Airtime; overhaul TaskFactory to get tasks reflectively 2015-11-19 16:08:25 -05:00
Albert Santoni 965a78c54a Merge branch 'saas-dev' into saas-dev-publishing
Conflicts:
	airtime_mvc/application/controllers/ApiController.php
2015-11-18 12:38:18 -05:00
Duncan Sommerville e75d614537 Merge branch 'saas-dev-publishing' of github.com:sourcefabric/airtime into saas-dev-publishing 2015-11-17 17:50:20 -05:00
Duncan Sommerville bdddd6f6ce Try to fix iTunes RSS compatibility 2015-11-17 17:50:16 -05:00
Albert Santoni 4fd61cb088 Merge branch 'saas-dev-publishing' of github.com:sourcefabric/Airtime into saas-dev-publishing 2015-11-17 17:34:33 -05:00
Albert Santoni c5d9dfd93d Restrict podcast hosting for some plans. Fixed error page colours. 2015-11-17 17:34:13 -05:00
Duncan Sommerville 30c9c730be Bugfixes and itunes compatibility fix 2015-11-17 17:23:21 -05:00