Compare commits

..

1663 Commits
v1.2 ... 2.2

Author SHA1 Message Date
Čarodej
97060092ba build 2022-06-01 11:03:25 +02:00
Čarodej
3a73e4c792 composer & npm update 2022-06-01 11:02:19 +02:00
Čarodej
2e798bd1ec - navigation bar long title is now allowed 2022-06-01 10:59:59 +02:00
Čarodej
94afb626eb - When new user was created via admin, the verification email was send
- Item name in list view type is now extended on the full page width
2022-06-01 10:09:18 +02:00
Čarodej
428b4c87a3 test fixing 2022-05-31 16:25:09 +02:00
Čarodej
c912166905 ResetPassword.php refactoring 2022-05-31 15:55:02 +02:00
Čarodej
aa9731dd13 file request url removed from http response 2022-05-31 15:46:11 +02:00
Čarodej
05f58e1468 centering auth page fix 2022-05-31 15:38:08 +02:00
Čarodej
7659cc7221 api refactoring 2022-05-31 15:12:31 +02:00
Čarodej
a4b18c26b5 avatar fix in dark mode 2022-05-30 10:15:25 +02:00
Čarodej
317d7aefc3 - spotlight refactoring
- subscription widget fix in admin
2022-05-30 10:12:35 +02:00
Čarodej
17d4bcd888 prefilling user refactoring 2022-05-30 09:47:42 +02:00
Čarodej
8dd4cf2be6 config refactoring 2022-05-30 09:41:43 +02:00
Čarodej
d8789a4788 helper refactoring 2022-05-27 09:25:31 +02:00
Čarodej
1d670fcb52 infinity scroller ui improvements 2022-05-26 09:22:50 +02:00
Čarodej
b9975de700 paginator refactoring and implementation into the routes 2022-05-26 07:46:15 +02:00
Čarodej
31218240ae Merge remote-tracking branch 'origin/infinite_scroll' into api
# Conflicts:
#	config/vuefilemanager.php
#	package-lock.json
#	package.json
#	public/mix-manifest.json
#	resources/js/store/modules/fileBrowser.js
#	resources/js/store/modules/sharing.js
#	resources/js/store/modules/teams.js
#	resources/js/store/modules/userAuth.js
#	src/App/Socialite/Controllers/SocialiteCallbackController.php
#	src/Domain/Browsing/Controllers/BrowseTrashContentController.php
#	src/Domain/Browsing/Controllers/VisitorBrowseFolderController.php
#	src/Domain/Files/Controllers/UploadFileController.php
#	src/Domain/Items/Controllers/RenameFileOrFolderController.php
#	src/Support/helpers.php
2022-05-24 10:22:21 +02:00
Čarodej
36c5e51b4f refactoring 2022-05-24 10:01:07 +02:00
Čarodej
d6e9d2bd4f lowered max execution time 2022-05-20 17:01:53 +02:00
Čarodej
971ae4160e - plan sorting fix
- plan homepage visibility fix
2022-05-20 16:59:53 +02:00
Čarodej
63da860df5 test websocket connection 2022-05-20 16:48:25 +02:00
Čarodej
ab65aa8859 logout bug fixed 2022-05-18 17:39:05 +02:00
Čarodej
6bd1ec96bd - changelog update 2022-05-18 11:22:52 +02:00
Čarodej
8bab827d81 - backup issue fix 2022-05-18 11:17:12 +02:00
Čarodej
1d91d9759e - team invitation fix 2022-05-18 11:04:41 +02:00
Čarodej
127f1dc4cf - metered plan decimal extended into 3 places
- paginator fix
2022-05-18 10:45:56 +02:00
Čarodej
1e10ff32a8 triangle fix in notification center 2022-05-18 10:03:43 +02:00
Čarodej
aa30b519fa - send notification to native user when file request was sent via email
- updated mysql dump
2022-05-18 09:50:21 +02:00
Čarodej
3c28da2613 refactoring 2022-05-18 08:51:28 +02:00
Čarodej
e87e2ec4e3 routes response refactoring 2022-05-16 20:18:45 +02:00
Čarodej
f66982b3ec sharing route refactoring 2022-05-16 12:33:09 +02:00
Čarodej
68dc04963d Merge remote-tracking branch 'origin/api' into api
# Conflicts:
#	.env.testing
#	public/mix-manifest.json
#	resources/js/components/RemoteUpload/RemoteUploadPopup.vue
#	resources/js/store/modules/fileBrowser.js
#	resources/js/store/modules/fileFunctions.js
#	routes/share.php
#	src/Domain/Files/Controllers/VisitorUploadFileChunksController.php
#	tests/Domain/Sharing/VisitorManipulatingTest.php
#	tests/Domain/Traffic/TrafficTest.php
2022-05-16 11:55:22 +02:00
Čarodej
69a48e8925 share routes refactoring 2022-05-16 11:51:08 +02:00
Čarodej
c0e431b384 api refactoring 2022-05-16 11:50:51 +02:00
Čarodej
b8741439f5 api refactoring part 2 2022-05-13 10:43:45 +02:00
Čarodej
70901a2df5 api refactoring 2022-05-12 08:56:48 +02:00
Čarodej
d2371e667f Merge branch 'master' into api
# Conflicts:
#	.env.testing
#	public/mix-manifest.json
#	src/Domain/RemoteUpload/Controllers/UploadFilesRemotelyForUploadRequestController.php
2022-05-11 09:00:42 +02:00
Čarodej
000b5459f9 changelog update 2022-05-10 15:56:01 +02:00
Čarodej
ed17ed1a79 build 2022-05-10 11:17:01 +02:00
Čarodej
8c75166980 Fixed issue when you create plan with 0 team members amount 2022-05-10 10:48:05 +02:00
Čarodej
6472997cc1 fixed trash navigator issue 2022-05-10 10:25:42 +02:00
Čarodej
209667f55e fixed homepage redirection when homepage is disabled 2022-05-10 09:53:13 +02:00
Čarodej
73c84075c5 facebook authentication fix 2022-05-10 08:41:43 +02:00
Čarodej
5d7fed7de8 UnableToRetrieveMetadata error 2022-05-10 07:53:41 +02:00
Čarodej
b6cf1e2799 increase folder item count after drag in file 2022-05-10 07:09:28 +02:00
Čarodej
acfbbd56ca format code 2022-05-10 06:59:11 +02:00
Čarodej
b9a6bc05ff PayPal connection test 2022-05-10 06:58:34 +02:00
Čarodej
e3293f0b1a Stripe connection test 2022-05-09 17:38:38 +02:00
Čarodej
4eb901dae0 Paystack connection test 2022-05-09 17:32:44 +02:00
Čarodej
911f15d493 - Fixed upload issue 2022-05-09 16:58:14 +02:00
Čarodej
a43c799d59 - Fixed issue when upload doesn't start after you drag the file into empty view
- pointer cursor over file item
2022-05-09 15:06:21 +02:00
Čarodej
e9824bb807 show errors for recaptcha 2022-05-09 10:33:39 +02:00
Čarodej
2c933c65a7 added plan synchronization button 2022-05-09 09:57:25 +02:00
Čarodej
0b2d05a899 sanitizing env value before storing into the .env file 2022-05-09 08:23:38 +02:00
Čarodej
4e2ac2b890 moved subscription section in readme 2022-05-09 07:26:23 +02:00
Čarodej
6bd7456f2e bcmath in index moved into try/catch block 2022-05-09 07:25:18 +02:00
Čarodej
bbd6df4175 build 2022-05-08 10:46:13 +02:00
Čarodej
70fe106e45 - team members fix 2022-05-08 10:35:44 +02:00
Čarodej
1331409920 chunk issue 2022-05-08 10:13:22 +02:00
Čarodej
01970af8de websockets:install description redefined 2022-05-06 18:24:00 +02:00
Čarodej
63a72d6fe4 version change 2022-05-06 18:01:01 +02:00
Čarodej
9b5f8731d2 s3 private as a default 2022-05-06 17:28:00 +02:00
Čarodej
4250e58370 teams api update 2022-05-04 10:17:36 +02:00
Čarodej
f9b762de43 notifications api update 2022-05-04 09:20:48 +02:00
Čarodej
67b9f7f4dc file request api update 2022-05-04 09:03:18 +02:00
Čarodej
cf7e17e188 registration api update 2022-05-04 08:42:21 +02:00
Čarodej
137021fcdc personal access token api update 2022-05-04 08:36:32 +02:00
Čarodej
3d2e279afd user settings api update 2022-05-04 07:20:15 +02:00
Čarodej
4fc5ccd26d browsing api update 2022-05-03 16:18:44 +02:00
Čarodej
89e4ae6737 search api update 2022-05-03 16:11:00 +02:00
Čarodej
8b3f76d1d0 share records api update 2022-05-03 15:54:31 +02:00
Čarodej
37cc94aeda added demo page with button redirection 2022-05-03 10:48:31 +02:00
Čarodej
664f8d8e53 create share api update 2022-05-03 09:57:56 +02:00
Čarodej
b1fd046084 zip api update 2022-05-03 09:18:07 +02:00
Čarodej
e8fb5b6865 move api update 2022-05-03 08:30:41 +02:00
Čarodej
9ed2eec092 delete api update 2022-05-03 08:27:14 +02:00
Čarodej
257de10cc8 create folder api update 2022-05-03 08:14:47 +02:00
Čarodej
2e61cee49c remote upload api update 2 2022-05-03 08:10:50 +02:00
Čarodej
aca289b5a6 remote upload api update 2022-05-03 07:55:48 +02:00
Čarodej
0f42704980 trash api update 2022-05-03 07:47:54 +02:00
Čarodej
4f9fb3991c favourites api update 2022-05-03 06:59:31 +02:00
Milos Holba
f75c20e5a7 added test for getRecordsCount, format code 2022-05-02 18:21:20 +02:00
Čarodej
c2d53479e8 api enhancements 2022-05-02 17:19:37 +02:00
Čarodej
89689816ad exif fix 2022-05-02 07:00:26 +02:00
Čarodej
ba58e76d3b setup wizard database password as optional 2022-05-01 12:44:34 +02:00
Čarodej
12d7b3e92b mimetype fix 2022-04-29 09:09:53 +02:00
Čarodej
c8ebb5db9f refactoring 2022-04-29 08:24:35 +02:00
Čarodej
869dbd4797 build 2022-04-27 17:32:58 +02:00
Čarodej
4b8bd3be52 - creating admin fix
- fixed hamburger menu in public folder
- red cancel sharing button
2022-04-27 17:28:03 +02:00
Čarodej
a4aa329bf4 version change 2022-04-27 08:22:06 +02:00
Čarodej
97a807a5e5 deleted frontend code 2022-04-27 08:18:39 +02:00
Čarodej
92561d137d get exif data refactoring 2022-04-26 10:08:11 +02:00
Čarodej
43368c7555 added pdo_mysql into required php modules 2022-04-26 08:33:52 +02:00
Čarodej
5e9e4142d0 mimetype hotfix 2022-04-25 20:10:41 +02:00
Čarodej
7be7203b96 version change 2022-04-25 20:04:49 +02:00
Čarodej
0adc0f4fcd version change 2022-04-25 20:04:22 +02:00
Čarodej
110a22d317 mimetype reading fix 2022-04-25 20:03:55 +02:00
Čarodej
68b4722668 readme/changelog update 2022-04-25 12:44:59 +02:00
Čarodej
612298ebec queue:work command edit 2022-04-25 12:27:28 +02:00
Čarodej
48492f87be remote upload demo functionality 2022-04-25 12:18:02 +02:00
Čarodej
01735b4e1f remote upload demo functionality 2022-04-25 12:11:37 +02:00
Čarodej
e769c33af6 build 2022-04-25 11:01:35 +02:00
Čarodej
b635a17644 remote upload refactoring 2022-04-25 10:56:15 +02:00
Čarodej
954f0e3361 implemented remote upload progress counter 2022-04-25 10:13:10 +02:00
Čarodej
6a9fa9ceec readme update 2022-04-23 09:56:15 +02:00
Čarodej
20162ac366 language translation enhancement 2022-04-23 09:52:30 +02:00
Čarodej
0a9740a363 broadcast new files to the frontend after file was remotely uploaded 2022-04-23 09:44:43 +02:00
Čarodej
4b366747b6 Merge remote-tracking branch 'origin/remote-upload-merge'
# Conflicts:
#	public/mix-manifest.json
2022-04-22 16:37:07 +02:00
Čarodej
c2595a0de4 readme updated with broadcasting section 2022-04-22 16:36:29 +02:00
Čarodej
6e8714aec5 websocket allowed origins implementation 2022-04-22 09:44:40 +02:00
Čarodej
5e86799a82 vuefilemanager broadcast server enhancements 2022-04-22 08:58:00 +02:00
Čarodej
d586eb9d7e extractExtensionFromUrl refactoring 2022-04-21 18:05:34 +02:00
Čarodej
35d89e2be1 remote upload implementation into file request 2022-04-21 17:31:47 +02:00
Čarodej
409ab8c03f refactor user in upload controllers 2022-04-21 16:57:38 +02:00
Čarodej
8be0ae2a62 remote upload for shared route 2022-04-21 16:47:22 +02:00
Čarodej
d43efad45e Merge remote-tracking branch 'origin/master' 2022-04-21 09:12:58 +02:00
Čarodej
c86f93ac1e build 2022-04-21 09:12:47 +02:00
Čarodej
64b0dff8fb - The switch button in archived plans is now hidden
- updated readme.md
- Fixed upload progressbar in mobile version
- Added Viet Nam language into the language editor
2022-04-21 09:11:57 +02:00
Čarodej
ca76463fab fixed issue in backblaze connection test 2022-04-21 08:28:40 +02:00
Čarodej
e4dd9de931 reload view after remote upload was finished 2022-04-20 19:20:48 +02:00
Čarodej
dc8e3c8141 remote upload backend functionality 2022-04-20 18:19:25 +02:00
Čarodej
97ef846a44 composer lock fix 2022-04-20 17:30:05 +02:00
Čarodej
5b130d01af build 2022-04-19 19:11:53 +02:00
Čarodej
552e5e02c9 google button fix 2022-04-19 19:10:18 +02:00
Čarodej
19e29e69e0 file chunks refactoring 2022-04-19 09:40:31 +02:00
Milos Holba
ad8793ce28 change of the browsing functionality 2022-04-14 16:25:57 +02:00
Čarodej
6c3e7801da remote upload popup frontend 2022-04-14 15:16:43 +02:00
Čarodej
50eb67ac79 fixed issue with overflowing text in small screen for FilePreview 2022-04-14 11:08:51 +02:00
Čarodej
cd5af37bfe store refactoring 2022-04-13 16:26:11 +02:00
Čarodej
338f8664b7 vue components refactoring 2022-04-13 16:19:10 +02:00
Čarodej
6a4bfa8bfe readme update 2022-04-13 08:45:06 +02:00
Čarodej
b439fc1070 build 2022-04-12 11:11:31 +02:00
Čarodej
8baa466782 update for setEnvironmentValue function 2022-04-12 11:10:38 +02:00
Čarodej
8df7794484 ftp setup added 2022-04-12 10:43:23 +02:00
Čarodej
e71810a9bb mail setup refactoring 2022-04-12 08:36:10 +02:00
Čarodej
b37bbe38dc storage setup refactoring 2022-04-11 17:20:59 +02:00
Peter Papp
a051ab568d Merge pull request #14 from VueFileManager/dependabot/npm_and_yarn/follow-redirects-1.14.8
Bump follow-redirects from 1.14.7 to 1.14.8
2022-04-11 15:57:07 +02:00
Peter Papp
ab2c8b8371 Merge pull request #5 from VueFileManager/dependabot/npm_and_yarn/dns-packet-1.3.4
Bump dns-packet from 1.3.1 to 1.3.4
2022-04-11 15:56:56 +02:00
Peter Papp
b803c32b41 Merge pull request #15 from VueFileManager/dependabot/npm_and_yarn/node-forge-1.3.0
Bump node-forge from 1.2.1 to 1.3.0
2022-04-11 15:56:44 +02:00
Peter Papp
5d1d883fb1 Merge pull request #16 from VueFileManager/dependabot/npm_and_yarn/minimist-1.2.6
Bump minimist from 1.2.5 to 1.2.6
2022-04-11 15:56:21 +02:00
Čarodej
e5f4bad9a9 azure implementation 2022-04-11 11:59:16 +02:00
Čarodej
fbc9eed30b ftp implementation 2022-04-11 09:34:25 +02:00
Čarodej
7740e1673f build 2022-04-08 10:35:00 +02:00
Čarodej
9de6c65643 Test ses connection before storing credentials into the app 2022-04-08 10:30:44 +02:00
Čarodej
9a15f2ecd8 Test postmark connection before storing credentials into the app 2022-04-08 09:44:58 +02:00
Čarodej
86090d5192 Test mailgun connection before storing credentials into the app 2022-04-08 08:00:13 +02:00
Čarodej
6ed2efcc4e default color for avatar was changed 2022-04-07 15:44:41 +02:00
Čarodej
85d4f535eb tnt search tweaked 2022-04-07 15:04:31 +02:00
Čarodej
03d78937dc replaced google icon 2022-04-07 14:48:42 +02:00
Čarodej
596fa5f95c fixed uploading in demo account 2022-04-07 14:30:28 +02:00
Čarodej
8d1ee24c7a updated language translations 2022-04-07 14:17:46 +02:00
Milos Holba
d71e598758 added possibility to return all record 2022-04-07 12:56:01 +02:00
Čarodej
18ffb24941 after cancelled shared link in SharedLinks, remove items from view 2022-04-07 12:17:49 +02:00
Čarodej
f5879c0670 fixed language tab in mobile version 2022-04-07 12:08:55 +02:00
Čarodej
60a3c46ffe added spinner into button when user accept or reject team invitation 2022-04-07 12:05:14 +02:00
Čarodej
76b32f551f responsive paginator fix 2022-04-07 11:42:14 +02:00
Čarodej
03d42bee51 - language strings fix
- scrolling fix
2022-04-07 11:31:37 +02:00
Čarodej
e240ce7736 dashboard app bar refactored 2022-04-07 11:18:47 +02:00
Čarodej
93dbaa081d iOs window height fix 2022-04-07 11:00:24 +02:00
Čarodej
eb48aa46e3 - fixed issue with centering and overflowing info sidebar 2022-04-07 10:37:11 +02:00
Čarodej
7bd1079ce9 in image share link, return s3 url address of image 2022-04-07 09:11:49 +02:00
Čarodej
ade6b05bd0 codecanyon.html updated 2022-04-07 08:19:26 +02:00
Čarodej
7e0913b363 open searched file from spotlight in FilePreview 2022-04-06 18:17:50 +02:00
Čarodej
736a809e83 open searched file from spotlight in FilePreview 2022-04-06 18:16:07 +02:00
Milos Holba
4379daa079 added infinite scroll in browsing 2022-04-06 17:40:44 +02:00
Čarodej
9a11af3b39 Move item grid to folder bug 2022-04-06 15:22:09 +02:00
Čarodej
4ae4e70fe4 Move item grid to folder bug 2022-04-06 10:55:15 +02:00
Čarodej
657248aa43 The delay after first upload in file request when the interface wasn't showing was removed 2022-04-06 10:35:13 +02:00
Čarodej
b0f1bb46d7 clear howdy file requests in demo account 2022-04-06 09:36:10 +02:00
Čarodej
490fe5a120 readme update 2022-04-06 09:24:29 +02:00
Čarodej
953e7892b7 Wasabi region list updated 2022-04-06 08:32:32 +02:00
Čarodej
34bd1d3a3c language moved 2022-04-05 17:09:34 +02:00
Čarodej
8035ea2b23 feb 2022-04-05 16:47:53 +02:00
Čarodej
993dfc8fa1 updates automatically handled on the background 2022-04-05 16:43:12 +02:00
Čarodej
3649b6b7cf update language strings action added 2022-04-05 14:25:45 +02:00
Čarodej
23fdab0f68 npm upgrade 2022-04-05 11:04:37 +02:00
Čarodej
736174fda7 readme update 2022-04-05 11:03:42 +02:00
Čarodej
4e9c40d7ed delete language transaction in 2.0.14 update 2022-04-05 10:02:24 +02:00
Čarodej
10d8b592ea confirm token in 2fa challenge 2022-04-05 09:52:49 +02:00
Čarodej
9f783fcd95 Added new app settings shortcuts findable by spotlight - Application, Login & Registration, Appearance, Adsense, Homepage, Environment, Server 2022-04-05 08:05:32 +02:00
Čarodej
d386f70be8 set default max team members in admin and setup wizard 2022-04-05 07:47:37 +02:00
Čarodej
2c86c62d7f meta infinite members fix 2022-04-05 07:06:18 +02:00
Čarodej
4e9e8c47c0 language string fix 2022-04-05 06:44:42 +02:00
Čarodej
ba308fa70a item grid sm image 2022-04-04 19:35:14 +02:00
Čarodej
e8a0c421e9 plan import fix 2022-04-04 19:11:35 +02:00
Čarodej
bf6bc17d7d auto plan synchronization 2022-04-04 19:05:02 +02:00
Čarodej
80b2371868 delete only howdy share links in demo mode 2022-04-04 17:49:18 +02:00
Čarodej
3d9272b05e - spotlight mobile fix with opening image 2022-04-04 17:38:22 +02:00
Čarodej
2fa73dc3d2 - set paypal mode in credentials setup 2022-04-04 16:52:50 +02:00
Čarodej
b219c00113 - set paypal mode in credentials setup 2022-04-04 16:48:29 +02:00
Čarodej
c1f775975d - image thumbnail fix in s3
- svg thumbnail fix
2022-04-04 12:58:07 +02:00
Čarodej
a3805b4bff removed pcntl 2022-04-02 20:31:18 +02:00
Čarodej
be37f95404 - Added status column to the fixed plan table
- Ability to delete fixed plan if there isn't any subscribed user
- Improved error handling in subscription module
2022-04-02 17:52:48 +02:00
Čarodej
086dab99cd feb 2022-04-01 17:19:51 +02:00
Čarodej
2d4c7241ef test smtp connection before set up 2022-04-01 17:18:51 +02:00
Čarodej
d4199a796d test s3 connection before set up 2022-04-01 13:01:18 +02:00
Čarodej
e4d44fc5eb Ability to set custom s3 compatible service in administration settings and setup wizard 2022-04-01 11:26:59 +02:00
Čarodej
40b13acbb9 improved email setup 2022-04-01 10:14:50 +02:00
Čarodej
b1160a1327 added pcntl extension to the required 2022-04-01 09:04:21 +02:00
Čarodej
9cfe6118a9 item popup fix 2022-03-31 17:45:03 +02:00
Čarodej
64dbcf287d spatie config notification fix 2022-03-31 17:20:24 +02:00
Čarodej
bfe4c257a2 max_execution_time fix 2022-03-31 16:56:14 +02:00
Čarodej
1615be340a added spinner into dashboard AlertBox.vue 2022-03-31 13:03:29 +02:00
Čarodej
2ce165dd65 feb 2022-03-31 12:08:06 +02:00
Čarodej
c5bfd99df7 fixed demo under envato iframe 2022-03-31 12:04:36 +02:00
Čarodej
182451515c auto delete all shared links every day in demo mode 2022-03-31 11:22:13 +02:00
Čarodej
ff476251f5 .dwg fix 2022-03-31 11:18:09 +02:00
Čarodej
ef9f654834 added chunk size edit to the admin 2022-03-31 10:41:50 +02:00
Čarodej
ab042cc4b3 readme update 2022-03-31 10:09:18 +02:00
Čarodej
3f8fc1c9ce dashboard alert box for new system upgrade 2022-03-30 18:12:41 +02:00
Čarodej
dff804153e upgrade functionality for v2.0.10 fix 2022-03-30 13:43:08 +02:00
Čarodej
d362b37cd3 upgrade functionality for v2.0.10 2022-03-30 13:36:28 +02:00
Čarodej
621f6770c5 demo generator team update 2022-03-30 12:03:31 +02:00
Čarodej
d1d58711c5 disabled moving and deleting folders from root of TeamFolders 2022-03-30 09:56:14 +02:00
Čarodej
36883d1c0d disabled moving and deleting folders from root of TeamFolders 2022-03-30 09:56:09 +02:00
Čarodej
0ca67c2348 - when member upload files or create folder in team folder, the true owner of the content is creator of team member. That means the upload bandwidth and storage go to creator responsibility 2022-03-30 09:34:25 +02:00
Čarodej
0fbb8fd8ee build 2022-03-29 12:30:39 +02:00
Čarodej
b0829c71e9 build 2022-03-29 12:29:32 +02:00
Čarodej
af3f08e728 fixed moving issue when user move folder with files into team folder 2022-03-29 12:28:22 +02:00
Čarodej
32d4873715 disabled 2fa set up in demo mode for howdy account 2022-03-29 10:49:08 +02:00
dependabot[bot]
b8a1390220 Bump minimist from 1.2.5 to 1.2.6
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-29 08:27:02 +00:00
Čarodej
9d4d1ba9aa s3 bandwidth usage fix 2022-03-29 10:06:20 +02:00
Čarodej
8c59501907 - build 2022-03-28 18:40:05 +02:00
Čarodej
ed67927672 unlimited team members text fix 2022-03-28 18:03:38 +02:00
Čarodej
e604c8e4fd text logo fix on shared page 2022-03-28 17:13:41 +02:00
Čarodej
4ea76419db contact form fix 2022-03-28 17:03:30 +02:00
Čarodej
8d13d82af9 removed todo 2022-03-28 16:58:10 +02:00
Čarodej
6ee142b58c user delete fix 2022-03-28 11:49:09 +02:00
Čarodej
5964bebad2 user storage fix 2022-03-28 11:38:05 +02:00
Čarodej
6a48beb793 adsense fix 2022-03-28 10:49:15 +02:00
Čarodej
bbd8e70c9d - s3 direct download 2022-03-25 19:14:32 +01:00
Čarodej
e232543ea4 - language updates 2022-03-25 18:47:12 +01:00
Čarodej
62c6331845 - direct download link 2022-03-25 18:20:27 +01:00
Čarodej
43f2a43d6c - app logo extension fix
- redirect when user is logged in sign in/up page
2022-03-25 16:48:15 +01:00
Čarodej
c5810e962b - download/upload statistics in admin panel fix 2022-03-25 11:36:50 +01:00
Čarodej
d7d95e22ea - share by email fix 2022-03-25 11:10:35 +01:00
Čarodej
8c1e59d81a - bug in demo folder favourites fixed 2022-03-25 10:51:20 +01:00
Čarodej
3c1c6eb5b9 license upgrade function 2022-03-25 10:34:39 +01:00
Čarodej
df05eb0433 s3 configuration fix 2022-03-25 07:38:22 +01:00
Čarodej
bb1d775585 codecanyon text update 2022-03-24 19:18:30 +01:00
Čarodej
7f49ae011c readme update 2022-03-23 19:26:51 +01:00
Čarodej
a608678bb9 plan tables for fixed billing
language translation fix
2022-03-23 19:16:40 +01:00
Čarodej
aa515b5450 deleted some files 2022-03-23 16:57:09 +01:00
dependabot[bot]
87466e4596 Bump node-forge from 1.2.1 to 1.3.0
Bumps [node-forge](https://github.com/digitalbazaar/forge) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/digitalbazaar/forge/releases)
- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)
- [Commits](https://github.com/digitalbazaar/forge/compare/v1.2.1...v1.3.0)

---
updated-dependencies:
- dependency-name: node-forge
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-22 18:48:10 +00:00
Čarodej
3f01dd3f95 s3 multipart upload fix 2022-03-22 19:25:38 +01:00
Čarodej
5531be6640 - language fix
- move item popup fix
2022-03-21 11:56:31 +01:00
Čarodej
1d144d6c9e notification mobile fix 2022-03-21 09:38:15 +01:00
Čarodej
b043878eed chunk upload fix 2022-03-21 09:35:13 +01:00
Čarodej
a2d0b26b68 language fix 2022-03-21 08:34:59 +01:00
Čarodej
381a440c61 codecanyon images 2022-03-20 22:10:45 +01:00
Čarodej
95efdc3993 changelog 2022-03-20 21:41:55 +01:00
Čarodej
dece343d8b composer update 2022-03-20 19:20:35 +01:00
Čarodej
5d15f3da51 build 2022-03-20 19:02:34 +01:00
Čarodej
42245317f4 fixes 2022-03-20 19:00:46 +01:00
Čarodej
73ef6e6c1f backend language strings updates 2022-03-20 14:26:53 +01:00
Čarodej
881facc867 language strings updates 2022-03-20 12:12:09 +01:00
Čarodej
98d9f3ab0d language strings refactoring 2022-03-19 10:14:11 +01:00
Čarodej
7564c01fa3 removed unused language strings 2022-03-19 09:26:43 +01:00
Čarodej
1ad8fbdd57 alert icon in mobile menu 2022-03-18 07:21:33 +01:00
Čarodej
10f37e645b alert icon in mobile menu 2022-03-17 18:31:10 +01:00
Čarodej
ca883a6f93 server status fix 2022-03-17 17:54:04 +01:00
Čarodej
0d59fe5b8e composer update 2022-03-17 16:58:16 +01:00
Čarodej
fea2d839e7 fakeRenameFileOrFolder fixes 2022-03-17 16:52:58 +01:00
Čarodej
0c334f5daf fakeRenameFileOrFolder fixes 2022-03-17 14:43:46 +01:00
Čarodej
87bcd50e44 SetUploadRequestAsFilledController demo fix 2022-03-17 14:36:29 +01:00
Čarodej
01588fa06b - admin registration fixes
- alert popup refactoring
2022-03-17 12:31:09 +01:00
Čarodej
e8f59ef0a9 fixes 2022-03-17 10:06:29 +01:00
Čarodej
9c040cfe48 folder creation fix 2022-03-17 09:38:49 +01:00
Čarodej
4b899d8f29 composer fix 2022-03-16 17:25:45 +01:00
Čarodej
e8c3fd74b1 added AdminBonusAddedNotification.php and InsufficientBalanceNotification.php 2022-03-16 17:22:55 +01:00
Čarodej
1d1e6823c7 added AdminBonusAddedNotification.php and InsufficientBalanceNotification.php 2022-03-16 11:45:08 +01:00
Čarodej
bc197cbb5e added SubscriptionWasCreatedNotification 2022-03-16 11:08:57 +01:00
Čarodej
9a6abbd6e8 added BillingAlertTriggeredNotification 2022-03-16 10:37:55 +01:00
Čarodej
60407f9dce cron indicator improvement 2022-03-16 09:50:49 +01:00
Čarodej
9d955799d3 set broadcasting in admin and setup wizard 2022-03-16 09:37:17 +01:00
Čarodej
4bab179e17 feb 2022-03-15 18:04:26 +01:00
Čarodej
aa5742dafa dark mode logo 2022-03-15 18:03:28 +01:00
Čarodej
f6f4184fb2 barchart center fix 2022-03-15 16:51:33 +01:00
Čarodej
f6ea18fce2 - admin form fix
- backblaze new region
- webhook url new place
2022-03-15 16:39:17 +01:00
Čarodej
a544578b38 backspace fix 2022-03-15 11:47:32 +01:00
Čarodej
5fa205de27 Revert "removed backspace functionality for team folder and sharedwithme homepage"
This reverts commit dfeef6fd
2022-03-15 11:47:16 +01:00
Čarodej
806af9da5c space between mobilemultiselect toolbar 2022-03-15 11:40:57 +01:00
Čarodej
dfeef6fdf8 removed backspace functionality for team folder and sharedwithme homepage 2022-03-15 11:21:14 +01:00
Čarodej
d0b4b729c9 hide overlays by esc shortcut 2022-03-15 10:59:38 +01:00
Čarodej
1c4b4c6279 - fixed create menu items
- reload team folder after update team member
2022-03-15 10:39:43 +01:00
Čarodej
556f6d0813 fixed uploaded image default rotation 2022-03-15 09:08:54 +01:00
Čarodej
3f4263393e file preview fix 2022-03-15 08:35:16 +01:00
Čarodej
a51dece5ee - readme update
- command update
2022-03-14 18:16:50 +01:00
Čarodej
a7db1a22d2 installation release image 2022-03-14 11:41:43 +01:00
Čarodej
ee80f454fb readme update 2022-03-14 11:15:44 +01:00
Čarodej
2c4175b708 check write permission added into setup wizard and server status 2022-03-14 10:51:19 +01:00
Čarodej
fe3fbe7db7 UI Fixes part III. 2022-03-14 10:10:23 +01:00
Čarodej
3c35ea9a4e UI Fixes part II. 2022-03-14 09:02:40 +01:00
Čarodej
f835c6a7c2 UI Fixes 2022-03-14 08:45:26 +01:00
Čarodej
5e48af22a2 setup wizard debug 2022-03-13 18:30:03 +01:00
Čarodej
2bba6dc051 added registration bonus notification 2022-03-12 09:34:26 +01:00
Čarodej
ab03b471f7 click outside of notification center hide notification popup 2022-03-12 09:10:34 +01:00
Čarodej
9e973b89ce notification implementation into the toaster 2022-03-12 08:40:35 +01:00
Čarodej
0e45092795 pusher update 2022-03-11 12:56:18 +01:00
Čarodej
c1ace2854f pusher update 2022-03-11 09:27:56 +01:00
Čarodej
4e471cb077 pusher update 2022-03-11 09:21:15 +01:00
Čarodej
ffa4f67cbd feb 2022-03-11 09:17:53 +01:00
Čarodej
8e4fc55b23 feb 2022-03-11 09:11:20 +01:00
Čarodej
ee516fd384 added wss 2022-03-11 09:09:46 +01:00
Čarodej
da27c47d7a pusher host setup 2022-03-11 08:58:54 +01:00
Čarodej
28d99cce78 pusher host fix 2022-03-11 08:43:41 +01:00
Čarodej
0905a0660c - demo notifications generator
- frontend build
2022-03-11 08:40:32 +01:00
Čarodej
d02ca13197 - demo notifications generator
- frontend build
2022-03-10 16:45:18 +01:00
Čarodej
9ae2d54a5e team invitation notification with broadcasting 2022-03-10 16:23:13 +01:00
Čarodej
64e80d387b backend notifications implementation 2022-03-10 11:49:02 +01:00
Čarodej
70d7f2f5bd Merge remote-tracking branch 'origin/sockets'
# Conflicts:
#	composer.lock
#	public/mix-manifest.json
2022-03-10 07:14:08 +01:00
Čarodej
4315cddcb2 extended UploadRequestFulfilledNotification with array 2022-03-10 07:13:38 +01:00
Čarodej
26f7cdb80f added notification center UI 2022-03-10 06:27:04 +01:00
Čarodej
8495ed5422 websocket implementation 2022-03-09 07:40:05 +01:00
Čarodej
2a0b01e888 chunkFilename added 2022-03-08 11:50:15 +01:00
Čarodej
6ebf5dc3cb added file request MobileContextMenu 2022-03-08 11:45:36 +01:00
Čarodej
dd1f3b299d ability to download log from admin 2022-03-08 10:51:32 +01:00
Čarodej
4e2155b75a set storage driver via admin 2022-03-08 09:42:18 +01:00
Čarodej
c0ca83193f prematurely 2fa switched before 2fa was set fix 2022-03-08 08:51:31 +01:00
Čarodej
08175d4dba image changes 2022-03-07 17:43:43 +01:00
Čarodej
e6043e4530 fixed avatar 2022-03-07 16:49:34 +01:00
Čarodej
bf62c007ac Merge remote-tracking branch 'origin/master'
# Conflicts:
#	codecanyon.html
2022-03-07 16:48:28 +01:00
Čarodej
1cf50206cb demo images 2022-03-07 16:48:01 +01:00
Čarodej
9bc0ce3c3d demo images 2022-03-07 11:24:22 +01:00
Čarodej
2fa0b5cd77 extended teams demo 2022-03-07 10:31:37 +01:00
Čarodej
241190104e subscription repository update 2022-03-06 10:13:04 +01:00
Čarodej
23054c2257 dark mode revision 2022-03-06 09:25:11 +01:00
Čarodej
1e4649eec2 demo functions refactoring 2022-03-05 18:09:53 +01:00
Čarodej
81f227c5e7 added callback url to the socialite settings 2022-03-05 16:55:02 +01:00
Čarodej
5829eaacc4 removed SocialiteCallback.vue 2022-03-05 11:35:17 +01:00
Čarodej
e0e488860d socialite fix 2022-03-05 11:18:53 +01:00
Čarodej
2c90db8e04 credentials settings fix 2022-03-05 10:15:50 +01:00
Čarodej
0a30ca0b98 create new subscription if stripe was previously cancelled 2022-03-05 09:35:42 +01:00
Čarodej
ae138bb4d4 swap stripe subscription 2022-03-04 18:51:06 +01:00
Čarodej
ad5b741feb paystack refactoring 2022-03-04 13:37:28 +01:00
Čarodej
cad1a1680c paystack refactoring 2022-03-04 13:36:28 +01:00
Čarodej
0f6dd0304f auto redirect 2022-03-04 12:25:46 +01:00
Čarodej
2724fb1873 fb 2022-03-04 11:50:54 +01:00
Čarodej
0f4b80ddac upgrade subscription popup 2022-03-04 11:35:38 +01:00
Čarodej
6155173d82 fb 2022-03-03 17:32:45 +01:00
Čarodej
6ca2269c80 fixes part 6 2022-03-03 07:37:28 +01:00
Čarodej
4b751a29c2 env variables refactoring 2022-03-02 10:43:27 +01:00
Čarodej
ff9198a03e frontend build 2022-03-02 09:02:11 +01:00
Čarodej
0c0a2424b7 frontend build 2022-03-02 07:47:10 +01:00
Čarodej
a3abfd670a fixes part 5 2022-03-02 07:43:20 +01:00
Čarodej
90303458a0 fixes part 4 2022-03-01 18:04:36 +01:00
Čarodej
3f0a69a062 fixes part 3 2022-03-01 11:35:01 +01:00
Čarodej
a303ffffdc fixes part 2 2022-03-01 10:15:50 +01:00
Čarodej
64d1883f53 fixes part 1 2022-03-01 08:24:51 +01:00
Čarodej
071bdc1bcd file request language strings added 2022-02-28 18:25:18 +01:00
Čarodej
30025271c2 toggle favourites refactor 2022-02-28 17:38:18 +01:00
Čarodej
8ae24a9a6e multi email input refactoring 2022-02-28 17:06:41 +01:00
Čarodej
dee1614297 transaction date fix 2022-02-28 09:08:51 +01:00
Čarodej
c2e4b50df5 fixed missing days and sorting in traffic widget 2022-02-28 09:03:57 +01:00
Čarodej
2e80da830a file metadata refactoring 2022-02-28 07:26:35 +01:00
Čarodej
c84850e8d2 Merge remote-tracking branch 'origin/exif_metadata'
# Conflicts:
#	public/mix-manifest.json
#	resources/js/App.vue
#	resources/js/components/FilesView/ImageMetaData.vue
#	resources/js/components/FilesView/InfoSidebar.vue
#	resources/js/components/FilesView/SearchBar.vue
#	resources/js/components/Spotlight/Spotlight.vue
#	resources/js/views/Shared.vue
#	src/Domain/Files/Resources/FileResource.php
2022-02-25 18:23:08 +01:00
Čarodej
6fd8ddf680 FileResource.php refactor 2022-02-25 18:12:14 +01:00
Čarodej
ab3a307dc1 Laravel 9 upgrade 2022-02-25 17:37:17 +01:00
Čarodej
c3a6f5d703 UI enhancements for file request 2022-02-25 09:42:55 +01:00
Čarodej
293eb679fa - added file request into the spotlight
- after enter stop editing item name
2022-02-25 08:35:21 +01:00
Čarodej
45dcdcce16 added email notification about fulfilling upload request 2022-02-24 10:43:35 +01:00
Čarodej
a589ee5f7a browsing through upload request 2022-02-24 10:20:38 +01:00
Čarodej
06b28aeee3 file preview optimization for upload request 2022-02-23 16:43:20 +01:00
Čarodej
047b907c60 it move file to another folder in upload request 2022-02-23 11:13:29 +01:00
Čarodej
eb7b319ebd get navigation tree for upload request 2022-02-23 10:39:50 +01:00
Čarodej
aef715e061 delete items in file request 2022-02-23 10:05:09 +01:00
Čarodej
fdfb5f57d7 create folder in upload request 2022-02-23 08:26:16 +01:00
Čarodej
0501e3e3d5 Rename upload request item 2022-02-23 07:53:34 +01:00
Čarodej
efb0fc4734 InfoSidebarUploadRequest for upload request 2022-02-23 06:53:29 +01:00
Čarodej
f15c81d342 auto expiration after latest upload 2022-02-22 16:41:17 +01:00
Čarodej
6feadfd188 auto expiration for upload request 2022-02-22 11:53:51 +01:00
Čarodej
ee67b8050d mobile file request 2022-02-22 11:36:28 +01:00
Čarodej
c3398f0da4 finish file request 2022-02-22 09:35:06 +01:00
Čarodej
171ee5fa04 security of request upload item 2022-02-19 12:49:56 +01:00
Čarodej
1107bf66af upload file into request folder and get their thumbnails 2022-02-19 12:32:19 +01:00
Čarodej
5be55b52bd create folder after upload first file 2022-02-18 09:32:19 +01:00
Čarodej
6db8b0662a create/get upload request backend 2022-02-17 16:55:35 +01:00
Čarodej
45a3b5415b create/get upload request backend 2022-02-17 10:11:43 +01:00
Čarodej
394a7b6baf upload request prototype UI 2022-02-16 16:57:57 +01:00
Čarodej
3fafc811fe UI Fixes 4 2022-02-15 18:30:58 +01:00
Čarodej
5ee77da25f UI Fixes 2 2022-02-15 17:39:59 +01:00
Čarodej
421388b360 UI Fixes 2022-02-15 16:08:12 +01:00
dependabot[bot]
8828432e4d Bump follow-redirects from 1.14.7 to 1.14.8
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-15 10:02:43 +00:00
Čarodej
820f0b3890 latest database backups included into the admin settings 2022-02-15 10:40:59 +01:00
Čarodej
b897eaf482 server status included into the admin settings 2022-02-15 09:33:53 +01:00
Čarodej
da74a38605 invitation fix 2022-02-14 08:54:26 +01:00
Čarodej
00c6562719 handle team invitation for non registered user 2022-02-12 11:28:08 +01:00
Čarodej
4498461e70 none billing app fixes 2022-02-12 09:16:36 +01:00
Čarodej
948c7453a6 fixed billing app fixes 2022-02-11 17:25:39 +01:00
Čarodej
eb948f9000 metered billing app fixes 2022-02-11 17:02:17 +01:00
Čarodej
3fd43936e7 improved email setup in admin settings 2022-02-11 10:52:14 +01:00
Čarodej
03730b80c0 setup wizard funcionality upgrade for v2 2022-02-11 10:05:12 +01:00
Čarodej
3867c9cd67 admin creation via setup wizard refactoring 2022-02-10 09:06:47 +01:00
Čarodej
b5c00e98df email setup test 2022-02-10 08:57:47 +01:00
Čarodej
9f5172da85 added multiple email drivers into setup wizard 2022-02-09 16:17:31 +01:00
Čarodej
a6940379cb setup wizard refactoring 2022-02-09 14:04:51 +01:00
Čarodej
a9e4daed35 UI enhancements 2022-02-09 08:40:28 +01:00
Čarodej
e7d9fca9c2 contextmenu fix 2022-02-08 18:12:07 +01:00
Čarodej
638a1a9a72 video preview in shared single page 2022-02-08 17:34:07 +01:00
Čarodej
4df575f5e9 Shared pages refactoring part 3 2022-02-08 14:25:28 +01:00
Čarodej
7b0f9a19de Shared pages refactoring part 2 2022-02-08 12:58:47 +01:00
Čarodej
f04c057490 Shared pages refactoring part 1 2022-02-08 10:01:38 +01:00
Čarodej
09774b1d48 Google adsense implementation 2022-02-07 17:47:29 +01:00
Čarodej
81362fef2d pdfvuer resolve 2022-02-06 15:43:26 +01:00
Čarodej
58fae35085 drag ui refactoring 2022-02-06 14:56:11 +01:00
Čarodej
21e184f373 resolved timezones 2022-02-06 14:26:42 +01:00
Čarodej
38e86b4b8b UI fixes 2022-02-05 12:30:02 +01:00
Čarodej
6980c28c57 ad test 2022-02-04 14:25:26 +01:00
Čarodej
e794ef5c17 ad test 2022-02-04 11:20:40 +01:00
Čarodej
f8317e761b frontend build 2022-02-04 10:58:24 +01:00
Čarodej
5a28eeef1e UI improvements 3 2022-02-03 18:50:12 +01:00
Čarodej
cad8c31422 UI improvements 2 2022-02-03 18:19:10 +01:00
Čarodej
78f69ca816 UI improvements 2022-02-03 11:58:52 +01:00
Čarodej
bb9280d050 File preview refactoring 2022-02-03 10:49:14 +01:00
Čarodej
b751429dc5 UI/UX improvements 2022-02-01 16:01:57 +01:00
Milos Holba
45a46bbc65 added windows shortcut for spotlight 2022-02-01 14:21:12 +01:00
Čarodej
b38b532cbe added prettier 2022-02-01 12:21:38 +01:00
Čarodej
5ae875233b tailwind 3 upgrade part 4 2022-02-01 11:36:25 +01:00
Milos Holba
2ca42f530b addded test for save file exif metadata 2022-01-29 12:48:21 +01:00
Čarodej
dcba1e8407 tailwind 3 upgrade part 3 2022-01-28 16:32:01 +01:00
Čarodej
854ae6d8fd tailwind 3 upgrade part 2 2022-01-28 13:48:42 +01:00
Čarodej
940a2de13d tailwind 3 upgrade part 1 2022-01-28 11:41:13 +01:00
Čarodej
42c2ffc274 UI improvements part 5 2022-01-28 09:17:36 +01:00
Čarodej
0c71329dee UI improvements part 4 2022-01-28 08:15:25 +01:00
Čarodej
f74bb7cec5 UI improvements part 3 2022-01-27 17:04:12 +01:00
Čarodej
d855739bf2 UI improvements part 2 2022-01-27 13:14:57 +01:00
Čarodej
a2726ae2c5 UI improvements part 1 2022-01-27 10:40:06 +01:00
Čarodej
0b3fc946bd fixed navigation for mobile version 2022-01-26 18:28:19 +01:00
Milos Holba
d16d73680f create separated exif metadata table for files 2022-01-26 17:42:01 +01:00
Čarodej
438e930e06 create token UI refactoring 2022-01-26 16:59:36 +01:00
Čarodej
737fb7f32f login & registration settings refactoring 2022-01-26 16:35:45 +01:00
Čarodej
e22ae97a87 responsive version enhancements 2022-01-26 11:43:49 +01:00
Čarodej
fb91c1883a datatable refactoring 2022-01-26 10:39:10 +01:00
Čarodej
3652c64738 mobile toolbar implementation 2022-01-26 07:45:22 +01:00
Čarodej
3d32e8f7e0 Merge remote-tracking branch 'origin/recaptcha'
# Conflicts:
#	public/mix-manifest.json
#	src/Domain/Settings/Controllers/StoreSocialServiceCredentialsController.php
2022-01-25 16:29:37 +01:00
Čarodej
995319cfe5 updates 2022-01-25 16:27:45 +01:00
Milos Holba
1085062d10 recaptcha fix 2022-01-25 14:33:34 +01:00
Milos Holba
8b1a3f0476 implemented reCaptcha 2022-01-25 14:28:22 +01:00
Čarodej
630cefee41 Folder buttons UI refactoring 2022-01-25 13:39:21 +01:00
Čarodej
5725753052 CreateFolderStructureAction refactoring 2022-01-25 10:55:48 +01:00
Čarodej
ec92295fbf CreateFolderStructureAction refactoring 2022-01-24 11:20:47 +01:00
Čarodej
87dbcbceb8 test refactoring 2022-01-24 09:25:32 +01:00
Čarodej
3677e51c8f merge fixes 2022-01-24 08:35:58 +01:00
Čarodej
4396965d4d Merge remote-tracking branch 'origin/folders_upload' into folder_upload_v2
# Conflicts:
#	composer.lock
#	config/language-translations.php
#	public/mix-manifest.json
#	resources/js/components/FilesView/DesktopToolbar.vue
#	resources/js/helpers.js
#	resources/js/store/modules/fileFunctions.js
#	src/Domain/Files/Actions/UploadFileAction.php
#	src/Domain/Files/Requests/UploadRequest.php
#	tests/Domain/Admin/AdminTest.php
#	tests/Domain/Files/FileTest.php
#	tests/Domain/Folders/FolderTest.php
#	tests/Domain/Sharing/VisitorManipulatingTest.php
#	tests/Domain/Traffic/TrafficTest.php
#	tests/Domain/Trash/TrashTest.php
#	tests/Domain/Zip/UserZippingTest.php
2022-01-24 08:05:04 +01:00
Čarodej
4319533873 refactoring 2022-01-24 07:25:38 +01:00
Čarodej
1c16f0001c MobileActionButton refactoring 2022-01-23 11:05:53 +01:00
Čarodej
1f48abae0f mobile navigation refactoring 2022-01-22 14:27:21 +01:00
Čarodej
a7fd410a68 popup header refactoring 2022-01-22 14:05:22 +01:00
Čarodej
f5e45126db confirmation popup refactoring 2022-01-22 13:43:24 +01:00
Čarodej
fc74682e62 contextmenu refactoring 2022-01-22 13:23:57 +01:00
Čarodej
26bf65af88 info sidebar refactoring 2022-01-22 12:31:27 +01:00
Čarodej
ba05cdde83 Sidebar desktop navigation refactoring 2022-01-21 18:23:27 +01:00
Čarodej
e2cfdd5345 Folder tree dynamic navigator 2022-01-21 16:46:17 +01:00
Čarodej
6cb2a1bb9a popover over bar chart 2022-01-21 10:48:57 +01:00
Čarodej
aa28118d75 refactoring 2022-01-21 09:55:11 +01:00
Čarodej
c2667ab481 confirm password when 2fa setup refactored 2022-01-21 09:43:11 +01:00
Čarodej
03e4f98ad6 confirm password to get recovery codes 2022-01-21 09:23:18 +01:00
Čarodej
4fc61afc11 added current password to the password changing form 2022-01-21 07:41:26 +01:00
Čarodej
6b71eabfa2 UI setup for emojis and theme mode 2022-01-20 17:05:48 +01:00
Čarodej
bb4f66f159 account settings refactoring 2022-01-20 10:51:24 +01:00
Čarodej
7f33df62a5 toggle emoji via spotlight 2022-01-20 10:08:30 +01:00
Čarodej
e1de316774 emoji component refactoring 2022-01-20 09:19:14 +01:00
Čarodej
34fcbdc55c create folder emoji picker refactoring 2022-01-19 15:45:59 +01:00
Čarodej
24edb85b24 Merge remote-tracking branch 'origin/master' 2022-01-19 14:04:38 +01:00
Čarodej
1342dfa20f emoji picker refactoring 2022-01-19 14:04:29 +01:00
MakingCG
5adf9bd2be Fix backend code styling 2022-01-19 08:01:36 +00:00
Čarodej
ea59624091 Merge remote-tracking branch 'origin/master' 2022-01-19 09:01:05 +01:00
Čarodej
89e886b40c qr code generator 2022-01-19 09:00:54 +01:00
Čarodej
09449539fa Popups refactoring 2022-01-19 08:21:32 +01:00
Čarodej
c711150793 ShareEditPopup refactoring 2022-01-19 08:05:33 +01:00
Čarodej
509fb32c81 update shared item fix 2022-01-18 16:56:28 +01:00
MakingCG
763e63db55 Fix backend code styling 2022-01-18 15:46:38 +00:00
Čarodej
b456a562a0 sing up forms refactoring 2022-01-18 16:43:50 +01:00
Čarodej
148f5982a9 sing in forms refactoring 2022-01-18 11:18:33 +01:00
Čarodej
59414a1e31 paginator refactor 2022-01-18 09:18:59 +01:00
Čarodej
ffebe7fecc Invoice page 2022-01-18 08:28:58 +01:00
Čarodej
2403f89ca3 show transaction usage history detail 2022-01-17 13:30:44 +01:00
Čarodej
97b429f8d1 readme update 2022-01-17 10:17:46 +01:00
Čarodej
ec83c0e018 added WidgetLatestTransactions 2022-01-14 17:39:42 +01:00
Čarodej
51701214a2 toggle paypal sandbox/live 2022-01-14 11:55:14 +01:00
Čarodej
7dd116a769 splitted user name 2022-01-14 11:17:00 +01:00
Čarodej
7e9e9ee25b Allow user pay only more than their debt 2022-01-14 10:18:51 +01:00
Čarodej
662ba988a0 build 2022-01-14 09:30:59 +01:00
Čarodej
5c59296724 fixes & UI improvements 3 2022-01-14 09:28:27 +01:00
Čarodej
703a49711c fixes & UI improvements 2 2022-01-14 09:10:41 +01:00
Čarodej
1d0ba4d679 fixes & UI improvements 2022-01-14 08:50:59 +01:00
Čarodej
ceba8f5cc1 fixes 2022-01-13 18:55:10 +01:00
Čarodej
8eff3969d3 empty states for pages 2022-01-13 18:13:34 +01:00
Čarodej
7b3bd1135c UI fixes 2022-01-13 17:32:33 +01:00
Čarodej
e77e0cda03 set webhook secret for payment services 2022-01-13 16:16:39 +01:00
Čarodej
8d67d089bf create plan fix 2022-01-13 12:25:50 +01:00
Čarodej
d4220254db frontend production 2022-01-13 12:22:40 +01:00
Čarodej
4fa93512b5 frontend production 2022-01-13 11:43:04 +01:00
Čarodej
66de377657 test refactoring 2022-01-13 11:41:40 +01:00
Čarodej
6cf7e5d26d refactor 2022-01-13 11:17:31 +01:00
Čarodej
3b34dc43ce refactor 2022-01-12 18:32:39 +01:00
Čarodej
d498446911 admin bar chart fix 2022-01-12 16:11:51 +01:00
Čarodej
4feba76f57 admin dashboard refactoring 2022-01-12 13:58:51 +01:00
Čarodej
e1bb4b2cbe mobile admin menu refactoring 2022-01-12 08:28:12 +01:00
Čarodej
53a2950dd3 Admin menu refactored 2022-01-12 07:45:33 +01:00
Čarodej
68563b9e10 Plan settings refactoring 2022-01-11 15:20:33 +01:00
Čarodej
1c188081b3 - set social login credentials
- disallow registration refactoring
2022-01-11 13:22:25 +01:00
Čarodej
62cbcd14ed ghost bar chart 2022-01-11 08:27:07 +01:00
Čarodej
9dbc3ab969 UI improvements 2022-01-11 07:27:15 +01:00
Čarodej
ca48d430bb added subscription demo generators 2022-01-10 16:29:44 +01:00
Čarodej
08139c8f96 - usage metric fix
- ui fix
- index:usage artisan command
- demo payment settings
2022-01-10 15:43:55 +01:00
Čarodej
5de2b8b0e0 credit bonus after user registration 2022-01-10 11:20:34 +01:00
Čarodej
26aa8b46df it_register_user_when_metered_billing_is_active 2022-01-10 10:20:13 +01:00
Čarodej
0d8f1b64a7 login refactor 2022-01-10 09:09:20 +01:00
Čarodej
ead4f65e1a refactor 2022-01-10 08:31:44 +01:00
Čarodej
8a64fe070b Merge remote-tracking branch 'origin/social_authentication' into subscription
# Conflicts:
#	.env.example
#	composer.lock
#	public/mix-manifest.json
#	resources/js/views/User/Password.vue
#	routes/api.php
#	src/App/Users/Actions/CreateNewUserAction.php
#	tests/App/Users/UserAccountTest.php
2022-01-10 07:38:56 +01:00
Milos Holba
f017be476f refactoring v1 2022-01-08 14:36:57 +01:00
Čarodej
0b5fcfe676 payment logo implementation 2022-01-07 17:36:39 +01:00
Čarodej
a2e6a3bd2f subscription Type Change via admin 2022-01-07 16:51:08 +01:00
Čarodej
e823e57c71 CopyShareLink.vue refactoring dark mode 2022-01-07 16:32:37 +01:00
Čarodej
a113fffbf0 CopyShareLink.vue refactoring 2022-01-07 16:26:54 +01:00
Čarodej
10c25cf9d5 CopyInput.vue refactoring 2022-01-07 13:49:00 +01:00
Čarodej
6a957fa9fc Payment setting frontend part 3 - added paypal 2022-01-07 13:29:06 +01:00
Čarodej
5d2071ea91 Payment setting frontend part 3 - added paystack 2022-01-07 13:06:54 +01:00
Čarodej
e892e0e94f Payment setting frontend part 2 - payment setup front/backend 2022-01-07 12:42:47 +01:00
Čarodej
8b7a80e10d Payment setting frontend part 1 2022-01-07 09:53:59 +01:00
Čarodej
86dac75071 added Toggle Grid/List View into the spotlight 2022-01-06 15:05:45 +01:00
Čarodej
31ec9b4fda context menu fix 2022-01-06 14:35:11 +01:00
Čarodej
21b838eda4 popover fix 2022-01-06 14:17:20 +01:00
Čarodej
e5e713659e Frontend upload restrict consolidation 2022-01-06 12:24:27 +01:00
Čarodej
8d53ed1531 - Frontend restriction shared page 2022-01-06 11:05:49 +01:00
Čarodej
05f6023053 - Frontend restriction alerts 2022-01-05 18:57:02 +01:00
Čarodej
29a954e21b - Refactoring
- Download restriction
2022-01-05 18:29:07 +01:00
Čarodej
ec29764c3f - Restrictions for team folders 2022-01-05 17:52:08 +01:00
Čarodej
b4887cea0e - Restriction UI warning
- create folder restriction
- fixed UI bugs
2022-01-05 12:48:07 +01:00
Čarodej
c7c11fe5b9 Limitation API skelet with can upload tests 2022-01-05 11:20:57 +01:00
Čarodej
49c6f25acb UI improvements 3 2022-01-04 06:47:59 +01:00
Čarodej
3b4085f0ca UI improvements 2 2022-01-03 17:27:39 +01:00
Čarodej
09d8b84870 Subscription UI refactoring 2022-01-03 16:18:36 +01:00
Čarodej
9d189b3d12 upgrade plan UI improvements 2022-01-03 11:14:27 +01:00
Čarodej
2363592dcd full screen mode 2021-12-31 14:11:10 +01:00
Čarodej
22733619d1 Socialite callback test 2021-12-31 12:23:44 +01:00
Čarodej
4ab5e17068 translation update 2021-12-30 16:05:18 +01:00
Čarodej
50abdc3266 transaction UI refactoring 2021-12-30 15:42:09 +01:00
Čarodej
6f5b3c05ad List failed payments 2021-12-30 15:25:34 +01:00
Čarodej
aa8851aacb refactoring 2021-12-30 11:03:57 +01:00
Čarodej
0cc3285ee9 delete credit card 2021-12-29 11:19:27 +01:00
Čarodej
6ec3c88690 list credit card in metered billing 2021-12-29 10:24:49 +01:00
Čarodej
88948af6d9 - credit/card refactoring 2021-12-28 19:06:16 +01:00
Čarodej
da69898051 - set payment card frontend 2021-12-28 17:08:10 +01:00
Čarodej
47e834c368 - register stripe payment method 2021-12-28 16:26:12 +01:00
Čarodej
0194e546fd - transaction type for metered billing in transaction tables 2021-12-23 17:12:51 +01:00
Čarodej
f88ed999c5 - process single charge 2021-12-23 13:07:41 +01:00
Čarodej
606765561d - charge members 2021-12-22 18:45:07 +01:00
Čarodej
b1cb7be678 - Create/Update metered billing plan 2021-12-22 09:05:15 +01:00
Čarodej
6bb7789232 - Flat fee implementation
- Fixed/Metered plan pages
2021-12-21 17:28:17 +01:00
Čarodej
60b34e53a3 - Storage, users page refactoring 2021-12-21 13:49:37 +01:00
Čarodej
f5e182baf6 format 2021-12-21 10:34:15 +01:00
Čarodej
dc0dedffea Merge remote-tracking branch 'origin/thumbnails_queue' into subscription
# Conflicts:
#	public/mix-manifest.json
#	src/Domain/Files/Models/File.php
#	webpack.mix.js
2021-12-21 10:33:05 +01:00
Čarodej
56a5bfd483 refactoring 2021-12-21 10:26:45 +01:00
Čarodej
534d474307 fixes 2021-12-21 09:15:47 +01:00
Milos Holba
22ae148a22 added socialite provider for the user 2021-12-20 15:15:05 +01:00
Čarodej
e5a2be112b update/delete billing alert 2021-12-18 16:52:11 +01:00
Čarodej
401b511b40 showing storage size refactoring 2021-12-17 11:23:02 +01:00
Čarodej
afb8323541 set/update/delete billing alert 2021-12-17 10:44:50 +01:00
Čarodej
04e46b7fcb tests fix 2021-12-17 08:36:32 +01:00
Milos Holba
f37c4f62b7 create Socialite Login/Register 2021-12-16 14:07:33 +01:00
Čarodej
27753f30ad format usage estimates refactoring & test 2021-12-16 13:44:36 +01:00
Čarodej
b4dfbd1623 Balance & Estimates backend implementation 2021-12-15 17:52:01 +01:00
Čarodej
b368d56bbc - balance implementation
- invoice refactoring
2021-12-15 11:24:41 +01:00
Čarodej
6cb3503870 metered subscription page 2021-12-15 10:53:59 +01:00
Čarodej
bb7831f717 credit usage fe implementation mobile 2021-12-15 08:54:48 +01:00
Čarodej
43738bf8db - SidebarNavigation refactored
- credit usage fe implementation
2021-12-15 08:38:44 +01:00
Čarodej
d8a33703ab filter suggestions 2021-12-14 17:59:22 +01:00
Čarodej
86eee2f533 spotlight functions indexing 2021-12-14 17:14:02 +01:00
Čarodej
342d07126a spotlight page indexing 2021-12-14 16:02:50 +01:00
Čarodej
5439ba1aae spotlight tweaks 2021-12-14 13:54:01 +01:00
Čarodej
42487d43f1 actions implementation for spotlight 2021-12-14 12:00:25 +01:00
Čarodej
9275487cfa record daily usage 2021-12-10 16:37:00 +01:00
Čarodej
26f367031e updated transaction tables 2021-12-10 11:00:30 +01:00
Milos Holba
e645eebc4d move create folder structure to new action 2021-12-09 12:49:38 +01:00
Milos Holba
5382da0b1f add image width variable to generation thumbnail queue action 2021-12-08 18:50:27 +01:00
Milos Holba
c6b4a767da fix thumbnail generation mutated data 2021-12-08 12:25:20 +01:00
Čarodej
78a6cf0c92 update payments constraints for UI 2021-12-07 08:09:52 +01:00
Čarodej
9e4de3657e spotlight action concept 2021-12-06 06:50:31 +01:00
Čarodej
2d0a166ad7 spotlight action concept 2021-12-06 06:33:32 +01:00
Čarodej
17a40ea808 stripe checkout button 2021-12-05 14:22:01 +01:00
Čarodej
0179dcb068 stripe logo added 2021-12-02 16:14:23 +01:00
Milos Holba
7d685fa166 thumbnail generation refectoring 2021-12-01 22:25:58 +01:00
Čarodej
8242ba860f traffic sorting 2021-12-01 15:13:02 +01:00
Čarodej
dd3e477593 added search button for users admin page 2021-12-01 09:42:47 +01:00
Čarodej
b08662b307 spotlight ability to search users with 'u ' keyword 2021-12-01 09:19:51 +01:00
Čarodej
de047f7dd8 record daily traffic instead of monthly 2021-11-30 17:57:00 +01:00
Čarodej
ca257ae113 - set default_max_team_member
- generate traffic for all users
2021-11-30 17:46:21 +01:00
Čarodej
c7c81dda34 get data from dataabse and upload/download storage chart 2021-11-30 17:32:25 +01:00
Milos Holba
e5322d6c2e delete from TrashTest old thumbnail test 2021-11-30 16:23:06 +01:00
Milos Holba
067c123aa8 make queue for thumbnails generation 2021-11-30 15:49:33 +01:00
Čarodej
751ebcb7eb upload/download storage chart 2021-11-30 10:53:09 +01:00
Čarodej
69e167a337 update payments method for subscription 2021-11-30 09:01:47 +01:00
Čarodej
7f0d00017f feb 2021-11-29 10:34:02 +01:00
Čarodej
d80fa81f36 feb 2021-11-29 10:25:51 +01:00
Čarodej
fa3cb93b19 sorting datatables 2021-11-29 08:01:12 +01:00
Čarodej
5d4486a4ad progress line refactoring 2021-11-29 06:49:31 +01:00
Čarodej
8456aaf01e frontend validation of team members limitation 2021-11-26 16:44:23 +01:00
Čarodej
459087337c team members limitation frontend/backend 2021-11-26 10:53:30 +01:00
Čarodej
5626a054da refactoring 2021-11-26 07:48:38 +01:00
Čarodej
64e8bccb31 - user subscribe deletion
- fixes
2021-11-26 06:57:16 +01:00
Čarodej
16823b9566 routes refactoring 2021-11-25 15:51:46 +01:00
Čarodej
13287ce6b0 paystack dark mode logo 2021-11-25 14:25:19 +01:00
Čarodej
7f6598238e create plan page refactoring 2021-11-25 14:19:04 +01:00
Čarodej
3bfca2ac83 implemented subscription page 2021-11-25 10:11:50 +01:00
Čarodej
03ddb61d33 plan details refactoring 2021-11-25 09:47:26 +01:00
Čarodej
d8f1f396d5 plan pages refactoring 2021-11-25 09:35:12 +01:00
Čarodej
936af4497b plan list refactoring 2021-11-25 07:41:09 +01:00
Čarodej
2fb3cff98b admin menu refactoring 2021-11-25 07:09:16 +01:00
Čarodej
4e069b98f6 added logo to the transaction service 2021-11-25 07:03:01 +01:00
Čarodej
9503ecbd79 labels fix 2021-11-24 18:06:11 +01:00
Čarodej
f71a31ab78 dark mode improvements 2021-11-24 17:59:05 +01:00
Čarodej
be04715f8b added user into transaction list 2021-11-24 17:13:12 +01:00
Čarodej
8ff3b408cc invoice admin page 2021-11-24 16:57:03 +01:00
Čarodej
b447d2ea83 cancel subscription 2021-11-24 16:11:13 +01:00
Čarodej
7fe576ba26 subscription detail page 2021-11-24 10:31:37 +01:00
Čarodej
913bdf70ad tables refactoring 2021-11-24 07:03:41 +01:00
Čarodej
f711ec7d89 tables refactoring 2021-11-23 16:26:38 +01:00
Čarodej
946dfa7d99 storage page refactoring 2021-11-23 15:53:18 +01:00
Čarodej
c5aadd3c6e refactoring 2021-11-23 10:39:44 +01:00
Čarodej
884c36a5a3 card navigation refactoring 2021-11-23 10:31:45 +01:00
Čarodej
b6c77a6685 popups form refactoring 2021-11-23 09:23:25 +01:00
Čarodej
21d75678c0 pages refactoring 2021-11-23 08:24:56 +01:00
Čarodej
78541c1c3c language editor refactoring 2021-11-23 08:01:43 +01:00
Čarodej
0ad8afcfe2 admin settings inputs refactoring 2021-11-23 07:09:03 +01:00
Čarodej
d958da933d users inputs refactoring 2021-11-23 06:51:18 +01:00
Čarodej
d039700b90 user inputs refactoring 2021-11-22 19:22:59 +01:00
Čarodej
4ea46f5e81 page inputs refactoring 2021-11-22 18:01:30 +01:00
Čarodej
88234d5748 user profile inputs refactoring 2021-11-22 17:55:49 +01:00
Čarodej
6dd40df7d5 settings inputs refactoring 2021-11-22 17:41:46 +01:00
Čarodej
79281e80f6 language editor refactor 2021-11-22 16:37:11 +01:00
Čarodej
67bbc79f20 pages refactor 2021-11-22 16:00:44 +01:00
Čarodej
d798f06d36 users page refactor part 2 2021-11-22 15:54:25 +01:00
Čarodej
9cece789a0 users page refactor 2021-11-22 14:50:00 +01:00
Čarodej
054c0eb32c user profile page refactor 2021-11-22 14:39:57 +01:00
Čarodej
a2e0c1810d user admin page refactor 2021-11-22 11:17:14 +01:00
Čarodej
d16a37f2ed settings page refactor 2021-11-22 10:47:24 +01:00
Čarodej
0a4d5dea8a searchbar tweaks 2021-11-22 08:33:48 +01:00
Čarodej
8faa865fb7 handle SubscriptionWasCreated, SubscriptionWasExpired, SubscriptionWasUpdated on VueFileManager backend 2021-11-19 19:53:16 +01:00
Čarodej
6ca84d9041 implementation of user limits and refactoring 2021-11-19 18:44:46 +01:00
Čarodej
4851fb5eab append subscription to the UserResource.php 2021-11-19 17:40:57 +01:00
Čarodej
7c5cb79677 event implementation 2021-11-19 17:08:49 +01:00
Čarodej
496a6ea5a7 composer update 2021-11-19 16:21:50 +01:00
Čarodej
f402141bfb removed old subscription backend 2021-11-19 16:18:27 +01:00
Čarodej
34eaf3e411 - currency computes removed
- billable namespace update
2021-11-18 16:06:14 +01:00
Čarodej
6514102df2 feb 2021-11-16 17:21:03 +01:00
Čarodej
c7dab4b268 - get plans via api
- subscribe to plan at the frontend
2021-11-11 14:57:53 +01:00
Čarodej
8387467ee7 paypal test 2021-11-11 06:53:25 +01:00
Čarodej
9744344146 set storage in event handleSubscriptionWasCreated 2021-11-10 06:55:56 +01:00
Čarodej
a5b8744082 receive events from subscription package 2021-11-09 08:31:09 +01:00
Čarodej
eb22f25b07 receive events from subscription package 2021-11-08 15:54:38 +01:00
Čarodej
0cc39f8575 FEB 2021-11-08 10:19:59 +01:00
Čarodej
9d52da4e3a - paystack test
- FEB
2021-11-08 09:27:50 +01:00
Čarodej
18ff8a6dc7 - test refactoring
- removed laravel/cashier
2021-11-06 16:07:31 +01:00
Čarodej
1f5f0a7fbb subscription installation 2021-11-06 15:55:04 +01:00
MakingCG
73cd950054 Fix backend code styling 2021-11-05 06:02:23 +00:00
Čarodej
5c12334d92 Merge remote-tracking branch 'origin/master' 2021-11-05 07:01:53 +01:00
Čarodej
8b5e5fecfb Transfer Content Ownership To Team Folder Owner after member was deleted by author of team folder 2021-11-05 07:01:44 +01:00
MakingCG
77d14a9d80 Fix backend code styling 2021-11-04 16:38:21 +00:00
Čarodej
02582f2ae3 Merge remote-tracking branch 'origin/master' 2021-11-04 17:37:47 +01:00
Čarodej
d600ee7830 Transfer Content Ownership To Team Folder Owner 2021-11-04 17:37:25 +01:00
Čarodej
8d8fdbf9ba action:confirmed fix in leaving shared folder 2021-11-04 10:45:27 +01:00
MakingCG
de9d91da62 Fix backend code styling 2021-11-04 09:21:28 +00:00
Čarodej
29cb889283 Merge remote-tracking branch 'origin/teams'
# Conflicts:
#	public/chunks/admin-account.js
#	public/chunks/admin.js
#	public/chunks/app-appearance.js
#	public/chunks/app-billings.js
#	public/chunks/app-email.js
#	public/chunks/app-index.js
#	public/chunks/app-language.js
#	public/chunks/app-others.js
#	public/chunks/app-payments.js
#	public/chunks/app-setup.js
#	public/chunks/billings-detail.js
#	public/chunks/contact-us.js
#	public/chunks/database.js
#	public/chunks/environment-setup.js
#	public/chunks/installation-disclaimer.js
#	public/chunks/page-edit.js
#	public/chunks/plan-create.js
#	public/chunks/plan-delete.js
#	public/chunks/plan-settings.js
#	public/chunks/plan-subscribers.js
#	public/chunks/platform.js
#	public/chunks/profile.js
#	public/chunks/settings-create-payment-methods.js
#	public/chunks/settings-invoices.js
#	public/chunks/settings-password.js
#	public/chunks/settings-payment-methods.js
#	public/chunks/settings.js
#	public/chunks/shared.js
#	public/chunks/shared/single-file.js
#	public/chunks/status-check.js
#	public/chunks/stripe-credentials.js
#	public/chunks/subscription-plans.js
#	public/chunks/upgrade-billing.js
#	public/chunks/upgrade-plan.js
#	public/chunks/user-create.js
#	public/chunks/user-delete.js
#	public/chunks/user-detail.js
#	public/chunks/user-invoices.js
#	public/chunks/user-password.js
#	public/chunks/user-storage.js
#	public/js/main.js
#	public/mix-manifest.json
2021-11-04 10:20:33 +01:00
Čarodej
ee86fbbe66 - convert folders into teams folders in convert/delete events
- composer update
2021-11-04 10:05:29 +01:00
Čarodej
aec5b98313 - mark folder as team folder after folder was created
- show members in spotlight search
2021-11-04 09:14:12 +01:00
Čarodej
5a9f2985c9 search team folder contents 2021-11-04 08:06:37 +01:00
Čarodej
cdaad931bb format 2021-11-03 17:34:46 +01:00
Čarodej
98823504ba Generate thumbnails for demo data fix 2021-11-03 17:24:30 +01:00
Čarodej
6203581893 Generate thumbnails for demo data 2021-11-03 17:10:23 +01:00
Čarodej
f139dbae08 Generate multiple avatar sizes for better performance loading and frugal traffic 2021-11-03 16:28:14 +01:00
Čarodej
dc8ec5f20b Generate multiple avatar sizes 2021-11-02 16:11:53 +01:00
Čarodej
9b2dbe06c7 - filebrowser contextmenu fix 2021-11-02 10:06:18 +01:00
Čarodej
23602f5e4f - border fix in share popup
- folder icon fix
2021-11-02 09:29:12 +01:00
Čarodej
b232701783 file filter icon change 2021-11-02 08:29:59 +01:00
Čarodej
54167ae366 Move item popup refactoring 2021-11-02 08:13:09 +01:00
Čarodej
ffbf809b1e team list debugging 2021-11-01 18:24:05 +01:00
Čarodej
bf4d860bb8 - add button to email input in team popup 2021-11-01 16:20:14 +01:00
Čarodej
4e86e7dd4b - toaster fix
- go back animation in location title
2021-11-01 15:58:56 +01:00
Čarodej
60a2a88805 spotlight to tailwind refactoring 2021-11-01 13:05:17 +01:00
Čarodej
e6133d6071 Fixes:
- [x] Ipad landscape in teams missing heads widget
- [x] Ipad portrait (sm) full screen mode
- [x] Ipad landscape add file handler button
- [x] In recent upload, shared items and trash is search instead spotlight text button
- [x] Dissapearing mobile context menu animation is buggy
- [x] Fileitemgrid in single shared item refactoring
- [x] Ipad landscape add eye icon to show info details list/grid
2021-11-01 11:22:23 +01:00
Čarodej
1e515ede88 - dark mode fixes
- sort reloading
2021-10-29 17:54:34 +02:00
Čarodej
57506fc34f text fixes 2021-10-29 17:25:50 +02:00
Čarodej
06bb51989e empty page fix
grid fix
auth page fix
2021-10-29 17:22:33 +02:00
Čarodej
b1a6fc3bf2 spotlight fix 2021-10-29 16:38:52 +02:00
Čarodej
351d57b103 UI fixes & refactoring 2021-10-29 15:58:54 +02:00
Čarodej
2d7b6e4e05 $showMobileMenu helper implementation 2021-10-29 11:51:46 +02:00
Čarodej
ce846cc076 Teams mobile implementation 2021-10-29 11:43:55 +02:00
Čarodej
0f08d9fe38 ui fixes 2021-10-29 09:59:26 +02:00
Čarodej
d018dcba06 - search UI icon in desktop implemented
- spotlight refactoring
2021-10-28 15:44:54 +02:00
Čarodej
ceb1e5c9dd grid enhancement 2021-10-28 15:23:52 +02:00
Čarodej
b53d9fb93a grid view implementation 2021-10-28 14:49:12 +02:00
Čarodej
240880e2ad file browser refactoring 2021-10-28 09:18:55 +02:00
Čarodej
3dfee77042 mobile fixes 2021-10-28 08:49:35 +02:00
Čarodej
9c26c764bd File icons refactoring 2021-10-28 07:45:55 +02:00
Čarodej
407f2d2874 File item refactoring 2021-10-27 16:48:43 +02:00
Čarodej
cd44274690 EmptyFilePage fix 2021-10-27 10:14:02 +02:00
Čarodej
265cc393e1 EmptyFilePage refactoring 2021-10-27 10:04:36 +02:00
Čarodej
21d6410f76 file view refactoring 2021-10-27 09:53:59 +02:00
Čarodej
e3ddf27023 optimized browsing 2021-10-26 10:14:33 +02:00
Čarodej
15e154176d - ability leave team folder
- refactoring
2021-10-26 09:05:08 +02:00
Čarodej
6ef50978d5 fixes 2021-10-26 07:56:57 +02:00
Čarodej
54af098148 TeamMembersButton.vue tailwind refactoring 2021-10-26 07:06:45 +02:00
Čarodej
fda82d6dbf dark mode for teams 2021-10-26 06:57:40 +02:00
Čarodej
d4990d8d5f Team member preview refactoring 2021-10-25 18:03:43 +02:00
Čarodej
524791f251 invitation page implementation 2021-10-25 17:14:27 +02:00
Čarodej
b45662942d headline refactoring in auth pages 2021-10-25 10:33:14 +02:00
Čarodej
3f93373f60 issue fixing 2021-10-25 09:53:24 +02:00
Čarodej
018b973c0f tailwind refactoring 2021-10-25 09:09:46 +02:00
Čarodej
133dd5285d tailwind implementation 2021-10-25 09:02:00 +02:00
Čarodej
3ec5166936 added file owner into file detail panel 2021-10-25 08:30:41 +02:00
Čarodej
69fccfeaad show owner in team members information 2021-10-25 08:06:51 +02:00
Čarodej
c9631a9727 author thumbnail in file 2021-10-22 17:48:42 +02:00
Čarodej
841c1db54a implemented navigation tree controller for teams 2021-10-22 16:39:53 +02:00
Čarodej
705281325f DesktopToolbar.vue team members widget resolving 2021-10-22 10:53:04 +02:00
Čarodej
cea881ce38 clear SharedWithMe.vue view 2021-10-22 09:50:27 +02:00
Čarodej
3fee035e9e clear SharedWithMe.vue view 2021-10-22 08:43:19 +02:00
Čarodej
2aac3fc966 - protect edition of team folder from team member
- zip migration deleted
2021-10-22 08:08:56 +02:00
Čarodej
07b249346b get and browse team folders shared with me 2021-09-24 16:56:18 +02:00
Čarodej
37cad85a86 TeamFoldersController@show refactored 2021-09-24 11:32:32 +02:00
Čarodej
19cc01131b - gate implementation
- protected shared view fix
2021-09-24 10:52:19 +02:00
Čarodej
d40108f6a9 addded new folder icon 2021-09-22 17:58:10 +02:00
Čarodej
f715cd897f - moving files fix 2021-09-22 16:41:55 +02:00
Čarodej
a9556896ca encoding troubleshooting 2021-09-08 18:18:36 +02:00
Peter Papp
1db153aeef unit test fixes 2021-08-31 16:09:11 +02:00
Peter Papp
6f9b6835a7 TeamFolders.vue refactoring 2021-08-31 15:36:44 +02:00
Peter Papp
d1cb1a378b desktop toolbar refactoring 2021-08-31 15:14:55 +02:00
Peter Papp
c916916a4d navigation after created team folder 2021-08-31 14:36:40 +02:00
Peter Papp
a3516769de team folder browsing with static team folder details 2021-08-31 14:08:47 +02:00
Peter Papp
f44e262d6e TypedAvatar.vue colored background 2021-08-31 09:52:22 +02:00
Peter Papp
ac62a432fe added TypedAvatar.vue component 2021-08-30 15:06:26 +02:00
Peter Papp
2bfdf5c311 TeamMembersPreview refactoring 2021-08-30 14:43:52 +02:00
Peter Papp
e751a6bc90 team folder generator 2021-08-30 09:16:48 +02:00
Peter Papp
eb38ca8c9a api resource refactoring part 6 2021-08-27 16:42:13 +02:00
Peter Papp
4304fb1ddb api resource refactoring part 5 2021-08-27 13:02:28 +02:00
Peter Papp
7984ce3ef1 api resource refactoring part 4 2021-08-27 11:23:17 +02:00
Peter Papp
d299183ecd api resource refactoring part 3 2021-08-27 11:01:44 +02:00
Peter Papp
174f2a2c1f api resource refactoring part 2 2021-08-27 10:05:20 +02:00
Peter Papp
e0e060e5a1 api resource refactoring 2021-08-27 09:41:14 +02:00
Peter Papp
5c6a873b02 - added file resource
- frontend refactoring
2021-08-26 18:01:57 +02:00
Peter Papp
f5f2179145 added folder resource 2021-08-26 15:06:39 +02:00
Peter Papp
bee7352b28 team folders page 2021-08-26 12:20:36 +02:00
Peter Papp
7020720392 added request validators 2021-08-25 17:53:15 +02:00
Peter Papp
8282defbe3 updating team members/invitations 2021-08-25 17:37:07 +02:00
Peter Papp
49c147f609 - it_update_member_permission_in_team_folder
- it_remove_member_from_team_folder
- it_add_member_into_team_folder
2021-08-24 18:38:43 +02:00
Peter Papp
dfa82535eb - it_update_member_permission_in_team_folder
- it_remove_member_from_team_folder
- it_add_member_into_team_folder
2021-08-24 18:28:20 +02:00
Peter Papp
bcfe813e1e it_get_team_folders_shared_with_another_user 2021-08-24 17:24:36 +02:00
Peter Papp
78bf913d92 it_get_content_of_team_folder 2021-08-24 17:04:11 +02:00
Peter Papp
0c6621494e it_get_all_team_folders 2021-08-24 16:54:05 +02:00
Peter Papp
e0ecfce382 it_dissolve_team_folder 2021-08-24 14:25:10 +02:00
Peter Papp
80a86bbddd it_convert_folder_into_team_folder 2021-08-24 14:05:32 +02:00
Peter Papp
60f0f3c329 it_reject_team_folder_invite 2021-08-24 13:39:05 +02:00
Peter Papp
d53a4964ae it_accept_team_folder_invite 2021-08-24 13:29:45 +02:00
Peter Papp
ca1d037975 create team folder 2021-08-24 10:58:03 +02:00
Peter Papp
fdd9c5a591 team folders test skelet 2021-08-24 09:12:57 +02:00
Peter Papp
d4e3957598 refactoring part 6 2021-08-24 09:03:42 +02:00
Peter Papp
f24d57d88d refactoring part 5 2021-08-23 17:55:38 +02:00
Peter Papp
fd313e3d83 refactoring part 4 2021-08-23 17:49:28 +02:00
Peter Papp
527a0790e3 refactoring part 3 2021-08-23 16:31:25 +02:00
Peter Papp
42210233dc refactoring part 2 2021-08-23 15:22:43 +02:00
Peter Papp
cc0436b8f3 refactoring part 1 2021-08-23 09:32:21 +02:00
Peter Papp
a926545146 navigation through public folders 2021-08-23 09:16:01 +02:00
Peter Papp
26e3194f21 public share navigation 2021-08-23 08:30:34 +02:00
Peter Papp
882b5543f0 team UI dark mode 2021-08-23 07:02:24 +02:00
Peter Papp
1f529ae7e0 MultiSelectToolbar.vue refactoring 2021-08-21 11:19:03 +02:00
Peter Papp
a6e60d2efa MobileContextMenu.vue refactoring 2021-08-21 10:53:56 +02:00
Peter Papp
d71dbea246 create list mobile refactoring 2021-08-21 09:47:30 +02:00
Peter Papp
5ac786fb4c mobile filter refactoring 2021-08-21 09:41:34 +02:00
Peter Papp
8cf6b6ea78 FileActionsMobile.vue refactoring 2021-08-21 09:21:36 +02:00
Peter Papp
a99cbc2841 panel navigator refactoring 2021-08-20 18:07:26 +02:00
Peter Papp
b23259309c empty page refactored 2021-08-20 17:51:58 +02:00
Peter Papp
b5a8fe8b1a current folder functionality 2021-08-20 17:36:46 +02:00
Peter Papp
c697f8a451 vue routes refactoring 2021-08-20 17:00:35 +02:00
Peter Papp
fb6dfbe7b4 DesktopToolbar.vue refactoring 2021-08-20 16:49:51 +02:00
Peter Papp
15fba236d7 - added recent uploads
- added my shared items
- added trash
2021-08-20 11:08:50 +02:00
Peter Papp
99e9c0086e contextmenu refactoring 2021-08-20 09:54:00 +02:00
Peter Papp
c57a244ae1 reorganization of FileView 2021-08-20 09:04:56 +02:00
Peter Papp
e13a2cd18f UI changes for team folders 2021-08-19 18:14:38 +02:00
Peter Papp
58b7e6d584 added CreateTeamFolderPopup.vue 2021-08-19 10:42:46 +02:00
Peter Papp
1d569f13c2 added team into DesktopToolbar.vue 2021-08-19 07:55:52 +02:00
MakingCG
a521f88859 Application Build 2021-08-19 04:37:21 +00:00
Peter Papp
a824e4d78e delete index.html 2021-08-19 06:35:16 +02:00
Milos Holba
3d491c7e58 added FolderUploadIcon 2021-08-18 18:51:25 +02:00
Peter Papp
52842c61e5 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	public/mix-manifest.json
2021-08-18 18:50:33 +02:00
Milos Holba
4e3e63ba00 new test for folders upload 2021-08-18 18:50:32 +02:00
Peter Papp
0c7a416cb5 generate iframe from shared link 2021-08-18 18:50:22 +02:00
Peter Papp
63b4aa0e1d Create share record popup changes 2021-08-18 16:58:52 +02:00
Milos Holba
09dfaaa34a fix upload progress count 2021-08-17 17:41:56 +02:00
Milos Holba
a4231ea30a added folder upload via Upload Folder button 2021-08-17 15:08:13 +02:00
Milos Holba
387c824647 Merge remote-tracking branch 'origin/master' into folders_upload 2021-08-11 17:46:57 +02:00
Milos Holba
ec2a10e32f fixed upload files in the nested levels of folders 2021-08-11 17:15:02 +02:00
MakingCG
34a1f31f96 Application Build 2021-08-11 07:22:32 +00:00
Peter Papp
20b26ce57d Merge remote-tracking branch 'origin/spotlight'
# Conflicts:
#	public/mix-manifest.json
2021-08-11 09:18:47 +02:00
Milos Holba
717f28608f folder upload 2021-08-10 17:50:08 +02:00
Peter Papp
dc60ba972f frontend refactoring 2021-08-10 17:49:22 +02:00
Peter Papp
98688b81c0 file preview refactoring 2021-08-10 11:43:05 +02:00
Peter Papp
843a1bc690 single file preview in spotlight 2021-08-10 11:14:04 +02:00
Peter Papp
8b360edb2b mobile spotlight fix 2021-08-10 10:24:16 +02:00
Peter Papp
1175724e43 mobile spotlight 2021-08-10 10:19:10 +02:00
Peter Papp
79295e77b6 spotlight optimizing UI 2021-08-10 08:38:57 +02:00
Peter Papp
f78cedbc0c spotlight desktop UI 2021-08-10 08:16:34 +02:00
MakingCG
cea889d912 Application Build 2021-08-09 08:17:14 +00:00
Peter Papp
98691dcdd4 desktop searchbar restyle 2021-08-09 10:15:30 +02:00
Peter Papp
6a6e05f035 - mobile create menu 2021-08-09 10:03:58 +02:00
Peter Papp
60337934cb - removed participant upload 2021-08-09 09:38:08 +02:00
Peter Papp
9a80c044fc added create icon into desktopToolbar 2021-08-09 09:23:10 +02:00
MakingCG
5341fbedc6 Fix backend code styling 2021-07-29 14:12:15 +00:00
Peter Papp
53f667372d Merge remote-tracking branch 'origin/zipstream' 2021-07-29 16:11:02 +02:00
Peter Papp
cd39606905 shared page password error fix 2021-07-29 16:10:21 +02:00
Peter Papp
2d6f375c8b setup wizard StoreEnvironmentSettingsController.php tweaks 2021-07-29 16:04:27 +02:00
Peter Papp
46dcdc5e94 s3 template in .env.example 2021-07-29 13:41:25 +02:00
Peter Papp
79826a3601 comments 2021-07-29 13:38:26 +02:00
Peter Papp
826e90c087 single folder zip name 2021-07-29 13:34:43 +02:00
Peter Papp
087b6e77cc upload chunk fix 2021-07-29 13:22:39 +02:00
Peter Papp
94f30e5c9f fe build 2021-07-29 13:08:40 +02:00
Peter Papp
1f1f646f62 visitor zipping 2021-07-29 13:01:25 +02:00
Peter Papp
0ea7447901 user zipping 2021-07-29 10:51:58 +02:00
Peter Papp
1b893d59ea zip unit testing 2021-07-29 09:29:02 +02:00
Peter Papp
6a805b03fa deleted old files 2021-07-28 18:33:13 +02:00
Peter Papp
71a1eb8e7c Zipping on the fly 2021-07-28 18:16:20 +02:00
MakingCG
3823fb22d9 Fix backend code styling 2021-07-24 09:35:00 +00:00
Peter Papp
8810880616 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	public/mix-manifest.json
2021-07-24 11:34:11 +02:00
Peter Papp
cb496281b7 Implemented setup wizard server check functionality 2021-07-24 11:33:58 +02:00
MakingCG
a65ec6e8c7 Application Build 2021-07-23 16:15:56 +00:00
Peter Papp
7576904587 Merge remote-tracking branch 'origin/master' 2021-07-23 18:14:05 +02:00
Peter Papp
f8cb879e42 queueable email sharing 2021-07-23 18:13:58 +02:00
MakingCG
5f4fa23a68 Fix backend code styling 2021-07-23 15:54:00 +00:00
Peter Papp
c2771be913 Merge remote-tracking branch 'origin/master' 2021-07-23 17:53:28 +02:00
Peter Papp
7a85a03fea added user_with_full_storage_capacity_try_to_upload_new_file 2021-07-23 17:53:17 +02:00
Peter Papp
5c848f75a6 set default charset and collation into db migrations 2021-07-23 17:41:42 +02:00
Peter Papp
7b65d868c4 - added it_test_user_timezone
- refactored set_time_by_user_timezone
2021-07-23 17:36:05 +02:00
MakingCG
35fefdc383 Fix backend code styling 2021-07-23 15:17:30 +00:00
Peter Papp
32d54fa50e Dark mode switcher 2021-07-23 17:16:42 +02:00
Peter Papp
be2690fd1c Merge remote-tracking branch 'origin/master'
# Conflicts:
#	.php-cs-fixer.cache
2021-07-23 13:28:50 +02:00
Peter Papp
eaec744356 Disable account registering from disabled email provider 2021-07-23 13:28:40 +02:00
Peter Papp
8951ebc69f php cs fixer tweak 2021-07-23 10:50:29 +02:00
MakingCG
c38ecb412b Fix backend code styling 2021-07-22 15:39:39 +00:00
Peter Papp
d190eeb46d Merge remote-tracking branch 'origin/master' 2021-07-22 17:39:12 +02:00
Peter Papp
03fc533848 php unit fixes 2021-07-22 17:39:01 +02:00
MakingCG
7cb485fb43 Fix backend code styling 2021-07-22 15:28:36 +00:00
Peter Papp
fffede1c10 fixes 2021-07-22 17:26:22 +02:00
Peter Papp
093c9451ec Refactoring 2021-07-22 14:24:07 +02:00
Peter Papp
69eb8dacce share delete fix 2021-07-22 12:39:32 +02:00
Peter Papp
b0e8bfa3ce Setup Wizard middleware implemented 2021-07-22 12:27:36 +02:00
Peter Papp
5167f082f7 controller refactoring part 25 2021-07-22 07:49:25 +02:00
Peter Papp
6d8a7a429c controller refactoring part 24 2021-07-21 18:46:55 +02:00
Peter Papp
54f1f4c9a8 controller refactoring part 24 2021-07-21 18:14:23 +02:00
Peter Papp
91cb795054 controller refactoring part 23 2021-07-21 18:00:45 +02:00
Peter Papp
9fb9b8a1b0 controller refactoring part 22 2021-07-21 17:21:19 +02:00
Peter Papp
d55f5c3b41 controller refactoring part 21 2021-07-21 17:20:19 +02:00
Peter Papp
91fc7f2d9d controller refactoring part 20 2021-07-21 12:22:26 +02:00
Peter Papp
3860faf851 controller refactoring part 19 2021-07-21 12:01:44 +02:00
Peter Papp
76e1cd1113 controller refactoring part 18 2021-07-21 11:41:50 +02:00
Peter Papp
dccf98602d controller refactoring part 17 2021-07-21 11:20:41 +02:00
Peter Papp
e0eaf5cede controller refactoring part 16 2021-07-21 10:00:41 +02:00
Peter Papp
58d8724cea controller refactoring part 15 2021-07-21 09:42:39 +02:00
Peter Papp
1534696e0d controller refactoring part 14 2021-07-21 09:01:51 +02:00
Peter Papp
b659f2ad8d controller refactoring part 13 2021-07-20 17:46:38 +02:00
Peter Papp
2333b52d68 controller refactoring part 12 2021-07-20 17:27:18 +02:00
Peter Papp
b0859f71cd controller refactoring part 11 2021-07-20 17:17:18 +02:00
Peter Papp
2d814f3839 controller refactoring part 10 2021-07-20 16:45:17 +02:00
Peter Papp
8b250e94cb controller refactoring part 9 2021-07-20 13:13:33 +02:00
Peter Papp
0633131a73 controller refactoring part 8 2021-07-20 12:54:54 +02:00
Peter Papp
dc98c839a2 controller refactoring part 7 2021-07-20 12:22:48 +02:00
Peter Papp
0232a7abeb controller refactoring part 6 2021-07-20 11:50:03 +02:00
Peter Papp
cde8b6aae3 controller refactoring part 5 2021-07-20 11:23:45 +02:00
Peter Papp
8c493395c4 controller refactoring part 4 2021-07-20 10:27:00 +02:00
Peter Papp
2e52af5275 controller refactoring part 3 2021-07-20 10:17:40 +02:00
Peter Papp
20a6404d8d controller refactoring part 2 2021-07-20 09:50:23 +02:00
Peter Papp
d6db2f3a7c controller refactoring part 1 2021-07-20 08:58:20 +02:00
Peter Papp
29d1b68dd5 namespaces refactoring part 3 2021-07-19 13:40:26 +02:00
Peter Papp
54dc57fcbf namespaces refactoring part 2 2021-07-18 18:05:33 +02:00
Peter Papp
8f77a497b5 namespaces refactoring 2021-07-18 17:21:37 +02:00
Peter Papp
a1778eab52 test groups refactoring 2021-07-18 16:53:12 +02:00
Peter Papp
18150cd920 test folder refactoring 2021-07-18 14:53:00 +02:00
Peter Papp
5046071f3a src folder refactoring 2021-07-18 14:43:50 +02:00
MakingCG
fc952d089b Fix backend code styling 2021-07-18 11:47:18 +00:00
Peter Papp
79e2dfc502 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	public/mix-manifest.json
2021-07-18 13:46:42 +02:00
Peter Papp
c14aefd5ea added translations for Personal Access Token UI 2021-07-18 13:46:31 +02:00
Peter Papp
a9a572c434 Personal Access Token page implementation 2021-07-18 13:32:08 +02:00
Peter Papp
ddf88304ff CreatePersonaTokenPopup implementation 2021-07-18 11:38:44 +02:00
Peter Papp
aeb5c8419a PersonalAccessTokenTest refactoring 2021-07-18 10:20:47 +02:00
MakingCG
49d8b5abd9 Application Build 2021-07-17 18:46:26 +00:00
Peter Papp
4384e50f34 Merge remote-tracking branch 'origin/master' 2021-07-17 20:44:25 +02:00
Peter Papp
90efc51359 it_get_user_data fix 2021-07-17 20:44:18 +02:00
MakingCG
ec6d11b7ae Fix backend code styling 2021-07-17 18:38:41 +00:00
Peter Papp
9ba3d9a6ba - PhpCsFixer rules 3.0 upgrade 2021-07-17 20:38:11 +02:00
Peter Papp
66cca02b36 Merge remote-tracking branch 'origin/master' 2021-07-17 20:36:26 +02:00
Peter Papp
c1d9622879 - removed token profile page
- PhpCsFixer fix
2021-07-17 20:36:11 +02:00
MakingCG
840bdc3878 Application Build 2021-07-17 18:27:49 +00:00
Peter Papp
460b95e6de Merge remote-tracking branch 'origin/2fa'
# Conflicts:
#	.php-cs-fixer.cache
#	config/language-translations.php
#	public/mix-manifest.json
#	resources/js/views/Auth/SignIn.vue
#	webpack.mix.js
2021-07-17 20:25:30 +02:00
Peter Papp
a438f8fb99 added "I have already 2FA app" into recovery 2fa page 2021-07-16 18:16:11 +02:00
Peter Papp
097a930245 Two Factor Recovery Codes functionality 2021-07-16 17:38:01 +02:00
Peter Papp
40866405fc twoFactorChallenge() refactoring 2021-07-16 11:26:27 +02:00
Peter Papp
d90af84311 2fa polishing 2021-07-16 11:00:46 +02:00
Peter Papp
cdd99f66b7 Merge remote-tracking branch 'origin/master' 2021-07-16 09:26:15 +02:00
Peter Papp
36cea4853f it_use_user_token_in_public_api_request test 2021-07-16 09:26:07 +02:00
MakingCG
d05e9bf43e Application Build 2021-07-15 12:03:29 +00:00
Peter Papp
8ac41837b2 Merge remote-tracking branch 'origin/email-verification'
# Conflicts:
#	composer.lock
#	public/mix-manifest.json
#	tests/TestCase.php
2021-07-15 14:00:43 +02:00
Peter Papp
157427c750 email verification review 2021-07-15 13:55:49 +02:00
MakingCG
e7cfa07392 Fix backend code styling 2021-07-09 10:05:40 +00:00
Peter Papp
82019f4833 safety functions helper 2021-07-09 12:05:09 +02:00
Milos Holba
838a412823 repeat login after fail of the 2fa code / recovery_code 2021-07-05 10:38:50 +02:00
Milos Holba
16eb105f03 Create TwoFactorAuthentication Popup 2021-06-30 13:37:44 +02:00
Milos Holba
14eaf6da4e 2fa page translation 2021-06-29 19:07:35 +02:00
Milos Holba
7d28e09042 add 2fa, make 2fa login page 2021-06-29 18:41:23 +02:00
Peter Papp
5215d7d38d Merge remote-tracking branch 'origin/master' 2021-06-29 18:31:28 +02:00
Peter Papp
dd271ea8cc composer upgrade 2021-06-29 18:31:21 +02:00
MakingCG
6397ce9a67 Application Build 2021-06-23 16:17:49 +00:00
Peter Papp
8568a815a0 Merge remote-tracking branch 'origin/master' 2021-06-23 18:15:52 +02:00
Peter Papp
6fc29eac8e language fix 2021-06-23 18:15:44 +02:00
MakingCG
449724e78a Fix backend code styling 2021-06-18 15:35:41 +00:00
Peter Papp
e5de408ab0 Merge remote-tracking branch 'origin/master' 2021-06-18 17:35:16 +02:00
Peter Papp
1c057e9f86 Mobile navigation fix with hidden back button 2021-06-18 17:35:05 +02:00
Peter Papp
f6f9199b87 Filename as original 2021-06-18 17:23:40 +02:00
MakingCG
cb99e105c0 Fix backend code styling 2021-06-15 16:37:41 +00:00
Peter Papp
24676e2392 Merge remote-tracking branch 'origin/master' 2021-06-15 18:37:11 +02:00
Peter Papp
c0da1b0b07 Alibaba OSS support 2021-06-15 18:37:03 +02:00
MakingCG
d7b8214406 Fix backend code styling 2021-06-15 16:04:53 +00:00
Peter Papp
3fc11b781b Merge remote-tracking branch 'origin/master' 2021-06-15 18:04:23 +02:00
Peter Papp
f2be4059cf Set app locale 2021-06-15 18:04:02 +02:00
Milos Holba
edfcf8e1bd changes in email verify function 2021-06-14 17:02:19 +02:00
MakingCG
081a69450a Fix backend code styling 2021-06-07 15:43:26 +00:00
Peter Papp
b50e0041e0 - chunking translations query
- language translations fallback
2021-06-07 17:42:53 +02:00
Peter Papp
847221d385 - chunking translations query 2021-06-07 16:42:18 +02:00
Milos Holba
2bba4f961a added Successfully verify email send route(Vue) 2021-05-31 18:19:42 +02:00
Milos Holba
359ae80e22 add user_verification option to settings for Setup Dev/Prod Enviroment 2021-05-29 12:55:04 +02:00
dependabot[bot]
dd489d48ba Bump dns-packet from 1.3.1 to 1.3.4
Bumps [dns-packet](https://github.com/mafintosh/dns-packet) from 1.3.1 to 1.3.4.
- [Release notes](https://github.com/mafintosh/dns-packet/releases)
- [Changelog](https://github.com/mafintosh/dns-packet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mafintosh/dns-packet/compare/v1.3.1...v1.3.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-29 06:01:28 +00:00
Milos Holba
9189d73df9 create AccessToken route(Vue) 2021-05-28 16:47:14 +02:00
Milos Holba
6456950081 Merge remote-tracking branch 'origin/master' into email-verification 2021-05-26 13:17:39 +02:00
Milos Holba
0df72b1803 change text in the successfully verified page 2021-05-26 13:08:31 +02:00
Milos Holba
904e2d705f change in backend-code-style-fix after rename the file 2021-05-22 19:41:09 +02:00
Milos Holba
4d078dc24a create new register route(Laravel) , create new email successfully verified route(Vue) 2021-05-22 19:36:02 +02:00
Milos Holba
a7e26cb61f update tests for the user email verification 2021-05-22 16:01:25 +02:00
Milos Holba
fd7a23225c added schedule for delete users older as 30 days 2021-05-22 13:12:03 +02:00
Milos Holba
0139cc92bf added user verification option in admin settings 2021-05-20 21:18:28 +02:00
MakingCG
7cefc8dfa1 Fix backend code styling 2021-05-17 09:50:10 +00:00
Peter Papp
0000909ec0 Merge remote-tracking branch 'origin/master' 2021-05-17 11:49:42 +02:00
Peter Papp
61824a511c - mad zipper hotfix 2021-05-17 11:49:19 +02:00
MakingCG
cb239fb3bc Fix backend code styling 2021-05-17 08:50:44 +00:00
Peter Papp
08099b9671 Merge remote-tracking branch 'origin/master' 2021-05-17 10:50:16 +02:00
Peter Papp
bb8a205b7e - php fixer upgrade 2021-05-17 10:50:06 +02:00
MakingCG
09dda32dfd Application Build 2021-05-17 08:47:48 +00:00
Peter Papp
790052804e - php fixer upgrade
- workflow update
- npm update
2021-05-17 10:45:50 +02:00
MakingCG
2e233990a2 Application Build 2021-05-15 05:28:00 +00:00
Peter Papp
8a1c20bf4a setup:dev fix 2021-05-15 07:26:02 +02:00
Peter Papp
6dc34964d8 upload fix 2021-05-15 07:22:57 +02:00
Peter Papp
d8bbfcd4d2 External storage fix 2021-05-14 20:03:07 +02:00
Peter Papp
26f23863c0 setup account fix 2021-05-14 19:31:23 +02:00
Milos Holba
32bc3bacc0 add user email verification 2021-05-14 11:41:48 +02:00
MakingCG
688f234ae1 Application Build 2021-05-11 08:36:10 +00:00
Peter Papp
6e330046b3 Added arrows to Option.vue component 2021-05-11 10:34:08 +02:00
Peter Papp
438ddbb868 removed padding in mobile pdf view 2021-05-11 10:16:12 +02:00
MakingCG
bcd4209aca Application Build 2021-05-11 06:38:21 +00:00
Peter Papp
88ac70bc67 Merge pull request #2 from MakingCG/dependabot/npm_and_yarn/axios-0.21.1
Bump axios from 0.19.2 to 0.21.1
2021-05-11 08:36:35 +02:00
Peter Papp
b31fb4f7d2 Merge pull request #1 from MakingCG/dependabot/npm_and_yarn/lodash-4.17.21
Bump lodash from 4.17.20 to 4.17.21
2021-05-11 08:36:24 +02:00
Peter Papp
862fc68134 Merge pull request #3 from MakingCG/dependabot/npm_and_yarn/url-parse-1.5.1
Bump url-parse from 1.4.7 to 1.5.1
2021-05-11 08:36:10 +02:00
Peter Papp
a04c2de84f Merge pull request #4 from MakingCG/dependabot/npm_and_yarn/hosted-git-info-2.8.9
Bump hosted-git-info from 2.8.8 to 2.8.9
2021-05-11 08:35:53 +02:00
dependabot[bot]
6ac8089cd7 Bump hosted-git-info from 2.8.8 to 2.8.9
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-11 06:33:58 +00:00
dependabot[bot]
f29a2571df Bump url-parse from 1.4.7 to 1.5.1
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.4.7 to 1.5.1.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.4.7...1.5.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-11 06:33:11 +00:00
dependabot[bot]
c0d1fa6965 Bump axios from 0.19.2 to 0.21.1
Bumps [axios](https://github.com/axios/axios) from 0.19.2 to 0.21.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.19.2...v0.21.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-11 06:32:42 +00:00
dependabot[bot]
499e4e8f7c Bump lodash from 4.17.20 to 4.17.21
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-11 06:32:01 +00:00
MakingCG
e9a1ad9f09 Application Build 2021-05-10 15:14:43 +00:00
Peter Papp
dccf006f1e Merge remote-tracking branch 'origin/master' 2021-05-10 17:12:43 +02:00
Peter Papp
a2e467b65d Merge remote-tracking branch 'origin/file-preview-context-menu'
# Conflicts:
#	composer.lock
#	public/mix-manifest.json
2021-05-10 17:12:20 +02:00
Peter Papp
3d876835f6 ContextMenu refactoring in file preview 2021-05-10 10:42:21 +02:00
Peter Papp
5e0007764e Stripe get plans fix 2021-05-10 08:07:41 +02:00
MakingCG
21142c1171 Application Build 2021-05-08 07:42:52 +00:00
Peter Papp
50bdac62dc fixed static issues 2021-05-08 09:41:10 +02:00
Peter Papp
ac75cb5d0f context menu skelet 2021-05-08 07:54:06 +02:00
Milos Holba
1ba685c484 make personal token for the users 2021-05-07 16:22:31 +02:00
MakingCG
8b3c6cfc27 Application Build 2021-05-06 14:04:22 +00:00
Peter Papp
f252a0ba23 Color input fix 2021-05-06 10:39:03 +02:00
Peter Papp
3c8d6ac862 Fixed renaming item in desktop 2021-05-06 10:23:10 +02:00
Peter Papp
bd881da856 - allow empty input
- allow svg avatar
2021-05-06 10:08:58 +02:00
Peter Papp
86b6844d62 PDF background shadow 2021-05-06 09:55:25 +02:00
Peter Papp
da38580504 - reverse pdf zoom icons
- store pdf zoom level into localstorage
2021-05-06 09:50:43 +02:00
Peter Papp
9fbd5fd472 removed shared files single page 2021-05-06 09:28:31 +02:00
MakingCG
6b43464e85 Fix backend code styling 2021-05-03 05:28:54 +00:00
Peter Papp
8c6e0321fd added spatie/laravel-tail 2021-05-03 07:28:26 +02:00
Peter Papp
25d9691a31 Merge remote-tracking branch 'origin/master' 2021-05-03 07:09:30 +02:00
Peter Papp
6052174b83 psalm implementation 2021-05-02 16:27:18 +02:00
Peter Papp
583d65a1da php 8 support 2021-05-02 16:23:06 +02:00
Peter Papp
856d3b6aa1 Update README.md
added unit test badge
2021-05-02 08:50:04 +02:00
Peter Papp
33a65b1c77 die windows 2021-05-01 18:10:17 +02:00
Peter Papp
4613c72412 unit testing on push/pr into master, oasis branch 2021-05-01 18:02:42 +02:00
Peter Papp
04fa824d16 default test 2021-05-01 17:50:15 +02:00
Peter Papp
75e51c3f10 unit test github action 2021-05-01 17:48:57 +02:00
Peter Papp
ca7944b17a unit test github action 2021-05-01 17:45:09 +02:00
Milos Holba
23c0e8b0f7 create CheckBox component 2021-04-27 18:46:31 +02:00
Peter Papp
7d020b0bbc Update README.md 2021-04-25 09:39:55 +02:00
Peter Papp
93e5a29d40 build.yml edit 2021-04-25 09:21:30 +02:00
Peter Papp
3ee8c255d5 Merge remote-tracking branch 'origin/master' 2021-04-25 09:18:19 +02:00
Peter Papp
7e50e221f2 build.yml edit 2021-04-25 09:17:47 +02:00
MakingCG
6f6c987538 Application Build 2021-04-25 07:17:29 +00:00
Peter Papp
5dcf8df751 build 2021-04-25 09:15:24 +02:00
Peter Papp
b895cbc9c0 build 2021-04-25 09:14:33 +02:00
Peter Papp
321e62fb0a removed workflow_dispatch: 2021-04-25 09:09:27 +02:00
Peter Papp
e9aca0a6c3 Merge remote-tracking branch 'origin/master' 2021-04-25 09:08:09 +02:00
Peter Papp
717dcb02ef right click fix 2021-04-25 09:07:58 +02:00
MakingCG
9744780022 Fix backend code styling 2021-04-25 07:02:58 +00:00
Peter Papp
c47886fb8b code style fix 2021-04-25 09:02:00 +02:00
Peter Papp
e103e61617 Merge remote-tracking branch 'origin/master' 2021-04-25 08:58:06 +02:00
Peter Papp
e65ccf0680 fix database in languageTest 2021-04-25 08:57:44 +02:00
Peter Papp
85613dd846 Create backend-code-style-fix.yml 2021-04-25 08:56:46 +02:00
Peter Papp
b52fe0454b added code style fixer 2021-04-25 08:44:08 +02:00
Peter Papp
3645b3e8f7 Changed workflow - Build Application Frontend 2021-04-24 18:38:39 +02:00
MakingCG
01e94b97ba Application Build 2021-04-24 16:27:50 +00:00
Peter Papp
2e906daf58 CI for frontend build 2021-04-24 18:26:11 +02:00
Peter Papp
25a28c37c8 FileSidebar refactored 2021-04-20 08:11:05 +02:00
Peter Papp
7e8511ab3f Popover refactored 2021-04-19 17:41:41 +02:00
Peter Papp
7cd29fce98 - data renamed to entries 2021-04-19 09:39:09 +02:00
Peter Papp
b0c81a692c - fileinfodetail renamed to clipboard 2021-04-19 09:22:50 +02:00
Peter Papp
b71072ddda - frontend build 2021-04-19 08:47:15 +02:00
Peter Papp
79d3e2beac - select search dark mode
- file showing fix on mobile devices
- frontend build
2021-04-19 08:43:18 +02:00
Peter Papp
fc11a38457 language fixes 2021-04-17 10:12:26 +02:00
Peter Papp
be6ccecee6 frontend build 2021-04-16 17:40:40 +02:00
Peter Papp
66198a50e1 - mobile search fix
- mobile arrows fix
- document zoom in file preview
- frontend build
2021-04-16 17:34:08 +02:00
Peter Papp
0910daa1a3 Move to home folder fix 2021-04-16 16:54:59 +02:00
Peter Papp
397b3228d0 User delete validation fix 2021-04-16 11:53:23 +02:00
Peter Papp
2a02716a53 FilePreview refactoring 2021-04-16 11:41:41 +02:00
Peter Papp
b105c9fc8f - pdf implementation
- file preview refactoring
2021-04-16 10:27:09 +02:00
Peter Papp
9105ce8bb1 SelectInput.vue added translation 2021-04-15 11:23:58 +02:00
Peter Papp
6056e97463 SelectInput.vue searching 2021-04-15 11:22:10 +02:00
Peter Papp
639f24fdfd - SearchBar.vue refactored 2021-04-15 10:21:35 +02:00
Peter Papp
110f7b60d6 - New mobile navigation experience 2021-04-15 09:28:06 +02:00
Peter Papp
a7ba0719a5 - Mobile navigation refactored 2021-04-14 17:13:36 +02:00
Peter Papp
213d6230ca - File Filter implemented 2021-04-14 16:49:14 +02:00
Peter Papp
eba8903792 - Mobile menu components refactoring
- Components name renaming
2021-04-14 11:17:29 +02:00
Peter Papp
16b7575fca - Textarea fix
- translation fix
2021-04-13 08:17:14 +02:00
Peter Papp
14efc4c29f log channel to daily in default 2021-04-12 10:02:30 +02:00
Peter Papp
da49a7b051 z-index fix in Language.vue 2021-04-12 06:54:47 +02:00
Peter Papp
469e0883d9 frontend build 2021-04-11 10:49:14 +02:00
Peter Papp
3e18dbd4f9 DisabledMimetypes.php validation rule fix 2021-04-11 10:46:07 +02:00
Peter Papp
1568eab905 Mobile language editor 2021-04-11 10:31:07 +02:00
Peter Papp
452da6c6b4 - disabled notification after backup
- fix incorrect password in sign in form
2021-04-10 09:06:05 +02:00
Peter Papp
d5e371f8d6 default DB_MYSQLDUMP_PATH value 2021-04-10 08:53:12 +02:00
Peter Papp
b6290a0cad auto-refresh after default language change 2021-04-10 08:47:21 +02:00
Peter Papp
afd2270e0e setup:prod script 2021-04-10 08:41:00 +02:00
Peter Papp
58ecc33986 updated README.md 2021-04-10 08:18:20 +02:00
Peter Papp
2598ba38db - auto database backup 2021-04-10 08:06:01 +02:00
Peter Papp
30ae2c0a54 - fixes 2021-04-07 07:48:07 +02:00
Peter Papp
87b3625b27 - frontend build 2021-04-06 18:08:12 +02:00
Peter Papp
bf9581173c - S3 storages compatibility with v2
- user profile fixes
2021-04-06 18:01:59 +02:00
Peter Papp
e40ddbec14 fixed upgrade_language_translations 2021-04-06 10:40:51 +02:00
Peter Papp
131ae8109f - flush cache after language upgrade
- Gateway fix
- extended language editor with textarea
2021-04-06 10:32:50 +02:00
Peter Papp
90c0466cd0 - fixed setup wizard 2021-04-06 10:31:34 +02:00
Peter Papp
f531ffce11 it_upgrade_default_language_translations test refactored 2021-04-06 10:01:34 +02:00
Peter Papp
13992deb41 - added function to upgrade language translations
- maintenance gate
2021-04-06 09:56:11 +02:00
Peter Papp
b2d133e5a3 Merge remote-tracking branch 'origin/v2'
# Conflicts:
#	config/content.php
#	config/vuefilemanager.php
#	public/mix-manifest.json
#	resources/js/views/Mobile/AdminMobileMenu.vue
#	resources/js/views/Shared/SharedPage.vue
2021-04-03 07:40:32 +02:00
Peter Papp
26085c475f - Language translation fixes 2021-04-01 11:50:40 +02:00
Peter Papp
7772ef6b40 Language editor refactoring part 4 (backend + frontend) 2021-04-01 10:40:48 +02:00
Peter Papp
5130082111 Language editor refactoring part 3 (backend + frontend) 2021-04-01 07:50:01 +02:00
Peter Papp
a8fa3694be helpers refactoring 2021-03-31 08:27:28 +02:00
Peter Papp
6ac6528243 Language editor refactoring part 2 (backend + frontend) 2021-03-28 14:06:16 +02:00
Peter Papp
ec51440c3a Language editor refactoring part 1 (nackend) 2021-03-27 18:53:41 +01:00
Peter Papp
cdb395c77f cleaning 2021-03-27 12:21:35 +01:00
Peter Papp
ee4a2205f6 Merge remote-tracking branch 'origin/version-1.8.3' into v2
# Conflicts:
#	app/FileManagerFolder.php
#	app/Http/Controllers/AppFunctionsController.php
#	app/Http/Controllers/Auth/AuthController.php
#	app/Http/Controllers/FileManager/BrowseController.php
#	app/Http/Controllers/General/SetupWizardController.php
#	app/Http/Controllers/General/UpgradeAppController.php
#	app/Http/Controllers/Sharing/FileSharingController.php
#	app/Http/helpers.php
#	app/Setting.php
#	composer.lock
#	public/mix-manifest.json
#	resources/js/App.vue
#	resources/js/components/Others/Forms/FormLabel.vue
#	resources/js/store/modules/app.js
#	resources/js/views/Admin.vue
#	resources/js/views/Mobile/AdminMobileMenu.vue
#	resources/js/views/Shared/SharedPage.vue
#	resources/views/index.blade.php
#	resources/views/vuefilemanager/crawler/og-view.blade.php
#	resources/views/vuefilemanager/invoice.blade.php
#	routes/api.php
#	routes/web.php
2021-03-27 12:12:42 +01:00
Peter Papp
0f357ace50 index.blade.php fixes 2021-03-27 11:47:09 +01:00
Peter Papp
4d5cd3d80f added og_image and touch_icon into admin appearance panel 2021-03-27 11:33:42 +01:00
Peter Papp
bb3f4d4bda custom color theme part 4 2021-03-27 10:56:23 +01:00
Milos Holba
9fef371099 add language setting for moobile devices, add upgrade a update app function 2021-03-26 16:20:19 +01:00
Peter Papp
9e330da7a6 - favicon fix
- checkout fix
- stripe prefered locales
- color theme
- stripe card info box in dev version
- upload fix
2021-03-26 16:05:37 +01:00
Peter Papp
254a00e18e - cancel/resume subscription fix
- upload into root folder fix
- custom color theme part 3
2021-03-25 15:49:04 +01:00
Peter Papp
ac6b2b09e1 - cancel/resume subscription fix
- upload into root folder fix
- custom color theme part 3
2021-03-25 10:46:23 +01:00
Peter Papp
a18ceb1b4f - user not found fix in SignIn.vue page 2021-03-24 11:59:12 +01:00
Peter Papp
f2c44c3cfe - custom route for PlanPricingTables.vue
- removed passport error in signin form
2021-03-24 11:43:03 +01:00
Peter Papp
ffe6de5b98 - signup form fix 2021-03-24 11:39:34 +01:00
Peter Papp
4a114ec096 - Zero capacity storage
- Set 0 storage capacity after creating order
2021-03-24 08:43:56 +01:00
Peter Papp
0e3c6e286e - extend setup:dev script
- Stripe taxes refactoring
- billing subscription fixes
2021-03-24 08:42:10 +01:00
Peter Papp
09d2032a70 - queue work command edit
- scheduler period changes
2021-03-24 08:37:57 +01:00
Milos Holba
4142f829be cahng laravel translation, move route for languages from api to web, fix contact formular 2021-03-23 21:00:25 +01:00
Peter Papp
6f7b34dd0a - removed client passport validation
- added UpdateUserPasswordRequest.php
2021-03-23 15:37:21 +01:00
Peter Papp
c6b3995cc3 - Added theme color into ButtonBase.vue 2021-03-23 15:35:12 +01:00
Peter Papp
19925e398f - refactored PricingResource
- get_tax_rates added into StripeService.php
2021-03-23 09:40:30 +01:00
Peter Papp
c722c50ec3 - added dollar icon into MobileActionButton 2021-03-23 09:37:22 +01:00
Peter Papp
4163c28e37 - Get plan from cache in StripeService.php 2021-03-23 09:34:19 +01:00
Peter Papp
80f27d7448 - user id cast to string
- include all migrations in migration process
2021-03-23 09:18:00 +01:00
Milos Holba
df5d5cb75f upgrade of __t function, add save default_language to cache 2021-03-22 20:27:47 +01:00
Milos Holba
5910bb1206 Merge remote-tracking branch 'origin/version-1.8.3' into version-1.8.3 2021-03-22 11:13:02 +01:00
Milos Holba
61635db3db make translation helper for laravel 2021-03-22 10:46:27 +01:00
Peter Papp
4999b23474 custom color theme part 2 2021-03-22 07:45:38 +01:00
Peter Papp
a90311593b - added not found page
- Fixed admin menu in regular license
- allow_homepage default setting in regular license
- frontend build
2021-03-21 11:16:36 +01:00
Peter Papp
cff7cd6b32 custom color theme part 1 2021-03-20 10:25:10 +01:00
Milos Holba
c8dedd44c4 add cache for languages, make function to laravel translate 2021-03-19 20:17:12 +01:00
Milos Holba
2e9112d110 add cache for languages, make function to laravel translate 2021-03-19 19:58:13 +01:00
Peter Papp
aa51484303 - refactored user_scope to author
- added author_id for future teams implementation
2021-03-19 11:27:58 +01:00
Peter Papp
19a75d2fb1 refactored SharedSingleFile 2021-03-19 10:23:31 +01:00
Peter Papp
f4b3f1f163 - public sharing refactored part 3 2021-03-19 10:13:48 +01:00
Peter Papp
ed8ab2978f - public sharing refactored part 2 2021-03-19 09:04:18 +01:00
Peter Papp
db9900fcfb - public sharing refactored part 1 2021-03-19 07:27:15 +01:00
Milos Holba
ba7d6be249 make string in language_strings for the regular license 2021-03-18 16:41:43 +01:00
Peter Papp
816c8c3e07 - protected share authentification backend 2021-03-18 10:06:27 +01:00
Peter Papp
c73e44ff01 - laravel query monitor 2021-03-18 07:09:43 +01:00
Peter Papp
fc18280842 - added not found exception for Model
- cleared dev console
- get share record refactored on backend
2021-03-17 12:24:15 +01:00
Peter Papp
1d52186f17 - shared pages refactored 2021-03-17 10:39:45 +01:00
Peter Papp
87e05d9521 - App container 2021-03-17 08:25:44 +01:00
Peter Papp
ce477fdaf1 - authentication fix
- demo helper
2021-03-17 07:34:22 +01:00
Milos Holba
617f715774 add load strings for i18n from database 2021-03-16 19:26:42 +01:00
Peter Papp
2c69553582 - route 401 redirection
- guest & user view consolidation
2021-03-16 15:53:34 +01:00
Peter Papp
f142919cd1 dispatch jobs after demo data was generated 2021-03-16 14:33:01 +01:00
Peter Papp
f0e9c80572 frontend function consolidation part 2 2021-03-16 11:53:19 +01:00
Peter Papp
adbe35e8b5 trash fixed 2021-03-16 10:30:36 +01:00
Peter Papp
f3783e6f98 demo content generation 2021-03-16 10:00:28 +01:00
Peter Papp
1bb59854ea frontend function consolidation part 1 2021-03-16 08:31:42 +01:00
Peter Papp
803cc089bd Admin & User account frontend consolidation 2021-03-15 16:56:26 +01:00
Peter Papp
ba902a30b3 Log in functionality 2021-03-15 09:23:53 +01:00
Peter Papp
6b67f861c3 - enhanced setup:dev script
- refactored shared token creation
2021-03-15 07:51:01 +01:00
Peter Papp
749bc4ae83 private share routes moved to share.php 2021-03-15 07:04:42 +01:00
Peter Papp
7e3bbe4008 get shared via route model binding refactoring 2021-03-15 06:59:39 +01:00
Peter Papp
cb272709a3 DemoService.php refactoring 2021-03-14 17:48:26 +01:00
Peter Papp
961a8900be Classes refactored 2021-03-14 17:31:58 +01:00
Peter Papp
732fc48aa4 get_items_under_shared_by_folder_id moved to HelperService.php 2021-03-14 17:20:30 +01:00
Peter Papp
07cc977684 divisive public and private browsing controller 2021-03-14 17:03:42 +01:00
Peter Papp
380a588b0a added SharedFileAccessContentController 2021-03-14 13:25:35 +01:00
Peter Papp
9297eae1d7 moved move_to_external_storage into HelperService.php 2021-03-14 13:11:21 +01:00
Peter Papp
419a1d8180 moved move_to_external_storage into HelperService.php 2021-03-14 13:05:53 +01:00
Peter Papp
9cc9111d63 moved check_user_storage_capacity into HelperService.php 2021-03-14 13:03:09 +01:00
Peter Papp
0364e73c60 Guardian and FileManagerService.php refactored 2021-03-14 12:54:34 +01:00
Peter Papp
bb469f2520 added delete_failed_files into SchedulerService.php 2021-03-14 12:42:25 +01:00
Peter Papp
d0bd866354 refactoring part 1 2021-03-14 12:23:14 +01:00
Peter Papp
c5e9d29362 added it_get_all_plans_for_index_page test 2021-03-14 11:36:07 +01:00
Peter Papp
71d0005193 added it_send_reset_link_to_email, it_reset_user_passwordtest 2021-03-14 11:26:35 +01:00
Peter Papp
95eb167622 added indexes to the database 2021-03-14 11:04:19 +01:00
Peter Papp
5778de20f2 added it_check_if_user_exist_and_return_name_with_avatar, it_check_non_existed_user_and_return_not_found test 2021-03-14 10:56:50 +01:00
Peter Papp
9c3c044623 index.blade.php refactored 2021-03-13 19:32:56 +01:00
Peter Papp
deaac3717c added it_get_og_page_for_folder, it_get_og_page_for_image, it_get_og_page_for_protected_file test 2021-03-13 19:16:47 +01:00
Milos Holba
353180491b remove language_id column from language_strings table 2021-03-12 23:33:46 +01:00
Peter Papp
b022cde9e0 added it_get_settings, it_try_get_secured_settings_via_public_api test 2021-03-12 17:17:53 +01:00
Peter Papp
b837cc1906 added it_get_legal_page test 2021-03-12 16:49:39 +01:00
Peter Papp
89a6c51672 added it_send_contact_form test 2021-03-12 16:45:02 +01:00
Peter Papp
bb2094016b Merge remote-tracking branch 'origin/v2' into v2 2021-03-12 16:34:40 +01:00
Peter Papp
3e8acd9b4b fixed namespaces 2021-03-12 16:28:37 +01:00
Peter Papp
db57bde4fc fixed file preview in single shared file 2021-03-12 14:59:47 +01:00
Peter Papp
8ef5444136 added get_settings_in_json helper 2021-03-12 14:35:12 +01:00
Peter Papp
af5181d4d7 - index method refactoret
- Added AppTest
2021-03-11 09:41:31 +01:00
Peter Papp
6075a1b7c8 added guest_get_file_detail test 2021-03-11 08:59:47 +01:00
Peter Papp
266f9d8a0a added guest_search_file, guest_try_search_non_shared_user_file test 2021-03-11 08:51:15 +01:00
Peter Papp
ed90173ec9 added guest_get_navigator_tree test 2021-03-10 17:22:40 +01:00
Peter Papp
ff4af2978d added guest_get_folder_content test 2021-03-10 17:13:49 +01:00
Peter Papp
5e37e10a0c added editor_move_file_to_another_folder, editor_move_folder_to_another_folder test 2021-03-10 16:45:07 +01:00
Peter Papp
cc526f8d95 added editor_upload_file_into_shared_folder test 2021-03-10 16:01:51 +01:00
Peter Papp
8de3e80c4f added it_rename_shared_folder test 2021-03-10 15:32:15 +01:00
Peter Papp
2c7cb67e7c added it_delete_multiple_files_in_shared_folder test 2021-03-10 15:27:35 +01:00
Peter Papp
9606d0e7db added it_create_new_folder_in_shared_folder test 2021-03-10 15:15:24 +01:00
Milos Holba
8be86183fa add set language as default, Fix console error in SharedPage 2021-03-10 12:28:50 +01:00
Peter Papp
1126a45524 added it_rename_shared_file test 2021-03-10 11:02:05 +01:00
Peter Papp
8a4ffd03c6 added shareEditor test 2021-03-10 10:38:41 +01:00
Peter Papp
8d85aad601 added it_zip_shared_multiple_files_and_download_it, it_try_zip_non_shared_file_with_shared_multiple_files_and_download_it test 2021-03-10 10:02:44 +01:00
Peter Papp
1045423692 added it_get_public_thumbnail test 2021-03-10 09:18:14 +01:00
Peter Papp
aecdf56304 added it_get_public_file_record_and_download_them, it_try_to_get_protected_file_record, it_get_shared_record, it_get_deleted_shared_record, it_get_shared_page, it_get_deleted_shared_page test 2021-03-10 08:41:21 +01:00
Peter Papp
e164d1021c added guest_try_to_get_private_user_folder test 2021-03-10 06:47:09 +01:00
Milos Holba
33fa77cd73 create Createlanguage popup, changes in LanguageController 2021-03-08 12:55:17 +01:00
Peter Papp
891ca7260b added it_get_private_user_image_thumbnail, guest_try_to_get_private_user_image_thumbnail, logged_user_try_to_get_another_private_user_image_thumbnail 2021-03-07 11:47:12 +01:00
Peter Papp
9f1174b547 file routes refactoring 2021-03-07 11:18:44 +01:00
Peter Papp
1f615c54af added it_get_private_user_file, guest_try_to_get_private_user_file, logged_user_try_to_get_another_private_user_file test 2021-03-07 10:46:51 +01:00
Peter Papp
6b909c2380 added it_get_public_user_avatar, it_get_public_system_image test 2021-03-07 10:07:06 +01:00
Peter Papp
5660fcd4dc added it_get_all_invoices_from_admin, it_get_single_user_invoice_page test 2021-03-07 09:50:04 +01:00
Peter Papp
da7aee2790 admin authentication in AdminTest.php 2021-03-07 09:16:30 +01:00
Peter Papp
dd4fab8e7c added it_get_all_plans_from_admin, it_get_single_plan_from_admin, it_create_single_plan_from_admin, it_delete_single_plan, it_update_single_plan_from_admin, it_get_subscribers_from_plan_from_admin test 2021-03-06 12:14:09 +01:00
Peter Papp
88540bd2a6 added it_store_stripe_plans_via_setup_wizard test 2021-03-06 11:32:18 +01:00
Peter Papp
355b016f22 added it_verify_purchase_code_successfully, it_verify_purchase_code_unsuccessfully, it_setup_database, it_store_stripe_credentials, it_store_stripe_billings, it_store_environment, it_store_app_settings, it_create_admin_account, it_try_to_create_admin_account_after_setup_wizard_success test 2021-03-06 10:51:03 +01:00
Peter Papp
485dddec68 added SetupWizardTest skelet 2021-03-05 19:56:00 +01:00
Peter Papp
4c947a0e4d added it_get_settings, it_flush_cache, it_set_stripe, it_set_email test 2021-03-05 19:34:51 +01:00
Peter Papp
842abcb6b1 added it_flush_cache test 2021-03-05 19:12:12 +01:00
Peter Papp
b87f8b68d4 added seed_default_settings into SetupWizardController.php 2021-03-05 14:12:31 +01:00
Peter Papp
ce08240355 added it_update_settings, it_get_page, it_update_settings_image test 2021-03-05 11:57:48 +01:00
Peter Papp
e514994b08 added it_get_all_pages, it_get_page, it_update_page test 2021-03-05 11:02:13 +01:00
Peter Papp
779b7fc8ba added it_delete_user_with_all_data test 2021-03-05 10:35:30 +01:00
Peter Papp
5844e66b7f added it_create_new_user_with_avatar test 2021-03-04 17:47:26 +01:00
Peter Papp
2782dc879b added it_change_user_role, it_change_user_storage_capacity test 2021-03-04 17:37:42 +01:00
Peter Papp
80f38d47ed added it_send_reset_password_for_user test 2021-03-04 17:13:52 +01:00
Peter Papp
350b3cb6b3 added it_get_non_existed_user_subscription, it_get_user_invoices_from_admin test 2021-03-04 17:02:48 +01:00
Peter Papp
b544aa875f added it_get_user_subscription_from_admin test 2021-03-04 16:57:27 +01:00
Peter Papp
9c7d7a336b added it_get_all_users, it_get_single_user, it_get_user_storage_detail test 2021-03-04 16:38:00 +01:00
Peter Papp
9b91fe3d59 added it_get_dashboard_data, it_get_new_users_for_dashboard test 2021-03-04 16:22:10 +01:00
Peter Papp
d4df26bf35 added it_get_user_invoices test 2021-03-04 14:15:07 +01:00
Peter Papp
7e4bd191d7 added it_get_user_subscription test 2021-03-04 13:47:00 +01:00
Peter Papp
0add1eaf7f added it_resume_subscription test 2021-03-04 13:03:13 +01:00
Peter Papp
69b72d24a9 added it_get_setup_intent, it_upgrade_plan, it_cancel_subscription test 2021-03-04 12:48:51 +01:00
Peter Papp
b1c15bb6a7 added it_get_user_data test 2021-03-03 09:39:56 +01:00
Peter Papp
b38f04533c added it_logout_user test 2021-03-03 08:51:17 +01:00
Peter Papp
cd9d1d91bd added it_update_user_settings, it_update_user_avatar test 2021-03-03 08:42:07 +01:00
Peter Papp
7f21755f5a added UserAccountTest 2021-03-02 17:24:13 +01:00
Peter Papp
f95b3acbd2 refactored create_directories 2021-03-02 17:13:01 +01:00
Peter Papp
0748f8face - added it_delete_expired_shared_links test 2021-03-02 17:10:32 +01:00
Peter Papp
617ba2a6a8 - added it_delete_zips_older_than_one_day test
- refactored scheduler tasks into SchedulerService.php
2021-03-02 17:05:57 +01:00
Peter Papp
4e098286a6 - added it_delete_zips_older_than_one_day test
- refactored scheduler tasks into SchedulerService.php
2021-03-02 17:05:49 +01:00
Milos Holba
1536af7a5b remove id from language_strings table 2021-03-02 16:58:38 +01:00
Peter Papp
33d6d1cd60 added it_zip_folder_with_content_within_and_download test 2021-03-02 16:43:32 +01:00
Milos Holba
63ba4d3a1d Merge branch 'language-translation' into version-1.8.3 2021-03-02 16:38:48 +01:00
Peter Papp
4ab716bf9c added it_zip_multiple_files_and_download_it test 2021-03-02 16:16:11 +01:00
Peter Papp
594a4acc94 added it_delete_folder_with_their_content_within_softly and it_delete_folder_with_their_content_within_hardly test 2021-03-02 15:42:04 +01:00
Peter Papp
42d243e2fe added it_restore_items_from_trash test 2021-03-02 13:19:23 +01:00
Peter Papp
9583c22b72 added it_dump_trash test 2021-03-01 20:50:48 +01:00
Peter Papp
b66d47bf2b added it_get_searched_file, it_get_searched_folder test 2021-03-01 20:33:24 +01:00
Peter Papp
bcba0fd057 added it_get_shared_items test 2021-03-01 17:39:24 +01:00
Peter Papp
1784ff84c8 added it_get_participant_uploads 2021-03-01 17:03:20 +01:00
Peter Papp
2007279a69 added it_get_trash_root 2021-03-01 16:59:57 +01:00
Peter Papp
d8b279479a added it_get_recent_files test 2021-03-01 16:33:51 +01:00
Peter Papp
bb2e349a31 extended it_get_folder_content test 2021-03-01 16:17:32 +01:00
Peter Papp
674290edfc added it_get_navigator_tree and it_get_folder_content 2021-02-28 18:21:23 +01:00
Peter Papp
486d8de378 web routes refactored 2021-02-28 16:50:28 +01:00
Peter Papp
b82f34ed4d added ShareTest test methods 2021-02-28 16:45:34 +01:00
Peter Papp
81dc7d7ed7 added it_delete_multiple_files_hardly 2021-02-27 15:18:33 +01:00
Peter Papp
a2d3bdd67b added it_upload_new_file 2021-02-27 14:46:19 +01:00
Peter Papp
fdef2de99d added it_upload_image_file_and_create_thumbnail 2021-02-27 14:40:44 +01:00
Peter Papp
f55472442f functionality for setting default folders for app installation 2021-02-27 11:49:01 +01:00
Peter Papp
3328fdebb0 added it_rename_file, it_move_file_to_another_folder, it_delete_multiple_files_softly 2021-02-27 11:17:04 +01:00
Peter Papp
97ade6c238 added it_remove_folder_from_favourites, it_delete_multiple_folder_hardly 2021-02-27 11:03:04 +01:00
Peter Papp
5225673163 added it_delete_multiple_folder_softly 2021-02-27 10:43:11 +01:00
Peter Papp
27675d7f38 - refactored move method
- refactored FavouriteController.php store method
- added some tests methods
2021-02-27 10:22:35 +01:00
Peter Papp
92962aac17 - emoji refactoring 2021-02-27 09:44:43 +01:00
Peter Papp
f38b265ba7 Merge remote-tracking branch 'origin/version-1.8.3' into v2
# Conflicts:
#	app/Http/Controllers/FileFunctions/EditItemsController.php
#	config/vuefilemanager.php
#	public/mix-manifest.json
2021-02-27 09:25:00 +01:00
Peter Papp
6736afaefb - added folder test methods 2021-02-27 09:22:23 +01:00
Peter Papp
dfb809acee - test skelet for share 2021-02-26 18:23:13 +01:00
Peter Papp
5227a5fb99 - test skelet for browsing items 2021-02-26 18:17:33 +01:00
Peter Papp
fe728479d0 - test skelet for folders and files 2021-02-26 18:12:28 +01:00
Peter Papp
b7e1be7518 - implement factories into models
- Model class refactored in relations
2021-02-26 17:57:21 +01:00
Peter Papp
1359b78d21 - added folder, file factories 2021-02-26 17:32:59 +01:00
Peter Papp
920ee19651 - added model events for generate uuid 2021-02-26 17:19:57 +01:00
Milos Holba
7dd4e65d77 add SetFolderIcon for CreateFolder on mobile device, change SetFolderIcon payload 2021-02-26 17:14:21 +01:00
Peter Papp
fd02fbfe08 - API routes refactoring part 3 2021-02-26 17:10:21 +01:00
Peter Papp
00e515e995 - API routes refactoring part 2 2021-02-26 17:03:00 +01:00
Peter Papp
55ba82442a - API routes refactoring
- setup:dev artisan command
2021-02-25 21:32:32 +01:00
Milos Holba
7a963cf5b3 fix: VueFileManager default title in mails, ShareCreate / ShareEdit opening via CopyInput 2021-02-25 18:11:20 +01:00
Peter Papp
2f332197e6 added UserFactory and UserTest.php 2021-02-25 17:35:51 +01:00
Peter Papp
ac38d35ae1 Migration refactoring 2021-02-25 17:16:09 +01:00
Peter Papp
af1a8e6333 Migration refactoring 2021-02-25 17:15:58 +01:00
Peter Papp
18518106ca Upgrading laravel from v7 to v8 2021-02-25 16:47:32 +01:00
Peter Papp
92e02d8b57 - fixed file download links when you are using different disk location in filesystems.disks.local.root 2021-02-25 15:54:18 +01:00
Peter Papp
b42d480c91 - uploading fix 2021-02-25 15:25:59 +01:00
Peter Papp
c8a9f18265 Merge remote-tracking branch 'origin/upload-fix'
# Conflicts:
#	public/mix-manifest.json
2021-02-25 15:23:09 +01:00
Peter Papp
56b7f30d47 - uploading fix 2021-02-25 15:22:16 +01:00
Milos Holba
725a34b7d0 maked separated ColorPicker component 2021-02-24 16:00:05 +01:00
Milos Holba
595bce60eb fix loading EmojiList from server just one time 2021-02-23 16:58:00 +01:00
Milos Holba
bf6cd34cf6 make separated EmojiPicker component, add Spinner to search emojis 2021-02-23 16:15:29 +01:00
Peter Papp
b8790a964b - uploading via files queue 2021-02-21 19:56:03 +01:00
Milos Holba
9a1a9ee206 add Language component 2021-02-21 12:09:24 +01:00
Peter Papp
05f850ab2c - ability to change folder color in demo version 2021-02-20 20:34:12 +01:00
Peter Papp
c2868c051d - ability to change emoji in demo version 2021-02-20 17:07:07 +01:00
Peter Papp
28b39a79e6 - frontend build 2021-02-20 16:30:12 +01:00
Peter Papp
2dbd9dd62d Merge remote-tracking branch 'origin/version-v1.8.1'
# Conflicts:
#	resources/js/components/FilesView/FileItemGrid.vue
#	resources/js/components/FilesView/FileItemList.vue
#	resources/js/components/Others/ThumbnailItem.vue
2021-02-20 15:30:44 +01:00
Peter Papp
9dbce7a73a - autofocus disabled on mobile devices
- tabwrapper icon fix
2021-02-20 14:48:59 +01:00
Peter Papp
8ac5c8fd38 - css refactoring to grid for emoji picker
- frontend build
2021-02-20 12:07:55 +01:00
Milos Holba
2a105877f3 add Zip & Download folder to mobile menu, fix thumbnailItem for images without thumbnail, change color of file icon in mobile menu dark mode 2021-02-16 00:07:05 +01:00
Milos Holba
28efba5773 fix open Processing popup for download files 2021-02-15 12:37:06 +01:00
Milos Holba
60f02622da add default class for Folder in FolderIcon 2021-02-15 12:32:46 +01:00
Milos Holba
7eee7deba5 fix create folder on mobile 2021-02-15 10:00:39 +01:00
Peter Papp
ba0b2bd3b9 apple emojis 2021-02-13 12:05:47 +01:00
Peter Papp
86090b5870 folder color picker 2021-02-13 10:30:54 +01:00
Peter Papp
39681bc48a emoji ios styling for list 2021-02-13 09:29:49 +01:00
Milos Holba
96e1bdd99f make folder icon component 2021-02-12 20:43:33 +01:00
Milos Holba
eebeee6948 scss changes in SetFolderIcon, add translation to sk/cn 2021-02-11 20:14:27 +01:00
Milos Holba
67cf7a6ced change names of routes 2021-02-11 17:11:59 +01:00
Milos Holba
7be02edead change base_path to public_path in get_emojis_list function 2021-02-11 16:44:16 +01:00
Milos Holba
d65c27091c change functionality of Emojis List to async load from backend 2021-02-10 19:45:59 +01:00
Milos Holba
6c3630085e test for iOS emojis 2021-02-09 20:42:48 +01:00
Milos Holba
f6dbb5e71e expansion functionality for the reset button in selected emoji input for possibility to set default icon 2021-02-09 19:20:21 +01:00
Milos Holba
29fce75d35 change language id to uuid 2021-02-09 16:22:06 +01:00
Peter Papp
a80e4364ae - allow share files to email for demo 2021-02-07 18:20:29 +01:00
Peter Papp
bfb3888555 Merge remote-tracking branch 'origin/version-v1.8.1'
# Conflicts:
#	config/vuefilemanager.php
#	public/chunks/admin-account.js
#	public/chunks/admin.js
#	public/chunks/app-appearance.js
#	public/chunks/app-billings.js
#	public/chunks/app-email.js
#	public/chunks/app-index.js
#	public/chunks/app-others.js
#	public/chunks/app-payments.js
#	public/chunks/app-settings.js
#	public/chunks/app-setup.js
#	public/chunks/billings-detail.js
#	public/chunks/contact-us.js
#	public/chunks/dashboard.js
#	public/chunks/database.js
#	public/chunks/environment-setup.js
#	public/chunks/files.js
#	public/chunks/files~chunks/shared-files~chunks/shared-page.js
#	public/chunks/installation-disclaimer.js
#	public/chunks/invoices.js
#	public/chunks/landing-page.js
#	public/chunks/pages.js
#	public/chunks/plan-create.js
#	public/chunks/plan-delete.js
#	public/chunks/plan-settings.js
#	public/chunks/plan-subscribers.js
#	public/chunks/plan.js
#	public/chunks/plans.js
#	public/chunks/profile.js
#	public/chunks/purchase-code.js
#	public/chunks/settings-create-payment-methods.js
#	public/chunks/settings-invoices.js
#	public/chunks/settings-payment-methods.js
#	public/chunks/settings-storage.js
#	public/chunks/settings-subscription.js
#	public/chunks/settings.js
#	public/chunks/shared-files.js
#	public/chunks/shared-page.js
#	public/chunks/sign-up.js
#	public/chunks/stripe-credentials.js
#	public/chunks/subscription-plans.js
#	public/chunks/subscription-service.js
#	public/chunks/upgrade-billing.js
#	public/chunks/upgrade.js
#	public/chunks/user-create.js
#	public/chunks/user-delete.js
#	public/chunks/user-detail.js
#	public/chunks/user-invoices.js
#	public/chunks/user-password.js
#	public/chunks/user-storage.js
#	public/chunks/user-subscription.js
#	public/chunks/user.js
#	public/chunks/users.js
#	public/js/main.js
#	public/mix-manifest.json
#	resources/js/views/FilePages/Files.vue
2021-02-07 18:05:56 +01:00
Peter Papp
5e408267ee - frontend build 2021-02-07 18:03:40 +01:00
Peter Papp
a4725df5f7 - added createFolder to SharedPage.vue
- queueable email
- frontend build
2021-02-07 17:28:00 +01:00
Peter Papp
dee562c56e - frontend build 2021-02-07 16:40:44 +01:00
Peter Papp
e1016502a1 Merge remote-tracking branch 'origin/version-v1.8.1' into version-v1.8.1
# Conflicts:
#	app/Http/Controllers/FileFunctions/ShareController.php
#	public/mix-manifest.json
2021-02-07 16:36:49 +01:00
Peter Papp
541924448b - Toggle for enable/disable landing page
- New app screenshots for landing page
- frontend build
- some ui fixes
2021-02-07 16:35:48 +01:00
Milos Holba
18b97866f2 MultiEmailInput first email dont need to be separated by comma or space, RenameItem comment ActionButton for more options 2021-02-07 13:26:42 +01:00
Milos Holba
6f2278b908 fix function shared_send_via_email in ShareController 2021-02-07 12:29:08 +01:00
Peter Papp
bdd8d63162 - Toggle for enable/disable landing page
- New app screenshots for laanding page
- frontend build
2021-02-07 12:18:56 +01:00
Peter Papp
8ca7881c5e frontend build 2021-02-07 11:21:51 +01:00
Peter Papp
8d04a94dbc - on-demand notification
- error message on failed after shared link was created
- Shared link email text edit
2021-02-07 11:19:21 +01:00
Peter Papp
d92bb50a03 upload progressbar UI 2021-02-07 09:19:28 +01:00
Milos Holba
44158c74e3 merge remote with local 2021-02-06 16:29:55 +01:00
Milos Holba
847bcec22f add emojis groups navigation, add X icon to select input for reset emoji 2021-02-06 16:12:21 +01:00
Peter Papp
e984ae6beb TabWrapper background change 2021-02-06 16:02:22 +01:00
Peter Papp
e2a52d27f5 Logging out progressbar 2021-02-06 14:18:53 +01:00
Peter Papp
9c92cffde3 Zip and Download title change 2021-02-06 13:57:34 +01:00
Peter Papp
ce20452f38 TabWrapper color change 2021-02-06 13:53:43 +01:00
Peter Papp
6c888c6bd3 Merge remote-tracking branch 'origin/version-v1.8.1' into version-v1.8.1
# Conflicts:
#	public/mix-manifest.json
2021-02-06 13:48:34 +01:00
Peter Papp
2b2d9a0764 - fixed more actions in public shared folder
- 'There is nothing' title changed in new folder
- Play video after click on full preview
- Expanded close cookie disclaimer area
- Show fileinfopanel as default
- Hidden file icons in DesktopToolbar.vue on ipad landscape
- Changed background color in context menu dark mode mobile
2021-02-06 13:48:22 +01:00
Milos Holba
ed2d008f4b stop uploading after failed uploadLimit validation on frontend 2021-02-06 11:15:09 +01:00
Milos Holba
9972f471c4 add Emoji component 2021-02-06 10:37:36 +01:00
Milos Holba
03ef16d90d make component for emojis 2021-02-05 18:13:22 +01:00
Milos Holba
4158d4f31e fix click to rename item in FileItemList/Grid 2021-02-02 18:26:01 +01:00
Milos Holba
e65acd8a4f make new emoji module in vuex, add funcionality for grouping emojis 2021-02-02 16:10:16 +01:00
Milos Holba
ba5e05f77a add tweomji transfer for single emojis 2021-02-01 19:43:30 +01:00
Peter Papp
82cf82e4b5 dashboard widget background changed 2021-02-01 17:02:47 +01:00
Peter Papp
f5e19e47f7 version changing 2021-02-01 16:56:45 +01:00
Peter Papp
43b1aa7f89 frontend build 2021-02-01 16:54:36 +01:00
Peter Papp
0e1ebdd809 Removed confirm dialog when user go back after login in 2021-02-01 16:51:44 +01:00
Peter Papp
6e3adcd459 Fixed streaming video/mp3 on safari browsers with using local disk 2021-02-01 16:37:40 +01:00
Milos Holba
9c147165e1 add to FileItemList/Grid function to unfocuse new foler name input, ThumbnaillItem folderIconHandle revision 2021-01-31 14:39:44 +01:00
Peter Papp
689b064756 - reset emails input after close popup 2021-01-30 15:31:48 +01:00
Peter Papp
6b32ae9795 - Box message fix part 2 2021-01-30 15:08:57 +01:00
Peter Papp
267556b39d - Prevent submit shared form
- Send shared link from FileInfoPanel.vue
2021-01-30 14:01:36 +01:00
Peter Papp
eb2e39cd32 Prevent submit shared form 2021-01-30 13:33:33 +01:00
Peter Papp
58ae75ecc9 MultiEmailInput 2021-01-30 11:52:38 +01:00
Peter Papp
a5dd0e0d30 Tab component reedit 2021-01-30 10:12:33 +01:00
Peter Papp
cec2450940 CopyInput.vue restyling 2021-01-30 09:31:25 +01:00
Milos Holba
fdd8f16384 solved error for get exif data 2021-01-28 11:21:23 +01:00
Milos Holba
2112fe879b add twemoji 2021-01-26 23:17:09 +01:00
Milos Holba
078d920c19 change icon for share , change color in text of Infobox 2021-01-21 20:49:32 +01:00
Milos Holba
98d1926ab3 add send shared link via email in edit sharing option 2021-01-20 18:54:12 +01:00
Milos Holba
2263cc9511 Make table wrapper and table options components 2021-01-19 18:47:53 +01:00
Milos Holba
9a736a2615 Create folder in contextMenu fix empty ul 2021-01-18 20:17:10 +01:00
Milos Holba
4b1e5fcb46 Create Folder - ContextMenu,add X icon for rename popup input, Dekstoptolbar icons,Recent uploads sorting,Windows scroller in nav sidebar,Change color of Delere in context menu 2021-01-18 20:00:26 +01:00
Peter Papp
a0c39bd955 - upgrade service to 1.8.1 from 1.8
- Landing page for Regular Licenses
- Legal pages for Regular Licenses
2021-01-17 16:21:49 +01:00
Peter Papp
973b301a46 Merge remote-tracking branch 'origin/version-v1.8.1' into version-v1.8.1 2021-01-17 13:30:27 +01:00
Peter Papp
e0f192777f - zip folder fix for sisters directories 2021-01-17 13:30:18 +01:00
Milos Holba
ce1bad57cd add change folder icon to rename item popup 2021-01-17 10:24:13 +01:00
Milos Holba
77b126b85a sned shared link via email add validation 2021-01-12 19:13:52 +01:00
Peter Papp
3adf57a6b1 front-end build 2021-01-12 18:34:55 +01:00
Milos Holba
cc72e4e3a2 fixes for mobiles/tablets FileFullPreview,FileInfoPanel after click to non media item,scroll for iPad, ThumbnailItem for media without thumbnail 2021-01-12 17:14:17 +01:00
Milos Holba
3285af3603 add to create share link a send share vie email option 2021-01-11 21:11:09 +01:00
Milos Holba
a8457cf261 first commit 2021-01-11 15:36:41 +01:00
Milos Holba
04990fcf7b add for backend send shared link via email 2021-01-06 17:33:15 +01:00
Milos Holba
ba28ac6184 Change timezone input to select in Settings.vue 2021-01-05 11:40:05 +01:00
Milos Holba
a100671cc0 timezone change int do decimal fix set_time_by_user_timezone function 2021-01-04 12:09:23 +01:00
Milos Holba
ded02fc15b user timezone v1 , add autofocus for CreateFolder,RenameItem popup 2021-01-03 18:00:28 +01:00
Milos Holba
64fd6a2265 first commit Multi restore in trash, focus on the new folder name 2020-12-29 11:39:37 +01:00
Peter Papp
c2a5d4bc74 - removed unwanted file 2020-12-23 18:00:02 +01:00
Peter Papp
fed95cbd64 - updated readme 2020-12-22 10:27:15 +01:00
Peter Papp
e60bbb369a - upgrade controller to v1.8 2020-12-21 20:50:56 +01:00
Peter Papp
7379d17a40 - zip file name fix 2020-12-21 19:00:54 +01:00
Peter Papp
26e0535407 - frontend build 2020-12-21 18:22:22 +01:00
Peter Papp
0f8a89bbad Merge remote-tracking branch 'origin/master'
# Conflicts:
#	public/chunks/app-others.js
#	public/js/main.js
#	public/mix-manifest.json
#	resources/js/components/FilesView/FileItemList.vue
#	resources/js/components/FilesView/FilePreview.vue
#	resources/js/helpers.js
#	resources/js/store/modules/fileFunctions.js
2020-12-21 18:20:10 +01:00
Peter Papp
2f89f6303a Merge branch 'upload-limit'
# Conflicts:
#	app/Http/Helpers/helpers.php
#	config/vuefilemanager.php
#	public/chunks/app-others.js
#	public/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js
#	public/js/main.js
#	public/mix-manifest.json
#	resources/js/components/FilesView/FileItemList.vue
#	resources/js/components/FilesView/FilePreview.vue
#	resources/js/helpers.js
#	resources/js/store/modules/fileFunctions.js
2020-12-21 18:19:37 +01:00
Peter Papp
4b3ca7e34b Merge remote-tracking branch 'origin/bulk-operations'
# Conflicts:
#	app/Http/Helpers/helpers.php
#	public/chunks/app-others.js
#	public/js/main.js
#	public/mix-manifest.json
#	resources/js/components/FilesView/FileItemList.vue
#	resources/js/components/FilesView/FilePreview.vue
#	resources/js/helpers.js
#	resources/js/store/modules/fileFunctions.js
2020-12-21 17:17:10 +01:00
Peter Papp
2c0cf43802 - frontend build
- merge upload limit
2020-12-21 17:15:12 +01:00
Peter Papp
d255b01c70 Merge branch 'upload-limit' into bulk-operations
# Conflicts:
#	app/Http/Helpers/helpers.php
#	config/vuefilemanager.php
#	public/chunks/app-others.js
#	public/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js
#	public/js/main.js
#	public/mix-manifest.json
#	resources/js/components/FilesView/FileItemList.vue
#	resources/js/components/FilesView/FilePreview.vue
#	resources/js/helpers.js
#	resources/js/store/modules/fileFunctions.js
2020-12-21 17:14:21 +01:00
Peter Papp
6a9edc49c0 Merge remote-tracking branch 'origin/bulk-operations'
# Conflicts:
#	app/Http/Helpers/helpers.php
#	config/vuefilemanager.php
#	public/chunks/app-others.js
#	public/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js
#	public/js/main.js
#	public/mix-manifest.json
#	resources/js/components/FilesView/FileItemList.vue
#	resources/js/components/FilesView/FilePreview.vue
#	resources/js/helpers.js
#	resources/js/store/modules/fileFunctions.js
2020-12-21 17:02:49 +01:00
Peter Papp
96faf2de0e - frontend build
- MobileActionButton enhancement
2020-12-21 17:00:41 +01:00
Peter Papp
5a2e6a5e53 - frontend build 2020-12-21 11:46:11 +01:00
Milos Holba
c509eeceb1 merge local with remote changes (Peter) 2020-12-21 11:31:50 +01:00
Milos Holba
299292a817 add actionButtons for mobile multiSelecting, refactoring sortingAndPreview icon 2020-12-21 11:23:18 +01:00
Peter Papp
b11bd0e521 - checkbox restyle in light mode 2020-12-21 11:05:12 +01:00
Peter Papp
8fb859b441 - checkbox restyle in dark mode 2020-12-21 10:57:07 +01:00
Peter Papp
28a5f58b80 - MobileAction buttons animation
- build
2020-12-21 10:47:06 +01:00
Peter Papp
7da4d1f64b - .multiselect-actions as position:fixed
- zipping popup when generate zip for multiple files download
2020-12-21 09:56:03 +01:00
Peter Papp
07086c7550 - turnOff delete in MobileActions.vue 2020-12-20 22:02:08 +01:00
Peter Papp
5246c47c86 - MobileActions.vue refactoring
- added select all / deselect all buttons to mobile multi select mode
2020-12-20 21:57:24 +01:00
Peter Papp
2975d1555d - frontend build 2020-12-20 19:22:35 +01:00
Milos Holba
bd946be0b0 merge local with remote 2020-12-20 16:53:32 +01:00
Milos Holba
e6ff90f6fc solved issues: FullFilePreview menu , MultiSelected move action ; refactoring contextMenu 2020-12-20 16:41:30 +01:00
Peter Papp
08dc813af9 - fixes 2020-12-19 17:04:52 +01:00
Peter Papp
9098634b99 - upload bar x margin fix 2020-12-19 16:31:14 +01:00
Milos Holba
00213824f1 brench merge 2020-12-19 15:18:58 +01:00
Milos Holba
65624326c7 solved issuis from Bulk Review v3,v4 2020-12-19 15:12:56 +01:00
Peter Papp
e92d9344b9 - App popup for creating folder in mobile version
- bug fixes
2020-12-19 13:47:14 +01:00
Peter Papp
55cf58fffd - local zip file 2020-12-19 11:50:48 +01:00
Peter Papp
a3c43af7ba - local zip file 2020-12-19 11:49:00 +01:00
Peter Papp
a10d394abb - download multiple files in public folder
- frontend build
2020-12-19 11:34:32 +01:00
Milos Holba
b16f22b0eb refactoring sorting and preview component 2020-12-17 12:25:08 +01:00
Milos Holba
5bc66d51be add close sortingAndPreview after click anywhere in application 2020-12-16 12:21:55 +01:00
Peter Papp
7b27fa70d8 - download multiple files in private folder
- sorting context menu changes
- download icon active only if files was selected
2020-12-15 18:05:08 +01:00
Peter Papp
372b3aa407 - frontend build 2020-12-14 18:53:06 +01:00
Peter Papp
bda293bc53 Merge remote-tracking branch 'origin/bulk-operations' into bulk-operations
# Conflicts:
#	public/mix-manifest.json
#	resources/js/components/FilesView/ContextMenu.vue
2020-12-13 17:52:24 +01:00
Peter Papp
11873d06ff - zip implementation for users 2020-12-13 17:49:44 +01:00
Milos Holba
89ea50b893 solved issues bulk review part.1 2020-12-13 16:33:28 +01:00
Peter Papp
874b4bb768 - multiple download test 2020-12-12 17:44:24 +01:00
Peter Papp
1e49f52abe - timeout changed in ContextMenu.vue 2020-12-12 10:44:13 +01:00
Peter Papp
94088e76ec - timeout changed in ContextMenu.vue 2020-12-12 10:38:25 +01:00
Peter Papp
c7abcce729 - code review
- frontend build
2020-12-12 10:31:22 +01:00
Milos Holba
e9d2f4bacc delete sorting icon 2020-12-11 18:26:57 +01:00
Milos Holba
7e7965f98e merge with sorting 2020-12-11 18:25:04 +01:00
Milos Holba
d823ae687b refactor getDataByLocation helper, fix moveItem popup from File info panel 2020-12-11 18:18:09 +01:00
Milos Holba
21a36c0965 add translation for preview and sorting, add sorting for moveItem tree and remove for favourites tree 2020-12-10 18:38:48 +01:00
Milos Holba
c3d162b991 add preview&Sorting menu for mobile version, refacoring sorting URI 2020-12-09 18:24:05 +01:00
Milos Holba
7e325c5101 add sorting for every getData and navigator, Favourites need to be fixed 2020-12-08 19:14:53 +01:00
Milos Holba
59ff07fb01 remove clear fileInfoDetail after load data , add clear fileInfoDetail after open another folder 2020-12-07 19:08:45 +01:00
Milos Holba
2ba92ed3b6 add aplhabet icon 2020-12-07 19:00:50 +01:00
Milos Holba
418c072414 optimalize UI for preview and sorting options 2020-12-07 18:57:40 +01:00
Milos Holba
397fe6b7e4 fixed record_upload for guest ,add clear fileInfoDetail after data change 2020-12-07 16:03:48 +01:00
Milos Holba
97d500028a grid and list view working 2020-12-07 14:23:29 +01:00
Milos Holba
527dfeef9f merge with bulk-operations 2020-12-07 11:32:43 +01:00
Milos Holba
1b3baab691 set timeout between multi download cycles 2020-12-05 18:17:45 +01:00
Milos Holba
5d512f7806 available create folder and upload files at multi selecting 2020-12-05 17:46:22 +01:00
Milos Holba
0da525f692 add the command key for selecting to FileItemGrid 2020-12-05 17:38:08 +01:00
Milos Holba
d076817c9e Merge branch 'bulk-operations' into sorting 2020-12-05 17:25:38 +01:00
Peter Papp
d2af7c1f5e version changed 2020-12-05 17:17:11 +01:00
Peter Papp
ef002f9186 frontend build 2020-12-05 17:15:27 +01:00
Peter Papp
f1006355c4 changed default sorting in navigation tree for move popup action 2020-12-05 17:09:44 +01:00
Milos Holba
ec6087a03c sorting first commit 2020-12-05 17:08:57 +01:00
Peter Papp
2e465f4d03 'Cancel Sharing' edit in language files 2020-12-05 16:56:17 +01:00
Peter Papp
08bf6654fc - Folder tree in navigator now has correct ordering with folder list in file view
- added translation to alert popup
- SCOUT_QUEUE default to true
2020-12-05 11:18:37 +01:00
Peter Papp
77e29852a5 SQLite indexer overload fix
- added jobs migration
- added queue:work to scheduler
- new setup in env.example
- frontend build
2020-12-05 10:22:50 +01:00
Milos Holba
6bc84d4b25 bulk-operations v0.3 fixed DragUI subtitle for single item , add handle for move item to the same parent 2020-12-04 15:47:32 +01:00
Milos Holba
d31e2ab98b bulk-operations v0.3 add multi shared cancel to contextMenu 2020-12-04 13:34:00 +01:00
Milos Holba
ee14c34671 bulk-operations fix desktopToolbar delete 2020-12-04 11:26:15 +01:00
Milos Holba
a8b290692e bulk-operations merge 2020-12-04 11:15:10 +01:00
Milos Holba
441f911560 bulk-operations v0.3 issues solved 2020-12-04 10:56:27 +01:00
Peter Papp
10090b474a - navigator in shared folder page fix
- fixed trash in MobileNavigation.vue
- MobileMultiSelectMenu.vue refactor
- frontend build
2020-12-03 20:19:21 +01:00
Milos Holba
aff2594ef2 bulk-operations fix drop of dragged item 2020-12-02 19:56:54 +01:00
Milos Holba
66aad7c488 merge 2020-12-02 17:09:35 +01:00
Milos Holba
896be9c9c9 bulk-operations change MultiSelect component 2020-12-02 17:06:35 +01:00
Peter Papp
8d1821e05d changed version 2020-12-01 17:55:20 +01:00
Peter Papp
b7014552d2 frontend build 2020-12-01 17:53:25 +01:00
Milos Holba
8561556f5c bulk-operations fixed moveItem popup Three, fixed multiSelect with Shift from bottom to top 2020-11-30 18:49:54 +01:00
Milos Holba
58f7479380 bulk-operations v0.1 add opcaity for draged items 2020-11-29 17:50:59 +01:00
Peter Papp
7b70c81d4d binding key delete 2020-11-29 09:55:58 +01:00
Peter Papp
1981f39f9e traffic fix
drag preview styling
2020-11-29 09:39:26 +01:00
Milos Holba
e86ea3e5c4 bulk-operations v0.1 disable rename if are multiple items selected , add Drag & Drop UI Ghost for share 2020-11-28 18:06:42 +01:00
Milos Holba
8e01b837a2 bulk-operations v0.1 add the Drag & Drop UI Ghost , styled scrollbar 2020-11-28 15:56:12 +01:00
Peter Papp
f33fe84350 traffic id fix 2020-11-28 14:46:59 +01:00
Milos Holba
dbbad817c7 bulk-operations multiSelect items UI v0.1 2020-11-26 12:28:59 +01:00
Milos Holba
0eb0939598 bulk-operations multiSelect items UI v0.1 2020-11-26 12:26:30 +01:00
Peter Papp
65f7855703 I killed that ghost beach! 2020-11-25 20:40:18 +01:00
Peter Papp
45d482d347 Merge remote-tracking branch 'origin/monitor' into bulk-operations
# Conflicts:
#	public/mix-manifest.json
2020-11-24 15:58:43 +01:00
Milos Holba
1654dc8678 bulk-operations draged item multiSelect UI 2020-11-24 11:19:40 +01:00
Peter Papp
cb417ea76d added basic traffic meter for upload/download 2020-11-23 18:29:23 +01:00
Milos Holba
17df4aea35 bulk-operations add the command key for selecting the items 2020-11-22 19:09:10 +01:00
Milos Holba
714429d8f4 bulk-operations merge with the improvements branch 2020-11-22 16:39:58 +01:00
Milos Holba
0df03f1d32 bulk-operations make new MobileMultiSelectMenu component, add multi dwonload 2020-11-22 16:21:51 +01:00
Peter Papp
fefc10afb8 Prevent browser 'Go Back' when you undesirably trying to go to previous page after sign in to your account 2020-11-22 10:30:06 +01:00
Peter Papp
1658627069 updated language files 2020-11-22 09:44:50 +01:00
Peter Papp
16ab540298 Ability to cancel uploading progress via x button 2020-11-22 09:42:44 +01:00
Peter Papp
4e5afa4747 Ability to remove uploaded logo and get back to text logo 2020-11-22 08:56:53 +01:00
Peter Papp
d76ff07bf4 Ability to collapse navigator or favourites widget in File page 2020-11-21 19:56:51 +01:00
Peter Papp
b38333bb64 Trash moved to file page 2020-11-21 18:02:46 +01:00
Peter Papp
f863537190 Integrated rename popup 2020-11-21 17:14:56 +01:00
Peter Papp
a72a672aaf Added navigator to shared page with folders when you have multiple folders within for better user experience
Title name of favourite folder overflowed sidebar when you have long title
Share button in image preview appear when you are in shared public folder
2020-11-21 10:33:27 +01:00
Milos Holba
a3dd817e7a bulk-operations v0.1 adding Drag & Drop for moving items to navigations folders, add folders to favourites 2020-11-20 17:54:39 +01:00
Milos Holba
9d9e07d0fa bulk-operations v0.1 mobileSeleting finished, change FileFullPreview code 2020-11-16 17:57:43 +01:00
Peter Papp
30783d0e5d frontend build 2020-11-16 17:19:59 +01:00
Peter Papp
3a296f0f9c Merge remote-tracking branch 'origin/upload-limit' into upload-limit 2020-11-16 17:17:46 +01:00
Peter Papp
c0d5a771a5 upload-limit branch review 2020-11-16 17:16:38 +01:00
Milos Holba
8fc7272e38 upload-limit v0.3 solved the multiple DB querys,uploadLimit in config 2020-11-16 17:16:38 +01:00
Milos Holba
8b8dc34ba6 upload-limit v0.2 solved uploadLimitFormate issues , add helper for format_megabytes 2020-11-16 17:16:38 +01:00
Milos Holba
966145d384 upload-limit v0.2 2020-11-16 17:16:38 +01:00
Milos Holba
2b4060cb7b upload-limit v0.1 2020-11-16 17:16:38 +01:00
Peter Papp
9455a361dc upload-limit branch review 2020-11-16 17:15:10 +01:00
Milos Holba
26132e23a3 bulk-operations v0.1 ContextMenu Add selecting for mobile version 2020-11-15 20:24:12 +01:00
Milos Holba
5acaadeaae bulk-version v0.1 contextMenu Mobile version selecting 2020-11-15 19:59:12 +01:00
Milos Holba
324f4b1ffa bulk-operations v0.1 setup bulk delete,move items and FileInfoPanel 2020-11-13 19:10:36 +01:00
Milos Holba
0c02952f7a bulk-operations v0.1 add selecting to FileItem List and Grid 2020-11-13 19:05:47 +01:00
Milos Holba
f76a4b37e4 bulk-operations v0.1 2020-11-13 19:03:13 +01:00
Milos Holba
f33f93006e bulk-operations v0.1 user_move, guest_move BE 2020-11-13 19:02:27 +01:00
Milos Holba
382756a6f0 rebase 2020-11-13 19:02:08 +01:00
Milos Holba
559bee6ca2 bulk-operations v0.1 setup bulk delete,move items and FileInfoPanel 2020-11-13 17:56:45 +01:00
Milos Holba
190fc651ae upload-limit v0.3 solved the multiple DB querys,uploadLimit in config 2020-11-12 17:46:23 +01:00
Peter Papp
1c62da4e7c fixed plan description validation in payment request 2020-11-12 17:16:37 +01:00
Milos Holba
8a9d2d7f9a bulk-operations add select for FileItemgrid 2020-11-12 17:12:09 +01:00
Peter Papp
ae3be12934 fixed plan description validation in payment request 2020-11-12 09:46:38 +01:00
Milos Holba
4683e0d084 bulk-operations select items v0.1 2020-11-11 18:03:46 +01:00
Milos Holba
c55d3f5350 upload-limit v0.2 solved uploadLimitFormate issues , add helper for format_megabytes 2020-11-07 15:19:03 +01:00
Milos Holba
7273d60154 upload-limit v0.2 2020-11-06 12:19:31 +01:00
Milos Holba
587daa5ffe upload-limit v0.1 2020-11-04 12:48:15 +01:00
Milos Holba
064e635d35 bulk-operations v0.1 user_move, guest_move BE 2020-11-03 15:36:08 +01:00
Milos Holba
06db522545 bulk-operations v0.1 user_delete,guest_delete BE 2020-11-01 19:52:33 +01:00
Peter Papp
e5335c2472 Merge remote-tracking branch 'origin/exifBlacklist' into exifBlacklist
# Conflicts:
#	public/mix-manifest.json
#	resources/js/helpers.js
#	resources/js/i18n/lang/cn.json
#	resources/js/i18n/lang/en.json
#	resources/js/i18n/lang/sk.json
#	resources/js/store/modules/fileFunctions.js
#	resources/js/views/Admin/AppSettings/AppSettingsTabs/Others.vue
2020-10-24 10:40:59 +02:00
Peter Papp
a2ec066c6d added metadata to UpgradeAppController.php
updated readme with upgrading step to 1.7.11
Frontend build
2020-10-24 10:39:39 +02:00
Miloš Holba
15d4ffc349 Add to metadata Longitude and Latitude 2020-10-24 09:44:23 +02:00
Peter Papp
9af9e45b8a night mode for ImageMetaData.vue 2020-10-24 09:44:23 +02:00
Peter Papp
f30dd38b96 migration column in file_manager_files renamed from meta_data to metadata
context menu feractoring
Editor.php typo changes
FileInfoPanel.vue small changes when to show metadata info
Added new exif information and reordering existing in ImageMetaData.vue
Added new translation strings to i18n files
2020-10-24 09:44:23 +02:00
Miloš Holba
d5f3599b9e v0.1 Add enable empty input in uploadText method 2020-10-24 09:44:23 +02:00
Miloš Holba
de62ab535c v0.1 Fix exif data function just for jpeg and Fix config in index.blade for mimetype_blacklist 2020-10-24 09:44:18 +02:00
Miloš Holba
8b8562916b v0.1 exifBlacklist 2020-10-24 09:44:05 +02:00
Miloš Holba
0d7b920cbe v0.1 add check mimetype if mimetype of file is undefined 2020-10-24 09:44:04 +02:00
Miloš Holba
f3254a380f v0.1 exif Blacklist add frontend validation 2020-10-24 09:44:02 +02:00
Miloš Holba
0e12029efc v0.1 Blacklist and Exif data 2020-10-24 09:43:58 +02:00
Miloš Holba
fd6aa5c6b2 Lazy loading (#41)
* lazy-loading and solved bugs

* lazy-loading for pull request on master

* Update vuefilemanager.php

Co-authored-by: Peter Papp <peterpapp@makingcg.com>
2020-10-24 09:40:05 +02:00
Miloš Holba
5be9db83f7 version change to v1.7.11 2020-10-23 16:14:34 +02:00
Peter Papp
12d6b0bf57 scheduler changed from hourly to every minute 2020-10-13 17:09:05 +02:00
nourisk
961462fe54 Update package.json (#32)
The "vue" and "vue-template[..]" versions not being the same, this has the effect of breaking the "npm run prod" command with error "version missmatch".
For people who have already installed it, just change the version then "npm install" and that should solve the problem.
2020-10-07 08:19:39 +02:00
nourisk
f0e0103d81 Update router.js (#31)
Capital i missing
2020-10-06 17:03:26 +02:00
Miloš Holba
755523e07b Add to metadata Longitude and Latitude 2020-09-25 09:31:31 +02:00
Peter Papp
c4ace0697b version change to v1.7.10.3 2020-09-20 12:09:07 +02:00
Peter Papp
69489c4ee2 - fixed simultaneously action with show and download file on doubleclick
- Changed download name for Backblaze
- Price plan can be defined in 12 digit number
2020-09-20 12:08:29 +02:00
Peter Papp
e05d7468b5 night mode for ImageMetaData.vue 2020-09-20 11:23:50 +02:00
Peter Papp
1a6a91335e migration column in file_manager_files renamed from meta_data to metadata
context menu feractoring
Editor.php typo changes
FileInfoPanel.vue small changes when to show metadata info
Added new exif information and reordering existing in ImageMetaData.vue
Added new translation strings to i18n files
2020-09-20 11:17:34 +02:00
Miloš Holba
80de069c7b v0.1 Add enable empty input in uploadText method 2020-09-15 13:20:39 +02:00
Miloš Holba
2de8bbe548 v0.1 Fix exif data function just for jpeg and Fix config in index.blade for mimetype_blacklist 2020-09-15 10:33:39 +02:00
Peter Papp
7ba2a3bec1 fixed backblaze broken download link when filename contain space (Content Disposition header wasn't read properly with space) 2020-09-14 09:53:38 +02:00
Miloš Holba
89fa2fce23 v0.1 exifBlacklist 2020-09-12 11:15:32 +02:00
Miloš Holba
84b47416d6 v0.1 add check mimetype if mimetype of file is undefined 2020-09-06 20:29:16 +02:00
Miloš Holba
55c72cddba v0.1 exif Blacklist add frontend validation 2020-09-05 18:35:27 +02:00
Miloš Holba
6effd4a7d9 v0.1 Blacklist and Exif data 2020-09-05 14:35:51 +02:00
Peter Papp
95f6695d00 Fixed when default value incorrectly showing in switches in app settings 2020-09-01 07:41:05 +02:00
Peter Papp
fde7f0f73b Fixed when default value incorrectly showing in switches in app settings 2020-09-01 07:10:56 +02:00
Peter Papp
dd1bffec09 typo error 2020-08-31 08:38:40 +02:00
Peter Papp
83a951b3af cache bursting support in webpack.mix.js 2020-08-31 08:22:51 +02:00
Peter Papp
6762ed25dc frontend build 2020-08-30 15:33:52 +02:00
Peter Papp
6ba869234e FileFullPreview functionality in file grid view 2020-08-30 15:33:20 +02:00
Peter Papp
2c04376a61 v1.7.10 2020-08-30 11:18:28 +02:00
Peter Papp
f180f1fff8 expand tap area for FilePreviewActions.vue arrows 2020-08-30 11:15:51 +02:00
Peter Papp
ab65ca7a13 hide subscription, payment cards and invoices in profile menu when is 'Allow subscription payment' option disabled
frontend build
2020-08-30 11:05:08 +02:00
Peter Papp
8895b5062a small design improves 2020-08-30 09:01:00 +02:00
Peter Papp
2f4aafb1b3 frontend build 2020-08-28 16:17:53 +02:00
Peter Papp
be08c8487a Merge remote-tracking branch 'origin/master' into filepreview
# Conflicts:
#	.env.example
#	package-lock.json
#	package.json
#	public/js/main.js
#	public/mix-manifest.json
#	resources/js/App.vue
#	resources/js/helpers.js
#	resources/js/i18n/lang/en.json
#	resources/js/i18n/lang/sk.json
#	resources/js/store/modules/fileFunctions.js
#	resources/js/views/Shared/SharedPage.vue
2020-08-28 16:14:28 +02:00
Peter Papp
0d5df91d2d frontend build 2020-08-27 14:48:48 +02:00
Peter Papp
72e4067beb logo fix in shared page
Renamed option title in share popup
2020-08-27 14:46:07 +02:00
Peter Papp
ba4f888826 Updated README.md and dark mode logo in Dashboard.vue page 2020-08-27 08:25:08 +02:00
Miloš Holba
82b43eb996 FilePreview solved v0.3 issues 2020-08-26 22:37:33 +02:00
Peter Papp
777132ec40 dark mode expiration buttons fix 2020-08-26 18:30:10 +02:00
Peter Papp
7f6f60227a Ability to set expiration for shared link
If user is logged in, after visit SignIn page will be redirected to files page
2020-08-26 08:17:49 +02:00
Peter Papp
ab6ff5dbfd force migration
added maintenance mode
2020-08-26 07:51:16 +02:00
Peter Papp
0d272bc9b7 version change 2020-08-26 07:30:48 +02:00
Peter Papp
2b08d7801b Shared link expiration backend
Redirect from sign in page when user is logged
Updated README.md
2020-08-26 07:29:28 +02:00
Peter Papp
cec4ff6cda shared link title fix 2020-08-25 15:33:16 +02:00
Peter Papp
6f300ba1d5 Link expiration frontend 2020-08-25 15:25:18 +02:00
Peter Papp
86813629ed updated readme 2020-08-25 12:53:46 +02:00
Peter Papp
73a728e606 change vuefilemanager version 2020-08-25 12:37:09 +02:00
Peter Papp
af1228e363 reading metadata in shared link RC 2020-08-25 12:36:21 +02:00
Peter Papp
f3a2758bcc reading metadata in shared link v0.1 2020-08-25 12:04:13 +02:00
Peter Papp
6f9f2f2d34 reading metadata in shared link 2020-08-25 11:03:53 +02:00
Peter Papp
9f4c21a1b1 UserSubscription page fix
PaymentMethods page fix
2020-08-24 09:30:38 +02:00
Peter Papp
88315e4a91 fixed paginated button 2020-08-24 07:20:45 +02:00
Peter Papp
25bb186c89 updated readme 2020-08-24 07:17:11 +02:00
Peter Papp
cca832a1c1 backend pagination and sorting from laravel database release 2020-08-24 06:35:42 +02:00
Miloš Holba
aac0aa755f fix arrow function when is just one file in MediaPreview 2020-08-22 17:55:03 +02:00
Miloš Holba
4be77c07ac remove addEventListener change the video sizing wrapper 2020-08-22 14:18:57 +02:00
Miloš Holba
9372906a3e open to click at audio for mobile 2020-08-22 12:19:23 +02:00
Miloš Holba
e12e521622 add audio mimetypes : mp4, flac 2020-08-21 17:32:36 +02:00
Peter Papp
6dd0b4f026 backend pagination and sorting from laravel database 2020-08-21 16:04:21 +02:00
Miloš Holba
0082c3a6a8 change arrows position 2020-08-20 20:31:47 +02:00
Miloš Holba
f79973e922 Fix issues from FilePreview v0.2 2020-08-20 18:50:07 +02:00
Peter Papp
3e6e046dfc folder delete fix 2020-08-19 06:10:07 +02:00
Miloš Holba
59ca45e9b1 update filePreview ContextMenu 2020-08-18 19:22:54 +02:00
Peter Papp
5f5caae9e7 updated language files, cache clear button loading 2020-08-18 15:12:34 +02:00
Peter Papp
93a7542502 - Moved chunk size option to .env
- Added ability into App Settings to flush application cache
- Renew password page logo fix
- removed put|patch|delete methods from axios and replaced by faking these methods to support incompatible shared hostings where you can't install php extension to support these methods.
- Getting unique_ids fix
2020-08-18 10:21:24 +02:00
Miloš Holba
bb22ec1e88 key binds fix 2020-08-17 20:10:30 +02:00
Peter Papp
5c2326e492 fixed non-vuefilemanager stripe plans loading 2020-08-17 10:04:47 +02:00
Peter Papp
47faadef51 strip non-asci characters from filename 2020-08-17 08:42:22 +02:00
Peter Papp
aa26501100 - added support for custom local storage path 2020-08-17 07:38:58 +02:00
Peter Papp
d333d53e9c - added eu-central to setup wizard for backblaze regions 2020-08-17 05:55:50 +02:00
Miloš Holba
ba315014fa split code to components, add arrow functions 2020-08-15 17:41:46 +02:00
Peter Papp
4a9f040c32 - added chunks 2020-08-14 10:22:41 +02:00
Peter Papp
13de58fdbd - relative chunks path 2020-08-14 10:21:57 +02:00
Peter Papp
40111b95c1 - frontend build with included chunks 2020-08-14 10:13:57 +02:00
Peter Papp
f03c6edec1 - code splitting with vue router 2020-08-14 10:02:24 +02:00
Peter Papp
840898ec9a - added region list to setup wizard
- dark mode disabled input fix
- fixed deprecated scopes
- updated screenshots for SaaS version
2020-08-14 08:39:11 +02:00
Peter Papp
a906a98cce frontend build 2020-08-13 10:58:43 +02:00
Peter Papp
962b76dd8b fix email setup 2020-08-13 10:57:29 +02:00
Peter Papp
23bbae8a74 meta description fix 2020-08-11 08:46:03 +02:00
Miloš Holba
8387f56048 Move item from gallery fix 2020-08-10 10:30:54 +02:00
Miloš Holba
68acf5f986 Add Gallery 2020-08-08 21:53:43 +02:00
Miloš Holba
785dade6b2 Add Gallery 2020-08-08 21:46:56 +02:00
carodej
8e93a92fcc updated readme 2020-08-07 16:33:30 +02:00
carodej
4393fc6f12 clear kernel 2020-08-07 10:57:04 +02:00
carodej
cba38b58c3 removed deprecated commands 2020-08-07 10:55:32 +02:00
carodej
1ff43b3557 added htaccess to redirect domain root to /public folder 2020-08-07 09:38:22 +02:00
carodej
bfc2253f4d set version 2020-08-05 16:54:26 +02:00
carodej
fb790200d4 bug fixes 2020-08-05 16:51:44 +02:00
carodej
fc2c4de50f additional text logo fix 2020-07-31 08:37:21 +02:00
carodej
a947882449 Merge branch 'master' of github.com:MakingCG/vue-filemanager-laravel
* 'master' of github.com:MakingCG/vue-filemanager-laravel:
  Update README.md
2020-07-30 09:01:34 +02:00
carodej
192b843a85 Merge branch 'dev'
* dev:
  v1.7.3 rc.1
  chunk upload and multipart upload beta.2
  chunk upload and multipart upload beta.1
  multipart upload build
  multipart upload
  chunk upload
  chunk upload
2020-07-30 08:58:19 +02:00
carodej
cd0627e8b8 v1.7.3 rc.1 2020-07-30 08:47:05 +02:00
carodej
46256f6332 chunk upload and multipart upload beta.2 2020-07-29 16:33:42 +02:00
Peter Papp
9935db4bb1 Update README.md 2020-07-29 16:33:05 +02:00
carodej
18761eb5b3 chunk upload and multipart upload beta.1 2020-07-29 12:29:30 +02:00
carodej
bf8db1be52 multipart upload build 2020-07-28 17:01:14 +02:00
carodej
9fea65bd52 multipart upload 2020-07-28 16:57:54 +02:00
carodej
fe8e329fea chunk upload 2020-07-27 17:40:16 +02:00
carodej
6ac543128e chunk upload 2020-07-27 17:28:55 +02:00
carodej
3a643da14e Updated readme 2020-07-24 09:07:41 +02:00
carodej
8cbc0d65dc download butten centered 2020-07-22 18:29:04 +02:00
carodej
4ac81f1ceb fixed urls when external storage is used 2020-07-22 18:12:26 +02:00
carodej
032f4f357a set smtp as default in setup wizard 2020-07-22 10:13:04 +02:00
carodej
35e1262676 Added some hints to setup wizard, new validation rules and readme update 2020-07-22 09:28:13 +02:00
carodej
5c86f4dbb3 SignUp button fixed and updated readme 2020-07-21 19:28:47 +02:00
carodej
a32b87334f Merge branch 'master' of github.com:MakingCG/vue-filemanager-laravel
* 'master' of github.com:MakingCG/vue-filemanager-laravel:
  Allow S3 compatible systems
2020-07-21 09:44:42 +02:00
carodej
4858d82ce3 Merge branch 'dev'
* dev: (38 commits)
  v1.7 RC.2
  v1.7 RC.1
  v1.7 beta.8
  README updated
  v1.7 beta.7
  v1.7 beta.6
  v1.7 beta.ť
  v1.7 beta.4
  v1.7 beta.3
  v1.7 beta.2
  v1.7 beta.1
  v1.7 alpha.4
  v1.7 alpha.3 build
  v1.7 alpha.3
  v1.7 alpha.2 build
  v1.7 alpha.2
  alpha v1.7 alpha.1
  bugfixes
  index options added
  translations update
  ...
2020-07-21 09:44:23 +02:00
carodej
6f6115d5cb v1.7 RC.2 2020-07-21 09:27:57 +02:00
carodej
b67297f160 v1.7 RC.1 2020-07-20 16:03:39 +02:00
carodej
6f95fc2565 v1.7 beta.8 2020-07-20 08:54:57 +02:00
carodej
827b34e1dd README updated 2020-07-19 17:27:24 +02:00
carodej
35543e6f06 v1.7 beta.7 2020-07-18 16:25:29 +02:00
carodej
6c96fe2f46 v1.7 beta.6 2020-07-18 09:15:19 +02:00
carodej
9ce64b2d58 v1.7 beta.ť 2020-07-17 08:39:01 +02:00
carodej
caa586ceb4 v1.7 beta.4 2020-07-17 08:34:28 +02:00
carodej
59b6dfb841 v1.7 beta.3 2020-07-16 16:51:27 +02:00
carodej
abe7f0dafd v1.7 beta.2 2020-07-16 11:02:58 +02:00
carodej
eeada5468b v1.7 beta.1 2020-07-16 10:26:41 +02:00
carodej
6b36480097 v1.7 alpha.4 2020-07-15 11:50:32 +02:00
carodej
25d15390ef v1.7 alpha.3 build 2020-07-15 09:40:15 +02:00
carodej
7ff7decbb6 v1.7 alpha.3 2020-07-15 09:36:38 +02:00
carodej
4cbdea4143 v1.7 alpha.2 build 2020-07-15 08:47:08 +02:00
carodej
38da639e26 v1.7 alpha.2 2020-07-15 08:34:52 +02:00
carodej
b1860eac21 alpha v1.7 alpha.1 2020-07-14 17:31:04 +02:00
carodej
c9d300769c bugfixes 2020-07-14 10:34:42 +02:00
carodej
2ae60003d6 index options added 2020-07-13 09:49:25 +02:00
carodej
a74c1c7b6e translations update 2020-07-12 11:02:21 +02:00
carodej
3c3a18cf6b translations update 2020-07-10 17:05:30 +02:00
carodej
5bd6455f7f responsivity update 2020-07-09 16:52:00 +02:00
carodej
5a9f5813c8 dark mode update 2020-07-09 10:56:17 +02:00
carodej
a43f0e6908 landing page 2020-07-08 09:07:11 +02:00
carodej
5a5125967f dashboard include 2020-07-05 09:14:17 +02:00
carodej
e1ebb70035 frontend update 2020-07-03 08:34:10 +02:00
carodej
05bc598405 frontend update 2020-07-02 18:04:10 +02:00
carodej
2764fd6dd5 setup wizard update 2020-07-02 12:31:14 +02:00
carodej
a98625876d Setup wizard update 2020-07-01 11:01:54 +02:00
carodej
aedc98cc8b setup wizard init 2020-06-29 10:09:42 +02:00
carodej
a2dfc627a7 frontend & backend update 2020-06-22 16:46:02 +02:00
carodej
a2cab6198e frontend & backend update 2020-06-19 08:03:29 +02:00
Carlos Ferreira
766368bace Allow S3 compatible systems
By specifying endpoint, one can use S3 compatible systems like Backblaze or Wasabi.
2020-06-12 15:00:22 +02:00
carodej
fee2cef980 fileview xscroller fix 2020-06-09 18:10:27 +02:00
carodej
95bc310def backend update 2020-06-09 18:06:04 +02:00
carodej
0b7bc27a5f Merge branch 'svg-fix' into dev
* svg-fix:
  fix with svg and scrolling
  v1.6.2 released
  v1.6.1
2020-06-05 17:39:00 +02:00
Peter Papp
bc7950b245 Merge pull request #14 from MakingCG/svg-fix
fix with svg and scrolling
2020-06-05 17:29:06 +02:00
carodej
321bac6c9f fix with svg and scrolling 2020-06-05 17:26:41 +02:00
carodej
cffdc3ced9 frontend/backend update 2020-06-05 16:48:11 +02:00
carodej
ca14838212 frontend update 2020-06-03 10:58:44 +02:00
carodej
331ee52ea3 frontend update 2020-06-02 07:13:44 +02:00
carodej
16c3625b0b frontend fix 2020-05-31 19:54:42 +02:00
carodej
6392ce1727 v1.6.2 released 2020-05-31 19:48:22 +02:00
carodej
181f090901 v1.6.1 2020-05-31 10:04:49 +02:00
carodej
61a8849e2d SaaS frontend update 2020-05-29 17:37:23 +02:00
carodej
252b6fd0bf v1.6 released 2020-05-28 13:00:54 +02:00
carodej
a76d1dec3b user management v1.6-alpha.1 2020-05-27 10:22:33 +02:00
carodej
143aca64dc Merge branch 'dev'
* dev:
  v1.5.2
2020-05-22 10:22:23 +02:00
carodej
3dc3f37cf6 v1.5.2 2020-05-22 10:20:55 +02:00
carodej
deff8d8741 Merge branch 'dev'
* dev:
  v1.5.1-beta.2
  v1.5.1-beta.1
2020-05-22 09:59:05 +02:00
carodej
beae4277ca v1.5.1-beta.2 2020-05-22 09:48:26 +02:00
carodej
be7d1bdc73 v1.5.1-beta.1 2020-05-22 09:40:34 +02:00
carodej
2eaf399441 Merge branch 'dev'
* dev:
  v1.5-beta.3
  v1.5-beta.2
  v1.5-beta.1
  v1.5-alpha.11
  v1.5-alpha.10
  v1.5-alpha.9
  v1.5-alpha.8
  v1.5-alpha.7
  v1.5-alpha.6
  v1.5-alpha.5
  v1.5-alpha.4
  v1.5-alpha.3
  v1.5-alpha.2
  v1.5-alpha.1
2020-05-19 17:52:07 +02:00
carodej
65f902fbcf v1.5-beta.3 2020-05-19 17:49:49 +02:00
carodej
5df0fa93b3 v1.5-beta.2 2020-05-19 11:27:47 +02:00
carodej
67b9416f64 v1.5-beta.1 2020-05-19 09:52:04 +02:00
carodej
8255597fd5 v1.5-alpha.11 2020-05-19 08:29:34 +02:00
carodej
633bef7660 v1.5-alpha.10 2020-05-18 12:37:33 +02:00
carodej
dfe4991177 v1.5-alpha.9 2020-05-18 09:32:34 +02:00
carodej
8daa05f710 v1.5-alpha.8 2020-05-16 17:52:24 +02:00
carodej
62434bcedb v1.5-alpha.7 2020-05-16 17:35:50 +02:00
carodej
6272f62e85 v1.5-alpha.6 2020-05-16 17:22:45 +02:00
carodej
4c8028696f v1.5-alpha.5 2020-05-16 17:12:38 +02:00
carodej
355f6a96ff v1.5-alpha.4 2020-05-16 12:18:37 +02:00
carodej
bdcfc26af7 v1.5-alpha.3 2020-05-16 12:11:17 +02:00
carodej
d2c4f2aa23 v1.5-alpha.2 2020-05-16 12:04:28 +02:00
carodej
41656235fc v1.5-alpha.1 2020-05-15 17:31:25 +02:00
carodej
26e79e7baa Merge branch 'dev'
* dev:
  set default storage as local
  v1.4.2 update
2020-05-06 07:44:11 +02:00
carodej
cfecf542ca set default storage as local 2020-05-06 07:42:37 +02:00
carodej
edd0b5195d v1.4.2 update 2020-05-06 07:41:36 +02:00
carodej
232d560cc4 Merge branch 'dev'
* dev:
  v1.4.1 update
  v1.4.1 update
2020-05-04 11:54:47 +02:00
carodej
b8b56584bd v1.4.1 update 2020-05-04 11:52:12 +02:00
carodej
ce2daaf6c4 v1.4.1 update 2020-05-04 11:45:13 +02:00
Peter Papp
78d9e0bd2a Update vuefilemanager.php 2020-05-04 11:15:11 +02:00
Peter Papp
55695ba06c Update README.md 2020-05-01 11:54:18 +02:00
carodej
ca3514d1d2 Merge branch 'dev'
* dev:
  v1.4
  vuefilemanager v1.4-beta.1
  vuefilemanager v1.4-alpha.2
  vuefilemanager v1.5-alpha.1
  editing with shared items in public
  backend update
  backend refactoring
  protected sharing update
  vuex refactoring
  frontend/backend update
  vue frontend update
  vue frontend update
  vue router implemented
  implementing vue router
2020-05-01 11:21:20 +02:00
carodej
b2db3755d8 v1.4 2020-05-01 11:04:03 +02:00
carodej
606c1895a9 vuefilemanager v1.4-beta.1 2020-04-30 10:55:36 +02:00
carodej
968b12c4ac vuefilemanager v1.4-alpha.2 2020-04-29 16:32:40 +02:00
carodej
0f3cbaec3d vuefilemanager v1.5-alpha.1 2020-04-29 11:32:08 +02:00
carodej
2614efe601 editing with shared items in public 2020-04-28 18:06:38 +02:00
carodej
eb6bd646c8 backend update 2020-04-27 12:38:08 +02:00
carodej
65147870fd backend refactoring 2020-04-27 08:34:09 +02:00
carodej
586f0bba68 protected sharing update 2020-04-24 12:50:11 +02:00
carodej
c4b26d70b5 vuex refactoring 2020-04-23 17:57:55 +02:00
carodej
8cbc58f775 frontend/backend update 2020-04-23 12:40:22 +02:00
carodej
8740cc7685 vue frontend update 2020-04-20 09:01:54 +02:00
carodej
506c39896a vue frontend update 2020-04-17 11:33:06 +02:00
carodej
9db34fd90e file delete bugfixes 2020-04-08 09:37:54 +02:00
carodej
ae4353cc4b vue router implemented 2020-04-07 14:48:29 +02:00
carodej
bde58fbf60 implementing vue router 2020-04-06 20:45:56 +02:00
carodej
01b399e4a6 fixed - Cannot read property '$t' 2020-04-06 19:56:56 +02:00
carodej
6235ffd0dc deleted file 2020-04-05 12:19:21 +02:00
MakingCG
4504276563 Version 1.3
- i18n localization support
- Added SK, EN language files
- Video/Audio preview in file preview panel (Thanks to Joshua Fouyon to participating on this feature)
- Drop uploading (You can now drag files from desktop and drop it to VueFileManager)
- Fixed bug when rename item in safari browser
- Fixed bug when you drag folder from trash to favourites in sidebar panel
- small functions and design improvements
2020-04-03 11:52:54 +02:00
MakingCG
96da39923d Update app.php 2020-04-01 18:47:37 +02:00
MakingCG
8633650f82 Added i18n support 2020-04-01 18:44:47 +02:00
MakingCG
182091c21a bugfixes 2020-03-29 11:42:32 +02:00
MakingCG
7bed9ad7b8 bug fixes 2020-03-28 19:30:04 +01:00
MakingCG
7eb4238efd bug fixes 2020-03-28 19:17:58 +01:00
1285 changed files with 134609 additions and 20487 deletions

View File

@@ -1,10 +1,16 @@
APP_NAME=Laravel
APP_NAME=VueFileManager
APP_ENV=local
APP_KEY=
APP_KEY=base64:sC1YuKsbWv7MdWugb9ZsYBqv2QZJ+QOuHZHEddOsAao=
APP_DEBUG=true
APP_URL=http://localhost
APP_DEMO=false
LOG_CHANNEL=stack
LOG_CHANNEL=daily
SCOUT_DRIVER=tntsearch
SCOUT_QUEUE=true
FILESYSTEM_DISK=local
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
@@ -13,9 +19,11 @@ DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
BROADCAST_DRIVER=log
DB_MYSQLDUMP_PATH=/usr/bin
BROADCAST_DRIVER=null
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
QUEUE_CONNECTION=database
SESSION_DRIVER=file
SESSION_LIFETIME=120
@@ -23,24 +31,76 @@ REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
MAIL_DRIVER=log
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=example@domain.com
MAIL_PASSWORD=
MAIL_ENCRYPTION=
MAIL_FROM_ADDRESS="${MAIL_USERNAME}"
MAIL_FROM_NAME="${MAIL_USERNAME}"
POSTMARK_TOKEN=
MAILGUN_DOMAIN=
MAILGUN_SECRET=
MAILGUN_ENDPOINT=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_DEFAULT_REGION=
AWS_SESSION_TOKEN=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_DEFAULT_REGION=
S3_BUCKET=
S3_URL=
STRIPE_SECRET_KEY=
STRIPE_PUBLIC_KEY=
STRIPE_WEBHOOK_SECRET=
PAYSTACK_SECRET=
PAYSTACK_PUBLIC_KEY=
PAYPAL_CLIENT_ID=
PAYPAL_CLIENT_SECRET=
PAYPAL_WEBHOOK_ID=
PAYPAL_IS_LIVE=false
FACEBOOK_CLIENT_ID=
FACEBOOK_CLIENT_SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
RECAPTCHA_CLIENT_ID=
RECAPTCHA_CLIENT_SECRET=
SANCTUM_STATEFUL_DOMAINS=localhost,localhost:8000,127.0.0.1,127.0.0.1:8000,::1
PUSHER_APP_ID=local
PUSHER_APP_KEY=local
PUSHER_APP_SECRET=local
PUSHER_APP_CLUSTER=mt1
PUSHER_APP_HOST=
PUSHER_APP_PORT=
PUSHER_APP_TLS=true
PUSHER_APP_ALLOWED_ORIGIN=
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
IS_ADMIN_VUEFILEMANAGER_BAR=true
IS_SETUP_WIZARD_DEMO=false
IS_SETUP_WIZARD_DEBUG=false
FTP_HOST=
FTP_USERNAME=
FTP_PASSWORD=
AZURE_STORAGE_NAME=
AZURE_STORAGE_KEY=
AZURE_STORAGE_CONTAINER=
AZURE_STORAGE_URL=

45
.env.testing Normal file
View File

@@ -0,0 +1,45 @@
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:DZMmPFCbaykO5HNb9ltj1PKX/WKGylZf0s/ghUWUCGs=
APP_DEBUG=true
APP_URL=http://localhost
APP_DEMO=false
LOG_CHANNEL=stack
DB_CONNECTION=sqlite
DB_HOST=null
DB_PORT=null
DB_DATABASE=database/test.sqlite
DB_USERNAME=null
DB_PASSWORD=null
FILESYSTEM_DISK=local
BROADCAST_DRIVER=null
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
SCOUT_DRIVER=tntsearch
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=log
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_DEFAULT_REGION=us-east-1
S3_BUCKET=
SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1,127.0.0.1:8000,::1
DB_MYSQLDUMP_PATH="/usr/bin"

View File

@@ -0,0 +1,29 @@
name: Code Style Fix
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
php-cs-fixer:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
- name: Run PHP CS Fixer
uses: docker://oskarstark/php-cs-fixer-ga
with:
args: --config=.php-cs-fixer.dist.php --allow-risky=yes
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Fix backend code styling

35
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Frontend Build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: npm install
- run: npm run prod
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Application Build

43
.github/workflows/unit-testing.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
name: Unit Testing
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest]
php: [8.0]
stability: [prefer-stable]
name: P${{ matrix.php }} - ${{ matrix.stability }} - ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: ctype, json, exif, dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, fileinfo
coverage: none
- name: Setup problem matchers
run: |
echo "::add-matcher::${{ runner.tool_cache }}/php.json"
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- name: Install dependencies
run: composer update --${{ matrix.stability }} --prefer-dist --no-interaction
- name: Run tests
run: vendor/bin/phpunit

9
.gitignore vendored
View File

@@ -3,12 +3,21 @@
/public/storage
/storage/*.key
/storage/*.index
/storage/framework/cache/*
/vendor
/resources/babel.babel
.idea
.env
.env.backup
.env.testing
.php-cs-fixer.cache
.phpunit.result.cache
.phpstorm.meta.php
.vscode/
_ide_helper.php
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
prettier.json
/public/temp

3
.htaccess Normal file
View File

@@ -0,0 +1,3 @@
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]

80
.php-cs-fixer.dist.php Normal file
View File

@@ -0,0 +1,80 @@
<?php
$finder = PhpCsFixer\Finder::create()
->in([
__DIR__ . '/src',
__DIR__ . '/routes',
__DIR__ . '/config',
__DIR__ . '/tests',
])
->name('*.php')
->notName('*.blade.php')
->ignoreDotFiles(true)
->ignoreVCS(true);
$config = new PhpCsFixer\Config();
return $config->setRules([
'@PSR2' => true,
'nullable_type_declaration_for_default_null_value' => [
'use_nullable_type_declaration' => true
],
'array_syntax' => [
'syntax' => 'short'
],
'ordered_imports' => [
'sort_algorithm' => 'length'
],
'blank_line_before_statement' => [
'statements' => ['break', 'case', 'continue', 'declare', 'default', 'do', 'exit', 'for', 'foreach', 'goto', 'if', 'include', 'include_once', 'require', 'require_once', 'return', 'switch', 'throw', 'try', 'while', 'yield', 'yield_from'],
],
'method_argument_space' => [
'on_multiline' => 'ensure_fully_multiline',
'keep_multiple_spaces_after_comma' => true,
],
'no_extra_blank_lines' => [
'tokens' => ['break', 'case', 'continue', 'curly_brace_block', 'default', 'extra', 'parenthesis_brace_block', 'return', 'square_brace_block', 'switch', 'throw', 'use', 'use_trait'],
],
'cast_spaces' => [
'space' => 'single'
],
'use_arrow_functions' => true,
'phpdoc_single_line_var_spacing' => true,
'phpdoc_var_without_name' => true,
'single_space_after_construct' => true,
'single_line_after_imports' => true,
'no_unused_imports' => true,
'not_operator_with_successor_space' => true,
'trailing_comma_in_multiline' => ['elements' => ['arrays']],
'phpdoc_scalar' => true,
'unary_operator_spaces' => true,
'binary_operator_spaces' => ['operators' => ['=>' => 'align']],
'single_trait_insert_per_statement' => false,
'method_chaining_indentation' => true,
'array_indentation' => true,
'single_quote' => true,
'no_singleline_whitespace_before_semicolons' => true,
'no_empty_statement' => true,
'standardize_increment' => true,
'object_operator_without_whitespace' => true,
'ternary_operator_spaces' => true,
'no_leading_namespace_whitespace' => true,
'no_blank_lines_before_namespace' => true,
'blank_line_after_namespace' => true,
'fully_qualified_strict_types' => true,
'single_line_throw' => true,
'function_typehint_space' => true,
'simplified_if_return' => true,
'no_useless_else' => true,
'no_unneeded_curly_braces' => true,
'no_empty_comment' => true,
'no_blank_lines_after_class_opening' => true,
'whitespace_after_comma_in_array' => true,
'trim_array_spaces' => true,
'no_whitespace_before_comma_in_array' => true,
'constant_case' => true,
'lowercase_keywords' => true,
'lowercase_static_reference' => true,
'lambda_not_used_import' => true,
])
->setFinder($finder);

1
.php_cs.cache Normal file

File diff suppressed because one or more lines are too long

2267
.phpstorm.meta.php Normal file

File diff suppressed because it is too large Load Diff

5
.prettierrc.yaml Normal file
View File

@@ -0,0 +1,5 @@
trailingComma: "es5"
tabWidth: 4
semi: false
singleQuote: true
printWidth: 120

BIN
.rnd

Binary file not shown.

436
README.md
View File

@@ -1,50 +1,418 @@
## VueFileManager - Make your own Private Cloud with VueFileManager client powered by Laravel and Vue
For installation, please read [Online Documentation](https://vuefilemanager.hi5ve.digital/docs/).
![VueFileManager](https://vuefilemanager.hi5ve.digital/assets/images/vue-file-manager-in-devices-dark.png)
**Features:**
![logo](https://vuefilemanager.com/assets/images/vuefilemanager-horizontal-logo.svg)
# Private Cloud Storage Build by Laravel & Vue.js
### Drag & Drop
Reorder your files easily, just drag your folder or file and drop to another folder.
## Contents
### List & Grid Preview
You can change from two types of file and folder previews. Show your items in list or grid preview.
- [Installation](#installation)
- [Server Requirements](#server-requirements)
- [Installation](#installation)
- [Updating Application](#updating-application)
- [Nginx Configuration](#nginx-configuration)
- [Apache Configuration](#apache-configuration)
- [Migrating to Another Domain](#migrating-to-another-domain)
- [Social Authentication](#social-authentication)
- [Subscription Configuration](#subscription-configuration)
- [Configuring Production/Testing Environment](#configuring-productiontesting-environment)
- [Upgrading From Testing Environment to the Production Mode](#upgrading-from-testing-environment-to-the-production-mode)
- [Broadcasting](#broadcasting)
- [About Broadcasting](#about-broadcasting)
- [Install Broadcast Server](#install-broadcast-server)
- [Developers](#developers)
- [Running Environment On Your Localhost](#running-environment-on-your-localhost)
- [Express Installation](#express-installation)
- [Express Installation with Demo Data](#express-installation-with-demo-data)
- [Generate Demo Data for Metered Subscription](#generate-demo-data-for-metered-subscription)
- [Generate Demo Data for Fixed Subscription](#generate-demo-data-for-fixed-subscription)
- [Sanctum Stateful Domains](#sanctum-stateful-domains)
- [Running your Local Server](#running-your-local-server)
- [Building Your App for Production](#building-your-app-for-production)
- [Others](#others)
- [Support](#support)
- [Security Vulnerabilities](#security-vulnerabilities)
### Background Uploading
Your files is uploaded in the background, so nothing will stop you from working with the files.
# Installation
## Server Requirements
### File & Folder searching
Search your items quickly, from anywhere in the app you are.
**For running app make sure you have:**
### Custom Context Menu
Quick actions next to your file on your right click.
- PHP >= 8.0.2 version (8.1+ recommended)
- MySQL 5.6+
- Nginx or Apache (Nginx recommended)
### File Details
Get preview of your files quickli in right panel next to your files.
**These PHP Extensions are require:**
### Improved Mobile User Experience
Need to quickly upload or get your files on your smartphone? Its not problem.
- Intl
- GD
- BCMath
- PDO
- SQLite3
- Ctype
- Fileinfo
- JSON
- Mbstring
- OpenSSL
- Tokenizer
- XML
- Exif
### Laravel PHP Framework
You don't have to create your own API for VueFileManager. You can use our pre-build backend in Laravel PHP Framework.
## Installation
### Vue.js
Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. We ❤️ Vue.
- [How to install VPS with Debian 10](https://medium.com/vuefilemanager/how-to-set-up-vuefilemanager-laravel-application-on-vps-with-debian-10-64676a3ff4d7)
- [How to Set Up AWS S3](https://medium.com/vuefilemanager/how-to-set-up-vuefilemanager-with-aws-s3-as-an-external-storage-a2c525aec698)
- [How to Set Up Digital Ocean Spaces](https://medium.com/vuefilemanager/how-to-set-up-vuefilemanager-with-digital-ocean-spaces-as-a-external-storage-6cccf590c23d)
### Online Documentation
Dont worry, we will explain all things you should know to successfully start your VueFileManager instance.
### 1. Upload files on your server
Upload project files to the web root folder of your domain. It's mostly located in `html`, `www` or `public_html` folder name.
### Night Mode
We add native support for dark mode. Now, its easy for your eyes to work with your files at night.
### 2. Configure your Document Root
Configure your domain document root to the point of the files you previously uploaded directly into `/public` folder. So, if you uploaded files into `/public_html` folder, your document root must be set as `/public_html/public`. It should [look like this](https://i.ibb.co/SfLdmCQ/Screenshot-2022-04-06-at-08-53-29.png)
### User Login & Registration
Let user create their own account with own storage. All these accounts is protected by user login.
Don't forget to enable Force HTTPS Redirect.
### 3. Set write permissions
Set `755` permission (CHMOD) to these files and folders directory within all children subdirectories:
- /bootstrap
- /storage
- /.env
### 4. Open your application in your web browser
Then open your application in web browser. If everything works fine, you will be redirected to the setup wizard installation process.
### 5. Server Check
On the first page you will see server check. Make sure all items are green. If not, then correct your server setup by recommended values and refresh your setup wizard page.
### 6. Follow setup wizard steps
That was the hardest part of installation process. Please follow instructions in every step of Setup Wizard to successfully install VueFileManager.
### 7. Set up Cron
#### If you are running VueFileManager on shared web hosting (CPanel, Plesk etc.)
1. Create new cron job
2. Set execution cycle every minute
3. Search the absolute directory path where you uploaded VueFileManager files (like `/www/project_files`). The path must start with `/`.
4. Copy the command below, paste it to the command text area and replace in command string `replace_by_your_path` exactly with your path you found in step 3.
5. It should [look like this](https://i.ibb.co/SmR585j/Screenshot-2022-03-31-at-09-30-36.png) with your pasted project path.
```
php replace_by_your_path/artisan schedule:run >> /dev/null 2>&1
```
6. If you have multiple php versions installed on your server, you should specify php path to the latest php version (8+). So, you should edit `php` in command above and replace it by path. For Example:
```
/usr/bin/php8.1/php replace_by_your_path/artisan schedule:run >> /dev/null 2>&1
```
#### If you are running VueFileManager on linux server
1. Search the absolute directory path where you uploaded VueFileManager files (like `/www/project_files`). The path must start with `/`.
2. Copy the command below, paste it to your cron list and replace in command string `/www/project_files` exactly with your path you found in step 1.
```
* * * * * cd /www/project_files && php artisan schedule:run >> /dev/null 2>&1
```
### 8. CORS Configuration (When you Set External S3 Storage)
In your s3 bucket settings you should have option to set up your CORS (Cross-Origin Resource Sharing). It's basically adding your app url to the list of allowed CORS. This step is required for reading pdf documents from s3 in your VueFileManager app without loading issues.
# Updating Application
1. Replace all files where the app is located except `/storage` folder and `.env` file.
2. Clear the application cache (Admin / Settings / Application).
3. In 5 minutes the app update stuff automatically on the background if needed.
## Nginx Configuration
If you running VueFileManager under Nginx, don't forget set this value in your `nginx.conf` file:
```
http {
client_max_body_size 1024M;
}
```
And example Nginx config for your domain:
```
server {
listen 80;
listen [::]:80;
# Log files for Debugging
access_log /var/log/nginx/laravel-access.log;
error_log /var/log/nginx/laravel-error.log;
# Webroot Directory for Laravel project
root /var/www/vuefilemanager/public;
index index.php index.html index.htm;
# Your Domain Name
server_name example.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# PHP-FPM Configuration Nginx
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
## Apache Configuration
Make sure you have enabled mod_rewrite. There is an example config for running VueFileManager under apache:
```
<VirtualHost example.com:80>
DocumentRoot /var/www/vuefilemanager/public
ServerName example.com
<Directory "/var/www/vuefilemanager/public">
AllowOverride All
allow from all
Options +Indexes
Require all granted
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
```
## Migrating to Another Domain
If you move your VueFileManager application into another domain or subdomain, you have to manually change values in your `.env` file.
1. Open your `/.env` file.
2. Find `APP_URL` variable and write your new domain location. Don't forget start with defining `https://` protocol.
3. Find `SANCTUM_STATEFUL_DOMAINS` variable and write your new domain location without http protocol.
4. Remove your cached config file which is located `/bootstrap/cache/config.php`.
## Social Authentication
If you'd like to allow your users to authenticate via their social accounts, the setup is pretty convenient. Just don't forget to set up redirect url and required permissions.
#### Required permissions:
- Name and profile picture
- Email
# Subscription Configuration
## Configuring Production/Testing Environment
To set up your subscription, please follow these steps below.
1. If you didn't set up your subscription type in Setup Wizard, go to the `Admin / Settings / Application` and find subscription widget. Next set value as `Fixed`.
2. Go to the `Admin / Billings` and fill the inputs with your billing information.
3. Go to the `Admin / Payments` and turn on the switch `Allow Subscription Payments`.
4. Set up credentials for all payment gateway you want. If you set production mode, make sure you fill your credentials with production keys, and vice versa. If needed, don't forget to turn on `live mode` for PayPal.
5. Set up your webhooks, you can find your webhook url in payment gateway widget.
6. Go to the `Admin / Plans` and create your first plan. Make sure all payment gateways support the currency you want, especially for Paystack, it supports only `GHS, NGN, USD and ZAR`.
## Upgrading From Testing Environment to the Production Mode
1. Go to the `Admin / Payments` and set up credentials for all payment gateway you want with production keys type. Don't forget to turn on `live mode` for PayPal.
2. Go to the `Admin / Plans` and delete all your previously created plans. They will be archived.
3. Create new production plans you want offer.
# Broadcasting
### About Broadcasting
Broadcasting is responsible for real time app experience. If broadcasting is set, you will be able to get just in time updates in your app.
For example, remote upload works on the background, while the files are downloading and showing in your view immediately after they are ready without refreshing the app. Or, you will get immediately notifications about new events like team invitations, file requests and many more.
More real time features will be implemented in incoming updates.
VueFileManager support 2 types of connections:
1. [Pusher](https://pusher.com/) - Suitable for all users and all hosting platforms
2. VueFileManager Broadcast Server - Free of charge, suitable for experienced users, limited for VPS servers
## Install Broadcast Server
We strongly recommend only for experienced users to set up and running VueFileManager broadcast server. For others, we recommend to use Pusher service to easy set up and host broadcasting service.
### Server Requirements
**For running app make sure you have:**
- VPS server with SSH access
- PHP >= 8.0.2 version (8.1+ recommended)
- Nginx
- Supervisor
- Certbot
### Installation
We assume you have installed and running properly your VPS server.
### Websocket Server Set Up
Upload VueFileManager into your server, for example path directory `/var/www/sockets` would be great. Next connect to your server with ssh and change your terminal directory into VueFileManager:
```
cd /var/www/sockets
```
Run installation command for websocket server. You will be prompted to type host of which you want to allow incoming requests.
```
php artisan websockets:install
```
### Domain & Nginx Set Up
Create subdomain for your socket host, for example `socket.vuefilemanager.com` and direct this subdomain to your vps where socket server will be running.
Then, create nginx config for your subdomain:
```
nano /etc/nginx/sites-available/socket.conf
```
And paste the template below, just replace subdomain with yours:
```
server {
listen 80;
server_name socket.vuefilemanager.com;
location / {
proxy_pass http://127.0.0.1:6001;
proxy_read_timeout 60;
proxy_connect_timeout 60;
proxy_redirect off;
# Allow the use of websockets
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
```
Enable your created config by this command:
```
ln -s /etc/nginx/sites-available/socket.conf /etc/nginx/sites-enabled/
```
Restart your nginx:
```
systemctl restart nginx
```
In the last step, install ssl certificate for your previously created subdomain with certbot:
```
certbot --nginx
```
### Supervisor Configuration
We need supervisor to manage running your websocket server on the background.
In `/etc/supervisor/conf.d` (Debian/Ubuntu) or `/etc/supervisord.d/` (Red Hat/CentOS) create a file `websockets.conf`.
Just edit php path, project path and user when they are different for your vps:
```
[program:websockets]
command=/usr/bin/php /var/www/socket/artisan websockets:serve
numprocs=1
autostart=true
autorestart=true
user=www-data
```
Run command below to start your websocket server:
```
supervisorctl start websockets
```
Run command below to stop your websocket server:
```
supervisorctl stop websockets
```
When you update code or server for some reason, you must also update running supervisor:
```
supervisorctl reload
```
### VueFileManager Set Up
Log in to your VueFileManager admin account and go to `Admin / Settings / Environment`.
Find Broadcasting form and select `VueFileManager` as broadcasting driver. Set your hostname and save the form.
That's all, you are running your own Broadcast server.
# Developers
## Running Environment On Your Localhost
**For running development environment make sure you have:**
- Node >= 14
- NPM >= 6
### Express Installation
If you would like to have express installation without Setup Wizard process, please update your database credentials in .env file
```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
```
Next, run this command below. Admin account will be created with credentials `howdy@hi5ve.digital` and password `vuefilemanager`.
```
php artisan setup:prod
```
### Express Installation with Demo Data
If you would like to generate demo content, run this command below. Admin account will be created with credentials `howdy@hi5ve.digital` and password `vuefilemanager`.
```
php artisan setup:dev
```
### Generate Demo Data for Metered Subscription
If you would like to generate demo content for the subscription with the metered billing, run this command below.
```
php artisan subscription:demo metered
```
### Generate Demo Data for Fixed Subscription
If you would like to generate demo content for the subscription with the fixed billing, please fill the credentials in your `.env` file for the payment systems you'd like to use:
```
STRIPE_SECRET_KEY=
STRIPE_PUBLIC_KEY=
STRIPE_WEBHOOK_SECRET=
PAYSTACK_SECRET=
PAYSTACK_PUBLIC_KEY=
PAYPAL_CLIENT_ID=
PAYPAL_CLIENT_SECRET=
PAYPAL_WEBHOOK_ID=
PAYPAL_IS_LIVE=false
```
and then run this command to generate demo content for fixed subscription:
```
php artisan subscription:demo fixed
```
### Sanctum Stateful Domains
After installation, please make sure your current host/domain where you are running app is included in your `.env` file in `SANCTUM_STATEFUL_DOMAINS` variable.
### Running your Local Server
To start server on your localhost, run command below.
```
php artisan serve
```
For developing Vue front-end, you have to install npm modules by this command:
```
npm install
```
To compiles and hot-reloads for front-end development. Then run this command:
```
npm run hot
```
### Building Your App for Production
To compiles for production build, run this command
```
npm run prod
```
## Support
The following support channels are available at your fingertips:
- [CodeCanyon support message](https://codecanyon.net/item/vue-file-manager-with-laravel-backend/25815986/support)
## Supporting VueFileManager
We are trying to make the best for VueFileManager. There are a lot of things to do, and a lot of features we can make.
But, it can't be done without you, development is more and more complicated and we have to hire new colleagues to help us. There is couple way you can support us, and then, we support you with all great new features we can make. Thank you for participating on this awesome application!
- [Buy me a Coffee](https://www.buymeacoffee.com/pepe)
- [Become a Patreon](https://www.patreon.com/vuefilemanager)
- [One-time donation via PayPal](https://www.paypal.me/peterpapp)
## Security Vulnerabilities
If you discover a security vulnerability within this project, please send an e-mail to [peterpapp@makingcg.com](peterpapp@makingcg.com). All security vulnerabilities will be promptly addressed.
### Integrated Trash
Did you delete something by accident or do you want your deleted files back? Restore your files from trash.
### Navigation Sidebar
Navigate through your files easily. Add you favourites folder or look on your latest uploads.
### Storage Limits
Set storage limits to your user account to sure, you never exceed your storage limits.

19441
_ide_helper.php Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,42 +0,0 @@
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
//
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')
// ->hourly();
}
/**
* Register the commands for the application.
*
* @return void
*/
protected function commands()
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}

View File

@@ -1,118 +0,0 @@
<?php
namespace App;
use ByteUnits\Metric;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
use Laravel\Scout\Searchable;
use TeamTNT\TNTSearch\Indexer\TNTIndexer;
use \Illuminate\Database\Eloquent\SoftDeletes;
use \Askedio\SoftCascade\Traits\SoftCascadeTrait;
class FileManagerFile extends Model
{
use Searchable, SoftDeletes, SoftCascadeTrait;
protected $guarded = [
'id'
];
protected $appends = [
'file_url'
];
/**
* Format created at date
*
* @return string
*/
public function getCreatedAtAttribute()
{
return Carbon::create($this->attributes['created_at'])->format('j M Y \a\t H:i');;
}
/**
* Form\a\t created at date reformat
*
* @return string
*/
public function getDeletedAtAttribute()
{
if (! $this->attributes['deleted_at']) return null;
return Carbon::create($this->attributes['deleted_at'])->format('j M Y at H:i');
}
/**
* Format filesize
*
* @param $value
* @return string
*/
public function getFilesizeAttribute()
{
return Metric::bytes($this->attributes['filesize'])->format();
}
/**
* Format thumbnail url
*
* @param $value
* @return string
*/
public function getThumbnailAttribute()
{
return $this->attributes['thumbnail'] ? route('thumbnail', ['name' => $this->attributes['thumbnail']]) : null;
}
/**
* Format file url
*
* @param $value
* @return string
*/
public function getFileUrlAttribute()
{
return route('file', ['name' => $this->attributes['basename']]);
}
/**
* Index file
*
* @return array
*/
public function toSearchableArray()
{
$array = $this->toArray();
$name = Str::slug($array['name'], ' ');
return [
'id' => $this->id,
'name' => $name,
'nameNgrams' => utf8_encode((new TNTIndexer)->buildTrigrams(implode(', ', [$name]))),
];
}
/**
* Get parent
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function parent()
{
return $this->belongsTo('App\FileManagerFolder', 'folder_id', 'unique_id');
}
/**
* Get folder
*
* @return \Illuminate\Database\Eloquent\Relations\HasOne
*/
public function folder()
{
return $this->hasOne('App\FileManagerFolder', 'unique_id', 'folder_id');
}
}

View File

@@ -1,199 +0,0 @@
<?php
namespace App;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Arr;
use Illuminate\Support\Str;
use Laravel\Scout\Searchable;
use RecursiveArrayIterator;
use RecursiveIteratorIterator;
use TeamTNT\TNTSearch\Indexer\TNTIndexer;
use \Illuminate\Database\Eloquent\SoftDeletes;
use \Askedio\SoftCascade\Traits\SoftCascadeTrait;
class FileManagerFolder extends Model
{
use Searchable, SoftDeletes, SoftCascadeTrait;
protected $guarded = [
'id'
];
protected $softCascade = [
'children', 'files'
];
protected $appends = [
'items', 'trashed_items'
];
/**
* Index folder
*
* @return array
*/
public function toSearchableArray()
{
$array = $this->toArray();
$name = Str::slug($array['name'], ' ');
return [
'id' => $this->id,
'name' => $name,
'nameNgrams' => utf8_encode((new TNTIndexer)->buildTrigrams(implode(', ', [$name]))),
];
}
/**
* Counts how many folder have items
*
* @return int
*/
public function getItemsAttribute()
{
$folders = $this->folders()->count();
$files = $this->files()->count();
return $folders + $files;
}
/**
* Counts how many folder have items
*
* @return int
*/
public function getTrashedItemsAttribute()
{
$folders = $this->trashed_folders()->count();
$files = $this->trashed_files()->count();
return $folders + $files;
}
/**
* Format created at date reformat
*
* @return string
*/
public function getCreatedAtAttribute()
{
return Carbon::create($this->attributes['created_at'])->format('j M Y \a\t H:i');
}
/**
* Format created at date reformat
*
* @return string
*/
public function getDeletedAtAttribute()
{
if (! $this->attributes['deleted_at']) return null;
return Carbon::create($this->attributes['deleted_at'])->format('j M Y \a\t H:i');
}
/**
* Get parent
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function parent()
{
return $this->belongsTo('App\FileManagerFolder', 'parent_id', 'unique_id');
}
public function folderIds()
{
return $this->children()->with('folderIds')->select(['unique_id', 'parent_id']);
}
/**
* Get all files
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function files()
{
return $this->hasMany('App\FileManagerFile', 'folder_id', 'unique_id');
}
/**
* Get all trashed files
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function trashed_files()
{
return $this->hasMany('App\FileManagerFile', 'folder_id', 'unique_id')->withTrashed();
}
/**
* Get all folders
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function folders()
{
return $this->children()->with('folders');
}
/**
* Get all trashed folders
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function trashed_folders()
{
return $this->children()->with('trashed_folders')->withTrashed()->select(['parent_id', 'unique_id', 'name']);
}
/**
* Get childrens
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function children()
{
return $this->hasMany('App\FileManagerFolder', 'parent_id', 'unique_id');
}
/**
* Get trashed childrens
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function trashed_children()
{
return $this->hasMany('App\FileManagerFolder', 'parent_id', 'unique_id')->withTrashed();
}
// Delete all folder childrens
public static function boot()
{
parent::boot();
static::deleting(function ($item) {
$item->children()->each(function($folder) {
$folder->delete();
});
});
static::restoring(function ($item) {
// Restore children folders
$item->trashed_children()->each(function($folder) {
$folder->restore();
});
// Restore children files
$item->trashed_files()->each(function($files) {
$files->restore();
});
});
}
}

View File

@@ -1,44 +0,0 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\File;
use Response;
class AppFunctionsController extends Controller
{
/**
* Show index page
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function index()
{
return view("index");
}
/**
* Get file
*
* @param $filename
* @return mixed
*/
public function get_avatar($basename)
{
// Get file path
$path = storage_path() . '/app/avatars/' . $basename;
// Check if file exist
if (!File::exists($path)) abort(404);
$file = File::get($path);
$type = File::mimeType($path);
// Create response
$response = Response::make($file, 200);
$response->header("Content-Type", $type);
return $response;
}
}

View File

@@ -1,144 +0,0 @@
<?php
namespace App\Http\Controllers\Auth;
use App\ClientProfile;
use App\Models\User\UserAttribute;
use App\Models\User\UserNotificationSetting;
use App\ProviderProfile;
use App\User;
use GuzzleHttp\Client;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Cookie;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Validator;
class AuthController extends Controller
{
/**
* Check if user account exist
*
* @param Request $request
* @return mixed
*/
public function check_account(Request $request) {
// Validate request
$request->validate([
'email' => ['required', 'string', 'email'],
]);
// Get User
$user = User::where('email', $request->input('email'))->select(['name', 'avatar'])->first();
// Return user info
if ($user) return [
'name' => $user->name,
'avatar' => $user->avatar,
];
// Abort with 404, user not found
return abort('404', 'We can\'t find a user with that e-mail address.');
}
/**
* Login user
*
* @param Request $request
* @return mixed
*/
public function login(Request $request)
{
$response = Route::dispatch(self::make_request($request));
if ($response->isSuccessful()) {
$data = json_decode($response->content(), true);
return response('Login Successfull!', 200)->cookie('token', $data['access_token'], 43200);
} else {
return $response;
}
}
/**
* Register user
*
* @param Request $request
* @return mixed
*/
public function register(Request $request)
{
// Check if account registration is enabled
if (! config('vuefilemanager.registration') ) abort(401);
// Validate request
$request->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:6', 'confirmed'],
]);
// Create user
User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]);
$response = Route::dispatch(self::make_request($request));
if ($response->isSuccessful()) {
$data = json_decode($response->content(), true);
return response('Register Successfull!', 200)->cookie('token', $data['access_token'], 43200);
} else {
return $response;
}
}
/**
* Logout user entity
*
* @return \Illuminate\Http\JsonResponse
*/
public function logout()
{
// Get user tokens and remove it
auth()->user()->tokens()->each(function ($token) {
// Remove tokens
$token->delete();
});
return response('Logout successfull', 200)->cookie('token', '', -1);
}
/**
* Make request for get user token
*
* @param Request $request
* @param string $provider
* @return Request
*/
private static function make_request(Request $request)
{
$request->request->add([
'grant_type' => 'password',
'client_id' => config('services.passport.client_id'),
'client_secret' => config('services.passport.client_secret'),
'username' => $request->email,
'password' => $request->password,
'scope' => '',
]);
return Request::create(url('/oauth/token'), 'POST', $request->all());
}
}

View File

@@ -1,73 +0,0 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use App\User;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\User
*/
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
}

View File

@@ -1,620 +0,0 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Cookie;
use Intervention\Image\ImageManagerStatic as Image;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\File;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use App\FileManagerFolder;
use App\FileManagerFile;
use Response;
class FileManagerController extends Controller
{
/**
* Get trashed files
*
* @param Request $request
* @return FileManagerFile[]|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Query\Builder[]|\Illuminate\Support\Collection
*/
public function trash()
{
// Get user id
$user_id = Auth::id();
// Get folders and files
$folders_trashed = FileManagerFolder::onlyTrashed()
->with(['trashed_folders'])
->where('user_id', $user_id)
->get(['parent_id', 'unique_id', 'name']);
$folders = FileManagerFolder::onlyTrashed()
->where('user_id', $user_id)
->whereIn('unique_id', filter_folders_ids($folders_trashed))
->get();
// Get files trashed
$files_trashed = FileManagerFile::onlyTrashed()
->where('user_id', $user_id)
->whereNotIn('folder_id', array_values(array_unique(recursiveFind($folders_trashed->toArray(), 'unique_id'))))
->get();
// Collect folders and files to single array
return collect([$folders, $files_trashed])->collapse();
}
/**
* Get directory with files
*
* @return \Illuminate\Support\Collection
*/
public function folder(Request $request, $unique_id)
{
// Get user
$user_id = Auth::id();
// Get folder trash items
if ($request->query('trash')) {
// Get folders and files
$folders = FileManagerFolder::onlyTrashed()
->where('user_id', $user_id)
->with('parent')
->where('parent_id', $unique_id)
->get();
$files = FileManagerFile::onlyTrashed()
->where('user_id', $user_id)
->with('parent')
->where('folder_id', $unique_id)
->get();
// Collect folders and files to single array
return collect([$folders, $files])->collapse();
}
// Get folders and files
$folders = FileManagerFolder::with('parent')
->where('user_id', $user_id)
->where('parent_id', $unique_id)
->get();
$files = FileManagerFile::with('parent')
->where('user_id', $user_id)
->where('folder_id', $unique_id)
->get();
// Collect folders and files to single array
return collect([$folders, $files])->collapse();
}
/**
* Search files
*
* @param Request $request
* @return \Illuminate\Database\Eloquent\Collection
*/
public function search(Request $request)
{
// Validate request
$validator = Validator::make($request->all(), [
'query' => 'required|string',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
// Get user
$user_id = Auth::id();
// Search files id db
$searched_files = FileManagerFile::search($request->input('query'))->where('user_id', $user_id)->get();
$searched_folders = FileManagerFolder::search($request->input('query'))->where('user_id', $user_id)->get();
// Collect folders and files to single array
return collect([$searched_folders, $searched_files])->collapse();
}
/**
* Create new folder
*
* @param Request $request
* @return array
*/
public function create_folder(Request $request)
{
// Validate request
$validator = Validator::make($request->all(), [
'parent_id' => 'required|integer',
'name' => 'string',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
// Get parent_id from request
$parent_id = $request->parent_id === 0 ? 0 : $request->parent_id;
// Create folder
$folder = FileManagerFolder::create([
'user_id' => Auth::id(),
'parent_id' => $parent_id,
'name' => $request->has('name') ? $request->input('name') : 'New Folder',
'type' => 'folder',
'unique_id' => $this->get_unique_id(),
]);
// Return new folder
return $folder;
}
/**
* Rename item name
*
* @param Request $request
* @return mixed
*/
public function rename_item(Request $request)
{
// Validate request
$validator = Validator::make($request->all(), [
'unique_id' => 'required|integer',
'name' => 'required|string',
'type' => 'required|string',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
// Get user id
$user_id = Auth::id();
// Update folder name
if ($request->type === 'folder') {
$item = FileManagerFolder::where('unique_id', $request->unique_id)
->where('user_id', $user_id)
->firstOrFail();
$item->name = $request->name;
$item->save();
} else {
$item = FileManagerFile::where('unique_id', $request->unique_id)
->where('user_id', $user_id)
->firstOrFail();
$item->name = $request->name;
$item->save();
}
// Return updated item
return $item;
}
/**
* Delete item
*
* @param Request $request
* @throws \Exception
*/
public function delete_item(Request $request)
{
// Validate request
$validator = Validator::make($request->all(), [
'unique_id' => 'required|integer',
'type' => 'required|string',
'force_delete' => 'required|boolean',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
// Get user id
$user = Auth::user();
// Delete folder
if ($request->type === 'folder') {
$item = FileManagerFolder::withTrashed()
->with('folders')
->where('user_id', $user->id)
->where('unique_id', $request->unique_id)
->first();
// Remove folder from user favourites
$user->favourites()->detach($request->unique_id);
foreach ($item->files as $file) {
if ($request->force_delete) {
// Delete file
Storage::disk('local')->delete('/file-manager/' . $file->basename);
// Delete thumbnail if exist
if (!is_null($file->thumbnail)) Storage::disk('local')->delete('/file-manager/' . $file->getOriginal('thumbnail'));
// Delete file permanently
$file->forceDelete();
} else {
// Delete file from visibility
$file->delete();
}
}
// Delete record
if ($request->force_delete) {
$item->forceDelete();
} else {
$item->delete();
}
}
if ($request->type === 'file' || $request->type === 'image') {
$item = FileManagerFile::withTrashed()
->where('user_id', $user->id)
->where('unique_id', $request->unique_id)
->first();
if ($request->force_delete) {
// Delete file
Storage::disk('local')->delete('/file-manager/' . $item->basename);
// Delete thumbnail if exist
if (!is_null($item->thumbnail)) Storage::disk('local')->delete('/file-manager/' . $item->thumbnail);
// Delete file permanently
$item->forceDelete();
} else {
// Delete file from visibility
$item->delete();
}
}
}
/**
* Empty user trash
*
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
*/
public function empty_trash()
{
// Get user id
$user_id = Auth::id();
// Get files and folders
$folders = FileManagerFolder::onlyTrashed()->where('user_id', $user_id)->get();
$files = FileManagerFile::onlyTrashed()->where('user_id', $user_id)->get();
// Force delete every item
$folders->each->forceDelete();
$files->each->forceDelete();
// Return response
return response('Done!', 200);
}
/**
* Restore item from trash
*
* @param Request $request
*/
public function restore_item(Request $request)
{
// Validate request
$validator = Validator::make($request->all(), [
'unique_id' => 'required|integer',
'type' => 'required|string',
'to_home' => 'boolean',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
// Get user id
$user_id = Auth::id();
// Get folder
if ($request->type === 'folder') {
// Get folder
$item = FileManagerFolder::onlyTrashed()->where('user_id', $user_id)->where('unique_id', $request->unique_id)->first();
// Restore item to home directory
if ($request->has('to_home') && $request->to_home) {
$item->parent_id = 0;
$item->save();
}
}
// Get file
if ($request->type === 'file' || $request->type === 'image') {
// Get item
$item = FileManagerFile::onlyTrashed()->where('user_id', $user_id)->where('unique_id', $request->unique_id)->first();
// Restore item to home directory
if ($request->has('to_home') && $request->to_home) {
$item->folder_id = 0;
$item->save();
}
}
// Restore Item
$item->restore();
}
/**
* Delete Item
*
* @param Request $request
*/
public function delete_items(Request $request)
{
// Validate request
$validator = Validator::make($request->all(), [
'items' => 'required|json',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
foreach ($request->input('items') as $file) {
if ($file['type'] === 'file' || $file['type'] === 'image') {
$item = FileManagerFile::where('unique_id', $file['unique_id'])->first();
} else {
$item = FileManagerFolder::where('unique_id', $file['unique_id'])->first();
}
// Delete file
Storage::disk('local')->delete('/file-manager/' . $item->basename);
// Delete thumbnail if exist
if (!is_null($item->thumbnail)) {
Storage::disk('local')->delete('/file-manager/' . $item->thumbnail);
}
// Permanently delete file
$item->forceDelete();
}
}
/**
* Upload items
*
* @param Request $request
* @return array
*/
public function upload_item(Request $request)
{
// Check if user can upload
if (config('vuefilemanager.limit_storage_by_capacity') && user_storage_percentage() >= 100)
abort(423, 'You exceed your storage limit!');
// Validate request
$validator = Validator::make($request->all(), [
'parent_id' => 'required|integer',
'file' => 'required|file',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
// Get parent_id from request
$folder_id = $request->parent_id === 0 ? 0 : $request->parent_id;
$file = $request->file('file');
// File
$filename = Str::random() . '-' . str_replace(' ', '', $file->getClientOriginalName());
$filetype = 'file';
$thumbnail = null;
$filesize = $file->getSize();
$directory = 'file-manager';
// create directory if not exist
if (!Storage::disk('local')->exists($directory)) {
Storage::disk('local')->makeDirectory($directory);
}
// Store to disk
Storage::disk('local')->putFileAs($directory, $file, $filename, 'public');
// Create image thumbnail
if (substr($file->getMimeType(), 0, 5) == 'image') {
$filetype = 'image';
$thumbnail = 'thumbnail-' . $filename;
// Create intervention image
$image = Image::make($file->getRealPath())->orientate();
$image->resize(256, null, function ($constraint) {
$constraint->aspectRatio();
})->stream();
// Store thumbnail to s3
Storage::disk('local')->put($directory . '/' . $thumbnail, $image);
}
// Store file
$new_file = FileManagerFile::create([
'user_id' => Auth::id(),
'name' => pathinfo($file->getClientOriginalName())['filename'],
'basename' => $filename,
'folder_id' => $folder_id,
'mimetype' => $file->getClientOriginalExtension(),
'filesize' => $filesize,
'type' => $filetype,
'thumbnail' => $thumbnail,
'unique_id' => $this->get_unique_id(),
]);
return $new_file;
}
/**
* Move item
*
* @param Request $request
*/
public function move_item(Request $request)
{
// Validate request
$validator = Validator::make($request->all(), [
'from_unique_id' => 'required|integer',
'to_unique_id' => 'required|integer',
'from_type' => 'required|string',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
// Get user id
$user_id = Auth::id();
if ($request->from_type === 'folder') {
// Move folder
$item = FileManagerFolder::where('user_id', $user_id)
->where('unique_id', $request->from_unique_id)
->firstOrFail();
$item->parent_id = $request->to_unique_id;
} else {
// Move file under new folder
$item = FileManagerFile::where('user_id', $user_id)
->where('unique_id', $request->from_unique_id)
->firstOrFail();
$item->folder_id = $request->to_unique_id;
}
$item->update();
}
/**
* Get file record
*
* @param $unique_id
* @return mixed
*/
public function get_file_detail($unique_id)
{
// Get user id
$user_id = Auth::id();
return FileManagerFile::where('user_id', $user_id)->where('unique_id', $unique_id)->firstOrFail();
}
/**
* Get file
*
* @param $filename
* @return mixed
*/
public function get_file($filename)
{
// Get user id
$user_id = Auth::id();
// Get file record
$file = FileManagerFile::withTrashed()
->where('user_id', $user_id)
->where('basename', $filename)
->firstOrFail();
// Get file path
$path = storage_path() . '/app/file-manager/' . $file->basename;
// Check if file exist
if (!File::exists($path)) abort(404);
$file = File::get($path);
$type = File::mimeType($path);
$size = File::size($path);
// Create response
$response = Response::make($file, 200);
$response->header("Content-Type", $type);
$response->header("Content-Disposition", 'attachment; filename=' . $filename);
$response->header("Content-Length", $size);
return $response;
}
/**
* Get image thumbnail
*
* @param $filename
* @return mixed
*/
public function get_thumbnail($filename)
{
// Get user id
$user_id = Auth::id();
// Get file record
$file = FileManagerFile::withTrashed()
->where('user_id', $user_id)
->where('thumbnail', $filename)
->firstOrFail();
// Get file path
$path = storage_path() . '/app/file-manager/' . $file->getOriginal('thumbnail');
// Check if file exist
if (!File::exists($path)) abort(404);
$file = File::get($path);
$type = File::mimeType($path);
// Create response
$response = Response::make($file, 200);
$response->header("Content-Type", $type);
return $response;
}
/**
* Get unique id
*
* @return int
*/
private function get_unique_id(): int
{
// Get files and folders
$folders = FileManagerFolder::withTrashed()->get();
$files = FileManagerFile::withTrashed()->get();
// Get last ids
$folders_unique = $folders->isEmpty() ? 0 : $folders->last()->unique_id;
$files_unique = $files->isEmpty() ? 0 : $files->last()->unique_id;
// Count new unique id
$unique_id = $folders_unique > $files_unique ? $folders_unique + 1 : $files_unique + 1;
return $unique_id;
}
}

View File

@@ -1,178 +0,0 @@
<?php
namespace App\Http\Controllers;
use App\FileManagerFolder;
use App\User;
use ByteUnits\Metric;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Hash;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
class UserAccountController extends Controller
{
/**
* Get all user data to frontend
*
* @return array|\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Model|object|null
*/
public function user()
{
$user_id = Auth::id();
// Get User
$user = User::with(['favourites', 'latest_uploads'])
->where('id', $user_id)
->first();
return [
'user' => $user->only(['name', 'email', 'avatar']),
'favourites' => $user->favourites->makeHidden(['pivot']),
'latest_uploads' => $user->latest_uploads->makeHidden(['user_id', 'basename']),
'storage' => [
'used' => Metric::bytes($user->used_capacity)->format(),
'capacity' => format_gigabytes(config('vuefilemanager.user_storage_capacity')),
'percentage' => get_storage_fill_percentage($user->used_capacity, config('vuefilemanager.user_storage_capacity')),
],
];
}
/**
* Get user folder tree
*
* @return array
*/
public function folder_tree() {
$folders = FileManagerFolder::with('folders:id,parent_id,unique_id,name')
->where('parent_id', 0)
->where('user_id', Auth::id())
->get(['id', 'parent_id', 'unique_id', 'name']);
return [
[
'unique_id' => 0,
'name' => 'Home',
'location' => 'base',
'folders' => $folders,
]
];
}
/**
* Update user profile
*
* @param Request $request
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
*/
public function update_profile(Request $request)
{
// Validate request
$validator = Validator::make($request->all(), [
'avatar' => 'file',
'_method' => 'string',
'name' => 'string',
'value' => 'string',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
// Get user
$user = Auth::user();
if ($request->hasFile('avatar')) {
// Update avatar
$avatar = store_avatar($request->file('avatar'), 'avatars');
// Update data
$user->update(['avatar' => $avatar]);
} else {
// Update text data
$user->update(make_single_input($request));
}
return response('Saved!', 200);
}
/**
* Change user password
*
* @param Request $request
* @return array
*/
public function change_password(Request $request)
{
// Validate request
$request->validate([
'password' => ['required', 'string', 'min:6', 'confirmed'],
]);
// Get user
$user = Auth::user();
// Change and store new password
$user->password = Hash::make($request->input('password'));
$user->save();
}
/**
* Add folder to user favourites
*
* @param Request $request
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
*/
public function add_to_favourites(Request $request)
{
// Validate request
$validator = Validator::make($request->all(), [
'unique_id' => 'required|integer',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
// Get user
$user = Auth::user();
// Add folder to user favourites
$user->favourites()->attach($request->unique_id);
// Return updated favourites
return $user->favourites->makeHidden(['pivot']);
}
/**
* Remove folder from user favourites
*
* @param Request $request
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
*/
public function remove_from_favourites(Request $request)
{
// Validate request
$validator = Validator::make($request->all(), [
'unique_id' => 'required|integer',
]);
// Return error
if ($validator->fails()) abort(400, 'Bad input');
// Get user
$user = Auth::user();
// Remove folder from user favourites
$user->favourites()->detach($request->unique_id);
// Return updated favourites
return $user->favourites->makeHidden(['pivot']);
}
}

View File

@@ -1,86 +0,0 @@
<?php
namespace App\Http;
use App\Http\Middleware\CookieAuth;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
\App\Http\Middleware\TrustProxies::class,
\App\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\Fruitcake\Cors\HandleCors::class,
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
//'throttle:60,1',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
];
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'auth.cookie' => CookieAuth::class,
];
/**
* The priority-sorted list of middleware.
*
* This forces non-global middleware to always be in the given order.
*
* @var array
*/
protected $middlewarePriority = [
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
CookieAuth::class,
\App\Http\Middleware\Authenticate::class,
\Illuminate\Routing\Middleware\ThrottleRequests::class,
\Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\Illuminate\Auth\Middleware\Authorize::class,
];
}

View File

@@ -1,31 +0,0 @@
<?php
namespace App\Http\Middleware;
use Closure;
class CookieAuth
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (!$request->bearerToken()) {
if ($request->hasCookie('token')) {
$token = $request->cookie('token');
$request->headers->add(['Authorization' => 'Bearer ' . $token]);
} else {
abort(401);
}
}
return $next($request);
}
}

View File

@@ -1,27 +0,0 @@
<?php
namespace App\Http\Middleware;
use App\Providers\RouteServiceProvider;
use Closure;
use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect(RouteServiceProvider::HOME);
}
return $next($request);
}
}

View File

@@ -1,23 +0,0 @@
<?php
namespace App\Http\Middleware;
use Fideloper\Proxy\TrustProxies as Middleware;
use Illuminate\Http\Request;
class TrustProxies extends Middleware
{
/**
* The trusted proxies for this application.
*
* @var array|string
*/
protected $proxies;
/**
* The headers that should be used to detect proxies.
*
* @var int
*/
protected $headers = Request::HEADER_X_FORWARDED_ALL;
}

View File

@@ -1,160 +0,0 @@
<?php
use ByteUnits\Metric;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use Intervention\Image\ImageManagerStatic as Image;
/**
* Store user avatar to storage
*
* @param $image
* @param $path
* @return string
*/
function store_avatar($image, $path)
{
// Get directory
$path = check_directory($path);
// Store avatar
$image_path = $path . '/' . Str::random(8) . '-' . $image->getClientOriginalName();
// Create intervention image
$img = Image::make($image->getRealPath());
// Generate thumbnail
$img->fit('150', '150')->save(storage_path() . "/app/" . $image_path, 90);
// Return path to image
return $image_path;
}
/**
* Check if directory exist, if no, then create it
*
* @param $directory
* @return mixed
*/
function check_directory($directory)
{
if (!Storage::exists($directory)) {
Storage::makeDirectory($directory);
}
return $directory;
}
/**
* Make input from request
*
* @param $request
* @return array
*/
function make_single_input($request)
{
// Create container
$data = [];
// Add data to array
$data[$request->name] = $request->value;
// Return input
return $data;
}
/**
* Format integer to gigabytes
*
* @param $gigabytes
* @return string
*/
function format_gigabytes($megabytes)
{
return Metric::megabytes($megabytes)->format();
}
/**
* Get storage usage in percent
*
* @param $used
* @param $capacity
* @return string
*/
function get_storage_fill_percentage($used, $capacity)
{
// Format gigabytes to bytes
$total = intval(Metric::megabytes($capacity)->numberOfBytes());
// Count progress
$progress = ($used * 100) / $total;
// Return in 2 decimal
return number_format((float)$progress, 2, '.', '');
}
/**
* Get user capacity fill percentage
*
* @return string
*/
function user_storage_percentage() {
$user = \Illuminate\Support\Facades\Auth::user();
return get_storage_fill_percentage($user->used_capacity, config('vuefilemanager.user_storage_capacity'));
}
/**
* Find all key values in recursive array
*
* @param array $array
* @param $needle
* @return array
*/
function recursiveFind(array $array, $needle)
{
$iterator = new RecursiveArrayIterator($array);
$recursive = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST);
$aHitList = array();
foreach ($recursive as $key => $value) {
if ($key === $needle) {
array_push($aHitList, $value);
}
}
return $aHitList;
}
/**
* Get values which appears only once in array
* @param $arr
* @return array
*/
function appeared_once($arr)
{
$array_count_values = array_count_values($arr);
$single_time_comming_values_array = [];
foreach ($array_count_values as $key => $val) {
if ($val == 1) {
$single_time_comming_values_array[] = $key;
}
}
return $single_time_comming_values_array;
}
/**
* @param $folders
* @return array
*/
function filter_folders_ids($folders)
{
$folder_unique_ids = recursiveFind($folders->toArray(), 'unique_id');
return appeared_once($folder_unique_ids);
}

View File

@@ -1,64 +0,0 @@
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
class ResetPassword extends Notification
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct($token)
{
$this->token = $token;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
$reset_url = url('/create-new-password?token=' . $this->token);
return (new MailMessage)
->subject('Reset password for your account on ' . config('vuefilemanager.app_name'))
->line('You are receiving this email because we received a password reset request for your account.')
->action('Reset Password', $reset_url)
->line('If you did not request a password reset, no further action is required.');
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}

View File

@@ -1,28 +0,0 @@
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
//
}
}

View File

@@ -1,31 +0,0 @@
<?php
namespace App\Providers;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Gate;
use Laravel\Passport\Passport;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
// 'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
Passport::routes();
}
}

View File

@@ -1,80 +0,0 @@
<?php
namespace App\Providers;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Route;
class RouteServiceProvider extends ServiceProvider
{
/**
* This namespace is applied to your controller routes.
*
* In addition, it is set as the URL generator's root namespace.
*
* @var string
*/
protected $namespace = 'App\Http\Controllers';
/**
* The path to the "home" route for your application.
*
* @var string
*/
public const HOME = '/home';
/**
* Define your route model bindings, pattern filters, etc.
*
* @return void
*/
public function boot()
{
//
parent::boot();
}
/**
* Define the routes for the application.
*
* @return void
*/
public function map()
{
$this->mapApiRoutes();
$this->mapWebRoutes();
//
}
/**
* Define the "web" routes for the application.
*
* These routes all receive session state, CSRF protection, etc.
*
* @return void
*/
protected function mapWebRoutes()
{
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
}
/**
* Define the "api" routes for the application.
*
* These routes are typically stateless.
*
* @return void
*/
protected function mapApiRoutes()
{
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
}
}

View File

@@ -1,129 +0,0 @@
<?php
namespace App;
use App\Notifications\ResetPassword;
use App\Notifications\ResetUserPasswordNotification;
use ByteUnits\Metric;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Notification;
use Laravel\Passport\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password', 'avatar',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
'favourites' => 'array',
];
protected $appends = [
'used_capacity'
];
/**
* Get user used storage capacity in bytes
*
* @return mixed
*/
public function getUsedCapacityAttribute() {
$user_capacity = $this->files_with_trashed->map(function ($item) {
return $item->getOriginal();
})->sum('filesize');
return $user_capacity;
}
/**
* Format avatar to full url
*
* @return \Illuminate\Contracts\Routing\UrlGenerator|string
*/
public function getAvatarAttribute()
{
if ($this->attributes['avatar']) {
return url('/' . $this->attributes['avatar']);
}
return url('/assets/images/' . 'default-avatar.png');
}
/**
* Send the password reset notification.
*
* @param string $token
* @return void
*/
public function sendPasswordResetNotification($token)
{
$this->notify(new ResetPassword($token));
}
/**
* Get user favourites folder
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function favourites()
{
return $this->belongsToMany(FileManagerFolder::class, 'favourite_folder', 'user_id', 'folder_unique_id', 'id', 'unique_id')->select(['unique_id', 'name', 'type']);
}
/**
* Get 5 latest uploads
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany|\Illuminate\Database\Query\Builder
*/
public function latest_uploads() {
return $this->hasMany(FileManagerFile::class)->orderBy('created_at', 'DESC')->take(7);
}
/**
* Get all user files
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function files() {
return $this->hasMany(FileManagerFile::class);
}
/**
* Get all user files
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function files_with_trashed() {
return $this->hasMany(FileManagerFile::class)->withTrashed();
}
}

815
changelog.md Normal file
View File

@@ -0,0 +1,815 @@
## Version 2.2
#### Release date: 18. May 2022
### Fixes
- Solved issue with database backup notifications
- Solved issue where after team member was invited into team folder, email with urging the recipient to create new account was sent
- You are now allowed to set price for metered billing in 3 decimal places
- Solved UI issue with empty notification popup
- Plans in fixed subscription are now automatically sorted from lower to higher price
- When new user was created via admin, the verification email was send
- Item name in list view type is now extended on the full page width
### New Features
- API version 1 released
- Paginated records loading with infinity scroller
- If you send file request for native user via email option, the push notification will be sent to the user
- Ability to test your websocket (Broadcasting) connection via Admin / Server / Broadcasting tab
## Version 2.1.3
#### Release date: 10. May 2022
- Ability to manually synchronize plans in fixed subscription type
- Improved sanitization for .env values to prevent crash your app
- Improved reCaptcha validation errors
- Fixed issue when upload doesn't start after you drag the file into empty view
- Fixed issue when homepage flash to sign in screen after the homepage was disabled in admin panel
- Fixed trash navigator issue
- Fixed issue when you create plan with 0 team members amount
## Version 2.1.2
#### Release date: 8. May 2022
- Fixed issue with chunk uploads (Critical issue affected since 2.1.1)
- Fixed issue with creating plan with unlimited team members
## Version 2.1.1
#### Release date: 29. April 2022
- Fixed issue with reading image upload
## Version 2.1.0
#### Release date: 25. April 2022
- New remote upload function
- Broadcast server implementation, for more info check [Broadcasting Guide](https://gist.github.com/MakingCG/a702a112be63bc6f0032dd55522327cf#broadcasting)
## Version 2.0.19
#### Release date: 21. April 2022
- Fixed issue with Backblaze credentials set up
- The switch button in archived plans is now hidden
- updated readme.md
- Fixed upload progressbar in mobile version
- Added Viet Nam language into the language editor
## Version 2.0.18
#### Release date: 19. April 2022
- Fixed issue with Google login button
- Fixed issue with PayPal subscription
## Version 2.0.17
#### Release date: 12. April 2022
- Added option to use FTP as VueFileManager file storage server
## Version 2.0.16
#### Release date: 8. April 2022
- Test mailgun, ses and postmark connection before storing your credentials into the app
- UI enhancements & fixes
## Version 2.0.15
#### Release date: 6. April 2022
- Wasabi region list updated
- The delay after first upload in file request when the interface wasn't showing was removed
- If adsense banner location isn't filled, the ads space won't be showed
- Fixed issue when in grid view you tried to move image into another folder
- Fixed issue when you can't move or delete items via mobile multiselect function
- You can now open searched file from spotlight in FilePreview mode to access file settings and functions
## Version 2.0.14
#### Release date: 5. April 2022
- Added option to set default max team members for new user registrations
- Added new app settings shortcuts findable by spotlight - Application, Login & Registration, Appearance, Adsense, Homepage, Environment, Server
- Now in 2fa set up challenge user is required to confirm his app setup with code
## Version 2.0.13
#### Release date: 4. April 2022
- Auto plan synchronization improvements.
- Fixed issue with thumbnails in grid preview type
- PayPal sandbox option was added into PayPal credentials setup
- Fixed issue in mobile spotlight where you trying open searched image
## Version 2.0.12
#### Release date: 2. April 2022
- Added status column to the fixed plan table
- Ability to delete fixed plan if there isn't any subscribed user
- Improved error handling in subscription module
## Version 2.0.11
#### Release date: 1. April 2022
- Improved email setup in administration settings and setup wizard
- Ability to set custom s3 compatible service in administration settings and setup wizard
- Test s3 connection before set up in administration settings and setup wizard
- Test smtp connection before set up in administration settings and setup wizard
## Version 2.0.0 - 2.0.10
#### Release date: 31. March 2022
- You can now generate link for direct download via context menu in copy link input
- You can now upgrade from regular to extended license version via admin panel
- Fixed issue with .dwg file icon
- You can now set uploading chunk file size directly in your admin
- Team Folders and Shared With Me root folder has now disabled delete/move function
- When you invite someone to your team folder, all his usage (storage, bandwidth) will be on behalf of you, not the member
- Fixed issue when you are moving folders between your Team Folders and Private files and vice versa
- Fixed issue when downloading bandwidth doesn't write to the user total bandwidth stats
- Fixed issue with language strings which indicate limited/unlimited team members in fixed plans
- Fixed issue when you are trying delete user registered with only the first name
- Fixed issue with Adsense where banners wasn't placed correctly by their described location
## Version 2.0.0
#### Release date: 21. March 2022
**User Interface**
- Fullscreen mode can be set by double arrow icon on top of navigation sidebar in file page or by action in spotlight
- In mobile version you can now by opening image or document move seamlessly to another by swipe gesture
- Emoji picker was redesigned and now offer better experience to pick your favourite emoji for your folder icon
- Actions like create folder, upload files and any others was moved and grouped by 'Frequently used' and 'Others' category under single button
- User profile, Dashboard and other admin pages was redesigned
- Mac users can now switch between native emojis and twemojis
- New button to switch between dark/light mode was added under the main navigation in desktop
- Now when you undo in your browser, it goes back to the previous folder
**Spotlight**
- Search through your files and folders
- Can be used as quick navigation through your folders or app pages
- Ability to search actions like toggle emojis, toggle dark/light mode, creating file request, new user and many more
- Search your users by activating user filter with keyboard shortcut (u+space)
- Ability to call spotlight with cmd/ctrl + k from any location in app like admin or user profile
- Ability from any location in the app to show document, image or video in file preview component
- Ability to use keyboard shortcuts to navigate in spotlight like arrow up/down, enter
**Collaboration**
- New Team Folders and Shared with Me categories
- Ability to create new team folder and invite users by email invitation, or if user is app user, then push notification will be sent as well.
- Ability to convert existing folder into Team Folder and invite members into it.
- Ability to dissolve your team folder. All members permissions will be revoked and your folder will be moved into My Files category.
- Ability to leave folder if you are member of someone team folder
- Received invitation can be accepted or declined
- User avatar indicate in file icon who is the owner of the file
- New team heads icon in desktop and mobile toolbar to indicate team members in the team folder
**Metered Billing**
- New metered billing where user can be charged by what he uses.
- Bandwidth, storage, flat fee and members are optional features which can be charged, not required
- Native balance system from which user is charger at the end of current billing period
- User can fund his balance by PayPal and Paystack single payment option
- If Stripe payment method is allowed, user can register his credit card and all future payments for billing period will be automatically charged. If there is any credit in balance and is sufficient, then this amount will be preferred instead of credit card charging
- User has ability to add/delete his payment methods (only Stripe)
- Admin has ability to increase user balance with certain amount
- Ability to set registration bonus for every new user registration
- User can set billing alert with certain amount. When this amount will be reached, the notification will be sent.
- New Usage Estimates widget in user profile which provide price estimates for current billing period
- New transactions widget in user profile with usage history
**Fixed Billing**
- Plans with yearly billing period is now supported
- New subscription widget with subscription details in user profile
- New Payment Method widget to manage user credit cards (available only for Stripe)
- New popup component to subscribe or upgrade account plan
**Notification Center**
- Ability to see notifications by Unread and Read category
- Interactive notifications to seamlessly perform actions from it if needed
- If broadcasting is set, notifications will be received just in time and showed in bottom right corner of the app
- Ability to clear all notifications by button
**Zip**
- New on the fly zipping system zips files without additional storage usage
- User can now select any files with any folders and zip them together
**Sharing**
- Redesigned sharing popup component for better user experience
- Shared video file (.mp4) has now ability to play video in shared page
- Ability to get share link via QR code
- Ability to generate embeddable code with shared item (beta)
- App logo was added into single file share pages
**File Request**
- User can generate file request by opening context menu over single folder or call file request from spotlight
- Ability to set custom folder name if file request will be filled
- Ability to leave a message for guest
- Ability to send file request by email for certain email recipient
- Full-fledged reach UI for guests to upload and manage their files directly in file request
- Push notification about filled file request will be received for user
**Folder Upload**
- Now user can upload their folders. The same folder structure will be recreated in the app
**User Settings**
- New appearance option was added where user can set his theme mode by dark, light or based by system option
- New default emoji option was added where Apple user can switch between native emojis or twemoji
- 2fa setup challenge option was added. User can store and generate backup keys.
- New Personal Access Token section was added where user can generate access token for API requests.
- New 'Current Password' input was added into change password functionality
- New widget to track the latest upload and download was added into the Storage tab
- Storage usage widget was redesigned
- New Billing tab with all subscription related items was added
**Login & Registration**
- Email confirmation for new account registrations can be required
- Integrated database with more than 550 disposable temporary email services to automatically deny new account registrations
- Users can now set up 2 factor verification with their favourite authenticator app
- reCaptcha was added to provide security for your registration and contact form
- Social authentication was implemented with Facebook, Google and GitHub drivers.
**Adsense**
- Adsense will be integrated into VueFileManager
- The ads are showing in 3 locations - File Viewport, Download Page and Homepage
**Setup Wizard**
- Server check before you running installation, it will show you if you had set up your server correctly
- Dark mode support
- Now you don't need to set up your subscription system in setup wizard
**Broadcasting**
- Pusher implementation for live communication
- Native websocket server as replacement for Pusher (more details soon)
- Live notification
**System**
- Database backups on daily basis
- After you upload image, additionals thumbnails will be generated to provide you faster browsign experience through your image gallery
**Admin & Settings**
**Dashboard**
- New widget to track the latest upload and download was added
- New widget with the latest transactions was added into extended license version
- New earnings widget was added
- New alerts will tell you if you are missing plan or you don't have running cron correctly
**Settings / Server**
- Ability to see if cron job is running correctly
- Ability to download your server log from admin panel
- Ability to see latest 5 database backups
- Ability to check if writable permission for exact folders are set correctly
- Ability to check if you have correctly set php version and php.ini variables
- Ability to see if you have installed all required php extensions
**Settings / Environment**
- Ability to set Broadcasting from admin settings
- Ability to set Storage Driver from admin settings
- Ability to set Mail Driver from admin settings
**Settings / Appearance**
- Ability to change entire VueFileManager color scheme
- Ability to set dark mode logo for main and horizontal logo
- Ability to set your own OG Image
- Ability to set your own Touch Image
**Settings / Login & Registration**
- New option where you can require email verification was added
- New widgets to set up Facebook, Google and GitHub social authentication
**Settings / Application**
- New options to set up reCaptcha
**Settings / Adsense**
- Ability to manage Google Adsense
**Dev**
- PHP 8 support
- New DDD design for the backend
- Shipped with the latest version of Laravel 9.x
- Passport was replaced by Sanctum
- New artisan command that expressly installs the entire application
- New artisan command that expressly installs the entire application with the demo data
- ~80% Of the frontend code was migrated into Tailwind v3. We will continue to reach 100% tailwind friendly
## Version 1.8.3.13
#### Release date: 9. December 2021
- Fixed issue when visitor can't download files from shared folder with 'Can only view and download' privilege
- Fixed issue with sending contact form
## Version 1.8.3.11-12
#### Release date: 7. July 2021
- Fixed issue when you tried load folders/files with special characters name
## Version 1.8.3.10
#### Release date: 29. June 2021
- Security patch (Critical severity)
## Version 1.8.3.9
#### Release date: 18. June 2021
**Fixes:**
- Fixed issue when in some cases your server can suffer with increasing RAM usage
- Fixed translation issue in some user mobile pages
- Mobile navigation fix with hidden back button
- Fixed issue where in some case special characters was excerpted from uploaded filename
## Version 1.8.3.8
#### Release date: 15. June 2021
- Alibaba Cloud OSS support
## Version 1.8.3.7
#### Release date: 9. June 2021
- App name fix in email templates
## Version 1.8.3.6
#### Release date: 7. June 2021
- Translation improvements on backend
## Version 1.8.3.5
#### Release date: 24. May 2021
- Translation improvements on backend
## Version 1.8.3.4
#### Release date: 15. May 2021
- Upload progressbar fix
## Version 1.8.3.3
#### Release date: 10. May 2021
- Security update (upgrade required)
## Version 1.8.3.2
#### Release date: 17. April 2021
**Fixes:**
- Fixed multi select on desktop browser
## Version 1.8.3.1
#### Release date: 18. April 2021
**Fixes:**
- Fixed previewing files in mobile devices
## Version 1.8.3
#### Release date: 17. April 2021
**Features:**
- Ability to create new language
- Ability to set default language for aplication
- Ability to show pdf files in VueFileManager
## Version 1.8.2.3
#### Release date: 21. March 2021
**Fixes:**
- Fixed not found page
- Fixed admin menu in regular license
## Version 1.8.2.2
#### Release date: 12. March 2021
**Fixes:**
- Fixed file preview in single shared file wasn't showing correctly
## Version 1.8.2.1
#### Release date: 25. February 2021
**Fixes:**
- Fixed jumping upload progressbar
## Version 1.8.2
#### Release date: 20. February 2021
**Folders:**
- Ability to change folder icon as Emoji
- Ability to change folder icon color from 22 colors set
**Fixes:**
- Added zip folder into mobile folder menu
- Removed Autofocus in mobile creating folder
## Version 1.8.1
#### Release date: 7. February 2021
**Functions:**
- Ability to zip and download folder with content within
- Ability to send shared folder/file to multiple email recipients
- Ability to send share link in existing shared items
- Every user has ability to change his timezone in profile settings
**UI & UX:**
- After click on logout if your request is long, you will see processing window
- Move/Share/Delete icons is unactive when you don't have selected file in desktop version
- Move/Share/Delete icons is hidden in touchable devices
- Delete item in contextmenu is now highlighted as red
- Hidden scroller in navigation panel on windows
- Delete icon for clear text field in rename popup
- After opening video, it's start playing automatically
- Autofocus and selecting folder name after creating it in desktop version
**Fixes:**
- Max Upload frontend validation fix
- In latest uploads files are sorted alwas from newest
- Download icon in image/video preview on mobile device and shared folder with read/download privilegies
**Regular License:**
- Included landing page
- Included Privacy Policy, Terms of Condition and Cookies policy pages
- Included contact form page
## Version 1.8
#### Release date: 21. December 2020
**User Interface:**
- Added navigator to shared page with folders when you have multiple folders within for better user experience
- New popup to rename your item in desktop & mobile version
- Trash moved to Home page under 'Recent Uploads' navigation item
- Ability to collapse navigator or favourites widget in File page
- Ability to remove uploaded logo and get back to text logo
- Ability to cancel uploading via x button
- Prevent browser 'Go Back' when you undesirably trying to go to previous page after sign in to your account
**Sorting**
- New sorting menu in desktop version buttons panel with multiple actions
- New view button with sorting options in mobile version
- Ability to sort files & folders in date or alphabetical order
**Bulk Operations**
- Select multiple items in desktop version by holding shift key or ctrl/cmd key for increase or decrease selection
- New multi select mode in mobile version activated by clicking on 'Select' button below search bar
- Ability to select all or deselect all items in mobile version of multi select
- Select multiple items and delete them by delete/backspace key
- Select multiple items and move them by drag&drop to another folder in view or move them via move option
- Ability to move multiple item by dragging them to folder in navigator panel
- Ability to set multiple favourite folders by dragging them to favourites group in sidebar panel
- Ability to cancel multiple shareing items in 'My Sharing Items' sections via context menu action
- New compact UI component for indicate dragging action
- Ability to download multiple files from selection as zip
- New scrollbar for the Windows users
**Bug Fixes:**
- Title name of favourite folder overflowed sidebar when you have long title
- Share button in image preview appear when you are in shared public folder
- Fixed search indexer overload in high traffic demands scenario
- Folder tree in navigator now has correct ordering with folder list in file view
## Version 1.7.12
#### Release date: 16. November 2020
- Limit maximum upload size on single file
## Version 1.7.11
#### Release date: 24. October 2020
- Reading exif data and showing them in file info panel
- Ability to ban mimetypes. You can find blacklist setup in Settings / Application
- Lazy loading for images. If you have hundreds of images in your folder, you will have experience with seamlessly loading.
- Fixed bug with context menu overflow in shared page
- Fixed button overflow on small mobile screens in popups.
## Version 1.7.10
#### Release date: 31. August 2020
- Ability to see file in full preview (images, videos[mp4, web, ogv], audios)
## Version 1.7.9
#### Release date: 26. August 2020
- Ability to set expiration for shared link
- If user is logged in, after visit SignIn page will be redirected to files page
## Version 1.7.8
#### Release date: 25. August 2020
- Ability to read file metadata in shared link for instant messengers
## Version 1.7.7
#### Release date: 24. August 2020
- Backend pagination for native data
- Added clear cache button to app settings
- Removed deprecated commands
- Code splitting support for Vue router
- Added region list to setup wizard
- added htaccess to redirect domain root to /public folder
- Fixed issue with non VueFileManager created Stripe plans
- Fixed email setup in app settings
- Additional text logo fix in Sign pages
## Version 1.7.6
#### Release date: 19. August 2020
- Folder delete fix
## Version 1.7.5
#### Release date: 10. August 2020
- Bug fixes and UX enhancement
## Version 1.7.4
#### Release date: 5. August 2020
- Bug fixes and UX enhancement
## Version 1.7.3
#### Release date: 30. July 2020
- Chunk Upload
- Multipart upload support on external storages (Ability to upload bigger files)
- Progressbar now show upload in %
## Version 1.7.2
#### Release date: 22. July 2020
- Readme update
- Improvement on Setup Wizard
## Version 1.7.1
#### Release date: 21. July 2020
- Fixed register button in Regular license
## Version 1.7
#### Release date: 20. July 2020
**Software as a Service**
- Ability to create monthly subscription plans with storage space
- Ability to charge customers for storage space with Stripe payment service
- List all of your customer invoices
- Included Legal pages (Terms of Service, Privacy Policy, Cookie Policy)
- Included Cookie disclaimer in SaaS version
- Landing page for present your service solution
**Settings - Application**
- Storage limitation option
- Default storage space for new accounts option
- Allow user registration option
- Set your contact email for message form in landing page
- Set your google analytics code to track visitors
**Settings - Appearance**
- App title option
- App description option
- Change your logo and favicon option
**Settings - Billing**
- Set your company name and VAT number options in SaaS version
- Set your billing country adress. options in SaaS version
**Settings - Payments**
- Allow subscription payments option
- Get your stripe webhook link option
**Settings - Homepage**
- Ability to change content, show/hide sections for Landing page presentation
**Settings - Email**
- Ability to set your email credentials from admin panel
**Admin - Users**
- Subscription plan details
- List of all user invoices
**Dashboard**
- Showed widget with your total users
- Showed widget with total space usage
- Showed widget with total premium users
- Showed widget with latest registrations
- Showed latest VueFileManager version
- Showed license type (Extend/Regular)
**User**
- Added billing information to profile settings in Saas Version
- Added subscription plan page to get information about current subscription. Ability to cancel or renew subscription
- Added payment card page with ability to list all registered card, add new credit card, remove card or set selected card as default payment.
- Added invoices page where are listed all invoices
- Added invoice page detail with ability to print invoice with
**VueFileManager design**
- Circle notice icon in avatar in case of incomplete payment or required action to upgrade storage capacity
**Setup Wizard**
- The UI for Install and configure your VueFIlemanager
- Purchase code verification
- Database credentials setup
- Ability to setup Stripe for Extended License (Set Credentials, set billing informations and create subscription plans)
- Storage Setup
- Email credentials setup
- General settings setup
- Admin setup
**Storage**
- Added support for Object Cloud Storage by Wasabi
- Added support for Backblaze B2 Cloud Storage
Fixes
- Fixed issue when you move parent directory to its children directory, then your folder disappear.
- Fixed issue which appear on specifical hosting configuration when you cant load shared folder content.
**Others**
- Improved form design
- Profile settings get sidebar panel navigation
- Improved design for important notices
- Updated i18n language files
- Added agreement in registration page for SaaS version
- Upgraded laravel framework from 6 to 7 version
**Upgrading**
- All upgrading backend operations is running on background after putting new source code to app directory (Don't forget create backup of your database and storage before make any changes in your production application)
- UI page for additional options when its neccesarily
- Upgrading To 1.7 From 1.6.x or newest
## Version 1.6.4
#### Release date: 9. June 2020
- Fileview xscroller fix
## Version 1.6.3
#### Release date: 5. June 2020
- Fixed svg upload
- Fixed scrolling in main file view
## Version 1.6.2
#### Release date: 31. May 2020
- Fixed popups on mobile version
## Version 1.6.1
#### Release date: 31. May 2020
- Fixed npm building crash on web server
## Version 1.6
#### Release date: 28. May 2020
**User Management**
- List of all registered users
- Ability to create new user
- Change user role (Admin or User)
- Change user storage capacity in GBs
- User storage capacity usage preview
- Send email to user for password reset
- Ability to delete user with all user data and stored files
Others
- Redesigned User profile settings
- Small bug fixes
- New artisan command for upgrade app (for more info check upgrade guide)
- Upgrading To 1.6 From 1.4.2 or newest
## Version 1.5.2
#### Release date: 22. May 2020
- Empty page fix
- Log out in mobile fix
- Dark mode fixes
- Password reset bug fixes
## Version 1.5
#### Release date: 19. May 2020
**UI & UX**
- New navigation menu with Home, Shared, Trash, Settings locations in desktop
- New dynamic sidebar with folder tree navigation, file categories and tools
- Folder tree navigator in main file page
- Added Participant uploads category to shared page
- Added recent uploads category to file page
- New settings page with separated Profile, Password and Storage
- Updated colors for dark mode
- Improvement desgin across all components
- Added (X) close button to all popups
- Added editing icons (move, share) to main bar
- More transparent context menus with action groups
Mobile
- New main navigation menu
- Added item thumbnails to mobile contextmenu
Others
- Public shared image now open in an original image page
- New page with storage usage details
## Version 1.4.2
#### Release date: 6. May 2020
**External Storage Services**
- Amazon Web Services S3 support
- Digital Ocean Spaces support
- Updated documentation
- New blog with some handy tips and news about VueFileManager
## Version 1.4.1
#### Release date: 4. May 2020
**Translations**
- Added Chinese (Simplified) language (thanks haimang to contribute)
Bugs
- Go to profile in mobile version
- Internal front-end bug
Error logs
- Added when passport client isnt set up correctly
- Added when database connection isnt available
**Others**
- Updated terminal info when you are running php artisan setup:prod
- Updated documentation with more describing installation process
## Version 1.4
#### Release date: 1. May 2020
**Sharing**
- Share your folders and files
- Added sidebar group with shared items
- Added UI icons to item preview to look which item is shared and which item was uploaded by participant
**Folders**
- User can share folder content
- User can protect folder content by password
- User can set permission to interact with shared folder - only view and download or view, download, upload, rename, delete and move items
**Files**
- User can share single file
- User can protect single file by password
**Others**
- Small UI improvements
- Bug fixes
- Upgrading to 1.4 from 1.3.x
## Version 1.3.1
#### Release date: 8. April 2020
- Bug fixes
- Upgrading to 1.3.1 from 1.2
## Version 1.3
#### Release date: 3. April 2020
- i18n localization support
- Added SK, EN language files
- Video/Audio preview in file preview panel (Thanks to Joshua Fouyon to participating on this feature)
- Drop uploading (You can now drag files from desktop and drop it to VueFileManager)
- Fixed bug when rename item in safari browser
- Fixed bug when you drag folder from trash to favourites in sidebar panel
- small functions and design improvements
- Upgrading to 1.3 from 1.2
## Version 1.2
#### Release date: 29. March 2020
- Move your items by folder tree
- Fixed bug with image rotation on iOS Device
- Improved animations
- Small design changes
- iOS web app capable support
## Version 1.1.1
#### Release date: 17. March 2020
- Bug fixes
## Version 1.1
#### Release date: 15. March 2020
**User Authentication**
- Login to user account
- Register new user account
- Reset user password
**Functionality**
- Added locations to menu
- Added trash for deleted folders & files
- Restore files or folders from trash
- Empty trash function
- Favourites folders
- List of 5 latest uploads
- Profile settings page
- Storage info and upload limits
**Design**
- Night Mode
- Navigation sidebar
- Quick action buttons in mobile version
- Improved mobile UX
- Other small design improvements
**Settings**
- Enable/Disable user account registration
- Set storage limitation
- Set storage capacity for all users
## Version 1
#### Release date: 25. February 2020
- Official release

313
codecanyon.html Normal file
View File

@@ -0,0 +1,313 @@
<h3>VueFileManager Mobile Browser Screenshots</h3>
<img src="https://i.ibb.co/g3r3H49/mobile-files.jpg" alt="Files">
<img src="https://i.ibb.co/4Mb7dCN/mobile-teams.jpg" alt="Teams">
<img src="https://i.ibb.co/MCB5wjY/mobile-file-popups.jpg" alt="Popups">
<img src="https://i.ibb.co/NCQ5RKL/mobile-user-profile.jpg" alt="User Profile">
<img src="https://i.ibb.co/8PSJt51/mobile-administration-panel.jpg" alt="App Settings">
<img src="https://i.ibb.co/d5kY6cs/mobile-spotlight.jpg" alt="Spotlight">
<h3>Core Functionalities</h3>
<h5><strong>Meticulously Designed User Interface & User Experience</strong></h5>
<p>
In last 2 years of VueFileManager evolution with help of our users, we spend a lot of time designing gorgeous
looking user interface and seamless user experience with our file management frontend. We advocate simplicity and
usability.
</p>
<h5><strong>Responsive</strong></h5>
<p>
Meticulously optimized mobile version of VueFileManager, we just love how nice and easy are all components working.
Mobile responsive version should be nice and usable as his bigger desktop brother.
</p>
<h5><strong>Metered Billing System - SaaS (Extended License Required)</strong></h5>
<p>
Metered billing works like Pay as You Go. You can charge your users by their usage, how many Gigabytes of data
they have stored, how many Gigabytes of data they transfer or just you can set up your fixed flat fee.
</p>
<h5><strong>Offline Payments - SaaS (Extended License Required)</strong></h5>
<p>
With a metered billing system, users don't need to own and have registered credit cards. VueFileManager has its own
credit system where users can increase deposit with a single-payment charge. This charge can be processed By PayPal,
Stripe or Paystack provided payment methods - for example Apple Pay, Google Pay, Bank Account, USSD, Mobile Money,
EFT, QR Code, PayPal credit and many more.
</p>
<p>
Also, you as an admin can give a bonus in a certain value for every new registration, or send an existing bonus for
a user in a certain value. Users with a metered billing system can set their Billing alert with a certain value. All
metered subscriptions are settled every 30 days.
</p>
<p>With Stripe enabled, users can register their credit to charge any payments automatically.</p>
<h5><strong>Fixed Billing System - SaaS (Extended License Required)</strong></h5>
<p>
With fixed billing you can set your billing plans in monthly or yearly periods. You can set a limit for max storage
disk size or max number of team members.
</p>
<h5><strong>No-SaaS in Default</strong></h5>
<p>
If you dont want to run your business with a storage cloud but just using VueFileManager as your own file storage
client, you can use the app without all billing functions as well. See our basic demo without subscription module.
</p>
<h5><strong>Upload Files</strong></h5>
<p>
With VueFileManager you can upload files up to tens of gigabytes, dont worry that your big files won't be uploaded.
We support chunk upload and multipart uploads for your s3 storage service. All work seamlessly.
</p>
<h5><strong>Folder Upload</strong></h5>
<p>
For VueFileManager it isn't any problem to upload a folder with your files. The same folder structure will be
recreated in the app.
</p>
<h5><strong>Sharing Files</strong></h5>
<p>
With our reach sharing functionalities, you can easily just click on your file or folder, and generate a shared link
for everyone. Also you can protect your shared files with your password. 
</p>
<p>
Use expiration functionality to automatically expire links, share links directly via email or generate QR code and
share it with guys on your left.
</p>
<h5><strong>Shared Pages</strong></h5>
<p>
If you share any folder with files within, the user has the same user experience as a logged user. He can create
folders, name it, upload files or move them into other folders directly in your shared folder.
</p>
<p>
Videos have their own dedicated shared page with your app logo and ability to play video directly in this page with
the download button above, try it, its magic!
</p>
<h5><strong>File Request</strong></h5>
<p>
Do you need a lot of files? Just generate a file request, and send your link for this person. The person can use it
to upload files directly into your folder or into your home section for files. The user whos uploading files has
the same user experience as the internal account.
</p>
<h5><strong>Teams</strong></h5>
<p>
Invite your colleagues or family into your team folders, set their permissions and collaborate together seamlessly.
</p>
<h5><strong>Spotlight</strong></h5>
<p>
With the spotlight, you can search for your users, files, folders, navigate throughout the app, toggle dark mode,
toggle emojis and many more from any location in the app. Its like magic. Good suit for super users.
</p>
<h5><strong>Notification Center</strong></h5>
<p>
All important events that occur in your account will be recorded in your notifications center. For example, a new
team invite, file request was filled, bonus received, billing alert was reached and many more.
</p>
<h5><strong>External Storage Services</strong></h5>
<p>
You can use it as main storage for all your files external storage service. We support all S3 compatible services
like Amazon Web Services S3, Spaces from Digital Ocean, Backblaze, Wasabi, Alibaba Cloud OSS, Storj and many more.
</p>
<h5><strong>Decentralized Storage Service</strong></h5>
<p>
With Storj DCS (Decentralized Cloud Storage) files arent stored in centralized data centers — instead, they're
encrypted, split into pieces, and distributed on a global cloud network.
</p>
<h5><strong>Full-Fledged API</strong></h5>
<p>
You can integrate VueFileManager into your app seamlessly. Users can generate authentication tokens in their profile
settings. Documentation for API coming soon.
</p>
<h5><strong>2-Factor Verification</strong></h5>
<p>
Another layer of security to make sure your files are secured. Users can set up 2 factor verification with their
favourite authenticator app.
</p>
<h5><strong>Social Logins</strong></h5>
<p>
Log into your app with your social account. Currently we support Facebook, Github and Google providers. More is
coming soon.
</p>
<h5><strong>Customizable Folder Icons</strong></h5>
<p>
Set your favourite emoji to your folder as an icon and make VueFileManager more personal for you! If you are an
apple user, you can switch between Apple emojis and Tweemojis from twitter.
</p>
<h5><strong>Admin Panel</strong></h5>
<p>
As admin, you have full control over the entire app, you can create or delete users, manage their storage size, disable registration, require email verification, set upload limits and many more.
</p>
<h5><strong>Dark Mode</strong></h5>
<p>
We support dark mode natively. Users can set dark mode via application, or let Dark/Light mode handle with preferred
OS settings.
</p>
<h5><strong>Language Editor</strong></h5>
<p>
With our language editor you can translate applications into your home language. Its at your hand in the admin
panel.
</p>
<h5><strong>Auto Database Backup</strong></h5>
<p>
VueFileManager will take care of your daily database backups. When an unexpected event occurs, your database backup
will be ready for you.
</p>
<h5><strong>reCaptcha</strong></h5>
<p>
reCaptcha will provide security for registration and contact form from internet bots and prevent spammers from
abusing your application.
</p>
<h5><strong>Blacklist with more than 550+ Temporary Email Services</strong></h5>
<p>
We integrated a database with more than 550 disposable temporary email services to deny new account registrations
with abusive behavior.
</p>
<h5><strong>AdSense</strong></h5>
<p>
Monetize your file cloud with Google Adsense service. We natively implement 3 ad slots into the VueFileManager
frontend.
</p>
<h5><strong>Server Status</strong></h5>
<p>
You can check the admin panel server status. You can download your server logs for support communication, check your
latest database backups, check if your cron is running smoothly or if you have correctly set up your PHP with all
required php extensions.
</p>
<h5><strong>Easy Installation with Setup Wizard</strong></h5>
<p>
Setup Wizard is a convenient way to set up and configure your VueFileManager app in a few steps. Before you run your
installation, Setup Wizard will check all your server components and let you know, when you are missing something.
</p>
<h5><strong>Drag & Drop</strong></h5>
<p>You can drag your files or folder to another folder seamlessly</p>
<h5><strong>Source Code</strong></h5>
<p>
All source files of VueFileManager are included in download. You can easily inspect code and build your own
functionality.
</p>
<h3>Technologies</h3>
<ul>
<li>Laravel 9.x</li>
<li>Vue 2.6.x</li>
<li>Tailwind 3</li>
</ul>
<h3>Server Requirements</h3>
<ul>
<li>PHP >= 8.0.2 version (8.1+ recommended)</li>
<li>MySQL 5.6+</li>
<li>Nginx or Apache</li>
</ul>
<h3>Useful Links</h3>
<p>
<a href="https://gist.github.com/MakingCG/a702a112be63bc6f0032dd55522327cf">
<strong>Installation Guide</strong>
</a>
</p>
<p>
<a href="https://gist.github.com/MakingCG/9c07f8af392081ae5d5290d920a79b5d">
<strong>Changelog</strong>
</a>
</p>
<h3>Tips</h3>
<p>
<a
href="https://medium.com/vuefilemanager/how-to-set-up-vuefilemanager-laravel-application-on-vps-with-debian-10-64676a3ff4d7"
>
<strong>How to install VueFileManager on VPS with Debian 10</strong>
</a>
</p>
<p>
<a
href="https://medium.com/vuefilemanager/how-to-set-up-vuefilemanager-with-aws-s3-as-an-external-storage-a2c525aec698"
>
<strong>How to Set Up AWS S3</strong>
</a>
</p>
<p>
<a
href="https://medium.com/vuefilemanager/how-to-set-up-vuefilemanager-with-digital-ocean-spaces-as-a-external-storage-6cccf590c23d"
>
<strong>How to Set Up Digital Ocean Spaces</strong>
</a>
</p>
<h3>Demos</h3>
<h5>
<strong>
<a href="https://demo-metered.vuefilemanager.com/sign-in"> Metered Billing </a>
</strong>
</h5>
<p>
Browse demo with the Pay as You Go model. You can try credit system, fund your account balance and see how usage
estimates works. Some functions for default howdy account are restricted. Feel free to create your own account with
1 GB upload limit.
</p>
<h5>
<strong>
<a href="https://demo-fixed.vuefilemanager.com/sign-in"> Fixed Billing </a>
</strong>
</h5>
<p>
Browse demo with the Fixed model. You can try subscribe to any billing plan available in the app. Some functions for
default howdy account are restricted. Feel free to create your own account with 1 GB upload limit.
</p>
<h5>
<strong>
<a href="https://demo-regular.vuefilemanager.com/sign-in"> Regular without Subscription Module </a>
</strong>
</h5>
<p>
Browse demo without the subscription system. This demo with suit for regular license. Some functions for default
howdy account are restricted. Feel free to create your own account with 1 GB upload limit.
</p>
<h3>Frequently asked</h3>
<h5><strong>Is there any future plan for the mobile app?</strong></h5>
<p>
Yes, partially, but it depends on how VueFileManager sales will perform. We have to earn some money for mobile
development. If it goes well, then we can start work on mobile development. So please buy some more licenses to
support further development. Thank you, you are the best!
</p>
<h5><strong>Do you have any future plans to integrate FTP upload?</strong></h5>
<p>We dont have any plan to support FTP uploading, its out of scope.</p>
<p>
When you upload file via app, the app must process the file, create database record, attach it to the owner of the
file, move file to storage directory where are stored other user files and any other related functions must run,
this cant be done when user upload file via ftp. This will need to build another software for the server part, but
this does not pay off in terms of development costs and benefits for our focused users.
</p>
<p>
But, you can upload files without trouble in any size via VueFileManager, we support chunk upload in browser and
multipart upload for your s3 storage disk to manage big files. With this you are able to upload files in the tens of
gigabytes.
</p>

View File

@@ -8,25 +8,59 @@
],
"license": "MIT",
"require": {
"php": "^7.2",
"askedio/laravel-soft-cascade": "^6.0",
"fideloper/proxy": "^4.0",
"fruitcake/laravel-cors": "^1.0",
"php": "^8.0.2",
"ext-json": "*",
"ext-pdo": "*",
"beyondcode/laravel-websockets": "^1.13",
"brianium/paratest": "^6.4.1",
"cocur/slugify": "^4.1",
"doctrine/dbal": "^2.13.7",
"fruitcake/laravel-cors": "^2.0.5",
"gabrielelana/byte-units": "^0.5.0",
"intervention/image": "^2.5",
"laravel/framework": "^6.2",
"laravel/passport": "^8.4",
"laravel/scout": "^7.2",
"laravel/tinker": "^2.0",
"teamtnt/laravel-scout-tntsearch-driver": "^7.2"
"guzzlehttp/guzzle": "^7.4.1",
"intervention/image": "^2.7.1",
"jaybizzle/laravel-crawler-detect": "^1.2",
"kyslik/column-sortable": "^6.4.1",
"laravel/fortify": "^1.12.0",
"laravel/framework": "^9.2",
"laravel/sanctum": "^2.14.2",
"laravel/socialite": "^5.5.1",
"laravel/tinker": "^2.7",
"laravel/ui": "^3.4.2",
"league/flysystem-aws-s3-v3": "^3.0.9",
"league/flysystem-ftp": "^3.0",
"makingcg/subscription": "^1.0.7",
"matthewbdaly/laravel-azure-storage": "^2.0",
"pusher/pusher-php-server": "^7.0",
"spatie/data-transfer-object": "^3.7.3",
"spatie/laravel-backup": "^8.0.8",
"spatie/laravel-query-builder": "^5.0.0",
"spatie/laravel-queueable-action": "^2.13.1",
"spatie/laravel-tail": "^4.4.0",
"stechstudio/laravel-zipstream": "^4.5",
"symfony/http-client": "^6.0",
"symfony/mailgun-mailer": "^6.0",
"symfony/postmark-mailer": "^6.0",
"teamtnt/laravel-scout-tntsearch-driver": "^11.6",
"vimeo/psalm": "^4.19.0"
},
"require-dev": {
"facade/ignition": "^1.4",
"fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "^3.0",
"phpunit/phpunit": "^8.0"
"barryvdh/laravel-ide-helper": "^2.12.1",
"friendsofphp/php-cs-fixer": "^3.5.0",
"spatie/laravel-ignition": "^1.0",
"nunomaduro/larastan": "^0.7.15",
"nunomaduro/collision": "^6.1",
"phpunit/phpunit": "^9.5.16",
"mockery/mockery": "^1.5.0",
"fakerphp/faker": "^1.19.0",
"ext-json": "*"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/VueFileManager/subscription.git"
}
],
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
@@ -39,14 +73,19 @@
},
"autoload": {
"psr-4": {
"App\\": "app/"
"App\\" : "src/App/",
"Domain\\" : "src/Domain/",
"Support\\" : "src/Support/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
},
"classmap": [
"database/seeds",
"database/factories"
],
"files": [
"app/Http/helpers.php"
"src/Support/errors.php",
"src/Support/helpers.php"
]
},
"autoload-dev": {
@@ -66,6 +105,7 @@
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
],
"format": "vendor/bin/php-cs-fixer fix --allow-risky=yes"
}
}

14572
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Application Name
@@ -135,7 +134,6 @@ return [
*/
'providers' => [
/*
* Laravel Framework Service Providers...
*/
@@ -163,7 +161,9 @@ return [
Illuminate\View\ViewServiceProvider::class,
TeamTNT\Scout\TNTSearchScoutServiceProvider::class,
Laravel\Socialite\SocialiteServiceProvider::class,
Intervention\Image\ImageServiceProvider::class,
App\Providers\FortifyServiceProvider::class,
/*
* Package Service Providers...
@@ -174,10 +174,9 @@ return [
*/
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
// App\Providers\BroadcastServiceProvider::class,
App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
],
/*
@@ -192,50 +191,51 @@ return [
*/
'aliases' => [
'App' => Illuminate\Support\Facades\App::class,
'Arr' => Illuminate\Support\Arr::class,
'Artisan' => Illuminate\Support\Facades\Artisan::class,
'Auth' => Illuminate\Support\Facades\Auth::class,
'Blade' => Illuminate\Support\Facades\Blade::class,
'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
'Bus' => Illuminate\Support\Facades\Bus::class,
'Cache' => Illuminate\Support\Facades\Cache::class,
'Config' => Illuminate\Support\Facades\Config::class,
'Cookie' => Illuminate\Support\Facades\Cookie::class,
'Crypt' => Illuminate\Support\Facades\Crypt::class,
'DB' => Illuminate\Support\Facades\DB::class,
'Eloquent' => Illuminate\Database\Eloquent\Model::class,
'Event' => Illuminate\Support\Facades\Event::class,
'File' => Illuminate\Support\Facades\File::class,
'Gate' => Illuminate\Support\Facades\Gate::class,
'Hash' => Illuminate\Support\Facades\Hash::class,
'Lang' => Illuminate\Support\Facades\Lang::class,
'Log' => Illuminate\Support\Facades\Log::class,
'Mail' => Illuminate\Support\Facades\Mail::class,
'App' => Illuminate\Support\Facades\App::class,
'Arr' => Illuminate\Support\Arr::class,
'Artisan' => Illuminate\Support\Facades\Artisan::class,
'Auth' => Illuminate\Support\Facades\Auth::class,
'Blade' => Illuminate\Support\Facades\Blade::class,
'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
'Bus' => Illuminate\Support\Facades\Bus::class,
'Cache' => Illuminate\Support\Facades\Cache::class,
'Config' => Illuminate\Support\Facades\Config::class,
'Cookie' => Illuminate\Support\Facades\Cookie::class,
'Crypt' => Illuminate\Support\Facades\Crypt::class,
'DB' => Illuminate\Support\Facades\DB::class,
'Eloquent' => Illuminate\Database\Eloquent\Model::class,
'Event' => Illuminate\Support\Facades\Event::class,
'File' => Illuminate\Support\Facades\File::class,
'Gate' => Illuminate\Support\Facades\Gate::class,
'Hash' => Illuminate\Support\Facades\Hash::class,
'Lang' => Illuminate\Support\Facades\Lang::class,
'Log' => Illuminate\Support\Facades\Log::class,
'Mail' => Illuminate\Support\Facades\Mail::class,
'Notification' => Illuminate\Support\Facades\Notification::class,
'Password' => Illuminate\Support\Facades\Password::class,
'Queue' => Illuminate\Support\Facades\Queue::class,
'Redirect' => Illuminate\Support\Facades\Redirect::class,
'Redis' => Illuminate\Support\Facades\Redis::class,
'Request' => Illuminate\Support\Facades\Request::class,
'Response' => Illuminate\Support\Facades\Response::class,
'Route' => Illuminate\Support\Facades\Route::class,
'Schema' => Illuminate\Support\Facades\Schema::class,
'Session' => Illuminate\Support\Facades\Session::class,
'Storage' => Illuminate\Support\Facades\Storage::class,
'Str' => Illuminate\Support\Str::class,
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
'Image' => Intervention\Image\Facades\Image::class
'Password' => Illuminate\Support\Facades\Password::class,
'Queue' => Illuminate\Support\Facades\Queue::class,
'Redirect' => Illuminate\Support\Facades\Redirect::class,
'Redis' => Illuminate\Support\Facades\Redis::class,
'Request' => Illuminate\Support\Facades\Request::class,
'Response' => Illuminate\Support\Facades\Response::class,
'Route' => Illuminate\Support\Facades\Route::class,
'Schema' => Illuminate\Support\Facades\Schema::class,
'Session' => Illuminate\Support\Facades\Session::class,
'Storage' => Illuminate\Support\Facades\Storage::class,
'Str' => Illuminate\Support\Str::class,
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
'Image' => Intervention\Image\Facades\Image::class,
'Stripe' => Cartalyst\Stripe\Laravel\Facades\Stripe::class,
'Crawler' => Jaybizzle\LaravelCrawlerDetect\Facades\LaravelCrawlerDetect::class,
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
],
'debug_blacklist' => [
'_ENV' => [
'_ENV' => [
'APP_KEY',
'DB_USERNAME',
'DB_PASSWORD',
'REDIS_PASSWORD',
'MAIL_PASSWORD',
@@ -243,25 +243,43 @@ return [
'PUSHER_APP_SECRET',
'PASSPORT_CLIENT_ID',
'PASSPORT_CLIENT_SECRET',
'AWS_SECRET_ACCESS_KEY',
'AWS_ACCESS_KEY_ID',
'AWS_SECRET_ACCESS_KEY',
'S3_SECRET_ACCESS_KEY',
'S3_ACCESS_KEY_ID',
'DO_SPACES_KEY',
'DO_SPACES_SECRET',
'WASABI_KEY',
'WASABI_SECRET',
'BACKBLAZE_KEY',
'BACKBLAZE_SECRET',
],
'_SERVER' => [
'APP_KEY',
'DB_USERNAME',
'DB_PASSWORD',
'REDIS_PASSWORD',
'MAIL_PASSWORD',
'PUSHER_APP_KEY',
'PUSHER_APP_SECRET',
'PASSPORT_CLIENT_ID',
'PASSPORT_CLIENT_SECRET',
'AWS_ACCESS_KEY_ID',
'AWS_SECRET_ACCESS_KEY',
'S3_SECRET_ACCESS_KEY',
'S3_ACCESS_KEY_ID',
'DO_SPACES_KEY',
'DO_SPACES_SECRET',
'WASABI_KEY',
'WASABI_SECRET',
'BACKBLAZE_KEY',
'BACKBLAZE_SECRET',
],
'_POST' => [
'_POST' => [
'password',
],
],
];

View File

@@ -1,7 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Authentication Defaults
@@ -14,7 +13,7 @@ return [
*/
'defaults' => [
'guard' => 'web',
'guard' => 'web',
'passwords' => 'users',
],
@@ -37,13 +36,14 @@ return [
'guards' => [
'web' => [
'driver' => 'session',
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
],
@@ -67,7 +67,7 @@ return [
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
'model' => App\Users\Models\User::class,
],
// 'users' => [
@@ -94,8 +94,8 @@ return [
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
'table' => 'password_resets',
'expire' => 60,
'throttle' => 60,
],
],
@@ -112,5 +112,4 @@ return [
*/
'password_timeout' => 10800,
];

246
config/backup.php Normal file
View File

@@ -0,0 +1,246 @@
<?php
return [
'backup' => [
/*
* The name of this application. You can use this name to monitor
* the backups.
*/
'name' => 'app-backup',
'source' => [
'files' => [
/*
* The list of directories and files that will be included in the backup.
*/
'include' => [
base_path(),
],
/*
* These directories and files will be excluded from the backup.
*
* Directories used by the backup process will automatically be excluded.
*/
'exclude' => [
base_path('vendor'),
base_path('node_modules'),
],
/*
* Determines if symlinks should be followed.
*/
'follow_links' => false,
/*
* Determines if it should avoid unreadable folders.
*/
'ignore_unreadable_directories' => false,
/*
* This path is used to make directories in resulting zip-file relative
* Set to `null` to include complete absolute path
* Example: base_path()
*/
'relative_path' => null,
],
/*
* The names of the connections to the databases that should be backed up
* MySQL, PostgreSQL, SQLite and Mongo databases are supported.
*
* The content of the database dump may be customized for each connection
* by adding a 'dump' key to the connection settings in config/database.php.
* E.g.
* 'mysql' => [
* ...
* 'dump' => [
* 'excludeTables' => [
* 'table_to_exclude_from_backup',
* 'another_table_to_exclude'
* ]
* ],
* ],
*
* If you are using only InnoDB tables on a MySQL server, you can
* also supply the useSingleTransaction option to avoid table locking.
*
* E.g.
* 'mysql' => [
* ...
* 'dump' => [
* 'useSingleTransaction' => true,
* ],
* ],
*
* For a complete list of available customization options, see https://github.com/spatie/db-dumper
*/
'databases' => [
'mysql',
],
],
/*
* The database dump can be compressed to decrease diskspace usage.
*
* Out of the box Laravel-backup supplies
* Spatie\DbDumper\Compressors\GzipCompressor::class.
*
* You can also create custom compressor. More info on that here:
* https://github.com/spatie/db-dumper#using-compression
*
* If you do not want any compressor at all, set it to null.
*/
'database_dump_compressor' => null,
/*
* The file extension used for the database dump files.
*
* If not specified, the file extension will be .archive for MongoDB and .sql for all other databases
* The file extension should be specified without a leading .
*/
'database_dump_file_extension' => '',
'destination' => [
/*
* The filename prefix used for the backup zip file.
*/
'filename_prefix' => 'backup-',
/*
* The disk names on which the backups will be stored.
*/
'disks' => [
env('FILESYSTEM_DISK', 'local'),
],
],
/*
* The directory where the temporary files will be stored.
*/
'temporary_directory' => storage_path('app/backup-temp'),
/*
* The password to be used for archive encryption.
* Set to `null` to disable encryption.
*/
'password' => env('BACKUP_ARCHIVE_PASSWORD', null),
/*
* The encryption algorithm to be used for archive encryption.
* You can set it to `null` or `false` to disable encryption.
*
* When set to 'default', we'll use ZipArchive::EM_AES_256 if it is
* available on your system.
*/
'encryption' => 'default',
],
/*
* You can get notified when specific events occur. Out of the box you can use 'mail' and 'slack'.
* For Slack you need to install laravel/slack-notification-channel.
*
* You can also use your own notification classes, just make sure the class is named after one of
* the `Spatie\Backup\Events` classes.
*/
'notifications' => [
'notifications' => [
\Spatie\Backup\Notifications\Notifications\BackupHasFailedNotification::class => ['mail'],
\Spatie\Backup\Notifications\Notifications\UnhealthyBackupWasFoundNotification::class => ['mail'],
\Spatie\Backup\Notifications\Notifications\CleanupHasFailedNotification::class => ['mail'],
\Spatie\Backup\Notifications\Notifications\BackupWasSuccessfulNotification::class => ['mail'],
\Spatie\Backup\Notifications\Notifications\HealthyBackupWasFoundNotification::class => ['mail'],
\Spatie\Backup\Notifications\Notifications\CleanupWasSuccessfulNotification::class => ['mail'],
],
/*
* Here you can specify the notifiable to which the notifications should be sent. The default
* notifiable will use the variables specified in this config file.
*/
'notifiable' => \Spatie\Backup\Notifications\Notifiable::class,
'mail' => [
'to' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
],
],
/*
* Here you can specify which backups should be monitored.
* If a backup does not meet the specified requirements the
* UnHealthyBackupWasFound event will be fired.
*/
'monitor_backups' => [
[
'name' => env('APP_NAME', 'vuefilemanager-backup'),
'disks' => [
env('FILESYSTEM_DISK', 'local'),
],
'health_checks' => [
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumAgeInDays::class => 1,
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumStorageInMegabytes::class => 5000,
],
],
/*
[
'name' => 'name of the second app',
'disks' => ['local', 's3'],
'health_checks' => [
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumAgeInDays::class => 1,
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumStorageInMegabytes::class => 5000,
],
],
*/
],
'cleanup' => [
/*
* The strategy that will be used to cleanup old backups. The default strategy
* will keep all backups for a certain amount of days. After that period only
* a daily backup will be kept. After that period only weekly backups will
* be kept and so on.
*
* No matter how you configure it the default strategy will never
* delete the newest backup.
*/
'strategy' => \Spatie\Backup\Tasks\Cleanup\Strategies\DefaultStrategy::class,
'default_strategy' => [
/*
* The number of days for which backups must be kept.
*/
'keep_all_backups_for_days' => 10,
/*
* The number of days for which daily backups must be kept.
*/
'keep_daily_backups_for_days' => 16,
/*
* The number of weeks for which one weekly backup must be kept.
*/
'keep_weekly_backups_for_weeks' => 8,
/*
* The number of months for which one monthly backup must be kept.
*/
'keep_monthly_backups_for_months' => 4,
/*
* The number of years for which one yearly backup must be kept.
*/
'keep_yearly_backups_for_years' => 2,
/*
* After cleaning up the backups remove the oldest backup until
* this amount of megabytes has been reached.
*/
'delete_oldest_backups_when_using_more_megabytes_than' => 5000,
],
],
];

View File

@@ -1,7 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Broadcaster
@@ -29,20 +28,22 @@ return [
*/
'connections' => [
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env('PUSHER_APP_CLUSTER'),
'useTLS' => true,
'cluster' => env('PUSHER_APP_CLUSTER'),
'encrypted' => true,
'host' => env('PUSHER_APP_HOST'),
'port' => env('PUSHER_APP_PORT'),
'scheme' => env('PUSHER_APP_TLS', true) ? 'https' : 'http',
],
],
'redis' => [
'driver' => 'redis',
'driver' => 'redis',
'connection' => 'default',
],
@@ -53,7 +54,5 @@ return [
'null' => [
'driver' => 'null',
],
],
];

View File

@@ -3,7 +3,6 @@
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Cache Store
@@ -32,7 +31,6 @@ return [
*/
'stores' => [
'apc' => [
'driver' => 'apc',
],
@@ -42,20 +40,20 @@ return [
],
'database' => [
'driver' => 'database',
'table' => 'cache',
'driver' => 'database',
'table' => 'cache',
'connection' => null,
],
'file' => [
'driver' => 'file',
'path' => storage_path('framework/cache/data'),
'path' => storage_path('framework/cache/data'),
],
'memcached' => [
'driver' => 'memcached',
'driver' => 'memcached',
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
'sasl' => [
'sasl' => [
env('MEMCACHED_USERNAME'),
env('MEMCACHED_PASSWORD'),
],
@@ -64,27 +62,26 @@ return [
],
'servers' => [
[
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],
'redis' => [
'driver' => 'redis',
'driver' => 'redis',
'connection' => 'cache',
],
'dynamodb' => [
'driver' => 'dynamodb',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
'driver' => 'dynamodb',
'key' => env('S3_ACCESS_KEY_ID'),
'secret' => env('S3_SECRET_ACCESS_KEY'),
'region' => env('S3_DEFAULT_REGION', 'us-east-1'),
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
'endpoint' => env('DYNAMODB_ENDPOINT'),
],
],
/*
@@ -99,5 +96,4 @@ return [
*/
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),
];

212
config/content.php Normal file
View File

@@ -0,0 +1,212 @@
<?php
return [
'pages' => [
[
'visibility' => 1,
'title' => 'Terms of Service',
'slug' => 'terms-of-service',
'content' => 'Laoreet cum hendrerit iaculis arcu phasellus congue et elementum, pharetra risus imperdiet aptent posuere rutrum parturient blandit, dapibus tellus ridiculus potenti aliquam sociis turpis. Nullam commodo eget laoreet risus cursus vel placerat, in dapibus sociis gravida faucibus sodales, fringilla potenti elit semper iaculis ullamcorper. Dignissim vulputate pretium montes pellentesque mollis, consectetur adipiscing curabitur semper sem rhoncus, litora viverra curae proin.',
],
[
'visibility' => 1,
'title' => 'Privacy Policy',
'slug' => 'privacy-policy',
'content' => 'Sit orci justo augue maecenas laoreet consectetur natoque magnis in viverra sagittis, himenaeos urna facilisis mus proin primis diam accumsan tristique inceptos. Primis quisque posuere sit praesent lobortis feugiat semper convallis facilisis, vivamus gravida ligula nostra curae eu donec duis parturient senectus, arcu dolor viverra penatibus natoque cum nisi commodo. Litora sociis mauris justo nullam suspendisse mattis maecenas nascetur congue phasellus cras ultricies posuere donec, dapibus egestas diam lacus ornare montes senectus tincidunt eu taciti sed consequat.',
],
[
'visibility' => 1,
'title' => 'Cookie Policy',
'slug' => 'cookie-policy',
'content' => 'Metus penatibus ligula dolor natoque non habitasse laoreet facilisis, libero vivamus eget semper vulputate interdum integer, phasellus lorem enim blandit consectetur nullam sollicitudin. Hendrerit interdum luctus ut in molestie himenaeos eros cum laoreet parturient est, eu lectus hac et netus viverra dictumst congue elit sem senectus litora, fames scelerisque adipiscing inceptos fringilla montes sociosqu suscipit auctor potenti. Elementum lacus vulputate viverra ac morbi ligula ipsum facilisi, sit eu imperdiet lacinia congue dis vitae.',
],
],
'content' => [
'regular' => [
[
'name' => 'section_features',
'value' => 1,
],
[
'name' => 'section_feature_boxes',
'value' => 1,
],
[
'name' => 'section_get_started',
'value' => 1,
],
[
'name' => 'header_title',
'value' => 'Simple <span class="text-theme">&</span> Powerful Personal Cloud Storage',
],
[
'name' => 'header_description',
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Truly freedom.',
],
[
'name' => 'features_title',
'value' => 'The Fastest Growing <span class="text-theme">File Manager</span> on the CodeCanyon Market',
],
[
'name' => 'features_description',
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Truly freedom.',
],
[
'name' => 'feature_title_1',
'value' => 'Truly Freedom',
],
[
'name' => 'feature_description_1',
'value' => 'You have full control over VueFileManager, no third authorities will control your service or usage, only you.',
],
[
'name' => 'feature_title_2',
'value' => 'The Sky is the Limit',
],
[
'name' => 'feature_description_2',
'value' => 'VueFileManager is cloud storage software. You have to install and running application on your own server hosting.',
],
[
'name' => 'feature_title_3',
'value' => 'No Monthly Fees',
],
[
'name' => 'feature_description_3',
'value' => 'When you running VueFileManager on your own server hosting, anybody can\'t control your content or resell your user data. Your data is safe.',
],
[
'name' => 'get_started_title',
'value' => 'Ready to Get <span class="text-theme">Started</span><br> With Us?',
],
[
'name' => 'get_started_description',
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Truly freedom.',
],
[
'name' => 'footer_content',
'value' => '© 2022 Simple & Powerful Personal Cloud Storage. Developed by <a href="https://hi5ve.digital" target="_blank">Hi5Ve.Digital</a>',
],
[
'name' => 'allow_homepage',
'value' => 1,
],
[
'name' => 'allowed_adsense',
'value' => 0,
],
[
'name' => 'allowed_recaptcha',
'value' => 0,
],
],
'extended' => [
[
'name' => 'section_features',
'value' => 1,
],
[
'name' => 'section_feature_boxes',
'value' => 1,
],
[
'name' => 'section_pricing_content',
'value' => 1,
],
[
'name' => 'section_get_started',
'value' => 1,
],
[
'name' => 'header_title',
'value' => 'Simple <span class="text-theme">&</span> Powerful Personal Cloud Storage',
],
[
'name' => 'header_description',
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Truly freedom.',
],
[
'name' => 'features_title',
'value' => 'The Fastest Growing <span class="text-theme">File Manager</span> on the CodeCanyon Market',
],
[
'name' => 'features_description',
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Truly freedom.',
],
[
'name' => 'feature_title_1',
'value' => 'Truly Freedom',
],
[
'name' => 'feature_description_1',
'value' => 'You have full control over VueFileManager, no third authorities will control your service or usage, only you.',
],
[
'name' => 'feature_title_2',
'value' => 'The Sky is the Limit',
],
[
'name' => 'feature_description_2',
'value' => 'VueFileManager is cloud storage software. You have to install and running application on your own server hosting.',
],
[
'name' => 'feature_title_3',
'value' => 'No Monthly Fees',
],
[
'name' => 'feature_description_3',
'value' => 'When you running VueFileManager on your own server hosting, anybody can\'t control your content or resell your user data. Your data is safe.',
],
[
'name' => 'pricing_title',
'value' => 'Pick the <span class="text-theme">Best Plan</span> For Your Needs',
],
[
'name' => 'pricing_description',
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Truly freedom.',
],
[
'name' => 'get_started_title',
'value' => 'Ready to Get <span class="text-theme">Started</span><br> With Us?',
],
[
'name' => 'get_started_description',
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Truly freedom.',
],
[
'name' => 'footer_content',
'value' => '© 2022 Simple & Powerful Personal Cloud Storage. Developed by <a href="https://hi5ve.digital" target="_blank" class="text-theme">Hi5Ve.Digital</a>',
],
[
'name' => 'allowed_adsense',
'value' => 0,
],
[
'name' => 'allowed_recaptcha',
'value' => 0,
],
// Subscription
[
'name' => 'paypal_payment_description',
'value' => 'Available PayPal Credit, Debit or Credit Card.',
],
[
'name' => 'paystack_payment_description',
'value' => 'Available Bank Account, USSD, Mobile Money, Apple Pay.',
],
[
'name' => 'stripe_payment_description',
'value' => 'Available credit card or Apple Pay.',
],
[
'name' => 'allowed_registration_bonus',
'value' => 0,
],
[
'name' => 'registration_bonus_amount',
'value' => 0,
],
],
],
];

View File

@@ -1,7 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Laravel CORS Options

View File

@@ -0,0 +1,11 @@
<?php
/*
* Place here your custom translations for your project.
* These translation will be automatically seeded after you
* run setup:dev script or installing app via Setup Wizard Tool
*/
return [
'custom' => 'translation',
];

View File

@@ -3,7 +3,6 @@
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Database Connection Name
@@ -34,63 +33,66 @@ return [
*/
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
'dump' => [
'dump_binary_path' => env('DB_MYSQLDUMP_PATH', 'usr/bin'), // only the path, so without `mysqldump` or `pg_dump`
'use_single_transaction',
'timeout' => 360,
],
],
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'schema' => 'public',
'sslmode' => 'prefer',
'schema' => 'public',
'sslmode' => 'prefer',
],
'sqlsrv' => [
'driver' => 'sqlsrv',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'driver' => 'sqlsrv',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
],
],
/*
@@ -118,30 +120,27 @@ return [
*/
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],
'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', '6379'),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_DB', '0'),
],
'cache' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', '6379'),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_CACHE_DB', '1'),
],
],
];

View File

@@ -0,0 +1,557 @@
<?php
// List based on michenriksen/disposable-email-provider-domains
// https://gist.github.com/michenriksen/8710649
return [
'0815.ru',
'0wnd.net',
'0wnd.org',
'10minutemail.co.za',
'10minutemail.com',
'123-m.com',
'1fsdfdsfsdf.tk',
'1pad.de',
'20minutemail.com',
'21cn.com',
'2fdgdfgdfgdf.tk',
'2prong.com',
'30minutemail.com',
'33mail.com',
'3trtretgfrfe.tk',
'4gfdsgfdgfd.tk',
'4warding.com',
'5ghgfhfghfgh.tk',
'6hjgjhgkilkj.tk',
'6paq.com',
'7tags.com',
'9ox.net',
'a-bc.net',
'agedmail.com',
'ama-trade.de',
'amilegit.com',
'amiri.net',
'amiriindustries.com',
'anonmails.de',
'anonymbox.com',
'antichef.com',
'antichef.net',
'antireg.ru',
'antispam.de',
'antispammail.de',
'armyspy.com',
'artman-conception.com',
'azmeil.tk',
'baxomale.ht.cx',
'beefmilk.com',
'bigstring.com',
'binkmail.com',
'bio-muesli.net',
'bobmail.info',
'bodhi.lawlita.com',
'bofthew.com',
'bootybay.de',
'boun.cr',
'bouncr.com',
'breakthru.com',
'brefmail.com',
'bsnow.net',
'bspamfree.org',
'bugmenot.com',
'bund.us',
'burstmail.info',
'buymoreplays.com',
'byom.de',
'c2.hu',
'card.zp.ua',
'casualdx.com',
'cek.pm',
'centermail.com',
'centermail.net',
'chammy.info',
'childsavetrust.org',
'chogmail.com',
'choicemail1.com',
'clixser.com',
'cmail.net',
'cmail.org',
'coldemail.info',
'cool.fr.nf',
'courriel.fr.nf',
'courrieltemporaire.com',
'crapmail.org',
'cust.in',
'cuvox.de',
'd3p.dk',
'dacoolest.com',
'dandikmail.com',
'dayrep.com',
'dcemail.com',
'deadaddress.com',
'deadspam.com',
'delikkt.de',
'despam.it',
'despammed.com',
'devnullmail.com',
'dfgh.net',
'digitalsanctuary.com',
'dingbone.com',
'disposableaddress.com',
'disposableemailaddresses.com',
'disposableinbox.com',
'dispose.it',
'dispostable.com',
'dodgeit.com',
'dodgit.com',
'donemail.ru',
'dontreg.com',
'dontsendmespam.de',
'drdrb.net',
'dump-email.info',
'dumpandjunk.com',
'dumpyemail.com',
'e-mail.com',
'e-mail.org',
'e4ward.com',
'easytrashmail.com',
'einmalmail.de',
'einrot.com',
'eintagsmail.de',
'emailgo.de',
'emailias.com',
'emaillime.com',
'emailsensei.com',
'emailtemporanea.com',
'emailtemporanea.net',
'emailtemporar.ro',
'emailtemporario.com.br',
'emailthe.net',
'emailtmp.com',
'emailwarden.com',
'emailx.at.hm',
'emailxfer.com',
'emeil.in',
'emeil.ir',
'emz.net',
'ero-tube.org',
'evopo.com',
'explodemail.com',
'express.net.ua',
'eyepaste.com',
'fakeinbox.com',
'fakeinformation.com',
'fansworldwide.de',
'fantasymail.de',
'fightallspam.com',
'filzmail.com',
'fivemail.de',
'fleckens.hu',
'frapmail.com',
'friendlymail.co.uk',
'fuckingduh.com',
'fudgerub.com',
'fyii.de',
'garliclife.com',
'gehensiemirnichtaufdensack.de',
'get2mail.fr',
'getairmail.com',
'getmails.eu',
'getonemail.com',
'giantmail.de',
'girlsundertheinfluence.com',
'gishpuppy.com',
'gmial.com',
'goemailgo.com',
'gotmail.net',
'gotmail.org',
'gotti.otherinbox.com',
'great-host.in',
'greensloth.com',
'grr.la',
'gsrv.co.uk',
'guerillamail.biz',
'guerillamail.com',
'guerrillamail.biz',
'guerrillamail.com',
'guerrillamail.de',
'guerrillamail.info',
'guerrillamail.net',
'guerrillamail.org',
'guerrillamailblock.com',
'gustr.com',
'harakirimail.com',
'hat-geld.de',
'hatespam.org',
'herp.in',
'hidemail.de',
'hidzz.com',
'hmamail.com',
'hopemail.biz',
'ieh-mail.de',
'ikbenspamvrij.nl',
'imails.info',
'inbax.tk',
'inbox.si',
'inboxalias.com',
'inboxclean.com',
'inboxclean.org',
'infocom.zp.ua',
'instant-mail.de',
'ip6.li',
'irish2me.com',
'iwi.net',
'jetable.com',
'jetable.fr.nf',
'jetable.net',
'jetable.org',
'jnxjn.com',
'jourrapide.com',
'jsrsolutions.com',
'kasmail.com',
'kaspop.com',
'killmail.com',
'killmail.net',
'klassmaster.com',
'klzlk.com',
'koszmail.pl',
'kurzepost.de',
'lawlita.com',
'letthemeatspam.com',
'lhsdv.com',
'lifebyfood.com',
'link2mail.net',
'litedrop.com',
'lol.ovpn.to',
'lolfreak.net',
'lookugly.com',
'lortemail.dk',
'lr78.com',
'lroid.com',
'lukop.dk',
'm21.cc',
'mail-filter.com',
'mail-temporaire.fr',
'mail.by',
'mail.mezimages.net',
'mail.zp.ua',
'mail1a.de',
'mail21.cc',
'mail2rss.org',
'mail333.com',
'mailbidon.com',
'mailbiz.biz',
'mailblocks.com',
'mailbucket.org',
'mailcat.biz',
'mailcatch.com',
'mailde.de',
'mailde.info',
'maildrop.cc',
'maileimer.de',
'mailexpire.com',
'mailfa.tk',
'mailforspam.com',
'mailfreeonline.com',
'mailguard.me',
'mailin8r.com',
'mailinater.com',
'mailinator.com',
'mailinator.net',
'mailinator.org',
'mailinator2.com',
'mailincubator.com',
'mailismagic.com',
'mailme.lv',
'mailme24.com',
'mailmetrash.com',
'mailmoat.com',
'mailms.com',
'mailnesia.com',
'mailnull.com',
'mailorg.org',
'mailpick.biz',
'mailrock.biz',
'mailscrap.com',
'mailshell.com',
'mailsiphon.com',
'mailtemp.info',
'mailtome.de',
'mailtothis.com',
'mailtrash.net',
'mailtv.net',
'mailtv.tv',
'mailzilla.com',
'makemetheking.com',
'manybrain.com',
'mbx.cc',
'mega.zik.dj',
'meinspamschutz.de',
'meltmail.com',
'messagebeamer.de',
'mezimages.net',
'ministry-of-silly-walks.de',
'mintemail.com',
'misterpinball.de',
'moncourrier.fr.nf',
'monemail.fr.nf',
'monmail.fr.nf',
'monumentmail.com',
'mt2009.com',
'mt2014.com',
'mycard.net.ua',
'mycleaninbox.net',
'mymail-in.net',
'mypacks.net',
'mypartyclip.de',
'myphantomemail.com',
'mysamp.de',
'mytempemail.com',
'mytempmail.com',
'mytrashmail.com',
'nabuma.com',
'neomailbox.com',
'nepwk.com',
'nervmich.net',
'nervtmich.net',
'netmails.com',
'netmails.net',
'neverbox.com',
'nice-4u.com',
'nincsmail.hu',
'nnh.com',
'no-spam.ws',
'noblepioneer.com',
'nomail.pw',
'nomail.xl.cx',
'nomail2me.com',
'nomorespamemails.com',
'nospam.ze.tc',
'nospam4.us',
'nospamfor.us',
'nospammail.net',
'notmailinator.com',
'nowhere.org',
'nowmymail.com',
'nurfuerspam.de',
'nus.edu.sg',
'objectmail.com',
'obobbo.com',
'odnorazovoe.ru',
'oneoffemail.com',
'onewaymail.com',
'onlatedotcom.info',
'online.ms',
'opayq.com',
'ordinaryamerican.net',
'otherinbox.com',
'ovpn.to',
'owlpic.com',
'pancakemail.com',
'pcusers.otherinbox.com',
'pjjkp.com',
'plexolan.de',
'poczta.onet.pl',
'politikerclub.de',
'poofy.org',
'pookmail.com',
'privacy.net',
'privatdemail.net',
'proxymail.eu',
'prtnx.com',
'putthisinyourspamdatabase.com',
'putthisinyourspamdatabase.com',
'qq.com',
'quickinbox.com',
'rcpt.at',
'reallymymail.com',
'realtyalerts.ca',
'recode.me',
'recursor.net',
'reliable-mail.com',
'rhyta.com',
'rmqkr.net',
'royal.net',
'rtrtr.com',
's0ny.net',
'safe-mail.net',
'safersignup.de',
'safetymail.info',
'safetypost.de',
'saynotospams.com',
'schafmail.de',
'schrott-email.de',
'secretemail.de',
'secure-mail.biz',
'senseless-entertainment.com',
'services391.com',
'sharklasers.com',
'shieldemail.com',
'shiftmail.com',
'shitmail.me',
'shitware.nl',
'shmeriously.com',
'shortmail.net',
'sibmail.com',
'sinnlos-mail.de',
'slapsfromlastnight.com',
'slaskpost.se',
'smashmail.de',
'smellfear.com',
'snakemail.com',
'sneakemail.com',
'sneakmail.de',
'snkmail.com',
'sofimail.com',
'solvemail.info',
'sogetthis.com',
'soodonims.com',
'spam4.me',
'spamail.de',
'spamarrest.com',
'spambob.net',
'spambog.ru',
'spambox.us',
'spamcannon.com',
'spamcannon.net',
'spamcon.org',
'spamcorptastic.com',
'spamcowboy.com',
'spamcowboy.net',
'spamcowboy.org',
'spamday.com',
'spamex.com',
'spamfree.eu',
'spamfree24.com',
'spamfree24.de',
'spamfree24.org',
'spamgoes.in',
'spamgourmet.com',
'spamgourmet.net',
'spamgourmet.org',
'spamherelots.com',
'spamherelots.com',
'spamhereplease.com',
'spamhereplease.com',
'spamhole.com',
'spamify.com',
'spaml.de',
'spammotel.com',
'spamobox.com',
'spamslicer.com',
'spamspot.com',
'spamthis.co.uk',
'spamtroll.net',
'speed.1s.fr',
'spoofmail.de',
'stuffmail.de',
'super-auswahl.de',
'supergreatmail.com',
'supermailer.jp',
'superrito.com',
'superstachel.de',
'suremail.info',
'talkinator.com',
'teewars.org',
'teleworm.com',
'teleworm.us',
'temp-mail.org',
'temp-mail.ru',
'tempe-mail.com',
'tempemail.co.za',
'tempemail.com',
'tempemail.net',
'tempemail.net',
'tempinbox.co.uk',
'tempinbox.com',
'tempmail.eu',
'tempmaildemo.com',
'tempmailer.com',
'tempmailer.de',
'tempomail.fr',
'temporaryemail.net',
'temporaryforwarding.com',
'temporaryinbox.com',
'temporarymailaddress.com',
'tempthe.net',
'thankyou2010.com',
'thc.st',
'thelimestones.com',
'thisisnotmyrealemail.com',
'thismail.net',
'throwawayemailaddress.com',
'tilien.com',
'tittbit.in',
'tizi.com',
'tmailinator.com',
'toomail.biz',
'topranklist.de',
'tradermail.info',
'trash-mail.at',
'trash-mail.com',
'trash-mail.de',
'trash2009.com',
'trashdevil.com',
'trashemail.de',
'trashmail.at',
'trashmail.com',
'trashmail.de',
'trashmail.me',
'trashmail.net',
'trashmail.org',
'trashymail.com',
'trialmail.de',
'trillianpro.com',
'twinmail.de',
'tyldd.com',
'uggsrock.com',
'umail.net',
'uroid.com',
'us.af',
'venompen.com',
'veryrealemail.com',
'viditag.com',
'viralplays.com',
'vpn.st',
'vsimcard.com',
'vubby.com',
'wasteland.rfc822.org',
'webemail.me',
'weg-werf-email.de',
'wegwerf-emails.de',
'wegwerfadresse.de',
'wegwerfemail.com',
'wegwerfemail.de',
'wegwerfmail.de',
'wegwerfmail.info',
'wegwerfmail.net',
'wegwerfmail.org',
'wh4f.org',
'whyspam.me',
'willhackforfood.biz',
'willselfdestruct.com',
'winemaven.info',
'wronghead.com',
'www.e4ward.com',
'www.mailinator.com',
'wwwnew.eu',
'x.ip6.li',
'xagloo.com',
'xemaps.com',
'xents.com',
'xmaily.com',
'xoxy.net',
'yep.it',
'yogamaven.com',
'yopmail.com',
'yopmail.fr',
'yopmail.net',
'yourdomain.com',
'yuurok.com',
'z1p.biz',
'za.com',
'zehnminuten.de',
'zehnminutenmail.de',
'zippymail.info',
'zoemail.net',
'zomg.info',
];

View File

@@ -1,7 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Filesystem Disk
@@ -13,20 +12,7 @@ return [
|
*/
'default' => env('FILESYSTEM_DRIVER', 'local'),
/*
|--------------------------------------------------------------------------
| Default Cloud Filesystem Disk
|--------------------------------------------------------------------------
|
| Many applications store files both locally and in the cloud. For this
| reason, you may specify a default "cloud" driver here. This driver
| will be bound as the Cloud disk implementation in the container.
|
*/
'cloud' => env('FILESYSTEM_CLOUD', 's3'),
'default' => env('FILESYSTEM_DISK', 'local'),
/*
|--------------------------------------------------------------------------
@@ -42,28 +28,39 @@ return [
*/
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
'driver' => 's3',
'key' => env('S3_ACCESS_KEY_ID'),
'secret' => env('S3_SECRET_ACCESS_KEY'),
'region' => env('S3_DEFAULT_REGION'),
'bucket' => env('S3_BUCKET'),
'endpoint' => env('S3_URL'),
'visibility' => 'private',
],
'ftp' => [
'driver' => 'ftp',
'host' => env('FTP_HOST'),
'username' => env('FTP_USERNAME'),
'password' => env('FTP_PASSWORD'),
],
'azure' => [
'driver' => 'azure',
'name' => env('AZURE_STORAGE_NAME'),
'key' => env('AZURE_STORAGE_KEY'),
'container' => env('AZURE_STORAGE_CONTAINER'),
'url' => env('AZURE_STORAGE_URL'),
'prefix' => null,
'connection_string' => env('AZURE_STORAGE_CONNECTION_STRING'), // optional, will override default endpoint builder
],
],
];

139
config/fortify.php Normal file
View File

@@ -0,0 +1,139 @@
<?php
use Laravel\Fortify\Features;
use App\Providers\RouteServiceProvider;
return [
/*
|--------------------------------------------------------------------------
| Fortify Guard
|--------------------------------------------------------------------------
|
| Here you may specify which authentication guard Fortify will use while
| authenticating users. This value should correspond with one of your
| guards that is already present in your "auth" configuration file.
|
*/
'guard' => 'web',
/*
|--------------------------------------------------------------------------
| Fortify Password Broker
|--------------------------------------------------------------------------
|
| Here you may specify which password broker Fortify can use when a user
| is resetting their password. This configured value should match one
| of your password brokers setup in your "auth" configuration file.
|
*/
'passwords' => 'users',
/*
|--------------------------------------------------------------------------
| Username / Email
|--------------------------------------------------------------------------
|
| This value defines which model attribute should be considered as your
| application's "username" field. Typically, this might be the email
| address of the users but you are free to change this value here.
|
| Out of the box, Fortify expects forgot password and reset password
| requests to have a field named 'email'. If the application uses
| another name for the field you may define it below as needed.
|
*/
'username' => 'email',
'email' => 'email',
/*
|--------------------------------------------------------------------------
| Home Path
|--------------------------------------------------------------------------
|
| Here you may configure the path where users will get redirected during
| authentication or password reset when the operations are successful
| and the user is authenticated. You are free to change this value.
|
*/
'home' => RouteServiceProvider::HOME,
/*
|--------------------------------------------------------------------------
| Fortify Routes Prefix / Subdomain
|--------------------------------------------------------------------------
|
| Here you may specify which prefix Fortify will assign to all the routes
| that it registers with the application. If necessary, you may change
| subdomain under which all of the Fortify routes will be available.
|
*/
'prefix' => '',
'domain' => null,
/*
|--------------------------------------------------------------------------
| Fortify Routes Middleware
|--------------------------------------------------------------------------
|
| Here you may specify which middleware Fortify will assign to the routes
| that it registers with the application. If necessary, you may change
| these middleware but typically this provided default is preferred.
|
*/
'middleware' => ['web'],
/*
|--------------------------------------------------------------------------
| Rate Limiting
|--------------------------------------------------------------------------
|
| By default, Fortify will throttle logins to five requests per minute for
| every email and IP address combination. However, if you would like to
| specify a custom rate limiter to call then you may specify it here.
|
*/
'limiters' => [
'login' => 'login',
'two-factor' => 'two-factor',
],
/*
|--------------------------------------------------------------------------
| Register View Routes
|--------------------------------------------------------------------------
|
| Here you may specify if the routes returning views should be disabled as
| you may not need them when building your own application. This may be
| especially true if you're writing a custom single-page application.
|
*/
'views' => true,
/*
|--------------------------------------------------------------------------
| Features
|--------------------------------------------------------------------------
|
| Some of the Fortify features are optional. You may disable the features
| by removing them from this array. You're free to only remove some of
| these features or you can even remove all of these if you need to.
|
*/
'features' => [
Features::twoFactorAuthentication([
'confirm' => true,
'confirmPassword' => true,
]),
],
];

View File

@@ -1,7 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Hash Driver
@@ -44,9 +43,8 @@ return [
*/
'argon' => [
'memory' => 1024,
'memory' => 1024,
'threads' => 2,
'time' => 2,
'time' => 2,
],
];

View File

@@ -0,0 +1,959 @@
<?php
return [
'extended' => [
'plans' => 'Plans',
'total' => 'Total',
'create_plan' => 'Create Plan',
'delete_plan' => 'Delete Plan',
'admin_page_plans.disclaimer_delete_plan' => 'You can delete this plan, but, pay attention! Your plan will be deleted, but users who are subscribed with this plan, will be still charged unless they cancel subscription.',
'description_optional' => 'Description (optional)',
'plan_description' => 'Plan description',
'type_plan_name' => 'Type plan name',
'plan_name' => 'Plan name',
'plan_price' => 'Plan price',
'admin_page_plans.form.status_help' => 'Status of your plan availability on website.',
'admin_page_plans.form.storage' => 'Storage Capacity in GB',
'admin_page_plans.form.storage_helper' => "You have to type only number e.g. value '5' means, user will have 5GB of storage capacity.",
'admin_page_plans.form.storage_plac' => 'Storage capacity',
'admin_page_plans.subscribers.empty' => 'There is no any subscriber yet.',
'subscribers' => 'Subscribers',
'settings' => 'Settings',
'billing_address' => 'Billing Address',
'admin_settings.billings.address_plac' => 'Type your billing address',
'billing_city' => 'Billing City',
'admin_settings.billings.city_plac' => 'Type your billing city',
'admin_settings.billings.company_name' => 'Company Name',
'admin_settings.billings.company_name_plac' => 'Type your company name',
'admin_settings.billings.country' => 'Billing Country',
'admin_settings.billings.country_plac' => 'Select your billing country',
'admin_settings.billings.phone_number' => 'Billing Phone Number (optional)',
'admin_settings.billings.phone_number_plac' => 'Type your billing phone number',
'admin_settings.billings.postal_code' => 'Billing Postal Code',
'admin_settings.billings.postal_code_plac' => 'Type your billing postal code',
'admin_settings.billings.section_billing' => 'Billing Information',
'admin_settings.billings.section_company' => 'Company Information',
'admin_settings.billings.state' => 'Billing State',
'admin_settings.billings.state_plac' => 'Type your billing state',
'admin_settings.billings.vat' => 'VAT Number',
'admin_settings.billings.vat_plac' => 'Type your VAT number',
'admin_settings.payments.stripe_pub_key' => 'Publishable Key',
'admin_settings.payments.stripe_pub_key_plac' => 'Paste your publishable key',
'admin_settings.payments.stripe_sec_key' => 'Secret Key',
'admin_settings.payments.stripe_sec_key_plac' => 'Paste your secret key',
'billings' => 'Billings',
'payments' => 'Payments',
'mo.' => 'Mo.',
'premium' => 'Premium',
'invoices' => 'Invoices',
'subscription' => 'Subscription',
'page_pricing_tables.storage_capacity' => 'Of Storage Capacity',
'page_pricing_tables.vat_excluded' => 'Price displayed excludes VAT.',
'popup_deleted_plan.title' => 'Plan was deleted',
'popup_subscription_cancel.message' => "You'll continue to have access to the features you've paid for until the end of your billing cycle.",
'popup_subscription_cancel.title' => 'Subscription Was Canceled',
'plan' => 'Plan',
'plan_delete' => 'Plan Delete',
'plan_settings' => 'Plan Settings',
'pricing_plans' => 'Pricing Plans',
'toaster.plan_created' => 'Your plan was successfully created!',
'toaster.credentials_set' => 'Your {service} credentials was successfully set!',
'user_invoices.empty' => "You don't have any invoices yet.",
'print_button' => 'Print Document',
'invoice' => 'Invoice',
'date' => 'Date',
'product' => 'Product',
'invoice_number' => 'Invoice Number',
'seller' => 'Seller',
'client' => 'Client',
'seller_vat' => 'VAT number',
'phone' => 'Phone',
'postal_code' => 'Postal code',
'price' => 'Price',
'charged_features' => 'Charged Features',
'team_members' => 'Team Members',
'add_max_team_members' => 'Add max team members in number',
'max_team_members_total' => 'Up to {value} Team Members',
'max_team_members.unlimited' => 'Unlimited Team Members',
'max_storage_amount' => '{value} GB Storage Size',
'monthly' => 'Monthly',
'yearly' => 'Yearly',
'month' => 'Month',
'year' => 'Year',
'bandwidth' => 'Bandwidth',
'storage' => 'Storage',
'flatFee' => 'Flat Fee',
'feature_usage_desc_flatFee' => 'Price for the service.',
'feature_usage_desc_bandwidth' => 'Data amount you transferred to/from your account.',
'feature_usage_desc_storage' => 'Total storage amount you are using.',
'feature_usage_desc_member' => 'Total members you invited to your team folders.',
'feature_usage_desc_platform' => 'Total storage amount you are using.',
'credit_to_auto_withdraw' => 'You own {credit} in credits that will be automatically withdrawn on your next payment.',
'transactions' => 'Transactions',
'not_any_transactions' => "There aren't any transactions.",
'service' => 'Service',
'payed_at' => 'Payed At',
'current_estimated_usage' => 'Your current estimated usage:',
'payment_was_successfully_received' => 'Your payment was successfully received.',
'failed_to_load_paypal' => 'Failed to load the PayPal service',
'cancel_payment' => 'Cancel Payment',
'not_any_payment_method' => "There isn't any payment method yet.",
'select_payment_method' => 'Select Payment Method',
'change_your_plan' => 'Change Your Plan',
'not_any_plan' => "There isn't any plan yet.",
'change_plan' => 'Change Plan',
'subscription_changed' => 'Your subscription was successfully changed.',
'expires' => 'Expires',
'want_to_delete_card_title' => 'Are you sure you want to delete your credit card?',
'want_to_delete_card_description' => 'We will no longer settle your payments automatically and you will have to fund your account for the next payments.',
'credit_card_deleted' => 'Your credit card was deleted.',
'billed_annually' => 'Billed Annually',
'restricted_account_warning' => 'Your functionality is restricted. Please review your billing settings.',
'subscription_type' => 'Subscription Type',
'subscription_type_note' => 'Please do not change in production environment.',
'select_subscription_type' => 'Select your subscription type',
'subscription_type_change_warn' => 'Are you sure you want to change subscription type?',
'subscription_type_change_warn_description' => 'We strongly do not recommend change this value if there is any subscribed user to prevent any failures. You can operate only with one type of subscription and you can not change it on the fly!',
'x_days_intervals' => '30 Days intervals',
'interval' => 'Interval',
'currency' => 'Currency',
'allow_pay_by_card' => 'Allow your users pay by their credit card',
'paste_webhook_secret' => 'Paste your webhook secret',
'configure_your_credentials' => 'Configure Your Credentials',
'allow_registration_bonus' => 'Allow Registration Bonus',
'allow_registration_bonus_description' => 'Credit user automatically bonus to his balance after registration.',
'registration_bonus_amount' => 'The Amount of Registration Bonus',
'registration_bonus_amount_description' => 'This bonus will be automatically added when user successfully register his account.',
'registration_bonus_amount_' => 'Type registration bonus amount...',
'metered_plan' => 'Metered Plan',
'metered_plan_description' => 'Your price set up for billing multiple features by user usage.',
'plan_details' => 'Plan Details',
'copy_webhook_note' => 'Please copy your url and paste it to the service webhook setup.',
'webhook_url' => 'Your Webhook URL',
'payment_description' => 'Payment Description',
'payment_description_note' => 'The description showed below user payment method selection.',
'additional_info_about_payment_method_' => 'Describe in short which methods user can pay with this payment method...',
'select_plan_currency' => 'Select plan currency',
'select_billing_interval' => 'Select billing interval',
'features' => 'Features',
'bandwidth_per_gb' => 'Bandwidth Price per 1GB',
'bandwidth_per_gb_note' => 'Charge your user by the amount of data he upload or download.',
'type_bandwidth_price' => 'Type the price per 1GB...',
'storage_per_gb' => 'Storage Price per 1GB',
'storage_per_gb_note' => 'Charge your user by the amount of data he has stored on the disk per 1GB.',
'type_storage_price' => 'Type the price per 1GB...',
'member_per_unit' => 'Price per 1 Member',
'member_per_unit_note' => 'Charge your user by the total members he use in his Team Folders.',
'type_member_price' => 'Type the price per 1 member...',
'flat_fee_unit_gb' => 'Flat Fee per Cycle',
'flat_fee_unit_gb_note' => 'Charge monthly flat fee.',
'type_flat_fee_price' => 'Type the price...',
'price_change_not_possible_create_new' => 'Price change is not possible. If you would like to change your price or currency, please feel free to create a new plan.',
'metered_billing_settings' => 'Metered Billing Settings',
'allow_subscription_payments' => 'Allow Subscription Payments',
'allow_subscription_payments_description' => 'User can subscribe to fixed or metered plan',
'subscription_payments' => 'Subscription Payments',
'free_plan_parameters' => '{storage}GB Free storage space with {members} Team members',
'active_until' => 'Active until {date}',
'ends_at_date' => 'Ends at {date}',
'price_per_month' => '{price} Per Month',
'price_per_year' => '{price} Per Year',
'balance_will_be_increased' => 'User balance will be increased for the amount above.',
'increase_for' => 'Increase user balance for...',
'increase_balance' => 'Increase Balance',
'balance_was_increased' => 'User balance was successfully increased',
'user_dont_have_transactions' => "User doesn't have any transactions yet.",
'billing_est.' => 'Billing Est.',
'ends_at' => 'Ends At',
'renews_at' => 'Renews At',
'create_first_plan' => 'Create First Plan',
'all_visible_subscriptions_here' => 'All your subscriptions will be visible here',
'all_visible_plans_here' => 'All your plans will be visible here',
'transaction_will_be_here' => 'All your transactions will be visible here',
'latest_transactions' => 'Latest Transactions',
'show_all_transactions' => 'Show all transactions',
'earnings' => 'Earnings',
'records_updated_daily_bases' => 'Records are updated on daily bases.',
'till_now' => 'till now',
'usage_estimates' => 'Usage Estimates',
'payment_method_update_redirect_description' => 'You will be redirected to your payment provider to edit your payment method.',
'update_payment_method' => 'Update your Payment Method',
'update_payments' => 'Update Payments',
'credit_card_stored' => 'Your credit card was stored successfully',
'store_my_credit_card' => 'Store My Credit Card',
'add_payment_method' => 'Add Payment Method',
'auto_settled_credit_card' => 'We are settling your payment automatically via your saved credit card.',
'payment_method' => 'Payment Method',
'unable_to_charge' => "We are unable to charge your usage. Please register new credit card or fund your account with sufficient amount and we'll give it another try!",
'failed_payments' => 'Failed Payments',
'upgrade_to_get_more' => 'Upgrade your account to get more.',
'free_plan' => 'Free Plan',
'want_cancel_subscription' => 'Are you sure you want to cancel subscription?',
'upgrade_downgrade_plan' => 'Upgrade or Downgrade Plan',
'upgrade_downgrade_plan_description' => 'You can upgrade your plan at any time you want.',
'cancel_now' => 'Cancel Now',
'cancel_subscription' => 'Cancel Subscription',
'cancel_subscription_description' => "You can cancel your subscription now. You'll continue to have access to the features you've paid for until the end of your billing cycle.",
'edit_your_subscription' => 'Edit your Subscription',
'want_to_delete_alert_description' => 'You will no longer receive any notifications that your billing limit has been exceeded.',
'want_to_delete_alert' => 'Are you sure you want to delete your alert?',
'alert_set_successfully' => 'Your billing alert was set successfully',
'alert_updated' => 'Your billing alert was updated successfully',
'set_alert' => 'Set Alert',
'update_alert' => 'Update Alert',
'deleted_alert' => 'Your billing alert was deleted.',
'alert_amount_' => 'Alert Amount...',
'billing_alert' => 'Billing Alert',
'billing_alert_description' => 'Alert will be triggered after you reach the value above.',
'billing_alert_notes' => 'You will receive an email whenever your monthly balance reaches the specified amount above.',
'make_payment' => 'Make a Payment',
'fund_account_balance' => 'Fund Your Account Balance...',
'amount_increase_description' => 'The amount will be increased as soon as we register your charge from payment gateway.',
'balance' => 'Balance',
'upgrade_account' => 'Upgrade Account',
'upgrade_your_account' => 'Upgrade Your Account',
'upload_temporarily_disabled' => 'Upload is temporarily disabled',
'upload_temporarily_disabled_note' => 'Please review your billing settings.',
'create_folder_temporarily_disabled' => 'Folder creation is temporarily disabled',
'create_folder_temporarily_disabled_desc' => 'Please review your billing settings.',
'download_temporarily_disabled' => 'File download is temporarily disabled',
'download_temporarily_disabled_desc' => 'Please review your billing settings.',
'billing' => 'Billing',
'usage' => 'usage',
'charge' => 'Charge',
'credit' => 'Credit',
'withdrawal' => 'Withdrawal',
'interval.year' => 'Yearly',
'interval.month' => 'Monthly',
'subscriptions' => 'Subscriptions',
'show_billing' => 'Show Billing',
'billing_alert_reached_short' => 'Billing Alert Reached!',
'billing_alert_reached_short_note' => 'The billing alert you set previously has been reached. Please revise your spending.',
'billing_alert_reached_long' => 'Your billing alert has been reached!',
'billing_alert_reached_long_note' => 'The billing alert you set previously has been reached. Please go to your user account and revise your spending',
'you_received_bonus' => 'You Received :bonus',
'you_received_bonus_note' => 'You received credit bonus :bonus from us. Happy spending!',
'you_received_registration_bonus_note' => 'You received credit bonus :bonus for your registration. Happy spending!',
'withdrawal_failed_short' => 'Withdrawal Failed',
'withdrawal_failed_short_note' => "Your credit withdrawal for your account didn't go through. Please make sure you have sufficient funds on your account.",
'withdrawal_failed_long' => 'Uh-oh! Your credit withdrawal for your pre-paid subscription failed',
'withdrawal_failed_long_note' => "It looks like your subscription credit withdrawal for your account didn't go through. Please make sure you have sufficient funds on your account and we'll give it another try!",
'fund_your_account' => 'Fund Your Account',
'subscription_created_short' => 'Subscription Has Been Created',
'subscription_created_short_note' => 'Your subscription :plan has been successfully created',
'subscription_created_long' => 'Your subscription :plan has been successfully created',
'subscription_created_long_note' => 'You have been successfully subscribed to your :plan subscription. Now you can take full advantage of our platform.',
'go_to_subscription' => 'Go to Subscription',
'charge_from_card_failed_subject' => 'Uh-oh! Your withdrawal from your credit card for pre-paid subscription failed',
'charge_from_card_failed_line' => "It looks like withdrawal from your credit card for pre-paid subscription for your account didn't go through. Please check your credit card or register new credit card for your account and we'll give it another try!",
'charge_from_card_failed_action' => 'Go to Billing Settings',
'charge_from_card_failed_again_subject' => 'Uh-oh! Your withdrawal from your credit card for pre-paid subscription failed once again',
'charge_from_card_failed_again_line' => "It looks like withdrawal from your credit card for pre-paid subscription for your account didn't go through once again. Please check your credit card or register new credit card for your account and we'll give it another try!",
'charge_from_card_failed_again_action' => 'Update Your Payment Information',
'confirm_payment' => 'Confirm Payment',
'confirm_payment_greeting' => 'Confirm your :amount payment',
'confirm_payment_line' => 'Extra confirmation is needed to process your payment. Please continue to the payment page by clicking on the button below.',
'confirm_payment_action' => 'Confirm Payment',
'registration_bonus' => 'Registration Bonus',
'number' => 'Number',
'head_office' => 'Head Office',
'vat_id' => 'VAT ID',
'date_of_issue' => 'Date of issue',
'period' => 'Period',
'Description' => 'description',
'description' => 'description',
'generated_by' => 'Generated by',
'synchronize_plans' => 'Synchronize Plans',
'synchronizing_plans' => 'Synchronizing Plans...',
'plans_are_synchronizing' => 'Your plans are synchronizing with the payment gateways',
'plans_was_synchronized' => 'Plans was successfully synchronized',
],
'regular' => [
'type' => 'Type',
'cancel' => 'Cancel',
'close' => 'Close',
'create_folder' => 'Create folder',
'delete' => 'Delete',
'download_item' => 'Download item',
'info_panel' => 'Info panel',
'move' => 'Move',
'print' => 'Print item',
'share_item' => 'Share item',
'sorting_view' => 'Sorting and View',
'upload_files' => 'Upload Files',
'dashboard' => 'Dashboard',
'pages' => 'Pages',
'settings' => 'Settings',
'users' => 'Users',
'license' => 'License',
'version' => 'Version',
'show_all_users' => 'Show All Users',
'change_capacity' => 'Change Capacity',
'avatar' => 'Avatar',
'account_details' => 'Account Details',
'admin_page_user.create_user.label_email' => 'Type E-mail',
'admin_page_user.create_user.label_name' => 'Type full name',
'admin_page_user.create_user.submit' => 'Create User',
'admin_page_user.delete_user' => 'Delete User',
'admin_page_user.label_change_capacity' => 'Type storage capacity in GB',
'admin_page_user.label_delete_user' => 'Type with Case Sensitive user name {user}',
'admin_page_user.label_person_info' => 'Personal Information',
'admin_page_user.placeholder_delete_user' => 'Type here',
'admin_page_user.save_role' => 'Save Role',
'admin_page_user.select_role' => 'Select user role',
'admin_page_user.send_password_link' => 'Send Password Reset Link',
'action' => 'Action',
'user' => 'User',
'role' => 'Role',
'storage_used' => 'Storage Used',
'detail' => 'Detail',
'password' => 'Password',
'content' => 'Content',
'admin_pages.form.content_plac' => 'Type your content here...',
'slug' => 'Slug',
'title' => 'Title',
'admin_pages.form.title_plac' => 'Title name',
'visibility' => 'Visibility',
'admin_pages.form.visibility_help' => 'Status of your page visibility on website.',
'page' => 'Page',
'status' => 'Status',
'admin_settings.appearance.description' => 'App Description',
'admin_settings.appearance.description_plac' => 'Type your app description',
'admin_settings.appearance.favicon' => 'App Favicon (optional)',
'admin_settings.appearance.logo' => 'App Logo (optional)',
'app_logo_dark_mode' => 'App Logo Dark Mode (optional)',
'app_logo_horizontal_dark_mode' => 'App Logo Horizontal Dark Mode (optional)',
'admin_settings.appearance.logo_horizontal' => 'App Logo Horizontal (optional)',
'admin_settings.appearance.section_general' => 'General Settings',
'admin_settings.appearance.title' => 'App Title',
'admin_settings.appearance.title_plac' => 'Type your app title',
'admin_settings.email.driver' => 'Mail Driver',
'admin_settings.email.email_disclaimer' => "This form is not fully pre-filled for security reasons. Your email settings is available in your <b class='text-theme dark-text-theme'>.env</b> file. For apply new Email settings, please confirm your options by button at the end of formular.",
'admin_settings.email.encryption' => 'Mail Encryption',
'admin_settings.email.host' => 'Mail Host',
'admin_settings.email.password' => 'Mail Password',
'admin_settings.email.password_plac' => 'Type your mail password',
'admin_settings.email.port' => 'Mail Port',
'admin_settings.email.save_button' => 'Save Email Settings',
'admin_settings.others.allow_registration' => 'Allow User Registration',
'admin_settings.others.allow_registration_help' => 'You can disable public registration for new users. You will still able to create new users in administration panel.',
'admin_settings.others.allow_user_verification' => 'Allow User Email Verification',
'clear_cache' => 'Clear Cache',
'admin_settings.others.contact_email' => 'Contact Email',
'admin_settings.others.contact_email_plac' => 'Type your contact email',
'admin_settings.others.default_storage' => 'Default Storage Space for User Accounts (in GB)',
'admin_settings.others.default_storage_plac' => 'Set default storage space in GB',
'admin_settings.others.google_analytics' => 'Google Analytics Code (optional)',
'admin_settings.others.google_analytics_plac' => 'Paste your Google Analytics Code',
'admin_settings.others.mimetypes_blacklist' => 'Mimetypes Blacklist',
'admin_settings.others.mimetypes_blacklist_help' => "If you want to prevent upload some type of files, just add them to blacklist like this: x-php,mp3,jpeg Use a comma between each mimetype. Don't use a dot before mimetypes.",
'admin_settings.others.mimetypes_blacklist_plac' => 'Add mimetypes to Blacklist',
'admin_settings.others.storage_limit' => 'Storage Limitation',
'admin_settings.others.storage_limit_help' => "If this value is off, all users will have infinity storage capacity and you won't be able to charge your users for storage plan.",
'admin_settings.others.upload_limit' => 'Upload Limit (in MB)',
'admin_settings.others.upload_limit_help' => 'If you want to set max file size limit on single upload, add size of your limit in MB. E.g. 100 means 100 MB and 2 000 means 2 000 MB limit.',
'admin_settings.others.upload_limit_plac' => 'Type your upload limit in MB',
'appearance' => 'Appearance',
'admin_settings.tabs.others' => 'Application',
'alerts.error_confirm' => 'Thats horrible!',
'alerts.leave_to_sign_in' => 'Do you really want to leave?',
'alerts.success_confirm' => 'Awesome!',
'add_to_favourites' => 'Add to Favourites',
'download' => 'Download',
'copy' => 'Copy',
'empty_trash' => 'Flush',
'remove_favourite' => 'Remove Favourite',
'rename' => 'Rename',
'restore' => 'Restore',
'select' => 'Select',
'share' => 'Share',
'cancel_sharing' => 'Cancel Sharing',
'edit_sharing' => 'Edit Sharing',
'upload' => 'Upload',
'cookie_disclaimer.button' => 'cookies policy',
'cookie_disclaimer.description' => 'By browsing this website you are agreeing to our {0}',
'datatable.paginate_info' => 'Showing 1 - {visible} from {total} records',
'empty_page.call_to_action' => 'Upload Files',
'empty_page.description' => 'Upload some files here easily via upload button.',
'empty_page.title' => 'Upload Your First File',
'errors.capacity_digit' => 'The storage capacity must be lower than 10 digit number.',
'created_at' => 'Created at',
'items' => 'Items',
'space' => 'space',
'selected_multiple' => 'Selected Multiple Items',
'shared' => 'Shared',
'size' => 'Size',
'where' => 'Where',
'aperature' => 'F Number',
'aperture_value' => 'Aperture Value',
'author' => 'Author',
'camera_lens' => 'Camera Lens',
'color_space' => 'Color Space',
'dimension' => 'Dimensions',
'exposure' => 'Exposure Time',
'focal' => 'Focal Length',
'iso' => 'ISO',
'latitude' => 'Latitude',
'longitude' => 'Longitude',
'make' => 'Camera',
'meta_data' => 'Metadata',
'model' => 'Model',
'resolution' => 'Resolution',
'time_data' => 'Content Created',
'empty' => 'Empty',
'folder.item_counts' => '{count} Item | {count} Items',
'admin' => 'Admin',
'yes_iam_sure' => "Yes, I'm sure",
'free' => 'Free',
'get_it' => 'Get It',
'input_image.supported' => 'Supported formats are .png, .jpg, .jpeg.',
'input_image.title' => 'Upload Image',
'search_anything' => 'Search anything...',
'item_thumbnail.deleted_at' => 'Deleted {time}',
'locations.home' => 'Files',
'logout' => 'Log Out',
'locations.profile' => 'Profile',
'locations.settings' => 'Settings',
'locations.trash' => 'Trash',
'administration' => 'Administration',
'menu.files' => 'Files',
'menu.latest' => 'Recent Uploads',
'menu.password' => 'Security & API',
'menu.profile' => 'Profile Settings',
'menu.shared' => 'Shared Files',
'storage' => 'Storage',
'trash' => 'Trash',
'nothing_to_preview' => 'There is nothing to preview.',
'messages.nothing_was_found' => 'Nothing was found.',
'deselect_all' => 'Deselect All',
'done' => 'Done',
'select_all' => 'Select All',
'page_contact_us.description' => 'Do you have any questions? Get in touch with us.',
'page_contact_us.error_message' => 'Something went wrong, please try it again.',
'page_contact_us.form.email_plac' => 'Type your email',
'message' => 'Message',
'page_contact_us.form.message_plac' => 'Type your message here...',
'send_message' => 'Send Message',
'page_contact_us.success_message' => 'Your message was send successfully.',
'update_password' => 'Update Password',
'confirm_password' => 'Confirm password',
'email' => 'Email',
'new_password' => 'New password',
'page_create_password.subtitle' => 'Create your new password here',
'page_create_password.title' => 'Only One Step to Log In',
'get_link' => 'Get Link',
'sign_in' => 'Sign In',
'page_forgotten_password.pass_reseted_subtitle' => 'Your password was reset successfully.',
'page_forgotten_password.pass_reseted_title' => 'Awesome!',
'page_forgotten_password.pass_sennded_subtitle' => 'We have e-mailed your password reset link!',
'page_forgotten_password.pass_sennded_title' => 'Thank you!',
'page_forgotten_password.password_remember_text' => 'Remember your password?',
'page_forgotten_password.subtitle' => 'Get reset link with your email',
'page_forgotten_password.title' => 'Forgotten Password?',
'sign_up_now' => 'Sign Up Now',
'contact_us' => 'Contact Us',
'pricing' => 'Pricing',
'page_index.menu.sign_in' => 'Sign Up',
'page_index.sign_feature_1' => 'No credit card required',
'page_index.sign_feature_2' => '{defaultSpace} Free storage space',
'page_index.sign_up_button' => 'Sign Up Now',
'next_step' => 'Next Step',
'page_login.placeholder_email' => 'Type your E-mail',
'page_login.registration_button' => 'Register account.',
'page_login.registration_text' => 'Dont have an account?',
'page_login.subtitle' => 'Please type your email to log in',
'welcome_back' => 'Welcome Back!',
'page_registration.agreement' => "By clicking on 'Create Account' button I agree to the {0} and {1}.",
'create_account' => 'Create Account',
'page_registration.have_an_account' => 'Do you have an account?',
'full_name' => 'Full Name',
'page_registration.label_pass' => 'Create password',
'page_registration.placeholder_confirm_pass' => 'Confirm your new password',
'page_registration.placeholder_email' => 'Type your E-mail',
'page_registration.placeholder_name' => 'Type your full name',
'page_registration.subtitle' => 'Please fill registration to create account',
'page_registration.title' => 'Create New Account',
'page_shared.download_file' => 'Download File',
'page_shared.placeholder_pass' => 'Type password',
'submit' => 'Submit',
'page_shared.subtitle' => 'Please type the password to get shared content',
'page_shared.title' => 'Your Share Link is Protected',
'page_shared_404.subtitle' => 'The content you are finding was probably deleted.',
'page_shared_404.title' => 'Not Found :(',
'log_in' => 'Log In',
'page_sign_in.password_reset_button' => 'Reset Password.',
'page_sign_in.password_reset_text' => 'Forgotten your password?',
'page_sign_in.placeholder_password' => 'Type your password',
'page_sign_in.subtitle' => 'Confirm you by your password',
'page_sign_in.title' => 'Are You {name}?',
'page_sign_in_2fa_title' => 'Welcome {name}',
'page_sign_in_2fa_subtitle' => 'Confirm you by 2FA code from your Authenticator app',
'page_sign_in.placeholder_2fa' => 'Type your 2FA code...',
'page_sign_in.2fa_recovery_text' => "Can't get your 2FA code?",
'page_sign_in.2fa_recovery_button' => 'Use recovery code.',
'page_sign_in.2fa_recovery_subtitle' => 'Use your recovery code',
'page_sign_in.placeholder_2fa_recovery' => 'Type your recovery code',
'page_not_verified.subtitle' => 'Your account is not verified. Before login, verify your account please.',
'page_not_verified.resend_text' => 'Do you want resend verification email?',
'page_not_verified.resend_button' => 'Resend verification email.',
'page_email_successfully_verified.title' => 'Your account was successfully verified!',
'page_email_successfully_verified.subtitle' => 'Now you can log in.',
'page_email_successfully_send.title' => 'Verification email was successfully send!',
'page_email_successfully_send.subtitle' => 'Check your email address where the email was send.',
'popup_create_folder.folder_default_name' => 'New Folder',
'popup_create_folder.label' => 'Type Name',
'popup_create_folder.placeholder' => 'Type your name',
'popup_create_folder.title' => 'Create Folder',
'popup_deleted_user.message' => 'Your user was deleted with all user data content.',
'popup_deleted_user.title' => 'User was deleted',
'popup_deleted_user_aborted.message' => "You can't delete this account while user have active subscription.",
'popup_deleted_user_aborted.title' => "User wasn't deleted",
'popup_error.message' => "Something went wrong and we can't continue. Please contact us.",
'popup_error.title' => 'Whooops, something went wrong!',
'popup_exceed_limit.message' => 'Please upgrade your account to change your limit.',
'popup_exceed_limit.title' => 'You exceed storage limit',
'popup_mimetypes_blacklist.message' => 'File of this type ({mimetype}) is not allowed to upload.',
'popup_mimetypes_blacklist.title' => 'You are trying to upload unsupported file type',
'popup_move_item.submit' => 'Move Item',
'popup_move_item.title' => 'Move Item',
'popup_pass_changed.message' => 'So now, you have awesome new password.',
'popup_pass_changed.title' => 'Your password was changed!',
'popup_paylod_error.message' => "Sorry, your file is too large and can't be uploaded",
'popup_paylod_error.title' => 'File is too large',
'popup_rename.select_emoji_label' => 'Pick Your Emoji Icon',
'popup_rename.label' => 'Edit Name',
'popup_rename.placeholder' => 'Type your title',
'popup_rename.title' => 'Rename Your {item}',
'popup_share_create.title' => 'Share Your {item}',
'popup_share_edit.change_pass' => 'Change Password',
'popup_share_edit.confirm' => 'Confirm',
'popup_share_edit.save' => 'Save Changes',
'popup_share_edit.stop' => 'Cancel Sharing',
'popup_share_edit.title' => 'Update sharing options',
'popup_signup_error.message' => 'Please check your database connection if everything works correctly.',
'popup_signup_error.title' => 'Server Error',
'popup_upload_limit.message' => 'Size of your uploaded file exceed the upload limit ({uploadLimit}).',
'popup_upload_limit.title' => 'You exceed upload limit on single file',
'preview_sorting.grid_view' => 'Grid View',
'preview_sorting.list_view' => 'List View',
'preview_sorting.preview_sorting_button' => 'View',
'preview_sorting.sort_alphabet' => 'Sort By Aplhabet',
'preview_sorting.sort_date' => 'Sort By Date',
'profile.store_pass' => 'Store New Password',
'pronouns.of' => 'of',
'roles.admin' => 'Admin',
'roles.user' => 'User',
'others' => 'Others',
'edit_page' => 'Edit Page',
'my_profile' => 'My Profile',
'change_password' => 'Security & API',
'create_user' => 'Create User',
'delete_user' => 'Delete User',
'routes_title.users_list' => 'User Management',
'routes_title.users_password' => 'Password',
'routes_title.users_storage_usage' => 'Storage Usage',
'routes_title.users_user' => 'User',
'can_download_file' => 'Can download file',
'shared.editor' => 'Can edit and upload files',
'shared.empty_shared' => 'Nothing Shared Yet',
'shared.empty_shared_desc' => 'All items you share will be visible here.',
'shared.visitor' => 'Can only view and download',
'awesome_iam_done' => 'Awesome, Im done!',
'generate_link' => 'Generate Link',
'shared_form.email_placeholder' => 'Type your emails',
'shared_form.expiration_day' => '{value}d.',
'shared_form.expiration_hour' => '{value}h.',
'password_protected' => 'Password Protected',
'permission' => 'Permission',
'shared_form.label_send_to_recipients' => 'Send to Recipients',
'get_your_link' => 'Get your link',
'shared_form.placeholder_permission' => 'Select your permission',
'recipients' => 'Recipients',
'favourites' => 'Favourites',
'sidebar.favourites_empty' => 'Drag here your favourite folder.',
'sidebar.home' => 'My Files',
'sidebar.latest' => 'Recent Uploads',
'sidebar.locations_title' => 'Base',
'publicly_shared' => 'Publicly Shared',
'navigator' => 'Navigator',
'toaster.changed_capacity' => "You successfully changed user's storage size!",
'toaster.changed_user' => "You successfully changed user's role!",
'toaster.created_user' => 'User was created successfully!',
'toaster.email_set' => 'Your email settings was updated successfully',
'toaster.sended_password' => 'You successfully send user email for reset password!',
'file' => 'File',
'folder' => 'Folder',
'uploading.cancel' => 'Cancel Uploading',
'uploading.processing_file' => 'Processing File...',
'uploading.progress' => 'Uploading File {progress}% - {current}/{total}',
'user_box_delete.description' => 'You can delete your user, but, pay attention! This event is irreversible and all user data include user files will be deleted.',
'user_box_delete.title' => 'Delete User',
'user_box_password.description' => 'You can send password reset email via button bellow. User will be redirected to page where he can update password for his account.',
'user_box_password.title' => 'Change User Password',
'user_box_role.description' => 'You can change role for current user. Admin role can edit or create new users, change storage capacity and any other application settings.',
'user_box_role.title' => 'Change User Role',
'user_box_storage.description' => "Change user storage capacity by input above. You have to type only number e.g. value '5' means, user will have 5GB of storage capacity.",
'user_box_storage.title' => 'Change User Storage Capacity',
'user_password.title' => 'Change Your Password',
'address' => 'Address',
'user_settings.address_plac' => 'Type your billing address',
'city' => 'City',
'user_settings.city_plac' => 'Type your billing city',
'country' => 'Country',
'user_settings.country_plac' => 'Select your billing country',
'name' => 'Name',
'user_settings.name_plac' => 'Type your billing name',
'phone_number' => 'Phone Number',
'user_settings.phone_number_plac' => 'Type your billing phone number',
'postal_code' => 'Postal Code',
'postal_code_plac' => 'Type your postal code',
'state' => 'State',
'user_settings.state_plac' => 'Type your billing state',
'timezone' => 'Timezone',
'select_your_timezone' => 'Select your timezone',
'account_information' => 'Account Information',
'billing_information' => 'Billing Information',
'validation_errors.incorrect_2fa_code' => 'Sorry, you passed incorrect or expired code',
'validation_errors.incorrect_2fa_recovery_code' => 'Sorry, you passed incorrect recovery code',
'validation_errors.incorrect_password' => 'Sorry, you passed incorrect password :(',
'wrong_image_error' => 'You may have uploaded the wrong file, try again!',
'app_description' => 'Your self-hosted storage cloud software powered by Laravel and Vue',
'user_not_fount' => 'We can\'t find a user with that e-mail address.',
'incorrect_password' => 'Sorry, your password is incorrect.',
'time' => 'd. M. Y, h:i',
'home' => 'Home',
'shared_link_email_subject' => '🙋 :user share some files with you. Look at it!',
'shared_link_email_user' => ':user (:email) send you a link to shared files.',
'shared_link_email_link' => 'Open your files',
'shared_link_email_salutation' => 'Regards, :app_name',
'hello' => 'Hello!',
'reset_password_subject' => 'Reset password for your account on ',
'reset_password_line_1' => 'You are receiving this email because we received a password reset request for your account.',
'reset_password_line_2' => 'If you did not request a password reset, no further action is required.',
'reset_password' => 'Reset Password',
'salutation' => 'Regards',
'user_sending' => ':name is sending you this file',
'protected_file' => 'This link is protected by password',
'languages' => 'Languages',
'add_language' => 'Add Language',
'create_language' => 'Create Language',
'edit_translations' => 'Edit Translations',
'language_name' => 'Language Name',
'set_as_default_language' => 'Set as Default Language',
'language_settings' => 'Language Settings',
'search_translations' => 'Search Language Translations...',
'select_locale' => 'Select Locale',
'locale_name' => 'Language Name',
'select_language_locale' => 'Select Language Locale',
'type_language_name' => 'Type Language Name',
'go_to_files' => 'Go to Files',
'color_theme' => 'Color Theme',
'color_theme_description' => 'Your color change will be visible after app refresh.',
'og_image' => 'OG Image',
'og_image_description' => 'Image that appear when someone shares the content to Facebook or any other social medium. Preferred size is 1200x627',
'app_touch_icon' => 'App Touch Icon',
'app_touch_icon_description' => 'If user store bookmark on his phone screen, this icon appear in app thumbnail. Preferred size is 156x156',
'search_in_list' => 'Search in list...',
'2fa.settings.title' => 'Two Factor Authentication',
'2fa.i_have_2fa_app' => 'I have already 2FA app',
'confirm_your_password' => 'Confirm Your Password',
'popup_2fa.help' => 'Scan the image above with the <b class="text-theme dark-text-theme">two-factor authentication app</b> on your phone.',
'confirm' => 'Confirm',
'popup_2fa.toaster_enabled' => 'Your 2FA was enabled successfully!',
'popup_2fa.toaster_disabled' => 'Your 2FA was disabled!',
'popup_2fa.switch_title' => 'Enable / Disable Two Factor Authentication',
'popup_2fa.switch_info' => 'Here you can improve your account security by turn on 2fa verification.',
'show_recovery_codes' => 'Show Recovery Codes',
'popup_2fa.codes_info' => 'Recovery codes can be used to access your account in the event you lose access to your device and cannot receive two-factor authentication codes.',
'show_codes' => 'Show Codes',
'your_security_codes' => 'Your Security Codes',
'popup_2fa.popup_codes_disclaimer' => '<b class="text-theme dark-text-theme">Put these in a safe spot.</b> If you lose your device and dont have the recovery codes you will lose access to your account.',
'regenerate_codes' => 'Regenerate Codes',
'popup_2fa.toaster_codes_copied' => 'Your codes was copied!',
'popup_2fa.toaster_codes_regenerated' => 'Your codes was regenerated!',
'go_home' => 'Go to the homepage',
'never' => 'Never',
'last_used' => 'Last Used',
'personal_access_token' => 'Personal Access Token',
'personal_token.section_description' => "You don't have any created personal access tokens yet.",
'create_token' => 'Create Token',
'create_personal_token' => 'Create Personal Token',
'token_name' => 'Token Name',
'popup_personal_token.plc' => 'Type token name...',
'popup_personal_token.your_token' => 'Your Personal Access Token',
'popup_personal_token.copy_token' => "Make sure to <b class='text-theme dark-text-theme'>copy your personal access token now</b>. You wont be able to see it again!",
'popup_delete_personal_token.title' => 'Are you sure you want to delete this token?',
'popup_delete_personal_token.description' => 'Any applications or scripts using this token will no longer be able to access into your account. You cannot undo this action.',
'personal_token.token_deleted' => 'Token was successfully deleted!',
'dark_mode_toggle' => 'Toggle Dark Mode',
'convert_into_team_folder' => 'Convert into Team Folder',
'create_something' => 'Create Something',
'popup.share.email_send' => 'Send link by Email',
'popup.share.email_description' => 'Send your share link via email to many recipients.',
'expiration' => 'Expiration',
'popup.share.expiration_description' => 'Your link expire after exact period of time.',
'popup.share.password_description' => 'Protect your item by your custom password.',
'sharelink.share_via_email' => 'Share Link on Emails',
'sharelink.copy_embed' => 'Copy Web Insert Code',
'popup.move_into_team_disclaimer' => 'Your folder <b class="text-theme dark-text-theme">will be moved</b> into Team Folders section.',
'upload_folder' => 'Upload Folder',
'member' => 'Members',
'request_for_upload' => '{name} is Asking You For Files',
'upload_request' => 'Upload Request',
'request_for_upload_success' => 'Upload Request for {name} was Fulfilled Successfully',
'request_for_upload_expired' => 'Upload Request Expired',
'automatically_uploads_for_file_request' => 'Your files will be uploaded automatically and after that, you can organize your files in folders.',
'request_for_upload_unavailable' => 'This upload request is no longer available for uploading files.',
'closing_request_for_upload' => 'Are you sure you uploaded all files you want for {name}?',
'closing_request_for_upload_warn' => "You won't be able to upload any files here once again.",
'user_leave_message' => '{name} leave you a message',
'tell_you_are_done' => 'Tell {name} you are done!',
'user_invite_you_into_team_folder' => '{name} invite you to join with his team into shared team folder',
'register_with_email_and_get_folder' => 'Register account with your email {email} and get access to this Team Folder.',
'invite_to_join_team_folder' => 'Invitation To Join Team Folder',
'or_decline_your_invitation' => 'Or {0} your invitation.',
'decline' => 'Decline',
'you_are_successfully_joined' => 'You are successfully joined',
'proceed_to_participate_with_team' => 'You can now proceed to your account and participate in team folder',
'proceed_to_your_account' => 'Proceed to your account',
'go_to_team_folder' => 'Go to Team Folder',
'you_denied_invitation' => 'You are successfully denied invitation',
'invitation_used' => 'Your invitation has been used',
'invitation_used_description' => 'We are sorry but this invitation was used previously',
'go_to_your_shared_folders' => 'Go to your shared folders',
'accept_invitation' => 'Accept Invitation',
'accept_and_register' => 'Accept and Register Account',
'application' => 'Application',
'account_settings' => 'Account Settings',
'first_name' => 'First Name',
'last_name' => 'Last Name',
'gmt' => 'GMT',
'theme_mode' => 'Theme Mode',
'set_default_theme_disclaimer' => 'Set your theme mode on dark, light or based on your system settings.',
'default_emojis' => 'Default Emojis',
'set_default_emoji_disclaimer' => 'Set your default emojis for your folder custom icons. You can set Twemoji or default Apple emojis.',
'light_mode' => 'Light mode',
'dark_mode' => 'Dark mode',
'based_on_system' => 'Based on system settings',
'storage_usage' => 'Storage Usage',
'total_of' => 'Total of {capacity}',
'used' => 'Used',
'in_last_x_days' => 'In last 45 days',
'edit_members' => 'Edit Members',
'dissolve_team' => 'Dissolve Team',
'edit_team_members' => 'Edit Team Members',
'file_request' => 'File Request',
'create_team_folder_description' => 'Collaborate on your files with your team easily by creating new team folder.',
'create_team_folder' => 'Create Team Folder',
'spotlight' => 'Spotlight',
'your_trash_is_empty' => 'Your Trash is Empty',
'your_trash_is_empty_desc' => 'After you delete the files, you can restore them from trash.',
'create' => 'Create',
'upload_or_create' => 'Upload / Create',
'base' => 'Base',
'not_any_folder' => "There isn't any folder.",
'collaboration' => 'Collaboration',
'team_folders' => 'Team Folders',
'shared_with_me' => 'Shared with Me',
'broadcasting' => 'Broadcasting',
'view' => 'View',
'sorting' => 'Sorting',
'accept' => 'Accept',
'you_accepted_invitation' => 'You successfully accepted invitation',
'you_decline_invitation' => 'You successfully decline invitation',
'notification_center' => 'Notification Center',
'clear_all' => 'Clear all',
'not_any_notifications' => "There aren't any notifications.",
'unread' => 'Unread',
'read' => 'Read',
'notifications' => 'Notifications',
'options' => 'Options',
'loading_content' => 'loading content...',
'note' => 'Note',
'user_was_deleted' => 'User was deleted',
'max_storage' => 'Max Storage',
'create_file_request' => 'Create File Request',
'convert_as_team_folder' => 'Convert as Team Folder',
'leave_team_folder' => 'Leave the Team Folder',
'nothing_shared_with_you' => 'Nothing Shared With You',
'nothing_shared_with_you_description' => 'All items that are shared with you will be visible here.',
'you_left_team_folder' => 'You have successfully left the team folder',
'there_is_nothing' => 'There is Nothing',
'frequently_used' => 'Frequently Used',
'there_is_nothing_smile' => 'There is nothing :(',
'cache' => 'Cache',
'cache_note' => 'Did you change anything in your .env file? Then clear your cache.',
'there_is_not_log' => 'There is not any server log.',
'there_is_not_database_backup' => 'There is not any database backup stored.',
'backup_path' => 'You can find your backups in <b>/storage/app/app-backups</b>.',
'update_your_credentials' => 'Update Your Credentials',
'search_your_users' => 'Search through your users...',
'files_and_folders' => 'Files & Folders',
'actions' => 'Actions',
'suggested_filters' => 'Suggested Filters',
'go' => 'Go',
'navigate' => 'Navigate',
'web_code_copied' => 'Your web insert code was copied',
'share_with_multiple_emails' => 'Share on multiple emails',
'get_qr_code' => 'Get your QR code',
'store_changes' => 'Store Changes',
'send' => 'Send',
'show_details' => 'Show Details',
'select_or_search_emoji' => 'Select or search emoji icon...',
'create_request' => 'Create Request',
'copy_upload_request_link' => 'Copy your upload request link',
'type_email_' => 'Type email...',
'send_request_by_email' => 'Send Request by Email',
'send_request_by_email_description' => 'Send your file request on recipients email',
'message_for_recipient' => 'Type message for recipient...',
'message_optional' => 'Message (optional)',
'message_optional_description' => 'This message will be showed for your email recipient or in the upload page.',
'folder_name_optional' => 'Folder Name (optional)',
'folder_name_optional_description' => 'Created folder with files will be named with your own name.',
'type_name_' => 'Type name...',
'replace_icon_with_emoji' => 'Replace folder icon with an Emoji',
'emoji_as_an_icon' => 'Emoji as an Icon',
'current_password' => 'Current Password',
'delete_account' => 'Delete Account',
'details' => 'Details',
'store_credentials' => 'Store Credentials',
'default_language_disclaimer' => 'If this language is set as default, app will appear in this language for all users.',
'reset_user_password' => 'Reset User Password',
'server' => 'Server',
'environment' => 'Environment',
'homepage' => 'Homepage',
'allow_homepage' => 'Allow Homepage',
'allow_homepage_note' => 'When this is turned on, your visitors can visit your default homepage.',
'storage_upload' => 'Storage & Upload',
'allow_recaptcha' => 'Allow ReCaptcha v3',
'allow_recaptcha_note' => 'ReCaptcha will be allowed on Registration and Contact Us forms.',
'login_and_registration' => 'Login & Registration',
'account' => 'Account',
'search' => 'Search',
'latest_registrations' => 'Latest Registrations',
'total_storage' => 'Total Storage',
'total_users' => 'Total Users',
'temporary_unavailable' => 'Temporary Unavailable',
'shared_link_temporary_unavailable' => 'Unfortunately, this shared link is temporary unavailable. Please try it later.',
'not_selected' => 'Not selected',
'waiting_for_accept_invitation' => 'Waiting for accept invitation...',
'team_folder_updated' => 'Your team folder was updated',
'update_team_folder' => 'Update Team Folder',
'edit_team_folder' => 'Edit Team Folder',
'upgrade_to_invite_members' => 'You have to upgrade your account to add this new member.',
'type_valid_email' => 'You have to type valid email',
'team_was_invited' => 'Your Team was invited successfully.',
'team_was_invited_and_folder_moved' => 'Your Team was invited and folder was moved into Team Folders section.',
'move_and_invite_members' => 'Move & Invite Members',
'add_at_least_one_member' => 'Please add at least one member.',
'add_at_least_one_member_into_team_folder' => 'Please add at least one member into your Team Folders.',
'your_members' => 'Your Members',
'type_member_email_' => 'Type member email...',
'add_member' => 'Add Member',
'go_to_dashboard' => 'Go To Dashboard',
'go_to_settings' => 'Go To Settings',
'go_to_payments' => 'Payments / Settings',
'go_to_pages' => 'Go To Pages',
'go_to_languages' => 'Go To Languages',
'show_all_plans' => 'Show all Plans',
'show_transactions' => 'Show Transactions',
'go_home_spotlight' => 'Go Home',
'go_to_recent_uploads' => 'Go To Recent Uploads',
'go_to_publicly_shared' => 'Go To Publicly Shared',
'go_to_trash' => 'Go To Trash',
'go_to_team_folders' => 'Go To Team Folders',
'go_to_shared_with_me' => 'Go To Shared with Me',
'update_profile_settings' => 'Update Profile Settings',
'update_security_api' => 'Update Security & API',
'show_storage_details' => 'Show Storage Details',
'empty_your_trash' => 'Empty Your Trash',
'toggle_grid_list_view' => 'Toggle Grid/List View',
'toggle_dark_light_mode' => 'Toggle Dark/Light Mode',
'toggle_full_screen_mode' => 'Toggle Full-Screen Mode',
'toggle_emoji_type' => 'Toggle Emoji Type',
'show_all_subscriptions' => 'Show all Subscriptions',
'write_feedback' => 'Write a Feedback',
'branding' => 'Branding',
'save_broadcast_settings' => 'Save Broadcast Settings',
'save_storage_settings' => 'Save Storage Settings',
'storage_driver' => 'Storage Driver',
'mail_driver' => 'Mail Driver',
'select_mail_driver' => 'Select your mail driver',
'broadcast_driver_updated' => 'Your broadcast driver was updated.',
'storage_driver_updated' => 'Your storage driver was updated.',
'spotlight_search' => 'Spotlight search...',
'add' => 'Add',
'can_edit' => 'Can Edit',
'can_view' => 'Can View',
'exceed_upload_limit' => 'You exceeded your upload limit',
'exceed_upload_limit_description' => 'Unfortunately, you can not upload your file.',
'really_dissolve_team' => 'Are you sure you want to dissolve this team?',
'really_dissolve_team_desc' => 'All team members will lose access to your files and existing folder will be moved into your "Files" section.',
'really_leave_team' => 'Are you sure you want to leave this team folder?',
'really_leave_team_desc' => "You will don't have access to the files and all your previously uploaded content will be part of this Team Folder you are leaving.",
'images' => 'Images',
'videos' => 'Videos',
'audios' => 'Audios',
'documents' => 'Documents',
'paginator' => 'Showing {from} - {to} from {total} records',
'require_email_verification' => 'Require Verify Email Address',
'require_email_verification_note' => 'Turn on, if you want verify user email address after registration.',
'completed' => 'Completed',
'error' => 'Error',
'cancelled' => 'Cancelled',
'active' => 'Active',
'archived' => 'Archived',
'inactive' => 'Inactive',
'total_x_of_x_used' => 'Total {use} of {total} Used',
'total_x_of_x_members' => 'Total {use} of {total} Members',
'go_back_from_x' => 'Go back from {location}',
'new_team_invitation' => 'New Team Invitation',
'x_invite_to_join_team' => ':name invite you to join into Team Folder.',
'team_invitation_notify_title' => 'You are invited to collaboration with team folder in :app',
'team_invitation_notify_desc' => 'You are invited to collaboration with team folder.',
'team_invitation_notify_desc_without_account' => 'You are invited to collaboration with team folder. But at first, you have to create an account to proceed into team folder.',
'join_into_team_folder' => 'Join into Team Folder',
'join_and_create_account' => 'Join & Create an Account',
'file_request_filled' => 'File Request Filled',
'file_request_filled_desc' => "Your file request for ':name' folder was filled successfully.",
'show_files' => 'Show Files',
'file_request_filled_mail' => "Your file request was fulfilled in your ':name' folder",
'file_request_filled_mail_note' => 'We are emailing you because your file request was fulfilled. Please click on the link below to show uploaded files.',
'thanks_salutation' => 'Thank you for using our application!',
'upload_your_files' => 'Upload your Files',
'file_request_optional_message' => 'PS: :name left you a message: :notes',
'file_request_notify_title' => ':name Request You for File Upload',
'file_request_notify_description' => 'We are emailing you because :name requested files from you. Please click on the link below and upload your files for :name.',
'user_action_not_allowed' => 'This user action is not allowed.',
'pcs.' => 'Pcs.',
'mem.' => 'Mem.',
'password_doesnt_match' => 'The provided password does not match your current password.',
'amount' => 'Amount',
'upload_request_default_folder' => 'Upload Request from :timestamp',
'copy_direct_download_link' => 'Copy Direct Download Link',
'direct_link_copied' => 'Your direct download link was copied',
'application_settings' => 'Application / Settings',
'login_registration_settings' => 'Login & Registration / Settings',
'appearance_settings' => 'Appearance / Settings',
'adsense_settings' => 'Adsense / Settings',
'homepage_settings' => 'Homepage / Settings',
'environment_settings' => 'Environment / Settings',
'server_settings' => 'Server / Settings',
'user_features' => 'User Features',
'upload_settings' => 'Upload Settings',
'set_up_2fa_app' => 'Set up Your Authenticator App',
'confirm_your_code' => 'Confirm Your Code',
'paste_code_from_2fa_app' => 'Paste the latest code from 2fa app...',
'zero_for_unlimited_members' => 'Type -1 to set unlimited team members.',
'max_team_members' => 'Max Team Members',
'remote_upload' => 'Remote Upload',
'upload_files_remotely' => 'Upload Files Remotely',
'remote_links' => 'Remote Links',
'remote_links_help' => 'For every new line paste one link and we will give a try to download the file.',
'paste_remote_links_here' => 'Paste your links to the files here...',
'remote_download_finished' => 'Remote upload was successfully finished',
'remote_upload_progress' => 'Uploading Remotely - {processed} / {total}',
'remote_upload_failed_count' => 'Failed: {count}',
'file_request_notify_center_description' => 'Please click on the link below and upload your files for :name.',
],
];

View File

@@ -0,0 +1,7 @@
<?php
return [
'enable' => env('LARAVEL_QUERY_MONITOR', true),
'host' => env('LARAVEL_QUERY_MONITOR_HOST', '0.0.0.0'),
'port' => env('LARAVEL_QUERY_MONITOR_PORT', 8081),
];

View File

@@ -5,7 +5,6 @@ use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;
return [
/*
|--------------------------------------------------------------------------
| Default Log Channel
@@ -36,36 +35,36 @@ return [
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['single'],
'driver' => 'stack',
'channels' => ['single'],
'ignore_exceptions' => false,
],
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 14,
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 14,
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'Laravel Log',
'emoji' => ':boom:',
'level' => 'critical',
'emoji' => ':boom:',
'level' => 'critical',
],
'papertrail' => [
'driver' => 'monolog',
'level' => 'debug',
'handler' => SyslogUdpHandler::class,
'driver' => 'monolog',
'level' => 'debug',
'handler' => SyslogUdpHandler::class,
'handler_with' => [
'host' => env('PAPERTRAIL_URL'),
'port' => env('PAPERTRAIL_PORT'),
@@ -73,26 +72,26 @@ return [
],
'stderr' => [
'driver' => 'monolog',
'handler' => StreamHandler::class,
'driver' => 'monolog',
'handler' => StreamHandler::class,
'formatter' => env('LOG_STDERR_FORMATTER'),
'with' => [
'with' => [
'stream' => 'php://stderr',
],
],
'syslog' => [
'driver' => 'syslog',
'level' => 'debug',
'level' => 'debug',
],
'errorlog' => [
'driver' => 'errorlog',
'level' => 'debug',
'level' => 'debug',
],
'null' => [
'driver' => 'monolog',
'driver' => 'monolog',
'handler' => NullHandler::class,
],
@@ -100,5 +99,4 @@ return [
'path' => storage_path('logs/laravel.log'),
],
],
];

View File

@@ -1,7 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Mail Driver
@@ -57,7 +56,7 @@ return [
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
/*
@@ -132,5 +131,4 @@ return [
*/
'log_channel' => env('MAIL_LOG_CHANNEL'),
];

View File

@@ -1,7 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Queue Connection Name
@@ -29,43 +28,41 @@ return [
*/
'connections' => [
'sync' => [
'driver' => 'sync',
],
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'retry_after' => 90,
],
'beanstalkd' => [
'driver' => 'beanstalkd',
'host' => 'localhost',
'queue' => 'default',
'driver' => 'beanstalkd',
'host' => 'localhost',
'queue' => 'default',
'retry_after' => 90,
'block_for' => 0,
'block_for' => 0,
],
'sqs' => [
'driver' => 'sqs',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'key' => env('S3_ACCESS_KEY_ID'),
'secret' => env('S3_SECRET_ACCESS_KEY'),
'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
'queue' => env('SQS_QUEUE', 'your-queue-name'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'queue' => env('SQS_QUEUE', 'your-queue-name'),
'region' => env('S3_DEFAULT_REGION', 'us-east-1'),
],
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => env('REDIS_QUEUE', 'default'),
'driver' => 'redis',
'connection' => 'default',
'queue' => env('REDIS_QUEUE', 'default'),
'retry_after' => 90,
'block_for' => null,
'block_for' => null,
],
],
/*
@@ -80,9 +77,8 @@ return [
*/
'failed' => [
'driver' => env('QUEUE_FAILED_DRIVER', 'database'),
'driver' => env('QUEUE_FAILED_DRIVER', 'database'),
'database' => env('DB_CONNECTION', 'mysql'),
'table' => 'failed_jobs',
'table' => 'failed_jobs',
],
];

45
config/sanctum.php Normal file
View File

@@ -0,0 +1,45 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Stateful Domains
|--------------------------------------------------------------------------
|
| Requests from the following domains / hosts will receive stateful API
| authentication cookies. Typically, these should include your local
| and production domains which access your API via a frontend SPA.
|
*/
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', 'localhost,127.0.0.1,127.0.0.1:8000,::1')),
/*
|--------------------------------------------------------------------------
| Expiration Minutes
|--------------------------------------------------------------------------
|
| This value controls the number of minutes until an issued token will be
| considered expired. If this value is null, personal access tokens do
| not expire. This won't tweak the lifetime of first-party sessions.
|
*/
'expiration' => null,
/*
|--------------------------------------------------------------------------
| Sanctum Middleware
|--------------------------------------------------------------------------
|
| When authenticating your first-party SPA with Sanctum you may need to
| customize some of the middleware Sanctum uses while processing the
| request. You may change the middleware listed below as required.
|
*/
'middleware' => [
'verify_csrf_token' => Support\Middleware\VerifyCsrfToken::class,
'encrypt_cookies' => Support\Middleware\EncryptCookies::class,
],
];

View File

@@ -1,7 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Search Engine
@@ -41,7 +40,7 @@ return [
|
*/
'queue' => env('SCOUT_QUEUE', false),
'queue' => env('SCOUT_QUEUE', true),
/*
|--------------------------------------------------------------------------
@@ -55,7 +54,7 @@ return [
*/
'chunk' => [
'searchable' => 500,
'searchable' => 500,
'unsearchable' => 500,
],
@@ -84,20 +83,19 @@ return [
*/
'algolia' => [
'id' => env('ALGOLIA_APP_ID', ''),
'id' => env('ALGOLIA_APP_ID', ''),
'secret' => env('ALGOLIA_SECRET', ''),
],
'tntsearch' => [
'storage' => storage_path(), //place where the index files will be stored
'storage' => storage_path(), // place where the index files will be stored
'fuzziness' => env('TNTSEARCH_FUZZINESS', true),
'fuzzy' => [
'prefix_length' => 2,
'max_expansions' => 500,
'distance' => 3
'fuzzy' => [
'prefix_length' => 2,
'max_expansions' => 50,
'distance' => 25,
],
'asYouType' => true,
'asYouType' => true,
'searchBoolean' => env('TNTSEARCH_BOOLEAN', true),
],
];

View File

@@ -1,7 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Third Party Services
@@ -15,8 +14,8 @@ return [
*/
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
],
@@ -25,14 +24,32 @@ return [
],
'ses' => [
'key' => env('AWS_ACCESS_KEY_ID'),
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'token' => env('AWS_SESSION_TOKEN'),
],
'passport' => [
'client_id' => env('PASSPORT_CLIENT_ID'),
'client_secret' => env('PASSPORT_CLIENT_SECRET'),
'google' => [
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect' => env('APP_URL') . '/socialite/google/callback',
],
'github' => [
'client_id' => env('GITHUB_CLIENT_ID'),
'client_secret' => env('GITHUB_CLIENT_SECRET'),
'redirect' => env('APP_URL') . '/socialite/github/callback',
],
'facebook' => [
'client_id' => env('FACEBOOK_CLIENT_ID'),
'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
'redirect' => env('APP_URL') . '/socialite/facebook/callback/',
],
'recaptcha' => [
'client_id' => env('RECAPTCHA_CLIENT_ID'),
'client_secret' => env('RECAPTCHA_CLIENT_SECRET'),
],
];

View File

@@ -3,7 +3,6 @@
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Session Driver
@@ -166,7 +165,7 @@ return [
|
*/
'secure' => env('SESSION_SECURE_COOKIE', false),
'secure' => env('SESSION_SECURE_COOKIE', null),
/*
|--------------------------------------------------------------------------
@@ -194,6 +193,5 @@ return [
|
*/
'same_site' => null,
'same_site' => env('SESSION_SAME_SITE', null),
];

51
config/subscription.php Normal file
View File

@@ -0,0 +1,51 @@
<?php
return [
/*
* Get gateway credentials
*/
'credentials' => [
'stripe' => [
'secret' => env('STRIPE_SECRET_KEY'),
'public_key' => env('STRIPE_PUBLIC_KEY'),
'webhook_key' => env('STRIPE_WEBHOOK_SECRET'),
],
'paystack' => [
'secret' => env('PAYSTACK_SECRET'),
'public_key' => env('PAYSTACK_PUBLIC_KEY'),
],
'paypal' => [
'id' => env('PAYPAL_CLIENT_ID'),
'secret' => env('PAYPAL_CLIENT_SECRET'),
'webhook_id' => env('PAYPAL_WEBHOOK_ID'),
'is_live' => env('PAYPAL_IS_LIVE'),
],
],
'notifications' => [
'ChargeFromCreditCardFailedAgainNotification' => \Domain\Subscriptions\Notifications\ChargeFromCreditCardFailedAgainNotification::class,
'ChargeFromCreditCardFailedNotification' => \Domain\Subscriptions\Notifications\ChargeFromCreditCardFailedNotification::class,
'SubscriptionWasCreatedNotification' => \Domain\Subscriptions\Notifications\SubscriptionWasCreatedNotification::class,
'BillingAlertTriggeredNotification' => \Domain\Subscriptions\Notifications\BillingAlertTriggeredNotification::class,
'ConfirmStripePaymentNotification' => \Domain\Subscriptions\Notifications\ConfirmStripePaymentNotification::class,
'InsufficientBalanceNotification' => \Domain\Subscriptions\Notifications\InsufficientBalanceNotification::class,
'BonusCreditAddedNotification' => \Domain\Subscriptions\Notifications\BonusCreditAddedNotification::class,
],
'metered_billing' => [
'settlement_period' => 30,
],
'paystack' => [
/*
* List of allowed ip address to verify paystack webhook request
*/
'allowed_ips' => [
'52.214.14.220',
'52.49.173.169',
'52.31.139.75',
],
],
'is_demo' => env('APP_DEMO', false),
];

View File

@@ -1,7 +1,6 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| View Storage Paths
@@ -32,5 +31,4 @@ return [
'VIEW_COMPILED_PATH',
realpath(storage_path('framework/views'))
),
];

View File

@@ -1,19 +1,79 @@
<?php
return [
'version' => '2.2',
// Your app name
'app_name' => 'VueFileManager',
'is_demo' => env('APP_DEMO', false),
// Your app logo
'app_logo' => '/assets/images/hero.svg',
'is_prefilled_users' => env('IS_PREFILLED_USERS', false),
'is_setup_wizard_demo' => env('IS_SETUP_WIZARD_DEMO', false),
'is_setup_wizard_debug' => env('IS_SETUP_WIZARD_DEBUG', false),
'is_admin_vuefilemanager_bar' => env('IS_ADMIN_VUEFILEMANAGER_BAR', true),
// Enable or disable user account registration
'registration' => true,
'colors' => [
'#1BE7FF',
'#6eeb83',
'#e4ff1a',
'#E8AA14',
'#FF5714',
'#541388',
'#D90368',
'#F1E9DA',
'#2E294E',
'#FFD400',
],
// Limit your storage size for every user if this option is enabled
'limit_storage_by_capacity' => true,
'avatar_sizes' => [
[
'size' => 160,
'name' => 'md',
],
[
'size' => 60,
'name' => 'sm',
],
[
'size' => 42,
'name' => 'xs',
],
],
// Define user storage capacity in MB. E.g. value 2000 is 2.00GB
'user_storage_capacity' => 5000,
];
'image_sizes' => [
'immediately' => [
[
'size' => 120,
'name' => 'xs',
],
[
'size' => 240,
'name' => 'sm',
],
],
'later' => [
[
'size' => 960,
'name' => 'lg',
],
[
'size' => 1440,
'name' => 'xl',
],
],
],
'paginate' => [
'perPage' => env('PAGINATE_RECORDS_PER_PAGE', 50),
],
// The update versions which need to run upgrade process
'updates' => [
'2_0_10',
'2_0_13',
'2_0_14',
'2_0_16',
'2_1_1',
'2_1_2',
'2_2_0',
],
];

138
config/websockets.php Normal file
View File

@@ -0,0 +1,138 @@
<?php
use BeyondCode\LaravelWebSockets\Dashboard\Http\Middleware\Authorize;
return [
/*
* Set a custom dashboard configuration
*/
'dashboard' => [
'port' => env('PUSHER_APP_PORT', 6001),
],
/*
* This package comes with multi tenancy out of the box. Here you can
* configure the different apps that can use the webSockets server.
*
* Optionally you specify capacity so you can limit the maximum
* concurrent connections for a specific app.
*
* Optionally you can disable client events so clients cannot send
* messages to each other via the webSockets.
*/
'apps' => [
[
'id' => env('PUSHER_APP_ID'),
'name' => env('APP_NAME'),
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'path' => env('PUSHER_APP_PATH'),
'capacity' => null,
'enable_client_messages' => false,
'enable_statistics' => false,
],
],
/*
* This class is responsible for finding the apps. The default provider
* will use the apps defined in this config file.
*
* You can create a custom provider by implementing the
* `AppProvider` interface.
*/
'app_provider' => BeyondCode\LaravelWebSockets\Apps\ConfigAppProvider::class,
/*
* This array contains the hosts of which you want to allow incoming requests.
* Leave this empty if you want to accept requests from all hosts.
*/
'allowed_origins' => explode(',', env('PUSHER_APP_ALLOWED_ORIGIN', '')),
/*
* The maximum request size in kilobytes that is allowed for an incoming WebSocket request.
*/
'max_request_size_in_kb' => 250,
/*
* This path will be used to register the necessary routes for the package.
*/
'path' => 'websockets',
/*
* Dashboard Routes Middleware
*
* These middleware will be assigned to every dashboard route, giving you
* the chance to add your own middleware to this list or change any of
* the existing middleware. Or, you can simply stick with this list.
*/
'middleware' => [
'web',
Authorize::class,
],
'statistics' => [
/*
* This model will be used to store the statistics of the WebSocketsServer.
* The only requirement is that the model should extend
* `WebSocketsStatisticsEntry` provided by this package.
*/
'model' => \BeyondCode\LaravelWebSockets\Statistics\Models\WebSocketsStatisticsEntry::class,
/**
* The Statistics Logger will, by default, handle the incoming statistics, store them
* and then release them into the database on each interval defined below.
*/
'logger' => BeyondCode\LaravelWebSockets\Statistics\Logger\HttpStatisticsLogger::class,
/*
* Here you can specify the interval in seconds at which statistics should be logged.
*/
'interval_in_seconds' => 60,
/*
* When the clean-command is executed, all recorded statistics older than
* the number of days specified here will be deleted.
*/
'delete_statistics_older_than_days' => 60,
/*
* Use an DNS resolver to make the requests to the statistics logger
* default is to resolve everything to 127.0.0.1.
*/
'perform_dns_lookup' => false,
],
/*
* Define the optional SSL context for your WebSocket connections.
* You can see all available options at: http://php.net/manual/en/context.ssl.php
*/
'ssl' => [
/*
* Path to local certificate file on filesystem. It must be a PEM encoded file which
* contains your certificate and private key. It can optionally contain the
* certificate chain of issuers. The private key also may be contained
* in a separate file specified by local_pk.
*/
'local_cert' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT', null),
/*
* Path to local private key file on filesystem in case of separate files for
* certificate (local_cert) and private key.
*/
'local_pk' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_PK', null),
/*
* Passphrase for your local_cert file.
*/
'passphrase' => env('LARAVEL_WEBSOCKETS_SSL_PASSPHRASE', null),
],
/*
* Channel Manager
* This class handles how channel persistence is handled.
* By default, persistence is stored in an array by the running webserver.
* The only requirement is that the class should implement
* `ChannelManager` interface provided by this package.
*/
'channel_manager' => \BeyondCode\LaravelWebSockets\WebSockets\Channels\ChannelManagers\ArrayChannelManager::class,
];

33
config/zipstream.php Normal file
View File

@@ -0,0 +1,33 @@
<?php
/*
* You can place your custom package configuration in here.
*/
return [
// Default options for our archives
'archive' => [
'predict' => env('ZIPSTREAM_PREDICT_SIZE', true),
],
// Default options for files added
'file' => [
'method' => env('ZIPSTREAM_FILE_METHOD', 'store'),
'deflate' => env('ZIPSTREAM_FILE_DEFLATE'),
],
// Configs for S3 files
'aws' => [
'credentials' => [
'key' => env('S3_ACCESS_KEY_ID'),
'secret' => env('S3_SECRET_ACCESS_KEY'),
],
'version' => 'latest',
'endpoint' => env('S3_URL'),
'use_path_style_endpoint' => env('ZIPSTREAM_S3_PATH_STYLE_ENDPOINT', false),
'region' => env('ZIPSTREAM_S3_REGION', env('S3_DEFAULT_REGION', 'us-east-1')),
],
// https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials_anonymous.html
'aws_anonymous_client' => env('S3_ANONYMOUS', false),
];

View File

@@ -0,0 +1,39 @@
<?php
namespace Database\Factories;
use Domain\Files\Models\File;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
class FileFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = File::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'id' => $this->faker->uuid,
'user_id' => $this->faker->uuid,
'creator_id' => $this->faker->uuid,
'name' => $this->faker->word,
'basename' => Str::slug($this->faker->name),
'mimetype' => $this->faker->mimeType,
'filesize' => $this->faker->numberBetween(10000, 99999),
'type' => $this->faker->randomElement(
['image', 'file', 'video', 'audio']
),
'created_at' => $this->faker->dateTimeBetween('-36 months'),
];
}
}

View File

@@ -0,0 +1,39 @@
<?php
namespace Database\Factories;
use Domain\Folders\Models\Folder;
use Illuminate\Database\Eloquent\Factories\Factory;
class FolderFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = Folder::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'id' => $this->faker->uuid,
'user_id' => $this->faker->uuid,
'name' => $this->faker->word,
'team_folder' => false,
'author' => $this->faker->randomElement(
['user', 'member', 'visitor']
),
'created_at' => $this->faker->dateTimeBetween(
$startDate = '-36 months',
$endDate = 'now',
$timezone = null
),
];
}
}

View File

@@ -0,0 +1,37 @@
<?php
namespace Database\Factories;
use Domain\Sharing\Models\Share;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
class ShareFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = Share::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'id' => $this->faker->uuid,
'user_id' => $this->faker->uuid,
'item_id' => $this->faker->uuid,
'token' => Str::random(16),
'type' => $this->faker->randomElement(['file', 'folder']),
'permission' => $this->faker->randomElement(['visitor', 'editor']),
'is_protected' => $this->faker->boolean(20),
'password' => bcrypt('secret'),
'expire_in' => $this->faker->randomElement([1, 6, 12, 24]),
];
}
}

View File

@@ -0,0 +1,33 @@
<?php
namespace Database\Factories;
use Domain\Teams\Models\TeamFolderInvitation;
use Illuminate\Database\Eloquent\Factories\Factory;
class TeamFolderInvitationFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = TeamFolderInvitation::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'id' => $this->faker->uuid,
'parent_id' => $this->faker->uuid,
'inviter_id' => $this->faker->uuid,
'email' => $this->faker->email,
'permission' => $this->faker->randomElement(['can-edit', 'can-view']),
'status' => $this->faker->randomElement(['pending', 'accepted', 'rejected']),
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace Database\Factories;
use Domain\Teams\Models\TeamFolderMember;
use Illuminate\Database\Eloquent\Factories\Factory;
class TeamFolderMemberFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = TeamFolderMember::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'parent_id' => $this->faker->uuid,
'user_id' => $this->faker->uuid,
'permission' => $this->faker->randomElement(['can-edit', 'can-view', 'owner']),
];
}
}

View File

@@ -0,0 +1,34 @@
<?php
namespace Database\Factories;
use Domain\Sharing\Models\Share;
use Domain\Traffic\Models\Traffic;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
class TrafficFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = Traffic::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'id' => $this->faker->uuid,
'user_id' => $this->faker->uuid,
'upload' => rand(11111111, 99999999),
'download' => rand(11111111, 99999999),
'created_at' => $this->faker->dateTimeBetween('-month'),
];
}
}

View File

@@ -0,0 +1,37 @@
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
use Domain\UploadRequest\Models\UploadRequest;
class UploadRequestFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = UploadRequest::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'id' => $this->faker->uuid,
'user_id' => $this->faker->uuid,
'folder_id' => $this->faker->uuid,
'email' => $this->faker->email,
'name' => $this->faker->name,
'notes' => $this->faker->realText(80),
'status' => $this->faker->randomElement(
['active', 'filled', 'expired']
),
'created_at' => $this->faker->dateTimeBetween('-1 months'),
];
}
}

View File

@@ -1,28 +1,37 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
namespace Database\Factories;
use App\User;
use Faker\Generator as Faker;
use App\Users\Models\User;
use Illuminate\Support\Str;
use Illuminate\Database\Eloquent\Factories\Factory;
/*
|--------------------------------------------------------------------------
| Model Factories
|--------------------------------------------------------------------------
|
| This directory should contain each of the model factory definitions for
| your application. Factories provide a convenient way to generate new
| model instances for testing / seeding your application's database.
|
*/
class UserFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = User::class;
$factory->define(User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10),
];
});
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'id' => Str::uuid(),
'role' => $this->faker->randomElement(
['user', 'admin']
),
'email' => $this->faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => bcrypt('secret'),
'remember_token' => Str::random(10),
'created_at' => $this->faker->dateTimeBetween('-36 months'),
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace Database\Factories;
use App\Users\Models\UserLimitation;
use Illuminate\Database\Eloquent\Factories\Factory;
class UserLimitationFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = UserLimitation::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'user_id' => $this->faker->uuid,
'max_storage_amount' => $this->faker->randomElement([100, 200, 300]),
'max_team_members' => $this->faker->randomElement([10, 20, 30]),
];
}
}

View File

@@ -0,0 +1,45 @@
<?php
namespace Database\Factories;
use App\Users\Models\UserSetting;
use Illuminate\Database\Eloquent\Factories\Factory;
class UserSettingFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = UserSetting::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'id' => $this->faker->uuid,
'user_id' => $this->faker->uuid,
'first_name' => $this->faker->name,
'last_name' => $this->faker->lastName,
'address' => $this->faker->address,
'state' => $this->faker->state,
'city' => $this->faker->city,
'postal_code' => $this->faker->postcode,
'phone_number' => $this->faker->phoneNumber,
'color' => $this->faker->randomElement(
config('vuefilemanager.colors')
),
'country' => $this->faker->randomElement(
['SK', 'CZ', 'DE', 'FR']
),
'timezone' => $this->faker->randomElement(
['+1.0', '+2.0', '+3.0']
),
];
}
}

View File

@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateWebSocketsStatisticsEntriesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('websockets_statistics_entries', function (Blueprint $table) {
$table->increments('id');
$table->string('app_id');
$table->integer('peak_connection_count');
$table->integer('websocket_message_count');
$table->integer('api_message_count');
$table->nullableTimestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('websockets_statistics_entries');
}
}

View File

@@ -14,14 +14,18 @@ class CreateUsersTable extends Migration
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->unique();
$table->uuid('id')->primary()->index();
$table->enum('role', ['admin', 'user'])->default('user');
$table->string('email')->unique()->index();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->string('avatar')->nullable();
$table->string('oauth_provider')->nullable();
$table->string('password')->nullable();
$table->text('two_factor_secret')->nullable();
$table->text('two_factor_recovery_codes')->nullable();
$table->rememberToken();
$table->timestamps();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}

View File

@@ -17,6 +17,8 @@ class CreatePasswordResetsTable extends Migration
$table->string('email')->index();
$table->string('token');
$table->timestamp('created_at')->nullable();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}

View File

@@ -1,39 +0,0 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateFileManagerFolders extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('file_manager_folders', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('unique_id');
$table->integer('parent_id')->default(0);
$table->text('name')->nullable();
$table->text('type')->nullable();
$table->softDeletes();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('file_manager_folders');
}
}

View File

@@ -0,0 +1,45 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateFoldersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('folders', function (Blueprint $table) {
$table->uuid('id')->primary()->index();
$table->uuid('user_id')->index();
$table->uuid('parent_id')->nullable();
$table->text('name');
$table->string('color')->nullable();
$table->longText('emoji')->nullable();
$table->boolean('team_folder')->default(0);
$table->enum('author', ['user', 'member', 'visitor'])->default('user');
$table->softDeletes();
$table->timestamps();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('folders');
}
}

View File

@@ -1,45 +0,0 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateFileManagerFiles extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('file_manager_files', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('unique_id');
$table->integer('folder_id')->default(0);
$table->text('thumbnail')->nullable();
$table->text('name')->nullable();
$table->text('basename')->nullable();
$table->text('mimetype')->nullable();
$table->text('filesize')->nullable();
$table->enum('type', ['image', 'file'])->nullable();
$table->softDeletes();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('file_manager_files');
}
}

View File

@@ -0,0 +1,48 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateFilesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('files', function (Blueprint $table) {
$table->uuid('id')->primary()->index();
$table->uuid('user_id')->index();
$table->uuid('parent_id')->nullable();
$table->text('name');
$table->string('basename')->index();
$table->text('mimetype')->nullable();
$table->text('filesize');
$table->text('type')->nullable();
$table->enum('author', ['user', 'member', 'visitor'])->default('user');
$table->softDeletes();
$table->timestamps();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('files');
}
}

View File

@@ -20,6 +20,8 @@ class CreateFailedJobsTable extends Migration
$table->longText('payload');
$table->longText('exception');
$table->timestamp('failed_at')->useCurrent();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}

View File

@@ -0,0 +1,38 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreatePersonalAccessTokensTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('personal_access_tokens', function (Blueprint $table) {
$table->bigIncrements('id');
$table->uuidMorphs('tokenable');
$table->string('name');
$table->string('token', 64)->unique();
$table->text('abilities')->nullable();
$table->timestamp('last_used_at')->nullable();
$table->timestamps();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('personal_access_tokens');
}
}

View File

@@ -14,8 +14,10 @@ class CreateFavouritesFoldersTable extends Migration
public function up()
{
Schema::create('favourite_folder', function (Blueprint $table) {
$table->bigInteger('user_id');
$table->bigInteger('folder_unique_id');
$table->uuid('user_id');
$table->uuid('parent_id');
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}

View File

@@ -0,0 +1,41 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateSharesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('shares', function (Blueprint $table) {
$table->uuid('id')->primary();
$table->uuid('user_id');
$table->uuid('item_id');
$table->string('token', 16)->unique()->index();
$table->enum('type', ['file', 'folder']);
$table->enum('permission', ['visitor', 'editor'])->nullable();
$table->boolean('is_protected')->default(0);
$table->string('password')->nullable();
$table->integer('expire_in')->nullable();
$table->timestamps();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('shares');
}
}

View File

@@ -0,0 +1,46 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUserSettingsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('user_settings', function (Blueprint $table) {
$table->uuid('id')->index();
$table->uuid('user_id')->index();
$table->string('avatar')->nullable();
$table->string('color')->nullable();
$table->text('first_name')->nullable();
$table->text('last_name')->nullable();
$table->text('address')->nullable();
$table->text('state')->nullable();
$table->text('city')->nullable();
$table->text('postal_code')->nullable();
$table->text('country')->nullable();
$table->text('phone_number')->nullable();
$table->decimal('timezone', 10, 1)->nullable();
$table->text('emoji_type');
$table->text('theme_mode');
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('user_attributes');
}
}

View File

@@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateSettingsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('settings', function (Blueprint $table) {
$table->string('name')->unique()->primary()->index();
$table->longText('value')->nullable();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('settings');
}
}

View File

@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreatePagesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('pages', function (Blueprint $table) {
$table->string('slug')->index();
$table->string('title');
$table->boolean('visibility');
$table->longText('content');
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('pages');
}
}

View File

@@ -0,0 +1,36 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTrafficTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('traffic', function (Blueprint $table) {
$table->uuid('id');
$table->uuid('user_id')->index();
$table->bigInteger('upload')->default(0);
$table->bigInteger('download')->default(0);
$table->timestamps();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('traffic');
}
}

View File

@@ -0,0 +1,38 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateJobsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('jobs', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('queue')->index();
$table->longText('payload');
$table->unsignedTinyInteger('attempts');
$table->unsignedInteger('reserved_at')->nullable();
$table->unsignedInteger('available_at');
$table->unsignedInteger('created_at');
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('jobs');
}
}

View File

@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateLanguagesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('languages', function (Blueprint $table) {
$table->uuid('id')->primary()->index();
$table->string('name');
$table->string('locale')->unique();
$table->timestamps();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('languages');
}
}

View File

@@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateLanguageStrings extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('language_translations', function (Blueprint $table) {
$table->string('key');
$table->longText('value');
$table->string('lang');
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('language_translations');
}
}

View File

@@ -0,0 +1,39 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTeamFolderInvitationsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('team_folder_invitations', function (Blueprint $table) {
$table->uuid('id')->primary();
$table->uuid('parent_id');
$table->uuid('inviter_id');
$table->text('email');
$table->string('color')->nullable();
$table->enum('permission', ['can-edit', 'can-view', 'can-view-and-download']);
$table->enum('status', ['pending', 'accepted', 'waiting-for-registration', 'rejected'])->default('pending');
$table->timestamps();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('invitations');
}
}

View File

@@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTeamFolderMembersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('team_folder_members', function (Blueprint $table) {
$table->uuid('parent_id');
$table->uuid('user_id');
$table->string('permission');
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('team_folder_members');
}
}

View File

@@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUserLimitationsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('user_limitations', function (Blueprint $table) {
$table->uuid('user_id');
$table->text('max_storage_amount');
$table->text('max_team_members');
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('user_limitations');
}
}

View File

@@ -0,0 +1,54 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateExifsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('exifs', function (Blueprint $table) {
$table->uuid('id')->primary()->index();
$table->uuid('file_id')->index();
$table->timestamp('date_time_original')->nullable();
$table->string('artist')->nullable();
$table->integer('height')->nullable();
$table->integer('width')->nullable();
$table->string('x_resolution')->nullable();
$table->string('y_resolution')->nullable();
$table->integer('color_space')->nullable();
$table->string('camera')->nullable();
$table->string('model')->nullable();
$table->string('aperture_value')->nullable();
$table->string('exposure_time')->nullable();
$table->string('focal_length')->nullable();
$table->integer('iso')->nullable();
$table->string('aperture_f_number')->nullable();
$table->string('ccd_width')->nullable();
$table->string('longitude')->nullable();
$table->string('latitude')->nullable();
$table->string('longitude_ref')->nullable();
$table->string('latitude_ref')->nullable();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('exifs');
}
}

View File

@@ -0,0 +1,39 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUploadRequestsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('upload_requests', function (Blueprint $table) {
$table->uuid('id');
$table->uuid('user_id');
$table->uuid('folder_id')->nullable();
$table->enum('status', ['active', 'filling', 'filled', 'expired'])->default('active');
$table->string('email')->nullable();
$table->text('name')->nullable();
$table->longText('notes')->nullable();
$table->timestamps();
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('upload_requests');
}
}

View File

@@ -0,0 +1,36 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('notifications', function (Blueprint $table) {
$table->uuid('id')->primary();
$table->string('type');
$table->string('notifiable_type');
$table->uuid('notifiable_id');
$table->text('data');
$table->timestamp('read_at')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('notifications');
}
};

View File

@@ -0,0 +1,36 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('files', function (Blueprint $table) {
$table->dropColumn('author');
});
Schema::table('files', function (Blueprint $table) {
$table->uuid('creator_id')->after('user_id')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('files', function (Blueprint $table) {
$table->dropColumn('creator_id');
});
}
};

View File

@@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddUserIdToFileManagerFilesTable extends Migration
return new class extends Migration
{
/**
* Run the migrations.
@@ -13,8 +13,10 @@ class AddUserIdToFileManagerFilesTable extends Migration
*/
public function up()
{
Schema::table('file_manager_files', function (Blueprint $table) {
$table->bigInteger('user_id')->after('id')->nullable();
Schema::create('app_updates', function (Blueprint $table) {
$table->id();
$table->string('version');
$table->timestamps();
});
}
@@ -25,8 +27,6 @@ class AddUserIdToFileManagerFilesTable extends Migration
*/
public function down()
{
Schema::table('file_manager_files', function (Blueprint $table) {
//
});
Schema::dropIfExists('app_updates');
}
}
};

View File

@@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddUserIdToFileManagerFoldersTable extends Migration
return new class extends Migration
{
/**
* Run the migrations.
@@ -13,8 +13,10 @@ class AddUserIdToFileManagerFoldersTable extends Migration
*/
public function up()
{
Schema::table('file_manager_folders', function (Blueprint $table) {
$table->bigInteger('user_id')->after('id')->nullable();
Schema::table('users', function (Blueprint $table) {
$table->timestamp('two_factor_confirmed_at')
->after('two_factor_recovery_codes')
->nullable();
});
}
@@ -25,8 +27,8 @@ class AddUserIdToFileManagerFoldersTable extends Migration
*/
public function down()
{
Schema::table('file_manager_folders', function (Blueprint $table) {
//
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('two_factor_confirmed_at');
});
}
}
};

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