diff --git a/composer.json b/composer.json
index 744102f4f6..0da82e0152 100644
--- a/composer.json
+++ b/composer.json
@@ -34,15 +34,16 @@
"bower-asset/blueimp-file-upload": "9.11.*",
"bower-asset/fontawesome": "^4.3.0",
"bower-asset/bootstrap-markdown": "2.10.*",
- "bower-asset/select2" : "^4.0.2",
- "bower-asset/bluebird" : "^3.3.5",
- "bower-asset/select2-bootstrap-theme" : "0.1.0-beta.4",
+ "bower-asset/select2": "^4.0.2",
+ "bower-asset/bluebird": "^3.3.5",
+ "bower-asset/select2-bootstrap-theme": "0.1.0-beta.4",
"bower-asset/jquery.cookie": "^1.4.1",
"bower-asset/jquery-color": "^2.1.2",
"bower-asset/autosize": "1.*",
"bower-asset/jquery-pjax": "1.*",
"bower-asset/At.js": "0.5.0",
"bower-asset/animate.css": "*",
+ "bower-asset/html5shiv": "^3.7",
"jonnyw/php-phantomjs": "4.*"
},
"require-dev": {
diff --git a/js/html5shiv.js b/js/html5shiv.js
deleted file mode 100644
index 94324d7c85..0000000000
--- a/js/html5shiv.js
+++ /dev/null
@@ -1,301 +0,0 @@
-/**
-* @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
-*/
-;(function(window, document) {
-/*jshint evil:true */
- /** version */
- var version = '3.7.0';
-
- /** Preset options */
- var options = window.html5 || {};
-
- /** Used to skip problem elements */
- var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
-
- /** Not all elements can be cloned in IE **/
- var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
-
- /** Detect whether the browser supports default html5 styles */
- var supportsHtml5Styles;
-
- /** Name of the expando, to work with multiple documents or to re-shiv one document */
- var expando = '_html5shiv';
-
- /** The id for the the documents expando */
- var expanID = 0;
-
- /** Cached data for each document */
- var expandoData = {};
-
- /** Detect whether the browser supports unknown elements */
- var supportsUnknownElements;
-
- (function() {
- try {
- var a = document.createElement('a');
- a.innerHTML = '';
- //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
- supportsHtml5Styles = ('hidden' in a);
-
- supportsUnknownElements = a.childNodes.length == 1 || (function() {
- // assign a false positive if unable to shiv
- (document.createElement)('a');
- var frag = document.createDocumentFragment();
- return (
- typeof frag.cloneNode == 'undefined' ||
- typeof frag.createDocumentFragment == 'undefined' ||
- typeof frag.createElement == 'undefined'
- );
- }());
- } catch(e) {
- // assign a false positive if detection fails => unable to shiv
- supportsHtml5Styles = true;
- supportsUnknownElements = true;
- }
-
- }());
-
- /*--------------------------------------------------------------------------*/
-
- /**
- * Creates a style sheet with the given CSS text and adds it to the document.
- * @private
- * @param {Document} ownerDocument The document.
- * @param {String} cssText The CSS text.
- * @returns {StyleSheet} The style element.
- */
- function addStyleSheet(ownerDocument, cssText) {
- var p = ownerDocument.createElement('p'),
- parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
-
- p.innerHTML = 'x';
- return parent.insertBefore(p.lastChild, parent.firstChild);
- }
-
- /**
- * Returns the value of `html5.elements` as an array.
- * @private
- * @returns {Array} An array of shived element node names.
- */
- function getElements() {
- var elements = html5.elements;
- return typeof elements == 'string' ? elements.split(' ') : elements;
- }
-
- /**
- * Returns the data associated to the given document
- * @private
- * @param {Document} ownerDocument The document.
- * @returns {Object} An object of data.
- */
- function getExpandoData(ownerDocument) {
- var data = expandoData[ownerDocument[expando]];
- if (!data) {
- data = {};
- expanID++;
- ownerDocument[expando] = expanID;
- expandoData[expanID] = data;
- }
- return data;
- }
-
- /**
- * returns a shived element for the given nodeName and document
- * @memberOf html5
- * @param {String} nodeName name of the element
- * @param {Document} ownerDocument The context document.
- * @returns {Object} The shived element.
- */
- function createElement(nodeName, ownerDocument, data){
- if (!ownerDocument) {
- ownerDocument = document;
- }
- if(supportsUnknownElements){
- return ownerDocument.createElement(nodeName);
- }
- if (!data) {
- data = getExpandoData(ownerDocument);
- }
- var node;
-
- if (data.cache[nodeName]) {
- node = data.cache[nodeName].cloneNode();
- } else if (saveClones.test(nodeName)) {
- node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
- } else {
- node = data.createElem(nodeName);
- }
-
- // Avoid adding some elements to fragments in IE < 9 because
- // * Attributes like `name` or `type` cannot be set/changed once an element
- // is inserted into a document/fragment
- // * Link elements with `src` attributes that are inaccessible, as with
- // a 403 response, will cause the tab/window to crash
- // * Script elements appended to fragments will execute when their `src`
- // or `text` property is set
- return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
- }
-
- /**
- * returns a shived DocumentFragment for the given document
- * @memberOf html5
- * @param {Document} ownerDocument The context document.
- * @returns {Object} The shived DocumentFragment.
- */
- function createDocumentFragment(ownerDocument, data){
- if (!ownerDocument) {
- ownerDocument = document;
- }
- if(supportsUnknownElements){
- return ownerDocument.createDocumentFragment();
- }
- data = data || getExpandoData(ownerDocument);
- var clone = data.frag.cloneNode(),
- i = 0,
- elems = getElements(),
- l = elems.length;
- for(;i \yii\web\View::POS_BEGIN];
+
+ /**
+ * @inheritdoc
+ */
public $js = [
'js/ekko-lightbox-modified.js',
//'js/modernizr.js', // In use???
@@ -36,9 +55,11 @@ class AppAsset extends AssetBundle
'js/jquery.nicescroll.min.js',
'resources/file/fileuploader.js',
'resources/user/userpicker.js',
-
];
-
+
+ /**
+ * @inheritdoc
+ */
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
@@ -61,9 +82,10 @@ class AppAsset extends AssetBundle
'humhub\assets\JqueryPjaxAsset',
'humhub\assets\AtJsAsset',
'humhub\assets\AnimateCssAsset',
-
'humhub\assets\CoreApiAsset',
- 'humhub\modules\content\assets\ContentAsset'
+ 'humhub\modules\content\assets\ContentAsset',
+ 'humhub\assets\IE9FixesAsset',
+ 'humhub\assets\IEFixesAsset',
];
}
diff --git a/protected/humhub/assets/Html5shivAsset.php b/protected/humhub/assets/Html5shivAsset.php
new file mode 100644
index 0000000000..06d4787175
--- /dev/null
+++ b/protected/humhub/assets/Html5shivAsset.php
@@ -0,0 +1,42 @@
+ 'lt IE 9'
+ ];
+
+}
diff --git a/protected/humhub/assets/IE9FixesAsset.php b/protected/humhub/assets/IE9FixesAsset.php
new file mode 100644
index 0000000000..4fb981cdc6
--- /dev/null
+++ b/protected/humhub/assets/IE9FixesAsset.php
@@ -0,0 +1,47 @@
+ 'IE 9'
+ ];
+
+}
diff --git a/protected/humhub/assets/IEFixesAsset.php b/protected/humhub/assets/IEFixesAsset.php
new file mode 100644
index 0000000000..a19dd93f0b
--- /dev/null
+++ b/protected/humhub/assets/IEFixesAsset.php
@@ -0,0 +1,53 @@
+ 'lt IE 9'
+ ];
+
+ /**
+ * @inheritdoc
+ */
+ public $depends = [
+ 'humhub\assets\Html5shivAsset',
+ ];
+
+}
diff --git a/protected/humhub/docs/CHANGELOG.md b/protected/humhub/docs/CHANGELOG.md
index ae7a270e36..242cac8edd 100644
--- a/protected/humhub/docs/CHANGELOG.md
+++ b/protected/humhub/docs/CHANGELOG.md
@@ -4,5 +4,6 @@ HumHub Change Log
1.2.0 under development
-----------------------
- Enh: Moved HumHub browser icons to HumHub theme (luke-)
+- Enh: Moved support css/js for older IE version into own AssetBundles (luke-)
diff --git a/protected/humhub/views/layouts/main.php b/protected/humhub/views/layouts/main.php
index f0e855218a..20285ccf6b 100755
--- a/protected/humhub/views/layouts/main.php
+++ b/protected/humhub/views/layouts/main.php
@@ -24,20 +24,10 @@ AppAsset::register($this);
= Html::csrfMetaTags() ?>
head() ?>
-
-
-
-
-
render('head'); ?>
-
+