Commit Graph

74 Commits

Author SHA1 Message Date
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 6c2d1f008b SAAS-1229 - initial work on bandwidth limit within Airtime; overhaul TaskFactory to get tasks reflectively 2015-11-19 16:08:25 -05:00
Duncan Sommerville c328515f4b SAAS-1135 - fix help button url for logged out users 2015-11-19 11:08:35 -05:00
Albert Santoni 1ef9ee3073 Disable session starting for feeds controller 2015-11-17 18:55:53 -05: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 14b35dcf18 Fix for in-app lock contention - move task initialization into PageLayoutInitPlugin to run after session is loaded 2015-10-29 09:37:39 -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
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
drigato b00ac6750c Testing 2015-09-29 13:04:22 -04:00
Albert Santoni e03428327c Fixed missing return statement 2015-09-25 15:54:26 -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 0710accbe2 SAAS-1062 - more work on podcasting frontend 2015-09-18 18:29:50 -04:00
Duncan Sommerville 6de6e2767c SAAS-1062 - Podcast skeleton work; slight rework to backend functionality 2015-09-18 15:39:12 -04:00
Duncan Sommerville 9d373791c0 SAAS-1038 - fix bug where 403's weren't being redirected properly 2015-09-02 12:23:23 -04:00
Duncan Sommerville 46e126145e CC-6122 - change library behaviour for guest users 2015-09-01 13:53:59 -04:00
Albert Santoni 90bd0a1ab4 Attempt at fixing Sentry error logging 2015-06-16 14:35:29 -04:00
drigato 7d1b112db9 Stopped redirecting to /login if no valid session 2015-04-21 11:26:48 -04:00
drigato 84231f811a SAAS-720: Player can't be accessed unless a user has a valid session 2015-04-09 12:25:27 -04:00
Albert Santoni 3d03f837d2 Trial->Paid conversion tracking with GTM
* Added trial to paid conversion tracking with GTM
* Removed WHMCS roundtrip from Showbuilder
* Moved all Analytics code into common/GoogleAnalytics.php
* Added a new Thank You page after plan changes to capture conversions
* Added a ConversionTracking plugin to facilitate that
* Also backported some minor staticBaseDir compatibility changes
* Fixed a logic error in creating the baseDir
2015-03-24 10:11:25 -04:00
Albert Santoni 32aa962138 Fixed error logging and refactored ErrorController to get invoked
correctly when using API key authentication

* Along with the bugfixes, backported improved ErrorController from upstream branch,
  including style improvements.
2015-03-20 17:20:34 -04:00
Albert Santoni c0db309e32 Merge branch 'cc-5709-airtime-analyzer-refactor' into saas-media-refactor
Conflicts:
	airtime_mvc/application/controllers/plugins/Acl_plugin.php
2015-02-24 11:18:49 -05:00
Albert Santoni 73e5fb938f Use more secure random number generation for CSRF auth tokens
* Also cleaned up pull request
2015-02-24 11:13:39 -05:00
Duncan Sommerville be7cae4408 Fixed CSRF prevention checks for REST calls, moved CSRF initialization to Bootstrap 2015-02-20 13:12:49 -05:00
Albert Santoni 2cf0f7da7a Merge branch 'cc-5709-airtime-analyzer' into saas
Conflicts:
	airtime_mvc/application/configs/ACL.php
