__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
/*
 * @package   Phoca Commander
 * @author    Jan Pavelka - https://www.phoca.cz
 * @copyright Copyright (C) Jan Pavelka https://www.phoca.cz
 * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 and later
 * @cms       Joomla
 * @copyright Copyright (C) Open Source Matters. All rights reserved.
 * @license   http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
 */

function phGetMsg(msg, defaultMsg) {

	if (defaultMsg == 1) {
		return '<div id="ph-ajaxtop-message">'
		+ '<div id="ph-ajaxtop-close">x</div>'
		+ '<div class="ph-result-txt ph-info-txt">' + msg + '</div>'
		+ '<div class="ph-progressbar-bottom"></div>'
		+ '</div>';
	} else {
		return '<div id="ph-ajaxtop-close">x</div>'  + msg + '<div class="ph-progressbar-bottom"></div>';
	}

}

function phCloseMsgBoxSuccess(button) {

    if (typeof button === 'undefined') {button = '';}
    if (button != '') {jQuery(button).attr('disabled', true);}

	var animateId =  jQuery(".ph-progressbar-bottom").animate({
		width: "0%"
    }, 2500, function() {
        jQuery("#ph-ajaxtop").hide();
        jQuery(".ph-result-txt").remove();
        if (button != '') {jQuery(button).attr('disabled', false);}
      }
    );

    jQuery("#ph-ajaxtop-message").on("click", function(e){
        animateId.finish();
        animateId.remove();
        jQuery("#ph-ajaxtop").hide();
        jQuery(".ph-result-txt").remove();
        if (button != '') {jQuery(button).attr('disabled', false);}
    })
    jQuery("#ph-ajaxtop-message").on("mouseenter", function(e){
        animateId.pause();
    })
    jQuery("#ph-ajaxtop-message").on("mouseleave", function(e){
        animateId.resume();
    })
}

function phCloseMsgBoxError(button) {

    if (typeof button === 'undefined') {button = '';}
    if (button != '') {jQuery(button).attr('disabled', true);}

	var animateId =  jQuery(".ph-progressbar-bottom").animate({
		width: "0%"
    }, 3500, function() {
        jQuery("#ph-ajaxtop").hide();
        jQuery(".ph-result-txt").remove();
        if (button != '') {jQuery(button).attr('disabled', false);}
      }
    );

    jQuery("#ph-ajaxtop-message").on("click", function(e){
        animateId.finish();
        animateId.remove();
        jQuery("#ph-ajaxtop").hide();
        jQuery(".ph-result-txt").remove();
        if (button != '') {jQuery(button).attr('disabled', false);}
    })
    jQuery("#ph-ajaxtop-message").on("mouseenter", function(e){
        animateId.pause();
    })
    jQuery("#ph-ajaxtop-message").on("mouseleave", function(e){
        animateId.resume();
    })
}

function phSaveEdit(button) {

    if (typeof button === 'undefined') {button = '';}

    var phVars 	= Joomla.getOptions('phVarsCM');
    var phLang  = Joomla.getOptions('phLangCM');
    var phUrl = phVars['urleditsave'];


    var source = Joomla.editors.instances['jform_source'].getValue();
    jQuery('#adminForm input[name ="task"]').val('phocacommanderedit.save');
    jQuery('#adminForm #jform_source').val(source);
    var formdata = jQuery("#adminForm").serialize();


    jQuery.ajax({
        type: "POST",
        dataType: "JSON",
        url: phUrl,
        data: formdata,
        async: "false",
        cache: "false",
        success: function(data) {
            if (data.status == 1){
                jQuery("#ph-ajaxtop").show();
                jQuery("#ph-ajaxtop-message").html(phGetMsg(data.message, 0));
                phCloseMsgBoxSuccess(button);
            } else {
                jQuery("#ph-ajaxtop").show();
                jQuery("#ph-ajaxtop-message").html(phGetMsg(data.error, 0));
                phCloseMsgBoxError(button);
            }
        },
        error: function(data){
            jQuery("#ph-ajaxtop").show();
            jQuery("#ph-ajaxtop-message").html(phGetMsg('<span class="ph-result-txt ph-error-txt">' + phLang['COM_PHOCACOMMANDER_ERROR_SAVING_FILE'] + '</span>', 0));
            phCloseMsgBoxError(button);
        }
    })
}


/*
 * Main
 */
var phVars 	= Joomla.getOptions('phVarsCM');
var phLang  = Joomla.getOptions('phLangCM');

var phWelcomeWarning    = phVars['welcomewarning'];
var phActivePanel		= phVars['activepanel'];
var phPanel				= phVars['panel'];
var phFolderA			= phVars['foldera'];
var phFolderB			= phVars['folderb'];
var phOrderingA			= phVars['orderinga'];
var phOrderingB			= phVars['orderingb'];
var phDirectionA		= phVars['directiona'];
var phDirectionB		= phVars['directiona'];


