add files

This commit is contained in:
arlemp@selectel.ru
2023-08-05 11:59:48 +03:00
commit c5003b00cf
2193 changed files with 292962 additions and 0 deletions

View File

@@ -0,0 +1,172 @@
/*
Menu related selectors
*/
.jsdomenudiv {
background-color: #CCCCCC;
border: 2px outset;
border-bottom-color: #000000;
border-left-color: #FFFFFF;
border-right-color: #000000;
border-top-color: #FFFFFF;
cursor: default;
position: absolute; /* Do not alter this line! */
visibility: hidden;
z-index: 10;
}
.jsdomenuitem {
background-color: transparent;
border: none;
color: #000000;
font-family: Tahoma, Helvetica, sans, Arial, sans-serif;
font-size: 12px;
padding-bottom: 2px;
padding-left: 22px;
padding-right: 15px;
padding-top: 2px;
position: relative; /* Do not alter this line! */
}
.jsdomenuitemover {
background-color: #000099;
border: none;
color: #FFFFFF;
font-family: Tahoma, Helvetica, sans, Arial, sans-serif;
font-size: 12px;
padding-bottom: 2px;
padding-left: 22px;
padding-right: 15px;
padding-top: 2px;
position: relative; /* Do not alter this line! */
}
.jsdomenuarrow {
background-image: url(classic_arrow.png);
background-repeat: no-repeat; /* Do not alter this line! */
height: 7px;
position: absolute; /* Do not alter this line! */
right: 8px;
width: 4px;
}
.jsdomenuarrowover {
background-image: url(classic_arrow_o.png);
background-repeat: no-repeat; /* Do not alter this line! */
height: 7px;
position: absolute; /* Do not alter this line! */
right: 8px;
width: 4px;
}
.jsdomenusep {
}
.jsdomenusep hr {
text-align: center;
width: 95%;
}
/*
Menu bar related selectors
*/
.jsdomenubardiv {
background-color: #CCCCCC;
background-image: url(classic_divider.png);
background-position: left;
background-repeat: no-repeat;
border: 2px outset;
border-bottom-color: #000000;
border-left-color: #FFFFFF;
border-right-color: #000000;
border-top-color: #FFFFFF;
cursor: default;
padding-bottom: 3px;
padding-left: 1px;
padding-right: 1px;
padding-top: 3px;
position: absolute; /* Do not alter this line! */
visibility: visible;
}
.jsdomenubardragdiv {
cursor: move;
font-family: Tahoma, Helvetica, sans, Arial, sans-serif;
font-size: 12px;
padding-bottom: 2px;
padding-left: 5px;
padding-right: 5px;
padding-top: 2px;
position: relative; /* Do not alter this line! */
visibility: hidden;
width: 9px;
}
.jsdomenubaritem {
background-color: #CCCCCC;
border: none;
color: #000000;
font-family: Tahoma, Helvetica, sans, Arial, sans-serif;
font-size: 12px;
padding-bottom: 2px;
padding-left: 22px;
padding-right: 10px;
padding-top: 2px;
position: relative; /* Do not alter this line! */
}
.jsdomenubaritemover {
background-color: #CCCCCC;
border: 1px outset;
color: #000000;
font-family: Tahoma, Helvetica, sans, Arial, sans-serif;
font-size: 12px;
padding-bottom: 2px;
padding-left: 21px;
padding-right: 9px;
padding-top: 2px;
position: relative; /* Do not alter this line! */
}
.jsdomenubaritemclick {
background-color: #000099;
border: 1px solid #000099;
color: #FFFFFF;
font-family: Tahoma, Helvetica, sans, Arial, sans-serif;
font-size: 12px;
padding-bottom: 2px;
padding-left: 21px;
padding-right: 9px;
padding-top: 2px;
position: relative; /* Do not alter this line! */
}
/*
Example of selectors for icons. Change the height and width to match the actual
height and width of the icon image.
*/
.icon1 {
background-image: url(icon1.png);
background-repeat: no-repeat; /* Do not alter this line! */
height: 16px;
left: 2px;
position: absolute; /* Do not alter this line! */
width: 16px;
}
.icon2 {
background-image: url(icon2.png);
background-repeat: no-repeat; /* Do not alter this line! */
height: 16px;
left: 2px;
position: absolute; /* Do not alter this line! */
width: 16px;
}
.icon3 {
background-image: url(icon3.png);
background-repeat: no-repeat; /* Do not alter this line! */
height: 16px;
left: 2px;
position: absolute; /* Do not alter this line! */
width: 16px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1015 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,173 @@
/*
Menu related selectors
*/
.jsdomenudiv {
background-color: #FFFFFF;
background-image: url(office_xp_menu_left.png);
background-repeat: repeat-y;
border: 1px solid #8A867A;
cursor: default;
padding-bottom: 1px;
padding-top: 1px;
position: absolute; /* Do not alter this line! */
visibility: hidden;
}
.jsdomenuitem {
background: transparent;
border: none;
color: #000000;
font-family: Tahoma, Helvetica, sans, Arial, sans-serif;
font-size: 12px;
padding-bottom: 3px;
padding-left: 30px;
padding-right: 15px;
padding-top: 3px;
position: relative; /* Do not alter this line! */
}
.jsdomenuitemover {
background-color: #C1D2EE;
border: 1px solid #316AC5;
color: #000000;
font-family: Tahoma, Helvetica, sans, Arial, sans-serif;
font-size: 12px;
margin-left: 1px;
margin-right: 1px;
padding-bottom: 2px;
padding-left: 28px;
padding-right: 15px;
padding-top: 2px;
position: relative; /* Do not alter this line! */
}
.jsdomenuarrow {
background-image: url(office_xp_arrow.png);
background-repeat: no-repeat; /* Do not alter this line! */
height: 7px;
position: absolute; /* Do not alter this line! */
right: 8px;
width: 4px;
}
.jsdomenuarrowover {
background-image: url(office_xp_arrow_o.png);
background-repeat: no-repeat; /* Do not alter this line! */
height: 7px;
position: absolute; /* Do not alter this line! */
right: 8px;
width: 4px;
}
.jsdomenusep {
padding-left: 28px;
}
.jsdomenusep hr {
}
/*
Menu bar related selectors
*/
.jsdomenubardiv {
background-color: #ECE9D8;
background-image: url(office_xp_divider.png);
background-position: left;
background-repeat: no-repeat;
border: 1px outset;
cursor: default;
padding-bottom: 3px;
padding-left: 1px;
padding-right: 1px;
padding-top: 3px;
position: absolute; /* Do not alter this line! */
visibility: visible;
}
.jsdomenubardragdiv {
cursor: move;
display: inline;
font-family: Tahoma, Helvetica, sans, Arial, sans-serif;
font-size: 12px;
padding-bottom: 2px;
padding-left: 5px;
padding-right: 5px;
padding-top: 2px;
position: relative; /* Do not alter this line! */
visibility: hidden;
width: 9px;
}
.jsdomenubaritem {
background-color: #EFEDDE;
border: none;
color: #000000;
display: inline;
font-family: Tahoma, Helvetica, sans, Arial, sans-serif;
font-size: 12px;
padding-bottom: 2px;
padding-left: 24px;
padding-right: 10px;
padding-top: 2px;
position: relative; /* Do not alter this line! */
}
.jsdomenubaritemover {
background-color: #C1D2EE;
border: 1px solid #316AC5;
color: #000000;
display: inline;
font-family: Tahoma, Helvetica, sans, Arial, sans-serif;
font-size: 12px;
padding-bottom: 2px;
padding-left: 23px;
padding-right: 9px;
padding-top: 2px;
position: relative; /* Do not alter this line! */
}
.jsdomenubaritemclick {
background-color: #EFEDDE;
border: 1px solid #8A867A;
color: #000000;
display: inline;
font-family: Tahoma, Helvetica, sans, Arial, sans-serif;
font-size: 12px;
padding-bottom: 2px;
padding-left: 23px;
padding-right: 9px;
padding-top: 2px;
position: relative; /* Do not alter this line! */
}
/*
Example of selectors for icons. Change the height and width to match the actual
height and width of the icon image.
*/
.icon1 {
background-image: url(icon1.png);
background-repeat: no-repeat; /* Do not alter this line! */
height: 16px;
left: 4px;
position: absolute; /* Do not alter this line! */
width: 16px;
}
.icon2 {
background-image: url(icon2.png);
background-repeat: no-repeat; /* Do not alter this line! */
height: 16px;
left: 4px;
position: absolute; /* Do not alter this line! */
width: 16px;
}
.icon3 {
background-image: url(icon3.png);
background-repeat: no-repeat; /* Do not alter this line! */
height: 16px;
left: 4px;
position: absolute; /* Do not alter this line! */
width: 16px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

View File

@@ -0,0 +1,5 @@
<html>
<body>
<p><strong>Забрать фото<br /><br /></strong>На базе нашего редактора мы сделали прототип фотобазы. Элементы управление такие же как и при редактировании новостей. Итак, для того чтобы найти и воспользоваться нужной фотографией вам необходимо:<br /><br />1. &nbsp;Найти пункт в меню &ldquo;Фотобанк&rdquo;<br /><br />2. &nbsp;Выбираем подпункт - &ldquo;Фото&rdquo;<br /><br />3. &nbsp;Воспользуйтесь поиском, введите ключевое слово (например &ldquo;Путин&rdquo;). В списке должны появится необходимые иллюстрации если такое ключевое слово присутствует. Листайте фотографии, выбирая номера страниц внизу<br /><br />4. Также вы можете отфильтровать фотографии по тематике (фильтр &ldquo;Тематика&rdquo;)<br /><br />5. Для того чтобы использовать фотографию по назначению можно щелкнуть по ее превьюшке. Полноразмерное фото отобразится в отдельном окне браузере. Далее нужно, как обычно, сохранить фотографию на своем компьютере и залить ее в новость привычным способом.<strong><br /><br /><br /><br />Залить фото<br /><br /></strong>Возможно, в будущем кто-то из вас &nbsp;с разрешения руководства захочет пополнять нашу фотобазу своими снимками или фотографиями из открытых источников. Поэтому небольшая инструкция как это сделать:<br /><br />1. Воспользоваться кнопкой &ldquo;Добавить&rdquo;<br /><br />2. Выбираем файл фотографии с нашего компьютера (обязательно заливайте фото только в формате jpg/jpeg)<br /><br />3. Указываем подходящую тематику по смыслу<br /><br />4. &nbsp;Грамотно указывайте ключевые слова, именно по ним производится поиск <br /><br />5. Если вы хотите указать автора или публикуете фото из открытого источника заполняйте поле &ldquo;Копирайт&rdquo;<br /><br />6. Сохраняем заполненную форму</p>
</body>
</html>

View File

@@ -0,0 +1,16 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Blank Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="demo.css" />
</head>
<body>
<p>
This page is intentionally left blank for testing purposes.
</p>
<p>
<a href="javascript: history.back();">Go Back</a>
</p>
</body>
</html>

View File

@@ -0,0 +1,157 @@
<!--
Title: Tigra Calendar
URL: http://www.softcomplex.com/products/tigra_calendar/
Version: 3.2
Date: 05/18/2006
Feedback: feedback@softcomplex.com (specify product title in the subject)
Note: Permission given to use this script in ANY kind of applications if
header lines are left unchanged.
Note: Script consists of two files: calendar?.js and calendar.html
About us: Our company provides offshore IT consulting services.
Contact us at sales@softcomplex.com if you have any programming task you
want to be handled by professionals. Our typical hourly rate is $20.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Select Date, Please.</title>
<style>
td {font-family: Tahoma, Verdana, sans-serif; font-size: 12px;}
</style>
<script language="JavaScript">
// months as they appear in the calendar's title
var ARR_MONTHS = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"];
// week day titles as they appear on the calendar
var ARR_WEEKDAYS = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
// day week starts from (normally 0-Su or 1-Mo)
var NUM_WEEKSTART = 1;
// path to the directory where calendar images are stored. trailing slash req.
var STR_ICONPATH = 'img/';
var re_url = new RegExp('datetime=(\\-?\\d+)');
var dt_current = (re_url.exec(String(window.location))
? new Date(new Number(RegExp.$1)) : new Date());
var re_id = new RegExp('id=(\\d+)');
var num_id = (re_id.exec(String(window.location))
? new Number(RegExp.$1) : 0);
var obj_caller = (window.opener ? window.opener.calendars[num_id] : null);
if (obj_caller && obj_caller.year_scroll) {
// get same date in the previous year
var dt_prev_year = new Date(dt_current);
dt_prev_year.setFullYear(dt_prev_year.getFullYear() - 1);
if (dt_prev_year.getDate() != dt_current.getDate())
dt_prev_year.setDate(0);
// get same date in the next year
var dt_next_year = new Date(dt_current);
dt_next_year.setFullYear(dt_next_year.getFullYear() + 1);
if (dt_next_year.getDate() != dt_current.getDate())
dt_next_year.setDate(0);
}
// get same date in the previous month
var dt_prev_month = new Date(dt_current);
dt_prev_month.setMonth(dt_prev_month.getMonth() - 1);
if (dt_prev_month.getDate() != dt_current.getDate())
dt_prev_month.setDate(0);
// get same date in the next month
var dt_next_month = new Date(dt_current);
dt_next_month.setMonth(dt_next_month.getMonth() + 1);
if (dt_next_month.getDate() != dt_current.getDate())
dt_next_month.setDate(0);
// get first day to display in the grid for current month
var dt_firstday = new Date(dt_current);
dt_firstday.setDate(1);
dt_firstday.setDate(1 - (7 + dt_firstday.getDay() - NUM_WEEKSTART) % 7);
// function passing selected date to calling window
function set_datetime(n_datetime, b_close) {
if (!obj_caller) return;
var dt_datetime = obj_caller.prs_time(
(document.cal ? document.cal.time.value : ''),
new Date(n_datetime)
);
if (!dt_datetime) return;
if (b_close) {
obj_caller.target.value = (document.cal
? obj_caller.gen_tsmp(dt_datetime)
: obj_caller.gen_date(dt_datetime)
);window.close();
}
else obj_caller.popup(dt_datetime.valueOf());
}
</script>
</head>
<body bgcolor="#FFFFFF" marginheight="5" marginwidth="5" topmargin="5" leftmargin="5" rightmargin="5">
<table class="clsOTable" cellspacing="0" border="0" width="100%">
<tr><td bgcolor="#4682B4">
<table cellspacing="1" cellpadding="3" border="0" width="100%">
<tr><td colspan="7"><table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<script language="JavaScript">
document.write(
'<td>'+(obj_caller&&obj_caller.year_scroll?'<a href="javascript:set_datetime('+dt_prev_year.valueOf()+')"><img src="'+STR_ICONPATH+'prev_year.gif" width="16" height="16" border="0" alt="previous year"></a>&nbsp;':'')+'<a href="javascript:set_datetime('+dt_prev_month.valueOf()+')"><img src="'+STR_ICONPATH+'prev.gif" width="16" height="16" border="0" alt="previous month"></a></td>'+
'<td align="center" width="100%"><font color="#ffffff">'+ARR_MONTHS[dt_current.getMonth()]+' '+dt_current.getFullYear() + '</font></td>'+
'<td><a href="javascript:set_datetime('+dt_next_month.valueOf()+')"><img src="'+STR_ICONPATH+'next.gif" width="16" height="16" border="0" alt="next month"></a>'+(obj_caller && obj_caller.year_scroll?'&nbsp;<a href="javascript:set_datetime('+dt_next_year.valueOf()+')"><img src="'+STR_ICONPATH+'next_year.gif" width="16" height="16" border="0" alt="next year"></a>':'')+'</td>'
);
</script>
</tr>
</table></td></tr>
<tr>
<script language="JavaScript">
// print weekdays titles
for (var n=0; n<7; n++)
document.write('<td bgcolor="#87cefa" align="center"><font color="#ffffff">'+ARR_WEEKDAYS[(NUM_WEEKSTART+n)%7]+'</font></td>');
document.write('</tr>');
// print calendar table
var dt_current_day = new Date(dt_firstday);
while (dt_current_day.getMonth() == dt_current.getMonth() ||
dt_current_day.getMonth() == dt_firstday.getMonth()) {
// print row heder
document.write('<tr>');
for (var n_current_wday=0; n_current_wday<7; n_current_wday++) {
if (dt_current_day.getDate() == dt_current.getDate() &&
dt_current_day.getMonth() == dt_current.getMonth())
// print current date
document.write('<td bgcolor="#ffb6c1" align="center" width="14%">');
else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)
// weekend days
document.write('<td bgcolor="#dbeaf5" align="center" width="14%">');
else
// print working days of current month
document.write('<td bgcolor="#ffffff" align="center" width="14%">');
document.write('<a href="javascript:set_datetime('+dt_current_day.valueOf() +', true);">');
if (dt_current_day.getMonth() == this.dt_current.getMonth())
// print days of current month
document.write('<font color="#000000">');
else
// print days of other months
document.write('<font color="#606060">');
document.write(dt_current_day.getDate()+'</font></a></td>');
dt_current_day.setDate(dt_current_day.getDate()+1);
}
// print row footer
document.write('</tr>');
}
if (obj_caller && obj_caller.time_comp)
document.write('<form onsubmit="javascript:set_datetime('+dt_current.valueOf()+', true)" name="cal"><tr><td colspan="7" bgcolor="#87CEFA"><font color="White" face="tahoma, verdana" size="2">Time: <input type="text" name="time" value="'+obj_caller.gen_time(this.dt_current)+'" size="8" maxlength="8"></font></td></tr></form>');
</script>
</table></tr></td>
</table>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 999 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

View File

@@ -0,0 +1,298 @@
<?php
/**
* Ajex.FileManager
* http://demphest.ru/ajex-filemanager
*
* @version
* 1.0 (1 Oct 2009)
*
* @copyright
* Copyright (C) 2009 Demphest Gorphek
*
* @license
* Dual licensed under the MIT and GPL licenses.
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Ajex.FileManager is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This file is part of Ajex.FileManager.
*/
header('Expires: Sun, 13 Sep 2009 00:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache') ;
//header('Content-Type: text/json; charset=utf-8');
define('DEV', false);
if (DEV) {
error_reporting(E_ALL);
ini_set('display_errors', 'on');
ini_set('display_startup_errors', 'on');
} else {
error_reporting(0);
ini_set('display_errors', 'off');
ini_set('display_startup_errors', 'off');
}
//if (!isset($_SESSION['admin'])) {exit;} // Do not forget to add your user authorization
define('DIR_SEP', '/');
mb_internal_encoding('utf-8');
date_default_timezone_set('Europe/Moscow');
$cfg['url'] = 'upd';
$cfg['root'] = $_SERVER['DOCUMENT_ROOT'] . DIR_SEP . $cfg['url']; // http://www.yousite.com/upload/ absolute path
$cfg['quickdir'] = ''; //$cfg['quickdir'] = 'quick-folder'; // for CKEditor
$cfg['lang'] = 'en';
$cfg['thumb']['width'] = 150;
$cfg['thumb']['height'] = 120;
$cfg['thumb']['quality'] = 80;
$cfg['thumb']['cut'] = true;
$cfg['thumb']['auto'] = true;
$cfg['thumb']['dir'] = '_thumb';
$cfg['thumb']['date'] = "j.m.Y, H:i";
$cfg['hide']['file'] = array('.htaccess');
$cfg['hide']['folder'] = array('.', '..', $cfg['thumb']['dir'], '.svn', '.cvs');
$cfg['chmod']['file'] = 0777;
$cfg['chmod']['folder'] = 0777;
$cfg['deny'] = array(
'file' => array('php','php3','php4','php5','phtml','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg','cgi'),
'flash' => array(),
'image' => array(),
'media' => array(),
'folder' => array(
$cfg['url'] . DIR_SEP . 'file',
$cfg['url'] . DIR_SEP . 'flash',
$cfg['url'] . DIR_SEP . 'image',
$cfg['url'] . DIR_SEP . 'media')
);
$cfg['allow'] = array(
'file' => array('7z', 'aiff', 'asf', 'avi', 'bmp', 'csv', 'doc', 'fla', 'flv', 'gif', 'gz', 'gzip', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'ods', 'odt', 'pdf', 'png', 'ppt', 'pxd', 'qt', 'ram', 'rar', 'rm', 'rmi', 'rmvb', 'rtf', 'sdc', 'sitd', 'swf', 'sxc', 'sxw', 'tar', 'tgz', 'tif', 'tiff', 'txt', 'vsd', 'wav', 'wma', 'wmv', 'xls', 'xml', 'zip'),
'flash' => array('swf', 'flv'),
'image' => array('jpg', 'jpeg', 'gif', 'png', 'bmp'),
'media' => array('aiff', 'asf', 'avi', 'bmp', 'fla', 'flv', 'gif', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'png', 'qt', 'ram', 'rm', 'rmi', 'rmvb', 'swf', 'tif', 'tiff', 'wav', 'wma', 'wmv')
);
$cfg['nameRegAllow'] = '/^[a-z0-9-_#~\$%()\[\]&=]+/i';
// ------------------
$cfg['url'] = trim($cfg['url'], '/\\');
$cfg['root'] = rtrim($cfg['root'], '/\\') . DIR_SEP;
$dir = isset($_POST['dir'])? urldecode($_POST['dir']) : '';
$dir = trim($dir, '/\\') . DIR_SEP;
$rpath = str_replace('\\', DIR_SEP, realpath($cfg['root'] . $dir) . DIR_SEP);
if (false === strpos($rpath, str_replace('\\', DIR_SEP, $dir))) {$dir = '';}
$mode = isset($_GET['mode'])? $_GET['mode'] : 'getDirs';
$cfg['type'] = isset($_POST['type'])? $_POST['type'] : (isset($_GET['type']) && 'QuickUpload' == $mode? $_GET['type'] : 'file');
$cfg['sort'] = isset($_POST['sort'])? $_POST['sort'] : 'name';
$cfg['type'] = strtolower($cfg['type']);
$reply = array(
'dirs' => array(),
'files' => array()
);
// ------------------
require_once 'lib.php';
switch($mode) {
case 'cfg':
$rootDir = listDirs('');
$children = array();
for ($i=-1, $iCount=count($rootDir); ++$i<$iCount;) {
$children[] = (object) $rootDir[$i];
}
$reply['config'] = array(
'lang' => $cfg['lang'],
'type' => $cfg['type'],
'url' => '/' . $cfg['url'] . '/',
'thumb' => $cfg['thumb']['dir'],
'thumbWidth' => $cfg['thumb']['width'],
'thumbHeight' => $cfg['thumb']['height'],
'maxUpload' => ini_get('upload_max_filesize'),
'allow' => implode('|', $cfg['allow'][$cfg['type']]),
'children' => $children
);
break;
case 'renameFile':
$file = trim(urldecode($_POST['oldname']), '/\\.');
$name = urldecode($_POST['newname']);
if ($file != $name && preg_match($cfg['nameRegAllow'], $name) && file_exists($cfg['root']) . $dir . $file) {
if (file_exists($_thumb = $cfg['root'] . $cfg['thumb']['dir'] . DIR_SEP . $dir . DIR_SEP . $file)) {
unlink($_thumb);
}
if (file_exists($cfg['root'] . $dir . $name)) {
$name = getFreeFileName($name, $cfg['root'] . $dir);
}
if (false !== strpos($name, '.')) {
$ext = substr($name, strrpos($name, '.') + 1);
$ext = strtolower($ext);
if (in_array($ext, $cfg['allow']['image'])) {
rename($cfg['root'] . $dir . $file, $cfg['root'] . $dir . $name);
}
}
}
$reply['files'] = listFiles($dir);
break;
case 'createFolder':
$path = trim(urldecode($_POST['oldname']), '/\\.');
$name = urldecode($_POST['newname']);
$reply['isSuccess'] = false;
if (preg_match($cfg['nameRegAllow'], $name)) {
if (!file_exists($cfg['root'] . $path . DIR_SEP . $name)) {
$reply['isSuccess'] = mkdir($cfg['root'] . $path . DIR_SEP . $name, $cfg['chmod']['folder']);
} else {
$reply['isSuccess'] = 'exist';
}
}
break;
case 'renameFolder':
$folder = urldecode($_POST['oldname']);
$name = urldecode($_POST['newname']);
$folder = trim($folder, '/\\.');
$reply['isSuccess'] = false;
if (!empty($folder) && $cfg['url'] != $folder && $folder != $name && !in_array($cfg['url'] . DIR_SEP . $folder, $cfg['deny']['folder']) && preg_match($cfg['nameRegAllow'], $name) && is_dir($cfg['root']) . $folder) {
$reply['isSuccess'] = rename($cfg['root'] . $folder, $cfg['root'] . substr($folder, 0, strrpos($folder, '/')) . DIR_SEP . $name);
}
break;
case 'deleteFolder':
$reply['isDelete'] = false;
$folder = trim($dir, '/\\');
if (!empty($folder) && $cfg['url'] != $folder && !in_array($cfg['url'] . DIR_SEP . $folder, $cfg['deny']['folder'])) {
deleteDir($cfg['root'] . $cfg['thumb']['dir'] . DIR_SEP. $folder);
$reply['isDelete'] = deleteDir($cfg['root'] . $folder);
}
break;
case 'uploads':
$reply['downloaded'] = array();
$width = isset($_POST['resizeWidth'])? intval($_POST['resizeWidth']) : 0;
$height = isset($_POST['resizeHeight'])? intval($_POST['resizeHeight']): 0;
$key = 'uploadFiles';
if (!empty($dir) && '/' != $dir && !empty($_FILES[$key])) {
for ($i=-1, $iCount=count($_FILES[$key]['name']); ++$i<$iCount;) {
$ext = substr($_FILES[$key]['name'][$i], strrpos($_FILES[$key]['name'][$i], '.') + 1);
$ext = strtolower($ext);
if (!in_array($ext, $cfg['deny'][$cfg['type']]) && in_array($ext, $cfg['allow'][$cfg['type']])) {
$freeName = getFreeFileName($_FILES[$key]['name'][$i], $cfg['root'] . $dir);
if (in_array($ext, $cfg['allow']['image'])) {
if ($width || $height) {
create_thumbnail($_FILES[$key]['tmp_name'][$i], $cfg['root'] . $dir . $freeName, $width, $height, 100, false, true);
chmod($cfg['root'] . $dir . $freeName, $cfg['chmod']['file']);
} else {
if (move_uploaded_file($_FILES[$key]['tmp_name'][$i], $cfg['root'] . $dir . $freeName)) {
chmod($cfg['root'] . $dir . $freeName, $cfg['chmod']['file']);
if ($cfg['thumb']['auto']) {
create_thumbnail($cfg['root'] . $dir . $freeName, $cfg['root'] . $cfg['thumb']['dir'] . DIR_SEP . $dir . DIR_SEP. $freeName);
chmod($cfg['root'] . $cfg['thumb']['dir'] . DIR_SEP . $dir . DIR_SEP. $freeName, $cfg['chmod']['file']);
}
$reply['downloaded'][] = array(true, $freeName);
} else {
$reply['downloaded'][] = array(false, $freeName);
}
}
} else {
if (move_uploaded_file($_FILES[$key]['tmp_name'][$i], $cfg['root'] . $dir . $freeName)) {
chmod($cfg['root'] . $dir . $freeName, $cfg['chmod']['file']);
$reply['downloaded'][] = array(true, $freeName);
} else {
$reply['downloaded'][] = array(false, $freeName);
}
}
} else {
$reply['downloaded'][] = array(false, $_FILES[$key]['name'][$i]);
}
}
}
break;
case 'QuickUpload':
switch ($cfg['type']) {
case 'file':
case 'flash':
case 'image':
case 'media':
$dir = $cfg['type'];
break;
default:
exit; // exit for not supported type
break;
}
if (!is_dir(is_dir($toDir = $cfg['root'] . $dir . DIR_SEP . $cfg['quickdir']))) {
mkdir($toDir, $cfg['chmod']['folder']);
}
if (0 == ($_FILES['upload']['error'])) {
$fileName = getFreeFileName($_FILES['upload']['name'], $toDir);
$ext = substr($fileName, strrpos($fileName, '.') + 1);
$ext = strtolower($ext);
if (!in_array($ext, $cfg['deny'][$cfg['type']]) && in_array($ext, $cfg['allow'][$cfg['type']]) && move_uploaded_file($_FILES['upload']['tmp_name'], $toDir . DIR_SEP . $fileName)) {
$result = "<script type=\"text/javascript\">window.parent.CKEDITOR.tools.callFunction(1, '/". $cfg['url'] . '/' . $dir . '/' . (empty($cfg['quickdir'])? '' : trim($cfg['quickdir'], '/\\') . '/') . $fileName."', '');</script>";
} else {
$result = 'Error loading or banned file type';
}
}
exit($result);
break;
case 'deleteFiles':
$files = urldecode($_POST['files']);
$files = explode('::', $files);
for ($i=-1, $iCount=count($files); ++$i<$iCount;) {
unlink($cfg['root'] . $dir . $files[$i]);
file_exists($_thumb = $cfg['root'] . $cfg['thumb']['dir'] . DIR_SEP. $dir . DIR_SEP . $files[$i])? unlink($_thumb): null;
}
$reply['files'] = listFiles($dir);
break;
case 'getFiles':
$reply['files'] = listFiles($dir);
break;
case 'getDirs':
$reply['dirs'] = listDirs($dir);
break;
default:
exit;
break;
}
if (isset($_GET['noJson'])) {echo'<pre>';print_r($reply);echo'</pre>';exit;}
exit( json_encode( $reply ) );

View File

@@ -0,0 +1,25 @@
<?php
function translit($input_string)
{
$trans = array();
$ch1 = "/\r\n-абвгдеёзийклмнопрстуфхцыэАБВГДЕЁЗИЙКЛМНОПРСТУФХЦЫЭABCDEFGHIJKLMNOPQRSTUVWXYZ";
$ch2 = " abvgdeeziyklmnoprstufhcyeabvgdeeziyklmnoprstufhcyeabcdefghijklmnopqrstuvwxyz";
for($i=0; $i<mb_strlen($ch1); $i++)
$trans[mb_substr($ch1, $i, 1)] = mb_substr($ch2, $i, 1);
$trans["Ж"] = "zh"; $trans["ж"] = "zh";
$trans["Ч"] = "ch"; $trans["ч"] = "ch";
$trans["Ш"] = "sh"; $trans["ш"] = "sh";
$trans["Щ"] = "sch"; $trans["щ"] = "sch";
$trans["Ъ"] = ""; $trans["ъ"] = "";
$trans["Ь"] = ""; $trans["ь"] = "";
$trans["Ю"] = "yu"; $trans["ю"] = "yu";
$trans["Я"] = "ya"; $trans["я"] = "ya";
$trans["\\\\"] = " ";
$trans["[^\. a-z0-9]"] = " ";
$trans["^[ ]+|[ ]+$"] = "";
$trans["[ ]+"] = "_";
foreach($trans as $from=>$to)
$input_string = mb_ereg_replace(str_replace("\\", "\\", $from), $to, $input_string);
return $input_string;
}

View File

@@ -0,0 +1,437 @@
<?php
/**
* Ajex.FileManager
* http://demphest.ru/ajex-filemanager
*
* @version
* 1.1 (15 Dec 2009)
*
* @copyright
* Copyright (C) 2009 Demphest Gorphek
*
* @license
* Dual licensed under the MIT and GPL licenses.
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Ajex.FileManager is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This file is part of Ajex.FileManager.
*/
isset($_GET['isWork'])? isWork() : null;
if (isset($_GET['downloadFile'])) {
$file = realpath($cfg['root'] . trim($_GET['downloadFile'], '/\\'));
$file = str_replace('\\', DIR_SEP, $file);
if (empty($file) || false === strpos($file, str_replace('\\', DIR_SEP, $cfg['root']))) {
header("HTTP/1.0 404 Not Found");
exit;
}
$inf = pathinfo($file);
if (!in_array(strtolower($inf['extension']), $cfg['allow']['file'])) {
header("HTTP/1.0 404 Not Found");
exit;
}
$inf['size'] = filesize($file);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: private", false);
header("Content-Disposition: attachment; filename=" . urlencode($inf['basename']));
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer");
header("Content-Length: " . $inf['size']);
if (50000000 > $inf['size']) {
flush();
$fp = fopen($file, "r");
while (!feof($fp)) {
echo fread($fp, 65536);
flush();
}
fclose($fp);
} else {
readfile($file);
}
exit;
}
function listDirs($dir)
{
global $cfg;
$list = array();
$full = $cfg['root'] . trim($dir, '/\\') . DIR_SEP;
$dirs = scandir($full);
for ($i=-1, $iCount=count($dirs); ++$i<$iCount;) {
if (is_dir($full . $dirs[$i]) && !in_array($dirs[$i], $cfg['hide']['folder'])) {
$stats = getSize($full . $dirs[$i] . DIR_SEP, 'dir');
$list[] = array(
'title' => $dirs[$i] . ' <i>' . $stats['_size'] . '</i>',
'key' => urlencode($dir . $dirs[$i]),
'isLazy' => true,
'isFolder' => true
);
}
}
return $list;
}
function listFiles($dir)
{
global $cfg;
$list = array();
$full = $cfg['root'] . trim($dir, '/\\') . DIR_SEP;
$thumb = $cfg['root'] . $cfg['thumb']['dir'] . DIR_SEP . trim($dir, '/\\') . DIR_SEP;
$files = scandir($full);
natcasesort($files);
for ($i=-1, $iCount=count($files); ++$i<$iCount;) {
$ext = substr($files[$i], strrpos($files[$i], '.') + 1);
$ext = strtolower($ext);
if (!in_array($files[$i], $cfg['hide']['file']) && !in_array($ext, $cfg['deny'][$cfg['type']]) && in_array($ext, $cfg['allow'][$cfg['type']]) && is_file($full . $files[$i])) {
$imgSize = array(0, 0);
if (in_array($ext, $cfg['allow']['image'])) {
if ($cfg['thumb']['auto'] && !file_exists($thumb . $files[$i])) {
create_thumbnail($full . $files[$i], $thumb . $files[$i]);
}
$imgSize = getimagesize($full . $files[$i]);
}
$stats = getSize($full . $files[$i]);
$list[] = array( 'name' => $files[$i],
'ext' => $ext,
'width' => $imgSize[0],
'height' => $imgSize[1],
'size' => $stats['_size'],
'date' => date($cfg['thumb']['date'], $stats['mtime']),
'r_size' => $stats['size'],
'mtime' => $stats['mtime'],
'thumb' => '/' . $cfg['url'] . '/' . $cfg['thumb']['dir'] . '/' . $dir . $files[$i]
);
}
}
switch($cfg['sort']) {
case 'size':
usort($list, 'sortSize');
break;
case 'date':
usort($list, 'sortDate');
break;
default: //name
break;
}
return $list;
}
function dirSize($dirFile)
{
$size = 0;
$dir = opendir($dirFile);
if (!$dir) return false;
while (false !== ($f = readdir($dir))) {
if ($f[0] == '.') continue;
if (is_dir($dirFile . $f)) {
$size += dirSize($dirFile . $f . DIR_SEP);
} else {
$size += filesize($dirFile . $f);
}
}
closedir($dir);
return $size;
}
function getSize($dirFile, $mode = 'file')
{
if ('file' == $mode) {
$stats = stat($dirFile);
} elseif ('dir' == $mode) {
$stats['size'] = dirSize($dirFile);
}
if (empty($stats['size'])) {
$stats['_size'] = '';
} elseif ($stats['size'] < 1024) {
$stats['_size'] .= ' B';
} elseif ($stats['size'] < 1048576) {
$stats['_size'] = round($stats['size'] / 1024) . ' KB';
} else {
$stats['_size'] = round($stats['size'] / 1048576, 2) . ' MB';
}
return $stats;
}
function create_thumbnail($orig_fname, $thum_fname, $thumb_width = null, $thumb_height = null, $quality = null, $do_cut = null, $uploadResize = false)
{
if (!mkdirs(dirname($thum_fname))) {
return false;
}
$size = @getimagesize($orig_fname);
if (false === $size) {
return false;
}
$rgb = 0xFFFFFF;
$src_x = $src_y = 0;
$format = strtolower(substr($size['mime'], strpos($size['mime'], '/') + 1));
$icfunc = 'imagecreatefrom' . $format;
if (!function_exists($icfunc)) {
return false;
}
0 === $thumb_width? $thumb_width = $size[0] : null;
0 === $thumb_height? $thumb_height = $size[1] : null;
global $cfg;
null === $thumb_width? $thumb_width = $cfg['thumb']['width'] : null;
null === $thumb_height? $thumb_height = $cfg['thumb']['height']: null;
null === $quality? $quality = $cfg['thumb']['quality'] : null;
null === $do_cut? $do_cut = $cfg['thumb']['cut'] : null;
$path = pathinfo($thum_fname);
if (!is_dir($path['dirname'])) {
$is = mkdir($path['dirname'], $cfg['chmod']['folder']);
if (!$is) {
return false;
}
}
$orig_img = $icfunc($orig_fname);
if (($size[0] <= $thumb_width) && ($size[1] <= $thumb_height)) {
$width = $size[0];
$height = $size[1];
} else {
$width = $thumb_width;
$height = $thumb_height;
$ratio_width = $size[0] / $thumb_width;
$ratio_height = $size[1] / $thumb_height;
if ($ratio_width < $ratio_height) {
if ($do_cut) {
$src_y = ($size[1] - $thumb_height * $ratio_width) / 2;
$size[1] = $thumb_height * $ratio_width;
} else {
$width = $size[0] / $ratio_height;
$height = $thumb_height;
}
} else {
if ($do_cut) {
$src_x = ($size[0] - $thumb_width * $ratio_height) / 2;
$size[0] = $thumb_width * $ratio_height;
} else {
$width = $thumb_width;
$height = $size[1] / $ratio_width;
}
}
}
$thum_img = imagecreatetruecolor($width, $height);
imagefill($thum_img, 0, 0, $rgb);
imagecopyresampled($thum_img, $orig_img, 0, 0, $src_x, $src_y, $width, $height, $size[0], $size[1]);
//if (function_exists($image_ = 'image' . $format)) {
//$image_($thum_img, $thum_fname, $quality);
//} else {
imagejpeg($thum_img, $thum_fname, $quality);
//}
flush();
imagedestroy($orig_img);
imagedestroy($thum_img);
return true;
}
function getFreeFileName($fileName, $dir)
{
global $cfg;
$dir = rtrim($dir, DIR_SEP) . DIR_SEP;
$strlen = mb_strlen($fileName, 'utf-8');
$dotPos= mb_strrpos($fileName, '.', null, 'utf-8');
$fname = mb_substr($fileName, 0, mb_strrpos($fileName, '.', null, 'utf-8'), 'utf-8');
$format = mb_substr($fileName, $dotPos+1, ($strlen-$dotPos), 'utf-8');
$langDir = dirname(__FILE__);
if (file_exists($langPhp = $langDir . DIR_SEP . 'lang' . DIR_SEP . $cfg['lang'] . '.php')) {
require_once $langPhp;
}
if (!function_exists('translit')) {
function translit($str) {
return $str;
}
}
$fname = translit($fname);
$f = $fname . '.' . $format;
if (file_exists($dir . $f)) {
if (false !== ($pos = strrpos($f, '_')) && !in_array($f{$pos+1}, array(0,1,2,3,4,5,6,7,8,9))) {
$symname = substr($f, 0, $pos);
} else {
$symname = $fname;
}
$symname = $fname;
$i = 0;
$exist = true;
while ($exist && ++$i < 777) {// :)
$new_name = $symname . '_(' . $i . ').' . $format;
if (!file_exists($dir . $new_name)) {
$exist = false;
$f = $new_name;
}
}
}
return $f;
}
function deleteDir($dirname)
{
global $cfg;
if (!file_exists($dirname)) {
return false;
}
if (is_file($dirname)) {
return unlink($dirname);
}
$dir = dir($dirname);
while (false !== $entry = $dir->read()) {
if ('.' == $entry || '..' == $entry) {
continue;
}
deleteDir($dirname . DIR_SEP . $entry);
}
$dir->close();
return rmdir($dirname);
}
function mkdirs($dir, $mode=0777)
{
if (empty($dir)) {
return false;
}
if (is_dir($dir) || '/' === $dir) {
return true;
}
if (mkdirs(dirname($dir), $mode)) {
return mkdir($dir, $mode);
}
return false;
}
function sortDate($a, $b)
{
if ($a['mtime'] == $b['mtime']) return -1;
if ($a['mtime'] < $b['mtime']) return 1;
return 0;
}
function sortSize($a, $b)
{
if ($a['r_size'] == $b['r_size']) return -1;
if ($a['r_size'] < $b['r_size']) return 1;
return 0;
}
if (!function_exists('scandir')) {
function scandir($dir)
{
$dh = opendir($dir);
$files = array();
while (false !== ($filename = readdir($dh))) {
$files[] = $filename;
}
return $files;
}
}
function isWork()
{
header('Content-Type: text/html; charset=utf-8');
global $cfg;
if (!is_dir($cfg['root'])) {
echo 'Directory not found: ' . $cfg['root'], '<br />';
if (mkdirs($cfg['root'], $cfg['chmod']['folder'])) {
echo 'Successfully created';
} else {
echo 'Failed created, You need to create the folder manually, or set the right<br />Вам необходимо создать папку вручную, или выставить права';
exit;
}
} elseif (!is_writable($cfg['root'])) {
echo 'No write access to folder: ' . $cfg['root'], '<br />Нет доступа на запись.';
} else {
echo '<font color=green>Root directory in order<br />Корневая директория в порядке.</font>';
}
echo '<hr />';
$type = array($cfg['thumb']['dir'], 'file', 'flash', 'image');
for ($i=-1;++$i<4;) {
$d = $cfg['root'] . $type[$i];
if (!is_dir($d)) {
echo 'Directory not found: ' . $d, '<br />';
if (mkdirs($d, $cfg['chmod']['folder'])) {
echo 'Successfully created';
} else {
echo 'Failed created, You need to create the folder manually, or set the right<br />Вам необходимо создать папку вручную, или выставить права';
exit;
}
} elseif (!is_writable($d)) {
echo 'No write access to folder: ' . $d, '<br />Нет доступа на запись.';
} else {
echo $type[$i] . ' - <font color=green>normal</font>';
}
echo '<br />';
}
echo '<hr />';
echo 'Check available extensions: ';
$ext = array('json_encode', 'mb_internal_encoding', 'mb_substr', 'mb_ereg_replace', 'mb_strlen', 'imagecreatetruecolor', 'imagefill', 'imagecopyresampled', 'imagejpeg', 'imagedestroy');
for ($i=-1, $iCount=count($ext); ++$i<$iCount;) {
echo '<br />';
echo function_exists($ext[$i])? $ext[$i] . ' - <font color=green>yes</font> ' : $ext[$i] . ' - <font color=red>no</font>';
}
exit;
}

View File

@@ -0,0 +1,24 @@
/**
* Ajex.FileManager
* http://demphest.ru/ajex-filemanager
*
* @version
* 1.0 (1 Oct 2009)
*
* @copyright
* Copyright (C) 2009 Demphest Gorphek
*
* @license
* Dual licensed under the MIT and GPL licenses.
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Ajex.FileManager is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This file is part of Ajex.FileManager.
*/
eval(function(p,a,c,k,e,d){while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+c+'\\b','g'),k[c])}}return p}('17 27={51:38(3){15(\'20\'==22(3))3={};2.6=3.6||38(){17 31=65.66(\'64\');40(17 9=-1;++9<31.36;){15(31[9].46(\'19\')&&-1!=(19=31[9].46(\'19\')).63(\'/61.62\')){21 19.34(0,19.67(\'/\'))}}42(\'60 44 "6" 32 27.51({6:"/6/53/27/"});\');21 68}();15(\'/\'==2.6.34(2.6.36-1)){2.6=2.6.34(0,2.6.36-1)}2.5=3.5||\'39\';2.7=3.7||\'73\';2.14=3.14||72;2.16=3.16||71;2.12=3.12||\'69\';2.11=3.11||\'70\';15(\'20\'!=22(3.8)&&45===3.8){2.8=45}18{2.8=74}15(\'39\'==2.5){15(\'20\'!=22(3.10)){3.10.13[\'58\']=2.14;3.10.13[\'56\']=2.16;3.10.13[\'54\']=2.6+\'/26.25?4=37&7=\'+2.7+\'&11=\'+2.11+\'&5=\'+2.5+\'&12=\'+2.12+\'&8=\'+2.8;3.10.13[\'59\']=2.6+\'/23/\'+2.7+\'/23.\'+2.7+\'?4=37&52=41\';17 4=[\'55\',\'57\'];40(17 9 32 4){3.10.13[\'29\'+4[9]+\'98\']=2.14;3.10.13[\'29\'+4[9]+\'94\']=2.16;3.10.13[\'29\'+4[9]+\'95\']=2.6+\'/26.25?4=\'+4[9].24()+\'&7=\'+2.7+\'&11=\'+2.11+\'&5=\'+2.5+\'&12=\'+2.12+\'&8=\'+2.8;3.10.13[\'29\'+4[9]+\'93\']=2.6+\'/23/\'+2.7+\'/23.\'+2.7+\'?52=41&4=\'+4[9].24()}}18{42(\'92 90 53 91 43 96 32 43 44 "10"\')}}18 15(\'50\'==2.5){}18{2.4=3.4||\'37\';2.28=2.6+\'/26.25?4=\'+2.4.24()+\'&7=\'+2.7+\'&11=\'+2.11+\'&12=\'+2.12+\'&8=\'+2.8;2.48=\'14=\'+2.14+\',16=\'+2.16+\'97=1,75=0,101=0,100=1,99=0,89=0,88=,80=\'}21},35:38(3,28,4,30){15(\'20\'!=22(3.5)){5=3.5}18{5=2.5}79(5){49\'39\':33;49\'50\':78.76.77.35({28:2.6+\'/26.25?4=\'+4.24()+\'&7=\'+2.7+\'&5=\'+2.5+\'&11=\'+2.11+\'&12=\'+2.12+\'&8=\'+2.8,14:2.14,16:2.16,81:\'82\',87:\'86\'},{47:30,85:3});33;83:17 30=47.35(2.28+\'&5=\'+5,\'27\',2.48);30.84();33}21}}',10,102,'||this|params|type|returnTo|path|connector|contextmenu|i|editor|lang|skin|config|width|if|height|var|else|src|undefined|return|typeof|ajax|toLowerCase|html|index|AjexFileManager|url|filebrowser|win|s|in|break|substring|open|length|file|function|ckeditor|for|QuickUpload|alert|the|variable|false|getAttribute|window|args|case|tinymce|init|mode|to|filebrowserBrowseUrl|Flash|filebrowserWindowHeight|Image|filebrowserWindowWidth|filebrowserUploadUrl|Undefined|ajex|js|indexOf|script|document|getElementsByTagName|lastIndexOf|null|dark|ru|660|1000|php|true|menubar|activeEditor|windowManager|tinyMCE|switch|screeny|inline|yes|default|focus|input|no|close_previous|screenx|top|need|pass|You|UploadUrl|WindowHeight|BrowseUrl|object|resizable|WindowWidth|left|location|scrollbars'.split('|')))