2015-02-06 16:06:32 -05:00
Albert Santoni 2a9790adf3 Backport ACL REST permission fix 2015-02-06 16:05:51 -05:00
Albert Santoni a20f90cd2d Marginally better error handling for 401 in REST controller 2015-02-06 15:20:01 -05:00
Albert Santoni 7bf96e09a5 Tweaked ACL plugin again temporarily 2015-02-06 14:45:07 -05:00
Albert Santoni bcd7e3d70f Rollback last commit due to REST error when downloading files 2015-02-06 14:43:34 -05:00
Albert Santoni ed190c30f3 Merge branch 'cc-5709-airtime-analyzer' into saas 2015-02-06 14:33:17 -05:00
Albert Santoni 4b6e5671c3 REST permission fix 2015-02-06 14:33:02 -05:00
Albert Santoni 74e142c3d7 Fix for ACL REST error 2015-02-06 14:28:25 -05:00
Albert Santoni 49667e3d2d Squash logging 2015-01-26 12:12:27 -05:00
drigato ca9750f415 Merge branch 'cc-5709-airtime-analyzer-cloud-storage' into cc-5709-airtime-analyzer-cloud-storage-saas
Conflicts:
	airtime_mvc/application/Bootstrap.php
	airtime_mvc/application/configs/ACL.php
	airtime_mvc/application/controllers/ApiController.php
	airtime_mvc/application/controllers/plugins/Acl_plugin.php
	airtime_mvc/application/forms/GeneralPreferences.php
	airtime_mvc/application/modules/rest/controllers/MediaController.php
	airtime_mvc/application/views/scripts/form/preferences_general.phtml
	airtime_mvc/application/views/scripts/form/support-setting.phtml
	airtime_mvc/build/sql/schema.sql
2015-01-23 11:32:45 -05:00
Albert Santoni d5ee710f89 Fixed CSRF token checking in MediaController (broken by last 2 commits)
* Also fixed getOwnerId(), no longer calls a non-existent function
2015-01-22 12:20:13 -05:00
Duncan Sommerville a40067ca55 Moved REST authorization boilerplate to Zend Acl_plugin 2015-01-21 17:20:04 -05:00
Duncan Sommerville 2c2f7ebc5f Initial commit for update to ACL for REST module; NEEDS TESTING 2015-01-21 15:34:15 -05:00
drigato 57a7218a79 SAAS-540: Change the Provisioning Controller's terminate endpoint to reflect new S3 file prefix 2015-01-16 11:09:13 -05:00
drigato 52f3ed816e Merge branch 'cc-5709-airtime-analyzer' of github.com:sourcefabric/Airtime into cc-5709-airtime-analyzer
Conflicts:
	airtime_mvc/application/Bootstrap.php
	airtime_mvc/application/controllers/plugins/Acl_plugin.php
2014-08-28 12:01:42 -04:00
drigato 9fe0830dfd Merge branch '2.5.x' into cc-5709-airtime-analyzer
Conflicts:
	airtime_mvc/application/Bootstrap.php
	airtime_mvc/application/controllers/LoginController.php
	airtime_mvc/application/controllers/plugins/Acl_plugin.php
2014-08-28 11:59:41 -04:00
Albert Santoni 35e98e468d Merge branch 'cc-5709-airtime-analyzer-buy-now-saas' into saas
Conflicts:
	airtime_mvc/application/controllers/LoginController.php
2014-07-02 13:43:09 -04:00
Albert Santoni 72ef576f03 Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-saas 2014-06-23 15:28:50 -04:00
Albert Santoni 24d842c4a6 Merge branch '2.5.x' into cc-5709-airtime-analyzer
Conflicts:
	airtime_mvc/application/controllers/LoginController.php
	airtime_mvc/application/controllers/plugins/Acl_plugin.php
	airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.po
	airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.po
	airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.po
2014-06-23 15:26:53 -04:00
Albert Santoni a2bef67d33 Fix user session storage in multi-tenancy mode 2014-06-23 15:22:44 -04:00
drigato f40cdbc8cd Merge branch 'saas' into cc-5709-airtime-analyzer-buy-now-saas 2014-06-23 10:59:07 -04:00
Albert Santoni 7f6fc7770a Added Super Admin role and WHMCS login 2014-06-17 17:40:55 -04:00
drigato 1de58c64d6 Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-saas
Conflicts:
	airtime_mvc/application/controllers/UpgradeController.php
2014-04-28 09:44:14 -04:00
drigato 42806b1cbf CC-5802: Upgrade application.ini file 2014-04-28 09:43:21 -04:00