Current File : /home/pacjaorg/public_html/kmm/plugins/djclassifieds/files/assets/djfilesuploader.js
/**
 * @package DJ-Classifieds
 * @copyright Copyright (C) DJ-Extensions.com, All rights reserved.
 * @license http://www.gnu.org/licenses GNU/GPL
 * @author url: http://dj-extensions.com
 * @author email: contact@dj-extensions.com
 */

function DJCFPlUploadStartUploadFile(up, files)
{
	var wrapper = jQuery('#djc_uploader_file_items');
	var total = wrapper.find('.djc_uploader_item').length;
	var limit = parseInt(wrapper.attr('data-limit'));
	
	var limitreached = false;
	
	if (total + files.length >= limit && limit >= 0) {
		var remaining = limit - total;
		var toRemove = files.length - remaining;
		
		if (toRemove > 0 && files.length > 0){
			limitreached = true;
			for (var i = files.length-1; i >= 0; i--) {
				if (toRemove <= 0) {
					break;
				}
				up.removeFile(up.files[i]);					
				toRemove--;
			}		
		}					   				
	}
	
	if (limitreached) {
		alert(DJClassifiedsUploaderVars.lang.limitreached);
	}
	
	up.start();
}

function DJCFPlUploadInjectUploadedFile(up,file,info)
{
	var prefix = 'file';
	
	var response = JSON.parse(info.response); 
	if(response.error) {
		file.status = plupload.FAILED;
		file.name += ' - ' + response.error.message;
		jQuery('#'+file.id).addClass('ui-state-error');
		jQuery('#'+file.id).find('td.plupload_file_name').append(' - ' + response.error.message);
		return false;
	}
	
	var html = '<td class="center ordering_handle"><span class="sortable-handler" style="cursor: move;"><i class="icon-move"></i></span></td>';
	html += '<td class="center">'+file.name;
	html += '<input type="hidden" name="'+prefix+'_file_id[]" value="0">';
	html += '<input type="hidden" name="'+prefix+'_file_name[]" value="'+file.target_name+'">';
	html += '</td>';
	html += '<td>';
	
	if (DJClassifiedsUploaderVars.valid_captions.length > 0) {
		html += '<select class="djc_uploader_caption inputbox input input-medium" name="'+prefix+'_caption[]">';
		for (var i = 0; i < DJClassifiedsUploaderVars.valid_captions.length; i++) {
			html += DJClassifiedsUploaderVars.valid_captions[i];
		}
		html += '</select>';
	} else {
		html += '<input type="text" class="djc_uploader_caption inputbox input input-medium form-control" name="'+prefix+'_caption[]" value="'+DJClassifiedsMUStripExt(file.name)+'" />';
	}
	
	html += '</td>';
	html += '<td class="center">';
	
	if (DJClassifiedsUploaderVars.client == 1) {
		html +='<input type="text" class="djc_uploader_hits inputbox input input-small form-control" name="'+prefix+'_hits[]" value="0" readonly="readonly" />';	
	} else {
		html +='<span>0</span>';
	}
	
	html += '</td>';
	html += '<td class="center"><button class="button btn djc_uploader_remove_btn">'+DJClassifiedsUploaderVars.lang.remove+'</button></td>';
	
	var item = jQuery('<tr class="djc_uploader_item">'+html+'</tr>');
	DJClassifiedsMUInitItemEvents(item);
	
	// add uploaded image to the list and make it sortable
	item.appendTo(jQuery('#djc_uploader_'+prefix+'_items'));
	if (typeof jQuery != 'undefined') {
		if (typeof jQuery(document).chosen != 'undefined') {
			jQuery('select.djc_uploader_caption').chosen({"disable_search_threshold":10,"allow_single_deselect":true});
		}
	}

	if(typeof this.djfilesortables !== 'undefined'){
		this.djfilesortables.append(item);
	 }
	
	up.removeFile(file);
	
	return true;
}

function DJClassifiedsMUInitItemEvents(item)
{
	item = jQuery(item);
	if(!item) return;
	item.find('.djc_uploader_remove_btn').on('click',function(){
		item.detach();
		return false;
	});
	item.find('input').each(function(){
		jQuery(this).on('focus',function(){
			item.addClass('active');
		});
		jQuery(this).on('blur',function(){
			item.removeClass('active');
		});
	});
}

function DJClassifiedsMUStripExt(filename)
{	
	var pattern = /\.[^.]+$/;
	return filename.replace(pattern, "");	
}

function DJClassifiedsUPExcludeCheckbox(element)
{
	var p = element.parentNode;
	var inputs = p.getElementsByClassName('djc_hiddencheckbox');
	if (inputs.length == 0) {
		return false;
	}

	for (var k in inputs) {
		if (inputs.hasOwnProperty(k) && typeof inputs[k].type != 'undefined' && typeof inputs[k].name != 'undefined') {
			if (typeof element.checked != 'undefined' && element.checked) {
				inputs[k].value = '1';
			} else {
				inputs[k].value = '0';
			}
		}
	}
	return false;
}

function DJClassifiedsUPAddUploader(suffix, wrapper_id)
{	
	var wrapper = jQuery('#djc_uploader_'+suffix+'_items');
	var total = wrapper.find('.djc_uploader_item').length + wrapper.find('.djc_uploader_item_simple').length;
	var limit = parseInt(wrapper.attr('data-limit'));
	if (total >= limit && limit >= 0) {
		return false;				   				
	}
	
    var copy = jQuery('#djc_uploader_simple_'+suffix).clone().appendTo(jQuery('#'+wrapper_id + '_items'));
    copy.show();
    
    return false;
}

jQuery(function(){
	if(typeof jQuery.fn.sortable != 'undefined'){
		window.djfilesortables = jQuery('.djc_files_uploader .djc_uploader_items').sortable({
			cursor: 'move',
			opacity: 0.5
		});
	}
	
	jQuery('.djc_files_uploader_item').each(function(){
		DJClassifiedsMUInitItemEvents(this);
	});
});

Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!