diff options
author | Bernhard Posselt <Raydiation@users.noreply.github.com> | 2014-07-30 11:22:56 +0200 |
---|---|---|
committer | Bernhard Posselt <Raydiation@users.noreply.github.com> | 2014-07-30 11:22:56 +0200 |
commit | 67087639d8593789b0a7ad0b3e362ac54fb30b35 (patch) | |
tree | bf25a31e1ae74f25d38da8196cdef0ab85320028 | |
parent | 8251981a398a489b82cca87d1b0140bffaab6956 (diff) | |
parent | 713b71a33ca0521417504aaa4fb90c93805a4a55 (diff) |
Merge pull request #565 from owncloud/revert-544-fix-enclosure
Revert "Fix audio tag and basic video enclosure support"
-rw-r--r-- | css/items.css | 4 | ||||
-rw-r--r-- | fetcher/feedfetcher.php | 8 | ||||
-rw-r--r-- | js/app/directives/audio.coffee | 4 | ||||
-rw-r--r-- | js/app/directives/video.coffee | 44 | ||||
-rw-r--r-- | js/public/app.js | 56 | ||||
-rw-r--r-- | templates/part.items.php | 17 |
6 files changed, 13 insertions, 120 deletions
diff --git a/css/items.css b/css/items.css index 1e98437a6..996df486d 100644 --- a/css/items.css +++ b/css/items.css @@ -302,10 +302,6 @@ padding: 14px 42px 0 49px; } - .feed_item .enclosure img { - max-width: 100%; - } - .feed_item .item_body { padding: 10px 42px 0 42px; max-width: 770px; diff --git a/fetcher/feedfetcher.php b/fetcher/feedfetcher.php index 643f37282..9c2049395 100644 --- a/fetcher/feedfetcher.php +++ b/fetcher/feedfetcher.php @@ -160,10 +160,14 @@ class FeedFetcher implements IFeedFetcher { } } + // TODO: make it work for video files also $enclosure = $simplePieItem->get_enclosure(); if($enclosure !== null) { - $item->setEnclosureMime($enclosure->get_type()); - $item->setEnclosureLink($enclosure->get_link()); + $enclosureType = $enclosure->get_type(); + if(stripos($enclosureType, "audio/") !== false) { + $item->setEnclosureMime($enclosureType); + $item->setEnclosureLink($enclosure->get_link()); + } } return $item; diff --git a/js/app/directives/audio.coffee b/js/app/directives/audio.coffee index 719adc282..3d6d94062 100644 --- a/js/app/directives/audio.coffee +++ b/js/app/directives/audio.coffee @@ -34,8 +34,8 @@ angular.module('News').directive 'newsAudio', -> '<a ng-href="{{ src|trustUrl }}" class="button" ng-show="cantPlay()" ' + 'ng-transclude></a>' link: (scope, elm, attrs) -> - source = elm.children('audio').children('source')[0] - cantPlay = !document.createElement('audio').canPlayType(attrs['type']); + source = elm.children().children('source')[0] + cantPlay = false source.addEventListener 'error', -> scope.$apply -> cantPlay = true diff --git a/js/app/directives/video.coffee b/js/app/directives/video.coffee deleted file mode 100644 index cf7454f84..000000000 --- a/js/app/directives/video.coffee +++ /dev/null @@ -1,44 +0,0 @@ -### - -ownCloud - News - -@author Bernhard Posselt -@copyright 2012 Bernhard Posselt dev@bernhard-posselt.com - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -License as published by the Free Software Foundation; either -version 3 of the License, or any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU AFFERO GENERAL PUBLIC LICENSE for more details. - -You should have received a copy of the GNU Affero General Public -License along with this library. If not, see <http://www.gnu.org/licenses/>. - -### - -angular.module('News').directive 'newsVideo', -> - directive = - restrict: 'E' - scope: - src: '@' - type: '@' - transclude: true - template: '' + - '<video controls="controls" preload="none" ng-hide="cantPlay()">' + - '<source ng-src="{{ src|trustUrl }}">' + - '</video>' + - '<a ng-href="{{ src|trustUrl }}" class="button" ng-show="cantPlay()" ' + - 'ng-transclude></a>' - link: (scope, elm, attrs) -> - source = elm.children('video').children('source')[0] - cantPlay = !document.createElement('video').canPlayType(attrs['type']); - source.addEventListener 'error', -> - scope.$apply -> - cantPlay = true - - scope.cantPlay = -> cantPlay - diff --git a/js/public/app.js b/js/public/app.js index fcdf6934e..c1c2363be 100644 --- a/js/public/app.js +++ b/js/public/app.js @@ -105,60 +105,8 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. template: '' + '<audio controls="controls" preload="none" ng-hide="cantPlay()">' + '<source ng-src="{{ src|trustUrl }}">' + '</audio>' + '<a ng-href="{{ src|trustUrl }}" class="button" ng-show="cantPlay()" ' + 'ng-transclude></a>', link: function(scope, elm, attrs) { var cantPlay, source; - source = elm.children('audio').children('source')[0]; - cantPlay = !document.createElement('audio').canPlayType(attrs['type']); - source.addEventListener('error', function() { - return scope.$apply(function() { - return cantPlay = true; - }); - }); - return scope.cantPlay = function() { - return cantPlay; - }; - } - }; - }); - -}).call(this); - -// Generated by CoffeeScript 1.6.3 -/* - -ownCloud - News - -@author Bernhard Posselt -@copyright 2012 Bernhard Posselt dev@bernhard-posselt.com - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -License as published by the Free Software Foundation; either -version 3 of the License, or any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU AFFERO GENERAL PUBLIC LICENSE for more details. - -You should have received a copy of the GNU Affero General Public -License along with this library. If not, see <http://www.gnu.org/licenses/>. -*/ - - -(function() { - angular.module('News').directive('newsVideo', function() { - var directive; - return directive = { - restrict: 'E', - scope: { - src: '@', - type: '@' - }, - transclude: true, - template: '' + '<video controls="controls" preload="none" ng-hide="cantPlay()">' + '<source ng-src="{{ src|trustUrl }}">' + '</video>' + '<a ng-href="{{ src|trustUrl }}" class="button" ng-show="cantPlay()" ' + 'ng-transclude></a>', - link: function(scope, elm, attrs) { - var cantPlay, source; - source = elm.children('video').children('source')[0]; - cantPlay = !document.createElement('video').canPlayType(attrs['type']); + source = elm.children().children('source')[0]; + cantPlay = false; source.addEventListener('error', function() { return scope.$apply(function() { return cantPlay = true; diff --git a/templates/part.items.php b/templates/part.items.php index d189f2b0f..8b062b787 100644 --- a/templates/part.items.php +++ b/templates/part.items.php @@ -63,21 +63,10 @@ </span> </h2> - <div class="enclosure" ui-if="item.enclosureLink" ng-switch="item.enclosureMime.split('/')[0]"> - <div ng-switch-when="audio"> - <news-audio type="{{ item.enclosureMime }}" ng-src="{{ item.enclosureLink|trustUrl }}"><?php - p($l->t('Download')) - ?></news-audio> - </div> - <div ng-switch-when="video"> - <news-video type="{{ item.enclosureMime }}" ng-src="{{ item.enclosureLink|trustUrl }}"><?php - p($l->t('Download')) - ?></news-video> - </div> - <img ng-switch-when="image" type="{{ item.enclosureMime }}" ng-src="{{ item.enclosureLink|trustUrl }}" alt="" /> - <a class="button" ng-switch-default type="{{ item.enclosureMime }}" ng-href="{{ item.enclosureLink|trustUrl }}"><?php + <div class="enclosure" ui-if="item.enclosureLink"> + <news-audio type="{{ item.enclosureType }}" ng-src="{{ item.enclosureLink|trustUrl }}"/><?php p($l->t('Download')) - ?></a> + ?></audio> </div> <div class="item_body" news-bind-html-unsafe="item.body"> |