[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: hs-file-attach.js
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') exports["HSFileAttach"] = factory(); else root["HSFileAttach"] = factory(); })(window, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "./src/js/hs-file-attach.js"); /******/ }) /************************************************************************/ /******/ ({ /***/ "./src/js/hs-file-attach.js": /*!**********************************!*\ !*** ./src/js/hs-file-attach.js ***! \**********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return HSFileAttach; });\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*\n* HSFileAttach Plugin\n* @version: 3.0.0 (Mon, 22 Feb 2021)\n* @author: HtmlStream\n* @event-namespace: .HSFileAttach\n* @license: Htmlstream Libraries (https://htmlstream.com/)\n* Copyright 2019 Htmlstream\n*/\nvar dataAttributeName = 'data-hs-file-attach-options';\nvar defaults = {\n textTarget: null,\n maxFileSize: 1024,\n // Infinity - off file size detection\n errorMessage: 'File is too big!',\n typeErrorMessage: 'Unsupported file type',\n mode: 'simple',\n targetAttr: null,\n resetTarget: null,\n allowTypes: []\n};\n\nvar HSFileAttach = /*#__PURE__*/function () {\n function HSFileAttach(el, options, id) {\n _classCallCheck(this, HSFileAttach);\n\n this.collection = [];\n var that = this;\n var elems;\n\n if (el instanceof HTMLElement) {\n elems = [el];\n } else if (el instanceof Object) {\n elems = el;\n } else {\n elems = document.querySelectorAll(el);\n }\n\n for (var i = 0; i < elems.length; i += 1) {\n that.addToCollection(elems[i], options, id || elems[i].id);\n }\n\n if (!that.collection.length) {\n return false;\n } // initialization calls\n\n\n that._init();\n\n return this;\n }\n\n _createClass(HSFileAttach, [{\n key: \"_init\",\n value: function _init() {\n var _this = this;\n\n var that = this;\n\n var _loop = function _loop(i) {\n var _$el = void 0;\n\n var _options = void 0;\n\n if (that.collection[i].hasOwnProperty('$initializedEl')) {\n return \"continue\";\n }\n\n _$el = that.collection[i].$el;\n _options = that.collection[i].options;\n _options.$target = document.querySelector(_options.textTarget);\n\n function getFileExtension(filename) {\n return /[.]/.exec(filename) ? /[^.]+$/.exec(filename)[0] : null;\n }\n\n _$el.addEventListener('change', function (e) {\n if (_$el.value === '') {\n return;\n }\n\n if (e.target.files[0].size > _options.maxFileSize * 1024) {\n alert(_options.errorMessage);\n return e.target.value = '';\n }\n\n if (_options.allowTypes.length > 0) {\n var type = '.' + getFileExtension(e.target.files[0].name);\n\n if (!type || !_options.allowTypes.includes(type.toLowerCase())) {\n alert(_options.typeErrorMessage);\n return e.target.value = '';\n }\n }\n\n if (_options.mode === 'image') {\n _this.image(_$el, _options);\n } else {\n _this.simple(_$el, _options);\n }\n });\n\n _options.resetTarget ? document.querySelector(_options.resetTarget).addEventListener('click', function () {\n _$el.value = '';\n\n _options.$target.setAttribute(_options.targetAttr, _options.resetImg);\n }) : null;\n };\n\n for (var i = 0; i < that.collection.length; i += 1) {\n var _ret = _loop(i);\n\n if (_ret === \"continue\") continue;\n }\n }\n }, {\n key: \"simple\",\n value: function simple($el, settings) {\n settings.textContent = $el.value.replace(/.+[\\\\\\/]/, '');\n }\n }, {\n key: \"image\",\n value: function image($el, settings) {\n var reader;\n\n if ($el.files && $el.files[0]) {\n reader = new FileReader();\n\n reader.onload = function (e) {\n settings.$target.setAttribute(settings.targetAttr, e.target.result);\n };\n\n reader.readAsDataURL($el.files[0]);\n }\n }\n }, {\n key: \"addToCollection\",\n value: function addToCollection(item, options, id) {\n this.collection.push({\n $el: item,\n id: id || null,\n options: Object.assign({}, defaults, item.hasAttribute(dataAttributeName) ? JSON.parse(item.getAttribute(dataAttributeName)) : {}, options)\n });\n }\n }, {\n key: \"getItem\",\n value: function getItem(item) {\n if (typeof item === 'number') {\n return this.collection[item].$initializedEl;\n } else {\n return this.collection.find(function (el) {\n return el.id === item;\n }).$initializedEl;\n }\n }\n }]);\n\n return HSFileAttach;\n}();\n\n\n\n//# sourceURL=webpack://HSFileAttach/./src/js/hs-file-attach.js?"); /***/ }) /******/ })["default"]; });
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.83 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002