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);
});
});