Commit Graph

436 Commits

Author SHA1 Message Date
Lucas Bickel 898a1ce545 Let soudcloud fail gracefuly when unconfigured
This makes general preferences look nice again, even when no soundcloud id and secret is configured (those don't belong us).
2017-03-02 14:47:16 +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
Duncan Sommerville eff7cd2f07 Fix bug in podcast download 2015-11-27 16:48:44 -05:00
Duncan Sommerville 042a9b1558 Fix bug creating track references 2015-11-26 18:54:49 -05:00
Duncan Sommerville 0f5233b32e Fix Celery callback URLs 2015-11-26 16:07:52 -05:00
Duncan Sommerville 17a03e088f SAAS-1244 - improve pending podcast episode sweeping; small bugfixes 2015-11-26 15:25:38 -05:00
Duncan Sommerville e4027c1e1f Sweep pending podcast episodes after an hour; css tweaks to My Podcast page 2015-11-18 16:20:29 -05:00
Duncan Sommerville 9a8e80f74b Change station podcast RSS links back to https; style fix for menu in some browsers 2015-11-18 11:10:14 -05:00
Albert Santoni e915a4f1bb Added iTunes owner field for the station podcast 2015-11-17 20:12:22 -05:00
Albert Santoni ddb2a225f8 Merge branch 'saas-dev-publishing' of github.com:sourcefabric/Airtime into saas-dev-publishing
Conflicts:
	airtime_mvc/application/services/PodcastService.php
2015-11-17 19:35:05 -05:00
Albert Santoni 47193403ea Added ATOM xmlns for iTunes support 2015-11-17 19:33:36 -05:00
Duncan Sommerville 6aafe25fd1 Change station RSS image title to match channel title 2015-11-17 19:28:52 -05:00
Duncan Sommerville 1571887928 Change how station logo default is returned 2015-11-17 18:58:58 -05:00
Duncan Sommerville bdddd6f6ce Try to fix iTunes RSS compatibility 2015-11-17 17:50:16 -05:00
Duncan Sommerville 30c9c730be Bugfixes and itunes compatibility fix 2015-11-17 17:23:21 -05:00
Albert Santoni ef1a57459c Merge remote-tracking branch 'origin/saas-dev-publishing' into saas-dev-publishing 2015-11-17 16:18:57 -05:00
Albert Santoni ff96eba9ea Format podcast RSS XML with newlines 2015-11-17 16:18:38 -05:00
Duncan Sommerville 57d9245fbf SAAS-1214 - add link to preferences from publish dialog when source is disconnected; fix missing check in station rss generation 2015-11-17 12:35:31 -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 2523391d4d Fix itunes duration format in station podcast xml 2015-11-17 11:53:02 -05:00
Duncan Sommerville 7707378c2b Improve the publish service implementation 2015-11-16 16:18:29 -05:00
Duncan Sommerville 8e867b522c SAAS-1202 - move station podcast to top-level menu item 2015-11-13 14:57:32 -05:00
Duncan Sommerville 55df7775c2 Frontend polish and fixes; make empty placeholder implementation more abstract and add placeholder to 'My Podcast' view 2015-11-12 19:02:09 -05:00
Duncan Sommerville ea887dd8f6 Disable publish checkbox for disconnected sources 2015-11-12 14:47:47 -05:00
Duncan Sommerville 26c9a19836 Fix bug with import status of podcst episodes 2015-11-12 11:37:39 -05:00
Duncan Sommerville 071de55329 Add some additional error handling and prevent disabled buttons from being triggered 2015-11-11 19:26:51 -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 c5a5839eff Better errors from podcast 'Add' dialog 2015-11-10 19:26:25 -05:00
Duncan Sommerville de380369ed * SAAS-1197 - fix publish dialog behaviour for tasks with pending states
* SAAS-1184 - more polish on publishing/podcasting
2015-11-10 17:54:31 -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 48f09c44ca Merge branch 'saas-dev-publishing' into saas-dev-publishing-episode-view 2015-11-09 13:57:17 -05:00
drigato 372e28f82e SAAS-1158: Station podcast on Radio Page design implementation
Fix some pagination functionality
2015-11-09 13:44:45 -05:00
Duncan Sommerville 729360e1a1 SAAS-1165, SAAS-1155 - add constraints to Table buttons, implement podcast + podcast episode constraints; finish left-hand podcast episode view functionality 2015-11-06 14:40:22 -05:00
Duncan Sommerville 901ded1441 Merge branch 'saas-dev-publishing' into saas-dev-publishing-episode-view 2015-11-05 18:16:27 -05:00
Duncan Sommerville 0be26d621b SAAS-1165 - implement most functionality for left-hand podcast episodes view 2015-11-05 18:15:58 -05:00
Duncan Sommerville 95fc432445 SAAS-1173 - Add escaping for XML elements 2015-11-04 17:08:25 -05:00
Duncan Sommerville 866b88dbb2 Style tweaks to publishing and podcast dialogs 2015-11-04 15:16:29 -05:00
Duncan Sommerville 6683b712c4 Fix a couple of station podcast bugs 2015-11-03 17:13:38 -05:00
Duncan Sommerville a1d9902b2a Cosmetic tweaks 2015-11-03 16:40:09 -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 c0d8b8b39c * SAAS-1168, SAAS-1153 - work on station podcast frontend
* SAAS-1164 - Styling fixes for publishing and podcast editors
2015-11-03 13:18:55 -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 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 40a2aa10d8 SAAS-1083 - Implement unpublishing 2015-10-29 13:09:50 -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 e97aa199bd SAAS-1083 - work on publish dialog 2015-10-28 18:54:30 -04:00
drigato 7f05d5c05e Return track metadata as part of PodcastEpisodes API 2015-10-26 15:09:06 -04:00
drigato e994033109 Refactor podcast episodes rest controller index action 2015-10-26 11:28:10 -04:00