diff --git a/scripts/convert_tags.php b/scripts/convert_tags.php deleted file mode 100644 index 9473f6e..0000000 --- a/scripts/convert_tags.php +++ /dev/null @@ -1,33 +0,0 @@ -query('SELECT id, tagsys FROM pastes') - ->fetchAll(PDO::FETCH_NUM); - - foreach ($result as $row) { - list($paste_id, $tagsys) = $row; - - $tag_names = explode(',', $tagsys); - - foreach ($tag_names as $tag_name) { - $tag_name = html_entity_decode($tag_name); - if (Tag::cleanTagName($tag_name) === '') continue; - - $tag = Tag::getOrCreateByName($conn, $tag_name); - - try { - $conn->queryInsert('INSERT INTO paste_taggings (paste_id, tag_id) VALUES (?, ?)', [$paste_id, $tag->id]); - } catch (Exception $e) { - if (str_contains($e->getMessage(), 'Duplicate entry')) { - var_dump($e); - } else throw $e; - } - } - } -} - -echo 'hi'; -upgrade_tagsys($conn); - diff --git a/theme/bulma/common.php b/theme/bulma/common.php index 6b392d4..2448076 100644 --- a/theme/bulma/common.php +++ b/theme/bulma/common.php @@ -36,9 +36,6 @@ $flashes = getFlashes(); - - - diff --git a/theme/bulma/js/bulma-tagsinput.min.js b/theme/bulma/js/bulma-tagsinput.min.js deleted file mode 100644 index 3f6e08c..0000000 --- a/theme/bulma/js/bulma-tagsinput.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! @creativebulma/bulma-tagsinput v1.0.3 | (c) 2020 Gaetan | MIT License | https://github.com/CreativeBulma/bulma-tagsinput */ -!function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("BulmaTagsInput",[],t):"object"==typeof exports?exports.BulmaTagsInput=t():e.BulmaTagsInput=t()}(window,(function(){return function(e){var t={};function __webpack_require__(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,__webpack_require__),i.l=!0,i.exports}return __webpack_require__.m=e,__webpack_require__.c=t,__webpack_require__.d=function(e,t,n){__webpack_require__.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.t=function(e,t){if(1&t&&(e=__webpack_require__(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(__webpack_require__.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)__webpack_require__.d(n,i,function(t){return e[t]}.bind(null,i));return n},__webpack_require__.n=function(e){var t=e&&e.__esModule?function getDefault(){return e.default}:function getModuleExports(){return e};return __webpack_require__.d(t,"a",t),t},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=13)}([function(e,t){e.exports=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.escape=t.cloneAttributes=t.optionsFromDataset=t.querySelectorAll=t.querySelector=void 0;var o=i(n(19)),r=i(n(9)),s=n(11);function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function _objectSpread(e){for(var t,n=1;n])/g,(function(e){return{"<":"<",">":">",'"':""","'":"'"}[e]})):e}},function(e,t){e.exports=function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function _defineProperties(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,i=new Array(t);n\n ').concat((0,i.escape)(e.text),"\n ").concat(e.removable?'
':"","\n ")}},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=i(n(2)),r=i(n(3)),s=i(n(4)),a=i(n(14)),l=i(n(6)),u=i(n(7)),c=i(n(5)),h=i(n(17)),d=n(1),p=n(11),f=i(n(25)),m=i(n(12)),_=i(n(26)),v=i(n(27));function _createSuper(e){var t=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function _createSuperInternal(){var n,i=(0,c.default)(e);if(t){var o=(0,c.default)(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return(0,u.default)(this,n)}}var y=function(e){function BulmaTagsInput(e){var n,i=1=this.options.minChars&&(void 0===this.options.maxChars||t.length<=this.options.maxChars)}},{key:"_closeDropdown",value:function _closeDropdown(){this.dropdown&&(this.emit("before.dropdown.close",this),this.container.classList.remove("is-active"),this.emit("after.dropdown.close",this))}},{key:"_createDropdownItem",value:function _createDropdownItem(e){if(this.dropdown){var t=document.createRange().createContextualFragment((0,v.default)({text:e.text,value:e.value})).firstElementChild;t.dataset.value=e.value,t.dataset.text=e.text,t.addEventListener("click",this._onDropdownItemClick),this.dropdown.append(t)}}},{key:"_createTag",value:function _createTag(e){var t=document.createRange().createContextualFragment((0,m.default)({removable:this.options.removable,style:this.options.tagClass,text:e.text,value:e.value})).firstElementChild;if(t.addEventListener("click",this._onTagClick),this.options.removable){var n=t.querySelector(".delete");n&&n.addEventListener("click",this._onTagDeleteClick)}this.container.insertBefore(t,this.input)}},{key:"_emptyDropdown",value:function _emptyDropdown(){this.dropdown&&Array.from(this.dropdown.children).filter((function(e){return!e.classList.contains("empty-title")})).forEach((function(e){e.remove()}))}},{key:"_highlightMatchesInString",value:function _highlightMatchesInString(e,t){var n=new RegExp("("+t+")(?![^<]*>|[^<>]*'.concat(r,""))}},{key:"_openDropdown",value:function _openDropdown(){this.dropdown&&this.container.classList.add("is-active")}},{key:"_propagateChange",value:function _propagateChange(){var e=this;this._isSelect?(Array.from(this.element.options).forEach((function(e){e.setAttribute("selected",void 0),e.selected=!1,void 0!==e.dataset.source&&e.remove()})),this.items.forEach((function(t){e._updateSelectOptions({value:e._objectItems?t[e.options.itemValue]:t,text:e._objectItems?t[e.options.itemText]:t})}))):this.element.value=this.value;var t=new CustomEvent("change",{detail:this.constructor.name});this.element.dispatchEvent(t)}},{key:"_trim",value:function _trim(e){return this.options.trim&&(this._objectItems?((0,p.isString)(e[this.options.itemValue])&&(e[this.options.itemValue]=e[this.options.itemValue].trim()),(0,p.isString)(e[this.options.itemText])&&(e[this.options.itemText]=e[this.options.itemText].trim())):e=e.trim()),e}},{key:"_filterDropdownItems",value:function _filterDropdownItems(){var e=this,t=0]*>?/gm,"")),t&&t.length?(n.style.display=e.options.caseSensitive?i.includes(t)?"block":"none":i.toLowerCase().includes(t.toLowerCase())?"block":"none",e.options.highlightMatchesString&&(n.innerHTML=e._highlightMatchesInString(n.innerHTML,t))):n.style.display="block",!e.options.allowDuplicates||e._isSelect&&!e._isMultiple){var o="value"===e.options.searchOn?e.hasValue(i):e.hasText(i);n.style.display=o?"none":n.style.display}}));var n=Array.from(this.dropdown.children).filter((function(e){return!e.classList.contains("empty-title")})).some((function(e){return"none"!==e.style.display}));return this.dropdownEmptyOption.style.display=n?"none":"block",this.emit("after.dropdown.filter",this),n}return!0}},{key:"_updateSelectOptions",value:function _updateSelectOptions(e){if(this._isSelect){var t=this.element.querySelector('option[value="'.concat(encodeURIComponent(e.value),'"]'))||this.element.querySelector('option[value="'.concat(e.value,'"]'));if(!t)t=document.createRange().createContextualFragment('")).firstElementChild,this.element.add(t);t.setAttribute("selected","selected"),t.selected=!0}}},{key:"add",value:function add(e){var t=this,n=!!(1=this.options.maxTags)return this;if(e=Array.isArray(e)?e:(0,p.isObject)(e)?[e]:e.split(this.options.delimiter),!this._objectItems&&e.filter((function(e){return(0,p.isString)(e)})).length!==e.length)throw"Item must be a string or an array of strings";if(this._objectItems&&e.filter((function(e){return(0,p.isObject)(e)})).length!==e.length)throw"Item must be an object or an array of objects";return e.forEach((function(e){if(e=t._trim(e),t._checkLength(e)&&(t._isSelect&&!t._isMultiple&&0=this.options.searchMinChars)&&(this._openDropdown(),this._filterDropdownItems())}},{key:"_onInputFocusIn",value:function _onInputFocusIn(e){return e.preventDefault(),null!==this.container.getAttribute("disabled")||this.container.classList.contains("is-disabled")?(this.input.blur(),!1):void this.container.classList.add("is-focused")}},{key:"_onInputFocusOut",value:function _onInputFocusOut(e){e.preventDefault(),this.container.classList.remove("is-focused")}},{key:"_onInputKeyDown",value:function _onInputKeyDown(e){switch(e.charCode||e.keyCode||e.which){case 8:if(this.options.removable&&this._caretAtStart()&&0<=this._selected){var t=this._selected;0<=t&&this.selectAtIndex(t+1this._selected?this.selectAtIndex(this.items.length-1):this.selectAtIndex(0<=this._selected-1?this._selected-1:this.items.length-1));break;case 39:this.input.value.length||(0>this._selected?this.selectAtIndex(0):this.selectAtIndex(this._selected+1>=this.items.length?0:this._selected+1));break;default:this.options.clearSelectionOnTyping&&this.clearSelection()}}},{key:"_onInputKeyPress",value:function _onInputKeyPress(e){var t=this,n=e.charCode||e.keyCode||e.which,i=this._trim(this.input.value)+String.fromCharCode(n);return this._manualInputAllowed||this._filterInputAllowed?!(!i.length&&13!==n)&&(this._filterInputAllowed&&this._filterDropdownItems(i),this._filterInputAllowed&&this.source&&i.length>=this.options.searchMinChars&&13!==n&&(this._openDropdown(),this.dropdown.classList.add("is-loading"),this._emptyDropdown(),this.source(i).then((function(e){(e=t.emit("on.results.received",e)).length&&e.forEach((function(e){var n={value:null,text:null};(0,p.isObject)(e)?(n.value=e[t.options.itemValue],n.text=e[t.options.itemText]):(n.value=e,n.text=e),t._createDropdownItem(n)})),t._filterDropdownItems(i),t.dropdown.classList.remove("is-loading")})).catch((function(e){console.log(e)}))),this._manualInputAllowed&&(i.includes(this.options.delimiter)||13==n)?(e.preventDefault(),i.split(this.options.delimiter).forEach((function(e){""!=(e=e.replace(t.options.delimiter,""))&&t.add(e)})),i="",this.input.value="",this._closeDropdown(),!1):void 0):(e.preventDefault(),!1)}},{key:"_onOriginalInputChange",value:function _onOriginalInputChange(e){(!e.detail||(0,p.isString)(e.detail)&&e.detail!==this.constructor.name)&&(this.value=e.currentTarget.value)}},{key:"_onTagClick",value:function _onTagClick(e){if(e.preventDefault(),e.currentTarget.classList.contains("delete"))return!1;if(null!==this.container.getAttribute("disabled")||this.container.classList.contains("is-disabled"))return!1;if(this.input.focus(),this.options.selectable){var t=e.currentTarget.closest(".tag");if(t){var n=Array.from(this.container.children).indexOf(t);n===this._selected?this.clearSelection():this.selectAtIndex(n)}}}},{key:"_onTagDeleteClick",value:function _onTagDeleteClick(e){if(e.preventDefault(),null!==this.container.getAttribute("disabled")||this.container.classList.contains("is-disabled"))return!1;var t=e.currentTarget.closest(".tag");t&&this.removeAtIndex(Array.from(this.container.children).indexOf(t))}},{key:"selected",get:function get(){return 0<=this._selected?this.items[this._selected]:null}},{key:"selectedIndex",get:function get(){return this._selected}},{key:"value",get:function get(){return this._isSelect?Array.from(this.element.options).filter((function(e){return e.selected})).map((function(e){return e.value})):this._objectItems?this.items.map((function(e){return e.value})).join(this.options.delimiter):this.items.join(this.options.delimiter)},set:function set(e){this.removeAll(),this.add(e)}}],[{key:"attach",value:function attach(){var e=0>e/4).toString(16)}))}},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;i(n(12));var o={allowDuplicates:!1,caseSensitive:!0,clearSelectionOnTyping:!1,closeDropdownOnItemSelect:!0,delimiter:",",freeInput:!0,highlightDuplicate:!0,highlightMatchesString:!0,itemValue:void 0,itemText:void 0,maxTags:void 0,maxChars:void 0,minChars:1,noResultsLabel:"No results found",placeholder:"",removable:!0,searchMinChars:1,searchOn:"text",selectable:!0,source:void 0,tagClass:"is-rounded",trim:!0};t.default=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(1);t.default=function _default(e){return'
\n \n \n
")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(1);t.default=function _default(e){return'').concat((0,i.escape)(e.text),"")}}]).default})); \ No newline at end of file diff --git a/theme/bulma/js/datatables.min.js b/theme/bulma/js/datatables.min.js deleted file mode 100644 index 856d113..0000000 --- a/theme/bulma/js/datatables.min.js +++ /dev/null @@ -1,604 +0,0 @@ -/* - * This combined file was created by the DataTables downloader builder: - * https://datatables.net/download - * - * To rebuild or modify this file with the latest versions of the included - * software please visit: - * https://datatables.net/download/#dt/dt-1.10.21 - * - * Included libraries: - * DataTables 1.10.21 - */ - -/*! - Copyright 2008-2020 SpryMedia Ltd. - - This source file is free software, available under the following license: - MIT license - http://datatables.net/license - - This source file 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 license files for details. - - For details please refer to: http://www.datatables.net - DataTables 1.10.21 - ©2008-2020 SpryMedia Ltd - datatables.net/license -*/ -var $jscomp = $jscomp || {}; $jscomp.scope = {}; $jscomp.findInternal = function (f, y, w) { f instanceof String && (f = String(f)); for (var n = f.length, H = 0; H < n; H++) { var L = f[H]; if (y.call(w, L, H, f)) return { i: H, v: L } } return { i: -1, v: void 0 } }; $jscomp.ASSUME_ES5 = !1; $jscomp.ASSUME_NO_NATIVE_MAP = !1; $jscomp.ASSUME_NO_NATIVE_SET = !1; $jscomp.SIMPLE_FROUND_POLYFILL = !1; -$jscomp.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties ? Object.defineProperty : function (f, y, w) { f != Array.prototype && f != Object.prototype && (f[y] = w.value) }; $jscomp.getGlobal = function (f) { f = ["object" == typeof window && window, "object" == typeof self && self, "object" == typeof global && global, f]; for (var y = 0; y < f.length; ++y) { var w = f[y]; if (w && w.Math == Math) return w } throw Error("Cannot find global object"); }; $jscomp.global = $jscomp.getGlobal(this); -$jscomp.polyfill = function (f, y, w, n) { if (y) { w = $jscomp.global; f = f.split("."); for (n = 0; n < f.length - 1; n++) { var H = f[n]; H in w || (w[H] = {}); w = w[H] } f = f[f.length - 1]; n = w[f]; y = y(n); y != n && null != y && $jscomp.defineProperty(w, f, { configurable: !0, writable: !0, value: y }) } }; $jscomp.polyfill("Array.prototype.find", function (f) { return f ? f : function (f, w) { return $jscomp.findInternal(this, f, w).v } }, "es6", "es3"); -(function (f) { "function" === typeof define && define.amd ? define(["jquery"], function (y) { return f(y, window, document) }) : "object" === typeof exports ? module.exports = function (y, w) { y || (y = window); w || (w = "undefined" !== typeof window ? require("jquery") : require("jquery")(y)); return f(w, y, y.document) } : f(jQuery, window, document) })(function (f, y, w, n) { - function H(a) { - var b, c, d = {}; f.each(a, function (e, h) { - (b = e.match(/^([^A-Z]+?)([A-Z])/)) && -1 !== "a aa ai ao as b fn i m o s ".indexOf(b[1] + " ") && (c = e.replace(b[0], b[2].toLowerCase()), - d[c] = e, "o" === b[1] && H(a[e])) - }); a._hungarianMap = d - } function L(a, b, c) { a._hungarianMap || H(a); var d; f.each(b, function (e, h) { d = a._hungarianMap[e]; d === n || !c && b[d] !== n || ("o" === d.charAt(0) ? (b[d] || (b[d] = {}), f.extend(!0, b[d], b[e]), L(a[d], b[d], c)) : b[d] = b[e]) }) } function Fa(a) { - var b = q.defaults.oLanguage, c = b.sDecimal; c && Ga(c); if (a) { - var d = a.sZeroRecords; !a.sEmptyTable && d && "No data available in table" === b.sEmptyTable && M(a, a, "sZeroRecords", "sEmptyTable"); !a.sLoadingRecords && d && "Loading..." === b.sLoadingRecords && M(a, a, - "sZeroRecords", "sLoadingRecords"); a.sInfoThousands && (a.sThousands = a.sInfoThousands); (a = a.sDecimal) && c !== a && Ga(a) - } - } function ib(a) { - E(a, "ordering", "bSort"); E(a, "orderMulti", "bSortMulti"); E(a, "orderClasses", "bSortClasses"); E(a, "orderCellsTop", "bSortCellsTop"); E(a, "order", "aaSorting"); E(a, "orderFixed", "aaSortingFixed"); E(a, "paging", "bPaginate"); E(a, "pagingType", "sPaginationType"); E(a, "pageLength", "iDisplayLength"); E(a, "searching", "bFilter"); "boolean" === typeof a.sScrollX && (a.sScrollX = a.sScrollX ? "100%" : - ""); "boolean" === typeof a.scrollX && (a.scrollX = a.scrollX ? "100%" : ""); if (a = a.aoSearchCols) for (var b = 0, c = a.length; b < c; b++)a[b] && L(q.models.oSearch, a[b]) - } function jb(a) { E(a, "orderable", "bSortable"); E(a, "orderData", "aDataSort"); E(a, "orderSequence", "asSorting"); E(a, "orderDataType", "sortDataType"); var b = a.aDataSort; "number" !== typeof b || f.isArray(b) || (a.aDataSort = [b]) } function kb(a) { - if (!q.__browser) { - var b = {}; q.__browser = b; var c = f("
").css({ - position: "fixed", top: 0, left: -1 * f(y).scrollLeft(), height: 1, width: 1, - overflow: "hidden" - }).append(f("
").css({ position: "absolute", top: 1, left: 1, width: 100, overflow: "scroll" }).append(f("
").css({ width: "100%", height: 10 }))).appendTo("body"), d = c.children(), e = d.children(); b.barWidth = d[0].offsetWidth - d[0].clientWidth; b.bScrollOversize = 100 === e[0].offsetWidth && 100 !== d[0].clientWidth; b.bScrollbarLeft = 1 !== Math.round(e.offset().left); b.bBounding = c[0].getBoundingClientRect().width ? !0 : !1; c.remove() - } f.extend(a.oBrowser, q.__browser); a.oScroll.iBarWidth = q.__browser.barWidth - } - function lb(a, b, c, d, e, h) { var g = !1; if (c !== n) { var k = c; g = !0 } for (; d !== e;)a.hasOwnProperty(d) && (k = g ? b(k, a[d], d, a) : a[d], g = !0, d += h); return k } function Ha(a, b) { var c = q.defaults.column, d = a.aoColumns.length; c = f.extend({}, q.models.oColumn, c, { nTh: b ? b : w.createElement("th"), sTitle: c.sTitle ? c.sTitle : b ? b.innerHTML : "", aDataSort: c.aDataSort ? c.aDataSort : [d], mData: c.mData ? c.mData : d, idx: d }); a.aoColumns.push(c); c = a.aoPreSearchCols; c[d] = f.extend({}, q.models.oSearch, c[d]); la(a, d, f(b).data()) } function la(a, b, c) { - b = a.aoColumns[b]; - var d = a.oClasses, e = f(b.nTh); if (!b.sWidthOrig) { b.sWidthOrig = e.attr("width") || null; var h = (e.attr("style") || "").match(/width:\s*(\d+[pxem%]+)/); h && (b.sWidthOrig = h[1]) } c !== n && null !== c && (jb(c), L(q.defaults.column, c, !0), c.mDataProp === n || c.mData || (c.mData = c.mDataProp), c.sType && (b._sManualType = c.sType), c.className && !c.sClass && (c.sClass = c.className), c.sClass && e.addClass(c.sClass), f.extend(b, c), M(b, c, "sWidth", "sWidthOrig"), c.iDataSort !== n && (b.aDataSort = [c.iDataSort]), M(b, c, "aDataSort")); var g = b.mData, k = T(g), - l = b.mRender ? T(b.mRender) : null; c = function (a) { return "string" === typeof a && -1 !== a.indexOf("@") }; b._bAttrSrc = f.isPlainObject(g) && (c(g.sort) || c(g.type) || c(g.filter)); b._setter = null; b.fnGetData = function (a, b, c) { var d = k(a, b, n, c); return l && b ? l(d, b, a, c) : d }; b.fnSetData = function (a, b, c) { return Q(g)(a, b, c) }; "number" !== typeof g && (a._rowReadObject = !0); a.oFeatures.bSort || (b.bSortable = !1, e.addClass(d.sSortableNone)); a = -1 !== f.inArray("asc", b.asSorting); c = -1 !== f.inArray("desc", b.asSorting); b.bSortable && (a || c) ? a && !c ? (b.sSortingClass = - d.sSortableAsc, b.sSortingClassJUI = d.sSortJUIAscAllowed) : !a && c ? (b.sSortingClass = d.sSortableDesc, b.sSortingClassJUI = d.sSortJUIDescAllowed) : (b.sSortingClass = d.sSortable, b.sSortingClassJUI = d.sSortJUI) : (b.sSortingClass = d.sSortableNone, b.sSortingClassJUI = "") - } function Z(a) { if (!1 !== a.oFeatures.bAutoWidth) { var b = a.aoColumns; Ia(a); for (var c = 0, d = b.length; c < d; c++)b[c].nTh.style.width = b[c].sWidth } b = a.oScroll; "" === b.sY && "" === b.sX || ma(a); A(a, null, "column-sizing", [a]) } function aa(a, b) { - a = na(a, "bVisible"); return "number" === - typeof a[b] ? a[b] : null - } function ba(a, b) { a = na(a, "bVisible"); b = f.inArray(b, a); return -1 !== b ? b : null } function V(a) { var b = 0; f.each(a.aoColumns, function (a, d) { d.bVisible && "none" !== f(d.nTh).css("display") && b++ }); return b } function na(a, b) { var c = []; f.map(a.aoColumns, function (a, e) { a[b] && c.push(e) }); return c } function Ja(a) { - var b = a.aoColumns, c = a.aoData, d = q.ext.type.detect, e, h, g; var k = 0; for (e = b.length; k < e; k++) { - var f = b[k]; var m = []; if (!f.sType && f._sManualType) f.sType = f._sManualType; else if (!f.sType) { - var p = 0; for (h = - d.length; p < h; p++) { var v = 0; for (g = c.length; v < g; v++) { m[v] === n && (m[v] = F(a, v, k, "type")); var u = d[p](m[v], a); if (!u && p !== d.length - 1) break; if ("html" === u) break } if (u) { f.sType = u; break } } f.sType || (f.sType = "string") - } - } - } function mb(a, b, c, d) { - var e, h, g, k = a.aoColumns; if (b) for (e = b.length - 1; 0 <= e; e--) { - var l = b[e]; var m = l.targets !== n ? l.targets : l.aTargets; f.isArray(m) || (m = [m]); var p = 0; for (h = m.length; p < h; p++)if ("number" === typeof m[p] && 0 <= m[p]) { for (; k.length <= m[p];)Ha(a); d(m[p], l) } else if ("number" === typeof m[p] && 0 > m[p]) d(k.length + - m[p], l); else if ("string" === typeof m[p]) { var v = 0; for (g = k.length; v < g; v++)("_all" == m[p] || f(k[v].nTh).hasClass(m[p])) && d(v, l) } - } if (c) for (e = 0, a = c.length; e < a; e++)d(e, c[e]) - } function R(a, b, c, d) { var e = a.aoData.length, h = f.extend(!0, {}, q.models.oRow, { src: c ? "dom" : "data", idx: e }); h._aData = b; a.aoData.push(h); for (var g = a.aoColumns, k = 0, l = g.length; k < l; k++)g[k].sType = null; a.aiDisplayMaster.push(e); b = a.rowIdFn(b); b !== n && (a.aIds[b] = h); !c && a.oFeatures.bDeferRender || Ka(a, e, c, d); return e } function oa(a, b) { - var c; b instanceof - f || (b = f(b)); return b.map(function (b, e) { c = La(a, e); return R(a, c.data, e, c.cells) }) - } function F(a, b, c, d) { - var e = a.iDraw, h = a.aoColumns[c], g = a.aoData[b]._aData, k = h.sDefaultContent, f = h.fnGetData(g, d, { settings: a, row: b, col: c }); if (f === n) return a.iDrawError != e && null === k && (O(a, 0, "Requested unknown parameter " + ("function" == typeof h.mData ? "{function}" : "'" + h.mData + "'") + " for row " + b + ", column " + c, 4), a.iDrawError = e), k; if ((f === g || null === f) && null !== k && d !== n) f = k; else if ("function" === typeof f) return f.call(g); return null === - f && "display" == d ? "" : f - } function nb(a, b, c, d) { a.aoColumns[c].fnSetData(a.aoData[b]._aData, d, { settings: a, row: b, col: c }) } function Ma(a) { return f.map(a.match(/(\\.|[^\.])+/g) || [""], function (a) { return a.replace(/\\\./g, ".") }) } function T(a) { - if (f.isPlainObject(a)) { var b = {}; f.each(a, function (a, c) { c && (b[a] = T(c)) }); return function (a, c, h, g) { var d = b[c] || b._; return d !== n ? d(a, c, h, g) : a } } if (null === a) return function (a) { return a }; if ("function" === typeof a) return function (b, c, h, g) { return a(b, c, h, g) }; if ("string" !== typeof a || - -1 === a.indexOf(".") && -1 === a.indexOf("[") && -1 === a.indexOf("(")) return function (b, c) { return b[a] }; var c = function (a, b, h) { - if ("" !== h) { - var d = Ma(h); for (var e = 0, l = d.length; e < l; e++) { - h = d[e].match(ca); var m = d[e].match(W); if (h) { d[e] = d[e].replace(ca, ""); "" !== d[e] && (a = a[d[e]]); m = []; d.splice(0, e + 1); d = d.join("."); if (f.isArray(a)) for (e = 0, l = a.length; e < l; e++)m.push(c(a[e], b, d)); a = h[0].substring(1, h[0].length - 1); a = "" === a ? m : m.join(a); break } else if (m) { d[e] = d[e].replace(W, ""); a = a[d[e]](); continue } if (null === a || a[d[e]] === - n) return n; a = a[d[e]] - } - } return a - }; return function (b, e) { return c(b, e, a) } - } function Q(a) { - if (f.isPlainObject(a)) return Q(a._); if (null === a) return function () { }; if ("function" === typeof a) return function (b, d, e) { a(b, "set", d, e) }; if ("string" !== typeof a || -1 === a.indexOf(".") && -1 === a.indexOf("[") && -1 === a.indexOf("(")) return function (b, d) { b[a] = d }; var b = function (a, d, e) { - e = Ma(e); var c = e[e.length - 1]; for (var g, k, l = 0, m = e.length - 1; l < m; l++) { - g = e[l].match(ca); k = e[l].match(W); if (g) { - e[l] = e[l].replace(ca, ""); a[e[l]] = []; c = e.slice(); - c.splice(0, l + 1); g = c.join("."); if (f.isArray(d)) for (k = 0, m = d.length; k < m; k++)c = {}, b(c, d[k], g), a[e[l]].push(c); else a[e[l]] = d; return - } k && (e[l] = e[l].replace(W, ""), a = a[e[l]](d)); if (null === a[e[l]] || a[e[l]] === n) a[e[l]] = {}; a = a[e[l]] - } if (c.match(W)) a[c.replace(W, "")](d); else a[c.replace(ca, "")] = d - }; return function (c, d) { return b(c, d, a) } - } function Na(a) { return K(a.aoData, "_aData") } function pa(a) { a.aoData.length = 0; a.aiDisplayMaster.length = 0; a.aiDisplay.length = 0; a.aIds = {} } function qa(a, b, c) { - for (var d = -1, e = 0, h = a.length; e < - h; e++)a[e] == b ? d = e : a[e] > b && a[e]--; -1 != d && c === n && a.splice(d, 1) - } function da(a, b, c, d) { - var e = a.aoData[b], h, g = function (c, d) { for (; c.childNodes.length;)c.removeChild(c.firstChild); c.innerHTML = F(a, b, d, "display") }; if ("dom" !== c && (c && "auto" !== c || "dom" !== e.src)) { var k = e.anCells; if (k) if (d !== n) g(k[d], d); else for (c = 0, h = k.length; c < h; c++)g(k[c], c) } else e._aData = La(a, e, d, d === n ? n : e._aData).data; e._aSortData = null; e._aFilterData = null; g = a.aoColumns; if (d !== n) g[d].sType = null; else { - c = 0; for (h = g.length; c < h; c++)g[c].sType = null; - Oa(a, e) - } - } function La(a, b, c, d) { - var e = [], h = b.firstChild, g, k = 0, l, m = a.aoColumns, p = a._rowReadObject; d = d !== n ? d : p ? {} : []; var v = function (a, b) { if ("string" === typeof a) { var c = a.indexOf("@"); -1 !== c && (c = a.substring(c + 1), Q(a)(d, b.getAttribute(c))) } }, u = function (a) { if (c === n || c === k) g = m[k], l = f.trim(a.innerHTML), g && g._bAttrSrc ? (Q(g.mData._)(d, l), v(g.mData.sort, a), v(g.mData.type, a), v(g.mData.filter, a)) : p ? (g._setter || (g._setter = Q(g.mData)), g._setter(d, l)) : d[k] = l; k++ }; if (h) for (; h;) { - var q = h.nodeName.toUpperCase(); if ("TD" == - q || "TH" == q) u(h), e.push(h); h = h.nextSibling - } else for (e = b.anCells, h = 0, q = e.length; h < q; h++)u(e[h]); (b = b.firstChild ? b : b.nTr) && (b = b.getAttribute("id")) && Q(a.rowId)(d, b); return { data: d, cells: e } - } function Ka(a, b, c, d) { - var e = a.aoData[b], h = e._aData, g = [], k, l; if (null === e.nTr) { - var m = c || w.createElement("tr"); e.nTr = m; e.anCells = g; m._DT_RowIndex = b; Oa(a, e); var p = 0; for (k = a.aoColumns.length; p < k; p++) { - var v = a.aoColumns[p]; var n = (l = c ? !1 : !0) ? w.createElement(v.sCellType) : d[p]; n._DT_CellIndex = { row: b, column: p }; g.push(n); if (l || - !(c && !v.mRender && v.mData === p || f.isPlainObject(v.mData) && v.mData._ === p + ".display")) n.innerHTML = F(a, b, p, "display"); v.sClass && (n.className += " " + v.sClass); v.bVisible && !c ? m.appendChild(n) : !v.bVisible && c && n.parentNode.removeChild(n); v.fnCreatedCell && v.fnCreatedCell.call(a.oInstance, n, F(a, b, p), h, b, p) - } A(a, "aoRowCreatedCallback", null, [m, h, b, g]) - } e.nTr.setAttribute("role", "row") - } function Oa(a, b) { - var c = b.nTr, d = b._aData; if (c) { - if (a = a.rowIdFn(d)) c.id = a; d.DT_RowClass && (a = d.DT_RowClass.split(" "), b.__rowc = b.__rowc ? - sa(b.__rowc.concat(a)) : a, f(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass)); d.DT_RowAttr && f(c).attr(d.DT_RowAttr); d.DT_RowData && f(c).data(d.DT_RowData) - } - } function ob(a) { - var b, c, d = a.nTHead, e = a.nTFoot, h = 0 === f("th, td", d).length, g = a.oClasses, k = a.aoColumns; h && (c = f("").appendTo(d)); var l = 0; for (b = k.length; l < b; l++) { - var m = k[l]; var p = f(m.nTh).addClass(m.sClass); h && p.appendTo(c); a.oFeatures.bSort && (p.addClass(m.sSortingClass), !1 !== m.bSortable && (p.attr("tabindex", a.iTabIndex).attr("aria-controls", - a.sTableId), Pa(a, m.nTh, l))); m.sTitle != p[0].innerHTML && p.html(m.sTitle); Qa(a, "header")(a, p, m, g) - } h && ea(a.aoHeader, d); f(d).find(">tr").attr("role", "row"); f(d).find(">tr>th, >tr>td").addClass(g.sHeaderTH); f(e).find(">tr>th, >tr>td").addClass(g.sFooterTH); if (null !== e) for (a = a.aoFooter[0], l = 0, b = a.length; l < b; l++)m = k[l], m.nTf = a[l].cell, m.sClass && f(m.nTf).addClass(m.sClass) - } function fa(a, b, c) { - var d, e, h = [], g = [], k = a.aoColumns.length; if (b) { - c === n && (c = !1); var l = 0; for (d = b.length; l < d; l++) { - h[l] = b[l].slice(); h[l].nTr = - b[l].nTr; for (e = k - 1; 0 <= e; e--)a.aoColumns[e].bVisible || c || h[l].splice(e, 1); g.push([]) - } l = 0; for (d = h.length; l < d; l++) { if (a = h[l].nTr) for (; e = a.firstChild;)a.removeChild(e); e = 0; for (b = h[l].length; e < b; e++) { var m = k = 1; if (g[l][e] === n) { a.appendChild(h[l][e].cell); for (g[l][e] = 1; h[l + k] !== n && h[l][e].cell == h[l + k][e].cell;)g[l + k][e] = 1, k++; for (; h[l][e + m] !== n && h[l][e].cell == h[l][e + m].cell;) { for (c = 0; c < k; c++)g[l + c][e + m] = 1; m++ } f(h[l][e].cell).attr("rowspan", k).attr("colspan", m) } } } - } - } function S(a) { - var b = A(a, "aoPreDrawCallback", - "preDraw", [a]); if (-1 !== f.inArray(!1, b)) J(a, !1); else { - b = []; var c = 0, d = a.asStripeClasses, e = d.length, h = a.oLanguage, g = a.iInitDisplayStart, k = "ssp" == I(a), l = a.aiDisplay; a.bDrawing = !0; g !== n && -1 !== g && (a._iDisplayStart = k ? g : g >= a.fnRecordsDisplay() ? 0 : g, a.iInitDisplayStart = -1); g = a._iDisplayStart; var m = a.fnDisplayEnd(); if (a.bDeferLoading) a.bDeferLoading = !1, a.iDraw++, J(a, !1); else if (!k) a.iDraw++; else if (!a.bDestroying && !pb(a)) return; if (0 !== l.length) for (h = k ? a.aoData.length : m, k = k ? 0 : g; k < h; k++) { - var p = l[k], v = a.aoData[p]; - null === v.nTr && Ka(a, p); var u = v.nTr; if (0 !== e) { var q = d[c % e]; v._sRowStripe != q && (f(u).removeClass(v._sRowStripe).addClass(q), v._sRowStripe = q) } A(a, "aoRowCallback", null, [u, v._aData, c, k, p]); b.push(u); c++ - } else c = h.sZeroRecords, 1 == a.iDraw && "ajax" == I(a) ? c = h.sLoadingRecords : h.sEmptyTable && 0 === a.fnRecordsTotal() && (c = h.sEmptyTable), b[0] = f("", { "class": e ? d[0] : "" }).append(f("", { valign: "top", colSpan: V(a), "class": a.oClasses.sRowEmpty }).html(c))[0]; A(a, "aoHeaderCallback", "header", [f(a.nTHead).children("tr")[0], - Na(a), g, m, l]); A(a, "aoFooterCallback", "footer", [f(a.nTFoot).children("tr")[0], Na(a), g, m, l]); d = f(a.nTBody); d.children().detach(); d.append(f(b)); A(a, "aoDrawCallback", "draw", [a]); a.bSorted = !1; a.bFiltered = !1; a.bDrawing = !1 - } - } function U(a, b) { var c = a.oFeatures, d = c.bFilter; c.bSort && qb(a); d ? ha(a, a.oPreviousSearch) : a.aiDisplay = a.aiDisplayMaster.slice(); !0 !== b && (a._iDisplayStart = 0); a._drawHold = b; S(a); a._drawHold = !1 } function rb(a) { - var b = a.oClasses, c = f(a.nTable); c = f("
").insertBefore(c); var d = a.oFeatures, e = - f("
", { id: a.sTableId + "_wrapper", "class": b.sWrapper + (a.nTFoot ? "" : " " + b.sNoFooter) }); a.nHolding = c[0]; a.nTableWrapper = e[0]; a.nTableReinsertBefore = a.nTable.nextSibling; for (var h = a.sDom.split(""), g, k, l, m, p, n, u = 0; u < h.length; u++) { - g = null; k = h[u]; if ("<" == k) { - l = f("
")[0]; m = h[u + 1]; if ("'" == m || '"' == m) { - p = ""; for (n = 2; h[u + n] != m;)p += h[u + n], n++; "H" == p ? p = b.sJUIHeader : "F" == p && (p = b.sJUIFooter); -1 != p.indexOf(".") ? (m = p.split("."), l.id = m[0].substr(1, m[0].length - 1), l.className = m[1]) : "#" == p.charAt(0) ? l.id = p.substr(1, - p.length - 1) : l.className = p; u += n - } e.append(l); e = f(l) - } else if (">" == k) e = e.parent(); else if ("l" == k && d.bPaginate && d.bLengthChange) g = sb(a); else if ("f" == k && d.bFilter) g = tb(a); else if ("r" == k && d.bProcessing) g = ub(a); else if ("t" == k) g = vb(a); else if ("i" == k && d.bInfo) g = wb(a); else if ("p" == k && d.bPaginate) g = xb(a); else if (0 !== q.ext.feature.length) for (l = q.ext.feature, n = 0, m = l.length; n < m; n++)if (k == l[n].cFeature) { g = l[n].fnInit(a); break } g && (l = a.aanFeatures, l[k] || (l[k] = []), l[k].push(g), e.append(g)) - } c.replaceWith(e); a.nHolding = - null - } function ea(a, b) { b = f(b).children("tr"); var c, d, e; a.splice(0, a.length); var h = 0; for (e = b.length; h < e; h++)a.push([]); h = 0; for (e = b.length; h < e; h++) { var g = b[h]; for (c = g.firstChild; c;) { if ("TD" == c.nodeName.toUpperCase() || "TH" == c.nodeName.toUpperCase()) { var k = 1 * c.getAttribute("colspan"); var l = 1 * c.getAttribute("rowspan"); k = k && 0 !== k && 1 !== k ? k : 1; l = l && 0 !== l && 1 !== l ? l : 1; var m = 0; for (d = a[h]; d[m];)m++; var p = m; var n = 1 === k ? !0 : !1; for (d = 0; d < k; d++)for (m = 0; m < l; m++)a[h + m][p + d] = { cell: c, unique: n }, a[h + m].nTr = g } c = c.nextSibling } } } - function ta(a, b, c) { var d = []; c || (c = a.aoHeader, b && (c = [], ea(c, b))); b = 0; for (var e = c.length; b < e; b++)for (var h = 0, g = c[b].length; h < g; h++)!c[b][h].unique || d[h] && a.bSortCellsTop || (d[h] = c[b][h].cell); return d } function ua(a, b, c) { - A(a, "aoServerParams", "serverParams", [b]); if (b && f.isArray(b)) { var d = {}, e = /(.*?)\[\]$/; f.each(b, function (a, b) { (a = b.name.match(e)) ? (a = a[0], d[a] || (d[a] = []), d[a].push(b.value)) : d[b.name] = b.value }); b = d } var h = a.ajax, g = a.oInstance, k = function (b) { A(a, null, "xhr", [a, b, a.jqXHR]); c(b) }; if (f.isPlainObject(h) && - h.data) { var l = h.data; var m = "function" === typeof l ? l(b, a) : l; b = "function" === typeof l && m ? m : f.extend(!0, b, m); delete h.data } m = { data: b, success: function (b) { var c = b.error || b.sError; c && O(a, 0, c); a.json = b; k(b) }, dataType: "json", cache: !1, type: a.sServerMethod, error: function (b, c, d) { d = A(a, null, "xhr", [a, null, a.jqXHR]); -1 === f.inArray(!0, d) && ("parsererror" == c ? O(a, 0, "Invalid JSON response", 1) : 4 === b.readyState && O(a, 0, "Ajax error", 7)); J(a, !1) } }; a.oAjaxData = b; A(a, null, "preXhr", [a, b]); a.fnServerData ? a.fnServerData.call(g, - a.sAjaxSource, f.map(b, function (a, b) { return { name: b, value: a } }), k, a) : a.sAjaxSource || "string" === typeof h ? a.jqXHR = f.ajax(f.extend(m, { url: h || a.sAjaxSource })) : "function" === typeof h ? a.jqXHR = h.call(g, b, k, a) : (a.jqXHR = f.ajax(f.extend(m, h)), h.data = l) - } function pb(a) { return a.bAjaxDataGet ? (a.iDraw++, J(a, !0), ua(a, yb(a), function (b) { zb(a, b) }), !1) : !0 } function yb(a) { - var b = a.aoColumns, c = b.length, d = a.oFeatures, e = a.oPreviousSearch, h = a.aoPreSearchCols, g = [], k = X(a); var l = a._iDisplayStart; var m = !1 !== d.bPaginate ? a._iDisplayLength : - -1; var p = function (a, b) { g.push({ name: a, value: b }) }; p("sEcho", a.iDraw); p("iColumns", c); p("sColumns", K(b, "sName").join(",")); p("iDisplayStart", l); p("iDisplayLength", m); var n = { draw: a.iDraw, columns: [], order: [], start: l, length: m, search: { value: e.sSearch, regex: e.bRegex } }; for (l = 0; l < c; l++) { - var u = b[l]; var ra = h[l]; m = "function" == typeof u.mData ? "function" : u.mData; n.columns.push({ data: m, name: u.sName, searchable: u.bSearchable, orderable: u.bSortable, search: { value: ra.sSearch, regex: ra.bRegex } }); p("mDataProp_" + l, m); d.bFilter && - (p("sSearch_" + l, ra.sSearch), p("bRegex_" + l, ra.bRegex), p("bSearchable_" + l, u.bSearchable)); d.bSort && p("bSortable_" + l, u.bSortable) - } d.bFilter && (p("sSearch", e.sSearch), p("bRegex", e.bRegex)); d.bSort && (f.each(k, function (a, b) { n.order.push({ column: b.col, dir: b.dir }); p("iSortCol_" + a, b.col); p("sSortDir_" + a, b.dir) }), p("iSortingCols", k.length)); b = q.ext.legacy.ajax; return null === b ? a.sAjaxSource ? g : n : b ? g : n - } function zb(a, b) { - var c = function (a, c) { return b[a] !== n ? b[a] : b[c] }, d = va(a, b), e = c("sEcho", "draw"), h = c("iTotalRecords", - "recordsTotal"); c = c("iTotalDisplayRecords", "recordsFiltered"); if (e !== n) { if (1 * e < a.iDraw) return; a.iDraw = 1 * e } pa(a); a._iRecordsTotal = parseInt(h, 10); a._iRecordsDisplay = parseInt(c, 10); e = 0; for (h = d.length; e < h; e++)R(a, d[e]); a.aiDisplay = a.aiDisplayMaster.slice(); a.bAjaxDataGet = !1; S(a); a._bInitComplete || wa(a, b); a.bAjaxDataGet = !0; J(a, !1) - } function va(a, b) { a = f.isPlainObject(a.ajax) && a.ajax.dataSrc !== n ? a.ajax.dataSrc : a.sAjaxDataProp; return "data" === a ? b.aaData || b[a] : "" !== a ? T(a)(b) : b } function tb(a) { - var b = a.oClasses, - c = a.sTableId, d = a.oLanguage, e = a.oPreviousSearch, h = a.aanFeatures, g = '', k = d.sSearch; k = k.match(/_INPUT_/) ? k.replace("_INPUT_", g) : k + g; b = f("
", { id: h.f ? null : c + "_filter", "class": b.sFilter }).append(f("