📄 myfiles.js
字号:
/* Warning, do not modify this file unless you know what you're doing. */
var rowcolor1 = '#fafafa'; // color 1 for the rows
var rowcolor2 = '#ffffff'; // alternate color for the rows
var rowcolor3 = '#fbffdf'; // highlight
var sortDirection = { 'ext':0, 'name':0, 'size':0, 'date':1 }
var currentSort = 'date';
var current_page = 1;
var per_page = 20;
var files = new Array();
function _aF(name,size,date,furl,lnkurl,turl,rsurl,rnurl,dlurl,fname,rdate,rsize,is_image)
{
files[files.length] =
{
'name' : name,
'ext' : get_extension(name),
'size' : size,
'date' : date,
'furl' : furl,
'lurl' : lnkurl,
'turl' : turl,
'rsurl' : rsurl,
'rnurl' : rnurl,
'dlurl' : dlurl,
'fname' : fname,
'rdate' : rdate,
'rsize' : rsize,
'is_image' : is_image,
'expanded' : false,
'clicked' : false,
'icon_url' : icons_url + get_icon ( get_extension(name) )
};
}
function checkFiles ( fileType )
{
var start = (current_page-1)*per_page;
var stop = (current_page)*per_page;
for ( var i = start; i < stop && i < files.length; i++ )
{
var box = getObj ( 'mf_checkbox_' + i );
var ext = files[i]['ext'];
switch ( fileType )
{
case 'all' : checkIt ( box, 1 ); break;
case 'none' : checkIt ( box, 0 ); break;
case 'images' : checkIt ( box, ( ext == 'jpg' || ext == 'gif' || ext == 'png' || ext == 'jpeg' || ext == 'bmp' ) ); break;
case 'nonimages' : checkIt ( box, ( ext != 'jpg' && ext != 'gif' && ext!= 'png' && ext != 'jpeg' && ext != 'bmp' ) ); break;
case 'invert' : checkIt ( box, !box.checked ); break;
}
}
getObj('select_all').style.fontStyle = ( fileType == 'all' ? 'italic' : 'normal' );
getObj('select_none').style.fontStyle = ( fileType == 'none' ? 'italic' : 'normal' );
getObj('select_images').style.fontStyle = ( fileType == 'images' ? 'italic' : 'normal' );
getObj('select_nonimages').style.fontStyle = ( fileType == 'nonimages' ? 'italic' : 'normal' );
getObj('select_invert').style.fontStyle = ( fileType == 'invert' ? 'italic' : 'normal' );
}
function myFilesSort ( column )
{
var fsize = function ( left, right ) { if ( left['rsize'] == right['rsize'] ) return 0; if ( left['rsize'] > right['rsize'] ) return 1; return -1; }
var fext = function ( left, right ) { if ( left['ext'] == right['ext'] ) return 0; if ( left['ext'] > right['ext'] ) return 1; return -1; }
var fdate = function ( left, right ) { if ( left['rdate'] == right['rdate'] ) return 0; if ( left['rdate'] > right['rdate'] ) return 1; return -1; }
var fname = function ( left, right ) { if ( left['name'].toLowerCase() == right['name'].toLowerCase() ) return 0; if ( left['name'].toLowerCase() > right['name'].toLowerCase() ) return 1; return -1; }
switch ( column )
{
case 'ext': currentSort = 'ext'; files.sort ( fext ); if ( sortDirection['ext'] ) files.reverse ( ); sortDirection['ext'] = !sortDirection['ext']; break;
case 'name': currentSort = 'name'; files.sort ( fname ); if ( sortDirection['name'] ) files.reverse ( ); sortDirection['name'] = !sortDirection['name']; break;
case 'size': currentSort = 'size'; files.sort ( fsize ); if ( sortDirection['size'] ) files.reverse ( ); sortDirection['size'] = !sortDirection['size']; break;
case 'date': currentSort = 'date'; files.sort ( fdate ); if ( sortDirection['date'] ) files.reverse ( ); sortDirection['date'] = !sortDirection['date']; break;
}
getObj('sort_type').style.fontStyle = ( column == 'ext' ? 'italic' : 'normal' );
getObj('sort_name').style.fontStyle = ( column == 'name' ? 'italic' : 'normal' );
getObj('sort_size').style.fontStyle = ( column == 'size' ? 'italic' : 'normal' );
getObj('sort_date').style.fontStyle = ( column == 'date' ? 'italic' : 'normal' );
drawFilesTable (); // redraw
}
function myFilesAction ( sAction )
{
var myFilesForm = getObj ( 'myfiles_form' );
if ( myFilesForm )
{
if ( countCheckedBoxes ( myFilesForm, 'files[]' ) )
{
myFilesForm.action.value = sAction;
if ( sAction == 'delete' )
{
var inputFields = myFilesForm.getElementsByTagName ( 'input' );
var checkedCount = 0;
var checkedFile = '';
for ( var i = 0; i < inputFields.length; i++ )
{
if ( inputFields[i].type == 'checkbox' && inputFields[i].checked == true )
{
checkedCount += 1;
checkedFile = unescape ( inputFields[i].value );
}
}
if ( !confirm ( ( checkedCount > 1 ? 'Are you sure you want to delete the ' + checkedCount + ' selected files?' : 'Are you sure you want to delete the file "'+checkedFile+'"?' ) ) ) return false;
}
else if ( sAction == 'move' )
{
if ( myFilesForm.move_to.value == current_folder )
{
return false;
}
if ( !confirm ( 'Move selected files to "' + ( myFilesForm.move_to.value == '' ? 'Main Folder' : basename(decodeURIComponent(myFilesForm.move_to.value)) ) + '"?' ) ) return false;
}
else if ( sAction == 'rename' )
{
var inputFields = myFilesForm.getElementsByTagName ( 'input' );
var checkedCount = 0;
var checkedFile = '';
for ( var i = 0; i < inputFields.length; i++ )
{
if ( inputFields[i].type == 'checkbox' && inputFields[i].checked == true )
{
checkedFile = inputFields[i].value;
}
}
for ( var i = 0; i < files.length; i++ )
{
if ( checkedFile == files[i]['fname'] )
{
go((files[i]['rnurl'].replace('&','&')));
break;
}
}
return false;
}
myFilesForm.submit ( );
}
else help ( 'You did not select any files.' );
}
else alert ( 'Unable to locate myfiles_form' );
}
function processMyFilesAction ( select )
{
if ( select.value != '' )
{
if ( select.value.substr ( 0, 5 ) == 'move_' )
{
select.form.move_to.value = select.value.substr ( 5 );
myFilesAction ( 'move' );
}
else myFilesAction ( select.value );
}
select.selectedIndex = 0;
}
function prepareMyFilesAction ( select )
{
var myFilesForm = getObj ( 'myfiles_form' );
var selectedCount = countCheckedBoxes ( myFilesForm, 'files[]' );
for ( var i = 0; i < select.options.length; ++i )
{
var action = select.options[i].value;
if ( action == 'delete' || action == 'img_tags' || action.substr ( 0, 5 ) == 'move_' )
{
select.options[i].disabled = !Boolean(selectedCount);
}
else if ( action == 'rename' )
{
select.options[i].disabled = selectedCount != 1;
}
}
}
function highlightRow ( num, on )
{
var row = getObj ( 'mf_row_' + num );
if ( row )
{
row.style.backgroundColor = on ? rowcolor3 : ( num & 1 ? rowcolor1 : rowcolor2 );
}
}
function highlightCell ( num )
{
var cell = getObj ( 'mf_cell_' + num );
var box = getObj ( 'mf_checkbox_' + num );
if ( cell && box )
{
cell.className = box.checked ? 'selected' : 'unselected';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -