Commit Graph

2120 Commits

Author SHA1 Message Date
Lucas Bickel 9807e78f72 Use json_encode if we need to return js and not json
Turns out the zf1 jsonHelper whas doing some weird stuff to the content-type header under the hood.
2017-04-09 12:40:35 +02:00
Robb Ebright 8e3076190c keep db changes in alpha.1 2017-03-31 11:17:26 -04:00
Robb Ebright b42dd20e09 Merge remote-tracking branch 'origin/master' into feature/repeat-autoplaylist-until-show-is-full 2017-03-31 11:12:17 -04:00
Robb Ebright c12ad4ea4f added UI to toggle autoplaylist repeat option 2017-03-31 00:00:19 -04:00
comiconomenclaturist f42401a6ad modified: airtime_mvc/application/controllers/ApiController.php 2017-03-27 16:04:20 +02:00
Robb e73a2941fd Merge pull request #121 from radiorabe/feature/restore-recording-feature-part-2
Fix recording through ecasound
2017-03-26 00:19:49 -04:00
Robb Ebright 4b9a105a89 Merge branch 'feature/restore-recording-feature-part-2' of https://github.com/radiorabe/libretime into radiorabe-feature/restore-recording-feature-part-2 2017-03-26 00:04:09 -04:00
Robb d6b7a86048 Merge pull request #123 from radiorabe/feature/translatable-radio-page
Translatable radio page
2017-03-26 00:02:36 -04:00
Lucas Bickel c2deb94c16 Make radio page translatable
This makes the radio page use the station default language if one is set. Previously the pages where not really getting translated.
2017-03-24 17:23:21 +01:00
Lucas Bickel 0274920d14 Restore datatables-library from server on login
When localStorage is empty we try getting the data from the server. This is a bit hacky since the ui uses a very old version of datatables.
2017-03-24 16:21:39 +01:00
Lucas Bickel b267036483 Fix recording through ecasound
This is part 2 of fixing ecasound recordings from line-in. Part 1 restored the User-Interface, part 2 takes care of getting to the point where ecasound gets started, records something and uploads it through rest when done. Part 3 will take care of making sure that the recorded file is mapped to the show and not just stored as a new track.

