1
0
mirror of https://github.com/lrsjng/h5ai.git synced 2025-08-25 06:41:03 +02:00

Compare commits

...

1540 Commits
v0.5 ... master

Author SHA1 Message Date
Lars Jung
aa94de4945 Update. 2021-01-24 16:10:29 +01:00
Lars Jung
d99a14eaa9 Update. 2021-01-24 16:05:44 +01:00
Lars Jung
7d914d45fb Update. 2021-01-24 16:04:10 +01:00
Lars Jung
2243f2e6a5 Merge pull request #739 from carlos22/patch-1
Add EXIF based image rotate for firefox
2021-01-24 15:59:55 +01:00
Lars Jung
4b6c8d796a Merge pull request #748 from fuchse-ohren/patch-1
Update class-setup.php
2021-01-24 15:59:06 +01:00
Lars Jung
d257b79067 Merge pull request #762 from myl7/l10n
Fix #760
2021-01-24 15:54:25 +01:00
Lars Jung
6b147c7bfb Merge pull request #761 from myl7/master
Fix #758
2021-01-24 15:54:11 +01:00
myl7
0f2c9d095d Fix class static variable usage. 2020-11-08 12:30:17 +08:00
myl7
184e01c0a6 Fix #760.
Limit l10n iso code available values.
2020-11-08 12:05:34 +08:00
myl7
136c654432 Fix #758.
Normalize paths before dirname/basename operations.
2020-11-07 22:58:22 +08:00
Fox Ears
c122d5e44a Update class-setup.php
Windows用にwhereコマンドに対応
2020-08-18 12:07:09 +09:00
Lars Jung
d81d8a9298 Update. 2020-07-26 22:45:36 +02:00
Lars Jung
a556a2be50 Update. 2020-07-25 23:06:16 +02:00
Lars Jung
6ef253e44a Update. 2020-07-24 10:03:34 +02:00
Lars Jung
252ffc5cb9 Update. 2020-07-24 09:57:30 +02:00
Lars Jung
70e112a43a Update. 2020-07-09 09:47:07 +02:00
Lars Jung
e8434f5d89 Update. 2020-07-09 09:46:32 +02:00
Karl G
984aca0093 Add EXIF based image rotate for firefox
Chrome 81 / Safari 13.1 does this automatically. Firefox still requires this CSS. According to spec (css4) it is now deprecated but implementation is optional.
2020-04-20 15:31:00 +02:00
Lars Jung
673ee7ccc7 Update. 2020-03-07 13:57:56 +01:00
Lars Jung
059b2e16ed Update. 2020-03-07 13:53:53 +01:00
Lars Jung
84d84e163b Merge pull request #732 from Woet/patch-1
Close the session for writing when sending a file
2020-03-07 13:18:29 +01:00
Woet
6da08269d8 Close the session for writing when sending a file
Right now, if you download an archive, you won't be able to browse within h5ai until the download is finished. This is because the session data is locked to prevent concurrent writes, which also prevents concurrent requests.

By adding session_write_close() in the on_download function, the session lock is released and concurrent requests will work.
2020-02-27 11:41:56 +08:00
Lars Jung
ce939c3115 Update. 2020-02-19 18:56:23 +01:00
Lars Jung
8889ac4e2e Update. 2020-02-19 18:36:12 +01:00
Lars Jung
2a3f860473 Update. 2020-02-16 17:08:31 +01:00
Lars Jung
5e72d0f6a3 Update. 2020-02-16 02:38:06 +01:00
Lars Jung
bc4f964b24 Update. 2020-02-16 02:37:00 +01:00
Lars Jung
3930e8c204 Merge pull request #726 from thomo/patch-1
Fix cache path in thumbnail comment
2020-02-16 02:25:01 +01:00
Thomas Mohaupt
b1960a0d15 Fix cache path in thumbnail comment
The mentioned cache path does not exists.
2019-12-15 10:48:08 +01:00
Lars Jung
a1bb7552dc Update changelog. 2019-08-12 22:00:22 +02:00
Lars Jung
324242a584 Update deps. 2019-08-12 21:54:07 +02:00
Lars Jung
78d6bf6c27 Update. 2019-05-05 23:03:07 +02:00
Lars Jung
745985bf18 Update. 2019-04-24 02:12:12 +02:00
Lars Jung
50167d3382 Update. 2019-04-24 02:09:57 +02:00
Lars Jung
24d8359a2e Clean up. 2019-04-16 20:59:05 +02:00
Lars Jung
869f1f5cda Merge pull request #694 from Daniel15/header-footer-basedir
Stop searching for header/footer files at web root
2019-04-16 14:19:56 +02:00
Lars Jung
5ffc5cf6fd Clean up. 2019-04-16 14:17:41 +02:00
Lars Jung
8966a517c6 Merge pull request #619 from djtm/patch-1
Fix Invalid argument supplied for foreach() in class-archive.php:138
2019-04-16 14:08:23 +02:00
Lars Jung
a92c44ef0a Merge pull request #687 from Retrobottega/master
Update Italian Translation
2019-04-16 14:06:55 +02:00
Lars Jung
59a41665b0 Merge pull request #683 from Azhe403/patch-1
add Indonesian as id.json
2019-04-16 14:06:39 +02:00
Lars Jung
f7333eb51c Merge pull request #586 from thadius856/master
Update options.json
2019-04-16 14:06:04 +02:00
Lars Jung
02bf7079dd Merge pull request #584 from carloshbcabral/master
Update pt-pt.json and added pt-br.json
2019-04-16 14:05:49 +02:00
Lars Jung
8a15390694 Update deps. 2019-04-16 14:03:51 +02:00
Lars Jung
6f61a12772 Update. 2019-04-05 23:02:49 +02:00
Lars Jung
566338020a Update. 2019-04-05 23:02:26 +02:00
Lars Jung
52ff7462a9 Clean code. 2019-03-22 23:01:35 +01:00
Lars Jung
427ca82722 Maintenance. 2019-03-22 02:33:58 +01:00
Lars Jung
c521ecd055 Update deps. 2019-02-20 22:06:03 +01:00
Daniel Lo Nigro
946c862dc4 Add option to stop searching for header/footer files once the root is reached
References https://github.com/lrsjng/h5ai/issues/669
2019-02-19 00:47:06 -08:00
SalGnt
2d371d112d Update it.json 2018-10-02 15:24:33 +02:00
Azhe-kun
77d6f4af7f add Indonesian as id.json 2018-09-03 18:59:06 +07:00
djtm
e2a743bca5 Fix Invalid argument supplied for foreach() in class-archive.php:139
Before this change, when trying to download a folder oder single file via the download (nginx/php7.1-fpm) option I get below error.

```
[error] 22294#22294: *1376 FastCGI sent in stderr: "PHP message: PHP Warning:  Invalid argument supplied for foreach() in ..._h5ai/private/php/ext/class-archive.php on line 138
PHP message: PHP Stack trace:
PHP message: PHP   1. {main}() ..._h5ai/public/index.php:0
PHP message: PHP   2. Bootstrap::run() /..._h5ai/public/index.php:17
PHP message: PHP   3. Api->apply() /..._h5ai/private/php/class-bootstrap.php:19
PHP message: PHP   4. Api->on_download() /..._h5ai/private/php/core/class-api.php:20
PHP message: PHP   5. Archive->output() /..._h5ai/private/php/core/class-api.php:37
PHP message: PHP   6. Archive->add_hrefs() /..._h5ai/private/php/ext/class-archive.php:28" while reading response header from upstream, 
client: 10.0.2.2, server: localhost.dev, request: "POST /downloads/? HTTP/1.1",
upstream: "fastcgi://127.0.0.1:9000", host: "localhost.dev:28888", referrer: "http://localhost.dev:28888/downloads/"
```
2017-04-24 03:09:21 +02:00
thadius856
ab4fa886c3 Update options.json
Fixed comment to indicate correct path.
2016-09-23 22:02:22 -07:00
Carlos Cabral
4b08092c18 Update pt-br.json 2016-09-09 03:38:40 -03:00
Carlos Cabral
0fd57cad51 Update and rename pt.json to pt-pt.json 2016-09-09 03:38:36 -03:00
Carlos Cabral
db764b6780 Create pt-br.json 2016-09-09 03:35:55 -03:00
Lars Jung
44e53ab213 Dev options. 2016-08-13 20:24:54 +02:00
Lars Jung
5af71185ff Release v0.29.0. 2016-08-12 14:57:36 +02:00
Lars Jung
d714ea90fb Prepare release. 2016-08-12 14:49:20 +02:00
Lars Jung
1e12faa756 Clean PHP. 2016-08-12 14:35:34 +02:00
Lars Jung
85ddff9c2d Turn onReady/Load into promised code. 2016-08-12 12:28:56 +02:00
Lars Jung
00232389ad Update changelog. 2016-08-11 19:51:55 +02:00
Lars Jung
e10fe49cc0 Add chunksize to thumbnail requests. 2016-08-11 19:50:28 +02:00
Lars Jung
6c52ae659f Update deps. 2016-08-11 17:31:42 +02:00
Lars Jung
3c54c1d66c Add space. 2016-08-11 16:43:06 +02:00
Lars Jung
940608d02a Fix selector field. 2016-08-11 00:53:43 +02:00
Lars Jung
b6b8d9f144 Clean some PHP code. 2016-08-11 00:33:06 +02:00
Lars Jung
c559edc208 Update changelog. 2016-08-10 23:59:27 +02:00
Lars Jung
4a41994556 Update changelog. 2016-08-10 23:49:41 +02:00
Lars Jung
d763d6b20a Fix safari language selection. 2016-08-10 16:35:57 +02:00
Lars Jung
dc2a74d251 Fix xhr check for safari. 2016-08-10 15:58:05 +02:00
Lars Jung
fe5ce111af Clean fallback mode topbar style. 2016-08-10 15:54:03 +02:00
Lars Jung
a930f4ce1b Clean info page styles. 2016-08-10 00:43:18 +02:00
Lars Jung
dae89ba5d8 Fix emtpy selection issues. 2016-08-10 00:20:40 +02:00
Lars Jung
78df81266c Another fix for download-all. 2016-08-09 23:26:16 +02:00
Lars Jung
b261c7e937 Docs. 2016-08-09 23:06:12 +02:00
Lars Jung
f9a7a217f8 Dereference sym links when using du. 2016-08-09 22:46:28 +02:00
Lars Jung
4d96cb47ad Fix drag-select on scrollable content. 2016-08-09 22:28:01 +02:00
Lars Jung
0f4fe15195 Fix always visible download button. 2016-08-09 19:27:43 +02:00
Lars Jung
d20d1e8b2c Lighter sidebars. 2016-08-09 03:06:50 +02:00
Lars Jung
4130f7a6fd Center icon labels. 2016-08-09 02:49:51 +02:00
Lars Jung
4ccd4bb030 Back to a cleaner GUI. 2016-08-07 18:15:22 +02:00
Lars Jung
16926f821d Update deps. 2016-08-03 11:52:45 +02:00
Lars Jung
7b5599e9d1 Merge pull request #561 from edmundlaugasson/master
added Estonian translation
2016-08-03 11:42:54 +02:00
Lars Jung
834f3b5425 Clean some tests. 2016-08-03 11:40:53 +02:00
Lars Jung
f0bee58869 Update piwik-analytics code. 2016-08-03 10:28:17 +02:00
edmundlaugasson
03e89dab5e added Estonian translation 2016-08-03 09:38:24 +03:00
Lars Jung
b7f25c45f2 Add unload funcs to audio and video previews. 2016-08-01 14:34:52 +02:00
Lars Jung
e5966bc610 Merge pull request #557 from Sirgue/patch-1
Update fr.json
2016-08-01 13:42:30 +02:00
Sirgue
78bc1e2a1e Update fr.json
Some translates for french language
2016-07-28 05:01:53 +02:00
Lars Jung
0315e29b44 Update deps. 2016-07-26 00:10:00 +02:00
Lars Jung
152dcb9b46 Revert. 2016-07-25 21:38:44 +02:00
Lars Jung
3a87b594a6 Update deps. 2016-07-25 20:15:35 +02:00
Lars Jung
631a0f7aa3 Merge pull request #556 from unix4you2/patch-2
Update es.json
2016-07-25 02:46:51 +02:00
Lars Jung
5564559b7c Merge pull request #555 from unix4you2/patch-1
Update es.json
2016-07-25 02:46:19 +02:00
Lars Jung
0e0f06d634 Add some tests. 2016-07-24 01:23:10 +02:00
Lars Jung
e52b3dd440 Width hack. 2016-07-23 22:30:26 +02:00
Lars Jung
c486962ff8 Minor. 2016-07-23 11:18:18 +02:00
Lars Jung
3fe1b2d6f8 Add tests. 2016-07-23 03:03:35 +02:00
Lars Jung
691cbce10f Replace regularCmp with cmp. 2016-07-23 02:36:16 +02:00
Lars Jung
4ccab28253 Update preview code. 2016-07-23 02:15:59 +02:00
Lars Jung
a6994150ca Add jsdom for headless testing. 2016-07-22 21:19:10 +02:00
Lars Jung
1d4b4b8a02 Update dom. 2016-07-22 20:15:14 +02:00
Lars Jung
20e080751d Update preview code. 2016-07-22 19:43:44 +02:00
Lars Jung
8a4ccd098c Clean preview code. 2016-07-22 03:59:50 +02:00
Lars Jung
9e0b1698fc Replace prism with lolight. 2016-07-21 16:31:14 +02:00
Lars Jung
18dfa1e09f Move some deps to package.json. 2016-07-21 14:26:48 +02:00
Lars Jung
83aad78ab0 Fix preview. 2016-07-21 13:48:54 +02:00
Lars Jung
9b88cdeb9b Update deps. 2016-07-21 13:44:31 +02:00
John Arroyave
11030a17af Update es.json 2016-07-11 08:02:25 -05:00
John Arroyave
aa7df50402 Update es.json 2016-07-11 07:44:35 -05:00
Lars Jung
2008d0755c Clean code. 2016-07-06 16:15:13 +02:00
Lars Jung
c7fdfc27a1 Update normalize to 4.2.0. 2016-07-02 15:11:11 +02:00
Lars Jung
717e046bb9 Update deps. 2016-07-02 13:41:01 +02:00
Lars Jung
5bbc88b8e2 Update tests. 2016-07-02 02:40:34 +02:00
Lars Jung
babb952485 Remove peer5 options. 2016-07-02 01:39:27 +02:00
Lars Jung
22b2db8daf Clean some code. 2016-07-02 00:38:52 +02:00
Lars Jung
8485905901 Clean sort code. 2016-07-01 19:26:17 +02:00
Lars Jung
73e74bb887 Update eslintrc. 2016-07-01 15:00:39 +02:00
Lars Jung
a893cb7534 Update readme. 2016-07-01 14:48:41 +02:00
Lars Jung
87e5472d42 Minor. 2016-07-01 14:44:51 +02:00
Lars Jung
05194167e1 Update prism. 2016-07-01 14:38:23 +02:00
Lars Jung
6dbffb8be1 Minor. 2016-07-01 03:55:27 +02:00
Lars Jung
24945faded Remove last jQuery refs and jQuery itself. 2016-07-01 03:27:38 +02:00
Lars Jung
3761a40e50 Clean code. 2016-06-30 02:19:49 +02:00
Lars Jung
f547d95f30 Minor. 2016-06-29 22:06:43 +02:00
Lars Jung
4a3e8c6734 Minor. 2016-06-29 19:03:54 +02:00
Lars Jung
07ccdbd734 Remove peer5. 2016-06-29 17:42:01 +02:00
Lars Jung
47b46813db Clean select code. 2016-06-29 16:59:39 +02:00
Lars Jung
82c0ae88f8 Clean select code. 2016-06-29 16:57:32 +02:00
Lars Jung
749c8b29c9 Clean select code. 2016-06-29 01:55:28 +02:00
Lars Jung
d0b6197aec Clean custom code. 2016-06-28 21:34:55 +02:00
Lars Jung
3b8edf9ad8 Clean tree code. 2016-06-28 19:44:52 +02:00
Lars Jung
9c4f3111ba Remove jq from tree. 2016-06-28 03:01:07 +02:00
Lars Jung
901d8c407d Bundle utils. 2016-06-26 17:57:25 +02:00
Lars Jung
6b3ba18da1 Update dom. 2016-06-26 17:07:43 +02:00
Lars Jung
cfbae4c5d5 Update. 2016-06-26 14:08:18 +02:00
Lars Jung
7320592dc2 Start to replace jQuery with dom. 2016-06-26 01:03:24 +02:00
Lars Jung
9234e3f287 Clean code. 2016-06-25 00:39:57 +02:00
Lars Jung
95c473a7c7 Clean code. 2016-06-24 23:06:00 +02:00
Lars Jung
3e14d7bed4 Clean code. 2016-06-24 21:26:59 +02:00
Lars Jung
aebfdeb1cd Remove all lodash deps. 2016-06-24 20:31:40 +02:00
Lars Jung
131d153cf5 More changes from jq.data to pure props. 2016-06-24 19:37:57 +02:00
Lars Jung
a3c9bc9db0 Initial switch from jq.data to pure props. 2016-06-24 18:59:16 +02:00
Lars Jung
06b4d81a61 Clean code. 2016-06-24 18:18:44 +02:00
Lars Jung
d8d7b997b5 Remove some more lodash refs. 2016-06-24 16:59:31 +02:00
Lars Jung
26c4d569aa Merge pull request #544 from PeterDaveHelloKitchen/image-optimize
optimize png images losslessly using zopflipng
2016-06-24 13:19:04 +02:00
Lars Jung
67d9e9794b Merge pull request #542 from kuoruan/translate
Update Chinese Translate
2016-06-24 13:15:23 +02:00
Lars Jung
0b8d7e5343 Minor. 2016-06-24 01:11:26 +02:00
Lars Jung
c3cd171785 Refactor. 2016-06-23 13:15:12 +02:00
Lars Jung
171f1c12eb Overlay sidebar. 2016-06-23 00:27:24 +02:00
Lars Jung
50644c84dc Overlay sidebar on small screens. 2016-06-23 00:19:23 +02:00
Lars Jung
92e8e34a66 Improve 64-bit hint. 2016-06-22 23:14:25 +02:00
Lars Jung
804df4c0fb Refactor PHP. 2016-06-22 22:07:57 +02:00
Lars Jung
41bb7d76b5 Refactor PHP. 2016-06-22 22:04:35 +02:00
Lars Jung
35df02984b Clean code. 2016-06-22 21:15:50 +02:00
Lars Jung
e0fc7043b5 Add PHP arch check. 2016-06-22 18:15:55 +02:00
Lars Jung
628836a201 PHP filesize. 2016-06-22 16:54:32 +02:00
Lars Jung
00f9ee09d3 Minor. 2016-06-22 11:36:36 +02:00
Lars Jung
029d4ed5af Minor. 2016-06-22 11:36:16 +02:00
Lars Jung
cd7c3c3dd4 Update editorconfig. 2016-06-21 03:25:20 +02:00
Lars Jung
d5c9668013 Update eslint. 2016-06-21 03:20:04 +02:00
Lars Jung
2fb7f9129e Add source check. 2016-06-21 03:16:35 +02:00
Lars Jung
f6150c58f4 Clean code. 2016-06-20 01:37:18 +02:00
Lars Jung
3246525d78 Remove some lodash deps. 2016-06-20 00:13:52 +02:00
Lars Jung
fe9cdbc46b Clean code. 2016-06-19 23:05:31 +02:00
Lars Jung
324fceb5c3 Move server to root dir. 2016-06-19 19:21:32 +02:00
Lars Jung
8656bdd74e Update styles. 2016-06-19 16:50:23 +02:00
Lars Jung
8ef9575e51 Replace jQuery.qrcode with kjua 0.1.1. 2016-06-19 14:47:39 +02:00
Lars Jung
1fc72d8473 Update ghu.js. 2016-06-19 14:08:26 +02:00
Lars Jung
2153056266 Rename global.js to pre.js. 2016-06-19 13:57:10 +02:00
Lars Jung
2240bd3ca1 Update deps. 2016-06-18 12:22:29 +02:00
Peter Dave Hello
127eaf9aac optimize png images losslessly using zopflipng 2016-06-11 10:21:37 +08:00
Lars Jung
7d5945d45b Minor changes. 2016-06-04 16:26:08 +02:00
Lars Jung
1d2c45dc68 Refactor view files. Add option to disable sidebar. 2016-06-04 16:09:35 +02:00
Lars Jung
2ee4a18e1c Clean build file. 2016-06-04 14:36:08 +02:00
Lars Jung
f0a9937dc6 Switch file names from jade to pug. 2016-06-04 02:43:48 +02:00
Lars Jung
3a2e61b163 Clean up tests. 2016-06-04 01:06:25 +02:00
Lars Jung
c4fa90a747 Add scar tests. 2016-06-03 23:08:30 +02:00
Lars Jung
1cba9290b6 Refactor win.js into globals.js. 2016-06-03 22:40:05 +02:00
Lars Jung
58cbad2bfd Disable filter. 2016-06-03 17:56:50 +02:00
Lars Jung
da9d027fed Remove custom modernizr. 2016-06-03 17:46:01 +02:00
Lars Jung
70d6528190 Test some module designs. 2016-06-03 17:38:00 +02:00
Lars Jung
f7187fb14b Stricter browser checks. Drop IE support. 2016-06-03 17:36:42 +02:00
Lars Jung
7ec2bdf16a Begin to move all src javascript to es6. Add search/filter ignore case option. 2016-06-02 23:16:23 +02:00
Hsing-Wang Liao
c7433b0d14 Update Traditional Chinese translation
Signed-off-by: Hsing-Wang Liao <kuoruan@gmail.com>
2016-06-01 14:20:47 +08:00
Hsing-Wang Liao
0179a5044b Update Simplified Chinese translation
Signed-off-by: Hsing-Wang Liao <kuoruan@gmail.com>
2016-06-01 14:08:08 +08:00
Lars Jung
f37e8e7b89 Update sinon to 1.17.3. 2016-05-31 02:00:19 +02:00
Lars Jung
ba670be7d8 Update ghu. Switch from jade to pug. 2016-05-31 01:21:44 +02:00
Lars Jung
93487de085 Remove sharpen arg from pdf convert. 2016-05-29 20:47:17 +02:00
Lars Jung
a2fb3d952d Replace getenv with SERVER lookups. 2016-05-29 19:05:50 +02:00
Lars Jung
fada3c1e36 Release custom head tags. 2016-05-29 18:21:32 +02:00
Lars Jung
aa87ec15b0 Add fallback mode. 2016-05-29 17:35:15 +02:00
Lars Jung
a0db0e0ac3 Update htaccess. 2016-05-29 14:52:39 +02:00
Lars Jung
a790c34a24 Readd some apache config. 2016-05-28 22:23:27 +02:00
Lars Jung
38daa4aa1f Update readme. 2016-05-28 21:34:23 +02:00
Lars Jung
c92822ba7d Update readme. 2016-05-28 19:58:17 +02:00
Lars Jung
18f2c72fd1 Change svg from text to image format. 2016-05-28 19:57:11 +02:00
Lars Jung
d03dc990fa Update readme and changelog. 2016-05-28 16:21:09 +02:00
Lars Jung
882abd1972 Merge pull request #510 from SushiDude/htaccess
Use mod_authz_core when available. Otherwise, fallback to mod_authz_host or mod_access_compat.
2016-05-28 00:04:37 +02:00
Lars Jung
2dd594ba13 Clean code. 2016-05-27 23:49:27 +02:00
Lars Jung
8d5473903e Merge pull request #534 from thezbyg/master
Fix incorrect tree item display.
2016-05-27 23:47:22 +02:00
Lars Jung
69c1ffd92f Fix and clean code from broken pull request. 2016-05-27 23:06:50 +02:00
Lars Jung
808e37d034 Merge pull request #526 from cygmris/master
Add commands support for Windows
2016-05-27 23:00:26 +02:00
Lars Jung
60ef5ff983 Merge pull request #492 from Joery/master
h5ai: fix typo & nl translation
2016-05-27 22:47:54 +02:00
Lars Jung
171539643e Merge pull request #537 from Monter/master
Update pl.json
2016-05-27 22:43:15 +02:00
Lars Jung
793bfce202 Minor change. 2016-05-27 22:42:11 +02:00
Lars Jung
10d6d2c3c1 Remove babel for now. 2016-05-27 20:35:43 +02:00
Lars Jung
51a161eede Minor tweaks. 2016-05-27 18:23:29 +02:00
Lars Jung
57b3ee6c2f Update deps: jquery, lodash, qrcode, modulejs. Minor fixes. 2016-05-27 17:56:32 +02:00
Lars Jung
641d9b3cfa Update deps. Fix lint issues. 2016-05-27 16:31:27 +02:00
Mark eM
5c2d84aaa9 Update pl.json 2016-05-22 20:25:50 +02:00
Albertas Vyšniauskas
8157ada8fc Fix incorrect tree item display.
Issues #533 and #499.
2016-05-17 17:04:24 +03:00
Lars Jung
8e143a4607 Update deps. 2016-05-16 16:10:37 +02:00
Lars Jung
e021862acf Minor tweaks. 2016-05-05 23:51:47 +02:00
Chr1sh3ng
ed9f04a372 Add commands support for Windows 2016-04-15 19:17:43 +08:00
Wyatt J. Brown
ca86993091 Use mod_authz_core when available. Otherwise, fallback to mod_authz_host or mod_access_compat.
https://github.com/lrsjng/h5ai/pull/489
https://github.com/lrsjng/h5ai/issues/504
2016-02-27 03:12:37 -05:00
Joery
85bd0abd8d Merge pull request #1 from lrsjng/master
h5ai: downstream 20160121
2016-01-21 10:09:53 +01:00
Lars Jung
ed1ab4053c Update apk icon. Add rust type and icon. 2016-01-19 01:18:08 +01:00
Lars Jung
6aed4455d3 Update deps. 2016-01-14 00:44:10 +01:00
Lars Jung
5f265672ae Remove blank lines from PHP sources. 2016-01-14 00:36:25 +01:00
Joery
1653306440 h5ai: update dutch translation 2015-12-25 22:03:03 +01:00
Joery
d0fe566f8f h5ai: fix typo 2015-12-25 22:02:30 +01:00
Lars Jung
11bab8d0a1 Fix mobile view. 2015-12-19 19:58:25 +01:00
Lars Jung
c612fbcfb7 Push version. 2015-12-19 18:12:31 +01:00
Lars Jung
11c86c7031 Update deps. 2015-12-19 17:52:36 +01:00
Lars Jung
e2ffb09ed1 Merge pull request #478 from m0vie/php-tar-dir-mtime
php-tar: store mtime of directories
2015-12-19 17:09:11 +01:00
Lars Jung
77f1a073a7 Merge pull request #457 from Kleofass/patch-1
Update lv.json
2015-12-19 17:07:51 +01:00
Lars Jung
168ead7ed5 Update package. 2015-12-19 17:07:17 +01:00
Lars Jung
0e5b463acf Update deps. Fix version string. 2015-12-19 17:01:45 +01:00
Lars Jung
2e8ae301c5 Remove stamp. 2015-12-13 22:23:40 +01:00
Lars Jung
ab622d5cd2 Update deps. 2015-12-11 23:13:00 +01:00
Lars Jung
a6e6cf96d6 Update readme. 2015-11-19 00:07:25 +01:00
Lars Jung
58b4d20185 Update readme. 2015-11-18 23:39:28 +01:00
Lars Jung
39ea94daa8 Fix a lot eslint errors. 2015-11-18 23:16:58 +01:00
Lars Jung
0c6143704a Switch to ghu and eslint. 2015-11-18 17:27:16 +01:00
Lars Jung
5d0770ca36 Update. 2015-10-24 20:04:44 +02:00
Lars Jung
1ae45f6cbb Breaking changes. 2015-10-24 19:20:31 +02:00
m0vie
eb69d73190 php-tar: store mtime of directories 2015-10-14 21:00:04 +02:00
Lars Jung
2b2656b7e1 Minor. 2015-07-01 23:56:20 +02:00
Lars Jung
6c7e3e8c5d Update test desc. 2015-06-14 16:04:11 +02:00
Lars Jung
063049ec8e Fix tests. 2015-06-14 15:32:01 +02:00
Lars Jung
787eae7a80 Update tests. 2015-06-14 15:24:05 +02:00
Kleofass
5b1b8e0b2d Update lv.json 2015-06-05 10:21:31 +03:00
Lars Jung
18a62ca831 Revert. 2015-05-31 21:21:32 +02:00
Lars Jung
de0b2eedc9 Test. 2015-05-31 21:03:33 +02:00
Lars Jung
d7b389e407 Refactor IE check. 2015-05-30 20:26:38 +02:00
Lars Jung
14825ebe29 Update lodash to 3.9.3, use modern build. 2015-05-29 16:12:22 +02:00
Lars Jung
34aeac9787 Replace modernizr with custom setup. 2015-05-29 15:27:44 +02:00
Lars Jung
fc3f84da6e Clean code. 2015-05-29 12:08:43 +02:00
Lars Jung
6ed6819cef Maintenance. 2015-05-23 02:45:15 +02:00
Lars Jung
370bb3b068 Update readme. 2015-05-21 02:41:27 +02:00
Lars Jung
570431e39c Fix fseek filesize. 2015-05-21 00:33:54 +02:00
Lars Jung
efc4623a0b Minor changes. 2015-05-20 22:44:08 +02:00
Lars Jung
65d8aab429 Clean code. 2015-05-20 22:13:04 +02:00
Lars Jung
6c9d480736 Start filesize refactoring. 2015-05-20 18:41:48 +02:00
Lars Jung
9fde25fc8e Tweaks. 2015-05-20 03:25:15 +02:00
Lars Jung
e6a59ae6d0 Update readme. 2015-05-20 02:54:55 +02:00
Lars Jung
5b68fe731a Reorganize file structure. 2015-05-20 02:54:01 +02:00
Lars Jung
c8eff2d313 Reorganize file structure. 2015-05-20 01:53:56 +02:00
Lars Jung
74745a8603 Tweaks. 2015-05-20 00:45:43 +02:00
Lars Jung
0aadd1add9 Tweaks. 2015-05-20 00:12:29 +02:00
Lars Jung
b3f61f81e2 Add icons. 2015-05-18 00:17:17 +02:00
Lars Jung
90befd2b8e Add txt-pdf icon. 2015-05-17 20:22:07 +02:00
Lars Jung
bf5483950c Update types. 2015-05-17 18:52:40 +02:00
Lars Jung
bd7e005c91 Update crumb styles. 2015-05-17 18:08:57 +02:00
Lars Jung
e08cbb4c96 Merge pull request #442 from jerryjacobs/type-add-golang
Add golang syntax highlight.
2015-05-17 18:07:04 +02:00
Lars Jung
c93df78f1d Merge pull request #446 from bskim45/patch-2
Updated ko.json
2015-05-17 18:06:34 +02:00
Lars Jung
bfb1be8aa5 Fix fallback styles. Update fallback and favicons. 2015-05-17 17:15:06 +02:00
Lars Jung
86466f072b Fix preview label issue. 2015-05-17 16:31:15 +02:00
Lars Jung
b33599f4f2 Fix preview label issue. 2015-05-17 16:27:53 +02:00
Lars Jung
d0f29ec3cf New default theme. New theme comity. 2015-05-17 16:20:06 +02:00
Bumsoo Kim
be7626b698 Updated ko.json 2015-05-17 18:08:28 +09:00
Lars Jung
01b1a8e029 Update text preview. 2015-05-17 02:28:39 +02:00
Lars Jung
09fa3acc4d Update text preview. 2015-05-17 00:16:31 +02:00
Lars Jung
04d9296733 Update tests. 2015-05-16 22:15:54 +02:00
Lars Jung
0b57b1cbd2 Clean code. 2015-05-16 21:48:27 +02:00
Lars Jung
0a843a0b1f Refactor browser check. 2015-05-16 21:36:05 +02:00
Lars Jung
8d3611e30c Update changelog. 2015-05-16 15:34:11 +02:00
Lars Jung
76c226c57b Add ignorecase option to tree. 2015-05-16 14:28:54 +02:00
Lars Jung
673afead73 Update styles. 2015-05-16 05:17:08 +02:00
Lars Jung
8e5b874490 Update styles. 2015-05-16 05:05:22 +02:00
Lars Jung
d9ea66ef85 Clean font css. Add font options. 2015-05-16 04:39:19 +02:00
Lars Jung
fbd9db897e Add extensions dir. 2015-05-16 03:11:09 +02:00
Lars Jung
1995acab95 Add improved PHP JSON parsing. Add option to add resources. 2015-05-16 03:03:17 +02:00
Lars Jung
fe9c7587d8 Add maxIconSize option. 2015-05-15 01:17:00 +02:00
Lars Jung
9eb29b5707 Fix theme. 2015-05-14 22:11:57 +02:00
Lars Jung
99462d0ae0 Add gm support for PDF thumbs. 2015-05-14 19:00:10 +02:00
Lars Jung
89d56b3ae4 Update mode toggle. 2015-05-14 18:04:39 +02:00
Lars Jung
a61dea8c40 Update tests. 2015-05-14 17:37:35 +02:00
Lars Jung
cc4bb962a6 Add non-public cache. 2015-05-14 17:33:54 +02:00
Lars Jung
0a3d085c5a Update readme and changelog. 2015-05-14 15:32:51 +02:00
Lars Jung
17b5d4dfaa Remove version from settings. 2015-05-14 14:50:51 +02:00
Lars Jung
95f087cfd6 Refactor info page. 2015-05-14 14:22:40 +02:00
Lars Jung
9090c28f04 Clean jade markup. 2015-05-14 13:41:13 +02:00
Lars Jung
fe5723f75d Minor changes. 2015-05-14 01:27:32 +02:00
Lars Jung
9637c89b1b Clean code. 2015-05-14 00:33:27 +02:00
Lars Jung
4db158e8d9 Replace appHref with publicHref. 2015-05-14 00:13:22 +02:00
Lars Jung
05547c2685 Update readme. 2015-05-13 23:42:35 +02:00
Lars Jung
4f9a298273 Fix some edge case. 2015-05-13 22:30:38 +02:00
Lars Jung
2a7b1b1f0d Refactor code. 2015-05-13 21:44:56 +02:00
Lars Jung
21014ff788 Clean markup. 2015-05-13 19:04:20 +02:00
Lars Jung
9611aed707 Make Bootstrap static again. 2015-05-13 17:33:43 +02:00
Lars Jung
ae677a2194 Refactor pages. 2015-05-13 16:13:21 +02:00
Lars Jung
f19d9b9419 Fix fatal request error. 2015-05-13 14:11:22 +02:00
Lars Jung
fe6830cd83 Update tests. 2015-05-13 14:09:30 +02:00
Lars Jung
4932dda11c Move passhass to options. 2015-05-13 14:07:21 +02:00
Lars Jung
37fbca2ead Minor changes. 2015-05-13 02:34:11 +02:00
Lars Jung
093296dbac Update tests. 2015-05-13 02:19:39 +02:00
Lars Jung
4f83c95d20 Use own location as API href. 2015-05-13 01:16:21 +02:00
Lars Jung
0f72db1961 Fix image href. 2015-05-13 00:30:35 +02:00
Lars Jung
7063b26a5f Fix some info page styles. 2015-05-13 00:28:32 +02:00
Lars Jung
4889290d3e Minor tweaks. 2015-05-12 22:25:59 +02:00
Lars Jung
b1f88f28f4 Merge index and info routing. 2015-05-12 18:21:30 +02:00
Lars Jung
ee241e7e3f Restructure file base. 2015-05-12 16:08:20 +02:00
Lars Jung
057a5f05a5 Rename app to context. 2015-05-12 14:03:49 +02:00
Lars Jung
06b9232552 Refactor PHP code. 2015-05-12 13:36:29 +02:00
Lars Jung
6258c40a24 Clean PHP code. 2015-05-12 03:26:44 +02:00
Lars Jung
9f53ddd3f3 Clean PHP code. 2015-05-12 02:04:58 +02:00
Lars Jung
e199be6363 Clean PHP code. 2015-05-12 01:18:14 +02:00
Lars Jung
788f4f047c Clean PHP code. 2015-05-12 01:00:45 +02:00
Lars Jung
34f86997cb Clean code. 2015-05-11 23:55:31 +02:00
Lars Jung
291f4e28d8 Refactor PHP. 2015-05-11 23:54:46 +02:00
Lars Jung
8f921c8a1f Refactor PHP. 2015-05-11 23:34:02 +02:00
Lars Jung
8c810a1818 Clean code. 2015-05-11 17:56:01 +02:00
Lars Jung
d07850b6ef Refactor PHP. Switch to explicit string literals where possible. 2015-05-11 13:00:10 +02:00
Lars Jung
cb9b8c6244 Refactor PHP. Switch to explicit string literals where possible. 2015-05-11 12:47:38 +02:00
Lars Jung
1e11b804ab Refactor PHP. Switch to explicit string literals where possible. 2015-05-11 12:40:33 +02:00
Lars Jung
0719eeeb90 Refactor PHP. Switch to explicit string literals where possible. 2015-05-11 12:32:34 +02:00
Lars Jung
f363e78601 Refactor PHP. Switch to explicit string literals where possible. 2015-05-11 12:27:24 +02:00
Lars Jung
b340fe3569 Refactor PHP. Switch to explicit string literals where possible. 2015-05-11 12:20:09 +02:00
Lars Jung
429a2b7749 Refactor PHP. Switch to explicit string literals where possible. 2015-05-11 12:14:25 +02:00
Lars Jung
c18b09c658 Refactor PHP. Remove almost all defines. 2015-05-11 11:55:48 +02:00
Lars Jung
7bcb52214b Minor changes. 2015-05-10 16:10:03 +02:00
Lars Jung
34e6c2c381 Minor changes. 2015-05-10 16:09:11 +02:00
Lars Jung
b6b84a541b Refactor code. 2015-05-10 15:09:10 +02:00
Lars Jung
76186e513f Tweaks. 2015-05-10 14:59:08 +02:00
Lars Jung
5930681095 Refactor code. 2015-05-10 13:24:41 +02:00
Lars Jung
1d7457a4a2 Refactor code. 2015-05-10 13:05:39 +02:00
Lars Jung
7503d79c06 Refactor view and viewmode. 2015-05-10 10:58:18 +02:00
Lars Jung
24319e1c49 Refactor PHP. 2015-05-10 02:37:12 +02:00
Lars Jung
48b788eaef Refactor PHP. 2015-05-10 01:39:18 +02:00
Lars Jung
6b071fc1e7 Change test description to make it work standalone. 2015-05-09 20:44:02 +02:00
Lars Jung
942f4696e2 Add tests. 2015-05-09 20:40:30 +02:00
Lars Jung
022f715b98 Add tests. 2015-05-09 20:34:39 +02:00
Lars Jung
7311cc8e4b Add tests for escapePattern and parsePattern. 2015-05-09 19:30:17 +02:00
Jerry Jacobs
7f6755b5de * Add golang syntax highlight 2015-05-09 18:27:29 +02:00
Lars Jung
a482529fdc Refactor code. 2015-05-09 17:33:03 +02:00
Lars Jung
5798529fe2 Refactor code. 2015-05-09 17:27:15 +02:00
Lars Jung
a362356a72 Improve view, filter and search. 2015-05-09 16:29:26 +02:00
Lars Jung
4896d9a101 Update l10n and sort l10n entries. 2015-05-09 02:15:36 +02:00
Lars Jung
d244ab9fca Update l10n and sot l10n entries. 2015-05-09 02:10:55 +02:00
Lars Jung
570599c19d Add debounce option to search. 2015-05-09 01:18:56 +02:00
Lars Jung
a9f6f157fa Fix tests. 2015-05-08 22:13:06 +02:00
Lars Jung
c35abad20a Add search frontend extension, plus refactorings to make it work. 2015-05-08 22:09:12 +02:00
Lars Jung
7f687e0a84 Refactor PHP. 2015-05-07 01:27:02 +02:00
Lars Jung
ea24ae3b5f Refactor PHP. 2015-05-06 23:51:12 +02:00
Lars Jung
55597ae1ba Refactor PHP. 2015-05-06 20:57:18 +02:00
Lars Jung
6ee0ed3444 Refactor code. 2015-05-06 19:12:28 +02:00
Lars Jung
d5a1a829e3 Refactor API. 2015-05-06 18:58:07 +02:00
Lars Jung
5c72378b39 Refactor API, add search. 2015-05-06 17:18:08 +02:00
Lars Jung
e3603cfec1 Change version info. 2015-05-06 14:17:44 +02:00
Lars Jung
90d337a51f Change hash algo to sha512. 2015-05-06 14:12:17 +02:00
Lars Jung
1975715dbd Refactor bootstrap. 2015-05-06 13:11:37 +02:00
Lars Jung
85be66886a Add fast PHP version check and exit. 2015-05-06 12:28:50 +02:00
Lars Jung
d4e349f260 Refactor PHP, 5.3 => 5.4. 2015-05-05 23:58:11 +02:00
Lars Jung
059e166402 Refactor PHP, 5.3 => 5.4. 2015-05-05 23:55:35 +02:00
Lars Jung
1d7c2f3b80 Clean code. 2015-05-05 23:20:37 +02:00
Lars Jung
11c3750690 Refactor custom API. 2015-05-05 21:53:23 +02:00
Lars Jung
808b1bf657 Update thumbnail requests. 2015-05-05 21:01:30 +02:00
Lars Jung
7c4f9d574c Refactor API. 2015-05-05 01:58:50 +02:00
Lars Jung
e31028f5a9 Refactor API. 2015-05-05 00:01:25 +02:00
Lars Jung
0f1ca4e85b Refactor item. 2015-05-03 23:52:49 +02:00
Lars Jung
003b3f3edb Refactor. 2015-05-03 22:11:31 +02:00
Lars Jung
69cc1bd281 Refactor getThumbHref return object. 2015-05-03 21:05:04 +02:00
Lars Jung
31fe4d1591 Clean l10n code. 2015-05-03 20:44:05 +02:00
Lars Jung
675efd6cd3 Refactor url to href, to be more consistent. 2015-05-03 19:36:17 +02:00
Lars Jung
0f0d97dab5 Remove unused definitions. 2015-05-03 17:33:42 +02:00
Lars Jung
4b19239f6f Remove CURRENT_* definitions. 2015-05-03 16:48:53 +02:00
Lars Jung
a74e849faf Reduce CURRENT_PATH deps. 2015-05-03 04:05:42 +02:00
Lars Jung
d0f7f586e8 Clean code. 2015-05-03 03:10:33 +02:00
Lars Jung
3b9e87e11b Refactor code. 2015-05-03 01:52:26 +02:00
Lars Jung
46b335eb9f Refactor code. 2015-05-02 23:38:47 +02:00
Lars Jung
9bdf86fc24 Refactor PHP, restrict setup info. 2015-05-02 22:29:26 +02:00
Lars Jung
167e30dee1 Refactor code. 2015-05-02 20:16:48 +02:00
Lars Jung
16186811a4 Clean code. 2015-05-02 19:45:01 +02:00
Lars Jung
d2031d57d2 Refactor PHP. 2015-05-02 18:01:03 +02:00
Lars Jung
6e54ba2f73 Refactor PHP setup. 2015-05-02 16:52:50 +02:00
Lars Jung
77d6da3a24 Refactor PHP code. 2015-05-02 03:59:22 +02:00
Lars Jung
65caa0fe9d Clean PHP code. 2015-05-02 03:27:24 +02:00
Lars Jung
d6040b028e Clean up and fix. 2015-05-02 02:07:22 +02:00
Lars Jung
509074c263 Add safety check on PHP options lookup. 2015-05-02 01:44:50 +02:00
Lars Jung
6ad53ec2aa Refactor PHP request handling and return codes. 2015-05-01 20:29:36 +02:00
Lars Jung
e275ecac07 Set minimum PHP version to 5.4.0 2015-05-01 18:26:46 +02:00
Lars Jung
2d0cc10e44 Change quotes. 2015-05-01 16:48:20 +02:00
Lars Jung
af6c715a5b Switch API to react to POST only. 2015-05-01 16:16:31 +02:00
Lars Jung
3360e4d167 Minor changes. 2015-05-01 12:33:37 +02:00
Lars Jung
2331f21f90 Refactor code. 2015-04-30 23:30:28 +02:00
Lars Jung
58bf1a3091 Refactor view. 2015-04-30 23:01:54 +02:00
Lars Jung
3cf135b670 Clean code. 2015-04-30 13:01:17 +02:00
Lars Jung
5ce0541937 Add view/viewmode tests. 2015-04-30 00:32:43 +02:00
Lars Jung
19aa32feb4 Add view/viewmode tests. 2015-04-30 00:18:14 +02:00
Lars Jung
aedf75b9f8 Add view/viewmode tests. 2015-04-30 00:15:09 +02:00
Lars Jung
8b7e0b57c5 Add view/item tests. 2015-04-29 23:47:39 +02:00
Lars Jung
3dfd912266 Clean code. 2015-04-29 23:17:54 +02:00
Lars Jung
5bd767d744 Clean code. 2015-04-29 23:15:37 +02:00
Lars Jung
b39ba9cd00 Clean code. 2015-04-29 23:15:16 +02:00
Lars Jung
07ffb9d995 Clean code. 2015-04-29 23:13:51 +02:00
Lars Jung
2479aa597b Clean code. 2015-04-29 23:11:45 +02:00
Lars Jung
8c34337136 Refactor view/content. 2015-04-29 23:08:38 +02:00
Lars Jung
0faf399abd Fix content scroll. 2015-04-29 20:02:57 +02:00
Lars Jung
7704a00d7b Rename mainrow. 2015-04-29 19:47:37 +02:00
Lars Jung
96b6ff7fff Update tests. 2015-04-29 18:55:36 +02:00
Lars Jung
3dedb6b0f6 Minor changes. 2015-04-29 17:56:44 +02:00
Lars Jung
13457f8a6a Minor changes. 2015-04-29 17:14:04 +02:00
Lars Jung
bc966c46c6 Relax test. 2015-04-29 16:37:06 +02:00
Lars Jung
a5d04198dc Update viewmode. 2015-04-29 16:23:24 +02:00
Lars Jung
c3803b2e84 Add viewmode tests. 2015-04-29 14:54:59 +02:00
Lars Jung
aa8b9789f7 Clean tests. 2015-04-29 14:28:27 +02:00
Lars Jung
70c8364349 Add integration test. 2015-04-29 14:23:15 +02:00
Lars Jung
ea306c7d0c Minor visual tweak. 2015-04-29 11:56:41 +02:00
Lars Jung
33bc45d179 Add simple toggle. 2015-04-29 02:16:29 +02:00
Lars Jung
f7d0f7d5eb Refactor type tests. 2015-04-29 01:48:11 +02:00
Lars Jung
f181c52d13 Minor changes. 2015-04-29 01:25:32 +02:00
Lars Jung
f7e3f4da79 Minor changes. 2015-04-29 01:18:11 +02:00
Lars Jung
2365c23af7 Refactor notifications. 2015-04-29 01:13:30 +02:00
Lars Jung
73496c6b7c Refactor notifications. 2015-04-29 00:57:58 +02:00
Lars Jung
6500b624f5 Refactor location module. 2015-04-29 00:44:10 +02:00
Lars Jung
2525ad8393 Adds onpopstate tests. 2015-04-29 00:39:22 +02:00
Lars Jung
344c61bd23 Refactor forceEncoding. 2015-04-28 21:46:49 +02:00
Lars Jung
248e7efdb0 Refactor test runner. 2015-04-28 13:03:52 +02:00
Lars Jung
530e9c3859 Clean code. 2015-04-28 01:24:26 +02:00
Lars Jung
594653a753 Update. 2015-04-28 01:04:51 +02:00
Lars Jung
cb5c197994 Clean test code. 2015-04-28 00:25:48 +02:00
Lars Jung
c8bffa006b Refactor test runner 2015-04-27 23:55:25 +02:00
Lars Jung
df76ca0807 Update test styles. 2015-04-27 23:04:34 +02:00
Lars Jung
1e00e2b733 Remove ready event. 2015-04-27 21:48:56 +02:00
Lars Jung
2b834f0233 Refactor test runner. 2015-04-27 12:51:25 +02:00
Lars Jung
af34531ee0 Update test styles. 2015-04-27 12:05:22 +02:00
Lars Jung
b5049ea855 Update test styles. 2015-04-27 02:13:26 +02:00
Lars Jung
785f4632c7 Update test runner code. 2015-04-27 02:06:46 +02:00
Lars Jung
fcaddbbd3b Clean code. 2015-04-27 01:53:34 +02:00
Lars Jung
ddf23d1ea5 Clean and refactor styles. 2015-04-27 00:49:50 +02:00
Lars Jung
dabc9e3c93 Clean and refactor styles. 2015-04-27 00:19:46 +02:00
Lars Jung
f89010bd98 Refactor styles. 2015-04-26 23:41:07 +02:00
Lars Jung
cf84bd74f1 Fix some jshint issues. 2015-04-26 21:41:05 +02:00
Lars Jung
b95aa583a9 Refactor test code. 2015-04-26 21:37:41 +02:00
Lars Jung
21c976bb3d Update test runner. 2015-04-26 20:02:23 +02:00
Lars Jung
63fe57731e Update font styles. 2015-04-26 19:00:08 +02:00
Lars Jung
668f316465 Refactor tests. 2015-04-26 18:10:31 +02:00
Lars Jung
55fa4a1bcd Remove stylesheet types. 2015-04-26 16:37:12 +02:00
Lars Jung
bdeac2533f Clean styles. 2015-04-26 16:27:56 +02:00
Lars Jung
2ed333ab82 Clean contextmenu. 2015-04-26 16:16:47 +02:00
Lars Jung
8d11090f7d Update fallback styles. 2015-04-26 14:15:19 +02:00
Lars Jung
336e9ac0bd Clean styles. 2015-04-26 13:55:27 +02:00
Lars Jung
0a4fd4ee2c Clean styles. 2015-04-26 02:59:49 +02:00
Lars Jung
b90b164552 Clean styles. 2015-04-26 01:12:58 +02:00
Lars Jung
b7a77797f6 Refactor styles. 2015-04-26 00:33:36 +02:00
Lars Jung
ebcf431363 Refactor styles. 2015-04-25 21:44:34 +02:00
Lars Jung
ba315be9e5 Refactor topbar and crumb. 2015-04-25 21:13:25 +02:00
Lars Jung
d5a0dce27a Clean code. 2015-04-25 17:29:15 +02:00
Lars Jung
1a47a2aa3b Refactor code. 2015-04-25 17:10:47 +02:00
Lars Jung
d5221c0d17 Refactor view. 2015-04-25 13:24:34 +02:00
Lars Jung
0be36ea9e8 Rename smartBrowsing to fastBrowsing. 2015-04-24 22:22:15 +02:00
Lars Jung
c03fd20bae Add tests. 2015-04-24 20:37:19 +02:00
Lars Jung
c632cc6dea Add tests. 2015-04-24 19:59:51 +02:00
Lars Jung
908c49c584 Clean code. Add tests. 2015-04-24 18:03:10 +02:00
Lars Jung
d591dbc0cd Clean code. 2015-04-24 15:39:59 +02:00
Lars Jung
945703952b Clean code. 2015-04-24 15:34:06 +02:00
Lars Jung
9102b6d1c3 Clean code. 2015-04-24 15:17:54 +02:00
Lars Jung
4daab5d77b Remove force arg from content update method. 2015-04-24 03:42:25 +02:00
Lars Jung
5e8baf027e Clean code. 2015-04-24 02:32:03 +02:00
Lars Jung
34525afe56 Clean code. 2015-04-24 00:51:26 +02:00
Lars Jung
c73bc83f7d Clean code. 2015-04-24 00:01:56 +02:00
Lars Jung
ce11fcffbc Update mocha code. 2015-04-23 23:52:59 +02:00
Lars Jung
239157df30 Update test styles. 2015-04-23 13:41:20 +02:00
Lars Jung
e7d97d4b66 Update test styles. 2015-04-23 02:33:40 +02:00
Lars Jung
b2c4802310 Clean code. 2015-04-23 00:31:29 +02:00
Lars Jung
60b366a7f4 Clean code. 2015-04-23 00:08:43 +02:00
Lars Jung
c732fbb363 Clean code. 2015-04-22 23:50:16 +02:00
Lars Jung
41b199c578 Clean strings. 2015-04-22 23:45:23 +02:00
Lars Jung
88854ad451 Add tests. 2015-04-22 23:21:48 +02:00
Lars Jung
3882f1483b Add tests. 2015-04-22 21:30:29 +02:00
Lars Jung
882bf8ae11 Clean code. 2015-04-22 19:34:35 +02:00
Lars Jung
c396800dfa Publish tests. 2015-04-22 17:12:45 +02:00
Lars Jung
5a8ecd593d Sort module deps. 2015-04-22 17:10:49 +02:00
Lars Jung
84693e6404 Sort module deps. 2015-04-22 05:03:28 +02:00
Lars Jung
476df8219f Update build file. 2015-04-22 01:02:33 +02:00
Lars Jung
448c889e56 Clean code. 2015-04-19 23:23:34 +02:00
Lars Jung
52ca5275b1 Update JSCS config. 2015-04-19 20:35:54 +02:00
Lars Jung
0fd6e2c878 Update build file. 2015-04-18 13:53:05 +02:00
Lars Jung
85599f8a33 Refactor. 2015-04-18 01:11:48 +02:00
Lars Jung
5f2a7985d8 Refactor js init sequence. 2015-04-18 00:38:28 +02:00
Lars Jung
b1b5e37ab6 Remove #settings div. 2015-04-17 23:58:56 +02:00
Lars Jung
2f26146228 Remove #settings div. 2015-04-17 23:51:48 +02:00
Lars Jung
6bfbebc51e Clean code. 2015-04-17 20:29:17 +02:00
Lars Jung
762fd54788 Clean code. 2015-04-17 17:50:27 +02:00
Lars Jung
57ab18355d Clean code. 2015-04-17 17:46:44 +02:00
Lars Jung
8d9a2f505f Clean code. 2015-04-17 15:34:27 +02:00
Lars Jung
c20da80bda Clean store module. Publish test build commands. 2015-04-17 03:16:04 +02:00
Lars Jung
e99bd06370 Clean code. 2015-04-17 03:02:48 +02:00
Lars Jung
6f5446f218 Update build file. 2015-04-14 04:21:05 +02:00
Lars Jung
c1c25f0e28 Update build file. 2015-04-14 03:19:50 +02:00
Lars Jung
cdca37e59d Clean code. 2015-04-14 01:38:49 +02:00
Lars Jung
6137120b2e Update deps. 2015-04-13 00:13:38 +02:00
Lars Jung
f0912f9e9d Add JSCS rules and clean code. 2015-04-12 23:23:05 +02:00
Lars Jung
1623d0f60a Refactor preview extension. 2015-04-11 23:01:24 +02:00
Lars Jung
96db9677c6 Clean deps. 2015-04-11 18:35:42 +02:00
Lars Jung
bcfdec87c9 Remove Moment.js. 2015-04-11 17:38:49 +02:00
Lars Jung
488e321613 Update modulejs to 1.5.0. 2015-04-11 02:11:26 +02:00
Lars Jung
90fcae1932 Clean code. 2015-04-11 01:19:48 +02:00
Lars Jung
271c5fd9d2 Update build file. 2015-04-10 20:48:26 +02:00
Lars Jung
bd2b564876 Update mkr. 2015-04-10 16:12:05 +02:00
Lars Jung
99a45ab56e Fix preview bottom bar for small screen widths. 2015-04-10 03:55:21 +02:00
Lars Jung
18d12b6746 Update build process. 2015-04-09 23:22:37 +02:00
Lars Jung
90013da52c Updates h5bp CSS and normalize.css. 2015-04-09 02:23:33 +02:00
Lars Jung
ce6680ae19 Add fquery-autoprefixer. 2015-04-09 01:50:20 +02:00
Lars Jung
bdbaf26e9b Fix some IE10 styles. 2015-04-08 01:14:17 +02:00
Lars Jung
c487eaa846 Use wide links in tree. 2015-04-08 01:08:06 +02:00
Lars Jung
69318824f6 Compress release packages. 2015-04-07 18:33:20 +02:00
Lars Jung
fc918f1e3c Remove jscs file. 2015-04-07 00:38:59 +02:00
Lars Jung
04c574c6f9 Back to develop. 2015-04-06 21:01:40 +02:00
Lars Jung
2f9f76b361 Release h5ai v0.27.0. 2015-04-06 20:56:59 +02:00
Lars Jung
fc12ebd477 Clean some responsive styles. 2015-04-06 20:16:36 +02:00
Lars Jung
daa9e20e48 Fix crumb for small displays. 2015-04-06 18:48:03 +02:00
Lars Jung
ce2581d092 Update changelog. 2015-04-05 22:23:32 +02:00
Lars Jung
e9ac5b46d8 Add natural sort option to tree view. 2015-04-05 22:20:22 +02:00
Lars Jung
f723bcd7bb Remove Moment.js locals. 2015-04-05 02:16:33 +02:00
Lars Jung
5b2d98052c Update libs. 2015-04-05 00:50:50 +02:00
Lars Jung
3dde33336f Update changelog. 2015-04-05 00:20:53 +02:00
Lars Jung
2139d8af19 Update changelog. 2015-04-05 00:01:46 +02:00
Lars Jung
686405142b Update image preview. 2015-04-04 20:20:26 +02:00
Lars Jung
0022264a8e Update options. 2015-04-03 02:33:55 +02:00
Lars Jung
2d54c23a2c Update info bar. 2015-04-03 01:02:37 +02:00
Lars Jung
6abeb383a8 Fix layout problem in IE and clean code. 2015-04-03 00:14:02 +02:00
Lars Jung
6549a49031 Fix layout problem in IE. 2015-04-02 23:10:37 +02:00
Lars Jung
4a69e639b5 Minor changes. 2015-04-02 22:55:20 +02:00
Lars Jung
e9aa3b8743 Minor hacks in select. 2015-04-02 15:00:38 +02:00
Lars Jung
4097119d25 Fix outline. 2015-04-02 01:43:57 +02:00
Lars Jung
fe3ea4ea23 Clean code. 2015-04-02 01:31:04 +02:00
Lars Jung
42ccda167c Add info options. 2015-04-02 01:26:52 +02:00
Lars Jung
52238864c4 Update drag select. 2015-04-02 00:52:12 +02:00
Lars Jung
e3ed699260 Improve drag-select. 2015-04-01 21:31:39 +02:00
Lars Jung
936ffaf768 Update info bar styles. 2015-04-01 03:22:57 +02:00
Lars Jung
d575de2459 Initial switch to info bar. Aggregates status bar and QRCode. 2015-04-01 00:52:20 +02:00
Lars Jung
0f1b8c8856 Fix select defaults. 2015-03-31 15:45:22 +02:00
Lars Jung
35ce185ce9 Clean fallback mode. 2015-03-31 15:42:01 +02:00
Lars Jung
69e75afd88 Clean fallback mode. 2015-03-31 15:33:38 +02:00
Lars Jung
731b00790c Minor changes in fallback mode. 2015-03-31 04:14:11 +02:00
Lars Jung
469e8185e2 Minor changes in fallback mode. 2015-03-31 03:03:26 +02:00
Lars Jung
f857ae3841 Update sidebar toggle. 2015-03-30 21:59:44 +02:00
Lars Jung
6be58e6506 Darken selection rect. 2015-03-30 13:52:05 +02:00
Lars Jung
96551400c6 Remove deprecated Google Analytics code. 2015-03-30 01:14:31 +02:00
Lars Jung
ffc1da6ad1 Clean up. 2015-03-29 23:57:55 +02:00
Lars Jung
a7d114c7dd Update sidebar. 2015-03-29 21:31:51 +02:00
Lars Jung
d6a8e16aad Add h5ai version to info page. 2015-03-29 21:16:17 +02:00
Lars Jung
842e1f5e11 Update context menu. 2015-03-29 21:01:57 +02:00
Lars Jung
f18970f67f Never manage _h5ai app folder. 2015-03-29 16:47:02 +02:00
Lars Jung
2ada89e665 Update changelog. 2015-03-29 15:33:53 +02:00
Lars Jung
3cce65299b Clean styles. 2015-03-29 15:14:23 +02:00
Lars Jung
e171a0dd1a Minor fix. 2015-03-29 14:46:07 +02:00
Lars Jung
7256fa4e43 Minor fix. 2015-03-29 14:42:14 +02:00
Lars Jung
d4a72b1b11 Add autoprefixer to the build chain. 2015-03-29 01:59:39 +01:00
Lars Jung
65ca06e7ea Add contextmenu. 2015-03-29 00:31:50 +01:00
Lars Jung
962a6e9b08 Change background. 2015-03-28 20:41:33 +01:00
Lars Jung
e737b39305 Clean code. 2015-03-28 00:07:22 +01:00
Lars Jung
8637748cb7 Fix sidebar width. 2015-03-27 23:46:56 +01:00
Lars Jung
2533c80db9 Update version display. 2015-03-25 03:04:29 +01:00
Lars Jung
cc21fff7f9 Readd tree panel border. 2015-03-25 02:51:24 +01:00
Lars Jung
dea5092ae0 Clean code. 2015-03-14 15:51:39 +01:00
Lars Jung
788989c7e5 Remove jQuery.mousewheel. 2015-03-14 15:35:31 +01:00
Lars Jung
b699c3c9bd Minor changes. 2015-03-14 15:30:41 +01:00
Lars Jung
d0ab52a256 Rename selction option 'mouse' to 'clickndrag'. 2015-03-10 01:26:17 +01:00
Lars Jung
af6146a392 Merge pull request #386 from Aomeas/master
Added checkboxes selection without mouse option.
2015-03-10 01:23:06 +01:00
Lars Jung
f5de166a4e Clean code. 2015-03-10 01:17:52 +01:00
Lars Jung
015d1f58e6 Merge pull request #380 from dfransway/master
Special case the naming of archives based on a single selection.
2015-03-10 01:14:21 +01:00
Lars Jung
cfa46e4512 Clean code. 2015-03-09 01:02:12 +01:00
Lars Jung
14ecb4a8e4 Merge pull request #393 from Peer5/master
Peer5 extension
2015-03-09 00:57:03 +01:00
Lars Jung
912c10b5e9 Merge pull request #390 from frozeus/patch-1
Fix for: folders named "0" not displayed
2015-03-09 00:54:31 +01:00
Lars Jung
f7cfe7876b Merge pull request #396 from frozeus/patch-2
Insecure Font when using HTTPS
2015-03-09 00:50:32 +01:00
frozeus
c3f9b7565f Insecure Font when using HTTPS 2015-03-07 10:55:56 +01:00
whadar
b5f85b6700 fixed peer5 typo 2015-03-05 15:37:31 +02:00
whadar
2c082bb198 disable peer5 by default 2015-03-05 15:35:34 +02:00
whadar
ac691a8a0a Adding peer5 downloader (http://peer5.com/downloader) 2015-03-01 16:15:20 +02:00
frozeus
b8610fc555 Update class-app.php
Fix bug #389
2015-03-01 15:09:31 +01:00
Lars Jung
48954756e8 Add img-raw type. 2015-02-22 14:45:49 +01:00
Lars Jung
401c3fbe36 Update readme. 2015-02-22 00:18:04 +01:00
Aomeas
79d24d5f36 Added checkboxes selection without mouse option. 2015-02-21 14:25:35 +01:00
dfransway
7ef1e285fd Explicitly setting the name should override this special case. 2015-01-22 08:48:06 -08:00
dfransway
4b1ca1970a Add a special case when downloading one file to name the tar after the file, not the enclosing directory. 2015-01-19 14:25:04 -08:00
Lars Jung
46ef96a725 Minor changes. 2015-01-14 20:20:21 +01:00
Lars Jung
632d0b5fb0 Update style. 2015-01-14 19:18:55 +01:00
Lars Jung
08cd031367 Style changes. 2014-12-30 00:20:27 +01:00
Lars Jung
2132cfd45b Minor changes. 2014-12-29 20:39:05 +01:00
Lars Jung
3b1f4ffd75 Small changes. 2014-12-29 13:45:18 +01:00
Lars Jung
c7adecdbfe Fix. 2014-12-28 03:22:12 +01:00
Lars Jung
97a839c1ac Clean code. Change theme structure. 2014-12-28 03:10:00 +01:00
Lars Jung
d6a8de6d42 Update info page. 2014-12-27 21:49:25 +01:00
Lars Jung
87ce762a4d Clean svg. 2014-12-27 16:54:55 +01:00
Lars Jung
a671006e56 Update tree. 2014-12-26 14:17:32 +01:00
Lars Jung
8327617df6 More changes. 2014-12-15 12:09:51 +01:00
Lars Jung
551c031c42 Update layout. 2014-12-15 00:56:54 +01:00
Lars Jung
3aead503c1 Fix some floating point issues. 2014-12-12 02:27:55 +01:00
Lars Jung
c7c080d029 Update layout. 2014-12-11 01:35:21 +01:00
Lars Jung
707ae0547a Remove linked hover states. 2014-12-10 23:45:27 +01:00
Lars Jung
416848c79f Update info page layout. 2014-12-10 23:27:15 +01:00
Lars Jung
c276ea69bc Merge branch 'thumb' 2014-12-10 15:33:29 +01:00
Lars Jung
e5499f08e3 Update selector layout. 2014-12-10 15:31:29 +01:00
Lars Jung
a8070a10d2 Update layout. 2014-12-10 03:11:19 +01:00
Lars Jung
f5993a6ce7 Update layout. 2014-12-10 02:22:28 +01:00
Lars Jung
23fd639512 Clean code. 2014-12-09 01:54:57 +01:00
Lars Jung
1c3d8a1fba Remove spacing options. 2014-12-09 01:40:56 +01:00
Lars Jung
da309e8ee9 Update layout. Add flexible view sizes. 2014-12-09 01:40:56 +01:00
Lars Jung
bc7323b717 Update info page. 2014-12-09 01:40:56 +01:00
Lars Jung
48d197ad06 Update info page. 2014-12-09 01:40:56 +01:00
Lars Jung
7b837066ec Update notification and fix selection. 2014-12-09 01:40:56 +01:00
Lars Jung
1670528bec Clean styles. 2014-12-09 01:40:56 +01:00
Lars Jung
b0c779b514 Clean styles. 2014-12-09 01:40:56 +01:00
Lars Jung
e7ce56c252 Minor changes. 2014-12-09 01:40:56 +01:00
Lars Jung
b8bcadca36 Update layout. 2014-12-09 01:40:55 +01:00
Lars Jung
aa4b1a8acd Clean styles. 2014-12-09 01:40:55 +01:00
Lars Jung
70e348ac50 Fix info page. 2014-12-09 01:40:55 +01:00
Lars Jung
7068d354e8 Update layout. 2014-12-09 01:40:55 +01:00
Lars Jung
8b78c22be4 Update layout. 2014-12-09 01:40:55 +01:00
Lars Jung
8576de6a39 Clean view styles. 2014-12-09 01:40:55 +01:00
Lars Jung
c4f7a85baf Change link color. Update selection target. 2014-12-09 01:40:55 +01:00
Lars Jung
2870906c09 Clean view styles. 2014-12-09 01:40:55 +01:00
Lars Jung
17b3f097b4 Clean view styles. 2014-12-09 01:40:55 +01:00
Lars Jung
2a556e60d6 Update icon view and tree view. 2014-12-09 01:40:55 +01:00
Lars Jung
7f1c17043e Update PDF capture command. 2014-12-09 01:40:55 +01:00
Lars Jung
a5687fe03b Adjust font sizes. 2014-12-09 01:40:55 +01:00
Lars Jung
60b81a46ea Update layout. 2014-12-09 01:40:55 +01:00
Lars Jung
b390b9fc42 Style changes. 2014-12-09 01:40:55 +01:00
Lars Jung
041c16490b Set selection rect on top. 2014-12-09 01:40:55 +01:00
Lars Jung
4765d31a0b Style updates. 2014-12-09 01:40:55 +01:00
Lars Jung
4df73eb45c Add hint to item labels. 2014-12-09 01:40:55 +01:00
Lars Jung
4dec0ad0ae Icon view style updates. 2014-12-09 01:40:55 +01:00
Lars Jung
0ef346e6c9 Increase max size. 2014-12-09 01:40:55 +01:00
Lars Jung
bf663d575b Merge different thumb modes. 2014-12-09 01:40:55 +01:00
Lars Jung
e2fe515a97 Merge pull request #368 from LimiQS/patch-1
Update zh-cn.json.
2014-12-09 01:38:56 +01:00
Lars Jung
d026eac8f0 Merge pull request #367 from DSIW/patch-1
Add scala to types and highlighted languages
2014-12-09 01:38:26 +01:00
Limi Quens
a2b72e1098 Update zh-cn.json.
Somewhere can be better. e.g.:"Loading..." can be translated into "请稍候", "1072 bytes" and something like it (in the text previewer) can be translated into "1072 B" ("B/KB/MB" are more commonly used by Chinese OS rather than "bytes/kilobytes/megabytes")
2014-12-06 08:51:24 +08:00
DSIW
2239744cec Add scala to types and highlighted languages 2014-12-02 20:27:42 +01:00
Lars Jung
884c9cf008 Clean l10n files. 2014-11-22 21:36:28 +01:00
Lars Jung
7f641d6d0b Merge pull request #364 from frozeus/patch
Fix QrCode Size and upgrade QrCode lib.
2014-11-22 21:27:10 +01:00
Lars Jung
4575e0679c Merge pull request #363 from fx02/master
Create hr.json
2014-11-22 21:26:15 +01:00
Lars Jung
c42dd74329 Merge pull request #359 from chessmango/master
Create af.json
2014-11-22 21:25:33 +01:00
Lars Jung
93dccda48c Merge pull request #355 from bskim45/patch-1
Update ko.json
2014-11-22 21:24:58 +01:00
Lars Jung
affbdb12c0 Merge pull request #354 from rad96/patch-1
Update ru.json
2014-11-22 21:24:08 +01:00
Lars Jung
69643f4c67 Merge pull request #352 from Cyesu/patch-1
Update zh-cn.json
2014-11-22 21:23:02 +01:00
Clément Péron
ad27b21f65 Fix QrCode Size and upgrade QrCode lib 2014-11-22 13:52:55 +01:00
Zvonimir Bužanić
f39017b5ee Create hr.json 2014-11-21 21:15:40 +01:00
Owen Valentine
1a689fa8d5 Create af.json
Add l10n for Afrikaans
2014-11-04 18:00:54 +02:00
Bums Kim
443635e13a Update ko.json
Updated Korean Lauguage file for new values
2014-10-19 03:10:45 +09:00
Артём Рябков
ce1fdc2bc0 Update ru.json 2014-10-12 15:31:21 +04:00
PyropeDeHanabi
007070b8ba Update zh-cn.json 2014-10-12 02:32:56 +08:00
Lars Jung
19747761c5 Merge pull request #351 from lclzd/patch-1
Update ja.json
2014-10-06 22:18:29 +02:00
Ts
8c66b646cd Update ja.json 2014-10-07 04:55:59 +09:00
Ts
b3c068ef8a Update ja.json 2014-10-07 04:23:51 +09:00
Lars Jung
b4a8b1344a Merge pull request #349 from Kleofass/patch-1
Update sidebar. Clean l10n files.
2014-09-28 13:41:42 +02:00
Kleofass
b39d94cd97 Update sidebar. Clean l10n files. 2014-09-28 14:14:46 +03:00
Lars Jung
0cfc9a0eaa Switch to scandir. 2014-09-24 15:17:16 +02:00
Lars Jung
18a6f20390 Update changelog. 2014-09-21 01:01:31 +02:00
Lars Jung
edfcf61325 Add rounded corners to QR code. 2014-09-21 00:36:28 +02:00
Lars Jung
f1c87b4230 Refactor PHP init code. 2014-09-20 22:55:59 +02:00
Lars Jung
b94530b93d Refactor PHP init code. 2014-09-20 22:21:13 +02:00
Lars Jung
f78e6dfc64 Refactor PHP. 2014-09-20 02:55:03 +02:00
Lars Jung
d3d8e47dfc Change dep to dev deps. 2014-09-19 15:24:33 +02:00
Lars Jung
1016c46148 Test. 2014-09-14 18:50:03 +02:00
Lars Jung
56b00f7638 Test. 2014-09-14 17:45:16 +02:00
Lars Jung
40b8f4385b Update js init. 2014-09-14 13:45:26 +02:00
Lars Jung
bba2eb401d Update js init. 2014-09-14 03:52:50 +02:00
Lars Jung
c9ca2eeb23 Clean code. 2014-09-13 23:58:06 +02:00
Lars Jung
fc7d5ecfe3 Clean code. 2014-09-13 18:57:04 +02:00
Lars Jung
088a0b0839 Clean code. 2014-09-13 17:54:31 +02:00
Lars Jung
d9ff0c3cf4 Clean code. 2014-09-13 17:16:19 +02:00
Lars Jung
d9d5e9473d Update build process. 2014-09-13 16:39:38 +02:00
Lars Jung
7e25cfc774 Update readme. 2014-09-13 02:00:18 +02:00
Lars Jung
f850065cf9 Update readme. 2014-09-13 01:57:32 +02:00
Lars Jung
d3b2294a16 Update readme. 2014-09-13 01:00:29 +02:00
Lars Jung
473097fa02 Update readme. 2014-09-12 23:52:16 +02:00
Lars Jung
9a2930970c Update readme. 2014-09-12 23:25:45 +02:00
Lars Jung
8d3723c0f1 Move filesize to Util. 2014-09-12 18:27:39 +02:00
Lars Jung
943de9045d Fix typo. 2014-09-10 16:59:51 +02:00
Lars Jung
30688cbe5a Update build deps. 2014-09-06 14:42:51 +02:00
Lars Jung
101357a694 Remove ChromePhp. 2014-09-06 03:55:26 +02:00
Lars Jung
9bbee262f9 Refactor PHP files. 2014-09-06 01:02:38 +02:00
Lars Jung
6cd3cf0cb5 Replace js libs with compressed variants. 2014-09-04 21:32:35 +02:00
Lars Jung
5d584ed2b6 Remove handlebars from jade templates. 2014-09-04 00:55:27 +02:00
Lars Jung
a27489c28f Hide view settings if no choices. 2014-09-03 23:47:17 +02:00
Lars Jung
dcdcbf703e Minor tweaks. 2014-09-03 23:28:32 +02:00
Lars Jung
6fbe0e5056 Update jquery.qrcode, jquery.scrollpanel and modulejs. 2014-09-03 23:07:49 +02:00
Lars Jung
709e139b82 Update readme. 2014-09-03 21:35:06 +02:00
Lars Jung
3517fbd861 Remove fracs dep in select. 2014-09-03 21:13:43 +02:00
Lars Jung
0da6ea7f53 Remove fracs dep in preview. 2014-09-03 20:24:21 +02:00
Lars Jung
23eb8b4dc1 Extract sidebar. 2014-09-03 19:13:21 +02:00
Lars Jung
faaf71cee9 Update deps. 2014-09-02 01:39:39 +02:00
Lars Jung
165316e9c4 Remove IE edge. 2014-09-02 00:12:24 +02:00
Lars Jung
fcecdb26e9 Improve menu. 2014-09-01 23:23:02 +02:00
Lars Jung
1d24b7131f Update sidebar. Clean l10n files. 2014-09-01 20:52:03 +02:00
Lars Jung
06cfd0021d Update readme. 2014-09-01 19:14:17 +02:00
Lars Jung
b73bda4f0d Update readme. 2014-09-01 19:09:43 +02:00
Lars Jung
fa6e0595a9 Merge pull request #342 from kikorb/patch-1
Update missing translations for es-ES
2014-09-01 18:56:00 +02:00
Lars Jung
9e07ad286d Update deps. 2014-09-01 16:48:11 +02:00
Francisco Ruiz
e42b12f9b2 Update missing translations for es-ES
I just realised that a few words were missing translation. Hope this helps the project
2014-09-01 15:46:14 +02:00
Lars Jung
8951732f3c Clean code. 2014-08-30 18:53:16 +02:00
Lars Jung
ba10f70b12 Fix whitespace. 2014-08-30 14:54:00 +02:00
Lars Jung
ddbbd69b4c Merge pull request #340 from lclzd/master
Update ja.json
2014-08-30 14:50:26 +02:00
Lars Jung
cbb86faadc Update build. 2014-08-30 14:19:06 +02:00
Ts
7496738215 Update ja.json 2014-08-27 12:56:00 +09:00
Lars Jung
248bb29ccf Update readme. 2014-08-23 15:35:29 +02:00
Lars Jung
5a9e0f1e06 Update build process. 2014-08-23 15:24:54 +02:00
Lars Jung
399e0c6b80 Update readme. 2014-08-23 15:09:36 +02:00
Lars Jung
cb6a91d7d2 Update changelog. 2014-08-23 02:27:01 +02:00
Lars Jung
92b76c3fa9 Fix build process. 2014-08-23 01:33:47 +02:00
Lars Jung
715a8356eb Update build process. 2014-08-23 00:00:58 +02:00
Lars Jung
797aae9849 Fix typo. 2014-08-22 19:35:35 +02:00
Lars Jung
44227f2d67 Update modulejs to 1.0.0. 2014-08-20 01:30:26 +02:00
Lars Jung
2655a49025 Update build process. 2014-08-20 00:57:21 +02:00
Lars Jung
b0c8ea767c Update editorconfig. 2014-08-19 23:39:15 +02:00
Lars Jung
f3e448f420 Add editorconfig. 2014-08-19 23:28:48 +02:00
Lars Jung
7efd16a6e3 Remove unused var. 2014-08-17 22:28:43 +02:00
Lars Jung
cc9e342f04 Clean htaccess. 2014-08-17 18:26:42 +02:00
Lars Jung
3e55f1c648 Update build process. 2014-08-17 17:30:22 +02:00
Lars Jung
d83856be32 Update build process. 2014-08-17 03:14:26 +02:00
Lars Jung
83558e9354 7 chars should be enough. 2014-08-17 02:05:28 +02:00
Lars Jung
190275c31a Update build process. 2014-08-17 01:38:06 +02:00
Lars Jung
464dfeaa15 Back to develop mode. 2014-08-17 00:52:59 +02:00
Lars Jung
1d7e8c5a6b Merge branch 'develop' 2014-08-17 00:46:04 +02:00
Lars Jung
a79034ebc8 Prepare release. 2014-08-17 00:44:23 +02:00
Lars Jung
a17d31eee9 Fix links. 2014-08-17 00:40:57 +02:00
Lars Jung
91bce0abb4 Update build process. 2014-08-16 13:52:45 +02:00
Lars Jung
dbdb4e01ff Fix comment. 2014-08-16 13:35:03 +02:00
Lars Jung
ec0b3b1789 Back to develop. 2014-08-16 13:21:28 +02:00
Lars Jung
ec1077153b Merge branch 'develop' 2014-08-16 13:20:10 +02:00
Lars Jung
a7794230cf Prepare release. 2014-08-16 13:19:46 +02:00
Lars Jung
9b5f6f3cad Tabs to spaces. 2014-08-15 22:07:53 +02:00
Lars Jung
49403ed07c Update readme. 2014-08-15 17:20:20 +02:00
Lars Jung
8f93d78dd8 Update readme. 2014-08-15 17:04:05 +02:00
Lars Jung
b8dec0e9aa Update types. 2014-08-12 20:58:38 +02:00
Lars Jung
4b50274bb2 Update readme. 2014-08-12 00:37:38 +02:00
Lars Jung
a1f00bf5f5 Test. 2014-08-12 00:29:55 +02:00
Lars Jung
0b15f55689 Test. 2014-08-11 23:49:23 +02:00
Lars Jung
ee312bdfa2 Update package dev deps. 2014-08-10 22:10:43 +02:00
Lars Jung
425e2bd54f Update readme. 2014-08-10 21:15:45 +02:00
Lars Jung
4014e4b852 Split vid types. 2014-08-09 00:42:46 +02:00
Lars Jung
0aa438f859 Optimize SVG images. 2014-08-08 21:16:43 +02:00
Lars Jung
19a8337e9e Optimize SVG images. 2014-08-08 13:43:13 +02:00
Lars Jung
48b4b25317 Add cmd check caching. 2014-08-07 21:22:06 +02:00
Lars Jung
dfd0e65651 Update readme. 2014-08-07 00:20:56 +02:00
Lars Jung
1cdefa8492 Update readme. 2014-08-07 00:08:41 +02:00
Lars Jung
98b2a2af09 Improve cmd checks. 2014-08-04 21:58:16 +02:00
Lars Jung
237ae10be1 Minor changes. 2014-08-04 19:22:40 +02:00
Lars Jung
a58b78d11a Remove unused code. 2014-08-04 17:10:33 +02:00
Lars Jung
72d8152df5 Replace SyntaxHighlighter wiht Prism. 2014-08-04 17:06:39 +02:00
Lars Jung
2668c28737 Update build process. 2014-08-04 14:41:08 +02:00
Lars Jung
103824aa89 Update Moment.js. 2014-08-04 02:49:46 +02:00
Lars Jung
18c8709fd3 Update readme. 2014-08-04 02:32:41 +02:00
Lars Jung
aa7dd8a75f Replace underscore with lodash. 2014-08-04 02:22:43 +02:00
Lars Jung
dad7cb26d5 Update changelog. 2014-08-04 01:55:11 +02:00
Lars Jung
ca505bf637 Update jQuery.mousewheel. 2014-08-04 01:53:42 +02:00
Lars Jung
b7c180355f Update jQuery.qrcode. 2014-08-04 01:37:31 +02:00
Lars Jung
80d0952d1f Update modulejs. 2014-08-04 01:26:11 +02:00
Lars Jung
c777a9f949 Fix. 2014-08-03 21:46:10 +02:00
Lars Jung
7ecefa554a Replace markdown with marked. 2014-08-03 21:12:40 +02:00
Lars Jung
114c63cfd7 Update readme. 2014-08-03 20:49:46 +02:00
Lars Jung
ac5c914077 Update readme. 2014-08-03 20:17:37 +02:00
Lars Jung
247ac2de07 Update readme. 2014-08-03 20:15:31 +02:00
Lars Jung
58a676d789 Update readme. 2014-08-03 19:39:59 +02:00
Lars Jung
2b1258bea0 Update readme. 2014-08-03 02:04:05 +02:00
Lars Jung
3211722492 Update readme. 2014-08-03 02:03:06 +02:00
Lars Jung
f1574f3efb Update readme. 2014-08-03 02:02:04 +02:00
Lars Jung
2eb8caebc0 Merge pull request #330 from TobleMiner/develop
Changed password input to type "password"
2014-08-03 01:57:45 +02:00
Lars Jung
5cea5d76d2 Outsources themes. 2014-08-03 01:27:57 +02:00
Lars Jung
f29a1df3f9 Remove true type fonts. 2014-08-03 00:16:06 +02:00
TobleMiner
cae5e67557 Changed password input to type "password" 2014-08-01 20:28:15 +02:00
Lars Jung
072c2e3718 Update readme. 2014-07-29 22:23:14 +02:00
Lars Jung
45e2ebe6f4 Update readme. 2014-07-29 22:16:15 +02:00
Lars Jung
551da05c6c Update readme. 2014-07-27 16:49:41 +02:00
Lars Jung
49603c6f80 Fix 32bit size calculation, remove test value. 2014-07-13 13:25:01 +02:00
Lars Jung
1275afcf33 Change doctype 5 to doctype html. 2014-07-11 15:01:01 +02:00
Lars Jung
f9e7e5f9c2 Add filesize fallback for large files and 32bit PHP. 2014-07-09 02:40:23 +02:00
Lars Jung
d33b0156fc Fix server detection. 2014-07-05 02:58:15 +02:00
Lars Jung
258fcf29c9 Update info page. 2014-07-03 02:59:05 +02:00
Lars Jung
30993e40f6 Add tests to the info page. 2014-07-03 00:13:54 +02:00
Lars Jung
82d3b5040e Remove JSON shim. 2014-07-02 22:54:59 +02:00
Lars Jung
9cc6ca0df7 Update info page. 2014-07-02 22:39:01 +02:00
Lars Jung
b5e6f9b860 Update info page. 2014-07-02 22:15:57 +02:00
Lars Jung
ccd98fb113 Remove tracking pixel. 2014-07-02 21:26:02 +02:00
Lars Jung
06d9a8af85 Fix lighttpd recognition. Add support button. 2014-07-02 15:06:28 +02:00
Lars Jung
36150bdbef Set version 0.25.2+ 2014-07-01 22:37:01 +02:00
Lars Jung
7b2070b2bd Merge branch 'develop' 2014-07-01 22:35:45 +02:00
Lars Jung
e0aafa5f47 Prepare release. 2014-07-01 22:35:32 +02:00
Lars Jung
75ced2d18c Update changelog. 2014-07-01 21:39:32 +02:00
Lars Jung
d6695da97d Fix managed check. 2014-07-01 20:24:10 +02:00
Lars Jung
b4a1bb1218 Refactor PHP. 2014-07-01 03:21:54 +02:00
Lars Jung
903b29c4c0 Refactor PHP. 2014-07-01 03:03:41 +02:00
Lars Jung
8fd393d34a Refactor PHP. 2014-06-30 03:15:27 +02:00
Lars Jung
122546eae1 Minor tweaks. 2014-06-30 00:14:48 +02:00
Lars Jung
49d0c968b9 Fix default folder download (still strange for shell-tar). 2014-06-29 21:11:40 +02:00
Lars Jung
b40ae3480f Fix typos. 2014-06-29 18:26:40 +02:00
Lars Jung
96480a5c50 Add optional info page protection. 2014-06-29 17:51:00 +02:00
Lars Jung
db4932b9ce Replace PHP short open tag, as it might be turned off in PHP < 5.4.0. 2014-06-28 19:21:29 +02:00
Lars Jung
d4c6b33ed5 Some fixes. 2014-06-26 12:42:09 +02:00
Lars Jung
daa1d255e2 More fixes on Google Universal Analytics. 2014-06-25 19:30:49 +02:00
Lars Jung
bb7ed02c12 Set version to 0.25.1 2014-06-25 02:57:04 +02:00
Lars Jung
236293ce86 Merge branch 'develop' 2014-06-25 02:56:08 +02:00
Lars Jung
9ee54a008a Prepare release. 2014-06-25 02:55:13 +02:00
Lars Jung
113c7bb6f0 Update changelog. 2014-06-25 02:52:44 +02:00
Lars Jung
61301b3f98 Fix path normalization (broke paths containing '+' characters). 2014-06-25 02:47:46 +02:00
Lars Jung
f56a67af9e Update changelog. 2014-06-24 23:11:47 +02:00
Lars Jung
0c804cdf24 Fix Google Universal Analytics. 2014-06-24 23:10:34 +02:00
Lars Jung
99d59ee9ad Fix file type check. 2014-06-24 03:07:35 +02:00
Lars Jung
be827bac72 Set version to 0.25.0+ 2014-06-22 00:06:08 +02:00
Lars Jung
4073feb5b3 Merge branch 'develop' 2014-06-22 00:04:56 +02:00
Lars Jung
237ce422c1 Prepare release. 2014-06-21 23:46:31 +02:00
Lars Jung
a754c18391 Prepare release. 2014-06-21 22:00:42 +02:00
Lars Jung
26857fea74 Minor changes. 2014-06-21 20:51:02 +02:00
Lars Jung
d784b7407f Minor changes. 2014-06-21 20:14:29 +02:00
Lars Jung
ec95639600 Remove special types to correct text preview behaviour. 2014-06-21 16:46:49 +02:00
Lars Jung
5fab8e1465 Switch to deffered objects interface. 2014-06-21 15:28:04 +02:00
Lars Jung
71d2ff10dc Minor changes. 2014-06-21 14:45:25 +02:00
Lars Jung
730263ca55 Minor changes. 2014-06-21 00:51:52 +02:00
Lars Jung
2caaccabc0 Refactor JS. 2014-06-21 00:36:44 +02:00
Lars Jung
922f83357f Prefer avconv over ffmpeg. 2014-06-20 22:06:50 +02:00
Lars Jung
7d8284e3ee Update style. 2014-06-20 21:17:39 +02:00
Lars Jung
4fb4431802 Remove PHP version display from info page. 2014-06-20 19:42:25 +02:00
Lars Jung
30acf50ebe Fix sidebar styles across browsers. 2014-06-20 18:22:08 +02:00
Lars Jung
1ffa6f793a Some style and IE fixes. 2014-06-20 16:22:26 +02:00
Lars Jung
759faf9647 Add viewBox to SVG files to make IE happy. 2014-06-20 15:09:21 +02:00
Lars Jung
0960ef83b6 Minor changes. 2014-06-19 18:40:41 +02:00
Lars Jung
43168e496a Some updates. 2014-06-19 01:37:52 +02:00
Lars Jung
c1fc823a19 Remove Google Web Fonts links. 2014-06-18 19:47:47 +02:00
Lars Jung
d81ef1ec10 Include fonts. 2014-06-18 17:58:59 +02:00
Lars Jung
c240ee117d Disable thumbs in cache folder itself. 2014-06-18 00:49:21 +02:00
Lars Jung
06b10974ab Add webm to vid types. 2014-06-17 22:33:45 +02:00
Lars Jung
3e617ae005 Add alwaysVisible option to download button. 2014-06-16 02:31:50 +02:00
Lars Jung
506c93340a Add sidebar. 2014-06-16 00:41:27 +02:00
Lars Jung
d6cef5c787 Refactor. 2014-06-14 01:12:00 +02:00
Lars Jung
ca816a5745 Update info page. 2014-06-13 21:39:28 +02:00
Lars Jung
aa5c110448 Update HTML metadata. 2014-06-13 03:11:20 +02:00
Lars Jung
34105d0f28 Remove some favicons. 2014-06-13 02:45:05 +02:00
Lars Jung
78ccc49197 Fix unrenamed method name. 2014-06-10 19:54:44 +02:00
Lars Jung
98f6611a7a Fix some JS hints. 2014-06-10 00:54:27 +02:00
Lars Jung
8c6afea314 Update changelog. 2014-06-10 00:34:14 +02:00
Lars Jung
a1ebf1f4fb Add filter reset on location change. 2014-06-10 00:30:32 +02:00
Lars Jung
af29d651b5 Add audio preview. 2014-06-09 00:54:41 +02:00
Lars Jung
b7081b32de Add video preview. 2014-06-09 00:02:48 +02:00
Lars Jung
1e15c9fb9c Remove server side file manipulation extensions. 2014-06-08 22:33:51 +02:00
Lars Jung
c9d938934b Remove server side file manipulation extensions. 2014-06-08 22:32:20 +02:00
Lars Jung
67bdb1515d More refactorings. 2014-06-08 22:26:03 +02:00
Lars Jung
9c414c92e2 Clean code. 2014-06-08 19:18:16 +02:00
Lars Jung
e497612b6c Clean up. 2014-06-08 15:15:06 +02:00
Lars Jung
b6cf568e31 Add markdown support for custom headers and footers. 2014-06-08 15:13:36 +02:00
Lars Jung
f0721afb88 Minor changes. 2014-06-07 00:57:56 +02:00
Lars Jung
a7301838b9 Update view styles. 2014-06-07 00:30:52 +02:00
Lars Jung
9a76c81e7d Minor changes. 2014-06-06 19:45:12 +02:00
Lars Jung
9ba30f6dad Improve preview GUI. 2014-06-06 02:26:40 +02:00
Lars Jung
7f82e3c80a Minor fixes. 2014-06-05 02:17:36 +02:00
Lars Jung
626c8563f2 Add option where to place folders. 2014-06-04 22:41:40 +02:00
Lars Jung
e61bba9554 Update type system. 2014-06-04 21:39:54 +02:00
Lars Jung
9b4d3b7018 Update type system. 2014-06-04 17:32:22 +02:00
Lars Jung
1660227a54 Update type system. 2014-06-04 17:03:11 +02:00
Lars Jung
26eb27eae3 Sort some images. 2014-06-04 01:09:02 +02:00
Lars Jung
12b2d3ef77 Update type system. 2014-06-03 23:14:37 +02:00
Lars Jung
2d08633147 Update options to new types. 2014-06-03 01:49:56 +02:00
Lars Jung
20cb199cbd Clean types. 2014-06-03 01:27:35 +02:00
Lars Jung
a8c6a78a9a Minor changes. 2014-06-02 00:05:55 +02:00
Lars Jung
42a3beb0b2 Semantics. 2014-06-01 22:26:11 +02:00
Lars Jung
9269bd6898 More URL fixes. 2014-06-01 20:52:48 +02:00
Lars Jung
c224de1994 More URL fixes. 2014-06-01 20:37:29 +02:00
Lars Jung
330523e2b0 Semantics. Refactorings. Make it PHP 5.3 compatible. 2014-06-01 18:24:50 +02:00
Lars Jung
848e40da9c Fix themes. 2014-06-01 15:27:14 +02:00
Lars Jung
7e0420073b Add theme support. 2014-06-01 03:48:53 +02:00
Lars Jung
c6b35c82e8 Add Google UA support. 2014-05-31 20:17:41 +02:00
Lars Jung
5926612e45 Update readme. 2014-05-31 16:46:27 +02:00
Lars Jung
81465fd2f9 Fix QR code URI origin. 2014-05-31 16:43:04 +02:00
Lars Jung
9a453f768c Update readme. 2014-05-31 01:30:38 +02:00
Lars Jung
8c7d4c3f3c Extend selectable icon sizes. 2014-05-31 01:29:15 +02:00
Lars Jung
e6449384ac Update readme. 2014-05-31 00:38:25 +02:00
Lars Jung
69ad16e3ce Merge pull request #288 from alajovic/develop
Slovenian translation for h5ai
2014-05-31 00:37:04 +02:00
Lars Jung
dfa72936f2 Add 'hideIf403' option. 2014-05-31 00:28:58 +02:00
Lars Jung
25d84fe3df Semantics. 2014-05-30 22:55:31 +02:00
Lars Jung
0d6410de8e Update readme. 2014-05-30 01:09:38 +02:00
Lars Jung
d032babf1a Reset scroll position on location change. 2014-05-30 01:06:25 +02:00
Lars Jung
9da65f9fc7 Semantics. 2014-05-30 00:52:57 +02:00
Lars Jung
05504d8e5d Small changes. 2014-05-30 00:45:50 +02:00
Lars Jung
2b26796719 Refactor core/settings module. 2014-05-29 18:51:54 +02:00
Lars Jung
3d54b886dd Update readme and changelog. 2014-05-29 17:38:31 +02:00
Lars Jung
cb33b695dd Update readme and changelog. 2014-05-29 17:38:04 +02:00
Andrej Lajovic
49fe8fbdb8 Add slovenian (sl) translation 2014-05-29 16:54:05 +02:00
Lars Jung
6eae9a7114 Make fallback as simple and fast as possible. 2014-05-29 14:10:34 +02:00
Lars Jung
844b37d165 Add initial theme support. Remove get_http_code. 2014-05-29 03:55:46 +02:00
Lars Jung
0ce49c3535 Remove 'nth-child' from fallback styles. 2014-05-24 15:53:54 +02:00
Lars Jung
0c9160f8fb Remove 'mode' extension. 2014-05-24 01:16:00 +02:00
Lars Jung
62e60cffd3 Add folder deletion. 2014-05-22 23:14:20 +02:00
Lars Jung
8fa939ae30 Update some l10n files. 2014-05-22 22:03:30 +02:00
Lars Jung
9845ae5050 Merge pull request #281 from orzFly/develop
Update zh-cn.json
2014-05-22 21:59:29 +02:00
Lars Jung
71654698d3 Remove timers for now. 2014-05-22 00:13:15 +02:00
Lars Jung
b2a15ceb9d Update H5BP. 2014-05-21 23:52:01 +02:00
Lars Jung
e13c268e9d Update JS libs. 2014-05-21 23:42:11 +02:00
Lars Jung
d59379a0f1 Add CHANGELOG.md. 2014-05-21 22:44:09 +02:00
Lars Jung
8eea5f56cd More refactorings. 2014-05-21 19:55:53 +02:00
Lars Jung
a89db0c259 More refactorings. 2014-05-21 16:09:02 +02:00
Lars Jung
0b28a9eea1 More refactorings. 2014-05-21 02:21:46 +02:00
Lars Jung
351c395f82 Remove PHP closing tags. 2014-05-19 22:40:25 +02:00
Lars Jung
4c7912815c More refactorings. 2014-05-19 22:27:19 +02:00
Lars Jung
344c0a8005 More refactorings. 2014-05-18 22:04:06 +02:00
Lars Jung
fc9f846cb5 More refactorings. 2014-05-18 00:10:38 +02:00
Lars Jung
c40fac67d0 More refactorings. 2014-05-15 13:04:37 +02:00
Lars Jung
fc8a0589dd Refactoring. 2014-05-14 14:27:38 +02:00
Yeechan Lu
1899d3361b Update zh-cn.json 2014-05-12 19:22:26 +08:00
Lars Jung
b67c22f33b Refactoring PHP init code. 2014-05-12 00:39:27 +02:00
Lars Jung
5043a5188b Add padding to rational thumbs. 2014-05-09 23:20:14 +02:00
Lars Jung
08e18b40b5 Add passthru delegate and avconv support. 2014-05-09 21:56:12 +02:00
Lars Jung
365b6d8019 Update readme and license. 2014-05-08 01:59:50 +02:00
Lars Jung
53c4cb645f Cleanup. 2014-05-08 01:54:05 +02:00
Lars Jung
64a31372b8 Merge pull request #274 from willeponken/patch-1
Update for Swedish language
2014-05-08 01:50:20 +02:00
Lars Jung
4919bc8a6e Update pt translation, add ko translation. 2014-05-08 01:46:52 +02:00
Lars Jung
554f79fb94 Update bg translation. 2014-05-08 01:39:38 +02:00
Lars Jung
364f71dd08 Replace backtick operator with exec. 2014-05-08 01:31:42 +02:00
Lars Jung
a75f1b61bc Add PHP exec wrapper. 2014-05-08 00:39:24 +02:00
William Wennerström
b6735a01ea Update for Swedish language
Added missing translations for Swedish.
2014-04-17 16:34:12 +02:00
Lars Jung
f72f7efe46 Set version to 0.24.1+. 2014-04-09 18:14:32 +02:00
Lars Jung
bf4870f087 Merge branch 'develop' 2014-04-09 18:12:33 +02:00
Lars Jung
cdc0ac535f Preparing release. 2014-04-09 18:12:14 +02:00
Lars Jung
cbbefe19d2 Merge pull request #241 from Sn0wCrack/develop
Fixing Windows Program Detection
2014-04-09 14:27:59 +02:00
Lars Jung
1cc8f16ec5 Merge pull request #263 from medicalwei/patch-2
Update zh-tw.json
2014-04-09 14:16:33 +02:00
Lars Jung
9b7af2eb46 Merge pull request #251 from Haprog/finnish
Add Finnish language file
2014-04-09 14:16:16 +02:00
Lars Jung
d7749a924b Merge pull request #237 from CrazyMonster/it-l10n
Updated Italian l10n.
2014-04-09 14:15:59 +02:00
Lars Jung
e9b69db318 Merge pull request #220 from decached/patch-1
Adds Hindi 'hi' translation.
2014-04-09 14:15:33 +02:00
Lars Jung
13c787709f Merge pull request #213 from MinerCrafter/patch-1
French language updated
2014-04-09 14:15:00 +02:00
Lars Jung
e6f09d5ed0 Security bug fix. 2014-04-09 13:46:32 +02:00
Lars Jung
26b91794ce Minor changes. 2014-04-09 12:56:53 +02:00
Yao Wei
6c39a959bf Update zh-tw.json 2014-03-07 11:04:58 +08:00
Yao Wei
92b700c985 Update zh-tw.json 2014-03-07 10:48:39 +08:00
Kari Söderholm
0e50d247e2 Add Finnish language file 2014-01-16 13:53:16 +02:00
Kyle Donaldson
064527a17e Fixing Windows Program Detection
command is currently not ported for windows, which however is.
To remain intact with the current code already in place, it will detect
if the server is running windows or not.
2013-11-26 17:03:44 +11:00
CrazyMonster
fa73f54ed7 Updated Italian l10n. 2013-11-24 14:58:46 +01:00
Akash Kothawale
2d5463681c Oops! Missed a comma 2013-09-28 01:09:22 +05:30
Akash Kothawale
63100a40e3 Adds more translation 2013-09-28 01:08:13 +05:30
Akash Kothawale
1e739d4cd5 Adds Hindi 'hi' translation. 2013-09-28 00:59:02 +05:30
MinerCrafter
65aa7982e7 French language updated 2013-09-13 00:53:30 +02:00
Lars Jung
b37279d1a0 Updates info. 2013-09-06 19:07:58 +02:00
Lars Jung
20c16d2a76 Updates fallback. 2013-09-06 18:58:40 +02:00
Lars Jung
580653a1ad Updates download. 2013-09-06 00:49:50 +02:00
Lars Jung
b8503b6f03 Updates download. 2013-09-06 00:20:55 +02:00
Lars Jung
fd16ed9eda Updates build process. 2013-09-05 15:59:05 +02:00
Lars Jung
a690d4c1e9 Sets version to 0.24.0+. 2013-09-04 16:14:38 +02:00
Lars Jung
96315dc365 Merge branch 'develop' 2013-09-04 16:13:38 +02:00
Lars Jung
571089cda4 Prepares release. 2013-09-04 16:12:46 +02:00
Lars Jung
b5367d999a Updates readme. 2013-09-04 15:57:48 +02:00
Lars Jung
32d9d59a4e Styles. 2013-09-04 15:30:16 +02:00
Lars Jung
94595597d5 Fixes hover states. 2013-09-04 14:17:29 +02:00
Lars Jung
f2d28d6970 Smaller font for costum content. 2013-09-03 23:07:30 +02:00
Lars Jung
c3ea2480da Refactors. 2013-09-03 17:59:10 +02:00
Lars Jung
66e9dafaa5 Improves selectors. 2013-09-03 16:12:31 +02:00
Lars Jung
ad845dbe66 Cleans view styles. 2013-09-03 13:40:07 +02:00
Lars Jung
f0d7ec72cf Fix natural sort for file size. 2013-09-03 12:33:46 +02:00
Lars Jung
19d53b4c14 Lighter font. 2013-09-02 21:46:47 +02:00
Lars Jung
131d945638 Missing semicolon. 2013-09-01 12:44:40 +02:00
Lars Jung
cadc1f4998 Place thumbs in subfolder. 2013-08-31 23:08:09 +02:00
Lars Jung
5c5d050218 Optionally hide folders in the main view. 2013-08-31 17:47:35 +02:00
Lars Jung
fef8e2a254 Updates readme. 2013-08-31 17:17:27 +02:00
Lars Jung
c8d0f5500e Additional text preview modes: none, fixed, markdown. 2013-08-31 15:27:46 +02:00
Lars Jung
8b2852ec9d Use of EXIF thumbnails optional (opt-out). 2013-08-31 14:34:42 +02:00
Lars Jung
00cc9fb713 Minor fix. 2013-08-31 14:19:45 +02:00
Lars Jung
8639e40631 Updates readme. 2013-08-30 20:10:38 +02:00
Lars Jung
f72a09fde0 Adds optional checkboxes for selecting item. 2013-08-30 20:06:39 +02:00
Lars Jung
3d3d5ba883 Border collapse for list view. 2013-08-30 19:06:50 +02:00
Lars Jung
da297f03f7 Updates select. 2013-08-30 17:56:24 +02:00
Lars Jung
a62d9311e1 Removes unused code. 2013-08-30 13:36:16 +02:00
Lars Jung
9c6fe57279 Removes unused code. 2013-08-30 12:59:39 +02:00
Lars Jung
593c828b67 Minor changes. 2013-08-29 23:16:42 +02:00
Lars Jung
aeab3670d0 Updates fallback. 2013-08-29 10:53:34 +02:00
Lars Jung
e3d19a9175 Updates. 2013-08-29 03:15:31 +02:00
Lars Jung
24b4f4ce8a Cleans and refactors. 2013-08-28 23:56:09 +02:00
Lars Jung
aa725f11f8 Adds variable icon sizes. 2013-08-28 17:12:30 +02:00
Lars Jung
c2f5c46451 Remove gif. 2013-08-28 00:36:05 +02:00
Lars Jung
4d4e41a637 Refactors. 2013-08-27 22:38:44 +02:00
Lars Jung
7b3daeb17b Updates thumbs. 2013-08-27 21:29:29 +02:00
Lars Jung
21528dc50b Updates thumbs. 2013-08-27 21:27:31 +02:00
Lars Jung
c186be6cb5 Testing some view changes. Smaller font, bigger icons. 2013-08-27 19:15:48 +02:00
Lars Jung
774742b98c Fixes order undefined error. 2013-08-27 11:26:05 +02:00
Lars Jung
e62591bf1c Adds a yet unstyled selector. 2013-08-26 13:16:35 +02:00
Lars Jung
39cb681bf9 Updates jQuery.filedrop to 0.1.0~0a38cbc. 2013-08-25 23:03:42 +02:00
Lars Jung
aa41483af5 Updates styles. 2013-08-25 20:24:57 +02:00
Lars Jung
1f2ad2ebff Updates styles. 2013-08-25 20:17:01 +02:00
Lars Jung
a6e79b537b Changes dropbox area to whole document. 2013-08-25 14:36:15 +02:00
Lars Jung
3bbfc85877 Updates readme. 2013-08-25 02:48:24 +02:00
Lars Jung
ef969b582d Fixes thumb position. 2013-08-25 02:38:47 +02:00
Lars Jung
4a35f27224 More escapings. 2013-08-25 02:26:01 +02:00
Lars Jung
e2f3e420f1 Fixes thumb position. 2013-08-25 02:25:38 +02:00
Lars Jung
1f9365ae97 Escapes shell arguments. See issue #197. 2013-08-24 23:22:34 +02:00
Lars Jung
4cf5b13d06 Adds select SVG image. 2013-08-24 22:31:13 +02:00
Lars Jung
a568308250 Fixes issue #202. 2013-08-24 19:38:28 +02:00
Lars Jung
ad7c8d9bd8 Updates readme. 2013-08-24 15:38:07 +02:00
Lars Jung
4357c0f1f0 Makes natural sorting opt-in. 2013-08-24 15:14:25 +02:00
Lars Jung
727f161b8a It's actually the da translation. 2013-08-24 01:17:01 +02:00
Lars Jung
30b5266a3f Adds dk translation. 2013-08-24 00:57:39 +02:00
Lars Jung
7ee7d5eddb Updates readme. 2013-08-23 23:37:09 +02:00
Lars Jung
872be4ba19 Removes unused method. 2013-08-23 23:26:31 +02:00
Lars Jung
7969e89bfb Fixes deletion of multiple files at once. 2013-08-23 23:15:47 +02:00
Lars Jung
abd45c1eeb Updates sort extension. 2013-08-23 22:56:28 +02:00
Lars Jung
bbdafb9def Updates sort extension. 2013-08-23 22:32:31 +02:00
Lars Jung
1d24ab33e9 Updates sort extension. 2013-08-23 21:27:40 +02:00
Lars Jung
aef4facdb3 Improves sort extension. 2013-08-23 16:28:58 +02:00
Lars Jung
f5bef0072a Improves sort extension. 2013-08-23 13:42:13 +02:00
Lars Jung
ff1088e53f Removes unused dependencies. 2013-08-23 02:26:06 +02:00
Lars Jung
2251b52f86 Updates preview. 2013-08-23 01:59:11 +02:00
Lars Jung
797d5bbc47 Updates preview. 2013-08-23 00:12:34 +02:00
Lars Jung
72c7b32a94 Preview updates. 2013-08-21 23:00:33 +02:00
Lars Jung
11f6b3792d Minor updates. 2013-08-21 15:58:18 +02:00
Lars Jung
cdbf2e2104 Updates text preview. 2013-08-21 15:56:18 +02:00
Lars Jung
25c131f875 Updates image preview. 2013-08-21 14:04:20 +02:00
Lars Jung
8dbd7dd2a7 Adds generic preview. 2013-08-20 19:21:42 +02:00
Lars Jung
0acd3efaad Styles. 2013-08-19 14:03:23 +02:00
Lars Jung
21f04e36bc Cleans styles. 2013-08-18 21:40:08 +02:00
Lars Jung
bc7607340c Cleans fallback code. 2013-08-18 21:09:35 +02:00
Lars Jung
b42cd95e41 Adds alt attributes to fallback img elements. 2013-08-18 19:59:57 +02:00
Lars Jung
448ad6a27e Fix. 2013-08-16 19:09:37 +02:00
Lars Jung
9331d38545 Updates readme. 2013-08-16 18:29:02 +02:00
Lars Jung
2c8940d062 Updates readme. 2013-08-16 18:18:38 +02:00
Lars Jung
cec6ca2e6e Some updates on the info page. 2013-08-16 16:22:23 +02:00
Lars Jung
a296311b88 Updates build process. 2013-08-13 00:36:39 +02:00
Lars Jung
3733d0c6d0 Replace 'which' with 'command -v' to be POSIX compatible here. 2013-07-28 16:15:20 +02:00
Lars Jung
696409e19c Updates pl translation. 2013-07-26 14:44:31 +02:00
Lars Jung
8a431fe95e Adds .aiff extention to type audio. 2013-07-25 23:41:20 +02:00
Lars Jung
a3a236d2e1 Ignore warnings for unsupported images. 2013-07-23 20:39:24 +02:00
Lars Jung
d76e1194d1 Adds EXIF and PHP version to info page. 2013-07-23 20:09:56 +02:00
Lars Jung
efb447ae78 Minor refactoring. 2013-07-23 10:21:02 +02:00
Lars Jung
ede9f4d3f8 Fixes setParentFolderLabels=false. 2013-07-21 22:23:16 +02:00
Lars Jung
47d73c656b Sets version to 0.23.0-dev 2013-07-21 17:09:21 +02:00
Lars Jung
dc6b0d4ad5 Merge branch 'develop' 2013-07-21 17:07:05 +02:00
Lars Jung
a76bf373a8 Prepares release. 2013-07-21 17:04:46 +02:00
Lars Jung
31e1524a71 Fixes grid style. 2013-07-21 16:27:35 +02:00
Lars Jung
26296813c7 Updates docs. 2013-07-21 14:52:55 +02:00
Lars Jung
2b8e223d1d Fixes misplaced content. 2013-07-21 03:18:40 +02:00
Lars Jung
116a70bc8c Cleans code. 2013-07-21 02:52:00 +02:00
Lars Jung
81a3729f0c Dropbox still very unreliable. 2013-07-21 02:12:53 +02:00
Lars Jung
b031168868 Updates readme. 2013-07-21 01:39:19 +02:00
Lars Jung
31e2f9cc33 Fixes filter. Excludes parent folder from possible matches. 2013-07-21 01:16:52 +02:00
Lars Jung
28ca49dc72 Updates json2.js to 2013-05-26. 2013-07-21 00:50:28 +02:00
Lars Jung
17dc62411f Updates undescore.js to 1.5.1. 2013-07-21 00:26:46 +02:00
Lars Jung
026c890027 Updates undescore.js to 1.5.1. 2013-07-21 00:26:18 +02:00
Lars Jung
9aebb37273 Updates markdown-js to 0.4.0-9c21acdf08. 2013-07-21 00:20:13 +02:00
Lars Jung
88ea49ed05 Updates Moment.js to 2.1.0. 2013-07-21 00:08:05 +02:00
Lars Jung
e1fb82c896 Updates jQuery.mousewheel to 3.1.3. 2013-07-20 23:56:54 +02:00
Lars Jung
62b53851c7 Updates readme. 2013-07-20 22:01:58 +02:00
Lars Jung
8f6aaa892c Optional hide parent folder links. 2013-07-20 22:00:54 +02:00
Lars Jung
289ce2993c Adds optional custom headers/footers that are propageted to all subfolders. 2013-07-20 21:21:57 +02:00
Lars Jung
8a2451474a Removes tiff from preview and thumbnails. Still broken. 2013-07-20 19:08:20 +02:00
Lars Jung
91b6b60ad0 Sematincs. 2013-07-20 17:57:27 +02:00
Lars Jung
5e302256a5 Removes newline. 2013-07-20 17:18:55 +02:00
Lars Jung
ab484ce9a6 Refactors php_tar. 2013-07-20 14:56:03 +02:00
Lars Jung
28d7b128e9 Refactors php_tar. 2013-07-20 14:51:12 +02:00
Lars Jung
8d06364046 Refactors php_tar. 2013-07-20 14:47:34 +02:00
Lars Jung
cc42a48f74 php_tar: Fixes total size. 2013-07-20 14:38:01 +02:00
Lars Jung
c5f23c5289 php_tar: fixing emtpy files bug. 2013-07-20 14:31:16 +02:00
Lars Jung
74f1c0a986 Refactors php_tar. Fixes tar file header, now supports long paths. Adds support for emtpy dirs. Ignores empty files (failed). 2013-07-19 17:56:22 +02:00
Lars Jung
02dd104223 Removes PharData check. 2013-07-19 12:18:46 +02:00
Lars Jung
8a07a5f9e3 Updates readme. 2013-07-19 12:11:19 +02:00
Lars Jung
330491a7e8 Fixes and refactoring in Image class. 2013-07-19 11:59:55 +02:00
Lars Jung
8209793b96 Uses EXIF-thumbs to generate thumbs if possible. 2013-07-19 02:38:24 +02:00
Lars Jung
ec5220a5f9 Semantics. 2013-07-19 00:20:21 +02:00
Lars Jung
694ababf15 Write files in segments. 2013-07-19 00:13:44 +02:00
Lars Jung
ab45b3072c Adds workaround to use direct POST-request downloads. 2013-07-18 23:25:53 +02:00
Lars Jung
adce6f19c4 Correct root dir in php_tar. 2013-07-18 21:07:56 +02:00
Lars Jung
4fac5baedd Updates packaged download extension. 2013-07-18 20:14:10 +02:00
Lars Jung
a703a004a4 Undos integration of custom TAR creation. 2013-07-18 15:51:11 +02:00
Lars Jung
040919808c Merge pull request #193 from TvdW/develop
Implement POSIX.1-1988 UStar directly instead of calling the tar binary
2013-07-18 06:48:14 -07:00
Tom van der Woerdt
84208f7b34 Merge branch 'develop' of https://github.com/lrsjng/h5ai into develop 2013-07-17 19:12:39 +02:00
Tom van der Woerdt
53e32b5986 Fix the size prediction for files where (size%512==0) 2013-07-17 19:12:00 +02:00
Tom van der Woerdt
e815f4d070 Tar: predict total archive size and send the header 2013-07-17 19:07:10 +02:00
Tom van der Woerdt
89acf0cafc Fix the Tar creator for cases where filenames aren't absolute 2013-07-17 18:50:04 +02:00
Tom van der Woerdt
24ae3bed4d Implement POSIX.1-1988 UStar support without having to go through GNU tar 2013-07-17 18:35:02 +02:00
Lars Jung
97b0f6e0bd Makes previews less keyboard greedy. 2013-07-17 17:54:20 +02:00
Lars Jung
1099b297b7 Add optional .exe extension and ignorecase to command checks. 2013-07-17 15:39:02 +02:00
Lars Jung
2ec5da753c Cleans view icons. 2013-07-17 14:56:24 +02:00
Lars Jung
898d1a9b03 Changes view-list styles. 2013-07-17 02:29:03 +02:00
Lars Jung
7d2b1c1c30 Fixes some packaging issues. 2013-07-16 23:43:26 +02:00
Lars Jung
b09d4f638c Sends PHP packaged archives in smaller segments (16MB) to not hit PHP's memory limit. Thanks to Zaoh Lei. 2013-07-16 21:38:07 +02:00
Lars Jung
a87500309a Shell packaging now uses passthru. 2013-07-16 20:47:38 +02:00
Lars Jung
b3ffd4f621 Removes artifical delay. 2013-07-16 14:07:17 +02:00
Lars Jung
0c9f1655c6 Updates readme. 2013-07-16 13:33:49 +02:00
Lars Jung
a072962a53 Updates previews. Removes spin.js. 2013-07-16 13:23:52 +02:00
Lars Jung
d8d8d752cf Updates spinner. 2013-07-16 13:20:02 +02:00
Lars Jung
896c92e6a0 Updates image preview. 2013-07-16 01:41:12 +02:00
Lars Jung
d588bb3563 Don't rely on browser cache in image preview. 2013-07-15 22:29:39 +02:00
Lars Jung
e36dde384d Adds m4v to the video extensions. 2013-07-15 00:18:43 +02:00
Lars Jung
1be30a8e74 Secures ABS_HREF. 2013-07-15 00:17:10 +02:00
Lars Jung
4c8bb24267 Increase the delay before adjusting the image prewiew. 2013-07-14 20:29:55 +02:00
Lars Jung
a189042a47 Testing new view icons. 2013-07-14 19:44:58 +02:00
Lars Jung
0f49591f9c Updates 'pl' lang. 2013-07-14 14:50:51 +02:00
Lars Jung
2a412fb44c Fixes jade var resolutions. 2013-07-14 13:05:54 +02:00
Lars Jung
b648c45929 Adding a patch by Zhao Lei for downloading large archives. Still commented, will be tested later. 2013-07-14 02:00:32 +02:00
Lars Jung
19eea2b316 Fixing PHP path and request issues. 2013-07-14 01:18:59 +02:00
Lars Jung
bfba6c084c Fixes missing path. 2013-07-13 14:42:03 +02:00
Lars Jung
927f41d1a1 Yeah, Safari. 2013-07-13 14:29:10 +02:00
Lars Jung
5cc060ee27 Changes htaccess rules. 2013-07-12 23:33:43 +02:00
Lars Jung
78879d3649 Adds link to info page. 2013-07-12 14:26:51 +02:00
Lars Jung
576ca69b44 Adds index hint to server info page. 2013-07-12 02:59:24 +02:00
Lars Jung
4d56f9aebf Removes unused file types. 2013-07-11 21:40:57 +02:00
Lars Jung
b49726d74e Updates readme. 2013-07-11 18:40:09 +02:00
Lars Jung
d7b51e2de8 Updates fallback. 2013-07-11 17:57:28 +02:00
Lars Jung
bf059c0393 Small fix. 2013-07-11 17:02:28 +02:00
Lars Jung
a076dfc7d3 Adds no-browser fallback. 2013-07-11 16:09:58 +02:00
Lars Jung
a4e599034e Changes folder icons. 2013-07-11 14:45:34 +02:00
Lars Jung
7f871403dc Changes some icons. 2013-07-11 03:05:54 +02:00
Lars Jung
9340c5232c Adds a version and url check to not confuse multiple installations. 2013-07-11 01:32:53 +02:00
Lars Jung
5f27518852 Some comments. 2013-07-10 23:11:44 +02:00
Lars Jung
63115432ce Some comments. 2013-07-10 20:44:54 +02:00
Lars Jung
0f7e01a82f Remove example styles that break during minification. 2013-07-10 01:32:06 +02:00
Lars Jung
bfd65340d3 Minor style fix. 2013-07-10 00:34:40 +02:00
Lars Jung
8b304d22b8 Updates jQuery to 2.0.3. 2013-07-09 22:59:45 +02:00
Lars Jung
84486af599 Updates jQuery.qrcode to 0.4. 2013-07-09 15:41:47 +02:00
Lars Jung
cb1edc3650 More styles. 2013-07-09 02:09:51 +02:00
Lars Jung
695b357668 Fixes #154 2013-07-08 22:38:41 +02:00
Lars Jung
fa6e7cfa1a Cleans code. 2013-07-08 21:24:37 +02:00
Lars Jung
6d3438cb1c Fixes filter problems. 2013-07-08 20:25:05 +02:00
Lars Jung
48522d8e68 Replaces app icons. 2013-07-08 15:56:38 +02:00
Lars Jung
39e4955918 Replaces app icons. 2013-07-08 15:31:29 +02:00
Lars Jung
08044e102f Refines icons. 2013-07-08 14:39:55 +02:00
Lars Jung
fd70cf9d7a Adds 'uk' translation. 2013-07-08 01:52:39 +02:00
Lars Jung
06de6c3274 Updates jQuery to 1.10.2. 2013-07-08 01:21:36 +02:00
Lars Jung
8159b3c4fd Updates jQuery to 1.10.2. 2013-07-08 01:20:24 +02:00
Lars Jung
75b5ab5a19 Updates h5bp styles and normalization. 2013-07-08 01:04:42 +02:00
Lars Jung
172ddc1033 Updates tree folder icons. 2013-07-08 00:57:26 +02:00
Lars Jung
f5435802e7 Images are now svg's from the 'Gnome Symbolic Icon Theme'. 2013-07-07 22:34:34 +02:00
Lars Jung
49276c157c More style changes. 2013-07-06 20:37:08 +02:00
Lars Jung
dc85bc4d5c Some new styles. 2013-07-06 02:31:55 +02:00
Lars Jung
d3e7016cd5 Updates lv translation. 2012-11-07 20:04:58 +01:00
Lars Jung
5e28056257 Fixes lighttpd issues. 2012-11-02 01:11:08 +01:00
Lars Jung
84be82d175 Small fixes and semantics. 2012-10-28 16:43:19 +01:00
Lars Jung
3a92606e0c Small improvments in sorting. 2012-10-28 02:55:57 +02:00
Lars Jung
a447502703 Small fixes. 2012-10-27 15:30:25 +02:00
Lars Jung
6c00a8e669 Moves init code to index file. 2012-10-27 04:29:55 +02:00
Lars Jung
32d7aa74e5 More semantic changes. 2012-10-27 04:17:28 +02:00
Lars Jung
1dea89befb Semantic changes. 2012-10-27 03:50:35 +02:00
Lars Jung
9163996ac2 Minor style changes. 2012-10-27 02:02:10 +02:00
Lars Jung
17c6f18910 Updates readme. Markdown problems. 2012-10-26 02:22:47 +02:00
Lars Jung
2819fd8496 Improves event system. 2012-10-26 00:30:52 +02:00
Lars Jung
34eed09537 Improves event system. 2012-10-25 01:37:34 +02:00
Lars Jung
aded72363a Updates text preview. 2012-10-22 02:12:07 +02:00
Lars Jung
0631444c50 Updates readme. 2012-10-21 23:42:48 +02:00
Lars Jung
b92298d007 More update on text preview. 2012-10-21 23:36:06 +02:00
Lars Jung
74b0ec827b Improves text preview. A little bit slower, but with line-wrap. 2012-10-21 23:15:59 +02:00
Lars Jung
e6e5f3309b Minor style updates. 2012-10-21 21:28:56 +02:00
Lars Jung
cc30a12bee Updates readme. 2012-10-21 18:43:11 +02:00
Lars Jung
7d0a691bc3 Add option related to non-h5ai links. 2012-10-21 18:37:19 +02:00
Lars Jung
1dd6e5c7b0 Minor changes. 2012-10-20 21:03:40 +02:00
Lars Jung
f97a4e490b Some style improvments. 2012-10-19 23:52:18 +02:00
Lars Jung
796e508635 Minor style changes. 2012-10-19 19:12:45 +02:00
Lars Jung
3814558ca1 Fixes event stack. 2012-10-19 18:40:07 +02:00
Lars Jung
e956a49680 More changes to enable smart browsing. 2012-10-18 23:08:48 +02:00
Lars Jung
499013f4fb Initial switch to smart browsing. 2012-10-18 21:27:09 +02:00
Lars Jung
ecc05d3a8b Adds notifications. 2012-10-18 20:53:38 +02:00
Lars Jung
c7a9d444af Adds notifications. 2012-10-18 20:52:47 +02:00
Lars Jung
910312f7ce Cleans code. 2012-10-17 01:54:05 +02:00
Lars Jung
885ce9e9e9 Cleans code. 2012-10-17 01:33:26 +02:00
Lars Jung
cecc5c57a2 Cleans code. 2012-10-17 00:53:28 +02:00
Lars Jung
396bc6662f Cleans code. 2012-10-17 00:17:22 +02:00
Lars Jung
70f4500232 Removes aai. 2012-10-16 23:10:05 +02:00
Lars Jung
e43d43933a Updates storage. 2012-10-16 22:50:41 +02:00
Lars Jung
e6bbb7c2cd Changes versioning. 2012-10-16 20:44:59 +02:00
Lars Jung
4d3b4b85df Updates version to 0.23-dev. 2012-10-16 17:04:04 +02:00
Lars Jung
b097ac2b2d Version 0.22.1 2012-10-16 17:02:24 +02:00
Lars Jung
f047f94ad9 Merge branch 'develop' 2012-10-16 17:00:33 +02:00
Lars Jung
072f1c8158 Fixes a edge-case problem with the API. 2012-10-16 15:16:20 +02:00
Lars Jung
ca19318671 Updates responsive styles. 2012-10-16 15:11:00 +02:00
Lars Jung
c80c2b146a Updates version to 0.23-dev 2012-10-14 18:40:43 +02:00
Lars Jung
a23df9ffb8 Version 0.22 2012-10-14 18:38:34 +02:00
Lars Jung
ba911bd09c Merge branch 'develop' 2012-10-14 18:35:58 +02:00
Lars Jung
138fc4d43c Adds folderstatus extension for aai mode. Updates default options for upcoming release. 2012-10-14 18:32:25 +02:00
Lars Jung
57d6ef9520 Updates options and readme. 2012-10-14 02:30:01 +02:00
Lars Jung
ba793c27cb Updates readme. 2012-10-14 00:02:10 +02:00
Lars Jung
160fd8ecbf Improves download extension. Updates option docs. 2012-10-13 23:58:52 +02:00
Lars Jung
270956c10d Updates readme. 2012-10-13 21:37:06 +02:00
Lars Jung
17ad8d0632 Loads qrcode extension on demand now. 2012-10-13 21:30:41 +02:00
Lars Jung
787d37853b Removes amplify dependencies. 2012-10-13 18:46:54 +02:00
Lars Jung
906d83a3b0 Updates readme. 2012-10-13 15:36:04 +02:00
Lars Jung
bfd8f1b5e0 Updates readme. 2012-10-13 15:26:44 +02:00
Lars Jung
2029f020a3 Updates readme. 2012-10-13 15:23:30 +02:00
Lars Jung
84ad7e4ef9 Updates readme. 2012-10-13 03:09:00 +02:00
Lars Jung
e8c124a0cf Updates readme. 2012-10-13 02:54:51 +02:00
Lars Jung
af300036b4 Updates readme. 2012-10-13 02:31:08 +02:00
Lars Jung
a64630b387 Updates readme. 2012-10-13 02:26:31 +02:00
Lars Jung
3f91022cde Fixes fixed topbar height. 2012-10-12 20:05:27 +02:00
Lars Jung
840363badb Fixes minor refresh problem with single quotes. 2012-10-12 15:42:46 +02:00
Lars Jung
7be15da13a Fixes stat problems on 32bit systems. 2012-10-12 13:57:27 +02:00
Lars Jung
b87dc5a45b Removes a console.log. 2012-10-12 01:31:50 +02:00
Lars Jung
8658bac71a Refactors js. 2012-10-12 01:01:24 +02:00
Lars Jung
2cabbad0d6 Merge pull request #137 from XhmikosR/to-merge
updates Underscore.js to v1.4.2
2012-10-11 10:36:24 -07:00
Lars Jung
a8e0c049f2 Splits up type js into js and json. 2012-10-11 18:28:12 +02:00
Lars Jung
69ffcc2d32 More changes on init procedure. 2012-10-11 15:05:10 +02:00
Lars Jung
a087e96d69 More changes to init procedure and API. 2012-10-11 14:45:18 +02:00
Lars Jung
15dd200b28 Performance improvements in aai mode. Minor changes. 2012-10-11 00:37:08 +02:00
XhmikosR
aaa24df8a3 update Underscore.js to v1.4.2 2012-10-10 17:33:36 +03:00
Lars Jung
d7f1c68366 Switch to general API nearly done. 2012-10-10 16:05:50 +02:00
Lars Jung
a60d5556af Changes some API things. 2012-10-09 14:16:57 +02:00
Lars Jung
811994423d Changes API. 2012-10-08 01:16:02 +02:00
Lars Jung
d6c5696f96 More changes. Improves styles. 2012-10-07 21:31:13 +02:00
Lars Jung
cb9341451b Another partial commit. 2012-10-07 13:48:27 +02:00
Lars Jung
abb9b7bd0e More changes in js. 2012-10-07 02:40:50 +02:00
Lars Jung
318fefbbfd More refactorings. 2012-10-06 22:49:09 +02:00
Lars Jung
b8b6d32a33 More refactorings. 2012-10-06 20:08:59 +02:00
Lars Jung
bd65025a4c More PHP refactorings. 'cs' lang update. 2012-10-06 18:25:59 +02:00
Lars Jung
42cfe55ef3 Cleans and improves PHP code. 2012-10-06 16:50:43 +02:00
Lars Jung
c6a9374488 Removes folderstatus extension. 2012-10-06 15:10:04 +02:00
Lars Jung
029872a212 More PHP refactorings. Fixes text preview. 2012-10-06 14:29:24 +02:00
Lars Jung
838a346c29 Minor changes. 2012-10-06 01:17:11 +02:00
Lars Jung
e53f261c69 Removes temp dir references. 2012-10-05 21:27:27 +02:00
Lars Jung
f6832982bb Fixes index page. 2012-10-05 21:22:19 +02:00
Lars Jung
07d4eee151 Minor changes. 2012-10-05 20:29:37 +02:00
Lars Jung
59609aaee9 Fixes makefile. 2012-10-05 20:00:45 +02:00
Lars Jung
3c5a859f28 Fixes l10n after changes. 2012-10-05 19:59:06 +02:00
Lars Jung
c71f891af2 Cosmetics. 2012-10-05 19:55:48 +02:00
Lars Jung
7494491637 Updates script inclusions. 2012-10-05 15:23:45 +02:00
Lars Jung
e0fb8b3285 Merge pull request #126 from XhmikosR/jquery
update 3rd party libs
2012-10-05 06:20:02 -07:00
XhmikosR
ba2455a87f use the non minified js since they are minified when building h5ai 2012-10-04 19:48:59 +03:00
XhmikosR
6f80d345a8 update spin.js to v1.2.7 2012-10-04 19:48:58 +03:00
XhmikosR
8d7f7d68aa update moment.js to v1.7.2 2012-10-04 19:48:56 +03:00
XhmikosR
1b66788d96 update underscore.js to v1.4.1 2012-10-04 19:48:53 +03:00
XhmikosR
28b002dbee update jQuery to v1.8.2 2012-10-04 19:48:53 +03:00
Lars Jung
326b7f54e1 Updates readme. 2012-09-22 13:51:24 +02:00
Lars Jung
0a280e177b Combines scripts in head section. Shouldn't matter that much. 2012-09-22 13:40:04 +02:00
Lars Jung
f24747e92f Changes shortcut icon format to .ico ... guess why: IE 2012-09-22 01:29:56 +02:00
Lars Jung
ede2316f53 Cleans code. 2012-09-19 23:59:53 +02:00
Lars Jung
26d0de5985 Hopefully fixes date parsing in aai mode. 2012-09-19 20:56:54 +02:00
Lars Jung
df208faf25 Adds experimental support for local config files. 2012-09-19 14:47:52 +02:00
Lars Jung
bcc9f21fc1 Another test commit. Ignore. 2012-09-19 00:56:56 +02:00
Lars Jung
4169de4d6b Test. Just ignore this. 2012-09-19 00:43:48 +02:00
Lars Jung
bc4e1b349a Updates readme. 2012-09-18 21:59:03 +02:00
Lars Jung
8520658c34 Adds ctrl-click file selection. 2012-09-18 18:56:50 +02:00
Lars Jung
9545ec2894 More updates to readme. 2012-09-18 16:59:11 +02:00
Lars Jung
188d2825b1 Updates readme. 2012-09-18 16:46:48 +02:00
Lars Jung
c4084343dc Updates build process. 2012-09-18 16:30:17 +02:00
Lars Jung
3a0e620065 Cleans l10n. 2012-09-18 02:25:14 +02:00
Lars Jung
421d5c2e24 Fixes l10n in case it is disabled. 2012-09-18 02:14:21 +02:00
Lars Jung
4e6c446ce4 Fixes index page. 2012-09-18 01:29:22 +02:00
Lars Jung
b649cd1519 Cleans config to pure json. 2012-09-17 22:37:20 +02:00
Lars Jung
0e05e6d0a1 Fine tweaks to tree layout. 2012-09-17 22:17:05 +02:00
Lars Jung
5ae35ee763 Cleans css. 2012-09-17 00:09:51 +02:00
Lars Jung
6b5556f338 Cleans js. Fixes js. Updates ru translation. 2012-09-16 21:02:40 +02:00
Lars Jung
aa92ab9e83 Cleans js templates. 2012-09-16 17:14:42 +02:00
Lars Jung
01d152ede5 Merge pull request #116 from XhmikosR/upstream
update Greek translation
2012-09-16 07:05:57 -07:00
XhmikosR
1cbf46d2a5 update Greek translation 2012-09-16 16:56:24 +03:00
Lars Jung
53733ccdf5 Cleans styles. 2012-09-16 15:15:07 +02:00
Lars Jung
6245c4654c Fixes Apache mod_autoindex date parsing. 2012-09-16 01:50:15 +02:00
Lars Jung
1f3d501a04 Cleans CSS, adds new grid and list view, replaces small parent-folder icon. 2012-09-16 01:34:50 +02:00
Lars Jung
842bca74f9 Improves filter. Still problems with filter and preview. 2012-09-14 23:24:22 +02:00
Lars Jung
27c598d96e Adds optional binary prefixes. 2012-09-14 19:53:19 +02:00
Lars Jung
3cd11139a2 Minor changes. 2012-09-14 19:16:11 +02:00
Lars Jung
1aec23008e Fixes piwik-analytics extension. 2012-09-14 15:32:33 +02:00
Lars Jung
9d8552a272 Merge pull request #110 from BluePyth/piwik_analytics
Adds Piwik Analytics support
2012-09-14 04:48:43 -07:00
Lars Jung
9648bd6a42 Adds missing jQuery.spin plugin. 2012-09-14 09:59:52 +02:00
Lars Jung
cb6eb4b1b3 Updates 3rd party libs. 2012-09-14 00:45:58 +02:00
Lars Jung
07fcb40aab Updates build process. 2012-09-14 00:25:20 +02:00
Romain Sertelon
010b984a93 Issues fixed 2012-09-13 15:59:26 +02:00
Lars Jung
6d188f1271 Updates readme. 2012-09-12 21:35:24 +02:00
Lars Jung
2fecdef3e0 Adds he translation to config. 2012-09-12 20:55:27 +02:00
Lars Jung
8783f00460 Merge pull request #109 from tomer/develop
Hebrew translation
2012-09-12 11:51:59 -07:00
Lars Jung
b727b29275 Updates build process. 2012-09-12 20:48:15 +02:00
Romain Sertelon
d0544462d5 Adds Piwik Analytics support 2012-09-12 16:04:06 +02:00
Tomer Cohen
47a1c0989c Hebrew translation 2012-09-11 22:02:00 +03:00
Lars Jung
07d67787d8 Removes some blank lines. 2012-08-31 19:44:59 +02:00
Lars Jung
586c21a2c1 More jade. 2012-08-31 18:15:21 +02:00
Lars Jung
b80eeeebbf Adds background transition for img preview fullscreen mode. 2012-08-31 16:55:38 +02:00
Lars Jung
151f70773d Updates h5bp to 4.0.0. 2012-08-31 16:40:24 +02:00
Lars Jung
491e0e4068 Replaces dev number with short git hash. 2012-08-24 14:40:10 +02:00
Lars Jung
f4ea5dab4a Merge pull request #107 from Neelfyn/patch-2
Update French translation
2012-08-23 15:43:11 -07:00
Antoine
1f15b636e2 Update French translation
Add "filter" and "delete" strings to French translation.
2012-08-23 18:25:17 +03:00
Lars Jung
4b7aba378c Changes on info index page. 2012-08-19 22:44:10 +02:00
Lars Jung
4c96efe1c7 Minor refactorings. 2012-08-17 22:56:24 +02:00
Lars Jung
799f1ecd13 Updates config.js comments. 2012-08-17 16:51:10 +02:00
Lars Jung
f1a2a44079 Adds core/mode. Lots of changes to make installation more flexible. 2012-08-17 16:35:25 +02:00
Lars Jung
fd89ea1d90 Abstracts h5ai-index.php. 2012-08-15 22:05:52 +02:00
Lars Jung
5a017a0d5a _h5ai/index does not need to have absolute hrefs. 2012-08-15 12:32:00 +02:00
Lars Jung
e53d72e977 More jade. 2012-08-15 12:20:42 +02:00
Lars Jung
10c651c0a5 Updates readme. 2012-08-13 21:42:36 +02:00
Lars Jung
bf2cf3c048 Removes old code. 2012-08-13 21:39:27 +02:00
Lars Jung
1458623998 Updates Thumb to use defined paths. 2012-08-13 21:34:06 +02:00
Lars Jung
09abaa9a3c Updates lv translation. 2012-08-13 21:11:32 +02:00
Lars Jung
1217d2d699 Changes temp dir to cache dir. Adds auto deletion of temp packages. 2012-08-13 21:08:42 +02:00
Lars Jung
ee30ba509a Adds @ to php checks to ignore exceptions. Updates el translation. 2012-08-13 19:18:36 +02:00
Lars Jung
3617a7fb80 Updates readme and lv translation. 2012-08-13 17:08:28 +02:00
Lars Jung
7d324ce51f Uses utf8_encode for uploaded files. 2012-08-13 00:09:33 +02:00
Lars Jung
a6a95780da Improves build process. 2012-08-12 23:27:10 +02:00
Lars Jung
a99c28f234 Moves index.html to jade. Minor changes. 2012-08-12 22:19:40 +02:00
Lars Jung
bdcab107eb Minor changes. 2012-08-12 17:27:54 +02:00
Lars Jung
7b216484de Adds DirectoryIndex to htaccess. 2012-08-12 17:01:11 +02:00
Lars Jung
08f2f6e165 Updates readme. 2012-08-12 16:44:58 +02:00
Lars Jung
67e5779402 Ignore pattern might be absolute now. 2012-08-12 16:37:28 +02:00
Lars Jung
9a447a83bd Adds renaming. 2012-08-12 15:43:33 +02:00
Lars Jung
35d85b4e99 Renames autoupdate to autorefresh. 2012-08-12 15:18:50 +02:00
Lars Jung
1be5e121b3 Cleans code. 2012-08-12 14:56:05 +02:00
Lars Jung
fbfbcd0439 Separates translations. 2012-08-12 14:52:27 +02:00
Lars Jung
801ee05872 Adds refresh after delete an upload. 2012-08-12 11:58:09 +02:00
Lars Jung
3e3b2813cd Adds core/refresh. Refactors ext/autoupdate. 2012-08-12 11:48:34 +02:00
Lars Jung
f7fbd2e256 Fixed content transition. 2012-08-11 22:40:23 +02:00
Lars Jung
71d22fb9e0 Improves api security. 2012-08-11 22:05:29 +02:00
Lars Jung
ff40e2129f Updates dropbox design. Now the content space is the dropzone. 2012-08-11 21:41:25 +02:00
Lars Jung
4c3267c1f8 Removes unused folder uploads. 2012-08-11 20:58:10 +02:00
Lars Jung
2a1f864e6f Fixes typos. 2012-08-11 17:53:07 +02:00
Lars Jung
c160c89027 Sorts extensions in config.js 2012-08-11 17:49:30 +02:00
Lars Jung
9d26d5ae7e Adds l10n for delete. 2012-08-11 13:39:09 +02:00
Lars Jung
cc7d9ee912 Fixes selection update for deleted entries. 2012-08-11 13:36:51 +02:00
Lars Jung
0b6b2b0f33 Changes context-menu to pure delete function. 2012-08-11 13:25:27 +02:00
Lars Jung
91a9621648 Changes build process to use handelbars. 2012-08-11 02:41:03 +02:00
Lars Jung
45922c1e7b Adds context menu with delete option. 2012-08-11 02:29:15 +02:00
Lars Jung
14960af036 Dropbox feature nearly done. 2012-08-11 02:28:05 +02:00
Lars Jung
f915bdea3b Improves display of 'empty' string for empty folders. 2012-08-11 02:26:48 +02:00
Lars Jung
befdf54952 Style improvments. 2012-08-11 02:24:55 +02:00
Lars Jung
94deb369b1 Updates error messages for api upload function. 2012-08-11 02:22:41 +02:00
Lars Jung
87b3c6bfee Improves entry url encoding. 2012-08-11 02:21:12 +02:00
Lars Jung
9ac5973907 Reformats config comments. 2012-08-11 02:19:29 +02:00
Lars Jung
2f288703bf Updates jQuery to 1.8.0 2012-08-11 02:16:13 +02:00
Lars Jung
d76fad3a51 Adds drag'n'drop upload. 2012-08-09 11:34:20 +02:00
Lars Jung
da438f2f0b Adds new events. Adds autoupdate extension. 2012-08-08 02:44:25 +02:00
Lars Jung
4245f2019e Adds type diff. 2012-08-07 15:51:50 +02:00
Lars Jung
49eb730757 Updates langs. 2012-08-07 13:48:01 +02:00
Lars Jung
b506405a2c Updates version to 0.22-dev. 2012-08-06 19:28:56 +02:00
Lars Jung
bdb8c3f099 Updates version to 0.21. 2012-08-06 19:26:32 +02:00
Lars Jung
bc945895cf Merge branch 'develop' 2012-08-06 19:24:04 +02:00
Lars Jung
aa9ed865f6 Adds font references. 2012-08-06 19:17:27 +02:00
Lars Jung
a8a6871ebd Updates preview styles. 2012-08-06 16:47:17 +02:00
Lars Jung
61ae46386e Updates config. 2012-08-06 14:10:20 +02:00
Lars Jung
219234dfdd Minor style changes. 2012-08-06 01:03:54 +02:00
Lars Jung
c29b681c1b Updates readme. 2012-08-06 00:26:43 +02:00
Lars Jung
8c2c02fe82 Updates readme. 2012-08-06 00:25:25 +02:00
Lars Jung
9c1142bd02 Adds markdown preview rendering. Adds markdown type and icons. 2012-08-06 00:21:00 +02:00
Lars Jung
298d2e2efd Loads SyntaxHighlighter on demand. 2012-08-05 22:01:40 +02:00
Lars Jung
d4a213beac Updates makefile.js. 2012-08-05 19:56:26 +02:00
Lars Jung
0f948a56d8 Updates readme. 2012-08-05 17:42:06 +02:00
Lars Jung
a8e0474cca Updates readme. 2012-08-05 17:39:33 +02:00
Lars Jung
725cb1a6b8 Updates makefile to work with fQuery 0.3.0. 2012-08-05 17:33:19 +02:00
Lars Jung
a0a8882db7 Updates readme. 2012-08-05 02:56:28 +02:00
Lars Jung
f366779f7b Updates text preview styling. 2012-08-05 02:37:52 +02:00
Lars Jung
90b0b97e22 Adds text file preview and highlighting. 2012-08-04 21:47:22 +02:00
Lars Jung
974392d2eb Cleans preview-img code. 2012-08-04 15:41:42 +02:00
Lars Jung
2bcf6593a9 Adds keyboard support to image preview. 2012-08-04 01:10:44 +02:00
Lars Jung
a6fdf653a1 Updates makefile. 2012-08-03 17:09:48 +02:00
Lars Jung
0ff3d900fe Adds localization for filter placeholder. 2012-08-03 15:09:04 +02:00
Lars Jung
ce75e45b03 Updates 'el'. 2012-08-03 12:35:04 +02:00
Lars Jung
a3c68c61f8 Updates lang 'el' 2012-08-03 11:55:32 +02:00
Lars Jung
38011bd9a7 Adds date format for 'el'. 2012-08-03 11:46:12 +02:00
Lars Jung
f5e7b10d94 Refactores css. 2012-08-03 01:06:23 +02:00
Lars Jung
7ad5958487 Updates libs. 2012-08-03 00:49:28 +02:00
Lars Jung
695d5148bb updates readme. 2012-08-03 00:32:07 +02:00
Lars Jung
87103f1c3f changes language code 'gr' to 'el'. 2012-08-03 00:29:26 +02:00
Lars Jung
77f301057b Updates readme. 2012-08-03 00:06:43 +02:00
Lars Jung
9e6c612513 Improves filter. See readme and config.js. 2012-08-03 00:03:27 +02:00
Lars Jung
eaf6ad3fcb Updates readme. 2012-08-02 23:14:45 +02:00
Lars Jung
e25e5b72f4 Adds Google Analytics support (async). 2012-08-02 23:13:43 +02:00
Lars Jung
65b1823c5d Updates Modernizr to 2.6.1. 2012-08-02 22:26:52 +02:00
Lars Jung
8682e202a9 Changes build process from ant to fquery. 2012-08-02 14:35:25 +02:00
Lars Jung
3349108f7e Refactores entry model. 2012-07-17 21:28:34 +02:00
Lars Jung
050d91daa8 Refactors entry model. Hopefully not breaking anything. 2012-07-17 19:42:23 +02:00
Lars Jung
a4c81135d5 Updates, guess what.., encoding #!@#*. 2012-07-17 14:20:30 +02:00
Lars Jung
30d48fb1ef Updates location checking. 2012-07-17 13:49:37 +02:00
Lars Jung
f65f5021ae Improves location check. 2012-07-17 12:00:09 +02:00
Lars Jung
8273f0ded0 Merge pull request #76 from Neelfyn/patch-1
Add French date format
2012-07-16 13:14:48 -07:00
Antoine
07e8c67338 Add French date format 2012-07-16 22:30:05 +03:00
Lars Jung
162f32f5b8 Minor style updates. 2012-07-16 17:38:37 +02:00
Lars Jung
68497e749b Hopefully fixed href bugs for all browsers now. 2012-07-16 17:23:01 +02:00
Lars Jung
8fea7bfb74 Fixes undecoded label bug. 2012-07-16 14:00:05 +02:00
Lars Jung
7e6549faee Updates readme. 2012-07-16 01:12:06 +02:00
Lars Jung
4724214b9e Adds no-js fallback to PHP verison. 2012-07-15 23:29:21 +02:00
Lars Jung
1828855f63 Single source of truth for current location. 2012-07-15 19:34:20 +02:00
Lars Jung
17c31fc9d9 Fixes issue 72: Duplicate tree entries and emtpy main view. 2012-07-15 18:58:10 +02:00
Lars Jung
b6d6bf8ba7 Cleans code. 2012-07-15 14:06:16 +02:00
Lars Jung
2282a0ba71 Fixes problems with misalgined image previews. 2012-07-14 19:45:30 +02:00
Lars Jung
864687aedf Fixes broken callback in tree. 2012-07-14 18:26:22 +02:00
Lars Jung
93d13d6177 Updates readme. 2012-07-14 16:49:02 +02:00
Lars Jung
74450a252a Updates readme. 2012-07-14 16:47:35 +02:00
Lars Jung
87f9ada878 Updates readme. 2012-07-14 16:42:07 +02:00
Lars Jung
f6d24d050f Splits settings.js. 2012-07-14 16:34:12 +02:00
Lars Jung
64640ada83 Adds ajax abstraction. Refactors global dependencies. 2012-07-13 17:57:02 +02:00
Lars Jung
018a574d5e Another take on command button that doesn't work. 2012-07-13 13:16:05 +02:00
Lars Jung
52ffd8720a Starts fixing cmd/control select issues on mac. 2012-07-12 23:27:49 +02:00
Lars Jung
a7ffda422b Minor changes in build.xml. 2012-07-12 13:25:16 +02:00
Lars Jung
e870292878 Merge pull request #75 from manuelbieh/develop
Fixed "Call to undefined method PharData::add_file()"
2012-07-12 03:50:21 -07:00
Manuel Bieh
875b4fbe0e Fixed "Call to undefined method PharData::add_file()" -> Method is called addFile (camel cased, http://am.php.net/manual/de/phar.addfile.php) 2012-07-12 11:14:40 +02:00
Lars Jung
d47b996c9f Updates modulejs to 0.2. 2012-07-11 01:00:39 +02:00
Lars Jung
84a2ed582f Minor refactorings. 2012-07-09 00:43:01 +02:00
Lars Jung
cad50f76e2 Updates to modulejs 0.1. 2012-07-08 15:04:14 +02:00
Lars Jung
9266be9708 Updates jQuery.qrcode to 0.2 and jQuery.scrollpanel to 0.1. 2012-07-04 21:30:33 +02:00
Lars Jung
76e89820eb Updates jQuery.scrollpanel. 2012-07-04 16:28:19 +02:00
Lars Jung
bd76573401 Minor changes. 2012-07-01 14:05:09 +02:00
Lars Jung
6c3f271a3e Bundles jQuery with the main script. 2012-06-07 21:22:04 +02:00
Lars Jung
85f0af61d0 Moves LICENSE and README to folder _h5ai in the release package. 2012-05-28 18:33:25 +02:00
Lars Jung
3d06b0b81a Adds hu translation. 2012-05-28 15:06:07 +02:00
Lars Jung
09c8cf04af Version is now 0.21-pre. 2012-05-11 19:09:01 +02:00
Lars Jung
387ded1033 Merge branch 'develop' 2012-05-11 19:06:44 +02:00
Lars Jung
4cb9967b39 Thumbnails and image preview. 2012-05-11 18:54:52 +02:00
Lars Jung
faf1ce0bcf Merge branch 'develop' 2012-04-19 01:04:03 +02:00
Lars Jung
ce3ef3a195 Sets default settings. 2012-04-19 01:00:19 +02:00
Lars Jung
ade6cf8e0b Final modifications. 2012-04-19 00:57:43 +02:00
Lars Jung
de92767e5a Adds support for tarred downloads. 2012-04-17 23:38:15 +02:00
Lars Jung
e67c854cb5 Fixes problems with file type recognition. 2012-04-17 14:32:47 +02:00
Lars Jung
cc06b07d52 Fixes syntax error in ZipIt.php. 2012-04-16 21:04:04 +02:00
Lars Jung
71ed41fa69 Refactored and lots of modification. See README.md. 2012-04-16 12:53:54 +02:00
Lars Jung
859a680e19 Switches from date.js to Moment.js and adds underscore.js. 2012-04-01 01:03:09 +02:00
Lars Jung
240adb79eb Refactores js. 2012-03-31 21:30:13 +02:00
Lars Jung
4a530f5ec0 Minor changes. 2012-03-29 23:15:32 +02:00
Lars Jung
eb7f3878b1 Moves PHP feature checks into main class. 2012-03-27 20:02:23 +02:00
Lars Jung
972be7677c Enhanced feature checks. 2012-03-27 04:05:55 +02:00
Lars Jung
0d22407a2d Changes on index page. 2012-03-26 01:32:15 +02:00
Lars Jung
c173d74d06 Adds PHP support checks to index page. 2012-03-25 22:49:05 +02:00
Lars Jung
eda1a3b6ac Fixes a zipped download failure feedback bug. 2012-03-25 03:02:27 +02:00
Lars Jung
e4b6bace43 Adds options to info page. 2012-03-25 01:09:35 +01:00
Lars Jung
908848bfc7 Refactored info page assets. 2012-03-25 00:45:32 +01:00
Lars Jung
764bc0034c Adds a info index file at /_h5ai. 2012-03-25 00:09:43 +01:00
Lars Jung
c2e76dee24 Caches h5ai files only for 7 days now. 2012-03-25 00:09:04 +01:00
Lars Jung
81cce9e07c Fixes thumbnail size for portrait screenshots in icon view. 2012-03-24 21:51:23 +01:00
Lars Jung
cdb9157cd1 Disable hash changes since they break logical browser history. 2012-03-24 21:39:00 +01:00
Lars Jung
f34de37913 Fixes mousewheel scrolling, was broke mystically. 2012-03-12 23:33:04 +01:00
Lars Jung
3f0327ff1d Adds sr translation by Goran. 2012-03-12 22:31:52 +01:00
Lars Jung
998d3f30c6 Merge pull request #46 from sindresorhus/develop
Norwegian translation
2012-03-12 14:12:32 -07:00
Sindre Sorhus
0eda3f3701 Norwegian translation 2012-03-12 13:31:58 +01:00
Lars Jung
db4bfec2dd Minor changes. 2012-03-07 20:58:30 +01:00
Lars Jung
a796bd606f Refactores localization. 2012-03-07 17:29:20 +01:00
Lars Jung
1152c00018 Updates libs: jQuery, amplify and jQuery.fracs. 2012-03-07 14:18:49 +01:00
Lars Jung
194a202a0b Renames main script file to H5ai.js and main h5ai reference to h5ai. 2012-03-07 02:33:48 +01:00
Lars Jung
fbff8686bf Removes unnecessary closures. 2012-03-07 01:58:34 +01:00
Lars Jung
b1f6bd0d67 Fixes warnings on https sites loading http resources. 2012-03-06 01:24:47 +01:00
Lars Jung
89a85c0dd2 Semantic changes on file names. 2012-03-04 23:23:33 +01:00
Lars Jung
18181edad9 Fixes minor CSS bug. 2012-03-04 23:06:05 +01:00
Lars Jung
db946f2812 Adds a very basic print style. 2012-03-02 17:26:23 +01:00
Lars Jung
833a8ed13f Adds html5 shiv for IE < 9. 2012-03-01 10:54:42 +01:00
Lars Jung
51c5eb53e7 Adds missing html-tag classes for old browsers. 2012-02-29 17:01:48 +01:00
Lars Jung
3e318e43e8 Updates readme. 2012-02-29 16:39:11 +01:00
Lars Jung
d4c80612dc Fixes js problems in IE 7+8. Hides broken tree view in those browsers and adds a message to the footer. 2012-02-29 16:34:24 +01:00
Lars Jung
13693a4f3b Updates readme. 2012-02-28 13:38:41 +01:00
Lars Jung
1f1a6938ba Merge branch 'develop' of github.com:lrsjng/h5ai into develop 2012-02-28 13:37:24 +01:00
Lars Jung
a45725052b Changes options for dev. 2012-02-28 13:37:12 +01:00
Lars Jung
d90f7f33f7 Merge pull request #41 from metasta/develop
Added Japanese (ja) translation
2012-02-28 04:36:00 -08:00
metasta
f917f3b570 first japanese translation 2012-02-28 12:46:52 +09:00
Lars Jung
4be6e0f4c3 Updates readme. 2012-02-25 16:30:27 +01:00
Lars Jung
ad82ecad6f Merge pull request #40 from midday/ro-locale
Thank you!
2012-02-25 07:27:42 -08:00
Jakob Cosoroaba
14db2a2db7 fixed missing caron 2012-02-25 17:21:10 +02:00
Jakob Cosoroaba
e1c7e3da59 Added Romanian Locale 2012-02-25 17:21:10 +02:00
Lars Jung
6bbf0604b8 Updates lv translation and replaces spaces with tabs in config.js. 2012-02-24 23:38:59 +01:00
Lars Jung
16d4aa3aa9 Changes version to pre0.19. 2012-02-24 18:14:33 +01:00
Lars Jung
796fc75533 Merge branch 'develop' 2012-02-24 17:02:46 +01:00
Lars Jung
cc13005a1d Prepares release. 2012-02-24 16:52:31 +01:00
Lars Jung
cdb0f9035d Minor changes. 2012-02-24 16:37:37 +01:00
Lars Jung
041c172a55 Adds support for zipped download of htaccess restricted files. 2012-02-24 16:31:47 +01:00
Lars Jung
08cc2834df Adds en- and decoding for URL hashes. 2012-02-24 00:01:43 +01:00
Lars Jung
997f1cd80f Improves URL hashs. 2012-02-23 22:41:17 +01:00
Lars Jung
7c1feaebc0 Changes download button style while zipping. 2012-02-23 12:38:11 +01:00
Lars Jung
f1175f5149 More design changes. 2012-02-22 23:47:05 +01:00
Lars Jung
556d206ab8 Hide filter input field if no filter is set. 2012-02-22 13:18:46 +01:00
Lars Jung
bfebcb3bcd Changes design. 2012-02-22 11:38:53 +01:00
Lars Jung
32023fc86e Updates readme. 2012-02-22 07:22:04 +01:00
Lars Jung
78dc01d5b3 Merge pull request #38 from medicalwei/develop
Add translation to zh-tw, and fix translation on zh-cn.
2012-02-21 22:16:50 -08:00
Yao Wei (魏銘廷)
4e90a41614 added zh-tw translation. fix zh-cn translation. 2012-02-22 13:24:49 +08:00
Lars Jung
1b0c9d81ac Adds animated loading gif. 2012-02-21 21:29:47 +01:00
Lars Jung
84f543aca5 Filter accepts RegExp and primitive search sequences. 2012-02-21 01:59:19 +01:00
Lars Jung
749a87eaf7 Reduces number of HTTP requests. 2012-02-20 16:35:48 +01:00
Lars Jung
6901044518 Small js fixes. 2012-02-20 15:08:29 +01:00
Lars Jung
b39fbb8dc0 Removes console.log lines. 2012-02-20 03:12:12 +01:00
Lars Jung
d7b3bd79f8 Fixes build process. 2012-02-20 03:06:01 +01:00
Lars Jung
c8d079b826 Updates readme. 2012-02-20 02:47:00 +01:00
Lars Jung
8ee901517b Removes some redundancy. 2012-02-20 02:46:02 +01:00
Lars Jung
6bfbdb4d05 Adds optional QRCodes and filtering for displayed files. 2012-02-19 22:29:42 +01:00
Lars Jung
bc6e9fb150 Improves zipped download. 2012-02-17 23:21:13 +01:00
Lars Jung
f51a0b80a7 Js version uses settings.thumbTypes too. 2012-02-17 13:47:09 +01:00
Lars Jung
d56d0716cb Fixes problems with thumbnails for filenames with single and double quotes. 2012-02-17 11:28:08 +01:00
Lars Jung
42d3dfe80e Updates readme. 2012-02-17 03:25:57 +01:00
Lars Jung
1a8ef62188 Fixes broken links in custom headers/footers. Updates default options. 2012-02-17 03:23:42 +01:00
Lars Jung
ecf91b506e Disallows indexing the _h5ai folder by default. 2012-02-17 01:21:43 +01:00
Lars Jung
ca4d3ae315 Adds classes to <html> to distinguish h5ai versions. 2012-02-17 01:18:57 +01:00
Lars Jung
ba12154566 Updates build process. 2012-02-16 00:55:13 +01:00
Lars Jung
ba3e61c1d0 Moves thumbTypes to config.js. 2012-02-16 00:34:55 +01:00
Lars Jung
9f10e92175 Fixes include problems as well as Win path problems. 2012-02-15 18:41:13 +01:00
Lars Jung
d72ea22fb0 Small fix on initial tree view display. 2012-02-14 13:16:28 +01:00
Lars Jung
76f107cbfe Fixes problems with folder recognition in the JS version. 2012-02-13 00:11:19 +01:00
Lars Jung
cbdd185602 Makes custom headers/footers optional. Disabled by default. 2012-02-12 23:56:19 +01:00
Lars Jung
20858a1f43 Switches indentation to tabs. 2012-02-12 22:35:38 +01:00
Lars Jung
231ba3013b Updates es translation. 2012-02-12 21:59:17 +01:00
Lars Jung
47b6260186 Prepares for 0.18. 2012-02-12 02:40:14 +01:00
Lars Jung
8308c70f90 Merge branch 'develop' 2011-11-28 00:50:22 +01:00
Lars Jung
3baab50953 Last changes before release. 2011-11-28 00:49:22 +01:00
Lars Jung
4e4e654467 Fixes config. 2011-11-26 20:56:07 +01:00
Lars Jung
ff32e198a6 Merge branch 'switch-root' into develop 2011-11-26 20:54:32 +01:00
Lars Jung
ebec62adac Changes a lot... forgot to commit. 2011-11-26 20:53:51 +01:00
Lars Jung
74d967a27a Merge branch 'develop' 2011-11-02 00:57:18 +01:00
Lars Jung
6a5c35ad9a Last changes before release. 2011-11-02 00:56:55 +01:00
Lars Jung
4901034721 A lot of small fixes. 2011-11-01 22:33:00 +01:00
Lars Jung
8b1d6b9ef7 Updates readme. 2011-10-30 22:05:25 +01:00
Lars Jung
0fcd4e9709 Merge branch 'redesign-js' into develop 2011-10-30 21:55:05 +01:00
Lars Jung
4a65ce61df Improves file selection for zipped download. Zipped download is now disabled by default. 2011-10-30 21:50:25 +01:00
Lars Jung
3c23c7e956 Changes default language from to . 2011-10-07 16:38:30 +02:00
Lars Jung
caced60eaa More refactorings. 2011-10-06 05:12:29 +02:00
Lars Jung
4c1ed3d1e8 Redesigned js. 2011-09-29 13:43:22 +02:00
Lars Jung
8670b248a9 Refactorings. 2011-09-27 17:45:09 +02:00
Lars Jung
7f46dceba0 Minor refactorings. 2011-09-24 03:26:03 +02:00
Lars Jung
a95aef17be Removed release folder. 2011-09-23 17:09:05 +02:00
Lars Jung
e8dcb83d92 Improved HTML head sections. 2011-09-23 17:05:40 +02:00
Lars Jung
03de1d9472 Sorted translations in options.js. 2011-09-18 22:45:30 +02:00
Lars Jung
5e486e0aa2 Moved to version 0.16. 2011-09-18 19:54:18 +02:00
Lars Jung
a8f62f187c Added it translation. Switched to wepp. 2011-09-18 19:49:26 +02:00
Lars Jung
8e21a3c038 Fixed security issues. 2011-09-06 20:57:49 +02:00
Lars Jung
df30c67ade Added selection and zipped download. 2011-09-04 21:18:55 +02:00
Lars Jung
2d3b0eed4f Added selection and zipped download. 2011-09-04 21:18:19 +02:00
Lars Jung
a371ee2afd Minor additions. 2011-09-01 14:27:58 +02:00
Lars Jung
480c4aab79 Added thumbs and slide option. 2011-08-16 21:03:09 +02:00
Lars Jung
745bff09cb Changes in /h5ai/.htaccess 2011-08-12 19:04:14 +02:00
Lars Jung
7d6ced78da Fixes on PHP interpretation and tree display. 2011-08-12 15:58:03 +02:00
Lars Jung
b9835ebaad Added PHP implementation. For a full list of changes see README.md. 2011-08-06 13:26:44 +02:00
Lars Jung
8da046d550 Updated readme. 2011-07-30 13:45:26 +02:00
Lars Jung
e5b7ee6125 Added tr translation. 2011-07-30 13:19:28 +02:00
Lars Jung
e70d9029d2 Added es translation. 2011-07-30 12:35:51 +02:00
Lars Jung
b561082bca Updated build process and readme. 2011-07-29 13:52:51 +02:00
Lars Jung
ae464169a6 Updated readme. 2011-07-29 03:25:48 +02:00
Lars Jung
0f681930b3 Fixed unchecked use of console.log. 2011-07-29 02:36:53 +02:00
Lars Jung
5db74d054f Improved preformance for large directories. Changed build process. 2011-07-28 18:07:13 +02:00
Lars Jung
2e179df6e5 Changed license to MIT. 2011-07-27 02:25:00 +02:00
Lars Jung
8aed077297 Improved tree scrollbar. 2011-07-26 16:40:18 +02:00
Lars Jung
89fd74c4ab Fixed problems with ' in links 2011-07-24 18:05:44 +02:00
Lars Jung
5708b2e38e * fixed problems with XAMPP on Windows (see dot.htaccess comments for instructions)
* fixed tree fade-in-fade-out effect for small displays ([issue #6](http://github.com/lrsjng/h5ai/issues/6))
* added custom scrollbar to tree ([issue #6](http://github.com/lrsjng/h5ai/issues/6))
* fixed broken links caused by URI encoding/decoding ([issue #9](http://github.com/lrsjng/h5ai/issues/9))
* added "empty" to localization (hope Google Translate did a good job here)
2011-07-24 15:25:43 +02:00
Lars Jung
2407cd50ce Merge pull request #7 from MarcoSharper/master
Czech and Slovak translation
2011-07-19 11:46:04 -07:00
Marek Hrabe
fbcb8cb5e8 Added Slovak translation 2011-07-19 20:38:09 +02:00
Marek Hrabe
d822eb63e2 Added Czech translation 2011-07-19 20:33:03 +02:00
Lars Jung
5245b131b8 Forgot to build target. 2011-07-18 23:24:26 +02:00
Lars Jung
0293d54789 Finally decided to release v0.9. Totally flushed by the feedback of the last 2 days. Thanks. See README.md for changes. 2011-07-18 23:22:24 +02:00
Lars Jung
0d4edcb047 Lots of changes. See README.md changelog. 2011-07-08 03:32:23 +02:00
Lars Jung
a339814582 Updated screenshots. 2011-07-07 02:59:10 +02:00
Lars Jung
8eac4ca133 Removed shadows. Reworked tree side bar. 2011-07-07 02:26:07 +02:00
Lars Jung
e4646734f2 Added localization. 2011-07-05 01:39:45 +02:00
Lars Jung
e54abe08ca Added folder effects to details and icons view. Moved some icons. 2011-07-04 20:14:24 +02:00
Lars Jung
faaddd8d60 Remove screenshots. 2011-07-04 16:31:05 +02:00
Lars Jung
d599425452 Some comments and documentation. 2011-07-04 16:26:35 +02:00
Lars Jung
3e6197d2fc Added comments in options.js. 2011-07-04 12:51:34 +02:00
Lars Jung
ecf93da505 Forgot to remove local options. 2011-07-04 02:24:12 +02:00
Lars Jung
e91a127771 Forgot to remove local options. 2011-07-04 02:23:43 +02:00
Lars Jung
b8fba3ac8e Added basic options support. Refactored js. 2011-07-04 02:18:27 +02:00
Lars Jung
b7387adfc8 Some fixes. 2011-07-02 21:11:25 +02:00
Lars Jung
8ee98ed7bd Disabled tree. 2011-07-01 15:32:22 +02:00
518 changed files with 17699 additions and 1991 deletions

24
.editorconfig Normal file
View File

@@ -0,0 +1,24 @@
# editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 4
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[{*.json,*.yml}]
indent_size = 2
[{*.md,*.pug}]
trim_trailing_whitespace = false
[*.svg]
insert_final_newline = false

3
.eslintignore Normal file
View File

@@ -0,0 +1,3 @@
/build/
/local/
/node_modules/

182
.eslintrc.yml Normal file
View File

@@ -0,0 +1,182 @@
---
root: true
env:
es6: true
node: true
parserOptions:
ecmaVersion: 2020
rules:
array-bracket-spacing: [2, never]
arrow-parens: [2, as-needed]
arrow-spacing: 2
block-scoped-var: 2
brace-style: [2, 1tbs, {allowSingleLine: true}]
camelcase: 0
comma-dangle: [2, never]
comma-spacing: [2, {before: false, after: true}]
comma-style: [2, last]
complexity: [1, 10] ###
computed-property-spacing: [2, never]
consistent-return: 2
consistent-this: [2, self]
constructor-super: 2
curly: [2, multi-line]
default-case: 2
dot-location: [2, property]
dot-notation: [2, {allowKeywords: true}]
eol-last: 2
eqeqeq: 2
func-names: 2
func-style: [2, declaration, {allowArrowFunctions: true}]
generator-star-spacing: [2, after]
guard-for-in: 2
handle-callback-err: 2
indent: [2, 4]
key-spacing: [2, {beforeColon: false, afterColon: true}]
keyword-spacing: [2, {before: true, after: true}]
linebreak-style: [2, unix]
max-depth: [1, 4]
max-len: [0, 80, 4]
max-nested-callbacks: [1, 3]
max-params: [1, 4] ###
max-statements: [1, 30] ###
new-cap: 0
new-parens: 2
newline-after-var: 0
no-alert: 2
no-array-constructor: 2
no-bitwise: 2
no-caller: 2
no-catch-shadow: 2
no-class-assign: 2
no-cond-assign: 2
no-console: 0 ###
no-const-assign: 2
no-constant-condition: 1
no-continue: 0
no-control-regex: 2
no-debugger: 2
no-delete-var: 2
no-div-regex: 2
no-dupe-args: 2
no-dupe-class-members: 2
no-dupe-keys: 2
no-duplicate-case: 2
no-else-return: 1
no-empty: 2
no-empty-character-class: 2
no-empty-pattern: 2
no-eq-null: 2
no-eval: 2
no-ex-assign: 2
no-extend-native: 1
no-extra-bind: 2
no-extra-boolean-cast: 2
no-extra-parens: 1
no-extra-semi: 2
no-fallthrough: 2
no-floating-decimal: 2
no-func-assign: 2
no-implicit-coercion: [2, {boolean: false, number: true, string: true}]
no-implied-eval: 2
no-inline-comments: 0
no-inner-declarations: [2, functions]
no-invalid-regexp: 2
no-invalid-this: 2
no-irregular-whitespace: 2
no-iterator: 2
no-label-var: 2
no-labels: 2
no-lone-blocks: 2
no-lonely-if: 2
no-loop-func: 1
no-magic-numbers: 0
no-mixed-requires: [2, false]
no-mixed-spaces-and-tabs: [2, false]
no-multi-spaces: 2
no-multi-str: 2
no-multiple-empty-lines: [2, {max: 4}]
no-native-reassign: 1
no-negated-in-lhs: 2
no-nested-ternary: 0
no-new: 2
no-new-func: 2
no-new-object: 2
no-new-require: 2
no-new-wrappers: 2
no-obj-calls: 2
no-octal: 2
no-octal-escape: 2
no-param-reassign: 0
no-path-concat: 2
no-plusplus: 2
no-process-env: 2
no-process-exit: 2
no-proto: 2
no-redeclare: 2
no-regex-spaces: 2
no-restricted-modules: 2
no-return-assign: 2
no-script-url: 2
no-self-compare: 2
no-sequences: 2
no-shadow: 2
no-shadow-restricted-names: 2
no-spaced-func: 2
no-sparse-arrays: 2
no-sync: 0
no-ternary: 0
no-this-before-super: 2
no-throw-literal: 1
no-trailing-spaces: 2
no-undef: 2
no-undef-init: 2
no-undefined: 0
no-underscore-dangle: 0
no-unexpected-multiline: 2
no-unneeded-ternary: 2
no-unreachable: 2
no-useless-call: 2
no-useless-concat: 2
no-unused-expressions: 2
no-unused-vars: [1, {vars: all, args: after-used}]
no-use-before-define: 2
no-var: 2
no-void: 2
no-warning-comments: [1, {terms: [todo, fixme, xxx], location: start}]
no-with: 2
object-curly-spacing: [2, never]
object-shorthand: [2, always]
one-var: [2, never]
operator-assignment: [2, always]
operator-linebreak: [2, after]
padded-blocks: [2, never]
prefer-arrow-callback: 2
prefer-const: 1
prefer-reflect: 1
prefer-spread: 2
prefer-template: 0
quote-props: [2, as-needed]
quotes: [2, single, avoid-escape]
radix: 2
require-yield: 2
semi: 2
semi-spacing: [2, {before: false, after: true}]
sort-vars: 0
space-before-blocks: [2, always]
space-before-function-paren: [2, {anonymous: always, named: never}]
space-in-parens: [2, never]
space-infix-ops: 2
space-unary-ops: [2, {words: true, nonwords: false}]
spaced-comment: [2, always]
strict: [2, never]
use-isnan: 2
valid-jsdoc: 2
valid-typeof: 2
vars-on-top: 0
wrap-iife: [2, outside]
wrap-regex: 2
yoda: [2, never, {exceptRange: true}]

54
.gitignore vendored
View File

@@ -1,48 +1,6 @@
# Build folders to ignore
bin
build
#target
build.local.xml
# Eclipse
.classpath
.ant-targets-*
# Numerous always-ignore extensions
*.diff
*.err
*.orig
*.log
*.rej
*.swo
*.swp
*.vi
*~
*.sass-cache
# OS or Editor folders
.DS_Store
.cache
.project
.settings
.tmproj
nbproject
Thumbs.db
# Dreamweaver added files
_notes
dwsync.xml
# Komodo
*.komodoproject
.komodotools
# Folders to ignore
.hg
.svn
.CVS
intermediate
publish
.idea
/.nyc_output/
/build/
/coverage/
/local/
/node_modules/
/npm-debug.log

619
CHANGELOG.md Normal file
View File

@@ -0,0 +1,619 @@
# Changelog
* now require PHP 7.0.0+
* fix archive-single-item problem
* add header/footer search stop condition
* update languages (`id`, `it`, `pt-br`, `pt-pt`)
* add EXIF-based image rotation
* add `where` to command detection command list
* fix #758
* fix #760
* add `@babel/core` 7.12.10
* add `@babel/preset-env` 7.12.11
* remove `babel-loader`
* update `eslint` to 7.18.0
* update `ghu` to 0.26.0
* update `jsdom` to 16.4.0
* update `kjua` to 0.9.0
* update `lolight` to 1.4.0
* update `marked` to 1.2.7
* update `null-loader` to 4.0.1
* update `scar` to 2.3.0
## v0.29.2 - *2019-03-22*
* update `babel-loader` to 7.1.1
* update `eslint` to 5.15.3
* update `ghu` to 0.13.0
* update `jsdom` to 14.0.0
* update `kjua` to 0.2.0
* update `lolight` to 1.0.0
* update `scar` to 1.2.0
## v0.29.1 - *2019-01-20*
* replace `babel-preset-es2015` with `babel-preset-env`
* update `eslint` to 5.14.1
* update `ghu` to 0.12.0
* update `jsdom` to 9.2.0
* update `kjua` to 0.1.2
* update `lolight` to 0.6.0
* update `marked` to 0.6.1
* update `normalize.css` to 8.0.1
* update `scar` to 1.0.0
## v0.29.0 - *2016-08-12*
* back to cleaner visual experience
* add option to disable sidebar
* add options to filter/search ignore case
* replace PHP `getenv` calls with `$_SERVER` lookups
* add `view.fallbackMode` option to generally serve only fallback mode
* serve fallback mode for text browsers (`curl`, `links`, `lynx`, `w3m`)
* change type `txt-svg` to `img-svg`, no thumbs but preview
* fix a tree indentation glitch
* fix shell command detection on Windows
* fix Piwik anayltics
* fix `.htaccess` auth issues
* fix drag-select on scrollable content
* fix download-all function
* fix audio and video preview loading
* fix thumbnail request issues
* add `rust` type and icon
* add `autoplay` option to audio and video preview
* add `--dereference` to `shell-du` to follow sym links
* remove *Install* section from `README.md`, causes too much trouble
* remove peer5 support
* update build process to use `node 6.0+`, no need for babel now
* replace `jquery-qrcode` with [`kjua`](https://larsjung.de/kjua/)
* replace `prism` with [`lolight`](https://larsjung.de/lolight/)
* move deps to `package.json` (`normalize.css`, `kjua`, `lolight` and `marked`)
* remove `jQuery`
* remove `lodash`
* remove [`modulejs`](https://larsjung.de/modulejs/) for now
* reduce JS code by 60% (~250kb -> ~100kb)
* update languages (`et`, `nl`, `pl`)
## v0.28.0 - *2015-12-19*
* now require PHP 5.5.0+
* change index path to `/_h5ai/public/index.php`
* now only `/_h5ai/public/` needs to be web-accessible
* add support for custom script and style additions
* add options to set font families
* add search
* add ignorecase sorting option to tree
* add wide links in tree view
* add IE edge mode
* add frontend tests
* fix some styles in IE10
* fix preview bottom bar for small screen widths
* lots of code cleanup and refactorings
* change API
* update build process, now uses [`ghu`](https://larsjung.de/ghu/)
* switch from jshint and jscs to [`eslint`](http://eslint.org/)
* update `jQuery` to 2.1.4
* update `lodash` to 3.9.3 (add debounce and trim)
* update `marked` to 0.3.5
* update `modulejs` to 1.13.0
* update `prism` to 2015-12-19
* update h5bp styles to 5.2.0
* update `normalize.css` to 3.0.3
* remove `Moment.js`
## v0.27.0 - *2015-04-06*
* new layout
* add editorconfig
* drop support for IE9 (gets fallback)
* update sidebar settings
* add info sidebar
* add opt-out for click'n'drag selection
* add package name option for single selections
* add initial support for Peer5
* add option to down-sample images for preview
* add option for natural sorting in tree sidebar
* fix problems with files/folders named `0`
* change font from `Ubuntu` to `Roboto` (smaller footprint, clearer for small sizes)
* switch back to Google Fonts
* improve PDF thumbnail quality
* improve drag-select
* improve image preview
* prevent listing `_h5ai` folder and subfolders
* update build process, now uses [`mkr`](https://larsjung.de/mkr/) and [`fQuery`](https://larsjung.de/fquery/)
* update `jQuery` to 2.1.3
* update `jQuery.qrcode` to 0.11.0
* update `Lo-Dash` to 3.6.0
* update `Modernizr` to 2.8.3
* update `modulejs` to 1.4.0
* update `Moment.js` to 2.9.0
* update `Prism` to 2015-04-05
* remove deprecated Google Analytics code
* remove `jQuery.fracs`
* remove `jQuery.scrollpanel`
* remove `jQuery.mousewheel`
* update languages (`af`, `es`, `ja`, `ko`, `ru`, `zh-cn`)
## v0.26.1 - *2014-08-17*
* fix links
## v0.26.0 - *2014-08-16*
* remove True Type fonts
* outsource themes to [h5ai-themes](https://github.com/lrsjng/h5ai-themes)
* add filesize fallback for large files and 32bit PHP
* fix server detection
* add config file tests to info page
* remove JSON shim
* add caching of command checks
* update `jQuery.mousewheel` to 3.1.12
* update `jQuery.qrcode` to 0.8.0
* replace `markdown` with [`marked`](https://github.com/chjj/marked) 0.3.2
* update `modulejs` to 0.4.5
* update `Moment.js` to 2.8.1
* replace `underscore` with [`Lo-Dash`](https://github.com/lodash/lodash) 2.4.1
* replace `SyntaxHighlighter` with [`Prism`](http://prismjs.com) 2014-08-04
## v0.25.2 - *2014-07-01*
* add optional info page protection
* fix `short_open_tag` issues for PHP < 5.4.0
* fix default folder download (`alwaysVisible` option)
* minor fixes
## v0.25.1 - *2014-06-25*
* fix broken paths for filenames containing '+' characters
* fix Google Universal Analytics
* fix file type check
## v0.25.0 - *2014-06-22*
* add sidebar
* add initial theme support
* add icons from [Evolvere Icon Theme](http://franksouza183.deviantart.com/art/Evolvere-Icon-theme-440718295)
* add PHP variant to calc folder sizes
* add scroll position reset on location change (issue [#279](https://github.com/lrsjng/h5ai/issues/279))
* add option to hide unreadable files
* add option where to place folders (top, inplace, bottom)
* add markdown support for custom header and footer files
* add video and audio preview via HTML5 elements (no fallback, works best in Chrome)
* add filter reset on location change
* add option to make download button always visible
* add Google UA support
* extend selectable icon sizes (add 128px, 192px, 256px, 384px)
* improve preview GUI
* disable thumbs in `cache` folder
* fix QR code URI origin (issue [#287](https://github.com/lrsjng/h5ai/issues/287))
* replace PHP backtick operator with `exec`
* remove server side file manipulation extensions `dropbox`, `delete` and `rename`
* update `H5BP` to 4.3.0
* update `jQuery` to 2.1.1
* update `json2.js` to 2014-02-04
* update `markdown-js` to 0.5.0
* update `Modernizr` to 2.8.2
* update `Moment.js` to 2.6.0
* update `Underscore.js` to 1.6.0
* update languages (`bg`, `ko`, `pt`, `sl`, `sv`, `zh-cn`)
## v0.24.1 - *2014-04-09*
* security fixes! (issues [#268](https://github.com/lrsjng/h5ai/issues/268), [#269](https://github.com/lrsjng/h5ai/issues/269))
* fix WinOS command detection
* update languages (`fi`, `fr`, `hi`, `it`, `zh-tw`)
## v0.24.0 - *2013-09-04*
* updates image and text preview
* adds variable icon sizes
* adds optional natural sort of items
* adds optional checkboxes to select items
* adds text preview modes: none, fixed, markdown
* optionally hide folders in main view
* makes use of EXIF thumbnails optional
* fixes file deletion of multiple files
* fixes `setParentFolderLabels = false`
* fixes shell-arg and RegExp escape issues
* cleans code
* updates info page `/_h5ai`
* adds `aiff` to `audio` types
* adds `da` translation by Ronnie Milbo
* updates to `pl` translation by Mark
## v0.23.0 - *2013-07-21*
* removes `aai` mode!
* drops support for IE7+8 (simple fallback, same as no javascript)
* uses History API if available (way faster browsing)
* faster thumbnail generation if EXIF thumbnails available
* adds optional custom headers/footers that are propageted to all subfolders
* optional hide parent folder links
* some fixes on previews
* speeds up packaged downloads
* add line wrap and line highlighting (on hover) to text preview
* new design (colors, images)
* now uses scalable images for the interface
* fixes filter (ignore parent folder, display of `no match`)
* lots of small fixes
* updates `H5BP` to 4.2.0
* updates `jQuery` to 2.0.3
* updates `jQuery.mousewheel` to 3.1.3
* updates `Moment.js` to 2.1.0
* updates `markdown-js` to 0.4.0-9c21acdf08
* updates `json2.js` to 2013-05-26
* adds `uk` translation by Viktor Matveenko
* updates to `pl` translation by Mark
## v0.22.1 - *2012-10-16*
* bug fix concerning API requests in PHP mode
* minor changes in responsive styles
## v0.22 - *2012-10-14*
* general changes h5ai directory layout and configuration
* splits configuration file (`config.json`) into files `options.json`, `types.json` and `langs.json`
* localization now in separate files
* adds auto-refresh
* adds drag'n'drop upload (PHP, experimental)
* adds file deletion (PHP, experimental)
* cleans and improves PHP code
* PHP no longer respects htaccess restrictions (so be careful)
* PHP ignore patterns might include paths now
* improves separation between aai and php mode
* improves performance in aai mode
* adds optional binary prefixes for file sizes
* improves filter: autofocus on keypress, clear on `ESC`
* download packages now packaged relative to current folder
* download package name changable
* splits type `js` into `js` and `json`
* prevents some errors with files > 2GB on 32bit OS
* adds max subfolder size in tree view
* adds ctrl-click file selection
* adds Piwik analytics extension
* temp download packages are now stored in the `cache`-folder and deleted as soon as possible
* updates translations
* adds `he` translation by [Tomer Cohen](https://github.com/tomer)
* updates 3rd party libs
## v0.21 - *2012-08-06*
* fixes misaligned image previews
* adds no JavaScript fallback to PHP version
* fixes duplicate tree entries and empty main views
* adds Google Analytics support (async)
* improves filter (now ignorecase, now only checks if chars in right order)
* adds keyboard support to image preview (space, enter, backspace, left, right, up, down, f, esc)
* adds text file preview and highlighting with [SyntaxHighlighter](http://alexgorbatchev.com/SyntaxHighlighter/) (same keys as img preview)
* adds Markdown preview with [markdown-js](https://github.com/evilstreak/markdown-js)
* adds new type `markdown`
* changes language code `gr` to `el`
* adds localization for filter placeholder
* adds `hu` translation by [Rodolffo](https://github.com/Rodolffo)
* updates to [jQuery.qrcode](https://larsjung.de/qrcode/) 0.2
* updates to [jQuery.scrollpanel](https://larsjung.de/scrollpanel/) 0.1
* updates to [modulejs](https://larsjung.de/modulejs/) 0.2
* updates to [Moment.js](http://momentjs.com) 1.7.0
* updates to [Underscore.js](http://underscorejs.org) 1.3.3
## v0.20 - *2012-05-11*
* adds image preview
* adds thumbnails for video and pdf
* adds support for lighttpd, nginx and cherokee and maybe other webservers with PHP
* adds folder size in PHP version via shell `du`
* fixes some localization problems
* updates info page at `/_h5ai/`
* switches to JSHint
## v0.19 - *2012-04-19*
* adds lots of config options
* changes in `config.js` and `h5ai.htaccess`
* fixes js problems in IE 7+8
* hides broken tree view in IE < 9, adds a message to the footer
* removes hash changes since they break logical browser history
* fixes thumbnail size for portrait images in icon view
* fixes problems with file type recognition
* adds an info page at `/_h5ai/`
* sort order is preserved while browsing
* removes PHP error messages on thumbnail generation
* fixes PHP some problems with packed download
* adds support for tarred downloads
* changes crumb image for folders with an index file
* adds `index.php` to use h5ai in non-Apache environments
* switches from [Datejs](http://www.datejs.com) to [Moment.js](http://momentjs.com)
* adds [underscore.js](http://underscorejs.org)
* fixes mousewheel problems, updates [jQuery.mousewheel](https://github.com/brandonaaron/jquery-mousewheel) to 3.0.6
* updates `lv` translation
* adds `ro` translation by [Jakob Cosoroabă](https://github.com/midday)
* adds `ja` translation by [metasta](https://github.com/metasta)
* adds `nb` translation by [Sindre Sorhus](https://github.com/sindresorhus)
* adds `sr` translation by [vBm](https://github.com/vBm)
* adds `gr` translation by [xhmikosr](https://github.com/xhmikosr)
## v0.18 - *2012-02-24*
* adds optional QRCode display
* adds optional filtering for displayed files and folders
* updates design
* improves zipped download
* adds support for zipped download of htaccess restricted files
* changes h5ai.htaccess
* custom headers/footers are now optional and disabled by default
* fixes problems with folder recognition in the JS version
* fixes include problems in PHP version
* fixes path problems on servers running on Windows in PHP version
* fixes broken links in custom headers/footers while zipped download enabled
* fixes problems with thumbnails for files with single or double quotes in filename
* improves url hashes
* updates year in `LICENSE.TXT`
* updates es translation
* adds `zh-tw` translation by [Yao Wei](https://github.com/medicalwei)
* updates `zh-cn` translation
## v0.17 - *2011-11-28*
* h5ai is now located in `_h5ai` to reduce collisions
* switches from HTML5 Boilerplate reset to normalization
* adds some style changes for small devices
* configuration (options, types, translations) now via `config.js`
* icons for JS version are now configured via `config.js`
* sort order configuration changed
* sorting is now done without page reload
* adds `customHeader` and `customFooter` to `config.js`
* supports restricted folders to some extent
* some style changes on tree and language menu
* fixes total file/folder count in status bar
* adds support for use with userdir (requires some manual changes)
## v0.16 - *2011-11-02*
* sorts translations in `options.js`
* improves HTML head sections
* refactors JavaScript and PHP a lot
* improves/fixes file selection for zipped download
* fixes scrollbar and header/footer link issues (didn't work when zipped download enabled)
* adds support for ctrl-select
* `dateFormat` in `options.js` changed, now affecting JS and PHP version
* `dateFormat` is localizable by adding it to a translation in `options.js`
* PHP version is now configurable via `php/config.php` (set custom doc root and other PHP related things)
* image thumbs and zipped download is disabled by default now, but works fine if PHP is configured
## v0.15.2 - *2011-09-18*
* adds `it` translation by [Salvo Gentile](https://github.com/SalvoGentile) and [Marco Patriarca](https://github.com/Fexys)
* switches build process from scripp to wepp
## v0.15.1 - *2011-09-06*
* fixes security issues with the zipped download feature
* makes zipped download optional (but enabled by default)
## v0.15 - *2011-09-04*
* adds zipped download for selected files
* cleans and refactores
## v0.14.1 - *2011-09-01*
* display meta information in bottom bar (icon view)
* adds `zh-cn` translation by [Dongsheng Cai](https://github.com/dongsheng)
* adds `pl` translation by Radosław Zając
* adds `ru` translation by Богдан Илюхин
## v0.14 - *2011-08-16*
* adds image thumbnails for PHP version
* new option `slideTree` to turn off auto slide in
## v0.13.2 - *2011-08-12*
* changes in `/h5ai/.htaccess` ... PHP configuration ...
## v0.13.1 - *2011-08-12*
* fixes initial tree display
* adds sort order option
* adds/fixes some translations
* adds `lv` translation by Sandis Veinbergs
## v0.13 - *2011-08-06*
* adds PHP implementation! (should work with PHP 5.2+)
* adds new options
* changes layout of the bottom bar to display status information
* adds language selector to the bottom bar
* quotes keys in `options.js` to make it valid json
* changes value of option `lang` from `undefined` to `null`
* adds some new keys to `h5aiLangs`
* adds browser caching rules for css and js
* adds `pt` translation by [Jonnathan](https://github.com/jonnsl)
* adds `bg` translation by George Andonov
## v0.12.3 - *2011-07-30*
* adds `tr` translation by [Batuhan Icoz](https://github.com/batuhanicoz)
## v0.12.2 - *2011-07-30*
* adds `es` translation by Jose David Calderon Serrano
## v0.12.1 - *2011-07-29*
* fixes unchecked use of console.log
## v0.12 - *2011-07-28*
* improves performance
## v0.11 - *2011-07-27*
* changes license to MIT license, see `LICENSE.txt`
## v0.10.2 - *2011-07-26*
* improves tree scrollbar
## v0.10.1 - *2011-07-24*
* fixes problems with ' in links
## v0.10 - *2011-07-24*
* fixes problems with XAMPP on Windows (see `dot.htaccess` comments for instructions)
* fixes tree fade-in-fade-out effect for small displays ([issue #6](https://github.com/lrsjng/h5ai/issues/6))
* adds custom scrollbar to tree ([issue #6](https://github.com/lrsjng/h5ai/issues/6))
* fixes broken links caused by URI encoding/decoding ([issue #9](https://github.com/lrsjng/h5ai/issues/9))
* adds "empty" to localization (hope Google Translate did a good job here)
## v0.9 - *2011-07-18*
* links hover states between crumb, extended view and tree
* fixes size of tree view (now there's a ugly scrollbar, hopefully will be fixed)
* refactores js to improve performance and cleaned code
* adds caching for folder status codes and content
* adds `fr` translation by [Nicolas](https://github.com/Nicosmos)
* adds `nl` translation by [Stefan de Konink](https://github.com/skinkie)
* adds `sv` translation by Oscar Carlsson
## v0.8 - *2011-07-08*
* removes slashes from folder labels
* optionally rename parent folder entries to real folder names, see `options.js`
* long breadcrumbs (multiple rows) no longer hide content
* error folder icons are opaque now
* refactores js a lot (again...)
## v0.7 - *2011-07-07*
* removes shadows
* smarter tree side bar
## v0.6 - *2011-07-05*
* refactores js
* adds localization, see `options.js`
## v0.5.3 - *2011-07-04*
* refactores js
* adds basic options support via `options.js`
* adds comments to `options.js`
* adds optional tree sidebar
## v0.5.2 - *2011-07-02*
* details view adjusts to window width
* links icon for *.gz and *.bz2
## v0.5.1 - *2011-07-01*
* disables tree sidebar for now, since it had unwanted side effects
## v0.5 - *2011-07-01*
* adds tree sidebar
* some refactorings
## v0.4 - *2011-06-27*
* adds better fallback, in case JavaScript is disabled
* rewrites js, fixed middle-button click etc. problems
* refactors css
* sorts, adds and moves icons and images
* updates dot.access
## v0.3.2 - *2011-06-24*
* removes lib versions from file names
* adds 'empty' indicator for icons view
## v0.3.1 - *2011-06-24*
* refactores js
* adds `folderClick` and `fileClick` callback hooks
* fixes .emtpy style
## v0.3 - *2011-06-23*
* includes build stuff, files previously found in the base directory are now located in folder `target`
* styles and scripts are now minified
* adds Modernizr 2.0.4 for future use
* updates jQuery to version 1.6.1
## v0.2.3 - *2011-06-17*
* more refactoring in main.js
## v0.2.2 - *2011-06-16*
* refactores a lot, adds some comments
* includes fixes from [NumEricR](https://github.com/NumEricR)
* adds top/bottom message support, only basicly styled
## v0.2.1 - *2011-06-16*
* fixes croped filenames
* fixes missing .png extension in header
* adds some color to the links
* adds changelog
## v0.2 - *2011-06-15*
* adds icon view

158
README.md
View File

@@ -1,119 +1,73 @@
# h5ai v0.5 &#160; · &#160; a beautified Apache index
# h5ai
[![license][license-img]][github] [![web][web-img]][web] [![github][github-img]][github]
A modern HTTP web server index for Apache httpd, lighttpd, and nginx.
## Screenshots
## Important
<a href="http://github.com/lrsjng/h5ai/raw/master/resources/h5ai-v0.4-details.png" target="_blank">
<img src="http://github.com/lrsjng/h5ai/raw/master/resources/h5ai-v0.4-details.png" width="400px" alt="screenshot" title="screenshot" style="display: inline" />
</a>
&#160; &#160; &#160;
<a href="http://github.com/lrsjng/h5ai/raw/master/resources/h5ai-v0.4-icons.png" target="_blank">
<img src="http://github.com/lrsjng/h5ai/raw/master/resources/h5ai-v0.4-icons.png" width="400px" alt="screenshot" title="screenshot" style="display: inline" />
</a>
* Do **not** install any files from the `src` folder, they need to be
preprocessed to work correctly!
* Find a preprocessed package and detailed install instructions on the
[project page][web].
* For bug reports and feature requests please use [issues][github-issues].
## Live example
## Build
View a [sample folder](http://larsjung.de/h5ai/sample)
*(the files are all empty to save webspace)*
There are installation ready packages for the latest [releases][release] and
[dev builds][develop]. But to build **h5ai** yourself either `git clone` or
download the repository. From within the root folder run the following
commands to find a fresh zipball in folder `build` (tested on linux only,
requires [`node 10.0+`][node] to be installed, might work on other
configurations).
~~~sh
> npm install
> npm run build
~~~
## Install
## License
Everything you need is located in folder `target`.
The MIT License (MIT)
* Copy folder `h5ai` to the web-root directory of your server or alternativly set an alias `/h5ai/` to
this folder.
* Add the content of file `dot.htaccess` to the `.htaccess` file inside the directory
you want to be styled (you might have to create this file). This directory and any subdirectories will be
styled by h5ai.
Copyright (c) 2020 Lars Jung (https://larsjung.de)
Optionally add `h5ai.header.html` and/or `h5ai.footer.html` files to any of the styled folders to [display
custom top or bottom sections](http://larsjung.de/h5ai/sample/customize). The content of those files
will be wrapped by `<header>` and `<footer>` tags.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
## License and References
## References
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" /></a>
[h5ai](http://larsjung.de/h5ai) is provided under the terms of the [CC BY-SA 3.0 License](http://creativecommons.org/licenses/by-sa/3.0/).
It is based on
[HTML5 Boilerplate](http://html5boilerplate.com),
[jQuery](http://jquery.com),
[Modernizr](http://www.modernizr.com) and
[Faenza icon set](http://tiheum.deviantart.com/art/Faenza-Icons-173323228),
please respect their rights.
**h5ai** profits from other projects, all of them licensed under the MIT license
too. Exceptions are some [Material Design icons][material-design-icons] (CC BY 4.0).
## Changelog
### v0.5
*2011-07-01*
* added tree sidebar
* some refactorings
### v0.4
*2011-06-27*
* added better fallback, in case JavaScript is disabled
* rewrote js, fixed middle-button click etc. problems
* refactored css
* sorted, added and moved icons and images
* updated dot.access
### v0.3.2
*2011-06-24*
* removed lib versions from file names
* added 'empty' indicator for icons view
### v0.3.1
*2011-06-24*
* refactored js
* added `folderClick` and `fileClick` callback hooks
* fixed .emtpy style
### v0.3
*2011-06-23*
* included build stuff, files previously found in the base directory are now located in folder `target`
* styles and scripts are now minified
* added Modernizr 2.0.4 for future use
* updated jQuery to version 1.6.1
### v0.2.3
*2011-06-17*
* more refactoring in main.js
* ~~added custom js support, and global includes~~ *removed, only custom top and bottom sections supported*
### v0.2.2
*2011-06-16*
* refactored a lot, added some comments
* included fixes from [NumEricR](http://github.com/NumEricR/h5ai)
* added top/bottom message support, only basicly styled
### v0.2.1
*2011-06-16*
* fixed croped filenames
* fixed missing .png extension in header
* added some color to the links
* added changelog
### v0.2
*2011-06-15*
* added icon view
[web]: https://larsjung.de/h5ai/
[github]: https://github.com/lrsjng/h5ai
[github-issues]: https://github.com/lrsjng/h5ai/issues
[release]: https://release.larsjung.de/h5ai/
[develop]: https://release.larsjung.de/h5ai/develop/
[node]: https://nodejs.org
[material-design-icons]: https://github.com/google/material-design-icons
[license-img]: https://img.shields.io/badge/license-MIT-a0a060.svg?style=flat-square
[web-img]: https://img.shields.io/badge/web-larsjung.de/h5ai-a0a060.svg?style=flat-square
[github-img]: https://img.shields.io/badge/github-lrsjng/h5ai-a0a060.svg?style=flat-square

View File

@@ -1,19 +0,0 @@
custom = true
# project
project.name = h5ai
project.version = 0.5
# src
src.dir = src
# build
build.dir = target
# libs
lib.scripp.jar = tools/scripp.jar

View File

@@ -1,58 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<project
name="h5ai"
basedir="."
xmlns:scripp="antlib:de.larsjung.scripp.ant"
>
<target name="init">
<property file="build.properties" />
<tstamp>
<format property="build.stamp" pattern="yyyy-MM-dd-HHmmss" />
</tstamp>
<property name="build.label" value="${project.name} ${project.version} b${build.stamp}" />
<echo>Build: ${build.label}</echo>
<taskdef
resource="de/larsjung/scripp/ant/antlib.xml"
uri="antlib:de.larsjung.scripp.ant"
classpath="${lib.scripp.jar}"
/>
</target>
<target name="clean" depends="init">
<delete dir="${build.dir}" />
</target>
<target name="build" depends="clean">
<mkdir dir="${build.dir}" />
<copy todir="${build.dir}">
<fileset dir="${src.dir}" />
</copy>
<replace dir="${build.dir}">
<replacefilter token="%BUILD%" value="${build.label}" />
<replacefilter token="%BUILD_NAME%" value="${project.name}" />
<replacefilter token="%BUILD_VERSION%" value="${project.version}" />
<replacefilter token="%BUILD_STAMP%" value="${build.stamp}" />
</replace>
<scripp.dir dir="${build.dir}/h5ai/css" />
<scripp.dir dir="${build.dir}/h5ai/js" />
</target>
<macrodef name="scripp.dir">
<attribute name="dir" />
<sequential>
<scripp:process>
<fileset dir="@{dir}" includes="**/*.less,**/*.css,**/*.js" excludes="inc/**/*,**/*.min.css,**/*.min.js" />
<globmapper from="*.less" to="*.css" />
<globmapper from="*.css" to="*.css" />
<globmapper from="*.js" to="*.js" />
</scripp:process>
<delete dir="@{dir}/inc">
<fileset dir="@{dir}" includes="**/*.less" />
</delete>
</sequential>
</macrodef>
</project>

157
ghu.js Normal file
View File

@@ -0,0 +1,157 @@
const {resolve, join} = require('path');
const {
ghu, autoprefixer, cssmin, each, ife, includeit, jszip, less, mapfn,
pug, read, remove, run, uglify, watch, webpack, wrap, write
} = require('ghu');
const ROOT = resolve(__dirname);
const SRC = join(ROOT, 'src');
const TEST = join(ROOT, 'test');
const BUILD = join(ROOT, 'build');
const mapper = mapfn.p(SRC, BUILD).s('.less', '.css').s('.pug', '');
const WEBPACK_CFG = {
mode: 'none',
module: {
rules: [
{
test: /\.js$/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
},
{
test: /jsdom/,
use: 'null-loader'
}
]
}
};
ghu.defaults('release');
ghu.before(runtime => {
runtime.pkg = Object.assign({}, require('./package.json'));
const res = run.sync(`git rev-list v${runtime.pkg.version}..HEAD`, {silent: true});
if (res.code === 0) {
const hashes = res.stdout.split(/\r?\n/).filter(x => x);
if (hashes.length) {
const counter = ('000' + hashes.length).substr(-3);
const hash = hashes[0].substr(0, 7);
runtime.pkg.version += `+${counter}~${hash}`;
}
}
runtime.comment = `${runtime.pkg.name} v${runtime.pkg.version} - ${runtime.pkg.homepage}`;
runtime.comment_js = `/* ${runtime.comment} */\n`;
runtime.comment_html = `<!-- ${runtime.comment} -->`;
console.log(runtime.comment);
});
ghu.task('force-production', 'ensure :production flag is set', runtime => {
if (!runtime.args.production) {
runtime.args.production = true;
console.log('forcing production mode');
}
});
ghu.task('clean', 'delete build folder', () => {
return remove(BUILD);
});
ghu.task('build:scripts', runtime => {
return read(`${SRC}/_h5ai/public/js/scripts.js`)
.then(webpack(WEBPACK_CFG))
.then(wrap('\n\n// @include "pre.js"\n\n'))
.then(includeit())
.then(ife(() => runtime.args.production, uglify()))
.then(wrap(runtime.comment_js))
.then(write(mapper, {overwrite: true}));
});
ghu.task('build:styles', runtime => {
return read(`${SRC}/_h5ai/public/css/*.less`)
.then(includeit())
.then(less())
.then(autoprefixer())
.then(ife(() => runtime.args.production, cssmin()))
.then(wrap(runtime.comment_js))
.then(write(mapper, {overwrite: true}));
});
ghu.task('build:pages', runtime => {
return read(`${SRC}: **/*.pug, ! **/*.tpl.pug`)
.then(pug({pkg: runtime.pkg}))
.then(wrap('', runtime.comment_html))
.then(write(mapper, {overwrite: true}));
});
ghu.task('build:copy', runtime => {
const mapper_root = mapfn.p(ROOT, join(BUILD, '_h5ai'));
return Promise.all([
read(`${SRC}/**/conf/*.json`)
.then(wrap(runtime.comment_js))
.then(write(mapper, {overwrite: true, cluster: true})),
read(`${SRC}: **, ! **/*.js, ! **/*.less, ! **/*.pug, ! **/conf/*.json`)
.then(each(obj => {
if ((/index\.php$/).test(obj.source)) {
obj.content = obj.content.replace('{{VERSION}}', runtime.pkg.version);
}
}))
.then(write(mapper, {overwrite: true, cluster: true})),
read(`${ROOT}/*.md`)
.then(write(mapper_root, {overwrite: true, cluster: true}))
]);
});
ghu.task('build:tests', ['build:styles'], 'build the test suite', () => {
return Promise.all([
read(`${BUILD}/_h5ai/public/css/styles.css`)
.then(write(`${BUILD}/test/h5ai-styles.css`, {overwrite: true})),
read(`${TEST}/index.html`)
.then(write(`${BUILD}/test/index.html`, {overwrite: true})),
read(`${TEST}: index.js`)
.then(webpack(WEBPACK_CFG))
.then(wrap(`\n\n// @include "${SRC}/**/js/pre.js"\n\n`))
.then(includeit())
.then(write(mapfn.p(TEST, `${BUILD}/test`), {overwrite: true}))
]).then(() => {
console.log(`browse to file://${BUILD}/test/index.html to run the test suite`);
});
});
ghu.task('build', ['build:scripts', 'build:styles', 'build:pages', 'build:copy', 'build:tests'],
'build all updated files, optionally use :production');
ghu.task('deploy', ['build'], 'deploy to a specified path with :dest=/some/path', runtime => {
if (typeof runtime.args.dest !== 'string') {
throw new Error('no destination path (e.g. :dest=/some/path)');
}
console.log(`deploy to ${runtime.args.dest}`);
const mapper_deploy = mapfn.p(BUILD, resolve(runtime.args.dest));
return read(`${BUILD}/_h5ai/**`)
.then(write(mapper_deploy, {overwrite: true, cluster: true}));
});
ghu.task('watch', runtime => {
return watch([SRC, TEST], () => ghu.run(runtime.sequence.filter(x => x !== 'watch'), runtime.args, true));
});
ghu.task('release', ['force-production', 'clean', 'build'], 'create a zipball', runtime => {
const target = join(BUILD, `${runtime.pkg.name}-${runtime.pkg.version}.zip`);
return read(`${BUILD}/_h5ai/**`)
.then(jszip({dir: BUILD, level: 9}))
.then(write(target, {overwrite: true}));
});

7428
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

31
package.json Normal file
View File

@@ -0,0 +1,31 @@
{
"name": "h5ai",
"version": "0.30.0",
"description": "Modern HTTP web server index.",
"homepage": "https://larsjung.de/h5ai/",
"author": "Lars Jung <lrsjng@gmail.com> (https://larsjung.de)",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/lrsjng/h5ai.git"
},
"scripts": {
"lint": "eslint .",
"test": "node test",
"build": "node ghu release",
"precommit": "npm run -s lint && npm run -s test"
},
"devDependencies": {
"@babel/core": "7.12.10",
"@babel/preset-env": "7.12.11",
"eslint": "7.18.0",
"ghu": "0.26.0",
"jsdom": "16.4.0",
"kjua": "0.9.0",
"lolight": "1.4.0",
"marked": "1.2.7",
"normalize.css": "8.0.1",
"null-loader": "4.0.1",
"scar": "2.3.0"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

4
src/.eslintrc Normal file
View File

@@ -0,0 +1,4 @@
---
rules:
no-console: 1
prefer-reflect: 0

165
src/_h5ai/.htaccess Normal file
View File

@@ -0,0 +1,165 @@
## details here: https://github.com/h5bp/server-configs-apache
## SECURITY ###################################################################
DirectoryIndex disabled
FileETag None
ServerSignature Off
# Apache < 2.3
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
Satisfy All
</IfModule>
# Apache ≥ 2.3
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule mod_headers.c>
Header set X-Content-Type-Options "nosniff"
Header unset ETag
Header unset X-Powered-By
</IfModule>
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
## COMPAT #####################################################################
AddDefaultCharset utf-8
<IfModule mod_mime.c>
AddCharset utf-8 .css .html .js .json .php .svg
AddType application/font-woff woff
AddType application/font-woff2 woff2
AddType application/json json
AddType application/javascript js
AddType application/vnd.ms-fontobject eot
AddType application/x-font-ttf ttc ttf
AddType image/jpeg jpeg jpg
AddType image/png png
AddType image/svg+xml svg svgz
AddType image/x-icon ico
AddType font/opentype otf
AddType text/css css
AddType text/html html
</IfModule>
## SPEED ######################################################################
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 month"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType text/html "access plus 1 minute"
ExpiresByType image/x-icon "access plus 1 week"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
</IfModule>
<IfModule mod_deflate.c>
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
# Apache ≥ 2.3
<IfModule mod_authz_core.c>
# mod_filter as module only available for Apache ≥ 2.3.7
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE "application/atom+xml" \
"application/javascript" \
"application/json" \
"application/ld+json" \
"application/manifest+json" \
"application/rdf+xml" \
"application/rss+xml" \
"application/schema+json" \
"application/vnd.geo+json" \
"application/vnd.ms-fontobject" \
"application/x-font-ttf" \
"application/x-javascript" \
"application/x-web-app-manifest+json" \
"application/xhtml+xml" \
"application/xml" \
"font/eot" \
"font/opentype" \
"image/bmp" \
"image/svg+xml" \
"image/vnd.microsoft.icon" \
"image/x-icon" \
"text/cache-manifest" \
"text/css" \
"text/html" \
"text/javascript" \
"text/plain" \
"text/vcard" \
"text/vnd.rim.location.xloc" \
"text/vtt" \
"text/x-component" \
"text/x-cross-domain-policy" \
"text/xml"
</IfModule>
</IfModule>
# Apache < 2.3
<IfModule !mod_authz_core.c>
AddOutputFilterByType DEFLATE "application/atom+xml" \
"application/javascript" \
"application/json" \
"application/ld+json" \
"application/manifest+json" \
"application/rdf+xml" \
"application/rss+xml" \
"application/schema+json" \
"application/vnd.geo+json" \
"application/vnd.ms-fontobject" \
"application/x-font-ttf" \
"application/x-javascript" \
"application/x-web-app-manifest+json" \
"application/xhtml+xml" \
"application/xml" \
"font/eot" \
"font/opentype" \
"image/bmp" \
"image/svg+xml" \
"image/vnd.microsoft.icon" \
"image/x-icon" \
"text/cache-manifest" \
"text/css" \
"text/html" \
"text/javascript" \
"text/plain" \
"text/vcard" \
"text/vnd.rim.location.xloc" \
"text/vtt" \
"text/x-component" \
"text/x-cross-domain-policy" \
"text/xml"
</IfModule>
<IfModule mod_mime.c>
AddEncoding gzip gz
AddEncoding gzip svgz
</IfModule>
</IfModule>

9
src/_h5ai/private/cache/README.md vendored Normal file
View File

@@ -0,0 +1,9 @@
# Cache
Private cache.
This directory is used for server side caching. To use caching make this
directory writable for your webserver.
There is no critical data in here. You can savely remove any content. This
will clear the cache.

View File

@@ -0,0 +1,18 @@
{
"lang": "afrikaans",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "besonderhede",
"download": "aflaai",
"empty": "leeg",
"files": "lêers",
"filter": "filter",
"folders": "gidse",
"grid": "rooster",
"icons": "ikone",
"lastModified": "Laas verander",
"name": "Naam",
"noMatch": "geen resultaat",
"parentDirectory": "Hoër Vlak",
"size": "Grootte"
}

View File

@@ -0,0 +1,18 @@
{
"lang": "български",
"dateFormat": "DD-MM-YYYY HH:mm",
"details": "детайли",
"download": "изтегляне",
"empty": "празна",
"files": "файлове",
"filter": "филтър",
"folders": "директории",
"grid": "мрежа",
"icons": "икони",
"lastModified": "Последна промяна",
"name": "Име",
"noMatch": "няма съвпадение",
"parentDirectory": "Предходна директория",
"size": "Размер"
}

View File

@@ -0,0 +1,18 @@
{
"lang": "čeština",
"dateFormat": "DD.MM.YYYY HH:mm",
"details": "Podrobnosti",
"download": "Stáhnout",
"empty": "Prázdná složka",
"files": "souborů",
"filter": "Filtr",
"folders": "složek",
"grid": "Seznam",
"icons": "Velké ikony",
"lastModified": "Datum změny",
"name": "Název",
"noMatch": "Žádná shoda",
"parentDirectory": "Nadřazený adresář",
"size": "Velikost"
}

View File

@@ -0,0 +1,18 @@
{
"lang": "dansk",
"dateFormat": "DD-MM-YYYY HH:mm",
"details": "detaljer",
"download": "download",
"empty": "tom",
"files": "filer",
"filter": "filter",
"folders": "mapper",
"grid": "grid",
"icons": "ikoner",
"lastModified": "Sidst ændret",
"name": "Navn",
"noMatch": "ingen match",
"parentDirectory": "Overordnet mappe",
"size": "Størrelse"
}

View File

@@ -0,0 +1,22 @@
{
"lang": "deutsch",
"dateFormat": "DD.MM.YYYY HH:mm",
"details": "Details",
"download": "Download",
"empty": "leer",
"files": "Dateien",
"filter": "filtern",
"folders": "Ordner",
"grid": "Gitter",
"icons": "Icons",
"language": "Sprache",
"lastModified": "Geändert",
"name": "Name",
"noMatch": "keine Treffer",
"parentDirectory": "Übergeordnetes Verzeichnis",
"search": "suchen",
"size": "Größe",
"tree": "Baum",
"view": "Ansicht"
}

View File

@@ -0,0 +1,18 @@
{
"lang": "ελληνικά",
"dateFormat": "DD/MM/YYYY HH:mm",
"details": "λεπτομέρειες",
"download": "μεταμόρφωση",
"empty": "κενό",
"files": "αρχεία",
"filter": "φίλτρο",
"folders": "φάκελοι",
"grid": "πλέγμα",
"icons": "εικονίδια",
"lastModified": "Τελευταία τροποποίηση",
"name": "Όνομα",
"noMatch": "κανένα αποτέλεσμα",
"parentDirectory": "Προηγούμενος Κατάλογος",
"size": "Μέγεθος"
}

View File

@@ -0,0 +1,23 @@
/* only here as a reference, these values are the hardcoded defaults */
{
"lang": "english",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "details",
"download": "download",
"empty": "empty",
"files": "files",
"filter": "filter",
"folders": "folders",
"grid": "grid",
"icons": "icons",
"language": "Language",
"lastModified": "Last modified",
"name": "Name",
"noMatch": "no match",
"parentDirectory": "Parent Directory",
"search": "search",
"size": "Size",
"tree": "Tree",
"view": "View"
}

View File

@@ -0,0 +1,22 @@
{
"lang": "español",
"dateFormat": "DD/MM/YYYY HH:mm",
"details": "Detalles",
"download": "Descargar",
"empty": "vacío",
"files": "Archivos",
"filter": "Filtrar",
"folders": "Directorios",
"grid": "Cuadrícula",
"icons": "Íconos",
"language": "Idioma",
"lastModified": "Última modificación",
"name": "Nombre",
"noMatch": "Sin coincidencias",
"parentDirectory": "Directorio superior",
"search": "buscar",
"size": "Tamaño",
"tree": "Arbol",
"view": "Vista"
}

View File

@@ -0,0 +1,22 @@
{
"lang": "estonian",
"dateFormat": "DD-MM-YYYY HH.mm",
"details": "täpsem info",
"download": "laadi alla",
"empty": "tühi",
"files": "failid",
"filter": "filter",
"folders": "kataloogid",
"grid": "võre",
"icons": "ikoonid",
"language": "Keel",
"lastModified": "Viimati muudetud",
"name": "Nimi",
"noMatch": "ei leitud sobivat",
"parentDirectory": "Emakataloog",
"search": "otsi",
"size": "Suurus",
"tree": "Puu",
"view": "Vaade"
}

View File

@@ -0,0 +1,18 @@
{
"lang": "finnish",
"dateFormat": "DD.MM.YYYY HH:mm",
"details": "tiedot",
"download": "lataa",
"empty": "tyhjä",
"files": "tiedostoa",
"filter": "suodata",
"folders": "hakemistoa",
"grid": "ruudukko",
"icons": "ikonit",
"lastModified": "Viimeksi muokattu",
"name": "Nimi",
"noMatch": "ei osumia",
"parentDirectory": "Ylähakemisto",
"size": "Koko"
}

View File

@@ -0,0 +1,22 @@
{
"lang": "français",
"dateFormat": "DD/MM/YYYY HH:mm",
"details": "détails",
"download": "télécharger",
"empty": "vide",
"files": "Fichiers",
"filter": "filtrer",
"folders": "Répertoires",
"grid": "grille",
"icons": "icônes",
"language": "Langue",
"lastModified": "Dernière modification",
"name": "Nom",
"noMatch": "rien trouvé",
"parentDirectory": "Dossier parent",
"search": "rechercher",
"size": "Taille",
"tree": "Arborescence",
"view": "Disposition"
}

View File

@@ -0,0 +1,17 @@
{
"lang": "עברית",
"dateFormat": "DD.MM.YYYY HH:mm",
"details": "פרטים",
"download": "הורדה",
"empty": "ריק",
"files": "קבצים",
"filter": "סינון",
"folders": "תיקיות",
"icons": "צלמיות",
"lastModified": "שינוי אחרון",
"name": "שם",
"noMatch": "אין תוצאות",
"parentDirectory": "תיקיית הורה",
"size": "גודל"
}

View File

@@ -0,0 +1,18 @@
{
"lang": "हिंदी",
"dateFormat": "DD.MM.YYYY HH:mm",
"details": "विस्तार",
"download": "डाउनलोड",
"empty": "खाली",
"files": "फ़ाइलें",
"filter": "फ़िल्टर",
"folders": "फोल्डर",
"grid": "ग्रिड",
"icons": "आइकॉन",
"lastModified": "पिछला परिवर्तन",
"name": "नाम",
"noMatch": "कोई समानता नहीं",
"parentDirectory": "मूल डायरेक्टरी",
"size": "माप"
}

View File

@@ -0,0 +1,18 @@
{
"lang": "hrvatski",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "detalji",
"download": "preuzmi",
"empty": "prazno",
"files": "datoteka",
"filter": "filter",
"folders": "direktorij(a)",
"grid": "mreža",
"icons": "ikone",
"lastModified": "Posljednja izmjena",
"name": "Naziv",
"noMatch": "nema rezultata",
"parentDirectory": "Natrag",
"size": "Veličina"
}

View File

@@ -0,0 +1,16 @@
{
"lang": "magyar",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "részletek",
"download": "letöltés",
"empty": "üres",
"files": "fájlok",
"folders": "mappák",
"icons": "ikonok",
"lastModified": "Utoljára módosítva",
"name": "Név",
"noMatch": "nincs találat",
"parentDirectory": "Szülő könyvtár",
"size": "Méret"
}

View File

@@ -0,0 +1,22 @@
{
"lang": "Bahasa Indonesia",
"dateFormat": "DD-MM-YYYY HH:mm",
"details": "rincian",
"download": "unduh",
"empty": "kosong",
"files": "berkas",
"filter": "saring",
"folders": "pelipat",
"grid": "jaring",
"icons": "ikon",
"language": "Bahasa",
"lastModified": "Di modifikasi",
"name": "Nama",
"noMatch": "tidak cocok",
"parentDirectory": "Direktori induk",
"search": "cari",
"size": "Ukuran",
"tree": "Pohon",
"view": "Tampil"
}

View File

@@ -0,0 +1,22 @@
{
"lang": "italiano",
"dateFormat": "DD-MM-YYYY HH:mm",
"details": "dettagli",
"download": "download",
"empty": "vuota",
"files": "file",
"filter": "filtra",
"folders": "cartelle",
"grid": "griglia",
"icons": "icone",
"language": "Linugua",
"lastModified": "Ultima modifica",
"name": "Nome",
"noMatch": "nessun risultato",
"parentDirectory": "Cartella Superiore",
"search": "cerca",
"size": "Dimensione",
"tree": "Albero",
"view": "Vista"
}

View File

@@ -0,0 +1,20 @@
{
"lang": "日本語",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "詳細",
"download": "ダウンロード",
"empty": "(空)",
"files": "ファイル",
"filter": "フィルター",
"folders": "フォルダー",
"grid": "グリッド",
"icons": "アイコン",
"language": "言語",
"lastModified": "最終変更日時",
"name": "名前",
"noMatch": "一致する項目が見つかりません",
"parentDirectory": "親ディレクトリへ",
"size": "サイズ",
"view": "ビュー"
}

View File

@@ -0,0 +1,22 @@
{
"lang": "한국어",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "자세히",
"download": "다운로드",
"empty": "빈 폴더",
"files": "파일",
"filter": "필터",
"folders": "폴더",
"grid": "그리드",
"icons": "아이콘",
"language": "언어",
"lastModified": "최근 수정일",
"name": "파일명",
"noMatch": "해당파일이 없습니다.",
"parentDirectory": "상위폴더",
"search": "검색",
"size": "크기",
"tree": "트리",
"view": "보기"
}

View File

@@ -0,0 +1,22 @@
{
"lang": "latviešu",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "detaļas",
"download": "lejupielādēt",
"empty": "tukšs",
"files": "faili",
"filter": "filtrēt",
"folders": "mapes",
"grid": "režģis",
"icons": "ikonas",
"language": "Valoda",
"lastModified": "Pēdējoreiz modificēts",
"name": "Nosaukums",
"noMatch": "nav sakritības",
"parentDirectory": "Vecākdirektorijs",
"search": "meklēt",
"size": "Izmērs",
"tree": "Koks",
"view": "Skats"
}

View File

@@ -0,0 +1,15 @@
{
"lang": "norwegian",
"details": "detaljer",
"download": "last ned",
"empty": "tom",
"files": "filer",
"folders": "mapper",
"icons": "ikoner",
"lastModified": "Sist endret",
"name": "Navn",
"noMatch": "ingen treff",
"parentDirectory": "Overordnet mappe",
"size": "Størrelse"
}

View File

@@ -0,0 +1,22 @@
{
"lang": "nederlands",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "details",
"download": "download",
"empty": "leeg",
"files": "bestanden",
"filter": "filter",
"folders": "mappen",
"grid": "grid",
"icons": "iconen",
"language": "Taal",
"lastModified": "Laatste wijziging",
"name": "Naam",
"noMatch": "geen overeenkomst",
"parentDirectory": "Bovenliggende map",
"search": "zoeken",
"size": "Grootte",
"tree": "Boom",
"view": "Bekijk"
}

View File

@@ -0,0 +1,22 @@
{
"lang": "polski",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "szczegóły",
"download": "pobierz",
"empty": "pusty",
"files": "plików",
"filter": "filtr",
"folders": "folderów",
"grid": "kafelki",
"icons": "ikony",
"language": "Język",
"lastModified": "Ostatnia modyfikacja",
"name": "Nazwa",
"noMatch": "nie znaleziono",
"parentDirectory": "Katalog nadrzędny",
"search": "szukaj",
"size": "Rozmiar",
"tree": "Drzewo",
"view": "Układ"
}

View File

@@ -0,0 +1,22 @@
{
"lang": "português do Brasil",
"dateFormat": "DD-MM-YYYY HH:mm",
"details": "detalhes",
"download": "download",
"empty": "vazio",
"files": "arquivos",
"filter": "filtro",
"folders": "pastas",
"grid": "grade",
"icons": "ícones",
"language": "Idioma",
"lastModified": "Última modificação",
"name": "Nome",
"noMatch": "sem resultados",
"parentDirectory": "Diretório acima",
"search": "pesquisa",
"size": "Tamanho",
"tree": "Árvore",
"view": "Visualização"
}

View File

@@ -0,0 +1,22 @@
{
"lang": "português de Portugal",
"dateFormat": "DD-MM-YYYY HH:mm",
"details": "detalhes",
"download": "descarregar",
"empty": "vazio",
"files": "arquivos",
"filter": "filtro",
"folders": "pastas",
"grid": "grelha",
"icons": "ícones",
"language": "Idioma",
"lastModified": "última modificação",
"name": "Nome",
"noMatch": "sem resultados",
"parentDirectory": "Diretório acima",
"search": "pesquisa",
"size": "Tamanho",
"tree": "Árvore",
"view": "Visualização"
}

View File

@@ -0,0 +1,15 @@
{
"lang": "română",
"details": "detalii",
"download": "descarcă",
"empty": "gol",
"files": "fişiere",
"folders": "dosar",
"icons": "pictograme",
"lastModified": "ultima modificare",
"name": "nume",
"noMatch": "0 rezultate",
"parentDirectory": "dosar părinte",
"size": "mărime"
}

View File

@@ -0,0 +1,20 @@
{
"lang": "русский",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "Детали",
"download": "Скачать",
"empty": "Пусто",
"files": "Файлы",
"filter": "Фильтр",
"folders": "Папки",
"grid": "Сетка",
"icons": "Иконки",
"language": "Язык",
"lastModified": "Последние изменения",
"name": "Имя",
"noMatch": "Нет совпадений",
"parentDirectory": "Главная директория",
"size": "Размер",
"view": "Вид"
}

View File

@@ -0,0 +1,13 @@
{
"lang": "slovenčina",
"details": "podrobnosti",
"empty": "prázdny",
"files": "súborov",
"folders": "priečinkov",
"icons": "ikony",
"lastModified": "Upravené",
"name": "Názov",
"parentDirectory": "Nadriadený priečinok",
"size": "Velkosť"
}

View File

@@ -0,0 +1,18 @@
{
"lang": "slovenščina",
"dateFormat": "DD. MM. YYYY HH:mm",
"details": "podrobnosti",
"download": "prenesi",
"empty": "prazno",
"files": "datoteke",
"filter": "filter",
"folders": "mape",
"grid": "mreža",
"icons": "ikone",
"lastModified": "Zadnja sprememba",
"name": "Ime",
"noMatch": "ni zadetkov",
"parentDirectory": "Nadrejena mapa",
"size": "Velikost"
}

View File

@@ -0,0 +1,15 @@
{
"lang": "srpski",
"details": "detalji",
"download": "download",
"empty": "prazno",
"files": "fajlovi",
"folders": "direktorijum",
"icons": "ikone",
"lastModified": "Poslednja modifikacija",
"name": "Ime",
"noMatch": "bez poklapanja",
"parentDirectory": "Roditeljski direktorijum",
"size": "Veličina"
}

View File

@@ -0,0 +1,16 @@
{
"lang": "svenska",
"details": "detaljerad",
"download": "ladda ner",
"empty": "tom",
"files": "filer",
"folders": "kataloger",
"grid": "rutnät",
"icons": "ikoner",
"lastModified": "Senast ändrad",
"name": "Filnamn",
"noMatch": "ingen matchning",
"parentDirectory": "Till överordnad mapp",
"size": "Filstorlek"
}

View File

@@ -0,0 +1,14 @@
{
"lang": "türkçe",
"details": "detaylar",
"download": "indir",
"empty": "boş",
"files": "dosyalar",
"folders": "klasörler",
"icons": "ikonlar",
"lastModified": "Son Düzenleme",
"name": "İsim",
"parentDirectory": "Üst Dizin",
"size": "Boyut"
}

View File

@@ -0,0 +1,18 @@
{
"lang": "українська",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "Деталі",
"download": "Завантажити",
"empty": "Порожньо",
"files": "Файли(ів)",
"filter": "Фільтр",
"folders": "Тек(и)",
"grid": "Гратка",
"icons": "Піктограми",
"lastModified": "Останні зміни",
"name": "Ім'я",
"noMatch": "Немає співпадінь",
"parentDirectory": "Головна тека",
"size": "Розмір"
}

View File

@@ -0,0 +1,23 @@
{
"lang": "简体中文",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "详情",
"download": "下载",
"empty": "空文件夹",
"files": "文件",
"filter": "过滤",
"folders": "文件夹",
"grid": "网格",
"icons": "图标",
"language": "语言",
"lastModified": "修改时间",
"name": "文件名",
"noMatch": "无匹配项",
"parentDirectory": "父文件夹",
"search": "搜索",
"size": "大小",
"tree": "树形目录",
"view": "视图",
"info": "信息"
}

View File

@@ -0,0 +1,23 @@
{
"lang": "正體中文",
"dateFormat": "YYYY-MM-DD HH:mm",
"details": "詳細資料",
"download": "下載",
"empty": "空資料夾",
"files": "檔案",
"filter": "過濾",
"folders": "資料夾",
"grid": "網格",
"icons": "圖示",
"language": "語言",
"lastModified": "上次修改",
"name": "檔名",
"noMatch": "沒有符合的檔案",
"parentDirectory": "上層目錄",
"search": "搜尋",
"size": "大小",
"tree": "樹形目錄",
"view": "檢視",
"info": "資訊"
}

View File

@@ -0,0 +1,396 @@
{
/*
Password hash.
SHA512 hash of the info page password, the preset password is the empty string.
Online hash generator: http://md5hashing.net/hashing/sha512
*/
"passhash": "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",
/*
Resources.
Additional script and style tags added to all pages. Paths not beginning
with "http://", "https://" or "/" will be looked up relative to
"_h5ai/public/ext/" (no check for existence).
- scripts: array of strings
- styles: array of strings
*/
"resources": {
"scripts": [],
"styles": [
"//fonts.googleapis.com/css?family=Ubuntu:300,400,700%7CUbuntu+Mono:400,700"
]
},
/*
General view options.
- binaryPrefix: boolean, set to true uses 1024B=1KiB when formatting file sizes (see http://en.wikipedia.org/wiki/Binary_prefix)
- disableSidebar: boolean, hides sidebar and toggle button
- fallbackMode: boolean, serve fallback mode
- fastBrowsing: boolean, use History API if available (no need to reload the whole page)
- fonts: array of strings, fonts to use in regular context
- fontsMono: array of strings, fonts to use in monopspaced context
- hidden: array of strings, don't list items matching these regular expressions
- hideFolders: boolean, hide all folders in the main view
- hideIf403: boolean, hide files and folders that are not readable by the server
- hideParentFolder: boolean, hide parent folder links in the main view
- maxIconSize: number, max size for icons in the main view
- modes: array of strings, subset of ["details", "grid", "icons"]
the first value indicates the default view mode. If only one value
is given the view mode is fixed and the selector buttons are hidden.
The user selected view mode is also stored local in modern browsers
so that it will be persistent.
- modeToggle: boolean, show a view mode toggle in the toolbar, or "next"
- setParentFolderLabels: boolean, set parent folder labels to real folder names
- sizes: array of numbers
the first value indicates the default view size. If only one value
is given the view size is fixed and the selector buttons are hidden.
The user selected view size is also stored local in modern browsers
so that it will be persistent.
- theme: string, name of one of the folders in "_h5ai/public/images/themes", defaults to "default"
- unmanaged: array of strings, don't manage folders containing one of those files
- unmanagedInNewWindow: boolean, open unmanaged links in new window/tab
*/
"view": {
"binaryPrefix": false,
"disableSidebar": false,
"fallbackMode": false,
"fastBrowsing": true,
"fonts": ["Ubuntu", "Roboto", "Helvetica", "Arial", "sans-serif"],
"fontsMono": ["Ubuntu Mono", "Monaco", "Lucida Sans Typewriter", "monospace"],
"hidden": ["^\\.", "^_h5ai"],
"hideFolders": false,
"hideIf403": true,
"hideParentFolder": false,
"maxIconSize": 40,
"modes": ["details", "grid", "icons"],
"modeToggle": false,
"setParentFolderLabels": true,
"sizes": [20, 40, 60, 80, 100, 140, 180, 220, 260, 300],
"theme": "comity",
"unmanaged": ["index.html", "index.htm", "index.php"],
"unmanagedInNewWindow": false
},
/*** Extensions (in alphabetical order) ***/
/*
Watch and update current folder content.
- interval: number, update interval in milliseconds, at least 1000
*/
"autorefresh": {
"enabled": false,
"interval": 5000
},
/*
Show a clickable breadcrumb.
*/
"crumb": {
"enabled": true
},
/*
Allow customized header and footer files.
First checks for files "_h5ai.header.html" and "_h5ai.footer.html" in the current directory.
If not successful it checks all parent directories (starting in the current directory) for
files "_h5ai.headers.html" and "_h5ai.footers.html".
Note the different filenames: "header" (only current) - "headers" (current and sub directories)!
The file's content will be placed inside a <div/> tag above/below the main content.
If a file's extension is ".md" instead of ".html" its content will be interpreted as markdown.
- stopSearchingAtRoot: boolean, only search for header and footer files until the web root
directory. if `false`, will search for header/footer up the entire directory structure,
even above the web root
*/
"custom": {
"enabled": true,
"stopSearchingAtRoot": true
},
/*
Enable packaged download of selected entries.
To select files the "select"-extension needs to be enabled.
- type: string, "php-tar", "shell-tar" or "shell-zip"
- packageName: string, basename of the download package, null for current filename or foldername
- alwaysVisible: boolean, always show download button (defaults to download the current folder)
*/
"download": {
"enabled": true,
"type": "php-tar",
"packageName": null,
"alwaysVisible": false
},
/*
Allow filtering the displayed files and folders in current folder.
Checks for substrings.
If advanced is enabled it checks entries for right order of characters,
i.e. "ab" matches "ab", "axb", "xaxbx" but not "ba". Space separated
sequences get OR-ed. Searches will be treated as JavaScript regular
expressions if you prefix them with "re:".
- advanced: boolean, use advanced pattern parsing
- debounceTime: number, debounce wait time in milliseconds
- ignorecase: boolean, ignore case
*/
"filter": {
"enabled": false,
"advanced": true,
"debounceTime": 100,
"ignorecase": true
},
/*
Calc the size of folders.
This operation is real slow. The calculated sizes differ slightly for both
calculation types since "php" only adds the file size, while "shell-du"
also adds the sizes for the actual folder files.
- type: string, "php" (sloooow) or "shell-du" (sloow)
*/
"foldersize": {
"enabled": true,
"type": "php"
},
/*
Adds Google Universial Analytics asynchronous tracking code.
see: https://developers.google.com/analytics/devguides/collection/analyticsjs/
- id: string, account ID
*/
"google-analytics-ua": {
"enabled": false,
"id": "UA-000000-0"
},
/*
Enable a generic info side bar.
- show: boolean, initial visible to first time users
- qrcode: boolean, show a QR-Code
- qrColor: string, QR-Code fill color
*/
"info": {
"enabled": true,
"show": false,
"qrcode": true,
"qrFill": "#999",
"qrBack": "#fff"
},
/*
Localization, for example "en", "de" etc. - see "_h5ai/conf/l10n" folder for
possible values. Adjust it to your needs. If lang is not found
it defaults to "en".
- lang: string, default language
- useBroserLang: boolean, try to use browser language
*/
"l10n": {
"enabled": true,
"lang": "en",
"useBrowserLang": true
},
/*
Adds Piwik tracker javascript code.
- baseURL: string, do not include the protocol, e.g. "mydomain.tld/piwik"
- idSite: number
*/
"piwik-analytics": {
"enabled": false,
"baseURL": "some/url",
"idSite": 1
},
/*
Play a audio preview on click.
- autoplay: start playing as soon as ready
- types: array of strings
*/
"preview-aud": {
"enabled": true,
"autoplay": true,
"types": ["aud"]
},
/*
Show an image preview on click.
- types: array of strings
- size: number, sample size, or false for original size
*/
"preview-img": {
"enabled": true,
"size": false,
"types": ["img", "img-bmp", "img-gif", "img-ico", "img-jpg", "img-png", "img-raw", "img-svg"]
},
/*
Show text file preview on click.
Available styles are:
0: floating text
1: fixed width text
2: markdown
3: syntax highlighting
- styles: dict string to int, maps types to styles
*/
"preview-txt": {
"enabled": true,
"styles": {
"txt": 1,
"txt-authors": 1,
"txt-c": 3,
"txt-cpp": 3,
"txt-css": 3,
"txt-diff": 1,
"txt-go": 3,
"txt-h": 3,
"txt-hpp": 3,
"txt-install": 1,
"txt-js": 3,
"txt-json": 3,
"txt-less": 3,
"txt-license": 1,
"txt-log": 1,
"txt-makefile": 1,
"txt-md": 2,
"txt-py": 3,
"txt-rb": 3,
"txt-readme": 1,
"txt-rtf": 1,
"txt-rust": 3,
"txt-script": 3,
"txt-xml": 1
}
},
/*
Play a video preview on click.
- autoplay: start playing as soon as ready
- types: array of strings
*/
"preview-vid": {
"enabled": true,
"autoplay": true,
"types": ["vid-avi", "vid-flv", "vid-mkv", "vid-mov", "vid-mp4", "vid-mpg", "vid-webm"]
},
/*
Allow searching files and folders in and below current folder.
Checks for substrings.
If advanced is enabled it checks entries for right order of characters,
i.e. "ab" matches "ab", "axb", "xaxbx" but not "ba". Space separated
sequences get OR-ed. Searches will be treated as JavaScript regular
expressions if you prefix them with "re:".
- advanced: boolean, use advanced pattern parsing
- debounceTime: number, debounce wait time in milliseconds
- ignorecase: boolean, ignore case
*/
"search": {
"enabled": false,
"advanced": true,
"debounceTime": 300,
"ignorecase": true
},
/*
Make entries selectable.
At the moment only needed for packaged download.
- clickndrag: boolean, allow first mouse button + drag selection
- checkboxes: boolean, show a checkbox on mouse over item
*/
"select": {
"enabled": true,
"clickndrag": true,
"checkboxes": true
},
/*
Default sort order.
"column" and "reverse" are locally stored.
- column: number, 0 for "Name", 1 for "Date", 2 for "Size"
- reverse: boolean, false for ascending, true for descending
- ignorecase: boolean, compare ignorecase
- natural: boolean, use natural sort order
- folders: number, where to place folders, 0 for "top", 1 for "in place", 2 for "bottom"
*/
"sort": {
"enabled": true,
"column": 0,
"reverse": false,
"ignorecase": true,
"natural": true,
"folders": 0
},
/*
Show thumbnails for image files. Needs the "/_h5ai/public/cache" folder to be
writable for the web Server.
- img: array of strings
- mov: array of strings
- doc: array of strings
- delay: number, delay in milliseconds after "dom-ready" before thumb-requesting starts
- size: number, size in pixel of the generated thumbnails
- exif: boolean, use included EXIF thumbs if possible
- chunksize: int, number of thumbs per request
*/
"thumbnails": {
"enabled": true,
"img": ["img-bmp", "img-gif", "img-ico", "img-jpg", "img-png"],
"mov": ["vid-avi", "vid-flv", "vid-mkv", "vid-mov", "vid-mp4", "vid-mpg", "vid-webm"],
"doc": ["x-pdf", "x-ps"],
"delay": 1,
"size": 240,
"exif": false,
"chunksize": 20
},
/*
Replace window title with current breadcrumb.
*/
"title": {
"enabled": true
},
/*
Show a folder tree.
Note that this might affect performance significantly.
- show: boolean, initial visible to first time users
- maxSubfolders: number, max number of subfolders to show in tree
- naturalSort: boolean, use natural sort order for folders
- ignorecase: boolean, sort ignorecase
*/
"tree": {
"enabled": true,
"show": true,
"maxSubfolders": 50,
"naturalSort": true,
"ignorecase": true
}
}

View File

@@ -0,0 +1,75 @@
{
"ar": ["*.tar.bz2", "*.crx"],
"ar-apk": ["*.apk"],
"ar-deb": ["*.deb"],
"ar-gz": ["*.gz", "*.tar.gz", "*.tgz"],
"ar-rar": ["*.rar"],
"ar-rpm": ["*.rpm"],
"ar-tar": ["*.tar"],
"ar-zip": ["*.7z", "*.bz2", "*.jar", "*.lzma", "*.war", "*.z", "*.Z", "*.zip"],
"aud": ["*.aif", "*.aiff", "*.flac", "*.m4a", "*.mid", "*.mp3", "*.mpa", "*.ra", "*.ogg", "*.wav", "*.wma"],
"aud-pls": ["*.m3u", "*.m3u8", "*.pls"],
"bin": ["*.class", "*.o", "*.so"],
"bin-exe": ["*.bat", "*.cmd", "*.exe"],
"img": ["*.xpm"],
"img-bmp": ["*.bmp"],
"img-gif": ["*.gif"],
"img-ico": ["*.ico"],
"img-jpg": ["*.jpg", "*.jpeg"],
"img-png": ["*.png"],
"img-raw": ["*.cr2", "*.nef"],
"img-svg": ["*.svg"],
"img-tiff": ["*.tiff"],
"txt": ["*.text", "*.txt"],
"txt-build": ["*.pom", "build.xml", "pom.xml"],
"txt-c": ["*.c"],
"txt-cpp": ["*.cpp"],
"txt-css": ["*.css"],
"txt-diff": ["*.diff", "*.patch"],
"txt-go": ["*.go"],
"txt-h": ["*.h"],
"txt-html": ["*.htm", "*.html", "*.shtml", "*.xhtml"],
"txt-hpp": ["*.hpp"],
"txt-java": ["*.java"],
"txt-scala": ["*.scala"],
"txt-js": ["*.js"],
"txt-json": ["*.json"],
"txt-less": ["*.less"],
"txt-log": ["*.log", "changelog*"],
"txt-md": ["*.markdown", "*.md"],
"txt-php": ["*.php"],
"txt-py": ["*.py"],
"txt-rb": ["*.rb"],
"txt-rss": ["*.rss"],
"txt-rtf": ["*.rtf"],
"txt-rust": ["*.rs", "*.rlib"],
"txt-script": ["*.conf", "*.bsh", "*.csh", "*.ini", "*.ksh", "*.sh", "*.shar", "*.tcl", "*.zsh"],
"txt-source": [],
"txt-tex": ["*.tex"],
"txt-vcal": ["*.vcal"],
"txt-xml": ["*.xml"],
"vid": [],
"vid-avi": ["*.avi"],
"vid-flv": ["*.flv"],
"vid-mkv": ["*.mkv"],
"vid-mov": ["*.mov"],
"vid-mp4": ["*.mp4", "*.m4v"],
"vid-mpg": ["*.mpg"],
"vid-rm": ["*.rm"],
"vid-swf": ["*.swf"],
"vid-ts": ["*.ts"],
"vid-vob": ["*.vob"],
"vid-webm": ["*.webm"],
"vid-wmv": ["*.wmv"],
"x": [],
"x-bak": ["*.bak", "*~"],
"x-calc": ["*.ods", "*.ots", "*.xlr", "*.xls", "*.xlsx"],
"x-disc": ["*.cue", "*.iso"],
"x-doc": ["*.doc", "*.docx", "*.odm", "*.odt", "*.ott"],
"x-draw": ["*.drw"],
"x-eps": ["*.eps"],
"x-pdf": ["*.pdf"],
"x-pres": ["*.odp", "*.otp", "*.pps", "*.ppt", "*.pptx"],
"x-ps": ["*.ps"],
"x-psd": ["*.psd"]
}

View File

@@ -0,0 +1,45 @@
<?php
class Bootstrap {
private static $autopaths = ['core', 'ext'];
public static function run() {
spl_autoload_register(['Bootstrap', 'autoload']);
putenv('LANG=en_US.UTF-8');
setlocale(LC_CTYPE, 'en_US.UTF-8');
date_default_timezone_set(@date_default_timezone_get());
session_start();
$session = new Session($_SESSION);
$request = new Request($_REQUEST, file_get_contents('php://input'));
$setup = new Setup($request->query_boolean('refresh', false));
$context = new Context($session, $request, $setup);
if ($context->is_api_request()) {
(new Api($context))->apply();
} elseif ($context->is_info_request()) {
$public_href = $setup->get('PUBLIC_HREF');
$x_head_tags = $context->get_x_head_html();
$fallback_mode = false;
require __DIR__ . '/pages/info.php';
} else {
$public_href = $setup->get('PUBLIC_HREF');
$x_head_tags = $context->get_x_head_html();
$fallback_mode = $context->is_fallback_mode();
$fallback_html = (new Fallback($context))->get_html();
require __DIR__ . '/pages/index.php';
}
}
public static function autoload($class_name) {
$filename = 'class-' . strtolower($class_name) . '.php';
foreach (Bootstrap::$autopaths as $path) {
$file = __DIR__ . '/' . $path . '/' . $filename;
if (file_exists($file)) {
require_once $file;
return true;
}
}
}
}

View File

@@ -0,0 +1,110 @@
<?php
class Api {
private $context;
private $request;
private $setup;
public function __construct($context) {
$this->context = $context;
$this->request = $context->get_request();
$this->setup = $context->get_setup();
}
public function apply() {
$action = $this->request->query('action');
$supported = ['download', 'get', 'login', 'logout'];
Util::json_fail(Util::ERR_UNSUPPORTED, 'unsupported action', !in_array($action, $supported));
$methodname = 'on_' . $action;
$this->$methodname();
}
private function on_download() {
Util::json_fail(Util::ERR_DISABLED, 'download disabled', !$this->context->query_option('download.enabled', false));
$as = $this->request->query('as');
$type = $this->request->query('type');
$base_href = $this->request->query('baseHref');
$hrefs = $this->request->query('hrefs', '');
$archive = new Archive($this->context);
set_time_limit(0);
session_write_close();
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $as . '"');
header('Connection: close');
$ok = $archive->output($type, $base_href, $hrefs);
Util::json_fail(Util::ERR_FAILED, 'packaging failed', !$ok);
exit;
}
private function on_get() {
$response = [];
foreach (['langs', 'options', 'types'] as $name) {
if ($this->request->query_boolean($name, false)) {
$methodname = 'get_' . $name;
$response[$name] = $this->context->$methodname();
}
}
if ($this->request->query_boolean('setup', false)) {
$response['setup'] = $this->setup->to_jsono($this->context->is_admin());
}
if ($this->request->query_boolean('theme', false)) {
$theme = new Theme($this->context);
$response['theme'] = $theme->get_icons();
}
if ($this->request->query('items', false)) {
$href = $this->request->query('items.href');
$what = $this->request->query_numeric('items.what');
$response['items'] = $this->context->get_items($href, $what);
}
if ($this->request->query('custom', false)) {
Util::json_fail(Util::ERR_DISABLED, 'custom disabled', !$this->context->query_option('custom.enabled', false));
$href = $this->request->query('custom');
$custom = new Custom($this->context);
$response['custom'] = $custom->get_customizations($href);
}
if ($this->request->query('l10n', false)) {
Util::json_fail(Util::ERR_DISABLED, 'l10n disabled', !$this->context->query_option('l10n.enabled', false));
$iso_codes = $this->request->query_array('l10n');
$iso_codes = array_filter($iso_codes);
$response['l10n'] = $this->context->get_l10n($iso_codes);
}
if ($this->request->query('search', false)) {
Util::json_fail(Util::ERR_DISABLED, 'search disabled', !$this->context->query_option('search.enabled', false));
$href = $this->request->query('search.href');
$pattern = $this->request->query('search.pattern');
$ignorecase = $this->request->query_boolean('search.ignorecase', false);
$search = new Search($this->context);
$response['search'] = $search->get_items($href, $pattern, $ignorecase);
}
if ($this->request->query('thumbs', false)) {
Util::json_fail(Util::ERR_DISABLED, 'thumbnails disabled', !$this->context->query_option('thumbnails.enabled', false));
Util::json_fail(Util::ERR_UNSUPPORTED, 'thumbnails not supported', !$this->setup->get('HAS_PHP_JPEG'));
$thumbs = $this->request->query_array('thumbs');
$response['thumbs'] = $this->context->get_thumbs($thumbs);
}
Util::json_exit($response);
}
private function on_login() {
$pass = $this->request->query('pass');
Util::json_exit(['asAdmin' => $this->context->login_admin($pass)]);
}
private function on_logout() {
Util::json_exit(['asAdmin' => $this->context->logout_admin()]);
}
}

View File

@@ -0,0 +1,304 @@
<?php
class Context {
private static $DEFAULT_PASSHASH = 'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e';
private static $AS_ADMIN_SESSION_KEY = 'AS_ADMIN';
private static $L10N_ISO_CODES = array(
'af', 'bg', 'cs', 'da', 'de', 'el', 'en', 'es', 'et', 'fi', 'fr', 'he',
'hi', 'hr', 'hu', 'id', 'it', 'ja','ko', 'lv', 'nb', 'nl', 'pl',
'pt-br', 'pt-pt', 'ro', 'ru', 'sk', 'sl', 'sr', 'sv', 'tr', 'uk',
'zh-cn', 'zh-tw'
);
private $session;
private $request;
private $setup;
private $options;
private $passhash;
public function __construct($session, $request, $setup) {
$this->session = $session;
$this->request = $request;
$this->setup = $setup;
$this->options = Json::load($this->setup->get('CONF_PATH') . '/options.json');
$this->passhash = $this->query_option('passhash', '');
$this->options['hasCustomPasshash'] = strcasecmp($this->passhash, Context::$DEFAULT_PASSHASH) !== 0;
unset($this->options['passhash']);
}
public function get_session() {
return $this->session;
}
public function get_request() {
return $this->request;
}
public function get_setup() {
return $this->setup;
}
public function get_options() {
return $this->options;
}
public function query_option($keypath = '', $default = null) {
return Util::array_query($this->options, $keypath, $default);
}
public function get_types() {
return Json::load($this->setup->get('CONF_PATH') . '/types.json');
}
public function login_admin($pass) {
$this->session->set(Context::$AS_ADMIN_SESSION_KEY, strcasecmp(hash('sha512', $pass), $this->passhash) === 0);
return $this->session->get(Context::$AS_ADMIN_SESSION_KEY);
}
public function logout_admin() {
$this->session->set(Context::$AS_ADMIN_SESSION_KEY, false);
return $this->session->get(Context::$AS_ADMIN_SESSION_KEY);
}
public function is_admin() {
return $this->session->get(Context::$AS_ADMIN_SESSION_KEY);
}
public function is_api_request() {
return strtolower($this->setup->get('REQUEST_METHOD')) === 'post';
}
public function is_info_request() {
return Util::starts_with($this->setup->get('REQUEST_HREF') . '/', $this->setup->get('PUBLIC_HREF'));
}
public function is_text_browser() {
return preg_match('/curl|links|lynx|w3m/i', $this->setup->get('HTTP_USER_AGENT')) === 1;
}
public function is_fallback_mode() {
return $this->query_option('view.fallbackMode', false) || $this->is_text_browser();
}
public function to_href($path, $trailing_slash = true) {
$rel_path = substr($path, strlen($this->setup->get('ROOT_PATH')));
$parts = explode('/', $rel_path);
$encoded_parts = [];
foreach ($parts as $part) {
if ($part != '') {
$encoded_parts[] = rawurlencode($part);
}
}
return Util::normalize_path($this->setup->get('ROOT_HREF') . implode('/', $encoded_parts), $trailing_slash);
}
public function to_path($href) {
$rel_href = substr($href, strlen($this->setup->get('ROOT_HREF')));
return Util::normalize_path($this->setup->get('ROOT_PATH') . '/' . rawurldecode($rel_href));
}
public function is_hidden($name) {
// always hide
if ($name === '.' || $name === '..') {
return true;
}
foreach ($this->query_option('view.hidden', []) as $re) {
$re = Util::wrap_pattern($re);
if (preg_match($re, $name)) {
return true;
}
}
return false;
}
public function read_dir($path) {
$names = [];
if (is_dir($path)) {
foreach (scandir($path) as $name) {
if (
$this->is_hidden($name)
|| $this->is_hidden($this->to_href($path) . $name)
|| (!is_readable($path . '/' . $name) && $this->query_option('view.hideIf403', false))
) {
continue;
}
$names[] = $name;
}
}
return $names;
}
public function is_managed_href($href) {
return $this->is_managed_path($this->to_path($href));
}
public function is_managed_path($path) {
if (!is_dir($path) || strpos($path, '../') !== false || strpos($path, '/..') !== false || $path === '..') {
return false;
}
if (strpos($path, $this->setup->get('PUBLIC_PATH')) === 0) {
return false;
}
if (strpos($path, $this->setup->get('PRIVATE_PATH')) === 0) {
return false;
}
foreach ($this->query_option('view.unmanaged', []) as $name) {
if (file_exists($path . '/' . $name)) {
return false;
}
}
while ($path !== $this->setup->get('ROOT_PATH')) {
if (@is_dir($path . '/_h5ai/private/conf')) {
return false;
}
$parent_path = Util::normalize_path(dirname($path));
if ($parent_path === $path) {
return false;
}
$path = $parent_path;
}
return true;
}
public function get_current_path() {
$current_href = Util::normalize_path($this->setup->get('REQUEST_HREF'), true);
$current_path = $this->to_path($current_href);
if (!is_dir($current_path)) {
$current_path = Util::normalize_path(dirname($current_path), false);
}
return $current_path;
}
public function get_items($href, $what) {
if (!$this->is_managed_href($href)) {
return [];
}
$cache = [];
$folder = Item::get($this, $this->to_path($href), $cache);
// add content of subfolders
if ($what >= 2 && $folder !== null) {
foreach ($folder->get_content($cache) as $item) {
$item->get_content($cache);
}
$folder = $folder->get_parent($cache);
}
// add content of this folder and all parent folders
while ($what >= 1 && $folder !== null) {
$folder->get_content($cache);
$folder = $folder->get_parent($cache);
}
uasort($cache, ['Item', 'cmp']);
$result = [];
foreach ($cache as $p => $item) {
$result[] = $item->to_json_object();
}
return $result;
}
public function get_langs() {
$langs = [];
$l10n_path = $this->setup->get('CONF_PATH') . '/l10n';
if (is_dir($l10n_path)) {
if ($dir = opendir($l10n_path)) {
while (($file = readdir($dir)) !== false) {
if (Util::ends_with($file, '.json')) {
$translations = Json::load($l10n_path . '/' . $file);
$langs[basename($file, '.json')] = $translations['lang'];
}
}
closedir($dir);
}
}
ksort($langs);
return $langs;
}
public function get_l10n($iso_codes) {
$results = [];
foreach ($iso_codes as $iso_code) {
if (!in_array($iso_code, Context::$L10N_ISO_CODES)) {
continue;
}
$file = $this->setup->get('CONF_PATH') . '/l10n/' . $iso_code . '.json';
$results[$iso_code] = Json::load($file);
$results[$iso_code]['isoCode'] = $iso_code;
}
return $results;
}
public function get_thumbs($requests) {
$hrefs = [];
foreach ($requests as $req) {
$thumb = new Thumb($this);
$hrefs[] = $thumb->thumb($req['type'], $req['href'], $req['width'], $req['height']);
}
return $hrefs;
}
private function prefix_x_head_href($href) {
if (preg_match('@^(https?://|/)@i', $href)) {
return $href;
}
return $this->setup->get('PUBLIC_HREF') . 'ext/' . $href;
}
private function get_fonts_html() {
$fonts = $this->query_option('view.fonts', []);
$fonts_mono = $this->query_option('view.fontsMono', []);
$html = '<style class="x-head">';
if (sizeof($fonts) > 0) {
$html .= '#root,input,select{font-family:"' . implode('","', $fonts) . '"!important}';
}
if (sizeof($fonts_mono) > 0) {
$html .= 'pre,code{font-family:"' . implode('","', $fonts_mono) . '"!important}';
}
$html .= '</style>';
return $html;
}
public function get_x_head_html() {
$scripts = $this->query_option('resources.scripts', []);
$styles = $this->query_option('resources.styles', []);
$html = '';
foreach ($styles as $href) {
$html .= '<link rel="stylesheet" href="' . $this->prefix_x_head_href($href) . '" class="x-head">';
}
foreach ($scripts as $href) {
$html .= '<script src="' . $this->prefix_x_head_href($href) . '" class="x-head"></script>';
}
$html .= $this->get_fonts_html();
return $html;
}
}

View File

@@ -0,0 +1,54 @@
<?php
class Fallback {
private $context;
public function __construct($context) {
$this->context = $context;
}
public function get_html($path = null) {
if (!$path) {
$path = $this->context->get_current_path();
}
$fallback_images_href = $this->context->get_setup()->get('PUBLIC_HREF') . 'images/fallback/';
$cache = [];
$folder = Item::get($this->context, $path, $cache);
$items = $folder->get_content($cache);
uasort($items, ['Item', 'cmp']);
$html = '<table>';
$html .= '<tr>';
$html .= '<th class="fb-i"></th>';
$html .= '<th class="fb-n"><span>Name</span></th>';
$html .= '<th class="fb-d"><span>Last modified</span></th>';
$html .= '<th class="fb-s"><span>Size</span></th>';
$html .= '</tr>';
if ($folder->get_parent($cache)) {
$html .= '<tr>';
$html .= '<td class="fb-i"><img src="' . $fallback_images_href . 'folder-parent.png" alt="folder-parent"/></td>';
$html .= '<td class="fb-n"><a href="..">Parent Directory</a></td>';
$html .= '<td class="fb-d"></td>';
$html .= '<td class="fb-s"></td>';
$html .= '</tr>';
}
foreach ($items as $item) {
$type = $item->is_folder ? 'folder' : 'file';
$html .= '<tr>';
$html .= '<td class="fb-i"><img src="' . $fallback_images_href . $type . '.png" alt="' . $type . '"/></td>';
$html .= '<td class="fb-n"><a href="' . $item->href . '">' . basename($item->path) . '</a></td>';
$html .= '<td class="fb-d">' . date('Y-m-d H:i', $item->date) . '</td>';
$html .= '<td class="fb-s">' . ($item->size !== null ? intval($item->size / 1000) . ' KB' : '' ) . '</td>';
$html .= '</tr>';
}
$html .= '</table>';
return $html;
}
}

View File

@@ -0,0 +1,96 @@
<?php
class Filesize {
private static $cache = [];
public static function getSize($path, $withFoldersize, $withDu) {
$fs = new Filesize();
return $fs->size($path, $withFoldersize, $withDu);
}
public static function getCachedSize($path, $withFoldersize, $withDu) {
if (array_key_exists($path, Filesize::$cache)) {
return Filesize::$cache[$path];
}
$size = Filesize::getSize($path, $withFoldersize, $withDu);
Filesize::$cache[$path] = $size;
return $size;
}
private function __construct() {}
private function read_dir($path) {
$paths = [];
if (is_dir($path)) {
foreach (scandir($path) as $name) {
if ($name !== '.' && $name !== '..') {
$paths[] = $path . '/' . $name;
}
}
}
return $paths;
}
private function php_filesize($path, $recursive = false) {
// if (PHP_INT_SIZE < 8) {
// }
$size = @filesize($path);
if (!is_dir($path) || !$recursive) {
return $size;
}
foreach ($this->read_dir($path) as $p) {
$size += $this->php_filesize($p, true);
}
return $size;
}
private function exec($cmdv) {
$cmd = implode(' ', array_map('escapeshellarg', $cmdv));
$lines = [];
$rc = null;
exec($cmd, $lines, $rc);
return $lines;
}
private function exec_du_all($paths) {
$cmdv = array_merge(['du', '-sbL'], $paths);
$lines = $this->exec($cmdv);
$sizes = [];
foreach ($lines as $line) {
$parts = preg_split('/[\s]+/', $line, 2);
$size = intval($parts[0], 10);
$path = $parts[1];
$sizes[$path] = $size;
}
return $sizes;
}
private function exec_du($path) {
$sizes = $this->exec_du_all([$path]);
return $sizes[$path];
}
private function size($path, $withFoldersize = false, $withDu = false) {
if (is_file($path)) {
return $this->php_filesize($path);
}
if (is_dir($path) && $withFoldersize) {
if ($withDu) {
return $this->exec_du($path);
}
return $this->php_filesize($path, true);
}
return null;
}
}

View File

@@ -0,0 +1,91 @@
<?php
class Item {
public static function cmp($item1, $item2) {
if ($item1->is_folder && !$item2->is_folder) {
return -1;
}
if (!$item1->is_folder && $item2->is_folder) {
return 1;
}
return strcasecmp($item1->path, $item2->path);
}
public static function get($context, $path, &$cache) {
if (!Util::starts_with($path, $context->get_setup()->get('ROOT_PATH'))) {
return null;
}
if (is_array($cache) && array_key_exists($path, $cache)) {
return $cache[$path];
}
$item = new Item($context, $path);
if (is_array($cache)) {
$cache[$path] = $item;
}
return $item;
}
public $context;
public $path;
public $href;
public $date;
public $size;
public $is_folder;
public $is_content_fetched;
private function __construct($context, $path) {
$this->context = $context;
$this->path = Util::normalize_path($path, false);
$this->is_folder = is_dir($this->path);
$this->href = $context->to_href($this->path, $this->is_folder);
$this->date = @filemtime($this->path);
$this->size = Util::filesize($context, $this->path);
$this->is_content_fetched = false;
}
public function to_json_object() {
$obj = [
'href' => $this->href,
'time' => $this->date * 1000, // seconds (PHP) to milliseconds (JavaScript)
'size' => $this->size
];
if ($this->is_folder) {
$obj['managed'] = $this->context->is_managed_href($this->href);
$obj['fetched'] = $this->is_content_fetched;
}
return $obj;
}
public function get_parent(&$cache) {
$parent_path = Util::normalize_path(dirname($this->path), false);
if ($parent_path !== $this->path && Util::starts_with($parent_path, $this->context->get_setup()->get('ROOT_PATH'))) {
return Item::get($this->context, $parent_path, $cache);
}
return null;
}
public function get_content(&$cache) {
$items = [];
if (!$this->context->is_managed_href($this->href)) {
return $items;
}
$files = $this->context->read_dir($this->path);
foreach ($files as $file) {
$item = Item::get($this->context, $this->path . '/' . $file, $cache);
$items[$item->path] = $item;
}
$this->is_content_fetched = true;
return $items;
}
}

View File

@@ -0,0 +1,65 @@
<?php
class Json {
const SINGLE = 1;
const MULTI = 2;
public static function load($path) {
if (!is_readable($path)) {
return [];
}
$json = file_get_contents($path);
return Json::decode($json);
}
public static function save($path, $obj) {
$json = json_encode($obj);
return file_put_contents($path, $json) !== false;
}
private static function decode($json) {
$json = Json::strip($json);
return json_decode($json, true);
}
private static function strip($commented_json) {
$insideString = false;
$insideComment = false;
$json = '';
for ($i = 0, $len = strlen($commented_json); $i < $len; $i += 1) {
$char = $commented_json[$i];
$charchar = $char . @$commented_json[$i + 1];
$prevChar = @$commented_json[$i - 1];
if (!$insideComment && $char === '"' && $prevChar !== "\\") {
$insideString = !$insideString;
}
if ($insideString) {
$json .= $char;
} elseif (!$insideComment && $charchar === '//') {
$insideComment = Json::SINGLE;
$i += 1;
} elseif (!$insideComment && $charchar === '/*') {
$insideComment = Json::MULTI;
$i += 1;
} elseif (!$insideComment) {
$json .= $char;
} elseif ($insideComment === Json::SINGLE && $charchar === "\r\n") {
$insideComment = false;
$json .= $charchar;
$i += 1;
} elseif ($insideComment === Json::SINGLE && $char === "\n") {
$insideComment = false;
$json .= $char;
} elseif ($insideComment === Json::MULTI && $charchar === '*/') {
$insideComment = false;
$i += 1;
}
}
return $json;
}
}

View File

@@ -0,0 +1,28 @@
<?php
class Logger {
private static $start;
private static $prev;
private static function time() {
return microtime(true) * 1000; // sec * 1000 = ms
}
public static function init() {
self::$start = self::time();
self::$prev = self::$start;
register_shutdown_function(function () { Logger::log('shutdown'); });
Logger::log('--------------------------------');
}
public static function log($message=null, $obj=null) {
$now = self::time();
$message = number_format($now - self::$start, 3) . ' ' . number_format($now - self::$prev, 3) . ' ' . $message;
@error_log($message . ' ' . var_export($obj, true));
self::$prev = $now;
}
}
Logger::init();

View File

@@ -0,0 +1,38 @@
<?php
class Request {
private $params;
public function __construct($params, $body) {
$data = json_decode($body, true);
$this->params = $data !== null ? $data : $params;
}
public function query($keypath = '', $default = Util::NO_DEFAULT) {
$value = Util::array_query($this->params, $keypath, Util::NO_DEFAULT);
if ($value === Util::NO_DEFAULT) {
Util::json_fail(Util::ERR_MISSING_PARAM, 'parameter \'' . $keypath . '\' is missing', $default === Util::NO_DEFAULT);
return $default;
}
return $value;
}
public function query_boolean($keypath = '', $default = Util::NO_DEFAULT) {
$value = $this->query($keypath, $default);
return filter_var($value, FILTER_VALIDATE_BOOLEAN);
}
public function query_numeric($keypath = '', $default = Util::NO_DEFAULT) {
$value = $this->query($keypath, $default);
Util::json_fail(Util::ERR_ILLIGAL_PARAM, 'parameter \'' . $keypath . '\' is not numeric', !is_numeric($value));
return intval($value, 10);
}
public function query_array($keypath = '', $default = Util::NO_DEFAULT) {
$value = $this->query($keypath, $default);
Util::json_fail(Util::ERR_ILLIGAL_PARAM, 'parameter \'' . $keypath . '\' is no array', !is_array($value));
return $value;
}
}

View File

@@ -0,0 +1,20 @@
<?php
class Session {
private static $KEY_PREFIX = '__H5AI__';
private $store;
public function __construct(&$store) {
$this->store = &$store;
}
public function set($key, $value) {
$key = Session::$KEY_PREFIX . $key;
$this->store[$key] = $value;
}
public function get($key, $default = null) {
$key = Session::$KEY_PREFIX . $key;
return array_key_exists($key, $this->store) ? $this->store[$key] : $default;
}
}

View File

@@ -0,0 +1,188 @@
<?php
class Setup {
private $store;
private $refresh;
public function __construct($refresh = false) {
$this->store = [];
$this->refresh = $refresh;
$this->add_globals_and_envs();
$this->add_php_checks();
$this->add_app_metadata();
$this->add_server_metadata_and_check();
$this->add_paths();
$this->add_sys_cmd_checks();
}
private function set($key, $value) {
if (array_key_exists($key, $this->store)) {
Logger::log('setup key already taken', [
'key' => $key,
'value' => $value,
'found' => $this->store[$key]
]);
exit;
}
if (!is_string($value) && !is_bool($value)) {
Logger::log('setup value neither string nor boolean', [
'key' => $key,
'value' => $value
]);
exit;
}
$this->store[$key] = $value;
}
public function get($key) {
if (!array_key_exists($key, $this->store)) {
Logger::log('setup key not found', ['key' => $key]);
exit;
}
return $this->store[$key];
}
private function add_globals_and_envs() {
$this->set('PHP_VERSION', PHP_VERSION);
$this->set('MIN_PHP_VERSION', MIN_PHP_VERSION);
$this->set('PHP_ARCH', (PHP_INT_SIZE * 8) . '-bit');
$this->set('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']);
$this->set('REQUEST_HREF', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
$this->set('SCRIPT_NAME', $_SERVER['SCRIPT_NAME']);
$this->set('SERVER_SOFTWARE', $_SERVER['SERVER_SOFTWARE']);
$this->set('HTTP_USER_AGENT', $_SERVER['HTTP_USER_AGENT']);
}
private function add_php_checks() {
$this->set('HAS_PHP_EXIF', function_exists('exif_thumbnail'));
$has_php_jpeg = false;
if (function_exists('gd_info')) {
$infos = gd_info();
$has_php_jpeg = array_key_exists('JPEG Support', $infos) && $infos['JPEG Support'];
}
$this->set('HAS_PHP_JPEG', $has_php_jpeg);
}
private function add_app_metadata() {
$this->set('NAME', 'h5ai');
$this->set('VERSION', H5AI_VERSION);
$this->set('FILE_PREFIX', '_h5ai');
}
private function add_server_metadata_and_check() {
$server_software = $this->get('SERVER_SOFTWARE');
$server_name = null;
$server_version = null;
if ($server_software && preg_match('#^(.*?)(?:/(.*?))?(?: |$)#', strtolower($server_software), $matches)) {
$server_name = $matches[1];
$server_version = count($matches) > 2 ? $matches[2] : '';
}
$this->set('SERVER_NAME', $server_name);
$this->set('SERVER_VERSION', $server_version);
$this->set('HAS_SERVER', in_array($server_name, ['apache', 'lighttpd', 'nginx', 'cherokee']));
}
private function add_paths() {
$script_name = $this->get('SCRIPT_NAME');
if ($this->get('SERVER_NAME') === 'lighttpd') {
$script_name = preg_replace('#^.*?//#', '/', $script_name);
}
$this->set('H5AI_HREF', Util::normalize_path(dirname(dirname($script_name)), true));
$this->set('H5AI_PATH', Util::normalize_path(dirname(dirname(dirname(dirname(__FILE__)))), false));
$this->set('ROOT_HREF', Util::normalize_path(dirname($this->get('H5AI_HREF')), true));
$this->set('ROOT_PATH', Util::normalize_path(dirname($this->get('H5AI_PATH')), false));
$this->set('PUBLIC_HREF', Util::normalize_path($this->get('H5AI_HREF') . '/public/', true));
$this->set('PUBLIC_PATH', Util::normalize_path($this->get('H5AI_PATH') . '/public/', false));
$this->set('INDEX_HREF', Util::normalize_path($this->get('PUBLIC_HREF') . '/index.php', false));
$this->set('CACHE_PUB_HREF', Util::normalize_path($this->get('PUBLIC_HREF') . '/cache', true));
$this->set('CACHE_PUB_PATH', Util::normalize_path($this->get('PUBLIC_PATH') . '/cache', false));
$this->set('HAS_WRITABLE_CACHE_PUB', @is_writable($this->get('CACHE_PUB_PATH')));
$this->set('PRIVATE_PATH', Util::normalize_path($this->get('H5AI_PATH') . '/private', false));
$this->set('CONF_PATH', Util::normalize_path($this->get('PRIVATE_PATH') . '/conf', false));
$this->set('CACHE_PRV_PATH', Util::normalize_path($this->get('PRIVATE_PATH') . '/cache', false));
$this->set('HAS_WRITABLE_CACHE_PRV', @is_writable($this->get('CACHE_PRV_PATH')));
}
private function add_sys_cmd_checks() {
$cmds_cache_path = Util::normalize_path($this->get('CACHE_PRV_PATH') . '/cmds.json', false);
$cmds = Json::load($cmds_cache_path);
if (sizeof($cmds) === 0 || $this->refresh) {
$cmds['command'] = Util::exec_0('command -v command');
$cmds['which'] = Util::exec_0('which which') || Util::exec_0('which which.exe');
$cmds['where'] = Util::exec_0('where where.exe');
$cmd = false;
if ($cmds['command']) {
$cmd = 'command -v';
} elseif ($cmds['which']) {
$cmd = 'which';
} elseif ($cmds['where']) {
$cmd = 'where';
}
foreach (['avconv', 'convert', 'du', 'ffmpeg', 'gm', 'tar', 'zip'] as $c) {
$cmds[$c] = ($cmd !== false) && (Util::exec_0($cmd . ' ' . $c) || Util::exec_0($cmd . ' ' . $c . '.exe'));
}
Json::save($cmds_cache_path, $cmds);
}
foreach ($cmds as $c => $has) {
$this->set('HAS_CMD_' . strtoupper($c), $has);
}
}
public function to_jsono($as_admin = false) {
$keys = [
'PUBLIC_HREF',
'ROOT_HREF'
];
if ($as_admin) {
$keys = array_merge($keys, [
'VERSION',
'PHP_VERSION',
'MIN_PHP_VERSION',
'PHP_ARCH',
'HAS_PHP_EXIF',
'HAS_PHP_JPEG',
'SERVER_NAME',
'SERVER_VERSION',
'HAS_SERVER',
'INDEX_HREF',
'HAS_WRITABLE_CACHE_PUB',
'HAS_WRITABLE_CACHE_PRV',
'HAS_CMD_AVCONV',
'HAS_CMD_CONVERT',
'HAS_CMD_DU',
'HAS_CMD_FFMPEG',
'HAS_CMD_GM',
'HAS_CMD_TAR',
'HAS_CMD_ZIP'
]);
}
$jsono = ['AS_ADMIN' => $as_admin];
foreach ($keys as $key) {
$jsono[$key] = $this->get($key);
}
return $jsono;
}
}

View File

@@ -0,0 +1,32 @@
<?php
class Theme {
private static $EXTENSIONS = ['svg', 'png', 'jpg'];
private $context;
public function __construct($context) {
$this->context = $context;
}
public function get_icons() {
$public_path = $this->context->get_setup()->get('PUBLIC_PATH');
$theme = $this->context->query_option('view.theme', '-NONE-');
$theme_path = $public_path . '/images/themes/' . $theme;
$icons = [];
if (is_dir($theme_path)) {
if ($dir = opendir($theme_path)) {
while (($name = readdir($dir)) !== false) {
$path_parts = pathinfo($name);
if (in_array(@$path_parts['extension'], Theme::$EXTENSIONS)) {
$icons[$path_parts['filename']] = $theme . '/' . $name;
}
}
closedir($dir);
}
}
return $icons;
}
}

View File

@@ -0,0 +1,89 @@
<?php
class Util {
const ERR_MISSING_PARAM = 'ERR_MISSING_PARAM';
const ERR_ILLIGAL_PARAM = 'ERR_ILLIGAL_PARAM';
const ERR_FAILED = 'ERR_FAILED';
const ERR_DISABLED = 'ERR_DISABLED';
const ERR_UNSUPPORTED = 'ERR_UNSUPPORTED';
const NO_DEFAULT = 'NO_*@+#?!_DEFAULT';
const RE_DELIMITER = '@';
public static function normalize_path($path, $trailing_slash = false) {
$path = preg_replace('#[\\\\/]+#', '/', $path);
return preg_match('#^(\w:)?/$#', $path) ? $path : (rtrim($path, '/') . ($trailing_slash ? '/' : ''));
}
public static function json_exit($obj = []) {
header('Content-type: application/json;charset=utf-8');
echo json_encode($obj);
exit;
}
public static function json_fail($err, $msg = '', $cond = true) {
if ($cond) {
Util::json_exit(['err' => $err, 'msg' => $msg]);
}
}
public static function array_query($array, $keypath = '', $default = Util::NO_DEFAULT) {
$value = $array;
$keys = array_filter(explode('.', $keypath));
foreach ($keys as $key) {
if (!is_array($value) || !array_key_exists($key, $value)) {
return $default;
}
$value = $value[$key];
}
return $value;
}
public static function starts_with($sequence, $head) {
return substr($sequence, 0, strlen($head)) === $head;
}
public static function ends_with($sequence, $tail) {
$len = strlen($tail);
return $len === 0 ? true : substr($sequence, -$len) === $tail;
}
public static function wrap_pattern($pattern) {
return Util::RE_DELIMITER . str_replace(Util::RE_DELIMITER, '\\' . Util::RE_DELIMITER, $pattern) . Util::RE_DELIMITER;
}
public static function passthru_cmd($cmd) {
$rc = null;
passthru($cmd, $rc);
return $rc;
}
public static function exec_cmdv($cmdv) {
if (!is_array($cmdv)) {
$cmdv = func_get_args();
}
$cmd = implode(' ', array_map('escapeshellarg', $cmdv));
$lines = [];
$rc = null;
exec($cmd, $lines, $rc);
return implode("\n", $lines);
}
public static function exec_0($cmd) {
$lines = [];
$rc = null;
try {
@exec($cmd, $lines, $rc);
return $rc === 0;
} catch (Exception $e) {}
return false;
}
public static function filesize($context, $path) {
$withFoldersize = $context->query_option('foldersize.enabled', false);
$withDu = $context->get_setup()->get('HAS_CMD_DU') && $context->query_option('foldersize.type', null) === 'shell-du';
return Filesize::getCachedSize($path, $withFoldersize, $withDu);
}
}

View File

@@ -0,0 +1,188 @@
<?php
class Archive {
const NULL_BYTE = "\0";
private static $SEGMENT_SIZE = 16777216; // 1024 * 1024 * 16 = 16MiB
private static $TAR_PASSTHRU_CMD = 'cd [ROOTDIR] && tar --no-recursion -c -- [DIRS] [FILES]';
private static $ZIP_PASSTHRU_CMD = 'cd [ROOTDIR] && zip - -- [FILES]';
private $context;
private $base_path;
private $dirs;
private $files;
public function __construct($context) {
$this->context = $context;
}
public function output($type, $base_href, $hrefs) {
$this->base_path = $this->context->to_path($base_href);
if (!$this->context->is_managed_path($this->base_path)) {
return false;
}
$this->dirs = [];
$this->files = [];
$this->add_hrefs($hrefs);
if (count($this->dirs) === 0 && count($this->files) === 0) {
if ($type === 'php-tar') {
$this->add_dir($this->base_path, '/');
} else {
$this->add_dir($this->base_path, '.');
}
}
if ($type === 'php-tar') {
return $this->php_tar($this->dirs, $this->files);
} elseif ($type === 'shell-tar') {
return $this->shell_cmd(Archive::$TAR_PASSTHRU_CMD);
} elseif ($type === 'shell-zip') {
return $this->shell_cmd(Archive::$ZIP_PASSTHRU_CMD);
}
return false;
}
private function shell_cmd($cmd) {
$cmd = str_replace('[ROOTDIR]', escapeshellarg($this->base_path), $cmd);
$cmd = str_replace('[DIRS]', count($this->dirs) ? implode(' ', array_map('escapeshellarg', $this->dirs)) : '', $cmd);
$cmd = str_replace('[FILES]', count($this->files) ? implode(' ', array_map('escapeshellarg', $this->files)) : '', $cmd);
try {
Util::passthru_cmd($cmd);
} catch (Exeption $err) {
return false;
}
return true;
}
private function php_tar($dirs, $files) {
$filesizes = [];
$total_size = 512 * count($dirs);
foreach (array_keys($files) as $real_file) {
$size = filesize($real_file);
$filesizes[$real_file] = $size;
$total_size += 512 + $size;
if ($size % 512 != 0) {
$total_size += 512 - ($size % 512);
}
}
header('Content-Length: ' . $total_size);
foreach ($dirs as $real_dir => $archived_dir) {
echo $this->php_tar_header($archived_dir, 0, @filemtime($real_dir . DIRECTORY_SEPARATOR . '.'), 5);
}
foreach ($files as $real_file => $archived_file) {
$size = $filesizes[$real_file];
echo $this->php_tar_header($archived_file, $size, @filemtime($real_file), 0);
$this->print_file($real_file);
if ($size % 512 != 0) {
echo str_repeat(Archive::NULL_BYTE, 512 - ($size % 512));
}
}
return true;
}
private function php_tar_header($filename, $size, $mtime, $type) {
$name = substr(basename($filename), -99);
$prefix = substr(Util::normalize_path(dirname($filename)), -154);
if ($prefix === '.') {
$prefix = '';
}
$header =
str_pad($name, 100, Archive::NULL_BYTE) // filename [100]
. '0000755' . Archive::NULL_BYTE // file mode [8]
. '0000000' . Archive::NULL_BYTE // uid [8]
. '0000000' . Archive::NULL_BYTE // gid [8]
. str_pad(decoct($size), 11, '0', STR_PAD_LEFT) . Archive::NULL_BYTE // file size [12]
. str_pad(decoct($mtime), 11, '0', STR_PAD_LEFT) . Archive::NULL_BYTE // file modification time [12]
. ' ' // checksum [8]
. str_pad($type, 1) // file type [1]
. str_repeat(Archive::NULL_BYTE, 100) // linkname [100]
. 'ustar' . Archive::NULL_BYTE // magic [6]
. '00' // version [2]
. str_repeat(Archive::NULL_BYTE, 80) // uname, gname, defmajor, devminor [32 + 32 + 8 + 8]
. str_pad($prefix, 155, Archive::NULL_BYTE) // filename [155]
. str_repeat(Archive::NULL_BYTE, 12); // fill [12]
assert(strlen($header) === 512);
// checksum
$checksum = array_sum(array_map('ord', str_split($header)));
$checksum = str_pad(decoct($checksum), 6, '0', STR_PAD_LEFT) . Archive::NULL_BYTE . ' ';
$header = substr_replace($header, $checksum, 148, 8);
return $header;
}
private function print_file($file) {
// Send file content in segments to not hit PHP's memory limit (default: 128M)
if ($fd = fopen($file, 'rb')) {
while (!feof($fd)) {
print fread($fd, Archive::$SEGMENT_SIZE);
@ob_flush();
@flush();
}
fclose($fd);
}
}
private function add_hrefs($hrefs) {
if (!is_array($hrefs)) {
$hrefs = array($hrefs);
}
foreach ($hrefs as $href) {
if (trim($href) === '') {
continue;
}
$href = Util::normalize_path($href, false);
$d = dirname($href);
$n = basename($href);
if ($this->context->is_managed_href($d) && !$this->context->is_hidden($n)) {
$real_file = $this->context->to_path($href);
$archived_file = preg_replace('!^' . preg_quote(Util::normalize_path($this->base_path, true)) . '!', '', $real_file);
if (is_dir($real_file)) {
$this->add_dir($real_file, $archived_file);
} else {
$this->add_file($real_file, $archived_file);
}
}
}
}
private function add_file($real_file, $archived_file) {
if (is_readable($real_file)) {
$this->files[$real_file] = $archived_file;
}
}
private function add_dir($real_dir, $archived_dir) {
if ($this->context->is_managed_path($real_dir)) {
$this->dirs[$real_dir] = $archived_dir;
$files = $this->context->read_dir($real_dir);
foreach ($files as $file) {
$real_file = $real_dir . '/' . $file;
$archived_file = $archived_dir . '/' . $file;
if (is_dir($real_file)) {
$this->add_dir($real_file, $archived_file);
} else {
$this->add_file($real_file, $archived_file);
}
}
}
}
}

View File

@@ -0,0 +1,73 @@
<?php
class Custom {
private static $EXTENSIONS = ['html', 'md'];
private $context;
public function __construct($context) {
$this->context = $context;
}
private function read_custom_file($path, $name, &$content, &$type) {
$file_prefix = $this->context->get_setup()->get('FILE_PREFIX');
foreach (Custom::$EXTENSIONS as $ext) {
$file = $path . '/' . $file_prefix . '.' . $name . '.' . $ext;
if (is_readable($file)) {
$content = file_get_contents($file);
$type = $ext;
return;
}
}
}
public function get_customizations($href) {
if (!$this->context->query_option('custom.enabled', false)) {
return [
'header' => ['content' => null, 'type' => null],
'footer' => ['content' => null, 'type' => null]
];
}
$root_path = $this->context->get_setup()->get('FILE_PREFIX');
$path = $this->context->to_path($href);
$header = null;
$header_type = null;
$footer = null;
$footer_type = null;
$this->read_custom_file($path, 'header', $header, $header_type);
$this->read_custom_file($path, 'footer', $footer, $footer_type);
while ($header === null || $footer === null) {
if ($header === null) {
$this->read_custom_file($path, 'headers', $header, $header_type);
}
if ($footer === null) {
$this->read_custom_file($path, 'footers', $footer, $footer_type);
}
if ($path === $root_path) {
break;
}
$parent_path = Util::normalize_path(dirname($path));
if ($parent_path === $path) {
break;
}
// Stop once we reach the root
if (
$this->context->query_option('custom.stopSearchingAtRoot', true) &&
$path === $this->context->get_setup()->get('ROOT_PATH')
) {
break;
}
$path = $parent_path;
}
return [
'header' => ['content' => $header, 'type' => $header_type],
'footer' => ['content' => $footer, 'type' => $footer_type]
];
}
}

View File

@@ -0,0 +1,40 @@
<?php
class Search {
private $context;
public function __construct($context) {
$this->context = $context;
}
public function get_paths($root, $pattern = null, $ignorecase = false) {
$paths = [];
if ($pattern && $this->context->is_managed_path($root)) {
$re = Util::wrap_pattern($pattern);
if ($ignorecase) {
$re .= 'i';
}
$names = $this->context->read_dir($root);
foreach ($names as $name) {
$path = $root . '/' . $name;
if (preg_match($re, @basename($path))) {
$paths[] = $path;
}
if (@is_dir($path)) {
$paths = array_merge($paths, $this->get_paths($path, $pattern, $ignorecase));
}
}
}
return $paths;
}
public function get_items($href, $pattern = null, $ignorecase = false) {
$cache = [];
$root = $this->context->to_path($href);
$paths = $this->get_paths($root, $pattern, $ignorecase);
$items = array_map(function ($path) {
return Item::get($this->context, $path, $cache)->to_json_object();
}, $paths);
return $items;
}
}

View File

@@ -0,0 +1,253 @@
<?php
class Thumb {
private static $FFMPEG_CMDV = ['ffmpeg', '-ss', '0:00:10', '-i', '[SRC]', '-an', '-vframes', '1', '[DEST]'];
private static $AVCONV_CMDV = ['avconv', '-ss', '0:00:10', '-i', '[SRC]', '-an', '-vframes', '1', '[DEST]'];
private static $CONVERT_CMDV = ['convert', '-density', '200', '-quality', '100', '-strip', '[SRC][0]', '[DEST]'];
private static $GM_CONVERT_CMDV = ['gm', 'convert', '-density', '200', '-quality', '100', '[SRC][0]', '[DEST]'];
private static $THUMB_CACHE = 'thumbs';
private $context;
private $setup;
private $thumbs_path;
private $thumbs_href;
public function __construct($context) {
$this->context = $context;
$this->setup = $context->get_setup();
$this->thumbs_path = $this->setup->get('CACHE_PUB_PATH') . '/' . Thumb::$THUMB_CACHE;
$this->thumbs_href = $this->setup->get('CACHE_PUB_HREF') . Thumb::$THUMB_CACHE;
if (!is_dir($this->thumbs_path)) {
@mkdir($this->thumbs_path, 0755, true);
}
}
public function thumb($type, $source_href, $width, $height) {
$source_path = $this->context->to_path($source_href);
if (!file_exists($source_path) || Util::starts_with($source_path, $this->setup->get('CACHE_PUB_PATH'))) {
return null;
}
$capture_path = $source_path;
if ($type === 'img') {
$capture_path = $source_path;
} elseif ($type === 'mov') {
if ($this->setup->get('HAS_CMD_AVCONV')) {
$capture_path = $this->capture(Thumb::$AVCONV_CMDV, $source_path);
} elseif ($this->setup->get('HAS_CMD_FFMPEG')) {
$capture_path = $this->capture(Thumb::$FFMPEG_CMDV, $source_path);
}
} elseif ($type === 'doc') {
if ($this->setup->get('HAS_CMD_CONVERT')) {
$capture_path = $this->capture(Thumb::$CONVERT_CMDV, $source_path);
} elseif ($this->setup->get('HAS_CMD_GM')) {
$capture_path = $this->capture(Thumb::$GM_CONVERT_CMDV, $source_path);
}
}
return $this->thumb_href($capture_path, $width, $height);
}
private function thumb_href($source_path, $width, $height) {
if (!file_exists($source_path)) {
return null;
}
$name = 'thumb-' . sha1($source_path) . '-' . $width . 'x' . $height . '.jpg';
$thumb_path = $this->thumbs_path . '/' . $name;
$thumb_href = $this->thumbs_href . '/' . $name;
if (!file_exists($thumb_path) || filemtime($source_path) >= filemtime($thumb_path)) {
$image = new Image();
$et = false;
if ($this->setup->get('HAS_PHP_EXIF') && $this->context->query_option('thumbnails.exif', false) === true && $height != 0) {
$et = @exif_thumbnail($source_path);
}
if($et !== false) {
file_put_contents($thumb_path, $et);
$image->set_source($thumb_path);
$image->normalize_exif_orientation($source_path);
} else {
$image->set_source($source_path);
}
$image->thumb($width, $height);
$image->save_dest_jpeg($thumb_path, 80);
}
return file_exists($thumb_path) ? $thumb_href : null;
}
private function capture($cmdv, $source_path) {
if (!file_exists($source_path)) {
return null;
}
$capture_path = $this->thumbs_path . '/capture-' . sha1($source_path) . '.jpg';
if (!file_exists($capture_path) || filemtime($source_path) >= filemtime($capture_path)) {
foreach ($cmdv as &$arg) {
$arg = str_replace('[SRC]', $source_path, $arg);
$arg = str_replace('[DEST]', $capture_path, $arg);
}
Util::exec_cmdv($cmdv);
}
return file_exists($capture_path) ? $capture_path : null;
}
}
class Image {
private $source_file;
private $source;
private $width;
private $height;
private $type;
private $dest;
public function __construct($filename = null) {
$this->source_file = null;
$this->source = null;
$this->width = null;
$this->height = null;
$this->type = null;
$this->dest = null;
$this->set_source($filename);
}
public function __destruct() {
$this->release_source();
$this->release_dest();
}
public function set_source($filename) {
$this->release_source();
$this->release_dest();
if (is_null($filename)) {
return;
}
$this->source_file = $filename;
list($this->width, $this->height, $this->type) = @getimagesize($this->source_file);
if (!$this->width || !$this->height) {
$this->source_file = null;
$this->width = null;
$this->height = null;
$this->type = null;
return;
}
$this->source = imagecreatefromstring(file_get_contents($this->source_file));
}
public function save_dest_jpeg($filename, $quality = 80) {
if (!is_null($this->dest)) {
@imagejpeg($this->dest, $filename, $quality);
@chmod($filename, 0775);
}
}
public function release_dest() {
if (!is_null($this->dest)) {
@imagedestroy($this->dest);
$this->dest = null;
}
}
public function release_source() {
if (!is_null($this->source)) {
@imagedestroy($this->source);
$this->source_file = null;
$this->source = null;
$this->width = null;
$this->height = null;
$this->type = null;
}
}
public function thumb($width, $height) {
if (is_null($this->source)) {
return;
}
$src_r = 1.0 * $this->width / $this->height;
if ($height == 0) {
if ($src_r >= 1) {
$height = 1.0 * $width / $src_r;
} else {
$height = $width;
$width = 1.0 * $height * $src_r;
}
if ($width > $this->width) {
$width = $this->width;
$height = $this->height;
}
}
$ratio = 1.0 * $width / $height;
if ($src_r <= $ratio) {
$src_w = $this->width;
$src_h = $src_w / $ratio;
$src_x = 0;
} else {
$src_h = $this->height;
$src_w = $src_h * $ratio;
$src_x = 0.5 * ($this->width - $src_w);
}
$width = intval($width);
$height = intval($height);
$src_x = intval($src_x);
$src_w = intval($src_w);
$src_h = intval($src_h);
$this->dest = imagecreatetruecolor($width, $height);
$icol = imagecolorallocate($this->dest, 255, 255, 255);
imagefill($this->dest, 0, 0, $icol);
imagecopyresampled($this->dest, $this->source, 0, 0, $src_x, 0, $width, $height, $src_w, $src_h);
}
public function rotate($angle) {
if (is_null($this->source) || ($angle !== 90 && $angle !== 180 && $angle !== 270)) {
return;
}
$this->source = imagerotate($this->source, $angle, 0);
if ( $angle === 90 || $angle === 270 ) {
list($this->width, $this->height) = [$this->height, $this->width];
}
}
public function normalize_exif_orientation($exif_source_file = null) {
if (is_null($this->source) || !function_exists('exif_read_data')) {
return;
}
if ($exif_source_file === null) {
$exif_source_file = $this->source_file;
}
$exif = exif_read_data($exif_source_file);
switch (@$exif['Orientation']) {
case 3:
$this->rotate(180);
break;
case 6:
$this->rotate(270);
break;
case 8:
$this->rotate(90);
break;
}
}
}

View File

@@ -0,0 +1,8 @@
extends ./page.tpl.pug
block init
- var title = `index - powered by h5ai v${pkg.version} (${pkg.homepage})`
- var module = 'index'
block body
div#fallback <?= $fallback_html; ?>

View File

@@ -0,0 +1,10 @@
extends ./page.tpl.pug
block init
- var title = `h5ai info page - v${pkg.version}`
- var module = 'info'
block body
div#content
h1#header
a(href=pkg.homepage) h5ai

View File

@@ -0,0 +1,30 @@
block init
<?php header('Content-type: text/html;charset=utf-8'); ?>
doctype html
html(class='no-js', lang='en')
head
meta(charset='utf-8')
meta(http-equiv='x-ua-compatible', content='ie=edge')
title #{title}
meta(name='description', content=title)
meta(name='viewport', content='width=device-width, initial-scale=1')
link(rel='shortcut icon', href!='<?= $public_href; ?>images/favicon/favicon-16-32.ico')
link(rel='apple-touch-icon-precomposed', type='image/png', href!='<?= $public_href; ?>images/favicon/favicon-152.png')
link(rel='stylesheet', href!='<?= $public_href; ?>css/styles.css')
<?php if (!$fallback_mode) { ?>
script(src!='<?= $public_href; ?>js/scripts.js', data-module=module)
<?php } ?>
<?= $x_head_tags; ?>
body#root(class=module)
div#fallback-hints
<?php if (!$fallback_mode) { ?>
span.noJsMsg Works best with JavaScript enabled!
span.noBrowserMsg Works best in #[a(href='http://browsehappy.com') modern browsers]!
<?php } ?>
span.backlink #[a(href=pkg.homepage, title=`h5ai v${pkg.version} - ${pkg.description}`) powered by h5ai]
block body

View File

@@ -0,0 +1,13 @@
## make this folder accessible
# Apache < 2.3
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
Satisfy All
</IfModule>
# Apache ≥ 2.3
<IfModule mod_authz_core.c>
Require all granted
</IfModule>

9
src/_h5ai/public/cache/README.md vendored Normal file
View File

@@ -0,0 +1,9 @@
# Cache
Public cache.
This directory is used for server side caching. To use caching make this
directory writable for your webserver.
There is no critical data in here. You can savely remove any content. This
will clear the cache.

View File

@@ -0,0 +1,46 @@
@col-red-500: #f44336;
@col-green-500: #4caf50;
@col-blue-400: #42a5f5;
@col-pink-a200: #ff4081;
@col-white: #ffffff;
@col-grey-50: #fafafa;
@col-grey-100: #f5f5f5;
@col-grey-300: #e0e0e0;
@col-grey-700: #616161;
@col-grey-900: #212121;
@col-text-primary-black: rgba(0,0,0,0.87);
@col-text-secondary-black: rgba(0,0,0,0.54);
@col-text-disabled-black: rgba(0,0,0,0.26);
@col-divider-black: rgba(0,0,0,0.12);
@col-text-primary-white: rgba(255,255,255,1.0);
@col-text-secondary-white: rgba(255,255,255,0.7);
@col-text-disabled-white: rgba(255,255,255,0.3);
@col-divider-white: rgba(255,255,255,0.12);
@col-text-selected: @col-text-primary-white;
@col-back-selected: @col-blue-400;
@col-text-native-selection: @col-text-primary-white;
@col-back-native-selection: @col-pink-a200;
@col-text: @col-text-primary-black;
@col-back: @col-white;
@col-back-paper: @col-white;
@col-back-panel: @col-grey-50;
@col-text-hover: @col-blue-400;
@col-back-hover: rgba(0,0,0,0.03);
@col-border: rgba(0,0,0,0.05);
@col-border-strong: rgba(0,0,0,0.15);
@col-border-stronger: rgba(0,0,0,0.3);
@col-okay: @col-green-500;
@col-error: @col-red-500;
@col-link: @col-blue-400;
@col-link-hover: @col-grey-900;
@col-range-back: @col-grey-300;
@col-range-thumb: @col-grey-700;

View File

@@ -0,0 +1,72 @@
#cm-overlay {
position: fixed;
left: 0;
top: 0;
right: 0;
bottom: 0;
overflow: hidden;
z-index: 200;
.cm-panel {
.popup;
.rounded;
display: block;
position: absolute;
left: 100px;
top: 100px;
color: @col-text;
background: @col-back-paper;
z-index: 10;
overflow: auto;
min-width: 200px;
ul {
margin: 0;
padding: 0;
list-style: none;
text-align: left;
}
}
.cm-label {
padding: 8px 16px;
white-space: nowrap;
font-weight: bold;
}
.cm-entry {
padding: 8px 16px;
white-space: nowrap;
cursor: pointer;
&:hover {
color: @col-text-hover;
background: @col-back-hover;
}
}
.cm-icon {
position: relative;
top: -2px;
img {
width: 20px;
height: 20px;
}
&.no-icon {
opacity: 0;
}
}
.cm-text {
margin: 0 0 0 12px;
}
.cm-sep {
height: 1px;
margin: 8px 0;
padding: 0;
border-top: 1px solid rgba(0,0,0,0.08);
}
}

View File

@@ -0,0 +1,54 @@
#crumbbar {
overflow: hidden;
height: 48px;
font-size: 16px;
padding: 0 8px;
// border-left: 1px solid rgba(0,0,0,0.05);
a, a:active, a:visited {
color: @col-text;
cursor: pointer;
text-decoration: none;
&.active {
font-weight: bold;
}
&:hover {
color: @col-text-hover;
}
&:focus {
outline: 0;
}
}
.crumb {
.eased-transition;
display: inline-block;
}
.sep {
width: 24px;
height: 24px;
padding: 12px 0;
line-height: 48px;
display: inline-block;
vertical-align: top;
}
.crumb:first-of-type .sep {
width: 0;
}
.label {
line-height: 48px;
display: inline-block;
vertical-align: top;
padding: 0 8px;
}
.hint {
width: 20px;
height: 20px;
padding: 16px 0 0 0;
line-height: 48px;
display: inline-block;
vertical-align: top;
position: relative;
top: -2px;
}
}

View File

@@ -0,0 +1,19 @@
#content-header, #content-footer {
margin: 16px;
padding: 8px;
color: @col-text;
a, a:active, a:visited {
color: @col-link;
text-decoration: none;
cursor: pointer;
&:hover {
color: @col-link-hover;
}
}
h1, h2, h3, h4, h5, h6, p {
margin: 0.1em 0;
}
}

View File

@@ -0,0 +1,27 @@
#filter {
input {
display: none;
border: none;
font-size: 16px;
color: @col-text;
background: transparent;
outline: 0;
width: 160px;
padding: 0 12px 0 4px;
line-height: 48px;
vertical-align: top;
}
&.active {
input {
display: inline-block;
}
}
&.pending {
input {
color: @col-text-disabled-black;
}
}
}

View File

@@ -0,0 +1,54 @@
#info {
overflow: auto;
flex: 0 0 auto;
order: 99;
padding: 32px 32px 32px 48px;
white-space: nowrap;
overflow-x: hidden;
width: 240px;
.icon {
width: 240px;
height: 180px;
img {
.rounded;
display: block;
overflow: hidden;
margin: 0 auto;
width: 180px;
height: 180px;
}
.thumb {
width: 240px;
}
}
.block {
border-top: 1px solid @col-border;
border-bottom: 1px solid @col-border;
margin: 0 0 24px 0;
padding: 24px 0;
}
.label {
font-size: 16px;
margin-bottom: 16px;
}
.time, .size, .content {
line-height: 20px;
height: 20px;
}
.qrcode {
margin: 0 auto;
width: 200px;
img {
display: block;
}
}
}

View File

@@ -0,0 +1,8 @@
#pv-content-aud {
.raised;
position: absolute;
max-width: 100%;
max-height: 100%;
}

View File

@@ -0,0 +1,29 @@
#pv-content-img {
.raised;
@check-white: #f8f8f8;
@check-black: #e8e8e8;
position: absolute;
image-orientation: from-image;
max-width: 100%;
max-height: 100%;
background-color: @check-white;
background-image:
-webkit-linear-gradient(45deg, @check-black 25%, transparent 25%, transparent 75%, @check-black 75%, @check-black),
-webkit-linear-gradient(45deg, @check-black 25%, transparent 25%, transparent 75%, @check-black 75%, @check-black);
background-size: 60px 60px;
background-position: 0 0, 30px 30px;
&.loading {
opacity: 0.5;
margin-top: 32px;
width: 240px;
height: 240px;
border-radius: 1000px;
overflow: hidden;
}
}

View File

@@ -0,0 +1,36 @@
#pv-content-txt {
.raised;
box-sizing: border-box;
max-width: 960px;
text-align: left;
background: @col-back-paper;
margin: 0 auto;
padding: 8px;
overflow: auto;
a, a:active, a:visited {
color: #2080FF;
text-decoration: none;
cursor: pointer;
&:hover {
color: #68A9FF;
}
}
}
pre#pv-content-txt {
code {
line-height: 1.2em;
}
}
div#pv-content-txt {
font-size: 1.1em;
padding: 8px 24px;
code {
color: #008200;
}
}

View File

@@ -0,0 +1,13 @@
#pv-content-vid {
.raised;
position: absolute;
max-width: 100%;
max-height: 100%;
}
#pv-content-vid:-webkit-full-screen {
top: auto !important;
left: auto !important;
}

View File

@@ -0,0 +1,148 @@
#pv-overlay {
position: fixed;
left: 0;
top: 0;
right: 0;
bottom: 0;
z-index: 100;
background: rgba(0,0,0,0.5);
transition: background-color 0.3s ease-in-out;
text-align: center;
}
#pv-overlay.fullscreen {
background: @col-grey-900;
}
#pv-container {
position: absolute;
}
#pv-spinner {
position: absolute;
.back {
width: 240px;
height: 240px;
margin: -120px -120px;
border-radius: 120px;
opacity: 0.5;
overflow: hidden;
}
.spinner {
width: 100px;
height: 100px;
margin: -50px -50px;
}
}
#pv-prev-area, #pv-next-area {
position: absolute;
top: 50%;
cursor: pointer;
img {
.eased-transition;
display: block;
width: 48px;
height: 48px;
margin: -36px 0;
padding: 12px;
opacity: 0.5;
}
&:hover {
img {
.raised;
opacity: 1;
background: rgba(27,27,27,0.8);
}
}
}
#pv-prev-area {
left: 0;
img {
border-radius: 0 8px 8px 0;
padding-left: 48px;
}
}
#pv-next-area {
right: 0;
img {
border-radius: 8px 0 0 8px;
padding-right: 48px;
}
}
#pv-buttons {
list-style: none;
list-style-image: none;
margin: 0;
padding: 0;
img {
position: relative;
width: 24px;
height: 24px;
padding: 12px
}
.bar-label {
.eased-transition;
display: block;
color: @col-text-primary-white;
height: 48px;
line-height: 48px;
padding: 0 12px;
opacity: 0.7;
}
.bar-button {
.eased-transition;
display: block;
line-height: 48px;
opacity: 0.7;
cursor: pointer;
&:hover {
opacity: 1.0;
background: rgba(255,255,255,0.1);
}
}
.bar-left {
float: left;
}
.bar-right {
float: right;
}
}
#pv-bottombar {
.raised;
position: fixed;
z-index: 5;
left: 0;
right: 0;
bottom: 0;
background: rgb(27,27,27);
height: 48px;
}
#pv-overlay.fullscreen {
#pv-bottombar {
opacity: 0.5;
}
}
@media only screen and (max-width: 700px) {
#pv-prev-area, #pv-next-area {
display: none !important;
}
}

View File

@@ -0,0 +1,27 @@
#search {
input {
display: none;
border: none;
font-size: 16px;
color: @col-text;
background: transparent;
outline: 0;
width: 160px;
padding: 0 12px 0 4px;
line-height: 48px;
vertical-align: top;
}
&.active {
input {
display: inline-block;
}
}
&.pending {
input {
color: @col-text-disabled-black;
}
}
}

View File

@@ -0,0 +1,75 @@
#selection-rect {
position: absolute;
left: 0;
top: 0;
z-index: 2;
border: 1px dashed @col-border-strong;
background: rgba(0,0,0,0.1);
}
html.drag-select, html.drag-select * {
cursor: move !important;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
#view .item:hover {
box-shadow: none !important;
}
}
#view {
.selector {
display: none;
position: absolute;
left: 0;
top: 0;
width: 22px;
height: 22px;
background: @col-back-selected;
cursor: pointer;
border-radius: 0 0 2px 0;
opacity: 0.6;
&:hover {
opacity: 0.8;
}
img {
width: 100%;
height: 100%;
}
}
.item:hover .selector {
display: block;
}
.item.selected:not(.selecting),
.item.selecting:not(.selected) {
color: @col-text-selected;
background: @col-back-selected;
.selector {
display: block;
opacity: 1;
}
&:hover {
color: @col-text-selected;
background: @col-back-selected;
}
}
.no-match {
display: none;
margin-top: 36px;
text-align: center;
color: @col-border;
font-size: 5em;
font-weight: bold;
}
}

View File

@@ -0,0 +1,84 @@
#tree {
overflow: auto;
flex: 0 0 auto;
order: 1;
padding: 32px 32px 32px 16px;
white-space: nowrap;
max-width: 250px;
overflow-x: hidden;
a, a:active, a.visited {
display: block;
margin-left: 20px;
padding: 3px 0;
text-decoration: none;
color: @col-text;
&:hover {
color: @col-text-hover;
}
}
.active > a {
font-weight: bold;
}
.indicator {
display: block;
float: left;
padding: 3px 0;
position: relative;
top: -2px;
cursor: pointer;
img {
// .eased-transition;
width: 20px;
height: 20px;
zoom: 1;
}
}
.item {
clear: left;
&.open > .indicator img {
transform: rotate(90deg);
}
&.unknown > .indicator {
opacity: 0.3;
}
&.none > .indicator {
opacity: 0;
cursor: inherit;
}
&.unknown > .content, &.none > .content, &.closed > .content {
display: none;
}
}
.icon {
position: relative;
top: -2px;
img {
width: 20px;
height: 20px;
}
}
.label {
margin: 0 0 0 4px;
}
.content {
margin: 0;
padding: 0 0 0 20px;
}
.summary {
color: @col-text-disabled-black;
padding: 0 0 0 8px;
}
}

View File

@@ -0,0 +1,5 @@
@font-family: "Ubuntu", "Roboto", "Helvetica", "Arial", "sans-serif";
@font-weight: normal;
@font-size: 13px;
@font-family-mono: "Ubuntu Mono", "Monaco", "Lucida Sans Typewriter", "monospace";
@font-size-mono: 15px;

View File

@@ -0,0 +1,108 @@
#root.info {
#content {
flex: 1 1 auto;
order: 50;
color: @col-text;
text-align: center;
}
code {
margin: 0 0.2em;
padding: 2px 4px;
border-radius: 4px;
letter-spacing: 0.05em;
background: @col-back-panel;
border: 1px solid @col-border;
font-size: 0.9em;
}
#header a {
.eased-transition;
font-size: 4em;
font-weight: 300;
margin: 0.8em 0 0 0;
color: @col-text;
text-decoration: none;
&:hover {
color: @col-text-hover;
}
}
#support {
margin: 24px auto;
padding: 18px 0 6px 0;
width: 292px;
background: @col-back-panel;
border: 1px solid @col-border;
border-radius: 4px;
input[type="image"] {
border: 0;
width: 100px;
padding: 12px 48px;
}
}
#pass {
.el-input;
display: inline-block;
margin: 8px;
padding: 0 12px;
line-height: 28px;
width: 200px;
vertical-align: top;
}
#login, #logout {
.el-button;
display: inline-block;
margin: 8px;
padding: 0 12px;
line-height: 28px;
vertical-align: top;
}
#hint {
margin: 12px auto;
width: 320px;
}
#tests {
display: inline-block;
text-align: left;
list-style-type: none;
margin: 48px 0;
padding: 0;
.test {
background: @col-back-paper;
margin: 12px 0 0 0;
padding: 8px 12px 12px 12px;
border-bottom: 1px solid @col-border;
}
.label {
display: inline-block;
width: 250px;
font-size: 1.4em;
}
.result {
display: inline-block;
width: 250px;
text-align: right;
font-size: 1.4em;
font-weight: bold;
&.passed {
color: @col-okay;
}
&.failed {
color: @col-error;
}
}
.info {
margin: 4px 0 0 0;
}
}
}

View File

@@ -0,0 +1,29 @@
::-moz-selection {
color: @col-text-native-selection;
background: @col-back-native-selection;
text-shadow: none;
}
::selection {
color: @col-text-native-selection;
background: @col-back-native-selection;
text-shadow: none;
}
*:focus {
outline: none;
}
code, pre {
font-family: @font-family-mono;
font-size: @font-size-mono;
font-weight: @font-weight;
color: @col-text;
}
audio, canvas, iframe, img, svg, video {
vertical-align: middle;
}
textarea {
resize: vertical;
}

View File

@@ -0,0 +1,79 @@
.hidden {
display: none !important;
}
.invisible {
visibility: hidden;
}
.clearfix:before,
.clearfix:after {
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
.raised {
box-shadow: 0 1px 10px 0 rgba(0,0,0,0.5);
}
.popup {
box-shadow: 0 1px 20px 0 rgba(0,0,0,0.5);
}
.rounded {
border-radius: 2px;
}
.clear-appearance {
-moz-appearance: none;
-ms-appearance: none;
-webkit-appearance: none;
}
.eased-transition {
transition: all 0.2s ease-in-out;
}
.flex-base {
display: flex;
flex-wrap: nowrap;
justify-content: flex-start;
align-content: flex-start;
align-items: stretch;
}
.flex-column {
.flex-base;
flex-direction: column;
}
.flex-row {
.flex-base;
flex-direction: row;
}
.el-button {
.rounded;
.eased-transition;
color: @col-text-primary-white;
background: @col-blue-400;
cursor: pointer;
text-decoration: none;
&:hover {
.raised;
}
}
.el-input {
.rounded;
.clear-appearance;
background: @col-back-paper;
border: none;
outline: none;
background: @col-back-panel;
border: 1px solid @col-border;
}

View File

@@ -0,0 +1,37 @@
@media only screen and (max-width: 700px) {
#crumbbar {
.crumb:not(.active) {
display: none;
}
.crumb.active .sep {
width: 0;
}
}
#view.view-details {
// .header .label, .item .label {
// margin-right: 80px !important;
// }
// .header .date, .item .date {
// display: none;
// }
}
#tree, #info {
display: none !important;
}
}
@media print {
*,
*:before,
*:after,
*:first-letter,
*:first-line {
background: transparent !important;
color: #000 !important;
box-shadow: none !important;
text-shadow: none !important;
}
#toolbar, #sidebar, #tree, #info {
display: none !important;
}
}

View File

@@ -0,0 +1,6 @@
#content {
overflow: auto;
flex: 1 1 auto;
order: 50;
position: relative;
}

View File

@@ -0,0 +1,115 @@
#fallback {
display: none;
max-width: 960px;
margin: 16px auto;
padding: 32px 16px;
table {
display: block;
width: 100%;
border-collapse: collapse;
background: @col-back-paper;
}
th, td {
padding: 6px;
text-align: left;
border: none;
border-bottom: 1px solid #f0f0f0;
}
th {
color: #aaa;
font-weight: normal;
line-height: 36px;
}
td {
overflow: hidden;
white-space: nowrap;
}
a, a:active, a:visited {
display: block;
color: inherit;
text-decoration: none;
cursor: pointer;
&:hover {
color: @col-text-hover;
}
}
.fb-i {
width: 20px;
padding-left: 12px;
img {
width: 20px;
height: 20px;
position: relative;
top: -1px;
}
}
.fb-n {
width: 682px;
max-width: 682px;
}
.fb-d {
text-align: right;
width: 160px;
min-width: 160px;
}
.fb-s {
text-align: right;
width: 70px;
min-width: 70px;
padding-right: 12px;
}
}
#fallback-hints {
display: none;
overflow: hidden;
text-align: right;
background: @col-back-panel;
border-bottom: 1px solid @col-border;
a, a:active, a:visited {
.eased-transition;
display: inline-block;
line-height: 48px;
color: @col-text-secondary-black;
text-decoration: none;
outline: 0;
&:hover {
color: @col-text-hover;
}
}
.backlink {
margin: 0 16px;
}
.noJsMsg, .noBrowserMsg {
display: none;
margin: 0 16px;
color: @col-error;
}
}
html.no-js, html.no-browser {
#root {
position: static;
overflow: auto;
}
#fallback, #fallback-hints {
display: block;
}
}
html.no-js .noJsMsg {
display: inline !important;
}
html.no-browser .noBrowserMsg {
display: inline !important;
}

View File

@@ -0,0 +1,7 @@
#mainrow {
.flex-row;
flex: 1 1 auto;
order: 50;
height: 0; // non-webkit fix;
}

View File

@@ -0,0 +1,13 @@
#notification {
position: fixed;
left: 50%;
width: 200px;
margin-left: -100px;
z-index: 100;
padding: 3px 6px 6px 6px;
color: @col-text-primary-white;
background: rgba(0,0,0,0.2);
border-radius: 0 0 4px 4px;
text-align: center;
overflow: hidden;
}

View File

@@ -0,0 +1,18 @@
#root {
.flex-column;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
overflow: hidden;
background: @col-back;
line-height: 1.4;
}
#root, input, select {
font-family: @font-family;
font-size: @font-size;
font-weight: @font-weight;
color: @col-text;
}

Some files were not shown because too many files have changed in this diff Show More