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
Duncan Sommerville
c12848b2de
* SAAS-1212 - fix validation errors in station podcast rss
...
* Append podcast title to heading in episodes view
2015-11-17 12:26:21 -05:00
Duncan Sommerville
7707378c2b
Improve the publish service implementation
2015-11-16 16:18:29 -05:00
Duncan Sommerville
74f7c454b5
* SAAS-1184 - more polish for publishing/podcasting
...
* Fix some issues with the station podcast feed
* Various small fixes
2015-11-11 16:47:07 -05:00
Duncan Sommerville
bb7f8c1ed3
SAAS-1184 - bugfixes and polish
2015-11-10 15:10:36 -05:00
Duncan Sommerville
0360b5e460
* SAAS-1182 - added sanity checks and additional logic to rss import and episode generation
...
* SAAS-1184 - started work on podcast UI polishing
* Fixed pull request issues
2015-11-09 18:17:49 -05:00
Duncan Sommerville
0be26d621b
SAAS-1165 - implement most functionality for left-hand podcast episodes view
2015-11-05 18:15:58 -05:00
Albert Santoni
685134d8bb
Better trial suspension notice
2015-11-05 12:45:09 -05:00
Duncan Sommerville
def8e7280b
* SAAS-1161 - refactor backend so episodes are loaded separately from podcast data to speed up loading and improve API readability
...
* Decouple imported and station podcast behaviour on the frontend
2015-11-02 18:07:16 -05:00
Duncan Sommerville
4f281a30ed
Add SoundCloud update and download tasks to Celery backend; requires airtime-celery reinstall
2015-10-30 16:10:16 -04:00
Duncan Sommerville
9af7f6dcdd
Fix tabs bugs and podcast auto-ingest error
2015-10-30 10:29:22 -04:00
Duncan Sommerville
d08e19a93a
More small TaskManager and auto-ingest fixes
2015-10-29 18:26:20 -04:00
Duncan Sommerville
e3feb17f0c
* Change the Celery timeout to 15 minutes (from 10) to better accommodate automatic ingest
...
* Fix various small bugs in auto ingestion and tab implementation
* Update TaskManager run conditions to piggyback on API calls - guarantees a certain frequency of requests and greatly reduces chances of lock contention
2015-10-29 17:53:45 -04:00
Duncan Sommerville
95aae317c6
Merge branch 'saas-dev' into saas-dev-publishing
...
Conflicts:
airtime_mvc/application/controllers/plugins/PageLayoutInitPlugin.php
airtime_mvc/public/css/dashboard.css
airtime_mvc/public/js/airtime/library/spl.js
2015-10-29 11:21:24 -04:00
Duncan Sommerville
ada7212823
Add TaskManager task to fail pending imports over an hour old
2015-10-29 11:03:28 -04:00
Duncan Sommerville
cd17a23d13
Fix download counter reset timer
2015-10-29 09:23:41 -04:00
Duncan Sommerville
cc9f1ea6d0
* Wrap station podcast feed contents on radio page in displayRssTab check
...
* Test fix for automatic ingest bug
* Move disable layout code in feeds controller to avoid error case
2015-10-28 10:58:22 -04:00
Duncan Sommerville
e8980e7a79
Bugfixes and more work on station podcast frontend
2015-10-22 18:03:38 -04:00
Duncan Sommerville
f94e462fe0
Revert polling interval for podcast ingest
2015-10-22 12:22:56 -04:00
Duncan Sommerville
9302027a2b
Fix issue with automatic ingest; shift episode ingest to PodcastEpisodesController
2015-10-22 12:12:41 -04: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
6c0055895c
Set auto ingest timestamp when updating
2015-10-21 11:18:33 -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
Albert Santoni
f79ca8650f
Unpaid invoice usability hint and invoice page style fix - SAAS-1134
2015-10-20 15:44:24 -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
Duncan Sommerville
be3a3fbd9f
* Fix error in automatic podcast ingest
...
* Switch from text-scrolling to using title attributes to display overflowing text strings
2015-10-19 12:57:18 -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
d09941dffa
Set TaskManager run interval back to 30 seconds
2015-09-28 14:15:08 -04:00
Albert Santoni
8b6833180d
Refactored double Set-Cookie prevention code, and session reopening code
2015-09-25 12:03:10 -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
Albert Santoni
a86e3ed4a8
Improvements to the preferences screen
2015-09-23 18:21:30 -04:00
Duncan Sommerville
ee1ceb9281
Update TaskManager to be a bit easier to extend
2015-09-22 20:21:19 -04:00
Duncan Sommerville
f9ace20075
Simplify third-party/celery/soundcloud implementation
2015-09-21 17:03:46 -04:00
Duncan Sommerville
be39b6b7c0
* Initial podcast skeleton functionality
...
* Rename SoundCloud/Celery classes to fit conventions
* Small fixes to Table class functionality
2015-09-18 15:34:55 -04:00
Duncan Sommerville
dc840bf25f
Fix bad file extension
2015-09-16 15:31:59 -04:00
Duncan Sommerville
9ed3145473
Create oauth controller interface for oauth-specific actions; small refactoring on tabs.js
2015-09-16 15:29:10 -04:00
Duncan Sommerville
7b76c8d6d3
Rename CeleryService to avoid confusion; fix wording and reduce redundancy in task functions
2015-09-15 15:06:03 -04:00
Albert Santoni
f6a33802db
Merge branch 'saas-dev-tablerefactor' into saas-dev-publishing
2015-09-15 14:21:53 -04:00
Albert Santoni
ffdc83dc26
Reusable datatable control that hooks up to any of our REST APIs
...
* Implements item selection (single, shift, ctrl), pagination, and
sorting. To be used in the future.
* Added example code for how to use the table widget
* Temporarily added a table test page to the DashboardController
2015-09-15 14:18:35 -04:00
Duncan Sommerville
893d60ed44
Revert "SAAS-1061 - implement podcast list view skeleton; small bugfixes"
...
This reverts commit 0fcf6a8dac
.
2015-09-14 18:29:43 -04:00
Duncan Sommerville
8c65ba8f66
SAAS-1061 - implement podcast list view skeleton; small bugfixes
...
Conflicts:
airtime_mvc/public/js/airtime/library/library.js
2015-09-14 18:29:13 -04:00
Duncan Sommerville
0fcf6a8dac
SAAS-1061 - implement podcast list view skeleton; small bugfixes
2015-09-14 18:26:28 -04:00
Duncan Sommerville
83cd51de92
Reword usability hint text to match calendar context menu
2015-09-03 15:42:27 -04:00
Duncan Sommerville
c020e3449d
SAAS-1044 - fix links in usability hints
2015-09-02 12:55:36 -04:00
Albert Santoni
a17001a90a
Merge branch 'saas' into saas-dev
...
Conflicts:
airtime_mvc/application/views/scripts/billing/upgrade.phtml
airtime_mvc/public/css/billing.css
2015-09-02 10:47:37 -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
drigato
fa340c3e30
SAAS-976: September 1st: Undo the billing page changes for the August promotion
2015-08-31 13:37:20 -04:00
Duncan Sommerville
294298c9bf
CC-6096, CC-6093 - update calendar context menu and usability hint wording; bugfixes
2015-08-27 16:59:21 -04:00
Albert Santoni
98ac8fd851
Major layout work on the smartblock and playlist editors
...
* CC-6088: Smart Block form needs to have a form layout
* CC-6089: Editor view name fields must be made <input> fields
2015-08-26 13:10:51 -04:00
Albert Santoni
b6cf517d10
CC-6093: Review and fix the usability hints text
2015-08-25 16:48:31 -04:00
Albert Santoni
498b3243e0
Fix navbar highlights when navigating via usability hints
2015-08-25 16:43:10 -04:00
Albert Santoni
700c3c4005
Merge branch 'saas-dev' into saas-showbuilder
2015-08-25 13:27:40 -04:00
Duncan Sommerville
32100e2d9b
SAAS-948 - frontend tweaks
2015-08-12 16:54:45 -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
e49d337db0
Merge remote-tracking branch 'origin/saas-stream-settings' into saas-dev
2015-08-05 14:50:31 -04:00
Albert Santoni
d0d6efd508
Fix m4a uploads in Airtime
2015-07-31 15:02:53 -04:00
Denise Rigato
f19b6b4bf2
Merge pull request #123 from sourcefabric/saas-aug-promo
...
Airtime Billing page - Add support for August promotion plans
2015-07-31 13:55:20 -04:00
Albert Santoni
78327c4f68
Merge branch 'saas' of github.com:sourcefabric/Airtime into saas
2015-07-31 11:44:29 -04:00
Albert Santoni
84c21de578
Fix error logic if no API key passed to provisioning/create API
2015-07-31 11:43:58 -04:00
drigato
ff61fab62a
SAAS-973: Airtime Billing page - Add support for August promotion plans
...
Fix to not allow current promo plans to downgrade to another promo plan
Added promo banner to billing page
2015-07-31 10:46:02 -04:00
drigato
48d745bf77
Hide Awesome August 2015 promo plans from billing page
2015-07-30 13:37:15 -04:00
drigato
b2fbb27801
SAAS-973: Airtime Billing page - Add support for August promotion plans
...
Made WHMCS Airtime group id a constant
Check for CSRF token on promo eligibilty ajax check
2015-07-30 13:27:32 -04:00
drigato
bccba2f9d5
SAAS-973: Airtime Billing page - Add support for August promotion plans
...
Front-end changes to price grid, and plan title
2015-07-30 12:53:37 -04:00
drigato
d9e2ba0ed3
SAAS-973: Airtime Billing page - Add support for August promotion plans
...
Un-hardcode product ids
2015-07-30 09:39:50 -04:00
drigato
4ed87de183
SAAS-973: Airtime Billing page - Add support for August promotion plans
...
Backend side pretty much done
2015-07-29 22:24:17 -04:00
drigato
ce7765a8cb
Merge branch 'saas' into saas-dev
2015-07-21 11:03:31 -04:00
drigato
6f09ef4af1
Change usability hint wording
2015-07-21 07:27:26 -04:00
drigato
7f4fbf65e1
SAAS-960 Change hint for currently playing linked show
2015-07-17 12:48:57 -04:00
Duncan Sommerville
1816be156f
SAAS-922 - change file extensions in pypo based on mime-type, update lists of accepted mime types
2015-07-16 16:26:52 -04:00
drigato
e07d62b020
Small comments fix
2015-07-15 10:41:01 -04:00
drigato
7b237a2e65
SAAS-940: Provide usability hints to user
...
Changed some hint wording
2015-07-14 12:14:00 -04:00
drigato
2de831a37f
SAAS-940: Provide usability hints to user
...
Made hints more specific
2015-07-14 11:45:37 -04:00
drigato
25ef70767b
SAAS-940: Provide usability hints to user
...
Customized hints depending on what page the user is on and what action
they just completed.
2015-07-13 17:02:31 -04:00
Duncan Sommerville
9fdc08f88a
SAAS-876 - reset to default settings when using Airtime Pro streaming
2015-07-13 12:28:58 -04:00
drigato
48547ee347
SAAS-940: Provide usability hints to user
...
Refactored some code
2015-07-13 11:19:04 -04:00
drigato
55999a07ec
SAAS-940: Provide usability hints to user
2015-07-13 08:06:41 -04:00
Albert Santoni
1efa591d67
Fixed double HTML encoding on embedded schedule widget
2015-07-09 12:49:49 -04:00
Duncan Sommerville
3cebbaf29a
Add aac mime-types into audio mime map
2015-07-07 16:15:35 -04:00
Duncan Sommerville
776596d5b6
SAAS-922 - replace large conditionals with single public mime-type map
2015-07-07 15:48:22 -04:00
Duncan Sommerville
e246771af0
SAAS-922 - additional mime-type coverage
2015-07-07 15:09:06 -04:00