Impmroved Tinymce module

This commit is contained in:
Franck Allimant
2014-06-18 15:36:24 +02:00
parent 39c9ca1b2b
commit 04135032bf
187 changed files with 71 additions and 13158 deletions

View File

@@ -1 +0,0 @@
Resources/*

View File

@@ -1 +1 @@
{include file="include/tinymce_init.tpl"}
{include file="includes/tinymce_init.tpl"}

View File

@@ -1 +1 @@
{include file="include/tinymce_init.tpl"}
{include file="includes/tinymce_init.tpl"}

View File

@@ -1 +1 @@
{include file="include/tinymce_init.tpl"}
{include file="includes/tinymce_init.tpl"}

View File

@@ -1 +1 @@
{include file="include/tinymce_init.tpl"}
{include file="includes/tinymce_init.tpl"}

View File

@@ -1 +1 @@
{include file="include/tinymce_init.tpl"}
{include file="includes/tinymce_init.tpl"}

View File

@@ -1 +1 @@
{include file="include/tinymce_init.tpl"}
{include file="includes/tinymce_init.tpl"}

View File

@@ -1 +1 @@
{include file="include/tinymce_init.tpl"}
{include file="includes/tinymce_init.tpl"}

View File

@@ -1 +1 @@
{include file="include/tinymce_init.tpl"}
{include file="includes/tinymce_init.tpl"}

View File

@@ -3,34 +3,4 @@
<config xmlns="http://thelia.net/schema/dic/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://thelia.net/schema/dic/config http://thelia.net/schema/dic/config/thelia-1.0.xsd">
<loops>
<!-- sample definition
<loop name="MySuperLoop" class="MyModule\Loop\MySuperLoop" />
-->
</loops>
<forms>
<!--
<form name="MyFormName" class="MyModule\Form\MySuperForm" />
-->
</forms>
<commands>
<!--
<command class="MyModule\Command\MySuperCommand" />
-->
</commands>
<templateDirectives>
<!-- Sample definition
<templateDirectives class="MyModule\Directive\MyTemplateDirective" name="my_filter"/>
-->
</templateDirectives>
<services>
<service id="tinymce.listener" class="Tinymce\Listener\VerifyTinymceListener">
<tag name="kernel.event_subscriber"/>
</service>
</services>
</config>

View File

@@ -7,12 +7,12 @@
<descriptive locale="fr_FR">
<title>Editeur visuel TinyMCE</title>
</descriptive>
<version>0.1</version>
<version>0.5</version>
<author>
<name>Manuel Raynaud</name>
<email>manu@thelia.net</email>
</author>
<type>classic</type>
<thelia>2.0.0</thelia>
<stability>alpha</stability>
<stability>beta</stability>
</module>

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<database defaultIdMethod="native" name="thelia" namespace="Tinymce\Model">
<!--
See propel documentation on http://propelorm.org for all information about schema file
-->
<external-schema filename="/home/manu/dev/www/thelia/local/config/schema.xml" referenceOnly="true" />
</database>

View File

@@ -1,81 +0,0 @@
<?php
/*************************************************************************************/
/* This file is part of the Thelia package. */
/* */
/* Copyright (c) OpenStudio */
/* email : dev@thelia.net */
/* web : http://www.thelia.net */
/* */
/* For the full copyright and license information, please view the LICENSE.txt */
/* file that was distributed with this source code. */
/*************************************************************************************/
namespace Tinymce\Listener;
use Symfony\Component\EventDispatcher\Event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Filesystem\Filesystem;
use Thelia\Core\Event\TheliaEvents;
use Thelia\Core\Event\Cache\CacheEvent;
use Thelia\Core\Thelia;
/**
* Class VerifyTinymceListener
* @package Tinymce\Listener
* @author Manuel Raynaud <mraynaud@openstudio.fr>
*/
class VerifyTinymceListener implements EventSubscriberInterface
{
public function verifyTinymce(Event $event)
{
$fs = new Filesystem();
if (false === file_exists(THELIA_WEB_DIR . '/tinymce')) {
$fs->mirror(__DIR__ . DS .'..'. DS .'Resources'.DS.'js'.DS.'tinymce', THELIA_WEB_DIR . 'tinymce');
}
if (false === file_exists(THELIA_WEB_DIR . '/media')) {
$fs->symlink(__DIR__ . DS .'..'.DS.'Resources'.DS.'media', THELIA_WEB_DIR . 'media');
}
}
public function clearCache(CacheEvent $event)
{
if (true === file_exists(THELIA_WEB_DIR . '/tinymce')) {
$fs = new Filesystem();
$directory = new \DirectoryIterator(THELIA_WEB_DIR . '/tinymce');
$fs->remove($directory);
}
}
/**
* Returns an array of event names this subscriber wants to listen to.
*
* The array keys are event names and the value can be:
*
* * The method name to call (priority defaults to 0)
* * An array composed of the method name to call and the priority
* * An array of arrays composed of the method names to call and respective
* priorities, or 0 if unset
*
* For instance:
*
* * array('eventName' => 'methodName')
* * array('eventName' => array('methodName', $priority))
* * array('eventName' => array(array('methodName1', $priority), array('methodName2'))
*
* @return array The event names to listen to
*
* @api
*/
public static function getSubscribedEvents()
{
return array(
TheliaEvents::BOOT => array('verifyTinymce', 128),
TheliaEvents::CACHE_CLEAR => array("clearCache", 0)
);
}
}

View File

@@ -1,212 +0,0 @@
<?php
include('config/config.php');
if($_SESSION["verify"] != "RESPONSIVEfilemanager") die('forbiden');
include('include/utils.php');
if(isset($_GET['action']))
switch($_GET['action']){
case 'view':
if(isset($_GET['type']))
$_SESSION["view_type"] =$_GET['type'];
else
die('view type number missing');
break;
case 'sort':
if(isset($_GET['sort_by']))
$_SESSION["sort_by"] =$_GET['sort_by'];
if(isset($_GET['descending']))
$_SESSION["descending"] =$_GET['descending']==="true";
break;
case 'image_size':
$pos = strpos($_POST['path'],$upload_dir);
if ($pos !== false) {
$info=getimagesize(substr_replace($_POST['path'],$current_path,$pos,strlen($upload_dir)));
echo json_encode($info);
}
break;
case 'save_img':
$info=pathinfo($_POST['name']);
if(strpos($_POST['path'],'/')===0
|| strpos($_POST['path'],'../')!==FALSE
|| strpos($_POST['path'],'./')===0
|| strpos($_POST['url'],'http://featherfiles.aviary.com')!==0
|| $_POST['name']!=fix_filename($_POST['name'])
|| !in_array($info['extension'], array('jpg','jpeg','png')))
die('wrong data');
$image_data = file_get_contents($_POST['url']);
file_put_contents($current_path.$_POST['path'].$_POST['name'],$image_data);
//new thumb creation
//try{
create_img_gd($current_path.$_POST['path'].$_POST['name'], $thumbs_base_path.$_POST['path'].$_POST['name'], 122, 91);
new_thumbnails_creation($current_path.$_POST['path'],$current_path.$_POST['path'].$_POST['name'],$_POST['name'],$current_path,$relative_image_creation,$relative_path_from_current_pos,$relative_image_creation_name_to_prepend,$relative_image_creation_name_to_append,$relative_image_creation_width,$relative_image_creation_height,$fixed_image_creation,$fixed_path_from_filemanager,$fixed_image_creation_name_to_prepend,$fixed_image_creation_to_append,$fixed_image_creation_width,$fixed_image_creation_height);
/*} catch (Exception $e) {
$src_thumb=$mini_src="";
}*/
break;
case 'extract':
if(strpos($_POST['path'],'/')===0 || strpos($_POST['path'],'../')!==FALSE || strpos($_POST['path'],'./')===0)
die('wrong path');
$path=$current_path.$_POST['path'];
$info=pathinfo($path);
$base_folder=$current_path.fix_dirname($_POST['path'])."/";
switch($info['extension']){
case "zip":
$zip = new ZipArchive;
if ($zip->open($path) === true) {
//make all the folders
for($i = 0; $i < $zip->numFiles; $i++)
{
$OnlyFileName = $zip->getNameIndex($i);
$FullFileName = $zip->statIndex($i);
if ($FullFileName['name'][strlen($FullFileName['name'])-1] =="/")
{
create_folder($base_folder.$FullFileName['name']);
}
}
//unzip into the folders
for($i = 0; $i < $zip->numFiles; $i++)
{
$OnlyFileName = $zip->getNameIndex($i);
$FullFileName = $zip->statIndex($i);
if (!($FullFileName['name'][strlen($FullFileName['name'])-1] =="/"))
{
$fileinfo = pathinfo($OnlyFileName);
if(in_array($fileinfo['extension'],$ext))
{
copy('zip://'. $path .'#'. $OnlyFileName , $base_folder.$FullFileName['name'] );
}
}
}
$zip->close();
}else {
echo 'failed to open file';
}
break;
case "gz":
$p = new PharData($path);
$p->decompress(); // creates files.tar
break;
case "tar":
// unarchive from the tar
$phar = new PharData($path);
$phar->decompressFiles();
$files=array();
foreach ($phar as $file) {
$files[]=($base_folder.$file->getFileName());
}
$phar->extractTo($current_path.fix_dirname($_POST['path'])."/");
foreach($files as $file) check_files_extensions_on_path($file,$ext);
break;
}
break;
case 'media_preview':
$preview_file = $_GET["file"];
$info = pathinfo($preview_file);
?>
<div id="jp_container_1" class="jp-video " style="margin:0 auto;">
<div class="jp-type-single">
<div id="jquery_jplayer_1" class="jp-jplayer"></div>
<div class="jp-gui">
<div class="jp-video-play">
<a href="javascript:;" class="jp-video-play-icon" tabindex="1">play</a>
</div>
<div class="jp-interface">
<div class="jp-progress">
<div class="jp-seek-bar">
<div class="jp-play-bar"></div>
</div>
</div>
<div class="jp-current-time"></div>
<div class="jp-duration"></div>
<div class="jp-controls-holder">
<ul class="jp-controls">
<li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li>
<li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li>
<li><a href="javascript:;" class="jp-stop" tabindex="1">stop</a></li>
<li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">mute</a></li>
<li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">unmute</a></li>
<li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">max volume</a></li>
</ul>
<div class="jp-volume-bar">
<div class="jp-volume-bar-value"></div>
</div>
<ul class="jp-toggles">
<li><a href="javascript:;" class="jp-full-screen" tabindex="1" title="full screen">full screen</a></li>
<li><a href="javascript:;" class="jp-restore-screen" tabindex="1" title="restore screen">restore screen</a></li>
<li><a href="javascript:;" class="jp-repeat" tabindex="1" title="repeat">repeat</a></li>
<li><a href="javascript:;" class="jp-repeat-off" tabindex="1" title="repeat off">repeat off</a></li>
</ul>
</div>
<div class="jp-title" style="display:none;">
<ul>
<li></li>
</ul>
</div>
</div>
</div>
<div class="jp-no-solution">
<span>Update Required</span>
To play the media you will need to either update your browser to a recent version or update your <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash plugin</a>.
</div>
</div>
</div>
<?php
if(in_array($info['extension'], $ext_music)){ ?>
<script type="text/javascript">
$(document).ready(function(){
$("#jquery_jplayer_1").jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
title:"<?php $_GET['title']; ?>",
mp3: "<?php echo $preview_file; ?>",
m4a: "<?php echo $preview_file; ?>",
oga: "<?php echo $preview_file; ?>",
wav: "<?php echo $preview_file; ?>"
});
},
swfPath: "js",
solution:"html,flash",
supplied: "mp3, m4a, midi, mid, oga,webma, ogg, wav",
smoothPlayBar: true,
keyEnabled: false
});
});
</script>
<?php
}elseif(in_array($info['extension'], $ext_video)){ ?>
<script type="text/javascript">
$(document).ready(function(){
$("#jquery_jplayer_1").jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
title:"<?php $_GET['title']; ?>",
m4v: "<?php echo $preview_file; ?>",
ogv: "<?php echo $preview_file; ?>"
});
},
swfPath: "js",
solution:"html,flash",
supplied: "mp4, m4v, ogv, flv, webmv, webm",
smoothPlayBar: true,
keyEnabled: false
});
});
</script>
<?php
}
break;
}
else
die('no action passed');
?>

View File

