2015-05-29 02:07:55 +03:00
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Strict//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd " >
< html xmlns = " http://www.w3.org/1999/xhtml " xml : lang = " en " lang = " en " >
< head >
2015-10-08 15:07:53 +03:00
< title >< ? = __ ( 'File Manager' ) ?> </title>
2015-05-29 02:07:55 +03:00
< meta http - equiv = " Content-Type " content = " text/html; charset=utf-8 " />
< link rel = " shortcut icon " href = " /images/filemanager.ico? " type = " image/x-icon " >
< link rel = " icon " href = " /images/filemanager.ico? " type = " image/x-icon " >
< link rel = " stylesheet " href = " /css/file_manager.css " type = " text/css " />
< link rel = " stylesheet " type = " text/css " href = " /css/uploadify.css " />
< link href = " //cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.2/fotorama.css " rel = " stylesheet " >
< style type = " text/css " media = " print, screen and (min-width: 481px) " ></ style >
<!-- link rel = " shortcut icon " href = " /2008/site/images/favicon.ico " type = " image/x-icon " / -->
< link rel = " stylesheet " href = " /css/jquery.arcticmodal.css " >
< link rel = " stylesheet " href = " /css/jquery.fileupload.css " >
2016-07-06 13:53:03 +03:00
< script > GLOBAL = {}; </ script >
2015-05-29 02:07:55 +03:00
</ head >
< body >
2015-10-12 17:45:31 +03:00
< a href = " # " class = " to-shortcuts " >
< i class = " l-icon-shortcuts " ></ i >
</ a >
2015-05-29 02:07:55 +03:00
< div id = " main " >
< div class = " window active " >
2015-09-07 17:35:40 +03:00
< a href = " / " class = " l-logo " ></ a >
2015-10-08 15:07:53 +03:00
< div class = " pwd pwd-tab-A " ></ div >
2015-09-07 17:35:40 +03:00
< div class = " menu menu-left menu-A " >
2015-05-29 02:07:55 +03:00
< ? php $pre_tab = 'A' ; include ( $_SERVER [ 'DOCUMENT_ROOT' ] . '/templates/file_manager/tab_menu.php' ); ?>
</ div >
2015-11-05 03:17:21 +02:00
< ul class = " listing listing-left " onClick = " FM.setTabActive('.listing-left'); " ></ ul >
2015-05-29 02:07:55 +03:00
</ div >
< div class = " window " >
2015-10-08 15:07:53 +03:00
< div class = " pwd pwd-tab-B " ></ div >
2015-09-07 17:35:40 +03:00
< div class = " menu menu-right menu-B " >
2015-05-29 02:07:55 +03:00
< ? php $pre_tab = 'B' ; include ( $_SERVER [ 'DOCUMENT_ROOT' ] . '/templates/file_manager/tab_menu.php' ); ?>
</ div >
2015-11-05 03:17:21 +02:00
< ul class = " listing listing-right " onClick = " FM.setTabActive('.listing-right'); " ></ ul >
2015-09-07 17:35:40 +03:00
</ div >
</ div >
< div class = " warning-box inform hidden " >
< div class = " close ripple " ></ div >
< div class = " message " > Please Read the reading text at the reading write !</ div >
< div class = " message-small " > writing the reading text at the reading write writing the reading text at the reading write !</ div >
</ div >
2015-09-28 02:01:19 +03:00
< div class = " warning-box reload hidden " >
< div class = " message-small " > Hit F5 to reload the page </ div >
</ div >
2015-09-07 17:35:40 +03:00
< div class = " warning-box hidden " >
< div class = " close ripple " ></ div >
< div class = " message " > Please Read the reading text at the reading write !</ div >
< div class = " message-small " > writing the reading text at the reading write writing the reading text at the reading write !</ div >
</ div >
< ul class = " context-menu tab-a sort-order hidden " >
2015-10-08 15:07:53 +03:00
< li entity = " type " >< span class = " type active " >< ? = __ ( 'type' ) ?> </span><span class="up"> </span></li>
< li entity = " size " >< span class = " size " >< ? = __ ( 'size' ) ?> </span><span class="up"> </span></li>
< li entity = " date " >< span class = " date " >< ? = __ ( 'date' ) ?> </span><span class="up"> </span></li>
< li entity = " name " class = " last " >< span class = " name " >< ? = __ ( 'name' ) ?> </span><span class="up"> </span></li>
2015-09-07 17:35:40 +03:00
</ ul >
< ul class = " context-menu tab-b sort-order hidden " >
2015-10-08 15:07:53 +03:00
< li entity = " type " >< span class = " type active " >< ? = __ ( 'type' ) ?> </span><span class="up"> </span></li>
< li entity = " size " >< span class = " size " >< ? = __ ( 'size' ) ?> </span><span class="up"> </span></li>
< li entity = " date " >< span class = " date " >< ? = __ ( 'date' ) ?> </span><span class="up"> </span></li>
< li entity = " name " class = " last " >< span class = " name " >< ? = __ ( 'name' ) ?> </span><span class="up"> </span></li>
2015-09-07 17:35:40 +03:00
</ ul >
2015-05-29 02:07:55 +03:00
2015-09-07 17:35:40 +03:00
< div class = " fotorama " data - auto = " false " ></ div >
< div class = " progress-container hidden " >
2015-10-08 15:07:53 +03:00
< div class = " progress-elm " >< span class = " title " >< ? = __ ( 'Initializing' ) ?> </span><span class="progress" style="backround-position: -96px; backround-position:-10px"></span><span class="close hidden"></span></div>
2015-09-07 17:35:40 +03:00
</ div >
2015-10-12 17:45:31 +03:00
< div class = " shortcuts " style = " display:none " >
< div class = " header " >
< div class = " title " > Shortcuts </ div >
< div class = " close " ></ div >
</ div >
< ul >
< li >< span class = " key " > u </ span >< ? = __ ( 'Upload' ) ?> </li>
< li >< span class = " key " > n </ span >< ? = __ ( 'New File' ) ?> </li>
< li >< span class = " key " > F7 </ span >< ? = __ ( 'New Folder' ) ?> </li>
< li >< span class = " key " > d </ span >< ? = __ ( 'Download' ) ?> </li>
2015-10-28 16:39:39 +02:00
< li >< span class = " key " > F2 / Shift + F6 </ span >< ? = __ ( 'Rename' ) ?> </li>
2016-08-09 19:22:45 +03:00
< li >< span class = " key " > m </ span >< ? = __ ( 'Move' ) ?> </li>
2015-10-12 17:45:31 +03:00
< li >< span class = " key " > F5 </ span >< ? = __ ( 'Copy' ) ?> </li>
< li >< span class = " key " > a </ span >< ? = __ ( 'Archive' ) ?> </li>
< li >< span class = " key " > F8 / Del </ span >< ? = __ ( 'Delete' ) ?> </li>
2015-10-28 16:39:39 +02:00
< li class = " step-top " >< span class = " key " > Ctrl + s </ span >< ? = __ ( 'Save File (in text editor)' ) ?> </li>
2015-10-21 19:29:45 +03:00
< li class = " step-top " >< span class = " key " > h </ span >< ? = __ ( 'Display/Close shortcuts' ) ?> </li>
2015-10-12 17:45:31 +03:00
< li class = " step-top " >< span class = " key " > Esc </ span >< ? = __ ( 'Close Popup / Cancel' ) ?> </li>
</ ul >
< ul >
< li >< span class = " key bigger " >& uarr ; </ span >< ? = __ ( 'Move Cursor Up' ) ?> </li>
< li >< span class = " key bigger " >& darr ; </ span >< ? = __ ( 'Move Cursor Down' ) ?> </li>
< li >< span class = " key bigger " >& larr ; </ span >< ? = __ ( 'Switch to Left Tab' ) ?> </li>
< li >< span class = " key bigger " >& rarr ; </ span >< ? = __ ( 'Switch to Right Tab' ) ?> </li>
2015-10-28 16:39:39 +02:00
< li >< span class = " key " > Tab </ span >< ? = __ ( 'Switch Tab' ) ?> </li>
< li >< span class = " key " > Home </ span >< ? = __ ( 'Go to the Top of the File List' ) ?> </li>
< li >< span class = " key " > End </ span >< ? = __ ( 'Go to the Last File' ) ?> </li>
< li class = " step-top " >< span class = " key " > Enter </ span >< ? = __ ( 'Open File / Enter Directory' ) ?> </li>
2016-08-09 19:22:45 +03:00
< li >< span class = " key " > F4 </ span >< ? = __ ( 'Edit File' ) ?> </li>
2015-10-28 16:39:39 +02:00
< li >< span class = " key " > Backspace </ span >< ? = __ ( 'Go to Parent Directory' ) ?> </li>
< li class = " step-top " >< span class = " key " > Insert / Space </ span >< ? = __ ( 'Select Current File' ) ?> </li>
< li >< span class = " key " > Shift + click </ span >< ? = __ ( 'Select Bunch of Files' ) ?> </li>
< li >< span class = " key " > Ctrl + click </ span >< ? = __ ( 'Add File to the Current Selection' ) ?> </li>
< li >< span class = " key " > Ctrl + a </ span >< ? = __ ( 'Select All Files' ) ?> </li>
2015-10-12 17:45:31 +03:00
</ ul >
< ul class = " note " >< ? = __ ( 'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager' ) ?> </ul>
</ div >
2015-09-07 17:35:40 +03:00
< script src = " //ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js " ></ script >
< script src = " //cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.2/fotorama.js " ></ script >
< script type = " text/javascript " src = " /js/jquery-ui.min.js " ></ script >
< script src = " /js/jquery.finder.js " ></ script >
2015-05-29 02:07:55 +03:00
< script type = " text/javascript " src = " /js/hotkeys.js " ></ script >
< script type = " text/javascript " src = " /js/app.js " ></ script >
< script type = " text/javascript " >< ? php echo include ( $_SERVER [ 'DOCUMENT_ROOT' ] . '/js/i18n.js.php' ); ?> </script>
< script type = " text/javascript " src = " /js/templates.js " ></ script >
< script type = " text/javascript " src = " /js/floating_layer.js " ></ script >
< script src = " /js/ripple.js " ></ script >
2016-08-09 19:22:45 +03:00
2015-05-29 02:07:55 +03:00
< ? php if ( ! empty ( $GLOBAL_JS )) : ?>
< ? php echo $GLOBAL_JS ; ?>
< ? php endif ; ?>
< script type = " text/javascript " src = " /js/file_manager.js " ></ script >
2016-08-09 19:22:45 +03:00
< script src = " /js/jquery.iframe-transport.js " ></ script >
< script src = " /js/jquery.fileupload.js " ></ script >
< script src = " /js/jquery.arcticmodal.js " ></ script >
2015-05-29 02:07:55 +03:00
< script type = " text/javascript " >
$ ( function () {
'use strict' ;
// Change this to the location of your server-side upload handler:
var show_msg = false ;
var acc = $ ( '<div>' );
$ ([ 'A' , 'B' ]) . each ( function ( k , letter ) {
var url = '/upload/' ;
$ ( '#file_upload_' + letter ) . fileupload ({
2015-09-07 17:35:40 +03:00
singleFileUploads : false ,
2015-05-29 02:07:55 +03:00
add : function ( e , data ) {
2015-09-07 17:35:40 +03:00
FM . setTabActive ( FM [ 'TAB_' + letter ]);
2016-08-09 19:22:45 +03:00
2015-05-29 02:07:55 +03:00
var tab = FM . getTabLetter ( FM . CURRENT_TAB );
var file_relocation = FM [ 'TAB_' + tab + '_CURRENT_PATH' ];
2016-08-09 19:22:45 +03:00
2015-05-29 02:07:55 +03:00
$ ( '#file_upload_' + letter ) . fileupload ( " option " , " url " , url + '?dir=' + file_relocation );
acc = $ ( '<div>' );
show_msg = false ;
data . submit ();
$ ( '.file-upload-button-' + tab ) . addClass ( 'progress' );
},
url : url ,
dataType : 'json' ,
done : function ( e , data ) {
2015-09-07 17:35:40 +03:00
var msg = '' ;
$ . each ( data . result . files , function ( index , file ) {
if ( 'undefined' != typeof file . error ) {
msg += '<p class="msg-item">' + file . name + ': ' + file . error + '</p>' ;
}
});
if ( msg != '' ) {
var tpl = Tpl . get ( 'popup_alert' , 'FM' );
tpl . set ( ':TEXT' , msg );
FM . popupOpen ( tpl . finalize ());
}
//console.log(e);
//console.log(data);
2015-05-29 02:07:55 +03:00
},
fail : function ( e , data ) {
2015-09-07 17:35:40 +03:00
var msg = '' ;
2015-05-29 02:07:55 +03:00
$ . each ( data . result . files , function ( index , file ) {
2015-09-07 17:35:40 +03:00
if ( 'undefined' != typeof file . error ) {
msg += '<p class="msg-item">' + file . name + ': ' + file . error + '</p>' ;
}
2015-05-29 02:07:55 +03:00
});
2015-09-07 17:35:40 +03:00
if ( msg != '' ) {
var tpl = Tpl . get ( 'popup_alert' , 'FM' );
tpl . set ( ':TEXT' , msg );
FM . popupOpen ( tpl . finalize ());
}
//console.log(e);
//console.log(data);
2015-05-29 02:07:55 +03:00
},
always : function ( e , data ) {
var tab = FM . getTabLetter ( FM . CURRENT_TAB );
var box = FM [ 'TAB_' + tab ];
2015-09-29 22:24:22 +03:00
FM . openAndSync ( FM [ 'TAB_' + tab + '_CURRENT_PATH' ], box );
2015-05-29 02:07:55 +03:00
$ ( '.file-upload-button-' + tab ) . addClass ( 'done' );
2015-09-29 22:24:22 +03:00
2015-05-29 02:07:55 +03:00
setTimeout ( function () {
$ ( '.file-upload-button-' + tab ) . removeClass ( 'progress' );
$ ( '.file-upload-button-' + tab ) . removeClass ( 'done' );
}, 2000 );
2015-09-29 22:24:22 +03:00
2015-05-29 02:07:55 +03:00
$ ( '.file-upload-button-' + tab ) . css ( 'background-position' , '-96px 0' );
},
progressall : function ( e , data ) {
var progress = parseInt ( data . loaded / data . total * 100 , 10 );
var tab = FM . getTabLetter ( FM . CURRENT_TAB );
$ ( '.file-upload-button-' + tab ) . css ( 'background-position' , '-' + ( 100 - progress ) + 'px 0' );
}
})
. prop ( 'disabled' , ! $ . support . fileInput )
. parent () . addClass ( $ . support . fileInput ? undefined : 'disabled' );
});
2015-09-07 17:35:40 +03:00
$ . widget ( " shift.selectable " , $ . ui . selectable , {
options : {}, // required
previousIndex : - 1 , // additional attribute to store previous selection index
currentIndex : - 1 , // additional attribute to store current selection index
_create : function () { // required
var self = this ;
$ . ui . selectable . prototype . _create . call ( this ); // default implementation
// here is our addition, we are catching "selecting" event with shift key
$ ( this . element ) . on ( 'selectableselecting' , function ( event , ui ){
self . currentIndex = $ ( ui . selecting . tagName , event . target ) . index ( ui . selecting );
if ( event . shiftKey && self . previousIndex > - 1 ) {
$ ( ui . selecting . tagName , event . target ) . slice ( Math . min ( self . previousIndex , self . currentIndex ), 1 + Math . max ( self . previousIndex , self . currentIndex )) . addClass ( 'ui-selected' );
self . previousIndex = - 1 ;
} else {
self . previousIndex = self . currentIndex ;
}
});
},
destroy : function () { // required, default implementation
$ . ui . selectable . prototype . destroy . call ( this );
},
_setOption : function () { // required, default implementation
$ . ui . selectable . prototype . _setOption . apply ( this , arguments );
}
});
var checkIfArchive = function ( item ) { console . log ( item );
var item = $ ( item ) . hasClass ( 'dir' ) ? item : $ ( item ) . parents ( '.dir' );
var tab = FM . getTabLetter ( FM . CURRENT_TAB );
var src = $ ( item ) . find ( '.source' ) . val ();
src = $ . parseJSON ( src );
var tab = FM . getTabLetter ( FM . CURRENT_TAB );
2015-11-03 01:07:12 +02:00
2015-09-07 17:35:40 +03:00
if ( FM . itemIsArchieve ( src )) {
2015-11-03 01:07:12 +02:00
if ( $ ( '.menu-' + tab + ' .archive.button' ) . first () . is ( ':visible' ))
$ ( '.menu-' + tab + ' .extract-btn' ) . first () . show ();
else
$ ( '.menu-' + tab + ' .extract-btn.small' ) . show ();
} else {
2015-09-07 17:35:40 +03:00
$ ( '.menu-' + tab + ' .extract-btn' ) . hide ();
}
}
$ ( " .listing-left " ) . selectable ({
selected : function ( event , ui ) {
2015-09-29 22:24:22 +03:00
FM . setTabActive ( FM . TAB_A , 'skip_highlights' );
$ ( " .listing-left .active " ) . removeClass ( 'active' );
$ ( " .listing-left .selected " ) . each ( function ( i , o ) {
2015-09-07 17:35:40 +03:00
if ( ! $ ( o ) . hasClass ( 'ui-selected' )) {
$ ( o ) . removeClass ( 'selected' );
2015-09-29 14:25:28 +03:00
$ ( o ) . removeClass ( 'active' );
2015-09-07 17:35:40 +03:00
}
});
$ ( ui . selected ) . addClass ( 'selected' );
2015-09-29 14:25:28 +03:00
$ ( ui . selected ) . addClass ( 'active' );
2015-09-29 22:24:22 +03:00
2015-09-07 17:35:40 +03:00
checkIfArchive ( ui . selected );
$ ( " .listing-left .ui-selected " ) . addClass ( 'selected' );
2015-09-29 22:24:22 +03:00
if ( $ ( " .listing-left .active " ) . length > 0 ) {
FM [ 'CURRENT_A_LINE' ] = $ ( " .listing-left .active " ) . index ();
}
else {
FM [ 'CURRENT_A_LINE' ] = 0 ;
}
2015-10-05 23:32:25 +03:00
FM . preselectedItems . A = [];
2015-09-29 22:24:22 +03:00
2015-09-07 17:35:40 +03:00
},
unselected : function ( event , ui ) {
2015-09-29 22:24:22 +03:00
FM . setTabActive ( FM . TAB_A , 'skip_highlights' );
$ ( ui . unselected ) . removeClass ( 'selected' );
$ ( ui . unselected ) . removeClass ( 'active' );
if ( $ ( " .listing-left .active " ) . length > 0 ) {
FM [ 'CURRENT_A_LINE' ] = $ ( " .listing-left .active " ) . index ();
}
else {
FM [ 'CURRENT_A_LINE' ] = 0 ;
}
2015-09-07 17:35:40 +03:00
}
});
$ ( " .listing-right " ) . selectable ({
2015-09-29 22:24:22 +03:00
selected : function ( event , ui ) {
FM . setTabActive ( FM . TAB_B , 'skip_highlights' );
$ ( " .listing-right .active " ) . removeClass ( 'active' );
$ ( " .listing-right .selected " ) . each ( function ( i , o ) {
if ( ! $ ( o ) . hasClass ( 'ui-selected' )) {
$ ( o ) . removeClass ( 'selected' );
$ ( o ) . removeClass ( 'active' );
}
});
$ ( ui . selected ) . addClass ( 'selected' );
$ ( ui . selected ) . addClass ( 'active' );
//$(ui.selected).addClass('active');
checkIfArchive ( ui . selected );
$ ( " .listing-right .ui-selected " ) . addClass ( 'selected' );
if ( $ ( " .listing-right .active " ) . length > 0 ) {
FM [ 'CURRENT_B_LINE' ] = $ ( " .listing-right .active " ) . index ();
}
else {
FM [ 'CURRENT_B_LINE' ] = 0 ;
}
2015-10-05 23:32:25 +03:00
FM . preselectedItems . B = [];
2015-09-29 22:24:22 +03:00
},
unselected : function ( event , ui ) {
FM . setTabActive ( FM . TAB_B , 'skip_highlights' );
$ ( ui . unselected ) . removeClass ( 'selected' );
$ ( ui . unselected ) . removeClass ( 'active' );
if ( $ ( " .listing-right .active " ) . length > 0 ) {
FM [ 'CURRENT_B_LINE' ] = $ ( " .listing-right .active " ) . index ();
}
else {
FM [ 'CURRENT_B_LINE' ] = 0 ;
}
}
2015-10-12 17:45:31 +03:00
2015-09-29 22:24:22 +03:00
});
2015-05-29 02:07:55 +03:00
});
</ script >
</ body >
2015-11-05 03:17:21 +02:00
</ html >