function phSetForm() {

	var phFormContent =
	  '<input type="hidden" name="activepanel" value="' + phActivePanel +'" />' + "\n"
	+ '<input type="hidden" name="panel" value="' + phPanel +'" />' + "\n"
	+ '<input type="hidden" name="directiona" value="' + phDirectionA +'" />' + "\n"
	+ '<input type="hidden" name="directionb" value="' + phDirectionB +'" />' + "\n"
	+ '<input type="hidden" name="orderinga" value="' + phOrderingA +'" />' + "\n"
	+ '<input type="hidden" name="orderingb" value="' + phOrderingB +'" />' + "\n"
	+ '<input type="hidden" name="foldera" value="' + phFolderA +'" />' + "\n"
	+ '<input type="hidden" name="folderb" value="' + phFolderB +'" />' + "\n";
	jQuery("#phFormBox").html(phFormContent);
}

function phSetVariables(phLFA) {

	if (phLFA['orderinga'] && phLFA['orderinga'] != '')			{ phOrderingA = phLFA['orderinga'];}
	if (phLFA['orderingb'] && phLFA['orderingb'] != '')			{ phOrderingB = phLFA['orderingb'];}
	if (phLFA['directiona'] && phLFA['directiona'] != '')		{ phDirectionA = phLFA['directiona'];}
	if (phLFA['directionb'] && phLFA['directionb'] != '')		{ phDirectionB = phLFA['directionb'];}
	if (phLFA['panel'] && phLFA['panel'] != '')					{ phPanel = phLFA['panel'];}
	if (phLFA['activepanel'] && phLFA['activepanel'] != '')		{ phActivePanel = phLFA['activepanel'];}

	if (phLFA['foldera'] && phLFA['foldera'] != '*') {phFolderA = phLFA['foldera'];}
	if (phLFA['foldera'] && phLFA['foldera'] == '|') {phFolderA = '';}
	if (!phLFA['foldera'] && !phFolderA ) { phFolderA = '';}

	if (phLFA['folderb'] && phLFA['folderb'] != '*') {phFolderB = phLFA['folderb'];}
	if (phLFA['folderb'] && phLFA['folderb'] == '|') {phFolderB = '';}
	if (!phLFA['folderb'] && !phFolderB ) { phFolderB = '';}
}

function phLoadFiles(phLFA) {

    var phVars 	= Joomla.getOptions('phVarsCM');
    var phUrl = phVars['url'];

	phSetVariables(phLFA);
	phSetForm();

	var dataPost 			= {};
	var panelId				= getPanelID(phPanel);
	dataPost['panel'] 		= phPanel;
	dataPost['activepanel']	= phActivePanel;
	dataPost['foldera']		= phFolderA;
	dataPost['folderb']		= phFolderB;
	dataPost['orderinga']	= phOrderingA;
	dataPost['orderingb']	= phOrderingB;
	dataPost['directiona']	= phDirectionA;
	dataPost['directionb']	= phDirectionB;

	jQuery.ajax({
	   url: phUrl,
	   type:'POST',
	   data:dataPost,
	   dataType:'JSON',
	   success:function(data){
			if ( data.status == 1 ){
				jQuery(panelId).html(data.message);
			} else {
                jQuery("#ph-ajaxtop").show();
                jQuery("#ph-ajaxtop-message").html(phGetMsg(data.error, 0));
                phCloseMsgBoxError();
			}
		}
	});
}

function phChangeActive() {
	if (phActivePanel == 'B') {
		jQuery('#phStatusA').addClass('ph-status-active');
		jQuery('#phStatusB').removeClass('ph-status-active');
		phActivePanel = 'A';
	} else if (phActivePanel == 'A') {
		jQuery('#phStatusB').addClass('ph-status-active');
		jQuery('#phStatusA').removeClass('ph-status-active');
		phActivePanel = 'B';
	}
}

function phSearchIDs(panel) {
	var searchIDs = jQuery("#ph-table-" + panel + " tr input:checkbox:checked").map(function(){
      return jQuery(this).val();
    }).get();
	return searchIDs;
}

function phGetPassivePanel(panel) {
	if (panel == 'A') { return 'B';}
	else if (panel == 'B') { return 'A';}
}
function getPanelID(panel) {
	if(panel == 'A') {return '#ph-a';}
	if(panel == 'B') {return '#ph-b';}
}


