Commit Graph

309 Commits

Author SHA1 Message Date
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 21356d1894 completely remove deactivated cache
Cache handling has been disabled on saas-dev and 2.5.x at least for a while. This gets completely rid of it.

You should do caching on the byte-code level in PHP using the tool best fitting your needs and depending on the exact PHP version you are running this on.

Proper cache hygiene ist a routine part of maintenance and may need seperate addressing depending on the needs of your station.
2017-03-07 05:43:05 +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
Robb Ebright 276a69aa1b Porting commits from downloaded zip file of saas-dev branch 2017-02-13 18:22:22 +01:00
Albert Santoni db596d54b5 Fix bug in my last commit 2015-12-11 12:29:59 -05:00
Albert Santoni 2594105a5e Handle unknown plan types more gracefully with the bandwidth limit 2015-12-11 10:19:11 -05:00
drigato 34eb7d6e22 Merge branch 'saas-dev' into saas-dev-bandwidth-limits 2015-11-26 11:30:03 -05:00
Duncan Sommerville 24f488cac2 Fix typo in pref keys 2015-11-25 16:08:31 -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 553299e9f5 Try to fix some schedule bugs 2015-11-23 14:55:37 -05:00
Duncan Sommerville bac1e553d9 SAAS-1229 - add comments in Preference and set update timer 2015-11-23 10:53:25 -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
drigato ceafccd685 Hide podcast from radio page for hobbyist plans 2015-11-18 12:12:57 -05:00
Duncan Sommerville 1571887928 Change how station logo default is returned 2015-11-17 18:58:58 -05:00
Duncan Sommerville 22f8b0f328 * SAAS-1153 - more work on station podcast frontend. Add delete and edit button functionality for episode table
* Various fixes and backend updates
* Move station podcast creation to id getter in Preferences
2015-11-03 16:23:17 -05:00
Duncan Sommerville 6580c12ad3 Add station podcast privacy toggle 2015-10-21 17:30:24 -04:00
Duncan Sommerville 92ffa955c3 SAAS-1081 - implement station podcast download counter that resets monthly 2015-10-21 12:54:50 -04:00
Duncan Sommerville 0b1df6baf3 * SAAS-1084 - initial work on publishing API backend
* More work on automatic ingest
* Add automatic_ingest_timestamp column to ImportedPodcast
2015-10-20 19:03:34 -04:00
Duncan Sommerville 12f6536e74 Merge branch 'saas-dev' into saas-dev-publishing
Conflicts:
	airtime_mvc/application/Bootstrap.php
	airtime_mvc/application/controllers/plugins/Acl_plugin.php
2015-10-19 16:18:19 -04:00
drigato 14104a93ae SAAS-1080: Station podcast feed 2015-10-19 11:54:53 -04:00
Duncan Sommerville bddc121c2d Initial work on automatic ingest for imported podcasts 2015-10-15 14:44:17 -04:00
Albert Santoni 8b33acacd3 Merge branch 'saas-sessionoptimizations' into saas-3.x-sessionoptimizations
Conflicts:
	airtime_mvc/application/Bootstrap.php
	airtime_mvc/application/configs/constants.php
	airtime_mvc/application/controllers/LoginController.php
	airtime_mvc/application/controllers/UserController.php
	airtime_mvc/public/js/airtime/preferences/preferences.js
2015-09-29 18:58:55 -04:00
Duncan Sommerville a75a9676f2 More robust solution for not showing what's new popup to new users 2015-09-29 11:28:20 -04:00
Albert Santoni 943048dd87 Hacky fix for SAAS-1090 - Allow airtime-system to work with session optimizations 2015-09-28 17:48:04 -04:00
Duncan Sommerville 67c20630a3 UI revamp what's new dialog 2015-09-28 17:19:02 -04:00
Albert Santoni c03e9cbe9a SAAS-1085: Optimization - Don't start sessions unless we actually need them. 2015-09-25 10:41:51 -04:00
Duncan Sommerville 63ce022a8d SAAS-1040 - station logo functionality improvements 2015-09-02 15:28:36 -04:00
Albert Santoni 6251fd62d5 Merge branch 'saas-dev' of github.com:sourcefabric/Airtime into saas-dev 2015-09-02 10:42:23 -04:00
Albert Santoni 6959c459cd Scheduler transaction improvement and preferences transaction removal
* Added a transaction to createAndFillShowInstancesPastPopulatedUntilDate
  to ensure two requests don't trigger duplicate repeated show instances
  in the calendar.
* Removed the transaction from setValue() in Preference and opt for
  a row-level lock instead.
2015-09-02 10:40:38 -04:00
Duncan Sommerville 37df86723d CC-6127 - Add 'Use station default' option to user settings timezone, don't set user timezone by default when creating the admin user 2015-09-01 16:10:33 -04:00
Albert Santoni 75914b791c Merge branch 'saas-dev' into saas
Conflicts:
	airtime_mvc/application/common/FileDataHelper.php
2015-08-10 09:00:54 -04:00
Albert Santoni fc5d20f4d6 Safen up getUsingCustomStreamSettings() 2015-08-10 08:57:21 -04:00
drigato ea86675d07 SAAS-994: The Scheduled Play switch should not be able to be turned off without a warning message
Hid the element in the dashboard so it can never be turned off.
2015-08-06 11:14:43 -04:00
Albert Santoni 1d39117b21 Merge remote-tracking branch 'origin/saas-email' into saas-dev 2015-08-05 14:50:58 -04:00
Albert Santoni e49d337db0 Merge remote-tracking branch 'origin/saas-stream-settings' into saas-dev 2015-08-05 14:50:31 -04:00
Albert Santoni c934866063 Two small code improvements 2015-08-04 17:42:53 -04:00
drigato ee2bfe7664 SAAS-945: Language + Timezone Setup Popup 2015-07-27 07:06:22 -04:00
Duncan Sommerville 5c4803ddf2 SAAS-781 - password reset 2015-07-22 13:48:47 -04:00
Duncan Sommerville 9fdc08f88a SAAS-876 - reset to default settings when using Airtime Pro streaming 2015-07-13 12:28:58 -04:00
Duncan Sommerville 37ed35f5b2 Merge branch 'saas-dev' into saas-stream-settings
Conflicts:
	airtime_mvc/application/models/Preference.php
2015-07-10 10:29:38 -04:00
drigato 0601bd675e SAAS-939: Add option to preferences to display login button on radio page 2015-07-09 14:38:44 -04:00
Duncan Sommerville 6b9d9e8063 Merge branch 'saas-dev' into saas-stream-settings 2015-07-08 12:47:24 -04:00
Duncan Sommerville 92c9fd30b5 SAAS-922 - expose mime-based file extensions from /rest/media 2015-07-07 13:54:19 -04:00
Duncan Sommerville 5cb396e512 SAAS-923 - 2.5.14 schema upgrade to add partial unique index on cc_pref's keystr column (when subjid is null) 2015-07-06 18:03:44 -04:00
Duncan Sommerville cb0593370a Quick fix 2015-07-04 00:38:53 -04:00
Duncan Sommerville 457230ba07 SAAS-876 - Initial commit 2015-07-03 13:32:41 -04:00
Duncan Sommerville 5cc8774e56 Merge branch 'saas-dev' into soundcloud
Conflicts:
	airtime_mvc/application/configs/constants.php
2015-06-29 10:02:58 -04:00
Duncan Sommerville 5fe70754bd Replace all timestamp strings with constant 2015-06-26 14:42:52 -04:00