I refactored api_clients to not use urllib2 for posting multipart data since I was loosing my sanity over it and requests seems to have a modern approach to doing this compared to what api_clients was previously doing.
2017-03-24 15:15:37 +01:00
Lucas Bickel 01e7b31ccb Add missing string to localcontroller 2017-03-24 13:36:31 +01:00
Lucas Bickel caaa0c0e2a Fix locale generation for js dicts 2017-03-23 23:01:20 +01:00
Lucas Bickel 06a3ad0ed3 Re-implement version check
This makes LibreTime check its version against github releases and lets the user know when to update. It uses the red exclamation point when there is a patch release or if LibreTime is more than one major release ahead. The orange icon is used when LibreTime is on a git install, a single major update is available, or a pre-release version is installed. The green update icon gets used to signify that a new minor release is available. Finally the green checkmark will be used when you are on a stable release.
2017-03-20 20:36:46 +01:00
Lucas Bickel 81d3c3e2b8 Merge pull request #84 from Robbt/fix/live-stream-source
[WIP] Making show and master source ports and mount points editable.
2017-03-20 02:06:58 +01:00
Lucas Bickel b93a0eccc6 Build form early and reactivate ajaxy replacing
This makes subform validation work for everything again. I also had to slightly unhack the corresponding js. It's still not very nice in that it still reloads even though ajax would have been enough but I could figure out why the mast source field was not getting the proper values (You can reproduce this by commenting the window.location.reload() in the js).
2017-03-19 12:35:58 +01:00
Lucas Bickel 1310c44d75 Fix: add missing upgrade scripts 2017-03-18 11:46:30 +01:00
Lucas Bickel 7f00182913 Allow 0 file_id in third_party_trackrefs
The previous constraint of NOT NULL made it impossible to create a placeholder entry for later downloading. This uses a 0 default instead of the constraint and downloading as well as the green checkbox work again.
2017-03-18 11:37:45 +01:00
Lucas Bickel e1cf27664b Cleanup dead code 2017-03-17 15:09:21 +01:00
Lucas Bickel d68c95b144 Add db up/downgrade script for album_override field 2017-03-17 14:36:28 +01:00
Robb Ebright 9fe31a5923 minor code clean-up 2017-03-16 22:30:08 -04:00
Robb Ebright fefc53c000 basic podcast album override option in preferences 2017-03-16 16:48:31 -04:00
Robb Ebright 4c8f2ad435 fixed default and override URL settings and removed unused validation 2017-03-16 10:18:43 -04:00
Robb Ebright e873e0d8da Merge branch 'fix/live-stream-source' of https://github.com/Robbt/libretime into Robbt-fix/live-stream-source 2017-03-14 19:22:32 -04:00
Robb Ebright 67ffd2d34a Making show and master source ports and mount points editable. 2017-03-14 01:15:14 +00:00
Lucas Bickel 61cde1557f Make password reset work for eveyone
This stops distinguishing between superadmin users from whmcs vs regular local users on the password reset page.
2017-03-13 20:39:21 +01:00
Lucas Bickel 38d4fdcdda Disable all google tracking per default 2017-03-13 17:30:05 +01:00
Lucas Bickel 8afdf2808d Fix sad tape error when saving prefs w/o soundcloud 2017-03-12 15:19:16 +01:00
Robb ff83784864 Merge pull request #56 from radiorabe/feature/version-reporting
Harmonize version reporting in ui and api
2017-03-11 19:06:28 -05:00
Robb 2be8ef0f2b Merge pull request #55 from radiorabe/feature/autodj
Robbs AutoDJ
2017-03-11 18:41:08 -05:00
Lucas Bickel bd18caf69d Harmonize version reporting in ui and api
Everything should use the version from the VERSION file created by the installer like this.
2017-03-10 20:38:43 +01:00
Lucas Bickel 2a53241ba3 Whitespace and deadcode nitpick 2017-03-10 16:27:46 +01:00
Lucas Bickel a7d25e1960 Register and reversion update, add downgrade 2017-03-10 15:49:36 +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
Lucas Bickel 7315af0304 restore /systemstatus page
All it needed was a new controller, and some small ui tweaks + re-adding to the menu. I put it in Settings » Status where I believe it belongs.
2017-03-08 14:46:33 +01:00
Lucas Bickel 7c86991c50 Merge pull request #11 from radiorabe/feature/disable-billing
Problem: Billing is always on
2017-03-04 16:10:50 +01:00
Lucas Bickel 96eb746f18 Merge pull request #9 from radiorabe/feature/missing-arg
Add missing argument to playlistNotFound call
2017-03-04 15:48:22 +01:00
Lucas Bickel e55b95cc3b Merge pull request #7 from radiorabe/feature/turn-off-live-chat-per-default
config to disable live chat
2017-03-04 15:48:00 +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 4875bc37a8 Add missing argument to playlistNotFound call
Was on 2.5.x as 7dbf4cf5d2d37057e1f5ab72cb12ffcc5ddc1ccb
2017-03-03 15:34:21 +01:00
Lucas Bickel 8fbf4fec8b config to disable live chat
Problem: Live Chat points back to legacy upstream and I do not believe we can let them do support for us ;)

Solution: Deactivate live chat through constants.php so it never gets checked.

This is like 34db703381 but removes one more sql call and makes it easy to reactivate should anyone want to use the feature in future.
2017-03-03 15:33:19 +01:00
Lucas Bickel 10532dc4e8 Problem: Failed logins always try log in against legacy upstream
Solution: Make the login fallback optional and deactivate it in the default config.

I'm leaving the code in here mostly because I want to revisit it and make it modular so I can later on plug my own FreeIPA things :)
2017-03-03 15:32:31 +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 e3b0a93ebb Only suspend over bandwidth when station is active 2015-12-09 13:03:41 -05:00
Duncan Sommerville 17a03e088f SAAS-1244 - improve pending podcast episode sweeping; small bugfixes 2015-11-26 15:25:38 -05:00
drigato 34eb7d6e22 Merge branch 'saas-dev' into saas-dev-bandwidth-limits 2015-11-26 11:30:03 -05:00
Duncan Sommerville a67ae0a5e4 Fix for Airtime bandwidth limit suspension code 2015-11-25 18:18:24 -05:00
Duncan Sommerville 0fc4f6c26f Fix Airtime bandwidth limit suspension code 2015-11-25 17:56:09 -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