diff --git a/.nuget/NuGet.Config b/.nuget/NuGet.Config deleted file mode 100644 index 67f8ea0..0000000 --- a/.nuget/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.nuget/NuGet.exe b/.nuget/NuGet.exe deleted file mode 100644 index cb3ed03..0000000 Binary files a/.nuget/NuGet.exe and /dev/null differ diff --git a/.nuget/NuGet.targets b/.nuget/NuGet.targets deleted file mode 100644 index 46a1b6c..0000000 --- a/.nuget/NuGet.targets +++ /dev/null @@ -1,133 +0,0 @@ - - - - $(MSBuildProjectDirectory)\..\ - - - false - - - false - - - true - - - false - - - - - - - - - - - $([System.IO.Path]::Combine($(SolutionDir), ".nuget")) - $([System.IO.Path]::Combine($(ProjectDir), "packages.config")) - - - - - $(SolutionDir).nuget - packages.config - - - - - $(NuGetToolsPath)\NuGet.exe - @(PackageSource) - - "$(NuGetExePath)" - mono --runtime=v4.0.30319 $(NuGetExePath) - - $(TargetDir.Trim('\\')) - - -RequireConsent - -NonInteractive - - - $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir "$(SolutionDir) " - $(NuGetCommand) pack "$(ProjectPath)" -Properties Configuration=$(Configuration) $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols - - - - RestorePackages; - $(BuildDependsOn); - - - - - $(BuildDependsOn); - BuildPackage; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/elFinder.Net.Web/App_Start/AttributeRoutingConfig.cs b/elFinder.Net.Web/App_Start/AttributeRoutingConfig.cs deleted file mode 100644 index 55c085b..0000000 --- a/elFinder.Net.Web/App_Start/AttributeRoutingConfig.cs +++ /dev/null @@ -1,29 +0,0 @@ -using AttributeRouting.Web.Mvc; -using System.Reflection; -using System.Web.Routing; - -[assembly: WebActivator.PreApplicationStartMethod(typeof(elFinder.Net.Web.AttributeRoutingConfig), "Start")] - -namespace elFinder.Net.Web -{ - public static class AttributeRoutingConfig - { - public static void RegisterRoutes(RouteCollection routes) - { - // See http://github.com/mccalltd/AttributeRouting/wiki for more options. - // To debug routes locally using the built in ASP.NET development server, go to /routes.axd - - routes.MapAttributeRoutes(config => - { - config.AddRoutesFromAssembly(Assembly.GetExecutingAssembly()); - config.UseLowercaseRoutes = true; - config.PreserveCaseForUrlParameters = true; - }); - } - - public static void Start() - { - RegisterRoutes(RouteTable.Routes); - } - } -} diff --git a/elFinder.Net.Web/App_Start/BundleConfig.cs b/elFinder.Net.Web/App_Start/BundleConfig.cs index c93395c..5e01e9b 100644 --- a/elFinder.Net.Web/App_Start/BundleConfig.cs +++ b/elFinder.Net.Web/App_Start/BundleConfig.cs @@ -8,29 +8,34 @@ public class BundleConfig public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/Scripts/js").Include( - "~/Scripts/jquery-{version}.js", + "~/Scripts/jquery-{version}.js", //"~/Scripts/jquery-migrate-{version}.js", - "~/Scripts/jquery-ui-{version}.js", - "~/Scripts/jquery.validate*")); + "~/Scripts/jquery-ui-{version}.js", + "~/Scripts/jquery.validate*")); #region elFinder bundles bundles.Add(new ScriptBundle("~/Scripts/elfinder").Include( - "~/Content/elfinder/js/elfinder.full.js" - //"~/Content/elfinder/js/i18n/elfinder.pt_BR.js" - )); + "~/Scripts/elfinder/elfinder.full.js" + //"~/Scripts/elfinder/i18n/elfinder.pt_BR.js" + )); + // Themes: + // Default: "~/Content/elfinder/css/theme.css" + // Windows 10: "~/Content/elfinder/themes/windows-10/css/theme.css" + // Bootstrap: "~/Content/elfinder/themes/bootstrap-LibreICONS/css/theme-bootstrap-libreicons-svg.css" + // Material: "~/Content/elfinder/themes/material/theme.css" bundles.Add(new StyleBundle("~/Content/elfinder").Include( - "~/Content/elfinder/css/elfinder.full.css", - "~/Content/elfinder/css/theme.css")); + "~/Content/elfinder/css/elfinder.full.css", + "~/Content/elfinder/themes/windows-10/css/theme.css")); - #endregion + #endregion elFinder bundles - bundles.Add(new StyleBundle("~/Content/css").Include( - "~/Content/site.css")); + bundles.Add(new StyleBundle("~/Content/css") + .Include("~/Content/site.css")); - bundles.Add(new StyleBundle("~/Content/themes/ui-lightness/css").Include( - "~/Content/themes/ui-lightness/jquery.ui.all.css")); + bundles.Add(new StyleBundle("~/Content/jquery-ui") + .Include("~/Content/themes/base/all.css")); } } } \ No newline at end of file diff --git a/elFinder.Net.Web/App_Start/RouteConfig.cs b/elFinder.Net.Web/App_Start/RouteConfig.cs index 6b4ae76..801e6d5 100644 --- a/elFinder.Net.Web/App_Start/RouteConfig.cs +++ b/elFinder.Net.Web/App_Start/RouteConfig.cs @@ -9,14 +9,17 @@ public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); - // elFinder's connector route - routes.MapRoute(null, "connector", new { controller = MVC.File.Name, action = MVC.File.ActionNames.Index }); + routes.MapMvcAttributeRoutes(); + routes.LowercaseUrls = true; - routes.MapRoute( - name: "Default", - url: "{controller}/{action}/{id}", - defaults: new { controller = MVC.Home.Name, action = MVC.Home.ActionNames.Index, id = UrlParameter.Optional } - ); + //// elFinder's connector route + //routes.MapRoute(null, "connector", new { controller = MVC.File.Name, action = MVC.File.ActionNames.Index }); + + //routes.MapRoute( + // name: "Default", + // url: "{controller}/{action}/{id}", + // defaults: new { controller = MVC.Home.Name, action = MVC.Home.ActionNames.Index, id = UrlParameter.Optional } + //); } } } \ No newline at end of file diff --git a/elFinder.Net.Web/Content/elfinder/LICENSE.md b/elFinder.Net.Web/Content/elfinder/LICENSE.md new file mode 100644 index 0000000..cb4ff9e --- /dev/null +++ b/elFinder.Net.Web/Content/elfinder/LICENSE.md @@ -0,0 +1,15 @@ +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. diff --git a/elFinder.Net.Web/Content/elfinder/README.md b/elFinder.Net.Web/Content/elfinder/README.md new file mode 100644 index 0000000..faeea37 --- /dev/null +++ b/elFinder.Net.Web/Content/elfinder/README.md @@ -0,0 +1,209 @@ +elFinder +======== +
+      _ ______ _           _           
+     | |  ____(_)         | |          
+  ___| | |__   _ _ __   __| | ___ _ __ 
+ / _ \ |  __| | | '_ \ / _` |/ _ \ '__|
+|  __/ | |    | | | | | (_| |  __/ |   
+ \___|_|_|    |_|_| |_|\__,_|\___|_|   
+
+ +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) + +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.0-src](https://github.com/Studio-42/elFinder/tree/2.0-src) - 2.0 development branch (Security fix only), auto build to 2.0 on commit +- [2.1](https://github.com/Studio-42/elFinder/tree/2.1) - 2.1 nightly build branch +- [2.0](https://github.com/Studio-42/elFinder/tree/2.0) - 2.0 nightly build branch + +Features +-------- +**2.0.x** + * 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 + * Background file upload with Drag & Drop HTML5 support + * List and Icons view + * Keyboard shortcuts + * Standard methods of file/group selection using mouse or keyboard + * Move/Copy files with Drag & Drop + * 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 files + * Easy to integrate with web editors (elRTE, CKEditor, TinyMCE) + * Flexible configuration of access rights, upload file types, user interface + and other + * Extensibility + * Simple client-server API based on JSON + +**2.1.x** + * More High performance server backend and light client UI + * 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. + * Folder upload with Chrome, Firefox and Edge + * Chunked file upload + * Upload directly to the folder + * Upload form URL (or list) + * Creating the archive by specifying the file name + * Direct extraction to the current working directory (you do not want to create a folder) + * Supports Dropbox.com© (Configurable & As network volume) + * Supports custom information in info dialog + * Configuable columns of list view + * Supports custom CSS class function of tree view + * 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+ + +**However, we recommend newest version.** + +### Client + * Modern browser. elFinder was tested in Firefox 12, Internet Explorer 8+, + Safari 6, Opera 12 and Chrome 19 + +### 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.18](https://github.com/Studio-42/elFinder/archive/2.1.18.zip) + + [elFinder 2.0.7](https://github.com/Studio-42/elFinder/archive/2.0.7.zip) + +**Nightly builds** + + [elFinder 2.1.x (Nightly)](https://github.com/Studio-42/elFinder/archive/2.1.zip) + + [elFinder 2.0.x (Nightly)](https://github.com/Studio-42/elFinder/archive/2.0.zip) + +Demo sites +------------ +**2.1.x Nightly** + + https://studio-42.github.io/elFinder/ (with CORS) + + https://hypweb.net/elFinder-nightly/demo/2.1/ + +FAQs +------------ +### Which version of elFinder should I use? +* **2.0.x** if you do not need 2.1 of the advanced features. + +* **2.1.x** if you want to try the experimental (*bleeding edge, but API 2.1 connector is PHP only*). It is also available from the connector on the API 1.x and 2.0. + +### 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) + * [2.0 branch translation tool](http://studio-42.github.io/elFinder/tools/langman/#2.0) + + +3rd party connectors +-------------------- + * [ASP.NET](https://github.com/leniel/elFinder.Net) + * [Java Servlet](https://github.com/trustsystems/elfinder-java-connector) + * [Python](https://github.com/Studio-42/elfinder-python) + * [Ruby/Rails](https://github.com/phallstrom/el_finder) + * [Django](https://github.com/mikery/django-elfinder) + * [Laravel](https://github.com/barryvdh/laravel-elfinder) + +3rd party Volume Drivers +-------------------- + * [League\Flysystem (PHP)](https://github.com/barryvdh/elfinder-flysystem-driver) (for elFinder 2.1+) + +3rd party Themes +-------------------- + * [lokothodida/elfinder-theme-moono](https://github.com/lokothodida/elfinder-theme-moono) + * [lokothodida/elfinder-theme-windows-10](https://github.com/lokothodida/elfinder-theme-windows-10) + * [StudioJunkyard/elfinder-boostrap-theme](https://github.com/StudioJunkyard/LibreICONS/tree/master/themes/elFinder) + * [RobiNN1/elFinder-Material-Theme](https://github.com/RobiNN1/elFinder-Material-Theme) + +Support +------- + + * [Homepage](http://elfinder.org) + * [Wiki](https://github.com/Studio-42/elFinder/wiki) + * [Issues](https://github.com/Studio-42/elFinder/issues) + * + + +Authors +------- + + * Chief developer: Dmitry "dio" Levashov + * Maintainer: Troex Nevelin + * Developers: Alexey Sukhotin , Naoki Sawada + * 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) diff --git a/elFinder.Net.Web/Content/elfinder/css/elfinder.full.css b/elFinder.Net.Web/Content/elfinder/css/elfinder.full.css index 4851bf5..2e96ec4 100644 --- a/elFinder.Net.Web/Content/elfinder/css/elfinder.full.css +++ b/elFinder.Net.Web/Content/elfinder/css/elfinder.full.css @@ -1,13 +1,13 @@ /*! * elFinder - file manager for web - * Version 2.1 (Nightly: 4df7296) (2013-04-25) + * Version 2.1.18 (2016-11-21) * http://elfinder.org * - * Copyright 2009-2012, Studio 42 - * Licensed under a 3 clauses BSD license + * Copyright 2009-2016, Studio 42 + * Licensed under a 3-clauses BSD license */ -/* File: /home/osc/elFinder-build/elFinder/css/commands.css */ +/* File: /css/commands.css */ /******************************************************************/ /* COMMANDS STYLES */ /******************************************************************/ @@ -15,8 +15,28 @@ /********************** COMMAND "RESIZE" ****************************/ .elfinder-dialog-resize { margin-top:.3em; } .elfinder-resize-type { float:left; margin-bottom: .4em; } -.elfinder-resize-control { padding-top:3em; } -.elfinder-resize-control input[type=text] { border:1px solid #aaa; text-align: right; } +.elfinder-resize-control { float: left; } +.elfinder-resize-control input[type=text] { + border:1px solid #aaa; + text-align: right; + width: 4em; +} +.elfinder-resize-control input.elfinder-resize-bg { + text-align: center; + width: 5em; + direction: ltr; +} +.elfinder-dialog-resize .elfinder-resize-imgrotate, +.elfinder-dialog-resize .elfinder-resize-pallet { + cursor: pointer; +} +.elfinder-dialog-resize .elfinder-resize-picking { + cursor: crosshair; +} +.elfinder-dialog-resize .elfinder-resize-grid8 + button { + padding-top: 2px; + padding-bottom: 2px; +} .elfinder-resize-preview { width:400px; height:400px; @@ -25,8 +45,9 @@ border:1px solid #aaa; float:right; position:relative; - overflow:auto; -/* z-index:100;*/ + overflow:hidden; + text-align: left; + direction: ltr; } .elfinder-resize-handle { position:relative;} @@ -122,20 +143,44 @@ background:url(../img/progress.gif) center bottom repeat-x; } -.elfinder-resize-row { margin-bottom:7px; position:relative;} +.elfinder-resize-row { margin-bottom:9px; position:relative;} .elfinder-resize-label { float:left; width:80px; padding-top: 3px; } -.elfinder-resize-reset { - width:16px; - height:16px; -/* border:1px solid #111;*/ - position:absolute; - margin-top:-8px; +.elfinder-resize-checkbox-label { border: 1px solid transparent; } + +.elfinder-dialog .elfinder-dialog-resize .elfinder-resize-whctrls { + margin: -20px 5px 0 5px; } +.elfinder-ltr .elfinder-dialog .elfinder-dialog-resize .elfinder-resize-whctrls { + float: right; +} +.elfinder-rtl .elfinder-dialog .elfinder-dialog-resize .elfinder-resize-whctrls { + float: left; +} + +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-e, +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-w { + height:100%; + width:10px; +} +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-s, +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-n { + width:100%; + height:10px; +} +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-e { margin-right: -7px; } +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-w { margin-left: -7px; } +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-s { margin-bottom: -7px; } +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-n { margin-top: -7px; } -.elfinder-dialog .elfinder-dialog-resize .ui-resizable-e { height:100%; width:10px; } -.elfinder-dialog .elfinder-dialog-resize .ui-resizable-s { width:100%; height:10px; } +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-se, +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-sw, +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-ne, +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-nw { + width: 10px; + height: 10px; +} .elfinder-dialog .elfinder-dialog-resize .ui-resizable-se { background:transparent; bottom:0; @@ -143,7 +188,40 @@ margin-right:-7px; margin-bottom:-7px; } +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-sw { + margin-left: -7px; + margin-bottom: -7px; +} +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-ne { + margin-right:-7px; + margin-top:-7px; +} +.elfinder-dialog .elfinder-dialog-resize .ui-resizable-nw { + margin-left: -7px; + margin-top: -7px; +} +.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-s, +.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-n { + height: 20px; +} +.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-e, +.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-w { + width: 20px; +} +.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-se, +.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-sw, +.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-ne, +.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-nw { + width: 30px; + height: 30px; +} +.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .elfinder-resize-preview .ui-resizable-se { + width: 30px; + height: 30px; + zoom: 1; + margin: 0; +} .elfinder-dialog-resize .ui-icon-grip-solid-vertical { position:absolute; top:50%; @@ -159,25 +237,69 @@ margin-bottom:-11px;; } -.elfinder-resize-row .elfinder-buttonset { float:right; } +.elfinder-dialog-resize .elfinder-resize-row .ui-buttonset { + float:right; +} -.elfinder-resize-rotate-slider { - float: left; +.elfinder-dialog-resize .elfinder-resize-degree input, +.elfinder-dialog-resize .elfinder-resize-quality input { + width: 2.5em; +} +.elfinder-dialog-resize .elfinder-resize-degree button.ui-button { + padding: 6px 8px; +} +.elfinder-dialog-resize button.ui-button span { + padding: 0; +} + +.ui-widget-content .elfinder-dialog-resize .elfinder-resize-rotate-slider { width: 195px; - margin: 7px 7px 0; + margin: 10px 7px; + background-color: #fafafa; +} + +.elfinder-dialog-resize .elfinder-resize-type span.ui-checkboxradio-icon { + display: none; } /********************** COMMAND "EDIT" ****************************/ /* edit text file textarea */ .elfinder-file-edit { - width:99%; + width:100%; height:99%; margin:0; padding:2px; border:1px solid #ccc; + box-sizing: border-box; +} +.elfinder-touch .elfinder-file-edit { + font-size: 16px; +} +/* bottom margen for softkeyboard on fullscreen mode */ +.elfinder-touch.elfinder-fullscreen-native textarea.elfinder-file-edit { + padding-bottom: 20em; + margin-bottom: -20em; } +/********************** COMMAND "SORT" ****************************/ +/* for list table header sort triangle icon */ +div.elfinder-cwd-wrapper-list tr.ui-state-default td { + position: relative; +} +div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon { + position: absolute; + top: 4px; + left: 0; + right: 0; + margin: auto 0px auto auto; +} +.elfinder-touch div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon { + top: 7px; +} +.elfinder-rtl div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon { + margin: auto auto auto 0px; +} /********************** COMMAND "HELP" ****************************/ /* help dialog */ .elfinder-help { margin-bottom:.5em; } @@ -262,16 +384,131 @@ top:45px; } +.elfinder-help-debug { + height:auto; + padding:0; + margin:0; + overflow:none; + border: none; +} + +.elfinder-help-debug .ui-tabs-panel { + height:310px; + padding: 0; + margin: 0; + overflow:auto; +} + +.elfinder-help-debug fieldset { + margin-bottom: 10px; + border-color: #778899; + border-radius: 10px; +} + +.elfinder-help-debug legend { + font-size: 1.2em; + font-weight: bold; + color: #2e8b57; +} + +.elfinder-help-debug dl { + margin: 0; +} + +.elfinder-help-debug dt { + color: #778899; +} + +.elfinder-help-debug dt:before { + content: "["; +} +.elfinder-help-debug dt:after { + content: "]"; +} + +.elfinder-help-debug dd { + margin-left: 1em; +} + +.elfinder-help-debug dd span { + /*font-size: 1.2em;*/ +} +/********************** COMMAND "INFO" ****************************/ +.elfinder-info-title .elfinder-cwd-bgurl:after { + left: -28px; +} +.elfinder-info-title .elfinder-cwd-icon-video:after { + left: -7px; +} +/********************** COMMAND "UPLOAD" ****************************/ +.elfinder-upload-dialog-wrapper .elfinder-upload-dirselect { + position: absolute; + bottom: 2px; + width: 16px; + height: 16px; + padding: 10px; + border: none; + overflow: hidden; + cursor: pointer; +} +.elfinder-ltr .elfinder-upload-dialog-wrapper .elfinder-upload-dirselect { + left: 2px; +} +.elfinder-rtl .elfinder-upload-dialog-wrapper .elfinder-upload-dirselect { + right: 2px; +} -/* File: /home/osc/elFinder-build/elFinder/css/common.css */ +/* File: /css/common.css */ /*********************************************/ /* COMMON ELFINDER STUFFS */ /*********************************************/ +/* for old jQuery UI */ +.ui-front { + z-index: 100; +} + /* common container */ -.elfinder { padding:0; position:relative; display:block; } +.elfinder { + padding: 0; + position:relative; + display:block; + font-size: 18px; + font-family: Verdana,Arial,Helvetica,sans-serif; +} + +/* in lazy execution status */ +.elfinder.elfinder-processing * { + cursor: progress !important +} +.elfinder.elfinder-processing.elfinder-touch .elfinder-workzone:after { + position: absolute; + top: 0; + width: 100%; + height: 3px; + content: ''; + left: 0; + background-image: url(../img/progress.gif); + opacity: .6; + pointer-events: none; +} + +/* for disable select of Touch devices */ +.elfinder *:not(input):not(textarea):not(select):not([contenteditable=true]), +.elfinder-contextmenu *:not(input):not(textarea):not(select):not([contenteditable=true]) { + -webkit-tap-highlight-color: rgba(0,0,0,0); + /*-webkit-touch-callout:none;*/ + -webkit-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + user-select: none; +} + +.elfinder .overflow-scrolling-touch { + -webkit-overflow-scrolling: touch; +} /* right to left enviroment */ .elfinder-rtl { text-align:right; direction:rtl; } @@ -284,6 +521,7 @@ } /* dir/file permissions and symlink markers */ +.elfinder-lock, .elfinder-perms, .elfinder-symlink { position:absolute; @@ -305,27 +543,49 @@ /* write only */ .elfinder-wo .elfinder-perms { background-position:0 -80px;} +/* volume type group */ +.elfinder-group .elfinder-perms { background-position:0 0px;} + +/* locked */ +.elfinder-lock { + background-position:0 -656px; +} + /* drag helper */ .elfinder-drag-helper { - width:60px; - height:50px; + top: 0px; + left: 0px; + width:70px; + height:60px; padding:0 0 0 25px; z-index:100000; + will-change: left, top; +} +.elfinder-drag-helper.html5-native { + position: absolute; + top: -1000px; + left: -1000px; } -/* drag helper "plus" icon */ -.elfinder-drag-helper-icon-plus { +/* drag helper status icon (default no-drop) */ +.elfinder-drag-helper-icon-status { position:absolute; width:16px; height:16px; - left:43px; - top:55px; - background:url('../img/toolbar.png') 0 -544px no-repeat; - display:none; + left:42px; + top:60px; + background:url('../img/toolbar.png') 0 -96px no-repeat; + display: block; } +/* show "up-arrow" icon for move item */ +.elfinder-drag-helper-move .elfinder-drag-helper-icon-status { + background-position:0 -720px; +} /* show "plus" icon when ctrl/shift pressed */ -.elfinder-drag-helper-plus .elfinder-drag-helper-icon-plus { display:block; } +.elfinder-drag-helper-plus .elfinder-drag-helper-icon-status { + background-position:0 -544px; +} /* files num in drag helper */ .elfinder-drag-num { @@ -348,8 +608,12 @@ /* icon in drag helper */ .elfinder-drag-helper .elfinder-cwd-icon { margin:0 0 0 -24px; float:left; } -/* transparent overlay >_< */ -.elfinder-overlay { opacity: 0; filter:Alpha(Opacity=0); } +/* transparent overlay */ +.elfinder-overlay { + position: absolute; + opacity: .2; + filter: Alpha(Opacity=20); +} /* panels under/below cwd (for search field etc) */ .elfinder .elfinder-panel { @@ -358,31 +622,62 @@ padding:7px 12px; } +/* for html5 drag and drop */ +[draggable=true] { + -khtml-user-drag: element; +} +/* for place holder to content editable elements */ +.elfinder [contentEditable=true]:empty:not(:focus):before { + content:attr(data-ph); +} +/* bottom tray */ +.elfinder div.elfinder-bottomtray { + position: fixed; + bottom: 0; + max-width:100%; + opacity: .8; +} +.elfinder.elfinder-ltr div.elfinder-bottomtray { + left: 0; +} +.elfinder.elfinder-rtl div.elfinder-bottomtray { + right: 0; +} - - -/* File: /home/osc/elFinder-build/elFinder/css/contextmenu.css */ +/* File: /css/contextmenu.css */ /* menu and submenu */ -.elfinder-contextmenu, -.elfinder-contextmenu-sub { - display:none; +.elfinder .elfinder-contextmenu, +.elfinder .elfinder-contextmenu-sub { position:absolute; border:1px solid #aaa; background:#fff; color:#555; padding:4px 0; + top: 0; + left: 0; } /* submenu */ -.elfinder-contextmenu-sub { top:5px; } +.elfinder .elfinder-contextmenu-sub { top:5px; } /* submenu in rtl/ltr enviroment */ -.elfinder-contextmenu-ltr .elfinder-contextmenu-sub { margin-left:-5px; } -.elfinder-contextmenu-rtl .elfinder-contextmenu-sub { margin-right:-5px; } +.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-sub { margin-left:-5px; } +.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-sub { margin-right:-5px; } /* menu item */ -.elfinder-contextmenu-item { +.elfinder .elfinder-contextmenu-header { + margin-top: -4px; + padding: 0 .5em .2ex; + border: none; + text-align: center; +} +.elfinder .elfinder-contextmenu-header span { + font-weight: normal; + font-size: 0.8em; + font-weight: bolder; +} +.elfinder .elfinder-contextmenu-item { position:relative; display:block; padding:4px 30px; @@ -390,51 +685,101 @@ white-space:nowrap; cursor:default; } -/* text in item */ -.elfinder-contextmenu .elfinder-contextmenu-item span { display:block; } +.elfinder .elfinder-contextmenu-item.ui-state-active { + border: none; +} +.elfinder .elfinder-contextmenu-item .ui-icon { + width:16px; + height:16px; + position:absolute; + left:auto; + right:auto; + top:50%; + margin-top:-8px; +} +.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-item .ui-icon { + left: 2px; +} +.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-item .ui-icon { + right: 2px; +} +.elfinder-touch .elfinder-contextmenu-item { + padding:12px 38px; +} +/* root icon of each volume */ +.elfinder-navbar-root-local.elfinder-contextmenu-icon { background-image:url("../img/volume_icon_local.png"); } +.elfinder-navbar-root-ftp.elfinder-contextmenu-icon { background-image:url("../img/volume_icon_ftp.png"); } +.elfinder-navbar-root-sql.elfinder-contextmenu-icon { background-image:url("../img/volume_icon_sql.png"); } +.elfinder-navbar-root-dropbox.elfinder-contextmenu-icon { background-image:url("../img/volume_icon_dropbox.png"); } +.elfinder-navbar-root-googledrive.elfinder-contextmenu-icon { background-image:url("../img/volume_icon_googledrive.png"); } +.elfinder-navbar-root-onedrive.elfinder-contextmenu-icon { background-image:url("../img/volume_icon_onedrive.png"); } +.elfinder-navbar-root-box.elfinder-contextmenu-icon { background-image:url("../img/volume_icon_box.png"); } +/* text in item */ +.elfinder .elfinder-contextmenu .elfinder-contextmenu-item span { display:block; } /* submenu item in rtl/ltr enviroment */ -.elfinder-contextmenu-ltr .elfinder-contextmenu-item { text-align:left; } -.elfinder-contextmenu-rtl .elfinder-contextmenu-item { text-align:right; } -.elfinder-contextmenu-ltr .elfinder-contextmenu-sub .elfinder-contextmenu-item { padding-left:12px; } -.elfinder-contextmenu-rtl .elfinder-contextmenu-sub .elfinder-contextmenu-item { padding-right:12px; } +.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-item { text-align:left; } +.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-item { text-align:right; } +.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-sub .elfinder-contextmenu-item { padding-left:12px; } +.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-sub .elfinder-contextmenu-item { padding-right:12px; } /* command/submenu icon */ -.elfinder-contextmenu-arrow, -.elfinder-contextmenu-icon { +.elfinder .elfinder-contextmenu-extra-icon, +.elfinder .elfinder-contextmenu-arrow, +.elfinder .elfinder-contextmenu-icon { position:absolute; top:50%; margin-top:-8px; + overflow: hidden; } /* command icon in rtl/ltr enviroment */ -.elfinder-contextmenu-ltr .elfinder-contextmenu-icon { left:8px; } -.elfinder-contextmenu-rtl .elfinder-contextmenu-icon { right:8px; } +.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-icon { left:8px; } +.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-icon { right:8px; } +.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-extra-icon { right:8px; } +.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-extra-icon { left:8px; } /* arrow icon */ -.elfinder-contextmenu-arrow { +.elfinder .elfinder-contextmenu-arrow { width:16px; height:16px; background:url('../img/arrows-normal.png') 5px 4px no-repeat; } /* arrow icon in rtl/ltr enviroment */ -.elfinder-contextmenu-ltr .elfinder-contextmenu-arrow { right:5px; } -.elfinder-contextmenu-rtl .elfinder-contextmenu-arrow { left:5px; background-position: 0 -10px; } +.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-arrow { right:5px; } +.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-arrow { left:5px; background-position: 0 -10px; } + +/* command extra icon's , tag */ +.elfinder .elfinder-contextmenu-extra-icon a, +.elfinder .elfinder-contextmenu-extra-icon span { + display: inline-block; + width: 100%; + height: 100%; + padding: 20px; + margin: 0; + color: transparent !important; + text-decoration: none; + cursor: pointer; +} /* disable ui border/bg image on hover */ -.elfinder-contextmenu .ui-state-hover { border:0 solid; background-image:none;} +.elfinder .elfinder-contextmenu .ui-state-hover { border:0 solid; background-image:none;} /* separator */ -.elfinder-contextmenu-separator { +.elfinder .elfinder-contextmenu-separator { height:0px; border-top:1px solid #ccc; margin:0 1px; } -/* File: /home/osc/elFinder-build/elFinder/css/cwd.css */ +/* for CSS style priority to ui-state-disabled - "background-image: none" */ +.elfinder .elfinder-button-icon.ui-state-disabled { + background-image: url('../img/toolbar.png') !important; +} +/* File: /css/cwd.css */ /******************************************************************/ /* CURRENT DIRECTORY STYLES */ /******************************************************************/ @@ -454,31 +799,111 @@ cursor:default; padding:0; margin:0; - -moz-user-select: -moz-none; - -khtml-user-select: none; - -webkit-user-select: none; - user-select: none; + -ms-touch-action: auto; + touch-action: auto; } /* container active on dropenter */ .elfinder .elfinder-cwd-wrapper.elfinder-droppable-active { - padding:0; - border:2px solid #8cafed; + outline: 2px solid #8cafed; + outline-offset: -2px; } +.elfinder-cwd-wrapper-empty .elfinder-cwd:after { + display: block; + position: absolute; + top: 40%; + left: 0; + right: 0; + margin-top: -2em; + line-height: 1.5em; + text-align: center; + white-space: pre-wrap; + opacity: 0.6; + filter: Alpha(Opacity=60); + font-weight: bold; +} + +.elfinder-cwd-file .elfinder-cwd-select { + position: absolute; + top: 0px; + left: 0px; + width: 30px; + height: 30px; + background-color: transparent; + opacity: .4; + filter:Alpha(Opacity=40); +} + +.elfinder-cwd-file.ui-selected .elfinder-cwd-select { + opacity: .8; + filter:Alpha(Opacity=80); +} +.elfinder-rtl .elfinder-cwd-file .elfinder-cwd-select { + left: auto; + right: 0px; +} + +.elfinder .elfinder-cwd-selectall { + position: absolute; + width: 30px; + height: 30px; + top: 0px; + opacity: .8; + filter:Alpha(Opacity=80); +} + +.elfinder .elfinder-workzone.elfinder-cwd-wrapper-empty .elfinder-cwd-selectall { + display: none; +} /************************** ICONS VIEW ********************************/ +.elfinder-ltr .elfinder-workzone .elfinder-cwd-selectall { + text-align: right; + right: 18px; + left: auto; +} + +.elfinder-rtl .elfinder-workzone .elfinder-cwd-selectall { + text-align: left; + right: auto; + left: 18px; +} + +.elfinder-ltr.elfinder-mobile .elfinder-workzone .elfinder-cwd-selectall { + right: 0px; +} + +.elfinder-rtl.elfinder-mobile .elfinder-workzone .elfinder-cwd-selectall { + left: 0px; +} + +.elfinder-cwd-view-icons .elfinder-cwd-file .elfinder-cwd-select.ui-state-hover { + background-color: transparent; +} + /* file container */ .elfinder-cwd-view-icons .elfinder-cwd-file { width:120px; height:80px; padding-bottom:2px; cursor:default; + border:none; /* overflow:hidden;*/ -/* position:relative;*/ + position:relative; } +/*.elfinder-cwd-view-icons .elfinder-cwd-file .elfinder-cwd-select { + top: 0px; + left: 0px; +}*/ + +/*.elfinder-rtl .elfinder-cwd-view-icons .elfinder-cwd-file .elfinder-cwd-select { + left: auto; + right: 7px; +}*/ + /* ltr/rtl enviroment */ .elfinder-ltr .elfinder-cwd-view-icons .elfinder-cwd-file { float:left; margin:0 3px 12px 0; } .elfinder-rtl .elfinder-cwd-view-icons .elfinder-cwd-file { float:right; margin:0 0 5px 3px; } @@ -497,20 +922,29 @@ /* file name place */ .elfinder-cwd-view-icons .elfinder-cwd-filename { - text-align:center; - white-space:pre; - overflow:hidden; - text-overflow:ellipsis; - -o-text-overflow:ellipsis; - margin:3px 1px 0 1px; - padding:1px; + text-align: center; + max-height: 2.4em; + line-height: 1.2em; + white-space: pre-line; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; + margin: 3px 1px 0 1px; + padding: 1px; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; + /* for webkit CSS3 */ + word-break: break-word; + overflow-wrap: break-word; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; } /* permissions/symlink markers */ .elfinder-cwd-view-icons .elfinder-perms { bottom:4px; right:2px; } +.elfinder-cwd-view-icons .elfinder-lock { top:-3px; right:-2px; } .elfinder-cwd-view-icons .elfinder-symlink { bottom:6px; left:0px; } /* icon/thumbnail */ @@ -525,23 +959,221 @@ background-clip: padding-box; } +/* volume icon of root in folder */ +.elfinder-navbar-root-local .elfinder-cwd-icon, +.elfinder-cwd .elfinder-navbar-root-local.elfinder-droppable-active .elfinder-cwd-icon, +.elfinder-cwd-view-list .elfinder-navbar-root-local td .elfinder-cwd-icon { + background-image:url("../img/volume_icon_local.png"); + background-position:0 0; + background-size: contain; +} +.elfinder-cwd .elfinder-navbar-root-local.elfinder-droppable-active .elfinder-cwd-icon { + background-position:1px -1px; +} +.elfinder-navbar-root-ftp .elfinder-cwd-icon, +.elfinder-cwd .elfinder-navbar-root-ftp.elfinder-droppable-active .elfinder-cwd-icon, +.elfinder-cwd-view-list .elfinder-navbar-root-ftp td .elfinder-cwd-icon { + background-image:url("../img/volume_icon_ftp.png"); + background-position:0 0; + background-size: contain; +} +.elfinder-cwd .elfinder-navbar-root-ftp.elfinder-droppable-active .elfinder-cwd-icon { + background-position:1px -1px; +} +.elfinder-navbar-root-sql .elfinder-cwd-icon, +.elfinder-cwd .elfinder-navbar-root-sql.elfinder-droppable-active .elfinder-cwd-icon, +.elfinder-cwd-view-list .elfinder-navbar-root-sql td .elfinder-cwd-icon { + background-image:url("../img/volume_icon_sql.png"); + background-position:0 0; + background-size: contain; +} +.elfinder-cwd .elfinder-navbar-root-sql.elfinder-droppable-active .elfinder-cwd-icon { + background-position:1px -1px; +} +.elfinder-navbar-root-dropbox .elfinder-cwd-icon, +.elfinder-cwd .elfinder-navbar-root-dropbox.elfinder-droppable-active .elfinder-cwd-icon, +.elfinder-cwd-view-list .elfinder-navbar-root-dropbox td .elfinder-cwd-icon { + background-image:url("../img/volume_icon_dropbox.png"); + background-position:0 0; + background-size: contain; +} +.elfinder-cwd .elfinder-navbar-root-dropbox.elfinder-droppable-active .elfinder-cwd-icon { + background-position:1px -1px; +} +.elfinder-navbar-root-googledrive .elfinder-cwd-icon, +.elfinder-cwd .elfinder-navbar-root-googledrive.elfinder-droppable-active .elfinder-cwd-icon, +.elfinder-cwd-view-list .elfinder-navbar-root-googledrive td .elfinder-cwd-icon { + background-image:url("../img/volume_icon_googledrive.png"); + background-position:0 0; + background-size: contain; +} +.elfinder-navbar-root-onedrive .elfinder-cwd-icon, +.elfinder-cwd .elfinder-navbar-root-onedrive.elfinder-droppable-active .elfinder-cwd-icon, +.elfinder-cwd-view-list .elfinder-navbar-root-onedrive td .elfinder-cwd-icon { + background-image:url("../img/volume_icon_onedrive.png"); + background-position:0 0; + background-size: contain; +} +.elfinder-navbar-root-box .elfinder-cwd-icon, +.elfinder-cwd .elfinder-navbar-root-box.elfinder-droppable-active .elfinder-cwd-icon, +.elfinder-cwd-view-list .elfinder-navbar-root-box td .elfinder-cwd-icon { + background-image:url("../img/volume_icon_box.png"); + background-position:0 0; + background-size: contain; +} +.elfinder-cwd .elfinder-navbar-root-googledrive.elfinder-droppable-active .elfinder-cwd-icon, +.elfinder-cwd .elfinder-navbar-root-onedrive.elfinder-droppable-active .elfinder-cwd-icon, +.elfinder-cwd .elfinder-navbar-root-box.elfinder-droppable-active .elfinder-cwd-icon { + background-position:1px -1px; +} +.elfinder-navbar-root-network .elfinder-cwd-icon, +.elfinder-cwd .elfinder-navbar-root-network.elfinder-droppable-active .elfinder-cwd-icon, +.elfinder-cwd-view-list .elfinder-navbar-root-network td .elfinder-cwd-icon { + background-image:url("../img/toolbar.png"); + background-position: 0 86%; + background-size: cover; +} +.elfinder-cwd .elfinder-navbar-root-network.elfinder-droppable-active .elfinder-cwd-icon { + background-position:1px -1px; +} + +/* thumbnail image */ +.elfinder-cwd-icon.elfinder-cwd-bgurl { + background-position: center center; + background-repeat: no-repeat; + -moz-background-size: contain; + background-size: contain; +} +/* thumbnail self */ +.elfinder-cwd-icon.elfinder-cwd-bgurl.elfinder-cwd-bgself { + -moz-background-size: cover; + background-size: cover; +} +/* thumbnail crop*/ +.elfinder-cwd-icon.elfinder-cwd-bgurl { + -moz-background-size: cover; + background-size: cover; +} +.elfinder-cwd-bgurl:after { + content: ' '; + position: relative; + display: inline-block; + top: 36px; + left: -38px; + width: 48px; + height: 48px; + background: url('../img/icons-big.png') 0 0 no-repeat; + background-size: auto !important; + opacity: .8; + filter: Alpha(Opacity=60); + -webkit-transform-origin: 54px -24px; + -webkit-transform: scale(.6); + -moz-transform-origin: 54px -24px; + -moz-transform: scale(.6); + -ms-transform-origin: 54px -24px; + -ms-transform: scale(.6); + -o-transform-origin: 54px -24px; + -o-transform: scale(.6); + transform-origin: 54px -24px; + transform: scale(.6); +} +/* thumbnail image overlay none */ +.elfinder-cwd-icon-image:after { + content: none; +} +/* thumbnail image video overlay */ +.elfinder-cwd-icon-video:after { + top: 32px; + left: -26px; + height: 25px; + width: 22px; + background-position: 0px -373px; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); +} + /* "opened folder" icon on dragover */ .elfinder-cwd .elfinder-droppable-active .elfinder-cwd-icon { background-position: 0 -100px; } +.elfinder-cwd .elfinder-droppable-active { + outline: 2px solid #8cafed; + outline-offset: -2px; +} /* mimetypes icons */ .elfinder-cwd-icon-directory { background-position:0 -50px; } + +.elfinder-cwd-icon-application:after, .elfinder-cwd-icon-application { background-position:0 -150px; } + +.elfinder-cwd-icon-x-empty:after, +.elfinder-cwd-icon-text:after, .elfinder-cwd-icon-x-empty, .elfinder-cwd-icon-text { background-position:0 -200px; } + +.elfinder-cwd-icon-image:after, +.elfinder-cwd-icon-vnd-adobe-photoshop:after, +.elfinder-cwd-icon-postscript:after, .elfinder-cwd-icon-image, .elfinder-cwd-icon-vnd-adobe-photoshop, .elfinder-cwd-icon-postscript { background-position:0 -250px; } + +.elfinder-cwd-icon-audio:after, .elfinder-cwd-icon-audio { background-position:0 -300px; } + .elfinder-cwd-icon-video, .elfinder-cwd-icon-flash-video { background-position:0 -350px; } + +.elfinder-cwd-icon-rtf:after, +.elfinder-cwd-icon-rtfd:after, .elfinder-cwd-icon-rtf, .elfinder-cwd-icon-rtfd { background-position: 0 -401px; } + +.elfinder-cwd-icon-pdf:after, .elfinder-cwd-icon-pdf { background-position: 0 -450px; } + +.elfinder-cwd-icon-ms-excel:after, +.elfinder-cwd-icon-msword:after, +.elfinder-cwd-icon-vnd-ms-excel:after, +.elfinder-cwd-icon-vnd-ms-excel-addin-macroEnabled-12:after, +.elfinder-cwd-icon-vnd-ms-excel-sheet-binary-macroEnabled-12:after, +.elfinder-cwd-icon-vnd-ms-excel-sheet-macroEnabled-12:after, +.elfinder-cwd-icon-vnd-ms-excel-template-macroEnabled-12:after, +.elfinder-cwd-icon-vnd-ms-office:after, +.elfinder-cwd-icon-vnd-ms-powerpoint:after, +.elfinder-cwd-icon-vnd-ms-powerpoint-addin-macroEnabled-12:after, +.elfinder-cwd-icon-vnd-ms-powerpoint-presentation-macroEnabled-12:after, +.elfinder-cwd-icon-vnd-ms-powerpoint-slide-macroEnabled-12:after, +.elfinder-cwd-icon-vnd-ms-powerpoint-slideshow-macroEnabled-12:after, +.elfinder-cwd-icon-vnd-ms-powerpoint-template-macroEnabled-12:after, +.elfinder-cwd-icon-vnd-ms-word:after, +.elfinder-cwd-icon-vnd-ms-word-document-macroEnabled-12:after, +.elfinder-cwd-icon-vnd-ms-word-template-macroEnabled-12:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-chart:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-database:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-formula:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-graphics:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-graphics-template:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-image:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-presentation:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-presentation-template:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet-template:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-text:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-text-master:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-text-template:after, +.elfinder-cwd-icon-vnd-oasis-opendocument-text-web:after, +.elfinder-cwd-icon-vnd-openofficeorg-extension:after, +.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-presentation:after, +.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slide:after, +.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slideshow:after, +.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-template:after, +.elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-sheet:after, +.elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-template:after, +.elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-document:after, +.elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-template:after, .elfinder-cwd-icon-ms-excel, .elfinder-cwd-icon-msword, .elfinder-cwd-icon-vnd-ms-excel, @@ -582,15 +1214,41 @@ .elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-template, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-document, .elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-template { background-position: 0 -500px; } + +.elfinder-cwd-icon-html:after, .elfinder-cwd-icon-html { background-position: 0 -550px; } + +.elfinder-cwd-icon-css:after, .elfinder-cwd-icon-css { background-position: 0 -600px; } + +.elfinder-cwd-icon-javascript:after, +.elfinder-cwd-icon-x-javascript:after, .elfinder-cwd-icon-javascript, .elfinder-cwd-icon-x-javascript { background-position: 0 -650px; } + +.elfinder-cwd-icon-x-perl:after, .elfinder-cwd-icon-x-perl { background-position: 0 -700px; } + +.elfinder-cwd-icon-x-python:after, .elfinder-cwd-icon-x-python { background-position: 0 -750px; } + +.elfinder-cwd-icon-x-ruby:after, .elfinder-cwd-icon-x-ruby { background-position: 0 -800px; } + + +.elfinder-cwd-icon-x-sh:after, +.elfinder-cwd-icon-x-shellscript:after, .elfinder-cwd-icon-x-sh, .elfinder-cwd-icon-x-shellscript { background-position: 0 -850px; } + +.elfinder-cwd-icon-x-c:after, +.elfinder-cwd-icon-x-csrc:after, +.elfinder-cwd-icon-x-chdr:after, +.elfinder-cwd-icon-x-c--:after, +.elfinder-cwd-icon-x-c--src:after, +.elfinder-cwd-icon-x-c--hdr:after, +.elfinder-cwd-icon-x-java:after, +.elfinder-cwd-icon-x-java-source:after, .elfinder-cwd-icon-x-c, .elfinder-cwd-icon-x-csrc, .elfinder-cwd-icon-x-chdr, @@ -599,23 +1257,54 @@ .elfinder-cwd-icon-x-c--hdr, .elfinder-cwd-icon-x-java, .elfinder-cwd-icon-x-java-source { background-position: 0 -900px; } + +.elfinder-cwd-icon-x-php:after, .elfinder-cwd-icon-x-php { background-position: 0 -950px; } + +.elfinder-cwd-icon-xml:after, .elfinder-cwd-icon-xml { background-position: 0 -1000px; } + +.elfinder-cwd-icon-zip:after, +.elfinder-cwd-icon-x-zip:after, +.elfinder-cwd-icon-x-xz:after, +.elfinder-cwd-icon-x-7z-compressed:after, .elfinder-cwd-icon-zip, .elfinder-cwd-icon-x-zip, +.elfinder-cwd-icon-x-xz, .elfinder-cwd-icon-x-7z-compressed { background-position: 0 -1050px; } + +.elfinder-cwd-icon-x-gzip:after, +.elfinder-cwd-icon-x-tar:after, .elfinder-cwd-icon-x-gzip, .elfinder-cwd-icon-x-tar { background-position: 0 -1100px; } + +.elfinder-cwd-icon-x-bzip:after, +.elfinder-cwd-icon-x-bzip2:after, .elfinder-cwd-icon-x-bzip, .elfinder-cwd-icon-x-bzip2 { background-position: 0 -1150px; } + +.elfinder-cwd-icon-x-rar:after, +.elfinder-cwd-icon-x-rar-compressed:after, .elfinder-cwd-icon-x-rar, .elfinder-cwd-icon-x-rar-compressed { background-position: 0 -1200px; } + +.elfinder-cwd-icon-x-shockwave-flash:after, .elfinder-cwd-icon-x-shockwave-flash { background-position: 0 -1250px; } + .elfinder-cwd-icon-group { background-position:0 -1300px;} /* textfield inside icon */ -.elfinder-cwd input { width:100%; border:0px solid; margin:0; padding:0; } +.elfinder-cwd-filename input { width:100%; border:none; margin:0; padding:0; } .elfinder-cwd-view-icons input {text-align:center; } +.elfinder-cwd-view-icons textarea { + width: 100%; + border: 0px solid; + margin: 0; + padding: 0; + text-align: center; + overflow: hidden; + resize: none; +} .elfinder-cwd-view-icons { text-align:center; } @@ -624,17 +1313,123 @@ /*.elfinder-cwd-view-list { padding:0 0 4px 0; }*/ -.elfinder-cwd table { width:100%; border-collapse:collapse; border:0 solid; margin:0 0 10px 0; } +.elfinder-cwd-wrapper.elfinder-cwd-fixheader .elfinder-cwd::after { + display: none; +} + +.elfinder-cwd table { + width: 100%; + border-collapse: separate; + border: 0 solid; + margin: 0 0 10px 0; + border-spacing: 0; + box-sizing: padding-box; + padding: 2px; + position: relative; +} + +.elfinder-cwd-wrapper-list.elfinder-cwd-fixheader { + position: absolute; + overflow: hidden; +} + +.elfinder-cwd-wrapper-list.elfinder-cwd-fixheader:before { + content: ''; + position: absolute; + width: 100%; + top: 0; + height: 3px; + background-color: white; +} +.elfinder-droppable-active + .elfinder-cwd-wrapper-list.elfinder-cwd-fixheader:before { + background-color: #8cafed; +} + +.elfinder .elfinder-workzone div.elfinder-cwd-fixheader table { + table-layout: fixed; +} + +.elfinder .elfinder-cwd table tbody.elfinder-cwd-fixheader { + position: relative; +} + +.elfinder-ltr .elfinder-cwd thead .elfinder-cwd-selectall { + text-align: left; + right: auto; + left: 0px; + padding-top: 3px; +} + +.elfinder-rtl .elfinder-cwd thead .elfinder-cwd-selectall { + text-align: right; + right: 0px; + left: auto; + padding-top: 3px; +} + +.elfinder-touch .elfinder-cwd thead .elfinder-cwd-selectall { + padding-top: 5px; +} + .elfinder .elfinder-cwd table thead tr { border-left:0 solid; border-top:0 solid; border-right:0 solid; } +.elfinder .elfinder-cwd table thead td { + padding: 4px 14px; +} +.elfinder-ltr .elfinder-cwd.elfinder-has-checkbox table thead td:first-child { + padding: 4px 14px 4px 22px; +} +.elfinder-rtl .elfinder-cwd.elfinder-has-checkbox table thead td:first-child { + padding: 4px 22px 4px 14px; +} + +.elfinder .elfinder-cwd table thead td.ui-state-active { + background: #ebf1f6; + background: -moz-linear-gradient(top, #ebf1f6 0%, #abd3ee 50%, #89c3eb 51%, #d5ebfb 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ebf1f6), color-stop(50%,#abd3ee), color-stop(51%,#89c3eb), color-stop(100%,#d5ebfb)); + background: -webkit-linear-gradient(top, #ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%); + background: -o-linear-gradient(top, #ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%); + background: -ms-linear-gradient(top, #ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%); + background: linear-gradient(to bottom, #ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ebf1f6', endColorstr='#d5ebfb',GradientType=0 ); +} + .elfinder .elfinder-cwd table td { - padding:3px 12px; + padding:4px 12px; white-space:pre; overflow:hidden; text-align:right; cursor:default; border:0 solid; - +} + +.elfinder .elfinder-cwd table tbody td:first-child { + position: relative +} + +.elfinder .elfinder-cwd table td div { + box-sizing: content-box; +} + +tr.elfinder-cwd-file td .elfinder-cwd-select { + width: 40px; + padding-top: 3px; +} + +.elfinder-touch tr.elfinder-cwd-file td .elfinder-cwd-select { + padding-top: 10px; +} + +.elfinder-touch .elfinder-cwd tr td { + padding: 10px 12px; +} + +.elfinder-touch .elfinder-cwd table thead td { + padding: 8px 14px; +} + +.elfinder-touch .elfinder-cwd tr.elfinder-cwd-file td { + padding: 13px 12px; } .elfinder-ltr .elfinder-cwd table td { text-align:right; } @@ -647,15 +1442,23 @@ /* filename container */ .elfinder-cwd-view-list .elfinder-cwd-file-wrapper { width:97%; position:relative; } /* filename container in ltr/rtl enviroment */ -.elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-file-wrapper { padding-left:23px; } -.elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-file-wrapper { padding-right:23px; } +.elfinder-ltr .elfinder-cwd-view-list.elfinder-has-checkbox .elfinder-cwd-file-wrapper { margin-left: 8px; } +.elfinder-rtl .elfinder-cwd-view-list.elfinder-has-checkbox .elfinder-cwd-file-wrapper { margin-right: 8px; } +.elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-filename { padding-left:23px; } +.elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-filename { padding-right:23px; } /* premissions/symlink marker */ .elfinder-cwd-view-list .elfinder-perms, -.elfinder-cwd-view-list .elfinder-symlink { top:50%; margin-top:-6px; } +.elfinder-cwd-view-list .elfinder-lock, +.elfinder-cwd-view-list .elfinder-symlink { + margin-top:-6px; + opacity: .6; + filter:Alpha(Opacity=60); +} /* markers in ltr/rtl enviroment */ -.elfinder-ltr .elfinder-cwd-view-list .elfinder-perms { left:7px; } -.elfinder-ltr .elfinder-cwd-view-list .elfinder-symlink { left:-7px; } +.elfinder-ltr .elfinder-cwd-view-list .elfinder-perms { left:8px; bottom:-4px; } +.elfinder-ltr .elfinder-cwd-view-list .elfinder-lock { left:10px; top:0px; } +.elfinder-ltr .elfinder-cwd-view-list .elfinder-symlink { left:-7px; bottom:-4px; } /* file icon */ .elfinder-cwd-view-list td .elfinder-cwd-icon { @@ -670,9 +1473,38 @@ .elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-icon { left:0; } .elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-icon { right:0; } +/* thumbnail image video overlay */ +.elfinder-cwd-view-list .elfinder-cwd-icon.elfinder-cwd-icon-video.elfinder-cwd-bgurl:after { + content: none; +} +/* table header resize handle */ +.elfinder-cwd-view-list thead td .ui-resizable-handle { + height: 100%; + top: 3px; +} +.elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-handle { + top: -5px; + margin: 10px; +} +.elfinder-cwd-view-list thead td .ui-resizable-e { + right: -7px; +} +.elfinder-cwd-view-list thead td .ui-resizable-w { + left: -7px; +} +.elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-e { + right: -16px; +} +.elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-w { + left: -16px; +} -/* File: /home/osc/elFinder-build/elFinder/css/dialog.css */ +/* empty message */ +.elfinder-cwd-wrapper-empty .elfinder-cwd-view-list.elfinder-cwd:after { + margin-top: 0; +} +/* File: /css/dialog.css */ /*********************************************/ /* DIALOGS STYLES */ /*********************************************/ @@ -684,6 +1516,15 @@ left:auto; right:auto; } +.std42-dialog.elfinder-dialog-minimized { + overFlow: hidden; + position: relative; + float: left; + width: auto; +} +.elfinder-rtl .std42-dialog.elfinder-dialog-minimized { + float: right; +} /* titlebar */ .std42-dialog .ui-dialog-titlebar { @@ -699,27 +1540,140 @@ font-weight:normal; padding:.2em 1em; } +.std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar { + padding: 0 .5em; + height: 20px; +} +.elfinder-touch .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar { + padding:.3em .5em; +} +.std42-dialog.ui-draggable-disabled .ui-dialog-titlebar { + cursor: default; +} + +.std42-dialog .ui-dialog-titlebar .ui-widget-header { + border : none; + cursor: pointer; +} + +.std42-dialog .ui-dialog-titlebar span.elfinder-dialog-title { + display: inherit; + word-break: break-all; +} +.std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar span.elfinder-dialog-title { + display: list-item; + display: -moz-inline-box; + white-space: nowrap; + word-break: normal; + overflow: hidden; + word-wrap: normal; + overflow-wrap: normal; + max-width: -webkit-calc(100% - 24px); + max-width: -moz-calc(100% - 24px); + max-width: calc(100% - 24px); +} +.elfinder-touch .std42-dialog .ui-dialog-titlebar span.elfinder-dialog-title { + padding-top: .15em; +} +.elfinder-touch .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar span.elfinder-dialog-title { + max-width: -webkit-calc(100% - 36px); + max-width: -moz-calc(100% - 36px); + max-width: calc(100% - 36px); +} + +.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button { + position: relative; + float: left; + top: 10px; + left: -10px; + right: 10px; + width: 20px; + height: 20px; + padding:1px; + margin: -10px 1px 0 1px; + background-color: transparent; + background-image: none; +} +.elfinder-touch .std42-dialog/*:not(.elfinder-dialog-minimized)*/ .ui-dialog-titlebar .elfinder-titlebar-button { + transform: scale(1.1); + zoom: 1.1; + margin-left: 5px; + margin-right: 5px; +} +.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button.elfinder-titlebar-button-right { + float: right; + left: 10px; + right: -10px; +} +.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon { + width: 17px; + height: 17px; + border-width: 1px; + border-color: transparent; + opacity: .7; + filter:Alpha(Opacity=70); + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; +} +.std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon { + opacity: 1; + filter:Alpha(Opacity=100); +} +.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 { + background-color: #ff6252; + border-color: #e5695d; +} +.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-minimize:hover .ui-icon, +.elfinder-mobile .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-minimize .ui-icon { + background-color: #ffbc00; + border-color: #e3a40b; +} +.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-full:hover .ui-icon, +.elfinder-mobile .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-full .ui-icon { + background-color: #26c82f; + border-color: #13ae10; +} -.std42-dialog .ui-dialog-titlebar-close, -.std42-dialog .ui-dialog-titlebar-close:hover { padding:1px; } +/* resize handle for touch devices */ +.elfinder-touch .std42-dialog.ui-dialog:not(ui-resizable-disabled) .ui-resizable-se { + width: 12px; + height: 12px; + zoom: 1.5; + right: -7px; + bottom: -7px; + margin: 3px 7px 7px 3px; + background-position: -64px -224px; +} .elfinder-rtl .elfinder-dialog .ui-dialog-titlebar { text-align:right; } -.elfinder-rtl .elfinder-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close { right:auto; left:.3em; } /* content */ .std42-dialog .ui-dialog-content { padding:.3em .5em; + box-sizing: border-box; +} +.elfinder .std42-dialog .ui-dialog-content, +.elfinder .std42-dialog .ui-dialog-content * { + -webkit-user-select: auto; + -moz-user-select: text; + -khtml-user-select: text; + user-select: text; } /* buttons */ .std42-dialog .ui-dialog-buttonpane { - border:0 solid; - margin:0; - padding:.5em .7em; + border: 0 solid; + margin: 0; + padding: .5em; + text-align: right; } +.elfinder-rtl .std42-dialog .ui-dialog-buttonpane { text-align: left; } -.std42-dialog .ui-dialog-buttonpane button { margin:0 0 0 .4em; padding:0; outline:0px solid; } +.std42-dialog .ui-dialog-buttonpane button { margin:.7em 0 0 .4em; padding: .2em; outline:0px solid; } .std42-dialog .ui-dialog-buttonpane button span { padding:2px 9px; } +.std42-dialog .ui-dialog-buttonpane button span.ui-icon { padding: 2px; } .elfinder-dialog .ui-resizable-e, .elfinder-dialog .ui-resizable-s { width:0; height:0;} @@ -731,13 +1685,13 @@ position:absolute; width:32px; height:32px; - left:12px; + left:10px; top:50%; margin-top:-15px; background:url("../img/dialogs.png") 0 0 no-repeat; } -.elfinder-rtl .elfinder-dialog-icon { left:auto; right:12px;} +.elfinder-rtl .elfinder-dialog-icon { left:auto; right:10px;} @@ -764,8 +1718,8 @@ overflow:hidden; } -.elfinder-ltr .elfinder-notify { padding-left:30px; } -.elfinder-rtl .elfinder-notify { padding-right:30px; } +.elfinder-ltr .elfinder-notify { padding-left:36px; } +.elfinder-rtl .elfinder-notify { padding-right:36px; } .elfinder-notify:last-child { border:0 solid; } @@ -793,6 +1747,7 @@ /* icons */ .elfinder-dialog-icon-open, +.elfinder-dialog-icon-readdir, .elfinder-dialog-icon-file { background-position: 0 -225px; } .elfinder-dialog-icon-reload { background-position: 0 -225px; } .elfinder-dialog-icon-mkdir { background-position: 0 -64px; } @@ -801,21 +1756,36 @@ .elfinder-dialog-icon-prepare, .elfinder-dialog-icon-move { background-position: 0 -128px;} .elfinder-dialog-icon-upload { background-position: 0 -160px; } +.elfinder-dialog-icon-chunkmerge { background-position: 0 -160px; } .elfinder-dialog-icon-rm { background-position: 0 -192px; } .elfinder-dialog-icon-download { background-position: 0 -260px; } .elfinder-dialog-icon-save { background-position: 0 -295px; } .elfinder-dialog-icon-rename { background-position: 0 -330px; } +.elfinder-dialog-icon-zipdl, .elfinder-dialog-icon-archive, .elfinder-dialog-icon-extract { background-position: 0 -365px; } .elfinder-dialog-icon-search { background-position: 0 -402px; } +.elfinder-dialog-icon-resize, +.elfinder-dialog-icon-loadimg, +.elfinder-dialog-icon-netmount, +.elfinder-dialog-icon-netunmount, +.elfinder-dialog-icon-chmod, +.elfinder-dialog-icon-preupload, +.elfinder-dialog-icon-url, +.elfinder-dialog-icon-dim { background-position: 0 -434px; } /*********************** CONFIRM DIALOG **************************/ -.elfinder-dialog-confirm-applyall { padding-top:3px; } +.elfinder-dialog-confirm-applyall { + padding: 0 1em; + margin: 0; +} +.elfinder-ltr .elfinder-dialog-confirm-applyall { text-align: left; } +.elfinder-rtl .elfinder-dialog-confirm-applyall { text-align: right; } .elfinder-dialog-confirm .elfinder-dialog-icon { background-position:0 -32px; } - +.elfinder-dialog-confirm .ui-dialog-buttonset { width: auto; } /*********************** FILE INFO DIALOG **************************/ @@ -827,6 +1797,12 @@ margin-right:1em; } +.elfinder-rtl .elfinder-info-title .elfinder-cwd-icon { + float: right; + margin-right: 0; + margin-left: 1em; +} + .elfinder-info-title strong { display:block; padding:.3em 0 .5em 0; } .elfinder-info-tb { @@ -851,13 +1827,27 @@ } .elfinder-netmount-tb { margin:0 auto; } +.elfinder-netmount-tb select, .elfinder-netmount-tb input { border:1px solid #ccc; } +.elfinder-netmount-tb .elfinder-button-icon { cursor: pointer; } + +button.elfinder-info-button { + margin: -3.5px 0; + cursor: pointer; +} + /*********************** UPLOAD DIALOG **************************/ .elfinder-upload-dropbox { + display: table-cell; text-align:center; - padding:2em 0; + vertical-align: middle; + padding:0.5em; border:3px dashed #aaa; + width: 9999px; + height: 80px; + overflow: hidden; + word-break: keep-all; } .elfinder-upload-dropbox.ui-state-hover { @@ -912,9 +1902,38 @@ .elfinder-rtl .dialogelfinder-drag-close { left:12px; } +/*********************** RM CONFIRM **************************/ +.elfinder-rm-title { + margin-bottom: .5ex; +} -/* File: /home/osc/elFinder-build/elFinder/css/fonts.css */ -.elfinder-contextmenu .elfinder-contextmenu-item span { font-size:.76em; } +.elfinder-rm-title .elfinder-cwd-icon { + float:left; + width:48px; + height:48px; + margin-right:1em; +} + +.elfinder-rtl .elfinder-rm-title .elfinder-cwd-icon { + float: right; + margin-right: 0; + margin-left: 1em; +} + +.elfinder-rm-title strong { + display: block; + /*word-wrap: break-word;*/ + white-space: pre-wrap; + word-break: normal; + overflow: hidden; + text-overflow: ellipsis; +} + +.elfinder-rm-title+br { + display: none; +} +/* File: /css/fonts.css */ +.elfinder-contextmenu .elfinder-contextmenu-item span { font-size:.72em; } .elfinder-cwd-view-icons .elfinder-cwd-filename { font-size:.7em; } .elfinder-cwd-view-list td { font-size:.7em; } @@ -935,9 +1954,10 @@ .elfinder-button-search input { font-size:.8em; } .elfinder-statusbar div { font-size:.7em; } .elfinder-drag-num { font-size:12px; } +.elfinder-toast { font-size:.76em; } -/* File: /home/osc/elFinder-build/elFinder/css/navbar.css */ +/* File: /css/navbar.css */ /*********************************************/ /* NAVIGATION PANEL */ /*********************************************/ @@ -950,13 +1970,7 @@ border-top:0 solid; border-bottom:0 solid; overflow:auto; - display:none; position:relative; - -moz-user-select: none; - -khtml-user-select: none; - -webkit-user-select: none; - user-select: none; -/* border:1px solid #111;*/ } @@ -966,7 +1980,10 @@ .elfinder-ltr .ui-resizable-e { margin-left:10px; } /* folders tree container */ -.elfinder-tree { display:table; width:100%; margin: 0 0 .5em 0; } +.elfinder-tree { + display:table; width:100%; margin: 0 0 .5em 0; + -webkit-tap-highlight-color:rgba(0,0,0,0); +} /* one folder wrapper */ .elfinder-navbar-wrapper, .elfinder-place-wrapper { } @@ -981,7 +1998,9 @@ outline:0px solid; border:1px solid transparent; cursor:default; - +} +.elfinder-touch .elfinder-navbar-dir { + padding: 12px 12px; } /* ltr/rtl enviroment */ @@ -1000,6 +2019,26 @@ background-repeat:no-repeat; /* border:1px solid #111;*/ } +.elfinder-ltr .elfinder-navbar-arrow { + left: 0; +} +.elfinder-ltr .elfinder-navbar-arrow { + right:0; +} +.elfinder-touch .elfinder-navbar-arrow { + zoom: 1.4; + -moz-transform-origin: top left; + -moz-transform: scale(1.4); + margin-bottom: 7px; +} +.elfinder-ltr.elfinder-touch .elfinder-navbar-arrow { + left: -3px; + margin-right: 20px; +} +.elfinder-rtl.elfinder-touch .elfinder-navbar-arrow { + right: -3px; + margin-left: 20px; +} .ui-state-active .elfinder-navbar-arrow { background-image:url("../img/arrows-active.png"); } @@ -1007,8 +2046,8 @@ .elfinder-navbar-collapsed .elfinder-navbar-arrow { display:block; } /* arrow ltr/rtl enviroment */ -.elfinder-ltr .elfinder-navbar-collapsed .elfinder-navbar-arrow { background-position: 0 4px; left:0; } -.elfinder-rtl .elfinder-navbar-collapsed .elfinder-navbar-arrow { background-position: 0 -10px; right:0; } +.elfinder-ltr .elfinder-navbar-collapsed .elfinder-navbar-arrow { background-position: 0 4px;} +.elfinder-rtl .elfinder-navbar-collapsed .elfinder-navbar-arrow { background-position: 0 -10px; } .elfinder-ltr .elfinder-navbar-expanded .elfinder-navbar-arrow, .elfinder-rtl .elfinder-navbar-expanded .elfinder-navbar-arrow { background-position:0 -21px; } @@ -1031,16 +2070,23 @@ /* root folder */ .elfinder-tree .elfinder-navbar-root .elfinder-navbar-icon { background-position:0 0; } -.elfinder-places .elfinder-navbar-root .elfinder-navbar-icon { background-position:0 -48px; } +.elfinder-places .elfinder-navbar-root .elfinder-navbar-icon { background-position:0 -704px; } + +/* root icon of each volume */ +.elfinder-tree .elfinder-navbar-root-local .elfinder-navbar-icon { background-image:url("../img/volume_icon_local.png"); background-position:0 0; } +.elfinder-tree .elfinder-navbar-root-ftp .elfinder-navbar-icon { background-image:url("../img/volume_icon_ftp.png"); background-position:0 0; } +.elfinder-tree .elfinder-navbar-root-sql .elfinder-navbar-icon { background-image:url("../img/volume_icon_sql.png"); background-position:0 0; } +.elfinder-tree .elfinder-navbar-root-dropbox .elfinder-navbar-icon { background-image:url("../img/volume_icon_dropbox.png"); background-position:0 0; } +.elfinder-tree .elfinder-navbar-root-googledrive .elfinder-navbar-icon { background-image:url("../img/volume_icon_googledrive.png"); background-position:0 0; } +.elfinder-tree .elfinder-navbar-root-onedrive .elfinder-navbar-icon { background-image:url("../img/volume_icon_onedrive.png"); background-position:0 0; } +.elfinder-tree .elfinder-navbar-root-box .elfinder-navbar-icon { background-image:url("../img/volume_icon_box.png"); background-position:0 0; } +.elfinder-tree .elfinder-navbar-root-network .elfinder-navbar-icon { background-image:url("../img/toolbar.png"); background-position: 0 -688px; } /* icon in active/hove/dropactive state */ .ui-state-active .elfinder-navbar-icon, .elfinder-droppable-active .elfinder-navbar-icon, .ui-state-hover .elfinder-navbar-icon { background-position:0 -32px; } -/* subdirs tree */ -.elfinder-navbar-subtree { display:none; } - /* ltr/rtl enviroment */ .elfinder-ltr .elfinder-navbar-subtree { margin-left:12px; } .elfinder-rtl .elfinder-navbar-subtree { margin-right:12px; } @@ -1060,17 +2106,30 @@ .elfinder-ltr .elfinder-navbar-spinner { left:0; margin-left:-2px; } .elfinder-rtl .elfinder-navbar-spinner { right:0; margin-right:-2px; } +/* marker */ +.elfinder-navbar .elfinder-perms, +.elfinder-navbar .elfinder-lock, +.elfinder-navbar .elfinder-symlink { opacity: .6; filter:Alpha(Opacity=60); } + /* permissions marker */ -.elfinder-navbar .elfinder-perms { top:50%; margin-top:-8px; } +.elfinder-navbar .elfinder-perms { bottom:-1px; margin-top:-8px; } + +/* locked marker */ +.elfinder-navbar .elfinder-lock { top:-2px; } /* permissions/symlink markers ltr/rtl enviroment */ -.elfinder-ltr .elfinder-navbar .elfinder-perms { left: 18px; } -.elfinder-rtl .elfinder-navbar .elfinder-perms { right: 18px; } +.elfinder-ltr .elfinder-navbar .elfinder-perms { left: 20px; } +.elfinder-rtl .elfinder-navbar .elfinder-perms { right: 20px; } +.elfinder-ltr .elfinder-navbar .elfinder-lock { left: 20px; } +.elfinder-rtl .elfinder-navbar .elfinder-lock { right: 20px; } .elfinder-ltr .elfinder-navbar .elfinder-symlink { left: 8px; } .elfinder-rtl .elfinder-navbar .elfinder-symlink { right: 8px; } +/* navbar input */ +.elfinder-navbar input { width:100%; border:0px solid; margin:0; padding:0; } + /* resizable */ -.elfinder-navbar .ui-resizable-handle { width:12px; background:transparent url('../img/resize.png') center center no-repeat; left:0; } +.elfinder-navbar .ui-resizable-handle { width:12px; background:transparent url('../img/resize.png') center center no-repeat; } .elfinder-nav-handle-icon { position:absolute; top:50%; @@ -1078,25 +2137,72 @@ opacity: .5; filter:Alpha(Opacity=50); } -.elfinder-places { border:1px solid transparent;} +.elfinder-places { + border: none; + margin: 0; + padding: 0; +} .elfinder-places.elfinder-droppable-active { - border:1px solid #8cafed; + /*border:1px solid #8cafed;*/ } +/* navbar swipe handle */ +.elfinder-navbar-swipe-handle { + position: absolute; + top: 0px; + height: 100%; + width: 50px; + pointer-events: none; +} +.elfinder-ltr .elfinder-navbar-swipe-handle { + left: 0px; + background: linear-gradient(to right, + rgba(221,228,235,1) 0, + rgba(221,228,235,0.8) 5px, + rgba(216,223,230,0.3) 8px, + rgba(0,0,0,0.1) 95%, + rgba(0,0,0,0) 100%); +} +.elfinder-rtl .elfinder-navbar-swipe-handle { + right: 0px; + background: linear-gradient(to left, + rgba(221,228,235,1) 0, + rgba(221,228,235,0.8) 5px, + rgba(216,223,230,0.3) 8px, + rgba(0,0,0,0.1) 95%, + rgba(0,0,0,0) 100%); +} +/* File: /css/places.css */ +/*********************************************/ +/* PLACES STYLES */ +/*********************************************/ +/* root extra icon */ +.elfinder-navbar-root .elfinder-places-root-icon { + position: absolute; + top: 50%; + margin-top: -9px; + cursor: pointer; +} +.elfinder-ltr .elfinder-places-root-icon { + right: 10px; +} +.elfinder-rtl .elfinder-places-root-icon { + left: 10px; +} +.elfinder-navbar-expanded .elfinder-places-root-icon { + display: block; +} +/* dragging helper base */ +.elfinder-place-drag { + font-size: 0.8em; +} - - - - -/* File: /home/osc/elFinder-build/elFinder/css/places.css */ - -/* File: /home/osc/elFinder-build/elFinder/css/quicklook.css */ +/* File: /css/quicklook.css */ /* quicklook window */ .elfinder-quicklook { position:absolute; background:url("../img/quicklook-bg.png"); - display:none; overflow:hidden; border-radius:7px; -moz-border-radius:7px; @@ -1104,31 +2210,60 @@ padding:20px 0 40px 0; } -.elfinder-quicklook .ui-resizable-se { +.elfinder-quicklook.elfinder-touch { + padding:30px 0 40px 0; +} + +.elfinder-quicklook .ui-resizable-se { width:14px; height:14px; right:5px; bottom:3px; - background:url("../img/toolbar.png") 0 -496px no-repeat;} + background:url("../img/toolbar.png") 0 -496px no-repeat; +} +.elfinder-quicklook.elfinder-touch .ui-resizable-se { + zoom: 1.5; +} /* quicklook fullscreen window */ -.elfinder-quicklook-fullscreen { +.elfinder-quicklook.elfinder-quicklook-fullscreen { + position:fixed; + top:0; + right:0; + bottom:0; + left:0; + margin:0; + box-sizing:border-box; + width:100%; + height:100%; + object-fit:contain; border-radius:0; -moz-border-radius:0; -webkit-border-radius:0; -webkit-background-clip: padding-box; -/* background-clip:padding-box;*/ padding:0; background:#000; - z-index:90000; display:block; } /* hide titlebar in fullscreen mode */ -.elfinder-quicklook-fullscreen .elfinder-quicklook-titlebar { display:none; } +.elfinder-quicklook-fullscreen .elfinder-quicklook-titlebar, +.elfinder-quicklook-fullscreen.elfinder-quicklook .ui-resizable-handle { display:none; } /* hide preview border in fullscreen mode */ .elfinder-quicklook-fullscreen .elfinder-quicklook-preview { border:0 solid ;} +/*.elfinder-quicklook-fullscreen iframe { + height: 100%; +}*/ + +.elfinder-quicklook-cover { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; +} + /* quicklook titlebar */ .elfinder-quicklook-titlebar { text-align:center; @@ -1147,6 +2282,10 @@ cursor:move; } +.elfinder-touch .elfinder-quicklook-titlebar { + height: 30px; +} + /* window title */ .elfinder-quicklook-title { color:#fff; @@ -1155,6 +2294,10 @@ padding:2px 0; } +.elfinder-touch .elfinder-quicklook-title { + padding: 8px 0; +} + /* icon "close" in titlebar */ .elfinder-quicklook-titlebar .ui-icon { position:absolute; @@ -1166,15 +2309,23 @@ cursor:default; } +.elfinder-touch .elfinder-quicklook-titlebar .ui-icon { + zoom: 1.5; +} + /* main part of quicklook window */ .elfinder-quicklook-preview { - overflow:hidden; + overflow: hidden; position:relative; border:0 solid; border-left:1px solid transparent; border-right:1px solid transparent; height:100%; } +.elfinder-quicklook-preview.elfinder-overflow-auto { + overflow: auto; + -webkit-overflow-scrolling: touch; +} /* wrapper for file info/icon */ .elfinder-quicklook-info-wrapper { @@ -1240,6 +2391,8 @@ padding:5px; border:1px solid #eee; background:#000; + opacity: 0.4; + filter: Alpha(Opacity=40); } /* show close icon in fullscreen mode */ @@ -1300,22 +2453,44 @@ background:#fff; color:#222; overflow:auto; + -webkit-overflow-scrolling: touch; +} + +/* archive files preview wrapper */ +.elfinder-quicklook-preview-archive-wrapper { + width: 100%; + height:100%; + background:#fff; + color:#222; + font-size: 1.5ex; + overflow:auto; + -webkit-overflow-scrolling: touch +} + +/* archive files preview header */ +.elfinder-quicklook-preview-archive-wrapper strong { + padding: 0 5px; } /* text preview */ pre.elfinder-quicklook-preview-text { + width: auto; + height: auto; margin:0; padding:3px 9px; + border: none; } /* html/pdf preview */ .elfinder-quicklook-preview-html, -.elfinder-quicklook-preview-pdf { +.elfinder-quicklook-preview-pdf, +.elfinder-quicklook-preview-iframe { width:100%; height:100%; background:#fff; - border:0 solid; margin:0; + border: none; + display: block; } /* swf preview container */ @@ -1344,20 +2519,16 @@ embed.elfinder-quicklook-preview-audio { height:100%; } +/* allow user select */ +.elfinder .elfinder-quicklook .elfinder-quicklook-info *, +.elfinder .elfinder-quicklook .elfinder-quicklook-preview * { + -webkit-user-select: auto; + -moz-user-select: text; + -khtml-user-select: text; + user-select: text; +} - - - - - - - - - - - - -/* File: /home/osc/elFinder-build/elFinder/css/statusbar.css */ +/* File: /css/statusbar.css */ /******************************************************************/ /* STATUSBAR STYLES */ /******************************************************************/ @@ -1374,7 +2545,19 @@ embed.elfinder-quicklook-preview-audio { border-left:0 solid transparent; } -.elfinder-statusbar a { text-decoration:none; } +.elfinder-statusbar span { + cursor: pointer; + /*display: inline-block;*/ + vertical-align: bottom; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; + text-overflow: ".."; + -o-text-overflow: ".."; +} +.elfinder-statusbar span.ui-state-hover, +.elfinder-statusbar span.ui-state-active { border: none; } +.elfinder-statusbar span.elfinder-path-cwd { cursor: default; } @@ -1384,11 +2567,56 @@ embed.elfinder-quicklook-preview-audio { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; - -o-text-overflow:ellipsis; + -o-text-overflow:ellipsis; } .elfinder-ltr .elfinder-path { float:left; } .elfinder-rtl .elfinder-path { float:right; } +/* path in workzone (case of swipe to navbar close) */ +.elfinder-workzone-path { + position: relative; +} +.elfinder-workzone-path .elfinder-path { + position: relative; + font-size: .75em; + font-weight: normal; + float: none; + max-width: none; + overflow-x: scroll; + text-overflow: initial; + -o-text-overflow: initial; +} +.elfinder-ltr .elfinder-workzone-path .elfinder-path { + margin-left: 24px; +} +.elfinder-rtl .elfinder-workzone-path .elfinder-path { + margin-right: 24px; +} +.elfinder-workzone-path .elfinder-path span { + display: inline-block; + padding: 5px 3px; +} +.elfinder-workzone-path .elfinder-path span.elfinder-path-cwd { + font-weight: bold; +} +.elfinder-workzone-path .elfinder-path span.ui-state-hover, +.elfinder-workzone-path .elfinder-path span.ui-state-active { border: none; } + +.elfinder-workzone-path .elfinder-path-roots { + position: absolute; + top: 0; + width: 24px; + height: 20px; + padding: 2px; + border: none; + overflow: hidden; +} +.elfinder-ltr .elfinder-workzone-path .elfinder-path-roots { + left: 0; +} +.elfinder-rtl .elfinder-workzone-path .elfinder-path-roots { + right: 0; +} /* total/selected size in statusbar */ .elfinder-stat-size { white-space:nowrap; } .elfinder-ltr .elfinder-stat-size { float:right; } @@ -1396,7 +2624,84 @@ embed.elfinder-quicklook-preview-audio { .elfinder-stat-selected { white-space:nowrap; overflow:hidden; } -/* File: /home/osc/elFinder-build/elFinder/css/toolbar.css */ +/* File: /css/toast.css */ +/* + * CSS for Toastr + * Copyright 2012-2015 + * Authors: John Papa, Hans Fjällemark, and Tim Ferrell. + * All Rights Reserved. + * Use, reproduction, distribution, and modification of this code is subject to the terms and + * conditions of the MIT license, available at http://www.opensource.org/licenses/mit-license.php + * + * ARIA Support: Greta Krafsig + * + * Project: https://github.com/CodeSeven/toastr + */ + +.elfinder .elfinder-toast { + position: absolute; + top: 12px; + right: 12px; + max-width: 90%; + cursor: default; +} + +.elfinder .elfinder-toast > div { + position: relative; + pointer-events: auto; + overflow: hidden; + margin: 0 0 6px; + padding: 8px 16px 8px 50px; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; + background-position: 15px center; + background-repeat: no-repeat; + -moz-box-shadow: 0 0 12px #999999; + -webkit-box-shadow: 0 0 12px #999999; + box-shadow: 0 0 12px #999999; + color: #FFFFFF; + opacity: 0.9; + filter: alpha(opacity=90); + background-color: #030303; + text-align: center; +} + +.elfinder .elfinder-toast > .toast-info { + background-color: #2F96B4; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important; +} +.elfinder .elfinder-toast > .toast-error { + background-color: #BD362F; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important; +} +.elfinder .elfinder-toast > .toast-success { + background-color: #51A351; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important; +} +.elfinder .elfinder-toast > .toast-warning { + background-color: #F89406; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important; +} + + +.elfinder .elfinder-toast > div button.ui-button { + background-image: none; + margin-top: 8px; + padding: .5em .8em; +} + +.elfinder .elfinder-toast > .toast-success button.ui-button { + background-color: green; + color: #FFF; +} + +.elfinder .elfinder-toast > .toast-success button.ui-button.ui-state-hover { + background-color: #add6ad; + color: #254b25; +} + +/* File: /css/toolbar.css */ /*********************************************/ /* TOOLBAR STYLES */ /*********************************************/ @@ -1423,7 +2728,7 @@ embed.elfinder-quicklook-preview-audio { /* button */ .elfinder .elfinder-button { - width:16px; + /*width:16px;*/ height:16px; margin:0; padding:4px; @@ -1431,6 +2736,15 @@ embed.elfinder-quicklook-preview-audio { overflow:hidden; position:relative; border:0 solid; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + line-height: 1; + cursor: default; +} +.elfinder-touch .elfinder-button { + /*width:20px;*/ + height:20px; } .elfinder .ui-icon-search { cursor:pointer;} @@ -1464,9 +2778,14 @@ embed.elfinder-quicklook-preview-audio { width:0; } +.elfinder-touch .elfinder-toolbar-button-separator { + height:20px; +} + /* change icon opacity^ not button */ .elfinder .elfinder-button.ui-state-disabled { opacity:1; filter:Alpha(Opacity=100);} -.elfinder .elfinder-button.ui-state-disabled .elfinder-button-icon { opacity:.4; filter:Alpha(Opacity=40);} +.elfinder .elfinder-button.ui-state-disabled .elfinder-button-icon, +.elfinder .elfinder-button.ui-state-disabled .elfinder-button-text { opacity:.4; filter:Alpha(Opacity=40);} /* rtl enviroment */ .elfinder-rtl .elfinder-buttonset { float:right; } @@ -1475,15 +2794,34 @@ embed.elfinder-quicklook-preview-audio { .elfinder-button-icon { width:16px; height:16px; - display:block; + /*display:block;*/ + display:inline-block; background:url('../img/toolbar.png') no-repeat; } +.elfinder-button-text { + position: relative; + display: inline-block; + top: -4px; + margin: 0 2px; + font-size: 12px; +} + +.elfinder-touch .elfinder-button-icon { + zoom: 1.25; + -moz-transform-origin: top left; + -moz-transform: scale(1.25); +} +.elfinder-touch .elfinder-button-text { + top: -5px; +} /* buttons icons */ .elfinder-button-icon-home { background-position: 0 0; } .elfinder-button-icon-back { background-position: 0 -112px; } .elfinder-button-icon-forward { background-position: 0 -128px; } .elfinder-button-icon-up { background-position: 0 -144px; } +.elfinder-button-icon-dir { background-position: 0 -16px; } +.elfinder-button-icon-opendir { background-position: 0 -32px; } .elfinder-button-icon-reload { background-position: 0 -160px; } .elfinder-button-icon-open { background-position: 0 -176px; } .elfinder-button-icon-mkdir { background-position: 0 -192px; } @@ -1506,15 +2844,27 @@ embed.elfinder-quicklook-preview-audio { .elfinder-button-icon-view-list { background-position: 0 -464px; } .elfinder-button-icon-help { background-position: 0 -480px; } .elfinder-button-icon-resize { background-position: 0 -512px; } +.elfinder-button-icon-link { background-position: 0 -528px; } .elfinder-button-icon-search { background-position: 0 -561px; } .elfinder-button-icon-sort { background-position: 0 -577px; } .elfinder-button-icon-rotate-r { background-position: 0 -625px; } .elfinder-button-icon-rotate-l { background-position: 0 -641px; } +.elfinder-button-icon-netmount { background-position: 0 -688px; } +.elfinder-button-icon-netunmount { background-position: 0 -96px; } +.elfinder-button-icon-places { background-position: 0 -704px; } +.elfinder-button-icon-chmod { background-position: 0 -48px; } +.elfinder-button-icon-accept { background-position: 0 -736px; } +.elfinder-button-icon-opendir { background-position: 0 -32px; } +.elfinder-button-icon-menu { background-position: 0 -752px; } +.elfinder-button-icon-colwidth { background-position: 0 -768px; } +.elfinder-button-icon-fullscreen { background-position: 0 -784px; } +.elfinder-button-icon-unfullscreen{ background-position: 0 -800px; } /* button with dropdown menu*/ .elfinder .elfinder-menubutton { overflow:visible; } - +/* button with spinner icon */ +.elfinder-button-icon-spinner { background: url("../img/spinner-mini.gif") center center no-repeat; } /* menu */ .elfinder-button-menu { @@ -1524,6 +2874,10 @@ embed.elfinder-quicklook-preview-audio { padding:3px 0; } +.elfinder-touch .elfinder-button-menu { + top:35px; +} + /* menu item */ .elfinder-button-menu-item { white-space:nowrap; @@ -1531,6 +2885,9 @@ embed.elfinder-quicklook-preview-audio { padding:5px 19px; position:relative; } +.elfinder-touch .elfinder-button-menu-item { + padding: 12px 19px +} /* fix hover ui class */ .elfinder-button-menu .ui-state-hover { border:0 solid; } @@ -1548,8 +2905,8 @@ embed.elfinder-quicklook-preview-audio { } .elfinder-button-menu-item-selected .ui-icon { display:block; } -.elfinder-button-menu-item-selected-asc .ui-icon-arrowthick-1-n { display:none; } -.elfinder-button-menu-item-selected-desc .ui-icon-arrowthick-1-s { display:none; } +.elfinder-button-menu-item-selected-asc .ui-icon-arrowthick-1-s { display:none; } +.elfinder-button-menu-item-selected-desc .ui-icon-arrowthick-1-n { display:none; } /* hack for upload button */ .elfinder-button form { @@ -1572,6 +2929,24 @@ embed.elfinder-quicklook-preview-audio { min-height: 26px; float:right; width:202px; + overflow: visible; +} + +.elfinder .elfinder-button-search .elfinder-button-menu { + font-size: 8pt; + text-align: center; + width: 100%; + overflow: hidden; +} + +.elfinder .elfinder-button-search .elfinder-button-menu div { + margin-left: auto; + margin-right: auto; + margin-bottom: 5px; +} + +.elfinder .elfinder-button-search .elfinder-button-menu div .ui-state-hover { + border: 1px solid; } /* ltr/rte enviroment */ @@ -1592,17 +2967,28 @@ embed.elfinder-quicklook-preview-audio { outline:0px solid; } +.elfinder-button-search input::-ms-clear { + display: none; +} +.elfinder-touch .elfinder-button-search input { + height:28px; + line-height: 28px; +} .elfinder-rtl .elfinder-button-search input { direction:rtl; } + /* icons */ .elfinder-button-search .ui-icon { position:absolute; height:18px; top: 50%; - margin:-9px 4px 0 4px; + margin:-8px 4px 0 4px; opacity: .6; filter:Alpha(Opacity=60); } +.elfinder-button-search .ui-checkboxradio-icon { + display: none; +} /* search/close icons */ .elfinder-ltr .elfinder-button-search .ui-icon-search { left:0;} @@ -1610,8 +2996,19 @@ embed.elfinder-quicklook-preview-audio { .elfinder-ltr .elfinder-button-search .ui-icon-close { right:0;} .elfinder-rtl .elfinder-button-search .ui-icon-close { left:0;} - - - - +/* toolbar swipe handle */ +.elfinder-toolbar-swipe-handle { + position: absolute; + top: 0px; + left: 0px; + height: 50px; + width: 100%; + pointer-events: none; + background: linear-gradient(to bottom, + rgba(221,228,235,1) 0, + rgba(221,228,235,0.8) 2px, + rgba(216,223,230,0.3) 5px, + rgba(0,0,0,0.1) 95%, + rgba(0,0,0,0) 100%); +} diff --git a/elFinder.Net.Web/Content/elfinder/css/elfinder.min.css b/elFinder.Net.Web/Content/elfinder/css/elfinder.min.css index b2f7289..1106580 100644 --- a/elFinder.Net.Web/Content/elfinder/css/elfinder.min.css +++ b/elFinder.Net.Web/Content/elfinder/css/elfinder.min.css @@ -1,9 +1,9 @@ /*! * elFinder - file manager for web - * Version 2.1 (Nightly: 4df7296) (2013-04-25) + * Version 2.1.18 (2016-11-21) * http://elfinder.org * - * Copyright 2009-2012, Studio 42 - * Licensed under a 3 clauses BSD license + * Copyright 2009-2016, Studio 42 + * Licensed under a 3-clauses BSD license */ -.elfinder-dialog-resize{margin-top:.3em}.elfinder-resize-type{float:left;margin-bottom:.4em}.elfinder-resize-control{padding-top:3em}.elfinder-resize-control input[type=text]{border:1px solid #aaa;text-align:right}.elfinder-resize-preview{width:400px;height:400px;padding:10px;background:#fff;border:1px solid #aaa;float:right;position:relative;overflow:auto}.elfinder-resize-handle{position:relative}.elfinder-resize-handle-hline,.elfinder-resize-handle-vline{position:absolute;background-image:url("../img/crop.gif")}.elfinder-resize-handle-hline{width:100%;height:1px!important;background-repeat:repeat-x}.elfinder-resize-handle-vline{width:1px!important;height:100%;background-repeat:repeat-y}.elfinder-resize-handle-hline-top{top:0;left:0}.elfinder-resize-handle-hline-bottom{bottom:0;left:0}.elfinder-resize-handle-vline-left{top:0;left:0}.elfinder-resize-handle-vline-right{top:0;right:0}.elfinder-resize-handle-point{position:absolute;width:8px;height:8px;border:1px solid #777;background:0 0}.elfinder-resize-handle-point-n{top:0;left:50%;margin-top:-5px;margin-left:-5px}.elfinder-resize-handle-point-ne{top:0;right:0;margin-top:-5px;margin-right:-5px}.elfinder-resize-handle-point-e{top:50%;right:0;margin-top:-5px;margin-right:-5px}.elfinder-resize-handle-point-se{bottom:0;right:0;margin-bottom:-5px;margin-right:-5px}.elfinder-resize-handle-point-s{bottom:0;left:50%;margin-bottom:-5px;margin-left:-5px}.elfinder-resize-handle-point-sw{bottom:0;left:0;margin-bottom:-5px;margin-left:-5px}.elfinder-resize-handle-point-w{top:50%;left:0;margin-top:-5px;margin-left:-5px}.elfinder-resize-handle-point-nw{top:0;left:0;margin-top:-5px;margin-left:-5px}.elfinder-resize-spinner{position:absolute;width:200px;height:30px;top:50%;margin-top:-25px;left:50%;margin-left:-100px;text-align:center;background:url(../img/progress.gif) center bottom repeat-x}.elfinder-resize-row{margin-bottom:7px;position:relative}.elfinder-resize-label{float:left;width:80px;padding-top:3px}.elfinder-resize-reset{width:16px;height:16px;position:absolute;margin-top:-8px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-e{height:100%;width:10px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-s{width:100%;height:10px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-se{background:0 0;bottom:0;right:0;margin-right:-7px;margin-bottom:-7px}.elfinder-dialog-resize .ui-icon-grip-solid-vertical{position:absolute;top:50%;right:0;margin-top:-8px;margin-right:-11px}.elfinder-dialog-resize .ui-icon-grip-solid-horizontal{position:absolute;left:50%;bottom:0;margin-left:-8px;margin-bottom:-11px}.elfinder-resize-row .elfinder-buttonset{float:right}.elfinder-resize-rotate-slider{float:left;width:195px;margin:7px 7px 0}.elfinder-file-edit{width:99%;height:99%;margin:0;padding:2px;border:1px solid #ccc}.elfinder-help{margin-bottom:.5em}.elfinder-help .ui-tabs-panel{padding:.5em}.elfinder-dialog .ui-tabs .ui-tabs-nav li a{padding:.2em 1em}.elfinder-help-shortcuts{height:300px;padding:1em;margin:.5em 0;overflow:auto}.elfinder-help-shortcut{white-space:nowrap;clear:both}.elfinder-help-shortcut-pattern{float:left;width:160px}.elfinder-help-logo{width:100px;height:96px;float:left;margin-right:1em;background:url('../img/logo.png') center center no-repeat}.elfinder-help h3{font-size:1.5em;margin:.2em 0 .3em}.elfinder-help-separator{clear:both;padding:.5em}.elfinder-help-link{padding:2px}.elfinder-help .ui-priority-secondary{font-size:.9em}.elfinder-help .ui-priority-primary{margin-bottom:7px}.elfinder-help-team{clear:both;text-align:right;border-bottom:1px solid #ccc;margin:.5em 0;font-size:.9em}.elfinder-help-team div{float:left}.elfinder-help-license{font-size:.9em}.elfinder-help-disabled{font-weight:700;text-align:center;margin:90px 0}.elfinder-help .elfinder-dont-panic{display:block;border:1px solid transparent;width:200px;height:200px;margin:30px auto;text-decoration:none;text-align:center;position:relative;background:#d90004;-moz-box-shadow:5px 5px 9px #111;-webkit-box-shadow:5px 5px 9px #111;box-shadow:5px 5px 9px #111;background:-moz-radial-gradient(80px 80px,circle farthest-corner,#d90004 35%,#960004 100%);background:-webkit-gradient(radial,80 80,60,80 80,120,from(#d90004),to(#960004));-moz-border-radius:100px;-webkit-border-radius:100px;border-radius:100px;outline:none}.elfinder-help .elfinder-dont-panic span{font-size:3em;font-weight:700;text-align:center;color:#fff;position:absolute;left:0;top:45px}.elfinder{padding:0;position:relative;display:block}.elfinder-rtl{text-align:right;direction:rtl}.elfinder-workzone{padding:0;position:relative;overflow:hidden}.elfinder-perms,.elfinder-symlink{position:absolute;width:16px;height:16px;background-image:url(../img/toolbar.png);background-repeat:no-repeat;background-position:0 -528px}.elfinder-na .elfinder-perms{background-position:0 -96px}.elfinder-ro .elfinder-perms{background-position:0 -64px}.elfinder-wo .elfinder-perms{background-position:0 -80px}.elfinder-drag-helper{width:60px;height:50px;padding:0 0 0 25px;z-index:100000}.elfinder-drag-helper-icon-plus{position:absolute;width:16px;height:16px;left:43px;top:55px;background:url('../img/toolbar.png') 0 -544px no-repeat;display:none}.elfinder-drag-helper-plus .elfinder-drag-helper-icon-plus{display:block}.elfinder-drag-num{position:absolute;top:0;left:0;width:16px;height:14px;text-align:center;padding-top:2px;font-weight:700;color:#fff;background-color:red;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.elfinder-drag-helper .elfinder-cwd-icon{margin:0 0 0 -24px;float:left}.elfinder-overlay{opacity:0;filter:Alpha(Opacity=0)}.elfinder .elfinder-panel{position:relative;background-image:none;padding:7px 12px}.elfinder-contextmenu,.elfinder-contextmenu-sub{display:none;position:absolute;border:1px solid #aaa;background:#fff;color:#555;padding:4px 0}.elfinder-contextmenu-sub{top:5px}.elfinder-contextmenu-ltr .elfinder-contextmenu-sub{margin-left:-5px}.elfinder-contextmenu-rtl .elfinder-contextmenu-sub{margin-right:-5px}.elfinder-contextmenu-item{position:relative;display:block;padding:4px 30px;text-decoration:none;white-space:nowrap;cursor:default}.elfinder-contextmenu .elfinder-contextmenu-item span{display:block}.elfinder-contextmenu-ltr .elfinder-contextmenu-item{text-align:left}.elfinder-contextmenu-rtl .elfinder-contextmenu-item{text-align:right}.elfinder-contextmenu-ltr .elfinder-contextmenu-sub .elfinder-contextmenu-item{padding-left:12px}.elfinder-contextmenu-rtl .elfinder-contextmenu-sub .elfinder-contextmenu-item{padding-right:12px}.elfinder-contextmenu-arrow,.elfinder-contextmenu-icon{position:absolute;top:50%;margin-top:-8px}.elfinder-contextmenu-ltr .elfinder-contextmenu-icon{left:8px}.elfinder-contextmenu-rtl .elfinder-contextmenu-icon{right:8px}.elfinder-contextmenu-arrow{width:16px;height:16px;background:url('../img/arrows-normal.png') 5px 4px no-repeat}.elfinder-contextmenu-ltr .elfinder-contextmenu-arrow{right:5px}.elfinder-contextmenu-rtl .elfinder-contextmenu-arrow{left:5px;background-position:0 -10px}.elfinder-contextmenu .ui-state-hover{border:0 solid;background-image:none}.elfinder-contextmenu-separator{height:0;border-top:1px solid #ccc;margin:0 1px}.elfinder-cwd-wrapper{overflow:auto;position:relative;padding:2px;margin:0}.elfinder-cwd-wrapper-list{padding:0}.elfinder-cwd{position:relative;cursor:default;padding:0;margin:0;-moz-user-select:-moz-none;-khtml-user-select:none;-webkit-user-select:none;user-select:none}.elfinder .elfinder-cwd-wrapper.elfinder-droppable-active{padding:0;border:2px solid #8cafed}.elfinder-cwd-view-icons .elfinder-cwd-file{width:120px;height:80px;padding-bottom:2px;cursor:default}.elfinder-ltr .elfinder-cwd-view-icons .elfinder-cwd-file{float:left;margin:0 3px 12px 0}.elfinder-rtl .elfinder-cwd-view-icons .elfinder-cwd-file{float:right;margin:0 0 5px 3px}.elfinder-cwd-view-icons .elfinder-cwd-file .ui-state-hover{border:0 solid}.elfinder-cwd-view-icons .elfinder-cwd-file-wrapper{width:52px;height:52px;margin:1px auto;padding:2px;position:relative}.elfinder-cwd-view-icons .elfinder-cwd-filename{text-align:center;white-space:pre;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis;margin:3px 1px 0;padding:1px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.elfinder-cwd-view-icons .elfinder-perms{bottom:4px;right:2px}.elfinder-cwd-view-icons .elfinder-symlink{bottom:6px;left:0}.elfinder-cwd-icon{display:block;width:48px;height:48px;margin:0 auto;background:url('../img/icons-big.png') 0 0 no-repeat;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.elfinder-cwd .elfinder-droppable-active .elfinder-cwd-icon{background-position:0 -100px}.elfinder-cwd-icon-directory{background-position:0 -50px}.elfinder-cwd-icon-application{background-position:0 -150px}.elfinder-cwd-icon-x-empty,.elfinder-cwd-icon-text{background-position:0 -200px}.elfinder-cwd-icon-image,.elfinder-cwd-icon-vnd-adobe-photoshop,.elfinder-cwd-icon-postscript{background-position:0 -250px}.elfinder-cwd-icon-audio{background-position:0 -300px}.elfinder-cwd-icon-video,.elfinder-cwd-icon-flash-video{background-position:0 -350px}.elfinder-cwd-icon-rtf,.elfinder-cwd-icon-rtfd{background-position:0 -401px}.elfinder-cwd-icon-pdf{background-position:0 -450px}.elfinder-cwd-icon-ms-excel,.elfinder-cwd-icon-msword,.elfinder-cwd-icon-vnd-ms-excel,.elfinder-cwd-icon-vnd-ms-excel-addin-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-excel-sheet-binary-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-excel-sheet-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-excel-template-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-office,.elfinder-cwd-icon-vnd-ms-powerpoint,.elfinder-cwd-icon-vnd-ms-powerpoint-addin-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-presentation-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-slide-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-slideshow-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-template-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-word,.elfinder-cwd-icon-vnd-ms-word-document-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-word-template-macroEnabled-12,.elfinder-cwd-icon-vnd-oasis-opendocument-chart,.elfinder-cwd-icon-vnd-oasis-opendocument-database,.elfinder-cwd-icon-vnd-oasis-opendocument-formula,.elfinder-cwd-icon-vnd-oasis-opendocument-graphics,.elfinder-cwd-icon-vnd-oasis-opendocument-graphics-template,.elfinder-cwd-icon-vnd-oasis-opendocument-image,.elfinder-cwd-icon-vnd-oasis-opendocument-presentation,.elfinder-cwd-icon-vnd-oasis-opendocument-presentation-template,.elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet,.elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet-template,.elfinder-cwd-icon-vnd-oasis-opendocument-text,.elfinder-cwd-icon-vnd-oasis-opendocument-text-master,.elfinder-cwd-icon-vnd-oasis-opendocument-text-template,.elfinder-cwd-icon-vnd-oasis-opendocument-text-web,.elfinder-cwd-icon-vnd-openofficeorg-extension,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-presentation,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slide,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slideshow,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-template,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-sheet,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-template,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-document,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-template{background-position:0 -500px}.elfinder-cwd-icon-html{background-position:0 -550px}.elfinder-cwd-icon-css{background-position:0 -600px}.elfinder-cwd-icon-javascript,.elfinder-cwd-icon-x-javascript{background-position:0 -650px}.elfinder-cwd-icon-x-perl{background-position:0 -700px}.elfinder-cwd-icon-x-python{background-position:0 -750px}.elfinder-cwd-icon-x-ruby{background-position:0 -800px}.elfinder-cwd-icon-x-sh,.elfinder-cwd-icon-x-shellscript{background-position:0 -850px}.elfinder-cwd-icon-x-c,.elfinder-cwd-icon-x-csrc,.elfinder-cwd-icon-x-chdr,.elfinder-cwd-icon-x-c--,.elfinder-cwd-icon-x-c--src,.elfinder-cwd-icon-x-c--hdr,.elfinder-cwd-icon-x-java,.elfinder-cwd-icon-x-java-source{background-position:0 -900px}.elfinder-cwd-icon-x-php{background-position:0 -950px}.elfinder-cwd-icon-xml{background-position:0 -1000px}.elfinder-cwd-icon-zip,.elfinder-cwd-icon-x-zip,.elfinder-cwd-icon-x-7z-compressed{background-position:0 -1050px}.elfinder-cwd-icon-x-gzip,.elfinder-cwd-icon-x-tar{background-position:0 -1100px}.elfinder-cwd-icon-x-bzip,.elfinder-cwd-icon-x-bzip2{background-position:0 -1150px}.elfinder-cwd-icon-x-rar,.elfinder-cwd-icon-x-rar-compressed{background-position:0 -1200px}.elfinder-cwd-icon-x-shockwave-flash{background-position:0 -1250px}.elfinder-cwd-icon-group{background-position:0 -1300px}.elfinder-cwd input{width:100%;border:0 solid;margin:0;padding:0}.elfinder-cwd-view-icons input,.elfinder-cwd-view-icons{text-align:center}.elfinder-cwd table{width:100%;border-collapse:collapse;border:0 solid;margin:0 0 10px}.elfinder .elfinder-cwd table thead tr{border-left:0 solid;border-top:0 solid;border-right:0 solid}.elfinder .elfinder-cwd table td{padding:3px 12px;white-space:pre;overflow:hidden;text-align:right;cursor:default;border:0 solid}.elfinder-ltr .elfinder-cwd table td{text-align:right}.elfinder-ltr .elfinder-cwd table td:first-child{text-align:left}.elfinder-rtl .elfinder-cwd table td{text-align:left}.elfinder-rtl .elfinder-cwd table td:first-child{text-align:right}.elfinder-odd-row{background:#eee}.elfinder-cwd-view-list .elfinder-cwd-file-wrapper{width:97%;position:relative}.elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-file-wrapper{padding-left:23px}.elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-file-wrapper{padding-right:23px}.elfinder-cwd-view-list .elfinder-perms,.elfinder-cwd-view-list .elfinder-symlink{top:50%;margin-top:-6px}.elfinder-ltr .elfinder-cwd-view-list .elfinder-perms{left:7px}.elfinder-ltr .elfinder-cwd-view-list .elfinder-symlink{left:-7px}.elfinder-cwd-view-list td .elfinder-cwd-icon{width:16px;height:16px;position:absolute;top:50%;margin-top:-8px;background-image:url(../img/icons-small.png)}.elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-icon{left:0}.elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-icon{right:0}.std42-dialog{padding:0;position:absolute;left:auto;right:auto}.std42-dialog .ui-dialog-titlebar{border-left:0 solid transparent;border-top:0 solid transparent;border-right:0 solid transparent;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;font-weight:400;padding:.2em 1em}.std42-dialog .ui-dialog-titlebar-close,.std42-dialog .ui-dialog-titlebar-close:hover{padding:1px}.elfinder-rtl .elfinder-dialog .ui-dialog-titlebar{text-align:right}.elfinder-rtl .elfinder-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close{right:auto;left:.3em}.std42-dialog .ui-dialog-content{padding:.3em .5em}.std42-dialog .ui-dialog-buttonpane{border:0 solid;margin:0;padding:.5em .7em}.std42-dialog .ui-dialog-buttonpane button{margin:0 0 0 .4em;padding:0;outline:0 solid}.std42-dialog .ui-dialog-buttonpane button span{padding:2px 9px}.elfinder-dialog .ui-resizable-e,.elfinder-dialog .ui-resizable-s{width:0;height:0}.std42-dialog .ui-button input{cursor:pointer}.elfinder-dialog-icon{position:absolute;width:32px;height:32px;left:12px;top:50%;margin-top:-15px;background:url("../img/dialogs.png") 0 0 no-repeat}.elfinder-rtl .elfinder-dialog-icon{left:auto;right:12px}.elfinder-dialog-error .ui-dialog-content,.elfinder-dialog-confirm .ui-dialog-content{padding-left:56px;min-height:35px}.elfinder-rtl .elfinder-dialog-error .ui-dialog-content,.elfinder-rtl .elfinder-dialog-confirm .ui-dialog-content{padding-left:0;padding-right:56px}.elfinder-dialog-notify .ui-dialog-titlebar-close{display:none}.elfinder-dialog-notify .ui-dialog-content{padding:0}.elfinder-notify{border-bottom:1px solid #ccc;position:relative;padding:.5em;text-align:center;overflow:hidden}.elfinder-ltr .elfinder-notify{padding-left:30px}.elfinder-rtl .elfinder-notify{padding-right:30px}.elfinder-notify:last-child{border:0 solid}.elfinder-notify-progressbar{width:180px;height:8px;border:1px solid #aaa;background:#f5f5f5;margin:5px auto;overflow:hidden}.elfinder-notify-progress{width:100%;height:8px;background:url(../img/progress.gif) center center repeat-x}.elfinder-notify-progressbar,.elfinder-notify-progress{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.elfinder-dialog-icon-open,.elfinder-dialog-icon-file,.elfinder-dialog-icon-reload{background-position:0 -225px}.elfinder-dialog-icon-mkdir{background-position:0 -64px}.elfinder-dialog-icon-mkfile{background-position:0 -96px}.elfinder-dialog-icon-copy,.elfinder-dialog-icon-prepare,.elfinder-dialog-icon-move{background-position:0 -128px}.elfinder-dialog-icon-upload{background-position:0 -160px}.elfinder-dialog-icon-rm{background-position:0 -192px}.elfinder-dialog-icon-download{background-position:0 -260px}.elfinder-dialog-icon-save{background-position:0 -295px}.elfinder-dialog-icon-rename{background-position:0 -330px}.elfinder-dialog-icon-archive,.elfinder-dialog-icon-extract{background-position:0 -365px}.elfinder-dialog-icon-search{background-position:0 -402px}.elfinder-dialog-confirm-applyall{padding-top:3px}.elfinder-dialog-confirm .elfinder-dialog-icon{background-position:0 -32px}.elfinder-info-title .elfinder-cwd-icon{float:left;width:48px;height:48px;margin-right:1em}.elfinder-info-title strong{display:block;padding:.3em 0 .5em}.elfinder-info-tb{min-width:200px;border:0 solid;margin:1em .2em}.elfinder-info-tb td{white-space:nowrap;padding:2px}.elfinder-info-tb tr td:first-child{text-align:right}.elfinder-info-tb span{float:left}.elfinder-info-tb a{outline:none;text-decoration:underline}.elfinder-info-tb a:hover{text-decoration:none}.elfinder-info-spinner{width:14px;height:14px;float:left;background:url("../img/spinner-mini.gif") center center no-repeat;margin:0 5px}.elfinder-netmount-tb{margin:0 auto}.elfinder-netmount-tb input{border:1px solid #ccc}.elfinder-upload-dropbox{text-align:center;padding:2em 0;border:3px dashed #aaa}.elfinder-upload-dropbox.ui-state-hover{background:#dfdfdf;border:3px dashed #555}.elfinder-upload-dialog-or{margin:.3em 0;text-align:center}.elfinder-upload-dialog-wrapper{text-align:center}.elfinder-upload-dialog-wrapper .ui-button{position:relative;overflow:hidden}.elfinder-upload-dialog-wrapper .ui-button form{position:absolute;right:0;top:0;opacity:0;filter:Alpha(Opacity=0)}.elfinder-upload-dialog-wrapper .ui-button form input{padding:0 20px;font-size:3em}.dialogelfinder .dialogelfinder-drag{border-left:0 solid;border-top:0 solid;border-right:0 solid;font-weight:400;padding:2px 12px;cursor:move;position:relative;text-align:left}.elfinder-rtl .dialogelfinder-drag{text-align:right}.dialogelfinder-drag-close{position:absolute;top:50%;margin-top:-8px}.elfinder-ltr .dialogelfinder-drag-close{right:12px}.elfinder-rtl .dialogelfinder-drag-close{left:12px}.elfinder-contextmenu .elfinder-contextmenu-item span{font-size:.76em}.elfinder-cwd-view-icons .elfinder-cwd-filename,.elfinder-cwd-view-list td{font-size:.7em}.std42-dialog .ui-dialog-titlebar{font-size:.82em}.std42-dialog .ui-dialog-content{font-size:.72em}.std42-dialog .ui-dialog-buttonpane{font-size:.76em}.elfinder-info-tb{font-size:.9em}.elfinder-upload-dropbox,.elfinder-upload-dialog-or{font-size:1.2em}.dialogelfinder .dialogelfinder-drag{font-size:.9em}.elfinder .elfinder-navbar{font-size:.72em}.elfinder-place-drag .elfinder-navbar-dir{font-size:.9em}.elfinder-quicklook-title{font-size:.7em}.elfinder-quicklook-info-data{font-size:.72em}.elfinder-quicklook-preview-text-wrapper{font-size:.9em}.elfinder-button-menu-item{font-size:.72em}.elfinder-button-search input{font-size:.8em}.elfinder-statusbar div{font-size:.7em}.elfinder-drag-num{font-size:12px}.elfinder .elfinder-navbar{width:230px;padding:3px 5px;background-image:none;border-top:0 solid;border-bottom:0 solid;overflow:auto;display:none;position:relative;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;user-select:none}.elfinder-ltr .elfinder-navbar{float:left;border-left:0 solid}.elfinder-rtl .elfinder-navbar{float:right;border-right:0 solid}.elfinder-ltr .ui-resizable-e{margin-left:10px}.elfinder-tree{display:table;width:100%;margin:0 0 .5em}.elfinder-navbar-dir{position:relative;display:block;white-space:nowrap;padding:3px 12px;margin:0;outline:0 solid;border:1px solid transparent;cursor:default}.elfinder-ltr .elfinder-navbar-dir{padding-left:35px}.elfinder-rtl .elfinder-navbar-dir{padding-right:35px}.elfinder-navbar-arrow{width:12px;height:14px;position:absolute;display:none;top:50%;margin-top:-8px;background-image:url("../img/arrows-normal.png");background-repeat:no-repeat}.ui-state-active .elfinder-navbar-arrow{background-image:url("../img/arrows-active.png")}.elfinder-navbar-collapsed .elfinder-navbar-arrow{display:block}.elfinder-ltr .elfinder-navbar-collapsed .elfinder-navbar-arrow{background-position:0 4px;left:0}.elfinder-rtl .elfinder-navbar-collapsed .elfinder-navbar-arrow{background-position:0 -10px;right:0}.elfinder-ltr .elfinder-navbar-expanded .elfinder-navbar-arrow,.elfinder-rtl .elfinder-navbar-expanded .elfinder-navbar-arrow{background-position:0 -21px}.elfinder-navbar-icon{width:16px;height:16px;position:absolute;top:50%;margin-top:-8px;background-image:url("../img/toolbar.png");background-repeat:no-repeat;background-position:0 -16px}.elfinder-ltr .elfinder-navbar-icon{left:14px}.elfinder-rtl .elfinder-navbar-icon{right:14px}.elfinder-tree .elfinder-navbar-root .elfinder-navbar-icon{background-position:0 0}.elfinder-places .elfinder-navbar-root .elfinder-navbar-icon{background-position:0 -48px}.ui-state-active .elfinder-navbar-icon,.elfinder-droppable-active .elfinder-navbar-icon,.ui-state-hover .elfinder-navbar-icon{background-position:0 -32px}.elfinder-navbar-subtree{display:none}.elfinder-ltr .elfinder-navbar-subtree{margin-left:12px}.elfinder-rtl .elfinder-navbar-subtree{margin-right:12px}.elfinder-navbar-spinner{width:14px;height:14px;position:absolute;display:block;top:50%;margin-top:-7px;background:url("../img/spinner-mini.gif") center center no-repeat}.elfinder-ltr .elfinder-navbar-spinner{left:0;margin-left:-2px}.elfinder-rtl .elfinder-navbar-spinner{right:0;margin-right:-2px}.elfinder-navbar .elfinder-perms{top:50%;margin-top:-8px}.elfinder-ltr .elfinder-navbar .elfinder-perms{left:18px}.elfinder-rtl .elfinder-navbar .elfinder-perms{right:18px}.elfinder-ltr .elfinder-navbar .elfinder-symlink{left:8px}.elfinder-rtl .elfinder-navbar .elfinder-symlink{right:8px}.elfinder-navbar .ui-resizable-handle{width:12px;background:url('../img/resize.png') center center no-repeat;left:0}.elfinder-nav-handle-icon{position:absolute;top:50%;margin:-8px 2px 0;opacity:.5;filter:Alpha(Opacity=50)}.elfinder-places{border:1px solid transparent}.elfinder-places.elfinder-droppable-active{border:1px solid #8cafed}.elfinder-quicklook{position:absolute;background:url("../img/quicklook-bg.png");display:none;overflow:hidden;border-radius:7px;-moz-border-radius:7px;-webkit-border-radius:7px;padding:20px 0 40px}.elfinder-quicklook .ui-resizable-se{width:14px;height:14px;right:5px;bottom:3px;background:url("../img/toolbar.png") 0 -496px no-repeat}.elfinder-quicklook-fullscreen{border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-webkit-background-clip:padding-box;padding:0;background:#000;z-index:90000;display:block}.elfinder-quicklook-fullscreen .elfinder-quicklook-titlebar{display:none}.elfinder-quicklook-fullscreen .elfinder-quicklook-preview{border:0 solid}.elfinder-quicklook-titlebar{text-align:center;background:#777;position:absolute;left:0;top:0;width:100%;height:20px;-moz-border-radius-topleft:7px;-webkit-border-top-left-radius:7px;border-top-left-radius:7px;-moz-border-radius-topright:7px;-webkit-border-top-right-radius:7px;border-top-right-radius:7px;cursor:move}.elfinder-quicklook-title{color:#fff;white-space:nowrap;overflow:hidden;padding:2px 0}.elfinder-quicklook-titlebar .ui-icon{position:absolute;left:4px;top:50%;margin-top:-8px;width:16px;height:16px;cursor:default}.elfinder-quicklook-preview{overflow:hidden;position:relative;border:0 solid;border-left:1px solid transparent;border-right:1px solid transparent;height:100%}.elfinder-quicklook-info-wrapper{position:absolute;width:100%;left:0;top:50%;margin-top:-50px}.elfinder-quicklook-info{padding:0 12px 0 112px}.elfinder-quicklook-info .elfinder-quicklook-info-data:first-child{color:#fff;font-weight:700;padding-bottom:.5em}.elfinder-quicklook-info-data{padding-bottom:.2em;color:#fff}.elfinder-quicklook .elfinder-cwd-icon{position:absolute;left:32px;top:50%;margin-top:-20px}.elfinder-quicklook-preview img{display:block;margin:0 auto}.elfinder-quicklook-navbar{position:absolute;left:50%;bottom:4px;width:140px;height:32px;padding:0;margin-left:-70px;border:1px solid transparent;border-radius:19px;-moz-border-radius:19px;-webkit-border-radius:19px}.elfinder-quicklook-fullscreen .elfinder-quicklook-navbar{width:188px;margin-left:-94px;padding:5px;border:1px solid #eee;background:#000}.elfinder-quicklook-fullscreen .elfinder-quicklook-navbar-icon-close,.elfinder-quicklook-fullscreen .elfinder-quicklook-navbar-separator{display:inline}.elfinder-quicklook-navbar-icon{width:32px;height:32px;margin:0 7px;float:left;background:url("../img/quicklook-icons.png") 0 0 no-repeat}.elfinder-quicklook-navbar-icon-fullscreen{background-position:0 -64px}.elfinder-quicklook-navbar-icon-fullscreen-off{background-position:0 -96px}.elfinder-quicklook-navbar-icon-prev{background-position:0 0}.elfinder-quicklook-navbar-icon-next{background-position:0 -32px}.elfinder-quicklook-navbar-icon-close{background-position:0 -128px;display:none}.elfinder-quicklook-navbar-separator{width:1px;height:32px;float:left;border-left:1px solid #fff;display:none}.elfinder-quicklook-preview-text-wrapper{width:100%;height:100%;background:#fff;color:#222;overflow:auto}pre.elfinder-quicklook-preview-text{margin:0;padding:3px 9px}.elfinder-quicklook-preview-html,.elfinder-quicklook-preview-pdf{width:100%;height:100%;background:#fff;border:0 solid;margin:0}.elfinder-quicklook-preview-flash{width:100%;height:100%}.elfinder-quicklook-preview-audio{width:100%;position:absolute;bottom:0;left:0}embed.elfinder-quicklook-preview-audio{height:30px;background:0 0}.elfinder-quicklook-preview-video{width:100%;height:100%}.elfinder-statusbar{text-align:center;font-weight:400;padding:.2em .5em;border-right:0 solid transparent;border-bottom:0 solid transparent;border-left:0 solid transparent}.elfinder-statusbar a{text-decoration:none}.elfinder-path{max-width:30%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.elfinder-ltr .elfinder-path{float:left}.elfinder-rtl .elfinder-path{float:right}.elfinder-stat-size{white-space:nowrap}.elfinder-ltr .elfinder-stat-size{float:right}.elfinder-rtl .elfinder-stat-size{float:left}.elfinder-stat-selected{white-space:nowrap;overflow:hidden}.elfinder-toolbar{padding:4px 0 3px;border-left:0 solid transparent;border-top:0 solid transparent;border-right:0 solid transparent}.elfinder-buttonset{margin:1px 4px;float:left;background:0 0;padding:0;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.elfinder .elfinder-button{width:16px;height:16px;margin:0;padding:4px;float:left;overflow:hidden;position:relative;border:0 solid}.elfinder .ui-icon-search{cursor:pointer}.elfinder-button:first-child{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.elfinder-button:last-child{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.elfinder-toolbar-button-separator{float:left;padding:0;height:24px;border-top:0 solid;border-right:0 solid;border-bottom:0 solid;width:0}.elfinder .elfinder-button.ui-state-disabled{opacity:1;filter:Alpha(Opacity=100)}.elfinder .elfinder-button.ui-state-disabled .elfinder-button-icon{opacity:.4;filter:Alpha(Opacity=40)}.elfinder-rtl .elfinder-buttonset{float:right}.elfinder-button-icon{width:16px;height:16px;display:block;background:url('../img/toolbar.png') no-repeat}.elfinder-button-icon-home{background-position:0 0}.elfinder-button-icon-back{background-position:0 -112px}.elfinder-button-icon-forward{background-position:0 -128px}.elfinder-button-icon-up{background-position:0 -144px}.elfinder-button-icon-reload{background-position:0 -160px}.elfinder-button-icon-open{background-position:0 -176px}.elfinder-button-icon-mkdir{background-position:0 -192px}.elfinder-button-icon-mkfile{background-position:0 -208px}.elfinder-button-icon-rm{background-position:0 -224px}.elfinder-button-icon-copy{background-position:0 -240px}.elfinder-button-icon-cut{background-position:0 -256px}.elfinder-button-icon-paste{background-position:0 -272px}.elfinder-button-icon-getfile{background-position:0 -288px}.elfinder-button-icon-duplicate{background-position:0 -304px}.elfinder-button-icon-rename{background-position:0 -320px}.elfinder-button-icon-edit{background-position:0 -336px}.elfinder-button-icon-quicklook{background-position:0 -352px}.elfinder-button-icon-upload{background-position:0 -368px}.elfinder-button-icon-download{background-position:0 -384px}.elfinder-button-icon-info{background-position:0 -400px}.elfinder-button-icon-extract{background-position:0 -416px}.elfinder-button-icon-archive{background-position:0 -432px}.elfinder-button-icon-view{background-position:0 -448px}.elfinder-button-icon-view-list{background-position:0 -464px}.elfinder-button-icon-help{background-position:0 -480px}.elfinder-button-icon-resize{background-position:0 -512px}.elfinder-button-icon-search{background-position:0 -561px}.elfinder-button-icon-sort{background-position:0 -577px}.elfinder-button-icon-rotate-r{background-position:0 -625px}.elfinder-button-icon-rotate-l{background-position:0 -641px}.elfinder .elfinder-menubutton{overflow:visible}.elfinder-button-menu{position:absolute;left:0;top:25px;padding:3px 0}.elfinder-button-menu-item{white-space:nowrap;cursor:default;padding:5px 19px;position:relative}.elfinder-button-menu .ui-state-hover{border:0 solid}.elfinder-button-menu-item-separated{border-top:1px solid #ccc}.elfinder-button-menu-item .ui-icon{width:16px;height:16px;position:absolute;left:2px;top:50%;margin-top:-8px;display:none}.elfinder-button-menu-item-selected .ui-icon{display:block}.elfinder-button-menu-item-selected-asc .ui-icon-arrowthick-1-n,.elfinder-button-menu-item-selected-desc .ui-icon-arrowthick-1-s{display:none}.elfinder-button form{position:absolute;top:0;right:0;opacity:0;filter:Alpha(Opacity=0);cursor:pointer}.elfinder .elfinder-button form input{background:0 0;cursor:default}.elfinder .elfinder-button-search{border:0 solid;background:0 0;padding:0;margin:1px 4px;height:auto;min-height:26px;float:right;width:202px}.elfinder-ltr .elfinder-button-search{float:right;margin-right:10px}.elfinder-rtl .elfinder-button-search{float:left;margin-left:10px}.elfinder-button-search input{width:160px;height:22px;padding:0 20px;line-height:22px;border:1px solid #aaa;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;outline:0 solid}.elfinder-rtl .elfinder-button-search input{direction:rtl}.elfinder-button-search .ui-icon{position:absolute;height:18px;top:50%;margin:-9px 4px 0;opacity:.6;filter:Alpha(Opacity=60)}.elfinder-ltr .elfinder-button-search .ui-icon-search{left:0}.elfinder-rtl .elfinder-button-search .ui-icon-search,.elfinder-ltr .elfinder-button-search .ui-icon-close{right:0}.elfinder-rtl .elfinder-button-search .ui-icon-close{left:0} \ No newline at end of file +.elfinder-dialog-resize{margin-top:.3em}.elfinder-resize-type{float:left;margin-bottom:.4em}.elfinder-resize-control{float:left}.elfinder-resize-control input[type=text]{border:1px solid #aaa;text-align:right;width:4em}.elfinder-resize-control input.elfinder-resize-bg{text-align:center;width:5em;direction:ltr}.elfinder-dialog-resize .elfinder-resize-imgrotate,.elfinder-dialog-resize .elfinder-resize-pallet{cursor:pointer}.elfinder-dialog-resize .elfinder-resize-picking{cursor:crosshair}.elfinder-dialog-resize .elfinder-resize-grid8+button{padding-top:2px;padding-bottom:2px}.elfinder-resize-preview{width:400px;height:400px;padding:10px;background:#fff;border:1px solid #aaa;float:right;position:relative;overflow:hidden;text-align:left;direction:ltr}.elfinder .elfinder-cwd table tbody.elfinder-cwd-fixheader,.elfinder-resize-handle,div.elfinder-cwd-wrapper-list tr.ui-state-default td{position:relative}.elfinder-resize-handle-hline,.elfinder-resize-handle-vline{position:absolute;background-image:url(../img/crop.gif)}.elfinder-resize-handle-hline{width:100%;height:1px!important;background-repeat:repeat-x}.elfinder-resize-handle-vline{width:1px!important;height:100%;background-repeat:repeat-y}.elfinder-resize-handle-hline-top{top:0;left:0}.elfinder-resize-handle-hline-bottom{bottom:0;left:0}.elfinder-resize-handle-vline-left{top:0;left:0}.elfinder-resize-handle-vline-right{top:0;right:0}.elfinder-resize-handle-point{position:absolute;width:8px;height:8px;border:1px solid #777;background:0 0}.elfinder-resize-handle-point-n{top:0;left:50%;margin-top:-5px;margin-left:-5px}.elfinder-resize-handle-point-e,.elfinder-resize-handle-point-ne{top:0;right:0;margin-top:-5px;margin-right:-5px}.elfinder-resize-handle-point-e{top:50%}.elfinder-resize-handle-point-se{bottom:0;right:0;margin-bottom:-5px;margin-right:-5px}.elfinder-resize-handle-point-s,.elfinder-resize-handle-point-sw{bottom:0;left:50%;margin-bottom:-5px;margin-left:-5px}.elfinder-resize-handle-point-sw{left:0}.elfinder-resize-handle-point-nw,.elfinder-resize-handle-point-w{top:50%;left:0;margin-top:-5px;margin-left:-5px}.elfinder-resize-handle-point-nw{top:0}.elfinder-resize-spinner{position:absolute;width:200px;height:30px;top:50%;margin-top:-25px;left:50%;margin-left:-100px;text-align:center;background:url(../img/progress.gif) center bottom repeat-x}.elfinder-resize-row{margin-bottom:9px;position:relative}.elfinder-resize-label{float:left;width:80px;padding-top:3px}.elfinder-resize-checkbox-label{border:1px solid transparent}.elfinder-dialog .elfinder-dialog-resize .elfinder-resize-whctrls{margin:-20px 5px 0}.elfinder-ltr .elfinder-dialog .elfinder-dialog-resize .elfinder-resize-whctrls{float:right}.elfinder-help-team div,.elfinder-info-tb span,.elfinder-rtl .elfinder-dialog .elfinder-dialog-resize .elfinder-resize-whctrls{float:left}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-e,.elfinder-dialog .elfinder-dialog-resize .ui-resizable-w{height:100%;width:10px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-n,.elfinder-dialog .elfinder-dialog-resize .ui-resizable-s{width:100%;height:10px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-e{margin-right:-7px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-w{margin-left:-7px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-s{margin-bottom:-7px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-n{margin-top:-7px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-ne,.elfinder-dialog .elfinder-dialog-resize .ui-resizable-nw,.elfinder-dialog .elfinder-dialog-resize .ui-resizable-se,.elfinder-dialog .elfinder-dialog-resize .ui-resizable-sw{width:10px;height:10px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-se{background:0 0;bottom:0;right:0;margin-right:-7px;margin-bottom:-7px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-sw{margin-left:-7px;margin-bottom:-7px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-ne{margin-right:-7px;margin-top:-7px}.elfinder-dialog .elfinder-dialog-resize .ui-resizable-nw{margin-left:-7px;margin-top:-7px}.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-n,.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-s{height:20px}.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-e,.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-w{width:20px}.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-ne,.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-nw,.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-se,.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .ui-resizable-sw{width:30px;height:30px}.elfinder-touch .elfinder-dialog .elfinder-dialog-resize .elfinder-resize-preview .ui-resizable-se{width:30px;height:30px;zoom:1;margin:0}.elfinder-dialog-resize .ui-icon-grip-solid-vertical{position:absolute;top:50%;right:0;margin-top:-8px;margin-right:-11px}.elfinder-dialog-resize .ui-icon-grip-solid-horizontal{position:absolute;left:50%;bottom:0;margin-left:-8px;margin-bottom:-11px}.elfinder-dialog-resize .elfinder-resize-row .ui-buttonset{float:right}.elfinder-dialog-resize .elfinder-resize-degree input,.elfinder-dialog-resize .elfinder-resize-quality input{width:2.5em}.elfinder-dialog-resize .elfinder-resize-degree button.ui-button{padding:6px 8px}.elfinder-dialog-resize button.ui-button span{padding:0}.ui-widget-content .elfinder-dialog-resize .elfinder-resize-rotate-slider{width:195px;margin:10px 7px;background-color:#fafafa}.elfinder-dialog-resize .elfinder-resize-type span.ui-checkboxradio-icon{display:none}.elfinder-file-edit{width:100%;height:99%;margin:0;padding:2px;border:1px solid #ccc;box-sizing:border-box}.elfinder-touch .elfinder-file-edit{font-size:16px}.elfinder-touch.elfinder-fullscreen-native textarea.elfinder-file-edit{padding-bottom:20em;margin-bottom:-20em}div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon{position:absolute;top:4px;left:0;right:0;margin:auto 0 auto auto}.elfinder-touch div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon{top:7px}.elfinder-rtl div.elfinder-cwd-wrapper-list tr.ui-state-default td span.ui-icon{margin:auto auto auto 0}.elfinder-help{margin-bottom:.5em}.elfinder-help .ui-tabs-panel{padding:.5em}.elfinder-dialog .ui-tabs .ui-tabs-nav li a{padding:.2em 1em}.elfinder-help-shortcuts{height:300px;padding:1em;margin:.5em 0;overflow:auto}.elfinder-help-shortcut{white-space:nowrap;clear:both}.elfinder-help-shortcut-pattern{float:left;width:160px}.elfinder-help-logo{width:100px;height:96px;float:left;margin-right:1em;background:url(../img/logo.png) center center no-repeat}.elfinder-help h3{font-size:1.5em;margin:.2em 0 .3em}.elfinder-help-separator{clear:both;padding:.5em}.elfinder-help-link,.std42-dialog .ui-dialog-buttonpane button span.ui-icon{padding:2px}.elfinder-help .ui-priority-secondary{font-size:.9em}.elfinder-help .ui-priority-primary{margin-bottom:7px}.elfinder-help-team{clear:both;text-align:right;border-bottom:1px solid #ccc;margin:.5em 0;font-size:.9em}.elfinder-help-license{font-size:.9em}.elfinder-help-disabled{font-weight:700;text-align:center;margin:90px 0}.elfinder-help .elfinder-dont-panic{display:block;border:1px solid transparent;width:200px;height:200px;margin:30px auto;text-decoration:none;text-align:center;position:relative;background:#d90004;-moz-box-shadow:5px 5px 9px #111;-webkit-box-shadow:5px 5px 9px #111;box-shadow:5px 5px 9px #111;background:-moz-radial-gradient(80px 80px,circle farthest-corner,#d90004 35%,#960004 100%);background:-webkit-gradient(radial,80 80,60,80 80,120,from(#d90004),to(#960004));-moz-border-radius:100px;-webkit-border-radius:100px;border-radius:100px;outline:none}.elfinder-help .elfinder-dont-panic span{font-size:3em;font-weight:700;text-align:center;color:#fff;position:absolute;left:0;top:45px}.elfinder-help-debug{height:auto;padding:0;margin:0;overflow:none;border:none}.elfinder-help-debug .ui-tabs-panel{height:310px;padding:0;margin:0;overflow:auto}.elfinder-help-debug fieldset{margin-bottom:10px;border-color:#789;border-radius:10px}.elfinder-help-debug legend{font-size:1.2em;font-weight:700;color:#2e8b57}.elfinder-help-debug dl{margin:0}.elfinder-help-debug dt{color:#789}.elfinder-help-debug dt:before{content:"["}.elfinder-help-debug dt:after{content:"]"}.elfinder-help-debug dd{margin-left:1em}.elfinder-info-title .elfinder-cwd-bgurl:after{left:-28px}.elfinder-info-title .elfinder-cwd-icon-video:after{left:-7px}.elfinder-upload-dialog-wrapper .elfinder-upload-dirselect{position:absolute;bottom:2px;width:16px;height:16px;padding:10px;border:none;overflow:hidden;cursor:pointer}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-item .ui-icon,.elfinder-ltr .elfinder-upload-dialog-wrapper .elfinder-upload-dirselect{left:2px}.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-item .ui-icon,.elfinder-rtl .elfinder-upload-dialog-wrapper .elfinder-upload-dirselect{right:2px}.ui-front{z-index:100}.elfinder{padding:0;position:relative;display:block;font-size:18px;font-family:Verdana,Arial,Helvetica,sans-serif}.elfinder.elfinder-processing *{cursor:progress!important}.elfinder.elfinder-processing.elfinder-touch .elfinder-workzone:after{position:absolute;top:0;width:100%;height:3px;content:'';left:0;background-image:url(../img/progress.gif);opacity:.6;pointer-events:none}.elfinder :not(input):not(textarea):not(select):not([contenteditable=true]),.elfinder-contextmenu :not(input):not(textarea):not(select):not([contenteditable=true]){-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;user-select:none}.elfinder .overflow-scrolling-touch{-webkit-overflow-scrolling:touch}.elfinder-rtl{text-align:right;direction:rtl}.elfinder-workzone{padding:0;position:relative;overflow:hidden}.elfinder-lock,.elfinder-perms,.elfinder-symlink{position:absolute;width:16px;height:16px;background-image:url(../img/toolbar.png);background-repeat:no-repeat}.elfinder-perms,.elfinder-symlink{background-position:0 -528px}.elfinder-na .elfinder-perms{background-position:0 -96px}.elfinder-ro .elfinder-perms{background-position:0 -64px}.elfinder-wo .elfinder-perms{background-position:0 -80px}.elfinder-group .elfinder-perms{background-position:0 0}.elfinder-lock{background-position:0 -656px}.elfinder-drag-helper{top:0;left:0;width:70px;height:60px;padding:0 0 0 25px;z-index:100000;will-change:left,top}.elfinder-drag-helper.html5-native{position:absolute;top:-1000px;left:-1000px}.elfinder-drag-helper-icon-status{position:absolute;width:16px;height:16px;left:42px;top:60px;background:url(../img/toolbar.png) 0 -96px no-repeat;display:block}.elfinder-drag-helper-move .elfinder-drag-helper-icon-status{background-position:0 -720px}.elfinder-drag-helper-plus .elfinder-drag-helper-icon-status{background-position:0 -544px}.elfinder-drag-num{position:absolute;top:0;left:0;width:16px;height:14px;text-align:center;padding-top:2px;font-weight:700;color:#fff;background-color:red;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.elfinder-drag-helper .elfinder-cwd-icon{margin:0 0 0 -24px;float:left}.elfinder-overlay{position:absolute;opacity:.2;filter:Alpha(Opacity=20)}.elfinder .elfinder-panel{position:relative;background-image:none;padding:7px 12px}[draggable=true]{-khtml-user-drag:element}.elfinder [contentEditable=true]:empty:not(:focus):before{content:attr(data-ph)}.elfinder div.elfinder-bottomtray{position:fixed;bottom:0;max-width:100%;opacity:.8}.elfinder.elfinder-ltr div.elfinder-bottomtray{left:0}.elfinder.elfinder-rtl div.elfinder-bottomtray{right:0}.elfinder .elfinder-contextmenu,.elfinder .elfinder-contextmenu-sub{position:absolute;border:1px solid #aaa;background:#fff;color:#555;padding:4px 0;top:0;left:0}.elfinder .elfinder-contextmenu-sub{top:5px}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-sub{margin-left:-5px}.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-sub{margin-right:-5px}.elfinder .elfinder-contextmenu-header{margin-top:-4px;padding:0 .5em .2ex;border:none;text-align:center}.elfinder .elfinder-contextmenu-header span{font-size:.8em;font-weight:bolder}.elfinder .elfinder-contextmenu-item{position:relative;display:block;padding:4px 30px;text-decoration:none;white-space:nowrap;cursor:default}.elfinder .elfinder-contextmenu-item.ui-state-active{border:none}.elfinder .elfinder-contextmenu-item .ui-icon{width:16px;height:16px;position:absolute;left:auto;right:auto;top:50%;margin-top:-8px}.elfinder-touch .elfinder-contextmenu-item{padding:12px 38px}.elfinder-navbar-root-local.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_local.png)}.elfinder-navbar-root-ftp.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_ftp.png)}.elfinder-navbar-root-sql.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_sql.png)}.elfinder-navbar-root-dropbox.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_dropbox.png)}.elfinder-navbar-root-googledrive.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_googledrive.png)}.elfinder-navbar-root-onedrive.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_onedrive.png)}.elfinder-navbar-root-box.elfinder-contextmenu-icon{background-image:url(../img/volume_icon_box.png)}.elfinder .elfinder-contextmenu .elfinder-contextmenu-item span{display:block}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-item{text-align:left}.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-item{text-align:right}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-sub .elfinder-contextmenu-item{padding-left:12px}.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-sub .elfinder-contextmenu-item{padding-right:12px}.elfinder .elfinder-contextmenu-arrow,.elfinder .elfinder-contextmenu-extra-icon,.elfinder .elfinder-contextmenu-icon{position:absolute;top:50%;margin-top:-8px;overflow:hidden}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-icon{left:8px}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-extra-icon,.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-icon{right:8px}.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-extra-icon{left:8px}.elfinder .elfinder-contextmenu-arrow{width:16px;height:16px;background:url(../img/arrows-normal.png) 5px 4px no-repeat}.elfinder .elfinder-contextmenu-ltr .elfinder-contextmenu-arrow{right:5px}.elfinder .elfinder-contextmenu-rtl .elfinder-contextmenu-arrow{left:5px;background-position:0 -10px}.elfinder .elfinder-contextmenu-extra-icon a,.elfinder .elfinder-contextmenu-extra-icon span{display:inline-block;width:100%;height:100%;padding:20px;margin:0;color:transparent!important;text-decoration:none;cursor:pointer}.elfinder .elfinder-contextmenu .ui-state-hover{border:0 solid;background-image:none}.elfinder .elfinder-contextmenu-separator{height:0;border-top:1px solid #ccc;margin:0 1px}.elfinder .elfinder-button-icon.ui-state-disabled{background-image:url(../img/toolbar.png)!important}.elfinder-cwd-wrapper{overflow:auto;position:relative;padding:2px;margin:0}.elfinder-cwd-wrapper-list{padding:0}.elfinder-cwd{position:relative;cursor:default;padding:0;margin:0;-ms-touch-action:auto;touch-action:auto}.elfinder .elfinder-cwd-wrapper.elfinder-droppable-active{outline:2px solid #8cafed;outline-offset:-2px}.elfinder-cwd-wrapper-empty .elfinder-cwd:after{display:block;position:absolute;top:40%;left:0;right:0;margin-top:-2em;line-height:1.5em;text-align:center;white-space:pre-wrap;opacity:.6;filter:Alpha(Opacity=60);font-weight:700}.elfinder-cwd-file .elfinder-cwd-select{position:absolute;top:0;left:0;width:30px;height:30px;background-color:transparent;opacity:.4;filter:Alpha(Opacity=40)}.elfinder-cwd-file.ui-selected .elfinder-cwd-select{opacity:.8;filter:Alpha(Opacity=80)}.elfinder-rtl .elfinder-cwd-file .elfinder-cwd-select{left:auto;right:0}.elfinder .elfinder-cwd-selectall{position:absolute;width:30px;height:30px;top:0;opacity:.8;filter:Alpha(Opacity=80)}.elfinder .elfinder-workzone.elfinder-cwd-wrapper-empty .elfinder-cwd-selectall{display:none}.elfinder-ltr .elfinder-workzone .elfinder-cwd-selectall{text-align:right;right:18px;left:auto}.elfinder-rtl .elfinder-workzone .elfinder-cwd-selectall{text-align:left;right:auto;left:18px}.elfinder-ltr.elfinder-mobile .elfinder-workzone .elfinder-cwd-selectall{right:0}.elfinder-rtl.elfinder-mobile .elfinder-workzone .elfinder-cwd-selectall{left:0}.elfinder-cwd-view-icons .elfinder-cwd-file .elfinder-cwd-select.ui-state-hover{background-color:transparent}.elfinder-cwd-view-icons .elfinder-cwd-file{width:120px;height:80px;padding-bottom:2px;cursor:default;border:none;position:relative}.elfinder-ltr .elfinder-cwd-view-icons .elfinder-cwd-file{float:left;margin:0 3px 12px 0}.elfinder-rtl .elfinder-cwd-view-icons .elfinder-cwd-file{float:right;margin:0 0 5px 3px}.elfinder-cwd-view-icons .elfinder-cwd-file .ui-state-hover{border:0 solid}.elfinder-cwd-view-icons .elfinder-cwd-file-wrapper{width:52px;height:52px;margin:1px auto;padding:2px;position:relative}.elfinder-cwd-view-icons .elfinder-cwd-filename{text-align:center;max-height:2.4em;line-height:1.2em;white-space:pre-line;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis;margin:3px 1px 0;padding:1px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;word-break:break-word;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.elfinder-cwd-view-icons .elfinder-perms{bottom:4px;right:2px}.elfinder-cwd-view-icons .elfinder-lock{top:-3px;right:-2px}.elfinder-cwd-view-icons .elfinder-symlink{bottom:6px;left:0}.elfinder-cwd-icon{display:block;width:48px;height:48px;margin:0 auto;background:url(../img/icons-big.png) 0 0 no-repeat;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.elfinder-cwd-view-list .elfinder-navbar-root-local td .elfinder-cwd-icon,.elfinder-navbar-root-local .elfinder-cwd-icon{background-image:url(../img/volume_icon_local.png);background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-local.elfinder-droppable-active .elfinder-cwd-icon{background-image:url(../img/volume_icon_local.png);background-size:contain;background-position:1px -1px}.elfinder-cwd-view-list .elfinder-navbar-root-ftp td .elfinder-cwd-icon,.elfinder-navbar-root-ftp .elfinder-cwd-icon{background-image:url(../img/volume_icon_ftp.png);background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-ftp.elfinder-droppable-active .elfinder-cwd-icon{background-image:url(../img/volume_icon_ftp.png);background-size:contain;background-position:1px -1px}.elfinder-cwd-view-list .elfinder-navbar-root-sql td .elfinder-cwd-icon,.elfinder-navbar-root-sql .elfinder-cwd-icon{background-image:url(../img/volume_icon_sql.png);background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-sql.elfinder-droppable-active .elfinder-cwd-icon{background-image:url(../img/volume_icon_sql.png);background-size:contain;background-position:1px -1px}.elfinder-cwd-view-list .elfinder-navbar-root-dropbox td .elfinder-cwd-icon,.elfinder-navbar-root-dropbox .elfinder-cwd-icon{background-image:url(../img/volume_icon_dropbox.png);background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-dropbox.elfinder-droppable-active .elfinder-cwd-icon{background-image:url(../img/volume_icon_dropbox.png);background-size:contain;background-position:1px -1px}.elfinder-cwd-view-list .elfinder-navbar-root-googledrive td .elfinder-cwd-icon,.elfinder-navbar-root-googledrive .elfinder-cwd-icon{background-image:url(../img/volume_icon_googledrive.png);background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-googledrive.elfinder-droppable-active .elfinder-cwd-icon{background-image:url(../img/volume_icon_googledrive.png);background-size:contain}.elfinder-cwd-view-list .elfinder-navbar-root-onedrive td .elfinder-cwd-icon,.elfinder-navbar-root-onedrive .elfinder-cwd-icon{background-image:url(../img/volume_icon_onedrive.png);background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-onedrive.elfinder-droppable-active .elfinder-cwd-icon{background-image:url(../img/volume_icon_onedrive.png);background-size:contain}.elfinder-cwd-view-list .elfinder-navbar-root-box td .elfinder-cwd-icon,.elfinder-navbar-root-box .elfinder-cwd-icon{background-image:url(../img/volume_icon_box.png);background-position:0 0;background-size:contain}.elfinder-cwd .elfinder-navbar-root-box.elfinder-droppable-active .elfinder-cwd-icon{background-image:url(../img/volume_icon_box.png);background-size:contain}.elfinder-cwd .elfinder-navbar-root-box.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd .elfinder-navbar-root-googledrive.elfinder-droppable-active .elfinder-cwd-icon,.elfinder-cwd .elfinder-navbar-root-onedrive.elfinder-droppable-active .elfinder-cwd-icon{background-position:1px -1px}.elfinder-cwd-view-list .elfinder-navbar-root-network td .elfinder-cwd-icon,.elfinder-navbar-root-network .elfinder-cwd-icon{background-image:url(../img/toolbar.png);background-position:0 86%;background-size:cover}.elfinder-cwd .elfinder-navbar-root-network.elfinder-droppable-active .elfinder-cwd-icon{background-image:url(../img/toolbar.png);background-size:cover;background-position:1px -1px}.elfinder-cwd-icon.elfinder-cwd-bgurl{background-position:center center;background-repeat:no-repeat}.elfinder-cwd-icon.elfinder-cwd-bgurl,.elfinder-cwd-icon.elfinder-cwd-bgurl.elfinder-cwd-bgself{-moz-background-size:cover;background-size:cover}.elfinder-cwd-bgurl:after{content:' ';position:relative;display:inline-block;top:36px;left:-38px;width:48px;height:48px;background:url(../img/icons-big.png) 0 0 no-repeat;background-size:auto!important;opacity:.8;filter:Alpha(Opacity=60);-webkit-transform-origin:54px -24px;-webkit-transform:scale(.6);-moz-transform-origin:54px -24px;-moz-transform:scale(.6);-ms-transform-origin:54px -24px;-ms-transform:scale(.6);-o-transform-origin:54px -24px;-o-transform:scale(.6);transform-origin:54px -24px;transform:scale(.6)}.elfinder-cwd-icon-image:after,.elfinder-cwd-view-list .elfinder-cwd-icon.elfinder-cwd-icon-video.elfinder-cwd-bgurl:after{content:none}.elfinder-cwd-icon-video:after{top:32px;left:-26px;height:25px;width:22px;background-position:0 -373px;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.elfinder-cwd .elfinder-droppable-active .elfinder-cwd-icon{background-position:0 -100px}.elfinder-cwd .elfinder-droppable-active{outline:2px solid #8cafed;outline-offset:-2px}.elfinder-cwd-icon-directory{background-position:0 -50px}.elfinder-cwd-icon-application,.elfinder-cwd-icon-application:after{background-position:0 -150px}.elfinder-cwd-icon-text,.elfinder-cwd-icon-text:after,.elfinder-cwd-icon-x-empty,.elfinder-cwd-icon-x-empty:after{background-position:0 -200px}.elfinder-cwd-icon-image,.elfinder-cwd-icon-image:after,.elfinder-cwd-icon-postscript,.elfinder-cwd-icon-postscript:after,.elfinder-cwd-icon-vnd-adobe-photoshop,.elfinder-cwd-icon-vnd-adobe-photoshop:after{background-position:0 -250px}.elfinder-cwd-icon-audio,.elfinder-cwd-icon-audio:after{background-position:0 -300px}.elfinder-cwd-icon-flash-video,.elfinder-cwd-icon-video{background-position:0 -350px}.elfinder-cwd-icon-rtf,.elfinder-cwd-icon-rtf:after,.elfinder-cwd-icon-rtfd,.elfinder-cwd-icon-rtfd:after{background-position:0 -401px}.elfinder-cwd-icon-pdf,.elfinder-cwd-icon-pdf:after{background-position:0 -450px}.elfinder-cwd-icon-ms-excel,.elfinder-cwd-icon-ms-excel:after,.elfinder-cwd-icon-msword,.elfinder-cwd-icon-msword:after,.elfinder-cwd-icon-vnd-ms-excel,.elfinder-cwd-icon-vnd-ms-excel-addin-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-excel-addin-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-excel-sheet-binary-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-excel-sheet-binary-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-excel-sheet-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-excel-sheet-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-excel-template-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-excel-template-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-excel:after,.elfinder-cwd-icon-vnd-ms-office,.elfinder-cwd-icon-vnd-ms-office:after,.elfinder-cwd-icon-vnd-ms-powerpoint,.elfinder-cwd-icon-vnd-ms-powerpoint-addin-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-addin-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-powerpoint-presentation-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-presentation-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-powerpoint-slide-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-slide-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-powerpoint-slideshow-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-slideshow-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-powerpoint-template-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-powerpoint-template-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-powerpoint:after,.elfinder-cwd-icon-vnd-ms-word,.elfinder-cwd-icon-vnd-ms-word-document-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-word-document-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-word-template-macroEnabled-12,.elfinder-cwd-icon-vnd-ms-word-template-macroEnabled-12:after,.elfinder-cwd-icon-vnd-ms-word:after,.elfinder-cwd-icon-vnd-oasis-opendocument-chart,.elfinder-cwd-icon-vnd-oasis-opendocument-chart:after,.elfinder-cwd-icon-vnd-oasis-opendocument-database,.elfinder-cwd-icon-vnd-oasis-opendocument-database:after,.elfinder-cwd-icon-vnd-oasis-opendocument-formula,.elfinder-cwd-icon-vnd-oasis-opendocument-formula:after,.elfinder-cwd-icon-vnd-oasis-opendocument-graphics,.elfinder-cwd-icon-vnd-oasis-opendocument-graphics-template,.elfinder-cwd-icon-vnd-oasis-opendocument-graphics-template:after,.elfinder-cwd-icon-vnd-oasis-opendocument-graphics:after,.elfinder-cwd-icon-vnd-oasis-opendocument-image,.elfinder-cwd-icon-vnd-oasis-opendocument-image:after,.elfinder-cwd-icon-vnd-oasis-opendocument-presentation,.elfinder-cwd-icon-vnd-oasis-opendocument-presentation-template,.elfinder-cwd-icon-vnd-oasis-opendocument-presentation-template:after,.elfinder-cwd-icon-vnd-oasis-opendocument-presentation:after,.elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet,.elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet-template,.elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet-template:after,.elfinder-cwd-icon-vnd-oasis-opendocument-spreadsheet:after,.elfinder-cwd-icon-vnd-oasis-opendocument-text,.elfinder-cwd-icon-vnd-oasis-opendocument-text-master,.elfinder-cwd-icon-vnd-oasis-opendocument-text-master:after,.elfinder-cwd-icon-vnd-oasis-opendocument-text-template,.elfinder-cwd-icon-vnd-oasis-opendocument-text-template:after,.elfinder-cwd-icon-vnd-oasis-opendocument-text-web,.elfinder-cwd-icon-vnd-oasis-opendocument-text-web:after,.elfinder-cwd-icon-vnd-oasis-opendocument-text:after,.elfinder-cwd-icon-vnd-openofficeorg-extension,.elfinder-cwd-icon-vnd-openofficeorg-extension:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-presentation,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-presentation:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slide,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slide:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slideshow,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-slideshow:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-template,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-presentationml-template:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-sheet,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-sheet:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-template,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-spreadsheetml-template:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-document,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-document:after,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-template,.elfinder-cwd-icon-vnd-openxmlformats-officedocument-wordprocessingml-template:after{background-position:0 -500px}.elfinder-cwd-icon-html,.elfinder-cwd-icon-html:after{background-position:0 -550px}.elfinder-cwd-icon-css,.elfinder-cwd-icon-css:after{background-position:0 -600px}.elfinder-cwd-icon-javascript,.elfinder-cwd-icon-javascript:after,.elfinder-cwd-icon-x-javascript,.elfinder-cwd-icon-x-javascript:after{background-position:0 -650px}.elfinder-cwd-icon-x-perl,.elfinder-cwd-icon-x-perl:after{background-position:0 -700px}.elfinder-cwd-icon-x-python,.elfinder-cwd-icon-x-python:after{background-position:0 -750px}.elfinder-cwd-icon-x-ruby,.elfinder-cwd-icon-x-ruby:after{background-position:0 -800px}.elfinder-cwd-icon-x-sh,.elfinder-cwd-icon-x-sh:after,.elfinder-cwd-icon-x-shellscript,.elfinder-cwd-icon-x-shellscript:after{background-position:0 -850px}.elfinder-cwd-icon-x-c,.elfinder-cwd-icon-x-c--,.elfinder-cwd-icon-x-c--:after,.elfinder-cwd-icon-x-c--hdr,.elfinder-cwd-icon-x-c--hdr:after,.elfinder-cwd-icon-x-c--src,.elfinder-cwd-icon-x-c--src:after,.elfinder-cwd-icon-x-c:after,.elfinder-cwd-icon-x-chdr,.elfinder-cwd-icon-x-chdr:after,.elfinder-cwd-icon-x-csrc,.elfinder-cwd-icon-x-csrc:after,.elfinder-cwd-icon-x-java,.elfinder-cwd-icon-x-java-source,.elfinder-cwd-icon-x-java-source:after,.elfinder-cwd-icon-x-java:after{background-position:0 -900px}.elfinder-cwd-icon-x-php,.elfinder-cwd-icon-x-php:after{background-position:0 -950px}.elfinder-cwd-icon-xml,.elfinder-cwd-icon-xml:after{background-position:0 -1000px}.elfinder-cwd-icon-x-7z-compressed,.elfinder-cwd-icon-x-7z-compressed:after,.elfinder-cwd-icon-x-xz,.elfinder-cwd-icon-x-xz:after,.elfinder-cwd-icon-x-zip,.elfinder-cwd-icon-x-zip:after,.elfinder-cwd-icon-zip,.elfinder-cwd-icon-zip:after{background-position:0 -1050px}.elfinder-cwd-icon-x-gzip,.elfinder-cwd-icon-x-gzip:after,.elfinder-cwd-icon-x-tar,.elfinder-cwd-icon-x-tar:after{background-position:0 -1100px}.elfinder-cwd-icon-x-bzip,.elfinder-cwd-icon-x-bzip2,.elfinder-cwd-icon-x-bzip2:after,.elfinder-cwd-icon-x-bzip:after{background-position:0 -1150px}.elfinder-cwd-icon-x-rar,.elfinder-cwd-icon-x-rar-compressed,.elfinder-cwd-icon-x-rar-compressed:after,.elfinder-cwd-icon-x-rar:after{background-position:0 -1200px}.elfinder-cwd-icon-x-shockwave-flash,.elfinder-cwd-icon-x-shockwave-flash:after{background-position:0 -1250px}.elfinder-cwd-icon-group{background-position:0 -1300px}.elfinder-cwd-filename input{width:100%;border:none;margin:0;padding:0}.elfinder-cwd-view-icons,.elfinder-cwd-view-icons input{text-align:center}.elfinder-cwd-view-icons textarea{width:100%;border:0 solid;margin:0;padding:0;text-align:center;overflow:hidden;resize:none}.elfinder-cwd-wrapper.elfinder-cwd-fixheader .elfinder-cwd::after{display:none}.elfinder-cwd table{width:100%;border-collapse:separate;border:0 solid;margin:0 0 10px;border-spacing:0;box-sizing:padding-box;padding:2px;position:relative}.elfinder-cwd-wrapper-list.elfinder-cwd-fixheader{position:absolute;overflow:hidden}.elfinder-cwd-wrapper-list.elfinder-cwd-fixheader:before{content:'';position:absolute;width:100%;top:0;height:3px;background-color:#fff}.elfinder-droppable-active+.elfinder-cwd-wrapper-list.elfinder-cwd-fixheader:before{background-color:#8cafed}.elfinder .elfinder-workzone div.elfinder-cwd-fixheader table{table-layout:fixed}.elfinder-ltr .elfinder-cwd thead .elfinder-cwd-selectall{text-align:left;right:auto;left:0;padding-top:3px}.elfinder-rtl .elfinder-cwd thead .elfinder-cwd-selectall{text-align:right;right:0;left:auto;padding-top:3px}.elfinder-touch .elfinder-cwd thead .elfinder-cwd-selectall{padding-top:5px}.elfinder .elfinder-cwd table thead tr{border-left:0 solid;border-top:0 solid;border-right:0 solid}.elfinder .elfinder-cwd table thead td{padding:4px 14px}.elfinder-ltr .elfinder-cwd.elfinder-has-checkbox table thead td:first-child{padding:4px 14px 4px 22px}.elfinder-rtl .elfinder-cwd.elfinder-has-checkbox table thead td:first-child{padding:4px 22px 4px 14px}.elfinder .elfinder-cwd table thead td.ui-state-active{background:#ebf1f6;background:-moz-linear-gradient(top,#ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ebf1f6),color-stop(50%,#abd3ee),color-stop(51%,#89c3eb),color-stop(100%,#d5ebfb));background:-webkit-linear-gradient(top,#ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%);background:-o-linear-gradient(top,#ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%);background:-ms-linear-gradient(top,#ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%);background:linear-gradient(to bottom,#ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ebf1f6', endColorstr='#d5ebfb',GradientType=0 )}.elfinder .elfinder-cwd table td{padding:4px 12px;white-space:pre;overflow:hidden;text-align:right;cursor:default;border:0 solid}.elfinder .elfinder-cwd table tbody td:first-child{position:relative}.elfinder .elfinder-cwd table td div{box-sizing:content-box}tr.elfinder-cwd-file td .elfinder-cwd-select{width:40px;padding-top:3px}.elfinder-touch tr.elfinder-cwd-file td .elfinder-cwd-select{padding-top:10px}.elfinder-touch .elfinder-cwd tr td{padding:10px 12px}.elfinder-touch .elfinder-cwd table thead td{padding:8px 14px}.elfinder-touch .elfinder-cwd tr.elfinder-cwd-file td{padding:13px 12px}.elfinder-ltr .elfinder-cwd table td{text-align:right}.elfinder-ltr .elfinder-cwd table td:first-child{text-align:left}.elfinder-rtl .elfinder-cwd table td{text-align:left}.elfinder-info-tb tr td:first-child,.elfinder-rtl .elfinder-cwd table td:first-child{text-align:right}.elfinder-odd-row{background:#eee}.elfinder-cwd-view-list .elfinder-cwd-file-wrapper{width:97%;position:relative}.elfinder-ltr .elfinder-cwd-view-list.elfinder-has-checkbox .elfinder-cwd-file-wrapper{margin-left:8px}.elfinder-rtl .elfinder-cwd-view-list.elfinder-has-checkbox .elfinder-cwd-file-wrapper{margin-right:8px}.elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-filename{padding-left:23px}.elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-filename{padding-right:23px}.elfinder-cwd-view-list .elfinder-lock,.elfinder-cwd-view-list .elfinder-perms,.elfinder-cwd-view-list .elfinder-symlink{margin-top:-6px;opacity:.6;filter:Alpha(Opacity=60)}.elfinder-ltr .elfinder-cwd-view-list .elfinder-perms{left:8px;bottom:-4px}.elfinder-ltr .elfinder-cwd-view-list .elfinder-lock{left:10px;top:0}.elfinder-ltr .elfinder-cwd-view-list .elfinder-symlink{left:-7px;bottom:-4px}.elfinder-cwd-view-list td .elfinder-cwd-icon{width:16px;height:16px;position:absolute;top:50%;margin-top:-8px;background-image:url(../img/icons-small.png)}.elfinder-ltr .elfinder-cwd-view-list .elfinder-cwd-icon{left:0}.elfinder-rtl .elfinder-cwd-view-list .elfinder-cwd-icon{right:0}.elfinder-cwd-view-list thead td .ui-resizable-handle{height:100%;top:3px}.elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-handle{top:-5px;margin:10px}.elfinder-cwd-view-list thead td .ui-resizable-e{right:-7px}.elfinder-cwd-view-list thead td .ui-resizable-w{left:-7px}.elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-e{right:-16px}.elfinder-touch .elfinder-cwd-view-list thead td .ui-resizable-w{left:-16px}.elfinder-cwd-wrapper-empty .elfinder-cwd-view-list.elfinder-cwd:after{margin-top:0}.std42-dialog{padding:0;position:absolute;left:auto;right:auto}.std42-dialog.elfinder-dialog-minimized{overFlow:hidden;position:relative;float:left;width:auto}.elfinder-rtl .std42-dialog.elfinder-dialog-minimized{float:right}.std42-dialog .ui-dialog-titlebar{border-left:0 solid transparent;border-top:0 solid transparent;border-right:0 solid transparent;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;font-weight:400;padding:.2em 1em}.std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar{padding:0 .5em;height:20px}.elfinder-touch .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar{padding:.3em .5em}.std42-dialog.ui-draggable-disabled .ui-dialog-titlebar{cursor:default}.std42-dialog .ui-dialog-titlebar .ui-widget-header{border:none;cursor:pointer}.std42-dialog .ui-dialog-titlebar span.elfinder-dialog-title{display:inherit;word-break:break-all}.std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar span.elfinder-dialog-title{display:list-item;display:-moz-inline-box;white-space:nowrap;word-break:normal;overflow:hidden;word-wrap:normal;overflow-wrap:normal;max-width:-webkit-calc(100% - 24px);max-width:-moz-calc(100% - 24px);max-width:calc(100% - 24px)}.elfinder-touch .std42-dialog .ui-dialog-titlebar span.elfinder-dialog-title{padding-top:.15em}.elfinder-touch .std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar span.elfinder-dialog-title{max-width:-webkit-calc(100% - 36px);max-width:-moz-calc(100% - 36px);max-width:calc(100% - 36px)}.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button{position:relative;float:left;top:10px;left:-10px;right:10px;width:20px;height:20px;padding:1px;margin:-10px 1px 0;background-color:transparent;background-image:none}.elfinder-touch .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button{transform:scale(1.1);zoom:1.1;margin-left:5px;margin-right:5px}.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button.elfinder-titlebar-button-right{float:right;left:10px;right:-10px}.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon{width:17px;height:17px;border-width:1px;border-color:transparent;opacity:.7;filter:Alpha(Opacity=70);-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.std42-dialog.elfinder-dialog-minimized .ui-dialog-titlebar .elfinder-titlebar-button .ui-icon{opacity:1;filter:Alpha(Opacity=100)}.elfinder-mobile .std42-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon,.std42-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close:hover .ui-icon{background-color:#ff6252;border-color:#e5695d}.elfinder-mobile .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-minimize .ui-icon,.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-minimize:hover .ui-icon{background-color:#ffbc00;border-color:#e3a40b}.elfinder-mobile .std42-dialog .ui-dialog-titlebar .elfinder-titlebar-full .ui-icon,.std42-dialog .ui-dialog-titlebar .elfinder-titlebar-full:hover .ui-icon{background-color:#26c82f;border-color:#13ae10}.elfinder-touch .std42-dialog.ui-dialog:not(ui-resizable-disabled) .ui-resizable-se{width:12px;height:12px;zoom:1.5;right:-7px;bottom:-7px;margin:3px 7px 7px 3px;background-position:-64px -224px}.elfinder-rtl .elfinder-dialog .ui-dialog-titlebar{text-align:right}.std42-dialog .ui-dialog-content{padding:.3em .5em;box-sizing:border-box}.elfinder .std42-dialog .ui-dialog-content,.elfinder .std42-dialog .ui-dialog-content *{-webkit-user-select:auto;-moz-user-select:text;-khtml-user-select:text;user-select:text}.std42-dialog .ui-dialog-buttonpane{border:0 solid;margin:0;padding:.5em;text-align:right}.elfinder-rtl .std42-dialog .ui-dialog-buttonpane{text-align:left}.std42-dialog .ui-dialog-buttonpane button{margin:.7em 0 0 .4em;padding:.2em;outline:0 solid}.std42-dialog .ui-dialog-buttonpane button span{padding:2px 9px}.elfinder-dialog .ui-resizable-e,.elfinder-dialog .ui-resizable-s{width:0;height:0}.std42-dialog .ui-button input{cursor:pointer}.elfinder-dialog-icon{position:absolute;width:32px;height:32px;left:10px;top:50%;margin-top:-15px;background:url(../img/dialogs.png) 0 0 no-repeat}.elfinder-rtl .elfinder-dialog-icon{left:auto;right:10px}.elfinder-dialog-confirm .ui-dialog-content,.elfinder-dialog-error .ui-dialog-content{padding-left:56px;min-height:35px}.elfinder-rtl .elfinder-dialog-confirm .ui-dialog-content,.elfinder-rtl .elfinder-dialog-error .ui-dialog-content{padding-left:0;padding-right:56px}.elfinder-dialog-notify .ui-dialog-titlebar-close,.elfinder-rm-title+br{display:none}.elfinder-dialog-notify .ui-dialog-content{padding:0}.elfinder-notify{border-bottom:1px solid #ccc;position:relative;padding:.5em;text-align:center;overflow:hidden}.elfinder-ltr .elfinder-notify{padding-left:36px}.elfinder-rtl .elfinder-notify{padding-right:36px}.elfinder-notify:last-child{border:0 solid}.elfinder-notify-progressbar{width:180px;height:8px;border:1px solid #aaa;background:#f5f5f5;margin:5px auto;overflow:hidden}.elfinder-notify-progress{width:100%;height:8px;background:url(../img/progress.gif) center center repeat-x}.elfinder-notify-progress,.elfinder-notify-progressbar{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.elfinder-dialog-icon-file,.elfinder-dialog-icon-open,.elfinder-dialog-icon-readdir,.elfinder-dialog-icon-reload{background-position:0 -225px}.elfinder-dialog-icon-mkdir{background-position:0 -64px}.elfinder-dialog-icon-mkfile{background-position:0 -96px}.elfinder-dialog-icon-copy,.elfinder-dialog-icon-move,.elfinder-dialog-icon-prepare{background-position:0 -128px}.elfinder-dialog-icon-chunkmerge,.elfinder-dialog-icon-upload{background-position:0 -160px}.elfinder-dialog-icon-rm{background-position:0 -192px}.elfinder-dialog-icon-download{background-position:0 -260px}.elfinder-dialog-icon-save{background-position:0 -295px}.elfinder-dialog-icon-rename{background-position:0 -330px}.elfinder-dialog-icon-archive,.elfinder-dialog-icon-extract,.elfinder-dialog-icon-zipdl{background-position:0 -365px}.elfinder-dialog-icon-search{background-position:0 -402px}.elfinder-dialog-icon-chmod,.elfinder-dialog-icon-dim,.elfinder-dialog-icon-loadimg,.elfinder-dialog-icon-netmount,.elfinder-dialog-icon-netunmount,.elfinder-dialog-icon-preupload,.elfinder-dialog-icon-resize,.elfinder-dialog-icon-url{background-position:0 -434px}.elfinder-dialog-confirm-applyall{padding:0 1em;margin:0}.elfinder-ltr .elfinder-dialog-confirm-applyall{text-align:left}.elfinder-rtl .elfinder-dialog-confirm-applyall{text-align:right}.elfinder-dialog-confirm .elfinder-dialog-icon{background-position:0 -32px}.elfinder-dialog-confirm .ui-dialog-buttonset{width:auto}.elfinder-info-title .elfinder-cwd-icon{float:left;width:48px;height:48px;margin-right:1em}.elfinder-rtl .elfinder-info-title .elfinder-cwd-icon,.elfinder-rtl .elfinder-rm-title .elfinder-cwd-icon{float:right;margin-right:0;margin-left:1em}.elfinder-info-title strong{display:block;padding:.3em 0 .5em}.elfinder-info-tb{min-width:200px;border:0 solid;margin:1em .2em}.elfinder-info-tb td{white-space:nowrap;padding:2px}.elfinder-info-tb a{outline:none;text-decoration:underline}.elfinder-info-tb a:hover{text-decoration:none}.elfinder-info-spinner{width:14px;height:14px;float:left;background:url(../img/spinner-mini.gif) center center no-repeat;margin:0 5px}.elfinder-netmount-tb{margin:0 auto}.elfinder-netmount-tb input,.elfinder-netmount-tb select{border:1px solid #ccc}.elfinder-netmount-tb .elfinder-button-icon{cursor:pointer}button.elfinder-info-button{margin:-3.5px 0;cursor:pointer}.elfinder-upload-dropbox{display:table-cell;text-align:center;vertical-align:middle;padding:.5em;border:3px dashed #aaa;width:9999px;height:80px;overflow:hidden;word-break:keep-all}.elfinder-upload-dropbox.ui-state-hover{background:#dfdfdf;border:3px dashed #555}.elfinder-upload-dialog-or{margin:.3em 0;text-align:center}.elfinder-upload-dialog-wrapper{text-align:center}.elfinder-upload-dialog-wrapper .ui-button{position:relative;overflow:hidden}.elfinder-upload-dialog-wrapper .ui-button form{position:absolute;right:0;top:0;opacity:0;filter:Alpha(Opacity=0)}.elfinder-upload-dialog-wrapper .ui-button form input{padding:0 20px;font-size:3em}.dialogelfinder .dialogelfinder-drag{border-left:0 solid;border-top:0 solid;border-right:0 solid;font-weight:400;padding:2px 12px;cursor:move;position:relative;text-align:left}.elfinder-rtl .dialogelfinder-drag{text-align:right}.dialogelfinder-drag-close{position:absolute;top:50%;margin-top:-8px}.elfinder-ltr .dialogelfinder-drag-close{right:12px}.elfinder-rtl .dialogelfinder-drag-close{left:12px}.elfinder-rm-title{margin-bottom:.5ex}.elfinder-rm-title .elfinder-cwd-icon{float:left;width:48px;height:48px;margin-right:1em}.elfinder-rm-title strong{display:block;white-space:pre-wrap;word-break:normal;overflow:hidden;text-overflow:ellipsis}.elfinder-contextmenu .elfinder-contextmenu-item span{font-size:.72em}.elfinder-cwd-view-icons .elfinder-cwd-filename,.elfinder-cwd-view-list td{font-size:.7em}.std42-dialog .ui-dialog-titlebar{font-size:.82em}.std42-dialog .ui-dialog-content{font-size:.72em}.std42-dialog .ui-dialog-buttonpane{font-size:.76em}.dialogelfinder .dialogelfinder-drag,.elfinder-info-tb{font-size:.9em}.elfinder-upload-dialog-or,.elfinder-upload-dropbox{font-size:1.2em}.elfinder .elfinder-navbar{font-size:.72em}.elfinder-place-drag .elfinder-navbar-dir{font-size:.9em}.elfinder-quicklook-title,.elfinder-statusbar div{font-size:.7em}.elfinder-quicklook-info-data{font-size:.72em}.elfinder-quicklook-preview-text-wrapper{font-size:.9em}.elfinder-button-menu-item{font-size:.72em}.elfinder-button-search input{font-size:.8em}.elfinder-drag-num{font-size:12px}.elfinder-toast{font-size:.76em}.elfinder .elfinder-navbar{width:230px;padding:3px 5px;background-image:none;border-top:0 solid;border-bottom:0 solid;overflow:auto;position:relative}.elfinder-ltr .elfinder-navbar{float:left;border-left:0 solid}.elfinder-rtl .elfinder-navbar{float:right;border-right:0 solid}.elfinder-ltr .ui-resizable-e{margin-left:10px}.elfinder-tree{display:table;width:100%;margin:0 0 .5em;-webkit-tap-highlight-color:rgba(0,0,0,0)}.elfinder-navbar-dir{position:relative;display:block;white-space:nowrap;padding:3px 12px;margin:0;outline:0 solid;border:1px solid transparent;cursor:default}.elfinder-touch .elfinder-navbar-dir{padding:12px}.elfinder-ltr .elfinder-navbar-dir{padding-left:35px}.elfinder-rtl .elfinder-navbar-dir{padding-right:35px}.elfinder-navbar-arrow{width:12px;height:14px;position:absolute;display:none;top:50%;margin-top:-8px;background-image:url(../img/arrows-normal.png);background-repeat:no-repeat}.elfinder-ltr .elfinder-navbar-arrow{left:0;right:0}.elfinder-touch .elfinder-navbar-arrow{zoom:1.4;-moz-transform-origin:top left;-moz-transform:scale(1.4);margin-bottom:7px}.elfinder-ltr.elfinder-touch .elfinder-navbar-arrow{left:-3px;margin-right:20px}.elfinder-rtl.elfinder-touch .elfinder-navbar-arrow{right:-3px;margin-left:20px}.ui-state-active .elfinder-navbar-arrow{background-image:url(../img/arrows-active.png)}.elfinder-navbar-collapsed .elfinder-navbar-arrow{display:block}.elfinder-ltr .elfinder-navbar-collapsed .elfinder-navbar-arrow{background-position:0 4px}.elfinder-rtl .elfinder-navbar-collapsed .elfinder-navbar-arrow{background-position:0 -10px}.elfinder-ltr .elfinder-navbar-expanded .elfinder-navbar-arrow,.elfinder-rtl .elfinder-navbar-expanded .elfinder-navbar-arrow{background-position:0 -21px}.elfinder-navbar-icon{width:16px;height:16px;position:absolute;top:50%;margin-top:-8px;background-image:url(../img/toolbar.png);background-repeat:no-repeat;background-position:0 -16px}.elfinder-ltr .elfinder-navbar-icon{left:14px}.elfinder-rtl .elfinder-navbar-icon{right:14px}.elfinder-tree .elfinder-navbar-root .elfinder-navbar-icon{background-position:0 0}.elfinder-places .elfinder-navbar-root .elfinder-navbar-icon{background-position:0 -704px}.elfinder-tree .elfinder-navbar-root-local .elfinder-navbar-icon{background-image:url(../img/volume_icon_local.png);background-position:0 0}.elfinder-tree .elfinder-navbar-root-ftp .elfinder-navbar-icon{background-image:url(../img/volume_icon_ftp.png);background-position:0 0}.elfinder-tree .elfinder-navbar-root-sql .elfinder-navbar-icon{background-image:url(../img/volume_icon_sql.png);background-position:0 0}.elfinder-tree .elfinder-navbar-root-dropbox .elfinder-navbar-icon{background-image:url(../img/volume_icon_dropbox.png);background-position:0 0}.elfinder-tree .elfinder-navbar-root-googledrive .elfinder-navbar-icon{background-image:url(../img/volume_icon_googledrive.png);background-position:0 0}.elfinder-tree .elfinder-navbar-root-onedrive .elfinder-navbar-icon{background-image:url(../img/volume_icon_onedrive.png);background-position:0 0}.elfinder-tree .elfinder-navbar-root-box .elfinder-navbar-icon{background-image:url(../img/volume_icon_box.png);background-position:0 0}.elfinder-tree .elfinder-navbar-root-network .elfinder-navbar-icon{background-image:url(../img/toolbar.png);background-position:0 -688px}.elfinder-droppable-active .elfinder-navbar-icon,.ui-state-active .elfinder-navbar-icon,.ui-state-hover .elfinder-navbar-icon{background-position:0 -32px}.elfinder-ltr .elfinder-navbar-subtree{margin-left:12px}.elfinder-rtl .elfinder-navbar-subtree{margin-right:12px}.elfinder-navbar-spinner{width:14px;height:14px;position:absolute;display:block;top:50%;margin-top:-7px;background:url(../img/spinner-mini.gif) center center no-repeat}.elfinder-ltr .elfinder-navbar-spinner{left:0;margin-left:-2px}.elfinder-rtl .elfinder-navbar-spinner{right:0;margin-right:-2px}.elfinder-navbar .elfinder-lock,.elfinder-navbar .elfinder-perms,.elfinder-navbar .elfinder-symlink{opacity:.6;filter:Alpha(Opacity=60)}.elfinder-navbar .elfinder-perms{bottom:-1px;margin-top:-8px}.elfinder-navbar .elfinder-lock{top:-2px}.elfinder-ltr .elfinder-navbar .elfinder-perms{left:20px}.elfinder-rtl .elfinder-navbar .elfinder-perms{right:20px}.elfinder-ltr .elfinder-navbar .elfinder-lock{left:20px}.elfinder-rtl .elfinder-navbar .elfinder-lock{right:20px}.elfinder-ltr .elfinder-navbar .elfinder-symlink{left:8px}.elfinder-rtl .elfinder-navbar .elfinder-symlink{right:8px}.elfinder-navbar input{width:100%;border:0 solid;margin:0;padding:0}.elfinder-navbar .ui-resizable-handle{width:12px;background:url(../img/resize.png) center center no-repeat}.elfinder-nav-handle-icon{position:absolute;top:50%;margin:-8px 2px 0;opacity:.5;filter:Alpha(Opacity=50)}.elfinder-places{border:none;margin:0;padding:0}.elfinder-navbar-swipe-handle{position:absolute;top:0;height:100%;width:50px;pointer-events:none}.elfinder-ltr .elfinder-navbar-swipe-handle{left:0;background:linear-gradient(to right,#dde4eb 0,rgba(221,228,235,.8) 5px,rgba(216,223,230,.3) 8px,rgba(0,0,0,.1) 95%,rgba(0,0,0,0) 100%)}.elfinder-rtl .elfinder-navbar-swipe-handle{right:0;background:linear-gradient(to left,#dde4eb 0,rgba(221,228,235,.8) 5px,rgba(216,223,230,.3) 8px,rgba(0,0,0,.1) 95%,rgba(0,0,0,0) 100%)}.elfinder-navbar-root .elfinder-places-root-icon{position:absolute;top:50%;margin-top:-9px;cursor:pointer}.elfinder-ltr .elfinder-places-root-icon{right:10px}.elfinder-rtl .elfinder-places-root-icon{left:10px}.elfinder-navbar-expanded .elfinder-places-root-icon{display:block}.elfinder-place-drag{font-size:.8em}.elfinder-quicklook{position:absolute;background:url(../img/quicklook-bg.png);overflow:hidden;border-radius:7px;-moz-border-radius:7px;-webkit-border-radius:7px;padding:20px 0 40px}.elfinder-quicklook.elfinder-touch{padding:30px 0 40px}.elfinder-quicklook .ui-resizable-se{width:14px;height:14px;right:5px;bottom:3px;background:url(../img/toolbar.png) 0 -496px no-repeat}.elfinder-quicklook.elfinder-touch .ui-resizable-se{zoom:1.5}.elfinder-quicklook.elfinder-quicklook-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;box-sizing:border-box;width:100%;height:100%;object-fit:contain;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-webkit-background-clip:padding-box;padding:0;background:#000;display:block}.elfinder-quicklook-fullscreen .elfinder-quicklook-titlebar,.elfinder-quicklook-fullscreen.elfinder-quicklook .ui-resizable-handle{display:none}.elfinder-quicklook-fullscreen .elfinder-quicklook-preview{border:0 solid}.elfinder-quicklook-cover,.elfinder-quicklook-titlebar{width:100%;height:100%;top:0;left:0;position:absolute}.elfinder-quicklook-titlebar{text-align:center;background:#777;height:20px;-moz-border-radius-topleft:7px;-webkit-border-top-left-radius:7px;border-top-left-radius:7px;-moz-border-radius-topright:7px;-webkit-border-top-right-radius:7px;border-top-right-radius:7px;cursor:move}.elfinder-touch .elfinder-quicklook-titlebar{height:30px}.elfinder-quicklook-title{color:#fff;white-space:nowrap;overflow:hidden;padding:2px 0}.elfinder-touch .elfinder-quicklook-title{padding:8px 0}.elfinder-quicklook-titlebar .ui-icon{position:absolute;left:4px;top:50%;margin-top:-8px;width:16px;height:16px;cursor:default}.elfinder-touch .elfinder-quicklook-titlebar .ui-icon{zoom:1.5}.elfinder-quicklook-preview{overflow:hidden;position:relative;border:0 solid;border-left:1px solid transparent;border-right:1px solid transparent;height:100%}.elfinder-quicklook-preview.elfinder-overflow-auto{overflow:auto;-webkit-overflow-scrolling:touch}.elfinder-quicklook-info-wrapper{position:absolute;width:100%;left:0;top:50%;margin-top:-50px}.elfinder-quicklook-info{padding:0 12px 0 112px}.elfinder-quicklook-info .elfinder-quicklook-info-data:first-child{color:#fff;font-weight:700;padding-bottom:.5em}.elfinder-quicklook-info-data{padding-bottom:.2em;color:#fff}.elfinder-quicklook .elfinder-cwd-icon{position:absolute;left:32px;top:50%;margin-top:-20px}.elfinder-quicklook-preview img{display:block;margin:0 auto}.elfinder-quicklook-navbar{position:absolute;left:50%;bottom:4px;width:140px;height:32px;padding:0;margin-left:-70px;border:1px solid transparent;border-radius:19px;-moz-border-radius:19px;-webkit-border-radius:19px}.elfinder-quicklook-fullscreen .elfinder-quicklook-navbar{width:188px;margin-left:-94px;padding:5px;border:1px solid #eee;background:#000;opacity:.4;filter:Alpha(Opacity=40)}.elfinder-quicklook-fullscreen .elfinder-quicklook-navbar-icon-close,.elfinder-quicklook-fullscreen .elfinder-quicklook-navbar-separator{display:inline}.elfinder-quicklook-navbar-icon{width:32px;height:32px;margin:0 7px;float:left;background:url(../img/quicklook-icons.png) 0 0 no-repeat}.elfinder-quicklook-navbar-icon-fullscreen{background-position:0 -64px}.elfinder-quicklook-navbar-icon-fullscreen-off{background-position:0 -96px}.elfinder-quicklook-navbar-icon-prev{background-position:0 0}.elfinder-quicklook-navbar-icon-next{background-position:0 -32px}.elfinder-quicklook-navbar-icon-close{background-position:0 -128px;display:none}.elfinder-quicklook-navbar-separator{width:1px;height:32px;float:left;border-left:1px solid #fff;display:none}.elfinder-quicklook-preview-archive-wrapper,.elfinder-quicklook-preview-text-wrapper{width:100%;height:100%;background:#fff;color:#222;overflow:auto;-webkit-overflow-scrolling:touch}.elfinder-quicklook-preview-archive-wrapper{font-size:1.5ex}.elfinder-quicklook-preview-archive-wrapper strong{padding:0 5px}pre.elfinder-quicklook-preview-text{width:auto;height:auto;margin:0;padding:3px 9px;border:none}.elfinder-quicklook-preview-html,.elfinder-quicklook-preview-iframe,.elfinder-quicklook-preview-pdf{width:100%;height:100%;background:#fff;margin:0;border:none;display:block}.elfinder-quicklook-preview-flash{width:100%;height:100%}.elfinder-quicklook-preview-audio{width:100%;position:absolute;bottom:0;left:0}embed.elfinder-quicklook-preview-audio{height:30px;background:0 0}.elfinder-quicklook-preview-video{width:100%;height:100%}.elfinder .elfinder-quicklook .elfinder-quicklook-info *,.elfinder .elfinder-quicklook .elfinder-quicklook-preview *{-webkit-user-select:auto;-moz-user-select:text;-khtml-user-select:text;user-select:text}.elfinder-statusbar{text-align:center;font-weight:400;padding:.2em .5em;border-right:0 solid transparent;border-bottom:0 solid transparent;border-left:0 solid transparent}.elfinder-statusbar span{cursor:pointer;vertical-align:bottom;overflow:hidden;text-overflow:"..";-o-text-overflow:".."}.elfinder-statusbar span.ui-state-active,.elfinder-statusbar span.ui-state-hover{border:none}.elfinder-statusbar span.elfinder-path-cwd{cursor:default}.elfinder-path{max-width:30%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.elfinder-ltr .elfinder-path{float:left}.elfinder-rtl .elfinder-path{float:right}.elfinder-workzone-path{position:relative}.elfinder-workzone-path .elfinder-path{position:relative;font-size:.75em;font-weight:400;float:none;max-width:none;overflow-x:scroll;text-overflow:initial;-o-text-overflow:initial}.elfinder-ltr .elfinder-workzone-path .elfinder-path{margin-left:24px}.elfinder-rtl .elfinder-workzone-path .elfinder-path{margin-right:24px}.elfinder-workzone-path .elfinder-path span{display:inline-block;padding:5px 3px}.elfinder-workzone-path .elfinder-path span.elfinder-path-cwd{font-weight:700}.elfinder-workzone-path .elfinder-path span.ui-state-active,.elfinder-workzone-path .elfinder-path span.ui-state-hover{border:none}.elfinder-workzone-path .elfinder-path-roots{position:absolute;top:0;width:24px;height:20px;padding:2px;border:none;overflow:hidden}.elfinder-ltr .elfinder-workzone-path .elfinder-path-roots{left:0}.elfinder-rtl .elfinder-workzone-path .elfinder-path-roots{right:0}.elfinder-stat-size{white-space:nowrap}.elfinder-ltr .elfinder-stat-size{float:right}.elfinder-rtl .elfinder-stat-size{float:left}.elfinder-stat-selected{white-space:nowrap;overflow:hidden}.elfinder .elfinder-toast{position:absolute;top:12px;right:12px;max-width:90%;cursor:default}.elfinder .elfinder-toast>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:8px 16px 8px 50px;-moz-border-radius:3px 3px 3px 3px;-webkit-border-radius:3px 3px 3px 3px;border-radius:3px 3px 3px 3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;opacity:.9;filter:alpha(opacity=90);background-color:#030303;text-align:center}.elfinder .elfinder-toast>.toast-info{background-color:#2f96b4;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}.elfinder .elfinder-toast>.toast-error{background-color:#bd362f;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}.elfinder .elfinder-toast>.toast-success{background-color:#51a351;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}.elfinder .elfinder-toast>.toast-warning{background-color:#f89406;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}.elfinder .elfinder-toast>div button.ui-button{background-image:none;margin-top:8px;padding:.5em .8em}.elfinder .elfinder-toast>.toast-success button.ui-button{background-color:green;color:#fff}.elfinder .elfinder-toast>.toast-success button.ui-button.ui-state-hover{background-color:#add6ad;color:#254b25}.elfinder-toolbar{padding:4px 0 3px;border-left:0 solid transparent;border-top:0 solid transparent;border-right:0 solid transparent}.elfinder-buttonset{margin:1px 4px;float:left;background:0 0;padding:0;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.elfinder .elfinder-button{height:16px;margin:0;padding:4px;float:left;overflow:hidden;position:relative;border:0 solid;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;line-height:1;cursor:default}.elfinder-touch .elfinder-button{height:20px}.elfinder .ui-icon-search{cursor:pointer}.elfinder-button:first-child{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.elfinder-button:last-child{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.elfinder-toolbar-button-separator{float:left;padding:0;height:24px;border-top:0 solid;border-right:0 solid;border-bottom:0 solid;width:0}.elfinder-touch .elfinder-toolbar-button-separator{height:20px}.elfinder .elfinder-button.ui-state-disabled{opacity:1;filter:Alpha(Opacity=100)}.elfinder .elfinder-button.ui-state-disabled .elfinder-button-icon,.elfinder .elfinder-button.ui-state-disabled .elfinder-button-text{opacity:.4;filter:Alpha(Opacity=40)}.elfinder-rtl .elfinder-buttonset{float:right}.elfinder-button-icon{width:16px;height:16px;display:inline-block;background:url(../img/toolbar.png) no-repeat}.elfinder-button-text{position:relative;display:inline-block;top:-4px;margin:0 2px;font-size:12px}.elfinder-touch .elfinder-button-icon{zoom:1.25;-moz-transform-origin:top left;-moz-transform:scale(1.25)}.elfinder-touch .elfinder-button-text{top:-5px}.elfinder-button-icon-home{background-position:0 0}.elfinder-button-icon-back{background-position:0 -112px}.elfinder-button-icon-forward{background-position:0 -128px}.elfinder-button-icon-up{background-position:0 -144px}.elfinder-button-icon-dir{background-position:0 -16px}.elfinder-button-icon-reload{background-position:0 -160px}.elfinder-button-icon-open{background-position:0 -176px}.elfinder-button-icon-mkdir{background-position:0 -192px}.elfinder-button-icon-mkfile{background-position:0 -208px}.elfinder-button-icon-rm{background-position:0 -224px}.elfinder-button-icon-copy{background-position:0 -240px}.elfinder-button-icon-cut{background-position:0 -256px}.elfinder-button-icon-paste{background-position:0 -272px}.elfinder-button-icon-getfile{background-position:0 -288px}.elfinder-button-icon-duplicate{background-position:0 -304px}.elfinder-button-icon-rename{background-position:0 -320px}.elfinder-button-icon-edit{background-position:0 -336px}.elfinder-button-icon-quicklook{background-position:0 -352px}.elfinder-button-icon-upload{background-position:0 -368px}.elfinder-button-icon-download{background-position:0 -384px}.elfinder-button-icon-info{background-position:0 -400px}.elfinder-button-icon-extract{background-position:0 -416px}.elfinder-button-icon-archive{background-position:0 -432px}.elfinder-button-icon-view{background-position:0 -448px}.elfinder-button-icon-view-list{background-position:0 -464px}.elfinder-button-icon-help{background-position:0 -480px}.elfinder-button-icon-resize{background-position:0 -512px}.elfinder-button-icon-link{background-position:0 -528px}.elfinder-button-icon-search{background-position:0 -561px}.elfinder-button-icon-sort{background-position:0 -577px}.elfinder-button-icon-rotate-r{background-position:0 -625px}.elfinder-button-icon-rotate-l{background-position:0 -641px}.elfinder-button-icon-netmount{background-position:0 -688px}.elfinder-button-icon-netunmount{background-position:0 -96px}.elfinder-button-icon-places{background-position:0 -704px}.elfinder-button-icon-chmod{background-position:0 -48px}.elfinder-button-icon-accept{background-position:0 -736px}.elfinder-button-icon-opendir{background-position:0 -32px}.elfinder-button-icon-menu{background-position:0 -752px}.elfinder-button-icon-colwidth{background-position:0 -768px}.elfinder-button-icon-fullscreen{background-position:0 -784px}.elfinder-button-icon-unfullscreen{background-position:0 -800px}.elfinder .elfinder-menubutton{overflow:visible}.elfinder-button-icon-spinner{background:url(../img/spinner-mini.gif) center center no-repeat}.elfinder-button-menu{position:absolute;left:0;top:25px;padding:3px 0}.elfinder-touch .elfinder-button-menu{top:35px}.elfinder-button-menu-item{white-space:nowrap;cursor:default;padding:5px 19px;position:relative}.elfinder-touch .elfinder-button-menu-item{padding:12px 19px}.elfinder-button-menu .ui-state-hover{border:0 solid}.elfinder-button-menu-item-separated{border-top:1px solid #ccc}.elfinder-button-menu-item .ui-icon{width:16px;height:16px;position:absolute;left:2px;top:50%;margin-top:-8px;display:none}.elfinder-button-menu-item-selected .ui-icon{display:block}.elfinder-button-menu-item-selected-asc .ui-icon-arrowthick-1-s,.elfinder-button-menu-item-selected-desc .ui-icon-arrowthick-1-n{display:none}.elfinder-button form{position:absolute;top:0;right:0;opacity:0;filter:Alpha(Opacity=0);cursor:pointer}.elfinder .elfinder-button form input{background:0 0;cursor:default}.elfinder .elfinder-button-search{border:0 solid;background:0 0;padding:0;margin:1px 4px;height:auto;min-height:26px;float:right;width:202px;overflow:visible}.elfinder .elfinder-button-search .elfinder-button-menu{font-size:8pt;text-align:center;width:100%;overflow:hidden}.elfinder .elfinder-button-search .elfinder-button-menu div{margin-left:auto;margin-right:auto;margin-bottom:5px}.elfinder .elfinder-button-search .elfinder-button-menu div .ui-state-hover{border:1px solid}.elfinder-ltr .elfinder-button-search{float:right;margin-right:10px}.elfinder-rtl .elfinder-button-search{float:left;margin-left:10px}.elfinder-button-search input{width:160px;height:22px;padding:0 20px;line-height:22px;border:1px solid #aaa;-moz-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;outline:0 solid}.elfinder-button-search input::-ms-clear{display:none}.elfinder-touch .elfinder-button-search input{height:28px;line-height:28px}.elfinder-rtl .elfinder-button-search input{direction:rtl}.elfinder-button-search .ui-icon{position:absolute;height:18px;top:50%;margin:-8px 4px 0;opacity:.6;filter:Alpha(Opacity=60)}.elfinder-button-search .ui-checkboxradio-icon{display:none}.elfinder-ltr .elfinder-button-search .ui-icon-search{left:0}.elfinder-ltr .elfinder-button-search .ui-icon-close,.elfinder-rtl .elfinder-button-search .ui-icon-search{right:0}.elfinder-rtl .elfinder-button-search .ui-icon-close{left:0}.elfinder-toolbar-swipe-handle{position:absolute;top:0;left:0;height:50px;width:100%;pointer-events:none;background:linear-gradient(to bottom,#dde4eb 0,rgba(221,228,235,.8) 2px,rgba(216,223,230,.3) 5px,rgba(0,0,0,.1) 95%,rgba(0,0,0,0) 100%)} \ No newline at end of file diff --git a/elFinder.Net.Web/Content/elfinder/css/theme.css b/elFinder.Net.Web/Content/elfinder/css/theme.css index cebded9..e707dad 100644 --- a/elFinder.Net.Web/Content/elfinder/css/theme.css +++ b/elFinder.Net.Web/Content/elfinder/css/theme.css @@ -5,24 +5,40 @@ * @author Dmitry (dio) Levashov **/ +/* input textarea */ +.elfinder input, +.elfinder textarea { + color: #000; + background-color: #FFF; +} + /* dialogs */ .std42-dialog, .std42-dialog .ui-widget-content { background-color:#ededed; background-image:none; background-clip: content-box; } /* navbar */ .elfinder .elfinder-navbar { background:#dde4eb; } -.elfinder-navbar .ui-state-hover { background:transparent; border-color:transparent; } +.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 */ /* selected file in "icons" view */ .elfinder-cwd-view-icons .elfinder-cwd-file .ui-state-hover { background:#ccc; } + /* 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-top:1px solid #fff; } +.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, @@ -33,18 +49,20 @@ .elfinder-disabled .elfinder-cwd table td.ui-state-hover { background:#dadada;} /* statusbar */ -.elfinder .elfinder-statusbar { color:#555; font-weight:bold } -.elfinder .elfinder-statusbar a { text-decoration:none; color:#555; font-weight:bold} +.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; +} diff --git a/elFinder.Net.Web/Content/elfinder/img/arrows-active.png b/elFinder.Net.Web/Content/elfinder/img/arrows-active.png index 2ad7109..4d6de0e 100644 Binary files a/elFinder.Net.Web/Content/elfinder/img/arrows-active.png and b/elFinder.Net.Web/Content/elfinder/img/arrows-active.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/arrows-normal.png b/elFinder.Net.Web/Content/elfinder/img/arrows-normal.png index 9d8b4d2..73f944b 100644 Binary files a/elFinder.Net.Web/Content/elfinder/img/arrows-normal.png and b/elFinder.Net.Web/Content/elfinder/img/arrows-normal.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/dialogs.png b/elFinder.Net.Web/Content/elfinder/img/dialogs.png index 2d09188..be339b7 100644 Binary files a/elFinder.Net.Web/Content/elfinder/img/dialogs.png and b/elFinder.Net.Web/Content/elfinder/img/dialogs.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/icons-big.png b/elFinder.Net.Web/Content/elfinder/img/icons-big.png index 00be0a6..6b2af0c 100644 Binary files a/elFinder.Net.Web/Content/elfinder/img/icons-big.png and b/elFinder.Net.Web/Content/elfinder/img/icons-big.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/icons-small.png b/elFinder.Net.Web/Content/elfinder/img/icons-small.png index 95849dc..0a397c1 100644 Binary files a/elFinder.Net.Web/Content/elfinder/img/icons-small.png and b/elFinder.Net.Web/Content/elfinder/img/icons-small.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/logo.png b/elFinder.Net.Web/Content/elfinder/img/logo.png index c1036de..aa5a6bc 100644 Binary files a/elFinder.Net.Web/Content/elfinder/img/logo.png and b/elFinder.Net.Web/Content/elfinder/img/logo.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/quicklook-bg.png b/elFinder.Net.Web/Content/elfinder/img/quicklook-bg.png index aedeadd..6c4010b 100644 Binary files a/elFinder.Net.Web/Content/elfinder/img/quicklook-bg.png and b/elFinder.Net.Web/Content/elfinder/img/quicklook-bg.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/quicklook-icons.png b/elFinder.Net.Web/Content/elfinder/img/quicklook-icons.png index 76df30c..cb47d31 100644 Binary files a/elFinder.Net.Web/Content/elfinder/img/quicklook-icons.png and b/elFinder.Net.Web/Content/elfinder/img/quicklook-icons.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/resize.png b/elFinder.Net.Web/Content/elfinder/img/resize.png index 6ec17cd..25b1fea 100644 Binary files a/elFinder.Net.Web/Content/elfinder/img/resize.png and b/elFinder.Net.Web/Content/elfinder/img/resize.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/toolbar.png b/elFinder.Net.Web/Content/elfinder/img/toolbar.png index 3b51326..ae9de80 100644 Binary files a/elFinder.Net.Web/Content/elfinder/img/toolbar.png and b/elFinder.Net.Web/Content/elfinder/img/toolbar.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/volume_icon_box.png b/elFinder.Net.Web/Content/elfinder/img/volume_icon_box.png new file mode 100644 index 0000000..52eaec2 Binary files /dev/null and b/elFinder.Net.Web/Content/elfinder/img/volume_icon_box.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/volume_icon_dropbox.png b/elFinder.Net.Web/Content/elfinder/img/volume_icon_dropbox.png new file mode 100644 index 0000000..2454e3f Binary files /dev/null and b/elFinder.Net.Web/Content/elfinder/img/volume_icon_dropbox.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/volume_icon_ftp.png b/elFinder.Net.Web/Content/elfinder/img/volume_icon_ftp.png new file mode 100644 index 0000000..d088139 Binary files /dev/null and b/elFinder.Net.Web/Content/elfinder/img/volume_icon_ftp.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/volume_icon_googledrive.png b/elFinder.Net.Web/Content/elfinder/img/volume_icon_googledrive.png new file mode 100644 index 0000000..22ae2a9 Binary files /dev/null and b/elFinder.Net.Web/Content/elfinder/img/volume_icon_googledrive.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/volume_icon_local.png b/elFinder.Net.Web/Content/elfinder/img/volume_icon_local.png new file mode 100644 index 0000000..3c3635d Binary files /dev/null and b/elFinder.Net.Web/Content/elfinder/img/volume_icon_local.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/volume_icon_onedrive.png b/elFinder.Net.Web/Content/elfinder/img/volume_icon_onedrive.png new file mode 100644 index 0000000..7ac5f89 Binary files /dev/null and b/elFinder.Net.Web/Content/elfinder/img/volume_icon_onedrive.png differ diff --git a/elFinder.Net.Web/Content/elfinder/img/volume_icon_sql.png b/elFinder.Net.Web/Content/elfinder/img/volume_icon_sql.png new file mode 100644 index 0000000..304d87e Binary files /dev/null and b/elFinder.Net.Web/Content/elfinder/img/volume_icon_sql.png differ diff --git a/elFinder.Net.Web/Content/elfinder/js/elfinder.full.js b/elFinder.Net.Web/Content/elfinder/js/elfinder.full.js deleted file mode 100644 index f8ed67e..0000000 --- a/elFinder.Net.Web/Content/elfinder/js/elfinder.full.js +++ /dev/null @@ -1,11163 +0,0 @@ -/*! - * elFinder - file manager for web - * Version 2.1 (Nightly: 4df7296) (2013-04-25) - * http://elfinder.org - * - * Copyright 2009-2012, Studio 42 - * Licensed under a 3 clauses BSD license - */ -(function($) { - - -/* - * File: /home/osc/elFinder-build/elFinder/js/elFinder.js - */ - -/** - * @class elFinder - file manager for web - * - * @author Dmitry (dio) Levashov - **/ -window.elFinder = function(node, opts) { - this.time('load'); - - var self = this, - - /** - * Node on which elfinder creating - * - * @type jQuery - **/ - node = $(node), - - /** - * Store node contents. - * - * @see this.destroy - * @type jQuery - **/ - prevContent = $('
').append(node.contents()), - - /** - * Store node inline styles - * - * @see this.destroy - * @type String - **/ - prevStyle = node.attr('style'), - - /** - * Instance ID. Required to get/set cookie - * - * @type String - **/ - id = node.attr('id') || '', - - /** - * Events namespace - * - * @type String - **/ - namespace = 'elfinder-'+(id || Math.random().toString().substr(2, 7)), - - /** - * Mousedown event - * - * @type String - **/ - mousedown = 'mousedown.'+namespace, - - /** - * Keydown event - * - * @type String - **/ - keydown = 'keydown.'+namespace, - - /** - * Keypress event - * - * @type String - **/ - keypress = 'keypress.'+namespace, - - /** - * Is shortcuts/commands enabled - * - * @type Boolean - **/ - enabled = true, - - /** - * Store enabled value before ajax requiest - * - * @type Boolean - **/ - prevEnabled = true, - - /** - * List of build-in events which mapped into methods with same names - * - * @type Array - **/ - events = ['enable', 'disable', 'load', 'open', 'reload', 'select', 'add', 'remove', 'change', 'dblclick', 'getfile', 'lockfiles', 'unlockfiles', 'dragstart', 'dragstop'], - - /** - * Rules to validate data from backend - * - * @type Object - **/ - rules = {}, - - /** - * Current working directory hash - * - * @type String - **/ - cwd = '', - - /** - * Current working directory options - * - * @type Object - **/ - cwdOptions = { - path : '', - url : '', - tmbUrl : '', - disabled : [], - separator : '/', - archives : [], - extract : [], - copyOverwrite : true, - tmb : false // old API - }, - - /** - * Files/dirs cache - * - * @type Object - **/ - files = {}, - - /** - * Selected files hashes - * - * @type Array - **/ - selected = [], - - /** - * Events listeners - * - * @type Object - **/ - listeners = {}, - - /** - * Shortcuts - * - * @type Object - **/ - shortcuts = {}, - - /** - * Buffer for copied files - * - * @type Array - **/ - clipboard = [], - - /** - * Copied/cuted files hashes - * Prevent from remove its from cache. - * Required for dispaly correct files names in error messages - * - * @type Array - **/ - remember = [], - - /** - * Queue for 'open' requests - * - * @type Array - **/ - queue = [], - - /** - * Commands prototype - * - * @type Object - **/ - base = new self.command(self), - - /** - * elFinder node width - * - * @type String - * @default "auto" - **/ - width = 'auto', - - /** - * elFinder node height - * - * @type Number - * @default 400 - **/ - height = 400, - - beeper = $(document.createElement('audio')).hide().appendTo('body')[0], - - syncInterval, - - open = function(data) { - if (data.init) { - // init - reset cache - files = {}; - } else { - // remove only files from prev cwd - for (var i in files) { - if (files.hasOwnProperty(i) - && files[i].mime != 'directory' - && files[i].phash == cwd - && $.inArray(i, remember) === -1) { - delete files[i]; - } - } - } - - cwd = data.cwd.hash; - cache(data.files); - if (!files[cwd]) { - cache([data.cwd]); - } - self.lastDir(cwd); - }, - - /** - * Store info about files/dirs in "files" object. - * - * @param Array files - * @return void - **/ - cache = function(data) { - var l = data.length, f; - - while (l--) { - f = data[l]; - if (f.name && f.hash && f.mime) { - if (!f.phash) { - var name = 'volume_'+f.name, - i18 = self.i18n(name); - - if (name != i18) { - f.i18 = i18; - } - } - files[f.hash] = f; - } - } - }, - - /** - * Exec shortcut - * - * @param jQuery.Event keydown/keypress event - * @return void - */ - execShortcut = function(e) { - var code = e.keyCode, - ctrlKey = !!(e.ctrlKey || e.metaKey); - - if (enabled) { - - $.each(shortcuts, function(i, shortcut) { - if (shortcut.type == e.type - && shortcut.keyCode == code - && shortcut.shiftKey == e.shiftKey - && shortcut.ctrlKey == ctrlKey - && shortcut.altKey == e.altKey) { - e.preventDefault() - e.stopPropagation(); - shortcut.callback(e, self); - self.debug('shortcut-exec', i+' : '+shortcut.description); - } - }); - - // prevent tab out of elfinder - if (code == 9 && !$(e.target).is(':input')) { - e.preventDefault(); - } - - } - }, - date = new Date(), - utc, - i18n - ; - - - /** - * Protocol version - * - * @type String - **/ - this.api = null; - - /** - * elFinder use new api - * - * @type Boolean - **/ - this.newAPI = false; - - /** - * elFinder use old api - * - * @type Boolean - **/ - this.oldAPI = false; - - /** - * User os. Required to bind native shortcuts for open/rename - * - * @type String - **/ - this.OS = navigator.userAgent.indexOf('Mac') !== -1 ? 'mac' : navigator.userAgent.indexOf('Win') !== -1 ? 'win' : 'other'; - - /** - * User browser UA. - * jQuery.browser: version deprecated: 1.3, removed: 1.9 - * - * @type Object - **/ - this.UA = (function(){ - var webkit = !document.uniqueID && !window.opera && !window.sidebar && window.localStorage && typeof window.orientation == "undefined"; - return { - // Browser IE <= IE 6 - ltIE6:typeof window.addEventListener == "undefined" && typeof document.documentElement.style.maxHeight == "undefined", - // Browser IE <= IE 7 - ltIE7:typeof window.addEventListener == "undefined" && typeof document.querySelectorAll == "undefined", - // Browser IE <= IE 8 - ltIE8:typeof window.addEventListener == "undefined" && typeof document.getElementsByClassName == "undefined", - IE:document.uniqueID, - Firefox:window.sidebar, - Opera:window.opera, - Webkit:webkit, - Chrome:webkit && window.chrome, - Safari:webkit && !window.chrome, - Mobile:typeof window.orientation != "undefined" - } - })(); - - /** - * Configuration options - * - * @type Object - **/ - this.options = $.extend(true, {}, this._options, opts||{}); - - if (opts.ui) { - this.options.ui = opts.ui; - } - - if (opts.commands) { - this.options.commands = opts.commands; - } - - if (opts.uiOptions && opts.uiOptions.toolbar) { - this.options.uiOptions.toolbar = opts.uiOptions.toolbar; - } - - $.extend(this.options.contextmenu, opts.contextmenu); - - - /** - * Ajax request type - * - * @type String - * @default "get" - **/ - this.requestType = /^(get|post)$/i.test(this.options.requestType) ? this.options.requestType.toLowerCase() : 'get', - - /** - * Any data to send across every ajax request - * - * @type Object - * @default {} - **/ - this.customData = $.isPlainObject(this.options.customData) ? this.options.customData : {}; - - /** - * ID. Required to create unique cookie name - * - * @type String - **/ - this.id = id; - - /** - * URL to upload files - * - * @type String - **/ - this.uploadURL = opts.urlUpload || opts.url; - - /** - * Events namespace - * - * @type String - **/ - this.namespace = namespace; - - /** - * Interface language - * - * @type String - * @default "en" - **/ - this.lang = this.i18[this.options.lang] && this.i18[this.options.lang].messages ? this.options.lang : 'en'; - - i18n = this.lang == 'en' - ? this.i18['en'] - : $.extend(true, {}, this.i18['en'], this.i18[this.lang]); - - /** - * Interface direction - * - * @type String - * @default "ltr" - **/ - this.direction = i18n.direction; - - /** - * i18 messages - * - * @type Object - **/ - this.messages = i18n.messages; - - /** - * Date/time format - * - * @type String - * @default "m.d.Y" - **/ - this.dateFormat = this.options.dateFormat || i18n.dateFormat; - - /** - * Date format like "Yesterday 10:20:12" - * - * @type String - * @default "{day} {time}" - **/ - this.fancyFormat = this.options.fancyDateFormat || i18n.fancyDateFormat; - - /** - * Today timestamp - * - * @type Number - **/ - this.today = (new Date(date.getFullYear(), date.getMonth(), date.getDate())).getTime()/1000; - - /** - * Yesterday timestamp - * - * @type Number - **/ - this.yesterday = this.today - 86400; - - utc = this.options.UTCDate ? 'UTC' : ''; - - this.getHours = 'get'+utc+'Hours'; - this.getMinutes = 'get'+utc+'Minutes'; - this.getSeconds = 'get'+utc+'Seconds'; - this.getDate = 'get'+utc+'Date'; - this.getDay = 'get'+utc+'Day'; - this.getMonth = 'get'+utc+'Month'; - this.getFullYear = 'get'+utc+'FullYear'; - - /** - * Css classes - * - * @type String - **/ - this.cssClass = 'ui-helper-reset ui-helper-clearfix ui-widget ui-widget-content ui-corner-all elfinder elfinder-'+(this.direction == 'rtl' ? 'rtl' : 'ltr')+' '+this.options.cssClass; - - /** - * Method to store/fetch data - * - * @type Function - **/ - this.storage = (function() { - try { - return 'localStorage' in window && window['localStorage'] !== null ? self.localStorage : self.cookie; - } catch (e) { - return self.cookie; - } - })(); - - this.viewType = this.storage('view') || this.options.defaultView || 'icons'; - - this.sortType = this.storage('sortType') || this.options.sortType || 'name'; - - this.sortOrder = this.storage('sortOrder') || this.options.sortOrder || 'asc'; - - this.sortStickFolders = this.storage('sortStickFolders'); - - if (this.sortStickFolders === null) { - this.sortStickFolders = !!this.options.sortStickFolders; - } else { - this.sortStickFolders = !!this.sortStickFolders - } - - this.sortRules = $.extend(true, {}, this._sortRules, this.options.sortsRules); - - $.each(this.sortRules, function(name, method) { - if (typeof method != 'function') { - delete self.sortRules[name]; - } - }); - - this.compare = $.proxy(this.compare, this); - - /** - * Delay in ms before open notification dialog - * - * @type Number - * @default 500 - **/ - this.notifyDelay = this.options.notifyDelay > 0 ? parseInt(this.options.notifyDelay) : 500; - - /** - * Base draggable options - * - * @type Object - **/ - this.draggable = { - appendTo : 'body', - addClasses : true, - delay : 30, - revert : true, - refreshPositions : true, - cursor : 'move', - cursorAt : {left : 50, top : 47}, - drag : function(e, ui) { - if (! ui.helper.data('locked')) { - ui.helper.toggleClass('elfinder-drag-helper-plus', e.shiftKey||e.ctrlKey||e.metaKey); - } - }, - start : function(e, ui) { - var targets = $.map(ui.helper.data('files')||[], function(h) { return h || null ;}), - cnt, h; - cnt = targets.length; - while (cnt--) { - h = targets[cnt]; - if (files[h].locked) { - ui.helper.addClass('elfinder-drag-helper-plus').data('locked', true); - break; - } - } - }, - stop : function() { self.trigger('focus').trigger('dragstop'); }, - helper : function(e, ui) { - var element = this.id ? $(this) : $(this).parents('[id]:first'), - helper = $('
'), - icon = function(mime) { return '
'; }, - hashes, l; - - self.trigger('dragstart', {target : element[0], originalEvent : e}); - - hashes = element.is('.'+self.res('class', 'cwdfile')) - ? self.selected() - : [self.navId2Hash(element.attr('id'))]; - - helper.append(icon(files[hashes[0]].mime)).data('files', hashes).data('locked', false); - - if ((l = hashes.length) > 1) { - helper.append(icon(files[hashes[l-1]].mime) + ''+l+''); - } - - return helper; - } - }; - - /** - * Base droppable options - * - * @type Object - **/ - this.droppable = { - // greedy : true, - tolerance : 'pointer', - accept : '.elfinder-cwd-file-wrapper,.elfinder-navbar-dir,.elfinder-cwd-file', - hoverClass : this.res('class', 'adroppable'), - drop : function(e, ui) { - var dst = $(this), - targets = $.map(ui.helper.data('files')||[], function(h) { return h || null }), - result = [], - c = 'class', - cnt, hash, i, h; - - if (dst.is('.'+self.res(c, 'cwd'))) { - hash = cwd; - } else if (dst.is('.'+self.res(c, 'cwdfile'))) { - hash = dst.attr('id'); - } else if (dst.is('.'+self.res(c, 'navdir'))) { - hash = self.navId2Hash(dst.attr('id')); - } - - cnt = targets.length; - - while (cnt--) { - h = targets[cnt]; - // ignore drop into itself or in own location - h != hash && files[h].phash != hash && result.push(h); - } - - if (result.length) { - ui.helper.hide(); - self.clipboard(result, !(e.ctrlKey||e.shiftKey||e.metaKey||ui.helper.data('locked'))); - self.exec('paste', hash); - self.trigger('drop', {files : targets}); - - } - } - }; - - /** - * Return true if filemanager is active - * - * @return Boolean - **/ - this.enabled = function() { - return node.is(':visible') && enabled; - } - - /** - * Return true if filemanager is visible - * - * @return Boolean - **/ - this.visible = function() { - return node.is(':visible'); - } - - /** - * Return root dir hash for current working directory - * - * @return String - */ - this.root = function(hash) { - var dir = files[hash || cwd], i; - - while (dir && dir.phash) { - dir = files[dir.phash] - } - if (dir) { - return dir.hash; - } - - while (i in files && files.hasOwnProperty(i)) { - dir = files[i] - if (!dir.phash && !dir.mime == 'directory' && dir.read) { - return dir.hash - } - } - - return ''; - } - - /** - * Return current working directory info - * - * @return Object - */ - this.cwd = function() { - return files[cwd] || {}; - } - - /** - * Return required cwd option - * - * @param String option name - * @return mixed - */ - this.option = function(name) { - return cwdOptions[name]||''; - } - - /** - * Return file data from current dir or tree by it's hash - * - * @param String file hash - * @return Object - */ - this.file = function(hash) { - return files[hash]; - }; - - /** - * Return all cached files - * - * @return Array - */ - this.files = function() { - return $.extend(true, {}, files); - } - - /** - * Return list of file parents hashes include file hash - * - * @param String file hash - * @return Array - */ - this.parents = function(hash) { - var parents = [], - dir; - - while ((dir = this.file(hash))) { - parents.unshift(dir.hash); - hash = dir.phash; - } - return parents; - } - - this.path2array = function(hash, i18) { - var file, - path = []; - - while (hash && (file = files[hash]) && file.hash) { - path.unshift(i18 && file.i18 ? file.i18 : file.name); - hash = file.phash; - } - - return path; - } - - /** - * Return file path - * - * @param Object file - * @return String - */ - this.path = function(hash, i18) { - return files[hash] && files[hash].path - ? files[hash].path - : this.path2array(hash, i18).join(cwdOptions.separator); - } - - /** - * Return file url if set - * - * @param Object file - * @return String - */ - this.url = function(hash) { - var file = files[hash]; - - if (!file || !file.read) { - return ''; - } - - if (file.url) { - return file.url; - } - - if (cwdOptions.url) { - return cwdOptions.url + "/" + $.map(this.path2array(hash), function (n) { return encodeURIComponent(n); }).slice(1).join('/') - } - - var params = $.extend({}, this.customData, { - cmd: 'file', - target: file.hash - }); - if (this.oldAPI) { - params.cmd = 'open'; - params.current = file.phash; - } - return this.options.url + (this.options.url.indexOf('?') === -1 ? '?' : '&') + $.param(params, true); - } - - /** - * Return thumbnail url - * - * @param String file hash - * @return String - */ - this.tmb = function(hash) { - var file = files[hash], - url = file && file.tmb && file.tmb != 1 ? cwdOptions['tmbUrl'] + file.tmb : ''; - - if (url && (this.UA.Opera || this.UA.IE)) { - url += '?_=' + new Date().getTime(); - } - return url; - } - - /** - * Return selected files hashes - * - * @return Array - **/ - this.selected = function() { - return selected.slice(0); - } - - /** - * Return selected files info - * - * @return Array - */ - this.selectedFiles = function() { - return $.map(selected, function(hash) { return files[hash] ? $.extend({}, files[hash]) : null }); - }; - - /** - * Return true if file with required name existsin required folder - * - * @param String file name - * @param String parent folder hash - * @return Boolean - */ - this.fileByName = function(name, phash) { - var hash; - - for (hash in files) { - if (files.hasOwnProperty(hash) && files[hash].phash == phash && files[hash].name == name) { - return files[hash]; - } - } - }; - - /** - * Valid data for required command based on rules - * - * @param String command name - * @param Object cammand's data - * @return Boolean - */ - this.validResponse = function(cmd, data) { - return data.error || this.rules[this.rules[cmd] ? cmd : 'defaults'](data); - } - - /** - * Proccess ajax request. - * Fired events : - * @todo - * @example - * @todo - * @return $.Deferred - */ - this.request = function(options) { - var self = this, - o = this.options, - dfrd = $.Deferred(), - // request data - data = $.extend({}, o.customData, {mimes : o.onlyMimes}, options.data || options), - // command name - cmd = data.cmd, - // call default fail callback (display error dialog) ? - deffail = !(options.preventDefault || options.preventFail), - // call default success callback ? - defdone = !(options.preventDefault || options.preventDone), - // options for notify dialog - notify = $.extend({}, options.notify), - // do not normalize data - return as is - raw = !!options.raw, - // sync files on request fail - syncOnFail = options.syncOnFail, - // open notify dialog timeout - timeout, - // request options - options = $.extend({ - url : o.url, - async : true, - type : this.requestType, - dataType : 'json', - cache : false, - // timeout : 100, - data : data - }, options.options || {}), - /** - * Default success handler. - * Call default data handlers and fire event with command name. - * - * @param Object normalized response data - * @return void - **/ - done = function(data) { - data.warning && self.error(data.warning); - - cmd == 'open' && open($.extend(true, {}, data)); - - // fire some event to update cache/ui - data.removed && data.removed.length && self.remove(data); - data.added && data.added.length && self.add(data); - data.changed && data.changed.length && self.change(data); - - // fire event with command name - self.trigger(cmd, data); - - // force update content - data.sync && self.sync(); - }, - /** - * Request error handler. Reject dfrd with correct error message. - * - * @param jqxhr request object - * @param String request status - * @return void - **/ - error = function(xhr, status) { - var error; - - switch (status) { - case 'abort': - error = xhr.quiet ? '' : ['errConnect', 'errAbort']; - break; - case 'timeout': - error = ['errConnect', 'errTimeout']; - break; - case 'parsererror': - error = ['errResponse', 'errDataNotJSON']; - break; - default: - if (xhr.status == 403) { - error = ['errConnect', 'errAccess']; - } else if (xhr.status == 404) { - error = ['errConnect', 'errNotFound']; - } else { - error = 'errConnect'; - } - } - - dfrd.reject(error, xhr, status); - }, - /** - * Request success handler. Valid response data and reject/resolve dfrd. - * - * @param Object response data - * @param String request status - * @return void - **/ - success = function(response) { - if (raw) { - return dfrd.resolve(response); - } - - if (!response) { - return dfrd.reject(['errResponse', 'errDataEmpty'], xhr); - } else if (!$.isPlainObject(response)) { - return dfrd.reject(['errResponse', 'errDataNotJSON'], xhr); - } else if (response.error) { - return dfrd.reject(response.error, xhr); - } else if (!self.validResponse(cmd, response)) { - return dfrd.reject('errResponse', xhr); - } - - response = self.normalize(response); - - if (!self.api) { - self.api = response.api || 1; - self.newAPI = self.api >= 2; - self.oldAPI = !self.newAPI; - } - - if (response.options) { - cwdOptions = $.extend({}, cwdOptions, response.options); - } - - if (response.netDrivers) { - self.netDrivers = response.netDrivers; - } - - dfrd.resolve(response); - response.debug && self.debug('backend-debug', response.debug); - }, - xhr, _xhr - ; - - defdone && dfrd.done(done); - dfrd.fail(function(error) { - if (error) { - deffail ? self.error(error) : self.debug('error', self.i18n(error)); - } - }) - - if (!cmd) { - return dfrd.reject('errCmdReq'); - } - - if (syncOnFail) { - dfrd.fail(function(error) { - error && self.sync(); - }); - } - - if (notify.type && notify.cnt) { - timeout = setTimeout(function() { - self.notify(notify); - dfrd.always(function() { - notify.cnt = -(parseInt(notify.cnt)||0); - self.notify(notify); - }) - }, self.notifyDelay) - - dfrd.always(function() { - clearTimeout(timeout); - }); - } - - // quiet abort not completed "open" requests - if (cmd == 'open') { - while ((_xhr = queue.pop())) { - if (_xhr.state() == 'pending') { - _xhr.quiet = true; - _xhr.abort(); - } - } - } - - delete options.preventFail - - xhr = this.transport.send(options).fail(error).done(success); - - // this.transport.send(options) - - // add "open" xhr into queue - if (cmd == 'open') { - queue.unshift(xhr); - dfrd.always(function() { - var ndx = $.inArray(xhr, queue); - - ndx !== -1 && queue.splice(ndx, 1); - }); - } - - return dfrd; - }; - - /** - * Compare current files cache with new files and return diff - * - * @param Array new files - * @return Object - */ - this.diff = function(incoming) { - var raw = {}, - added = [], - removed = [], - changed = [], - isChanged = function(hash) { - var l = changed.length; - - while (l--) { - if (changed[l].hash == hash) { - return true; - } - } - }; - - $.each(incoming, function(i, f) { - raw[f.hash] = f; - }); - - // find removed - $.each(files, function(hash, f) { - !raw[hash] && removed.push(hash); - }); - - // compare files - $.each(raw, function(hash, file) { - var origin = files[hash]; - - if (!origin) { - added.push(file); - } else { - $.each(file, function(prop) { - if (file[prop] != origin[prop]) { - changed.push(file) - return false; - } - }); - } - }); - - // parents of removed dirs mark as changed (required for tree correct work) - $.each(removed, function(i, hash) { - var file = files[hash], - phash = file.phash; - - if (phash - && file.mime == 'directory' - && $.inArray(phash, removed) === -1 - && raw[phash] - && !isChanged(phash)) { - changed.push(raw[phash]); - } - }); - - return { - added : added, - removed : removed, - changed : changed - }; - } - - /** - * Sync content - * - * @return jQuery.Deferred - */ - this.sync = function() { - var self = this, - dfrd = $.Deferred().done(function() { self.trigger('sync'); }), - opts1 = { - data : {cmd : 'open', init : 1, target : cwd, tree : this.ui.tree ? 1 : 0}, - preventDefault : true - }, - opts2 = { - data : {cmd : 'tree', target : (cwd == this.root())? cwd : this.file(cwd).phash}, - preventDefault : true - }; - - $.when( - this.request(opts1), - this.request(opts2) - ) - .fail(function(error) { - dfrd.reject(error); - error && self.request({ - data : {cmd : 'open', target : self.lastDir(''), tree : 1, init : 1}, - notify : {type : 'open', cnt : 1, hideCnt : true}, - preventDefault : true - }); - }) - .done(function(odata, pdata) { - var diff = self.diff(odata.files.concat(pdata && pdata.tree ? pdata.tree : [])); - - diff.added.push(odata.cwd) - diff.removed.length && self.remove(diff); - diff.added.length && self.add(diff); - diff.changed.length && self.change(diff); - return dfrd.resolve(diff); - }); - - return dfrd; - } - - this.upload = function(files) { - return this.transport.upload(files, this); - } - - /** - * Attach listener to events - * To bind to multiply events at once, separate events names by space - * - * @param String event(s) name(s) - * @param Object event handler - * @return elFinder - */ - this.bind = function(event, callback) { - var i; - - if (typeof(callback) == 'function') { - event = ('' + event).toLowerCase().split(/\s+/); - - for (i = 0; i < event.length; i++) { - if (listeners[event[i]] === void(0)) { - listeners[event[i]] = []; - } - listeners[event[i]].push(callback); - } - } - return this; - }; - - /** - * Remove event listener if exists - * - * @param String event name - * @param Function callback - * @return elFinder - */ - this.unbind = function(event, callback) { - var l = listeners[('' + event).toLowerCase()] || [], - i = l.indexOf(callback); - - i > -1 && l.splice(i, 1); - //delete callback; // need this? - callback = null - return this; - }; - - /** - * Fire event - send notification to all event listeners - * - * @param String event type - * @param Object data to send across event - * @return elFinder - */ - this.trigger = function(event, data) { - var event = event.toLowerCase(), - handlers = listeners[event] || [], i, j; - - this.debug('event-'+event, data) - - if (handlers.length) { - event = $.Event(event); - - for (i = 0; i < handlers.length; i++) { - // to avoid data modifications. remember about "sharing" passing arguments in js :) - event.data = $.extend(true, {}, data); - - try { - if (handlers[i](event, this) === false - || event.isDefaultPrevented()) { - this.debug('event-stoped', event.type); - break; - } - } catch (ex) { - window.console && window.console.log && window.console.log(ex); - } - - } - } - return this; - } - - /** - * Bind keybord shortcut to keydown event - * - * @example - * elfinder.shortcut({ - * pattern : 'ctrl+a', - * description : 'Select all files', - * callback : function(e) { ... }, - * keypress : true|false (bind to keypress instead of keydown) - * }) - * - * @param Object shortcut config - * @return elFinder - */ - this.shortcut = function(s) { - var patterns, pattern, code, i, parts; - - if (this.options.allowShortcuts && s.pattern && $.isFunction(s.callback)) { - patterns = s.pattern.toUpperCase().split(/\s+/); - - for (i= 0; i < patterns.length; i++) { - pattern = patterns[i] - parts = pattern.split('+'); - code = (code = parts.pop()).length == 1 - ? code > 0 ? code : code.charCodeAt(0) - : $.ui.keyCode[code]; - - if (code && !shortcuts[pattern]) { - shortcuts[pattern] = { - keyCode : code, - altKey : $.inArray('ALT', parts) != -1, - ctrlKey : $.inArray('CTRL', parts) != -1, - shiftKey : $.inArray('SHIFT', parts) != -1, - type : s.type || 'keydown', - callback : s.callback, - description : s.description, - pattern : pattern - }; - } - } - } - return this; - } - - /** - * Registered shortcuts - * - * @type Object - **/ - this.shortcuts = function() { - var ret = []; - - $.each(shortcuts, function(i, s) { - ret.push([s.pattern, self.i18n(s.description)]); - }); - return ret; - }; - - /** - * Get/set clipboard content. - * Return new clipboard content. - * - * @example - * this.clipboard([]) - clean clipboard - * this.clipboard([{...}, {...}], true) - put 2 files in clipboard and mark it as cutted - * - * @param Array new files hashes - * @param Boolean cut files? - * @return Array - */ - this.clipboard = function(hashes, cut) { - var map = function() { return $.map(clipboard, function(f) { return f.hash }); } - - if (hashes !== void(0)) { - clipboard.length && this.trigger('unlockfiles', {files : map()}); - remember = []; - - clipboard = $.map(hashes||[], function(hash) { - var file = files[hash]; - if (file) { - - remember.push(hash); - - return { - hash : hash, - phash : file.phash, - name : file.name, - mime : file.mime, - read : file.read, - locked : file.locked, - cut : !!cut - } - } - return null; - }); - this.trigger('changeclipboard', {clipboard : clipboard.slice(0, clipboard.length)}); - cut && this.trigger('lockfiles', {files : map()}); - } - - // return copy of clipboard instead of refrence - return clipboard.slice(0, clipboard.length); - } - - /** - * Return true if command enabled - * - * @param String command name - * @return Boolean - */ - this.isCommandEnabled = function(name) { - return this._commands[name] ? $.inArray(name, cwdOptions.disabled) === -1 : false; - } - - /** - * Exec command and return result; - * - * @param String command name - * @param String|Array usualy files hashes - * @param String|Array command options - * @return $.Deferred - */ - this.exec = function(cmd, files, opts) { - return this._commands[cmd] && this.isCommandEnabled(cmd) - ? this._commands[cmd].exec(files, opts) - : $.Deferred().reject('No such command'); - } - - /** - * Create and return dialog. - * - * @param String|DOMElement dialog content - * @param Object dialog options - * @return jQuery - */ - this.dialog = function(content, options) { - return $('
').append(content).appendTo(node).elfinderdialog(options); - } - - /** - * Return UI widget or node - * - * @param String ui name - * @return jQuery - */ - this.getUI = function(ui) { - return this.ui[ui] || node; - } - - this.command = function(name) { - return name === void(0) ? this._commands : this._commands[name]; - } - - /** - * Resize elfinder node - * - * @param String|Number width - * @param Number height - * @return void - */ - this.resize = function(w, h) { - node.css('width', w).height(h).trigger('resize'); - this.trigger('resize', {width : node.width(), height : node.height()}); - } - - /** - * Restore elfinder node size - * - * @return elFinder - */ - this.restoreSize = function() { - this.resize(width, height); - } - - this.show = function() { - node.show(); - this.enable().trigger('show'); - } - - this.hide = function() { - this.disable().trigger('hide'); - node.hide(); - } - - /** - * Destroy this elFinder instance - * - * @return void - **/ - this.destroy = function() { - if (node && node[0].elfinder) { - this.trigger('destroy').disable(); - listeners = {}; - shortcuts = {}; - $(document).add(node).unbind('.'+this.namespace); - self.trigger = function() { } - node.children().remove(); - node.append(prevContent.contents()).removeClass(this.cssClass).attr('style', prevStyle); - node[0].elfinder = null; - if (syncInterval) { - clearInterval(syncInterval); - } - } - } - - /************* init stuffs ****************/ - - // check jquery ui - if (!($.fn.selectable && $.fn.draggable && $.fn.droppable)) { - return alert(this.i18n('errJqui')); - } - - // check node - if (!node.length) { - return alert(this.i18n('errNode')); - } - // check connector url - if (!this.options.url) { - return alert(this.i18n('errURL')); - } - - $.extend($.ui.keyCode, { - 'F1' : 112, - 'F2' : 113, - 'F3' : 114, - 'F4' : 115, - 'F5' : 116, - 'F6' : 117, - 'F7' : 118, - 'F8' : 119, - 'F9' : 120 - }); - - this.dragUpload = false; - this.xhrUpload = (typeof XMLHttpRequestUpload != 'undefined' || typeof XMLHttpRequestEventTarget != 'undefined') && typeof File != 'undefined' && typeof FormData != 'undefined'; - - // configure transport object - this.transport = {} - - if (typeof(this.options.transport) == 'object') { - this.transport = this.options.transport; - if (typeof(this.transport.init) == 'function') { - this.transport.init(this) - } - } - - if (typeof(this.transport.send) != 'function') { - this.transport.send = function(opts) { return $.ajax(opts); } - } - - if (this.transport.upload == 'iframe') { - this.transport.upload = $.proxy(this.uploads.iframe, this); - } else if (typeof(this.transport.upload) == 'function') { - this.dragUpload = !!this.options.dragUploadAllow; - } else if (this.xhrUpload) { - this.transport.upload = $.proxy(this.uploads.xhr, this); - this.dragUpload = true; - } else { - this.transport.upload = $.proxy(this.uploads.iframe, this); - } - - /** - * Alias for this.trigger('error', {error : 'message'}) - * - * @param String error message - * @return elFinder - **/ - this.error = function() { - var arg = arguments[0]; - return arguments.length == 1 && typeof(arg) == 'function' - ? self.bind('error', arg) - : self.trigger('error', {error : arg}); - } - - // create bind/trigger aliases for build-in events - $.each(['enable', 'disable', 'load', 'open', 'reload', 'select', 'add', 'remove', 'change', 'dblclick', 'getfile', 'lockfiles', 'unlockfiles', 'dragstart', 'dragstop', 'search', 'searchend', 'viewchange'], function(i, name) { - self[name] = function() { - var arg = arguments[0]; - return arguments.length == 1 && typeof(arg) == 'function' - ? self.bind(name, arg) - : self.trigger(name, $.isPlainObject(arg) ? arg : {}); - } - }); - - // bind core event handlers - this - .enable(function() { - if (!enabled && self.visible() && self.ui.overlay.is(':hidden')) { - enabled = true; - $('texarea:focus,input:focus,button').blur(); - node.removeClass('elfinder-disabled'); - } - }) - .disable(function() { - prevEnabled = enabled; - enabled = false; - node.addClass('elfinder-disabled'); - }) - .open(function() { - selected = []; - }) - .select(function(e) { - selected = $.map(e.data.selected || e.data.value|| [], function(hash) { return files[hash] ? hash : null; }); - }) - .error(function(e) { - var opts = { - cssClass : 'elfinder-dialog-error', - title : self.i18n(self.i18n('error')), - resizable : false, - destroyOnClose : true, - buttons : {} - }; - - opts.buttons[self.i18n(self.i18n('btnClose'))] = function() { $(this).elfinderdialog('close'); }; - - self.dialog(''+self.i18n(e.data.error), opts); - }) - .bind('tree parents', function(e) { - cache(e.data.tree || []); - }) - .bind('tmb', function(e) { - $.each(e.data.images||[], function(hash, tmb) { - if (files[hash]) { - files[hash].tmb = tmb; - } - }) - }) - .add(function(e) { - cache(e.data.added||[]); - }) - .change(function(e) { - $.each(e.data.changed||[], function(i, file) { - var hash = file.hash; - files[hash] = files[hash] ? $.extend(files[hash], file) : file; - }); - }) - .remove(function(e) { - var removed = e.data.removed||[], - l = removed.length, - rm = function(hash) { - var file = files[hash]; - if (file) { - if (file.mime == 'directory' && file.dirs) { - $.each(files, function(h, f) { - f.phash == hash && rm(h); - }); - } - delete files[hash]; - } - }; - - while (l--) { - rm(removed[l]); - } - - }) - .bind('search', function(e) { - cache(e.data.files); - }) - .bind('rm', function(e) { - var play = beeper.canPlayType && beeper.canPlayType('audio/wav; codecs="1"'); - - play && play != '' && play != 'no' && $(beeper).html('')[0].play() - }) - - ; - - // bind external event handlers - $.each(this.options.handlers, function(event, callback) { - self.bind(event, callback); - }); - - /** - * History object. Store visited folders - * - * @type Object - **/ - this.history = new this.history(this); - - // in getFileCallback set - change default actions on double click/enter/ctrl+enter - if (typeof(this.options.getFileCallback) == 'function' && this.commands.getfile) { - this.bind('dblclick', function(e) { - e.preventDefault(); - self.exec('getfile').fail(function() { - self.exec('open'); - }); - }); - this.shortcut({ - pattern : 'enter', - description : this.i18n('cmdgetfile'), - callback : function() { self.exec('getfile').fail(function() { self.exec(self.OS == 'mac' ? 'rename' : 'open') }) } - }) - .shortcut({ - pattern : 'ctrl+enter', - description : this.i18n(this.OS == 'mac' ? 'cmdrename' : 'cmdopen'), - callback : function() { self.exec(self.OS == 'mac' ? 'rename' : 'open') } - }); - - } - - /** - * Loaded commands - * - * @type Object - **/ - this._commands = {}; - - if (!$.isArray(this.options.commands)) { - this.options.commands = []; - } - // check required commands - $.each(['open', 'reload', 'back', 'forward', 'up', 'home', 'info', 'quicklook', 'getfile', 'help'], function(i, cmd) { - $.inArray(cmd, self.options.commands) === -1 && self.options.commands.push(cmd); - }); - - // load commands - $.each(this.options.commands, function(i, name) { - var cmd = self.commands[name]; - if ($.isFunction(cmd) && !self._commands[name]) { - cmd.prototype = base; - self._commands[name] = new cmd(); - self._commands[name].setup(name, self.options.commandsOptions[name]||{}); - } - }); - - // prepare node - node.addClass(this.cssClass) - .bind(mousedown, function() { - !enabled && self.enable(); - }); - - /** - * UI nodes - * - * @type Object - **/ - this.ui = { - // container for nav panel and current folder container - workzone : $('
').appendTo(node).elfinderworkzone(this), - // container for folders tree / places - navbar : $('
').appendTo(node).elfindernavbar(this, this.options.uiOptions.navbar || {}), - // contextmenu - contextmenu : $('
').appendTo(node).elfindercontextmenu(this), - // overlay - overlay : $('
').appendTo(node).elfinderoverlay({ - show : function() { self.disable(); }, - hide : function() { prevEnabled && self.enable(); } - }), - // current folder container - cwd : $('
').appendTo(node).elfindercwd(this, this.options.uiOptions.cwd || {}), - // notification dialog window - notify : this.dialog('', { - cssClass : 'elfinder-dialog-notify', - position : {top : '12px', right : '12px'}, - resizable : false, - autoOpen : false, - title : ' ', - width : 280 - }), - statusbar : $('
').hide().appendTo(node) - } - - // load required ui - $.each(this.options.ui || [], function(i, ui) { - var name = 'elfinder'+ui, - opts = self.options.uiOptions[ui] || {}; - - if (!self.ui[ui] && $.fn[name]) { - self.ui[ui] = $('<'+(opts.tag || 'div')+'/>').appendTo(node)[name](self, opts); - } - }); - - - - // store instance in node - node[0].elfinder = this; - - // make node resizable - this.options.resizable - && $.fn.resizable - && node.resizable({ - handles : 'se', - minWidth : 300, - minHeight : 200 - }); - - if (this.options.width) { - width = this.options.width; - } - - if (this.options.height) { - height = parseInt(this.options.height); - } - - // update size - self.resize(width, height); - - // attach events to document - $(document) - // disable elfinder on click outside elfinder - .bind('click.'+this.namespace, function(e) { enabled && !$(e.target).closest(node).length && self.disable(); }) - // exec shortcuts - .bind(keydown+' '+keypress, execShortcut); - - // send initial request and start to pray >_< - this.trigger('init') - .request({ - data : {cmd : 'open', target : self.lastDir(), init : 1, tree : this.ui.tree ? 1 : 0}, - preventDone : true, - notify : {type : 'open', cnt : 1, hideCnt : true}, - freeze : true - }) - .fail(function() { - self.trigger('fail').disable().lastDir(''); - listeners = {}; - shortcuts = {}; - $(document).add(node).unbind('.'+this.namespace); - self.trigger = function() { }; - }) - .done(function(data) { - self.load().debug('api', self.api); - data = $.extend(true, {}, data); - open(data); - self.trigger('open', data); - }); - - // update ui's size after init - this.one('load', function() { - node.trigger('resize'); - if (self.options.sync > 1000) { - syncInterval = setInterval(function() { - self.sync(); - }, self.options.sync) - - } - - }); - - // self.timeEnd('load'); - -} - -/** - * Prototype - * - * @type Object - */ -elFinder.prototype = { - - res : function(type, id) { - return this.resources[type] && this.resources[type][id]; - }, - - /** - * Internationalization object - * - * @type Object - */ - i18 : { - en : { - translator : '', - language : 'English', - direction : 'ltr', - dateFormat : 'd.m.Y H:i', - fancyDateFormat : '$1 H:i', - messages : {} - }, - months : ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], - monthsShort : ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - - days : ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], - daysShort : ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] - }, - - /** - * File mimetype to kind mapping - * - * @type Object - */ - kinds : { - 'unknown' : 'Unknown', - 'directory' : 'Folder', - 'symlink' : 'Alias', - 'symlink-broken' : 'AliasBroken', - 'application/x-empty' : 'TextPlain', - 'application/postscript' : 'Postscript', - 'application/vnd.ms-office' : 'MsOffice', - 'application/vnd.ms-word' : 'MsWord', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' : 'MsWord', - 'application/vnd.ms-word.document.macroEnabled.12' : 'MsWord', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.template' : 'MsWord', - 'application/vnd.ms-word.template.macroEnabled.12' : 'MsWord', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' : 'MsWord', - 'application/vnd.ms-excel' : 'MsExcel', - 'application/vnd.ms-excel.sheet.macroEnabled.12' : 'MsExcel', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.template' : 'MsExcel', - 'application/vnd.ms-excel.template.macroEnabled.12' : 'MsExcel', - 'application/vnd.ms-excel.sheet.binary.macroEnabled.12' : 'MsExcel', - 'application/vnd.ms-excel.addin.macroEnabled.12' : 'MsExcel', - 'application/vnd.ms-powerpoint' : 'MsPP', - 'application/vnd.openxmlformats-officedocument.presentationml.presentation' : 'MsPP', - 'application/vnd.ms-powerpoint.presentation.macroEnabled.12' : 'MsPP', - 'application/vnd.openxmlformats-officedocument.presentationml.slideshow' : 'MsPP', - 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12' : 'MsPP', - 'application/vnd.openxmlformats-officedocument.presentationml.template' : 'MsPP', - 'application/vnd.ms-powerpoint.template.macroEnabled.12' : 'MsPP', - 'application/vnd.ms-powerpoint.addin.macroEnabled.12' : 'MsPP', - 'application/vnd.openxmlformats-officedocument.presentationml.slide' : 'MsPP', - 'application/vnd.ms-powerpoint.slide.macroEnabled.12' : 'MsPP', - 'application/pdf' : 'PDF', - 'application/xml' : 'XML', - 'application/vnd.oasis.opendocument.text' : 'OO', - 'application/vnd.oasis.opendocument.text-template' : 'OO', - 'application/vnd.oasis.opendocument.text-web' : 'OO', - 'application/vnd.oasis.opendocument.text-master' : 'OO', - 'application/vnd.oasis.opendocument.graphics' : 'OO', - 'application/vnd.oasis.opendocument.graphics-template' : 'OO', - 'application/vnd.oasis.opendocument.presentation' : 'OO', - 'application/vnd.oasis.opendocument.presentation-template' : 'OO', - 'application/vnd.oasis.opendocument.spreadsheet' : 'OO', - 'application/vnd.oasis.opendocument.spreadsheet-template' : 'OO', - 'application/vnd.oasis.opendocument.chart' : 'OO', - 'application/vnd.oasis.opendocument.formula' : 'OO', - 'application/vnd.oasis.opendocument.database' : 'OO', - 'application/vnd.oasis.opendocument.image' : 'OO', - 'application/vnd.openofficeorg.extension' : 'OO', - 'application/x-shockwave-flash' : 'AppFlash', - 'application/flash-video' : 'Flash video', - 'application/x-bittorrent' : 'Torrent', - 'application/javascript' : 'JS', - 'application/rtf' : 'RTF', - 'application/rtfd' : 'RTF', - 'application/x-font-ttf' : 'TTF', - 'application/x-font-otf' : 'OTF', - 'application/x-rpm' : 'RPM', - 'application/x-web-config' : 'TextPlain', - 'application/xhtml+xml' : 'HTML', - 'application/docbook+xml' : 'DOCBOOK', - 'application/x-awk' : 'AWK', - 'application/x-gzip' : 'GZIP', - 'application/x-bzip2' : 'BZIP', - 'application/zip' : 'ZIP', - 'application/x-zip' : 'ZIP', - 'application/x-rar' : 'RAR', - 'application/x-tar' : 'TAR', - 'application/x-7z-compressed' : '7z', - 'application/x-jar' : 'JAR', - 'text/plain' : 'TextPlain', - 'text/x-php' : 'PHP', - 'text/html' : 'HTML', - 'text/javascript' : 'JS', - 'text/css' : 'CSS', - 'text/rtf' : 'RTF', - 'text/rtfd' : 'RTF', - 'text/x-c' : 'C', - 'text/x-csrc' : 'C', - 'text/x-chdr' : 'CHeader', - 'text/x-c++' : 'CPP', - 'text/x-c++src' : 'CPP', - 'text/x-c++hdr' : 'CPPHeader', - 'text/x-shellscript' : 'Shell', - 'application/x-csh' : 'Shell', - 'text/x-python' : 'Python', - 'text/x-java' : 'Java', - 'text/x-java-source' : 'Java', - 'text/x-ruby' : 'Ruby', - 'text/x-perl' : 'Perl', - 'text/x-sql' : 'SQL', - 'text/xml' : 'XML', - 'text/x-comma-separated-values' : 'CSV', - 'image/x-ms-bmp' : 'BMP', - 'image/jpeg' : 'JPEG', - 'image/gif' : 'GIF', - 'image/png' : 'PNG', - 'image/tiff' : 'TIFF', - 'image/x-targa' : 'TGA', - 'image/vnd.adobe.photoshop' : 'PSD', - 'image/xbm' : 'XBITMAP', - 'image/pxm' : 'PXM', - 'audio/mpeg' : 'AudioMPEG', - 'audio/midi' : 'AudioMIDI', - 'audio/ogg' : 'AudioOGG', - 'audio/mp4' : 'AudioMPEG4', - 'audio/x-m4a' : 'AudioMPEG4', - 'audio/wav' : 'AudioWAV', - 'audio/x-mp3-playlist' : 'AudioPlaylist', - 'video/x-dv' : 'VideoDV', - 'video/mp4' : 'VideoMPEG4', - 'video/mpeg' : 'VideoMPEG', - 'video/x-msvideo' : 'VideoAVI', - 'video/quicktime' : 'VideoMOV', - 'video/x-ms-wmv' : 'VideoWM', - 'video/x-flv' : 'VideoFlash', - 'video/x-matroska' : 'VideoMKV', - 'video/ogg' : 'VideoOGG' - }, - - /** - * Ajax request data validation rules - * - * @type Object - */ - rules : { - defaults : function(data) { - if (!data - || (data.added && !$.isArray(data.added)) - || (data.removed && !$.isArray(data.removed)) - || (data.changed && !$.isArray(data.changed))) { - return false; - } - return true; - }, - open : function(data) { return data && data.cwd && data.files && $.isPlainObject(data.cwd) && $.isArray(data.files); }, - tree : function(data) { return data && data.tree && $.isArray(data.tree); }, - parents : function(data) { return data && data.tree && $.isArray(data.tree); }, - tmb : function(data) { return data && data.images && ($.isPlainObject(data.images) || $.isArray(data.images)); }, - upload : function(data) { return data && ($.isPlainObject(data.added) || $.isArray(data.added));}, - search : function(data) { return data && data.files && $.isArray(data.files)} - }, - - - - - /** - * Commands costructors - * - * @type Object - */ - commands : {}, - - parseUploadData : function(text) { - var data; - - if (!$.trim(text)) { - return {error : ['errResponse', 'errDataEmpty']}; - } - - try { - data = $.parseJSON(text); - } catch (e) { - return {error : ['errResponse', 'errDataNotJSON']} - } - - if (!this.validResponse('upload', data)) { - return {error : ['errResponse']}; - } - data = this.normalize(data); - data.removed = $.map(data.added||[], function(f) { return f.hash; }) - return data; - - }, - - iframeCnt : 0, - - uploads : { - // check droped contents - checkFile : function(data) { - if (data.type == 'files') { - return data.files; - } else { - var ret = []; - var regex; - var str = data.files[0]; - if (data.type == 'html') { - regex = /]+src=["']?([^"'> ]+)/ig; - var m = []; - var url = ''; - var links; - while (m = regex.exec(str)) { - url = m[1].replace(/&/g, '&'); - if (url.match(/^http/) && $.inArray(url, ret) == -1) ret.push(url); - } - links = str.match(/<\/a>/i); - if (links && links.length == 1) { - regex = /]+href=["']?([^"'> ]+)((?:.|\s)+)<\/a>/i; - if (m = regex.exec(str)) { - if (! m[2].match(/"{}|\\^\[\]`\s]+)/ig; - while (m = regex.exec(str)) { - url = m[1].replace(/&/g, '&'); - if ($.inArray(url, ret) == -1) ret.push(url); - } - } - return ret; - } - }, - // upload transport using iframe - iframe : function(data, fm) { - var self = fm ? fm : this, - input = data.input? data.input : false, - files = !input ? self.uploads.checkFile(data) : false, - dfrd = $.Deferred() - .fail(function(error) { - error && self.error(error); - }) - .done(function(data) { - data.warning && self.error(data.warning); - data.removed && self.remove(data); - data.added && self.add(data); - data.changed && self.change(data); - self.trigger('upload', data); - data.sync && self.sync(); - }), - name = 'iframe-'+self.namespace+(++self.iframeCnt), - form = $('
'), - msie = this.UA.IE, - // clear timeouts, close notification dialog, remove form/iframe - onload = function() { - abortto && clearTimeout(abortto); - notifyto && clearTimeout(notifyto); - notify && self.notify({type : 'upload', cnt : -cnt}); - - setTimeout(function() { - msie && $('