@@ -1,193 +0,0 @@
<?php
use Thelia\Core\HttpKernel\HttpCache\HttpCache;
use Thelia\Core\Thelia;
use Thelia\Core\HttpFoundation\Request;
//use Symfony\Component\DependencyInjection;
$env = 'prod';
require __DIR__ . '/../../../../../core/bootstrap.php';
$request = Request::createFromGlobals();
$thelia = new Thelia("prod", false);
$thelia->boot();
$httpKernel = $thelia->getContainer()->get('http_kernel');
$httpKernel->getContainer()->enterScope('request');
$httpKernel->getContainer()->set('request', $request, 'request');
$httpKernel->initSession($request);
/** @var \Thelia\Core\Security\SecurityContext $securityContext */
$securityContext = $httpKernel->getContainer()->get('thelia.securityContext');
$isGranted = $securityContext->isGranted(
array('ADMIN'),
array(
\Thelia\Core\Security\Resource\AdminResources::PRODUCT,
\Thelia\Core\Security\Resource\AdminResources::CATEGORY,
\Thelia\Core\Security\Resource\AdminResources::FOLDER,
\Thelia\Core\Security\Resource\AdminResources::CONTENT,
),
array(),
array(
\Thelia\Core\Security\AccessManager::UPDATE,
\Thelia\Core\Security\AccessManager::CREATE,
)
);
if (false === $isGranted) {
exit;
}
//------------------------------------------------------------------------------
// DON'T COPY THIS VARIABLES IN FOLDERS config.php FILES
//------------------------------------------------------------------------------
//**********************
//Path configuration
//**********************
// In this configuration the folder tree is
// root
// |- source <- upload folder
// |- thumbs <- thumbnail folder [must have write permission (755)]
// |- filemanager
// |- js
// | |- tinymce
// | | |- plugins
// | | | |- responsivefilemanager
// | | | | |- plugin.min.js
$base_url=rtrim(\Thelia\Model\ConfigQuery::read('url_site'), '/'); // base url (only domain) of site (without final /). If you prefer relative urls leave empty
$upload_dir = '/media/'; // path from base_url to base of upload folder (with start and final /)
$current_path = '../../../media/'; // relative path from filemanager folder to upload folder (with final /)
//thumbs folder can't put inside upload folder
$thumbs_base_path = '../../../media/'; // relative path from filemanager folder to thumbs folder (with final /)
//------------------------------------------------------------------------------
// YOU CAN COPY AND CHANGE THESE VARIABLES IN FOLDERS config.php FILES
//------------------------------------------------------------------------------
$MaxSizeUpload=100; //Mb
$default_language="en_EN"; //default language file name
$show_folder_size=true; //Show or not show folder size in list view feature in filemanager (is possible, if there is a large folder, to greatly increase the calculations)
$show_sorting_bar=true; //Show or not show sorting feature in filemanager
$loading_bar=true; //Show or not show loading bar
//*******************************************
//Images limit and resizing configuration
//*******************************************
// set maximum pixel width and/or maximum pixel height for all images
// If you set a maximum width or height, oversized images are converted to those limits. Images smaller than the limit(s) are unaffected
// if you don't need a limit set both to 0
$image_max_width=0;
$image_max_height=0;
//Automatic resizing //
// If you set $image_resizing to true the script converts all uploaded images exactly to image_resizing_width x image_resizing_height dimension
// If you set width or height to 0 the script automatically calculates the other dimension
// Is possible that if you upload very big images the script not work to overcome this increase the php configuration of memory and time limit
$image_resizing=false;
$image_resizing_width=0;
$image_resizing_height=0;
//******************
// Default layout setting
//
// 0 => boxes
// 1 => detailed list (1 column)
// 2 => columns list (multiple columns depending on the width of the page)
// YOU CAN ALSO PASS THIS PARAMETERS USING SESSION VAR => $_SESSION["VIEW"]=
//
//******************
$default_view=0;
//set if the filename is truncated when overflow first row
$ellipsis_title_after_first_row=true;
//*************************
//Permissions configuration
//******************
$delete_files=true;
$create_folders=true;
$delete_folders=true;
$upload_files=true;
$rename_files=true;
$rename_folders=true;
//**********************
//Allowed extensions (lowercase insert)
//**********************
$ext_img = array('jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff', 'svg'); //Images
$ext_file = array('doc', 'docx','rtf', 'pdf', 'xls', 'xlsx', 'txt', 'csv','html','xhtml','psd','sql','log','fla','xml','ade','adp','mdb','accdb','ppt','pptx','odt','ots','ott','odb','odg','otp','otg','odf','ods','odp','css','ai'); //Files
$ext_video = array('mov', 'mpeg', 'mp4', 'avi', 'mpg','wma',"flv","webm"); //Video
$ext_music = array('mp3', 'm4a', 'ac3', 'aiff', 'mid','ogg','wav'); //Audio
$ext_misc = array('zip', 'rar','gz','tar','iso','dmg'); //Archives
$ext=array_merge($ext_img, $ext_file, $ext_misc, $ext_video,$ext_music); //allowed extensions
/******************
* AVIARY config
*******************/
$aviary_key="dvh8qudbp6yx2bnp";
$aviary_secret="m6xaym5q42rpw433";
$aviary_version=3;
$aviary_language='en';
//The filter and sorter are managed through both javascript and php scripts because if you have a lot of
//file in a folder the javascript script can't sort all or filter all, so the filemanager switch to php script.
//The plugin automatic swich javascript to php when the current folder exceeds the below limit of files number
$file_number_limit_js=500;
//**********************
// Hidden files and folders
//**********************
// set the names of any folders you want hidden (eg "hidden_folder1", "hidden_folder2" ) Remember all folders with these names will be hidden (you can set any exceptions in config.php files on folders)
$hidden_folders = array();
// set the names of any files you want hidden. Remember these names will be hidden in all folders (eg "this_document.pdf", "that_image.jpg" )
$hidden_files = array('config.php');
/*******************
* JAVA upload
*******************/
$java_upload=true;
$JAVAMaxSizeUpload=200; //Gb
//************************************
//Thumbnail for external use creation
//************************************
// New image resized creation with fixed path from filemanager folder after uploading (thumbnails in fixed mode)
// If you want create images resized out of upload folder for use with external script you can choose this method,
// You can create also more than one image at a time just simply add a value in the array
// Remember than the image creation respect the folder hierarchy so if you are inside source/test/test1/ the new image will create at
// path_from_filemanager/test/test1/
// PS if there isn't write permission in your destination folder you must set it
$fixed_image_creation = false; //activate or not the creation of one or more image resized with fixed path from filemanager folder
$fixed_path_from_filemanager = array('../test/','../test1/'); //fixed path of the image folder from the current position on upload folder
$fixed_image_creation_name_to_prepend = array('','test_'); //name to prepend on filename
$fixed_image_creation_to_append = array('_test',''); //name to appendon filename
$fixed_image_creation_width = array(300,400); //width of image (you can leave empty if you set height)
$fixed_image_creation_height = array(200,''); //height of image (you can leave empty if you set width)
// New image resized creation with relative path inside to upload folder after uploading (thumbnails in relative mode)
// With Responsive filemanager you can create automatically resized image inside the upload folder, also more than one at a time
// just simply add a value in the array
// The image creation path is always relative so if i'm inside source/test/test1 and I upload an image, the path start from here
$relative_image_creation = false; //activate or not the creation of one or more image resized with relative path from upload folder
$relative_path_from_current_pos = array('thumb/','thumb/'); //relative path of the image folder from the current position on upload folder
$relative_image_creation_name_to_prepend= array('','test_'); //name to prepend on filename
$relative_image_creation_name_to_append = array('_test',''); //name to append on filename
$relative_image_creation_width = array(300,400); //width of image (you can leave empty if you set height)
$relative_image_creation_height = array(200,''); //height of image (you can leave empty if you set width)
?>

View File

