Commit Graph

5649 Commits

Author SHA1 Message Date
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 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 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 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
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 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
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 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 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
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
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 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