virt2/api/soft/tinymce/4.3.12/plugins/image2/js/include.js

1512 lines
44 KiB
JavaScript
Raw Normal View History

var version = "9.7.1";
var active_contextmenu = true;
$(document).ready(function(){
// Right click menu
if (active_contextmenu) {
$.contextMenu({
selector:'figure:not(.back-directory), .list-view2 figure:not(.back-directory)',
autoHide:true,
build: function($trigger) {
$trigger.addClass('selected');
var options = {
callback: function(key, options) {
switch (key) {
case "copy_url":
var m ="";
m+=$('#base_url').val()+$('#cur_dir').val();
add=$trigger.find('a.link').attr('data-file');
if (add!="" && add!=null) {
m+=add;
}
add=$trigger.find('h4 a.folder-link').attr('data-file');
if (add!="" && add!=null) {
m+=add;
}
bootbox.alert('URL:<br/><br/><input type="text" style="height:30px; width:100%;" value="'+encodeURL(m)+'" />');
break;
case "unzip":
var m=$('#sub_folder').val()+$('#fldr_value').val()+$trigger.find('a.link').attr('data-file');
$.ajax({
type: "POST",
url: "ajax_calls.php?action=extract",
data: { path: m }
}).done(function( msg ) {
if (msg!="")
bootbox.alert(msg);
else
window.location.href = $('#refresh').attr('href') + '&' + new Date().getTime();
});
break;
case "edit_img":
var filename=$trigger.attr('data-name');
var full_path=$('#base_url_true').val()+$('#cur_dir').val()+filename;
$('#aviary_img').attr('data-name',filename);
$('#aviary_img').attr('src',full_path).load(launchEditor('aviary_img', full_path));
break;
case "duplicate":
var old_name=$trigger.find('h4').text().trim();
bootbox.prompt($('#lang_duplicate').val(),$('#cancel').val(),$('#ok').val(), function(name) {
if (name !== null){
name=fix_filename(name);
if (name!=old_name) {
var _this=$trigger.find('.rename-file');
execute_action('duplicate_file',_this.attr('data-path'),_this.attr('data-thumb'),name,_this,'apply_file_duplicate');
}
}
},old_name);
break;
case "copy":
copy_cut_clicked($trigger, 'copy');
break;
case "cut":
copy_cut_clicked($trigger, 'cut');
break;
case "paste":
paste_to_this_dir();
break;
case "chmod":
chmod($trigger);
break;
case "edit_text_file":
edit_text_file($trigger);
break;
}},
items: {}
};
// tooltip options
// edit image/show url
if (($trigger.find('.img-precontainer-mini .filetype').hasClass('png') ||
$trigger.find('.img-precontainer-mini .filetype').hasClass('jpg') ||
$trigger.find('.img-precontainer-mini .filetype').hasClass('jpeg')) && image_editor )
{
options.items.edit_img = {name: $('#lang_edit_image').val(),icon:"edit_img", disabled:false };
}
options.items.copy_url = {name: $('#lang_show_url').val(),icon:"url", disabled:false };
// extract
if ($trigger.find('.img-precontainer-mini .filetype').hasClass('zip') ||
$trigger.find('.img-precontainer-mini .filetype').hasClass('tar') ||
$trigger.find('.img-precontainer-mini .filetype').hasClass('gz') )
{
options.items.unzip = {name: $('#lang_extract').val(),icon:"extract", disabled:false };
}
// edit file's content
if ($trigger.find('.img-precontainer-mini .filetype').hasClass('edit-text-file-allowed') )
{
options.items.edit_text_file = {name: $('#lang_edit_file').val(),icon:"edit", disabled:false };
}
// duplicate
if (!$trigger.hasClass('directory') && $('#duplicate').val()==1)
{
options.items.duplicate = {name: $('#lang_duplicate').val(),icon:"duplicate", disabled:false };
}
// copy & cut
if (!$trigger.hasClass('directory') && $('#copy_cut_files_allowed').val()==1) {
options.items.copy = {name: $('#lang_copy').val(),icon:"copy", disabled:false };
options.items.cut = {name: $('#lang_cut').val(),icon:"cut", disabled:false };
}
else if ($trigger.hasClass('directory') && $('#copy_cut_dirs_allowed').val()==1) {
options.items.copy = {name: $('#lang_copy').val(),icon:"copy", disabled:false };
options.items.cut = {name: $('#lang_cut').val(),icon:"cut", disabled:false };
}
// paste
// Its not added to folders because it might confuse someone
if ($('#clipboard').val() != 0 && !$trigger.hasClass('directory')) {
options.items.paste = {name: $('#lang_paste_here').val(),icon:"clipboard-apply", disabled:false };
}
// file permission
if (!$trigger.hasClass('directory') && $('#chmod_files_allowed').val()==1) {
options.items.chmod = {name: $('#lang_file_permission').val(),icon:"key", disabled:false };
}
else if ($trigger.hasClass('directory') && $('#chmod_dirs_allowed').val()==1) {
options.items.chmod = {name: $('#lang_file_permission').val(),icon:"key", disabled:false };
}
// fileinfo
options.items.sep = '----';
options.items.info = {name: "<strong>"+$('#lang_file_info').val()+"</strong>", disabled:true };
options.items.name = {name: $trigger.attr('data-name'),icon:'label', disabled:true };
if ($trigger.attr('data-type')=="img") {
options.items.dimension = {name: $trigger.find('.img-dimension').html(),icon:"dimension", disabled:true };
}
options.items.size = {name: $trigger.find('.file-size').html(),icon:"size", disabled:true };
options.items.date = {name: $trigger.find('.file-date').html(),icon:"date", disabled:true };
return options;
},
events: {
hide: function(opt){
$('figure').removeClass('selected');
}
}
});
$(document).on('contextmenu', function(e) {
if (!$(e.target).is("figure"))
return false;
});
}
// preview image
$('#full-img').on('click',function(){
$('#previewLightbox').lightbox('hide');
});
$('ul.grid').on('click','.modalAV', function(e) {
_this=$(this);
e.preventDefault();
$('#previewAV').removeData("modal");
$('#previewAV').modal({
backdrop: 'static',
keyboard: false
});
if (_this.hasClass('audio')) {
$(".body-preview").css('height','80px');
}else {
$(".body-preview").css('height','345px');
}
$.ajax({
url: _this.attr('data-url'),
success: function(data) {
$(".body-preview").html(data);
}
});
});
$('ul.grid').on('click','.file-preview-btn', function(e) {
_this=$(this);
e.preventDefault();
$.ajax({
url: _this.attr('data-url'),
success: function(data) {
bootbox.alert(data);
}
});
});
// sorting
$('input[name=radio-sort]').on('click',function(){
var li=$(this).attr('data-item');
$('.filters label').removeClass("btn-inverse");
$('.filters label').find('i').removeClass('icon-white');
$('#filter-input').val('');
$('#'+li).addClass("btn-inverse");
$('#'+li).find('i').addClass('icon-white');
if (li=='ff-item-type-all'){
$('.grid li').show(300);
}
else {
if ($(this).is(':checked')){
$('.grid li').not('.'+li).hide(300);
$('.grid li.'+li).show(300);
}
}
});
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
if (parseInt($('#file_number').val()) > parseInt($('#file_number_limit_js').val())) var js_script=false;
else var js_script=true;
$('#filter-input').on('keyup',function(){
$('.filters label').removeClass("btn-inverse");
$('.filters label').find('i').removeClass('icon-white');
$('#ff-item-type-all').addClass("btn-inverse");
$('#ff-item-type-all').find('i').addClass('icon-white');
var val=fix_filename($(this).val());
$(this).val(val);
delay(function(){
if (js_script) {
$('ul.grid li').each(function(){
var _this = $(this);
if (val!="" && _this.attr('data-name').toString().toLowerCase().indexOf(val.toLowerCase())==-1) {
_this.hide(100);
}else {
_this.show(100);
}
});
}
}, 300 );
}).keypress(function(e) {
if (e.which == 13) {
$('#filter').trigger('click');
}
});
// filtering
$('#filter').on('click',function(){
var val=fix_filename($('#filter-input').val());
window.location.href=$('#current_url').val()+"&filter="+val;
});
// info btn
$('#info').on('click',function(){
bootbox.alert('<center><img src="img/logo.png" alt="responsive filemanager"/><br/><br/><p><strong>RESPONSIVE filemanager v.'+version+'</strong><br/><a href="http://www.responsivefilemanager.com">responsivefilemanager.com</a></p><br/><p>Copyright © <a href="http://www.tecrail.com" alt="tecrail">Tecrail</a> - Alberto Peripolli. All rights reserved.</p><br/><p>License<br/><small><img alt="Creative Commons License" style="border-width:0" src="http://responsivefilemanager.com/license.php" /><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/">Creative Commons Attribution-NonCommercial 3.0 Unported License</a>.</small></p></center>');
});
$('#change_lang_btn').on('click',function(){
change_lang();
});
// upload btn
$('#uploader-btn').on('click',function(){
var path=$('#sub_folder').val()+$('#fldr_value').val()+"/";
path=path.substring(0, path.length - 1);
$('#iframe-container').html($('<iframe />', {
name: 'JUpload',
id: 'uploader_frame',
src: "uploader/index.php?path="+path,
frameborder: 0,
width: "100%",
height: 360
}));
});
$('.upload-btn').on('click',function(){
$('.uploader').show(500);
});
var sortDescending=$('#descending').val()=== 'true';
$('.sorter').on('click',function(){
_this=$(this);
if($('#sort_by').val() === _this.attr('data-sort')){
sortDescending = !sortDescending;
} else {
sortDescending = true;
}
if (js_script) {
$.ajax({
url: "ajax_calls.php?action=sort&sort_by="+_this.attr('data-sort')+"&descending="+sortDescending
}).done(function( msg ) {
});
sortUnorderedList('ul.grid',sortDescending,"."+_this.attr('data-sort'));
$(' a.sorter').removeClass('descending').removeClass('ascending');
if (sortDescending)
$('.sort-'+_this.attr('data-sort')).addClass("descending");
else
$('.sort-'+_this.attr('data-sort')).addClass("ascending");
$('#sort_by').val(_this.attr('data-sort'));
$('#descending').val(sortDescending);
}else {
window.location.href=$('#current_url').val()+"&sort_by="+_this.attr('data-sort')+"&descending="+sortDescending;
}
});
$('.close-uploader').on('click',function(){
$('.uploader').hide(500);
setTimeout(function(){window.location.href = $('#refresh').attr('href') + '&' + new Date().getTime();},420);
});
$('ul.grid').on('click','.preview',function(){
var _this = $(this);
$('#full-img').attr('src',decodeURIComponent(_this.attr('data-url')));
if (_this.hasClass('disabled')==false){
show_animation();
}
return true;
});
$('body').on('keypress',function(e){
var c = String.fromCharCode(e.which);
if (c=="'" || c=='"' || c=="\\" || c=='/') {
return false;
}
});
$('ul.grid').on('click','.rename-file',function(){
var _this = $(this);
var file_container=_this.parent().parent().parent();
var file_title=file_container.find('h4');
var old_name=$.trim(file_title.text());
bootbox.prompt($('#rename').val(),$('#cancel').val(),$('#ok').val(), function(name) {
if (name !== null){
name=fix_filename(name);
if (name!=old_name) {
execute_action('rename_file',_this.attr('data-path'),_this.attr('data-thumb'),name,file_container,'apply_file_rename');
}
}
},old_name);
});
$('ul.grid').on('click','.rename-folder',function(){
var _this = $(this);
var file_container=_this.parent().parent().parent();
var file_title=file_container.find('h4');
var old_name=$.trim(file_title.text());
bootbox.prompt($('#rename').val(),$('#cancel').val(),$('#ok').val(), function(name) {
if (name !== null){
name=fix_filename(name).replace('.','');
if (name!=old_name) {
execute_action('rename_folder',_this.attr('data-path'),_this.attr('data-thumb'),name,file_container,'apply_folder_rename');
}
}
},old_name);
});
$('ul.grid').on('click','.delete-file',function(){
var _this = $(this);
bootbox.confirm(_this.attr('data-confirm'),$('#cancel').val(),$('#ok').val(), function(result) {
if (result==true) {
execute_action('delete_file',_this.attr('data-path'),_this.attr('data-thumb'),'','','');
_this.parent().parent().parent().parent().remove();
}
});
});
$('ul.grid').on('click','.delete-folder',function(){
var _this = $(this);
bootbox.confirm(_this.attr('data-confirm'),$('#cancel').val(),$('#ok').val(), function(result) {
if (result==true) {
execute_action('delete_folder',_this.attr('data-path'),_this.attr('data-thumb'),'','','');
_this.parent().parent().parent().remove();
}
});
});
$('.create-file-btn').on('click',function(){
create_text_file();
});
$('.new-folder').on('click',function(){
bootbox.prompt($('#insert_folder_name').val(),$('#cancel').val(),$('#ok').val(), function(name) {
if (name !== null) {
name=fix_filename(name).replace('.','');
var folder_path=$('#sub_folder').val()+$('#fldr_value').val()+ name;
var folder_path_thumb=$('#cur_dir_thumb').val()+ name;
$.ajax({
type: "POST",
url: "execute.php?action=create_folder",
data: {path: folder_path, path_thumb: folder_path_thumb}
}).done(function( msg ) {
setTimeout(function(){window.location.href = $('#refresh').attr('href') + '&' + new Date().getTime();},300);
});
}
},$('#new_folder').val());
});
$('.view-controller button').on('click',function(){
var _this = $(this);
$('.view-controller button').removeClass('btn-inverse');
$('.view-controller i').removeClass('icon-white');
_this.addClass('btn-inverse');
_this.find('i').addClass('icon-white');
$.ajax({
url: "ajax_calls.php?action=view&type="+_this.attr('data-value')
}).done(function( msg ) {
if (msg!="") {
bootbox.alert(msg);
}
});
if (typeof $('ul.grid')[0] !== "undefined" && $('ul.grid')[0])
$('ul.grid')[0].className = $('ul.grid')[0].className.replace(/\blist-view.*?\b/g, '');
if (typeof $('.sorter-container')[0] !== "undefined" && $('.sorter-container')[0])
$('.sorter-container')[0].className = $('.sorter-container')[0].className.replace(/\blist-view.*?\b/g, '');
var value=_this.attr('data-value');
$('#view').val(value);
$('ul.grid').addClass('list-view'+value);
$('.sorter-container').addClass('list-view'+value);
if (_this.attr('data-value')>=1){
fix_colums(14);
}
else {
$('ul.grid li').css( "width",126);
$('ul.grid figure').css( "width",122);
}
});
if (!Modernizr.touch) {
$('.tip').tooltip({placement: "bottom"});
$('.tip-top').tooltip({placement: "top"});
$('.tip-left').tooltip({placement: "left"});
$('.tip-right').tooltip({placement: "right"});
$('body').addClass('no-touch');
}else {
$('#help').show();
//Enable swiping...
$(".box:not(.no-effect)").swipe( {
//Generic swipe handler for all directions
swipeLeft:swipe_reaction,
swipeRight:swipe_reaction,
//Default is 75px, set to 0 for demo so any distance triggers swipe
threshold:30
});
}
$('.paste-here-btn').on('click',function(){
if ($(this).hasClass('disabled') == false){
paste_to_this_dir();
}
});
$('.clear-clipboard-btn').on('click',function(){
if ($(this).hasClass('disabled') == false){
clear_clipboard();
}
});
// reverted to jquery from Modernizr.csstransforms because drag&drop
if(!Modernizr.csstransforms) { // Test if CSS transform are supported
$('figure').on('mouseover',function(){
if ($('#view').val()==0 && $('#main-item-container').hasClass('no-effect-slide') === false) {
$(this).find('.box:not(.no-effect)').animate({top: "-26px"} ,{queue:false,duration:300});
}
});
$('figure').on('mouseout', function(){
if ($('#view').val()==0) {
$(this).find('.box:not(.no-effect)').animate({top: "0px"} ,{queue:false,duration:300});
}
});
}
$(window).resize(function(){fix_colums(28); });
fix_colums(14);
// New link handler
function handleFileLink($el) {
window[$el.attr('data-function')]($el.attr('data-file'), $el.attr('data-field_id'));
}
$('ul.grid .link').on('click',function(){
handleFileLink($(this));
});
$('ul.grid div.box').on('click',function(e){
var fileLink = $(this).find(".link");
if (fileLink.length!==0) {
handleFileLink(fileLink);
}
else {
var folderLink = $(this).find(".folder-link");
if (folderLink.length!==0)
document.location = $(folderLink).prop("href");
}
});
// End of link handler
if ($('#clipboard').val() == 1){
toggle_clipboard(true);
}
else {
toggle_clipboard(false);
}
// Drag & Drop
$('li.dir, li.file').draggable({
distance: 20,
cursor: "move",
helper: function(){
//hack all the way through
$(this).find('figure').find('.box').css("top", "0px");
var ret=$(this).clone().css("z-index", 1000).find('.box').css("box-shadow", "none").css("-webkit-box-shadow", "none").parent().parent();
$(this).addClass('selected');
return ret;
},
start: function(){
if ($('#view').val()==0) {
$('#main-item-container').addClass('no-effect-slide');
}
},
stop: function(){
$(this).removeClass('selected');
if ($('#view').val()==0) {
$('#main-item-container').removeClass('no-effect-slide');
}
}
});
$('li.dir,li.back').droppable({
accept: "ul.grid li",
activeClass: "ui-state-highlight",
hoverClass: "ui-state-hover",
drop: function(event, ui){
drag_n_drop_paste(ui.draggable.find('figure'), $(this).find('figure'));
}
});
// file permissions window
$(document).on("keyup", '#chmod_form #chmod_value', function()
{
chmod_logic(true);
});
//safety
$(document).on("focusout", '#chmod_form #chmod_value', function()
{
var chmod_temp_val = $('#chmod_form #chmod_value').val();
if (chmod_temp_val.match(/^[0-7]{3}$/) == null)
{
var def_val = $('#chmod_form #chmod_value').attr('data-def-value');
$('#chmod_form #chmod_value').val(def_val);
chmod_logic(true);
}
});
});
function create_text_file() {
// remove to prevent duplicates
$('#textfile_create_area').parent().parent().remove();
var init_form = $('#lang_filename').val() + ': <input type="text" id="create_text_file_name" style="min-height:30px"><br><hr><textarea id="textfile_create_area" style="width:100%;height:150px;"></textarea>';
bootbox.dialog(init_form,
[
{
"label" : $('#cancel').val(),
"class" : "btn"
},
{
"label" : $('#ok').val(),
"class" : "btn-inverse",
"callback": function() {
var newFileName = $('#create_text_file_name').val();
var newContent = $('#textfile_create_area').val();
if (newFileName !== null)
{
newFileName = fix_filename(newFileName);
var folder_path = $('#sub_folder').val()+$('#fldr_value').val()+ newFileName;
var folder_path_thumb = $('#cur_dir_thumb').val()+ newFileName;
// post ajax
$.ajax({
type: "POST",
url: "execute.php?action=create_file",
data: {path: folder_path, path_thumb: folder_path_thumb, name: newFileName, new_content: newContent}
}).done(function( status_msg ) {
if (status_msg!=""){
bootbox.alert(status_msg, function (result) {
setTimeout(function(){window.location.href = $('#refresh').attr('href') + '&' + new Date().getTime();},500);
});
}
});
}
}
}
],
{
"header" :$('#lang_new_file').val()
});
}
function edit_text_file($trigger) {
// remove to prevent duplicates
$('#textfile_edit_area').parent().parent().remove();
var thumb_path = $trigger.find('.rename-file').attr('data-thumb');
var full_path = $trigger.find('.rename-file').attr('data-path');
$.ajax({
type: "POST",
url: "ajax_calls.php?action=get_file&sub_action=edit",
data: {path: full_path}
}).done(function( init_content )
{
bootbox.dialog(init_content,
[
{
"label" : $('#cancel').val(),
"class" : "btn"
},
{
"label" : $('#ok').val(),
"class" : "btn-inverse",
"callback": function() {
var newContent = $('#textfile_edit_area').val();
// post ajax
$.ajax({
type: "POST",
url: "execute.php?action=save_text_file",
data: {path: full_path, path_thumb: thumb_path, new_content: newContent}
}).done(function( status_msg ) {
if (status_msg!=""){
bootbox.alert(status_msg);
}
});
}
}
],
{
"header" : $trigger.find('.name_download').val()
});
});
}
function change_lang() {
$.ajax({
type: "POST",
url: "ajax_calls.php?action=get_lang",
data: {}
}).done(function( init_msg )
{
bootbox.dialog(init_msg,
[
{
"label" : $('#cancel').val(),
"class" : "btn"
},
{
"label" : $('#ok').val(),
"class" : "btn-inverse",
"callback": function() {
// get new lang
var newLang = $('#new_lang_select option:selected').val();
// post ajax
$.ajax({
type: "POST",
url: "ajax_calls.php?action=change_lang",
data: {choosen_lang: newLang}
}).done(function( error_msg ) {
if (error_msg!=""){
bootbox.alert(error_msg);
}
else {
setTimeout(function(){window.location.href = $('#refresh').attr('href') + '&' + new Date().getTime();},500);
}
});
}
}
],
{
"header" : $('#lang_lang_change').val()
});
});
}
function chmod($trigger) {
// remove to prevent duplicates
$('#files_permission_start').parent().parent().remove();
if (!$trigger.hasClass('directory')){
var thumb_path = $trigger.find('.rename-file').attr('data-thumb');
var full_path = $trigger.find('.rename-file').attr('data-path');
}
else {
var thumb_path = $trigger.find('.rename-folder').attr('data-thumb');
var full_path = $trigger.find('.rename-folder').attr('data-path');
}
// ajax -> box -> ajax -> box -> mind blown
$.ajax({
type: "POST",
url: "ajax_calls.php?action=chmod",
data: { path: full_path, path_thumb: thumb_path }
}).done(function( init_msg )
{
bootbox.dialog(init_msg,
[
{
"label" : $('#cancel').val(),
"class" : "btn"
},
{
"label" : $('#ok').val(),
"class" : "btn-inverse",
"callback": function() {
// get new perm
var newPerm = $('#chmod_form #chmod_value').val();
if (newPerm != '' && typeof newPerm !== "undefined")
{
// get recursive option if any
var recOpt = $('#chmod_form input[name=apply_recursive]:checked').val();
if (recOpt == '' || typeof recOpt === "undefined"){
recOpt = 'none';
}
// post ajax
$.ajax({
type: "POST",
url: "execute.php?action=chmod",
data: {path: full_path, path_thumb: thumb_path, new_mode: newPerm, is_recursive: recOpt}
}).done(function( status_msg ) {
if (status_msg!=""){
bootbox.alert(status_msg);
}
});
}
}
}
],
{
"header" : $('#lang_file_permission').val()
});
});
}
function chmod_logic(is_text) {
var perm = [];
perm['user'] = 0;
perm['group'] = 0;
perm['all'] = 0;
// value was set by text input
if (typeof is_text !== "undefined" && is_text == true){
// assign values
var newperm = $('#chmod_form #chmod_value').val();
perm['user'] = newperm.substr(0,1);
perm['group'] = newperm.substr(1,1);
perm['all'] = newperm.substr(2,1);
// check values for errors (empty,not num, not 0-7)
$.each(perm, function(index) {
if ( perm[index] == '' ||
$.isNumeric(perm[index]) == false ||
(parseInt(perm[index]) < 0 || parseInt(perm[index]) > 7) )
{
perm[index] = "0";
}
});
// update checkboxes
$('#chmod_form input:checkbox').each(function() {
var group = $(this).attr('data-group');
var val = $(this).attr('data-value');
if (chmod_logic_helper(perm[group], val)){
$(this).prop('checked', true);
}
else {
$(this).prop('checked', false);
}
});
}
else { //a checkbox was updated
$('#chmod_form input:checkbox:checked').each(function() {
var group = $(this).attr('data-group');
var val = $(this).attr('data-value');
perm[group] = parseInt(perm[group]) + parseInt(val);
});
$('#chmod_form #chmod_value').val(perm['user'].toString() + perm['group'].toString() + perm['all'].toString());
}
}
function chmod_logic_helper(perm, val){
var valid = [];
valid[1] = [1,3,5,7];
valid[2] = [2,3,6,7];
valid[4] = [4,5,6,7];
perm = parseInt(perm);
val = parseInt(val);
if ($.inArray(perm, valid[val]) != -1){
return true;
}
else {
return false;
}
}
function clear_clipboard() {
bootbox.confirm($('#lang_clear_clipboard_confirm').val(),$('#cancel').val(),$('#ok').val(), function(result) {
if (result == true){
$.ajax({
type: "POST",
url: "ajax_calls.php?action=clear_clipboard",
data: {}
}).done(function( msg ) {
if (msg!="")
bootbox.alert(msg);
else
$('#clipboard').val('0');
toggle_clipboard(false);
});
}
});
}
function copy_cut_clicked($trigger, atype) {
if (atype != 'copy' && atype != 'cut'){
return;
}
if (!$trigger.hasClass('directory')){
var thumb_path = $trigger.find('.rename-file').attr('data-thumb');
var full_path = $trigger.find('.rename-file').attr('data-path');
}
else {
var thumb_path = $trigger.find('.rename-folder').attr('data-thumb');
var full_path = $trigger.find('.rename-folder').attr('data-path');
}
$.ajax({
type: "POST",
url: "ajax_calls.php?action=copy_cut",
data: { path: full_path, path_thumb: thumb_path, sub_action: atype }
}).done(function( msg ) {
if (msg!=""){
bootbox.alert(msg);
}
else {
$('#clipboard').val("1");
toggle_clipboard(true);
}
});
}
function paste_to_this_dir(dnd) {
bootbox.confirm($('#lang_paste_confirm').val(),$('#cancel').val(),$('#ok').val(), function(result) {
if (result == true){
if (typeof dnd != 'undefined'){
var folder_path = dnd.find('.rename-folder').attr('data-path');
var folder_path_thumb = dnd.find('.rename-folder').attr('data-thumb');
}
else {
var folder_path = $('#sub_folder').val()+$('#fldr_value').val();
var folder_path_thumb = $('#cur_dir_thumb').val();
}
$.ajax({
type: "POST",
url: "execute.php?action=paste_clipboard",
data: {path: folder_path, path_thumb: folder_path_thumb}
}).done(function( msg ) {
if (msg!=""){
bootbox.alert(msg);
}
else {
$('#clipboard').val('0');
toggle_clipboard(false);
setTimeout(function(){window.location.href = $('#refresh').attr('href') + '&' + new Date().getTime();},300);
}
});
}
});
}
// Had to separate from copy_cut_clicked & paste_to_this_dir func
// because of feedback and on error bahhhhh...
function drag_n_drop_paste($trigger, dnd){
if (!$trigger.hasClass('directory')){
var thumb_path = $trigger.find('.rename-file').attr('data-thumb');
var full_path = $trigger.find('.rename-file').attr('data-path');
}
else {
var thumb_path = $trigger.find('.rename-folder').attr('data-thumb');
var full_path = $trigger.find('.rename-folder').attr('data-path');
}
$.ajax({
type: "POST",
url: "ajax_calls.php?action=copy_cut",
data: { path: full_path, path_thumb: thumb_path, sub_action: 'cut' }
}).done(function( msg ) {
if (msg!=""){
bootbox.alert(msg);
}
else {
if (typeof dnd != 'undefined'){
if(dnd.hasClass('back-directory')){
var folder_path=dnd.find('.path').val();
var folder_path_thumb=dnd.find('.path_thumb').val();
}else{
var folder_path = dnd.find('.rename-folder').attr('data-path');
var folder_path_thumb = dnd.find('.rename-folder').attr('data-thumb');
}
}
else {
var folder_path = $('#sub_folder').val()+$('#fldr_value').val();
var folder_path_thumb = $('#cur_dir_thumb').val();
}
$.ajax({
type: "POST",
url: "execute.php?action=paste_clipboard",
data: {path: folder_path, path_thumb: folder_path_thumb}
}).done(function( msg ) {
if (msg!=""){
bootbox.alert(msg);
}
else {
$('#clipboard').val('0');
toggle_clipboard(false);
$trigger.parent().remove();
}
});
}
});
}
function toggle_clipboard(lever) {
if (lever == true){
$('.paste-here-btn, .clear-clipboard-btn').removeClass('disabled');
}
else {
$('.paste-here-btn, .clear-clipboard-btn').addClass('disabled');
}
}
function fix_colums(adding) {
var width=$('.breadcrumb').width()+adding;
$('.uploader').css('width',width);
if ($('#view').val()>0){
if ($('#view').val()==1) {
$('ul.grid li, ul.grid figure').css( "width", '100%');
}else {
var col=Math.floor(width/380);
if (col==0){
col=1;
$('h4').css('font-size',12);
}
width=Math.floor((width/col)-3);
$('ul.grid li, ul.grid figure').css( "width", width);
}
$('#help').hide();
}else {if (Modernizr.touch) {
$('#help').show();
}}
}
function swipe_reaction(event, direction, distance, duration, fingerCount) {
var _this = $(this);
if ($('#view').val()==0) {
if (_this.attr('toggle')==1) {
_this.attr('toggle',0);
_this.animate({top: "0px"} ,{queue:false,duration:300});
}else {
_this.attr('toggle',1);
_this.animate({top: "-30px"} ,{queue:false,duration:300});
}
}
}
function encodeURL(url){
var tmp=url.split('/');
for(var i=3;i<tmp.length;i++){
tmp[i]=encodeURIComponent(tmp[i]);
}
return tmp.join('/');
}
function apply(file,external){
if ($('#popup').val()==1) var window_parent=window.opener; else var window_parent=window.parent;
var path = $('#cur_dir').val();
//path = path.replace('\\', '/');
var base_url = $('#base_url').val();
var alt_name=file.substr(0, file.lastIndexOf('.'));
var ext=file.split('.').pop();
ext=ext.toLowerCase();
var fill='';
var ext_audio=new Array('ogg','mp3','wav');
var ext_video=new Array('mp4','ogg','webm');
var url= encodeURL(base_url+path+file);
if (external!=""){
if ($('#crossdomain').val()==1){
window_parent.postMessage({
sender: 'responsivefilemanager',
url: url,
field_id : external
},
'*'
);
} else {
var target = $('#'+external, window_parent.document);
target.val(url).trigger('change');
if(typeof window_parent.responsive_filemanager_callback == 'function'){
window_parent.responsive_filemanager_callback(external);
}
close_window();
}
}else{
if ($.inArray(ext, ext_img) > -1){
fill='<img src="'+url+'" alt="'+alt_name+'" />';
}else {
if ($.inArray(ext, ext_video) > -1){
fill='<video controls source src="'+url+'" type="video/'+ext+'">'+alt_name+'</video>';
}else {
if ($.inArray(ext, ext_audio) > -1 ){
if (ext=='mp3') { ext='mpeg'; }
fill='<audio controls src="'+url+'" type="audio/'+ext+'">'+alt_name+'</audio>';
}else {
fill='<a href="'+url+'" title="'+alt_name+'">'+alt_name+'</a>';
}
}
}
if ($('#crossdomain').val()==1){
window_parent.postMessage({
sender: 'responsivefilemanager',
url: url,
field_id : null,
html: fill
},
'*'
);
} else {
// tinymce 3.X
if ( parent.tinymce.majorVersion < 4 )
{
parent.tinymce.activeEditor.execCommand('mceInsertContent', false, fill);
parent.tinymce.activeEditor.windowManager.close( parent.tinymce.activeEditor.windowManager.params.mce_window_id );
}
// tinymce 4.X
else
{
parent.tinymce.activeEditor.insertContent(fill);
parent.tinymce.activeEditor.windowManager.close();
}
}
}
}
function apply_link(file,external){
if ($('#popup').val()==1) var window_parent=window.opener; else var window_parent=window.parent;
var path = $('#cur_dir').val();
path = path.replace('\\', '/');
var base_url = $('#base_url').val();
var url= encodeURL(base_url+path+file);
if (external!=""){
if ($('#crossdomain').val()==1){
window_parent.postMessage({
sender: 'responsivefilemanager',
url: url,
field_id : external
},
'*'
);
} else {
var target = $('#'+external, window_parent.document);
target.val(url).trigger('change');
if(typeof window_parent.responsive_filemanager_callback == 'function'){
window_parent.responsive_filemanager_callback(external);
}
close_window();
}
}else{
apply_any(url);
}
}
function apply_img(file,external){
if ($('#popup').val()==1) var window_parent=window.opener; else var window_parent=window.parent;
var path = $('#cur_dir').val();
path = path.replace('\\', '/');
var base_url = $('#base_url').val();
var url= encodeURL(base_url+path+file);
if (external!=""){
if ($('#crossdomain').val()==1){
window_parent.postMessage({
sender: 'responsivefilemanager',
url: url,
field_id : external
},
'*'
);
} else {
var target = $('#'+external, window_parent.document);
target.val(url).trigger('change');
if(typeof window_parent.responsive_filemanager_callback == 'function'){
window_parent.responsive_filemanager_callback(external);
}
close_window();
}
}else{
apply_any(url);
}
}
function apply_video(file,external){
if ($('#popup').val()==1) var window_parent=window.opener; else var window_parent=window.parent;
var path = $('#cur_dir').val();
path = path.replace('\\', '/');
var base_url = $('#base_url').val();
var url= encodeURL(base_url+path+file);
if (external!=""){
if ($('#crossdomain').val()==1){
window_parent.postMessage({
sender: 'responsivefilemanager',
url: url,
field_id : external
},
'*'
);
} else {
var target = $('#'+external, window_parent.document);
target.val(url).trigger('change');
if(typeof window_parent.responsive_filemanager_callback == 'function'){
window_parent.responsive_filemanager_callback(external);
}
close_window();
}
}else{
apply_any(url);
}
}
function apply_none(file,external){
var _this=$('li[data-name="'+file+'"]').find('.preview');
if (_this.html()!="" && _this.html()!==undefined){
$('#full-img').attr('src',decodeURIComponent(_this.attr('data-url')));
if (_this.hasClass('disabled')==false){
show_animation();
$('#previewLightbox').lightbox();
}
}else {
var _this=$('li[data-name="'+file+'"]').find('a.file-preview-btn');
if (_this.html()!="" && _this.html()!==undefined){
$.ajax({
url: _this.attr('data-url'),
success: function(data) {
bootbox.alert(data);
}
});
}else{
var _this=$('li[data-name="'+file+'"]').find('.modalAV');
$('#previewAV').removeData("modal");
$('#previewAV').modal({
backdrop: 'static',
keyboard: false
});
if (_this.hasClass('audio')) {
$(".body-preview").css('height','80px');
}else {
$(".body-preview").css('height','345px');
}
$.ajax({
url: decodeURIComponent(_this.attr('data-url')),
success: function(data) {
$(".body-preview").html(data);
}
});
}
}
return;
}
function apply_any(url) {
if ($('#crossdomain').val()==1){
window.parent.postMessage({
sender: 'responsivefilemanager',
url: url,
field_id : null
},
'*'
);
} else {
// tinymce 3.X
if ( parent.tinymce.majorVersion < 4 )
{
parent.tinymce.activeEditor.windowManager.params.setUrl(url);
parent.tinymce.activeEditor.windowManager.close( parent.tinymce.activeEditor.windowManager.params.mce_window_id );
}
// tinymce 4.X
else
{
parent.tinymce.activeEditor.windowManager.getParams().setUrl(url);
parent.tinymce.activeEditor.windowManager.close();
}
}
return false;
}
function close_window() {
if ($('#popup').val()==1){
window.close();
}else{
if(typeof parent.jQuery !== "undefined" && parent.jQuery) {
parent.jQuery.fancybox.close();
}else{
parent.$.fancybox.close();
}
}
}
function apply_file_duplicate(container,name){
var li_container=container.parent().parent().parent().parent();
li_container.after("<li class='"+li_container.attr('class')+"' data-name='"+li_container.attr('data-name')+"'>"+li_container.html()+"</li>");
var cont=li_container.next();
apply_file_rename(cont.find('figure'),name);
var form=cont.find('.download-form');
var new_form_id='form'+new Date().getTime();
form.attr('id',new_form_id);
form.find('.tip-right').attr('onclick',"$('#"+new_form_id+"').submit();");
}
function apply_file_rename(container,name) {
container.attr('data-name',name);
container.parent().attr('data-name',name);
container.find('h4').find('a').text(name);
//select link
var link=container.find('a.link');
var file=link.attr('data-file');
var old_name=file.substring(file.lastIndexOf('/') + 1);
var extension=file.substring(file.lastIndexOf('.') + 1);
link.each(function(){
$(this).attr('data-file',encodeURIComponent(name+"."+extension));
});
//thumbnails
container.find('img').each(function(){
var src =$(this).attr('src');
$(this).attr('src',src.replace(old_name,name+"."+extension)+'?time=' + new Date().getTime());
$(this).attr('alt',name+" thumbnails");
});
//preview link
var link2=container.find('a.preview');
var file= link2.attr('data-url');
if (typeof file !=="undefined" && file) {
link2.attr('data-url',file.replace(encodeURIComponent(old_name),encodeURIComponent(name+"."+extension)));
}
//li data-name
container.parent().attr('data-name',name+"."+extension);
container.attr('data-name',name+"."+extension);
//download link
container.find('.name_download').val(name+"."+extension);
//rename link && delete link
var link3=container.find('a.rename-file');
var link4=container.find('a.delete-file');
var path_old=link3.attr('data-path');
var path_thumb=link3.attr('data-thumb');
var new_path=path_old.replace(old_name,name+"."+extension);
var new_thumb=path_thumb.replace(old_name,name+"."+extension);
link3.attr('data-path',new_path);
link3.attr('data-thumb',new_thumb);
link4.attr('data-path',new_path);
link4.attr('data-thumb',new_thumb);
}
function apply_folder_rename(container,name) {
container.attr('data-name',name);
container.find('figure').attr('data-name',name);
var old_name=container.find('h4').find('a').text();
container.find('h4 > a').text(name);
//select link
var link=container.find('.folder-link');
var url=link.attr('href');
var fldr=$('#fldr_value').val();
var new_url=url.replace('fldr='+fldr+encodeURIComponent(old_name),'fldr='+fldr+encodeURIComponent(name));
link.each(function(){
$(this).attr('href',new_url);
});
//rename link && delete link
var link2=container.find('a.delete-folder');
var link3=container.find('a.rename-folder');
var path_old=link3.attr('data-path');
var thumb_old=link3.attr('data-thumb');
var index = path_old.lastIndexOf('/');
var new_path = path_old.substr(0, index + 1)+name;
link2.attr('data-path',new_path);
link3.attr('data-path',new_path);
var index = thumb_old.lastIndexOf('/');
var new_path = thumb_old.substr(0, index + 1)+name;
link2.attr('data-thumb',new_path);
link3.attr('data-thumb',new_path);
}
function replace_last(str,find,replace) {
var re= new RegExp(find+"$");
return str.replace(re, replace);
}
function replaceDiacritics(s)
{
var s;
var diacritics =[
/[\300-\306]/g, /[\340-\346]/g, // A, a
/[\310-\313]/g, /[\350-\353]/g, // E, e
/[\314-\317]/g, /[\354-\357]/g, // I, i
/[\322-\330]/g, /[\362-\370]/g, // O, o
/[\331-\334]/g, /[\371-\374]/g, // U, u
/[\321]/g, /[\361]/g, // N, n
/[\307]/g, /[\347]/g // C, c
];
var chars = ['A','a','E','e','I','i','O','o','U','u','N','n','C','c'];
for (var i = 0; i < diacritics.length; i++)
{
s = s.replace(diacritics[i],chars[i]);
}
return s;
}
function fix_filename(stri) {
if (stri!=null) {
if ($('#transliteration').val()=="true") {
stri=replaceDiacritics(stri);
stri=stri.replace(/[^A-Za-z0-9\.\-\[\]\ \_]+/g, '');
}
if ($('#convert_spaces').val()=="true") {
stri=stri.replace(' ','_');
}
stri=stri.replace('"','');
stri=stri.replace("'",'');
stri=stri.replace("/",'');
stri=stri.replace("\\",'');
stri=stri.replace(/<\/?[^>]+(>|$)/g, "");
return $.trim(stri);
}
return null;
}
function execute_action(action,file1,file2,name,container,function_name){
if (name!==null) {
name=fix_filename(name);
$.ajax({
type: "POST",
url: "execute.php?action="+action,
data: {path: file1, path_thumb: file2, name: name.replace('/','')}
}).done(function( msg ) {
if (msg!="") {
bootbox.alert(msg);
return false;
}else {
if (function_name!="") {
window[function_name](container,name);
}
}
return true;
});
}
}
function sortUnorderedList(ul, sortDescending,sort_field) {
if (typeof ul == "string")
ul = $(ul);
var lis_dir = ul.find("li.dir");
var lis_file = ul.find("li.file");
var vals_dir = [];
var values_dir = [];
var vals_file = [];
var values_file = [];
$.each(lis_dir,function(index){
var _this=$(this);
var value=_this.find(sort_field).val();
if ($.isNumeric(value)) {
value=parseFloat(value);
while (typeof vals_dir[value] !== "undefined" && vals_dir[value] ) {
value=parseFloat(parseFloat(value)+parseFloat(0.001));
}
}else {
value=value+"a"+_this.find('h4 a').attr('data-file');
}
vals_dir[value]=_this.html();
values_dir.push(value);
});
$.each(lis_file,function(index){
var _this=$(this);
var value=_this.find(sort_field).val();
if ($.isNumeric(value)) {
value=parseFloat(value);
while (typeof vals_file[value] !== "undefined" && vals_file[value] ) {
value=parseFloat(parseFloat(value)+parseFloat(0.001));
}
}else {
value=value+"a"+_this.find('h4 a').attr('data-file');
}
vals_file[value]=_this.html();
values_file.push(value);
});
if ($.isNumeric(values_dir[0])) {
values_dir.sort(function(a,b){return parseFloat(a)-parseFloat(b);});
}else {
values_dir.sort();
}
if ($.isNumeric(values_file[0])) {
values_file.sort(function(a,b){return parseFloat(a)-parseFloat(b); });
}else {
values_file.sort();
}
if (sortDescending){
values_dir.reverse();
values_file.reverse();
}
$.each(lis_dir,function(index){
var _this=$(this);
_this.html(vals_dir[values_dir[index]]);
});
$.each(lis_file,function(index){
var _this=$(this);
_this.html(vals_file[values_file[index]]);
});
}
function show_animation()
{
$('#loading_container').css('display', 'block');
$('#loading').css('opacity', '.7');
}
function hide_animation()
{
$('#loading_container').fadeOut();
}
function launchEditor(id, src) {
featherEditor.launch({
image: id,
url: src
});
return false;
}