function phRequest(dataPost) {

    var phVars 	= Joomla.getOptions('phVarsCM');
    var phLang  = Joomla.getOptions('phLangCM');
    var phUrl = phVars['urlaction'];

	jQuery("#ph-ajaxtop-message").html(phGetMsg('<span class="ph-result-txt ph-info-txt">' + phLang['COM_PHOCACOMMANDER_UPDATING'] + '</span>', 0));
	jQuery("#ph-ajaxtop").show();

	var phRequestActive = jQuery.ajax({
	   url: phUrl,
	   type:'POST',
	   data:dataPost,
	   dataType:'JSON',
	   success:function(data){
			if ( data.status == 1 ){
				jQuery("#ph-ajaxtop-message").html(phGetMsg(data.message, 0));
				phCloseMsgBoxSuccess();

				phLFA = {};
				phLFA['activepanel'] = phActivePanel;
				if (phActivePanel == 'A') {
					phLFA['foldera'] = dataPost['pathfrom'];
					phLFA['folderb'] = dataPost['pathwhere'];
				} else {
					phLFA['folderb'] = dataPost['pathfrom'];
					phLFA['foldera'] = dataPost['pathwhere'];
				}

				phLFA['panel'] = 'A'; jQuery(document).ready(phLoadFiles(phLFA));
				phLFA['panel'] = 'B'; jQuery(document).ready(phLoadFiles(phLFA));

			} else {


				jQuery("#ph-ajaxtop-message").html(phGetMsg(data.error, 0));
				phRequestActive = null;
				phCloseMsgBoxError();

				phLFA = {};
				phLFA['activepanel'] = phActivePanel;
				if (phActivePanel == 'A') {
					phLFA['foldera'] = dataPost['pathfrom'];
					phLFA['folderb'] = dataPost['pathwhere'];
				} else {
					phLFA['folderb'] = dataPost['pathfrom'];
					phLFA['foldera'] = dataPost['pathwhere'];
				}

				phLFA['panel'] = 'A'; jQuery(document).ready(phLoadFiles(phLFA));
				phLFA['panel'] = 'B'; jQuery(document).ready(phLoadFiles(phLFA));
			}
		},
		error: function(request, textStatus, errorThrown){
			var errorMsg = phLang['COM_PHOCACOMMANDER_SERVER_ERROR'];
            errorMsg = '<span class="ph-result-txt ph-error-txt">' + errorMsg + ': ' + request.getResponseHeader('Status') + ' ('+ errorThrown +')' + '</span>';
            jQuery("#ph-ajaxtop-message").html(phGetMsg(errorMsg, 0));
			phCloseMsgBoxError();

            phLFA = {};
            phLFA['activepanel'] = phActivePanel;
            if (phActivePanel == 'A') {
                phLFA['foldera'] = dataPost['pathfrom'];
                phLFA['folderb'] = dataPost['pathwhere'];
            } else {
                phLFA['folderb'] = dataPost['pathfrom'];
                phLFA['foldera'] = dataPost['pathwhere'];
            }

            phLFA['panel'] = 'A'; jQuery(document).ready(phLoadFiles(phLFA));
            phLFA['panel'] = 'B'; jQuery(document).ready(phLoadFiles(phLFA));
		}
	});
}