@@ -1,6 +0,0 @@
/*!
* bootstrap-lightbox.css v0.6.0
* Copyright 2013 Jason Butz
* http://www.apache.org/licenses/LICENSE-2.0.txt
*/
.lightbox{position:relative;top:70px;z-index:1050;line-height:0;text-align:center;background-color:transparent;outline:0}.lightbox .hide{display:none}.lightbox .in{display:block}.lightbox-content{display:inline-block;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.lightbox-content .lightbox-caption{position:absolute;right:12px;bottom:11px;left:11px;padding:2%;font-size:14px;line-height:18px;color:white;text-align:center;text-shadow:0 -1px 0 #000;text-shadow:0 -1px 0 rgba(0,0,0,0.3);background:#000;background:rgba(0,0,0,0.6)}.lightbox-header .close{margin-top:-16px;margin-right:-16px;font-size:2em;color:white;opacity:.8;filter:alpha(opacity=80)}.lightbox-header .close :hover{opacity:.4;filter:alpha(opacity=40)}

View File

@@ -1,8 +0,0 @@
/*!
* Bootstrap Modal
*
* Copyright Jordan Schroter
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*/.modal-open{overflow:hidden}.modal-open.page-overflow .page-container,.modal-open.page-overflow .page-container .navbar-fixed-top,.modal-open.page-overflow .page-container .navbar-fixed-bottom,.modal-open.page-overflow .modal-scrollable{overflow-y:scroll}@media (max-width:840px){.modal-open.page-overflow .page-container .navbar-fixed-top,.modal-open.page-overflow .page-container .navbar-fixed-bottom{overflow-y:visible}}.modal-scrollable{position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.modal{outline:0;position:absolute;margin-top:0;top:50%;overflow:visible}.modal.fade{top:-100%;-webkit-transition:opacity .3s linear,top .3s ease-out,bottom .3s ease-out,margin-top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out,bottom .3s ease-out,margin-top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out,bottom .3s ease-out,margin-top .3s ease-out;transition:opacity .3s linear,top .3s ease-out,bottom .3s ease-out,margin-top .3s ease-out}.modal.fade.in{top:50%}.modal-body{max-height:none;overflow:visible}.modal.modal-absolute{position:absolute;z-index:950}.modal .loading-mask{position:absolute;top:0;bottom:0;left:0;right:0;background:#fff;border-radius:6px}.modal-backdrop.modal-absolute{position:absolute;z-index:940}.modal-backdrop,.modal-backdrop.fade.in{opacity:.7;filter:alpha(opacity=70);background:#fff}.modal.container{width:940px;margin-left:-470px}.modal-overflow.modal{top:1%}.modal-overflow.modal.fade{top:-100%}.modal-overflow.modal.fade.in{top:1%}.modal-overflow .modal-body{overflow:auto;-webkit-overflow-scrolling:touch}@media (min-width:1200px){.modal.container{width:1170px;margin-left:-585px}}@media (max-width:840px){.modal,.modal.container,.modal.modal-overflow{top:1%;right:1%;left:1%;bottom:auto;width:auto!important;height:auto!important;margin:0!important;padding:0!important}.modal.fade.in,.modal.container.fade.in,.modal.modal-overflow.fade.in{top:1%;bottom:auto}.modal-body,.modal-overflow .modal-body{position:static;margin:0;height:auto!important;max-height:none!important;overflow:visible!important}.modal-footer,.modal-overflow .modal-footer{position:static}}.loading-spinner{position:absolute;top:50%;left:50%;margin:-12px 0 0 -12px}.animated{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px)}}@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)}10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)}20%,40%,60%,80%{-moz-transform:translateX(10px)}}@-o-keyframes shake{0%,100%{-o-transform:translateX(0)}10%,30%,50%,70%,90%{-o-transform:translateX(-10px)}20%,40%,60%,80%{-o-transform:translateX(10px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{-webkit-animation-name:shake;-moz-animation-name:shake;-o-animation-name:shake;animation-name:shake}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,410 +0,0 @@
/* The MIT License */
.dropzone,
.dropzone *,
.dropzone-previews,
.dropzone-previews * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.dropzone {
position: relative;
border: 1px solid rgba(0,0,0,0.08);
background: rgba(0,0,0,0.02);
padding: 1em;
}
.dropzone.dz-clickable {
cursor: pointer;
}
.dropzone.dz-clickable .dz-message,
.dropzone.dz-clickable .dz-message span {
cursor: pointer;
}
.dropzone.dz-clickable * {
cursor: default;
}
.dropzone .dz-message {
opacity: 1;
-ms-filter: none;
filter: none;
}
.dropzone.dz-drag-hover {
border-color: rgba(0,0,0,0.15);
background: rgba(0,0,0,0.04);
}
.dropzone.dz-started .dz-message {
display: none;
}
.dropzone .dz-preview,
.dropzone-previews .dz-preview {
background: rgba(255,255,255,0.8);
position: relative;
display: inline-block;
margin: 17px;
vertical-align: top;
border: 1px solid #acacac;
padding: 6px 6px 6px 6px;
}
.dropzone .dz-preview.dz-file-preview [data-dz-thumbnail],
.dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] {
display: none;
}
.dropzone .dz-preview .dz-details,
.dropzone-previews .dz-preview .dz-details {
width: 100px;
height: 100px;
position: relative;
background: #ebebeb;
padding: 5px;
margin-bottom: 22px;
}
.dropzone .dz-preview .dz-details .dz-filename,
.dropzone-previews .dz-preview .dz-details .dz-filename {
overflow: hidden;
height: 100%;
}
.dropzone .dz-preview .dz-details img,
.dropzone-previews .dz-preview .dz-details img {
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 100px;
}
.dropzone .dz-preview .dz-details .dz-size,
.dropzone-previews .dz-preview .dz-details .dz-size {
position: absolute;
bottom: -28px;
left: 3px;
height: 28px;
line-height: 28px;
}
.dropzone .dz-preview.dz-error .dz-error-mark,
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
display: block;
}
.dropzone .dz-preview.dz-success .dz-success-mark,
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
display: block;
}
.dropzone .dz-preview:hover .dz-details img,
.dropzone-previews .dz-preview:hover .dz-details img {
display: none;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark,
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
display: none;
position: absolute;
width: 40px;
height: 40px;
font-size: 30px;
text-align: center;
right: -10px;
top: -10px;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
color: #8cc657;
}
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
color: #ee162d;
}
.dropzone .dz-preview .dz-progress,
.dropzone-previews .dz-preview .dz-progress {
position: absolute;
top: 100px;
left: 6px;
right: 6px;
height: 6px;
background: #d7d7d7;
display: none;
}
.dropzone .dz-preview .dz-progress .dz-upload,
.dropzone-previews .dz-preview .dz-progress .dz-upload {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 0%;
background-color: #8cc657;
}
.dropzone .dz-preview.dz-processing .dz-progress,
.dropzone-previews .dz-preview.dz-processing .dz-progress {
display: block;
}
.dropzone .dz-preview .dz-error-message,
.dropzone-previews .dz-preview .dz-error-message {
display: none;
position: absolute;
top: -5px;
left: -20px;
background: rgba(245,245,245,0.8);
padding: 8px 10px;
color: #800;
min-width: 140px;
max-width: 500px;
z-index: 500;
}
.dropzone .dz-preview:hover.dz-error .dz-error-message,
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
display: block;
}
.dropzone {
border: 1px solid rgba(0,0,0,0.03);
min-height: 360px;
-webkit-border-radius: 3px;
border-radius: 3px;
background: rgba(0,0,0,0.03);
padding: 23px;
}
.dropzone .dz-default.dz-message {
opacity: 1;
-ms-filter: none;
filter: none;
-webkit-transition: opacity 0.3s ease-in-out;
-moz-transition: opacity 0.3s ease-in-out;
-o-transition: opacity 0.3s ease-in-out;
-ms-transition: opacity 0.3s ease-in-out;
transition: opacity 0.3s ease-in-out;
background-image: url("../img/spritemap.png");
background-repeat: no-repeat;
background-position: 0 0;
position: absolute;
width: 428px;
height: 123px;
margin-left: -214px;
margin-top: -61.5px;
top: 50%;
left: 50%;
}
@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) {
.dropzone .dz-default.dz-message {
background-image: url("../img/spritemap@2x.png");
-webkit-background-size: 428px 406px;
-moz-background-size: 428px 406px;
background-size: 428px 406px;
}
}
.dropzone .dz-default.dz-message span {
display: none;
}
.dropzone.dz-square .dz-default.dz-message {
background-position: 0 -123px;
width: 268px;
margin-left: -134px;
height: 174px;
margin-top: -87px;
}
.dropzone.dz-drag-hover .dz-message {
opacity: 0.15;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)";
filter: alpha(opacity=15);
}
.dropzone.dz-started .dz-message {
display: block;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
}
.dropzone .dz-preview,
.dropzone-previews .dz-preview {
-webkit-box-shadow: 1px 1px 4px rgba(0,0,0,0.16);
box-shadow: 1px 1px 4px rgba(0,0,0,0.16);
font-size: 14px;
}
.dropzone .dz-preview.dz-image-preview:hover .dz-details img,
.dropzone-previews .dz-preview.dz-image-preview:hover .dz-details img {
display: block;
opacity: 0.1;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
filter: alpha(opacity=10);
}
.dropzone .dz-preview.dz-success .dz-success-mark,
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
opacity: 1;
-ms-filter: none;
filter: none;
}
.dropzone .dz-preview.dz-error .dz-error-mark,
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
opacity: 1;
-ms-filter: none;
filter: none;
}
.dropzone .dz-preview.dz-error .dz-progress .dz-upload,
.dropzone-previews .dz-preview.dz-error .dz-progress .dz-upload {
background: #ee1e2d;
}
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark,
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
display: block;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
-webkit-transition: opacity 0.4s ease-in-out;
-moz-transition: opacity 0.4s ease-in-out;
-o-transition: opacity 0.4s ease-in-out;
-ms-transition: opacity 0.4s ease-in-out;
transition: opacity 0.4s ease-in-out;
background-image: url("../img/spritemap.png");
background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) {
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark,
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
background-image: url("../img/spritemap@2x.png");
-webkit-background-size: 428px 406px;
-moz-background-size: 428px 406px;
background-size: 428px 406px;
}
}
.dropzone .dz-preview .dz-error-mark span,
.dropzone-previews .dz-preview .dz-error-mark span,
.dropzone .dz-preview .dz-success-mark span,
.dropzone-previews .dz-preview .dz-success-mark span {
display: none;
}
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
background-position: -268px -123px;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
background-position: -268px -163px;
}
.dropzone .dz-preview .dz-progress .dz-upload,
.dropzone-previews .dz-preview .dz-progress .dz-upload {
-webkit-animation: loading 0.4s linear infinite;
-moz-animation: loading 0.4s linear infinite;
-o-animation: loading 0.4s linear infinite;
-ms-animation: loading 0.4s linear infinite;
animation: loading 0.4s linear infinite;
-webkit-transition: width 0.3s ease-in-out;
-moz-transition: width 0.3s ease-in-out;
-o-transition: width 0.3s ease-in-out;
-ms-transition: width 0.3s ease-in-out;
transition: width 0.3s ease-in-out;
-webkit-border-radius: 2px;
border-radius: 2px;
position: absolute;
top: 0;
left: 0;
width: 0%;
height: 100%;
background-image: url("../img/spritemap.png");
background-repeat: repeat-x;
background-position: 0px -400px;
}
@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) {
.dropzone .dz-preview .dz-progress .dz-upload,
.dropzone-previews .dz-preview .dz-progress .dz-upload {
background-image: url("../img/spritemap@2x.png");
-webkit-background-size: 428px 406px;
-moz-background-size: 428px 406px;
background-size: 428px 406px;
}
}
.dropzone .dz-preview.dz-success .dz-progress,
.dropzone-previews .dz-preview.dz-success .dz-progress {
display: block;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
-webkit-transition: opacity 0.4s ease-in-out;
-moz-transition: opacity 0.4s ease-in-out;
-o-transition: opacity 0.4s ease-in-out;
-ms-transition: opacity 0.4s ease-in-out;
transition: opacity 0.4s ease-in-out;
}
.dropzone .dz-preview .dz-error-message,
.dropzone-previews .dz-preview .dz-error-message {
display: block;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
-webkit-transition: opacity 0.3s ease-in-out;
-moz-transition: opacity 0.3s ease-in-out;
-o-transition: opacity 0.3s ease-in-out;
-ms-transition: opacity 0.3s ease-in-out;
transition: opacity 0.3s ease-in-out;
}
.dropzone .dz-preview:hover.dz-error .dz-error-message,
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
opacity: 1;
-ms-filter: none;
filter: none;
}
.dropzone a.dz-remove,
.dropzone-previews a.dz-remove {
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fafafa), color-stop(1, #eee));
background-image: -webkit-linear-gradient(top, #fafafa 0, #eee 100%);
background-image: -moz-linear-gradient(top, #fafafa 0, #eee 100%);
background-image: -o-linear-gradient(top, #fafafa 0, #eee 100%);
background-image: -ms-linear-gradient(top, #fafafa 0, #eee 100%);
background-image: linear-gradient(top, #fafafa 0, #eee 100%);
-webkit-border-radius: 2px;
border-radius: 2px;
border: 1px solid #eee;
text-decoration: none;
display: block;
padding: 4px 5px;
text-align: center;
color: #aaa;
margin-top: 26px;
}
.dropzone a.dz-remove:hover,
.dropzone-previews a.dz-remove:hover {
color: #666;
}
@-moz-keyframes loading {
0% {
background-position: 0 -400px;
}
100% {
background-position: -7px -400px;
}
}
@-webkit-keyframes loading {
0% {
background-position: 0 -400px;
}
100% {
background-position: -7px -400px;
}
}
@-o-keyframes loading {
0% {
background-position: 0 -400px;
}
100% {
background-position: -7px -400px;
}
}
@-ms-keyframes loading {
0% {
background-position: 0 -400px;
}
100% {
background-position: -7px -400px;
}
}
@keyframes loading {
0% {
background-position: 0 -400px;
}
100% {
background-position: -7px -400px;
}
}

File diff suppressed because one or more lines are too long

View File

@@ -1,156 +0,0 @@
/*!
* jQuery contextMenu - Plugin for simple contextMenu handling
*
* Version: git-master
*
* Authors: Rodney Rehm, Addy Osmani (patches for FF)
* Web: http://medialize.github.com/jQuery-contextMenu/
*
* Licensed under
* MIT License http://www.opensource.org/licenses/mit-license
* GPL v3 http://opensource.org/licenses/GPL-3.0
*
*/
.context-menu-list {
margin:0;
padding:5px;
font-family: 'Open Sans', sans-serif;
width: 200px;
display: inline-block;
position: absolute;
list-style-type: none;
border: 1px solid #DDD;
background: #ffffff;
-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-ms-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-o-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
font-size: 12px;
}
.context-menu-item {
padding: 5px 5px 5px 30px;
background-color: #ffffff;
position: relative;
border-bottom: 1px solid #eeeeee;
height:auto;
word-wrap: break-word;
-webkit-user-select: none;
-moz-user-select: -moz-none;
-ms-user-select: none;
user-select: none;
}
.context-menu-item:last-child{
border:none;
}
.context-menu-separator {
padding-bottom:0;
border-bottom: 1px solid #DDD;
}
.context-menu-item > label > input,
.context-menu-item > label > textarea {
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
}
.context-menu-item.hover {
cursor: pointer;
background-color: #ddd;
}
.context-menu-item.disabled {
color: #666;
}
.context-menu-input.hover,
.context-menu-item.disabled.hover {
cursor: default;
background-color: #EEE;
}
.context-menu-submenu:after {
content: ">";
color: #666;
position: absolute;
top: 0;
right: 3px;
z-index: 1;
}
/* icons
#protip:
In case you want to use sprites for icons (which I would suggest you do) have a look at
http://css-tricks.com/13224-pseudo-spriting/ to get an idea of how to implement
.context-menu-item.icon:before {}
*/
.context-menu-item.icon { min-height: 18px; vertical-align: middle; background-repeat: no-repeat; background-position: 4px 5px; width: auto; display: list-item;}
.context-menu-item.icon-edit { background-image: url(../img/page_white_edit.png); }
.context-menu-item.icon-cut { background-image: url(../img/cut.png); }
.context-menu-item.icon-copy { background-image: url(../img/page_white_copy.png); }
.context-menu-item.icon-rename { background-image: url(../img/rename.png); }
.context-menu-item.icon-preview { background-image: url(../img/preview.png); }
.context-menu-item.icon-dimension { background-image: url(../img/dimension.png); }
.context-menu-item.icon-date { background-image: url(../img/date.png); }
.context-menu-item.icon-label { background-image: url(../img/label.png); }
.context-menu-item.icon-size { background-image: url(../img/size.png); }
.context-menu-item.icon-download { background-image: url(../img/download.png); }
.context-menu-item.icon-paste { background-image: url(../img/page_white_paste.png); }
.context-menu-item.icon-delete { background-image: url(../img/page_white_delete.png); }
.context-menu-item.icon-add { background-image: url(../img/page_white_add.png); }
.context-menu-item.icon-quit { background-image: url(../img/door.png); }
.context-menu-item.icon-info { background-image: url(../img/info.png); }
.context-menu-item.icon-extract{background-image:url(../img/zip.png)}
.context-menu-item.icon-url{background-image:url(../img/url.png)}
.context-menu-item.icon-edit_img{background-image:url(../img/edit_img.png)}
/* vertically align inside labels */
.context-menu-input > label > * { vertical-align: top; }
/* position checkboxes and radios as icons */
.context-menu-input > label > input[type="checkbox"],
.context-menu-input > label > input[type="radio"] {
margin-left: -17px;
}
.context-menu-input > label > span {
margin-left: 5px;
}
.context-menu-input > label,
.context-menu-input > label > input[type="text"],
.context-menu-input > label > textarea,
.context-menu-input > label > select {
display: block;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}
.context-menu-input > label > textarea {
height: 100px;
}
.context-menu-item > .context-menu-list {
display: none;
/* re-positioned by js */
right: -5px;
top: 5px;
}
.context-menu-item.hover > .context-menu-list {
display: block;
}
.context-menu-accesskey {
text-decoration: underline;
}

View File

@@ -1,36 +0,0 @@
.context-menu-list{font-family:'Open Sans', sans-serif;width:200px;display:inline-block;position:absolute;list-style-type:none;border:1px solid #DDD;background:#fff;-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.5);-moz-box-shadow:0 2px 5px rgba(0,0,0,0.5);-ms-box-shadow:0 2px 5px rgba(0,0,0,0.5);-o-box-shadow:0 2px 5px rgba(0,0,0,0.5);box-shadow:0 2px 5px rgba(0,0,0,0.5);font-size:12px;margin:0;padding:5px}
.context-menu-item{background-color:#fff;position:relative;border-bottom:1px solid #eee;height:auto;word-wrap:break-word;-webkit-user-select:none;-moz-user-select:0;-ms-user-select:none;user-select:none;padding:5px 5px 5px 30px}
.context-menu-item:last-child{border:none}
.context-menu-separator{padding-bottom:0;border-bottom:1px solid #DDD}
.context-menu-item > label > input,.context-menu-item > label > textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}
.context-menu-item.hover{cursor:pointer;background-color:#DDD}
.context-menu-item.disabled{color:#666}
.context-menu-input.hover,.context-menu-item.disabled.hover{cursor:default;background-color:#EEE}
.context-menu-submenu:after{content:">";color:#666;position:absolute;top:0;right:3px;z-index:1}
.context-menu-item.icon{min-height:18px;vertical-align:middle;background-repeat:no-repeat;background-position:4px 5px;width:auto;display:list-item}
.context-menu-item.icon-edit{background-image:url(../img/page_white_edit.png)}
.context-menu-item.icon-cut{background-image:url(../img/cut.png)}
.context-menu-item.icon-copy{background-image:url(../img/page_white_copy.png)}
.context-menu-item.icon-rename{background-image:url(../img/rename.png)}
.context-menu-item.icon-preview{background-image:url(../img/preview.png)}
.context-menu-item.icon-dimension{background-image:url(../img/dimension.png)}
.context-menu-item.icon-date{background-image:url(../img/date.png)}
.context-menu-item.icon-label{background-image:url(../img/label.png)}
.context-menu-item.icon-size{background-image:url(../img/size.png)}
.context-menu-item.icon-download{background-image:url(../img/download.png)}
.context-menu-item.icon-paste{background-image:url(../img/page_white_paste.png)}
.context-menu-item.icon-delete{background-image:url(../img/page_white_delete.png)}
.context-menu-item.icon-add{background-image:url(../img/page_white_add.png)}
.context-menu-item.icon-quit{background-image:url(../img/door.png)}
.context-menu-item.icon-info{background-image:url(../img/info.png)}
.context-menu-item.icon-extract{background-image:url(../img/zip.png)}
.context-menu-item.icon-url{background-image:url(../img/url.png)}
.context-menu-item.icon-edit_img{background-image:url(../img/edit_img.png)}
.context-menu-input > label > *{vertical-align:top}
.context-menu-input > label > input[type=checkbox],.context-menu-input > label > input[type=radio]{margin-left:-17px}
.context-menu-input > label > span{margin-left:5px}
.context-menu-input > label,.context-menu-input > label > input[type=text],.context-menu-input > label > textarea,.context-menu-input > label > select{display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}
.context-menu-input > label > textarea{height:100px}
.context-menu-item > .context-menu-list{display:none;right:-5px;top:5px}
.context-menu-item.hover > .context-menu-list{display:block}
.context-menu-accesskey{text-decoration:underline}

File diff suppressed because one or more lines are too long

View File

@@ -1,897 +0,0 @@
*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body, html {
font-family: 'Open Sans', sans-serif;
font-size: 100%; padding: 0; margin: 0;}
body{
padding-top: 32px;
font-weight:200;
background:#eeeeee;
}
#qLpercentage{
font-family: 'Open Sans', sans-serif;
font-size: 40px;
line-height: 40px;
color:#bbbbbb;
font-weight: 200;
height: 60px;
-webkit-border-radius: 10px;
border-radius: 10px;
padding: 10px;
text-shadow: 1px 1px 2px #ffffff;
filter: dropshadow(color=#ffffff, offx=1, offy=1);
}
#qLbar{
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzdhN2E3YSIgc3RvcC1vcGFjaXR5PSIwLjQiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzdhN2E3YSIgc3RvcC1vcGFjaXR5PSIwLjQiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
background: -moz-linear-gradient(top, rgba(122,122,122,0.4) 0%, rgba(122,122,122,0.4) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(122,122,122,0.4)), color-stop(100%,rgba(122,122,122,0.4))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(122,122,122,0.4) 0%,rgba(122,122,122,0.4) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(122,122,122,0.4) 0%,rgba(122,122,122,0.4) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(122,122,122,0.4) 0%,rgba(122,122,122,0.4) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(122,122,122,0.4) 0%,rgba(122,122,122,0.4) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#667a7a7a', endColorstr='#667a7a7a',GradientType=0 ); /* IE6-8 */
z-index:200;
margin-left: 10px;
overflow: hidden;
}
.btn{
-webkit-border-radius: 0px;
border-radius: 0px;
}
.container-fluid{padding-right:0 !important;margin-top:10px !important;}
.img-precontainer{
margin: auto;
width: 100%;
text-align: center;
background: white;
border:none;
}
.img-container{
height: 91px;
width: 122px;
padding: 0px;
border:none;
overflow: hidden;
display: table-cell;
text-align: center;
vertical-align: middle;
margin: auto;
}
ul.breadcrumb{
margin-bottom:5px;
-webkit-border-radius: 0px;
border-radius: 0px;
padding-bottom: 4px;
padding-top: 6px;
background: #f0f0f0;
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,0.065);
-moz-box-shadow: 0 1px 4px rgba(0,0,0,0.065);
box-shadow: 0 1px 4px rgba(0,0,0,0.065);
border-bottom: 1px solid #bbbbbb;
.pull-left i{ margin-top:2px;}
}
.alert {
padding: 8px 35px 8px 14px;
margin-bottom:2px;
border: 1px solid #aaaaaa;
color:#666666;
font-weight: 200;
font-size: 13px;
-webkit-border-radius: 0px;
border-radius: 0px;
background: white;
}
.img-container * ,.img-container-mini * {
vertical-align: middle;
}
#help{
display: none;
}
/*\*//*/
.img-container,.img-container-mini {
display: block;
}
.img-container span, .img-container-mini span {
display: inline-block;
height: 100%;
width: 1px;
}
/**/
iframe{
overflow: auto;
-webkit-overflow-scrolling:touch;
}
.upload-tabbable{
margin-left: 5px;
margin-right: 5px;
.upload-help{
font-size: 11px;
font-weight: 200;
color: #777;
text-shadow: 0 1px 0 #fff;
text-align: center;
}
.nav{
margin:0px;
li a{
font-size: 13px;
font-weight: 200;
color: #777;
text-shadow: 0 1px 0 #fff;
}
}
.tab-content{
padding: 5px;
border-bottom: 1px solid #dddddd;
border-left: 1px solid #dddddd;
border-rigth: 1px solid #dddddd;
background: white;
margin-bottom: 5px;
}
}
input#filter-input{
margin:0px;
width: 84px;
height: 26px;
vertical-align: bottom;
margin-bottom: 2px;
-webkit-border-radius: 0;
border-radius: 0;
font-size: 12px;
font-weight:200;
position:relative;
left:1px;
}
.qq-uploader .span9{margin-left:14px !important;width:690px !important;}
.space10{ clear:both; height:10px; }
h4{ font-size:11px; font-weight:200; margin: 0px; text-align: center; padding: 0px; margin-top:6px; line-height: 18px; }
h3{ font-size:14px; font-weight:200;}
.boxes{ border:1px solid #CCCCCC; word-wrap: break-word; background:white;
-webkit-box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.2);box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.2); min-height:115px;
text-align: center;}
.container-fluid{ padding:0px 10px !important;}
body .avpw .avpw_primary_button,
body .avpw .avpw_primary_button:link,
body .avpw .avpw_primary_button:visited,
body .avpw .avpw_primary_button:active {
background-color: #999999;
color: #ffffff;
background-image:none;
border:none;
}
body .avpw .avpw_primary_button:hover{
border:none;
background-color: #666666;
}
.uploader{
position:fixed;
top:50px;
left:14px;
margin:auto;
width:100%;
z-index:9999;
overflow: hidden;
background:#eeeeee;
padding-top:20px;
border:1px solid #cccccc;
display:none;
-webkit-box-shadow: 0px 0px 10px 0px rgba(1, 1, 1, 0.5);
box-shadow: 0px 0px 10px 0px rgba(1, 1, 1, 0.5);
}
.download-form{
margin-bottom:25px;
}
.grid li i{
margin-left:2px;
margin-right: 2px;
z-index:0;
}
.box,.boxx{
text-align: center;
word-wrap: break-word;
vertical-align: top;
text-align: left;
position: relative;
border: none;
box-shadow: none;
z-index: 100;
padding: 4px;
}
.box .btn{
width: 100%;
background: none;
box-shadow: none;
border:none;
z-index: 200;
}
.navbar{
margin-bottom: 0px;
border-bottom: 1px solid #bbbbbb;
.navbar-inner{
border: none;
min-height: 35px;
-webkit-border-radius: 0px;
border-radius: 0px;
padding-bottom: 2px;
margin: 0px;
padding-right: 8px;
padding-left: 8px;
.container-fluid{
margin: 0px;
margin-top: 0px !important;
padding: 0px;
.brand{
display: none;
}
.filters span{
margin-top:0px;
font-size:13px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff; }
}
}
}
ul.sorting{
position: absolute;
left: -25px;
top:20px;
min-width: 0px;
background: #eeeeee;
li a:hover{
background: #aaaaaa;
}
}
.btn-group .dropdown-toggle.sorting-btn{
background: none;
border: none;
box-shadow: none;
position: relative;
-webkit-box-shadow:none;
top:-5px;
font-size: 13px;
}
.btn-group .dropdown-toggle.sorting-btn:hover{
background: none;
border: none;
box-shadow: none;
-webkit-box-shadow:none;
}
ul.sorting.dropdown-menu>li>a{
font-size: 12px;
text-shadow: none;
&.ascending{
background-image: url(../img/down.png);
background-repeat: no-repeat;
background-position: 6px 8px;
}
&.descending{
background-image: url(../img/up.png);
background-repeat: no-repeat;
background-position: 6px 8px;
}
}
.sorter-container{
a.sorter{
color:black;
}
a.ascending{
padding-left:9px;
background-image: url(../img/down.png);
background-repeat: no-repeat;
background-position: 0px 3px;
}
a.descending{
padding-left:9px;
background-image: url(../img/up.png);
background-repeat: no-repeat;
background-position: 0px 4px;
}
margin-top:5px;
margin-bottom:0px;
-webkit-border-radius: 0px;
border-radius: 0px;
padding-bottom: 4px;
padding-top: 6px;
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,0.065);
-moz-box-shadow: 0 1px 4px rgba(0,0,0,0.065);
box-shadow: 0 1px 4px rgba(0,0,0,0.065);
background-color: #f5f5f5;
position: relative;
border-bottom: 1px solid #bbbbbb;
height: 24px;
.img-dimension,.file-date,.file-size,.file-extension,.file-name,.file-operations{
display: block;position: absolute;
top: 0px;
z-index: 100;
-webkit-box-shadow: none;
box-shadow: none;
text-align: left;
font-size: 13px;
margin-top: 1px;
color:#999999;
}
.file-operations{
width: 110px;
right:0px;
}
.img-dimension{
width: 65px;
right: 123px;
}
.file-date{
width: 70px;
right: 188px;
}
.file-size{
width: 55px;
right: 258px;
}
.file-extension{
width: 40px;
right: 313px;
}
.file-name{
width: 50px;
left: 52px;
}
}
.img-dimension,.file-date,.file-size,.file-extension,.file-name,.file-operations{
font-size:12px;
font-weight:200;
color:#777;text-shadow:0 1px 0 #fff;
display: none;
}
.view-controller{
text-align: left;
.btn-group>.btn:first-child,.btn-group>.btn:last-child{
-webkit-border-radius: 0px;
border-radius: 0px;
}
}
.navbar .filters .btn {
margin-bottom: 2px;
padding-top:2px;
padding-bottom:2px;
padding-left: 8px;
padding-right: 8px;
margin-top:5px;
}
.filters .types{
text-align: right;
}
@media(max-width:780px){
#view2{
display: none;
}
}
@media(max-width:839px){
body{
padding-top: 0px;
}
.filters .types{
text-align: left;
}
.navbar .navbar-inner .container-fluid .brand{
display: block;
}
.navbar .navbar-inner{
padding-bottom: 4px;
}
.container-fluid{
margin:0px !important;
padding: 0px;
}
#qLbar{
position: absolute;
top:8px !important;
}
}
@media(min-width:400px) and (max-width:839px){
.filters .row-fluid .half{
width:48.61878453038674%;*width:48.56559304102504%; float:left;
}
}
.tooltip.in{
z-index: 10000;
opacity:1;
filter:alpha(opacity=1);
font-weight: bold;
}
.tooltip{
font-weight: bold;
z-index: 10000;
}
/* GRID */
.grid {
padding: 0px 0px;
margin: 0 auto;
list-style: none;
-webkit-overflow-scrolling: touch;
}
.grid li {
display: inline-block;
width: 126px;
margin: 4px;
padding: 2px;
vertical-align: top;
}
.grid figure {
margin: 0;
position: relative;
display: block;
width: 122px;
margin: auto;
&:hover{ background: #e0e0e0 !important;}
}
.list-view1.grid li{
width:100%;
figure{
width:100%;
}
}
.grid figcaption {
text-align: center;
padding: 2px;
padding-top: 8px;
color: white;
height: 30px;
width: 118px;
margin-left:2px;
margin-right: 2px;
position: absolute;
top: auto;
bottom: 0;
-webkit-box-shadow: inset 0px 0px 8px 0px rgba(41, 41, 41, 0.5);
box-shadow: inset 0px 0px 8px 0px rgba(41, 41, 41, 0.5);
}
.grid figcaption a{
margin: 0px;
padding: 3px;
}
.grid figcaption h3 {
margin: 0;
padding: 0;
color: #fff;
}
.grid h4{
text-align: center;
color: black;
padding: 0px;
margin-bottom: 4px;
margin-top: 4px;
}
/* Individual Caption Styles */
/* Caption Style 2 */
.grid figure .box {
box-sizing: content-box;
}
.list-view0.grid,.list-view1.grid,.list-view2.grid{
figure{
.box{
max-width: 100%;
display: block;
position: relative;
overflow: hidden;
z-index: 1;
h4.ellipsis{
height:18px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
h4{
z-index: 1;
a{
z-index: 1;
}
}
}
}
.selected{
-webkit-box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.6);
box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.6);
}
}
.no-touch .list-view0 figure .box{
z-index: 1;
-webkit-transition: -webkit-transform 0.3s;
-moz-transition: -moz-transform 0.3s;
transition: transform 0.3s;
}
.no-touch .list-view0 figure:hover .box,
.no-touch .list-view0 figure.cs-hover .box {
-webkit-box-shadow: 0px 0px 4px 0px rgba(1, 1, 1, 0.5);
box-shadow: 0px 0px 4px 0px rgba(1, 1, 1, 0.5);
-webkit-transform: translateY(-26px);
-moz-transform: translateY(-26px);
-ms-transform: translateY(-26px);
transform: translateY(-26px);
}
.list-view0 figure:hover .box.no-effect,
.list-view0 figure.cs-hover .box.no-effect,.no-effect{
-webkit-box-shadow: none;
box-shadow: none;
-webkit-transform: none;
-moz-transform: none;
-ms-transform: none;
transform: none;
}
.list-view0 .img-precontainer-mini{
display: none;
}
a,a:hover{
color:black;
text-decoration: none;
}
.back-directory{
.img-precontainer,.img-precontainer-mini,.box{
background: none;
}
}
form{
margin:0px;
padding: 0px;
}
.modal-body{
form,input{
margin:0px;
}
}
.modal-header h3{
font-weight: 300;
font-size: 20px;
}
/* LIST VIEW */
.list-view1.sorter-container{
display: block;
}
.list-view0.sorter-container, .list-view2.sorter-container{
display: none;
}
.list-view0.grid{
.img-precontainer{
.img-container{
img{
max-width:122px !important;
max-height:91px !important;
}
img.icon{
width: 122px;
border:1px solid #cccccc;
margin-top:0px;
}
}
.filetype{
position:absolute;
top:1px;
right:1px;
padding:2px 3px;
color:white;
font-size: 16px;
line-height: 18px;
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjYiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjYiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
background: -moz-linear-gradient(top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.6) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.6)), color-stop(100%,rgba(0,0,0,0.6))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.6) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.6) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.6) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.6) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#99000000', endColorstr='#99000000',GradientType=0 ); /* IE6-8 */
border-bottom: 1px solid #111111;
border-left: 1px solid #111111;
-webkit-border-radius: 0px 0px 0px 6px;
border-radius: 0px 0px 0px 6px;
}
}
.cover{
-webkit-box-shadow: inset 0px 0px 25px 0px rgba(0, 0, 0, 0.3);
box-shadow: inset 0px 0px 25px 0px rgba(0, 0, 0, 0.3);
width: 122px;
position:absolute;
top:0px;
right:0px;
height: 91px;
}
.box{
background: white;
}
.directory{
background: #dddddd;
}
figure.back-directory{
.directory{
background: #bbbbbb;
}
}
}
.list-view1.grid , .list-view2.grid {
li{
margin: 0px;
&.back{
figure.back-directory{
height: 34px;
}
}
}
li:nth-child(odd) figure {background: #f6f6f6; }
li:nth-child(odd) figure.directory {background: #d2d2d2; }
li figure{
border-bottom: 1px solid #cccccc;
background: white;
&.back-directory{
background: #bbbbbb;
.box{
background: none;
}
}
&.directory{
background: #dddddd;
box{
padding: 0px;
min-height: 10px;
}
}
.box{
h4{
padding-top:1px;
font-size: 13px;
text-align: left;
}
margin-left: 50px;
-webkit-transition: none;
-moz-transition: none;
transition: none;
}
}
.img-precontainer-mini{
display: block;
position: absolute;
width: 45px;
height: 34px;
overflow: hidden;
text-align: center;
img{
height: 34px;
}
.filetype{
position:absolute;
top:0px;
text-align: center;
left:0px;
padding:1px 2px;
font-size: 14px;
line-height: 32px;
width:45px;
height: 34px;
color:white;
background: #333333;
}
}
.cover{
position:absolute;
top:0;
left:0;
width: 45px;
height: 34px;
-webkit-box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.4);
box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.4);
}
.img-container-mini{
width: 45px;
height: 34px;
border:none;
overflow: hidden;
display: table-cell;
text-align: center;
vertical-align: middle;
margin: auto;
}
.img-precontainer-mini.original-thumb{
padding: 0px;
img{
width: auto;
margin: 0px;
height: 34px;
}
img.original{
width: auto;
width: auto;
height: auto;
}
}
.img-precontainer{
display: none;
}
figcaption{
width: 120px;
position: absolute;
right: 0px;
top: 0px;
z-index: 1;
bottom: 0;
-webkit-box-shadow: none;
box-shadow: none;
text-align: right;
}
.selected{
-webkit-box-shadow: 0px 0px 3px 2px rgba(0, 0, 0, 0.6);
box-shadow: 0px 0px 3px 2px rgba(0, 0, 0, 0.6);
}
}
.list-view1.grid{
.img-dimension,.file-date,.file-size,.file-extension{
overflow: hidden;
display: block;position: absolute;
top: 0px;
z-index: 1;
-webkit-box-shadow: none;
box-shadow: none;
text-align: left;
margin-top:7px;
}
.img-dimension{
width: 65px;
right: 120px;
}
.file-date{
width: 70px;
right: 185px;
}
.file-size{
width: 55px;
right: 255px;
}
.file-extension{
width: 40px;
right: 310px;
}
figure .box{
padding-right: 352px;
}
}
.list-view2.grid{
figure{
.box{
padding-right: 115px;
}
}
}
@media(max-width:610px){
.list-view1.grid figure{
.box{
padding-right: 312px;
}
.file-extension{
display: none;
}
}
.sorter-container .file-extension{
display: none;
}
}
@media(max-width:565px){
.list-view1.grid figure{
.box{
padding-right: 257px;
}
.file-size{
display: none;
}
}
.sorter-container .file-size{
display: none;
}
}
@media(max-width:495px){
.list-view1.grid figure{
.box{
padding-right: 187px;
}
.file-date{
display: none;
}
}
.sorter-container .file-date{
display: none;
}
}
@media(max-width:430px){
.list-view1.grid figure{
.box{
padding-right: 115px;
}
.img-dimension{
display: none;
}
}
.sorter-container .img-dimension{
display: none;
}
.breadcrumb{
margin-left:0px;
margin-right:0px;
}
}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.pdf{ background:#CB0011; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.css{ background:#D10698; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.ai{ background:#D6772F; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.psd{ background:#0960A4; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.html,&.xhtml{ background:#035BC4; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.fla,&.flv{ background:#CF302E; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.ppt,&.pptx{ background:#DA5B00; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.xls,&.xlsx,&.css{ background:#1A712C; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.rts,&.doc,&.docx{ background:#002093; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.rar,&.zip,&.gzip{ background:#FE9221; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.mp4,&.mpeg,&.mov,&.avi,&.mpg,&.wma,&.webm{ background:#31231E; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.mp3,&.m4a,&.ac3,&.aiff,&.mid,&.ogg,&.wav{ background:#9F008B; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.odt,&.ots,&.ott,&.odb,&.odg,&.otp,&.otg,&.odf,&.ods,&.odp{ background:#367BBE; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.jpg,&.jpeg,&.png,&.bmp,&.gif,&.tiff,&.svg{ background:#CFA554; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.txt,&.sql,&.xml,&.log,&.iso,&.dmg{ background:#CACACA; }}}
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.ade,&.adp,&.mdb,&.accdb{ background:#B61C19; }}}

View File

@@ -1,773 +0,0 @@
<?php
include('config/config.php');
$_SESSION["verify"]= "RESPONSIVEfilemanager";
if(isset($_POST['submit'])){
include('upload.php');
}else{
include('include/utils.php');
if (isset($_GET['fldr'])
&& !empty($_GET['fldr'])
&& strpos($_GET['fldr'],'../')===FALSE
&& strpos($_GET['fldr'],'./')===FALSE
&& strpos($_GET['fldr'],'.')===FALSE)
$subdir = trim($_GET['fldr'],"/") ."/";
else
$subdir = '';
//remember last position
setcookie('last_position',$subdir,time() + (86400 * 7));
if($subdir==""){
if(!empty($_COOKIE['last_position'])
&& strpos($_COOKIE['last_position'],'.')===FALSE)
$subdir= trim($_COOKIE['last_position'])."/";
}
if($subdir=="/"){
$subdir="";
}
/***
*SUB-DIR CODE
***/
if(!isset($_SESSION["subfolder"])) $_SESSION["subfolder"]='';
$subfolder = '';
if(!empty($_SESSION["subfolder"]) && strpos($_SESSION["subfolder"],'../')===FALSE
&& strpos($_SESSION["subfolder"],'./')===FALSE && strpos($_SESSION["subfolder"],"/")!==0
&& strpos($_SESSION["subfolder"],'.')===FALSE) $subfolder= $_SESSION['subfolder'];
if($subfolder!="" && $subfolder[strlen($subfolder)-1]!="/") $subfolder.="/";
if(!file_exists($current_path . $subfolder.$subdir)){
$subdir='';
if(!file_exists($current_path . $subfolder.$subdir)){
$subfolder="";
}
}
if(trim($subfolder)==""){
$cur_dir = $upload_dir . $subdir;
$cur_path = $current_path . $subdir;
$thumbs_path = $thumbs_base_path;
$parent=$subdir;
}else{
$cur_dir = $upload_dir . $subfolder.$subdir;
$cur_path = $current_path . $subfolder.$subdir;
$thumbs_path = $thumbs_base_path. $subfolder;
$parent=$subfolder.$subdir;
}
$cycle=true;
$max_cycles=50;
$i=0;
while($cycle && $i<$max_cycles){
$i++;
if($parent=="./") $parent="";
if(file_exists($current_path.$parent."config.php")){
require_once($current_path.$parent."config.php");
$cycle=false;
}
if($parent=="") $cycle=false;
else $parent=fix_dirname($parent)."/";
}
if(!is_dir($thumbs_path.$subdir)){
create_folder(false, $thumbs_path.$subdir);
}
if(isset($_GET['popup'])) $popup= $_GET['popup']; else $popup=0;
//view type
if(!isset($_SESSION["view_type"])){ $view=$default_view; $_SESSION["view_type"] = $view; }
if(isset($_GET['view'])){ $view=$_GET['view']; $_SESSION["view_type"] = $view; }
$view=$_SESSION["view_type"];
if(isset($_GET["filter"])) $filter=fix_filename($_GET["filter"]);
else $filter='';
if(!isset($_SESSION['sort_by'])) $_SESSION['sort_by']='';
if(isset($_GET["sort_by"])) $sort_by=$_SESSION['sort_by']=fix_filename($_GET["sort_by"]);
else $sort_by=$_SESSION['sort_by'];
if(!isset($_SESSION['descending'])) $_SESSION['descending']=false;
if(isset($_GET["descending"])) $descending=$_SESSION['descending']=fix_filename($_GET["descending"])==="true";
else $descending=$_SESSION['descending'];
$lang=$default_language;
if(isset($_GET['lang']) && $_GET['lang'] != 'undefined' && $_GET['lang']!='')
$lang=$_GET['lang'];
$language_file = 'lang/'.$default_language.'.php';
if ($lang!=$default_language) {
$path_parts = pathinfo($lang);
if(is_readable('lang/' .$path_parts['basename']. '.php')){
$language_file = 'lang/' .$path_parts['basename']. '.php';
}
}
require_once $language_file;
if(!isset($_GET['type'])) $_GET['type']=0;
if(!isset($_GET['field_id'])) $_GET['field_id']='';
$get_params = http_build_query(array(
'type' => $_GET['type'],
'lang' => $lang,
'popup' => $popup,
'field_id' => isset($_GET['field_id']) ? $_GET['field_id'] : '',
'fldr' => ''
));
?>
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="noindex,nofollow">
<title>Responsive FileManager</title>
<link rel="shortcut icon" href="img/ico/favicon.ico">
<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" />
<link href="css/bootstrap-lightbox.min.css" rel="stylesheet" type="text/css" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link href="css/dropzone.min.css" type="text/css" rel="stylesheet" />
<link href="css/jquery.contextMenu.min.css" rel="stylesheet" type="text/css" />
<link href="css/bootstrap-modal.min.css" rel="stylesheet" type="text/css" />
<link href="jPlayer/skin/blue.monday/jplayer.blue.monday.css" rel="stylesheet" type="text/css">
<!--[if lt IE 8]><style>
.img-container span, .img-container-mini span {
display: inline-block;
height: 100%;
}
</style><![endif]-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
if (typeof jQuery === 'undefined')
{
document.write(unescape("%3Cscript src='js/jquery.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/bootstrap-lightbox.min.js"></script>
<script type="text/javascript" src="js/dropzone.min.js"></script>
<script type="text/javascript" src="js/jquery.touchSwipe.min.js"></script>
<script type="text/javascript" src="js/modernizr.custom.js"></script>
<script type="text/javascript" src="js/bootbox.min.js"></script>
<script type="text/javascript" src="js/bootstrap-modal.min.js"></script>
<script type="text/javascript" src="js/bootstrap-modalmanager.min.js"></script>
<script type="text/javascript" src="jPlayer/jquery.jplayer.min.js"></script>
<script type="text/javascript" src="js/imagesloaded.pkgd.min.js"></script>
<script type="text/javascript" src="js/jquery.queryloader2.min.js"></script>
<script type="text/javascript" src="https://dme0ih8comzn4.cloudfront.net/js/feather.js"></script>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script src="js/jquery.ui.position.min.js" type="text/javascript"></script>
<script src="js/jquery.contextMenu.min.js" type="text/javascript"></script>
<script>
var ext_img=new Array('<?php echo implode("','", $ext_img)?>');
var allowed_ext=new Array('<?php echo implode("','", $ext)?>');
var loading_bar=<?php echo $loading_bar?"true":"false"; ?>;
//dropzone config
Dropzone.options.myAwesomeDropzone = {
dictInvalidFileType: "<?php echo lang_Error_extension;?>",
dictFileTooBig: "<?php echo lang_Error_Upload; ?>",
dictResponseError: "SERVER ERROR",
paramName: "file", // The name that will be used to transfer the file
maxFilesize: <?php echo $MaxSizeUpload; ?>, // MB
url: "upload.php",
accept: function(file, done) {
var extension=file.name.split('.').pop();
extension=extension.toLowerCase();
if ($.inArray(extension, allowed_ext) > -1) {
done();
}
else { done("<?php echo lang_Error_extension;?>"); }
}
};
var featherEditor = new Aviary.Feather({
apiKey: "<?php echo $aviary_key; ?>",
apiVersion: <?php echo $aviary_version; ?>,
language: "<?php echo $aviary_language; ?>",
theme: 'light',
tools: 'all',
onSave: function(imageID, newURL) {
var img = document.getElementById(imageID);
img.src = newURL;
$.ajax({
type: "POST",
url: "ajax_calls.php?action=save_img",
data: { url: newURL, path:$('#sub_folder').val()+$('#fldr_value').val(), name:$('#aviary_img').data('name') }
}).done(function( msg ) {
featherEditor.close();
d = new Date();
$("figure[data-name='"+$('#aviary_img').data('name')+"']").find('img').each(function(){
$(this).attr('src',$(this).attr('src')+"?"+d.getTime());
});
$("figure[data-name='"+$('#aviary_img').data('name')+"']").find('figcaption a.preview').each(function(){
$(this).data('url',$(this).data('url')+"?"+d.getTime());
});
});
return false;
},
onError: function(errorObj) {
bootbox.alert(errorObj.message);
}
});
</script>
<script type="text/javascript" src="js/include.min.js"></script>
</head>
<body>
<input type="hidden" id="popup" value="<?php echo $popup; ?>" />
<input type="hidden" id="view" value="<?php echo $view; ?>" />
<input type="hidden" id="cur_dir" value="<?php echo $cur_dir; ?>" />
<input type="hidden" id="cur_dir_thumb" value="<?php echo $thumbs_path.$subdir; ?>" />
<input type="hidden" id="insert_folder_name" value="<?php echo lang_Insert_Folder_Name; ?>" />
<input type="hidden" id="new_folder" value="<?php echo lang_New_Folder; ?>" />
<input type="hidden" id="ok" value="<?php echo lang_OK; ?>" />
<input type="hidden" id="cancel" value="<?php echo lang_Cancel; ?>" />
<input type="hidden" id="rename" value="<?php echo lang_Rename; ?>" />
<input type="hidden" id="base_url" value="<?php echo $base_url?>"/>
<input type="hidden" id="base_url_true" value="<?php echo base_url(); ?>"/>
<input type="hidden" id="fldr_value" value="<?php echo $subdir; ?>"/>
<input type="hidden" id="sub_folder" value="<?php echo $subfolder; ?>"/>
<input type="hidden" id="file_number_limit_js" value="<?php echo $file_number_limit_js; ?>" />
<input type="hidden" id="descending" value="<?php echo $descending?"true":"false"; ?>" />
<?php $protocol = strpos(mb_strtolower($_SERVER['SERVER_PROTOCOL']),'https') === FALSE ? 'http' : 'https'; ?>
<input type="hidden" id="current_url" value="<?php echo str_replace(array('&filter='.$filter),array(''),$protocol."://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); ?>" />
<input type="hidden" id="lang_show_url" value="<?php echo lang_Show_url; ?>" />
<input type="hidden" id="lang_extract" value="<?php echo lang_Extract; ?>" />
<input type="hidden" id="lang_file_info" value="<?php echo mb_strtoupper(lang_File_info); ?>" />
<input type="hidden" id="lang_edit_image" value="<?php echo lang_Edit_image; ?>" />
<?php if($upload_files){ ?>
<!----- uploader div start ------->
<div class="uploader">
<center><button class="btn btn-inverse close-uploader"><i class="icon-backward icon-white"></i> <?php echo lang_Return_Files_List?></button></center>
<div class="space10"></div><div class="space10"></div>
<?php if($java_upload){ ?>
<div class="tabbable upload-tabbable"> <!-- Only required for left/right tabs -->
<ul class="nav nav-tabs">
<li class="active"><a href="#tab1" data-toggle="tab"><?php echo lang_Upload_base; ?></a></li>
<li><a href="#tab2" id="uploader-btn" data-toggle="tab"><?php echo lang_Upload_java; ?></a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab1">
<?php } ?>
<form action="dialog.php" method="post" enctype="multipart/form-data" id="myAwesomeDropzone" class="dropzone">
<input type="hidden" name="path" value="<?php echo $cur_path?>"/>
<input type="hidden" name="path_thumb" value="<?php echo $thumbs_path.$subdir?>"/>
<div class="fallback">
<?php echo lang_Upload_file?>:<br/>
<input name="file" type="file" />
<input type="hidden" name="fldr" value="<?php echo $subdir; ?>"/>
<input type="hidden" name="view" value="<?php echo $view; ?>"/>
<input type="hidden" name="type" value="<?php echo $_GET['type']; ?>"/>
<input type="hidden" name="field_id" value="<?php echo $_GET['field_id']; ?>"/>
<input type="hidden" name="popup" value="<?php echo $popup; ?>"/>
<input type="hidden" name="lang" value="<?php echo $lang; ?>"/>
<input type="hidden" name="filter" value="<?php echo $filter; ?>"/>
<input type="submit" name="submit" value="<?php echo lang_OK?>" />
</div>
</form>
<div class="upload-help"><?php echo lang_Upload_base_help; ?></div>
<?php if($java_upload){ ?>
</div>
<div class="tab-pane" id="tab2">
<div id="iframe-container">
</div>
<div class="upload-help"><?php echo lang_Upload_java_help; ?></div>
</div>
<?php } ?>
</div>
</div>
</div>
<!----- uploader div start ------->
<?php } ?>
<div class="container-fluid">
<?php
$class_ext = '';
$src = '';
$dir = opendir($current_path.$subfolder.$subdir);
if ($_GET['type']==1) $apply = 'apply_img';
elseif($_GET['type']==2) $apply = 'apply_link';
elseif($_GET['type']==0 && $_GET['field_id']=='') $apply = 'apply_none';
elseif($_GET['type']==3) $apply = 'apply_video';
else $apply = 'apply';
$files = scandir($current_path.$subfolder.$subdir);
$n_files=count($files);
//php sorting
$sorted=array();
$current_folder=array();
$prev_folder=array();
foreach($files as $k=>$file){
if($file==".") $current_folder=array('file'=>$file);
elseif($file=="..") $prev_folder=array('file'=>$file);
elseif(is_dir($current_path.$subfolder.$subdir.$file)){
$date=filemtime($current_path.$subfolder.$subdir. $file);
$size=foldersize($current_path.$subfolder.$subdir. $file);
$file_ext=lang_Type_dir;
$sorted[$k]=array('file'=>$file,'date'=>$date,'size'=>$size,'extension'=>$file_ext);
}else{
$file_path=$current_path.$subfolder.$subdir.$file;
$date=filemtime($file_path);
$size=filesize($file_path);
$file_ext = substr(strrchr($file,'.'),1);
$sorted[$k]=array('file'=>$file,'date'=>$date,'size'=>$size,'extension'=>$file_ext);
}
}
function filenameSort($x, $y) {
return $x['file'] < $y['file'];
}
function dateSort($x, $y) {
return $x['date'] < $y['date'];
}
function sizeSort($x, $y) {
return $x['size'] - $y['size'];
}
function extensionSort($x, $y) {
return $x['extension'] < $y['extension'];
}
switch($sort_by){
case 'name':
usort($sorted, 'filenameSort');
break;
case 'date':
usort($sorted, 'dateSort');
break;
case 'size':
usort($sorted, 'sizeSort');
break;
case 'extension':
usort($sorted, 'extensionSort');
break;
default:
break;
}
if($descending){
$sorted=array_reverse($sorted);
}
$files=array_merge(array($prev_folder),array($current_folder),$sorted);
?>
<!----- header div start ------->
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container-fluid">
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="brand"><?php echo lang_Toolbar; ?> -></div>
<div class="nav-collapse collapse">
<div class="filters">
<div class="row-fluid">
<div class="span3 half">
<span><?php echo lang_Actions; ?>:</span>
<?php if($upload_files){ ?>
<button class="tip btn upload-btn" title="<?php echo lang_Upload_file; ?>"><i class="icon-plus"></i><i class="icon-file"></i></button>
<?php } ?>
<?php if($create_folders){ ?>
<button class="tip btn new-folder" title="<?php echo lang_New_Folder?>"><i class="icon-plus"></i><i class="icon-folder-open"></i></button>
<?php } ?>
</div>
<div class="span3 half view-controller">
<span><?php echo lang_View; ?>:</span>
<button class="btn tip<?php if($view==0) echo " btn-inverse"; ?>" id="view0" data-value="0" title="<?php echo lang_View_boxes; ?>"><i class="icon-th <?php if($view==0) echo "icon-white"; ?>"></i></button>
<button class="btn tip<?php if($view==1) echo " btn-inverse"; ?>" id="view1" data-value="1" title="<?php echo lang_View_list; ?>"><i class="icon-align-justify <?php if($view==1) echo "icon-white"; ?>"></i></button>
<button class="btn tip<?php if($view==2) echo " btn-inverse"; ?>" id="view2" data-value="2" title="<?php echo lang_View_columns_list; ?>"><i class="icon-fire <?php if($view==2) echo "icon-white"; ?>"></i></button>
</div>
<div class="span6 types">
<span><?php echo lang_Filters; ?>:</span>
<?php if($_GET['type']!=1 && $_GET['type']!=3){ ?>
<input id="select-type-1" name="radio-sort" type="radio" data-item="ff-item-type-1" checked="checked" class="hide" />
<label id="ff-item-type-1" title="<?php echo lang_Files; ?>" for="select-type-1" class="tip btn ff-label-type-1"><i class="icon-file"></i></label>
<input id="select-type-2" name="radio-sort" type="radio" data-item="ff-item-type-2" class="hide" />
<label id="ff-item-type-2" title="<?php echo lang_Images; ?>" for="select-type-2" class="tip btn ff-label-type-2"><i class="icon-picture"></i></label>
<input id="select-type-3" name="radio-sort" type="radio" data-item="ff-item-type-3" class="hide" />
<label id="ff-item-type-3" title="<?php echo lang_Archives; ?>" for="select-type-3" class="tip btn ff-label-type-3"><i class="icon-inbox"></i></label>
<input id="select-type-4" name="radio-sort" type="radio" data-item="ff-item-type-4" class="hide" />
<label id="ff-item-type-4" title="<?php echo lang_Videos; ?>" for="select-type-4" class="tip btn ff-label-type-4"><i class="icon-film"></i></label>
<input id="select-type-5" name="radio-sort" type="radio" data-item="ff-item-type-5" class="hide" />
<label id="ff-item-type-5" title="<?php echo lang_Music; ?>" for="select-type-5" class="tip btn ff-label-type-5"><i class="icon-music"></i></label>
<?php } ?>
<input accesskey="f" type="text" class="filter-input" id="filter-input" name="filter" placeholder="<?php echo mb_strtolower(lang_Text_filter); ?>..." value="<?php echo $filter; ?>"/><?php if($n_files>$file_number_limit_js){ ?><label id="filter" class="btn"><i class="icon-play"></i></label><?php } ?>
<input id="select-type-all" name="radio-sort" type="radio" data-item="ff-item-type-all" class="hide" />
<label id="ff-item-type-all" title="<?php echo lang_All; ?>" <?php if($_GET['type']==1 || $_GET['type']==3){ ?>style="visibility: hidden;" <?php } ?> data-item="ff-item-type-all" for="select-type-all" style="margin-rigth:0px;" class="tip btn btn-inverse ff-label-type-all"><i class="icon-align-justify icon-white"></i></label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!----- header div end ------->
<!----- breadcrumb div start ------->
<div class="row-fluid">
<?php
$link="dialog.php?".$get_params;
?>
<ul class="breadcrumb">
<li class="pull-left"><a href="<?php echo $link?>/"><i class="icon-home"></i></a></li>
<li><span class="divider">/</span></li>
<?php
$bc=explode("/",$subdir);
$tmp_path='';
if(!empty($bc))
foreach($bc as $k=>$b){
$tmp_path.=$b."/";
if($k==count($bc)-2){
?> <li class="active"><?php echo $b?></li><?php
}elseif($b!=""){ ?>
<li><a href="<?php echo $link.$tmp_path?>"><?php echo $b?></a></li><li><span class="divider"><?php echo "/"; ?></span></li>
<?php }
}
?>
<li class="pull-right"><a class="btn-small" href="javascript:void('')" id="info"><i class="icon-question-sign"></i></a></li>
<li class="pull-right"><a id="refresh" class="btn-small" href="dialog.php?<?php echo $get_params.$subdir."&".uniqid() ?>"><i class="icon-refresh"></i></a></li>
<li class="pull-right">
<div class="btn-group">
<a class="btn dropdown-toggle sorting-btn" data-toggle="dropdown" href="#">
<i class="icon-signal"></i>
<span class="caret"></span>
</a>
<ul class="dropdown-menu pull-left sorting">
<li><center><strong><?php echo lang_Sorting ?></strong></center></li>
<li><a class="sorter sort-name <?php if($sort_by=="name"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="name"><?php echo lang_Filename; ?></a></li>
<li><a class="sorter sort-date <?php if($sort_by=="date"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="date"><?php echo lang_Date; ?></a></li>
<li><a class="sorter sort-size <?php if($sort_by=="size"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="size"><?php echo lang_Size; ?></a></li>
<li><a class="sorter sort-extension <?php if($sort_by=="extension"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="extension"><?php echo lang_Type; ?></a></li>
</ul>
</div>
</li>
</ul>
</div>
<!----- breadcrumb div end ------->
<div class="row-fluid ff-container">
<div class="span12">
<?php if(@opendir($current_path.$subfolder.$subdir)===FALSE){ ?>
<br/>
<div class="alert alert-error">There is an error! The upload folder there isn't. Check your config.php file. </div>
<?php }else{ ?>
<h4 id="help"><?php echo lang_Swipe_help; ?></h4>
<?php if(isset($folder_message)){ ?>
<div class="alert alert-block"><?php echo $folder_message; ?></div>
<?php } ?>
<?php if($show_sorting_bar){ ?>
<!-- sorter -->
<div class="sorter-container <?php echo "list-view".$view; ?>">
<div class="file-name"><a class="sorter sort-name <?php if($sort_by=="name"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="name"><?php echo lang_Filename; ?></a></div>
<div class="file-date"><a class="sorter sort-date <?php if($sort_by=="date"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="date"><?php echo lang_Date; ?></a></div>
<div class="file-size"><a class="sorter sort-size <?php if($sort_by=="size"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="size"><?php echo lang_Size; ?></a></div>
<div class='img-dimension'><?php echo lang_Dimension; ?></div>
<div class='file-extension'><a class="sorter sort-extension <?php if($sort_by=="extension"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="extension"><?php echo lang_Type; ?></a></div>
<div class='file-operations'><?php echo lang_Operations; ?></div>
</div>
<?php } ?>
<input type="hidden" id="file_number" value="<?php echo $n_files; ?>" />
<!--ul class="thumbnails ff-items"-->
<ul class="grid cs-style-2 <?php echo "list-view".$view; ?>">
<?php
$jplayer_ext=array("mp4","flv","webmv","webma","webm","m4a","m4v","ogv","oga","mp3","midi","mid","ogg","wav");
foreach ($files as $file_array) {
$file=$file_array['file'];
if($file == '.' || (isset($file_array['extension']) && $file_array['extension']!=lang_Type_dir) || ($file == '..' && $subdir == '') || in_array($file, $hidden_folders) || ($filter!='' && $file!=".." && strpos($file,$filter)===false))
continue;
//add in thumbs folder if not exist
if (!file_exists($thumbs_path.$subdir.$file)) create_folder(false,$thumbs_path.$subdir.$file);
$class_ext = 3;
if($file=='..' && trim($subdir) != '' ){
$src = explode("/",$subdir);
unset($src[count($src)-2]);
$src=implode("/",$src);
if($src=='') $src="/";
}
elseif ($file!='..') {
$src = $subdir . $file."/";
}
?>
<li data-name="<?php echo $file ?>" <?php if($file=='..') echo 'class="back"'; else echo 'class="dir"'; ?>>
<figure data-name="<?php echo $file ?>" class="<?php if($file=="..") echo "back-"; ?>directory" data-type="<?php if($file!=".."){ echo "dir"; } ?>">
<a title="<?php echo lang_Open?>" class="folder-link" href="dialog.php?<?php echo $get_params.$src."&".uniqid() ?>">
<div class="img-precontainer">
<div class="img-container directory"><span></span>
<img class="directory-img" src="img/ico/folder<?php if($file==".."){ echo "_back"; }?>.jpg" alt="folder" />
</div>
</div>
<div class="img-precontainer-mini directory">
<div class="img-container-mini">
<span></span>
<img class="directory-img" src="img/ico/folder<?php if($file==".."){ echo "_back"; }?>.jpg" alt="folder" />
</div>
</div>
<div class="cover"></div>
<?php if($file==".."){ ?>
<div class="box no-effect">
<h4><?php echo lang_Back ?></h4>
</div>
</a>
<?php }else{ ?>
</a>
<div class="box">
<h4 class="<?php if($ellipsis_title_after_first_row){ echo "ellipsis"; } ?>"><a title="<?php echo lang_Open?>" class="folder-link" data-file="<?php echo $file ?>" href="dialog.php?<?php echo $get_params.$src."&".uniqid() ?>"><?php echo $file; ?></a></h4>
</div>
<input type="hidden" class="name" value=""/>
<input type="hidden" class="date" value="<?php echo $file_array['date']; ?>"/>
<input type="hidden" class="size" value="<?php echo $file_array['size']; ?>"/>
<input type="hidden" class="extension" value="<?php echo lang_Type_dir; ?>"/>
<div class="file-date"><?php echo date(lang_Date_type,$file_array['date'])?></div>
<?php if($show_folder_size){ ?><div class="file-size"><?php echo makeSize($file_array['size'])?></div><?php } ?>
<div class='file-extension'><?php echo lang_Type_dir; ?></div>
<figcaption>
<a href="javascript:void('')" class="tip-left edit-button <?php if($rename_folders) echo "rename-folder"; ?>" title="<?php echo lang_Rename?>" data-path="<?php echo $subfolder.$subdir.$file; ?>" data-thumb="<?php echo $thumbs_path.$subdir.$file; ?>">
<i class="icon-pencil <?php if(!$rename_folders) echo 'icon-white'; ?>"></i></a>
<a href="javascript:void('')" class="tip-left erase-button <?php if($delete_folders) echo "delete-folder"; ?>" title="<?php echo lang_Erase?>" data-confirm="<?php echo lang_Confirm_Folder_del; ?>" data-path="<?php echo $subfolder.$subdir.$file; ?>" data-thumb="<?php echo $thumbs_path.$subdir .$file; ?>">
<i class="icon-trash <?php if(!$delete_folders) echo 'icon-white'; ?>"></i>
</a>
</figcaption>
<?php } ?>
</figure>
</li>
<?php
}
foreach ($files as $nu=>$file_array) {
$file=$file_array['file'];
if($file == '.' || $file == '..' || is_dir($current_path.$subfolder.$subdir.$file) || in_array($file, $hidden_files) || !in_array(mb_strtolower($file_array['extension']), $ext) || ($filter!='' && strpos($file,$filter)===false))
continue;
$file_path=$current_path.$subfolder.$subdir.$file;
//check if file have illegal caracter
if($file!=mb_strtolower($file_array['extension'])){
rename($current_path.$subfolder.$subdir.$file,$current_path.$subfolder.$subdir.mb_strtolower($file));
$file=mb_strtolower($file);
$file_path=$current_path.$subfolder.$subdir.$file;
$file_array['extension']=mb_strtolower($file_array['extension']);
}
$filename=substr($file, 0, '-' . (strlen($file_array['extension']) + 1));
if($file!=fix_filename($file)){
$file1=fix_filename($file);
$file_path1=($current_path.$subfolder.$subdir.$file1);
if(file_exists($file_path1)){
$i = 1;
$info=pathinfo($file1);
while(file_exists($current_path.$subfolder.$subdir.$info['filename'].".[".$i."].".$info['extension'])) {
$i++;
}
$file1=$info['filename'].".[".$i."].".$info['extension'];
$file_path1=($current_path.$subfolder.$subdir.$file1);
}
$filename=substr($file1, 0, '-' . (strlen($file_array['extension']) + 1));
rename_file($file_path,fix_filename($filename));
$file=$file1;
$file_array['extension']=fix_filename($file_array['extension']);
$file_path=$file_path1;
}
$is_img=false;
$is_video=false;
$is_audio=false;
$show_original=false;
$show_original_mini=false;
$mini_src="";
$src_thumb="";
if(in_array($file_array['extension'], $ext_img)){
$src = $base_url . $cur_dir . $file;
$mini_src = $src_thumb = $thumbs_path.$subdir. $file;
//add in thumbs folder if not exist
if(!file_exists($src_thumb)){
try {
create_img_gd($file_path, $src_thumb, 122, 91);
new_thumbnails_creation($current_path.$subfolder.$subdir,$file_path,$file,$current_path,$relative_image_creation,$relative_path_from_current_pos,$relative_image_creation_name_to_prepend,$relative_image_creation_name_to_append,$relative_image_creation_width,$relative_image_creation_height,$fixed_image_creation,$fixed_path_from_filemanager,$fixed_image_creation_name_to_prepend,$fixed_image_creation_to_append,$fixed_image_creation_width,$fixed_image_creation_height);
} catch (Exception $e) {
$src_thumb=$mini_src="";
}
}
$is_img=true;
//check if is smaller tha thumb
list($img_width, $img_height, $img_type, $attr)=getimagesize($file_path);
if($img_width<122 && $img_height<91){
$src_thumb=$current_path.$subfolder.$subdir.$file;
$show_original=true;
}
if($img_width<45 && $img_height<38){
$mini_src=$current_path.$subfolder.$subdir.$file;
$show_original_mini=true;
}
}
$is_icon_thumb=false;
$is_icon_thumb_mini=false;
if($src_thumb==""){
if(file_exists('img/ico/'.($file_array['extension']).".jpg")){
$src_thumb ='img/ico/'.($file_array['extension']).".jpg";
}else{
$src_thumb = "img/ico/default.jpg";
}
$is_icon_thumb=true;
}
if($mini_src==""){
$is_icon_thumb_mini=false;
}
$class_ext=0;
if (in_array($file_array['extension'], $ext_video)) {
$class_ext = 4;
$is_video=true;
}elseif (in_array($file_array['extension'], $ext_img)) {
$class_ext = 2;
}elseif (in_array($file_array['extension'], $ext_music)) {
$class_ext = 5;
$is_audio=true;
}elseif (in_array($file_array['extension'], $ext_misc)) {
$class_ext = 3;
}else{
$class_ext = 1;
}
if((!($_GET['type']==1 && !$is_img) && !($_GET['type']==3 && !$is_video)) && $class_ext>0){
?>
<li class="ff-item-type-<?php echo $class_ext; ?> file" data-name="<?php echo $file; ?>">
<figure data-name="<?php echo $file ?>" data-type="<?php if($is_img){ echo "img"; }else{ echo "file"; } ?>">
<a href="javascript:void('')" title="<?php echo lang_Select?>" class="link" data-file="<?php echo $file; ?>" data-field_id="<?php echo $_GET['field_id']; ?>" data-function="<?php echo $apply; ?>">
<div class="img-precontainer">
<?php if($is_icon_thumb){ ?><div class="filetype"><?php echo $file_array['extension'] ?></div> <?php } ?>
<div class="img-container">
<span></span>
<img alt="<?php echo $filename." thumbnails";?>" class="<?php echo $show_original ? "original" : "" ?> <?php echo $is_icon_thumb ? "icon" : "" ?>" src="<?php echo $src_thumb; ?>">
</div>
</div>
<div class="img-precontainer-mini <?php if($is_img) echo 'original-thumb' ?>">
<div class="filetype <?php echo $file_array['extension'] ?> <?php if(!$is_icon_thumb){ echo "hide"; }?>"><?php echo $file_array['extension'] ?></div>
<div class="img-container-mini">
<span></span>
<?php if($mini_src!=""){ ?>
<img alt="<?php echo $filename." thumbnails";?>" class="<?php echo $show_original_mini ? "original" : "" ?> <?php echo $is_icon_thumb_mini ? "icon" : "" ?>" src="<?php echo $mini_src; ?>">
<?php } ?>
</div>
</div>
<div class="cover"></div>
</a>
<div class="box">
<h4 class="<?php if($ellipsis_title_after_first_row){ echo "ellipsis"; } ?>"><a href="javascript:void('')" title="<?php echo lang_Select?>" class="link" data-file="<?php echo $file; ?>" data-field_id="<?php echo $_GET['field_id']; ?>" data-function="<?php echo $apply; ?>">
<?php echo $filename; ?></a> </h4>
</div>
<input type="hidden" class="date" value="<?php echo $file_array['date']; ?>"/>
<input type="hidden" class="size" value="<?php echo $file_array['size'] ?>"/>
<input type="hidden" class="extension" value="<?php echo $file_array['extension']; ?>"/>
<input type="hidden" class="name" value=""/>
<div class="file-date"><?php echo date(lang_Date_type,$file_array['date'])?></div>
<div class="file-size"><?php echo makeSize($file_array['size'])?></div>
<div class='img-dimension'><?php if($is_img){ echo $img_width."x".$img_height; } ?></div>
<div class='file-extension'><?php echo $file_array['extension']; ?></div>
<figcaption>
<form action="force_download.php" method="post" class="download-form" id="form<?php echo $nu; ?>">
<input type="hidden" name="path" value="<?php echo $subfolder.$subdir?>"/>
<input type="hidden" class="name_download" name="name" value="<?php echo $file?>"/>
<a title="<?php echo lang_Download?>" class="tip-right" href="javascript:void('')" onclick="$('#form<?php echo $nu; ?>').submit();"><i class="icon-download"></i></a>
<?php if($is_img){ ?>
<a class="tip-right preview" title="<?php echo lang_Preview?>" data-url="<?php echo $src;?>" data-toggle="lightbox" href="#previewLightbox"><i class=" icon-eye-open"></i></a>
<?php }elseif(($is_video || $is_audio) && in_array($file_array['extension'],$jplayer_ext)){ ?>
<a class="tip-right modalAV <?php if($is_audio){ echo "audio"; }else{ echo "video"; } ?>" title="<?php echo lang_Preview?>" data-url="ajax_calls.php?action=media_preview&title=<?php echo $filename; ?>&file=<?php echo $current_path.$subfolder.$subdir.$file;; ?>" href="javascript:void('');" ><i class=" icon-eye-open"></i></a>
<?php }else{ ?>
<a class="preview disabled"><i class="icon-eye-open icon-white"></i></a>
<?php } ?>
<a href="javascript:void('')" class="tip-left edit-button <?php if($rename_files) echo "rename-file"; ?>" title="<?php echo lang_Rename?>" data-path="<?php echo $subfolder.$subdir .$file; ?>" data-thumb="<?php echo $thumbs_path.$subdir .$file; ?>">
<i class="icon-pencil <?php if(!$rename_files) echo 'icon-white'; ?>"></i></a>
<a href="javascript:void('')" class="tip-left erase-button <?php if($delete_files) echo "delete-file"; ?>" title="<?php echo lang_Erase?>" data-confirm="<?php echo lang_Confirm_del; ?>" data-path="<?php echo $subfolder.$subdir.$file; ?>" data-thumb="<?php echo $thumbs_path.$subdir .$file; ?>">
<i class="icon-trash <?php if(!$delete_files) echo 'icon-white'; ?>"></i>
</a>
</form>
</figcaption>
</figure>
</li>
<?php
}
}
?></div><?php
closedir($dir);
?>
</ul>
<?php } ?>
</div>
</div>
</div>
<!----- lightbox div start ------->
<div id="previewLightbox" class="lightbox hide fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class='lightbox-content'>
<img id="full-img" src="">
</div>
</div>
<!----- lightbox div end ------->
<!----- loading div start ------->
<div id="loading_container" style="display:none;">
<div id="loading" style="background-color:#000; position:fixed; width:100%; height:100%; top:0px; left:0px;z-index:100000"></div>
<img id="loading_animation" src="img/storing_animation.gif" alt="loading" style="z-index:10001; margin-left:-32px; margin-top:-32px; position:fixed; left:50%; top:50%"/>
</div>
<!----- loading div end ------->
<!----- player div start ------->
<div class="modal hide fade" id="previewAV">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3><?php echo lang_Preview; ?></h3>
</div>
<div class="modal-body">
<div class="row-fluid body-preview">
</div>
</div>
</div>
<!----- player div end ------->
<img id='aviary_img' src='' class="hide"/>
</body>
</html>
<?php } ?>

View File

@@ -1,155 +0,0 @@
<?php
include('config/config.php');
if($_SESSION["verify"] != "RESPONSIVEfilemanager") die('forbiden');
include('include/utils.php');
$thumb_pos=strpos($_POST['path_thumb'],$thumbs_base_path);
if($thumb_pos !=0
|| strpos($_POST['path_thumb'],'../',strlen($thumbs_base_path)+$thumb_pos)!==FALSE
|| strpos($_POST['path'],'/')===0
|| strpos($_POST['path'],'../')!==FALSE
|| strpos($_POST['path'],'./')===0)
die('wrong path');
$language_file = 'lang/en_EN.php';
if (isset($_GET['lang']) && $_GET['lang'] != 'undefined' && $_GET['lang']!='') {
$path_parts = pathinfo($_GET['lang']);
if(is_readable('lang/' .$path_parts['basename']. '.php')){
$language_file = 'lang/' .$path_parts['basename']. '.php';
}
}
require_once $language_file;
$base=$current_path;
$path=$current_path.$_POST['path'];
$cycle=true;
$max_cycles=50;
$i=0;
while($cycle && $i<$max_cycles){
$i++;
if($path==$base) $cycle=false;
if(file_exists($path."config.php")){
require_once($path."config.php");
$cycle=false;
}
$path=fix_dirname($path)."/";
$cycle=false;
}
$path=$current_path.$_POST['path'];
$path_thumb=$_POST['path_thumb'];
if(isset($_POST['name'])){
$name=$_POST['name'];
if(strpos($name,'../')!==FALSE) die('wrong name');
}
$info=pathinfo($path);
if(isset($info['extension']) && !in_array($info['extension'], $ext)){
die('wrong extension');
}
if(isset($_GET['action'])){
switch($_GET['action']){
case 'delete_file':
if($delete_files){
unlink($path);
if(file_exists($path_thumb))
unlink($path_thumb);
$info=pathinfo($path);
if($relative_image_creation){
foreach($relative_path_from_current_pos as $k=>$path){
if($path!="" && $path[strlen($path)-1]!="/") $path.="/";
if(file_exists($info['dirname']."/".$path.$relative_image_creation_name_to_prepend[$k].$info['filename'].$relative_image_creation_name_to_append[$k].".".$info['extension'])){
unlink($info['dirname']."/".$path.$relative_image_creation_name_to_prepend[$k].$info['filename'].$relative_image_creation_name_to_append[$k].".".$info['extension']);
}
}
}
if($fixed_image_creation){
foreach($fixed_path_from_filemanager as $k=>$path){
if($path!="" && $path[strlen($path)-1]!="/") $path.="/";
$base_dir=$path.substr_replace($info['dirname']."/", '', 0, strlen($current_path));
if(file_exists($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].".".$info['extension'])){
unlink($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].".".$info['extension']);
}
}
}
}
break;
case 'delete_folder':
if($delete_folders){
if(is_dir($path_thumb))
deleteDir($path_thumb);
if(is_dir($path)){
deleteDir($path);
if($fixed_image_creation){
foreach($fixed_path_from_filemanager as $k=>$paths){
if($paths!="" && $paths[strlen($paths)-1]!="/") $paths.="/";
$base_dir=$paths.substr_replace($path, '', 0, strlen($current_path));
if(is_dir($base_dir))
deleteDir($base_dir);
}
}
}
}
break;
case 'create_folder':
if($create_folders){
create_folder(fix_path($path),fix_path($path_thumb));
}
break;
case 'rename_folder':
if($rename_folders){
$name=fix_filename($name);
if(!empty($name)){
if(!rename_folder($path,$name))
die(lang_Rename_existing_folder);
rename_folder($path_thumb,$name);
if($fixed_image_creation){
foreach($fixed_path_from_filemanager as $k=>$paths){
if($paths!="" && $paths[strlen($paths)-1]!="/") $paths.="/";
$base_dir=$paths.substr_replace($path, '', 0, strlen($current_path));
rename_folder($base_dir,$name);
}
}
}else{
die(lang_Empty_name);
}
}
break;
case 'rename_file':
if($rename_files){
$name=fix_filename($name);
if(!empty($name)){
if(!rename_file($path,$name))
die(lang_Rename_existing_file);
rename_file($path_thumb,$name);
if($fixed_image_creation){
$info=pathinfo($path);
foreach($fixed_path_from_filemanager as $k=>$paths){
if($paths!="" && $paths[strlen($paths)-1]!="/") $paths.="/";
$base_dir=$paths.substr_replace($info['dirname']."/", '', 0, strlen($current_path));
if(file_exists($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].".".$info['extension'])){
rename_file($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].".".$info['extension'],$fixed_image_creation_name_to_prepend[$k].$name.$fixed_image_creation_to_append[$k]);
}
}
}
}else{
die(lang_Empty_name);
}
}
break;
default:
die('wrong action');
break;
}
}
?>

View File

@@ -1,29 +0,0 @@
<?php
include('config/config.php');
if($_SESSION["verify"] != "RESPONSIVEfilemanager") die('forbiden');
if(strpos($_POST['path'],'/')===0
|| strpos($_POST['path'],'../')!==FALSE
|| strpos($_POST['path'],'./')===0)
die('wrong path');
if(strpos($_POST['name'],'/')!==FALSE)
die('wrong path');
$path=$current_path.$_POST['path'];
$name=$_POST['name'];
$info=pathinfo($name);
if(!in_array($info['extension'], $ext)){
die('wrong extension');
}
header('Pragma: private');
header('Cache-control: private, must-revalidate');
header("Content-Type: application/octet-stream");
header("Content-Length: " .(string)(filesize($path.$name)) );
header('Content-Disposition: attachment; filename="'.($name).'"');
readfile($path.$name);
exit;
?>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 648 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

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