ctf0 / media-manager
A Media Manager Built With Vuejs & Laravel
Fund package maintenance!
ctf0
Installs: 51 378
Dependents: 0
Suggesters: 1
Security: 0
Stars: 833
Watchers: 37
Forks: 182
Open Issues: 3
Language:JavaScript
Requires
- ctf0/package-changelog: *
- illuminate/support: ^9.0 || ^10.0
- league/flysystem: ^3.12
- maennchen/zipstream-php: ^2.4
- dev-master
- v4.0.0
- v3.8.7
- v3.8.6
- v3.8.5
- v3.8.2
- v3.8.1
- v3.8.0
- v3.7.5
- v3.7.4
- v3.7.3
- v3.7.2
- v3.7.1
- v3.7.0
- v3.6.7
- v3.6.6
- v3.6.5
- v3.6.4
- v3.6.3
- v3.6.2
- v3.6.1
- v3.6.0
- v3.5.0
- v3.4.3
- v3.4.2
- v3.4.1
- v3.4.0
- v3.3.6
- v3.3.5
- v3.3.4
- v3.3.3
- v3.3.2
- v3.3.1
- v3.3.0
- v3.2.9
- v3.2.8
- v3.2.7
- v3.2.6
- v3.2.5
- v3.2.4
- v3.2.3
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.4
- v3.1.3
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.6.2
- v2.6.1
- v2.6.0
- v2.5.9
- v2.5.8
- v2.5.7
- v2.5.6
- v2.5.5
- v2.5.4
- v2.5.3
- v2.5.2
- v2.5.0
- v2.4.2
- v2.4.1
- v2.4.0
- v2.3.8
- v2.3.7
- v2.3.6
- v2.3.5
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.1
- v2.2.0
- v2.1.0
- v2.0.2
- v2.0.1
- v2.0.0
- v1.3.6
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
This package is auto-updated.
Last update: 2024-12-01 00:08:43 UTC
README
Laravel Media Manager
Installation
-
composer require ctf0/media-manager
-
publish the package assets with
php artisan vendor:publish --provider="ctf0\MediaManager\MediaManagerServiceProvider"
-
after installation, run
php artisan lmm:setup
to add- package routes to
routes/web.php
- package assets compiling to
webpack.mix.js
- package routes to
-
for lock/unlock item/s we use a db "sqlite" but if you prefer to use something else you should run the migration
php artisan migrate
-
yarn add vue vue-ls vue-infinite-loading vue-image-compare2 vue-tippy@v2 vue2-filters vue-input-autowidth vue-notif vue-clipboard2 vue-awesome vue-touch@next vue-focuspoint-component axios dropzone cropperjs keycode lottie-web plyr fuse.js music-metadata-browser idb-keyval annyang yarn add buffer process --dev
-
add this one liner to your main js file and run
npm run watch
to compile yourjs/css
files.- if you are having issues Check.
- also check mix v6 notes
// app.js // mix v5 window.Vue = require('vue') // mix v6 import Vue from 'vue' require('../assets/vendor/MediaManager/js/manager') new Vue({ el: '#app' })
Config
Features
- image editor
- multi
- upload
- move/copy
- delete
- upload by either
- using the upload panel
- drag & drop anywhere
- click & hold on an empty area "items container"
- from a url "images only"
- preview files before uploading
- toggle between
random/original
names for uploaded files - asynchronous Updates
- bulk selection
- bookmark visited directories for quicker navigation
- change item/s visibility
- update the page url on navigation
- show audio files info "artist, album, year, etc.."
- dynamically hide files / folders
- restrict access to path
- download selected "including bulk selection"
- directly copy selected file link
- use the manager
- auto scroll to selected item using "left, up, right, down, home, end"
- lock/unlock item/s.
- search in the current directory or globally through the entire collection.
- filter by
- folder
- image
- audio
- video
- text/pdf
- application/archive
- locked items
- selected items
- sort by
- name
- size
- last modified
- items count for
- all
- selected
- search found
- contents ratio bar
- protection against overwriting (files/folders)
- file name sanitization for
- upload
- rename
- new folder
- disable/enable buttons depend on the usage to avoid noise & keep the user focused
- shortcuts / gestures
- if no more rows available, pressing
down
will go to the last item in the list "same as native file manager". - when viewing a
audio/video
file in the preview card, pressingspace
will play/pause the item instead of closing the modal. - dbl click/tap
- any file of type
audio/video
when sidebar is hidden, will open it in the preview card "same as images". - any file of type
application/archive
will download it.
- any file of type
- all the left/right gestures have their counterparts available as well.
- pressing
esc
while using the image editor wont close the modal but you can dbl click/tap themodal background
to do so. "to avoid accidentally canceling your changes".
- if no more rows available, pressing
- the info sidebar is only available on big screens "> 1023px".
- to stop interfering with otherkeydown
events you can toggle the manager listener through
EventHub.fire('disable-global-keys', true/false)
.
Events
Usage
- visit
localhost:8000/media
Security
If you discover any security-related issues, please email ctf0-dev@protonmail.com.