View File

@@ -0,0 +1,97 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ajex.FileManager v1.0</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="author" content="Demphest Gorphek" />
<meta name="copyright" content="<22> 2009 demphest.ru" />
<link type="text/css" href="lib/dynatree/skin/ui.dynatree.css" rel="stylesheet" />
<script type="text/javascript" src="lib/pack.js"></script>
</head>
<body>
<div id="dirs">
<div class="dirsMenu">
<div class="about"><a href="">About</a></div>
<div class="folderMenu"></div>
</div>
<div id="dirsList"></div>
<form id="filesUploadForm" action="" enctype="multipart/form-data">
<input type="hidden" name="dir" value="" />
<input type="hidden" name="type" value="file" />
<div id="uploadList">
<div class="selectLang"><span lang="chooseFileUpload">Choose file</span></div>
<div class="selectFile"><div><input type="file" name="uploadFiles[]" class="multi" /></div></div>
</div>
<div class="resizeGraph">
<span lang="resizeGraph">Resize graphics files to</span>:<br />
<span lang="width" class="txtBlock">Width</span>: <input type="text" id="resizeWidth" name="resizeWidth" value="" />
<span lang="or">or</span><br />
<span lang="height" class="txtBlock">Height</span>: <input type="text" id="resizeHeight" name="resizeHeight" value="" />
</div>
</form>
</div>
<div id="files">
<div id="menu">
<div class="view">
<span lang="view">View:</span>
<label for="viewlist"><input type="radio" id="viewlist" name="view" value="" /> <span lang="list">List</span></label>
<label for="viewthumb"><input type="radio" id="viewthumb" name="view" value="" checked="checked" /> <span lang="images">Images</span></label>
</div>
<div class="display">
<!--span lang="display">Display:</span-->
<label for="fileName"><input type="checkbox" id="fileName" name="fileName" value="" checked="checked" /> <span lang="fileName">File Name</span> </label>
<label for="fileDate"><input type="checkbox" id="fileDate" name="fileDate" value="" /> <span lang="fileDate">Date</span> </label>
<label for="fileSize"><input type="checkbox" id="fileSize" name="fileSize" value="" /> <span lang="fileSize">Size</span></label>
</div>
<div class="sort">
<span lang="sort">Sort:</span>
<label for="sortName"><input type="radio" id="sortName" name="sort" value="" checked="checked" /> <span lang="sortName">Name</span> </label>
<label for="sortDate"><input type="radio" id="sortDate" name="sort" value="" /> <span lang="sortDate">Date</span> </label>
<label for="sortSize"><input type="radio" id="sortSize" name="sort" value="" /> <span lang="sortSize">Size</span></label>
</div>
</div>
<div id="fileList">
<table>
<thead>
<tr>
<td><input type="checkbox" id="checkAll" name="checkAll" value="1" /></td>
<td><span lang="fileName">File Name</span></td>
<td><span lang="fileDate">Date</span></td>
<td><span lang="fileSize">Size</span></td>
</tr>
</thead>
<tbody></tbody>
<tfoot></tfoot>
</table>
</div>
<div id="fileThumb"></div>
</div>
<div id="status"><div class="l"></div><div id="loading"></div><div class="r"><div></div></div></div>
<div id="dialog" title=""><div class="c"></div></div>
<div id="dowloaded"></div>
<div id="author"><div>
<strong>Author Demphest Gorphek (<a href="http://demphest.ru/ajex-filemanager">demphest.ru</a>)</strong>
<br />
<br />In the process of creation used the following components, for which it separate thanks ;-)
<br /><br />
<ul>
<li>jQuery (<a href="http://jquery.com/">jquery.com</a>)
<ul>
<li>jQuery UI (<a href="http://jqueryui.com/about">jqueryui.com</a>)</li>
<li>jquery.dynatree - Martin Wendt (<a href="http://wwWendt.de">wwWendt.de</a>)</li>
<li>jquery.contextmenu - Matt Kruse (<a href="http://www.JavascriptToolbox.com/lib/contextmenu/">JavascriptToolbox.com</a>)</li>
<li>jquery.cookie - Klaus Hartl (<a href="http://stilbuero.de">stilbuero.de</a>)</li>
<li>jquery.multifile - Fyneworks.com (<a href="http://www.fyneworks.com/">fyneworks.com</a>)</li>
<li>jquery.form - Form Plugin (<a href="http://malsup.com/jquery/form/">malsup.com</a>)</li>
</ul>
</li>
<li>Jordan Michael - "120 different file extension icons" (<a href="http://www.jordan-michael.com">jordan-michael.com</a>)</li>
<li>Mark James - "Icons used in menu" (<a href="http://www.famfamfam.com/">famfamfam.com</a>)</li>
</ul>
</div></div>
</body>
</html>

