(function($) { $.fn.ncUBB = function(options){ var defaults = { c_id : 0, // circle id t_id : 0, // theme id UBBContent: '', // content object (required) UBBSubmit : '', // submit button object (required) UBBform : '', // form object (required) UBBfileuploadurl : '', // file upload url (required) UBBcontentleast : 0, // Fill in the contents of the minimal number of characters run : '' // Need immediate execution of a function, multiple use commas }; var options = $.extend(defaults, options); var c_id = options.c_id; var t_id = options.t_id; var UBBContent = options.UBBContent; var UBBSubmit = options.UBBSubmit; var UBBform = options.UBBform; var UBBfileuploadurl = options.UBBfileuploadurl; var UBBcontentleast = options.UBBcontentleast; this.each(function() { if(options.run != '') {eval(options.run);} var $this = $(this); // 加粗 $this.find('a[nctype="b"]').click(function(){ UBBContent.inserEitherEndt({ part_one : '[B]', part_two : '[/B]' }); }); // 斜体 $this.find('a[nctype="i"]').click(function(){ UBBContent.inserEitherEndt({ part_one : '[I]', part_two : '[/I]' }); }); // 下划线 $this.find('a[nctype="u"]').click(function(){ UBBContent.inserEitherEndt({ part_one : '[U]', part_two : '[/U]' }); }); // 字体大小颜色 $this.find('.ubb-layer').children().click(function(){ var P='';var C=0;var parent=$(this).parent(); if(parent.hasClass('font-family-layer')){ P = 'FONT'; C = $(this).attr('data-param'); }else if(parent.hasClass('font-size-layer')){ P = 'FONT-SIZE'; C = $(this).attr('class').substring(1,3); }else if(parent.hasClass('font-color-layer')){ P = 'FONT-COLOR'; C = $(this).attr('class').substring(2,8); } if(P == '' || C == 0){ return false; } UBBContent.inserEitherEndt({ part_one : '['+P+'='+C+']', part_two : '[/'+P+']' }); }); // 表情 $this.find('.smilier-layer').children().click(function(){ var C = $(this).children().attr('data-param'); UBBContent.insert({ text : '[SMILIER='+C+'/]' }); }); $this.find('.url-handle').toggle(function(){$(this).find('.url-layer').show()},function(){$(this).find('.url-layer').hide()}); // hyperlink $this.find('.url-layer').find('input[type="submit"]').click(function(){ var C = $this.find('input[name="content"]').val(); var U = $this.find('input[name="url"]').val(); UBBContent.insert({ text : '[URL='+U+']'+C+'[/URL]' }); $this.find('input[name="content"]').val(''); $this.find('input[name="url"]').val(''); $this.find('.url-handle').click(); }); $this.find('.flash-handle').toggle(function(){$(this).find('.flash-layer').show()},function(){$(this).find('.flash-layer').hide()}); $this.find('.flash-layer').find('input[type="submit"]').click(function(){ var C = $this.find('input[name="flash"]').val(); UBBContent.insert({ text : '[FLASH]'+C+'[/FLASH]' }); $this.find('input[name="flash"]').val(); $this.find('.flash-handle').click(); }); // 图片上传 $this.find("#test_file").fileupload({ dataType: 'json', url: UBBfileuploadurl, add: function (e,data) { $('div[nctype="affix"]').hide(); $.each(data.files, function (index, file) { $('
  • ').appendTo('#scrollbar > ul'); }); data.submit(); }, done: function (e,data) { var param = data.result; if(param.msg == 'success'){ updateAffixInsert(param); }else{ $('#' + param.origin_file_name.replace(/\./g, '_')).remove(); checkInsertAffix(); } } }); $this.find('a[nctype="chooseGoods"]').click(function(){ // 已经插入的商品数量计算 var count = 10 - $('.insert-goods > dl').length; // 0 已经插入的商品数量 var _uri = CIRCLE_SITE_URL+'/index.php?act=theme&op=choose_goods&c_id='+c_id+'&count='+count; CUR_DIALOG = ajax_form("choosegoods", '选择商品', _uri, 510); }); $this.find('a[nctype="uploadImage"]').click(function(){ var _uri = CIRCLE_SITE_URL+'/index.php?act=theme&op=choose_image&c_id='+c_id; CUR_DIALOG = ajax_form("uploadimage", '选择图片', _uri, 480); }); // insert affix $this.find('a[nctype="affix_insert"]').click(function(){ affixInsert($(this)); }); // delete affix $this.find('a[nctype="affix_delete"]').click(function(){ affixDelete($(this)); }); // Administrator delete appendage affix $this.find('a[nctype="maffix_delete"]').click(function(){ affixDeleteManage($(this)); }); // delete goods $this.find('.goods-del').click(function(){ $(this).parent().remove(); checkInsertGoods(); }); // 相册图片插入到话题 $('a[nctype="imagealbum"]').die().live('click',function(){ var data_str = $('.choose-image').find('a[nctype="chooseimage"][class="selected"]').attr('data-param'); eval('data_str = ' + data_str); if(typeof(data_str) == 'undefined') {return false;} insertImgUBB(data_str.img); DialogManager.close('uploadimage'); }); // 链接地址插入话题 $('a[nctype="imageurl"]').die().live('click',function(){ var img = $('input[nctype="imageurl"]').val(); insertImgUBB(img); DialogManager.close('uploadimage'); }); // 插入到主题 $('a[nctype="insertGoods"]').die().live('click',function(){ insertGoods($('.selected-goods > dd')); DialogManager.close('choosegoods'); }); // 提交表单 UBBSubmit.click(function(){ UBBform.submit(); }); // Senior reply $this.find('a[nctype="highReply"]').click(function(){ _uri = 'index.php?act=theme&op=reply&c_id='+c_id+'&t_id='+t_id; window.location.href = _uri; }); /* group */ // 点击发话题 $('.thread-layer').find('p').click(function(){ getUnusedAffix(); $(this).parents('.thread-layer:first').fadeOut('fast',function(){ $('.theme-editor').fadeIn('slow'); }); }); }); function insertImgUBB(C){ UBBContent.insert({ text : '[IMG]'+C+'[/IMG]' }); } //插入商品 function insertGoods(o){ o.each(function(){ var data_str = $(this).attr('data-param'); eval( "data_str = " + data_str); var key = 'k'+$('.insert-goods').find('dl').length; $('
    ').append('
    '+data_str.name+'
    '+data_str.price+'
    删除
    ') .append('') .append('') .appendTo('.insert-goods').find('.goods-del').click(function(){ $(this).parent().remove(); checkInsertGoods(); }); }); checkInsertGoods(); } // 验证已插入商品数量,决定$('div[class="insert-goods"]')是否显示 function checkInsertGoods(){ var igs = $('.quick-thread').find('.insert-goods'); var len = igs.children('dl').length; if(len > 0){ igs.fadeIn('slow'); }else{ igs.fadeOut('slow'); } } // 验证已插入附件数量,决定$('div[nctype="affix"]')是否显示 function checkInsertAffix(){ var len = $('div[class="affix"]').find('li').length; if(len == 0){ $('div[nctype="affix"]').show(); } } // 附件插图到编辑器 function affixInsert(o){ var C = o.attr('data-param'); insertImgUBB(C); } // 删除附件 function affixDelete(o){ // 删除图片 var id = o.attr('data-param'); $.getJSON(CIRCLE_SITE_URL+'/index.php?act=theme&op=delimg&c_id='+c_id+'&id='+id, function(){ o.parents('li:first').remove(); checkInsertAffix(); }); } // Administrator delete appendage affix function affixDeleteManage(o){ // 删除图片 var id = o.attr('data-param'); $.getJSON(CIRCLE_SITE_URL+'/index.php?act=manage&op=delimg&c_id='+c_id+'&id='+id, function(){ o.parents('li:first').remove(); checkInsertAffix(); }); } // 附件上传插入html中 function updateAffixInsert(param){ $('#' + param.origin_file_name.replace(/\./g, '_')).removeAttr('id').html('').append('

    ') .append('
    插入删除
    ') .find('a[nctype="affix_insert"]').click(function(){ affixInsert($(this)); }).end().find('a[nctype="affix_delete"]').click(function(){ affixDelete($(this)); }); } // get unused affixes function getUnusedAffix(){ var len = $('.affix').find('li').length; if(len == 0){ $.getJSON('index.php?act=theme&op=unused_img&c_id='+c_id, function(data){ // 获取未使用附件 if(data != null){ $('div[nctype="affix"]').hide(); $.each(data, function(i, param){ $('
  • ').append('

    ') .append('
    插入删除
    ') .appendTo('#scrollbar > ul') .find('a[nctype="affix_insert"]').click(function(){ affixInsert($(this)); }).end().find('a[nctype="affix_delete"]').click(function(){ affixDelete($(this)); }); }); } }); } } } })(jQuery);