/* Action */
function phDoAction(task) {

    var phVars 	= Joomla.getOptions('phVarsCM');
	var phLang  = Joomla.getOptions('phLangCM');

	var phUrlRoot = phVars['urlroot'];

	var dataPost 			= {};
	var txtFileFolder 		= '';
	var renameItem			= '';
	var newItem				= '';
	var newAttrib			= '';
	var pathFrom			= '';
	var pathWhere			= '';
	var searchIDsA			= null;
	var searchIDsB			= null;
	var searchIDs			= null;
	var searchIDsNoPrefix	= '';
	var passivePanel 		= phGetPassivePanel(phActivePanel);
	searchIDs 				= phSearchIDs(phActivePanel);
	if (task == 'new' || task == 'upload') {
		pathFrom 	= jQuery("#phPanel" + phActivePanel).val();
		pathWhere 	= jQuery("#phPanel" + passivePanel).val();
	} else {
		if (searchIDs[0] != null) {
			pathFrom 	= jQuery("#phPanel" + phActivePanel).val();
			pathWhere 	= jQuery("#phPanel" + passivePanel).val();
		} else {
			searchIDs 			= phSearchIDs(passivePanel);
			if (searchIDs[0] != null) {
				pathFrom 	= jQuery("#phPanel" + passivePanel).val();
				pathWhere 	= jQuery("#phPanel" + phActivePanel).val();
			}
		}
	}

	dataPost['pathfrom'] 	= pathFrom;
	dataPost['pathwhere'] 	= pathWhere;
	dataPost['task'] 		= task;
	dataPost['selfiles'] 	= searchIDs;

	//dataPost['newitem'] 	= newItem;
	//dataPost['renameitem'] 	= renameItem;
	//dataPost['newattrib']	= newAttrib;


	if (task == 'new') {
		jQuery('#phPromptValueNewFolder').val( '' );
		phPrompt(dataPost, 'NewFolder', phLang['COM_PHOCACOMMANDER_CREATE'], '', "#phPromptValueNewFolder");
		return true;
	} else if (task == 'upload') {
		var txtPathFrom = jQuery.base64.atob(pathFrom, true);
		if (!txtPathFrom) {
			txtPathFrom = phLang['COM_PHOCACOMMANDER_JOOMLA_ROOT_FOLDER'];
		}
		phPlupload(dataPost['pathfrom']);
		phFrame(dataPost, 'Upload', phLang['COM_PHOCACOMMANDER_FOLDER'] + ': ' + '<span class="ph-file-folder">' + txtPathFrom + '</span>' );
		return true;
	} else if (searchIDs[0] == null) {
		phAlert(phLang['COM_PHOCACOMMANDER_NO_FILE_NO_FOLDER_SELECTED']);
		return false;
	} else {
		var count 			= searchIDs.filter(function(value) { return value !== undefined }).length;

		if (count == 1) {
			if (searchIDs[0].indexOf("folder|") >= 0) {
				searchIDsNoPrefix = searchIDs[0].replace('folder|', '');
				txtFileFolder = jQuery.base64.atob(searchIDsNoPrefix, true);
				txtFileFolder = '<span class="ph-file-folder">' + txtFileFolder + '</span> ' + phLang['COM_PHOCACOMMANDER_FOLDER_SM'];
				dataPost['type'] = 'folder';

				if (task == 'view' || task == 'edit') {
					phAlert(phLang['COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_PREVIEWED_OR_EDITED']);
					return false;
				} else if (task == 'download') {
					phAlert(phLang['COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_DOWNLOADED']);
					return false;
				}

			} else if (searchIDs[0].indexOf("file|") >= 0) {
				searchIDsNoPrefix = searchIDs[0].replace('file|', '');
				txtFileFolder = '<span class="ph-file-folder">' + jQuery.base64.atob(searchIDsNoPrefix, true) + '</span>';
				dataPost['type'] = 'file';

			}
		} else {
			if (task == 'rename') {
				phAlert(phLang['COM_PHOCACOMMANDER_ONLY_ONE_FILE_OR_FOLDER_NEEDS_TO_BE_SELECTED']);
				return false;
			} else if (task == 'view' || task == 'edit' || task == 'unpack' || task == 'download') {
				phAlert(phLang['COM_PHOCACOMMANDER_ONLY_ONE_FILE_NEEDS_TO_BE_SELECTED']);
				return false;
			}
			txtFileFolder = count + ' ' + phLang['COM_PHOCACOMMANDER_FILES_FOLDERS_SM'];
		}
		//return;

		var txtTo = phLang['COM_PHOCACOMMANDER_TO'];
		var txtPathWhere = jQuery.base64.atob(pathWhere, true);
		if (!txtPathWhere) {
			txtPathWhere = phLang['COM_PHOCACOMMANDER_JOOMLA_ROOT_FOLDER'];
		} else {
			txtPathWhere = '<span class="ph-file-folder">' + txtPathWhere + '</span> ' + phLang['COM_PHOCACOMMANDER_FOLDER_SM'];
		}


		if (task == 'copy') {
			phPrompt(dataPost, 'Copy', phLang['COM_PHOCACOMMANDER_OK'], phLang['COM_PHOCACOMMANDER_ARE_YOU_SURE_COPY'] + "<br>" + txtFileFolder + "<br>" + txtTo + "<br>" + txtPathWhere, "#phPromptValueCopy", 1 );
			return true;
		} else if (task == 'move') {
			phPrompt(dataPost, 'Move', phLang['COM_PHOCACOMMANDER_OK'], phLang['COM_PHOCACOMMANDER_ARE_YOU_SURE_MOVE'] + "<br>" + txtFileFolder + "<br>" + txtTo + "<br>" + txtPathWhere, "#phPromptValueMove", 1 );
			return true;
		} else if (task == 'delete') {
			phConfirm(dataPost, phLang['COM_PHOCACOMMANDER_ARE_YOU_SURE_DELETE'] + "<br>" + txtFileFolder + "<br>" + '<span class="ph-warning-text">' + phLang['COM_PHOCACOMMANDER_PERMANENTLY_REMOVE_WARNING'] + '</span>');
			return true;
		} else if (task == 'rename') {
			jQuery("#phPromptValueRename").val(jQuery.base64.atob(searchIDsNoPrefix, true));
			jQuery("#phPromptValueRename").on("focus", function () {
				jQuery(this).select();
			});
			phPrompt(dataPost, 'Rename', phLang['COM_PHOCACOMMANDER_RENAME'], '', '#phPromptValueRename', 0);
			return true;
		} else if (task == 'attributes') {
			clearAttribVal();
			phPrompt(dataPost, 'Attributes', phLang['COM_PHOCACOMMANDER_NEW_ATTRIBUTE'], phLang['COM_PHOCACOMMANDER_SET_NEW_ATTRIBUTE_FOR'] + "<br>" + txtFileFolder + '', "#phAttribVal");
			return true;
		} else if (task == 'edit') {

			if (jQuery.base64.atob(pathFrom, true)) {
				var fullFile = jQuery.base64.atob(pathFrom, true) + '/' + jQuery.base64.atob(searchIDsNoPrefix, true);
			} else {
				var fullFile = jQuery.base64.atob(searchIDsNoPrefix, true);
			}

			var fullFileEncoded = jQuery.base64.btoa(fullFile);

			jQuery("#phFormTask").val('phocacommanderedit.edit');
			jQuery("#phFormFilename").val(fullFileEncoded);
			jQuery("#adminForm").submit();
			return true;
		} else if (task == 'download') {

			if (jQuery.base64.atob(pathFrom, true)) {
				var fullFile = jQuery.base64.atob(pathFrom, true) + '/' + jQuery.base64.atob(searchIDsNoPrefix, true);
			} else {
				var fullFile = jQuery.base64.atob(searchIDsNoPrefix, true);
			}

			var fullFileEncoded = jQuery.base64.btoa(fullFile);

			jQuery("#phFormTask").val('phocacommanderedit.download');
			jQuery("#phFormFilename").val(fullFileEncoded);
			jQuery("#adminForm").submit();
			return true;


		} else if (task == 'view') {
			var phFile = jQuery.base64.atob(searchIDsNoPrefix, true);
			var phExt = phFile.substr( (phFile.lastIndexOf('.') +1) );
			var phExt = phExt.toLowerCase();
			if (phExt == 'jpg' || phExt == 'jpeg' || phExt == 'png' || phExt == 'gif') {
				jQuery().prettyPhoto({social_tools: false, horizontal_padding: 17, theme: 'pp_default'});
				var ppImage	= phUrlRoot + jQuery.base64.atob(pathFrom, true) + '/' + jQuery.base64.atob(searchIDsNoPrefix, true);
				var ppTitle	= jQuery.base64.atob(searchIDsNoPrefix, true);
				var ppDesc	= ' ';
				jQuery.prettyPhoto.open(ppImage,ppTitle,ppDesc);
			} else {
				phAlert(phLang['COM_PHOCACOMMANDER_ONLY_IMAGES_CAN_BE_PREVIEWED']);
				return false;
			}
			return true;
		} else if (task == 'unpack') {
			var phFile = jQuery.base64.atob(searchIDsNoPrefix, true);
			var phExt = phFile.substr( (phFile.lastIndexOf('.') +1) );
			var phExt = phExt.toLowerCase();
			if (phExt == 'zip' || phExt == 'tar' || phExt == 'gz' || phExt == 'gzip' || phExt == 'bz2' || phExt == 'bzip2' ) {
				if (phExt == 'zip') {

					phPrompt(dataPost, 'Unpack', phLang['COM_PHOCACOMMANDER_OK'], phLang['COM_PHOCACOMMANDER_ARE_YOU_SURE_UNPACK'] + "<br>" + txtFileFolder + "<br>" + txtTo + "<br>" + txtPathWhere, "#phPromptValueUnpack", 1 );
				} else {
					var warnUnpack = '<span class="ph-warning-text">' + phLang['COM_PHOCACOMMANDER_EXTRACTED_FILES_OVERWRITE_EXISTING_FILES_WARNING'] + '</span>';
					phPrompt(dataPost, 'UnpackOther', phLang['COM_PHOCACOMMANDER_OK'], phLang['COM_PHOCACOMMANDER_ARE_YOU_SURE_UNPACK'] + "<br>" + txtFileFolder + "<br>" + txtTo + "<br>" + txtPathWhere + "<br>" + warnUnpack, "#phPromptValueUnpackOther", 1 );
				}

			} else {
				phAlert(phLang['COM_PHOCACOMMANDER_ONLY_ARCHIVE_FILE_CAN_BE_UNPACKED']);
			}
			return true;
		} else if (task == 'pack') {
			phPrompt(dataPost, 'Pack', phLang['COM_PHOCACOMMANDER_PACK'], '', '#phPromptValuePack', 0);
			return true;
		} else {
			return true;
		}
	}
	return true;
}

