Hack: MultiUpload

bugs:
Compatible with: R5.5
Current version: 0.5.beta
Credits: Elar9000, WikiAdmin

BROKEN


{{multiupload}}


multi_upload_patch.tar.gz
Repo: source:community/


Put the files in the following folders:

file folder
multiupload.php action/
jquery.min.js js/
upload.js js/
upload.xy.js js/lang/
upload.css theme/yourtheme/css/
upload.svg theme/yourtheme/icon/
delete.svg theme/yourtheme/icon/

upload preview

1. Documentation

Action – module for bulk upload files on a WackoWiki site with a record in the database.


Features:

  1. uses .. to upload (even large) files
  2. chose and upload multiple files at once
  3. preview files for upload
    1. shows thumbnail of image
    2. you can modify the file name and the file descrition

1.1. Configuration

  • it is desirable to put upload.css and file icons in all available theme folders
  • add and localize your xy.lang.js file if missing
  • turn CSP in the config off or edit your custom settings in the constants file if you cant see the preview tumbnails
    • you need to change the image source directive to:
      img-src 'self' data:;
    • Allows loading resources via the data scheme (eg Base64 encoded images).
  • read the TODO comments in the multiupload.php

1.2. How to use it

– call in your page


{{multiupload}}

– integrate it in your admin panel or the _files handler


echo $this->action('multiupload', array('nomark' => 1));

To replace the current upload action available in the page footer or the upload handler with the multiupload hack, replace the action/upload.php with the multiupload.php.

1.3. local usage of repository

symlink files from community action folder in wacko/ folder in repo
ln -s ../../community/action/multiupload.php multiupload.php
ln -s ../../community/js/upload.js upload.js

1.4. Localization (optional)

put this at the end of your language file


js/lang/upload.xy.js

lang = {
	DeleteFile : 			"Delete file",
	FileName   : 			"File name",
	FileDescription :		"File description",
	FileGlobal :			"available to all visitors",
	FileLocal :			"Only readers of this page",
	FileSelected :			"1 file was selected",
	FilesSelected :			"Files were selected",
	LoadedSuccessfully :		"loaded successfully",
	LoadingComplete :		"Loading is complete",
	Uploads		:		"Uploads",
	Loading	:			"Loading",
	MaxFiles :			"You can not upload more than % files!"
};


pls. notice that this entry will not survive an Wacko upgrade, so you have to redo this


[xyz] proposed translations
[de] – DONE
[fr]
[ru] – DONE

2. Changelog

0.1 Intitial version
0.2 Ported to WackoWiki 5.1.0
0.3 Localized JS message sets
0.4 lang array could not be the same as the one for wikiedit
0.5 iconv: using $this->get_charset() and TRANSLIT to out_charset transliteration

3. To Do

  1. Content Security Policy: may prevent the loading of the preview tumbs as data:image/jpeg;base64,
  2. JS routine should do a redirect to reload page
  3. crashed browser while uploading a stack of large files!!!
  4. encoding issues with page lang != user lang, eg. en -> ru 
  5. provide dummy preview for non image files
  6. global upload option fails
  7. lang array could not be the same as the one for wikiedit -> will take the last loaded file -> merge or change name, e.g. i18n – ?
  8. moving all inline CSS into upload.css file
  9. fix GUI and layout issues, better integration in current theme
  10. test features
  11. https://jquery.com/upgrade-guide/3.0/

Show Files (2 files)