View File

@@ -0,0 +1,60 @@
$lang = {
'location': 'Location',
'allowRegSymbol': 'Allowed to use the Latin alphabet, numbers, and symbols:<br />- _ = # ~ $ % & ( ) [ ]',
'send': 'Send',
'cancel': 'Cancel',
'or': 'or',
'successUpload': 'Download successful',
'chooseDownloads': 'First, choose downloads',
'deleteChecked': 'Remove Checked',
'folderExist': 'This folder already exists',
'enterNameCreateFolder': 'Enter the name of new folder',
'enterNewNameFile': 'Enter the new file name',
'enterNewNameFolder': 'Enter the new folder name',
'successDeleteFolder': 'The folder and all contents therein are removed',
'failedDeleteFolder' : 'Unable to delete a folder or not',
'size': 'Size',
'fileOf': ' files',
'chooseFileUpload': 'Select files',
'deniedExt': 'Files of this type are prohibited: $ext',
'selected': 'Selected: $file',
'removeFile': '<img src="skin/_ico/cross.png" alt="X" />',
'duplicate': 'This file is already in the list:\n $file',
'width': 'Width',
'height': 'Height',
'resizeGraph': 'Resize images to',
'view': 'View: ',
'list': 'List',
'images': 'Images',
'display': 'Display: ',
'fileName': 'Filename',
'fileDate': 'Date',
'fileSize': 'Size',
'sort': 'Ordering: ',
'sortName': 'Name',
'sortDate': 'Date',
'sortSize': 'Size',
'select': 'Select',
'selectThumb': 'Choose a thumbnail',
'lookAt': 'Look',
'downloadFile': 'Download file',
'renameFile': 'Rename file',
'deleteFile' : 'Delete file',
'deleteCheckedFile': 'Delete selected files',
'update': 'Refresh',
'createFolder': 'Create subfolder',
'renameFolder': 'Rename folder',
'deleteFolder': 'Delete folder',
'uploadSelectFiles' : 'Download selected files',
'resultUpload': 'Result upload'
}