function phDoActionInline(task, fileName, pathFrom) {

    var phVars 	= Joomla.getOptions('phVarsCM');
    var phLang  = Joomla.getOptions('phLangCM');

    var phUrl = phVars['urlroot'];

	if (task == 'edit') {
		if (jQuery.base64.atob(pathFrom, true)) {
			var fullFile = jQuery.base64.atob(pathFrom, true) + '/' + fileName;
		} else {
			var fullFile = fileName;
		}

		var fullFileEncoded = jQuery.base64.btoa(fullFile);
		jQuery("#phFormTask").val('phocacommanderedit.edit');
		jQuery("#phFormFilename").val(fullFileEncoded);
		jQuery("#adminForm").submit();
		return true;

	} else if (task == 'view') {

		var phExt = fileName.substr( (fileName.lastIndexOf('.') +1) );
		var phExt = phExt.toLowerCase();
		if (phExt == 'jpg' || phExt == 'jpeg' || phExt == 'png' || phExt == 'gif') {
			jQuery().prettyPhoto({social_tools: false, horizontal_padding: 17, theme: 'pp_default'});
			var ppImage	= phUrl + jQuery.base64.atob(pathFrom, true) + '/' + fileName;
			var ppTitle	= fileName;
			var ppDesc	= ' ';
			jQuery.prettyPhoto.open(ppImage,ppTitle,ppDesc);
		} else {
			phAlert(phLang['COM_PHOCACOMMANDER_ONLY_IMAGES_CAN_BE_PREVIEWED']);
			return false;
		}
		return true;
	} else if (task == 'download') {

		if (jQuery.base64.atob(pathFrom, true)) {
			var fullFile = jQuery.base64.atob(pathFrom, true) + '/' + fileName;
		} else {
			var fullFile = fileName;
		}

		var fullFileEncoded = jQuery.base64.btoa(fullFile);
		jQuery("#phFormTask").val('phocacommanderedit.download');
		jQuery("#phFormFilename").val(fullFileEncoded);
		jQuery("#adminForm").submit();
		return true;
	}
}

