summaryrefslogtreecommitdiffhomepage
path: root/modules
AgeCommit message (Collapse)Author
2018-11-14luci-mod-system: replace builtin opkg support with luci-app-opkgJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-mod-system: use luci.sys.process.exec() in system controllerJo-Philipp Wich
Switch the system controller to the common luci.sys.process.exec() function and drop the local ltn12_popen() and fork_exec() helpers. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-mod-system: prevent comment injection in mtdbackup endpointJo-Philipp Wich
Rework the parameter handling to both prevent a crash when no parameter is given and to prevent root command injection through the mtd index part of the parameter value. Fixes: 9840d310e ("modules: add backup module for mtdblock devices") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-mod-status: use progressbar widgets on main status pageJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base: simplify apply widget codeJo-Philipp Wich
- Drop embedded CSS in favor to new global rules - Drop extraneous include of cbi.js - Use showModal() facilities - Fix a cosmetic bug in countdown timeout handling Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base: cbi.js: add modal dialog functionsJo-Philipp Wich
Add two new functions showModal() and hideModal() which will fade in and close an open modal respectively. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base: add luci.sys.process.exec()Jo-Philipp Wich
The new process.exec() function simplifies spawning external processes and capturing their stdio. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base, themes: dropdown behaviour improvementsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base: cbi.js: remove dead code in cbi_validate_field()Jo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base: cbi.js: enable validation for dropdown fieldsJo-Philipp Wich
Directly attach validation handlers to cbi dropdowns as well, this allows validating dropdown choices made by the user, similar to how plain select boxes are handled by the cbi JavaScript. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base: cbi.js: set .value property of cbi dropdown elementsJo-Philipp Wich
In order to make cbi dropdowns usable for validation and other code expecting native form elements, set the .value DOM property on the dropdown parent element whenever the selection is changed. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base: cbi.js: properly handle cbi tooltips on nested elementsJo-Philipp Wich
Rework the tooltip event delegation logic to prevent hiding the tooltop when the cursor is moved to a children of the tooltip container element. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base: cbi.js: avoid using .form property directlyJo-Philipp Wich
In order to prepare support for calling cbi validation on non-native form widgets, remove direct usages of the node.form property and lookup the containing form using findParent() instead. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base: cbi.js: fix passing multiple dropdown values in change eventJo-Philipp Wich
Due to a misspelled property name, only the first value was passed in the event details. Fixes: c2b570998 ("luci-base: cbi.js: rework dropdown implementation") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base: rework dynamic list templateJo-Philipp Wich
Commit 7c7821833 ("luci-base, themes: rework dynlist and dropdown widgets") changed the way we initialize dynamic lists on client side, avoiding the need for pre-rendering the items on the server side. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base: add ARIA label to reveal/hide password buttonJo-Philipp Wich
Fixes #2070. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14luci-base: update german translationJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14i18n: luci-base: update Simplified Chinese translationZheng Qian
Signed-off-by: Zheng Qian <sotux82@gmail.com>
2018-11-12Merge pull request #2245 from Ansuel/fstabJo-Philipp Wich
luci-mod-system: add support for additional filesystem
2018-11-12luci-mod-system: add support for additional filesystemAnsuel Smith
The filesystem option doesn't include additional filesystem included with /etc/filesystems, this is usefull if someone have ntfs-3g installed and wants to force use the external utility to mount partition instead of the default present in the kernel (if it's supported) Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-11-12luci-mod-admin-full: dnsmasq clarify non-wildcard modeKevin Darbyshire-Bryant
'non-wildcard' interfaces enables dnsmasq's '--bind-dynamic' mode. This binds dynamically to interfaces rather than wildcard addresses *and* keeps track of interface comings/goings via a unique Linux api. Quoting dnsmasq's author "bind-dynamic (bind individual addresses, keep up with changes in interface config) ... On linux, there's actually no sane reason not to use --bind-dynamic, and it's only not the default for historical reasons." listen/exclude interfaces may be used independently of bind dynamic mode so removed the bogus dependency of 'nonwildcard' enabling access to 'listen/exclude' interfaces - they may be used in any mode.. In fact the dnsmasq init script takes notice of include/exclude interfaces irrespective of the 'nonwildcard' parameter. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-11-12Merge pull request #2274 from TDT-AG/pr/20181112-luic-mod-systemJo-Philipp Wich
luci-mod-system: add user defined interface to netdev trigger
2018-11-12luci-mod-system: add user defined interface to netdev triggerFlorian Eckert
Give the user the possibility to define and interface for the netdev trigger which is not available at the moment. This is usefull if a interface is not presented on configuration time. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-11-11luci-base: update Japanese translationINAGAKI Hiroshi
Updated Japanese translations. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-11-11luci-base: sync translationsINAGAKI Hiroshi
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-11-11luci-base: fix translation issuesINAGAKI Hiroshi
Fixed several issues for translation. - add translation markup to "Expecting " - add missing ")" into "valid time (HH:MM:SS" Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-11-07i18n: sync translations, add location annotatationsHannu Nyman
Thanks to a recent commit, the translation files will now have info about locations where the string is used. That can help is deciding the correct translation, as all contexts are more easily found. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-11-05luci-mod-network: move AHCP protocol model to AHCP applicationJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: validate DHCP clientid as hexstringJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: cbi.js: add client-side hexstring datatype validatorJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: cbi.js: add heuristics to attribute handling in E()Jo-Philipp Wich
If a given attribute value is a function, register it as event listener, if it is an object, filter it through JSON.stringify(), else set it as-is. This helps to reduce some boiler-plate code when building DOM structures. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base, themes: rework dynlist and dropdown widgetsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: cbi.js: rework dropdown implementationJo-Philipp Wich
- Refactor event handler closures into class methods and bind them instead - Fix quirk in dropdown placement calculation - Different dropdown placement strategy on touch devices - Broadcast custom "cbi-dropdown-change" event when value is changed - Implement setValues() method to alter dropdown selection - Prevent creating empty custom values Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: cbi.js: utilize node.closest() if availableJo-Philipp Wich
Use node.closest() in findParent() when available since it should be faster than manaually traversing the ancestor chain. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: cbi.js: drop cbi_bind()Jo-Philipp Wich
Just use node.addEventListener() directly since all reasonably recent browsers support it nowadays. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: cbi.js: rework client side input validationJo-Philipp Wich
- Refactor and fix datatype validation functions - Turn the type compilation and validation into a proper class - Display tooltip with error hint on invalid inputs Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: cbi.js: fix corner case in IPv6() address parserJo-Philipp Wich
The implementation allowed a hexadecimal string without any colons. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base, themes: add tooltip helpers & stylesJo-Philipp Wich
Add the required JS and CSS infrastructure to support rich hover/focus tooltips for element. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: cbi.js: switch to client side translationJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: cbi.js: add client side translation infrastructureJo-Philipp Wich
Implement the string hash algorithm used by LuCI's translation system in JavaScript and provide a `_()` translation wrapper function to lookup messages in the global string table. Once client side translation loading is activated in a later commit, JavaScript code can use the same string translation mechanism as server side Lua code, e.g. `_("Static Routes")` would yield "Statische Routen" when the German translation is loaded. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: expose system translations to JavaScriptJo-Philipp Wich
Add a new /admin/translations/ endpoint which exposes the loaded system translations as JavaScript file. Once referenced by <script>, the endpoint will create a `window.TR` object containing the entire translation string table for use on the client side. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: remove unused i18n functionsJo-Philipp Wich
Drop load(), loadc(), string() and stringf() from the luci.i18n class since these functions are either no longer unused or were never used to begin with. Also slightly rework the module to only use local symbols and unify the module require style. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: remove references to luci.i18n.loadc()Jo-Philipp Wich
The i18n.loadc() function has been a no-op since almost six years so it makes no sense to invoke it anymore. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: introduce luci.i18n.dump()Jo-Philipp Wich
Add a new luci.i18n.dump() function which returns all currently loaded translation strings as Lua table. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: fix luci.i18n.setlanguage()Jo-Philipp Wich
Rework the setlanguage() implementation to actually switch catalogues if another language has been loaded previously and change it to return the effectively loaded language tag. Also improve input parameter validation and accept tags in both lower or upper case. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-05luci-base: template: add translation iterator functionJo-Philipp Wich
Introduce a new luci.template.parser.get_translations() function which will iterate all loaded translation entries and pass the to the given callback function. This is useful to expose the loaded translations in other formats, e.g. for wrapping them into JSON feeds. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-04i18n: sync translationsHannu Nyman
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-11-02Merge pull request #2193 from rosysong/freespaceJo-Philipp Wich
luci-mod-system: add id for software/freespace div
2018-11-02Merge pull request #2250 from booo/remove-olsrd-library-version-numbersJo-Philipp Wich
get rid of library version numbers in luci olsrd code
2018-11-02Merge pull request #2252 from stweil/lgtmJo-Philipp Wich
Add missing variable declarations in JavaScript code