View File

@@ -0,0 +1,60 @@
$lang = {
'location': 'Local',
'allowRegSymbol': 'Permitido usar alfabeto latino, números e símbolos:<br />- _ = # ~ $ % & ( ) [ ]',
'send': 'Enviar',
'cancel': 'Cancelar',
'or': 'ou',
'successUpload': 'Carregamento realizado com sucesso',
'chooseDownloads': 'Primeiro, escolha o arquivo',
'deleteChecked': 'Deselecionar',
'folderExist': 'Esta pasta já existe',
'enterNameCreateFolder': 'Entre com o nome da pasta',
'enterNewNameFile': 'Entre com o nome do arquivo',
'enterNewNameFolder': 'Entre com o nome da nova pasta',
'successDeleteFolder': 'A pasta e todos os conteúdos nele são removidos',
'failedDeleteFolder' : 'Não é possível excluir uma pasta ou não',
'size': 'Tamanho',
'fileOf': ' arquivos',
'chooseFileUpload': 'Carregar',
'deniedExt': 'Arquivos deste tipo são proibidos: $ext',
'selected': 'Selecionado: $file',
'removeFile': '<img src="skin/_ico/cross.png" alt="X" />',
'duplicate': 'Este arquivo já existe na lista:\n $file',
'width': 'Largura',
'height': 'Altura',
'resizeGraph': 'Redimensionar',
'view': 'Ver: ',
'list': 'Lista',
'images': 'Imagens',
'display': 'Display: ',
'fileName': 'Nome',
'fileDate': 'Data',
'fileSize': 'Tamanho',
'sort': 'Ordem: ',
'sortName': 'Nome',
'sortDate': 'Date',
'sortSize': 'Tamanho',
'select': 'Selecionar',
'selectThumb': 'Selecionar miniatura',
'lookAt': 'Visualizar',
'downloadFile': 'Baixar arquivo',
'renameFile': 'Renomear arquivo',
'deleteFile' : 'Apagar arquivo',
'deleteCheckedFile': 'Apagar arquivos selecionados',
"update":"Atualizar",
"createFolder":"Criar subpasta",
"renameFolder":"Renomear pasta",
"deleteFolder":"Apagar pasta",
"uploadSelectFiles":"Carregar arquivos selecionados",
"resultUpload":"Resultados do carregamento"
}