/* DIALOG */
function phSetCloseButton() {
	jQuery('.ui-dialog-titlebar-close').html('<span class="ph-close-button ui-button-icon-primary ui-icon ui-icon-closethick"></span>');
}

function phAlert(txt) {

    var phLang  = Joomla.getOptions('phLangCM');
    var phLangOk = phLang['COM_PHOCACOMMANDER_OK'];
    var phLangCancel = phLang['COM_PHOCACOMMANDER_CANCEL'];

    var phButtons = {};
	phButtons[phLangOk] = function() {
        jQuery(this).dialog("close");
        return false;
    };

	jQuery("#phDialogWarning").dialog({
        autoOpen: false,
		modal: true,
		buttons: phButtons
    });
	jQuery( "#phDialogWarning" ).html( txt );
	jQuery( "#phDialogWarning" ).dialog( "open" );
	/* Correct class */
	phSetCloseButton();
	jQuery('#phDialogWarning button').addClass('btn btn-default');

}

function phConfirm(dataPost, txt) {

    var phLang  = Joomla.getOptions('phLangCM');
    var phLangOk = phLang['COM_PHOCACOMMANDER_OK'];
    var phLangCancel = phLang['COM_PHOCACOMMANDER_CANCEL'];

	jQuery("#phDialogConfirm" ).html( txt );

    var phButtons = {};
	phButtons[phLangOk] = function() {
        jQuery(this).dialog("close");
        phRequest(dataPost);
        return true;
    };
    phButtons[phLangCancel] = function() {
        jQuery(this).dialog("close");
		return false;
    };

    jQuery("#phDialogConfirm").dialog({
        autoOpen: false,
		modal: true,
		buttons: phButtons
    });
	jQuery( "#phDialogConfirm" ).dialog( "open" );
	/* Correct class */
	phSetCloseButton();
	jQuery('#phDialogConfirm button').addClass('btn btn-default');
}

