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); head() ?> - - - - - render('head'); ?> - +