View File

@@ -0,0 +1,60 @@
$lang = {
'location': 'Расположение',
'allowRegSymbol': 'Разрешeно использовать латиницу, цифры, а также символы:<br />- _ = # ~ $ % & ( ) [ ]',
'send': 'Отправить',
'cancel': 'Отмена',
'or': 'или',
'successUpload': 'Загрузка прошла успешно',
'chooseDownloads': 'Сначала выберите загружаемые файлы',
'deleteChecked': 'Удалить отмеченное',
'folderExist': 'Такая папка уже существует',
'enterNameCreateFolder': 'Введите имя создаваемой папки',
'enterNewNameFile': 'Введите новое имя файла',
'enterNewNameFolder': 'Введите новое имя папки',
'successDeleteFolder': 'Папка и всё содержимое в ней удалены',
'failedDeleteFolder' : 'Не удалось удалить папку или невозможно',
'size': 'Размер',
'fileOf': ' файл(ов)',
'chooseFileUpload': 'Выбрать файлы',
'deniedExt': '$ext - файлы запрещены для загрузки',
'selected': 'Выбран: $file',
'removeFile': '<img src="skin/_ico/cross.png" alt="X" />',
'duplicate': 'Этот файл уже в списке:\n $file',
'width': 'Ширины',
'height': 'Высоты',
'resizeGraph': 'Сжать изображения до',
'view': 'Вид: ',
'list': 'Список',
'images': 'Изображения',
'display': 'Отображать: ',
'fileName': 'Имя файла',
'fileDate': 'Дата',
'fileSize': 'Размер',
'sort': 'Сортировать по: ',
'sortName': 'Имени',
'sortDate': 'Дате',
'sortSize': 'Размеру',
'select': 'Выбрать',
'selectThumb': 'Выбрать это превью',
'lookAt': 'Посмотреть',
'downloadFile': 'Скачать файл',
'renameFile': 'Переименовать файл',
'deleteFile' : 'Удалить файл',
'deleteCheckedFile': 'Удалить отмеченные файлы',
'update': 'Обновить',
'createFolder': 'Создать подпапку',
'renameFolder': 'Переименовать папку',
'deleteFolder': 'Удалить папку',
'uploadSelectFiles' : 'Загрузить выбранные файлы',
'resultUpload': 'Результат загрузки'
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 922 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 885 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 960 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1004 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1007 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 875 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 862 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 846 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 844 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 875 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 906 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 941 B

View File

@@ -0,0 +1,287 @@
/*******************************************************************************
* Tree container
*/
div.ui-dynatree-container
{
font-family: tahoma, arial, helvetica;
font-size: 10pt; /* font size should not be too big */
white-space: nowrap;
padding: 3px;
background-color: white;
border: 1px dotted gray;
}
/* Style, when control is disabled */
.ui-dynatree-disabled div.ui-dynatree-container
{
opacity: 0.5;
/* filter: alpha(opacity=50); /* Yields a css warning */
background-color: silver;
}
/*******************************************************************************
* Vertical line image
*/
div.ui-dynatree-container img
{
width: 16px;
height: 16px;
margin-left: 3px;
vertical-align: top;
border-style: none;
}
/*******************************************************************************
* Common icon definitions
*/
span.ui-dynatree-empty,
span.ui-dynatree-vline,
span.ui-dynatree-connector,
span.ui-dynatree-expander,
span.ui-dynatree-icon,
span.ui-dynatree-checkbox,
span.ui-dynatree-radio
{
width: 16px;
height: 16px;
display: -moz-inline-box; /* @ FF 1+2 */
display: inline-block; /* Required to make a span sizeable */
vertical-align: top;
background-repeat: no-repeat;
background-position: left;
}
/*******************************************************************************
* Lines and connectors
*/
span.ui-dynatree-empty
{
}
span.ui-dynatree-vline
{
background-image: url("ltL_ns.gif");
}
span.ui-dynatree-connector
{
background-image: url("ltL_nes.gif");
}
.ui-dynatree-lastsib span.ui-dynatree-connector
{
background-image: url("ltL_ne.gif");
}
/*******************************************************************************
* Expander icon
* Note: IE6 doesn't correctly evaluate multiples class names,
* so we create combined class names that can be used in the CSS.
*
* Prefix: ui-dynatree-exp-
* 1st character: 'e': expanded, 'c': collapsed
* 2nd character (optional): 'd': lazy (Delayed)
* 3rd character (optional): 'l': Last sibling
*/
span.ui-dynatree-expander
{
background-image: url("ltP_nes.gif");
cursor: pointer;
}
.ui-dynatree-exp-cl span.ui-dynatree-expander /* Collapsed, not delayed, last sibling */
{
background-image: url("ltP_ne.gif");
}
.ui-dynatree-exp-cd span.ui-dynatree-expander /* Collapsed, delayed, not last sibling */
{
background-image: url("ltD_nes.gif");
}
.ui-dynatree-exp-cdl span.ui-dynatree-expander /* Collapsed, delayed, last sibling */
{
background-image: url("ltD_ne.gif");
}
.ui-dynatree-exp-e span.ui-dynatree-expander, /* Expanded, not delayed, not last sibling */
.ui-dynatree-exp-ed span.ui-dynatree-expander /* Expanded, delayed, not last sibling */
{
background-image: url("ltM_nes.gif");
}
.ui-dynatree-exp-el span.ui-dynatree-expander, /* Expanded, not delayed, last sibling */
.ui-dynatree-exp-edl span.ui-dynatree-expander /* Expanded, delayed, last sibling */
{
background-image: url("ltM_ne.gif");
}
/*******************************************************************************
* Checkbox icon
*/
span.ui-dynatree-checkbox
{
margin-left: 3px;
background-image: url("cbUnchecked.gif");
}
span.ui-dynatree-checkbox:hover
{
background-image: url("cbUnchecked_hover.gif");
}
.ui-dynatree-partsel span.ui-dynatree-checkbox
{
background-image: url("cbIntermediate.gif");
}
.ui-dynatree-partsel span.ui-dynatree-checkbox:hover
{
background-image: url("cbIntermediate_hover.gif");
}
.ui-dynatree-selected span.ui-dynatree-checkbox
{
background-image: url("cbChecked.gif");
}
.ui-dynatree-selected span.ui-dynatree-checkbox:hover
{
background-image: url("cbChecked_hover.gif");
}
/*******************************************************************************
* Radiobutton icon
* This is a customization, that may be activated by overriding the 'checkbox'
* class name as 'ui-dynatree-radio' in the tree options.
*/
span.ui-dynatree-radio
{
margin-left: 3px;
background-image: url("rbUnchecked.gif");
}
span.ui-dynatree-radio:hover
{
background-image: url("rbUnchecked_hover.gif");
}
.ui-dynatree-partsel span.ui-dynatree-radio
{
background-image: url("rbIntermediate.gif");
}
.ui-dynatree-partsel span.ui-dynatree-radio:hover
{
background-image: url("rbIntermediate_hover.gif");
}
.ui-dynatree-selected span.ui-dynatree-radio
{
background-image: url("rbChecked.gif");
}
.ui-dynatree-selected span.ui-dynatree-radio:hover
{
background-image: url("rbChecked_hover.gif");
}
/*******************************************************************************
* Node type icon
* Note: IE6 doesn't correctly evaluate multiples class names,
* so we create combined class names that can be used in the CSS.
*
* Prefix: ui-dynatree-ico-
* 1st character: 'e': expanded, 'c': collapsed
* 2nd character (optional): 'f': folder
*/
span.ui-dynatree-icon /* Default icon */
{
margin-left: 3px;
background-image: url("ltDoc.gif");
}
.ui-dynatree-ico-cf span.ui-dynatree-icon /* Collapsed Folder */
{
background-image: url("ltFld.gif");
}
.ui-dynatree-ico-ef span.ui-dynatree-icon /* Expanded Folder */
{
background-image: url("ltFld_o.gif");
}
/* Status node icons */
.ui-dynatree-statusnode-wait span.ui-dynatree-icon
{
background-image: url("ltWait.gif");
}
.ui-dynatree-statusnode-error span.ui-dynatree-icon
{
background-image: url("ltError.gif");
}
/*******************************************************************************
* Node titles
*/
/* Remove blue color and underline from title links */
div.ui-dynatree-container a
/*, div.ui-dynatree-container a:visited*/
{
color: black; /* inherit doesn't work on IE */
text-decoration: none;
vertical-align: top;
margin: 0px;
margin-left: 3px;
/* outline: 0; /* @ Firefox, prevent dotted border after click */
}
div.ui-dynatree-container a:hover
{
text-decoration: underline;
}
span.ui-dynatree-document a,
span.ui-dynatree-folder a
{
display: inline-block; /* Better alignment, when title contains <br> */
/* vertical-align: top;*/
padding-left: 3px;
padding-right: 3px; /* Otherwise italic font will be outside bounds */
/* line-height: 16px; /* should be the same as img height, in case 16 px */
}
span.ui-dynatree-folder a
{
font-weight: bold;
}
div.ui-dynatree-container a:focus,
span.ui-dynatree-focused a:link /* @IE */
{
background-color: #EFEBDE; /* gray */
}
span.ui-dynatree-has-children a
{
}
span.ui-dynatree-expanded a
{
}
span.ui-dynatree-selected a
{
color: green;
font-style: italic;
}
span.ui-dynatree-active a
{
background-color: #3169C6 !important;
color: white !important; /* @ IE6 */
}
/*******************************************************************************
* Custom node classes (sample)
*/
span.custom1 a
{
background-color: maroon;
color: yellow;
}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 608 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 B

View File

@@ -0,0 +1,635 @@
@import "ui.css";
#fileThumb .thumb img {
width: 150px;
height:120px;
}
.ie7 #fileThumb .thumb {
width: 160px;
overflow: hidden;
}
#fileThumb .name {
width: 150px;
}
* {
margin: 0;
padding: 0;
/*font: normal 11px Verdana;*/
font-size: 11px;
font-family: Verdana, Tahoma, Aria;
}
html, body {
color: #f5fff6;
width: 100%;
height:100%;
overflow: hidden;
background: #1d1d1d url('ui/ui-bg_gloss-wave_25_333333_500x100.png') 0px -80px repeat-x;
}
label {
cursor: pointer;
}
#dirs {
float: left;
width: 20%;
height: 100%;
overflow: hidden;
border-right: 3px solid #404040;
}
#files {
float: right;
width: 79%;
height: 94%;
overflow: auto;
margin-top: 20px;
}
.ie6 #files {display: inline-block;}
.ie7 #files {display: block;}
#fileList, #fileThumb {
float: left;
padding: 5px 5px 5px 6px;
}
#fileThumb .thumb {
cursor: pointer;
float: left;
margin: 0px 2px 4px 0px;
padding: 5px 10px;
background-color: #5a5a5a;
background-position: center;
background-repeat: no-repeat;
background-image: url('ext/default.png');
}
.ie6 #fileThumb .thumb,
.ff2 #fileThumb .thumb {
width: 150px;
}
#fileThumb div {
font: normal 11px Tahoma;
text-align: center;
}
#fileThumb div.thumbClick {
background-color: #288db1 !important;
}
#fileThumb div.thumbOver {
color: #000;
background-color: #cecece;
}
#fileThumb .name {
white-space: nowrap;
text-align: center;
overflow: hidden;
margin-top: -2px;
}
#fileThumb .date, #fileThumb .size {
display: none;
}
#fileThumb .check {
float: right;
margin-right: -4px;
margin-top: -12px;
position: relative;
}
#fileList table, #fileList table td {
border-spacing: 0;
border-collapse: collapse;
}
#fileList table thead td {
color: #fff;
font-weight: bold;
background: #38768d;
}
#fileList table td {
padding: 2px 10px;
border: 1px solid #373737;
}
#fileList .name a, #fileList .name a:visited {
color: #fff;
text-decoration: none;
}
#fileList .name a:hover {
text-decoration: underline;
}
#dirsList {
padding: 10px;
}
#menu {
position: fixed;
margin-top: -20px;
}
.ie7 #menu {position: absolute;left: 21%;top:18px;}
#menu, .dirsMenu {
float: none;
clear: both;
width: 100%;
height: 20px;
}
.dirsMenu .about {float: left;}
.dirsMenu .about a, .dirsMenu .about a:visited {
color: #6dcff6;
font: normal 11px Verdana;
text-decoration: none;
float: left;
display: block;
padding: 3px 15px 3px 15px;
}
.dirsMenu .about a:hover {
color: #fff;
background: #505050;
}
.dirsMenu .folderMenu {float: right;}
.ff2 .dirsMenu .folderMenu {width:120px;}
.dirsMenu .folderMenu a, .dirsMenu .folderMenu a:visited,
#status .r a, #status .r a:visited {
display: block;
float: right;
width: 20px;
height:20px;
margin-right: 5px;
background-position: center;
background-repeat: no-repeat;
}
.dirsMenu .folderMenu a:hover, #status .r a:hover {background-color: #eee;}
.folderMenu a.separator, #status .r a.separator {
width: 1px !important;
border-right: 1px solid #505050;
}
.folderMenu a.separator:hover, #status .r a.separator:hover {background: none;}
.folderMenu a.createFolder {background-image: url('../_ico/folder_add.png');}
.folderMenu a.renameFolder, #status .r a.renameFile {background-image: url('../_ico/application_xp_terminal.png');}
.folderMenu a.deleteFolder {background-image: url('../_ico/folder_delete.png');}
.folderMenu a.uploadFolder {background-image: url('../_ico/arrow_up.png');}
#status .r a.setFile {background-image: url('../_ico/arrow_rotate_anticlockwise.png');}
#status .r a.setThumb {background-image: url('../_ico/arrow_out.png');}
#status .r a.lookFile {background-image: url('../_ico/eye.png');}
#status .r a.deleteFile {background-image: url('../_ico/cross.png');}
#status .r a.deleteFiles {background-image: url('../_ico/delete.png');}
#status .r a.downloadFile {background-image: url('../_ico/arrow_down.png');}
#menu .view, #menu .display, #menu .sort {
float: left;
margin: 0 6px;
padding: 2px 5px 3px 5px;
background: #505050;
}
#menu input {
position: relative;
bottom: -2px;
}
.opera #menu input {bottom: 1px;}
.ie7 #menu .view, .ie7 #menu .display, .ie7 #menu .sort {margin-top: -4px;}
#status {
float: none;
clear: both;
width: 100%;
height: 20px;
border-top: solid 1px #3c3c3c;
background: #2e2e2e;
position: fixed;
bottom: 0;
}
#status div.l, #status div.l div {float: left;}
#status div.r { float: right;}
.ff2 #status div.r {width:200px;}
#status #loading {
display: none;
width: 160px;
height: 20px;
margin: 0 auto;
background: url('img/loading.gif') no-repeat;
}
#status div.l div {
margin: 1px 5px;
padding: 2px 5px 2px 5px;
background: #418294;
}
#status .l a, #status .l a:visited {
color: #000;
text-decoration: none;
}
#status .l a:hover {
color: #fff;
}
#status .l .cutName {
max-width: 400px;
height: 20px;
overflow: hidden;
text-align: right;
white-space: nowrap;
}
#fileList {
display: none;
}
#uploadList {
position: fixed;
bottom: 50px;
width: 20%;
min-height: 60px;
padding-bottom: 20px;
}
#uploadList .selectLang {
width: 130px;
height: 20px;
padding: 0 15px;
}
#uploadList .selectLang span {white-space: nowrap;}
.selectFile {
text-align: right;
width: 140px;
height:20px;
overflow: hidden;
margin-top: -23px;
background: #408d3b;
}
.selectFile div {
float: right;
text-align: right;
width: 80px;
max-width: 80px;
}
.selectFile div input {
height: 20px;
float: right;
font-size: 50px;
opacity: 0;
filter: alpha(opacity=0);
-moz-opacity: 0;
display: block;
}
.opera .selectFile, .ie7 .selectFile, .ff2 .selectFile {background: #408d3b url('img/choose-file.gif') center no-repeat;}
.opera #uploadList .selectLang span {display: none;}
.opera .selectFile {margin-top: 0;}
.ie .selectFile div input {position:absolute;right:0;}
#uploaded {
z-index: 100;
font-size: 55px;
float: right;
cursor: pointer;
}
#uploadList a img {border: 0;margin-bottom: -4px;}
#uploadList .MultiFile-label {
padding: 1px 0 1px 15px;
}
.resizeGraph {
display: block;
float: none;
clear: both;
padding-left: 5px;
}
.resizeGraph {
position: fixed;
bottom: 30px;
width: 20%;
height: 35px;
}
.resizeGraph span[lang="width"], .resizeGraph span[lang="height"] {
display: inline-block;
width: 60px;
}
.ff2 .resizeGraph .txtBlock {display: block;width:60px;float:left;}
#resizeWidth, #resizeHeight {
color: #ddd;
width: 40px;
border: 1px solid #272727;
background: #393939;
}
#status .successUpload {
background: #63b64e;
color: #fff;
font-weight: bold;
}
#status .warning {
color: #333;
font-weight: bold;
background: #f8b000;
}
#dowloaded {
display: none;
min-width: 20%;
background: #333 url('ui/ui-bg_gloss-wave_25_333333_500x100.png') left top no-repeat;
position: fixed;
bottom: 21px;
left: 0;
border: 1px solid #000;
padding-bottom: 5px;
}
#dowloaded .ok {color: #3d960a;font-weight: bold;}
#dowloaded .no {color: #cf0608;font-weight: bold;}
#dowloaded div {
color: #ddd;
padding: 1px 5px;
}
#dowloaded .isDownload {
color: #fff;
font-weight: bold;
padding: 5px 5px 10px 5px;
}
a.deleteChecked, a.deleteChecked:visited {
float: left;
display: block;
color: #fff;
text-decoration: none;
padding: 4px 10px;
background: #4186a5;
}
a.deleteChecked:hover {
color: #000;
}
#dialog .c, #author .c {
padding: 5px 15px;
background: #808080;
}
#dialog .c div {
padding: 8px 0;
}
#dialog .t {width: 100%;padding: 2px 0;}
#dialog input {
color: #333;
padding: 2px 5px;
border: 1px solid #666;
background: #fff;
}
#author {
width: 260px;
display: none;
position: absolute;
left:0;
top:0;
padding: 15px;
background: #464646;
}
#author {
width: 350px;
background: #2e2e2e;
}
#author div {
padding: 15px;
background: #464646;
}
#author li {
padding: 2px 5px;
margin-left: 15px;
}
#author a, #author a:visited {
color: #6dcff6;
font: normal 11px Verdana;
text-decoration: none;
}
#author a:hover {
color: #f8b000;
text-decoration: underline;
}
#dirs, #uploadList, .resizeGraph {
/*min-width: 230px;*/
}
/* --- */
div.ui-dynatree-container {
border: 0;
background: #1d1d1d;
}
div.ui-dynatree-container a, div.ui-dynatree-container a:visited {
color: #f5fff6;
font: normal 12px Verdana;
}
div.ui-dynatree-container a:hover {
color: #6dcff6;
text-decoration: underline;
}
.ui-dynatree-ico-cf span.ui-dynatree-icon {
background-image: url('../../lib/dynatree/skin/ltFld_o.gif');
}
span.ui-dynatree-active a {
background-color: #68a8c1 !important;
}
a.ui-dynatree-title i {
color: #666;
}
a.ui-dynatree-title:hover {
text-decoration: none !important;
}
/* --- */
.context-menu-theme-dark {
border: 1px solid #000;
background: #393939 url('img/cmenu-dark-bg.gif') repeat-y left top;
}
.context-menu-theme-dark .context-menu-item {
text-align:left;
cursor:pointer;
color: #eee;
font-family:Tahoma,Arial;
font-size:11px;
}
.context-menu-theme-dark .context-menu-separator {
margin:0px 0px 0px 32px;
font-size:0px;
border-top:1px solid #272727;
border-bottom:1px solid #4d4d4d;
}
.context-menu-theme-dark .context-menu-item-hover {
border: 1px solid #222;
background: transparent url('img/cmenu-dark-menu-item-hover.gif') repeat-x left center;
}
.context-menu-theme-dark .context-menu-item .context-menu-item-inner {
padding:4px 16px 4px 35px;
margin-left:1px;
background-color:none;
background-repeat:no-repeat;
background-position:3px center;
background-image:none;
}
.context-menu-theme-dark .context-menu-item-hover .context-menu-item-inner {
padding:3px 15px 3px 35px;
margin-left:0px;
}
.context-menu-theme-dark .context-menu-item-disabled {
color: #646464;
}
/* --- */
#fileThumb .ext_aac {background-image: url('ext/aac.png');}
#fileThumb .ext_ac3 {background-image: url('ext/ac3.png');}
#fileThumb .ext_ace {background-image: url('ext/ace.png');}
#fileThumb .ext_ade {background-image: url('ext/ade.png');}
#fileThumb .ext_adp {background-image: url('ext/adp.png');}
#fileThumb .ext_ai {background-image: url('ext/ai.png');}
#fileThumb .ext_aiff {background-image: url('ext/aiff.png');}
#fileThumb .ext_aspx {background-image: url('ext/aspx.png');}
#fileThumb .ext_au {background-image: url('ext/au.png');}
#fileThumb .ext_avi {background-image: url('ext/avi.png');}
#fileThumb .ext_bak {background-image: url('ext/bak.png');}
#fileThumb .ext_bat {background-image: url('ext/bat.png');}
#fileThumb .ext_bin {background-image: url('ext/bin.png');}
#fileThumb .ext_blue-ray {background-image: url('ext/blue-ray.png');}
#fileThumb .ext_bmp {background-image: url('ext/bmp.png');}
#fileThumb .ext_bup {background-image: url('ext/bup.png');}
#fileThumb .ext_cab {background-image: url('ext/cab.png');}
#fileThumb .ext_cat {background-image: url('ext/cat.png');}
#fileThumb .ext_chm {background-image: url('ext/chm.png');}
#fileThumb .ext_cmd {background-image: url('ext/cmd.png');}
#fileThumb .ext_css {background-image: url('ext/css.png');}
#fileThumb .ext_csv {background-image: url('ext/csv.png');}
#fileThumb .ext_cue {background-image: url('ext/cue.png');}
#fileThumb .ext_dat {background-image: url('ext/dat.png');}
#fileThumb .ext_default {background-image: url('ext/default.png');}
#fileThumb .ext_der {background-image: url('ext/der.png');}
#fileThumb .ext_dic {background-image: url('ext/dic.png');}
#fileThumb .ext_divx {background-image: url('ext/divx.png');}
#fileThumb .ext_diz {background-image: url('ext/diz.png');}
#fileThumb .ext_dll {background-image: url('ext/dll.png');}
#fileThumb .ext_doc {background-image: url('ext/doc.png');}
#fileThumb .ext_docx {background-image: url('ext/docx.png');}
#fileThumb .ext_dos {background-image: url('ext/dos.png');}
#fileThumb .ext_download {background-image: url('ext/download.png');}
#fileThumb .ext_dvd {background-image: url('ext/dvd.png');}
#fileThumb .ext_dwg {background-image: url('ext/dwg.png');}
#fileThumb .ext_dwt {background-image: url('ext/dwt.png');}
#fileThumb .ext_emf {background-image: url('ext/emf.png');}
#fileThumb .ext_exc {background-image: url('ext/exc.png');}
#fileThumb .ext_fav {background-image: url('ext/fav.png');}
#fileThumb .ext_fla {background-image: url('ext/fla.png');}
#fileThumb .ext_font {background-image: url('ext/font.png');}
#fileThumb .ext_gif {background-image: url('ext/gif.png');}
#fileThumb .ext_hlp {background-image: url('ext/hlp.png');}
#fileThumb .ext_html {background-image: url('ext/html.png');}
#fileThumb .ext_ie7 {background-image: url('ext/ie7.png');}
#fileThumb .ext_ifo {background-image: url('ext/ifo.png');}
#fileThumb .ext_inf {background-image: url('ext/inf.png');}
#fileThumb .ext_ini {background-image: url('ext/ini.png');}
#fileThumb .ext_iso {background-image: url('ext/iso.png');}
#fileThumb .ext_isp {background-image: url('ext/isp.png');}
#fileThumb .ext_java {background-image: url('ext/java.png');}
#fileThumb .ext_jfif {background-image: url('ext/jfif.png');}
#fileThumb .ext_jpeg {background-image: url('ext/jpeg.png');}
#fileThumb .ext_jpg {background-image: url('ext/jpg.png');}
#fileThumb .ext_js {background-image: url('ext/js.png');}
#fileThumb .ext_log {background-image: url('ext/log.png');}
#fileThumb .ext_m4a {background-image: url('ext/m4a.png');}
#fileThumb .ext_m4p {background-image: url('ext/m4p.png');}
#fileThumb .ext_mmf {background-image: url('ext/mmf.png');}
#fileThumb .ext_mmm {background-image: url('ext/mmm.png');}
#fileThumb .ext_mov {background-image: url('ext/mov.png');}
#fileThumb .ext_movie {background-image: url('ext/movie.png');}
#fileThumb .ext_mp2 {background-image: url('ext/mp2.png');}
#fileThumb .ext_mp2v {background-image: url('ext/mp2v.png');}
#fileThumb .ext_mp3 {background-image: url('ext/mp3.png');}
#fileThumb .ext_mp4 {background-image: url('ext/mp4.png');}
#fileThumb .ext_mpe {background-image: url('ext/mpe.png');}
#fileThumb .ext_mpeg {background-image: url('ext/mpeg.png');}
#fileThumb .ext_mpg {background-image: url('ext/mpg.png');}
#fileThumb .ext_mpv2 {background-image: url('ext/mpv2.png');}
#fileThumb .ext_msi {background-image: url('ext/msi.png');}
#fileThumb .ext_music {background-image: url('ext/music.png');}
#fileThumb .ext_nfo {background-image: url('ext/nfo.png');}
#fileThumb .ext_one {background-image: url('ext/one.png');}
#fileThumb .ext_pdd {background-image: url('ext/pdd.png');}
#fileThumb .ext_pdf {background-image: url('ext/pdf.png');}
#fileThumb .ext_php {background-image: url('ext/php.png');}
#fileThumb .ext_png {background-image: url('ext/png.png');}
#fileThumb .ext_pps {background-image: url('ext/pps.png');}
#fileThumb .ext_ppt {background-image: url('ext/ppt.png');}
#fileThumb .ext_pptx {background-image: url('ext/pptx.png');}
#fileThumb .ext_print {background-image: url('ext/print.png');}
#fileThumb .ext_psd {background-image: url('ext/psd.png');}
#fileThumb .ext_rar {background-image: url('ext/rar.png');}
#fileThumb .ext_rb {background-image: url('ext/rb.png');}
#fileThumb .ext_reg {background-image: url('ext/reg.png');}
#fileThumb .ext_rtf {background-image: url('ext/rtf.png');}
#fileThumb .ext_safari {background-image: url('ext/safari.png');}
#fileThumb .ext_scp {background-image: url('ext/scp.png');}
#fileThumb .ext_search {background-image: url('ext/search.png');}
#fileThumb .ext_sql {background-image: url('ext/sql.png');}
#fileThumb .ext_swf {background-image: url('ext/swf.png');}
#fileThumb .ext_sys {background-image: url('ext/sys.png');}
#fileThumb .ext_theme {background-image: url('ext/theme.png');}
#fileThumb .ext_tif {background-image: url('ext/tif.png');}
#fileThumb .ext_tiff {background-image: url('ext/tiff.png');}
#fileThumb .ext_tmp {background-image: url('ext/tmp.png');}
#fileThumb .ext_ttf {background-image: url('ext/ttf.png');}
#fileThumb .ext_txt {background-image: url('ext/txt.png');}
#fileThumb .ext_uis {background-image: url('ext/uis.png');}
#fileThumb .ext_upload {background-image: url('ext/upload.png');}
#fileThumb .ext_url {background-image: url('ext/url.png');}
#fileThumb .ext_vcr {background-image: url('ext/vcr.png');}
#fileThumb .ext_video {background-image: url('ext/video.png');}
#fileThumb .ext_vob {background-image: url('ext/vob.png');}
#fileThumb .ext_wba {background-image: url('ext/wba.png');}
#fileThumb .ext_wma {background-image: url('ext/wma.png');}
#fileThumb .ext_wmv {background-image: url('ext/wmv.png');}
#fileThumb .ext_wpl {background-image: url('ext/wpl.png');}
#fileThumb .ext_wri {background-image: url('ext/wri.png');}
#fileThumb .ext_wtx {background-image: url('ext/wtx.png');}
#fileThumb .ext_wzv {background-image: url('ext/wzv.png');}
#fileThumb .ext_xls {background-image: url('ext/xls.png');}
#fileThumb .ext_xlsx {background-image: url('ext/xlsx.png');}
#fileThumb .ext_xml {background-image: url('ext/xml.png');}
#fileThumb .ext_xsl {background-image: url('ext/xsl.png');}
#fileThumb .ext_zap {background-image: url('ext/zap.png');}
#fileThumb .ext_zip {background-image: url('ext/zip.png');}

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

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