function phPrompt(dataPost, type, txtButton, txt, promptValue, checkBox) {

    var phLang  = Joomla.getOptions('phLangCM');
    var phLangOk = phLang['COM_PHOCACOMMANDER_OK'];
    var phLangCancel = phLang['COM_PHOCACOMMANDER_CANCEL'];

	var phButtons = {};
	phButtons[txtButton] = function() {
		if(checkBox) {
			var phPromptValue = jQuery( promptValue );
			dataPost['newvalue'] = phPromptValue.prop('checked') ;
			phRequest(dataPost);
			phPromptValue.prop('checked', false);
		} else {
			var phPromptValue = jQuery( promptValue );
			if (phPromptValue.val() != '') {
				dataPost['newvalue'] = phPromptValue.val();
				phRequest(dataPost);
			}
		}
		jQuery(this).dialog("close");
		return false;
	};

	phButtons[phLangCancel] = function() {
		jQuery(this).dialog("close");
		return false;
	};

	jQuery("#phDialogPrompt" + type).dialog({
		autoOpen: false,
		modal: true,
		buttons: phButtons
	});

	jQuery("#phDialogPrompt" + type).dialog( "open" );
	jQuery("#phDialogPrompt" + type + ' .ph-prepend-text').show();
	jQuery("#phDialogPrompt" + type + ' .ph-prepend-text').html( txt );
	/* Correct class */
	phSetCloseButton();
	jQuery("#phDialogPrompt" + type + ' button').addClass('btn btn-default');
}

function phPromtWarning(type, txtButton, returnValue, w, h) {

    var phLang  = Joomla.getOptions('phLangCM');
    var phLangOk = phLang['COM_PHOCACOMMANDER_OK'];
    var phLangCancel = phLang['COM_PHOCACOMMANDER_CANCEL'];

	var phButtons = {};
	phButtons[txtButton] = function() {
		jQuery(this).dialog("close");
		return false;
	};

	phButtons[phLangCancel] = function() {
		if (returnValue) {
			window.location = returnValue;
			return false;
		}
		jQuery(this).dialog("close");
		return false;
	};
	var windowHeight = jQuery(window).height();
	var windowWidth = jQuery(window).width();
	windowWidth = windowWidth * w;
	windowHeight = windowHeight * h;
	jQuery("#phDialogPrompt" + type).dialog({
		autoOpen: false,
		modal: true,
		width: windowWidth,
		height: windowHeight,
		buttons: phButtons
	});

	jQuery("#phDialogPrompt" + type).dialog( "open" );
	/* Correct class */
	phSetCloseButton();
	jQuery("#phDialogPrompt" + type + ' button').addClass('btn btn-default');
}

function phFrame(dataPost, type, txt) {

	var windowHeight = jQuery(window).height();
	var windowWidth = jQuery(window).width();
	windowWidth = windowWidth * 0.8;
	windowHeight = windowHeight * 0.8;


	jQuery("#phDialogPrompt" + type).dialog({
        autoOpen: false,
		resizable: true,
		width: windowWidth,
		height: windowHeight,
		modal: true,
		draggable: false,
        resizable: false
    });

	jQuery("#phDialogPrompt" + type).dialog( "open" );
	jQuery("#phDialogPrompt" + type + ' .ph-prepend-text').show();
	jQuery("#phDialogPrompt" + type + ' .ph-prepend-text').html( txt );
	/* Correct class */
	phSetCloseButton();
	jQuery("#phDialogPrompt" + type + ' button').addClass('btn btn-default');
}



/* Attributes */
var phO = 0;
var phG = 0;
var phT = 0;
var phAttribVal = '';

function clearAttribVal() {
	phO = phG = phT = 0;
	phAttribVal = '';
	jQuery('#phDialogPromptAttributes').find(':checked').each(function() {
		jQuery(this).removeAttr('checked');
		jQuery(this).parent().toggleClass('ph-active', false);
	});
	jQuery('#phAttribVal').val( phAttribVal );
}

function setAttribVal(phO, phG, phT) {
	phAttribVal = phO.toString() + '' + phG.toString() + '' + phT.toString();
	jQuery('#phAttribVal').val( phAttribVal );
}




