Commit Graph

7575 Commits

Author SHA1 Message Date
Lucas Bickel 3233ccd151 Remove dead code in user model 2017-05-22 00:10:38 +02:00
Lucas Bickel f9a19d9e27 Uses the minimized angular from public dir instead of cdn
This uses the available minimized version of angular instead of using the non minimized version from the google cdn.
2017-04-18 08:43:44 +02:00
Lucas Bickel 458d5254ac Remove legacy upstream name from defaultdata 2017-04-16 00:14:54 +02:00
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 8f372f5610 Merge pull request #136 from radiorabe/feature/freeipa-auth
FreeIPA Auth Adaptor for LibreTime
2017-04-03 11:50:23 -04:00
Lucas Bickel af2ca7f9a0 Only grab ldap config from ini if it exists
This is a workaround to make updating easier for folks who do not re-install. A proper solution would get rid of most of the Config class and use something based on Zend_Config_Ini instead. It would also have some sensible defaults in the code and nor error when new values get added.
2017-04-03 13:46:28 +02:00
Robb Ebright 8a92c80bcb Fixed autoplaylist repeat to fill show 2017-04-01 01:00:00 -04:00
Robb Ebright 8bd93e3f6d modifying the test database files to include autoplaylist_repeat column 2017-03-31 12:11:38 -04:00
Robb Ebright 1ff48a32cd added missing dn function 2017-03-31 11:46:39 -04:00
Robb Ebright 4489b68d48 now with propel database autogen changes 2017-03-31 11:29:23 -04: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 c0363145f9 added db column to schema.xml 2017-03-31 10:55:20 -04:00
Lucas Bickel 367fb3ae76 Add missing config for tests
Since conf assumes the ldap stuff to exist it also needs to be in the tests :(
2017-03-31 14:26:29 +02:00
Lucas Bickel aa5bc06d74 FreeIPA Auth Adaptor for LibreTime
Allow delegating user authentication to FreeIPA rather than having it be checked against the database.
2017-03-31 14:16:31 +02:00
Robb Ebright c12ad4ea4f added UI to toggle autoplaylist repeat option 2017-03-31 00:00:19 -04:00
Robb Ebright 7a944ac9ce code change to repeat autoplaylists lacking UI option to enable/disable 2017-03-30 23:01:31 -04:00
Robb Ebright 0fdd6d8d57 sort autoplaylists alphabetically 2017-03-30 22:45:29 -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 7ac24870ce Regenerate strings
This contains some more strings that where mostly already waiting on master or added in the last commit.
2017-03-24 17:28:17 +01: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
Robb 3196603dde Merge pull request #118 from radiorabe/feature/pull-ru-from-zanata
Update ru and de i18n
2017-03-24 10:57:48 -04: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 ee81a73817 Run more unstranslated Strings through _() 2017-03-24 13:32:15 +01:00
Lucas Bickel eda331c4b2 Make .personal-block.solo fit i18n texts 2017-03-24 13:18:52 +01:00
Lucas Bickel da9aa991b3 Dont let menu overlap onto content 2017-03-24 00:08:45 +01:00
Lucas Bickel c3e2dda3c1 Translatable sub-menu 2017-03-23 23:53:47 +01:00
Lucas Bickel 314c105508 Proper translation rendering for main menu 2017-03-23 23:41:47 +01:00
Robb 62388f7a09 Merge pull request #117 from radiorabe/feature/logo-replacement-for-oops-page
Remove legacy upstream branding from oops page
2017-03-23 18:15:04 -04:00
Lucas Bickel caaa0c0e2a Fix locale generation for js dicts 2017-03-23 23:01:20 +01:00
Lucas Bickel 559fdd0659 Update ru and de i18n 2017-03-23 22:16:44 +01:00
Robb 69347f227f Merge pull request #106 from radiorabe/feature/hideable-scheduled-shows
Hideable Scheduled Shows tab
2017-03-23 14:57:05 -04:00
Lucas Bickel 4a7d5be735 Wider max-width for more browser compat 2017-03-23 14:12:58 +01:00
Lucas Bickel 81cf904ce0 Remove legacy upstream branding from oops page 2017-03-23 14:06:50 +01:00
Lucas Bickel 42e0d40e62 Make version comparision robust
This needed to take various git version into account as per https://github.com/LibreTime/libretime/pull/102#issuecomment-288707322.

It also had a bug where it would do the completely wrong thing with the currentParts array if a git commit-ish was treated as a version by mistake.
2017-03-23 13:49:44 +01:00
Lucas Bickel 01aef516e4 Merge pull request #109 from Robbt/fix/auto-playlist-validation
Fixing dependence upon hard-coded password in AutoPlaylist
2017-03-23 10:59:58 +01:00
Robb 920179318b Merge pull request #108 from radiorabe/feature/update-i18n-strings
Update i18n strings
2017-03-22 20:05:30 -04:00
Lucas Bickel 1fc1e6a199 Get rid of session use in auto playlist
The user object was triggering the creation of a user context that tried to grab something from the session. The later code never tried to use this due to the checkPerm flag.

I'm assuming the user model used to have a sane constructor w/o side effects in the times where this code had it's heyday.
2017-03-22 12:26:18 +01:00
Robb Ebright 934cad44b5 Fixing dependence upon hard-coded password by modifying playlist build to not require authentication 2017-03-21 15:02:31 -04:00
Lucas Bickel 57ce6390bb Update po files
Basically I switched to the dev_tools dir and ran "bash update_po_files.sh". A quick check with the german translation shows me that they have about the same amount of missing strings.
2017-03-21 19:11:55 +01:00
Lucas Bickel ca382aedda Rename initial show back to "Untitled Show"
This is mainly so we don't have to retranslate this and that it matches with playlists and smart blocks again.
2017-03-21 19:06:01 +01:00
Lucas Bickel 6e712b4b82 Hideable Scheduled Shows tab
Makes the first tab remoeable and the tracks page be full width after removing the last tab. You can press the "Dashboard" link to open it back up again.
2017-03-21 00:19:25 +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
Robb Ebright 56dc67fe71 Merge branch 'fix/live-stream-source' of https://github.com/Robbt/libretime into fix/live-stream-source 2017-03-19 12:03:12 -04:00
Robb Ebright eb3a1b1ed5 Added port number validation to livestream preferences 2017-03-19 12:02:45 -04: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
Robb 6ad3fd87cc Merge pull request #95 from radiorabe/feature/per-podcast-album-override
per podcast album override
2017-03-18 14:49:49 -04:00
Robb Ebright 91290b5e43 Fixing CSS for podcast override 2017-03-18 14:34:21 -04:00
Lucas Bickel 5684689a12 Make some room for text to fit line
In some resolutions the line-height was not adding up to be enough space.
2017-03-18 17:38:58 +01:00
Lucas Bickel 4527b63c7b General fixes for TLS
This was tested in airtime web and with integration of media-monitor and silan up and running. It might work for pypo but that needs testing.
2017-03-18 15:47:50 +01:00
Lucas Bickel 1310c44d75 Fix: add missing upgrade scripts 2017-03-18 11:46:30 +01:00
Lucas Bickel b36b1ea63c Get rid of var_export in logs
This has been bugging me since I first saw it. Dumping the whole object has no value at all, whats left should suffice.
2017-03-18 11:38:58 +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 e3879b42a3 Send per podcast album override flag to celery 2017-03-17 14:56:33 +01:00
Lucas Bickel d68c95b144 Add db up/downgrade script for album_override field 2017-03-17 14:36:28 +01:00
Lucas Bickel a2eb4b2297 Add album_override field for imported_podcasts 2017-03-17 11:52:03 +01:00
Lucas Bickel 033e816015 Edit form 2017-03-17 11:45:10 +01:00
Robb Ebright 9fe31a5923 minor code clean-up 2017-03-16 22:30:08 -04:00
Lucas Bickel 8a8c54c21f Remove redundant call to setDescription 2017-03-17 02:28:45 +01:00
Lucas Bickel ae4c9203e6 Refactor override preference
Properly defaults the preference to be true and always return a boolean value since that is what celery will be expecting.
2017-03-17 02:10:04 +01: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 f31236fe66 Fixed Override Javascript and Functionality 2017-03-14 23:03:37 -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 44d3d46904 Merge pull request #80 from radiorabe/feature/reset-password-without-whmcs
Make password reset work for eveyone
2017-03-14 19:07:27 -04:00
Robb 3eaa999130 Merge pull request #81 from radiorabe/feature/email-from-header-config
Change default email sender
2017-03-14 00:06:30 -04:00
Robb Ebright 67ffd2d34a Making show and master source ports and mount points editable. 2017-03-14 01:15:14 +00:00
Robb Ebright 99a3150db5 changed default streamsetting to match the baseurl vs. out.airtime.pro 2017-03-13 20:37:51 +00:00
Lucas Bickel 88b3eb22a0 Change default email sender
The new noreply@ address is now libretime.org and the address gets moved to contants.php rather than being hardcoded in the email model.
2017-03-13 20:46:39 +01: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
Robb f52f0e7ff0 Merge pull request #77 from radiorabe/feature/disable-google-tracking
Disable all google tracking per default
2017-03-13 14:50:26 -04:00
Lucas Bickel 38d4fdcdda Disable all google tracking per default 2017-03-13 17:30:05 +01:00
Robb Ebright ba9f7879a4 modified smart block to not exceed the time limits. 2017-03-12 22:36:36 -04:00
Robb a583d8fa1e Merge pull request #64 from radiorabe/feature/debian-and-experimental-centos
Vagrant Debian support (and experimental CentOS)
2017-03-12 21:42:37 -04:00
Robb b2c30ed3a5 Merge pull request #68 from radiorabe/feature/product-name-in-widgets
Problem: Pro widgets contain ads for legacy upstream
2017-03-12 15:20:28 -04:00
Robb c1251b4c1b Merge pull request #67 from radiorabe/feature/fix-saving-prefs
Problem: sad tape error when saving prefs w/o soundcloud config
2017-03-12 15:04:04 -04:00
Lucas Bickel 8823e76f5c Use PRODUCT_NAME in pro widgets 2017-03-12 15:30:58 +01:00
Lucas Bickel 8afdf2808d Fix sad tape error when saving prefs w/o soundcloud 2017-03-12 15:19:16 +01:00
Lucas Bickel 260ebe2476 Fix listenerstat page
Deactivates the bandwidth limit stuff if none is configured.
2017-03-12 15:13:45 +01:00
Lucas Bickel c29285ae48 Vagrant Debian support (and experimental CentOS)
This changes the Vagrant setup to support multiple installations as multiple
boxes. In addition to Ubuntu Vagrant can now be used to install on Debian
as well as on CentOS.

I took the chance to clean up the .deb install a bit and backported analyzer
and celery to SysV proper so it runs there. Some of the distro specfics were
moved to the install script from the python setup scripts to acheive this.

For the CentOS support I added a rather involved OS prepare script. In the
long term this will be added to the preparing-the-server docs we already have.

I had to switch the default port to http-alt (8080). On CentOS 9080 is registered
for ocsp and getting it to work for apache without hacking SELinux is hard. I
think 8080 is the RFC way to go anyhow. If anyone want to override this it
should be rather easy using the --web-port arg and by hacking Vagrantfile.

The PyOpenSSL code has been refactored for all the distros that the Vagrantfile
now supports.

As far as my checks go, I tried this code with all the distros, uploaded a track
and downloaded a unicode and a ssl podcast and was able to listen to them
in each case.

In the experimental CentOS case, the UI is not up to spec since services
need to get scheduled through systemctl and the status overview (ie. on the /?config page)
do not work properly. They need to be as follows:

```
sudo systemctl start airtime-playout
sudo systemctl start airtime-liquidsoap
sudo systemctl start airtime_analyzer.service
sudo systemctl start airtime-celery.service
```
2017-03-12 13:42:22 +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
Robb c12f6c6f03 Merge pull request #61 from radiorabe/feature/default-stream-wording
Replace Airtime Pro wording
2017-03-11 17:48:50 -05:00
Lucas Bickel 1c1f7587a3 Fix _isTask method in taskmanager
The is_a fix from 09aea8b747 was not quite the way to go, with array_key_exists and class_implements implements the TaskManager finds all tasks again.
2017-03-11 22:49:05 +01:00
Lucas Bickel d8c663ef7a Change inline manual links
Fixes #59
2017-03-11 21:20:06 +01:00
Lucas Bickel 095ddaed38 Add new columns to schema.xml and regenerate sql 2017-03-10 21:18:50 +01: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 c4541b7ce7 Replace Airtime Pro wording
Let's just call this "default" streaming for now. Fixes #31
2017-03-10 20:35:09 +01:00
Lucas Bickel 86ff6e8e12 Remove remainder of legacy doctrine code 2017-03-10 18:37:11 +01:00
Lucas Bickel 03c73065bf Add new fields to tests 2017-03-10 18:33:21 +01:00
Lucas Bickel 288473e4fc Run database upgrades when setting up tests 2017-03-10 18:27:11 +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 e3785e25f9 Merge pull request #52 from Robbt/fix-rabbitmq-ini-install
adding the default rabbitmq-analyzer.ini file to fix install script
2017-03-10 09:37:35 +01:00
Robb be00c68ed0 Merge pull request #45 from radiorabe/feature/remove-pref-cache-in-mvc
completely remove deactivated cache
2017-03-09 20:37:42 -05:00
Robb Ebright d46e961a5f adding the default rabbitmq-analyzer.ini file to fix install script 2017-03-09 15:57:11 -05:00
Robb 945998f836 Merge pull request #49 from radiorabe/feature/refactor-help-menu
Update naming and links in constants
2017-03-08 20:30:12 -05:00
Robb 0f909a9ec8 Merge pull request #48 from radiorabe/feature/systemstatus
re-implement /systemstatus
2017-03-08 20:29:12 -05:00
Lucas Bickel 779081f4e0 Debrand big gray from old error page 2017-03-08 16:47:07 +01:00
Lucas Bickel 8f27f6c8e3 Debrand favicon.ico as well 2017-03-08 16:45:40 +01:00
Lucas Bickel c8c3f89a4b quick and dirty logo debranding
I'm replacing them all with empty images under the assumption that we will want to re-add a new logo. This is just to ensure that we can release LibreTime without infringing upon the sourcefabric trademark for now.
2017-03-08 16:37:26 +01:00
Lucas Bickel 272c295974 Update naming and links in constants
This is to get the help section to look better and point to somewhere users can find us. It also takes care of /dashboard/about and maybe more.

Some of the links I'm adding are 404 as we have yet to write them, I'd rather link something we have under our control rather than legacy transifex or others.
2017-03-08 16:26:18 +01:00
Lucas Bickel 70e6135e93 Restore full disk usage not based on quota
This is mostly a restore of how this used to be implemented.
2017-03-08 15:56:43 +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 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
Robb 7a32d5534d Merge pull request #43 from radiorabe/feature/record-line-in
Re-enable record line in feature
2017-03-06 18:45:54 -05:00
Robb 1279ce62d8 Merge pull request #37 from radiorabe/feature/no-sad-tape-for-facebook
Add empty default Facebook config
2017-03-06 18:34:03 -05:00
Robb d86e223c45 Merge pull request #28 from radiorabe/feature/robbt/podcast-naming
Podcast naming feature as per #26
2017-03-06 18:12:57 -05:00
Lucas Bickel f8bf67792c Re-enable record line in feature
I did a quick check and added a show, ecasound is also still being installed, I see no further reason why this should not work but we will need to get some real tests done to be sure.

Fixes #42
2017-03-06 17:51:19 +01:00
Lucas Bickel e69bc9dc00 Merge pull request #41 from radiorabe/comiconomenclaturist/hw-output
Re-enable hw output
2017-03-06 13:14:15 +01:00
Lucas Bickel 9e05e91dde Add empty default Facebook config
This will get rid of the sad tape error on the facebook widgets page `/embeddablewidgets/facebook`. We will probably end up having to document how to set up facebook properly, but I'd like to take care of that while I'm testing against real facebook.
2017-03-05 14:13:01 +01:00
Lucas Bickel d374ab2b3b Fix call to get_author()
This was introduced by the zf1 mega commit 625f92fe44.

625f92fe44 (commitcomment-21156925)
2017-03-05 12:26:54 +01:00
Lucas Bickel bd7091ae59 Merge pull request #35 from Robbt/install_script_fixes
Added sample cloud_storage.conf to build dir and install script, chan…
2017-03-05 11:49:13 +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
Robb 6085a8fd27 Merge pull request #22 from radiorabe/feature/use-zend-file-transfer-for-plupload
Use Zend_File_Transfer instead of $_FILES
2017-03-04 22:15:19 -05:00
Robb Ebright 86b1fcbf7c Added sample cloud_storage.conf to build dir and install script, changed production dir to symlink, added libretime ASCII art logo 2017-03-04 19:44:01 -05:00
Robb da1181e6ca Merge pull request #25 from radiorabe/feature/default-soundcloud-config
Add default soundcloud config
2017-03-04 17:56:17 -05: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 01a954481c Merge pull request #10 from radiorabe/feature/config-rewrite-airtime-saas-folder
Rewrite config from /etc/airtime-saas to plain /etc/airtime
2017-03-04 15:56:29 +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
Robb Ebright 481c049c97 added passing podcast title to download function 2017-03-04 13:38:36 +01:00
Robb Ebright 2cebb7dfa2 first part of the adding album tags to podcast downloads 2017-03-04 13:38:36 +01:00
Lucas Bickel c7ab886d2a Add default soundcloud config 2017-03-04 12:33:37 +01:00
Lucas Bickel 0b704e95f1 Use Zend_File_Transfer instead of $_FILES
This should give us more information in the case of an error and is the framework idiomatic way to handle a RESTful file upload.

I'm hoping this helps debug https://github.com/LibreTime/libretime/issues/3
2017-03-04 11:09:06 +01: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 e28ad471f9 Rewrite config from /etc/airtime-saas to plain /etc/airtime
This is the results of sed -i -e 's|/etc/airtime-saas/|/etc/airtime/|' `grep -irl 'airtime-saas' airtime_mvc/ python_apps/` :P

It might need more testing, the airtime-saas part never really made sense, zf1 has environments for that, ie you would create a saas env based on production for instance.

I beleive legacy upstream was using this to share configuration between customers (ie. analyser runs only once and writes to a shared S3 bucket). I assume they mount the airtime-saas folder onto individual customers instances with a global config. Like I said, I don't feel that this makes sense since all it does is make hacking at the configs in airtime-saas a bit easier. A serious SaaS operation should be using something like puppet or ansible to achieve this.
2017-03-03 15:57:41 +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 39fb738945 Always log locally during test run 2017-03-02 16:45:34 +01:00
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 51960a891f Manual loading fix for more classes in Zend_ pseudo-ns 2017-03-02 14:40:29 +01:00
Lucas Bickel 7b04f413a0 Remove zend dep check from status and config output
It's LibreTime's responsability to ensure this (ie in packages...) and the user should not need to know about this.
2017-03-02 14:31:51 +01:00
Lucas Bickel 4a7f3ea001 Fix preference page with customer ImageSize plugin
As noted in the code, this was getting loaded in a rather special way.
2017-03-02 14:29:19 +01:00
Lucas Bickel 693f1f6e51 Remove system zf1 from test include path 2017-03-02 13:57:56 +01:00
Lucas Bickel 021bf38c1b Remove phing StringHelper dependency
I had only really looked for requires previously, this one caught me off guard as using an include is quite anachronistic.

I did some digging and figured out, that this is the only occurence of such phing use I can find.
2017-03-02 13:25:50 +01:00
Lucas Bickel 21a319767f Fix missing AMQPConnection errors in setup
Also fixes them elsewhere, apart from having switched to a vendorized version, I also used one that is already namespaced.

The easy way out here is to use it in the namespaced fashion, it is only used in a few places and I know the library well enough to be certain that nothing much changed apart from the namespacing.
2017-03-02 12:38:44 +01:00
Lucas Bickel 7f3f420763 Regression: travis db is on localhost
This is one of the "small" things I need to take care of on my local env. Once the value is changeable through more than just the config file, I'll won't be touching these in my docker envs as much.
2017-02-28 12:29:40 +01:00
Lucas Bickel 4936b16bc1 Load autoloader early so setup can use it
Also fixes a @include_once check that is now much easier.
2017-02-28 12:25:24 +01:00