1(function(jQuery) 2{ 3 jQuery.fn.hasAttr = function(name) 4 { 5 for(var i = 0, l = this.length; i < l; i++) 6 { 7 if(!!(this.attr(name) !== undefined)) return true; 8 } 9 return false; 10 }; 11})(jQuery); 12jQuery(document).ready(function($) 13{ 14 // FLASH BODY WIDTH FOR WEB FONTS 15 setTimeout(function(){ 16 $('body').width($('body').width()+1).width('auto'); 17 }, 250); 18 // OPEN RSS LINKS 19 $('span.ssfa-rssmini').on('click', function() 20 { 21 window.open($(this).data('href')); 22 }); 23}); 24FlightBoxes = []; 25jQuery(document).ready(function($) 26{ 27 flightbox = function(url, uid, theme, icons, nolinks) 28 { 29 var in_iframe = (window.location != window.parent.location) ? 'iframe ' : ''; 30 if(typeof(url) === 'undefined') url = false; 31 if(!url) return false; 32 var id = uid.split("-"); 33 var flightbox_nonce = $('div.flightbox-parent[data-uid="'+id[0]+'"]').data('fbn'); 34 if(!$('#ssfa-flightbox-shadow').length) 35 { 36 var FlightBox = $('<div id="ssfa-flightbox" />'); 37 var FlightBoxCont = $('<div class="ssfa-flightbox-controls" />'); 38 var theShadow = $('<div id="ssfa-flightbox-shadow" class="'+theme+'" />'); 39 $('body', window.top.document).append(theShadow); 40 $('body', window.top.document).append(FlightBox); 41 theShadow.hide(); 42 FlightBox.hide(); 43 } 44 else 45 { 46 var FlightBox = $('div#ssfa-flightbox', window.top.document); 47 var FlightBoxCont = $('div.ssfa-flightbox-controls', window.top.document); 48 var theShadow = $('div#ssfa-flightbox-shadow', window.top.document); 49 } 50 theShadow.on('click', function(e) 51 { 52 Xflightbox(); 53 }); 54 $('body').on("contextmenu", 'div#ssfa-flightbox-shadow, div#ssfa-flightbox', function() 55 { 56 return false; 57 }); 58 if(!$('div.flightbox-spinner').length) 59 { 60 var loading = $( 61 '<div class="flightbox-spinner">'+ 62 '<div class="fb-rect1"></div>'+ 63 '<div class="fb-rect2"></div>'+ 64 '<div class="fb-rect3"></div>'+ 65 '<div class="fb-rect4"></div>'+ 66 '<div class="fb-rect5"></div>'+ 67 '</div>' 68 ); 69 } 70 else var loading = $('div.flightbox-spinner'); 71 FlightBoxCont.prepend(loading); 72 var total = FlightBoxes[id[0]]; 73 var next = id[1] >= total ? 1 : (+id[1]+1); 74 var prev = id[1] == 1 ? total : (+id[1]-1); 75 $next = $('div.ssfa-meta-container[data-uid="'+id[0]+'"] a[data-flightbox="'+(next)+'"]'); 76 $next = $next.length 77 ? $next.get(0).attributes.onclick.value 78 : $('iframe').contents().find('div.ssfa-meta-container[data-uid="'+id[0]+'"] a[data-flightbox="'+(next)+'"]').get(0).attributes.onclick.value; 79 $prev = $('div.ssfa-meta-container[data-uid="'+id[0]+'"] a[data-flightbox="'+(prev)+'"]'); 80 $prev = $prev.length 81 ? $prev.get(0).attributes.onclick.value 82 : $('iframe').contents().find('div.ssfa-meta-container[data-uid="'+id[0]+'"] a[data-flightbox="'+(prev)+'"]').get(0).attributes.onclick.value; 83 $current = $('div.ssfa-meta-container[data-uid="'+id[0]+'"] a[data-flightbox="'+(id[1])+'"]'); 84 $current = $current.length 85 ? $current.get(0).attributes.onclick.value 86 : $('iframe').contents().find('div.ssfa-meta-container[data-uid="'+id[0]+'"] a[data-flightbox="'+(id[1])+'"]').get(0).attributes.onclick.value; 87 $nexturl = $('div.ssfa-meta-container[data-uid="'+id[0]+'"] a[data-flightbox="'+(next)+'"]'); 88 $nexturl = $nexturl.length 89 ? $nexturl.attr('href') 90 : $('iframe').contents().find('div.ssfa-meta-container[data-uid="'+id[0]+'"] a[data-flightbox="'+(next)+'"]').attr('href'); 91 $prevurl = $('div.ssfa-meta-container[data-uid="'+id[0]+'"] a[data-flightbox="'+(prev)+'"]'); 92 $prevurl = $prevurl.length 93 ? $prevurl.attr('href') 94 : $('iframe').contents().find('div.ssfa-meta-container[data-uid="'+id[0]+'"] a[data-flightbox="'+(prev)+'"]').attr('href'); 95 $url = $('div.ssfa-meta-container[data-uid="'+id[0]+'"] a[data-flightbox="'+(id[1])+'"]'); 96 $url = $url.length 97 ? $url.attr('href') 98 : $('iframe').contents().find('div.ssfa-meta-container[data-uid="'+id[0]+'"] a[data-flightbox="'+(id[1])+'"]').attr('href'); 99 var wh = $(window.top).height(); 100 var ww = $(window.top).width(); 101 theShadow.fadeIn(250); 102 $.post 103 ( 104 fileaway_mgmt.ajaxurl, 105 { 106 action : 'fileaway-manager', 107 act : 'flightbox', 108 url : url, 109 uid : String(uid), 110 theme : theme, 111 icons : icons, 112 wh : wh, 113 ww : ww, 114 next : $next, 115 prev : $prev, 116 nexturl : $nexturl, 117 prevurl : $prevurl, 118 currenturl : $url, 119 current : $current, 120 nolinks : nolinks, 121 nonce : fileaway_mgmt.nonce, 122 flightbox_nonce : flightbox_nonce 123 }, 124 function(response) 125 { 126 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 127 if('status' in response) 128 { 129 if(response.status == 'error') 130 { 131 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 132 filertify.alert(response.message); 133 return false; 134 } 135 else 136 { 137 $('div#ssfa-flightbox-inner', window.top.document).animate({opacity:'0'}, 250); 138 $('div.ssfa-flightbox-controls a', window.top.document).animate({opacity:'0'}, 0); 139 loading.remove(); 140 setTimeout(function() 141 { 142 FlightBox.animate 143 ({ 144 left: response.offset, 145 height: response.height, 146 width: response.width, 147 top: response.top 148 }, 250, 149 function() 150 { 151 $(this).replaceWith(response.html); 152 $('div#ssfa-flightbox-inner', window.top.document).animate({opacity:'1'}, 250); 153 $('div.ssfa-flightbox-controls span', window.top.document).css({opacity:'0.8'}); 154 if(response.iframe == 'true', window.top.document) 155 { 156 $('div#ssfa-flightbox-inner iframe', window.top.document).width(response.iwidth); 157 $('div#ssfa-flightbox-inner iframe', window.top.document).height(response.iheight); 158 } 159 });
160 },250); 161 } 162 } 163 else 164 { 165 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 166 filertify.alert('An unknown error occurred: no status returned'); 167 return false; 168 } 169 } 170 ) 171 return false; 172 } 173 // close the flightbox 174 Xflightbox = function() 175 { 176 $('div#ssfa-flightbox', window.parent.document).fadeOut(250, function(){$(this).remove();}); 177 $('div#ssfa-flightbox-shadow', window.parent.document).fadeOut(250, function(){$(this).remove();}); 178 } 179}); 180jQuery(document).ready(function($) 181{ 182 // Bulk Download Check 183 if($('span[id^=ssfa-bulk-download-engage]').length) 184 { 185 // Cache the Data on DOM Ready 186 $('table.bd-table tr[id^=ssfa-file-]').each(function() 187 { 188 $sfx = this.id; 189 $type = $('td#filetype-'+$sfx).data('ext'); 190 $path = $('td#filename-'+$sfx).data('path'); 191 $name = $('td#filename-'+$sfx).data('name'); 192 }); 193 // Bulk Download Select All Function 194 $checkall = $('input[id^="ssfa-bulk-download-select-all-"]'); 195 $checkall.on('change', function() 196 { 197 $uid = this.id; 198 $uid = $uid.replace('ssfa-bulk-download-select-all-', ''); 199 $selectalltext = $(this).data('selectall'); 200 $clearalltext = $(this).data('clearall'); 201 $selectall = $('label#ssfa-bulkdownload-select-all-'+$uid); 202 if(this.checked) 203 { 204 $selectall.text($clearalltext); 205 $('table.bd-table tr[id^=ssfa-file-'+$uid+']').addClass('ssfabd-selected'); 206 $('table.bd-table tr[id^=ssfa-file-'+$uid+'].fileaway-dynamic').removeClass('ssfabd-selected'); 207 } 208 else 209 { 210 $selectall.text($selectalltext); 211 $('table.bd-table tr[id^=ssfa-file-'+$uid+']').removeClass('ssfabd-selected'); 212 } 213 }); 214 // Bulk Download Toggle Selected Files 215 $('table.bd-table tr[id^=ssfa-file-]').each(function() 216 { 217 $(this).on('click', function(e) 218 { 219 var target = $(e.target); 220 if(!target.is('a', this) 221 && !target.is('span', this) 222 && !target.is('div.ssfa-audio-download', this) 223 && !target.is('div.ssfa-player', this) 224 && !target.is('div.ssfa-player-extended', this)) 225 { 226 if($(this).hasClass('ssfabd-selected')) $(this).removeClass('ssfabd-selected'); 227 else if(!$(this).hasClass('fileaway-dynamic')) $(this).addClass('ssfabd-selected'); 228 } 229 }); 230 }); 231 // Bulk Download Engage Function 232 $('span[id^="ssfa-bulk-download-engage-"]').on('click', function() 233 { 234 $uid = this.id; 235 $uid = $uid.replace('ssfa-bulk-download-engage-', ''); 236 $loading = $('img#ssfa-engage-ajax-loading-'+$uid); 237 var stats = $('table#ssfa-table-'+$uid).data('stats') ? 'true' : 'false'; 238 var bulkdownload_nonce = $('table#ssfa-table-'+$uid).data('bd'); 239 var selectedFilesFrom = {}; 240 var selectedCount = 0; 241 var messages = ''; 242 var jackoff = false; 243 $('table.bd-table tr[id^=ssfa-file-'+$uid+']').each(function(index) 244 { 245 if($(this).hasClass('ssfabd-selected')) 246 { 247 var sfx = this.id; 248 var filepath = String($('td#filename-'+sfx).data('path')); 249 var oldname = String($('td#filename-'+sfx).data('name')); 250 var ext = String($('td#filetype-'+sfx).data('ext'));
251 if(oldname.indexOf('..') >= 0 || filepath.indexOf('..') >= 0 || filepath === '/') jackoff = true; 252 else 253 { 254 selectedFilesFrom[index] = filepath+'/'+oldname+'.'+ext; 255 selectedCount++; 256 } 257 } 258 }); 259 if(jackoff) 260 { 261 filertify.set({labels:{ok : fileaway_mgmt.ok_label}}); 262 filertify.alert(fileaway_mgmt.tamper1); 263 } 264 else 265 { 266 if(selectedCount == 0) 267 messages += fileaway_mgmt.no_files_selected+'<br>'; 268 if(messages !== '') 269 { 270 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 271 filertify.alert(messages) 272 } 273 else 274 { 275 // Ajax Bulk Action Download Function 276 $loading.show(); 277 $.post 278 ( 279 fileaway_mgmt.ajaxurl, 280 { 281 action : 'fileaway-manager', 282 act : 'bulkdownload', 283 files : selectedFilesFrom, 284 stats : stats, 285 nonce : fileaway_mgmt.nonce, 286 bulkdownload_nonce : bulkdownload_nonce 287 }, 288 function(response) 289 { 290 $loading.hide(); 291 if('status' in response) 292 { 293 if(response.status == 'error') 294 { 295 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 296 filertify.alert(response.message); 297 } 298 else 299 { 300 $('<iframe src="'+response+'" id="fa-bulkdownload" style="visibility:hidden;" name="fa-bulkdownload">').appendTo('body'); 301 } 302 } 303 else 304 { 305 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 306 filertify.alert('An unknown error occurred'); 307 } 308 } 309 ) // End Ajax Bulk Action Download Function 310 } 311 } 312 }); // End Bulk Download Engage Function 313 } // End Bulk Download Check 314}); 315jQuery(document).ready(function($) 316{ 317 if($('table.dirtree-table').length) 318 { 319 // Multi-Manager Check 320 $i = 0; 321 $('table.dirtree-table').each(function() 322 { 323 if($(this).data('drawer') == 'drawer') $i++; 324 }); 325 if($i > 1) 326 { 327 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 328 filertify.alert('Notice: You have multiple Directory Tree or Manager Mode tables on the same page with no drawer id number specified. Please add <code>drawerid="1"</code>, <code>drawerid="2"</code>, etc., to each Directory Tree or Manager table shortcode, assigning them each a unique id number.'); 329 } 330 } 331 // Manager Check 332 if($('th.ssfa-manager').length) 333 { 334 // Cache the Data on DOM Ready 335 $('table.mngr-table').each(function() 336 { 337 $uid = $(this).data('uid'); 338 $page = $(this).data('pg'); 339 $drawer = $(this).data('drw'); 340 $class = $(this).data('cls'); 341 $basename = $(this).data('basename'); 342 $start = $(this).data('start'); 343 $dir = $(this).data('dir'); 344 $base = $(this).data('base'); 345 $basedir = $(this).data('basedir'); 346 $fafl = $(this).data('fafl'); 347 $faui = $(this).data('faui'); 348 $faun = $(this).data('faun'); 349 $faur = $(this).data('faur'); 350 $faum = $(this).data('faum'); 351 }); 352 $('table.mngr-table tr[id^=ssfa-dir-]').each(function() 353 { 354 $sfx = this.id; 355 $path = $('td#folder-'+$sfx+' a').data('path'); 356 $name = $('td#folder-'+$sfx+' a').data('name'); 357 }); 358 $('table.mngr-table tr[id^=ssfa-file-]').each(function() 359 { 360 $sfx = this.id; 361 $type = $('td#filetype-'+$sfx).data('ext'); 362 $path = $('td#filename-'+$sfx).data('path'); 363 $name = $('td#filename-'+$sfx).data('name'); 364 }); 365 // Allowed Characters Settings 366 $('table[id^="ssfa-table-"] tbody tr[id^="ssfa-file-"] td[id^="filename-"] input').alphanum({allow : "~!@#$^&()_+`-={}[]',"}); 367 $('table[id^="ssfa-table-"] tbody tr[id^="ssfa-file-"] input.fileaway-customdata').alphanum({allow : "~!@#$^&()_+`-={}[]',"}); 368 $('table[id^="ssfa-table-"] tbody tr[id^="ssfa-file-"] input.fileaway-metadata').alphanum({allow : "|/~!@#$^&()_+`-={}[]',."}); 369 $('table[id^="ssfa-table-"] tbody tr[id^="row-ssfa-create-dir-"] input').alphanum({allow : "~!@#$/^&()_+`-={}[]',"}); 370 $('table[id^="ssfa-table-"] tbody tr[id^="ssfa-dir-"] input').alphanum({allow : "~!@#$^&()_+`-={}[]',"}); 371 // Initialize Chosen Select 372 $('select.ssfa-directories-select, select.ssfa-bulk-action-select').chozed({ 373 allow_single_deselect:true, 374 width: '150px', 375 inherit_select_classes:true, 376 no_results_text: fileaway_mgmt.no_results, 377 search_contains: true 378 }); 379 // Create Dir 380 $('body').on('click', 'a[id^="ssfa-create-dir-"]', function(ev) 381 { 382 ev.preventDefault(); 383 var sfx = this.id, 384 createinput = $('input#input-'+sfx), 385 manager = $('td#manager-'+sfx); 386 if($(createinput).is(':visible')){} 387 else 388 { 389 createinput.fadeIn(250).focus(); 390 manager.html("<a href='javascript:' id='save-"+sfx+"' style='display:none;'>"+fileaway_mgmt.save_link+"</a><br>"+
391 "<a href='javascript:' id='cancel-"+sfx+"' style='display:none;'>"+fileaway_mgmt.cancel_link+"</a>") 392 var save = $('a#save-'+sfx), 393 cancel = $('a#cancel-'+sfx); 394 setTimeout(function() 395 { 396 save.fadeIn(250); 397 cancel.fadeIn(250); 398 },250); 399 400 } 401 }); 402 $('body').on('click', 'a[id^="cancel-ssfa-create-dir-"]', function(ev) 403 { 404 ev.preventDefault(); 405 var sfx = this.id.replace('cancel-',''), 406 save = $('a#save-'+sfx), 407 createinput = $('input#input-'+sfx); 408 save.fadeOut(250); 409 $(this).fadeOut(250); 410 createinput.fadeOut(250).val(''); 411 }); 412 $('body').on('click', 'a[id^="save-ssfa-create-dir"]', function(ev) 413 { 414 ev.preventDefault(); 415 var sfx = this.id.replace('save-',''), 416 cancel = $('a#cancel-'+sfx), 417 createinput = $('input#input-'+sfx), 418 prettify = $('a#'+sfx).data('prettify'); 419 $newsub = createinput.val(); 420 if($newsub === '') 421 { 422 filertify.set({labels:{ok : fileaway_mgmt.ok_label}}); 423 filertify.alert(fileaway_mgmt.no_subdir_name); 424 } 425 else 426 { 427 $(this).fadeOut(250); 428 cancel.fadeOut(250); 429 createinput.fadeOut(250).val(''); 430 var uid = sfx.replace('ssfa-create-dir-',''); 431 var manager_nonce = $(this).parents('table').eq(0).data('mn'); 432 var meta = $(this).parents('.ssfa-meta-container').eq(0).data('uid'); 433 var loc_nonce = $('input#location_nonce_'+meta).val(); 434 var count = $('table.mngr-table tr[id^=ssfa-dir-]').length; 435 var cells = $(this).parents('tr').children('td').length; 436 var cls = $(this).parents('table').eq(0).data('cls'); 437 var page = $(this).parents('table').eq(0).data('pg'); 438 var drawer = $(this).parents('table').eq(0).data('drw'); 439 var drawerid = $(this).parents('table').eq(0).data('drawer'); 440 var dir = String($(this).parents('table').eq(0).data('dir')); 441 var base = String($(this).parents('table').eq(0).data('base')); 442 var args = 443 { 444 action : 'fileaway-manager', 445 act : 'createdir', 446 newsub : $newsub, 447 parents : dir, 448 base : base, 449 uid : uid, 450 count : (+count+1), 451 cells : (+cells-2), 452 cls : cls, 453 pg : page, 454 drawer : drawer, 455 drawerid : drawerid, 456 querystring : location.search, 457 prettify : prettify, 458 nonce : fileaway_mgmt.nonce, 459 manager_nonce : manager_nonce, 460 loc_nonce : loc_nonce, 461 } 462 $.post 463 ( 464 fileaway_mgmt.ajaxurl, 465 args, 466 function(response) 467 { 468 if(response.status === 'error') 469 { 470 filertify.set({labels:{ok : fileaway_mgmt.ok_label}}); 471 filertify.alert(response.message); 472 } 473 else if(response.status === 'success') 474 { 475 filertify.set({labels:{ok : fileaway_mgmt.ok_label}}); 476 filertify.alert(response.message); 477 } 478 else if(response.status === 'insert') 479 { 480 $newrow = response.message; 481 $row = $('tr#row-'+sfx); 482 $row.after($newrow).hide().fadeIn(250); 483 } 484 } 485 ); 486 return false; 487 } 488 }); 489 // Delete Directory Function 490 $('body').on('click', 'a[id^="delete-ssfa-dir-"]', function(ev) 491 { 492 ev.preventDefault(); 493 var sfx = this.id.replace('delete-',''), 494 rename = $('a#rename-'+sfx), 495 del = $('a#delete-'+sfx), 496 manager = $('td#manager-'+sfx); 497 del.fadeOut(250); 498 rename.fadeOut(250); 499 var uid = sfx.replace('ssfa-dir-',''); 500 if(! $('a#canceldel-'+sfx).length) manager.prepend("<a href='javascript:' id='canceldel-"+sfx+"' style='display:none;'>"+fileaway_mgmt.cancel_link+"</a>") 501 if(! $('a#proceed-'+sfx).length) manager.prepend("<a href='javascript:' id='proceed-"+sfx+"' style='display:none;'>"+fileaway_mgmt.proceed_link+"<br></a>") 502 if(! $('span#confirm-'+sfx).length) manager.prepend("<span id='confirm-"+sfx+"' style='display:none;'>"+fileaway_mgmt.delete_check+"<br></span>") 503 var proceed = $('a#proceed-'+sfx), 504 canceldel = $('a#canceldel-'+sfx), 505 confirms = $('span#confirm-'+sfx); 506 setTimeout(function() 507 { 508 proceed.fadeIn(250); 509 canceldel.fadeIn(250); 510 confirms.fadeIn(250); 511 },250); 512 $subdir = $('td#folder-'+sfx+' a').data('name'); 513 var dir = String($(this).parents('table').eq(0).data('dir')); 514 var base = String($(this).parents('table').eq(0).data('base')); 515 var manager_nonce = $(this).parents('table').eq(0).data('mn'); 516 var meta = $(this).parents('.ssfa-meta-container').eq(0).data('uid'); 517 var loc_nonce = $('input#location_nonce_'+meta).val(); 518 $path1 = dir; 519 $path2 = String($subdir); 520 $(canceldel).on('click', function(ev) 521 { 522 ev.preventDefault(); 523 proceed.fadeOut(250); 524 canceldel.fadeOut(250); 525 confirms.fadeOut(250); 526 setTimeout(function() 527 { 528 rename.fadeIn(250); 529 del.fadeIn(250); 530 },250); 531 }); 532 $(proceed).on('click', function(ev) 533 { 534 ev.preventDefault(); 535 proceed.fadeOut(250); 536 canceldel.fadeOut(250); 537 confirms.fadeOut(250); 538 setTimeout(function() 539 { 540 rename.fadeIn(250); 541 del.fadeIn(250); 542 },250); 543 if($path1.indexOf('..') >= 0 || $path1 === '/' || $path1 === '' || !$path1 || $path1 === 'undefined' || $path1 === undefined) 544 { 545 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 546 filertify.alert(fileaway_mgmt.tamper2); 547 } 548 else if($path2.indexOf('..') >= 0 || $path2 === '/' || $path2 === '' || !$path2 || $path2 === 'undefined' || $path2 === undefined) 549 { 550 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 551 filertify.alert(fileaway_mgmt.tamper2); 552 } 553 else 554 { 555 $.post 556 ( 557 fileaway_mgmt.ajaxurl, 558 { 559 action : 'fileaway-manager', 560 act : 'deletedir', 561 status : 'life', 562 path1 : $path1, 563 path2 : $path2, 564 nonce : fileaway_mgmt.nonce, 565 manager_nonce : manager_nonce, 566 loc_nonce : loc_nonce, 567 }, 568 function(response) 569 { 570 if(response.status === 'error' || response.status === 'partial') 571 { 572 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 573 filertify.alert(response.message); 574 } 575 else if(response.status === 'success') 576 { 577 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 578 filertify.alert(response.message); 579 $(del).parents('tr').fadeOut(250,function(){ $(this).remove(); }); 580 } 581 else if(response.status === 'success-single') 582 { 583 $(del).parents('tr').fadeOut(250,function(){ $(this).remove(); }); 584 } 585 else if(response.status === 'confirm') 586 { 587 filertify.set({labels:{ok : fileaway_mgmt.confirm_label, cancel : fileaway_mgmt.cancel_label }}); 588 filertify.confirm(response.message, function(e) 589 { 590 if(e) 591 { 592 $.post 593 ( 594 fileaway_mgmt.ajaxurl, 595 { 596 action : 'fileaway-manager', 597 act : 'deletedir', 598 status : 'death', 599 path1 : $path1, 600 path2 : $path2, 601 nonce : fileaway_mgmt.nonce, 602 loc_nonce : loc_nonce, 603 manager_nonce : manager_nonce 604 }, 605 function(response) 606 { 607 if(response.status === 'error' || response.status === 'partial') 608 { 609 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 610 filertify.alert(response.message); 611 } 612 else if(response.status === 'success') 613 { 614 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 615 filertify.alert(response.message); 616 $(del).parents('tr').fadeOut(250,function(){ $(this).remove(); }); 617 } 618 } 619 ); 620 return false; 621 } 622 });
623 } 624 } 625 ); 626 return false; 627 } 628 }); 629 }); // End Delete Function (Directory Single) 630 // Directory Rename Function 631 $('body').on('click', 'a[id^="rename-ssfa-dir-"]', function(ev) 632 { 633 ev.preventDefault(); 634 var sfx = this.id.replace('rename-', ''), 635 del = $('a#delete-'+sfx), 636 manager = $('td#manager-'+sfx), 637 dirname = $('td#name-'+sfx+' a'), 638 dirinput = $('input#rename-'+sfx), 639 $subdir = $('td#folder-'+sfx+' a').data('path'); 640 $(this).fadeOut(250); 641 del.fadeOut(250); 642 if(!$('a#cancel-'+sfx).length) manager.prepend("<a href='' id='cancel-"+sfx+"' style='display:none;'>"+fileaway_mgmt.cancel_link+"</a>"); 643 if(!$('a#save-'+sfx).length) manager.prepend("<a href='' id='save-"+sfx+"' style='display:none;'>"+fileaway_mgmt.save_link+"<br></a>"); 644 var save = $('a#save-'+sfx), 645 cancel = $('a#cancel-'+sfx); 646 dirname.fadeOut(250); 647 setTimeout(function() 648 { 649 save.fadeIn(250); 650 cancel.fadeIn(250); 651 dirinput.fadeIn(250); 652 },250); 653 }); 654 $('body').on('click', 'a[id^="cancel-ssfa-dir-"]', function(ev) 655 { 656 ev.preventDefault(); 657 var sfx = this.id.replace('cancel-', ''); 658 $('a#save-'+sfx).fadeOut(250); 659 $(this).fadeOut(250); 660 $('input#rename-'+sfx).fadeOut(250); 661 setTimeout(function() 662 { 663 $('a#rename-'+sfx).fadeIn(250); 664 $('a#delete-'+sfx).fadeIn(250); 665 $('td#name-'+sfx+' a').fadeIn(250); 666 },250); 667 }); 668 $('body').on('click', 'a[id^="save-ssfa-dir-"]', function(ev) 669 { 670 ev.preventDefault(); 671 var sfx = this.id.replace('save-', ''); 672 $dir = String($(this).parents('table').eq(0).data('dir')); 673 $base = String($(this).parents('table').eq(0).data('base')); 674 $url = $('td#folder-'+sfx+' a'); 675 $url2 = $('td#name-'+sfx+' a'); 676 $subdir = $('td#folder-'+sfx+' a').data('path'); 677 $oldpath = $base+'/'+$subdir; 678 $newname = String($('input#rename-'+sfx).val()); 679 $page = $(this).parents('table').eq(0).data('pg'); 680 $drawerid = $(this).parents('table').eq(0).data('drawer'); 681 metadata = $(this).parents('table').eq(0).data('metadata'); 682 var meta = $(this).parents('.ssfa-meta-container').eq(0); 683 var uid = $(meta).data('uid'); 684 var manager_nonce = $(this).parents('table').eq(0).data('mn'); 685 var loc_nonce = $('input#location_nonce_'+uid).val(); 686 $('a#save-'+sfx).fadeOut(250); 687 $('a#cancel-'+sfx).fadeOut(250); 688 $('input#rename-'+sfx).fadeOut(250); 689 if($oldpath.indexOf('..') >= 0 || $oldpath === '/' || $newname.indexOf('..') >= 0 || $newname.indexOf('/') >= 0) 690 { 691 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 692 filertify.alert(fileaway_mgmt.tamper3); 693 } 694 else if($newname === '' || $newname === 'undefined' || $newname === undefined) 695 { 696 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 697 filertify.alert(fileaway_mgmt.no_subdir_name); 698 } 699 else 700 { 701 $.post 702 ( 703 fileaway_mgmt.ajaxurl, 704 { 705 action : 'fileaway-manager', 706 act : 'renamedir', 707 datapath : $subdir, 708 oldpath : $oldpath, 709 metadata : metadata, 710 newname : $newname, 711 parents : $dir, 712 pg : $page, 713 drawerid : $drawerid, 714 querystring : location.search, 715 nonce : fileaway_mgmt.nonce, 716 manager_nonce : manager_nonce, 717 loc_nonce : loc_nonce, 718 }, 719 function(response) 720 { 721 if(response.status === 'error') 722 { 723 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 724 filertify.alert(response.message); 725 } 726 else 727 { 728 $newnamerow = $('td#name-'+sfx+' input').val(response.newname).attr('value', response.newname); 729 $('tr#'+sfx+' td').each(function() 730 { 731 $(this).data('value', "# # # # # "+response.newname).attr('data-value', "# # # # # "+response.newname); 732 }); 733 $('td#folder-'+sfx+' a').attr('href', response.url); 734 $('td#folder-'+sfx+' a').data('path', response.newdata).attr('data-path', response.newdata); 735 $('td#name-'+sfx+' a').attr('href', response.url); 736 $('td#folder-'+sfx+' a').data('name', response.newname).attr('data-name', response.newname); 737 $('td#name-'+sfx+' a span').text(response.newname); 738 } 739 $('a#rename-'+sfx).fadeIn(250); 740 $('a#delete-'+sfx).fadeIn(250); 741 $('td#name-'+sfx+' a').fadeIn(250); 742 } 743 ); 744 return false; 745 } 746 }); 747 // End Directory Rename Function 748 // File Rename Function 749 $('body').on('click', 'a[id^="rename-ssfa-file-"]', function(ev) 750 { 751 ev.preventDefault(); 752 $id = this.id; 753 var sfx = $id.replace('rename-', ''), 754 uid = $(this).parents('table').eq(0).data('uid'), 755 rename = $(this), 756 del = $('a#delete-'+sfx), 757 filename = $('td#filename-'+sfx+' a'), 758 rawname = $('input#rawname-'+sfx), 759 manager = $('td#manager-'+sfx);
760 if(!$('a#cancel-'+sfx).length) manager.prepend("<a href='' id='cancel-"+sfx+"' style='display:none;'>"+fileaway_mgmt.cancel_link+"</a>") 761 if(!$('a#save-'+sfx).length) manager.prepend("<a href='' id='save-"+sfx+"' style='display:none;'>"+fileaway_mgmt.save_link+"<br></a>") 762 var save = $('a#save-'+sfx); 763 var cancel = $('a#cancel-'+sfx); 764 rename.fadeOut(250); 765 filename.fadeOut(250); 766 del.fadeOut(250); 767 setTimeout(function() 768 { 769 save.fadeIn(250); 770 cancel.fadeIn(250); 771 rawname.fadeIn(250); 772 },250); 773 var customs = $('input[id^="customdata-"][id$="'+sfx+'"]').length; 774 customs = customs - 1; 775 for(var i=0; i <= customs; i++) 776 { 777 var cdata = $('input[id^="customdata-'+i+'-'+sfx+'"]'); 778 cdata.siblings('span').fadeOut('fast'); 779 cdata.fadeIn(250); 780 } 781 }); 782 $('body').on('click', 'a[id^="cancel-ssfa-file-"]', function(ev) 783 { 784 ev.preventDefault(); 785 $id = this.id; 786 sfx = $id.replace('cancel-', ''), 787 uid = $(this).parents('table').eq(0).data('uid'), 788 rename = $('a#rename-'+sfx), 789 del = $('a#delete-'+sfx), 790 save = $('a#save-'+sfx), 791 cancel = $(this), 792 filename = $('td#filename-'+sfx+' a'), 793 rawname = $('input#rawname-'+sfx), 794 manager = $('td#manager-'+sfx); 795 save.fadeOut(250); 796 cancel.fadeOut(250); 797 rawname.fadeOut(250); 798 setTimeout(function() 799 { 800 rename.fadeIn(250); 801 del.fadeIn(250); 802 filename.fadeIn(250); 803 },250); 804 var customs = $('input[id^="customdata-"][id$="'+sfx+'"]').length; 805 customs = customs - 1; 806 for(var i=0; i <= customs; i++) 807 { 808 var cdata = $('input[id^="customdata-'+i+'-'+sfx+'"]'); 809 $(cdata).fadeOut(250); 810 setTimeout(function(){$(cdata).siblings('span').fadeIn(250);},250); 811 } 812 }); 813 $('body').on('click', 'a[id^="save-ssfa-file-"]', function(ev) 814 { 815 ev.preventDefault(); 816 $id = this.id; 817 var sfx = $id.replace('save-', ''); 818 uid = $(this).parents('table').eq(0).data('uid'), 819 manager_nonce = $(this).parents('table').eq(0).data('mn'), 820 loc_nonce = $('input#location_nonce_'+uid).val(), 821 rename = $('a#rename-'+sfx), 822 del = $('a#delete-'+sfx), 823 save = $(this), 824 cancel = $('a#cancel-'+sfx), 825 filename = $('td#filename-'+sfx+' a'), 826 manager = $('td#manager-'+sfx), 827 metadata = $(this).parents('table').eq(0).data('metadata'), 828 ext = $('td#filetype-'+sfx).data('ext'), 829 url = $('td#filename-'+sfx+' a'), 830 url2 = $('td#filetype-'+sfx+' a'), 831 rawname = $('input#rawname-'+sfx), 832 oldname = String($('td#filename-'+sfx).data('name')), 833 filepath = String($('td#filename-'+sfx).data('path')), 834 dir = String($('table#ssfa-table-'+$uid).data('dir')); 835 var customs = $('input[id^="customdata-"][id$="'+sfx+'"]').length; 836 customs = customs - 1; 837 var customdata = []; 838 if(customs >= 0) 839 { 840 for(var i=0; i <= customs; i++) 841 { 842 var cdata = $('input[id^="customdata-'+i+'-'+sfx+'"]'); 843 customdata[i] = cdata.val(); 844 cdata.fadeOut(250); 845 } 846 } 847 rawname.fadeOut(250); 848 save.fadeOut(250); 849 cancel.fadeOut(250); 850 $.post 851 ( 852 fileaway_mgmt.ajaxurl, 853 { 854 action : 'fileaway-manager', 855 act : 'rename', 856 customdata : customdata, 857 metadata : metadata, 858 ext : ext, 859 url : url.attr('href'), 860 rawname : rawname.val(), 861 oldname : oldname, 862 pp : dir, 863 nonce : fileaway_mgmt.nonce, 864 manager_nonce : manager_nonce, 865 loc_nonce : loc_nonce, 866 }, 867 function(response) 868 { 869 if('status' in response) 870 { 871 if(response.status == 'error') 872 { 873 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 874 filertify.alert(response.message); 875 return false; 876 } 877 url.attr("href", response.newurl); 878 url.attr("download", response.download); 879 url2.attr("href", response.newurl); 880 url2.attr("download", response.download); 881 rawname.val(response.rawname); 882 $('td#filename-'+sfx).data('name', response.newoldname) 883 $('td#filename-'+sfx).attr('data-name', response.newoldname) 884 rename.fadeIn(250); 885 del.fadeIn(250); 886 $('input#rawname-'+sfx).val(response.rawname); 887 filename.text(response.rawname); 888 filename.fadeIn(250); 889 var newcustomdata = response.customdata; 890 if(customs >= 0) 891 { 892 for(var i=0; i <= customs; i++) 893 { 894 var cinput = $('input[id^="customdata-'+i+'-'+sfx+'"]'); 895 if(newcustomdata[i] != undefined) cinput.siblings('span').text(newcustomdata[i]).fadeIn(250); 896 else cinput.siblings('span').text('').fadeIn(250); 897 } 898 } 899 } 900 else 901 { 902 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 903 filertify.alert('An unknown error occurred'); 904 } 905 } 906 ); 907 }); // End Rename Function 908 // Delete Function (Single) 909 $('body').on('click', 'a[id^="delete-ssfa-file-"]', function(ev) 910 { 911 ev.preventDefault(); 912 $id = this.id; 913 var sfx = $id.replace('delete-', ''), 914 rename = $('a#rename-'+sfx), 915 del = $(this), 916 manager = $('td#manager-'+sfx); 917 del.fadeOut(250); 918 rename.fadeOut(250);
919 if(!$('a#canceldel-'+sfx).length) manager.prepend("<a href='' id='canceldel-"+sfx+"' style='display:none;'>"+fileaway_mgmt.cancel_link+"</a>") 920 if(!$('a#proceed-'+sfx).length) manager.prepend("<a href='' id='proceed-"+sfx+"' style='display:none;'>"+fileaway_mgmt.proceed_link+"<br></a>") 921 if(!$('span#confirm-'+sfx).length) manager.prepend("<span id='confirm-"+sfx+"' style='display:none;'>"+fileaway_mgmt.delete_check+"<br></span>") 922 var proceed = $('a#proceed-'+sfx), 923 canceldel = $('a#canceldel-'+sfx), 924 confirms = $('span#confirm-'+sfx); 925 setTimeout(function() 926 { 927 proceed.fadeIn(250); 928 canceldel.fadeIn(250); 929 confirms.fadeIn(250); 930 },250); 931 }); 932 $('body').on('click', 'a[id^="canceldel-ssfa-file-"]', function(ev) 933 { 934 ev.preventDefault(); 935 $id = this.id; 936 var sfx = $id.replace('canceldel-', ''), 937 rename = $('a#rename-'+sfx), 938 del = $('a#delete-'+sfx), 939 canceldel = $(this), 940 proceed = $('a#proceed-'+sfx), 941 confirms = $('span#confirm-'+sfx); 942 proceed.fadeOut(250); 943 canceldel.fadeOut(250); 944 confirms.fadeOut(250); 945 setTimeout(function() 946 { 947 rename.fadeIn(250); 948 del.fadeIn(250); 949 },250); 950 }); 951 $('body').on('click', 'a[id^="proceed-ssfa-file-"]', function(ev) 952 { 953 ev.preventDefault(); 954 $id = this.id; 955 var sfx = $id.replace('proceed-', ''), 956 uid = $(this).parents('table').eq(0).data('uid'), 957 manager_nonce = $(this).parents('table').eq(0).data('mn'), 958 loc_nonce = $('input#location_nonce_'+uid).val(), 959 rename = $('a#rename-'+sfx), 960 del = $('a#delete-'+sfx), 961 proceed = $(this), 962 canceldel = $('a#canceldel-'+sfx), 963 confirms = $('span#confirm-'+sfx), 964 ext = $('td#filetype-'+sfx).data('ext'), 965 oldname = String($("td#filename-"+sfx).data("name")), 966 filepath = String($("td#filename-"+sfx).data("path")), 967 dir = String($("table#ssfa-table-"+uid).data("dir")); 968 proceed.fadeOut(250); 969 canceldel.fadeOut(250); 970 confirms.fadeOut(250); 971 $.post 972 ( 973 fileaway_mgmt.ajaxurl, 974 { 975 action : 'fileaway-manager', 976 act : 'delete', 977 ext : ext, 978 oldname : oldname, 979 pp : dir, 980 nonce : fileaway_mgmt.nonce, 981 manager_nonce : manager_nonce, 982 loc_nonce: loc_nonce, 983 }, 984 function(response) 985 { 986 if(response.status == 'success') 987 { 988 del.parents('tr').eq(0).fadeOut(250, function(){ $(this).remove(); }); 989 } 990 else 991 { 992 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 993 filertify.alert(response.message); 994 } 995 } 996 ); 997 }); // End Delete Function (Single) 998 // Bulk Action Toggle Selected Files 999 $('table.mngr-table tr[id^=ssfa-file-]').on('click', function(e) 1000 { 1001 var target = $(e.target); 1002 if(!target.is('td[id^=filetype-ssfa-] a') 1003 && !target.is('td[id^=filetype-ssfa-] span') 1004 && !target.is('td[id^=filename-ssfa-] a') 1005 && !target.is('td[id^=filename-ssfa-] span') 1006 && !target.is('td[id^=manager-ssfa-] a')) 1007 { 1008 $uid = $(this).parents('table').eq(0).data('uid'); 1009 $enabled = $('a#ssfa-bulk-action-toggle-'+$uid).data('enabled'); 1010 if($('a#ssfa-bulk-action-toggle-'+$uid).text() == $enabled && !$(this).hasClass('fileaway-dynamic')) 1011 { 1012 if($(this).hasClass('ssfa-selected')) $(this).removeClass('ssfa-selected'); 1013 else $(this).addClass('ssfa-selected'); 1014 } 1015 } 1016 }); // End Bulk Action Toggle Selected Files 1017 // Bulk Action Toggle Function 1018 $('a[id^="ssfa-bulk-action-toggle-"]').on('click', function(ev) 1019 { 1020 ev.preventDefault(); 1021 $id = this.id; 1022 $uid = $id.replace('ssfa-bulk-action-toggle-', ''); 1023 $enabled = $(this).data('enabled'); 1024 $disabled = $(this).data('disabled'); 1025 $actionarea = $('div#ssfa-bulk-action-select-area-'+$uid); 1026 $actionselect = $('select#ssfa-bulk-action-select-'+$uid); 1027 $checkall = $('input#ssfa-bulk-action-select-all-'+$uid); 1028 $selectalltext = $checkall.data('selectall'); 1029 $selectall = $('label#ssfa-bulkaction-select-all-'+$uid+' span'); 1030 if($(this).text() == $disabled) 1031 { 1032 $(this).text($enabled); 1033 $actionarea.fadeIn(250); 1034 } 1035 else if($(this).text() == $enabled) 1036 { 1037 $(this).text($disabled); 1038 $actionarea.fadeOut(250); 1039 $checkall.attr('checked', false).trigger('change'); 1040 $selectall.text($selectalltext); 1041 $actionselect.find('option:first').attr('selected','selected').trigger('chozed:updated').trigger('change'); 1042 } 1043 }); // End Bulk Action Toggle Function 1044 // Bulk Action Select All Function 1045 $('input[id^="ssfa-bulk-action-select-all-"]').on('change', function() 1046 { 1047 $id = this.id; 1048 $uid = $id.replace('ssfa-bulk-action-select-all-', ''); 1049 $selectalltext = $(this).data('selectall'); 1050 $clearalltext = $(this).data('clearall'); 1051 $selectall = $('label#ssfa-bulkaction-select-all-'+$uid+' span'); 1052 if(this.checked) 1053 { 1054 $selectall.text($clearalltext); 1055 $('table.mngr-table tr[id^=ssfa-file-'+$uid+']:visible').addClass('ssfa-selected'); 1056 $('table.mngr-table tr[id^=ssfa-file-'+$uid+'].fileaway-dynamic').removeClass('ssfa-selected'); 1057 } 1058 else 1059 { 1060 $selectall.text($selectalltext); 1061 $('table.mngr-table tr[id^=ssfa-file-'+$uid+']').removeClass('ssfa-selected'); 1062 } 1063 }); // End Bulk Action Select All Function 1064 // Bulk Action Select Function 1065 $('select[id^="ssfa-bulk-action-select-"]').on('change', function() 1066 { 1067 $id = this.id; 1068 $uid = $id.replace('ssfa-bulk-action-select-', ''); 1069 $actionselected = this.value; 1070 $pathcontainer = $('div#ssfa-path-container-'+$uid); 1071 if($actionselected == '' || $actionselected == 'delete' || $actionselected == 'download') $pathcontainer.fadeOut(250); 1072 else $pathcontainer.fadeIn(250); 1073 }); // End Bulk Action Select Function 1074 // Bulk Action Path Generator Function 1075 $('select[id^="ssfa-directories-select-"]').on('change', function() 1076 { 1077 $id = this.id; 1078 $uid = $id.replace('ssfa-directories-select-', ''); 1079 $loading = $('img#ssfa-path-ajax-loading-'+$uid); 1080 if($(this).val() !== '') 1081 { 1082 $basename = $('table#ssfa-table-'+$uid).data('basename'); 1083 $start = $('table#ssfa-table-'+$uid).data('start');
1084 $send = bulkactionpath(this.value, $basename, $start, $loading, $uid); 1085 } 1086 }); 1087 $('body').on('click', 'a[id^=ssfa-action-pathpart-]', function(ev) 1088 { 1089 ev.preventDefault(); 1090 $id = $(this).parents('div').eq(0).attr('id'); 1091 $uid = $id.replace('ssfa-action-path-', ''); 1092 $pathparts = $(this).attr('data-target'); 1093 $basename = $('table#ssfa-table-'+$uid).data('basename'); 1094 $start = $('table#ssfa-table-'+$uid).data('start'); 1095 $loading = $('img#ssfa-path-ajax-loading-'+$uid); 1096 $send = bulkactionpath($pathparts, $basename, $start, $loading, $uid); 1097 }); 1098 function bulkactionpath($pathparts, $basename, $start, $loading, $uid) 1099 { 1100 var manager_nonce = $('table[data-uid="'+$uid+'"]').data('mn'); 1101 var loc_nonce = $('input#location_nonce_'+$uid).val(); 1102 $loading.show(); 1103 $.post 1104 ( 1105 fileaway_mgmt.ajaxurl, 1106 { 1107 action : 'fileaway-manager', 1108 act : 'actionpath', 1109 uploadaction : 'false', 1110 pathparts : $pathparts, 1111 basename : $basename, 1112 start : $start, 1113 nonce : fileaway_mgmt.nonce, 1114 manager_nonce : manager_nonce, 1115 loc_nonce : loc_nonce, 1116 }, 1117 function(response) 1118 { 1119 if(response.status == 'success') 1120 { 1121 $container = $('div#ssfa-path-container-'+$uid); 1122 $actionpath = $('input#ssfa-actionpath-'+$uid); 1123 $putpath = $('div#ssfa-action-path-'+$uid); 1124 $dropdown = $('select#ssfa-directories-select-'+$uid); 1125 $dropdown.empty().append(response.ops).trigger('chozed:updated'); 1126 $actionpath.val(response.pathparts); 1127 $putpath.html(response.crumbs).append($loading); 1128 $loading.hide(); 1129 } 1130 else if(response.status == 'error') 1131 { 1132 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1133 filertify.alert(response.message); 1134 } 1135 } 1136 ); 1137 } // End Bulk Action Path Generator Function 1138 // Bulk Action Engage Function 1139 $('span[id^="ssfa-bulk-action-engage-"]').on('click', function() 1140 { 1141 $id = this.id; 1142 $uid = $id.replace('ssfa-bulk-action-engage-', ''); 1143 $loading = $('img#ssfa-engage-ajax-loading-'+$uid); 1144 var bulkdownload_nonce = $('table#ssfa-table-'+$uid).data('bd'); 1145 var manager_nonce = $('table#ssfa-table-'+$uid).data('mn'); 1146 var loc_nonce = $('input#location_nonce_'+$uid).val(); 1147 var stats = $('table#ssfa-table-'+$uid).data('stats') ? 'true' : 'false'; 1148 var selectedAction = $('select#ssfa-bulk-action-select-'+$uid).val(); 1149 var selectedPath = String($('input#ssfa-actionpath-'+$uid).val()); 1150 var dir = String($('table#ssfa-table-'+$uid).data('dir')); 1151 var selectedRows = {}; 1152 var selectedFilesFrom = {}; 1153 var selectedFilesTo = {}; 1154 var selectedExts = {}; 1155 var selectedCount = 0; 1156 var messages = ''; 1157 var metadata = $('table#ssfa-table-'+$uid).data('metadata'); 1158 var jackoff = selectedAction == 'delete' || selectedAction == 'download' ? false : fileasec(selectedPath, $uid); 1159 $('table#ssfa-table-'+$uid+'.mngr-table tr.ssfa-selected').each(function(index) 1160 { 1161 var sfx = this.id; 1162 var filepath = String($("td#filename-"+sfx).data("path")); 1163 var oldname = String($("td#filename-"+sfx).data("name")); 1164 var ext = String($("td#filetype-"+sfx).data("ext")); 1165 selectedRows[index] = sfx; 1166 selectedFilesFrom[index] = dir+'/'+oldname+'.'+ext; 1167 selectedFilesTo[index] = selectedPath+'/'+oldname+'.'+ext; 1168 selectedExts[index] = ext; 1169 selectedCount++; 1170 }); 1171 if(selectedAction == '') messages += fileaway_mgmt.no_action+'<br>'; 1172 if(selectedCount == 0) messages += fileaway_mgmt.no_files_selected+'<br>'; 1173 if((selectedAction == 'move' || selectedAction == 'copy') && selectedPath == '') messages += fileaway_mgmt.no_destination+'<br>'; 1174 if(messages !== '') 1175 { 1176 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1177 filertify.alert(messages); 1178 } 1179 else 1180 { 1181 if(jackoff) 1182 { 1183 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1184 filertify.alert(fileaway_mgmt.tamper1); 1185 } 1186 else 1187 { 1188 // Bulk Action Download Function 1189 if(selectedAction == 'download') 1190 { 1191 $loading.show(); 1192 $.post 1193 ( 1194 fileaway_mgmt.ajaxurl, 1195 { 1196 action : 'fileaway-manager', 1197 act : 'bulkdownload', 1198 files : selectedFilesFrom, 1199 exts : selectedExts, 1200 stats : stats, 1201 nonce : fileaway_mgmt.nonce, 1202 bulkdownload_nonce : bulkdownload_nonce, 1203 loc_nonce : loc_nonce, 1204 }, 1205 function(response) 1206 { 1207 $loading.hide(); 1208 if(response.status == 'error') 1209 { 1210 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1211 filertify.alert(response.message); 1212 } 1213 else 1214 { 1215 $('<iframe src="'+response.url+'" id="fa-bulkdownload" style="visibility:hidden;" name="fa-bulkdownload">').appendTo('body'); 1216 } 1217 } 1218 ); 1219 } // End Bulk Action Download Function 1220 // Bulk Action Copy Function 1221 else if(selectedAction == 'copy') 1222 { 1223 $loading.show(); 1224 $.post 1225 ( 1226 fileaway_mgmt.ajaxurl, 1227 { 1228 action : 'fileaway-manager', 1229 act : 'bulkcopy', 1230 metadata : metadata, 1231 from : selectedFilesFrom, 1232 to : selectedFilesTo, 1233 exts : selectedExts, 1234 destination : selectedPath, 1235 nonce : fileaway_mgmt.nonce, 1236 manager_nonce : manager_nonce, 1237 loc_nonce : loc_nonce, 1238 }, 1239 function(response) 1240 { 1241 $loading.hide(); 1242 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1243 filertify.alert(response.message); 1244 } 1245 ); 1246 } // End Bulk Action Copy Function 1247 // Bulk Action Move Function 1248 else if(selectedAction == 'move') 1249 { 1250 $loading.show(); 1251 $.post 1252 ( 1253 fileaway_mgmt.ajaxurl, 1254 { 1255 action : 'fileaway-manager', 1256 act : 'bulkmove', 1257 metadata : metadata, 1258 from : selectedFilesFrom, 1259 to : selectedFilesTo, 1260 exts : selectedExts, 1261 destination : selectedPath, 1262 nonce : fileaway_mgmt.nonce, 1263 manager_nonce : manager_nonce, 1264 loc_nonce : loc_nonce, 1265 }, 1266 function(response) 1267 { 1268 $loading.hide(); 1269 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1270 filertify.alert(response.message); 1271 if(response.status == 'success') 1272 { 1273 $.each(selectedRows, function(i, val) 1274 { 1275 $('tr#'+val).fadeOut(250,function(){$(this).remove();}); 1276 });
1277 } 1278 } 1279 ); 1280 } // End Bulk Action Move Function 1281 // Bulk Action Delete Function 1282 else if(selectedAction == 'delete') 1283 { 1284 var numfiles = selectedCount > 1 ? fileaway_mgmt.file_plural : fileaway_mgmt.file_singular; 1285 var confirmmessage = fileaway_mgmt.delete_confirm.replace('numfiles', +selectedCount+" "+numfiles); 1286 filertify.set({labels:{ok : fileaway_mgmt.confirm_label, cancel : fileaway_mgmt.cancel_label }}); 1287 filertify.confirm(confirmmessage, function(e) 1288 { 1289 if(e) 1290 { 1291 $loading.show(); 1292 $.post 1293 ( 1294 fileaway_mgmt.ajaxurl, 1295 { 1296 action : 'fileaway-manager', 1297 act : 'bulkdelete', 1298 files : selectedFilesFrom, 1299 nonce : fileaway_mgmt.nonce, 1300 manager_nonce : manager_nonce, 1301 loc_nonce : loc_nonce, 1302 }, 1303 function(response) 1304 { 1305 $loading.hide(); 1306 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1307 filertify.alert(response.message); 1308 if(response.status == 'success') 1309 { 1310 $.each(selectedRows, function(i, val) 1311 { 1312 $('tr#'+val).fadeOut(250,function(){$(this).remove();}); 1313 }); 1314 } 1315 } 1316 ); 1317 } 1318 }); 1319 } // End Bulk Action Delete Function 1320 } 1321 } 1322 }); // End Bulk Action Engage Function 1323 function fileasec($path, $uid) 1324 { 1325 var jackoff = 0; 1326 $fafl = String($('table#ssfa-table-'+$uid).data('fafl')); 1327 $faui = String($('table#ssfa-table-'+$uid).data('faui')); 1328 $faun = String($('table#ssfa-table-'+$uid).data('faun')); 1329 $faur = String($('table#ssfa-table-'+$uid).data('faur')); 1330 $faum = String($('table#ssfa-table-'+$uid).data('faum')); 1331 $fafl = $fafl == '0' ? false : $fafl; 1332 $faui = $faui == '0' ? false : $faui; 1333 $faun = $faun == '0' ? false : $faun; 1334 $faur = $faur == '0' ? false : $faur; 1335 $faum = $faum == '0' ? false : $faum; 1336 var faflcheck = false; 1337 var fauicheck = false; 1338 var fauncheck = false;
1339 var faurcheck = false; 1340 var faumcheck = false; 1341 if($fafl) faflcheck = $path.indexOf($fafl) >= 0 ? false : true; 1342 if($faui) fauicheck = $path.indexOf($faui) >= 0 ? false : true; 1343 if($faun) fauncheck = $path.indexOf($faun) >= 0 ? false : true; 1344 if($faur) faurcheck = $path.indexOf($faur) >= 0 ? false : true; 1345 if($faum) 1346 { 1347 faurcheck = false; 1348 $faum_arr = $faum.split(','); 1349 for(var i = 0; i < $faum_arr.length; i++) 1350 { 1351 if($path.indexOf($faum_arr[i]) < 0) $faumcheck = true; 1352 } 1353 } 1354 if($path.indexOf('..') >= 0 || $path === '/' || faflcheck || fauicheck || fauncheck || faurcheck || faumcheck) jackoff = 1; 1355 return jackoff ? true : false; 1356 } 1357 } // End Manager Check 1358}); 1359FileUpConfig = []; 1360// File Up 1361jQuery(document).ready(function($) 1362{ 1363 if($('div.ssfa_fileup_container').length) 1364 { 1365 if(window.File && window.FileReader && window.FileList && window.Blob) 1366 { 1367 /* Safari for Windows Does Not Support FileReader API and cannot read file sizes */ 1368 } 1369 else 1370 { 1371 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1372 filertify.alert(fileaway_mgmt.no_upload_support); 1373 $('div[class^="ssfa_fileup_container"]').remove(); 1374 } 1375 var TheFiles = []; 1376 var aFile = []; 1377 $('input[id^="ssfa_fileup_files_"]').on('change', function(){ 1378 var uid = $(this).data('uid'); 1379 var files = document.getElementById(this.id).files; 1380 if(files) 1381 { 1382 TheFiles[uid] = files; 1383 fileupDisplay(files, uid); 1384 } 1385 else 1386 { 1387 TheFiles[uid] = []; 1388 aFile[uid] = []; 1389 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1390 filertify.alert(fileaway_mgmt.unreadable_file); 1391 } 1392 }); 1393 fileid = function(name, uid) 1394 { 1395 return uid+'_'+name.replace(/[^a-z0-9\s]/gi, '_').replace(/[_\s]/g, '_').replace("'", ''); 1396 } 1397 ext = function(file, lowercase) 1398 { 1399 return (/[.]/.exec(file)) ? (lowercase ? /[^.]+$/.exec(file.toLowerCase()) : /[^.]+$/.exec(file)) : ''; 1400 } 1401 randcolor = function() 1402 { 1403 array = ["red","green","blue","brown","black","orange","silver","purple","pink"]; 1404 return array[Math.floor(Math.random() * array.length)]; 1405 } 1406 nicesize = function(fileSize) 1407 { 1408 if(fileSize / 1024 > 1) 1409 { 1410 if(((fileSize / 1024) / 1024) > 1) 1411 { 1412 fileSize = (Math.round(((fileSize / 1024) / 1024) * 100) / 100); 1413 var niceSize = fileSize + " GB"; 1414 } 1415 else 1416 { 1417 fileSize = (Math.round((fileSize / 1024) * 100) / 100) 1418 var niceSize = fileSize + " MB"; 1419 } 1420 } 1421 else 1422 { 1423 fileSize = (Math.round(fileSize * 100) / 100) 1424 var niceSize = fileSize + " KB"; 1425 } 1426 return niceSize; 1427 } 1428 icon = function(icon_ext, color) 1429 { 1430 if($.inArray(icon_ext, fileaway_filetype_groups.image) != -1) file_icon = ssfa_filetype_icons.image; 1431 else if($.inArray(icon_ext, fileaway_filetype_groups.adobe) != -1) file_icon = ssfa_filetype_icons.adobe; 1432 else if($.inArray(icon_ext, fileaway_filetype_groups.audio) != -1) file_icon = ssfa_filetype_icons.audio; 1433 else if($.inArray(icon_ext, fileaway_filetype_groups.video) != -1) file_icon = ssfa_filetype_icons.video; 1434 else if($.inArray(icon_ext, fileaway_filetype_groups.msdoc) != -1) file_icon = ssfa_filetype_icons.msdoc; 1435 else if($.inArray(icon_ext, fileaway_filetype_groups.msexcel) != -1) file_icon = ssfa_filetype_icons.msexcel; 1436 else if($.inArray(icon_ext, fileaway_filetype_groups.powerpoint) != -1) file_icon = ssfa_filetype_icons.powerpoint; 1437 else if($.inArray(icon_ext, fileaway_filetype_groups.openoffice) != -1) file_icon = ssfa_filetype_icons.openoffice; 1438 else if($.inArray(icon_ext, fileaway_filetype_groups.text) != -1) file_icon = ssfa_filetype_icons.text; 1439 else if($.inArray(icon_ext, fileaway_filetype_groups.compression) != -1) file_icon = ssfa_filetype_icons.compression; 1440 else if($.inArray(icon_ext, fileaway_filetype_groups.application) != -1) file_icon = ssfa_filetype_icons.application; 1441 else if($.inArray(icon_ext, fileaway_filetype_groups.script) != -1) file_icon = ssfa_filetype_icons.script; 1442 else if($.inArray(icon_ext, fileaway_filetype_groups.css) != -1) file_icon = ssfa_filetype_icons.css; 1443 else if(icon_ext === 'denied') file_icon = '<span class="ssfa-faminicon ssfa-red ssfa-icon-denied"></span>'; 1444 else file_icon = ssfa_filetype_icons.unknown; 1445 file_icon = icon_ext === 'denied' 1446 ? file_icon 1447 : '<span data-ssfa-icon="'+file_icon+'" class="ssfa-faminicon ssfa-'+color+'" aria-hidden="true"></span>'; 1448 return file_icon; 1449 } 1450 fileupDisplay = function(files, uid) 1451 { 1452 var settings = FileUpConfig[uid]; 1453 aFile[uid] = files; 1454 if(aFile[uid].length > 0) 1455 { 1456 $("div#ssfa_fileup_files_container_"+uid).html(''); 1457 $("span#ssfa_rf_"+uid).html(''); 1458 FileUpConfig[uid].removed = []; 1459 var selectedDisplayed = file_id = '<div id="'+settings.container+'" class="ssfa-meta-container">'+ 1460 '<div id="ssfa-table-wrap-'+uid+'" style="margin: 10px 0 0;">' 1461 +'<table id="ssfa-table-'+uid+'" class="footable ssfa-sortable ssfa-'+settings.table+' ssfa-center"><tbody>'; 1462 var path = settings.fixed ? settings.fixed : String($('input#ssfa-upload-actionpath-'+uid+'').val()); 1463 var jackoff = path.indexOf('..') >= 0 || path === '/' ? true : false; 1464 var allowedchars = settings.fixed ? "~!@#$%^&()_+`-={}[]'," : "~!@#$%^&()_+`-={}[]',/"; 1465 for(var i = 0; i<aFile[uid].length; i++) 1466 { 1467 var thefilename = aFile[uid][i].name.replace("'", "’"); 1468 file_id = fileid(aFile[uid][i].name, uid); 1469 var rawname = aFile[uid][i].name.substr(0, aFile[uid][i].name.lastIndexOf('.')) || aFile[uid][i].name, 1470 icon_ext = ext(aFile[uid][i].name, true), 1471 extension = ext(aFile[uid][i].name, false),
1472 color = settings.iconcolor === 'random' ? self.randcolor() : settings.iconcolor, 1473 permitted = settings.permitted ? ($.inArray(icon_ext.toString(), settings.permitted) != -1 ? false : true) : false, 1474 prohibited = settings.prohibited ? ($.inArray(icon_ext.toString(), settings.prohibited) != -1 ? true : false) : false, 1475 fileSize = (aFile[uid][i].size / 1024), 1476 tooBig = aFile[uid][i].size > settings.maxsize ? true : false, 1477 warningclass = tooBig || permitted || prohibited ? ' ssfa-fileup-warning' : '', 1478 pretty_max = nicesize(settings.maxsize / 1024), 1479 sizemsg = fileaway_mgmt.exceeds_size.replace('prettymax', pretty_max); 1480 sizenotice = tooBig ? '<br><span class="'+warningclass+'">'+sizemsg+'</span>' : '', 1481 pernotice = permitted ? '<br><span class="'+warningclass+'">'+fileaway_mgmt.type_not_permitted+' '+ 1482 '<a href="javascript:" onclick="filertify.alert(\''+settings.permitted.join(', ')+'\');">'+fileaway_mgmt.view_all_permitted+'</a></span>' : '', 1483 pronotice = prohibited ? '<br><span class="'+warningclass+'">'+fileaway_mgmt.type_not_permitted+' '+ 1484 '<a href="javascript:" onclick="filertify.alert(\''+settings.prohibited.join(', ')+'\');">'+fileaway_mgmt.view_all_prohibited+'</a></span>' : '', 1485 readonly = tooBig || permitted || prohibited || jackoff ? ' readonly=readonly' : '', 1486 file_icon = tooBig || permitted || prohibited || jackoff ? icon('denied') : icon(icon_ext.toString(), color), 1487 cancel_color = tooBig || permitted || prohibited ? 'red' : 'silver', 1488 not_defined = false; 1489 if(tooBig || permitted || prohibited || not_defined || jackoff) 1490 { 1491 $("span#ssfa_rf_"+uid).append("<input type=\"hidden\" id=\""+file_id+"\" value=\""+file_id+"\">"); 1492 FileUpConfig[uid].removed[i] = file_id; 1493 } 1494 if(typeof aFile[uid][i] !== undefined && aFile[uid][i].name !== '') 1495 { 1496 selectedDisplayed += 1497 '<tr id="ssfa_upfile_id_'+file_id+'" style="display: table-row;">'+ 1498 '<td id="ssfa-upfile_type" class="ssfa-sorttype ssfa-'+settings.table+'-first-column">'+ 1499 file_icon+'<br>'+extension+ 1500 '</td>'+ 1501 '<td id="ssfa-upfile_name" class="ssfa-sortname">'+ 1502 '<div class="ssfa-upload-input-container">'+ 1503 '<div class="ssfa-upload-progress ssfa-up-progress-'+color+'" id="ssfa_upload_progress_id_'+file_id+'"></div>'+ 1504 "<input type=\"text\" class=\"rename_ssfa_upfile\" id=\"rename_ssfa_upfile_id_"+file_id+"\" value=\""+rawname+"\""+readonly+">"+ 1505 '</div>'+ 1506 sizenotice+pernotice+pronotice+ 1507 '</td>'+ 1508 '<td id="ssfa-upfile_size" class="ssfa-sortsize">'+ 1509 '<span class="ssfa-filesize'+warningclass+'">'+nicesize(fileSize)+'</span>'+ 1510 '</td>'+ 1511 '<td id="ssfa_upfile_status_'+file_id+'" class="ssfa-sortstatus">'+ 1512 '<a id="ssfa_remove_id_'+file_id+'" href="javascript:" '+ 1513 'onclick="fileupRemove(\''+file_id+'\',\''+thefilename+'\',\''+uid+'\',\''+i+'\');">
1513'+ 1514 '<span class="ssfa-faminicon ssfa-'+cancel_color+' ssfa-icon-console-2"></span>'+ 1515 '</a>'+ 1516 '</td>'+ 1517 '</tr>'; 1518 } 1519 else not_defined = true; 1520 } 1521 selectedDisplayed += "</tbody></table></div></div>"; 1522 $("div#ssfa_fileup_files_container_"+uid).append(selectedDisplayed); 1523 $('input[id^="rename_ssfa_upfile_id_"]').alphanum({allow : allowedchars}); 1524 if(jackoff) 1525 { 1526 filertify.set({labels:{ok : fileaway_mgmt.ok_label}}); 1527 filertify.alert(fileaway_mgmt.tamper4); 1528 $("div#ssfa_fileup_files_container_"+uid).html(''); 1529 } 1530 } 1531 } 1532 fileupRemove = function(id, filename, uid, i) 1533 { 1534 if($("span#ssfa_rf_"+uid+" input#"+id).length){} 1535 else $("span#ssfa_rf_"+uid).append("<input type=\"hidden\" id=\""+id+"\" value=\""+id+"\">"); 1536 FileUpConfig[uid].removed[i] = id; 1537 $("tr#ssfa_upfile_id_"+id).fadeOut(250,function() 1538 { 1539 $(this).remove(); 1540 $("div#ssfa_fileup_files_container_"+uid+" table#ssfa-table-"+uid+" tbody").change(); 1541 if($("div#ssfa_fileup_files_container_"+uid+" table#ssfa-table-"+uid+" tbody").children('tr').length){} 1542 else $("div#ssfa_fileup_files_container_"+uid+" table#ssfa-table-"+uid+"").remove(); 1543 }); 1544 } 1545 // Upload Files 1546 $('span[id^="ssfa_submit_upload_"]').on('click', function(){ 1547 var uid = $(this).data('uid'); 1548 var settings = FileUpConfig[uid]; 1549 if(!settings.fixed && $('input#ssfa-upload-actionpath-'+uid).val() === '') 1550 { 1551 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1552 filertify.alert(fileaway_mgmt.build_path); 1553 } 1554 else 1555 { 1556 fileupSubmit(uid, 0); 1557 if(TheFiles[uid] !== undefined && TheFiles[uid].length > 0) 1558 { 1559 $(this).parents('span.ssfa_fileup_wrapper').eq(0).fadeTo(250, 0,function(){$(this).css({'visibility':'hidden'});}); 1560 } 1561 } 1562 }); 1563 // Initialize Uploads 1564 fileupSubmit = function(uid, k) 1565 { 1566 if(TheFiles[uid] !== undefined && TheFiles[uid].length > 0) 1567 { 1568 if(k < TheFiles[uid].length) 1569 { 1570 fileupAjax(TheFiles[uid][k], k, uid); 1571 } 1572 else 1573 { 1574 $('span#ssfa_submit_upload_'+uid).parents('span.ssfa_fileup_wrapper').eq(0) 1575 .css({'visibility':'visible','opacity':'1'}); 1576 TheFiles[uid] = []; 1577 } 1578 } 1579 else 1580 { 1581 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1582 filertify.alert(fileaway_mgmt.no_files_chosen); 1583 } 1584 } 1585 // Ajax Upload 1586 fileupAjax = function(file, i, uid) 1587 { 1588 var initSettings = FileUpConfig[uid]; 1589 if(file !== undefined && file !== '' && file !== "undefined") 1590 { 1591 var id = file_id = fileid(file.name, uid), 1592 rawname = file.name.substr(0, file.name.lastIndexOf('.')) || file.name, 1593 extension = ext(file.name, false), 1594 path = initSettings.fixed ? initSettings.fixed : String($('input#ssfa-upload-actionpath-'+uid).val()), 1595 loc_nonce = $('input#location_nonce_'+uid).val(), 1596 pathcheck = String(initSettings.pathcheck), 1597 removed_file = $("#"+id).val(), 1598 newname = String($("input#rename_ssfa_upfile_id_"+id).val()), 1599 new_name = newname === '' || newname === 'undefined' || newname === undefined ? file.name : newname+'.'+extension, 1600 removed = initSettings.removed, 1601 loading = initSettings.loading, 1602 fixedchars = initSettings.fixed; 1603 if(newname === '' || newname === 'undefined' || newname === undefined) $("input#rename_ssfa_upfile_id_"+id).val(rawname) 1604 if(removed_file !== '' && removed_file !== undefined && removed_file == id) fileupSubmit(uid, i+1); 1605 else 1606 { 1607 var fileupData = new FormData(); 1608 fileupData.append('upload_nonce',initSettings.nonce); 1609 fileupData.append('loc_nonce',loc_nonce); 1610 fileupData.append('upload_file',file); 1611 fileupData.append('upload_file_id',id); 1612 fileupData.append('max_file_size',initSettings.maxsize); 1613 fileupData.append('upload_path',path); 1614 fileupData.append('new_name',new_name); 1615 fileupData.append('extension',extension); 1616 fileupData.append('uploader',initSettings.uploader); 1617 fileupData.append('identby',initSettings.identby); 1618 fileupData.append('overwrite',initSettings.overwrite); 1619 fileupData.append('act','upload'); 1620 fileupData.append('nonce',fileaway_mgmt.nonce); 1621 $.ajax( 1622 { 1623 type : 'POST', 1624 url : fileaway_mgmt.ajaxurl+'?action=fileaway-manager', 1625 data : fileupData, 1626 id : id, 1627 uid : uid, 1628 new_name : new_name, 1629 rawname : rawname, 1630 extension : extension, 1631 path : path, 1632 pathcheck : pathcheck, 1633 removed : removed, 1634 loading : loading, 1635 fixedchars : fixedchars, 1636 cache : false, 1637 contentType : false, 1638 processData : false, 1639 beforeSend : function(xhr, settings) 1640 { 1641 $("#ssfa_upfile_status_"+settings.id) 1642 .html('<span class="ssfa-faminicon ssfa-silver ssfa-icon-denied"></span>'); 1643 var newpath = settings.new_name.substring(0, settings.new_name.lastIndexOf("/") + 1), 1644 jackoff = false, 1645 message = ''; 1646 if(''+newpath.indexOf('..') >= 0 || settings.path.indexOf('..') >= 0 || settings.path === '/') 1647 { 1648 jackoff = true; 1649 message = '<br>'+fileaway_mgmt.double_dots_override; 1650 } 1651 if(!jackoff && $.inArray(settings.id, settings.removed) != -1) jackoff = true; 1652 if(!jackoff && settings.fixedchars && settings.new_name.indexOf('/') >= 0) 1653 { 1654 jackoff = true; 1655 message = '<br>'+fileaway_mgmt.creation_disabled; 1656 } 1657 if(!jackoff && settings.path.indexOf(settings.pathcheck) < 0) 1658 { 1659 jackoff = true; 1660 message = '<br>'+fileaway_mgmt.no_override; 1661 } 1662 if(!jackoff && settings.new_name.indexOf('..') >= 0) 1663 { 1664 jackoff = true; 1665 message = '<br>'+fileaway_mgmt.double_dots; 1666 } 1667 if(!jackoff) 1668 { 1669 var pop = settings.rawname.substring(settings.rawname.lastIndexOf(".") + 1, settings.rawname.length); 1670 if($.inArray(pop, fileaway_filetype_groups.script) != -1) 1671 { 1672 if($.inArray(settings.extension.toString(), fileaway_filetype_groups.script) == -1 1673 && $.inArray(settings.extension.toString(), fileaway_filetype_groups.css) == -1) 1674 { 1675 jackoff = true; 1676 message = '<br>'+fileaway_mgmt.multi_type; 1677 } 1678 } 1679 } 1680 if(jackoff) 1681 { 1682 var upload_failure = fileaway_mgmt.upload_failure.replace('filename', settings.rawname+'.'+settings.extension); 1683 $('tr#ssfa_upfile_id_'+settings.id+' td#ssfa-upfile_type') 1684 .html('<span class="ssfa-faminicon ssfa-red ssfa-icon-denied"></span><br>'+settings.extension); 1685 $('td#ssfa_upfile_status_'+settings.id) 1686 .html('<a id="ssfa_remove_id_'+settings.id+'" href="javascript:" onclick="fileupRemove(\'' 1687 +settings.id+'\',\''+settings.rawname+'.'+settings.extension 1688 +'\',\''+settings.uid+'\');"><span class="ssfa-faminicon ssfa-red ssfa-icon-console-2"></span></a>'); 1689 $('tr#ssfa_upfile_id_'+settings.id+' td#ssfa-upfile_name') 1690 .append('<br><span class="ssfa-fileup-warning">'+upload_failure+message+'</span>'); 1691 fileupSubmit(settings.uid, i+1); 1692 xhr.abort(); 1693 } 1694 }, 1695 xhr: function() 1696 { 1697 var xhr = new window.XMLHttpRequest(); 1698 xhr.upload.addEventListener("progress", function(evt) 1699 { 1700 if(evt.lengthComputable) 1701 { 1702 var percentComplete = evt.loaded / evt.total; 1703 $('div#ssfa_upload_progress_id_'+id).width((percentComplete * 100) + '%'); 1704 } 1705 }, false); 1706 return xhr; 1707 }, 1708 success:function(response) 1709 { 1710 setTimeout(function() 1711 { 1712 if(response.status == 'success' && response.file_id == id) 1713 { 1714 $("#ssfa_upfile_status_"+id).html('<span class="ssfa-faminicon ssfa-green ssfa-icon-inbox"></span>'); 1715 setTimeout(function() 1716 { 1717 $("#ssfa_upfile_id_"+id).fadeOut(250,function() 1718 { 1719 $(this).remove(); 1720 $("div#ssfa_fileup_files_container_"+uid+" table#ssfa-table-"+uid+" tbody").change(); 1721 if($("div#ssfa_fileup_files_container_"+uid+" table#ssfa-table-"+uid+" tbody").children('tr').length){} 1722 else $("div#ssfa_fileup_files_container_"+uid+" table#ssfa-table-"+uid).remove(); 1723 });
1724 },750); 1725 } 1726 else 1727 { 1728 var upload_failure = fileaway_mgmt.upload_failure.replace('filename', rawname+'.'+extension); 1729 if(response.status == 'error') upload_failure += '<br>'+response.message; 1730 $('tr#ssfa_upfile_id_'+id+' td#ssfa-upfile_type').html('<span class="ssfa-faminicon ssfa-red ssfa-icon-denied"></span><br>'+extension); 1731 $('td#ssfa_upfile_status_'+id).html('<a id="ssfa_remove_id_'+file_id+'" href="javascript:" onclick="fileupRemove(\''+id+'\',\''+rawname+'.'+extension+'\',\''+uid+'\');"><span class="ssfa-faminicon ssfa-red ssfa-icon-console-2"></span></a>'); 1732 $('tr#ssfa_upfile_id_'+id+' td#ssfa-upfile_name').append('<br><span class="ssfa-fileup-warning">'+upload_failure+'</span>'); 1733 } 1734 fileupSubmit(uid, i+1); 1735 },500); 1736 } 1737 }); 1738 } 1739 } 1740 } 1741 // Upload Path Generator Function 1742 $('select[id^="ssfa-fileup-directories-select-"]').chozed({ 1743 allow_single_deselect:false, 1744 width: '200px', 1745 inherit_select_classes:true, 1746 no_results_text: fileaway_mgmt.no_results, 1747 search_contains: true 1748 }); 1749 $('select[id^="ssfa-fileup-directories-select-"]').on('change', function() 1750 { 1751 $uid = this.id.replace('ssfa-fileup-directories-select-', ''); 1752 $loading = $('img#ssfa-fileup-action-ajax-loading-'+$uid); 1753 if($(this).val() !== '') 1754 { 1755 $basename = $('input#ssfa-upload-actionpath-'+$uid).data('basename'); 1756 $start = $('input#ssfa-upload-actionpath-'+$uid).data('start'); 1757 $send = upactionpath(this.value, $basename, $start, $loading, $uid); 1758 } 1759 }); 1760 $('body').on('click', 'a[id^=ssfa-fileup-action-pathpart-]', function(ev) 1761 { 1762 ev.preventDefault(); 1763 $parent = $(this).parents('div').eq(0).attr('id'); 1764 $uid = $parent.replace('ssfa-fileup-action-path-', ''); 1765 $basename = $('input#ssfa-upload-actionpath-'+$uid).data('basename'); 1766 $start = $('input#ssfa-upload-actionpath-'+$uid).data('start'); 1767 $loading = $('img#ssfa-fileup-action-ajax-loading-'+$uid); 1768 $pathparts = $(this).attr('data-target'); 1769 $send = upactionpath($pathparts, $basename, $start, $loading, $uid); 1770 }); 1771 function upactionpath($pathparts, $basename, $start, $loading, $uid) 1772 { 1773 var manager_nonce = $('div.ssfa_fileup_container[data-uid="'+$uid+'"]').data('mn'); 1774 var loc_nonce = $('input#location_nonce_'+$uid).val(); 1775 $loading.show(); 1776 $.post( 1777 fileaway_mgmt.ajaxurl, 1778 { 1779 action : 'fileaway-manager', 1780 act : 'actionpath', 1781 uploadaction : 'true', 1782 pathparts : $pathparts, 1783 basename : $basename, 1784 start : $start, 1785 nonce : fileaway_mgmt.nonce, 1786 manager_nonce : manager_nonce, 1787 loc_nonce : loc_nonce, 1788 }, 1789 function(response) 1790 { 1791 $loading.hide(); 1792 if(response.status == 'error') 1793 { 1794 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1795 filertify.alert(response.message); 1796 } 1797 else if(response.status != 'success') 1798 { 1799 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 1800 filertify.alert('An unknown error occurred'); 1801 } 1802 else 1803 { 1804 $container = $('div#ssfa-fileup-path-container-'+$uid); 1805 $actionpath = $('input#ssfa-upload-actionpath-'+$uid); 1806 $putpath = $('div#ssfa-fileup-action-path-'+$uid); 1807 $dropdown = $('select#ssfa-fileup-directories-select-'+$uid); 1808 $dropdown.empty().append(response.ops).trigger('chozed:updated').trigger('liszt:updated'); 1809 $actionpath.val(response.pathparts); 1810 $putpath.html(response.crumbs).append($loading); 1811 } 1812 } 1813 ); 1814 return false; 1815 } // End Upload Path Generator Function 1816 } 1817}); 1818jQuery(document).ready(function($) 1819{ 1820 // CSV EDITOR FUNCTIONS 1821 if($('div.ssfa-fileaway-values[data-editor="true"]').length) 1822 { 1823 $('table.ssfa-values-table > thead > tr > th').contextMenu('ssfa-values-rename-column-context', { 1824 'Rename Column' : { 1825 click: function(element) { fa_values_renamecol(element.attr('id')); }, 1826 link: '<a href="#"><span class="ssfa-icon-quill"></span> '+fileaway_mgmt.rename_column+'</a>', 1827 klass: "menu-item-rename-col-1" 1828 }, 1829 'Insert New Column Before' : { 1830 click: function(element) { fa_values_newcol(element.attr('id'), 'before'); }, 1831 link: '<a href="#"><span class="ssfa-icon-chart-alt"></span> '+fileaway_mgmt.insert_col_before+'</a>', 1832 klass: "menu-item-2" 1833 }, 1834 'Insert New Column After' : { 1835 click: function(element) { fa_values_newcol(element.attr('id'), 'after'); }, 1836 link: '<a href="#"><span class="ssfa-icon-chart-alt"></span> '+fileaway_mgmt.insert_col_after+'</a>', 1837 klass: "menu-item-3" 1838 }, 1839 'Delete Column' : { 1840 click: function(element) { fa_values_deletecol(element.attr('id')); }, 1841 link: '<a href="#"><span class="ssfa-icon-remove"></span> '+fileaway_mgmt.delete_column+'</a>', 1842 klass: "menu-item-4" 1843 }, 1844 'Save Backup' : { 1845 click: function(element) { fa_values_backup(element.attr('id')); }, 1846 link: '<a href="#"><span class="ssfa-icon-disk"></span> '+fileaway_mgmt.save_backup+'</a>', 1847 klass: "menu-item-5" 1848 }, 1849 }); 1850 fa_values_renamecol = function(id, postype) 1851 { 1852 filertify.set({labels:{ok : fileaway_mgmt.ok_label, cancel : fileaway_mgmt.cancel_label }}); 1853 filertify.prompt(fileaway_mgmt.new_column_name, function(e, str) 1854 { 1855 if(e) 1856 { 1857 var shadow = $('<div id="ssfa-values-shadow" style="display:none;" />'); 1858 $('body').append(shadow); 1859 shadow.fadeIn(250); 1860 $("body").css("cursor", "progress"); 1861 $new = str; 1862 var values_nonce = $('th#'+id).parents('div.ssfa-fileaway-values').eq(0).data('fvn'); 1863 $old = $('th#'+id).data('col'); 1864 if($new == $old) 1865 { 1866 $("body").css("cursor", "auto"); 1867 shadow.fadeOut(250,function(){$(this).remove();}); 1868 return false; 1869 } 1870 $colnum = $('th#'+id).data('colnum'); 1871 $src = $('th#'+id).parents('table').eq(0).data('src'); 1872 $read = $('th#'+id).parents('table').eq(0).data('read'); 1873 $write = $('th#'+id).parents('table').eq(0).data('write'); 1874 $.post 1875 ( 1876 fileaway_mgmt.ajaxurl, 1877 { 1878 action : 'fileaway-manager', 1879 act : 'colrename', 1880 src : $src, 1881 oldname : $old, 1882 newname : $new, 1883 colnum : $colnum, 1884 read : $read, 1885 writ : $write, 1886 nonce : fileaway_mgmt.nonce, 1887 values_nonce : values_nonce 1888 }, 1889 function(response) 1890 { 1891 if(response.status == 'success') 1892 { 1893 location.reload(true); 1894 } 1895 else 1896 { 1897 $("body").css("cursor", "auto"); 1898 shadow.fadeOut(250,function(){$(this).remove();}); 1899 filertify.set({labels:{ok : fileaway_mgmt.ok_label}}); 1900 filertify.alert(response.message); 1901 } 1902 } 1903 ) 1904 return false; 1905 } 1906 }); 1907 } 1908 fa_values_newcol = function(id, postype) 1909 { 1910 filertify.set({labels:{ok : fileaway_mgmt.ok_label, cancel : fileaway_mgmt.cancel_label }}); 1911 filertify.prompt(fileaway_mgmt.new_column_name, function(e, str) 1912 { 1913 if(e) 1914 { 1915 var shadow = $('<div id="ssfa-values-shadow" style="display:none;" />'); 1916 $('body').append(shadow); 1917 shadow.fadeIn(250); 1918 $("body").css("cursor", "progress"); 1919 var values_nonce = $('th#'+id).parents('div.ssfa-fileaway-values').eq(0).data('fvn'); 1920 $col = str; 1921 $colnum = $('th#'+id).data('colnum'); 1922 $colnum = postype == 'after' ? $colnum+1 : $colnum; 1923 $src = $('th#'+id).parents('table').eq(0).data('src'); 1924 $read = $('th#'+id).parents('table').eq(0).data('read'); 1925 $write = $('th#'+id).parents('table').eq(0).data('write'); 1926 $.post 1927 ( 1928 fileaway_mgmt.ajaxurl, 1929 { 1930 action : 'fileaway-manager', 1931 act : 'createcol', 1932 src : $src, 1933 col : $col, 1934 colnum : $colnum, 1935 read : $read, 1936 writ: $write, 1937 nonce : fileaway_mgmt.nonce, 1938 values_nonce : values_nonce 1939 }, 1940 function(response) 1941 { 1942 if(response.status == 'success') 1943 { 1944 location.reload(true); 1945 } 1946 else 1947 { 1948 $("body").css("cursor", "auto"); 1949 shadow.fadeOut(250,function(){$(this).remove();}); 1950 filertify.set({labels:{ok : fileaway_mgmt.ok_label}}); 1951 filertify.alert(response.message); 1952 } 1953 } 1954 ) 1955 return false; 1956 } 1957 }); 1958 } 1959 fa_values_deletecol = function(id) 1960 { 1961 $uid = $('th#'+id).parents('table').eq(0).data('uid'); 1962 $numcols = $('table#ssfa-table-'+$uid+' thead tr th').length; 1963 if($numcols < 2) 1964 { 1965 filertify.set({labels:{ok : fileaway_mgmt.ok_label}}); 1966 filertify.alert(fileaway_mgmt.atleast_one_column) 1967 } 1968 else 1969 { 1970 $col = $('th#'+id).data('col'); 1971 var confirmmessage = fileaway_mgmt.delete_confirm.replace('numfiles', $col); 1972 filertify.set({labels:{ok : fileaway_mgmt.confirm_label, cancel : fileaway_mgmt.cancel_label }}); 1973 filertify.confirm(confirmmessage, function(e, str) 1974 { 1975 if(e) 1976 { 1977 var shadow = $('<div id="ssfa-values-shadow" style="display:none;" />'); 1978 $('body').append(shadow); 1979 shadow.fadeIn(250); 1980 $("body").css("cursor", "progress"); 1981 var values_nonce = $('th#'+id).parents('div.ssfa-fileaway-values').eq(0).data('fvn'); 1982 $colnum = $('th#'+id).data('colnum'); 1983 $src = $('th#'+id).parents('table').eq(0).data('src'); 1984 $read = $('th#'+id).parents('table').eq(0).data('read'); 1985 $write = $('th#'+id).parents('table').eq(0).data('write'); 1986 $.post 1987 ( 1988 fileaway_mgmt.ajaxurl, 1989 { 1990 action : 'fileaway-manager', 1991 act : 'coldelete', 1992 src : $src, 1993 col : $col, 1994 colnum : $colnum, 1995 read : $read, 1996 writ : $write, 1997 nonce : fileaway_mgmt.nonce, 1998 values_nonce: values_nonce 1999 }, 2000 function(response) 2001 { 2002 if(response.status == 'success') 2003 { 2004 location.reload(true); 2005 } 2006 else 2007 { 2008 $("body").css("cursor", "auto"); 2009 shadow.fadeOut(250,function(){$(this).remove();}); 2010 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 2011 filertify.alert(response.message); 2012 } 2013 } 2014 ) 2015 return false; 2016 } 2017 }); 2018 } 2019 } 2020 fa_row_context_menu_init = function() 2021 { 2022 $('tr.ssfa-values-context td').contextMenu('ssfa-values-context', { 2023 'Insert New Row' : { 2024 click: function(element) { fa_values_insert_row(element.attr('id')); }, 2025 link: '<a href="#"><span class="ssfa-icon-chart-alt"></span> '+fileaway_mgmt.insert_row+'</a>', 2026 klass: "menu-item-1" 2027 }, 2028 'Delete Row' : { 2029 click: function(element) { fa_values_delete(element.attr('id')); }, 2030 link: '<a href="#"><span class="ssfa-icon-remove"></span> '+fileaway_mgmt.delete_row+'</a>', 2031 klass: "menu-item-2" 2032 }, 2033 'Save Backup' : { 2034 click: function(element) { fa_values_backup(element.attr('id')); }, 2035 link: '<a href="#"><span class="ssfa-icon-disk"></span> '+fileaway_mgmt.save_backup+'</a>', 2036 klass: "menu-item-3" 2037 }, 2038 }); 2039 } 2040 fa_row_context_menu_init(); 2041 fa_values_insert_row = function(id) 2042 { 2043 $uid = $('td#'+id).parents('table').eq(0).data('uid'); 2044 var shadow = $('<div id="ssfa-values-shadow" style="display:none;" />'); 2045 $('body').append(shadow); 2046 shadow.fadeIn(250); 2047 $("body").css("cursor", "progress"); 2048 var values_nonce = $('td#'+id).parents('div.ssfa-fileaway-values').eq(0).data('fvn'); 2049 $numrows = $('table#ssfa-table-'+$uid+' tbody tr').length; 2050 $numcols = $('table#ssfa-table-'+$uid+' tbody tr:first-child td').length; 2051 $src = $('table#ssfa-table-'+$uid).data('src'); 2052 $theme = $('table#ssfa-table-'+$uid).data('theme'); 2053 $read = $('table#ssfa-table-'+$uid).data('read'); 2054 $write = $('table#ssfa-table-'+$uid).data('write'); 2055 $.post 2056 ( 2057 fileaway_mgmt.ajaxurl, 2058 { 2059 action : 'fileaway-manager', 2060 act : 'newrow', 2061 src : $src, 2062 numrows : $numrows, 2063 numcols : $numcols, 2064 theme : $theme, 2065 uid : $uid, 2066 read : $read, 2067 writ : $write, 2068 nonce : fileaway_mgmt.nonce, 2069 values_nonce : values_nonce 2070 }, 2071 function(response) 2072 { 2073 $("body").css("cursor", "auto"); 2074 shadow.fadeOut(250,function(){$(this).remove();}); 2075 if(response.status == 'success') 2076 { 2077 $('td#'+id).parents('tr').eq(0).after(response.html).hide().fadeIn(250); 2078 fa_row_context_menu_init(); 2079 } 2080 else 2081 { 2082 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 2083 filertify.alert(response.message); 2084 } 2085 } 2086 ) 2087 return false; 2088 } 2089 fa_values_delete = function(id) 2090 { 2091 $uid = $('td#'+id).parents('table').eq(0).data('uid'); 2092 $numrows = $('table#ssfa-table-'+$uid+' tbody tr').length; 2093 var values_nonce = $('td#'+id).parents('div.ssfa-fileaway-values').eq(0).data('fvn'); 2094 if($numrows < 2) 2095 { 2096 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 2097 filertify.alert(fileaway_mgmt.atleast_one_row) 2098 } 2099 else 2100 { 2101 $values = []; 2102 id = $('td#'+id).parents('tr').eq(0).attr('id'); 2103 $('tr#'+id+' td span').each(function(i){ 2104 $values[i] = $(this).data('col')+': '+$(this).text(); 2105 }); 2106 $allvalues = ':<br><br>
2106'+$values.join('<br>')+'<br><br>'; 2107 var confirmmessage = fileaway_mgmt.delete_confirm.replace('numfiles.', $allvalues); 2108 filertify.set({labels:{ok : fileaway_mgmt.confirm_label, cancel : fileaway_mgmt.cancel_label }}); 2109 filertify.confirm(confirmmessage, function(e) 2110 { 2111 if(e) 2112 { 2113 var shadow = $('<div id="ssfa-values-shadow" style="display:none;" />'); 2114 $('body').append(shadow); 2115 shadow.fadeIn(250); 2116 $("body").css("cursor", "progress"); 2117 $row = $('tr#'+id).data('row'); 2118 $src = $('tr#'+id).parents('table').eq(0).data('src'); 2119 $read = $('tr#'+id).parents('table').eq(0).data('read'); 2120 $write = $('tr#'+id).parents('table').eq(0).data('write'); 2121 $.post 2122 ( 2123 fileaway_mgmt.ajaxurl, 2124 { 2125 action : 'fileaway-manager', 2126 act : 'deleterow', 2127 src : $src, 2128 row : $row, 2129 read : $read, 2130 writ : $write, 2131 nonce : fileaway_mgmt.nonce, 2132 values_nonce : values_nonce 2133 }, 2134 function(response) 2135 { 2136 if(response.status == 'success') 2137 { 2138 location.reload(true); 2139 } 2140 else 2141 { 2142 $("body").css("cursor", "auto"); 2143 shadow.fadeOut(250,function(){$(this).remove();}); 2144 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 2145 filertify.alert(response.message); 2146 } 2147 } 2148 ) 2149 return false; 2150 } 2151 }); 2152 } 2153 } 2154 fa_values_backup = function(id) 2155 { 2156 var shadow = $('<div id="ssfa-values-shadow" style="display:none;" />'); 2157 $src = $('#'+id).parents('table').eq(0).data('src'); 2158 $read = $('#'+id).parents('table').eq(0).data('read'); 2159 $write = $('#'+id).parents('table').eq(0).data('write'); 2160 var values_nonce = $('#'+id).parents('div.ssfa-fileaway-values').eq(0).data('fvn'); 2161 $('body').append(shadow); 2162 shadow.fadeIn(250); 2163 $("body").css("cursor", "progress"); 2164 $.post 2165 ( 2166 fileaway_mgmt.ajaxurl, 2167 { 2168 action : 'fileaway-manager', 2169 act : 'backupcsv', 2170 src : $src, 2171 read : $read, 2172 writ : $write, 2173 nonce : fileaway_mgmt.nonce, 2174 values_nonce : values_nonce 2175 }, 2176 function(response) 2177 { 2178 $("body").css("cursor", "auto"); 2179 shadow.fadeOut(250,function(){$(this).remove();}); 2180 if(response.status !== 'success') 2181 { 2182 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 2183 filertify.alert(response.message); 2184 } 2185 } 2186 ) 2187 return false; 2188 } 2189 $('body').on('click', 'span[id^="ssfa-delete-csv-"]', function() 2190 { 2191 $uid = $(this).data('uid'); 2192 var values_nonce = $(this).parents('div.ssfa-fileaway-values').eq(0).data('fvn'); 2193 $src = $('table#ssfa-table-'+$uid).data('src'); 2194 $filename = $('table#ssfa-table-'+$uid).data('filename'); 2195 var confirmmessage = fileaway_mgmt.delete_confirm.replace('numfiles.', '<strong><code>'+$filename+'</code></strong>'); 2196 filertify.set({labels:{ok : fileaway_mgmt.confirm_label, cancel : fileaway_mgmt.cancel_label }}); 2197 filertify.confirm(confirmmessage, function(e) 2198 { 2199 if(e) 2200 { 2201 var shadow = $('<div id="ssfa-values-shadow" style="display:none;" />'); 2202 $('body').append(shadow); 2203 shadow.fadeIn(250); 2204 $("body").css("cursor", "progress"); 2205 $.post 2206 ( 2207 fileaway_mgmt.ajaxurl, 2208 { 2209 action : 'fileaway-manager', 2210 act : 'deletecsv', 2211 src : $src, 2212 nonce : fileaway_mgmt.nonce, 2213 values_nonce : values_nonce 2214 }, 2215 function(response) 2216 { 2217 $("body").css("cursor", "auto"); 2218 shadow.fadeOut(250,function(){$(this).remove();}); 2219 if(response.status == 'success') 2220 { 2221 $('table#ssfa-table-'+$uid).fadeOut(250); 2222 $('select#ssfa-fileaway-values-select-'+$uid).find('option:first').attr('selected','selected').trigger('chozed:updated').trigger('change'); 2223 } 2224 else 2225 { 2226 filertify.alert(response.message); 2227 } 2228 } 2229 ) 2230 return false; 2231 } 2232 }); 2233 }); 2234 $('body').on('click', 'span[id^="ssfa-new-csv-"]', function() 2235 { 2236 $uid = $(this).data('uid'); 2237 var values_nonce = $(this).parents('div.ssfa-fileaway-values').eq(0).data('fvn'); 2238 $path = $(this).data('path'); 2239 $pg = $(this).data('pg'); 2240 $read = $(this).data('read'); 2241 $write = $(this).data('write'); 2242 $recursive = $(this).data('recurse'); 2243 filertify.set({labels:{ok : fileaway_mgmt.next_label, cancel : fileaway_mgmt.cancel_label }}); 2244 filertify.prompt(fileaway_mgmt.new_file_name, function(e, name) 2245 { 2246 if(e) 2247 { 2248 if(name == '') 2249 { 2250 filertify.set({labels:{ok : 'OK'}}); 2251 filertify.alert(fileaway_mgmt.specify_file_name); 2252 } 2253 else 2254 { 2255 filertify.set({labels:{ok : fileaway_mgmt.create_label, cancel : fileaway_mgmt.cancel_label }}); 2256 filertify.prompt(fileaway_mgmt.column_names, function(ev, cols) 2257 { 2258 if(ev) 2259 { 2260 if(cols == '') 2261 { 2262 filertify.set({labels:{ok : fileaway_mgmt.ok_label }}); 2263 filertify.alert(fileaway_mgmt.specify_column_name); 2264 } 2265 else 2266 { 2267 var shadow = $('<div id="ssfa-values-shadow" style="display:none;" />'); 2268 $('body').append(shadow); 2269 shadow.fadeIn(250); 2270 $("body").css("cursor", "progress"); 2271 $.post 2272 ( 2273 fileaway_mgmt.ajaxurl, 2274 { 2275 action : 'fileaway-manager', 2276 act : 'makecsv', 2277 path : $path, 2278 pg : $pg, 2279 querystring : location.search, 2280 name : name, 2281 cols : cols, 2282 recursive : $recursive, 2283 read : $read, 2284 writ : $write, 2285 nonce : fileaway_mgmt.nonce, 2286 values_nonce : values_nonce 2287 }, 2288 function(response) 2289 { 2290 $("body").css("cursor", "auto"); 2291 shadow.fadeOut(250,function(){$(this).remove();}); 2292 if(response.status == 'success') 2293 { 2294 window.location.href = response.redirect; 2295 } 2296 else 2297 { 2298 filertify.alert(response.message); 2299 } 2300 } 2301 ) 2302 return false; 2303 } 2304 } 2305 }); 2306 } 2307 } 2308 }); 2309 }); 2310 $('body').on('dblclick', 'td[id^="cell-ssfa-values-"]', function() 2311 { 2312 $sfx = this.id.replace('cell-', ''); 2313 $span = $('span#value-'+$sfx); 2314 $input = $('input#input-'+$sfx); 2315 $span.fadeOut(250); 2316 setTimeout(function(){$input.fadeIn(250).focus();}, 250); 2317 });
2318 $('body').on('blur', 'input[id^="input-ssfa-values-"]', function() 2319 { 2320 $sfx = this.id.replace('input-', ''); 2321 var values_nonce = $(this).parents('div.ssfa-fileaway-values').eq(0).data('fvn'); 2322 $input = $(this); 2323 $span = $('span#value-'+$sfx); 2324 $oldvalue = $span.text(); 2325 $input.fadeOut(250); 2326 $value = $(this).val(); 2327 if($value === $oldvalue) setTimeout(function(){$span.fadeIn(250);}, 250); 2328 else 2329 { 2330 var shadow = $('<div id="ssfa-values-shadow" style="display:none;" />'); 2331 $('body').append(shadow); 2332 shadow.fadeIn(250); 2333 $("body").css("cursor", "progress"); 2334 $row = $(this).data('row'); 2335 $col = $(this).data('col'); 2336 $colnum = $(this).data('colnum'); 2337 $src = $(this).parents('table').eq(0).data('src'); 2338 $read = $(this).parents('table').eq(0).data('read'); 2339 $write = $(this).parents('table').eq(0).data('write'); 2340 $.post 2341 ( 2342 fileaway_mgmt.ajaxurl, 2343 { 2344 action : 'fileaway-manager', 2345 act : 'values', 2346 src : $src, 2347 row : $row, 2348 col : $col, 2349 colnum : $colnum, 2350 oldvalue : $oldvalue, 2351 newvalue : $value, 2352 read : $read, 2353 writ : $write, 2354 nonce : fileaway_mgmt.nonce, 2355 values_nonce : values_nonce 2356 }, 2357 function(response) 2358 { 2359 $("body").css("cursor", "auto"); 2360 shadow.fadeOut(250,function(){$(this).remove();}); 2361 if(response.status == 'success') 2362 { 2363 $span.text($value); 2364 $span.fadeIn(250); 2365 } 2366 else 2367 { 2368 $span.fadeIn(250); 2369 filertify.alert(response.message); 2370 } 2371 } 2372 ) 2373 return false; 2374 } 2375 }); 2376 } 2377});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.