/* Document Ready */
jQuery(document).ready(function() {

    var phLang  = Joomla.getOptions('phLangCM');
    var phVars  = Joomla.getOptions('phVarsCM');
	
	jQuery(document).on( "click", '#selectAllA', function() {
		phActivePanel = 'B';
		var checkedStatusA = this.checked;
		jQuery('#ph-table-A tr').find('td:first :checkbox').each(function () {
			jQuery(this).prop('checked', checkedStatusA);
			jQuery(this).parent().toggleClass('ph-active', this.checked);

		 });
	});

	jQuery(document).on( "click", '#selectAllB', function() {
		phActivePanel = 'B';
		var checkedStatusB = this.checked;
		jQuery('#ph-table-B tr').find('td:first :checkbox').each(function () {
			jQuery(this).prop('checked', checkedStatusB);
			jQuery(this).parent().toggleClass('ph-active', this.checked);

		 });
	});

	/* Start */
	if(phWelcomeWarning == 0) {
		phPromtWarning('WelcomeWarning', phLang['COM_PHOCACOMMANDER_OK'], phVars['urladmin'], 0.6, 0.6 );
	}
	phLFA = {};
	phLFA['panel'] = 'A'; jQuery(document).ready(phLoadFiles(phLFA));
	phLFA['panel'] = 'B'; jQuery(document).ready(phLoadFiles(phLFA));


	/* Make selected file or folder active - color */
	jQuery('td input:checkbox').on("change", function(){
		jQuery(this).parent().toggleClass('ph-active', this.checked);
	});

	/* Make panel active - color */
	/* Start or change the form*/

	/* Change */
	jQuery(document).on( "click", '#ph-a', function() {
		phActivePanel = 'A';
	});
	jQuery(document).on( "click", '#ph-b', function() {
		phActivePanel = 'B';
	});

	jQuery('#phCommanderBox').on("click", function(){
		if (phActivePanel == 'A') {
			jQuery('#phStatusA').addClass('ph-status-active');
			jQuery('#phStatusB').removeClass('ph-status-active');
		} else if (phActivePanel == 'B') {
			jQuery('#phStatusB').addClass('ph-status-active');
			jQuery('#phStatusA').removeClass('ph-status-active');
		}
	})



	/* Keys */
	jQuery( document ).on( "keydown", function( e ) {
		//alert(e.which);

		if (e.keyCode == 90 && e.ctrlKey) {
			e.preventDefault();
			phDoAction('pack');
		}

		if ((e.which || e.keyCode) == 112) {
			e.preventDefault();
			phDoAction('attributes');
		}
		if ((e.which || e.keyCode) == 113) {
			e.preventDefault();
			phDoAction('rename');
		}
		if ((e.which || e.keyCode) == 114) {
			e.preventDefault();
			phDoAction('view');
		}
		if ((e.which || e.keyCode) == 115) {
			e.preventDefault();
			phDoAction('edit');
		}

		if ((e.which || e.keyCode) == 116) {
			e.preventDefault();
			phDoAction('copy');
		}
		if ((e.which || e.keyCode) == 117) {
			e.preventDefault();
			phDoAction('move');
		}
		if ((e.which || e.keyCode) == 118) {
			e.preventDefault();
			phDoAction('new');
		}
		if ((e.which || e.keyCode) == 119) {
			e.preventDefault();
			phDoAction('delete');
		}

		if ((e.which || e.keyCode) == 120) {
			e.preventDefault();
			phDoAction('unpack');
		}
		if ((e.which || e.keyCode) == 121) {
			e.preventDefault();
			phDoAction('upload');
		}
		if ((e.which || e.keyCode) == 9) {
			e.preventDefault();
			phChangeActive();
		}
	});

/*	var map = {17: false, 120: false};
$(document).keydown(function(e) {
    if (e.keyCode in map) {
        map[e.keyCode] = true;
        if (map[17] && map[120]) {

        }
    }
}).keyup(function(e) {
    if (e.keyCode in map) {
        map[e.keyCode] = false;
    }
}); */

	/* Attributes */
	jQuery('#ro').on("change", function(){ if(this.checked) { phO = phO + 4;} else {phO = phO - 4;} setAttribVal(phO, phG, phT);});
	jQuery('#wo').on("change", function(){ if(this.checked) { phO = phO + 2;} else {phO = phO - 2;} setAttribVal(phO, phG, phT);});
	jQuery('#eo').on("change", function(){ if(this.checked) { phO = phO + 1;} else {phO = phO - 1;} setAttribVal(phO, phG, phT);});

	jQuery('#rg').on("change", function(){ if(this.checked) { phG = phG + 4;} else {phG = phG - 4;} setAttribVal(phO, phG, phT);});
	jQuery('#wg').on("change", function(){ if(this.checked) { phG = phG + 2;} else {phG = phG - 2;} setAttribVal(phO, phG, phT);});
	jQuery('#eg').on("change", function(){ if(this.checked) { phG = phG + 1;} else {phG = phG - 1;} setAttribVal(phO, phG, phT);});

	jQuery('#rt').on("change", function(){ if(this.checked) { phT = phT + 4;} else {phT = phT - 4;} setAttribVal(phO, phG, phT);});
	jQuery('#wt').on("change", function(){ if(this.checked) { phT = phT + 2;} else {phT = phT - 2;} setAttribVal(phO, phG, phT);});
	jQuery('#et').on("change", function(){ if(this.checked) { phT = phT + 1;} else {phT = phT - 1;} setAttribVal(phO, phG, phT);});
})

Filemanager

Name Type Size Permission Actions
plupload Folder 0775
prettyphoto Folder 0775
index.html File 44 B 0664
jquery-ui.min.js File 248.94 KB 0664
jquery.base64.js File 4.39 KB 0664
jquery.pause.min.js File 1.63 KB 0664
phocacommander.js File 28.83 KB 0664
Filemanager