"+a,i){jQuery("#"+i);r+="');b.attr("src",a.url),b.load(a.ok()),b.error(a.error()),b.appendTo("body"),b2evoHelper.log("Sending request : "+a.url)}}}},b2evoCommunications=new _b2evoCommunications;jQuery(document).ready(function(){jQuery("[id^=fadeout-]").each(function(){evoFadeBg(this,new Array("#FFFF33"),{speed:3e3})})}),jQuery(document).on("change",".btn-file :file",function(){var a=jQuery(this).val().replace(/\\/g,"/").replace(/.*\//,"");jQuery(this).parent().next().html(a)});var edit_icon_tag="",delete_icon_tag="",current_widgets="",reorder_widgets_queue,reorder_delay=200,reorder_delay_remaining=0,crumb_url="";jQuery(document).ready(function(){if(0!=jQuery("#current_widgets").length){edit_icon_tag=jQuery(".edit_icon_hook").find("a").html(),delete_icon_tag=jQuery(".delete_icon_hook").find("a").html(),crumb_url=jQuery(".delete_icon_hook").find("a").attr("href"),"undefined"!=typeof crumb_url&&(crumb_url=crumb_url.match(/crumb_.*?$/)),jQuery(".new_widget").parent().parent().remove(),jQuery(".odd").addClass("widget_row").removeClass(".odd"),jQuery(".even").addClass("widget_row").removeClass(".even"),jQuery(".fieldset_title").each(function(){jQuery(this).droppable({accept:".draggable_widget",hoverClass:"droppable-hover",greedy:!0,tolerance:"pointer",delay:1e3,drop:function(a,b){jQuery(".fade_me").removeClass("fade_me"),jQuery(".available_widgets").removeClass("available_widgets_active"),jQuery(b.draggable).prependTo(jQuery("#container_"+jQuery(this).find(".container_name").html().replace(/ /g,"_").replace(/:/g,"-"))),jQuery(b.draggable).addClass("fade_me server_update"),jQuery(b.draggable).droppable("enable"),doFade(".fade_me"),colourWidgets(),sendWidgetOrder()}})}),jQuery(".widget_row td:nth-child(7)").each(function(){var a=jQuery(this).find("a").attr("href");a=a.match(/wi_ID=([0-9]+)/)[1],jQuery(this).parent().attr("id","wi_ID_"+a)});var a=new Array;jQuery(".widget_container_list").each(function(){var b=jQuery(this).attr("id");a[b]=new Array,jQuery("#"+b+" .widget_row").each(function(){var c=jQuery(this).attr("id");a[b][c]=new Array,a[b][c].name=jQuery("#"+c).find(".widget_name").parent().html(),a[b][c]["class"]=jQuery(this).attr("className"),a[b][c].enabled=jQuery("#"+c+" .widget_is_enabled").size(),a[b][c].cache=jQuery("#"+c+" .widget_cache_status [rel]").attr("rel")})});for(container in a){var b=!jQuery("#"+container).hasClass("no-drop");newContainer=jQuery('
'),b||jQuery(newContainer).addClass("no-drop"),jQuery("#"+container).replaceWith(newContainer);for(widget in a[container])createWidget(widget,container,0,a[container][widget].name,a[container][widget]["class"],a[container][widget].enabled,a[container][widget].cache)}jQuery(".no-drop .draggable_widget").droppable("disable"),jQuery(".draggable_widget").bind("mousedown",function(){jQuery(this).hasClass("new_widget")||jQuery(".available_widgets_active").removeClass("available_widgets_active")}),colourWidgets(),convertAvailableList(),current_widgets=getWidgetOrder(),doFade(".fadeout-ffff00"),jQuery("#widget_button_check_all").click(function(){jQuery(this).closest("form").find("input[type=checkbox]").prop("checked",!0)}),jQuery("#widget_button_uncheck_all").click(function(){jQuery(this).closest("form").find("input[type=checkbox]").prop("checked",!1)}),jQuery("#widget_button_check_active").click(function(){jQuery(this).closest("form").find(".widget_checkbox.widget_checkbox_enabled input[type=checkbox]").prop("checked",!0),jQuery(this).closest("form").find(".widget_checkbox:not(.widget_checkbox_enabled) input[type=checkbox]").prop("checked",!1)}),jQuery("#widget_button_check_inactive").click(function(){jQuery(this).closest("form").find(".widget_checkbox.widget_checkbox_enabled input[type=checkbox]").prop("checked",!1),jQuery(this).closest("form").find(".widget_checkbox:not(.widget_checkbox_enabled) input[type=checkbox]").prop("checked",!0)}),jQuery(document).keyup(function(a){27==a.keyCode&&(closeWidgetSettings(),closeAvailableWidgets())})}}),jQuery(document).keyup(function(a){27==a.keyCode&&closeModalWindow()}),jQuery(document).ready(function(){jQuery("img.loadimg").each(function(){jQuery(this).prop("complete")?(jQuery(this).removeClass("loadimg"),""==jQuery(this).attr("class")&&jQuery(this).removeAttr("class")):jQuery(this).on("load",function(){jQuery(this).removeClass("loadimg"),""==jQuery(this).attr("class")&&jQuery(this).removeAttr("class")})})}),jQuery(document).ready(function(){if(jQuery("#attachments_fieldset_table").length>0){var a=jQuery("#attachments_fieldset_table").height();a=a>320?320:97>a?97:a,jQuery("#attachments_fieldset_wrapper").height(a),jQuery("#attachments_fieldset_wrapper").resizable({minHeight:80,handles:"s",resize:function(a,b){jQuery("#attachments_fieldset_wrapper").resizable("option","maxHeight",jQuery("#attachments_fieldset_table").height())}}),jQuery(document).on("click","#attachments_fieldset_wrapper .ui-resizable-handle",function(){var a=jQuery("#attachments_fieldset_table").height(),b=jQuery("#attachments_fieldset_wrapper").height()+80;jQuery("#attachments_fieldset_wrapper").css("height",b>a?a:b)})}});
\ No newline at end of file
+function pop_up_window(a,b,c,d,e){void 0===c&&(c=750),void 0===d&&(d=550);var f=(screen.width-c)/2,g=(screen.height-d)/2;return void 0===e&&(e="scrollbars=yes, status=yes, resizable=yes, menubar=yes"),e="width="+c+", height="+d+", left="+f+", top="+g+", "+e,opened=window.open(a,b,e),opened.focus(),"undefined"==typeof openedWindows?openedWindows=new Array(opened):openedWindows.push(opened),!1}function textarea_replace_selection(a,b,c){textarea_wrap_selection(a,b,"",1,c)}function textarea_wrap_selection(a,b,c,d,e){e=e||document;var f={element:a,before:b,after:c,replace:d,target_document:e};if(!b2evo_Callbacks.trigger_callback("wrap_selection_for_"+a.id,f)){if(window.opener&&void 0!==window.opener)try{if(window.opener.b2evo_Callbacks&&void 0!==window.opener.b2evo_Callbacks&&window.opener.b2evo_Callbacks.trigger_callback("wrap_selection_for_"+a.id,f))return}catch(a){}if(!(window.parent&&void 0!==window.parent&&window.parent.b2evo_Callbacks&&void 0!==window.parent.b2evo_Callbacks&&window.parent.b2evo_Callbacks.trigger_callback("wrap_selection_for_"+a.id,f)))if(e.selection)a.focus(),sel=e.selection.createRange(),sel.text=d?b+c:b+sel.text+c,a.focus();else if(a.selectionStart||"0"==a.selectionStart){var g,h,i,j=a.selectionStart,k=a.selectionEnd;"textarea"==a.type&&void 0!==a.scrollTop&&(h=a.scrollTop,i=a.scrollLeft),d?(a.value=a.value.substring(0,j)+b+c+a.value.substring(k,a.value.length),g=j+b.length+c.length):(a.value=a.value.substring(0,j)+b+a.value.substring(j,k)+c+a.value.substring(k,a.value.length),g=k+b.length+c.length),void 0!==h&&(a.scrollTop=h,a.scrollLeft=i),a.focus(),a.selectionStart=g,a.selectionEnd=g}else a.value+=b+c,a.focus()}}function textarea_str_replace(a,b,c,d){d=d||document;var e={element:a,search:b,replace:c,target_document:d};if(!b2evo_Callbacks.trigger_callback("str_replace_for_"+a.id,e)){if(window.opener&&void 0!==window.opener)try{if(window.opener.b2evo_Callbacks&&void 0!==window.opener.b2evo_Callbacks&&window.opener.b2evo_Callbacks.trigger_callback("str_replace_for_"+a.id,e))return}catch(a){}window.parent&&void 0!==window.parent&&window.parent.b2evo_Callbacks&&void 0!==window.parent.b2evo_Callbacks&&window.parent.b2evo_Callbacks.trigger_callback("str_replace_for_"+a.id,e)||(a.value=a.value.replace(b,c),a.focus())}}function toggle_filter_area(a){var b=jQuery("#clickdiv_"+a),c=jQuery("#clickimg_"+a);if(0==b.length||0==c.length)return alert("ID "+a+" not found!"),!1;if(c.hasClass("fa")||c.hasClass("glyphicon")){if(""!=c.data("toggle")&&void 0!=c.data("toggle")){var d=c.hasClass("fa")?"fa":"glyphicon";void 0==c.data("toggle-orig-class")&&c.data("toggle-orig-class",c.attr("class").replace(new RegExp("^"+d+" (.+)$","g"),"$1")),c.hasClass(c.data("toggle-orig-class"))?c.removeClass(c.data("toggle-orig-class")).addClass(d+"-"+c.data("toggle")):c.removeClass(d+"-"+c.data("toggle")).addClass(c.data("toggle-orig-class"))}}else{var e=c.css("background-position").match(/-*\d+/g);c.css("background-position",parseInt(e[0])+(b.is(":hidden")?-16:16)+"px "+parseInt(e[1])+"px")}return b.is(":hidden")?(b.slideDown(500),jQuery.post(htsrv_url+"anon_async.php?action=expand_filter&target="+a)):(b.slideUp(500),jQuery.post(htsrv_url+"anon_async.php?action=collapse_filter&target="+a)),!1}function b2evo_Callbacks(){this.eventHandlers=new Array}function evoAlert(a){var b=jQuery(".b2evo_alert");b.length>0&&b.remove(),jQuery("body").append('
'+a+"
"),setTimeout(function(){jQuery(".b2evo_alert").fadeOut({complete:function(){jQuery(this).remove()}})},3e3),evo_alert_events_initialized||(evo_alert_events_initialized=!0,jQuery(document).on("click",".b2evo_alert",function(){jQuery(this).remove()}))}function ajax_debug_clear(a){var b=//;return a=a.replace(b,""),a=a.replace(/(
[\s\S]*)/i,""),jQuery.trim(a)}function ajax_response_is_correct(a){var b=//;return!!a.match(b)&&""!=(a=ajax_debug_clear(a))}function SendAdminRequest(a,b,c,d){if(void 0===d||d){var e=new Date;c+=(""!==c?"&":"")+"nocache_dummy="+e.getTime()}SendServerRequest(b2evo_dispatcher_url+"?ctrl="+a+"&action="+b+(c?"&"+c:""))}function SendServerRequest(a){a+=-1!=a.indexOf("?")?"&":"?",a+="display_mode=js";var b=a.split("?");a=b[0],b=b[1],jQuery.ajax({type:"POST",url:a,data:b,dataType:"script"})}function AttachServerRequest(a){jQuery('
').appendTo("#"+a),jQuery("#"+a).attr("target","server_postback")}function DisplayServerMessages(a,b){jQuery("#server_messages").html(a),"object"==typeof b&&(jQuery("input.field_error, select.field_error, textarea.field_error").each(function(){jQuery(this).removeClass("field_error");var a=jQuery(this).next();a.hasClass("notes")&&"SPAN"==a.get(0).tagName&&a.remove()}),jQuery.each(b,function(a,b){jQuery("#"+a).addClass("field_error").after('
'+b+" ")})),jQuery("#server_messages .log_success").animate({backgroundColor:"#88ff88"},"fast").animate({backgroundColor:"#ffffff"},"fast","",function(){jQuery(this).removeAttr("style")}),jQuery("#server_messages > .log_error").animate({backgroundColor:"#ff8888"},"fast").animate({backgroundColor:"#ffffff"},"fast","",function(){jQuery(this).removeAttr("style")})}function get_form(a){for(;"FORM"!=a.tagName;){if(void 0===a)return!1;a=a.parentNode}return a}function check(a,b){if(form_obj=get_form(a),!form_obj)return alert("Could not find form"),!1;for(i=0;i
'),f=!0):a.elements.namedItem("actionArray[create]")?(jQuery(a).append('
'),f=!0):(jQuery(a).append('
'),f=!0),f&&void 0!==d)for(param in d)jQuery(a).append('
');return void 0!==c&&"undefined"!=c&&(null==c&&(c=""),a.elements.blog.value=c),window.onbeforeunload=null,void 0!==e&&1==e&&a.reset(),a.submit(),!1}function b2edit_type(a,b,c){var d=!1;return bozo.nb_changes>0&&(d=!confirm(a)),b2edit_reload(document.getElementById("item_checkchanges"),b,null,{action:c},d)}function b2edit_confirm(a,b,c){return!(bozo.nb_changes>0&&!confirm(a))&&b2edit_reload(document.getElementById("item_checkchanges"),b,null,{action:c},!1)}function makeDragnDrop(a){makeDraggable(a),makeDroppable(a)}function makeDraggable(a){jQuery(a).draggable({helper:"clone",scroll:!0,scrollSensitivity:100,zIndex:999,opacity:.8,cursor:"move",cancel:"input,textarea,button,select,option,a,span.fa,span.widget_checkbox",start:function(){jQuery(this).hide()},stop:function(){jQuery(this).show()}}).addClass("draggable_widget")}function makeDroppable(a){jQuery(a).droppable({accept:".draggable_widget",hoverClass:"droppable-hover",greedy:!0,tolerance:"pointer",delay:1e3,drop:function(a,b){jQuery(".fade_me").removeClass("fade_me"),jQuery(".available_widgets").removeClass("available_widgets_active"),jQuery(this).hasClass("available_widgets")?jQuery(b.draggable).hasClass("new_widget")||jQuery(b.draggable).remove():jQuery(b.draggable).hasClass("new_widget")?addNewWidget(b.draggable,this):(jQuery(b.draggable).insertAfter(this),jQuery(b.draggable).addClass("fade_me server_update"),jQuery(b.draggable).droppable("enable")),doFade(".fade_me"),colourWidgets(),sendWidgetOrder()}})}function doFade(a){evoFadeSuccess(a)}function sendWidgetOrder(){reorder_delay_remaining<1&&jQuery("#server_messages").html('
'),reorder_delay_remaining=reorder_delay,bufferedServerCall()}function sendWidgetOrderCallback(a){doFade(".server_updating"),jQuery(".server_updating").removeClass("server_updating"),colourWidgets()}function bufferedServerCall(){var a=getWidgetOrder();a!=current_widgets?(jQuery("#server_messages").html('
"),current_widgets=a,a+="&"+crumb_url,jQuery(".pending_update").removeClass("pending_update").addClass("server_updating"),SendAdminRequest("widgets","re-order",a,!1)):(jQuery("#server_messages").html('
"),jQuery(".pending_update").removeClass("pending_update"),colourWidgets())}function getWidgetOrder(){var a=new Array;jQuery(".widget_container").each(function(){var b=jQuery(this).attr("id");a[b]="",jQuery("#"+b+" .draggable_widget").each(function(){jQuery(this).attr("id")&&"undefined"!=jQuery(this).attr("id")&&(a[b]+=jQuery(this).attr("id")+", ")})});var b="",c="";for(container in a)b+=container+"="+a[container]+"&",c+=container+",";return("undefined"!=typeof blog?"blog="+blog:"")+"&"+b+"container_list="+c}function colourWidgets(){jQuery(".draggable_widget").removeClass("odd"),jQuery(".draggable_widget").removeClass("even");var a=!1;jQuery("#current_widgets .draggable_widget").each(function(){a=!a,jQuery(this).addClass(a?"even":"odd")})}function deleteWidget(a){return jQuery("#wi_ID_"+a.substr(6,a.length)).animate({backgroundColor:"#f88"},"fast",function(){jQuery(this).remove(),colourWidgets(),sendWidgetOrder()}),!1}function editWidget(a){return jQuery("#server_messages").html(""),msg="wi_ID="+a.substr(6,a.length)+"&"+crumb_url,SendAdminRequest("widgets","edit",msg,!0),!1}function widgetSettings(a,b,c){jQuery("body").append('
'),jQuery("#screen_mask").fadeTo(1,.5).fadeIn(200),jQuery("#widget_settings").html(a).addClass("widget_settings_active edit_widget_"+b+"_"+c),jQuery("#widget_settings").prepend(jQuery("#server_messages")),AttachServerRequest("widget_checkchanges");var d=jQuery("#widget_settings").find("h2.page-title:first");if(d.length>0){var e=jQuery("#widget_settings").find("span.pull-right:first"),f="";e.length>0&&(e.find("a.close_link").remove(),f='
'+e.html()+" ",e.remove()),jQuery("#widget_settings").prepend('"),d.remove(),jQuery("#widget_settings button.close").bind("click",closeWidgetSettings)}jQuery("#widget_settings a.close_link").bind("click",closeWidgetSettings)}function widgetSettingsCallback(a,b,c){jQuery("#wi_ID_"+a+" .widget_name").html(b),jQuery("#wi_ID_"+a+" .widget_cache_status").html(getWidgetCacheIcon("wi_ID_"+a,c))}function closeWidgetSettings(a){if(!jQuery("#widget_settings").is(":visible"))return!1;if("undefined"!=typeof bozo&&(void 0===a||"update"!=a)){if(bozo.validate_close()&&!confirm(bozo.validate_close()))return!1;bozo.reset_changes()}return jQuery("#widget_settings").hide(),jQuery("#server_messages").insertBefore(".available_widgets"),jQuery("#widget_settings").remove(),jQuery("#screen_mask").remove(),!1}function showMessagesWidgetSettings(a){return void 0!==a&&"success"==a&&"undefined"!=typeof bozo&&bozo.reset_changes(),jQuery("#widget_settings").animate({scrollTop:jQuery("#widget_settings").scrollTop()+ +jQuery("#server_messages").position().top-20},100),!1}function T_(a){return void 0===T_arr[a]?a:T_arr[a]}function convertAvailableList(){jQuery(".fieldset_title > span > a[id^='add_new']").attr("href","#").bind("click",function(a){jQuery("body").append('
'),jQuery("#screen_mask").fadeTo(1,.5).fadeIn(200),offset=jQuery(this).offset();var b=offset.top,c=jQuery(document).height()-10-jQuery(".available_widgets").height();return c<20&&(c=20),b>c&&(b=c),jQuery(".available_widgets").addClass("available_widgets_active").attr("id","available_"+jQuery(this).attr("id")),!1}),jQuery(".available_widgets_toolbar > a").bind("click",function(a){return closeAvailableWidgets(),!1}),jQuery(".available_widgets li").each(function(){jQuery(this).addClass("new_widget");var a=jQuery(this).children("a").attr("href");a=a.substr(a.indexOf("&type")+1,a.length),jQuery(this).children("a:first").attr("href","#").bind("click",function(){return addNewWidget(this,a),!1})})}function closeAvailableWidgets(){if(!jQuery(".available_widgets").is(":visible"))return!1;jQuery(".available_widgets").removeClass("available_widgets_active"),jQuery("#screen_mask").remove()}function addNewWidget(a,b){closeAvailableWidgets();var c=jQuery(a).attr("id");jQuery(a).attr("id",c);var d=(jQuery(a).html(),jQuery(".available_widgets").attr("id"));d=d.substr(18,d.length).replace(/_/g," ").replace(/-/g,":"),SendAdminRequest("widgets","create",b+"&blog="+blog+"&container="+d,!0)}function addNewWidgetCallback(a,b,c,d,e){jQuery(".fade_me").removeClass("fade_me"),createWidget("wi_ID_"+a,b.replace(/ /g,"_").replace(/:/g,"-"),c,d,"",1,e),doFade("#wi_ID_"+a),reorder_delay_remaining>0?reorder_delay_remaining=0:current_widgets=getWidgetOrder()}function createWidget(a,b,c,d,e,f,g){var h=jQuery('
'+d+" ");h.find("a.widget_name").click(function(){return editWidget(a)}),e&&jQuery(h).addClass(e),jQuery(h).prepend(jQuery('
"+(f?enabled_icon_tag:disabled_icon_tag)+" "));var i=jQuery('
'+getWidgetCacheIcon(a,g)+" ");jQuery(h).prepend(i);var j=jQuery('
"+(f?deactivate_icon_tag:activate_icon_tag)+' "+edit_icon_tag+' "+delete_icon_tag+" ");jQuery(h).prepend(j),jQuery(h).prepend(jQuery('
')),jQuery("#container_"+b).append(h),makeDragnDrop("#"+a),colourWidgets()}function toggleWidget(a){return SendAdminRequest("widgets","toggle","wi_ID="+a.substr(6)+"&"+crumb_url,!0),!1}function doToggle(a,b){jQuery("#wi_ID_"+a+" .widget_state").html('
"+(b?enabled_icon_tag:disabled_icon_tag)+" "),b?jQuery("#wi_ID_"+a+" .widget_checkbox").addClass("widget_checkbox_enabled"):jQuery("#wi_ID_"+a+" .widget_checkbox").removeClass("widget_checkbox_enabled"),jQuery("#wi_ID_"+a+" .toggle_action").html(b?deactivate_icon_tag:activate_icon_tag),evoFadeBg(jQuery("#wi_ID_"+a),new Array("#FFFF33"),{speed:3e3})}function toggleCacheWidget(a,b){return SendAdminRequest("widgets","cache_"+b,"wi_ID="+a.substr(6)+"&"+crumb_url,!0),!1}function doToggleCache(a,b){jQuery("#wi_ID_"+a+" .widget_cache_status").html(getWidgetCacheIcon("wi_ID_"+a,b)),evoFadeBg(jQuery("#wi_ID_"+a),new Array("#FFFF33"),{speed:3e3})}function str_repeat(a,b){return new Array(b+1).join(a)}function getWidgetCacheIcon(a,b){switch(b){case"enabled":return'
"+cache_enabled_icon_tag+" ";case"disabled":return'
"+cache_disabled_icon_tag+" ";case"disallowed":return cache_disallowed_icon_tag;case"denied":return'
'+cache_denied_icon_tag+" "}}function openModalWindow(a,b,c,d,e,f){var g="overlay_page_active";void 0!==d&&1==d&&(g="overlay_page_active_transparent"),void 0===b&&(b="560px");var h="";if(void 0!==c&&(c>0||""!=c)&&(h=' style="height:'+c+'"'),jQuery("#overlay_page").length>0)return void jQuery("#overlay_page").html(a);jQuery("body").append('
"),jQuery("#screen_mask").fadeTo(1,.5).fadeIn(200),jQuery("#overlay_page").html(a).addClass(g),jQuery(document).on("click","#close_button, #screen_mask, #overlay_page",function(a){if("overlay_page"==jQuery(this).attr("id")){var b=jQuery("#overlay_page form");if(b.length){var c=b.position().top+jQuery("#overlay_wrap").position().top,d=c+b.height();a.clientY>c&&a.clientY
d?d:id?d:he?10:0,l=i-2*l>e?10:0;var m=h>d?d:h,n=i>d?d:i;openModalWindow(' ',m+"px",n+"px",!0,evo_js_lang_crop_profile_pic,[evo_js_lang_crop,"btn-primary"],!0);var o=jQuery("div.modal-dialog div.modal-body").length?jQuery("div.modal-dialog div.modal-body"):jQuery("#overlay_page"),p={top:parseInt(o.css("paddingTop")),right:parseInt(o.css("paddingRight")),bottom:parseInt(o.css("paddingBottom")),left:parseInt(o.css("paddingLeft"))},q=(jQuery("div.modal-dialog div.modal-body").length?parseInt(o.css("min-height")):n-100)-(p.top+p.bottom),r=m-(p.left+p.right),s={user_ID:a,file_ID:b,aspect_ratio:j,content_width:r,content_height:q,display_mode:"js",crumb_user:evo_js_crumb_user};return evo_js_is_backoffice?(s.ctrl="user",s.user_tab="crop",s.user_tab_from=c):(s.blog=evo_js_blog,s.disp="avatar",s.action="crop"),jQuery.ajax({type:"POST",url:evo_js_user_crop_ajax_url,data:s,success:function(a){openModalWindow(a,m+"px",n+"px",!0,evo_js_lang_crop_profile_pic,[evo_js_lang_crop,"btn-primary"])}}),!1}function user_report(a,b){openModalWindow(' ',"auto","",!0,evo_js_lang_report_user,[evo_js_lang_report_this_user_now,"btn-danger"],!0);var c={action:"get_user_report_form",user_ID:a,crumb_user:evo_js_crumb_user};return evo_js_is_backoffice?(c.is_backoffice=1,c.user_tab=b):c.blog=evo_js_blog,jQuery.ajax({type:"POST",url:evo_js_user_report_ajax_url,data:c,success:function(a){openModalWindow(a,"auto","",!0,evo_js_lang_report_user,[evo_js_lang_report_this_user_now,"btn-danger"])}}),!1}function user_deldata(a,b){return openModalWindow(' ',"auto","",!0,evo_js_lang_delete_user_data,[evo_js_lang_delete_selected_data,"btn-danger"],!0),jQuery.ajax({type:"POST",url:evo_js_user_deldata_ajax_url,data:{ctrl:"user",user_tab:"deldata",user_tab_from:b,user_ID:a,display_mode:"js",crumb_user:evo_js_crumb_user},success:function(a){openModalWindow(a,"auto","",!0,evo_js_lang_delete_user_data,[evo_js_lang_delete_selected_data,"btn-danger"])}}),!1}function user_add_org(a){return openModalWindow(' ',"450px","",!0,evo_js_lang_add_user_to_organization,evo_js_lang_add,!0),jQuery.ajax({type:"POST",url:evo_js_user_org_ajax_url,data:{ctrl:"organizations",action:"add_user",org_ID:a,display_mode:"js",crumb_user:evo_js_crumb_organization},success:function(a){openModalWindow(a,"450px","",!0,evo_js_lang_add_user_to_organization,evo_js_lang_add),jQuery("input.autocomplete_login").trigger("added")}}),!1}function user_edit(a,b){return openModalWindow(' ',"450px","",!0,evo_js_lang_edit_membership,evo_js_lang_edit,!0),jQuery.ajax({type:"POST",url:evo_js_user_org_ajax_url,data:{ctrl:"organizations",action:"edit_user",org_ID:a,user_ID:b,display_mode:"js",crumb_user:evo_js_crumb_organization},success:function(a){openModalWindow(a,"450px","",!0,evo_js_lang_edit_membership,evo_js_lang_edit)}}),!1}function user_remove(a,b){return openModalWindow(' ',"450px","",!0,''+evo_js_lang_remove_user_membership+" ",evo_js_lang_remove,!0),jQuery.ajax({type:"POST",url:evo_js_user_org_ajax_url,data:{ctrl:"organizations",action:"remove_user",org_ID:a,user_ID:b,display_mode:"js",crumb_user:evo_js_crumb_organization},success:function(a){openModalWindow(a,"450px","",!0,''+evo_js_lang_remove_user_membership+" ",evo_js_lang_remove)}}),!1}function evo_rest_api_request(url,params_func,func_method,method){var params=params_func,func=func_method;"function"==typeof params_func&&(func=params_func,params={},method=func_method),void 0===method&&(method="GET"),jQuery.ajax({contentType:"application/json; charset=utf-8",type:method,url:restapi_url+url,data:params}).then(function(data,textStatus,jqXHR){"object"==typeof jqXHR.responseJSON&&eval(func)(data,textStatus,jqXHR)})}function evo_link_fix_wrapper_height(){var a=jQuery("#attachments_fieldset_table").height();jQuery("#attachments_fieldset_wrapper").height()!=a&&jQuery("#attachments_fieldset_wrapper").height(jQuery("#attachments_fieldset_table").height())}function evo_link_change_position(a,b,c){var d=a,e=a.value;return jQuery.get(b+"anon_async.php?action=set_object_link_position&link_ID="+a.id.substr(17)+"&link_position="+e+"&crumb_link="+c,{},function(b,c){b=ajax_debug_clear(b),"OK"==b?(evoFadeSuccess(jQuery(d).closest("tr")),jQuery(d).closest("td").removeClass("error"),"cover"==e&&jQuery("select[name=link_position][id!="+a.id+"] option[value=cover]:selected").each(function(){jQuery(this).parent().val("aftermore"),evoFadeSuccess(jQuery(this).closest("tr"))})):(jQuery(d).val(b),evoFadeFailure(jQuery(d).closest("tr")),jQuery(d.form).closest("td").addClass("error"))}),!1}function evo_link_insert_inline(a,b,c){if("undefined"!=typeof b2evoCanvas){var d="["+a+":"+b;c.length&&(d+=":"+c),d+="]",textarea_wrap_selection(b2evoCanvas,d,"",0,window.document);var e=jQuery("#display_position_"+b);0!=e.length&&"inline"!=e.val()&&(deferInlineReminder=!0,e.val("inline").change(),deferInlineReminder=!1)}}function evo_link_delete(a,b,c,d){return evo_rest_api_request("links/"+c,{action:d},function(d){if("item"==b){var e=window.document.getElementById("itemform_post_content");if(null!=e){textarea_str_replace(e,new RegExp("\\[(image|file|inline|video|audio|thumbnail):"+c+":?[^\\]]*\\]","ig"),"",window.document)}}jQuery(a).closest("tr").remove(),evo_link_fix_wrapper_height()},"DELETE"),!1}function evo_link_change_order(a,b,c){return evo_rest_api_request("links/"+b+"/"+c,function(b){var d=jQuery(a).closest("tr");"move_up"==c?d.prev().before(d):d.next().after(d),evoFadeSuccess(d)},"POST"),!1}function evo_link_attach(a,b,c,d){return evo_rest_api_request("links",{action:"attach",type:a,object_ID:b,root:c,path:d},function(a){var b=jQuery("#attachments_fieldset_table table",window.parent.document),c=(b.parent,jQuery(a.list_content));b.replaceWith(jQuery("table",c)).promise().done(function(a){setTimeout(function(){window.parent.evo_link_fix_wrapper_height()},10)})}),!1}function evo_link_ajax_loading_overlay(){var a=jQuery("#attachments_fieldset_table"),b=!1;return 0==a.find(".results_ajax_loading").length&&(b=jQuery(''),a.css("position","relative"),b.css({width:a.width(),height:a.height()}),a.append(b)),b}function evo_link_refresh_list(a,b,c){var d=evo_link_ajax_loading_overlay();return d&&evo_rest_api_request("links",{action:void 0===c?"refresh":"sort",type:a,object_ID:b},function(a){jQuery("#attachments_fieldset_table").html(a.html),d.remove(),evo_link_fix_wrapper_height()}),!1}b2evo_Callbacks.prototype={register_callback:function(a,b,c){void 0===this.eventHandlers[a]&&(this.eventHandlers[a]=new Array),void 0!==c&&c?this.eventHandlers[a][0]=b:this.eventHandlers[a][this.eventHandlers[a].length]=b},trigger_callback:function(event,args){if(void 0===this.eventHandlers[event])return null;for(var r=!1,cb_args="",cb_arguments=arguments,i=1;i-1?a[c]=window[a[c]]:" "==a[c]?a[c]="":a[c]=a[c].replace(/\\\|/g,"|");return!(jQuery(this).closest(".disabled[class*=_toolbar]").length>0)&&(window[b].apply(null,a),!1)}),jQuery('input[type=checkbox][name="renderers[]"]').each(function(){a(jQuery(this))}),jQuery('input[type=checkbox][name="renderers[]"]').click(function(){a(jQuery(this))})}),jQuery(document).ready(function(){jQuery(".pblock").length?jQuery('
').prependTo(".pblock"):jQuery(".level2").length?jQuery(".level2").after('
'):jQuery(".navbar.level1").after('
'),jQuery('').appendTo("body").css({position:"absolute",left:"-1000em",top:"-1000em"})});var _b2evoCommunications=function(){var a,b,c=2500,d=250;return{Init:function(){var e=jQuery.fn.extend({delay:c,interval:d,dispatcher:b},arguments.length?arguments[0]:"");c=e.delay,d=e.interval,b=e.dispatcher,a=this,b2evoHelper.info("Communications object ready")},BufferedServerCall:function(){var b=jQuery.fn.extend({ticker_callback:function(){return!0},send_callback:function(){},delay:c,interval:d,buffer_name:""},arguments.length?arguments[0]:"");if(ticker_status=b.ticker_callback(b.delay))switch(!0!==ticker_status&&b2evoHelper.log("Ticker status : "+ticker_status),ticker_status){case"cancel":return void b2evoHelper.DisplayMessage(''+T_("Update cancelled")+"
");case"pause":return b2evoHelper.DisplayMessage(''+T_("Update Paused")+" : "+b2evoHelper.str_repeat(".",b.delay/b.interval)+"
"),void a.BufferedServerLoop(b);case"ignore":return void a.BufferedServerLoop(b);case"immediate":break;default:if(b.delay-=b.interval,b.delay>0)return b2evoHelper.DisplayMessage(''+T_("Changes pending")+" : "+b2evoHelper.str_repeat(".",b.delay/b.interval)+"
"),void a.BufferedServerLoop(b);b2evoHelper.DisplayMessage(''+T_("Saving changes")+"
"),b.send_callback()}},BufferedServerLoop:function(b){var c=jQuery(a).data("buffers");void 0===c&&(c=Array()),c[b.buffer_name]=b,jQuery(a).data("buffers",c),window.setTimeout('b2evoCommunications.BufferedServerCallback( "'+b.buffer_name+'" )',b.interval)},BufferedServerCallback:function(b){var c=jQuery(a).data("buffers");a.BufferedServerCall(c[b])},SendAdminRequest:function(){var c=jQuery.fn.extend({ctrl:"",action:"",data:"",key:"",error:function(){return!1},ok:function(){return!1}},arguments.length?arguments[0]:""),d="ctrl="+c.ctrl+"&key="+c.key+"&action="+c.action+"&"+c.data;a.SendServerRequest({url:b,data:d,error:c.error,ok:c.ok})},SendServerRequest:function(){var a=jQuery.fn.extend({url:"",data:"",error:function(){return!1},ok:function(){return!1}},arguments.length?arguments[0]:"");if(a.url){a.url+=(!0===a.url.indexOf("?")?"&":"?")+"mode=js",a.data&&(a.url+="&"+a.data);var b=jQuery('
+ ';
+
+ if( $imgSize = $selected_File->get_image_size( 'widthheight' ) )
+ {
+ echo ' dget( 'alt', 'htmlattr' ) )
+ {
+ echo 'alt="'.$alt.'" ';
+ }
+ if( $title = $selected_File->dget( 'title', 'htmlattr' ) )
+ {
+ echo 'title="'.$title.'" ';
+ }
+ echo 'src="'.$selected_File->get_url().'"'
+ .' width="'.$imgSize[0].'" height="'.$imgSize[1].'" />';
+
+ $url_rotate_90_left = regenerate_url( '', 'action=rotate_90_left'.'&'.url_crumb('image') );
+ $url_rotate_180 = regenerate_url( '', 'action=rotate_180'.'&'.url_crumb('image') );
+ $url_rotate_90_right = regenerate_url( '', 'action=rotate_90_right'.'&'.url_crumb('image') );
+ $url_flip_horizontal = regenerate_url( '', 'action=flip_horizontal'.'&'.url_crumb('image') );
+ $url_flip_vertical = regenerate_url( '', 'action=flip_vertical'.'&'.url_crumb('image') );
+
+ echo '';
+ echo action_icon( T_('Rotate this picture 90° to the left'), 'rotate_left', $url_rotate_90_left, '', 0, 0, array( 'style' => 'margin-right:4px' ) );
+ echo action_icon( T_('Rotate this picture 180°'), 'rotate_180', $url_rotate_180, '', 0, 0, array( 'style' => 'margin-right:4px' ) );
+ echo action_icon( T_('Rotate this picture 90° to the right'), 'rotate_right', $url_rotate_90_right, '', 0, 0, array( 'style' => 'margin-right:4px' ) );
+ echo action_icon( T_('Flip this picture horizontally'), 'flip_horizontal', $url_flip_horizontal, '', 0, 0, array( 'style' => 'margin-right:4px' ) );
+ echo action_icon( T_('Flip this picture vertically'), 'flip_vertical', $url_flip_vertical, '', 0, 0 );
+ echo '
';
+
+ echo '';
+ echo '
'.$selected_File->dget( 'title' ).'
';
+ echo '
'.$selected_File->dget( 'desc' ).'
';
+ echo '
'.$selected_File->dget('name').' · ';
+ echo $selected_File->get_image_size().' · ';
+ echo $selected_File->get_size_formatted().'
';
+ echo '
';
+
+ }
+ else
+ {
+ echo 'error';
+ }
+ echo ' ';
}
- echo '
';
break;
case 'text':
diff --git a/inc/files/file_settings.ctrl.php b/inc/files/file_settings.ctrl.php
index f8cac8cfd4f..b032b26ec12 100644
--- a/inc/files/file_settings.ctrl.php
+++ b/inc/files/file_settings.ctrl.php
@@ -53,6 +53,7 @@
'upload_enabled',
'upload_maxkb',
'regexp_filename',
+ 'use_tui_image_editor',
'exif_orientation',
'fm_resize_enable',
'fm_resize_width',
@@ -139,6 +140,8 @@
}
// Save Image options
+ param( 'use_tui_image_editor', 'integer', 0 );
+ $Settings->set( 'use_tui_image_editor', $use_tui_image_editor );
param( 'exif_orientation', 'integer', 0 );
$Settings->set( 'exif_orientation', $exif_orientation );
param( 'fm_resize_enable', 'integer', 0 );
diff --git a/inc/files/model/_file.class.php b/inc/files/model/_file.class.php
index 095e15f8c42..6b5d97226ab 100644
--- a/inc/files/model/_file.class.php
+++ b/inc/files/model/_file.class.php
@@ -2117,15 +2117,19 @@ function get_view_link( $text = NULL, $title = NULL, $no_access_text = NULL, $fo
return '
';
}
else
- { // Link to open in a new window
+ { // Link to open image in a new window
$target = 'evo_fm_'.$this->get_md5_ID();
+ $height = $this->get_image_size( 'height' );
+ $width = $this->get_image_size( 'width' );
+
+ $height = empty( $height ) ? 'window.screen.availHeight' : '( '.$height.' <= ( window.screen.availHeight - 200 ) ) ? ( '.$height.' + 200 ) : window.screen.availHeight';
+ $width = empty( $width ) ? 'window.screen.availWidth' : '( '.$width.' <= ( window.screen.availWidth - 100 ) ) ? ( ( '.$width.' + 100 ) < 1000 ? 1000 : '.$width.' + 100 ) : window.screen.availWidth';
// onclick: we unset target attrib and return the return value of pop_up_window() to make the browser not follow the regular href link (at least FF 1.5 needs the target reset)
return '
';
}
diff --git a/inc/files/model/_image.funcs.php b/inc/files/model/_image.funcs.php
index 3920593c825..267fba2ac00 100644
--- a/inc/files/model/_image.funcs.php
+++ b/inc/files/model/_image.funcs.php
@@ -459,6 +459,40 @@ function generate_thumb( $src_imh, $thumb_type, $thumb_width, $thumb_height, $th
}
+/**
+ * Regenerate existing thumbnails
+ *
+ * @param object File object
+ * @param resource Image resource
+ * @param
+ */
+function regenerate_thumbnails( $File, $src_imh = NULL )
+{
+ global $thumbnail_sizes;
+
+ $Filetype = & $File->get_Filetype();
+
+ if( is_null( $src_imh ) )
+ {
+ $src_imh = loadimage( $File->get_full_path(), $Filetype->mimetype );
+ }
+
+ foreach( $thumbnail_sizes as $size_name => $value )
+ {
+ list( $thumb_type, $thumb_width, $thumb_height, $thumb_percent_blur ) = $value;
+ $filepath = $File->get_af_thumb_path( $size_name );
+ if( file_exists( $filepath ) )
+ {
+ list( $err, $dest_imh ) = generate_thumb( $src_imh, $thumb_type, $thumb_width, $thumb_height );
+ if( empty( $err ) )
+ {
+ $err = $File->save_thumb_to_cache( $dest_imh, $size_name, $Filetype->mimetype );
+ }
+ }
+ }
+}
+
+
/**
* Apply blur effect
*
diff --git a/inc/files/views/_file_settings.form.php b/inc/files/views/_file_settings.form.php
index bd4f723664f..5ccdee554a0 100644
--- a/inc/files/views/_file_settings.form.php
+++ b/inc/files/views/_file_settings.form.php
@@ -221,6 +221,7 @@ function JS_showhide_ffield_on_this( $field_id )
$Form->begin_fieldset( T_('Image options').get_manual_link( 'image-options' ) );
+ $Form->checkbox( 'use_tui_image_editor', $Settings->get( 'use_tui_image_editor' ), T_('Use Toast UI Image Editor'), T_('Use Toast UI Image Editor for editing images.') );
$Form->checkbox( 'exif_orientation', $Settings->get( 'exif_orientation' ), T_('Use EXIF info in photos'), T_('Use orientation tag to automatically rotate thumbnails to upright position.') );
$Form->begin_line( T_('Resize large images after upload'), 'fm_resize_enable' );
diff --git a/inc/settings/model/_generalsettings.class.php b/inc/settings/model/_generalsettings.class.php
index 795ba213202..7f45ea54c1a 100644
--- a/inc/settings/model/_generalsettings.class.php
+++ b/inc/settings/model/_generalsettings.class.php
@@ -107,6 +107,7 @@ class GeneralSettings extends AbstractSettings
'fm_default_chmod_dir' => '775',
// Image options
+ 'use_tui_image_editor' => '1',
'exif_orientation' => '1',
'fm_resize_enable' => '0',
'fm_resize_width' => '2880',
diff --git a/rsc/css/toastui/tui-color-picker.css b/rsc/css/toastui/tui-color-picker.css
new file mode 100644
index 00000000000..8faf18d8d74
--- /dev/null
+++ b/rsc/css/toastui/tui-color-picker.css
@@ -0,0 +1,153 @@
+/*!
+ * Toast UI Colorpicker
+ * @version 2.2.0
+ * @author NHNEnt FE Development Team