refactor: do not use elfinder

parent bc2292d0
......@@ -22,6 +22,7 @@
"styles": [
"../node_modules/animate.css/animate.min.css",
"../node_modules/xterm/dist/xterm.css",
"assets/elFinder/css/elfinder.min.css",
"sass/style.scss",
"styles.css"
],
......@@ -33,6 +34,7 @@
"../node_modules/bootstrap/dist/js/bootstrap.min.js",
"assets/inspinia/inspinia.js",
"assets/slimscroll/jquery.slimscroll.min.js",
"assets/elFinder/js/elfinder.min.js",
"../node_modules/xterm/dist/xterm.js"
],
"environmentSource": "environments/environment.ts",
......
This diff is collapsed.
......@@ -24,6 +24,7 @@
"@angular/platform-browser-dynamic": "5.2.0",
"@angular/router": "5.2.0",
"@swimlane/ngx-datatable": "^11.1.7",
"ajv": "^6.2.1",
"animate.css": "^3.5.2",
"body-parser": "^1.18.2",
"bootstrap": "^4.0.0-beta.3",
......@@ -31,7 +32,6 @@
"compass-mixins": "^0.12.10",
"core-js": "2.5.3",
"directory-encoder": "^0.9.2",
"elfinder-material-theme": "^2.1.1",
"filetree-css": "^1.0.0",
"font-awesome": "4.7.0",
"handlebars": "^4.0.11",
......@@ -71,7 +71,7 @@
"devDependencies": {
"@angular-devkit/core": "0.0.28",
"@angular-devkit/schematics": "0.0.42",
"@angular/cli": "^1.6.5",
"@angular/cli": "^1.7.3",
"@angular/compiler-cli": "5.2.0",
"@angular/language-service": "5.2.0",
"@types/jasmine": "2.8.4",
......
......@@ -65,7 +65,6 @@ import {TransPipe} from './trans.pipe';
import {MAT_LABEL_GLOBAL_OPTIONS} from '@angular/material';
import {ElementGuacamoleComponent} from './elements/guacamole/guacamole.component';
import {ConnectPageComponent} from './connect-page/connect-page.component';
import {ElementelFinderComponent} from './elements/el-finder/el-finder.component';
@NgModule({
imports: [
......@@ -95,7 +94,6 @@ import {ElementelFinderComponent} from './elements/el-finder/el-finder.component
ElementLeftbarComponent,
ElementOfooterComponent,
ElementGuacamoleComponent,
ElementelFinderComponent,
LoginComponent,
SearchComponent,
SearchFilter,
......
@import '~elfinder-material-theme/Material/css/theme.css';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ElementelFinderComponent } from './el-finder.component';
describe('ElementelFinderComponent', () => {
let component: ElementelFinderComponent;
let fixture: ComponentFixture<ElementelFinderComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ElementelFinderComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ElementelFinderComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-element-elfinder',
templateUrl: './el-finder.component.html',
styleUrls: ['./el-finder.component.scss']
})
export class ElementelFinderComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
*~
._*
_*
.DS_Store
php-old
extensions
build
files2
elFinderVolumeSVN.class.php
connector-svn.php
node_modules
connector.php
This diff is collapsed.
elFinder is issued under a 3-clauses BSD license.
Copyright (c) 2009-2016, Studio 42
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the Studio 42 Ltd. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL "STUDIO 42" OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
elFinder
========
**WARNING: IF YOU HAVE OLDER (IN PARTICULAR 2.1.20 OR EARLIER) VERSIONS OF ELFINDER ON PUBLIC SERVERS, IT MAY CAUSE SERIOUS DAMAGE TO YOUR SERVER AND VISITED USER. YOU SHOULD UPDATE TO THE LATEST VERSION OR REMOVE IT FROM THE SERVER.**
<pre>
_ ______ _ _
| | ____(_) | |
___| | |__ _ _ __ __| | ___ _ __
/ _ \ | __| | | '_ \ / _` |/ _ \ '__|
| __/ | | | | | | | (_| | __/ |
\___|_|_| |_|_| |_|\__,_|\___|_|
</pre>
elFinder is an open-source file manager for web, written in JavaScript using
jQuery UI. Creation is inspired by simplicity and convenience of Finder program
used in Mac OS X operating system.
[![Download now!](http://studio-42.github.io/elFinder/images/download-icon.png)](https://github.com/Studio-42/elFinder/releases/latest)
[![Packagist License](https://poser.pugx.org/studio-42/elfinder/license.png)](http://choosealicense.com/licenses/bsd-3-clause/)
[![Latest Stable Version](https://poser.pugx.org/studio-42/elfinder/version.png)](https://packagist.org/packages/studio-42/elfinder)
[![Total Downloads](https://poser.pugx.org/studio-42/elfinder/d/total.png)](https://packagist.org/packages/studio-42/elfinder)
[![CDNJS version](https://img.shields.io/cdnjs/v/elfinder.svg)](https://cdnjs.com/libraries/elfinder)
[![Donate Paypal(nao-pon)](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FF5FKRSMKYDVA)
[![Donate Bitcoin(nao-pon)](https://img.shields.io/badge/Donate-Bitcoin-orange.svg)](https://studio-42.github.io/elFinder/tools/donate-bitcoin/)
Contents
--------
* [Branches](#branches)
* [Features](#features)
* [Requirements](#requirements)
* [Installation](#installation)
* [Downloads](#downloads)
* [Demo Sites](#demo-sites)
* [FAQs](#faqs)
* [3rd Party Connectors](#3rd-party-connectors)
* [3rd Party Volume Drivers](#3rd-party-volume-drivers)
* [3rd Party Themes](#3rd-party-themes)
* [Support](#support)
* [Authors](#authors)
* [License](#license)
Branches
--------
- [master](https://github.com/Studio-42/elFinder/tree/master) - Main development branch
- [2.1-src](https://github.com/Studio-42/elFinder/tree/2.1-src) - 2.1 development branch, auto build to 2.1 on commit
- [2.1](https://github.com/Studio-42/elFinder/tree/2.1) - 2.1 nightly build branch
Features
--------
* Usability like the MacOS Finder or Windows Explorer
* Mobile friendly view for touch devices
* All operations with files and folders on a remote server (copy, move,
upload, create folder/file, rename, etc.)
* High performance server backend and light client UI
* Multi-root support
* Local file system, MySQL, FTP volume storage drivers
* Cloud storage (Box, Dropbox, GoogleDrive and OneDrive) drivers
* Background file/folder upload with Drag & Drop HTML5 support
* Chunked file upload for large file
* Upload directly to the folder
* Upload form URL (or list)
* List and Icons view
* Keyboard shortcuts
* Standard methods of file/group selection using mouse or keyboard
* Move/Copy files with Drag & Drop
* Drag & Drop to outside by starting drag with alt/option key press
* Archives create/extract (zip, rar, 7z, tar, gzip, bzip2)
* Rich context menu and toolbar
* Quicklook, preview for common file types
* Edit text files and images
* "Places" for your favorites
* Calculate directory sizes
* Thumbnails for image, movie files
* Easy to integrate with web editors (elRTE, CKEditor, TinyMCE)
* Flexible configuration of access rights, upload file types, user interface
and other
* Extensibility by event handling of backend and client side
* Simple client-server API based on JSON
* Supports custom information in info dialog
* Configuable columns of list view
* Supports custom CSS class function for the custom folder icon
* Connector plugin
* [AutoRotate](https://github.com/Studio-42/elFinder/blob/2.1-src/php/plugins/AutoRotate/plugin.php) : Auto rotation on file upload of JPEG file by EXIF Orientation.
* [AutoResize](https://github.com/Studio-42/elFinder/blob/2.1-src/php/plugins/AutoResize/plugin.php) : Auto resize on file upload.
* [Normalizer](https://github.com/Studio-42/elFinder/blob/2.1-src/php/plugins/Normalizer/plugin.php) : UTF-8 Normalizer of file-name and file-path etc.
* [Sanitizer](https://github.com/Studio-42/elFinder/blob/2.1-src/php/plugins/Sanitizer/plugin.php) : Sanitizer of file-name and file-path etc.
* [Watermark](https://github.com/Studio-42/elFinder/blob/2.1-src/php/plugins/Watermark/plugin.php) : Print watermark on file upload.
* For more details, see the [Changelog](https://github.com/Studio-42/elFinder/blob/master/Changelog)
Requirements
------------
### jQuery / jQuery UI
* jQuery 1.8.0+
* jQuery UI 1.9.0+ (require selectable, draggable, droppable and resizable)
**However, we recommend newest version.**
### Client
* Modern browser. elFinder was tested in Internet Explorer 8
and newest Firefox, Chrome, IE, Edge and Opera
### Server
* Any web server
* PHP 5.2+ (Recommend PHP 5.4 or higher) And for thumbnails - GD / Imagick module / convert(imagemagick) require
Installation
------------
### Builds (compressed)
1. Download and unzip one of the [builds](#downloads) below to your PHP server
2. Rename `/php/connector.minimal.php-dist` to `/php/connector.minimal.php`
3. Load `/elfinder.html` in your browser to run elFinder
### Source (uncompressed)
1. Clone this repository to your PHP server
```
$ git clone https://github.com/Studio-42/elFinder.git
```
2. Rename `/php/connector.minimal.php-dist` to `/php/connector.minimal.php`
3. Load `/elfinder.src.html` in your browser to run elFinder
### Installer
- [Setup elFinder 2.1.x nightly with Composer](https://github.com/Studio-42/elFinder/tree/gh-pages/tools/installer/setup_with_composer)
Downloads
------------
**Stable releases** ([Changelog](https://github.com/Studio-42/elFinder/blob/master/Changelog))
+ [elFinder 2.1.32](https://github.com/Studio-42/elFinder/archive/2.1.32.zip)
+ [elFinder 2.0.9](https://github.com/Studio-42/elFinder/archive/2.0.9.zip) (deprecated)
**Nightly builds**
+ [elFinder 2.1.x (Nightly)](https://github.com/Studio-42/elFinder/archive/2.1.zip)
Demo sites
------------
**2.1.x Nightly**
+ https://studio-42.github.io/elFinder/ (with CORS)
+ https://hypweb.net/elFinder-nightly/demo/2.1/
FAQs
------------
### Should I use elFinder builds (compressed) or source (uncompressed)?
For debugging and development, use the [source](#source-uncompressed). For production, use [builds](#builds-compressed).
### How do I integrate elFinder with CKEditor/TinyMCE/elRTE/etc...?
Check out the [wiki](https://github.com/studio-42/elFinder/wiki#howtos) for individual instructions.
### The procedure of language files created or modified?
You can create or modify the language file to use translation tool. Please refer to the pull request the results to the respective branch.
* [2.1 branch translation tool](http://studio-42.github.io/elFinder/tools/langman/#2.1)
3rd party connectors
--------------------
* [ASP.NET Core](https://github.com/gordon-matt/elFinder.NetCore)
* [ASP.NET](https://github.com/leniel/elFinder.Net)
* [Java Servlet](https://github.com/trustsystems/elfinder-java-connector)
* [JavaScript/Efw](https://github.com/efwGrp/efw3.X/blob/master/help/api_efw_tag.md#elfinder-tag)
* [Python](https://github.com/Studio-42/elfinder-python)
* [Ruby/Rails](https://github.com/phallstrom/el_finder)
3rd party Volume Drivers
--------------------
* [League\Flysystem (PHP)](https://github.com/barryvdh/elfinder-flysystem-driver) (for elFinder 2.1+)
3rd party Themes
--------------------
Hint: [How to load CSS with RequireJS?](https://github.com/Studio-42/elFinder/wiki/How-to-load-CSS-with-RequireJS%3F)
* [lokothodida/elfinder-theme-moono](https://github.com/lokothodida/elfinder-theme-moono)
* [lokothodida/elfinder-theme-windows-10](https://github.com/lokothodida/elfinder-theme-windows-10)
* [RobiNN1/elFinder-Material-Theme](https://github.com/RobiNN1/elFinder-Material-Theme)
* [StudioJunkyard/elfinder-boostrap-theme](https://github.com/StudioJunkyard/LibreICONS/tree/master/themes/elFinder)
3rd party Integrations
--------------------
* [Django](https://github.com/mikery/django-elfinder)
* [Drupal](https://www.drupal.org/project/elfinder)
* [Laravel](https://github.com/barryvdh/laravel-elfinder)
* [Roundcube](https://github.com/Offerel/roundcube_elfinder)
* [Symfony](https://github.com/helios-ag/FMElfinderBundle)
* [Tiki Wiki](https://doc.tiki.org/elFinder)
* [WordPress](https://wordpress.org/plugins/file-manager/)
* [XOOPS](https://github.com/nao-pon/xelfinder)
* [Yii](http://www.yiiframework.com/extension/elfinder/)
* [Zenphoto](http://www.zenphoto.org/news/elfinder/)
Support
-------
* [Homepage](http://elfinder.org)
* [Wiki](https://github.com/Studio-42/elFinder/wiki)
* [Issues](https://github.com/Studio-42/elFinder/issues)
* <dev@std42.ru>
Authors
-------
* Chief developer: Dmitry "dio" Levashov <dio@std42.ru>
* Maintainer: Troex Nevelin <troex@fury.scancode.ru>
* Developers: Alexey Sukhotin <strogg@yandex.ru>, Naoki Sawada <hypweb+elfinder@gmail.com>
* Icons: [PixelMixer](http://pixelmixer.ru), [Yusuke Kamiyamane](http://p.yusukekamiyamane.com)
We hope our tools will be helpful for you.
License
-------
elFinder is issued under a 3-clauses BSD license.
* [License terms](https://github.com/Studio-42/elFinder/blob/master/LICENSE.md)
{
"name": "elfinder",
"authors": [
"Dmitry \"dio\" Levashov <dio@std42.ru>",
"Troex Nevelin <troex@fury.scancode.ru>",
"Alexey Sukhotin <strogg@yandex.ru>",
"Naoki Sawada <hypweb@gmail.com>"
],
"description": "Open-source file manager for web, written in JavaScript using jQuery and jQuery UI.",
"dependencies": {
"jquery": "1.8.0 - 3",
"jquery-ui": "^1.9.x"
},
"keywords": [
"filemanager",
"jquery",
"jquery-ui",
"javascript",
"php"
],
"license": "BSD-3-Clause",
"homepage": "https://github.com/Studio-42/elFinder",
"ignore": [
"**/.*",
"jquery",
"php"
]
}
{
"name": "studio-42/elfinder",
"description": "File manager for web",
"license": "BSD-3-Clause",
"homepage": "http://elfinder.org",
"authors": [
{
"name": "Dmitry Levashov",
"homepage": "http://std42.ru",
"email": "dio@std42.ru"
},
{
"name": "Troex Nevelin",
"homepage": "http://std42.ru",
"email": "troex@fury.scancode.ru"
},
{
"name": "Naoki Sawada",
"homepage": "http://xoops.hypweb.net",
"email": "hypweb+elfinder@gmail.com"
},
{
"name": "Community contributions",
"homepage": "https://github.com/Studio-42/elFinder/contributors"
}
],
"require": {
"php": ">=5.2"
},
"suggest": {
"kunalvarma05/dropbox-php-sdk": "VolumeDriver `Dropbox`2 require `kunalvarma05/dropbox-php-sdk.",
"google/apiclient": "VolumeDriver GoogleDrive require `google/apiclient:^2.0.",
"barryvdh/elfinder-flysystem-driver": "VolumeDriver for elFinder to use Flysystem as a root.",
"nao-pon/flysystem-google-drive": "require in GoogleDrive network volume mounting with Flysystem."
},
"autoload": {
"classmap": ["php"]
}
}
This diff is collapsed.
This diff is collapsed.
/**
* MacOS X like theme for elFinder.
* Required jquery ui "smoothness" theme.
*
* @author Dmitry (dio) Levashov
**/
/* input textarea */
.elfinder input,
.elfinder textarea {
color: #000;
background-color: #FFF;
border-color: #ccc;
}
/* dialogs */
.std42-dialog, .std42-dialog .ui-widget-content { background-color:#ededed; background-image:none; background-clip: content-box; }
.elfinder-quicklook-titlebar-icon .ui-icon {
background-color: #d4d4d4;
border-color: #8a8a8a;
}
.std42-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close:hover .ui-icon,
.elfinder-mobile .std42-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon,
.elfinder-quicklook-titlebar-icon .ui-icon.elfinder-icon-close:hover,
.elfinder-mobile .elfinder-quicklook-titlebar-icon .ui-icon.elfinder-icon-close {
background-color: #ff6252;
border-color: #e5695d;
background-image: url("../img/ui-icons_ffffff_256x240.png");
}
.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-minimize:hover .ui-icon,
.elfinder-mobile .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-minimize .ui-icon,
.elfinder-quicklook-titlebar-icon .ui-icon.elfinder-icon-minimize:hover,
.elfinder-mobile .elfinder-quicklook-titlebar-icon .ui-icon.elfinder-icon-minimize {
background-color: #ffbc00;
border-color: #e3a40b;
background-image: url("../img/ui-icons_ffffff_256x240.png");
}
.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-full:hover .ui-icon,
.elfinder-mobile .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-full .ui-icon,
.elfinder-quicklook-titlebar-icon .ui-icon.elfinder-icon-full:hover,
.elfinder-mobile .elfinder-quicklook-titlebar-icon .ui-icon.elfinder-icon-full {
background-color: #26c82f;
border-color: #13ae10;
background-image: url("../img/ui-icons_ffffff_256x240.png");
}
/* navbar */
.elfinder .elfinder-navbar { background:#dde4eb; }
.elfinder-navbar .ui-state-hover { color:#000; background-color:#edf1f4; border-color:#bdcbd8; }
.elfinder-navbar .ui-state-active { background: #3875d7; border-color:#3875d7; color:#fff; }
.elfinder-navbar .elfinder-droppable-active {background:#A7C6E5 !important;}
/* disabled elfinder */
.elfinder-disabled .elfinder-navbar .ui-state-active { background: #dadada; border-color:#aaa; color:#fff; }
/* workzone */
.elfinder-workzone { background:#fff; }
/* current directory */
/* Is in trash */
.elfinder-cwd-wrapper.elfinder-cwd-wrapper-trash {
background-color: #f0efef;
}
/* selected file in "icons" view */
.elfinder-cwd-view-icons .elfinder-cwd-file .ui-state-hover { background:#ccc; }
/* type badge in "icons" view */
.elfinder-cwd-icon:before {
color: white;
background-color: #798da7;
}
.elfinder-cwd-icon-text:before { background-color: #6f99e6 }
.elfinder-cwd-icon-image:before { background-color: #2ea26c }
.elfinder-cwd-icon-audio:before { background-color: #7bad2a }
.elfinder-cwd-icon-video:before { background-color: #322aad }
/* list view*/
.elfinder-cwd table thead td.ui-state-hover { background:#ddd; }
.elfinder-cwd table tr:nth-child(odd) { background-color:#edf3fe; }
.elfinder-cwd table tr {
border: 1px solid transparent;
border-top:1px solid #fff;
}
.elfinder-cwd .elfinder-droppable-active td { background:#A7C6E5 !important; }
/* common selected background/color */
.elfinder-cwd-view-icons .elfinder-cwd-file .elfinder-cwd-filename.ui-state-hover,
.elfinder-cwd table td.ui-state-hover,
.elfinder-button-menu .ui-state-hover { background: #3875d7; color:#fff;}
/* disabled elfinder */
.elfinder-disabled .elfinder-cwd-view-icons .elfinder-cwd-file .elfinder-cwd-filename.ui-state-hover,
.elfinder-disabled .elfinder-cwd table td.ui-state-hover { background:#dadada;}
/* statusbar */
.elfinder .elfinder-statusbar { color:#555; }
.elfinder .elfinder-statusbar a { text-decoration:none; color:#555;}
.std42-dialog .elfinder-help, .std42-dialog .elfinder-help .ui-widget-content { background:#fff;}
/* contextmenu */
.elfinder-contextmenu .ui-state-active { background: #6293df; color:#fff; }
.elfinder-contextmenu .ui-state-hover { background: #3875d7; color:#fff; }
.elfinder-contextmenu .ui-state-hover .elfinder-contextmenu-arrow { background-image:url('../img/arrows-active.png'); }
/* dialog */
.elfinder .ui-dialog input:text.ui-state-hover,
.elfinder .ui-dialog textarea.ui-state-hover {
background-image: none;
background-color: inherit;
}
/* tooltip */
.elfinder-ui-tooltip.ui-widget-shadow {
box-shadow: 2px 6px 4px -4px #cecdcd;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<title>elFinder 2.1.x source version with PHP connector</title>
<!-- Require JS (REQUIRED) -->
<!-- Rename "main.default.js" to "main.js" and edit it if you need configure elFInder options or any things -->
<script data-main="./main.default.js" src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.3.5/require.min.js"></script>
<script>
define('elFinderConfig', {
// elFinder options (REQUIRED)
// Documentation for client options:
// https://github.com/Studio-42/elFinder/wiki/Client-configuration-options
defaultOpts : {
url : 'php/connector.minimal.php' // connector URL (REQUIRED)
,commandsOptions : {
edit : {
extraOptions : {
// set API key to enable Creative Cloud image editor
// see https://console.adobe.io/
creativeCloudApiKey : '',
// browsing manager URL for CKEditor, TinyMCE
// uses self location with the empty value
managerUrl : ''
}
}
,quicklook : {
// to enable preview with Google Docs Viewer
googleDocsMimes : ['application/pdf', 'image/tiff', 'application/vnd.ms-office', 'application/msword', 'application/vnd.ms-word', 'application/vnd.ms-excel', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']
}
}
// bootCalback calls at before elFinder boot up
,bootCallback : function(fm, extraObj) {
/* any bind functions etc. */
fm.bind('init', function() {
// any your code
});
// for example set document.title dynamically.
var title = document.title;
fm.bind('open', function() {
var path = '',
cwd = fm.cwd();
if (cwd) {
path = fm.path(cwd.hash) || null;
}
document.title = path? path + ':' + title : title;
}).bind('destroy', function() {
document.title = title;
});
}
},
managers : {
// 'DOM Element ID': { /* elFinder options of this DOM Element */ }
'elfinder': {}
}
});
</script>
</head>
<body>
<!-- Element where elFinder will be created (REQUIRED) -->
<div id="elfinder"></div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<title>elFinder 2.1.x source version with PHP connector</title>
<!-- Section CSS -->
<!-- jQuery UI (REQUIRED) -->
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<!-- elFinder CSS (REQUIRED) -->
<link rel="stylesheet" type="text/css" href="css/elfinder.min.css">
<link rel="stylesheet" type="text/css" href="css/theme.css">
<!-- Section JavaScript -->
<!-- jQuery and jQuery UI (REQUIRED) -->
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!--<![endif]-->
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<!-- elFinder JS (REQUIRED) -->
<script src="js/elfinder.min.js"></script>
<!-- Extra contents editors (OPTIONAL) -->
<script src="js/extras/editors.default.min.js"></script>
<!-- GoogleDocs Quicklook plugin for GoogleDrive Volume (OPTIONAL) -->
<!--<script src="js/extras/quicklook.googledocs.js"></script>-->
<!-- elFinder initialization (REQUIRED) -->
<script type="text/javascript" charset="utf-8">
// Documentation for client options:
// https://github.com/Studio-42/elFinder/wiki/Client-configuration-options
$(document).ready(function() {
$('#elfinder').elfinder(
// 1st Arg - options
{
cssAutoLoad : false, // Disable CSS auto loading
baseUrl : './', // Base URL to css/*, js/*
url : 'php/connector.minimal.php' // connector URL (REQUIRED)
// , lang: 'ru' // language (OPTIONAL)
},
// 2nd Arg - before boot up function
function(fm, extraObj) {
// `init` event callback function
fm.bind('init', function() {
// Optional for Japanese decoder "encoding-japanese.js"
if (fm.lang === 'ja') {
fm.loadScript(
[ '//cdn.rawgit.com/polygonplanet/encoding.js/1.0.26/encoding.min.js' ],
function() {
if (window.Encoding && Encoding.convert) {
fm.registRawStringDecoder(function(s) {
return Encoding.convert(s, {to:'UNICODE',type:'string'});
};
}
},
{ loadType: 'tag' }
);
}
});
// Optional for set document.title dynamically.
var title = document.title;
fm.bind('open', function() {
var path = '',
cwd = fm.cwd();
if (cwd) {
path = fm.path(cwd.hash) || null;
}
document.title = path? path + ':' + title : title;
}).bind('destroy', function() {
document.title = title;
});
}
);
});
</script>
</head>
<body>
<!-- Element where elFinder will be created (REQUIRED) -->
<div id="elfinder"></div>
</body>
</html>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
(function(root, factory) {
if (typeof define === 'function' && define.amd) {
define(['elfinder'], factory);
} else if (typeof exports !== 'undefined') {
module.exports = factory(require('elfinder'));
} else {
factory(root.elFinder);
}
}(this, function(elFinder) {
"use strict";
try {
if (! elFinder.prototype.commands.quicklook.plugins) {
elFinder.prototype.commands.quicklook.plugins = [];
}
elFinder.prototype.commands.quicklook.plugins.push(function(ql) {
var fm = ql.fm,
preview = ql.preview;
preview.on('update', function(e) {
var win = ql.window,
file = e.file, node, loading;
if (file.mime.indexOf('application/vnd.google-apps.') === 0) {
if (file.url == '1') {
preview.hide();
$('<div class="elfinder-quicklook-info-data"><button class="elfinder-info-button">'+fm.i18n('getLink')+'</button></div>').appendTo(ql.info.find('.elfinder-quicklook-info'))
.on('click', function() {
$(this).html('<span class="elfinder-info-spinner">');
fm.request({
data : {cmd : 'url', target : file.hash},
preventDefault : true
})
.always(function() {
preview.show();
$(this).html('');
})
.done(function(data) {
var rfile = fm.file(file.hash);
ql.value.url = rfile.url = data.url || '';
if (ql.value.url) {
preview.trigger($.Event('update', {file : ql.value}));
}
});
});
}
if (file.url !== '' && file.url != '1') {
e.stopImmediatePropagation();
preview.one('change', function() {
loading.remove();
node.off('load').remove();
});
loading = $('<div class="elfinder-quicklook-info-data">'+fm.i18n('nowLoading')+'<span class="elfinder-info-spinner"></div>').appendTo(ql.info.find('.elfinder-quicklook-info'));
node = $('<iframe class="elfinder-quicklook-preview-iframe"/>')
.css('background-color', 'transparent')
.appendTo(preview)
.on('load', function() {
ql.hideinfo();
loading.remove();
$(this).css('background-color', '#fff').show();
})
.attr('src', fm.url(file.hash));
}
}
});
});
} catch(e) {}
}));
!function(n,e){"function"==typeof define&&define.amd?define(["elfinder"],e):"undefined"!=typeof exports?module.exports=e(require("elfinder")):e(n.elFinder)}(this,function(n){"use strict";try{n.prototype.commands.quicklook.plugins||(n.prototype.commands.quicklook.plugins=[]),n.prototype.commands.quicklook.plugins.push(function(n){var e=n.fm,o=n.preview;o.on("update",function(i){var t,l,r=(n.window,i.file);0===r.mime.indexOf("application/vnd.google-apps.")&&("1"==r.url&&(o.hide(),$('<div class="elfinder-quicklook-info-data"><button class="elfinder-info-button">'+e.i18n("getLink")+"</button></div>").appendTo(n.info.find(".elfinder-quicklook-info")).on("click",function(){$(this).html('<span class="elfinder-info-spinner">'),e.request({data:{cmd:"url",target:r.hash},preventDefault:!0}).always(function(){o.show(),$(this).html("")}).done(function(i){var t=e.file(r.hash);n.value.url=t.url=i.url||"",n.value.url&&o.trigger($.Event("update",{file:n.value}))})})),""!==r.url&&"1"!=r.url&&(i.stopImmediatePropagation(),o.one("change",function(){l.remove(),t.off("load").remove()}),l=$('<div class="elfinder-quicklook-info-data">'+e.i18n("nowLoading")+'<span class="elfinder-info-spinner"></div>').appendTo(n.info.find(".elfinder-quicklook-info")),t=$('<iframe class="elfinder-quicklook-preview-iframe"/>').css("background-color","transparent").appendTo(o).on("load",function(){n.hideinfo(),l.remove(),$(this).css("background-color","#fff").show()}).attr("src",e.url(r.hash))))})})}catch(e){}});
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
(function(factory) {
if (typeof define === 'function' && define.amd) {
define(factory);
} else if (typeof exports !== 'undefined') {
module.exports = factory();
} else {
factory();
}
}(this, function() {
return void 0;
}));
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<h2>Tipy na obsluhu</h2>
<p>Obsluha na uživatelském rozhraní je podobná standardnímu správci souborů operačního systému. Drag and Drop však není možné používat s mobilními prohlížeči. </p>
<ul>
<li>Kliknutím pravým tlačítkem nebo dlouhým klepnutím zobrazíte kontextové menu.</li>
<li>Přetáhněte do stromu složek nebo do aktuálního pracovního prostoru a přetáhněte / kopírujte položky.</li>
<li>Výběr položky v pracovním prostoru můžete rozšířit pomocí kláves Shift nebo Alt (Možnost).</li>
<li>Přemístěte soubory a složky do cílové složky nebo do pracovního prostoru.</li>
<li>Dialog předávání může přijímat data schránky nebo seznamy adres URL a přitáhnout a odejít z jiných prohlížečů nebo správců souborů.</li>
<li>Zatažením spusťte stisknutím klávesy Alt (Možnost) přetáhněte do vnějšího prohlížeče. Tato funkce se převezme pomocí prohlížeče Google Chrome.</li>
</ul>
<h2>Operation Tips</h2>
<p>Operation on the UI is similar to operating system&#39;s standard file manager. However, Drag and Drop is not possible with mobile browsers. </p>
<ul>
<li>Right click or long tap to show the context menu.</li>
<li>Drag and drop into the folder tree or the current workspace to move/copy items.</li>
<li>Item selection in the workspace can be extended selection with Shift or Alt (Option) key.</li>
<li>Drag and Drop to the destination folder or workspace to upload files and folders.</li>
<li>The upload dialog can accept paste/drop clipboard data or URL lists and Drag and Drop from other browser or file managers etc.</li>
<li>Drag start with pressing Alt(Option) key to drag out to outside browser. It will became download operation with Google Chrome.</li>
</ul>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment