Version Description
- changed logic of file sanitizer; dots in filename are by default converted to dashes, in order to avoid upload failures caused when the plugin detects double extensions
- added advanced option WFU_SANITIZE_FILENAME_DOTS that determines whether file sanitizer will sanitize dots or not
- timepicker script and style replaced by most recent version
- timepicker script and style files removed from plugin and loaded from cdn
- json2 script removed from plugin and loaded from Wordpress registered script
- JQuery UI style updated to latest 1.12.1 minified version
- added wfu_before_admin_scripts filter before loading admin scripts and styles in order to control incompatibilities
- removed getElementsByClassName-1.0.1.js file from plugin, getElementsByClassName function was replaced by DOM querySelectorAll
- corrected bug showing warning "Notice: Undefined variable: page_hook_suffix..." when a non-admin user opened Dashboard
- corrected fatal error "func_get_args(): Can't be used as a function parameter" appearing in websites with PHP lower than 5.3
- added _wfu_file_upload_hide_output filter that runs when plugin should not be shown (e.g. for users not inluded in uploadroles), in order to output custom HTML
- corrected bug where email fields were always validated, even if validate option was not activated
- corrected bug where number fields did not allow invalid characters, even if typehook option was not activated
- corrected bug where email fields were not allowed to be ampty when validate option was activated
- corrected error T_PAAMAYIM_NEKUDOTAYIM appearing when PHP version is lower than 5.3
- corrected bug with random upload fails caused when params_index corresponds to more than one params
Download this release
Release Info
Developer | nickboss |
Plugin | WordPress File Upload |
Version | 4.1.0 |
Comparing to | |
See all releases |
Code changes from version 4.0.1 to 4.1.0
- js/getElementsByClassName-1.0.1.js +0 -4
- js/json2.js +0 -8
- js/wordpress_file_upload_adminfunctions.js +52 -53
- js/wordpress_file_upload_functions.js +14 -14
- lib/wfu_admin.php +17 -5
- lib/wfu_admin_browser.php +54 -20
- lib/wfu_admin_log.php +1 -1
- lib/wfu_admin_maintenance.php +5 -3
- lib/wfu_admin_settings.php +66 -0
- lib/wfu_ajaxactions.php +3 -3
- lib/wfu_attributes.php +1 -0
- lib/wfu_blocks.php +18 -0
- lib/wfu_constants.php +1 -0
- lib/wfu_functions.php +93 -86
- lib/wfu_io.php +6 -6
- lib/wfu_security.php +4 -4
- lib/wfu_template.php +38 -0
- readme.txt +23 -2
- release_notes.txt +1 -5
- templates/uploader-Custom1.php +17 -0
- vendor/datetimepicker/jquery-ui-timepicker-addon.min.css +0 -3
- vendor/datetimepicker/jquery-ui-timepicker-addon.min.js +0 -83
- wordpress_file_upload.php +23 -16
js/getElementsByClassName-1.0.1.js
DELETED
@@ -1,4 +0,0 @@
|
|
1 |
-
var getElementsByClassName=function(className,tag,elm){if(document.getElementsByClassName)getElementsByClassName=function(className,tag,elm){elm=elm||document;var elements=elm.getElementsByClassName(className),nodeName=tag?new RegExp("\\b"+tag+"\\b","i"):null,returnElements=[],current;for(var i=0,il=elements.length;i<il;i+=1){current=elements[i];if(!nodeName||nodeName.test(current.nodeName))returnElements.push(current)}return returnElements};else if(document.evaluate)getElementsByClassName=function(className,
|
2 |
-
tag,elm){tag=tag||"*";elm=elm||document;var classes=className.split(" "),classesToCheck="",xhtmlNamespace="http://www.w3.org/1999/xhtml",namespaceResolver=document.documentElement.namespaceURI===xhtmlNamespace?xhtmlNamespace:null,returnElements=[],elements,node;for(var j=0,jl=classes.length;j<jl;j+=1)classesToCheck+="[contains(concat(' ', @class, ' '), ' "+classes[j]+" ')]";try{elements=document.evaluate(".//"+tag+classesToCheck,elm,namespaceResolver,0,null)}catch(e){elements=document.evaluate(".//"+
|
3 |
-
tag+classesToCheck,elm,null,0,null)}while(node=elements.iterateNext())returnElements.push(node);return returnElements};else getElementsByClassName=function(className,tag,elm){tag=tag||"*";elm=elm||document;var classes=className.split(" "),classesToCheck=[],elements=tag==="*"&&elm.all?elm.all:elm.getElementsByTagName(tag),current,returnElements=[],match;for(var k=0,kl=classes.length;k<kl;k+=1)classesToCheck.push(new RegExp("(^|\\s)"+classes[k]+"(\\s|$)"));for(var l=0,ll=elements.length;l<ll;l+=1){current=
|
4 |
-
elements[l];match=false;for(var m=0,ml=classesToCheck.length;m<ml;m+=1){match=classesToCheck[m].test(current.className);if(!match)break}if(match)returnElements.push(current)}return returnElements};return getElementsByClassName(className,tag,elm)};
|
|
|
|
|
|
|
|
js/json2.js
DELETED
@@ -1,8 +0,0 @@
|
|
1 |
-
var JSON;if(!JSON)JSON={};
|
2 |
-
(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=
|
3 |
-
/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=
|
4 |
-
gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function")value=value.toJSON(key);if(typeof rep==="function")value=rep.call(holder,key,value);switch(typeof value){case "string":return quote(value);case "number":return isFinite(value)?String(value):"null";case "boolean":case "null":return String(value);case "object":if(!value)return"null";gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=
|
5 |
-
1)partial[i]=str(i,value)||"null";v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1)if(typeof rep[i]==="string"){k=rep[i];v=str(k,value);if(v)partial.push(quote(k)+(gap?": ":":")+v)}}else for(k in value)if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v)partial.push(quote(k)+(gap?": ":":")+v)}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+
|
6 |
-
gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function")JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number")for(i=0;i<space;i+=1)indent+=" ";else if(typeof space==="string")indent=space;rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number"))throw new Error("JSON.stringify");return str("",{"":value})};if(typeof JSON.parse!=="function")JSON.parse=
|
7 |
-
function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object")for(k in value)if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined)value[k]=v;else delete value[k]}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text))text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
|
8 |
-
"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse");}})();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/wordpress_file_upload_adminfunctions.js
CHANGED
@@ -1,10 +1,9 @@
|
|
1 |
var DraggedItem=null;var ShortcodeNextSave=0;var ShortcodeTimeOut=null;var ShortcodeString="";var Autosave=false;var PageObsolete=false;var PageUpdating=false;var CheckObsolescenceTimeOut=5E3;var wfu_transfers_observer_interval=100;jQuery(document).ready(function($){$(".wfu_color_field").wpColorPicker({change:function(event,ui){event.target.value=ui.color.toString();if(event.target.name=="wfu_text_elements")wfu_update_text_value(event);else if(event.target.name=="wfu_triplecolor_elements")wfu_update_triplecolor_value(event)}})});
|
2 |
function wfu_admin_activate_tab(key){var tabs=document.getElementById("wfu_tab_container");var tab,tabkey;for(var i=0;i<tabs.childNodes.length;i++){tab=tabs.childNodes[i];if(tab.nodeType===1){tabkey=tab.id.substr(8);if(tab.className.indexOf("nav-tab-active")>-1){tab.className="nav-tab";document.getElementById("wfu_container_"+tabkey).style.display="none"}}}document.getElementById("wfu_tab_"+key).className="nav-tab nav-tab-active";document.getElementById("wfu_container_"+key).style.display="block"}
|
3 |
-
function wfu_admin_onoff_clicked(key){var onoff=document.getElementById("wfu_attribute_"+key);var
|
4 |
-
|
5 |
-
function wfu_admin_radio_clicked(key){var radios=document.getElementsByName("wfu_radioattribute_"+key);var
|
6 |
-
"
|
7 |
-
function wfu_addEventHandler(obj,evt,handler){if(obj.addEventListener)obj.addEventListener(evt,handler,false);else if(obj.attachEvent)obj.attachEvent("on"+evt,handler);else obj["on"+evt]=handler}
|
8 |
function wfu_attach_separator_dragdrop_events(){var container=document.getElementById("wfu_placements_container");var item;for(var i=0;i<container.childNodes.length;i++){item=container.childNodes[i];if(item.className=="wfu_component_separator_hor"||item.className=="wfu_component_separator_ver"){wfu_addEventHandler(item,"dragenter",wfu_separator_dragenter);wfu_addEventHandler(item,"dragover",wfu_default_dragover);wfu_addEventHandler(item,"dragleave",wfu_separator_dragleave);wfu_addEventHandler(item,
|
9 |
"drop",wfu_separator_drop)}}}
|
10 |
function wfu_Attach_Admin_DragDrop_Events(){if(window.FileReader){var container=document.getElementById("wfu_placements_container");if(container){var available_container=document.getElementById("wfu_componentlist_container");var item;for(var i=0;i<container.childNodes.length;i++){item=container.childNodes[i];if(item.className=="wfu_component_box"){wfu_addEventHandler(item,"dragstart",wfu_component_dragstart);wfu_addEventHandler(item,"dragend",wfu_component_dragend)}}for(var i=0;i<available_container.childNodes.length;i++){item=
|
@@ -102,12 +101,11 @@ wfu_update_formfield_value);wfu_formdata_update_buttons(key);wfu_formdata_update
|
|
102 |
function wfu_formdata_prepare_template(attribute,field,key){var template=wfu_plugin_decode_string(window["wfu_attribute_"+attribute+"_formtemplate"]);var fielddef=window["wfu_attribute_"+attribute+"_typeprops"][field.type];var fielddef_array=window["wfu_attribute_"+attribute+"_typeprops"][0].split(",");var fieldprops_basic=["required","donotautocomplete","validate","typehook","labelposition","hintposition","default","data","group","format"];var labelpositions=["none","top","right","bottom","left"];
|
103 |
var hintpositions=["none","inline","top","right","bottom","left"];template=template.replace(/\[\[key\]\]/g,key).replace(/\[\[t\]\]/g,field.type).replace(/\[\[label\]\]/g,field.label).replace(/\[\[s\]\]/g,field.labelposition).replace(/\[\[d\]\]/g,field["default"]).replace(/\[\[l\]\]/g,field.data).replace(/\[\[data_label\]\]/g,fielddef.data_label).replace(/\[\[g\]\]/g,field.group).replace(/\[\[f\]\]/g,field.format).replace(/\[\[p\]\]/g,field.hintposition);for(var i=0;i<fieldprops_basic.length;i++)template=
|
104 |
template.replace(new RegExp("\\[\\["+fieldprops_basic[i]+"_hint\\]\\]","g"),fielddef[fieldprops_basic[i]+"_hint"]);for(var i=0;i<fielddef_array.length;i++)template=template.replace("[[type_"+fielddef_array[i]+"_selected]]",fielddef_array[i]==field.type?' selected="selected"':"");for(var i=0;i<labelpositions.length;i++)template=template.replace("[[labelposition_"+labelpositions[i]+"_selected]]",labelpositions[i]==field.labelposition?' selected="selected"':"");for(var i=0;i<hintpositions.length;i++)template=
|
105 |
-
template.replace("[[hintposition_"+hintpositions[i]+"_selected]]",hintpositions[i]==field.hintposition?' selected="selected"':"");template=template.replace("[[remove_disabled]]","");template=template.replace("[[up_disabled]]","");template=template.replace("[[down_disabled]]","");template=field.required?template.replace(/\[\[r
|
106 |
-
"");template=field.validate?template.replace(/\[\[v
|
107 |
-
""):template.replace(/\[\[A
|
108 |
-
"");template=fielddef["default"].substr(0,4)=="show"?template.replace(/\[\[D
|
109 |
-
|
110 |
-
function wfu_userdata_remove_field(obj){var line=obj.parentNode;var container=line.parentNode;var first=null;for(var i=0;i<container.childNodes.length;i++)if(container.childNodes[i].nodeType===1){first=container.childNodes[i];break}if(line!=first){line.parentNode.removeChild(line);for(var i=0;i<first.childNodes.length;i++)if(first.childNodes[i].nodeType===1){wfu_update_userfield_value({target:first.childNodes[i]});break}}}
|
111 |
function wfu_formdata_remove_field(key){var key_parts=key.split("_");var attribute=key_parts[0];var containers=document.querySelectorAll("div#wfu_attribute_"+attribute+" .wfu_formdata_line_container");if(containers.length<2)return;var container=document.getElementById("wfu_attribute_"+attribute);var line_container=document.getElementById("wfu_formfield_"+key+"_container");var line_container_index=0;for(var i=0;i<containers.length;i++)if(containers[i]==line_container){line_container_index=i+1;break}container.removeChild(line_container);
|
112 |
containers=document.querySelectorAll("div#wfu_attribute_"+attribute+" .wfu_formdata_line_container");if(line_container_index>containers.length)line_container_index=containers.length;line_container=containers[line_container_index-1];var prev_key=line_container.id.replace(/^wfu_formfield_/,"").replace(/_container$/,"");wfu_formdata_update_buttons(prev_key);wfu_update_formfield_value({target:line_container})}
|
113 |
function wfu_formdata_move_field(key,direction){var key_parts=key.split("_");var attribute=key_parts[0];var all_attributes=document.querySelector("div#wfu_attribute_"+attribute+" .wfu_formdata_all_attributes").value.split(",");var attr_occur_index=all_attributes.indexOf(attribute)+1;var containers=document.querySelectorAll("div#wfu_attribute_"+attribute+" .wfu_formdata_line_container");var container=document.getElementById("wfu_attribute_"+attribute);var line_container=document.getElementById("wfu_formfield_"+
|
@@ -123,7 +121,7 @@ function wfu_formdata_update_all_updown_buttons(attribute){var all_attributes=do
|
|
123 |
key+"_container .wfu_formdata_action.wfu_formdata_action_up");var down_element=document.querySelector("div#wfu_formfield_"+key+"_container .wfu_formdata_action.wfu_formdata_action_down");up_element.className="wfu_formdata_action wfu_formdata_action_up"+(ii==1&&jj==1?" wfu_formdata_action_disabled":"");down_element.className="wfu_formdata_action wfu_formdata_action_down"+(ii==all_attributes.length&&jj==containers.length?" wfu_formdata_action_disabled":"")}}}
|
124 |
function wfu_generate_shortcode(){var shortcode_tag=document.getElementById("wfu_shortcode_tag").value;var defaults=document.getElementById("wfu_attribute_defaults");var values=document.getElementById("wfu_attribute_values");var item;var attribute="";var value="";var shortcode_full="["+shortcode_tag;var shortcode="";for(var i=0;i<defaults.childNodes.length;i++){item=defaults.childNodes[i];if(item.nodeType===1){attribute=item.id.replace("wfu_attribute_default_","");value=document.getElementById("wfu_attribute_value_"+
|
125 |
attribute).value;if(item.value!=value)shortcode+=" "+attribute+'="'+value+'"'}}shortcode_full+=shortcode+"]";document.getElementById("wfu_shortcode").value=shortcode_full;ShortcodeString=shortcode.substr(1);if(document.getElementById("wfu_update_shortcode"))document.getElementById("wfu_update_shortcode").disabled=wfu_plugin_encode_string(shortcode_full)==document.getElementById("wfu_shortcode_original_enc").value;if(Autosave)wfu_schedule_save_shortcode()}
|
126 |
-
function wfu_update_text_value(e){e=e||window.event;var item=e.target;var attribute=item.id.replace("wfu_attribute_","");var val=item.value;val=val.replace(/(\r\n|\n|\r)/gm,"%n%");val=val.replace(
|
127 |
function wfu_update_date_value(e){e=e||window.event;var item=e.target;var attribute=item.id.replace("wfu_attribute_","");var val=item.value;if(val!==item.oldVal){item.oldVal=val;document.getElementById("wfu_attribute_value_"+attribute).value=val;wfu_generate_shortcode()}}
|
128 |
function wfu_update_stringmatch_textvalue(e){e=e||window.event;var item=e.target;var attribute=item.id.replace("wfu_attribute_","");attribute=attribute.replace("_matchfield","").replace("_matchvalue","");wfu_update_stringmatch_value(attribute)}
|
129 |
function wfu_update_triplecolor_value(e){e=e||window.event;var item=e.target;var attribute=item.id.replace("wfu_attribute_","");attribute=attribute.replace("_color","");attribute=attribute.replace("_bgcolor","");attribute=attribute.replace("_borcolor","");item=document.getElementById("wfu_attribute_"+attribute+"_color");var val=item.value+","+document.getElementById("wfu_attribute_"+attribute+"_bgcolor").value+","+document.getElementById("wfu_attribute_"+attribute+"_borcolor").value;if(val!==item.oldVal){item.oldVal=
|
@@ -150,9 +148,9 @@ document.getElementById("wfu_formfield_"+key+"_type").value;var typeprops=window
|
|
150 |
"1":"0");if(typeprops[type].validate.substr(0,4)=="show")part+="|v:"+(document.getElementById("wfu_formfield_"+key+"_validate").checked?"1":"0");if(typeprops[type].typehook.substr(0,4)=="show")part+="|h:"+(document.getElementById("wfu_formfield_"+key+"_typehook").checked?"1":"0");if(typeprops[type].hintposition.substr(0,4)=="show")part+="|p:"+document.getElementById("wfu_formfield_"+key+"_hintposition").value;if(typeprops[type]["default"].substr(0,4)=="show")part+="|d:"+document.getElementById("wfu_formfield_"+
|
151 |
key+"_default").value;if(typeprops[type].data.substr(0,4)=="show")part+="|l:"+document.getElementById("wfu_formfield_"+key+"_data").value;if(typeprops[type].group.substr(0,4)=="show")part+="|g:"+document.getElementById("wfu_formfield_"+key+"_group").value;if(typeprops[type].format.substr(0,4)=="show")part+="|f:"+document.getElementById("wfu_formfield_"+key+"_format").value}if(part!=""){if(val!="")val+="/";val+=part}}if(val!==item.oldVal){item.oldVal=val;document.getElementById("wfu_attribute_value_"+
|
152 |
attribute).value=val;wfu_generate_shortcode();wfu_update_formfield_variables()}}
|
153 |
-
function wfu_update_formfield_variables(){var userdata=document.getElementById("wfu_attribute_value_userdatalabel");if(!userdata)return;var
|
154 |
-
|
155 |
-
|
156 |
function wfu_attach_element_handlers(item,handler){var elem_events=["DOMAttrModified","textInput","input","change","keypress","paste","focus","propertychange"];for(var i=0;i<elem_events.length;i++)wfu_addEventHandler(item,elem_events[i],handler)}
|
157 |
function wfu_Attach_Admin_Events(autosave_shortcode){Autosave=autosave_shortcode;wfu_generate_shortcode();wfu_update_formfield_variables();wfu_Attach_Admin_DragDrop_Events();var text_elements=document.getElementsByName("wfu_text_elements");for(var i=0;i<text_elements.length;i++)wfu_attach_element_handlers(text_elements[i],wfu_update_text_value);var ptext_elements=document.getElementsByName("wfu_ptext_elements");for(var i=0;i<ptext_elements.length;i++)wfu_attach_element_handlers(ptext_elements[i],
|
158 |
wfu_update_ptext_value);var stringmatch_elements=document.getElementsByName("wfu_stringmatch_elements");for(var i=0;i<stringmatch_elements.length;i++)wfu_attach_element_handlers(stringmatch_elements[i],wfu_update_stringmatch_textvalue);var triplecolor_elements=document.getElementsByName("wfu_triplecolor_elements");for(var i=0;i<triplecolor_elements.length;i++)wfu_attach_element_handlers(triplecolor_elements[i],wfu_update_triplecolor_value);var dimension_elements=document.getElementsByName("wfu_dimension_elements_widths");
|
@@ -188,38 +186,38 @@ xhr.onreadystatechange=function(){if(xhr.readyState==4)if(xhr.status==200){PageU
|
|
188 |
""){var shortcode_tag=document.getElementById("wfu_shortcode_tag").value;document.getElementById("wfu_shortcode_original_enc").value=wfu_plugin_encode_string("["+shortcode_tag+" "+ShortcodeString+"]");document.getElementById("wfu_shortcode_posthash").value=txt_value;setTimeout(function(){wfu_check_page_obsolescence()},CheckObsolescenceTimeOut)}}else{if(Autosave){document.getElementById("wfu_save_label").innerHTML="not saved";document.getElementById("wfu_save_label").className="wfu_save_label_fail";
|
189 |
document.getElementById("wfu_save_label").style.opacity=1;wfu_fadeout_element(300)}if(txt_header=="fail")if(txt_value=="post_modified"){PageObsolete=true;if(document.getElementById("wfu_update_shortcode"))document.getElementById("wfu_update_shortcode").disabled=true;document.getElementById("wfu_update_rejected_message").style.display="block"}else document.getElementById("wfu_update_failed_message").style.display="block"}}};xhr.send(parameters)}
|
190 |
function wfu_adjust_opacity(opacity){document.getElementById("wfu_save_label").style.opacity=opacity}function wfu_fadeout_element(interval){var reps=20;var op=0;for(var i=0;i<reps;i++){op=1-i/reps;setTimeout('wfu_adjust_opacity("'+op.toString()+'")',i*interval/reps)}setTimeout('wfu_adjust_opacity("0.0")',i*interval/reps)}
|
191 |
-
function wfu_apply_value(attribute,type,value){if(type=="onoff"){document.getElementById("wfu_attribute_"+attribute).className="wfu_onoff_container_"+(value!="true"?"on":"off");wfu_admin_onoff_clicked(attribute)}else if(type=="text"||type=="ltext"||type=="integer"||type=="float"||type=="mtext"||type=="color"){var item=document.getElementById("wfu_attribute_"+attribute);value=value.replace(
|
192 |
"]");if(type=="color"){var rgb=colourNameToHex(value);if(!rgb)rgb=value;jQuery("#wfu_attribute_"+attribute).wpColorPicker("color",rgb)}item.value=value;wfu_update_text_value({target:item})}else if(type=="date"){var item=document.getElementById("wfu_attribute_"+attribute);item.value=value;wfu_update_date_value({target:item})}else if(type=="placements"){wfu_admin_recreate_placements_panel(value);document.getElementById("wfu_attribute_value_placements").value=value;wfu_generate_shortcode()}else if(type==
|
193 |
-
"radio"){var radios=document.getElementsByName("wfu_radioattribute_"+attribute);for(var i=0;i<radios.length;i++)radios[i].checked=radios[i].value==value||"*"+radios[i].value==value;wfu_admin_radio_clicked(attribute)}else if(type=="ptext"){value=value.replace(
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
attribute
|
198 |
-
|
199 |
-
|
200 |
-
false
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
opt.
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
def
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
1
|
222 |
-
opt.
|
223 |
function wfu_parse_folderlist_js(list){var ret=Object();ret.path=Array();ret.label=Array();ret.level=Array();ret["default"]=Array();if(list.substr(0,4)=="auto")return ret;var subfolders=list.split(",");if(subfolders.length==0)return ret;if(subfolders.length==1&&subfolders[0].trim()=="")return ret;var dir_levels=["root"];var prev_level=0;var level0_count=0;var _default=-1;var subfolder,star_count,start_spaces,is_default,subfolder_dir,subfolder_label,subfolder_path;for(var i=0;i<subfolders.length;i++){subfolder=
|
224 |
subfolders[i].trim();star_count=0;start_spaces="";is_default=false;while(star_count<subfolder.length)if(subfolder.substr(star_count,1)=="*"){star_count++;start_spaces+=" "}else break;if(star_count-prev_level<=1&&(star_count>0||level0_count==0)){subfolder=subfolder.substr(star_count,subfolder.length-star_count);if(subfolder.substr(0,1)=="&"){subfolder=subfolder.substr(1);is_default=true}subfolder_items=subfolder.split("/");if(subfolder_items.length<2)subfolder_items.push("");if(subfolder_items[1]!=
|
225 |
""){subfolder_dir=subfolder_items[0];subfolder_label=subfolder_items[1]}else{subfolder_dir=subfolder;subfolder_label=subfolder}if(subfolder_dir!=""){if(is_default&&_default==-1)_default=ret.path.length;else is_default=false;if(star_count==0)level0_count=1;if(dir_levels.length>star_count)dir_levels[star_count]=subfolder_dir;else dir_levels.push(subfolder_dir);subfolder_path="";for(var i_count=1;i_count<=star_count;i_count++)subfolder_path+=dir_levels[i_count]+"/";ret.path.push(subfolder_path);ret.label.push(subfolder_label);
|
@@ -231,9 +229,9 @@ function colourNameToHex(colour){var colours={"aliceblue":"#f0f8ff","antiquewhit
|
|
231 |
"mediumturquoise":"#48d1cc","mediumvioletred":"#c71585","midnightblue":"#191970","mintcream":"#f5fffa","mistyrose":"#ffe4e1","moccasin":"#ffe4b5","navajowhite":"#ffdead","navy":"#000080","oldlace":"#fdf5e6","olive":"#808000","olivedrab":"#6b8e23","orange":"#ffa500","orangered":"#ff4500","orchid":"#da70d6","palegoldenrod":"#eee8aa","palegreen":"#98fb98","paleturquoise":"#afeeee","palevioletred":"#d87093","papayawhip":"#ffefd5","peachpuff":"#ffdab9","peru":"#cd853f","pink":"#ffc0cb","plum":"#dda0dd",
|
232 |
"powderblue":"#b0e0e6","purple":"#800080","red":"#ff0000","rosybrown":"#bc8f8f","royalblue":"#4169e1","saddlebrown":"#8b4513","salmon":"#fa8072","sandybrown":"#f4a460","seagreen":"#2e8b57","seashell":"#fff5ee","sienna":"#a0522d","silver":"#c0c0c0","skyblue":"#87ceeb","slateblue":"#6a5acd","slategray":"#708090","snow":"#fffafa","springgreen":"#00ff7f","steelblue":"#4682b4","tan":"#d2b48c","teal":"#008080","thistle":"#d8bfd8","tomato":"#ff6347","turquoise":"#40e0d0","violet":"#ee82ee","wheat":"#f5deb3",
|
233 |
"white":"#ffffff","whitesmoke":"#f5f5f5","yellow":"#ffff00","yellowgreen":"#9acd32"};if(typeof colours[colour.toLowerCase()]!="undefined")return colours[colour.toLowerCase()];return false}
|
234 |
-
function wfu_download_file(filepath_enc,ii
|
235 |
-
xhr.open("POST",url,true);xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhr.onreadystatechange=function(){if(xhr.readyState==4)if(xhr.status==200){var start_text="wfu_ajax_action_download_file_invoker:";var pos=xhr.responseText.indexOf(start_text);if(pos==-1)pos=xhr.responseText.length;var messages=xhr.responseText.substr(0,pos);var response=xhr.responseText.substr(pos+
|
236 |
-
response.substr(0,pos);txt_value=response.substr(pos+1,response.length-pos-1);if(txt_header.substr(0,16)=="wfu_download_id;"){var download_id=txt_header.substr(16);var container=document.getElementById("wfu_file_download_container_"+ii);container.innerHTML=txt_value;setTimeout("wfu_download_file_monitor('"+filepath_enc+"', "+ii+", '"+download_id+"')",100)}}};xhr.send(parameters)}
|
237 |
function wfu_download_file_monitor(filepath_enc,ii,id){var xhr=wfu_GetHttpRequestObject();if(xhr==null)return;var url=AdminParams.wfu_ajax_url;params=new Array(3);params[0]=new Array(2);params[0][0]="action";params[0][1]="wfu_ajax_action_download_file_monitor";params[1]=new Array(2);params[1][0]="file";params[1][1]=filepath_enc;params[2]=new Array(2);params[2][0]="id";params[2][1]=id;var parameters="";for(var i=0;i<params.length;i++)parameters+=(i>0?"&":"")+params[i][0]+"="+encodeURI(params[i][1]);
|
238 |
xhr.open("POST",url,true);xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhr.onreadystatechange=function(){if(xhr.readyState==4)if(xhr.status==200){var start_text="wfu_ajax_action_download_file_monitor:";var pos=xhr.responseText.indexOf(start_text);if(pos==-1)pos=xhr.responseText.length;var messages=xhr.responseText.substr(0,pos);var response=xhr.responseText.substr(pos+start_text.length,xhr.responseText.length-pos-start_text.length);pos=response.indexOf(":");var txt_header=
|
239 |
response.substr(0,pos);txt_value=response.substr(pos+1,response.length-pos-1);if(txt_header!="repeat"){var container=document.getElementById("wfu_file_download_container_"+ii);container.innerHTML=""}else if(txt_header=="repeat")setTimeout("wfu_download_file_monitor('"+filepath_enc+"', "+ii+", '"+txt_value+"')",100)}};xhr.send(parameters)}
|
@@ -258,10 +256,11 @@ params[0]=new Array(2);params[0][0]="action";params[0][1]="wfu_ajax_action_get_h
|
|
258 |
xhr.onreadystatechange=function(){if(xhr.readyState==4)if(xhr.status==200){document.getElementById("wfu_historylog_overlay").style.display="none";var start_text="wfu_historylog_page_success:";var pos=xhr.responseText.indexOf(start_text);if(pos==-1)pos=xhr.responseText.length;var messages=xhr.responseText.substr(0,pos);var response=xhr.responseText.substr(pos+start_text.length,xhr.responseText.length-pos-start_text.length);if(response!=""){var t=document.getElementById("wfu_historylog_table");t.tBodies[0].innerHTML=
|
259 |
wfu_plugin_decode_string(response);sel.selectedIndex=newpage-1;document.getElementById("wfu_historylog_first_disabled").style.display=newpage==1?"inline":"none";document.getElementById("wfu_historylog_prev_disabled").style.display=newpage==1?"inline":"none";document.getElementById("wfu_historylog_first").style.display=newpage==1?"none":"inline";document.getElementById("wfu_historylog_prev").style.display=newpage==1?"none":"inline";document.getElementById("wfu_historylog_last_disabled").style.display=
|
260 |
newpage==sel.options.length?"inline":"none";document.getElementById("wfu_historylog_next_disabled").style.display=newpage==sel.options.length?"inline":"none";document.getElementById("wfu_historylog_last").style.display=newpage==sel.options.length?"none":"inline";document.getElementById("wfu_historylog_next").style.display=newpage==sel.options.length?"none":"inline"}}};xhr.send(parameters)}
|
261 |
-
function wfu_include_file(filepath_enc,ii
|
262 |
-
ii+"_a").href="javascript: void(0)";document.getElementById("wfu_include_file_"+ii+"_img").style.display="inline";xhr.open("POST",url,true);xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhr.onreadystatechange=function(){if(xhr.readyState==4){document.getElementById("wfu_include_file_"+ii+"_img").style.display=
|
263 |
-
pos);var response=xhr.responseText.substr(pos+start_text.length,xhr.responseText.length-pos-start_text.length);pos=response.indexOf(":");var txt_header=response.substr(0,pos);txt_value=response.substr(pos+1,response.length-pos-1);if(txt_header=="success"){document.getElementById("wfu_file_flat_"+ii).style.display="none";
|
264 |
-
ii).style.display="block"}else document.getElementById("wfu_include_file_"+ii+"_a").innerHTML=document.getElementById("wfu_include_file_"+ii+"_inpfail").value}}};xhr.send(parameters)}
|
|
|
265 |
function wfu_adminbrowser_selector_changed(obj){var selectors_count=document.querySelectorAll(".wfu_selectors").length;var selected_count=document.querySelectorAll(".wfu_selectors:checked").length;var all_visible=document.getElementById("wfu_select_all_visible");all_visible.style.webkitAppearance="";all_visible.style.webkitAppearance="checkbox";all_visible.checked=selected_count>0;all_visible.indeterminate=selected_count>0&&selected_count<selectors_count}
|
266 |
function wfu_apply_adminbrowser_bulkaction(){var actionselector=document.getElementById("wfu_adminbrowser_bulkactions");if(actionselector.selectedIndex<1)return;var action=actionselector.options[actionselector.selectedIndex].value;var selected=document.querySelectorAll(".wfu_selectors:checked");if(selected.length==0)return;var codes=[];var codes_included=0,codes_not_included=0;for(var i=0;i<selected.length;i++){var file_code=selected[i].className.replace(/.*?wfu_selcode_/,"");if(file_code!=""){var included=
|
267 |
selected[i].className.indexOf("wfu_included")>-1;if(included)codes_included++;else codes_not_included++;if(action=="delete"&&!included||action=="include"&&included)selected[i].checked=false;else codes.push(file_code)}}if(action=="delete"&&codes_not_included>0)alert("Notice! Files that were not uploaded using the plugin cannot be deleted and have been deselected.");else if(action=="include"&&codes_included>0)alert("Notice! Files already included in the plugin have been deselected.");if(codes.length==
|
1 |
var DraggedItem=null;var ShortcodeNextSave=0;var ShortcodeTimeOut=null;var ShortcodeString="";var Autosave=false;var PageObsolete=false;var PageUpdating=false;var CheckObsolescenceTimeOut=5E3;var wfu_transfers_observer_interval=100;jQuery(document).ready(function($){$(".wfu_color_field").wpColorPicker({change:function(event,ui){event.target.value=ui.color.toString();if(event.target.name=="wfu_text_elements")wfu_update_text_value(event);else if(event.target.name=="wfu_triplecolor_elements")wfu_update_triplecolor_value(event)}})});
|
2 |
function wfu_admin_activate_tab(key){var tabs=document.getElementById("wfu_tab_container");var tab,tabkey;for(var i=0;i<tabs.childNodes.length;i++){tab=tabs.childNodes[i];if(tab.nodeType===1){tabkey=tab.id.substr(8);if(tab.className.indexOf("nav-tab-active")>-1){tab.className="nav-tab";document.getElementById("wfu_container_"+tabkey).style.display="none"}}}document.getElementById("wfu_tab_"+key).className="nav-tab nav-tab-active";document.getElementById("wfu_container_"+key).style.display="block"}
|
3 |
+
function wfu_admin_onoff_clicked(key){var onoff=document.getElementById("wfu_attribute_"+key);var shadows=document.querySelectorAll("#wfu_wrapper div.wfu_shadow_"+key);var shadows_inv=document.querySelectorAll("#wfu_wrapper div.wfu_shadow_"+key+"_inv");var status=onoff.className.substr(onoff.className.length-2)=="on";status=!status;if(status){document.getElementById("wfu_attribute_value_"+key).value="true";onoff.className="wfu_onoff_container_on";for(var i=0;i<shadows.length;i++)shadows[i].style.display=
|
4 |
+
"none";for(var i=0;i<shadows_inv.length;i++)shadows_inv[i].style.display="block"}else{document.getElementById("wfu_attribute_value_"+key).value="false";onoff.className="wfu_onoff_container_off";for(var i=0;i<shadows.length;i++)shadows[i].style.display="block";for(var i=0;i<shadows_inv.length;i++)shadows_inv[i].style.display="none"}wfu_generate_shortcode();if(key=="userdata"||key=="formdata")wfu_update_formfield_variables()}
|
5 |
+
function wfu_admin_radio_clicked(key){var radios=document.getElementsByName("wfu_radioattribute_"+key);var shadows=document.querySelectorAll("#wfu_wrapper div.wfu_shadow_"+key);var shadows_inv=document.querySelectorAll("#wfu_wrapper div.wfu_shadow_"+key+"_inv");var val="";for(i=0;i<radios.length;i++)if(radios[i].checked)val=radios[i].value;var status=val.substr(0,1)=="*";if(status){val=val.substr(1);for(var i=0;i<shadows.length;i++)shadows[i].style.display="none";for(var i=0;i<shadows_inv.length;i++)shadows_inv[i].style.display=
|
6 |
+
"block"}else{for(var i=0;i<shadows.length;i++)shadows[i].style.display="block";for(var i=0;i<shadows_inv.length;i++)shadows_inv[i].style.display="none"}document.getElementById("wfu_attribute_value_"+key).value=val;wfu_generate_shortcode()}function wfu_addEventHandler(obj,evt,handler){if(obj.addEventListener)obj.addEventListener(evt,handler,false);else if(obj.attachEvent)obj.attachEvent("on"+evt,handler);else obj["on"+evt]=handler}
|
|
|
7 |
function wfu_attach_separator_dragdrop_events(){var container=document.getElementById("wfu_placements_container");var item;for(var i=0;i<container.childNodes.length;i++){item=container.childNodes[i];if(item.className=="wfu_component_separator_hor"||item.className=="wfu_component_separator_ver"){wfu_addEventHandler(item,"dragenter",wfu_separator_dragenter);wfu_addEventHandler(item,"dragover",wfu_default_dragover);wfu_addEventHandler(item,"dragleave",wfu_separator_dragleave);wfu_addEventHandler(item,
|
8 |
"drop",wfu_separator_drop)}}}
|
9 |
function wfu_Attach_Admin_DragDrop_Events(){if(window.FileReader){var container=document.getElementById("wfu_placements_container");if(container){var available_container=document.getElementById("wfu_componentlist_container");var item;for(var i=0;i<container.childNodes.length;i++){item=container.childNodes[i];if(item.className=="wfu_component_box"){wfu_addEventHandler(item,"dragstart",wfu_component_dragstart);wfu_addEventHandler(item,"dragend",wfu_component_dragend)}}for(var i=0;i<available_container.childNodes.length;i++){item=
|
101 |
function wfu_formdata_prepare_template(attribute,field,key){var template=wfu_plugin_decode_string(window["wfu_attribute_"+attribute+"_formtemplate"]);var fielddef=window["wfu_attribute_"+attribute+"_typeprops"][field.type];var fielddef_array=window["wfu_attribute_"+attribute+"_typeprops"][0].split(",");var fieldprops_basic=["required","donotautocomplete","validate","typehook","labelposition","hintposition","default","data","group","format"];var labelpositions=["none","top","right","bottom","left"];
|
102 |
var hintpositions=["none","inline","top","right","bottom","left"];template=template.replace(/\[\[key\]\]/g,key).replace(/\[\[t\]\]/g,field.type).replace(/\[\[label\]\]/g,field.label).replace(/\[\[s\]\]/g,field.labelposition).replace(/\[\[d\]\]/g,field["default"]).replace(/\[\[l\]\]/g,field.data).replace(/\[\[data_label\]\]/g,fielddef.data_label).replace(/\[\[g\]\]/g,field.group).replace(/\[\[f\]\]/g,field.format).replace(/\[\[p\]\]/g,field.hintposition);for(var i=0;i<fieldprops_basic.length;i++)template=
|
103 |
template.replace(new RegExp("\\[\\["+fieldprops_basic[i]+"_hint\\]\\]","g"),fielddef[fieldprops_basic[i]+"_hint"]);for(var i=0;i<fielddef_array.length;i++)template=template.replace("[[type_"+fielddef_array[i]+"_selected]]",fielddef_array[i]==field.type?' selected="selected"':"");for(var i=0;i<labelpositions.length;i++)template=template.replace("[[labelposition_"+labelpositions[i]+"_selected]]",labelpositions[i]==field.labelposition?' selected="selected"':"");for(var i=0;i<hintpositions.length;i++)template=
|
104 |
+
template.replace("[[hintposition_"+hintpositions[i]+"_selected]]",hintpositions[i]==field.hintposition?' selected="selected"':"");template=template.replace("[[remove_disabled]]","");template=template.replace("[[up_disabled]]","");template=template.replace("[[down_disabled]]","");template=field.required?template.replace(/\[\[r\->\]\]|\[\[<\-r\]\]/g,""):template.replace(/\[\[r\->\]\].*\[\[<\-r\]\]/g,"");template=field.donotautocomplete?template.replace(/\[\[a\->\]\]|\[\[<\-a\]\]/g,""):template.replace(/\[\[a\->\]\].*\[\[<\-a\]\]/g,
|
105 |
+
"");template=field.validate?template.replace(/\[\[v\->\]\]|\[\[<\-v\]\]/g,""):template.replace(/\[\[v\->\]\].*\[\[<\-v\]\]/g,"");template=field.typehook?template.replace(/\[\[h\->\]\]|\[\[<\-h\]\]/g,""):template.replace(/\[\[h\->\]\].*\[\[<\-h\]\]/g,"");template=fielddef.required.substr(0,4)=="show"?template.replace(/\[\[R\->\]\]|\[\[<\-R\]\]/g,""):template.replace(/\[\[R\->\]\][^]*\[\[<\-R\]\]/g,"");template=fielddef.donotautocomplete.substr(0,4)=="show"?template.replace(/\[\[A\->\]\]|\[\[<\-A\]\]/g,
|
106 |
+
""):template.replace(/\[\[A\->\]\][^]*\[\[<\-A\]\]/g,"");template=fielddef.validate.substr(0,4)=="show"?template.replace(/\[\[V\->\]\]|\[\[<\-V\]\]/g,""):template.replace(/\[\[V\->\]\][^]*\[\[<\-V\]\]/g,"");template=fielddef.hintposition.substr(0,4)=="show"?template.replace(/\[\[P\->\]\]|\[\[<\-P\]\]/g,""):template.replace(/\[\[P\->\]\][^]*\[\[<\-P\]\]/g,"");template=fielddef.typehook.substr(0,4)=="show"?template.replace(/\[\[H\->\]\]|\[\[<\-H\]\]/g,""):template.replace(/\[\[H\->\]\][^]*\[\[<\-H\]\]/g,
|
107 |
+
"");template=fielddef["default"].substr(0,4)=="show"?template.replace(/\[\[D\->\]\]|\[\[<\-D\]\]/g,""):template.replace(/\[\[D\->\]\][^]*\[\[<\-D\]\]/g,"");template=fielddef.data.substr(0,4)=="show"?template.replace(/\[\[L\->\]\]|\[\[<\-L\]\]/g,""):template.replace(/\[\[L\->\]\][^]*\[\[<\-L\]\]/g,"");template=fielddef.group.substr(0,4)=="show"?template.replace(/\[\[G\->\]\]|\[\[<\-G\]\]/g,""):template.replace(/\[\[G\->\]\][^]*\[\[<\-G\]\]/g,"");template=fielddef.format.substr(0,4)=="show"?template.replace(/\[\[F\->\]\]|\[\[<\-F\]\]/g,
|
108 |
+
""):template.replace(/\[\[F\->\]\][^]*\[\[<\-F\]\]/g,"");return template}function wfu_userdata_remove_field(obj){var line=obj.parentNode;var container=line.parentNode;var first=null;for(var i=0;i<container.childNodes.length;i++)if(container.childNodes[i].nodeType===1){first=container.childNodes[i];break}if(line!=first){line.parentNode.removeChild(line);for(var i=0;i<first.childNodes.length;i++)if(first.childNodes[i].nodeType===1){wfu_update_userfield_value({target:first.childNodes[i]});break}}}
|
|
|
109 |
function wfu_formdata_remove_field(key){var key_parts=key.split("_");var attribute=key_parts[0];var containers=document.querySelectorAll("div#wfu_attribute_"+attribute+" .wfu_formdata_line_container");if(containers.length<2)return;var container=document.getElementById("wfu_attribute_"+attribute);var line_container=document.getElementById("wfu_formfield_"+key+"_container");var line_container_index=0;for(var i=0;i<containers.length;i++)if(containers[i]==line_container){line_container_index=i+1;break}container.removeChild(line_container);
|
110 |
containers=document.querySelectorAll("div#wfu_attribute_"+attribute+" .wfu_formdata_line_container");if(line_container_index>containers.length)line_container_index=containers.length;line_container=containers[line_container_index-1];var prev_key=line_container.id.replace(/^wfu_formfield_/,"").replace(/_container$/,"");wfu_formdata_update_buttons(prev_key);wfu_update_formfield_value({target:line_container})}
|
111 |
function wfu_formdata_move_field(key,direction){var key_parts=key.split("_");var attribute=key_parts[0];var all_attributes=document.querySelector("div#wfu_attribute_"+attribute+" .wfu_formdata_all_attributes").value.split(",");var attr_occur_index=all_attributes.indexOf(attribute)+1;var containers=document.querySelectorAll("div#wfu_attribute_"+attribute+" .wfu_formdata_line_container");var container=document.getElementById("wfu_attribute_"+attribute);var line_container=document.getElementById("wfu_formfield_"+
|
121 |
key+"_container .wfu_formdata_action.wfu_formdata_action_up");var down_element=document.querySelector("div#wfu_formfield_"+key+"_container .wfu_formdata_action.wfu_formdata_action_down");up_element.className="wfu_formdata_action wfu_formdata_action_up"+(ii==1&&jj==1?" wfu_formdata_action_disabled":"");down_element.className="wfu_formdata_action wfu_formdata_action_down"+(ii==all_attributes.length&&jj==containers.length?" wfu_formdata_action_disabled":"")}}}
|
122 |
function wfu_generate_shortcode(){var shortcode_tag=document.getElementById("wfu_shortcode_tag").value;var defaults=document.getElementById("wfu_attribute_defaults");var values=document.getElementById("wfu_attribute_values");var item;var attribute="";var value="";var shortcode_full="["+shortcode_tag;var shortcode="";for(var i=0;i<defaults.childNodes.length;i++){item=defaults.childNodes[i];if(item.nodeType===1){attribute=item.id.replace("wfu_attribute_default_","");value=document.getElementById("wfu_attribute_value_"+
|
123 |
attribute).value;if(item.value!=value)shortcode+=" "+attribute+'="'+value+'"'}}shortcode_full+=shortcode+"]";document.getElementById("wfu_shortcode").value=shortcode_full;ShortcodeString=shortcode.substr(1);if(document.getElementById("wfu_update_shortcode"))document.getElementById("wfu_update_shortcode").disabled=wfu_plugin_encode_string(shortcode_full)==document.getElementById("wfu_shortcode_original_enc").value;if(Autosave)wfu_schedule_save_shortcode()}
|
124 |
+
function wfu_update_text_value(e){e=e||window.event;var item=e.target;var attribute=item.id.replace("wfu_attribute_","");var val=item.value;val=val.replace(/(\r\n|\n|\r)/gm,"%n%");val=val.replace(/"/gm,"%dq%");val=val.replace(/\[/gm,"%brl%");val=val.replace(/\]/gm,"%brr%");if(val!==item.oldVal){item.oldVal=val;document.getElementById("wfu_attribute_value_"+attribute).value=val;wfu_generate_shortcode()}}
|
125 |
function wfu_update_date_value(e){e=e||window.event;var item=e.target;var attribute=item.id.replace("wfu_attribute_","");var val=item.value;if(val!==item.oldVal){item.oldVal=val;document.getElementById("wfu_attribute_value_"+attribute).value=val;wfu_generate_shortcode()}}
|
126 |
function wfu_update_stringmatch_textvalue(e){e=e||window.event;var item=e.target;var attribute=item.id.replace("wfu_attribute_","");attribute=attribute.replace("_matchfield","").replace("_matchvalue","");wfu_update_stringmatch_value(attribute)}
|
127 |
function wfu_update_triplecolor_value(e){e=e||window.event;var item=e.target;var attribute=item.id.replace("wfu_attribute_","");attribute=attribute.replace("_color","");attribute=attribute.replace("_bgcolor","");attribute=attribute.replace("_borcolor","");item=document.getElementById("wfu_attribute_"+attribute+"_color");var val=item.value+","+document.getElementById("wfu_attribute_"+attribute+"_bgcolor").value+","+document.getElementById("wfu_attribute_"+attribute+"_borcolor").value;if(val!==item.oldVal){item.oldVal=
|
148 |
"1":"0");if(typeprops[type].validate.substr(0,4)=="show")part+="|v:"+(document.getElementById("wfu_formfield_"+key+"_validate").checked?"1":"0");if(typeprops[type].typehook.substr(0,4)=="show")part+="|h:"+(document.getElementById("wfu_formfield_"+key+"_typehook").checked?"1":"0");if(typeprops[type].hintposition.substr(0,4)=="show")part+="|p:"+document.getElementById("wfu_formfield_"+key+"_hintposition").value;if(typeprops[type]["default"].substr(0,4)=="show")part+="|d:"+document.getElementById("wfu_formfield_"+
|
149 |
key+"_default").value;if(typeprops[type].data.substr(0,4)=="show")part+="|l:"+document.getElementById("wfu_formfield_"+key+"_data").value;if(typeprops[type].group.substr(0,4)=="show")part+="|g:"+document.getElementById("wfu_formfield_"+key+"_group").value;if(typeprops[type].format.substr(0,4)=="show")part+="|f:"+document.getElementById("wfu_formfield_"+key+"_format").value}if(part!=""){if(val!="")val+="/";val+=part}}if(val!==item.oldVal){item.oldVal=val;document.getElementById("wfu_attribute_value_"+
|
150 |
attribute).value=val;wfu_generate_shortcode();wfu_update_formfield_variables()}}
|
151 |
+
function wfu_update_formfield_variables(){var userdata=document.getElementById("wfu_attribute_value_userdatalabel");if(!userdata)return;var shadows=document.querySelectorAll("#wfu_wrapper div.wfu_shadow_userdata");var selects=document.getElementsByName("wfu_formfield_select");for(var i=0;i<selects.length;i++)selects[i].style.display="none";if(shadows.length==0)return;if(shadows[0].style.display=="block")return;var options_str='<option style="display:none;">%userdataXXX%</option>';var userfields=userdata.value.replace(/\//g,
|
152 |
+
"[/]").replace(/\(.*\)/,function(m){return m.replace(/\[\/\]/g,"/")}).split("[/]");var ind=2;while(document.getElementById("wfu_attribute_userdatalabel"+ind)){var userfields2=document.getElementById("wfu_attribute_value_userdatalabel"+ind).value.replace(/\//g,"[/]").replace(/\(.*\)/,function(m){return m.replace(/\[\/\]/g,"/")}).split("[/]");userfields=userfields.concat(userfields2);ind++}var field="";var pos=0;ind=1;for(var i=0;i<userfields.length;i++){field=userfields[i];if(field[0]=="*")field=field.substr(1);
|
153 |
+
pos=field.indexOf("|");if(pos>-1)field=field.substr(0,pos);if(field.trim()!=""){options_str+='<option value="%userdata'+ind+'%">'+ind+": "+field.trim()+"</option>";ind++}}for(var i=0;i<selects.length;i++){selects[i].innerHTML=options_str;selects[i].style.display="inline-block"}}
|
154 |
function wfu_attach_element_handlers(item,handler){var elem_events=["DOMAttrModified","textInput","input","change","keypress","paste","focus","propertychange"];for(var i=0;i<elem_events.length;i++)wfu_addEventHandler(item,elem_events[i],handler)}
|
155 |
function wfu_Attach_Admin_Events(autosave_shortcode){Autosave=autosave_shortcode;wfu_generate_shortcode();wfu_update_formfield_variables();wfu_Attach_Admin_DragDrop_Events();var text_elements=document.getElementsByName("wfu_text_elements");for(var i=0;i<text_elements.length;i++)wfu_attach_element_handlers(text_elements[i],wfu_update_text_value);var ptext_elements=document.getElementsByName("wfu_ptext_elements");for(var i=0;i<ptext_elements.length;i++)wfu_attach_element_handlers(ptext_elements[i],
|
156 |
wfu_update_ptext_value);var stringmatch_elements=document.getElementsByName("wfu_stringmatch_elements");for(var i=0;i<stringmatch_elements.length;i++)wfu_attach_element_handlers(stringmatch_elements[i],wfu_update_stringmatch_textvalue);var triplecolor_elements=document.getElementsByName("wfu_triplecolor_elements");for(var i=0;i<triplecolor_elements.length;i++)wfu_attach_element_handlers(triplecolor_elements[i],wfu_update_triplecolor_value);var dimension_elements=document.getElementsByName("wfu_dimension_elements_widths");
|
186 |
""){var shortcode_tag=document.getElementById("wfu_shortcode_tag").value;document.getElementById("wfu_shortcode_original_enc").value=wfu_plugin_encode_string("["+shortcode_tag+" "+ShortcodeString+"]");document.getElementById("wfu_shortcode_posthash").value=txt_value;setTimeout(function(){wfu_check_page_obsolescence()},CheckObsolescenceTimeOut)}}else{if(Autosave){document.getElementById("wfu_save_label").innerHTML="not saved";document.getElementById("wfu_save_label").className="wfu_save_label_fail";
|
187 |
document.getElementById("wfu_save_label").style.opacity=1;wfu_fadeout_element(300)}if(txt_header=="fail")if(txt_value=="post_modified"){PageObsolete=true;if(document.getElementById("wfu_update_shortcode"))document.getElementById("wfu_update_shortcode").disabled=true;document.getElementById("wfu_update_rejected_message").style.display="block"}else document.getElementById("wfu_update_failed_message").style.display="block"}}};xhr.send(parameters)}
|
188 |
function wfu_adjust_opacity(opacity){document.getElementById("wfu_save_label").style.opacity=opacity}function wfu_fadeout_element(interval){var reps=20;var op=0;for(var i=0;i<reps;i++){op=1-i/reps;setTimeout('wfu_adjust_opacity("'+op.toString()+'")',i*interval/reps)}setTimeout('wfu_adjust_opacity("0.0")',i*interval/reps)}
|
189 |
+
function wfu_apply_value(attribute,type,value){if(type=="onoff"){document.getElementById("wfu_attribute_"+attribute).className="wfu_onoff_container_"+(value!="true"?"on":"off");wfu_admin_onoff_clicked(attribute)}else if(type=="text"||type=="ltext"||type=="integer"||type=="float"||type=="mtext"||type=="color"){var item=document.getElementById("wfu_attribute_"+attribute);value=value.replace(/%n%/gm,"\n");value=value.replace(/%dq%/gm,'"');value=value.replace(/%brl%/gm,"[");value=value.replace(/%brr%/gm,
|
190 |
"]");if(type=="color"){var rgb=colourNameToHex(value);if(!rgb)rgb=value;jQuery("#wfu_attribute_"+attribute).wpColorPicker("color",rgb)}item.value=value;wfu_update_text_value({target:item})}else if(type=="date"){var item=document.getElementById("wfu_attribute_"+attribute);item.value=value;wfu_update_date_value({target:item})}else if(type=="placements"){wfu_admin_recreate_placements_panel(value);document.getElementById("wfu_attribute_value_placements").value=value;wfu_generate_shortcode()}else if(type==
|
191 |
+
"radio"){var radios=document.getElementsByName("wfu_radioattribute_"+attribute);for(var i=0;i<radios.length;i++)radios[i].checked=radios[i].value==value||"*"+radios[i].value==value;wfu_admin_radio_clicked(attribute)}else if(type=="ptext"){value=value.replace(/%n%/gm,"\n");value=value.replace(/%dq%/gm,'"');value=value.replace(/%brl%/gm,"[");value=value.replace(/%brr%/gm,"]");var parts=value.split("/");var singular=parts.length<1?"":parts[0];var plural=parts.length<2?singular:parts[1];var item1=document.getElementById("wfu_attribute_s_"+
|
192 |
+
attribute);item1.value=singular;var item2=document.getElementById("wfu_attribute_p_"+attribute);item2.value=plural;wfu_update_ptext_value({target:item1});wfu_update_ptext_value({target:item2})}else if(type=="mchecklist"){value=value.toLowerCase();if(value=="all")document.getElementById("wfu_attribute_"+attribute+"_all").checked=true;else{document.getElementById("wfu_attribute_"+attribute+"_all").checked=false;var items=value.split(",");for(var i=0;i<items.length;i++)items[i]=items[i].trim();jQuery("#wfu_attribute_"+
|
193 |
+
attribute+" input").each(function(){jQuery(this).prop("checked",items.indexOf(jQuery(this).next().html())>-1)})}wfu_update_mchecklist_value(attribute)}else if(type=="rolelist"){var item=document.getElementById("wfu_attribute_"+attribute);var checkall=document.getElementById("wfu_attribute_"+attribute+"_all");var default_administrator=checkall.className.indexOf("wfu_default_administrator")>-1;var roles=value.split(",");if(roles.indexOf("all")>-1){checkall.checked=true;for(var i=0;i<item.options.length;i++)item.options[i].selected=
|
194 |
+
default_administrator&&item.options[i].value=="administrator"}else{checkall.checked=false;for(var i=0;i<roles.length;i++)roles[i]=roles[i].trim();for(var i=0;i<item.options.length;i++)item.options[i].selected=roles.indexOf(item.options[i].value)>-1}document.getElementById("wfu_attribute_"+attribute+"_guests").checked=roles.indexOf("guests")>-1;wfu_update_rolelist_value(attribute)}else if(type=="userlist"){var item=document.getElementById("wfu_attribute_"+attribute);var checkall=document.getElementById("wfu_attribute_"+
|
195 |
+
attribute+"_all");var default_0=checkall.className.indexOf("wfu_default_0")>-1;var only_current=document.getElementById("wfu_attribute_"+attribute+"_current");if(only_current&&value=="current"){only_current.checked=true;checkall.checked=false;document.getElementById("wfu_attribute_"+attribute+"_guests").checked=false;for(var i=0;i<item.options.length;i++)item.options[i].selected=default_0&&i<1}else{if(only_current)only_current.checked=false;var users=value.split(",");if(users.indexOf("all")>-1){checkall.checked=
|
196 |
+
true;for(var i=0;i<item.options.length;i++)item.options[i].selected=default_0&&i<1}else{checkall.checked=false;for(var i=0;i<users.length;i++)users[i]=users[i].trim();for(var i=0;i<item.options.length;i++)item.options[i].selected=users.indexOf(item.options[i].value)>-1}document.getElementById("wfu_attribute_"+attribute+"_guests").checked=users.indexOf("guests")>-1}wfu_update_userlist_value(attribute)}else if(type=="postlist"){var userlist=Array();var checkall=Array();var postlist=document.getElementById("wfu_attribute_"+
|
197 |
+
attribute+"_postlist").value.split(",");for(var i=0;i<postlist.length;i++){userlist.push(document.getElementById("wfu_attribute_"+attribute+"_"+postlist[i]));checkall.push(document.getElementById("wfu_attribute_"+attribute+"_all_"+postlist[i]))}var only_current=document.getElementById("wfu_attribute_"+attribute+"_current");if(only_current&&value=="current"){only_current.checked=true;for(var i=0;i<postlist.length;i++){checkall[i].checked=false;for(var j=0;j<userlist[i].options.length;j++)userlist[i].options[j].selected=
|
198 |
+
false}}else{if(only_current)only_current.checked=false;var ids=value.split(",");for(var i=0;i<postlist.length;i++){if(value=="all"||ids.indexOf("all"+postlist[i])>-1)checkall[i].checked=true;for(var j=0;j<userlist[i].options.length;j++)userlist[i].options[j].selected=ids.indexOf(userlist[i].options[j].value)>-1}}wfu_update_postlist_value(attribute)}else if(type=="bloglist"){var only_current=document.getElementById("wfu_attribute_"+attribute+"_current");if(only_current&&value=="current"){only_current.checked=
|
199 |
+
true;document.getElementById("wfu_attribute_"+attribute+"_all").checked=false;var item=document.getElementById("wfu_attribute_"+attribute);for(var i=0;i<item.options.length;i++)item.options[i].selected=false}else{if(only_current)only_current.checked=false;var blogs=value.split(",");if(value=="all")document.getElementById("wfu_attribute_"+attribute+"_all").checked=true;else{document.getElementById("wfu_attribute_"+attribute+"_all").checked=false;for(var i=0;i<blogs.length;i++)blogs[i]=blogs[i].trim();
|
200 |
+
var item=document.getElementById("wfu_attribute_"+attribute);for(var i=0;i<item.options.length;i++)item.options[i].selected=blogs.indexOf(item.options[i].value)>-1}}wfu_update_bloglist_value(attribute)}else if(type=="stringmatch"){var matchfield="";var matchcriterion="equal to";var matchvalue="";var matches=value.match(/^field:(.*?);\s*criterion:(.*?)\s*;\s*value:(.*)$/);if(matches&&matches.length==4){matchfield=matches[1];matchcriterion=matches[2];matchvalue=matches[3]}document.getElementById("wfu_attribute_"+
|
201 |
+
attribute+"_matchfield").value=matchfield;document.getElementById("wfu_attribute_"+attribute+"_matchcriterion").value=matchcriterion;document.getElementById("wfu_attribute_"+attribute+"_matchvalue").value=matchvalue;wfu_update_stringmatch_value(attribute)}else if(type=="columns"){var source=document.getElementById("wfu_attribute_"+attribute+"_sourcelist");var target=document.getElementById("wfu_attribute_"+attribute);target.innerHTML="";var columns_flat=value.replace(/(:|\/).*?(,|$)/g,"$2").split(",");
|
202 |
+
for(var i=0;i<source.options.length;i++){var parts=source.options[i].value.match(/(.*?):(.*?)\/(.*)/);var item_name=parts[1];if(source.options[i].className=="wfu_columns_item_required"&&columns_flat.indexOf(item_name)==-1){var sorttype=item_name=="custom"?"+-"+(parts[2]==""?"s":parts[2]):parts[2]!=""?"-+"+parts[2]:"";var title=parts[3];if(item_name=="custom")item_name="custom1";var opt=document.createElement("OPTION");opt.value=item_name+":"+sorttype+"/"+source.options[i].innerHTML+"/"+title;opt.innerHTML=
|
203 |
+
source.options[i].innerHTML+(title!=""&&title!=source.options[i].innerHTML?" ("+title+")":"");opt.className=source.options[i].className;opt.onclick=source.options[i].onclick;target.appendChild(opt)}}var columns=value.split(",");for(var i=0;i<columns.length;i++){var item_parts=columns[i].split("/",2);var item_name=item_parts[0];var item_title="";if(item_parts.length>1)item_title=item_parts[1];item_parts=item_name.split(":",2);item_name=item_parts[0];var flat_name=item_name.replace(/custom[0-9]+$/,
|
204 |
+
"custom");var ind=-1;for(var j=0;j<source.options.length;j++){var sou=source.options[j].value.replace(/:.*/,"");if(sou==flat_name){ind=j;break}}var already_exists=false;for(var j=0;j<target.options.length;j++){var tar=target.options[j].value.replace(/:.*/,"");if(tar==item_name){already_exists=true;break}}if(item_name!="custom"&&ind>-1&&!already_exists){var parts=source.options[ind].value.match(/(.*?):(.*?)\/(.*)/);var sortable=flat_name=="custom"||parts[2]!="";var sorttype=parts[2];var label=source.options[ind].innerHTML;
|
205 |
+
var title=parts[3];var item_sort="";if(item_parts.length==1)item_sort=flat_name=="custom"?"+-s":sortable?"-+"+sorttype:"";else if(flat_name=="custom")item_sort="+"+(item_parts[1]==""?"-s":"+"+item_parts[1]);else item_sort=sortable?"-"+(item_parts[1]==""?"-":"+")+sorttype:"";if(item_title=="")item_title=title;var opt=document.createElement("OPTION");opt.value=item_name+":"+item_sort+"/"+label+"/"+item_title;opt.innerHTML=label+(title!=label?" ("+title+")":"");opt.className=source.options[ind].className;
|
206 |
+
opt.onclick=source.options[i].onclick;target.appendChild(opt)}}wfu_update_column_props(attribute);wfu_update_columns(attribute)}else if(type=="dimensions"){var dims=value.split(",");var details,nam,val,item;var group=document.getElementsByName("wfu_dimension_elements_"+attribute);for(var i=0;i<group.length;i++)group[i].value="";for(var i=0;i<dims.length;i++){details=dims[i].split(":",2);nam=details.length<1?"":details[0];val=details.length<2?nam:details[1];item=document.getElementById("wfu_attribute_"+
|
207 |
+
attribute+"_"+nam.trim());if(item)item.value=val.trim()}item=group[0];wfu_update_dimension_value({target:item})}else if(type=="userfields"){var fields_arr=value.replace(/\//g,"[/]").replace(/\(.*\)/,function(m){return m.replace(/\[\/\]/g,"/")}).split("[/]");var is_req;var fields=Array();for(var i=0;i<fields_arr.length;i++){is_req=fields_arr[i].substr(0,1)=="*";if(is_req)fields_arr[i]=fields_arr[i].substr(1);if(fields_arr[i]!="")fields.push({name:fields_arr[i],required:is_req})}var container=document.getElementById("wfu_attribute_"+
|
208 |
+
attribute);var first=null;var remove_array=Array();for(var i=0;i<container.childNodes.length;i++)if(container.childNodes[i].nodeType===1)if(first==null)first=container.childNodes[i];else remove_array.push(container.childNodes[i]);for(var i=0;i<remove_array.length;i++)container.removeChild(remove_array[i]);wfu_userdata_edit_field(first,"",false);var newline;var prevline=first;for(var i=0;i<fields.length;i++)if(i==0)wfu_userdata_edit_field(first,fields[i].name,fields[i].required);else{newline=prevline.cloneNode(true);
|
209 |
+
wfu_userdata_edit_field(newline,fields[i].name,fields[i].required);container.insertBefore(newline,prevline.nextSibling);prevline=newline}var item;for(var i=0;i<first.childNodes.length;i++){item=first.childNodes[i];if(item.tagName=="INPUT")break}wfu_update_userfield_value({target:item})}else if(type=="formfields"){var fields=Array();var fielddefs=window["wfu_attribute_"+attribute+"_typeprops"];var fielddef_array=fielddefs[0].split(",");var defaults={};for(var i=0;i<fielddef_array.length;i++){var fielddef=
|
210 |
+
fielddefs[fielddef_array[i]];var def={};def.type=fielddef_array[i];def.label="";def.labelposition=fielddef.labelposition.substr(5);def.required=fielddef.required.substr(5)=="true";def.donotautocomplete=fielddef.donotautocomplete.substr(5)=="true";def.validate=fielddef.validate.substr(5)=="true";def.typehook=fielddef.typehook.substr(5)=="true";def.hintposition=fielddef.hintposition.substr(5);def["default"]=fielddef["default"].substr(5);def.data=fielddef.data.substr(5);def.group=fielddef.group.substr(5);
|
211 |
+
def.format=fielddef.format.substr(5);defaults[fielddef_array[i]]=def}var fields_arr=value.replace(/\//g,"[/]").replace(/\(.*\)/,function(m){return m.replace(/\[\/\]/g,"/")}).split("[/]");for(var i=0;i<fields_arr.length;i++){var field_raw=fields_arr[i].trim();var fieldprops={};for(prop in defaults["text"])fieldprops[prop]=defaults["text"][prop];if(field_raw.substr(0,1)=="*"){fieldprops.required=true;field_raw=field_raw.substr(1)}var field_parts=field_raw.split("|");if(field_parts[0].trim()!=""){var type_key=
|
212 |
+
-1;var new_type="";for(var j=0;j<field_parts.length;j++){var part=field_parts[j].replace(/^\s+/gm,"");var flag=part.substr(0,2);var val=part.substr(2);if(flag=="t:"&&j>0&&fielddef_array.indexOf(val)>-1){new_type=val;type_key=j;break}}if(new_type!=""){for(prop in defaults[new_type])fieldprops[prop]=defaults[new_type][prop];field_parts.splice(type_key,1)}fieldprops.label=field_parts[0].trim();field_parts.splice(0,1);for(var j=0;j<field_parts.length;j++){var part=field_parts[j].replace(/^\s+/gm,"");
|
213 |
+
var flag=part.substr(0,2);var val=part.substr(2);if(flag=="s:")fieldprops.labelposition=val;else if(flag=="r:")fieldprops.required=val=="1";else if(flag=="a:")fieldprops.donotautocomplete=val=="1";else if(flag=="v:")fieldprops.validate=val=="1";else if(flag=="d:")fieldprops["default"]=val;else if(flag=="l:")fieldprops.data=val;else if(flag=="g:")fieldprops.group=val;else if(flag=="f:")fieldprops.format=val;else if(flag=="p:")fieldprops.hintposition=val;else if(flag=="h:")fieldprops.typehook=val==
|
214 |
+
"1"}fields.push(fieldprops)}}if(fields.length==0)fields.push(fieldprops_default);var container=document.getElementById("wfu_attribute_"+attribute);var containers=document.querySelectorAll("div#wfu_attribute_"+attribute+" .wfu_formdata_line_container");for(var i=1;i<containers.length;i++)container.removeChild(containers[i]);var new_line_container=containers[0];for(var i=0;i<fields.length;i++){var new_key=attribute+"_"+wfu_randomString(4);var template=wfu_formdata_prepare_template(attribute,fields[i],
|
215 |
+
new_key);if(i>0)new_line_container=document.createElement("DIV");new_line_container.id="wfu_formfield_"+new_key+"_container";new_line_container.className="wfu_formdata_line_container";if(i>0)container.insertBefore(new_line_container,null);new_line_container.innerHTML=template;wfu_formdata_update_buttons(new_key)}var formfield_elements=document.querySelectorAll("div#wfu_attribute_"+attribute+' input[name="wfu_formfield_elements"]');for(var i=0;i<formfield_elements.length;i++)wfu_attach_element_handlers(formfield_elements[i],
|
216 |
+
wfu_update_formfield_value);wfu_update_formfield_value({target:containers[0]})}else if(type=="color-triplet"){var colors=value.split(",");for(var i=0;i<colors.length;i++)colors[i]=colors[i].trim();if(colors.length==2)colors=[colors[0],colors[1],"#000000"];else if(colors.length==1)colors=[colors[0],"#FFFFFF","#000000"];else if(colors.length<3)colors=["#000000","#FFFFFF","#000000"];var rgb=colourNameToHex(colors[0]);if(!rgb)rgb=colors[0];jQuery("#wfu_attribute_"+attribute+"_color").wpColorPicker("color",
|
217 |
+
rgb);var item=document.getElementById("wfu_attribute_"+attribute+"_color");item.value=colors[0];rgb=colourNameToHex(colors[1]);if(!rgb)rgb=colors[1];jQuery("#wfu_attribute_"+attribute+"_bgcolor").wpColorPicker("color",rgb);document.getElementById("wfu_attribute_"+attribute+"_bgcolor").value=colors[1];rgb=colourNameToHex(colors[2]);if(!rgb)rgb=colors[2];jQuery("#wfu_attribute_"+attribute+"_borcolor").wpColorPicker("color",rgb);document.getElementById("wfu_attribute_"+attribute+"_borcolor").value=colors[2];
|
218 |
+
wfu_update_triplecolor_value({target:item})}else if(type=="folderlist"){var items=wfu_parse_folderlist_js(value);var opts=document.getElementById("wfu_attribute_"+attribute).options;while(opts.length>0)opts.remove(0);var opt,subfolder,subfolder_raw,text,stars,subvalue;for(var i=0;i<items.path.length;i++){subfolder=items.path[i];if(subfolder.substr(subfolder.length,1)=="/")subfolder=subfolder.substr(0,subfolder.length-1);subfolder_raw=subfolder.split("/");subfolder=subfolder_raw[subfolder_raw.length-
|
219 |
+
1];stars=parseInt(items.level[i]);text="";subvalue="";for(var j=0;j<stars;j++){text+=" ";subvalue+="*"}text+=items.label[i];if(items["default"][i])subvalue+="&";if(subfolder=="")subvalue+="{root}/"+items.label[i];else subvalue+=subfolder+items.label[i];opt=document.createElement("option");if(items["default"][i])opt.className="wfu_select_folders_option_default";else opt.className="";opt.value=wfu_plugin_encode_string(subvalue);opt.innerHTML=text;opts.add(opt)}opt=document.createElement("option");
|
220 |
+
opt.value="";opt.innerHTML="";opts.add(opt);var list=document.getElementById("wfu_attribute_"+attribute);list.data=wfu_decode_subfolder_list(attribute);wfu_subfolders_update_toolnav(attribute);item=list;if(value!==item.oldVal){item.oldVal=value;document.getElementById("wfu_attribute_value_"+attribute).value=value;wfu_generate_shortcode()}}}
|
221 |
function wfu_parse_folderlist_js(list){var ret=Object();ret.path=Array();ret.label=Array();ret.level=Array();ret["default"]=Array();if(list.substr(0,4)=="auto")return ret;var subfolders=list.split(",");if(subfolders.length==0)return ret;if(subfolders.length==1&&subfolders[0].trim()=="")return ret;var dir_levels=["root"];var prev_level=0;var level0_count=0;var _default=-1;var subfolder,star_count,start_spaces,is_default,subfolder_dir,subfolder_label,subfolder_path;for(var i=0;i<subfolders.length;i++){subfolder=
|
222 |
subfolders[i].trim();star_count=0;start_spaces="";is_default=false;while(star_count<subfolder.length)if(subfolder.substr(star_count,1)=="*"){star_count++;start_spaces+=" "}else break;if(star_count-prev_level<=1&&(star_count>0||level0_count==0)){subfolder=subfolder.substr(star_count,subfolder.length-star_count);if(subfolder.substr(0,1)=="&"){subfolder=subfolder.substr(1);is_default=true}subfolder_items=subfolder.split("/");if(subfolder_items.length<2)subfolder_items.push("");if(subfolder_items[1]!=
|
223 |
""){subfolder_dir=subfolder_items[0];subfolder_label=subfolder_items[1]}else{subfolder_dir=subfolder;subfolder_label=subfolder}if(subfolder_dir!=""){if(is_default&&_default==-1)_default=ret.path.length;else is_default=false;if(star_count==0)level0_count=1;if(dir_levels.length>star_count)dir_levels[star_count]=subfolder_dir;else dir_levels.push(subfolder_dir);subfolder_path="";for(var i_count=1;i_count<=star_count;i_count++)subfolder_path+=dir_levels[i_count]+"/";ret.path.push(subfolder_path);ret.label.push(subfolder_label);
|
229 |
"mediumturquoise":"#48d1cc","mediumvioletred":"#c71585","midnightblue":"#191970","mintcream":"#f5fffa","mistyrose":"#ffe4e1","moccasin":"#ffe4b5","navajowhite":"#ffdead","navy":"#000080","oldlace":"#fdf5e6","olive":"#808000","olivedrab":"#6b8e23","orange":"#ffa500","orangered":"#ff4500","orchid":"#da70d6","palegoldenrod":"#eee8aa","palegreen":"#98fb98","paleturquoise":"#afeeee","palevioletred":"#d87093","papayawhip":"#ffefd5","peachpuff":"#ffdab9","peru":"#cd853f","pink":"#ffc0cb","plum":"#dda0dd",
|
230 |
"powderblue":"#b0e0e6","purple":"#800080","red":"#ff0000","rosybrown":"#bc8f8f","royalblue":"#4169e1","saddlebrown":"#8b4513","salmon":"#fa8072","sandybrown":"#f4a460","seagreen":"#2e8b57","seashell":"#fff5ee","sienna":"#a0522d","silver":"#c0c0c0","skyblue":"#87ceeb","slateblue":"#6a5acd","slategray":"#708090","snow":"#fffafa","springgreen":"#00ff7f","steelblue":"#4682b4","tan":"#d2b48c","teal":"#008080","thistle":"#d8bfd8","tomato":"#ff6347","turquoise":"#40e0d0","violet":"#ee82ee","wheat":"#f5deb3",
|
231 |
"white":"#ffffff","whitesmoke":"#f5f5f5","yellow":"#ffff00","yellowgreen":"#9acd32"};if(typeof colours[colour.toLowerCase()]!="undefined")return colours[colour.toLowerCase()];return false}
|
232 |
+
function wfu_download_file(filepath_enc,ii){var xhr=wfu_GetHttpRequestObject();if(xhr==null)return;var nonce="";var nonce_elem=document.getElementById("wfu_download_file_nonce");if(nonce_elem)nonce=nonce_elem.value;if(nonce=="")return;var url=AdminParams.wfu_ajax_url;params=new Array(3);params[0]=new Array(2);params[0][0]="action";params[0][1]="wfu_ajax_action_download_file_invoker";params[1]=new Array(2);params[1][0]="file";params[1][1]=filepath_enc;params[2]=new Array(2);params[2][0]="nonce";params[2][1]=
|
233 |
+
nonce;var parameters="";for(var i=0;i<params.length;i++)parameters+=(i>0?"&":"")+params[i][0]+"="+encodeURI(params[i][1]);xhr.open("POST",url,true);xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhr.onreadystatechange=function(){if(xhr.readyState==4)if(xhr.status==200){var start_text="wfu_ajax_action_download_file_invoker:";var pos=xhr.responseText.indexOf(start_text);if(pos==-1)pos=xhr.responseText.length;var messages=xhr.responseText.substr(0,pos);var response=xhr.responseText.substr(pos+
|
234 |
+
start_text.length,xhr.responseText.length-pos-start_text.length);pos=response.indexOf(":");var txt_header=response.substr(0,pos);txt_value=response.substr(pos+1,response.length-pos-1);if(txt_header.substr(0,16)=="wfu_download_id;"){var download_id=txt_header.substr(16);var container=document.getElementById("wfu_file_download_container_"+ii);container.innerHTML=txt_value;setTimeout("wfu_download_file_monitor('"+filepath_enc+"', "+ii+", '"+download_id+"')",100)}}};xhr.send(parameters)}
|
235 |
function wfu_download_file_monitor(filepath_enc,ii,id){var xhr=wfu_GetHttpRequestObject();if(xhr==null)return;var url=AdminParams.wfu_ajax_url;params=new Array(3);params[0]=new Array(2);params[0][0]="action";params[0][1]="wfu_ajax_action_download_file_monitor";params[1]=new Array(2);params[1][0]="file";params[1][1]=filepath_enc;params[2]=new Array(2);params[2][0]="id";params[2][1]=id;var parameters="";for(var i=0;i<params.length;i++)parameters+=(i>0?"&":"")+params[i][0]+"="+encodeURI(params[i][1]);
|
236 |
xhr.open("POST",url,true);xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhr.onreadystatechange=function(){if(xhr.readyState==4)if(xhr.status==200){var start_text="wfu_ajax_action_download_file_monitor:";var pos=xhr.responseText.indexOf(start_text);if(pos==-1)pos=xhr.responseText.length;var messages=xhr.responseText.substr(0,pos);var response=xhr.responseText.substr(pos+start_text.length,xhr.responseText.length-pos-start_text.length);pos=response.indexOf(":");var txt_header=
|
237 |
response.substr(0,pos);txt_value=response.substr(pos+1,response.length-pos-1);if(txt_header!="repeat"){var container=document.getElementById("wfu_file_download_container_"+ii);container.innerHTML=""}else if(txt_header=="repeat")setTimeout("wfu_download_file_monitor('"+filepath_enc+"', "+ii+", '"+txt_value+"')",100)}};xhr.send(parameters)}
|
256 |
xhr.onreadystatechange=function(){if(xhr.readyState==4)if(xhr.status==200){document.getElementById("wfu_historylog_overlay").style.display="none";var start_text="wfu_historylog_page_success:";var pos=xhr.responseText.indexOf(start_text);if(pos==-1)pos=xhr.responseText.length;var messages=xhr.responseText.substr(0,pos);var response=xhr.responseText.substr(pos+start_text.length,xhr.responseText.length-pos-start_text.length);if(response!=""){var t=document.getElementById("wfu_historylog_table");t.tBodies[0].innerHTML=
|
257 |
wfu_plugin_decode_string(response);sel.selectedIndex=newpage-1;document.getElementById("wfu_historylog_first_disabled").style.display=newpage==1?"inline":"none";document.getElementById("wfu_historylog_prev_disabled").style.display=newpage==1?"inline":"none";document.getElementById("wfu_historylog_first").style.display=newpage==1?"none":"inline";document.getElementById("wfu_historylog_prev").style.display=newpage==1?"none":"inline";document.getElementById("wfu_historylog_last_disabled").style.display=
|
258 |
newpage==sel.options.length?"inline":"none";document.getElementById("wfu_historylog_next_disabled").style.display=newpage==sel.options.length?"inline":"none";document.getElementById("wfu_historylog_last").style.display=newpage==sel.options.length?"none":"inline";document.getElementById("wfu_historylog_next").style.display=newpage==sel.options.length?"none":"inline"}}};xhr.send(parameters)}
|
259 |
+
function wfu_include_file(filepath_enc,ii){var xhr=wfu_GetHttpRequestObject();if(xhr==null)return;var nonce="";var nonce_elem=document.getElementById("wfu_include_file_nonce");if(nonce_elem)nonce=nonce_elem.value;if(nonce=="")return;var url=AdminParams.wfu_ajax_url;params=new Array(2);params[0]=new Array(3);params[0][0]="action";params[0][1]="wfu_ajax_action_include_file";params[1]=new Array(2);params[1][0]="file";params[1][1]=filepath_enc;params[2]=new Array(2);params[2][0]="nonce";params[2][1]=
|
260 |
+
nonce;var parameters="";for(var i=0;i<params.length;i++)parameters+=(i>0?"&":"")+params[i][0]+"="+encodeURI(params[i][1]);document.getElementById("wfu_include_file_"+ii+"_a").href="javascript: void(0)";document.getElementById("wfu_include_file_"+ii+"_img").style.display="inline";xhr.open("POST",url,true);xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhr.onreadystatechange=function(){if(xhr.readyState==4){document.getElementById("wfu_include_file_"+ii+"_img").style.display=
|
261 |
+
"none";if(xhr.status==200){var start_text="wfu_include_file:";var pos=xhr.responseText.indexOf(start_text);if(pos==-1)pos=xhr.responseText.length;var messages=xhr.responseText.substr(0,pos);var response=xhr.responseText.substr(pos+start_text.length,xhr.responseText.length-pos-start_text.length);pos=response.indexOf(":");var txt_header=response.substr(0,pos);txt_value=response.substr(pos+1,response.length-pos-1);if(txt_header=="success"){document.getElementById("wfu_file_flat_"+ii).style.display="none";
|
262 |
+
document.getElementById("wfu_file_link_"+ii).style.display="inline";document.getElementById("wfu_file_can_be_included_actions_"+ii).style.display="none";document.getElementById("wfu_file_is_included_actions_"+ii).style.display="block"}else document.getElementById("wfu_include_file_"+ii+"_a").innerHTML=document.getElementById("wfu_include_file_"+ii+"_inpfail").value}}};xhr.send(parameters)}
|
263 |
+
function wfu_adminbrowser_select_all_visible_changed(){var status=document.getElementById("wfu_select_all_visible").checked;var selectors=document.querySelectorAll(".wfu_selectors");for(var i=0;i<selectors.length;i++)selectors[i].checked=status}
|
264 |
function wfu_adminbrowser_selector_changed(obj){var selectors_count=document.querySelectorAll(".wfu_selectors").length;var selected_count=document.querySelectorAll(".wfu_selectors:checked").length;var all_visible=document.getElementById("wfu_select_all_visible");all_visible.style.webkitAppearance="";all_visible.style.webkitAppearance="checkbox";all_visible.checked=selected_count>0;all_visible.indeterminate=selected_count>0&&selected_count<selectors_count}
|
265 |
function wfu_apply_adminbrowser_bulkaction(){var actionselector=document.getElementById("wfu_adminbrowser_bulkactions");if(actionselector.selectedIndex<1)return;var action=actionselector.options[actionselector.selectedIndex].value;var selected=document.querySelectorAll(".wfu_selectors:checked");if(selected.length==0)return;var codes=[];var codes_included=0,codes_not_included=0;for(var i=0;i<selected.length;i++){var file_code=selected[i].className.replace(/.*?wfu_selcode_/,"");if(file_code!=""){var included=
|
266 |
selected[i].className.indexOf("wfu_included")>-1;if(included)codes_included++;else codes_not_included++;if(action=="delete"&&!included||action=="include"&&included)selected[i].checked=false;else codes.push(file_code)}}if(action=="delete"&&codes_not_included>0)alert("Notice! Files that were not uploaded using the plugin cannot be deleted and have been deselected.");else if(action=="include"&&codes_included>0)alert("Notice! Files already included in the plugin have been deselected.");if(codes.length==
|
js/wordpress_file_upload_functions.js
CHANGED
@@ -29,19 +29,19 @@ function wfu_selectbutton_clicked(sid){var WFU=GlobalData.WFU[sid];if(!!WFU.mess
|
|
29 |
function wfu_update_filename_text(sid){var WFU=GlobalData.WFU[sid];if(!!WFU.textbox_exist){var farr=wfu_get_filelist(sid);var filenames=[];for(var i=0;i<farr.length;i++)filenames.push(farr[i].name);WFU.textbox.update("set",filenames)}}
|
30 |
function wfu_init_userdata_handlers(sid,key){var WFU=GlobalData.WFU[sid];var props=WFU.userdata.props[key];var JS=WFU.userdata.codes[key];var obj=WFU.userdata;JS.init=function(){};JS.value=function(){return""};JS.lock=function(){};JS.unlock=function(){};JS.reset=function(){};JS.empty=function(){return""};JS.validate=null;JS.typehook=null;if(props.type=="text"){JS.init=function(){obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};
|
31 |
JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""}}else if(props.type=="multitext"){JS.init=function(){obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===
|
32 |
-
""?obj.error_empty:""}}else if(props.type=="number"){JS.init=function(){obj.attachHandlers(props,function(e){if(
|
33 |
"f")re=/^(\+|\-)?[0-9]*?\.?[0-9]*$/i;return re.test(obj.getValue(props))?"":obj.error_invalid_number};JS.typehook=function(e){var re=/^(\+|\-)?[0-9]*$/i;if(props.format=="f")re=/^(\+|\-)?[0-9]*?\.?[0-9]*$/i;if(re.test(e.target.value))props.store();else e.target.value=props.getstored()}}else if(props.type=="email"){JS.init=function(){obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};
|
34 |
-
JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""};JS.validate=function(){var re=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;return re.test(obj.getValue(props))?"":obj.error_invalid_email}}else if(props.type=="confirmemail"){JS.init=function(){obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};
|
35 |
-
JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""};JS.validate=function(){var baseprops=null;for(var i=0;i<WFU.userdata.props.length;i++)if(WFU.userdata.props[i]&&WFU.userdata.props[i].type=="email"&&WFU.userdata.props[i].group==props.group){baseprops=WFU.userdata.props[i];break}return baseprops!=null?obj.getValue(props)==obj.getValue(baseprops)?
|
36 |
-
obj.error_confirm_email_nobase}}else if(props.type=="password"){JS.init=function(){obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""}}else if(props.type=="confirmpassword"){JS.init=function(){obj.attachHandlers(props,
|
37 |
-
JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""};JS.validate=function(){var baseprops=null;for(var i=0;i<WFU.userdata.props.length;i++)if(WFU.userdata.props[i]&&WFU.userdata.props[i].type=="password"&&WFU.userdata.props[i].group==props.group){baseprops=
|
38 |
-
null?obj.getValue(props)==obj.getValue(baseprops)?"":obj.error_confirm_password_nomatch:obj.error_confirm_password_nobase}}else if(props.type=="checkbox"){JS.init=function(){obj.initField(props);obj.setValue(props,props["default"]=="true");obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)?"true":"false"};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,
|
39 |
-
props.store()};JS.empty=function(){return!obj.getValue(props)?obj.error_checkbox_notchecked:""}}else if(props.type=="radiobutton"){JS.init=function(){obj.initField(props);obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?
|
40 |
-
""}}else if(props.type=="date"){JS.init=function(){obj.initField(props);obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){def=props["default"].trim();if(def.substr(0,1)=="("&&def.substr(def.length-1,1)==")")def=def.substr(1,def.length-2);else def="";obj.setValue(props,def);props.store()};JS.empty=function(){return obj.getValue(props)===
|
41 |
-
""}}else if(props.type=="time"){JS.init=function(){obj.initField(props);obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){def=props["default"].trim();if(def.substr(0,1)=="("&&def.substr(def.length-1,1)==")")def=def.substr(1,def.length-2);else def="";obj.setValue(props,def);props.store()};JS.empty=function(){return obj.getValue(props)===
|
42 |
-
""}}else if(props.type=="datetime"){JS.init=function(){obj.initField(props);obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){def=props["default"].trim();if(def.substr(0,1)=="("&&def.substr(def.length-1,1)==")")def=def.substr(1,def.length-2);else def="";obj.setValue(props,def);props.store()};JS.empty=function(){return obj.getValue(props)===
|
43 |
-
""}}else if(props.type=="list"){JS.init=function(){obj.initField(props);obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""}}else if(props.type=="dropdown"){JS.init=function(){obj.initField(props);obj.attachHandlers(props,
|
44 |
-
JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""}}JS.init()}function wfu_Redirect(link){window.location=link}function wfu_loadStart(evt){}
|
45 |
function wfu_update_upload_metrics(sid){var totalsize=0;var totalloaded=0;var totaldelta=0;var metrics=Array();var farr=wfu_get_filelist(sid);for(var i=0;i<farr.length;i++)metrics[i]={size:farr[i].size,aborted:false,loaded:0,delta:0};for(var i=0;i<GlobalData[sid].xhrs.length;i++){var file_id=GlobalData[sid].xhrs[i].file_id;if(file_id>0&&GlobalData[sid].xhrs[i].aborted)metrics[file_id-1].aborted=true}for(var i=0;i<GlobalData[sid].xhrs.length;i++){var file_id=GlobalData[sid].xhrs[i].file_id;if(file_id>
|
46 |
0&&!metrics[file_id-1].aborted){metrics[file_id-1].size=Math.max(GlobalData[sid].xhrs[i].totalsize,metrics[file_id-1].size);metrics[file_id-1].loaded+=GlobalData[sid].xhrs[i].sizeloaded;metrics[file_id-1].delta+=Math.max(GlobalData[sid].xhrs[i].deltaloaded,0)}}for(var i=0;i<farr.length;i++){var Gm=GlobalData[sid].metrics[i];if(!metrics[i].aborted&&metrics[i].size>0){Gm.size=metrics[i].size;if(GlobalData.consts.wfu_uploadprogress_mode=="incremental")Gm.progress_pos=Math.min(Gm.progress_pos+(1-Gm.progress_pos)*
|
47 |
metrics[i].delta/(Gm.size-Gm.loaded),1);else Gm.progress_pos=metrics[i].loaded/metrics[i].size;Gm.loaded=metrics[i].loaded;totalsize+=Gm.size;totalloaded+=Gm.loaded;totaldelta+=metrics[i].delta}else{Gm.size=0;Gm.progress_pos=0;Gm.loaded=0}}var Gm=GlobalData[sid].metricstotal;Gm.size=totalsize;if(GlobalData.consts.wfu_uploadprogress_mode=="incremental")Gm.progress_pos=Math.min(Gm.progress_pos+(1-Gm.progress_pos)*totaldelta/(Gm.size-Gm.loaded),1);else Gm.progress_pos=totalloaded/totalsize;Gm.loaded=
|
@@ -92,8 +92,8 @@ Code_Initializators[Code_Initializators.length]=function(sid){var CBUV_Code_Obje
|
|
92 |
filenames;params.filesizes=filesizes;return params};CBUV_Code_Objects.askserver_success=function(response,mode){var sid=this.sid;var upload_status="success";var txt_match=response.match(/CBUVJS\[(.*?)\]/);var txt_header=txt_match?typeof txt_match[1]!="undefined"?txt_match[1]:"":"";if(txt_header!="")eval(txt_header)};CBUV_Code_Objects.askserver_error=function(response,mode){var sid=this.sid;var upload_status="error";var txt_match=response.match(/CBUVJS\[(.*?)\]/);var txt_header=txt_match?typeof txt_match[1]!=
|
93 |
"undefined"?txt_match[1]:"":"";if(txt_header!="")eval(txt_header);txt_match=response.match(/CBUV\[(.*?)\]/);txt_header=txt_match?typeof txt_match[1]!="undefined"?txt_match[1]:"":"";if(txt_header!=""){var Params=wfu_Initialize_Params();GlobalData[sid]={};Params.general.shortcode_id=sid;Params.general.message=txt_header;Params.general.state=12;wfu_ProcessUploadComplete(sid,0,Params,"no-ajax","",[false,null,false]);wfu_clear(sid)}};CBUV_Code_Objects.after_upload=function(response){var sid=this.sid;var txt_match=
|
94 |
response.match(/CBUVJS\[(.*?)\]/);var txt_header=txt_match?typeof txt_match[1]!="undefined"?txt_match[1]:"":"";if(txt_header!="")eval(txt_header)};return CBUV_Code_Objects};function wfu_filesselected(sid){var WFU=GlobalData.WFU[sid];var farr=wfu_get_filelist(sid);if(farr.length==0&&!WFU.allownofile&&!!WFU.textbox_exist)WFU.textbox.update("nofile");return farr.length}
|
95 |
-
function wfu_check_required_userdata(sid,prompt){var WFU=GlobalData.WFU[sid];var userdata_count=wfu_get_userdata_count(sid);var req_empty=false;for(var i=0;i<userdata_count;i++){WFU.userdata.props[i].store();var error_message="";if(WFU.userdata.props[i].required)error_message=WFU.userdata.codes[i].empty();if(error_message===""&&WFU.userdata.codes[i].validate!=null)error_message=WFU.userdata.codes[i].validate();if(error_message!==""){if(prompt)WFU.userdata.prompt(WFU.userdata.props[i],
|
96 |
-
req_empty=true}}return!req_empty}
|
97 |
function wfu_HTML5UploadFile(sid){var WFU=GlobalData.WFU[sid];if(!wfu_BrowserCaps.supportsAJAX){wfu_redirect_to_classic(sid,1,1);return}if(!wfu_BrowserCaps.supportsHTML5){wfu_redirect_to_classic(sid,1,2);return}var xhr=wfu_GetHttpRequestObject();if(xhr==null)return;var numfiles=wfu_filesselected(sid);if(numfiles==0&&!WFU.allownofile)return;if(numfiles==0)wfu_selectbutton_clicked(sid);if(!!WFU.subfolders_exist&&numfiles>0&&!WFU.subfolders.check()){if(WFU.singlebutton)wfu_clear_files(sid);return}var numpasses=
|
98 |
numfiles;numpasses+=numpasses;if(!wfu_check_required_userdata(sid,true)){if(WFU.singlebutton)wfu_clear_files(sid);return}if(!wfu_Code_Objects[sid].apply_filters("pre_start_check",true))return;var unique_upload_id=wfu_randomString(10);wfu_lock_upload(sid);wfu_Code_Objects[sid].do_action("pre_start");if(!wfu_Code_Objects[sid].apply_filters("pre_start_ask_server",false,WFU.has_filters?"true":"false"))wfu_HTML5UploadFile_cont(sid,unique_upload_id);else{var url=GlobalData.consts.ajax_url;params=new Array(5);
|
99 |
params[0]=new Array(2);params[0][0]="action";params[0][1]="wfu_ajax_action_ask_server";params[1]=new Array(2);params[1][0]="session_token";params[1][1]=WFU.session;params[2]=new Array(2);params[2][0]="sid";params[2][1]=sid;params[3]=new Array(2);params[3][0]="unique_id";params[3][1]=unique_upload_id;params[4]=new Array(2);params[4][0]="wfu_uploader_nonce";params[4][1]=document.getElementById("wfu_uploader_nonce_"+sid).value;var params_obj=wfu_Code_Objects[sid].apply_filters("askserver_pass_params",
|
29 |
function wfu_update_filename_text(sid){var WFU=GlobalData.WFU[sid];if(!!WFU.textbox_exist){var farr=wfu_get_filelist(sid);var filenames=[];for(var i=0;i<farr.length;i++)filenames.push(farr[i].name);WFU.textbox.update("set",filenames)}}
|
30 |
function wfu_init_userdata_handlers(sid,key){var WFU=GlobalData.WFU[sid];var props=WFU.userdata.props[key];var JS=WFU.userdata.codes[key];var obj=WFU.userdata;JS.init=function(){};JS.value=function(){return""};JS.lock=function(){};JS.unlock=function(){};JS.reset=function(){};JS.empty=function(){return""};JS.validate=null;JS.typehook=null;if(props.type=="text"){JS.init=function(){obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};
|
31 |
JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""}}else if(props.type=="multitext"){JS.init=function(){obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===
|
32 |
+
""?obj.error_empty:""}}else if(props.type=="number"){JS.init=function(){obj.attachHandlers(props,function(e){if(props.typehook)JS.typehook(e);else props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""};JS.validate=function(){var re=/^(\+|\-)?[0-9]*$/i;if(props.format==
|
33 |
"f")re=/^(\+|\-)?[0-9]*?\.?[0-9]*$/i;return re.test(obj.getValue(props))?"":obj.error_invalid_number};JS.typehook=function(e){var re=/^(\+|\-)?[0-9]*$/i;if(props.format=="f")re=/^(\+|\-)?[0-9]*?\.?[0-9]*$/i;if(re.test(e.target.value))props.store();else e.target.value=props.getstored()}}else if(props.type=="email"){JS.init=function(){obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};
|
34 |
+
JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""};JS.validate=function(){if(obj.getValue(props)=="")return"";var re=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;return re.test(obj.getValue(props))?"":obj.error_invalid_email}}else if(props.type=="confirmemail"){JS.init=function(){obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};
|
35 |
+
JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""};JS.validate=function(){var baseprops=null;for(var i=0;i<WFU.userdata.props.length;i++)if(WFU.userdata.props[i]&&WFU.userdata.props[i].type=="email"&&WFU.userdata.props[i].group==props.group){baseprops=WFU.userdata.props[i];break}return baseprops!=null?obj.getValue(props)==obj.getValue(baseprops)?
|
36 |
+
"":obj.error_confirm_email_nomatch:obj.error_confirm_email_nobase}}else if(props.type=="password"){JS.init=function(){obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""}}else if(props.type=="confirmpassword"){JS.init=function(){obj.attachHandlers(props,
|
37 |
+
function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""};JS.validate=function(){var baseprops=null;for(var i=0;i<WFU.userdata.props.length;i++)if(WFU.userdata.props[i]&&WFU.userdata.props[i].type=="password"&&WFU.userdata.props[i].group==props.group){baseprops=
|
38 |
+
WFU.userdata.props[i];break}return baseprops!=null?obj.getValue(props)==obj.getValue(baseprops)?"":obj.error_confirm_password_nomatch:obj.error_confirm_password_nobase}}else if(props.type=="checkbox"){JS.init=function(){obj.initField(props);obj.setValue(props,props["default"]=="true");obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)?"true":"false"};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,
|
39 |
+
props["default"]=="true");props.store()};JS.empty=function(){return!obj.getValue(props)?obj.error_checkbox_notchecked:""}}else if(props.type=="radiobutton"){JS.init=function(){obj.initField(props);obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?
|
40 |
+
obj.error_radio_notselected:""}}else if(props.type=="date"){JS.init=function(){obj.initField(props);obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){def=props["default"].trim();if(def.substr(0,1)=="("&&def.substr(def.length-1,1)==")")def=def.substr(1,def.length-2);else def="";obj.setValue(props,def);props.store()};JS.empty=function(){return obj.getValue(props)===
|
41 |
+
""?obj.error_empty:""}}else if(props.type=="time"){JS.init=function(){obj.initField(props);obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){def=props["default"].trim();if(def.substr(0,1)=="("&&def.substr(def.length-1,1)==")")def=def.substr(1,def.length-2);else def="";obj.setValue(props,def);props.store()};JS.empty=function(){return obj.getValue(props)===
|
42 |
+
""?obj.error_empty:""}}else if(props.type=="datetime"){JS.init=function(){obj.initField(props);obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){def=props["default"].trim();if(def.substr(0,1)=="("&&def.substr(def.length-1,1)==")")def=def.substr(1,def.length-2);else def="";obj.setValue(props,def);props.store()};JS.empty=function(){return obj.getValue(props)===
|
43 |
+
""?obj.error_empty:""}}else if(props.type=="list"){JS.init=function(){obj.initField(props);obj.attachHandlers(props,function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""}}else if(props.type=="dropdown"){JS.init=function(){obj.initField(props);obj.attachHandlers(props,
|
44 |
+
function(e){props.store()})};JS.value=function(){return obj.getValue(props)};JS.lock=function(){obj.disable(props)};JS.unlock=function(){obj.enable(props)};JS.reset=function(){obj.setValue(props,props["default"]);props.store()};JS.empty=function(){return obj.getValue(props)===""?obj.error_empty:""}}JS.init()}function wfu_Redirect(link){window.location=link}function wfu_loadStart(evt){}
|
45 |
function wfu_update_upload_metrics(sid){var totalsize=0;var totalloaded=0;var totaldelta=0;var metrics=Array();var farr=wfu_get_filelist(sid);for(var i=0;i<farr.length;i++)metrics[i]={size:farr[i].size,aborted:false,loaded:0,delta:0};for(var i=0;i<GlobalData[sid].xhrs.length;i++){var file_id=GlobalData[sid].xhrs[i].file_id;if(file_id>0&&GlobalData[sid].xhrs[i].aborted)metrics[file_id-1].aborted=true}for(var i=0;i<GlobalData[sid].xhrs.length;i++){var file_id=GlobalData[sid].xhrs[i].file_id;if(file_id>
|
46 |
0&&!metrics[file_id-1].aborted){metrics[file_id-1].size=Math.max(GlobalData[sid].xhrs[i].totalsize,metrics[file_id-1].size);metrics[file_id-1].loaded+=GlobalData[sid].xhrs[i].sizeloaded;metrics[file_id-1].delta+=Math.max(GlobalData[sid].xhrs[i].deltaloaded,0)}}for(var i=0;i<farr.length;i++){var Gm=GlobalData[sid].metrics[i];if(!metrics[i].aborted&&metrics[i].size>0){Gm.size=metrics[i].size;if(GlobalData.consts.wfu_uploadprogress_mode=="incremental")Gm.progress_pos=Math.min(Gm.progress_pos+(1-Gm.progress_pos)*
|
47 |
metrics[i].delta/(Gm.size-Gm.loaded),1);else Gm.progress_pos=metrics[i].loaded/metrics[i].size;Gm.loaded=metrics[i].loaded;totalsize+=Gm.size;totalloaded+=Gm.loaded;totaldelta+=metrics[i].delta}else{Gm.size=0;Gm.progress_pos=0;Gm.loaded=0}}var Gm=GlobalData[sid].metricstotal;Gm.size=totalsize;if(GlobalData.consts.wfu_uploadprogress_mode=="incremental")Gm.progress_pos=Math.min(Gm.progress_pos+(1-Gm.progress_pos)*totaldelta/(Gm.size-Gm.loaded),1);else Gm.progress_pos=totalloaded/totalsize;Gm.loaded=
|
92 |
filenames;params.filesizes=filesizes;return params};CBUV_Code_Objects.askserver_success=function(response,mode){var sid=this.sid;var upload_status="success";var txt_match=response.match(/CBUVJS\[(.*?)\]/);var txt_header=txt_match?typeof txt_match[1]!="undefined"?txt_match[1]:"":"";if(txt_header!="")eval(txt_header)};CBUV_Code_Objects.askserver_error=function(response,mode){var sid=this.sid;var upload_status="error";var txt_match=response.match(/CBUVJS\[(.*?)\]/);var txt_header=txt_match?typeof txt_match[1]!=
|
93 |
"undefined"?txt_match[1]:"":"";if(txt_header!="")eval(txt_header);txt_match=response.match(/CBUV\[(.*?)\]/);txt_header=txt_match?typeof txt_match[1]!="undefined"?txt_match[1]:"":"";if(txt_header!=""){var Params=wfu_Initialize_Params();GlobalData[sid]={};Params.general.shortcode_id=sid;Params.general.message=txt_header;Params.general.state=12;wfu_ProcessUploadComplete(sid,0,Params,"no-ajax","",[false,null,false]);wfu_clear(sid)}};CBUV_Code_Objects.after_upload=function(response){var sid=this.sid;var txt_match=
|
94 |
response.match(/CBUVJS\[(.*?)\]/);var txt_header=txt_match?typeof txt_match[1]!="undefined"?txt_match[1]:"":"";if(txt_header!="")eval(txt_header)};return CBUV_Code_Objects};function wfu_filesselected(sid){var WFU=GlobalData.WFU[sid];var farr=wfu_get_filelist(sid);if(farr.length==0&&!WFU.allownofile&&!!WFU.textbox_exist)WFU.textbox.update("nofile");return farr.length}
|
95 |
+
function wfu_check_required_userdata(sid,prompt){var WFU=GlobalData.WFU[sid];var userdata_count=wfu_get_userdata_count(sid);var req_empty=false;for(var i=0;i<userdata_count;i++){WFU.userdata.props[i].store();var error_message="";if(WFU.userdata.props[i].required)error_message=WFU.userdata.codes[i].empty();if(error_message===""&&WFU.userdata.codes[i].validate!=null&&WFU.userdata.props[i].validate)error_message=WFU.userdata.codes[i].validate();if(error_message!==""){if(prompt)WFU.userdata.prompt(WFU.userdata.props[i],
|
96 |
+
error_message);req_empty=true}}return!req_empty}
|
97 |
function wfu_HTML5UploadFile(sid){var WFU=GlobalData.WFU[sid];if(!wfu_BrowserCaps.supportsAJAX){wfu_redirect_to_classic(sid,1,1);return}if(!wfu_BrowserCaps.supportsHTML5){wfu_redirect_to_classic(sid,1,2);return}var xhr=wfu_GetHttpRequestObject();if(xhr==null)return;var numfiles=wfu_filesselected(sid);if(numfiles==0&&!WFU.allownofile)return;if(numfiles==0)wfu_selectbutton_clicked(sid);if(!!WFU.subfolders_exist&&numfiles>0&&!WFU.subfolders.check()){if(WFU.singlebutton)wfu_clear_files(sid);return}var numpasses=
|
98 |
numfiles;numpasses+=numpasses;if(!wfu_check_required_userdata(sid,true)){if(WFU.singlebutton)wfu_clear_files(sid);return}if(!wfu_Code_Objects[sid].apply_filters("pre_start_check",true))return;var unique_upload_id=wfu_randomString(10);wfu_lock_upload(sid);wfu_Code_Objects[sid].do_action("pre_start");if(!wfu_Code_Objects[sid].apply_filters("pre_start_ask_server",false,WFU.has_filters?"true":"false"))wfu_HTML5UploadFile_cont(sid,unique_upload_id);else{var url=GlobalData.consts.ajax_url;params=new Array(5);
|
99 |
params[0]=new Array(2);params[0][0]="action";params[0][1]="wfu_ajax_action_ask_server";params[1]=new Array(2);params[1][0]="session_token";params[1][1]=WFU.session;params[2]=new Array(2);params[2][0]="sid";params[2][1]=sid;params[3]=new Array(2);params[3][0]="unique_id";params[3][1]=unique_upload_id;params[4]=new Array(2);params[4][0]="wfu_uploader_nonce";params[4][1]=document.getElementById("wfu_uploader_nonce_"+sid).value;var params_obj=wfu_Code_Objects[sid].apply_filters("askserver_pass_params",
|
lib/wfu_admin.php
CHANGED
@@ -2,16 +2,22 @@
|
|
2 |
|
3 |
function wordpress_file_upload_admin_init() {
|
4 |
$uri = $_SERVER['REQUEST_URI'];
|
5 |
-
wp_register_style( 'myPluginStylesheet', plugins_url('stylesheet.css', __FILE__) );
|
6 |
$is_admin = current_user_can( 'manage_options' );
|
7 |
if ( is_admin() && ( ( $is_admin && strpos($uri, "options-general.php") !== false ) ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
wp_register_style('wordpress-file-upload-admin-style', WPFILEUPLOAD_DIR.'css/wordpress_file_upload_adminstyle.css',false,'1.0','all');
|
9 |
wp_register_script('wordpress_file_upload_admin_script', WPFILEUPLOAD_DIR.'js/wordpress_file_upload_adminfunctions.js', array( 'wp-color-picker' ), false, true);
|
10 |
-
wp_register_script('wordpress_file_upload_classname_script', WPFILEUPLOAD_DIR.'js/getElementsByClassName-1.0.1.js');
|
11 |
}
|
12 |
}
|
13 |
|
14 |
function wordpress_file_upload_add_admin_pages() {
|
|
|
15 |
if ( current_user_can( 'manage_options' ) ) $page_hook_suffix = add_options_page('Wordpress File Upload', 'Wordpress File Upload', 'manage_options', 'wordpress_file_upload', 'wordpress_file_upload_manage_dashboard');
|
16 |
if ( $page_hook_suffix !== false ) add_action('admin_print_scripts-'.$page_hook_suffix, 'wfu_enqueue_admin_scripts');
|
17 |
}
|
@@ -20,10 +26,16 @@ function wfu_enqueue_admin_scripts() {
|
|
20 |
$uri = $_SERVER['REQUEST_URI'];
|
21 |
$is_admin = current_user_can( 'manage_options' );
|
22 |
if ( is_admin() && ( ( $is_admin && strpos($uri, "options-general.php") !== false ) ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
wp_enqueue_style('wordpress-file-upload-admin-style');
|
24 |
wp_enqueue_style( 'wp-color-picker' );
|
25 |
wp_enqueue_script('wordpress_file_upload_admin_script');
|
26 |
-
wp_enqueue_script('wordpress_file_upload_classname_script');
|
27 |
$AdminParams = array("wfu_ajax_url" => site_url()."/wp-admin/admin-ajax.php");
|
28 |
wp_localize_script( 'wordpress_file_upload_admin_script', 'AdminParams', $AdminParams );
|
29 |
}
|
@@ -377,7 +389,7 @@ function wfu_manage_mainmenu($message = '') {
|
|
377 |
}
|
378 |
|
379 |
function wfu_generate_dashboard_menu($dlp, $active) {
|
380 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
381 |
$siteurl = site_url();
|
382 |
|
383 |
$echo_str = $dlp.'<h2 class="nav-tab-wrapper" style="margin-bottom:40px;">';
|
@@ -704,7 +716,7 @@ function wfu_delete_shortcode($data) {
|
|
704 |
}
|
705 |
|
706 |
function wfu_media_editor_properties() {
|
707 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
708 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
709 |
if ( $plugin_options["mediacustom"] != "1" ) return;
|
710 |
|
2 |
|
3 |
function wordpress_file_upload_admin_init() {
|
4 |
$uri = $_SERVER['REQUEST_URI'];
|
|
|
5 |
$is_admin = current_user_can( 'manage_options' );
|
6 |
if ( is_admin() && ( ( $is_admin && strpos($uri, "options-general.php") !== false ) ) ) {
|
7 |
+
//apply wfu_before_admin_scripts to get additional settings
|
8 |
+
$changable_data = array();
|
9 |
+
$ret_data = apply_filters('wfu_before_admin_scripts', $changable_data);
|
10 |
+
//if $ret_data contains 'return_value' key then no scripts will be
|
11 |
+
//registered
|
12 |
+
if ( isset($ret_data['return_value']) ) return $ret_data['return_value'];
|
13 |
+
//continue with script and style registering
|
14 |
wp_register_style('wordpress-file-upload-admin-style', WPFILEUPLOAD_DIR.'css/wordpress_file_upload_adminstyle.css',false,'1.0','all');
|
15 |
wp_register_script('wordpress_file_upload_admin_script', WPFILEUPLOAD_DIR.'js/wordpress_file_upload_adminfunctions.js', array( 'wp-color-picker' ), false, true);
|
|
|
16 |
}
|
17 |
}
|
18 |
|
19 |
function wordpress_file_upload_add_admin_pages() {
|
20 |
+
$page_hook_suffix = false;
|
21 |
if ( current_user_can( 'manage_options' ) ) $page_hook_suffix = add_options_page('Wordpress File Upload', 'Wordpress File Upload', 'manage_options', 'wordpress_file_upload', 'wordpress_file_upload_manage_dashboard');
|
22 |
if ( $page_hook_suffix !== false ) add_action('admin_print_scripts-'.$page_hook_suffix, 'wfu_enqueue_admin_scripts');
|
23 |
}
|
26 |
$uri = $_SERVER['REQUEST_URI'];
|
27 |
$is_admin = current_user_can( 'manage_options' );
|
28 |
if ( is_admin() && ( ( $is_admin && strpos($uri, "options-general.php") !== false ) ) ) {
|
29 |
+
//apply wfu_before_admin_scripts to get additional settings
|
30 |
+
$changable_data = array();
|
31 |
+
$ret_data = apply_filters('wfu_before_admin_scripts', $changable_data);
|
32 |
+
//if $ret_data contains 'return_value' key then no scripts will be
|
33 |
+
//enqueued
|
34 |
+
if ( isset($ret_data['return_value']) ) return $ret_data['return_value'];
|
35 |
+
//continue with script and style enqueuing
|
36 |
wp_enqueue_style('wordpress-file-upload-admin-style');
|
37 |
wp_enqueue_style( 'wp-color-picker' );
|
38 |
wp_enqueue_script('wordpress_file_upload_admin_script');
|
|
|
39 |
$AdminParams = array("wfu_ajax_url" => site_url()."/wp-admin/admin-ajax.php");
|
40 |
wp_localize_script( 'wordpress_file_upload_admin_script', 'AdminParams', $AdminParams );
|
41 |
}
|
389 |
}
|
390 |
|
391 |
function wfu_generate_dashboard_menu($dlp, $active) {
|
392 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
393 |
$siteurl = site_url();
|
394 |
|
395 |
$echo_str = $dlp.'<h2 class="nav-tab-wrapper" style="margin-bottom:40px;">';
|
716 |
}
|
717 |
|
718 |
function wfu_media_editor_properties() {
|
719 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
720 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
721 |
if ( $plugin_options["mediacustom"] != "1" ) return;
|
722 |
|
lib/wfu_admin_browser.php
CHANGED
@@ -87,6 +87,10 @@ function wfu_browse_files($basedir_code) {
|
|
87 |
$echo_str .= wfu_add_bulkactions_header("\n\t\t\t", "adminbrowser", $bulkactions);
|
88 |
$echo_str .= "\n\t\t\t".'<input id="wfu_adminbrowser_action_url" type="hidden" value="'.$siteurl.'/wp-admin/options-general.php?page=wordpress_file_upload" />';
|
89 |
$echo_str .= "\n\t\t\t".'<input id="wfu_adminbrowser_referer" type="hidden" value="'.$referer_code.'" />';
|
|
|
|
|
|
|
|
|
90 |
$echo_str .= "\n\t\t".'</div>';
|
91 |
$echo_str .= "\n\t\t".'<table class="wp-list-table widefat fixed striped">';
|
92 |
$echo_str .= "\n\t\t\t".'<thead>';
|
@@ -221,31 +225,36 @@ function wfu_browse_files($basedir_code) {
|
|
221 |
$echo_str .= "\n\t\t\t\t\t\t".'<a id="wfu_file_link_'.$ii.'" class="row-title" href="'.$siteurl.'/wp-admin/options-general.php?page=wordpress_file_upload&action=file_details&file='.$file_code.'" title="View and edit file details" style="font-weight:normal;'.( $is_included ? '' : ' display:none;' ).'">'.$file['name'].'</a>';
|
222 |
if ( !$is_included )
|
223 |
$echo_str .= "\n\t\t\t\t\t\t".'<span id="wfu_file_flat_'.$ii.'">'.$file['name'].'</span>';
|
|
|
|
|
|
|
|
|
|
|
224 |
$echo_str .= "\n\t\t\t\t\t\t".'<div id="wfu_file_actions_'.$ii.'" name="wfu_file_actions" style="visibility:hidden;">';
|
225 |
if ( $is_included || $can_be_included ) {
|
226 |
$echo_str .= "\n\t\t\t\t\t\t\t".'<div id="wfu_file_is_included_actions_'.$ii.'" style="display:'.( $is_included ? 'block' : 'none' ).';">';
|
227 |
-
|
228 |
-
$
|
229 |
-
$
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
$echo_str .= "\n\t\t\t\t\t\t\t\t\t".' | ';
|
238 |
-
$echo_str .= "\n\t\t\t\t\t\t\t\t".'</span>';
|
239 |
-
$echo_str .= "\n\t\t\t\t\t\t\t\t".'<span>';
|
240 |
-
$echo_str .= "\n\t\t\t\t\t\t\t\t\t".'<a href="javascript:wfu_download_file(\''.$file_code.'\', '.$ii.', \''.wp_create_nonce('wfu_download_file_invoker').'\');" title="Download this file">Download</a>';
|
241 |
-
$echo_str .= "\n\t\t\t\t\t\t\t\t".'</span>';
|
242 |
$echo_str .= "\n\t\t\t\t\t\t\t".'</div>';
|
243 |
$echo_str .= "\n\t\t\t\t\t\t\t".'<div id="wfu_file_can_be_included_actions_'.$ii.'" style="display:'.( $is_included ? 'none' : 'block' ).';">';
|
244 |
-
|
245 |
-
$
|
246 |
-
$
|
247 |
-
|
248 |
-
|
|
|
|
|
|
|
|
|
|
|
249 |
$echo_str .= "\n\t\t\t\t\t\t\t".'</div>';
|
250 |
}
|
251 |
else {
|
@@ -283,6 +292,31 @@ function wfu_browse_files($basedir_code) {
|
|
283 |
return $echo_str;
|
284 |
}
|
285 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
function wfu_user_owns_file($userid, $filerec) {
|
287 |
if ( 0 == $userid )
|
288 |
return false;
|
87 |
$echo_str .= wfu_add_bulkactions_header("\n\t\t\t", "adminbrowser", $bulkactions);
|
88 |
$echo_str .= "\n\t\t\t".'<input id="wfu_adminbrowser_action_url" type="hidden" value="'.$siteurl.'/wp-admin/options-general.php?page=wordpress_file_upload" />';
|
89 |
$echo_str .= "\n\t\t\t".'<input id="wfu_adminbrowser_referer" type="hidden" value="'.$referer_code.'" />';
|
90 |
+
$echo_str .= "\n\t\t\t".'<input id="wfu_download_file_nonce" type="hidden" value="'.wp_create_nonce('wfu_download_file_invoker').'" />';
|
91 |
+
$echo_str .= "\n\t\t\t".'<input id="wfu_include_file_nonce" type="hidden" value="'.wp_create_nonce('wfu_include_file').'" />';
|
92 |
+
//define header parameters that can be later used when defining file actions
|
93 |
+
$header_params = array();
|
94 |
$echo_str .= "\n\t\t".'</div>';
|
95 |
$echo_str .= "\n\t\t".'<table class="wp-list-table widefat fixed striped">';
|
96 |
$echo_str .= "\n\t\t\t".'<thead>';
|
225 |
$echo_str .= "\n\t\t\t\t\t\t".'<a id="wfu_file_link_'.$ii.'" class="row-title" href="'.$siteurl.'/wp-admin/options-general.php?page=wordpress_file_upload&action=file_details&file='.$file_code.'" title="View and edit file details" style="font-weight:normal;'.( $is_included ? '' : ' display:none;' ).'">'.$file['name'].'</a>';
|
226 |
if ( !$is_included )
|
227 |
$echo_str .= "\n\t\t\t\t\t\t".'<span id="wfu_file_flat_'.$ii.'">'.$file['name'].'</span>';
|
228 |
+
//set additional $file properties for generating file actions
|
229 |
+
$file["index"] = $ii;
|
230 |
+
$file["code"] = $file_code;
|
231 |
+
$file["referer_code"] = $referer_code;
|
232 |
+
$file_actions = wfu_adminbrowser_file_actions($file, $header_params);
|
233 |
$echo_str .= "\n\t\t\t\t\t\t".'<div id="wfu_file_actions_'.$ii.'" name="wfu_file_actions" style="visibility:hidden;">';
|
234 |
if ( $is_included || $can_be_included ) {
|
235 |
$echo_str .= "\n\t\t\t\t\t\t\t".'<div id="wfu_file_is_included_actions_'.$ii.'" style="display:'.( $is_included ? 'block' : 'none' ).';">';
|
236 |
+
//add file actions for files already included
|
237 |
+
$array_keys = array_keys($file_actions["is_included"]);
|
238 |
+
$lastkey = array_pop($array_keys);
|
239 |
+
foreach ( $file_actions["is_included"] as $key => $action ) {
|
240 |
+
$echo_str .= "\n\t\t\t\t\t\t\t\t".'<span>';
|
241 |
+
foreach ( $action as $line )
|
242 |
+
$echo_str .= "\n\t\t\t\t\t\t\t\t\t".$line;
|
243 |
+
if ( $key != $lastkey ) $echo_str .= "\n\t\t\t\t\t\t\t\t\t".' | ';
|
244 |
+
$echo_str .= "\n\t\t\t\t\t\t\t\t".'</span>';
|
245 |
+
}
|
|
|
|
|
|
|
|
|
|
|
246 |
$echo_str .= "\n\t\t\t\t\t\t\t".'</div>';
|
247 |
$echo_str .= "\n\t\t\t\t\t\t\t".'<div id="wfu_file_can_be_included_actions_'.$ii.'" style="display:'.( $is_included ? 'none' : 'block' ).';">';
|
248 |
+
//add file actions for files that can be included
|
249 |
+
$array_keys = array_keys($file_actions["can_be_included"]);
|
250 |
+
$lastkey = array_pop($array_keys);
|
251 |
+
foreach ( $file_actions["can_be_included"] as $key => $action ) {
|
252 |
+
$echo_str .= "\n\t\t\t\t\t\t\t\t".'<span>';
|
253 |
+
foreach ( $action as $line )
|
254 |
+
$echo_str .= "\n\t\t\t\t\t\t\t\t\t".$line;
|
255 |
+
if ( $key != $lastkey ) $echo_str .= "\n\t\t\t\t\t\t\t\t\t".' | ';
|
256 |
+
$echo_str .= "\n\t\t\t\t\t\t\t\t".'</span>';
|
257 |
+
}
|
258 |
$echo_str .= "\n\t\t\t\t\t\t\t".'</div>';
|
259 |
}
|
260 |
else {
|
292 |
return $echo_str;
|
293 |
}
|
294 |
|
295 |
+
function wfu_adminbrowser_file_actions($file, $params) {
|
296 |
+
$siteurl = site_url();
|
297 |
+
$actions = array(
|
298 |
+
"is_included" => array(),
|
299 |
+
"can_be_included" => array()
|
300 |
+
);
|
301 |
+
//add file actions if file is already included
|
302 |
+
$actions["is_included"] += array(
|
303 |
+
array( '<a href="'.$siteurl.'/wp-admin/options-general.php?page=wordpress_file_upload&action=file_details&file='.$file["code"].'" title="View and edit file details">Details</a>' ),
|
304 |
+
array( '<a href="'.$siteurl.'/wp-admin/options-general.php?page=wordpress_file_upload&action=rename_file&file='.$file["code"].'" title="Rename this file">Rename</a>' ),
|
305 |
+
array( '<a href="'.$siteurl.'/wp-admin/options-general.php?page=wordpress_file_upload&action=delete_file&file='.$file["code"].'&referer='.$file["referer_code"].'" title="Delete this file">Delete</a>' ),
|
306 |
+
array( '<a href="javascript:wfu_download_file(\''.$file["code"].'\', '.$file["index"].');" title="Download this file">Download</a>' )
|
307 |
+
);
|
308 |
+
//add file actions if file is already included
|
309 |
+
$actions["can_be_included"] += array(
|
310 |
+
array(
|
311 |
+
'<a id="wfu_include_file_'.$file["index"].'_a" href="javascript:wfu_include_file(\''.$file["code"].'\', '.$file["index"].');" title="Include file in plugin\'s database">Include File</a>',
|
312 |
+
'<img id="wfu_include_file_'.$file["index"].'_img" src="'.WFU_IMAGE_ADMIN_SUBFOLDER_LOADING.'" style="width:12px; display:none;" />',
|
313 |
+
'<input id="wfu_include_file_'.$file["index"].'_inpfail" type="hidden" value="File could not be included!" />'
|
314 |
+
)
|
315 |
+
);
|
316 |
+
|
317 |
+
return $actions;
|
318 |
+
}
|
319 |
+
|
320 |
function wfu_user_owns_file($userid, $filerec) {
|
321 |
if ( 0 == $userid )
|
322 |
return false;
|
lib/wfu_admin_log.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
function wfu_view_log($page = 1, $only_table_rows = false) {
|
4 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
5 |
global $wpdb;
|
6 |
$siteurl = site_url();
|
7 |
$table_name1 = $wpdb->prefix . "wfu_log";
|
1 |
<?php
|
2 |
|
3 |
function wfu_view_log($page = 1, $only_table_rows = false) {
|
4 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
5 |
global $wpdb;
|
6 |
$siteurl = site_url();
|
7 |
$table_name1 = $wpdb->prefix . "wfu_log";
|
lib/wfu_admin_maintenance.php
CHANGED
@@ -38,12 +38,14 @@ function wfu_maintenance_actions($message = '') {
|
|
38 |
$echo_str .= "\n\t\t".'</table>';
|
39 |
$echo_str .= "\n\t".'</div>';
|
40 |
//export actions
|
41 |
-
$echo_str .= "\n\t
|
|
|
42 |
$echo_str .= "\n\t\t".'<table class="form-table">';
|
43 |
$echo_str .= "\n\t\t\t".'<tbody>';
|
44 |
$echo_str .= "\n\t\t\t\t".'<tr>';
|
45 |
$echo_str .= "\n\t\t\t\t\t".'<th scope="row">';
|
46 |
-
$echo_str .= "\n\t\t\t\t\t\t".'<a href="javascript:wfu_download_file(\'exportdata\', 1
|
|
|
47 |
$echo_str .= "\n\t\t\t\t\t".'</th>';
|
48 |
$echo_str .= "\n\t\t\t\t\t".'<td>';
|
49 |
$echo_str .= "\n\t\t\t\t\t\t".'<label>Export uploaded valid file data, together with any userdata fields, to a comma-separated text file.</label>';
|
@@ -85,7 +87,7 @@ function wfu_clean_log_prompt() {
|
|
85 |
}
|
86 |
|
87 |
function wfu_clean_log() {
|
88 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
89 |
global $wpdb;
|
90 |
|
91 |
if ( !current_user_can( 'manage_options' ) ) return -1;
|
38 |
$echo_str .= "\n\t\t".'</table>';
|
39 |
$echo_str .= "\n\t".'</div>';
|
40 |
//export actions
|
41 |
+
$echo_str .= "\n\t".'<div style="margin-top:20px;">';
|
42 |
+
$echo_str .= "\n\t\t".'<h3 style="margin-bottom: 10px;">Export Actions</h3>';
|
43 |
$echo_str .= "\n\t\t".'<table class="form-table">';
|
44 |
$echo_str .= "\n\t\t\t".'<tbody>';
|
45 |
$echo_str .= "\n\t\t\t\t".'<tr>';
|
46 |
$echo_str .= "\n\t\t\t\t\t".'<th scope="row">';
|
47 |
+
$echo_str .= "\n\t\t\t\t\t\t".'<a href="javascript:wfu_download_file(\'exportdata\', 1);" class="button" title="Export uploaded file data">Export Uploaded File Data</a>';
|
48 |
+
$echo_str .= "\n\t\t\t\t\t\t".'<input id="wfu_download_file_nonce" type="hidden" value="'.wp_create_nonce('wfu_download_file_invoker').'" />';
|
49 |
$echo_str .= "\n\t\t\t\t\t".'</th>';
|
50 |
$echo_str .= "\n\t\t\t\t\t".'<td>';
|
51 |
$echo_str .= "\n\t\t\t\t\t\t".'<label>Export uploaded valid file data, together with any userdata fields, to a comma-separated text file.</label>';
|
87 |
}
|
88 |
|
89 |
function wfu_clean_log() {
|
90 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
91 |
global $wpdb;
|
92 |
|
93 |
if ( !current_user_can( 'manage_options' ) ) return -1;
|
lib/wfu_admin_settings.php
CHANGED
@@ -1,4 +1,63 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
function wfu_manage_settings($message = '') {
|
3 |
if ( !current_user_can( 'manage_options' ) ) return;
|
4 |
|
@@ -19,6 +78,13 @@ function wfu_manage_settings($message = '') {
|
|
19 |
$echo_str .= "\n\t\t\t\t".'<tbody>';
|
20 |
$echo_str .= "\n\t\t\t\t\t".'<tr>';
|
21 |
$echo_str .= "\n\t\t\t\t\t\t".'<th scope="row">';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
$echo_str .= "\n\t\t\t\t\t\t\t".'<label for="wfu_hashfiles">Hash Files</label>';
|
23 |
$echo_str .= "\n\t\t\t\t\t\t".'</th>';
|
24 |
$echo_str .= "\n\t\t\t\t\t\t".'<td>';
|
1 |
<?php
|
2 |
+
|
3 |
+
function wfu_settings_definitions() {
|
4 |
+
$settings = array(
|
5 |
+
"version" => array("number", "1.0"),
|
6 |
+
"shortcode" => array("string", ""),
|
7 |
+
"hashfiles" => array("number", ""),
|
8 |
+
"basedir" => array("string", ""),
|
9 |
+
"postmethod" => array("number", ""),
|
10 |
+
"modsecurity" => array("number", ""),
|
11 |
+
"relaxcss" => array("number", ""),
|
12 |
+
"admindomain" => array("number", ""),
|
13 |
+
"mediacustom" => array("number", ""),
|
14 |
+
"includeotherfiles" => array("number", ""),
|
15 |
+
"altserver" => array("number", ""),
|
16 |
+
"captcha_sitekey" => array("string", ""),
|
17 |
+
"captcha_secretkey" => array("string", ""),
|
18 |
+
"browser_permissions" => array("array", "")
|
19 |
+
);
|
20 |
+
$settings = apply_filters("_wfu_settings_definitions", $settings);
|
21 |
+
|
22 |
+
return $settings;
|
23 |
+
}
|
24 |
+
|
25 |
+
|
26 |
+
function wfu_encode_plugin_options($plugin_options) {
|
27 |
+
$settings = wfu_settings_definitions();
|
28 |
+
$encoded_options = array();
|
29 |
+
foreach ( $settings as $setting => $data ) {
|
30 |
+
$encoded = $setting."=";
|
31 |
+
if ( !isset($plugin_options[$setting]) ) $encoded .= $data[1];
|
32 |
+
elseif ( $data[0] == "string" ) $encoded .= wfu_plugin_encode_string($plugin_options[$setting]);
|
33 |
+
elseif ( $data[0] == "array" ) $encoded .= wfu_encode_array_to_string($plugin_options[$setting]);
|
34 |
+
else $encoded .= $plugin_options[$setting];
|
35 |
+
array_push($encoded_options, $encoded);
|
36 |
+
}
|
37 |
+
|
38 |
+
return implode(";", $encoded_options);
|
39 |
+
}
|
40 |
+
|
41 |
+
function wfu_decode_plugin_options($encoded_options) {
|
42 |
+
$settings = wfu_settings_definitions();
|
43 |
+
foreach ( $settings as $setting => $data )
|
44 |
+
$plugin_options[$setting] = $data[1];
|
45 |
+
|
46 |
+
$decoded_array = explode(';', $encoded_options);
|
47 |
+
foreach ($decoded_array as $decoded_item) {
|
48 |
+
if ( trim($decoded_item) != "" ) {
|
49 |
+
list($item_key, $item_value) = explode("=", $decoded_item, 2);
|
50 |
+
if ( isset($settings[$item_key]) ) {
|
51 |
+
if ( $settings[$item_key][0] == "string" ) $plugin_options[$item_key] = wfu_plugin_decode_string($item_value);
|
52 |
+
elseif ( $settings[$item_key][0] == "array" ) $plugin_options[$item_key] = wfu_decode_array_from_string($item_value);
|
53 |
+
else $plugin_options[$item_key] = $item_value;
|
54 |
+
}
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
return $plugin_options;
|
59 |
+
}
|
60 |
+
|
61 |
function wfu_manage_settings($message = '') {
|
62 |
if ( !current_user_can( 'manage_options' ) ) return;
|
63 |
|
78 |
$echo_str .= "\n\t\t\t\t".'<tbody>';
|
79 |
$echo_str .= "\n\t\t\t\t\t".'<tr>';
|
80 |
$echo_str .= "\n\t\t\t\t\t\t".'<th scope="row">';
|
81 |
+
$echo_str .= "\n\t\t\t\t\t\t\t".'<h3>General Settings</h3>';
|
82 |
+
$echo_str .= "\n\t\t\t\t\t\t".'</th>';
|
83 |
+
$echo_str .= "\n\t\t\t\t\t\t".'<td>';
|
84 |
+
$echo_str .= "\n\t\t\t\t\t\t".'</td>';
|
85 |
+
$echo_str .= "\n\t\t\t\t\t".'</tr>';
|
86 |
+
$echo_str .= "\n\t\t\t\t\t".'<tr>';
|
87 |
+
$echo_str .= "\n\t\t\t\t\t\t".'<th scope="row">';
|
88 |
$echo_str .= "\n\t\t\t\t\t\t\t".'<label for="wfu_hashfiles">Hash Files</label>';
|
89 |
$echo_str .= "\n\t\t\t\t\t\t".'</th>';
|
90 |
$echo_str .= "\n\t\t\t\t\t\t".'<td>';
|
lib/wfu_ajaxactions.php
CHANGED
@@ -10,7 +10,7 @@ function wfu_ajax_action_send_email_notification() {
|
|
10 |
$params_index = sanitize_text_field($_POST['params_index']);
|
11 |
$session_token = sanitize_text_field($_POST['session_token']);
|
12 |
|
13 |
-
$arr = wfu_get_params_fields_from_index($params_index);
|
14 |
//check referer using server sessions to avoid CSRF attacks
|
15 |
$sid = $arr['shortcode_id'];
|
16 |
if ( $_SESSION["wfu_token_".$sid] != $session_token ) die();
|
@@ -213,7 +213,7 @@ function wfu_ajax_action_callback() {
|
|
213 |
if ( $params_index == "" ) die();
|
214 |
|
215 |
$user = wp_get_current_user();
|
216 |
-
$arr = wfu_get_params_fields_from_index($params_index);
|
217 |
$sid = $arr['shortcode_id'];
|
218 |
//check referrer using server sessions to avoid CSRF attacks
|
219 |
if ( $_SESSION["wfu_token_".$sid] != $session_token ) {
|
@@ -661,7 +661,7 @@ function wfu_ajax_action_notify_wpfilebase() {
|
|
661 |
$params_index = sanitize_text_field($params_index);
|
662 |
$session_token = sanitize_text_field($session_token);
|
663 |
|
664 |
-
$arr = wfu_get_params_fields_from_index($params_index);
|
665 |
//check referer using server sessions to avoid CSRF attacks
|
666 |
if ( $_SESSION["wfu_token_".$arr['shortcode_id']] != $session_token ) die();
|
667 |
|
10 |
$params_index = sanitize_text_field($_POST['params_index']);
|
11 |
$session_token = sanitize_text_field($_POST['session_token']);
|
12 |
|
13 |
+
$arr = wfu_get_params_fields_from_index($params_index, $session_token);
|
14 |
//check referer using server sessions to avoid CSRF attacks
|
15 |
$sid = $arr['shortcode_id'];
|
16 |
if ( $_SESSION["wfu_token_".$sid] != $session_token ) die();
|
213 |
if ( $params_index == "" ) die();
|
214 |
|
215 |
$user = wp_get_current_user();
|
216 |
+
$arr = wfu_get_params_fields_from_index($params_index, $session_token);
|
217 |
$sid = $arr['shortcode_id'];
|
218 |
//check referrer using server sessions to avoid CSRF attacks
|
219 |
if ( $_SESSION["wfu_token_".$sid] != $session_token ) {
|
661 |
$params_index = sanitize_text_field($params_index);
|
662 |
$session_token = sanitize_text_field($session_token);
|
663 |
|
664 |
+
$arr = wfu_get_params_fields_from_index($params_index, $session_token);
|
665 |
//check referer using server sessions to avoid CSRF attacks
|
666 |
if ( $_SESSION["wfu_token_".$arr['shortcode_id']] != $session_token ) die();
|
667 |
|
lib/wfu_attributes.php
CHANGED
@@ -1663,6 +1663,7 @@ function wfu_attribute_definitions() {
|
|
1663 |
);
|
1664 |
|
1665 |
wfu_array_remove_nulls($defs);
|
|
|
1666 |
|
1667 |
return $defs;
|
1668 |
}
|
1663 |
);
|
1664 |
|
1665 |
wfu_array_remove_nulls($defs);
|
1666 |
+
|
1667 |
|
1668 |
return $defs;
|
1669 |
}
|
lib/wfu_blocks.php
CHANGED
@@ -1,5 +1,23 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
/* Prepare the visual editor button */
|
4 |
function wfu_prepare_visualeditorbutton_block($params, $additional_params, $occurrence_index) {
|
5 |
if ( isset($params["uploadid"]) ) {
|
1 |
<?php
|
2 |
|
3 |
+
/* Prepare the uploadform generic element */
|
4 |
+
function wfu_prepare_base_block($params, $additional_params, $occurrence_index) {
|
5 |
+
//prepare data for template
|
6 |
+
$data["ID"] = $params["uploadid"];
|
7 |
+
$data["responsive"] = ( $params["fitmode"] == "responsive" );
|
8 |
+
$data["testmode"] = ( $params["testmode"] == "true" );
|
9 |
+
$data["params"] = $params;
|
10 |
+
|
11 |
+
$base_item["title"] = '';
|
12 |
+
$base_item["hidden"] = false;
|
13 |
+
$base_item["width"] = "";
|
14 |
+
$base_item["object"] = "GlobalData.WFU[".$data["ID"]."].base";
|
15 |
+
//read html output from template
|
16 |
+
$base_item += wfu_read_template_output("base", $data);
|
17 |
+
|
18 |
+
return $base_item;
|
19 |
+
}
|
20 |
+
|
21 |
/* Prepare the visual editor button */
|
22 |
function wfu_prepare_visualeditorbutton_block($params, $additional_params, $occurrence_index) {
|
23 |
if ( isset($params["uploadid"]) ) {
|
lib/wfu_constants.php
CHANGED
@@ -292,6 +292,7 @@ $GLOBALS["WFU_GLOBALS"] += array(
|
|
292 |
"WFU_DOS_ATTACKS_TIME_INTERVAL" => array( "Denial-Of-Service Time Interval", "integer", 3600, "Defines the time interval for DOS attacks check. The time interval is given in seconds." ),
|
293 |
"WFU_DOS_ATTACKS_ADMIN_EMAIL_FREQUENCY" => array( "Denial-Of-Service Admin Email Frequency", "integer", 3600, "Defines how frequently an email will be sent to administrator notifying for Denial-Of-Service attacks. The time interval is given in seconds." ),
|
294 |
"WFU_SANITIZE_FILENAME_MODE" => array( "Filename Sanitization Mode", "string", "strict", "The sanitization mode for filenames. It can be 'strict' or 'loose'." ),
|
|
|
295 |
"WFU_WILDCARD_ASTERISK_MODE" => array( "Wildcard Asterisk Mode", "string", "strict", "The mode of wildcard pattern asterisk symbol. If it is strict, then the asterisk will not match dot (.) characters. It can be 'strict' or 'loose'." ),
|
296 |
"WFU_PHP_ARRAY_MAXLEN" => array( "Max PHP Array Length", "string", "10000", "The maximum allowable number of items of a PHP array." ),
|
297 |
"WFU_HISTORYLOG_TABLE_MAXROWS" => array( "History Log Table Rows Per Page", "integer", 25, "The number of rows per page of the History Log table." ),
|
292 |
"WFU_DOS_ATTACKS_TIME_INTERVAL" => array( "Denial-Of-Service Time Interval", "integer", 3600, "Defines the time interval for DOS attacks check. The time interval is given in seconds." ),
|
293 |
"WFU_DOS_ATTACKS_ADMIN_EMAIL_FREQUENCY" => array( "Denial-Of-Service Admin Email Frequency", "integer", 3600, "Defines how frequently an email will be sent to administrator notifying for Denial-Of-Service attacks. The time interval is given in seconds." ),
|
294 |
"WFU_SANITIZE_FILENAME_MODE" => array( "Filename Sanitization Mode", "string", "strict", "The sanitization mode for filenames. It can be 'strict' or 'loose'." ),
|
295 |
+
"WFU_SANITIZE_FILENAME_DOTS" => array( "Sanitize Filename Dots", "string", "true", "Convert dot symbols (.) in filename into dashes, in order to avoid double extensions. It can be 'true' or 'false'." ),
|
296 |
"WFU_WILDCARD_ASTERISK_MODE" => array( "Wildcard Asterisk Mode", "string", "strict", "The mode of wildcard pattern asterisk symbol. If it is strict, then the asterisk will not match dot (.) characters. It can be 'strict' or 'loose'." ),
|
297 |
"WFU_PHP_ARRAY_MAXLEN" => array( "Max PHP Array Length", "string", "10000", "The maximum allowable number of items of a PHP array." ),
|
298 |
"WFU_HISTORYLOG_TABLE_MAXROWS" => array( "History Log Table Rows Per Page", "integer", 25, "The number of rows per page of the History Log table." ),
|
lib/wfu_functions.php
CHANGED
@@ -8,8 +8,8 @@
|
|
8 |
* This is a very powerful function that enables almost all plugin functions to
|
9 |
* be redeclared. In order to make a function redeclarable we just put the
|
10 |
* following code at the top of its function block:
|
11 |
-
* switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
12 |
-
* : break; case 'R': return $out; break; case 'D': die($out); break; }
|
13 |
* Then the function can be hooked through the filter wfu_debug-{__FUNCTION__}.
|
14 |
* The hook function takes the same parameters as the original function, plus
|
15 |
* one, which comes first and determines the behaviour of the hook function.
|
@@ -54,12 +54,18 @@ function WFU_FUNCTION_HOOK($function, $args, &$out) {
|
|
54 |
|
55 |
//********************* String Functions ***************************************************************************************************
|
56 |
|
57 |
-
function wfu_upload_plugin_clean($
|
58 |
-
$clean = sanitize_file_name($
|
59 |
if ( WFU_VAR("WFU_SANITIZE_FILENAME_MODE") != "loose" ) {
|
60 |
-
$
|
|
|
|
|
|
|
|
|
61 |
$replace = array ( '-' );
|
62 |
-
$
|
|
|
|
|
63 |
}
|
64 |
|
65 |
return $clean;
|
@@ -84,7 +90,7 @@ function wfu_upload_plugin_wildcard_to_preg($pattern, $strict = false) {
|
|
84 |
}
|
85 |
|
86 |
function wfu_upload_plugin_wildcard_to_mysqlregexp($pattern) {
|
87 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
88 |
if ( substr($pattern, 0, 6) == "regex:" ) return str_replace("\\", "\\\\", substr($pattern, 6));
|
89 |
else return str_replace("\\", "\\\\", '^'.str_replace(array('\*', '\?', '\[', '\]'), array('.*', '.', '[', ']'), preg_quote($pattern)).'$');
|
90 |
}
|
@@ -430,10 +436,48 @@ function wfu_PHP_array_to_JS_object($arr) {
|
|
430 |
return ( $ret == "" ? "{ }" : "{ $ret }" );
|
431 |
}
|
432 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
433 |
//********************* Plugin Options Functions *******************************************************************************************
|
434 |
|
435 |
function wfu_get_server_environment() {
|
436 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
437 |
$php_env = '';
|
438 |
if ( PHP_INT_SIZE == 4 ) $php_env = '32bit';
|
439 |
elseif ( PHP_INT_SIZE == 8 ) $php_env = '64bit';
|
@@ -448,64 +492,11 @@ function wfu_get_server_environment() {
|
|
448 |
}
|
449 |
|
450 |
function wfu_ajaxurl() {
|
451 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
452 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
453 |
return ( $plugin_options['admindomain'] == 'siteurl' || $plugin_options['admindomain'] == '' ? site_url("wp-admin/admin-ajax.php") : ( $plugin_options['admindomain'] == 'adminurl' ? admin_url("admin-ajax.php") : home_url("wp-admin/admin-ajax.php") ) );
|
454 |
}
|
455 |
|
456 |
-
function wfu_encode_plugin_options($plugin_options) {
|
457 |
-
$encoded_options = 'version='.( isset($plugin_options['version']) ? $plugin_options['version'] : "1.0" ).';';
|
458 |
-
$encoded_options .= 'shortcode='.( isset($plugin_options['shortcode']) ? wfu_plugin_encode_string($plugin_options['shortcode']) : "" ).';';
|
459 |
-
$encoded_options .= 'hashfiles='.( isset($plugin_options['hashfiles']) ? $plugin_options['hashfiles'] : "" ).';';
|
460 |
-
$encoded_options .= 'basedir='.( isset($plugin_options['basedir']) ? wfu_plugin_encode_string($plugin_options['basedir']) : "" ).';';
|
461 |
-
$encoded_options .= 'postmethod='.( isset($plugin_options['postmethod']) ? $plugin_options['postmethod'] : "" ).';';
|
462 |
-
$encoded_options .= 'modsecurity='.( isset($plugin_options['modsecurity']) ? $plugin_options['modsecurity'] : "" ).';';
|
463 |
-
$encoded_options .= 'relaxcss='.( isset($plugin_options['relaxcss']) ? $plugin_options['relaxcss'] : "" ).';';
|
464 |
-
$encoded_options .= 'admindomain='.( isset($plugin_options['admindomain']) ? $plugin_options['admindomain'] : "" ).';';
|
465 |
-
$encoded_options .= 'mediacustom='.( isset($plugin_options['mediacustom']) ? $plugin_options['mediacustom'] : "" ).';';
|
466 |
-
$encoded_options .= 'includeotherfiles='.( isset($plugin_options['includeotherfiles']) ? $plugin_options['includeotherfiles'] : "" ).';';
|
467 |
-
$encoded_options .= 'altserver='.( isset($plugin_options['altserver']) ? $plugin_options['altserver'] : "" ).';';
|
468 |
-
$encoded_options .= 'captcha_sitekey='.( isset($plugin_options['captcha_sitekey']) ? wfu_plugin_encode_string($plugin_options['captcha_sitekey']) : "" ).';';
|
469 |
-
$encoded_options .= 'captcha_secretkey='.( isset($plugin_options['captcha_secretkey']) ? wfu_plugin_encode_string($plugin_options['captcha_secretkey']) : "" ).';';
|
470 |
-
$encoded_options .= 'dropbox_accesstoken='.( isset($plugin_options['dropbox_accesstoken']) ? wfu_plugin_encode_string($plugin_options['dropbox_accesstoken']) : "" ).';';
|
471 |
-
$encoded_options .= 'dropbox_defaultpath='.( isset($plugin_options['dropbox_defaultpath']) ? wfu_plugin_encode_string($plugin_options['dropbox_defaultpath']) : "" ).';';
|
472 |
-
$encoded_options .= 'browser_permissions='.( isset($plugin_options['browser_permissions']) ? wfu_encode_array_to_string($plugin_options['browser_permissions']) : "" );
|
473 |
-
return $encoded_options;
|
474 |
-
}
|
475 |
-
|
476 |
-
function wfu_decode_plugin_options($encoded_options) {
|
477 |
-
$plugin_options['version'] = "1.0";
|
478 |
-
$plugin_options['shortcode'] = "";
|
479 |
-
$plugin_options['hashfiles'] = "";
|
480 |
-
$plugin_options['basedir'] = "";
|
481 |
-
$plugin_options['postmethod'] = "";
|
482 |
-
$plugin_options['modsecurity'] = "";
|
483 |
-
$plugin_options['relaxcss'] = "";
|
484 |
-
$plugin_options['admindomain'] = "";
|
485 |
-
$plugin_options['mediacustom'] = "";
|
486 |
-
$plugin_options['includeotherfiles'] = "";
|
487 |
-
$plugin_options['altserver'] = "";
|
488 |
-
$plugin_options['captcha_sitekey'] = "";
|
489 |
-
$plugin_options['captcha_secretkey'] = "";
|
490 |
-
$plugin_options['dropbox_accesstoken'] = "";
|
491 |
-
$plugin_options['dropbox_defaultpath'] = "";
|
492 |
-
$plugin_options['browser_permissions'] = "";
|
493 |
-
|
494 |
-
$decoded_array = explode(';', $encoded_options);
|
495 |
-
foreach ($decoded_array as $decoded_item) {
|
496 |
-
if ( trim($decoded_item) != "" ) {
|
497 |
-
list($item_key, $item_value) = explode("=", $decoded_item, 2);
|
498 |
-
if ( $item_key == 'shortcode' || $item_key == 'basedir' || $item_key == 'captcha_sitekey' || $item_key == 'captcha_secretkey' || $item_key == 'dropbox_accesstoken' || $item_key == 'dropbox_defaultpath' )
|
499 |
-
$plugin_options[$item_key] = wfu_plugin_decode_string($item_value);
|
500 |
-
elseif ( $item_key == 'browser_permissions' )
|
501 |
-
$plugin_options[$item_key] = wfu_decode_array_from_string($item_value);
|
502 |
-
else
|
503 |
-
$plugin_options[$item_key] = $item_value;
|
504 |
-
}
|
505 |
-
}
|
506 |
-
return $plugin_options;
|
507 |
-
}
|
508 |
-
|
509 |
function WFU_VAR($varname) {
|
510 |
if ( !isset($GLOBALS["WFU_GLOBALS"][$varname]) ) return false;
|
511 |
if ( $GLOBALS["WFU_GLOBALS"][$varname][5] ) return $GLOBALS["WFU_GLOBALS"][$varname][3];
|
@@ -519,7 +510,7 @@ function wfu_get_plugin_version() {
|
|
519 |
}
|
520 |
|
521 |
function wfu_get_latest_version() {
|
522 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
523 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
524 |
$postfields = array();
|
525 |
$postfields['action'] = 'wfuca_check_latest_version_free';
|
@@ -696,7 +687,7 @@ function wfu_getTree($dir) {
|
|
696 |
return $tree;
|
697 |
}
|
698 |
function wfu_parse_folderlist($subfoldertree) {
|
699 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
700 |
$ret['path'] = array();
|
701 |
$ret['label'] = array();
|
702 |
$ret['level'] = array();
|
@@ -1390,7 +1381,7 @@ function wfu_reassign_hashes() {
|
|
1390 |
|
1391 |
//update database to reflect the current status of files
|
1392 |
function wfu_sync_database() {
|
1393 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
1394 |
global $wpdb;
|
1395 |
$table_name1 = $wpdb->prefix . "wfu_log";
|
1396 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
@@ -1474,7 +1465,7 @@ function wfu_get_recs_of_user($userid) {
|
|
1474 |
}
|
1475 |
|
1476 |
function wfu_get_filtered_recs($filter) {
|
1477 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
1478 |
global $wpdb;
|
1479 |
$table_name1 = $wpdb->prefix . "wfu_log";
|
1480 |
$table_name2 = $wpdb->prefix . "wfu_userdata";
|
@@ -1606,7 +1597,7 @@ function wfu_update_option($option, $value) {
|
|
1606 |
}
|
1607 |
|
1608 |
function wfu_export_uploaded_files($params) {
|
1609 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
1610 |
global $wpdb;
|
1611 |
$table_name1 = $wpdb->prefix . "wfu_log";
|
1612 |
$table_name2 = $wpdb->prefix . "wfu_userdata";
|
@@ -1747,17 +1738,33 @@ function wfu_generate_current_params_index($shortcode_id, $user_login) {
|
|
1747 |
return $cur_index_rand;
|
1748 |
}
|
1749 |
|
1750 |
-
function wfu_get_params_fields_from_index($params_index) {
|
1751 |
$fields = array();
|
1752 |
$index_str = get_option('wfu_params_index');
|
1753 |
$index = explode("&&", $index_str);
|
1754 |
$index_match = preg_grep("/^".$params_index."/", $index);
|
1755 |
-
if ( count($index_match)
|
1756 |
foreach ( $index_match as $key => $value )
|
1757 |
if ( $value == "" ) unset($index_match[$key]);
|
1758 |
if ( count($index_match) > 0 ) {
|
1759 |
-
|
1760 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1761 |
}
|
1762 |
return $fields;
|
1763 |
}
|
@@ -1827,41 +1834,41 @@ function wfu_placements_remove_item($placements, $item) {
|
|
1827 |
//********************* Plugin Design Functions ********************************************************************************************
|
1828 |
|
1829 |
function wfu_get_uploader_template($templatename = "") {
|
1830 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
1831 |
if ($templatename != "") {
|
1832 |
$classname = "WFU_UploaderTemplate_$templatename";
|
1833 |
if ( class_exists($classname) )
|
1834 |
-
return $classname
|
1835 |
$filepath = ABSWPFILEUPLOAD_DIR."templates/uploader-$templatename.php";
|
1836 |
if ( file_exists($filepath) ) {
|
1837 |
include_once $filepath;
|
1838 |
$classname = "WFU_UploaderTemplate_$templatename";
|
1839 |
if ( class_exists($classname) )
|
1840 |
-
return $classname
|
1841 |
}
|
1842 |
}
|
1843 |
return WFU_Original_Template::get_instance();
|
1844 |
}
|
1845 |
|
1846 |
function wfu_get_browser_template($templatename = "") {
|
1847 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
1848 |
if ($templatename != "") {
|
1849 |
$classname = "WFU_BrowserTemplate_$templatename";
|
1850 |
if ( class_exists($classname) )
|
1851 |
-
return $classname
|
1852 |
$filepath = ABSWPFILEUPLOAD_DIR."templates/browser-$templatename.php";
|
1853 |
if ( file_exists($filepath) ) {
|
1854 |
include_once $filepath;
|
1855 |
$classname = "WFU_BrowserTemplate_$templatename";
|
1856 |
if ( class_exists($classname) )
|
1857 |
-
return $classname
|
1858 |
}
|
1859 |
}
|
1860 |
return WFU_Original_Template::get_instance();
|
1861 |
}
|
1862 |
|
1863 |
function wfu_add_div() {
|
1864 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
1865 |
$items_count = func_num_args();
|
1866 |
if ( $items_count == 0 ) return "";
|
1867 |
$items_raw = func_get_args();
|
@@ -1939,7 +1946,7 @@ function wfu_extract_css_js_from_components($section_array, &$css, &$js) {
|
|
1939 |
}
|
1940 |
|
1941 |
function wfu_add_loading_overlay($dlp, $code) {
|
1942 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
1943 |
$echo_str = $dlp.'<div id="wfu_'.$code.'_overlay" style="margin:0; padding: 0; width:100%; height:100%; position:absolute; left:0; top:0; border:none; background:none; display:none;">';
|
1944 |
$echo_str .= $dlp."\t".'<div style="margin:0; padding: 0; width:100%; height:100%; position:absolute; left:0; top:0; border:none; background-color:rgba(255,255,255,0.8); z-index:1;""></div>';
|
1945 |
$echo_str .= $dlp."\t".'<table style="margin:0; padding: 0; table-layout:fixed; width:100%; height:100%; position:absolute; left:0; top:0; border:none; background:none; z-index:2;"><tbody><tr><td align="center" style="border:none;">';
|
@@ -1951,7 +1958,7 @@ function wfu_add_loading_overlay($dlp, $code) {
|
|
1951 |
}
|
1952 |
|
1953 |
function wfu_add_pagination_header($dlp, $code, $curpage, $pages, $nonce = false) {
|
1954 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
1955 |
if ($nonce === false) $nonce = wp_create_nonce( 'wfu-'.$code.'-page' );
|
1956 |
$echo_str = $dlp.'<div style="float:right;">';
|
1957 |
$echo_str .= $dlp."\t".'<label id="wfu_'.$code.'_first_disabled" style="margin:0 4px; font-weight:bold; opacity:0.5; cursor:default; display:'.( $curpage == 1 ? 'inline' : 'none' ).';"><<</label>';
|
@@ -1974,7 +1981,7 @@ function wfu_add_pagination_header($dlp, $code, $curpage, $pages, $nonce = false
|
|
1974 |
}
|
1975 |
|
1976 |
function wfu_add_bulkactions_header($dlp, $code, $actions) {
|
1977 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
1978 |
$echo_str = $dlp.'<div style="float:left;">';
|
1979 |
$echo_str .= $dlp."\t".'<select id="wfu_'.$code.'_bulkactions">';
|
1980 |
$echo_str .= $dlp."\t\t".'<option value="" selected="selected">'.( substr($code, 0, 8) == "browser_" ? WFU_BROWSER_BULKACTION_TITLE : "Bulk Actions").'</option>';
|
@@ -1999,7 +2006,7 @@ function wfu_prepare_message_colors($template) {
|
|
1999 |
//********************* Email Functions ****************************************************************************************************
|
2000 |
|
2001 |
function wfu_send_notification_email($user, $uploaded_file_paths, $userdata_fields, $params) {
|
2002 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
2003 |
global $blog_id;
|
2004 |
|
2005 |
//create necessary variables
|
@@ -2073,7 +2080,7 @@ function wfu_send_notification_email($user, $uploaded_file_paths, $userdata_fiel
|
|
2073 |
}
|
2074 |
|
2075 |
function wfu_notify_admin($subject, $message) {
|
2076 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
2077 |
$admin_email = get_option("admin_email");
|
2078 |
if ( $admin_email === false ) return;
|
2079 |
wp_mail($admin_email, $subject, $message);
|
@@ -2083,7 +2090,7 @@ function wfu_notify_admin($subject, $message) {
|
|
2083 |
|
2084 |
// function wfu_process_media_insert contribution from Aaron Olin with some corrections regarding the upload path
|
2085 |
function wfu_process_media_insert($file_path, $userdata_fields, $page_id){
|
2086 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
2087 |
$wp_upload_dir = wp_upload_dir();
|
2088 |
$filetype = wp_check_filetype( wfu_basename( $file_path ), null );
|
2089 |
|
@@ -2225,7 +2232,7 @@ function wfu_get_browser_params_from_safe($code) {
|
|
2225 |
//********************* POST/GET Requests Functions ****************************************************************************************************
|
2226 |
|
2227 |
function wfu_decode_socket_response($response) {
|
2228 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
2229 |
$ret = "";
|
2230 |
if (0 === strpos($response, 'HTTP/1.1 200 OK')) {
|
2231 |
$parts = preg_split("#\n\s*\n#Uis", $response);
|
@@ -2249,7 +2256,7 @@ function wfu_decode_socket_response($response) {
|
|
2249 |
}
|
2250 |
|
2251 |
function wfu_post_request($url, $params, $verifypeer = false, $internal_request = false, $timeout = 0) {
|
2252 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
2253 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
2254 |
if ( isset($plugin_options['postmethod']) && $plugin_options['postmethod'] == 'curl' ) {
|
2255 |
// POST request using CURL
|
8 |
* This is a very powerful function that enables almost all plugin functions to
|
9 |
* be redeclared. In order to make a function redeclarable we just put the
|
10 |
* following code at the top of its function block:
|
11 |
+
* $a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) {
|
12 |
+
* case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
13 |
* Then the function can be hooked through the filter wfu_debug-{__FUNCTION__}.
|
14 |
* The hook function takes the same parameters as the original function, plus
|
15 |
* one, which comes first and determines the behaviour of the hook function.
|
54 |
|
55 |
//********************* String Functions ***************************************************************************************************
|
56 |
|
57 |
+
function wfu_upload_plugin_clean($filename) {
|
58 |
+
$clean = sanitize_file_name($filename);
|
59 |
if ( WFU_VAR("WFU_SANITIZE_FILENAME_MODE") != "loose" ) {
|
60 |
+
$name = wfu_filename($clean);
|
61 |
+
$ext = wfu_fileext($clean);
|
62 |
+
if ( WFU_VAR("WFU_SANITIZE_FILENAME_DOTS") == "true" ) $name_search = array ( '@[^a-zA-Z0-9_]@' );
|
63 |
+
else $name_search = array ( '@[^a-zA-Z0-9._]@' );
|
64 |
+
$ext_search = array ( '@[^a-zA-Z0-9._]@' );
|
65 |
$replace = array ( '-' );
|
66 |
+
$clean_name = preg_replace($name_search, $replace, remove_accents($name));
|
67 |
+
$clean_ext = preg_replace($ext_search, $replace, remove_accents($ext));
|
68 |
+
$clean = $clean_name.".".$clean_ext;
|
69 |
}
|
70 |
|
71 |
return $clean;
|
90 |
}
|
91 |
|
92 |
function wfu_upload_plugin_wildcard_to_mysqlregexp($pattern) {
|
93 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
94 |
if ( substr($pattern, 0, 6) == "regex:" ) return str_replace("\\", "\\\\", substr($pattern, 6));
|
95 |
else return str_replace("\\", "\\\\", '^'.str_replace(array('\*', '\?', '\[', '\]'), array('.*', '.', '[', ']'), preg_quote($pattern)).'$');
|
96 |
}
|
436 |
return ( $ret == "" ? "{ }" : "{ $ret }" );
|
437 |
}
|
438 |
|
439 |
+
//********************* Shortcode Attribute Functions **************************************************************************************
|
440 |
+
|
441 |
+
function wfu_insert_category($categories, $before_category, $new_category) {
|
442 |
+
if ( $before_category == "" ) $index = count($categories);
|
443 |
+
else {
|
444 |
+
$index = array_search($before_category, array_keys($categories));
|
445 |
+
if ( $index === false ) $index = count($categories);
|
446 |
+
}
|
447 |
+
|
448 |
+
return array_merge(array_slice($categories, 0, $index), $new_category, array_slice($categories, $index));
|
449 |
+
}
|
450 |
+
|
451 |
+
function wfu_insert_attributes($attributes, $in_category, $in_subcategory, $position, $new_attributes) {
|
452 |
+
$index = -1;
|
453 |
+
if ( $in_category == "" ) {
|
454 |
+
if ( $position == "first" ) $index = 0;
|
455 |
+
elseif ( $position == "last" ) $index = count($attributes);
|
456 |
+
}
|
457 |
+
else {
|
458 |
+
foreach ( $attributes as $pos => $attribute ) {
|
459 |
+
$match = ( $attribute["category"] == $in_category );
|
460 |
+
if ( $in_subcategory != "" ) $match = $match && ( $attribute["subcategory"] == $in_subcategory );
|
461 |
+
if ( $match ) {
|
462 |
+
if ( $position == "first" ) {
|
463 |
+
$index = $pos;
|
464 |
+
break;
|
465 |
+
}
|
466 |
+
elseif ( $position == "last" ) {
|
467 |
+
$index = $pos + 1;
|
468 |
+
}
|
469 |
+
}
|
470 |
+
}
|
471 |
+
}
|
472 |
+
if ( $index > -1 ) array_splice($attributes, $index, 0, $new_attributes);
|
473 |
+
|
474 |
+
return $attributes;
|
475 |
+
}
|
476 |
+
|
477 |
//********************* Plugin Options Functions *******************************************************************************************
|
478 |
|
479 |
function wfu_get_server_environment() {
|
480 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
481 |
$php_env = '';
|
482 |
if ( PHP_INT_SIZE == 4 ) $php_env = '32bit';
|
483 |
elseif ( PHP_INT_SIZE == 8 ) $php_env = '64bit';
|
492 |
}
|
493 |
|
494 |
function wfu_ajaxurl() {
|
495 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
496 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
497 |
return ( $plugin_options['admindomain'] == 'siteurl' || $plugin_options['admindomain'] == '' ? site_url("wp-admin/admin-ajax.php") : ( $plugin_options['admindomain'] == 'adminurl' ? admin_url("admin-ajax.php") : home_url("wp-admin/admin-ajax.php") ) );
|
498 |
}
|
499 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
500 |
function WFU_VAR($varname) {
|
501 |
if ( !isset($GLOBALS["WFU_GLOBALS"][$varname]) ) return false;
|
502 |
if ( $GLOBALS["WFU_GLOBALS"][$varname][5] ) return $GLOBALS["WFU_GLOBALS"][$varname][3];
|
510 |
}
|
511 |
|
512 |
function wfu_get_latest_version() {
|
513 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
514 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
515 |
$postfields = array();
|
516 |
$postfields['action'] = 'wfuca_check_latest_version_free';
|
687 |
return $tree;
|
688 |
}
|
689 |
function wfu_parse_folderlist($subfoldertree) {
|
690 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
691 |
$ret['path'] = array();
|
692 |
$ret['label'] = array();
|
693 |
$ret['level'] = array();
|
1381 |
|
1382 |
//update database to reflect the current status of files
|
1383 |
function wfu_sync_database() {
|
1384 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
1385 |
global $wpdb;
|
1386 |
$table_name1 = $wpdb->prefix . "wfu_log";
|
1387 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
1465 |
}
|
1466 |
|
1467 |
function wfu_get_filtered_recs($filter) {
|
1468 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
1469 |
global $wpdb;
|
1470 |
$table_name1 = $wpdb->prefix . "wfu_log";
|
1471 |
$table_name2 = $wpdb->prefix . "wfu_userdata";
|
1597 |
}
|
1598 |
|
1599 |
function wfu_export_uploaded_files($params) {
|
1600 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
1601 |
global $wpdb;
|
1602 |
$table_name1 = $wpdb->prefix . "wfu_log";
|
1603 |
$table_name2 = $wpdb->prefix . "wfu_userdata";
|
1738 |
return $cur_index_rand;
|
1739 |
}
|
1740 |
|
1741 |
+
function wfu_get_params_fields_from_index($params_index, $session_token = "") {
|
1742 |
$fields = array();
|
1743 |
$index_str = get_option('wfu_params_index');
|
1744 |
$index = explode("&&", $index_str);
|
1745 |
$index_match = preg_grep("/^".$params_index."/", $index);
|
1746 |
+
if ( count($index_match) >= 1 )
|
1747 |
foreach ( $index_match as $key => $value )
|
1748 |
if ( $value == "" ) unset($index_match[$key]);
|
1749 |
if ( count($index_match) > 0 ) {
|
1750 |
+
if ( $session_token == "" ) {
|
1751 |
+
reset($index_match);
|
1752 |
+
list($fields['unique_id'], $fields['page_id'], $fields['shortcode_id'], $fields['user_login']) = explode("||", current($index_match));
|
1753 |
+
}
|
1754 |
+
//some times $params_index corresponds to 2 or more sets of params, so
|
1755 |
+
//we need to check session token in order to find the correct one
|
1756 |
+
else {
|
1757 |
+
$found = false;
|
1758 |
+
foreach ( $index_match as $value ) {
|
1759 |
+
list($fields['unique_id'], $fields['page_id'], $fields['shortcode_id'], $fields['user_login']) = explode("||", $value);
|
1760 |
+
$sid = $fields['shortcode_id'];
|
1761 |
+
if ( isset($_SESSION["wfu_token_".$sid]) && $_SESSION["wfu_token_".$sid] == $session_token ) {
|
1762 |
+
$found = true;
|
1763 |
+
break;
|
1764 |
+
}
|
1765 |
+
}
|
1766 |
+
if ( !$found ) $fields = array();
|
1767 |
+
}
|
1768 |
}
|
1769 |
return $fields;
|
1770 |
}
|
1834 |
//********************* Plugin Design Functions ********************************************************************************************
|
1835 |
|
1836 |
function wfu_get_uploader_template($templatename = "") {
|
1837 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
1838 |
if ($templatename != "") {
|
1839 |
$classname = "WFU_UploaderTemplate_$templatename";
|
1840 |
if ( class_exists($classname) )
|
1841 |
+
return call_user_func(array($classname, 'get_instance'));
|
1842 |
$filepath = ABSWPFILEUPLOAD_DIR."templates/uploader-$templatename.php";
|
1843 |
if ( file_exists($filepath) ) {
|
1844 |
include_once $filepath;
|
1845 |
$classname = "WFU_UploaderTemplate_$templatename";
|
1846 |
if ( class_exists($classname) )
|
1847 |
+
return call_user_func(array($classname, 'get_instance'));
|
1848 |
}
|
1849 |
}
|
1850 |
return WFU_Original_Template::get_instance();
|
1851 |
}
|
1852 |
|
1853 |
function wfu_get_browser_template($templatename = "") {
|
1854 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
1855 |
if ($templatename != "") {
|
1856 |
$classname = "WFU_BrowserTemplate_$templatename";
|
1857 |
if ( class_exists($classname) )
|
1858 |
+
return call_user_func(array($classname, 'get_instance'));
|
1859 |
$filepath = ABSWPFILEUPLOAD_DIR."templates/browser-$templatename.php";
|
1860 |
if ( file_exists($filepath) ) {
|
1861 |
include_once $filepath;
|
1862 |
$classname = "WFU_BrowserTemplate_$templatename";
|
1863 |
if ( class_exists($classname) )
|
1864 |
+
return call_user_func(array($classname, 'get_instance'));
|
1865 |
}
|
1866 |
}
|
1867 |
return WFU_Original_Template::get_instance();
|
1868 |
}
|
1869 |
|
1870 |
function wfu_add_div() {
|
1871 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
1872 |
$items_count = func_num_args();
|
1873 |
if ( $items_count == 0 ) return "";
|
1874 |
$items_raw = func_get_args();
|
1946 |
}
|
1947 |
|
1948 |
function wfu_add_loading_overlay($dlp, $code) {
|
1949 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
1950 |
$echo_str = $dlp.'<div id="wfu_'.$code.'_overlay" style="margin:0; padding: 0; width:100%; height:100%; position:absolute; left:0; top:0; border:none; background:none; display:none;">';
|
1951 |
$echo_str .= $dlp."\t".'<div style="margin:0; padding: 0; width:100%; height:100%; position:absolute; left:0; top:0; border:none; background-color:rgba(255,255,255,0.8); z-index:1;""></div>';
|
1952 |
$echo_str .= $dlp."\t".'<table style="margin:0; padding: 0; table-layout:fixed; width:100%; height:100%; position:absolute; left:0; top:0; border:none; background:none; z-index:2;"><tbody><tr><td align="center" style="border:none;">';
|
1958 |
}
|
1959 |
|
1960 |
function wfu_add_pagination_header($dlp, $code, $curpage, $pages, $nonce = false) {
|
1961 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
1962 |
if ($nonce === false) $nonce = wp_create_nonce( 'wfu-'.$code.'-page' );
|
1963 |
$echo_str = $dlp.'<div style="float:right;">';
|
1964 |
$echo_str .= $dlp."\t".'<label id="wfu_'.$code.'_first_disabled" style="margin:0 4px; font-weight:bold; opacity:0.5; cursor:default; display:'.( $curpage == 1 ? 'inline' : 'none' ).';"><<</label>';
|
1981 |
}
|
1982 |
|
1983 |
function wfu_add_bulkactions_header($dlp, $code, $actions) {
|
1984 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
1985 |
$echo_str = $dlp.'<div style="float:left;">';
|
1986 |
$echo_str .= $dlp."\t".'<select id="wfu_'.$code.'_bulkactions">';
|
1987 |
$echo_str .= $dlp."\t\t".'<option value="" selected="selected">'.( substr($code, 0, 8) == "browser_" ? WFU_BROWSER_BULKACTION_TITLE : "Bulk Actions").'</option>';
|
2006 |
//********************* Email Functions ****************************************************************************************************
|
2007 |
|
2008 |
function wfu_send_notification_email($user, $uploaded_file_paths, $userdata_fields, $params) {
|
2009 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
2010 |
global $blog_id;
|
2011 |
|
2012 |
//create necessary variables
|
2080 |
}
|
2081 |
|
2082 |
function wfu_notify_admin($subject, $message) {
|
2083 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
2084 |
$admin_email = get_option("admin_email");
|
2085 |
if ( $admin_email === false ) return;
|
2086 |
wp_mail($admin_email, $subject, $message);
|
2090 |
|
2091 |
// function wfu_process_media_insert contribution from Aaron Olin with some corrections regarding the upload path
|
2092 |
function wfu_process_media_insert($file_path, $userdata_fields, $page_id){
|
2093 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
2094 |
$wp_upload_dir = wp_upload_dir();
|
2095 |
$filetype = wp_check_filetype( wfu_basename( $file_path ), null );
|
2096 |
|
2232 |
//********************* POST/GET Requests Functions ****************************************************************************************************
|
2233 |
|
2234 |
function wfu_decode_socket_response($response) {
|
2235 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
2236 |
$ret = "";
|
2237 |
if (0 === strpos($response, 'HTTP/1.1 200 OK')) {
|
2238 |
$parts = preg_split("#\n\s*\n#Uis", $response);
|
2256 |
}
|
2257 |
|
2258 |
function wfu_post_request($url, $params, $verifypeer = false, $internal_request = false, $timeout = 0) {
|
2259 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
2260 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
2261 |
if ( isset($plugin_options['postmethod']) && $plugin_options['postmethod'] == 'curl' ) {
|
2262 |
// POST request using CURL
|
lib/wfu_io.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
function wfu_mk_dir_deep($conn_id, $basepath, $path) {
|
4 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
5 |
@ftp_chdir($conn_id, $basepath);
|
6 |
$parts = explode('/', $path);
|
7 |
foreach ( $parts as $part ) {
|
@@ -14,7 +14,7 @@ function wfu_mk_dir_deep($conn_id, $basepath, $path) {
|
|
14 |
}
|
15 |
|
16 |
function wfu_is_dir($path, $ftpdata) {
|
17 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
18 |
$result = false;
|
19 |
if ( substr($path, 0, 7) == "sftp://" ) {
|
20 |
$ftpdata_flat = str_replace(array('\:', '\@'), array('\_', '\_'), $ftpdata);
|
@@ -52,7 +52,7 @@ function wfu_is_dir($path, $ftpdata) {
|
|
52 |
}
|
53 |
|
54 |
function wfu_create_directory($path, $method, $ftpdata) {
|
55 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
56 |
$ret_message = "";
|
57 |
if ( $method == "" || $method == "normal" ) {
|
58 |
mkdir($path, 0777, true);
|
@@ -137,7 +137,7 @@ function wfu_create_directory($path, $method, $ftpdata) {
|
|
137 |
|
138 |
|
139 |
function wfu_upload_file($source, $target, $method, $ftpdata, $passive, $fileperms) {
|
140 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
141 |
$ret_array = "";
|
142 |
$ret_array["uploaded"] = false;
|
143 |
$ret_array["admin_message"] = "";
|
@@ -225,7 +225,7 @@ function wfu_upload_file($source, $target, $method, $ftpdata, $passive, $fileper
|
|
225 |
}
|
226 |
|
227 |
function wfu_upload_file_sftp($ftp_host, $ftp_port, $ftp_username, $ftp_password, $source, $target, $fileperms) {
|
228 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
229 |
$ret_message = "";
|
230 |
$conn = @ssh2_connect($ftp_host, $ftp_port);
|
231 |
if ( !$conn ) $ret_message = WFU_ERROR_ADMIN_FTPHOST_FAIL;
|
@@ -260,7 +260,7 @@ function wfu_upload_file_sftp($ftp_host, $ftp_port, $ftp_username, $ftp_password
|
|
260 |
}
|
261 |
|
262 |
function wfu_create_dir_deep_sftp($ftp_host, $ftp_port, $ftp_username, $ftp_password, $path) {
|
263 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
264 |
$ret_message = "";
|
265 |
$conn = @ssh2_connect($ftp_host, $ftp_port);
|
266 |
if ( !$conn ) $ret_message = WFU_ERROR_ADMIN_FTPHOST_FAIL;
|
1 |
<?php
|
2 |
|
3 |
function wfu_mk_dir_deep($conn_id, $basepath, $path) {
|
4 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
5 |
@ftp_chdir($conn_id, $basepath);
|
6 |
$parts = explode('/', $path);
|
7 |
foreach ( $parts as $part ) {
|
14 |
}
|
15 |
|
16 |
function wfu_is_dir($path, $ftpdata) {
|
17 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
18 |
$result = false;
|
19 |
if ( substr($path, 0, 7) == "sftp://" ) {
|
20 |
$ftpdata_flat = str_replace(array('\:', '\@'), array('\_', '\_'), $ftpdata);
|
52 |
}
|
53 |
|
54 |
function wfu_create_directory($path, $method, $ftpdata) {
|
55 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
56 |
$ret_message = "";
|
57 |
if ( $method == "" || $method == "normal" ) {
|
58 |
mkdir($path, 0777, true);
|
137 |
|
138 |
|
139 |
function wfu_upload_file($source, $target, $method, $ftpdata, $passive, $fileperms) {
|
140 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
141 |
$ret_array = "";
|
142 |
$ret_array["uploaded"] = false;
|
143 |
$ret_array["admin_message"] = "";
|
225 |
}
|
226 |
|
227 |
function wfu_upload_file_sftp($ftp_host, $ftp_port, $ftp_username, $ftp_password, $source, $target, $fileperms) {
|
228 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
229 |
$ret_message = "";
|
230 |
$conn = @ssh2_connect($ftp_host, $ftp_port);
|
231 |
if ( !$conn ) $ret_message = WFU_ERROR_ADMIN_FTPHOST_FAIL;
|
260 |
}
|
261 |
|
262 |
function wfu_create_dir_deep_sftp($ftp_host, $ftp_port, $ftp_username, $ftp_password, $path) {
|
263 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
264 |
$ret_message = "";
|
265 |
$conn = @ssh2_connect($ftp_host, $ftp_port);
|
266 |
if ( !$conn ) $ret_message = WFU_ERROR_ADMIN_FTPHOST_FAIL;
|
lib/wfu_security.php
CHANGED
@@ -18,7 +18,7 @@ $wfu_extension_blacklist = array( "2clk" => 1, "386" => 1, "3dfbat" => 1, "3dm"
|
|
18 |
* @return bool whether any of the file extensions is blacklisted or not
|
19 |
*/
|
20 |
function wfu_file_extension_blacklisted($filename) {
|
21 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
22 |
global $wfu_extension_blacklist;
|
23 |
//extract and check extensions from filename
|
24 |
$parts = explode(".", $filename);
|
@@ -43,7 +43,7 @@ function wfu_file_extension_blacklisted($filename) {
|
|
43 |
* @details Details
|
44 |
*/
|
45 |
function wfu_file_extension_whitelisted($filename) {
|
46 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
47 |
$whitelist = array( "1st" => 1, "264" => 1, "3g2" => 1, "3ga" => 1, "3gp" => 1, "aac" => 1, "abw" => 1, "ai" => 1, "aiff" => 1, "amr" => 1, "ape" => 1, "arf" => 1, "asf" => 1, "asx" => 1, "avi" => 1, "aww" => 1, "bik" => 1, "bmp" => 1, "cda" => 1, "cdr" => 1, "csv" => 1, "dash" => 1, "dat" => 1, "dds" => 1, "dib" => 1, "djvu" => 1, "dng" => 1, "doc" => 1, "docx" => 1, "drw" => 1, "dt2" => 1, "dvf" => 1, "dvr" => 1, "emf" => 1, "emz" => 1, "eng" => 1, "epub" => 1, "file" => 1, "flac" => 1, "gif" => 1, "gp4" => 1, "gp5" => 1, "gpx" => 1, "h264" => 1, "ind" => 1, "indd" => 1, "jpeg" => 1, "jpg" => 1, "key" => 1, "log" => 1, "logic" => 1, "lrc" => 1, "m2t" => 1, "m2ts" => 1, "m4a" => 1, "m4b" => 1, "m4p" => 1, "m4v" => 1, "midi" => 1, "mkv" => 1, "mov" => 1, "mp3" => 1, "mp4" => 1, "mpeg" => 1, "mpg" => 1, "mpp" => 1, "mpt" => 1, "mts" => 1, "nfo" => 1, "odf" => 1, "odg" => 1, "ods" => 1, "odt" => 1, "ogg" => 1, "ogv" => 1, "ott" => 1, "oxps" => 1, "pages" => 1, "pcm" => 1, "pdf" => 1, "pic" => 1, "plist" => 1, "pmd" => 1, "png" => 1, "pot" => 1, "potx" => 1, "pps" => 1, "ppsx" => 1, "ppt" => 1, "pptx" => 1, "prn" => 1, "ps" => 1, "psd" => 1, "psdx" => 1, "pts" => 1, "pub" => 1, "pwi" => 1, "raw" => 1, "rec" => 1, "rep" => 1, "rmvb" => 1, "rtf" => 1, "sdd" => 1, "sdw" => 1, "snd" => 1, "sng" => 1, "snp" => 1, "sub" => 1, "sxw" => 1, "tbl" => 1, "tga" => 1, "tif" => 1, "tiff" => 1, "tod" => 1, "tp" => 1, "ts" => 1, "txt" => 1, "uax" => 1, "vob" => 1, "vsd" => 1, "wav" => 1, "wbmp" => 1, "wdp" => 1, "wlmp" => 1, "wma" => 1, "wmv" => 1, "wpd" => 1, "wpl" => 1, "wps" => 1, "wri" => 1, "xls" => 1, "xlsx" => 1, "xps" => 1, "zab" => 1 );
|
48 |
//extract and check extension from filename
|
49 |
$ext = wfu_fileext($filename);
|
@@ -73,7 +73,7 @@ function wfu_file_extension_whitelisted($filename) {
|
|
73 |
* @return bool whether the pattern is wide or not
|
74 |
*/
|
75 |
function wfu_is_pattern_wide($pattern) {
|
76 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
77 |
$in_brackets = false;
|
78 |
$pos = -1;
|
79 |
$asterisk_count = 0;
|
@@ -166,7 +166,7 @@ function wfu_file_extension_matches_pattern($pattern, $filename) {
|
|
166 |
* @return bool whether this is a Denial-Of-Service (DOS) attack or not.
|
167 |
*/
|
168 |
function wfu_check_DOS_attack() {
|
169 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
170 |
global $wpdb;
|
171 |
$DOS_attack = false;
|
172 |
$now = time();
|
18 |
* @return bool whether any of the file extensions is blacklisted or not
|
19 |
*/
|
20 |
function wfu_file_extension_blacklisted($filename) {
|
21 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
22 |
global $wfu_extension_blacklist;
|
23 |
//extract and check extensions from filename
|
24 |
$parts = explode(".", $filename);
|
43 |
* @details Details
|
44 |
*/
|
45 |
function wfu_file_extension_whitelisted($filename) {
|
46 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
47 |
$whitelist = array( "1st" => 1, "264" => 1, "3g2" => 1, "3ga" => 1, "3gp" => 1, "aac" => 1, "abw" => 1, "ai" => 1, "aiff" => 1, "amr" => 1, "ape" => 1, "arf" => 1, "asf" => 1, "asx" => 1, "avi" => 1, "aww" => 1, "bik" => 1, "bmp" => 1, "cda" => 1, "cdr" => 1, "csv" => 1, "dash" => 1, "dat" => 1, "dds" => 1, "dib" => 1, "djvu" => 1, "dng" => 1, "doc" => 1, "docx" => 1, "drw" => 1, "dt2" => 1, "dvf" => 1, "dvr" => 1, "emf" => 1, "emz" => 1, "eng" => 1, "epub" => 1, "file" => 1, "flac" => 1, "gif" => 1, "gp4" => 1, "gp5" => 1, "gpx" => 1, "h264" => 1, "ind" => 1, "indd" => 1, "jpeg" => 1, "jpg" => 1, "key" => 1, "log" => 1, "logic" => 1, "lrc" => 1, "m2t" => 1, "m2ts" => 1, "m4a" => 1, "m4b" => 1, "m4p" => 1, "m4v" => 1, "midi" => 1, "mkv" => 1, "mov" => 1, "mp3" => 1, "mp4" => 1, "mpeg" => 1, "mpg" => 1, "mpp" => 1, "mpt" => 1, "mts" => 1, "nfo" => 1, "odf" => 1, "odg" => 1, "ods" => 1, "odt" => 1, "ogg" => 1, "ogv" => 1, "ott" => 1, "oxps" => 1, "pages" => 1, "pcm" => 1, "pdf" => 1, "pic" => 1, "plist" => 1, "pmd" => 1, "png" => 1, "pot" => 1, "potx" => 1, "pps" => 1, "ppsx" => 1, "ppt" => 1, "pptx" => 1, "prn" => 1, "ps" => 1, "psd" => 1, "psdx" => 1, "pts" => 1, "pub" => 1, "pwi" => 1, "raw" => 1, "rec" => 1, "rep" => 1, "rmvb" => 1, "rtf" => 1, "sdd" => 1, "sdw" => 1, "snd" => 1, "sng" => 1, "snp" => 1, "sub" => 1, "sxw" => 1, "tbl" => 1, "tga" => 1, "tif" => 1, "tiff" => 1, "tod" => 1, "tp" => 1, "ts" => 1, "txt" => 1, "uax" => 1, "vob" => 1, "vsd" => 1, "wav" => 1, "wbmp" => 1, "wdp" => 1, "wlmp" => 1, "wma" => 1, "wmv" => 1, "wpd" => 1, "wpl" => 1, "wps" => 1, "wri" => 1, "xls" => 1, "xlsx" => 1, "xps" => 1, "zab" => 1 );
|
48 |
//extract and check extension from filename
|
49 |
$ext = wfu_fileext($filename);
|
73 |
* @return bool whether the pattern is wide or not
|
74 |
*/
|
75 |
function wfu_is_pattern_wide($pattern) {
|
76 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
77 |
$in_brackets = false;
|
78 |
$pos = -1;
|
79 |
$asterisk_count = 0;
|
166 |
* @return bool whether this is a Denial-Of-Service (DOS) attack or not.
|
167 |
*/
|
168 |
function wfu_check_DOS_attack() {
|
169 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
170 |
global $wpdb;
|
171 |
$DOS_attack = false;
|
172 |
$now = time();
|
lib/wfu_template.php
CHANGED
@@ -14,6 +14,44 @@ public static function get_instance() {
|
|
14 |
return self::$instance;
|
15 |
}
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
function wfu_row_container_template($data) {?>
|
18 |
<?php /*************************************************************************
|
19 |
the following lines contain initialization of PHP variables
|
14 |
return self::$instance;
|
15 |
}
|
16 |
|
17 |
+
public static function get_name() {
|
18 |
+
return self::$name;
|
19 |
+
}
|
20 |
+
|
21 |
+
function wfu_base_template($data) {?>
|
22 |
+
<?php /*************************************************************************
|
23 |
+
the following lines contain initialization of PHP variables
|
24 |
+
*******************************************************************************/
|
25 |
+
/* do not change this line */extract($data);
|
26 |
+
/*
|
27 |
+
* The following variables are available for use:
|
28 |
+
*
|
29 |
+
* @var $ID int the upload ID
|
30 |
+
* @var $responsive bool true if responsive mode is enabled
|
31 |
+
* @var $testmode bool true if the plugin is in test mode
|
32 |
+
* @var $params array all plugin's attributes defined through the shortcode
|
33 |
+
*
|
34 |
+
* It is noted that $ID can also be used inside CSS, Javascript and HTML code.
|
35 |
+
*/
|
36 |
+
if ( $testmode ) {}
|
37 |
+
/*******************************************************************************
|
38 |
+
the following lines contain CSS styling rules
|
39 |
+
*********************************************************************/ ?><style>
|
40 |
+
div.wfu_container
|
41 |
+
{
|
42 |
+
}
|
43 |
+
</style><?php /*****************************************************************
|
44 |
+
the following lines contain Javascript code
|
45 |
+
*********************************************/ ?><script type="text/javascript">
|
46 |
+
var dummy = 0;
|
47 |
+
</script><?php /****************************************************************
|
48 |
+
the following lines contain additional HTML output
|
49 |
+
****************************************************************************/ ?>
|
50 |
+
<!-- init -->
|
51 |
+
<?php /*************************************************************************
|
52 |
+
end of HTML output
|
53 |
+
*****************************************************************************/ }
|
54 |
+
|
55 |
function wfu_row_container_template($data) {?>
|
56 |
<?php /*************************************************************************
|
57 |
the following lines contain initialization of PHP variables
|
readme.txt
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
=== Wordpress File Upload ===
|
2 |
Contributors: nickboss
|
3 |
Donate link: http://www.iptanus.com/support/wordpress-file-upload
|
4 |
-
Tags:
|
5 |
Requires at least: 2.9.2
|
6 |
-
Tested up to: 4.
|
7 |
Stable tag: "trunk"
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -146,6 +146,24 @@ There is an option in plugin's settings in Dashboard to relax the CSS rules, so
|
|
146 |
|
147 |
== Changelog ==
|
148 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
= 4.0.1 =
|
150 |
* translation of the plugin in Persian, kindly provided by Shahriyar Modami http://chabokgroup.com
|
151 |
* corrected bug where notification email was not sending atachments
|
@@ -694,6 +712,9 @@ Initial version.
|
|
694 |
|
695 |
== Upgrade Notice ==
|
696 |
|
|
|
|
|
|
|
697 |
= 4.0.1 =
|
698 |
Minor update to fix some bugs.
|
699 |
|
1 |
=== Wordpress File Upload ===
|
2 |
Contributors: nickboss
|
3 |
Donate link: http://www.iptanus.com/support/wordpress-file-upload
|
4 |
+
Tags: file, upload, ajax, form, page, post, sidebar, responsive, widget, webcam, ftp
|
5 |
Requires at least: 2.9.2
|
6 |
+
Tested up to: 4.9.0
|
7 |
Stable tag: "trunk"
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
146 |
|
147 |
== Changelog ==
|
148 |
|
149 |
+
= 4.1.0 =
|
150 |
+
* changed logic of file sanitizer; dots in filename are by default converted to dashes, in order to avoid upload failures caused when the plugin detects double extensions
|
151 |
+
* added advanced option WFU_SANITIZE_FILENAME_DOTS that determines whether file sanitizer will sanitize dots or not
|
152 |
+
* timepicker script and style replaced by most recent version
|
153 |
+
* timepicker script and style files removed from plugin and loaded from cdn
|
154 |
+
* json2 script removed from plugin and loaded from Wordpress registered script
|
155 |
+
* JQuery UI style updated to latest 1.12.1 minified version
|
156 |
+
* added wfu_before_admin_scripts filter before loading admin scripts and styles in order to control incompatibilities
|
157 |
+
* removed getElementsByClassName-1.0.1.js file from plugin, getElementsByClassName function was replaced by DOM querySelectorAll
|
158 |
+
* corrected bug showing warning "Notice: Undefined variable: page_hook_suffix..." when a non-admin user opened Dashboard
|
159 |
+
* corrected fatal error "func_get_args(): Can't be used as a function parameter" appearing in websites with PHP lower than 5.3
|
160 |
+
* added _wfu_file_upload_hide_output filter that runs when plugin should not be shown (e.g. for users not inluded in uploadroles), in order to output custom HTML
|
161 |
+
* corrected bug where email fields were always validated, even if validate option was not activated
|
162 |
+
* corrected bug where number fields did not allow invalid characters, even if typehook option was not activated
|
163 |
+
* corrected bug where email fields were not allowed to be ampty when validate option was activated
|
164 |
+
* corrected error T_PAAMAYIM_NEKUDOTAYIM appearing when PHP version is lower than 5.3
|
165 |
+
* corrected bug with random upload fails caused when params_index corresponds to more than one params
|
166 |
+
|
167 |
= 4.0.1 =
|
168 |
* translation of the plugin in Persian, kindly provided by Shahriyar Modami http://chabokgroup.com
|
169 |
* corrected bug where notification email was not sending atachments
|
712 |
|
713 |
== Upgrade Notice ==
|
714 |
|
715 |
+
= 4.1.0 =
|
716 |
+
Significant update to fix several bugs and introduce some new features.
|
717 |
+
|
718 |
= 4.0.1 =
|
719 |
Minor update to fix some bugs.
|
720 |
|
release_notes.txt
CHANGED
@@ -1,6 +1,2 @@
|
|
1 |
-
<!-- --><span>Version 4.0
|
2 |
-
<br />
|
3 |
-
<span>Apart from this, versions 4.0.0 and 4.0.1 introduce support for <strong>Secure FTP (sftp)</strong> uploads, many code improvements and bug fixes and new translation in <strong>Persian</strong>, kindly provided by </span><a href="http://chabokgroup.com">Shahriyar Modami</a><span>. Furthermore, even more new features are introduced in the <strong>Professional</strong> version of the plugin, such as improved <strong>Dropbox uploads</strong> and <strong>file viewer</strong>.</span><br />
|
4 |
-
<br />
|
5 |
-
<span>Several News Posts and Technical Articles will be published by <strong>Iptanus</strong> the next days describing the new features of the plugin. For more details about this version's changes please visit the Release Notes of the plugin's </span><a href="http://www.iptanus.com/wordpress-plugins/wordpress-file-upload/">support page</a><span>.</span><!-- -->
|
6 |
<!-- -->
|
1 |
+
<!-- --><span>Version 4.1.0 is a significant update incorporating several bug fixes, removal of unnecessary / obsolete plugin files, code improvements and some new features. The most important new feature has to do with <strong>filename sanitization</strong>. By default the plugin converts invalid characters in the filename (like accent and symbols) to dashes (-). Now it will also convert dot symbols (.) to dashes. This way the user will not get an <em>"Upload failed! File not allowed."</em> message when trying to upload a file containing dots in the filename. Of course this is the default behaviour. The website administrator can change it by changing the plugin's appropriate attributes and options.<br/><br/>For more details about this version's changes please visit the Release Notes of the plugin's </span><a href="http://www.iptanus.com/wordpress-plugins/wordpress-file-upload/">support page</a><span>.</span><!-- -->
|
|
|
|
|
|
|
|
|
2 |
<!-- -->
|
templates/uploader-Custom1.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Defines a custom upload template
|
5 |
+
*
|
6 |
+
* This is a very simple example of creation of a custom upload template by
|
7 |
+
* extending the original template.
|
8 |
+
*
|
9 |
+
* This custom template is a child of the original template class, so it is not
|
10 |
+
* required to declare all functions of the template but only those that are
|
11 |
+
* different.
|
12 |
+
*/
|
13 |
+
class WFU_UploaderTemplate_Custom1 extends WFU_Original_Template {
|
14 |
+
|
15 |
+
}
|
16 |
+
|
17 |
+
?>
|
vendor/datetimepicker/jquery-ui-timepicker-addon.min.css
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
/*! jQuery Timepicker Addon - v1.5.5 - 2015-05-24
|
2 |
-
* http://trentrichardson.com/examples/timepicker
|
3 |
-
* Copyright (c) 2015 Trent Richardson; Licensed MIT */.ui-timepicker-div .ui_tpicker_unit_hide,.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time,.ui-timepicker-div.ui-timepicker-oneLine dt{display:none}.ui-timepicker-div .ui-widget-header{margin-bottom:8px}.ui-timepicker-div dl{text-align:left}.ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.ui-timepicker-div dl dd{margin:0 10px 10px 40%}.ui-timepicker-div td{font-size:90%}.ui-tpicker-grid-label{background:0 0;border:0;margin:0;padding:0}.ui-timepicker-rtl{direction:rtl}.ui-timepicker-rtl dl{text-align:right;padding:0 5px 0 0}.ui-timepicker-rtl dl dt{float:right;clear:right}.ui-timepicker-rtl dl dd{margin:0 40% 10px 10px}.ui-timepicker-div.ui-timepicker-oneLine{padding-right:2px}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label{display:block;padding-top:2px}.ui-timepicker-div.ui-timepicker-oneLine dl{text-align:right}.ui-timepicker-div.ui-timepicker-oneLine dl dd,.ui-timepicker-div.ui-timepicker-oneLine dl dd>div{display:inline-block;margin:0}.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_minute:before,.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before{content:':';display:inline-block}.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before,.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before{content:'.';display:inline-block}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide,.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before{display:none}
|
|
|
|
|
|
vendor/datetimepicker/jquery-ui-timepicker-addon.min.js
DELETED
@@ -1,83 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
jQuery Timepicker Addon - v1.5.5 - 2015-05-24
|
3 |
-
http://trentrichardson.com/examples/timepicker
|
4 |
-
Copyright (c) 2015 Trent Richardson; Licensed MIT */
|
5 |
-
(function(e){"function"==typeof define&&define.amd?define(["jquery","jquery.ui"],e):e(jQuery)})(function($){if($.ui.timepicker=$.ui.timepicker||{},!$.ui.timepicker.version){$.extend($.ui,{timepicker:{version:"1.5.5"}});var Timepicker=function(){this.regional=[],this.regional[""]={currentText:"Now",closeText:"Done",amNames:["AM","A"],pmNames:["PM","P"],timeFormat:"HH:mm",timeSuffix:"",timeOnlyTitle:"Choose Time",timeText:"Time",hourText:"Hour",minuteText:"Minute",secondText:"Second",millisecText:"Millisecond",
|
6 |
-
microsecText:"Microsecond",timezoneText:"Time Zone",isRTL:!1},this._defaults={showButtonPanel:!0,timeOnly:!1,timeOnlyShowDate:!1,showHour:null,showMinute:null,showSecond:null,showMillisec:null,showMicrosec:null,showTimezone:null,showTime:!0,stepHour:1,stepMinute:1,stepSecond:1,stepMillisec:1,stepMicrosec:1,hour:0,minute:0,second:0,millisec:0,microsec:0,timezone:null,hourMin:0,minuteMin:0,secondMin:0,millisecMin:0,microsecMin:0,hourMax:23,minuteMax:59,secondMax:59,millisecMax:999,microsecMax:999,minDateTime:null,
|
7 |
-
maxDateTime:null,maxTime:null,minTime:null,onSelect:null,hourGrid:0,minuteGrid:0,secondGrid:0,millisecGrid:0,microsecGrid:0,alwaysSetTime:!0,separator:" ",altFieldTimeOnly:!0,altTimeFormat:null,altSeparator:null,altTimeSuffix:null,altRedirectFocus:!0,pickerTimeFormat:null,pickerTimeSuffix:null,showTimepicker:!0,timezoneList:null,addSliderAccess:!1,sliderAccessArgs:null,controlType:"slider",oneLine:!1,defaultValue:null,parse:"strict",afterInject:null},$.extend(this._defaults,this.regional[""])};$.extend(Timepicker.prototype,
|
8 |
-
{$input:null,$altInput:null,$timeObj:null,inst:null,hour_slider:null,minute_slider:null,second_slider:null,millisec_slider:null,microsec_slider:null,timezone_select:null,maxTime:null,minTime:null,hour:0,minute:0,second:0,millisec:0,microsec:0,timezone:null,hourMinOriginal:null,minuteMinOriginal:null,secondMinOriginal:null,millisecMinOriginal:null,microsecMinOriginal:null,hourMaxOriginal:null,minuteMaxOriginal:null,secondMaxOriginal:null,millisecMaxOriginal:null,microsecMaxOriginal:null,ampm:"",formattedDate:"",
|
9 |
-
formattedTime:"",formattedDateTime:"",timezoneList:null,units:["hour","minute","second","millisec","microsec"],support:{},control:null,setDefaults:function(e){return extendRemove(this._defaults,e||{}),this},_newInst:function($input,opts){var tp_inst=new Timepicker,inlineSettings={},fns={},overrides,i;for(var attrName in this._defaults)if(this._defaults.hasOwnProperty(attrName)){var attrValue=$input.attr("time:"+attrName);if(attrValue)try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=
|
10 |
-
attrValue}}overrides={beforeShow:function(e,t){return $.isFunction(tp_inst._defaults.evnts.beforeShow)?tp_inst._defaults.evnts.beforeShow.call($input[0],e,t,tp_inst):void 0},onChangeMonthYear:function(e,t,i){$.isFunction(tp_inst._defaults.evnts.onChangeMonthYear)&&tp_inst._defaults.evnts.onChangeMonthYear.call($input[0],e,t,i,tp_inst)},onClose:function(e,t){tp_inst.timeDefined===!0&&""!==$input.val()&&tp_inst._updateDateTime(t),$.isFunction(tp_inst._defaults.evnts.onClose)&&tp_inst._defaults.evnts.onClose.call($input[0],
|
11 |
-
e,t,tp_inst)}};for(i in overrides)overrides.hasOwnProperty(i)&&(fns[i]=opts[i]||this._defaults[i]||null);tp_inst._defaults=$.extend({},this._defaults,inlineSettings,opts,overrides,{evnts:fns,timepicker:tp_inst}),tp_inst.amNames=$.map(tp_inst._defaults.amNames,function(e){return e.toUpperCase()}),tp_inst.pmNames=$.map(tp_inst._defaults.pmNames,function(e){return e.toUpperCase()}),tp_inst.support=detectSupport(tp_inst._defaults.timeFormat+(tp_inst._defaults.pickerTimeFormat?tp_inst._defaults.pickerTimeFormat:
|
12 |
-
"")+(tp_inst._defaults.altTimeFormat?tp_inst._defaults.altTimeFormat:"")),"string"==typeof tp_inst._defaults.controlType?("slider"===tp_inst._defaults.controlType&&$.ui.slider===void 0&&(tp_inst._defaults.controlType="select"),tp_inst.control=tp_inst._controls[tp_inst._defaults.controlType]):tp_inst.control=tp_inst._defaults.controlType;var timezoneList=[-720,-660,-600,-570,-540,-480,-420,-360,-300,-270,-240,-210,-180,-120,-60,0,60,120,180,210,240,270,300,330,345,360,390,420,480,525,540,570,600,630,
|
13 |
-
660,690,720,765,780,840];null!==tp_inst._defaults.timezoneList&&(timezoneList=tp_inst._defaults.timezoneList);var tzl=timezoneList.length,tzi=0,tzv=null;if(tzl>0&&"object"!=typeof timezoneList[0])for(;tzl>tzi;tzi++)tzv=timezoneList[tzi],timezoneList[tzi]={value:tzv,label:$.timepicker.timezoneOffsetString(tzv,tp_inst.support.iso8601)};return tp_inst._defaults.timezoneList=timezoneList,tp_inst.timezone=null!==tp_inst._defaults.timezone?$.timepicker.timezoneOffsetNumber(tp_inst._defaults.timezone):-1*
|
14 |
-
(new Date).getTimezoneOffset(),tp_inst.hour=tp_inst._defaults.hour<tp_inst._defaults.hourMin?tp_inst._defaults.hourMin:tp_inst._defaults.hour>tp_inst._defaults.hourMax?tp_inst._defaults.hourMax:tp_inst._defaults.hour,tp_inst.minute=tp_inst._defaults.minute<tp_inst._defaults.minuteMin?tp_inst._defaults.minuteMin:tp_inst._defaults.minute>tp_inst._defaults.minuteMax?tp_inst._defaults.minuteMax:tp_inst._defaults.minute,tp_inst.second=tp_inst._defaults.second<tp_inst._defaults.secondMin?tp_inst._defaults.secondMin:
|
15 |
-
tp_inst._defaults.second>tp_inst._defaults.secondMax?tp_inst._defaults.secondMax:tp_inst._defaults.second,tp_inst.millisec=tp_inst._defaults.millisec<tp_inst._defaults.millisecMin?tp_inst._defaults.millisecMin:tp_inst._defaults.millisec>tp_inst._defaults.millisecMax?tp_inst._defaults.millisecMax:tp_inst._defaults.millisec,tp_inst.microsec=tp_inst._defaults.microsec<tp_inst._defaults.microsecMin?tp_inst._defaults.microsecMin:tp_inst._defaults.microsec>tp_inst._defaults.microsecMax?tp_inst._defaults.microsecMax:
|
16 |
-
tp_inst._defaults.microsec,tp_inst.ampm="",tp_inst.$input=$input,tp_inst._defaults.altField&&(tp_inst.$altInput=$(tp_inst._defaults.altField),tp_inst._defaults.altRedirectFocus===!0&&tp_inst.$altInput.css({cursor:"pointer"}).focus(function(){$input.trigger("focus")})),(0===tp_inst._defaults.minDate||0===tp_inst._defaults.minDateTime)&&(tp_inst._defaults.minDate=new Date),(0===tp_inst._defaults.maxDate||0===tp_inst._defaults.maxDateTime)&&(tp_inst._defaults.maxDate=new Date),void 0!==tp_inst._defaults.minDate&&
|
17 |
-
tp_inst._defaults.minDate instanceof Date&&(tp_inst._defaults.minDateTime=new Date(tp_inst._defaults.minDate.getTime())),void 0!==tp_inst._defaults.minDateTime&&tp_inst._defaults.minDateTime instanceof Date&&(tp_inst._defaults.minDate=new Date(tp_inst._defaults.minDateTime.getTime())),void 0!==tp_inst._defaults.maxDate&&tp_inst._defaults.maxDate instanceof Date&&(tp_inst._defaults.maxDateTime=new Date(tp_inst._defaults.maxDate.getTime())),void 0!==tp_inst._defaults.maxDateTime&&tp_inst._defaults.maxDateTime instanceof
|
18 |
-
Date&&(tp_inst._defaults.maxDate=new Date(tp_inst._defaults.maxDateTime.getTime())),tp_inst.$input.bind("focus",function(){tp_inst._onFocus()}),tp_inst},_addTimePicker:function(e){var t=$.trim(this.$altInput&&this._defaults.altFieldTimeOnly?this.$input.val()+" "+this.$altInput.val():this.$input.val());this.timeDefined=this._parseTime(t),this._limitMinMaxDateTime(e,!1),this._injectTimePicker(),this._afterInject()},_parseTime:function(e,t){if(this.inst||(this.inst=$.datepicker._getInst(this.$input[0])),
|
19 |
-
t||!this._defaults.timeOnly){var i=$.datepicker._get(this.inst,"dateFormat");try{var s=parseDateTimeInternal(i,this._defaults.timeFormat,e,$.datepicker._getFormatConfig(this.inst),this._defaults);if(!s.timeObj)return!1;$.extend(this,s.timeObj)}catch(a){return $.timepicker.log("Error parsing the date/time string: "+a+"\ndate/time string = "+e+"\ntimeFormat = "+this._defaults.timeFormat+"\ndateFormat = "+i),!1}return!0}var n=$.datepicker.parseTime(this._defaults.timeFormat,e,this._defaults);return n?
|
20 |
-
($.extend(this,n),!0):!1},_afterInject:function(){var e=this.inst.settings;$.isFunction(e.afterInject)&&e.afterInject.call(this)},_injectTimePicker:function(){var e=this.inst.dpDiv,t=this.inst.settings,i=this,s="",a="",n=null,r={},l={},o=null,c=0,u=0;if(0===e.find("div.ui-timepicker-div").length&&t.showTimepicker){var m=" ui_tpicker_unit_hide",d='<div class="ui-timepicker-div'+(t.isRTL?" ui-timepicker-rtl":"")+(t.oneLine&&"select"===t.controlType?" ui-timepicker-oneLine":"")+'"><dl>'+'<dt class="ui_tpicker_time_label'+
|
21 |
-
(t.showTime?"":m)+'">'+t.timeText+"</dt>"+'<dd class="ui_tpicker_time '+(t.showTime?"":m)+'"></dd>';for(c=0,u=this.units.length;u>c;c++){if(s=this.units[c],a=s.substr(0,1).toUpperCase()+s.substr(1),n=null!==t["show"+a]?t["show"+a]:this.support[s],r[s]=parseInt(t[s+"Max"]-(t[s+"Max"]-t[s+"Min"])%t["step"+a],10),l[s]=0,d+='<dt class="ui_tpicker_'+s+"_label"+(n?"":m)+'">'+t[s+"Text"]+"</dt>"+'<dd class="ui_tpicker_'+s+(n?"":m)+'"><div class="ui_tpicker_'+s+"_slider"+(n?"":m)+'"></div>',n&&t[s+"Grid"]>
|
22 |
-
0){if(d+='<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>',"hour"===s)for(var h=t[s+"Min"];r[s]>=h;h+=parseInt(t[s+"Grid"],10)){l[s]++;var p=$.datepicker.formatTime(this.support.ampm?"hht":"HH",{hour:h},t);d+='<td data-for="'+s+'">'+p+"</td>"}else for(var _=t[s+"Min"];r[s]>=_;_+=parseInt(t[s+"Grid"],10))l[s]++,d+='<td data-for="'+s+'">'+(10>_?"0":"")+_+"</td>";d+="</tr></table></div>"}d+="</dd>"}var f=null!==t.showTimezone?t.showTimezone:this.support.timezone;d+='<dt class="ui_tpicker_timezone_label'+
|
23 |
-
(f?"":m)+'">'+t.timezoneText+"</dt>",d+='<dd class="ui_tpicker_timezone'+(f?"":m)+'"></dd>',d+="</dl></div>";var g=$(d);for(t.timeOnly===!0&&(g.prepend('<div class="ui-widget-header ui-helper-clearfix ui-corner-all"><div class="ui-datepicker-title">'+t.timeOnlyTitle+"</div>"+"</div>"),e.find(".ui-datepicker-header, .ui-datepicker-calendar").hide()),c=0,u=i.units.length;u>c;c++)s=i.units[c],a=s.substr(0,1).toUpperCase()+s.substr(1),n=null!==t["show"+a]?t["show"+a]:this.support[s],i[s+"_slider"]=i.control.create(i,
|
24 |
-
g.find(".ui_tpicker_"+s+"_slider"),s,i[s],t[s+"Min"],r[s],t["step"+a]),n&&t[s+"Grid"]>0&&(o=100*l[s]*t[s+"Grid"]/(r[s]-t[s+"Min"]),g.find(".ui_tpicker_"+s+" table").css({width:o+"%",marginLeft:t.isRTL?"0":o/(-2*l[s])+"%",marginRight:t.isRTL?o/(-2*l[s])+"%":"0",borderCollapse:"collapse"}).find("td").click(function(){var e=$(this),t=e.html(),a=parseInt(t.replace(/[^0-9]/g),10),n=t.replace(/[^apm]/gi),r=e.data("for");"hour"===r&&(-1!==n.indexOf("p")&&12>a?a+=12:-1!==n.indexOf("a")&&12===a&&(a=0)),i.control.value(i,
|
25 |
-
i[r+"_slider"],s,a),i._onTimeChange(),i._onSelectHandler()}).css({cursor:"pointer",width:100/l[s]+"%",textAlign:"center",overflow:"hidden"}));if(this.timezone_select=g.find(".ui_tpicker_timezone").append("<select></select>").find("select"),$.fn.append.apply(this.timezone_select,$.map(t.timezoneList,function(e){return $("<option />").val("object"==typeof e?e.value:e).text("object"==typeof e?e.label:e)})),this.timezone!==void 0&&null!==this.timezone&&""!==this.timezone){var M=-1*(new Date(this.inst.selectedYear,
|
26 |
-
this.inst.selectedMonth,this.inst.selectedDay,12)).getTimezoneOffset();M===this.timezone?selectLocalTimezone(i):this.timezone_select.val(this.timezone)}else this.hour!==void 0&&null!==this.hour&&""!==this.hour?this.timezone_select.val(t.timezone):selectLocalTimezone(i);this.timezone_select.change(function(){i._onTimeChange(),i._onSelectHandler(),i._afterInject()});var v=e.find(".ui-datepicker-buttonpane");if(v.length?v.before(g):e.append(g),this.$timeObj=g.find(".ui_tpicker_time"),null!==this.inst){var k=
|
27 |
-
this.timeDefined;this._onTimeChange(),this.timeDefined=k}if(this._defaults.addSliderAccess){var T=this._defaults.sliderAccessArgs,D=this._defaults.isRTL;T.isRTL=D,setTimeout(function(){if(0===g.find(".ui-slider-access").length){g.find(".ui-slider:visible").sliderAccess(T);var e=g.find(".ui-slider-access:eq(0)").outerWidth(!0);e&&g.find("table:visible").each(function(){var t=$(this),i=t.outerWidth(),s=(""+t.css(D?"marginRight":"marginLeft")).replace("%",""),a=i-e,n=s*a/i+"%",r={width:a,marginRight:0,
|
28 |
-
marginLeft:0};r[D?"marginRight":"marginLeft"]=n,t.css(r)})}},10)}i._limitMinMaxDateTime(this.inst,!0)}},_limitMinMaxDateTime:function(e,t){var i=this._defaults,s=new Date(e.selectedYear,e.selectedMonth,e.selectedDay);if(this._defaults.showTimepicker){if(null!==$.datepicker._get(e,"minDateTime")&&void 0!==$.datepicker._get(e,"minDateTime")&&s){var a=$.datepicker._get(e,"minDateTime"),n=new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0,0);(null===this.hourMinOriginal||null===this.minuteMinOriginal||
|
29 |
-
null===this.secondMinOriginal||null===this.millisecMinOriginal||null===this.microsecMinOriginal)&&(this.hourMinOriginal=i.hourMin,this.minuteMinOriginal=i.minuteMin,this.secondMinOriginal=i.secondMin,this.millisecMinOriginal=i.millisecMin,this.microsecMinOriginal=i.microsecMin),e.settings.timeOnly||n.getTime()===s.getTime()?(this._defaults.hourMin=a.getHours(),this.hour<=this._defaults.hourMin?(this.hour=this._defaults.hourMin,this._defaults.minuteMin=a.getMinutes(),this.minute<=this._defaults.minuteMin?
|
30 |
-
(this.minute=this._defaults.minuteMin,this._defaults.secondMin=a.getSeconds(),this.second<=this._defaults.secondMin?(this.second=this._defaults.secondMin,this._defaults.millisecMin=a.getMilliseconds(),this.millisec<=this._defaults.millisecMin?(this.millisec=this._defaults.millisecMin,this._defaults.microsecMin=a.getMicroseconds()):(this.microsec<this._defaults.microsecMin&&(this.microsec=this._defaults.microsecMin),this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.millisecMin=
|
31 |
-
this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.secondMin=this.secondMinOriginal,this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.minuteMin=this.minuteMinOriginal,this._defaults.secondMin=this.secondMinOriginal,this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.hourMin=this.hourMinOriginal,this._defaults.minuteMin=
|
32 |
-
this.minuteMinOriginal,this._defaults.secondMin=this.secondMinOriginal,this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)}if(null!==$.datepicker._get(e,"maxDateTime")&&void 0!==$.datepicker._get(e,"maxDateTime")&&s){var r=$.datepicker._get(e,"maxDateTime"),l=new Date(r.getFullYear(),r.getMonth(),r.getDate(),0,0,0,0);(null===this.hourMaxOriginal||null===this.minuteMaxOriginal||null===this.secondMaxOriginal||null===this.millisecMaxOriginal)&&(this.hourMaxOriginal=
|
33 |
-
i.hourMax,this.minuteMaxOriginal=i.minuteMax,this.secondMaxOriginal=i.secondMax,this.millisecMaxOriginal=i.millisecMax,this.microsecMaxOriginal=i.microsecMax),e.settings.timeOnly||l.getTime()===s.getTime()?(this._defaults.hourMax=r.getHours(),this.hour>=this._defaults.hourMax?(this.hour=this._defaults.hourMax,this._defaults.minuteMax=r.getMinutes(),this.minute>=this._defaults.minuteMax?(this.minute=this._defaults.minuteMax,this._defaults.secondMax=r.getSeconds(),this.second>=this._defaults.secondMax?
|
34 |
-
(this.second=this._defaults.secondMax,this._defaults.millisecMax=r.getMilliseconds(),this.millisec>=this._defaults.millisecMax?(this.millisec=this._defaults.millisecMax,this._defaults.microsecMax=r.getMicroseconds()):(this.microsec>this._defaults.microsecMax&&(this.microsec=this._defaults.microsecMax),this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.secondMax=this.secondMaxOriginal,
|
35 |
-
this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.minuteMax=this.minuteMaxOriginal,this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.hourMax=this.hourMaxOriginal,this._defaults.minuteMax=this.minuteMaxOriginal,this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,
|
36 |
-
this._defaults.microsecMax=this.microsecMaxOriginal)}if(null!==e.settings.minTime){var o=new Date("01/01/1970 "+e.settings.minTime);this.hour<o.getHours()?(this.hour=this._defaults.hourMin=o.getHours(),this.minute=this._defaults.minuteMin=o.getMinutes()):this.hour===o.getHours()&&this.minute<o.getMinutes()?this.minute=this._defaults.minuteMin=o.getMinutes():this._defaults.hourMin<o.getHours()?(this._defaults.hourMin=o.getHours(),this._defaults.minuteMin=o.getMinutes()):this._defaults.minuteMin=this._defaults.hourMin===
|
37 |
-
o.getHours()===this.hour&&this._defaults.minuteMin<o.getMinutes()?o.getMinutes():0}if(null!==e.settings.maxTime){var c=new Date("01/01/1970 "+e.settings.maxTime);this.hour>c.getHours()?(this.hour=this._defaults.hourMax=c.getHours(),this.minute=this._defaults.minuteMax=c.getMinutes()):this.hour===c.getHours()&&this.minute>c.getMinutes()?this.minute=this._defaults.minuteMax=c.getMinutes():this._defaults.hourMax>c.getHours()?(this._defaults.hourMax=c.getHours(),this._defaults.minuteMax=c.getMinutes()):
|
38 |
-
this._defaults.minuteMax=this._defaults.hourMax===c.getHours()===this.hour&&this._defaults.minuteMax>c.getMinutes()?c.getMinutes():59}if(void 0!==t&&t===!0){var u=parseInt(this._defaults.hourMax-(this._defaults.hourMax-this._defaults.hourMin)%this._defaults.stepHour,10),m=parseInt(this._defaults.minuteMax-(this._defaults.minuteMax-this._defaults.minuteMin)%this._defaults.stepMinute,10),d=parseInt(this._defaults.secondMax-(this._defaults.secondMax-this._defaults.secondMin)%this._defaults.stepSecond,
|
39 |
-
10),h=parseInt(this._defaults.millisecMax-(this._defaults.millisecMax-this._defaults.millisecMin)%this._defaults.stepMillisec,10),p=parseInt(this._defaults.microsecMax-(this._defaults.microsecMax-this._defaults.microsecMin)%this._defaults.stepMicrosec,10);this.hour_slider&&(this.control.options(this,this.hour_slider,"hour",{min:this._defaults.hourMin,max:u,step:this._defaults.stepHour}),this.control.value(this,this.hour_slider,"hour",this.hour-this.hour%this._defaults.stepHour)),this.minute_slider&&
|
40 |
-
(this.control.options(this,this.minute_slider,"minute",{min:this._defaults.minuteMin,max:m,step:this._defaults.stepMinute}),this.control.value(this,this.minute_slider,"minute",this.minute-this.minute%this._defaults.stepMinute)),this.second_slider&&(this.control.options(this,this.second_slider,"second",{min:this._defaults.secondMin,max:d,step:this._defaults.stepSecond}),this.control.value(this,this.second_slider,"second",this.second-this.second%this._defaults.stepSecond)),this.millisec_slider&&(this.control.options(this,
|
41 |
-
this.millisec_slider,"millisec",{min:this._defaults.millisecMin,max:h,step:this._defaults.stepMillisec}),this.control.value(this,this.millisec_slider,"millisec",this.millisec-this.millisec%this._defaults.stepMillisec)),this.microsec_slider&&(this.control.options(this,this.microsec_slider,"microsec",{min:this._defaults.microsecMin,max:p,step:this._defaults.stepMicrosec}),this.control.value(this,this.microsec_slider,"microsec",this.microsec-this.microsec%this._defaults.stepMicrosec))}}},_onTimeChange:function(){if(this._defaults.showTimepicker){var e=
|
42 |
-
this.hour_slider?this.control.value(this,this.hour_slider,"hour"):!1,t=this.minute_slider?this.control.value(this,this.minute_slider,"minute"):!1,i=this.second_slider?this.control.value(this,this.second_slider,"second"):!1,s=this.millisec_slider?this.control.value(this,this.millisec_slider,"millisec"):!1,a=this.microsec_slider?this.control.value(this,this.microsec_slider,"microsec"):!1,n=this.timezone_select?this.timezone_select.val():!1,r=this._defaults,l=r.pickerTimeFormat||r.timeFormat,o=r.pickerTimeSuffix||
|
43 |
-
r.timeSuffix;"object"==typeof e&&(e=!1),"object"==typeof t&&(t=!1),"object"==typeof i&&(i=!1),"object"==typeof s&&(s=!1),"object"==typeof a&&(a=!1),"object"==typeof n&&(n=!1),e!==!1&&(e=parseInt(e,10)),t!==!1&&(t=parseInt(t,10)),i!==!1&&(i=parseInt(i,10)),s!==!1&&(s=parseInt(s,10)),a!==!1&&(a=parseInt(a,10)),n!==!1&&(n=""+n);var c=r[12>e?"amNames":"pmNames"][0],u=e!==parseInt(this.hour,10)||t!==parseInt(this.minute,10)||i!==parseInt(this.second,10)||s!==parseInt(this.millisec,10)||a!==parseInt(this.microsec,
|
44 |
-
10)||this.ampm.length>0&&12>e!=(-1!==$.inArray(this.ampm.toUpperCase(),this.amNames))||null!==this.timezone&&n!==""+this.timezone;u&&(e!==!1&&(this.hour=e),t!==!1&&(this.minute=t),i!==!1&&(this.second=i),s!==!1&&(this.millisec=s),a!==!1&&(this.microsec=a),n!==!1&&(this.timezone=n),this.inst||(this.inst=$.datepicker._getInst(this.$input[0])),this._limitMinMaxDateTime(this.inst,!0)),this.support.ampm&&(this.ampm=c),this.formattedTime=$.datepicker.formatTime(r.timeFormat,this,r),this.$timeObj&&(l===
|
45 |
-
r.timeFormat?this.$timeObj.text(this.formattedTime+o):this.$timeObj.text($.datepicker.formatTime(l,this,r)+o)),this.timeDefined=!0,u&&this._updateDateTime()}},_onSelectHandler:function(){var e=this._defaults.onSelect||this.inst.settings.onSelect,t=this.$input?this.$input[0]:null;e&&t&&e.apply(t,[this.formattedDateTime,this])},_updateDateTime:function(e){e=this.inst||e;var t=e.currentYear>0?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(e.selectedYear,e.selectedMonth,e.selectedDay),i=
|
46 |
-
$.datepicker._daylightSavingAdjust(t),s=$.datepicker._get(e,"dateFormat"),a=$.datepicker._getFormatConfig(e),n=null!==i&&this.timeDefined;this.formattedDate=$.datepicker.formatDate(s,null===i?new Date:i,a);var r=this.formattedDate;if(""===e.lastVal&&(e.currentYear=e.selectedYear,e.currentMonth=e.selectedMonth,e.currentDay=e.selectedDay),this._defaults.timeOnly===!0&&this._defaults.timeOnlyShowDate===!1?r=this.formattedTime:(this._defaults.timeOnly!==!0&&(this._defaults.alwaysSetTime||n)||this._defaults.timeOnly===
|
47 |
-
!0&&this._defaults.timeOnlyShowDate===!0)&&(r+=this._defaults.separator+this.formattedTime+this._defaults.timeSuffix),this.formattedDateTime=r,this._defaults.showTimepicker)if(this.$altInput&&this._defaults.timeOnly===!1&&this._defaults.altFieldTimeOnly===!0)this.$altInput.val(this.formattedTime),this.$input.val(this.formattedDate);else if(this.$altInput){this.$input.val(r);var l="",o=null!==this._defaults.altSeparator?this._defaults.altSeparator:this._defaults.separator,c=null!==this._defaults.altTimeSuffix?
|
48 |
-
this._defaults.altTimeSuffix:this._defaults.timeSuffix;this._defaults.timeOnly||(l=this._defaults.altFormat?$.datepicker.formatDate(this._defaults.altFormat,null===i?new Date:i,a):this.formattedDate,l&&(l+=o)),l+=null!==this._defaults.altTimeFormat?$.datepicker.formatTime(this._defaults.altTimeFormat,this,this._defaults)+c:this.formattedTime+c,this.$altInput.val(l)}else this.$input.val(r);else this.$input.val(this.formattedDate);this.$input.trigger("change")},_onFocus:function(){if(!this.$input.val()&&
|
49 |
-
this._defaults.defaultValue){this.$input.val(this._defaults.defaultValue);var e=$.datepicker._getInst(this.$input.get(0)),t=$.datepicker._get(e,"timepicker");if(t&&t._defaults.timeOnly&&e.input.val()!==e.lastVal)try{$.datepicker._updateDatepicker(e)}catch(i){$.timepicker.log(i)}}},_controls:{slider:{create:function(e,t,i,s,a,n,r){var l=e._defaults.isRTL;return t.prop("slide",null).slider({orientation:"horizontal",value:l?-1*s:s,min:l?-1*n:a,max:l?-1*a:n,step:r,slide:function(t,s){e.control.value(e,
|
50 |
-
$(this),i,l?-1*s.value:s.value),e._onTimeChange()},stop:function(){e._onSelectHandler()}})},options:function(e,t,i,s,a){if(e._defaults.isRTL){if("string"==typeof s)return"min"===s||"max"===s?void 0!==a?t.slider(s,-1*a):Math.abs(t.slider(s)):t.slider(s);var n=s.min,r=s.max;return s.min=s.max=null,void 0!==n&&(s.max=-1*n),void 0!==r&&(s.min=-1*r),t.slider(s)}return"string"==typeof s&&void 0!==a?t.slider(s,a):t.slider(s)},value:function(e,t,i,s){return e._defaults.isRTL?void 0!==s?t.slider("value",-1*
|
51 |
-
s):Math.abs(t.slider("value")):void 0!==s?t.slider("value",s):t.slider("value")}},select:{create:function(e,t,i,s,a,n,r){for(var l='<select class="ui-timepicker-select ui-state-default ui-corner-all" data-unit="'+i+'" data-min="'+a+'" data-max="'+n+'" data-step="'+r+'">',o=e._defaults.pickerTimeFormat||e._defaults.timeFormat,c=a;n>=c;c+=r)l+='<option value="'+c+'"'+(c===s?" selected":"")+">",l+="hour"===i?$.datepicker.formatTime($.trim(o.replace(/[^ht ]/gi,"")),{hour:c},e._defaults):"millisec"===
|
52 |
-
i||"microsec"===i||c>=10?c:"0"+(""+c),l+="</option>";return l+="</select>",t.children("select").remove(),$(l).appendTo(t).change(function(){e._onTimeChange(),e._onSelectHandler(),e._afterInject()}),t},options:function(e,t,i,s,a){var n={},r=t.children("select");if("string"==typeof s){if(void 0===a)return r.data(s);n[s]=a}else n=s;return e.control.create(e,t,r.data("unit"),r.val(),n.min>=0?n.min:r.data("min"),n.max||r.data("max"),n.step||r.data("step"))},value:function(e,t,i,s){var a=t.children("select");
|
53 |
-
return void 0!==s?a.val(s):a.val()}}}}),$.fn.extend({timepicker:function(e){e=e||{};var t=Array.prototype.slice.call(arguments);return"object"==typeof e&&(t[0]=$.extend(e,{timeOnly:!0})),$(this).each(function(){$.fn.datetimepicker.apply($(this),t)})},datetimepicker:function(e){e=e||{};var t=arguments;return"string"==typeof e?"getDate"===e||"option"===e&&2===t.length&&"string"==typeof t[1]?$.fn.datepicker.apply($(this[0]),t):this.each(function(){var e=$(this);e.datepicker.apply(e,t)}):this.each(function(){var t=
|
54 |
-
$(this);t.datepicker($.timepicker._newInst(t,e)._defaults)})}}),$.datepicker.parseDateTime=function(e,t,i,s,a){var n=parseDateTimeInternal(e,t,i,s,a);if(n.timeObj){var r=n.timeObj;n.date.setHours(r.hour,r.minute,r.second,r.millisec),n.date.setMicroseconds(r.microsec)}return n.date},$.datepicker.parseTime=function(e,t,i){var s=extendRemove(extendRemove({},$.timepicker._defaults),i||{});-1!==e.replace(/\'.*?\'/g,"").indexOf("Z");var a=function(e,t,i){var s,a=function(e,t){var i=[];return e&&$.merge(i,
|
55 |
-
e),t&&$.merge(i,t),i=$.map(i,function(e){return e.replace(/[.*+?|()\[\]{}\\]/g,"\\$&")}),"("+i.join("|")+")?"},n=function(e){var t=e.toLowerCase().match(/(h{1,2}|m{1,2}|s{1,2}|l{1}|c{1}|t{1,2}|z|'.*?')/g),i={h:-1,m:-1,s:-1,l:-1,c:-1,t:-1,z:-1};if(t)for(var s=0;t.length>s;s++)-1===i[(""+t[s]).charAt(0)]&&(i[(""+t[s]).charAt(0)]=s+1);return i},r="^"+(""+e).replace(/([hH]{1,2}|mm?|ss?|[tT]{1,2}|[zZ]|[lc]|'.*?')/g,function(e){var t=e.length;switch(e.charAt(0).toLowerCase()){case "h":return 1===t?"(\\d?\\d)":
|
56 |
-
"(\\d{"+t+"})";case "m":return 1===t?"(\\d?\\d)":"(\\d{"+t+"})";case "s":return 1===t?"(\\d?\\d)":"(\\d{"+t+"})";case "l":return"(\\d?\\d?\\d)";case "c":return"(\\d?\\d?\\d)";case "z":return"(z|[-+]\\d\\d:?\\d\\d|\\S+)?";case "t":return a(i.amNames,i.pmNames);default:return"("+e.replace(/\'/g,"").replace(/(\.|\$|\^|\\|\/|\(|\)|\[|\]|\?|\+|\*)/g,function(e){return"\\"+e})+")?"}}).replace(/\s/g,"\\s?")+i.timeSuffix+"$",l=n(e),o="";s=t.match(RegExp(r,"i"));var c={hour:0,minute:0,second:0,millisec:0,
|
57 |
-
microsec:0};return s?(-1!==l.t&&(void 0===s[l.t]||0===s[l.t].length?(o="",c.ampm=""):(o=-1!==$.inArray(s[l.t].toUpperCase(),$.map(i.amNames,function(e){return e.toUpperCase()}))?"AM":"PM",c.ampm=i["AM"===o?"amNames":"pmNames"][0])),-1!==l.h&&(c.hour="AM"===o&&"12"===s[l.h]?0:"PM"===o&&"12"!==s[l.h]?parseInt(s[l.h],10)+12:Number(s[l.h])),-1!==l.m&&(c.minute=Number(s[l.m])),-1!==l.s&&(c.second=Number(s[l.s])),-1!==l.l&&(c.millisec=Number(s[l.l])),-1!==l.c&&(c.microsec=Number(s[l.c])),-1!==l.z&&void 0!==
|
58 |
-
s[l.z]&&(c.timezone=$.timepicker.timezoneOffsetNumber(s[l.z])),c):!1},n=function(e,t,i){try{var s=new Date("2012-01-01 "+t);if(isNaN(s.getTime())&&(s=new Date("2012-01-01T"+t),isNaN(s.getTime())&&(s=new Date("01/01/2012 "+t),isNaN(s.getTime()))))throw"Unable to parse time with native Date: "+t;return{hour:s.getHours(),minute:s.getMinutes(),second:s.getSeconds(),millisec:s.getMilliseconds(),microsec:s.getMicroseconds(),timezone:-1*s.getTimezoneOffset()}}catch(n$0){try{return a(e,t,i)}catch(r){$.timepicker.log("Unable to parse \ntimeString: "+
|
59 |
-
t+"\ntimeFormat: "+e)}}return!1};return"function"==typeof s.parse?s.parse(e,t,s):"loose"===s.parse?n(e,t,s):a(e,t,s)},$.datepicker.formatTime=function(e,t,i){i=i||{},i=$.extend({},$.timepicker._defaults,i),t=$.extend({hour:0,minute:0,second:0,millisec:0,microsec:0,timezone:null},t);var s=e,a=i.amNames[0],n=parseInt(t.hour,10);return n>11&&(a=i.pmNames[0]),s=s.replace(/(?:HH?|hh?|mm?|ss?|[tT]{1,2}|[zZ]|[lc]|'.*?')/g,function(e){switch(e){case "HH":return("0"+n).slice(-2);case "H":return n;case "hh":return("0"+
|
60 |
-
convert24to12(n)).slice(-2);case "h":return convert24to12(n);case "mm":return("0"+t.minute).slice(-2);case "m":return t.minute;case "ss":return("0"+t.second).slice(-2);case "s":return t.second;case "l":return("00"+t.millisec).slice(-3);case "c":return("00"+t.microsec).slice(-3);case "z":return $.timepicker.timezoneOffsetString(null===t.timezone?i.timezone:t.timezone,!1);case "Z":return $.timepicker.timezoneOffsetString(null===t.timezone?i.timezone:t.timezone,!0);case "T":return a.charAt(0).toUpperCase();
|
61 |
-
case "TT":return a.toUpperCase();case "t":return a.charAt(0).toLowerCase();case "tt":return a.toLowerCase();default:return e.replace(/'/g,"")}})},$.datepicker._base_selectDate=$.datepicker._selectDate,$.datepicker._selectDate=function(e,t){var i,s=this._getInst($(e)[0]),a=this._get(s,"timepicker");a&&s.settings.showTimepicker?(a._limitMinMaxDateTime(s,!0),i=s.inline,s.inline=s.stay_open=!0,this._base_selectDate(e,t),s.inline=i,s.stay_open=!1,this._notifyChange(s),this._updateDatepicker(s)):this._base_selectDate(e,
|
62 |
-
t)},$.datepicker._base_updateDatepicker=$.datepicker._updateDatepicker,$.datepicker._updateDatepicker=function(e){var t=e.input[0];if(!($.datepicker._curInst&&$.datepicker._curInst!==e&&$.datepicker._datepickerShowing&&$.datepicker._lastInput!==t||"boolean"==typeof e.stay_open&&e.stay_open!==!1)){this._base_updateDatepicker(e);var i=this._get(e,"timepicker");i&&i._addTimePicker(e)}},$.datepicker._base_doKeyPress=$.datepicker._doKeyPress,$.datepicker._doKeyPress=function(e){var t=$.datepicker._getInst(e.target),
|
63 |
-
i=$.datepicker._get(t,"timepicker");if(i&&$.datepicker._get(t,"constrainInput")){var s=i.support.ampm,a=null!==i._defaults.showTimezone?i._defaults.showTimezone:i.support.timezone,n=$.datepicker._possibleChars($.datepicker._get(t,"dateFormat")),r=(""+i._defaults.timeFormat).replace(/[hms]/g,"").replace(/TT/g,s?"APM":"").replace(/Tt/g,s?"AaPpMm":"").replace(/tT/g,s?"AaPpMm":"").replace(/T/g,s?"AP":"").replace(/tt/g,s?"apm":"").replace(/t/g,s?"ap":"")+" "+i._defaults.separator+i._defaults.timeSuffix+
|
64 |
-
(a?i._defaults.timezoneList.join(""):"")+i._defaults.amNames.join("")+i._defaults.pmNames.join("")+n,l=String.fromCharCode(void 0===e.charCode?e.keyCode:e.charCode);return e.ctrlKey||" ">l||!n||r.indexOf(l)>-1}return $.datepicker._base_doKeyPress(e)},$.datepicker._base_updateAlternate=$.datepicker._updateAlternate,$.datepicker._updateAlternate=function(e){var t=this._get(e,"timepicker");if(t){var i=t._defaults.altField;if(i){var s=(t._defaults.altFormat||t._defaults.dateFormat,this._getDate(e)),a=
|
65 |
-
$.datepicker._getFormatConfig(e),n="",r=t._defaults.altSeparator?t._defaults.altSeparator:t._defaults.separator,l=t._defaults.altTimeSuffix?t._defaults.altTimeSuffix:t._defaults.timeSuffix,o=null!==t._defaults.altTimeFormat?t._defaults.altTimeFormat:t._defaults.timeFormat;n+=$.datepicker.formatTime(o,t,t._defaults)+l,t._defaults.timeOnly||t._defaults.altFieldTimeOnly||null===s||(n=t._defaults.altFormat?$.datepicker.formatDate(t._defaults.altFormat,s,a)+r+n:t.formattedDate+r+n),$(i).val(e.input.val()?
|
66 |
-
n:"")}}else $.datepicker._base_updateAlternate(e)},$.datepicker._base_doKeyUp=$.datepicker._doKeyUp,$.datepicker._doKeyUp=function(e){var t=$.datepicker._getInst(e.target),i=$.datepicker._get(t,"timepicker");if(i&&i._defaults.timeOnly&&t.input.val()!==t.lastVal)try{$.datepicker._updateDatepicker(t)}catch(s){$.timepicker.log(s)}return $.datepicker._base_doKeyUp(e)},$.datepicker._base_gotoToday=$.datepicker._gotoToday,$.datepicker._gotoToday=function(e){var t=this._getInst($(e)[0]);t.dpDiv;var i=this._get(t,
|
67 |
-
"timepicker");selectLocalTimezone(i);var s=new Date;this._setTime(t,s),this._setDate(t,s),this._base_gotoToday(e)},$.datepicker._disableTimepickerDatepicker=function(e){var t=this._getInst(e);if(t){var i=this._get(t,"timepicker");$(e).datepicker("getDate"),i&&(t.settings.showTimepicker=!1,i._defaults.showTimepicker=!1,i._updateDateTime(t))}},$.datepicker._enableTimepickerDatepicker=function(e){var t=this._getInst(e);if(t){var i=this._get(t,"timepicker");$(e).datepicker("getDate"),i&&(t.settings.showTimepicker=
|
68 |
-
!0,i._defaults.showTimepicker=!0,i._addTimePicker(t),i._updateDateTime(t))}},$.datepicker._setTime=function(e,t){var i=this._get(e,"timepicker");if(i){var s=i._defaults;i.hour=t?t.getHours():s.hour,i.minute=t?t.getMinutes():s.minute,i.second=t?t.getSeconds():s.second,i.millisec=t?t.getMilliseconds():s.millisec,i.microsec=t?t.getMicroseconds():s.microsec,i._limitMinMaxDateTime(e,!0),i._onTimeChange(),i._updateDateTime(e)}},$.datepicker._setTimeDatepicker=function(e,t,i){var s=this._getInst(e);if(s){var a=
|
69 |
-
this._get(s,"timepicker");if(a){this._setDateFromField(s);var n;t&&("string"==typeof t?(a._parseTime(t,i),n=new Date,n.setHours(a.hour,a.minute,a.second,a.millisec),n.setMicroseconds(a.microsec)):(n=new Date(t.getTime()),n.setMicroseconds(t.getMicroseconds())),"Invalid Date"==""+n&&(n=void 0),this._setTime(s,n))}}},$.datepicker._base_setDateDatepicker=$.datepicker._setDateDatepicker,$.datepicker._setDateDatepicker=function(e,t){var i=this._getInst(e),s=t;if(i){"string"==typeof t&&(s=new Date(t),s.getTime()||
|
70 |
-
(this._base_setDateDatepicker.apply(this,arguments),s=$(e).datepicker("getDate")));var a,n=this._get(i,"timepicker");s instanceof Date?(a=new Date(s.getTime()),a.setMicroseconds(s.getMicroseconds())):a=s,n&&a&&(n.support.timezone||null!==n._defaults.timezone||(n.timezone=-1*a.getTimezoneOffset()),s=$.timepicker.timezoneAdjust(s,n.timezone),a=$.timepicker.timezoneAdjust(a,n.timezone)),this._updateDatepicker(i),this._base_setDateDatepicker.apply(this,arguments),this._setTimeDatepicker(e,a,!0)}},$.datepicker._base_getDateDatepicker=
|
71 |
-
$.datepicker._getDateDatepicker,$.datepicker._getDateDatepicker=function(e,t){var i=this._getInst(e);if(i){var s=this._get(i,"timepicker");if(s){void 0===i.lastVal&&this._setDateFromField(i,t);var a=this._getDate(i),n=$.trim(s.$altInput&&s._defaults.altFieldTimeOnly?s.$input.val()+" "+s.$altInput.val():s.$input.val());return a&&s._parseTime(n,!i.settings.timeOnly)&&(a.setHours(s.hour,s.minute,s.second,s.millisec),a.setMicroseconds(s.microsec),null!=s.timezone&&(s.support.timezone||null!==s._defaults.timezone||
|
72 |
-
(s.timezone=-1*a.getTimezoneOffset()),a=$.timepicker.timezoneAdjust(a,s.timezone))),a}return this._base_getDateDatepicker(e,t)}},$.datepicker._base_parseDate=$.datepicker.parseDate,$.datepicker.parseDate=function(e,t,i){var s;try{s=this._base_parseDate(e,t,i)}catch(a){if(!(a.indexOf(":")>=0))throw a;s=this._base_parseDate(e,t.substring(0,t.length-(a.length-a.indexOf(":")-2)),i),$.timepicker.log("Error parsing the date string: "+a+"\ndate string = "+t+"\ndate format = "+e)}return s},$.datepicker._base_formatDate=
|
73 |
-
$.datepicker._formatDate,$.datepicker._formatDate=function(e){var t=this._get(e,"timepicker");return t?(t._updateDateTime(e),t.$input.val()):this._base_formatDate(e)},$.datepicker._base_optionDatepicker=$.datepicker._optionDatepicker,$.datepicker._optionDatepicker=function(e,t,i){var s,a=this._getInst(e);if(!a)return null;var n=this._get(a,"timepicker");if(n){var r,l,o,c,u=null,m=null,d=null,h=n._defaults.evnts,p={};if("string"==typeof t)if("minDate"===t||"minDateTime"===t)u=i;else if("maxDate"===
|
74 |
-
t||"maxDateTime"===t)m=i;else if("onSelect"===t)d=i;else{if(h.hasOwnProperty(t)){if(i===void 0)return h[t];p[t]=i,s={}}}else if("object"==typeof t){t.minDate?u=t.minDate:t.minDateTime?u=t.minDateTime:t.maxDate?m=t.maxDate:t.maxDateTime&&(m=t.maxDateTime);for(r in h)h.hasOwnProperty(r)&&t[r]&&(p[r]=t[r])}for(r in p)p.hasOwnProperty(r)&&(h[r]=p[r],s||(s=$.extend({},t)),delete s[r]);if(s&&isEmptyObject(s))return;if(u?(u=0===u?new Date:new Date(u),n._defaults.minDate=u,n._defaults.minDateTime=u):m?(m=
|
75 |
-
0===m?new Date:new Date(m),n._defaults.maxDate=m,n._defaults.maxDateTime=m):d&&(n._defaults.onSelect=d),u||m)return c=$(e),o=c.datetimepicker("getDate"),l=this._base_optionDatepicker.call($.datepicker,e,s||t,i),c.datetimepicker("setDate",o),l}return void 0===i?this._base_optionDatepicker.call($.datepicker,e,t):this._base_optionDatepicker.call($.datepicker,e,s||t,i)};var isEmptyObject=function(e){var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0},extendRemove=function(e,t){$.extend(e,t);for(var i in t)(null===
|
76 |
-
t[i]||void 0===t[i])&&(e[i]=t[i]);return e},detectSupport=function(e){var t=e.replace(/'.*?'/g,"").toLowerCase(),i=function(e,t){return-1!==e.indexOf(t)?!0:!1};return{hour:i(t,"h"),minute:i(t,"m"),second:i(t,"s"),millisec:i(t,"l"),microsec:i(t,"c"),timezone:i(t,"z"),ampm:i(t,"t")&&i(e,"h"),iso8601:i(e,"Z")}},convert24to12=function(e){return e%=12,0===e&&(e=12),e+""},computeEffectiveSetting=function(e,t){return e&&e[t]?e[t]:$.timepicker._defaults[t]},splitDateTime=function(e,t){var i=computeEffectiveSetting(t,
|
77 |
-
"separator"),s=computeEffectiveSetting(t,"timeFormat"),a=s.split(i),n=a.length,r=e.split(i),l=r.length;return l>1?{dateString:r.splice(0,l-n).join(i),timeString:r.splice(0,n).join(i)}:{dateString:e,timeString:""}},parseDateTimeInternal=function(e,t,i,s,a){var n,r,l;if(r=splitDateTime(i,a),n=$.datepicker._base_parseDate(e,r.dateString,s),""===r.timeString)return{date:n};if(l=$.datepicker.parseTime(t,r.timeString,a),!l)throw"Wrong time format";return{date:n,timeObj:l}},selectLocalTimezone=function(e,
|
78 |
-
t){if(e&&e.timezone_select){var i=t||new Date;e.timezone_select.val(-i.getTimezoneOffset())}};$.timepicker=new Timepicker,$.timepicker.timezoneOffsetString=function(e,t){if(isNaN(e)||e>840||-720>e)return e;var i=e,s=i%60,a=(i-s)/60,n=t?":":"",r=(i>=0?"+":"-")+("0"+Math.abs(a)).slice(-2)+n+("0"+Math.abs(s)).slice(-2);return"+00:00"===r?"Z":r},$.timepicker.timezoneOffsetNumber=function(e){var t=(""+e).replace(":","");return"Z"===t.toUpperCase()?0:/^(\-|\+)\d{4}$/.test(t)?("-"===t.substr(0,1)?-1:1)*
|
79 |
-
(60*parseInt(t.substr(1,2),10)+parseInt(t.substr(3,2),10)):e},$.timepicker.timezoneAdjust=function(e,t){var i=$.timepicker.timezoneOffsetNumber(t);return isNaN(i)||e.setMinutes(e.getMinutes()+-e.getTimezoneOffset()-i),e},$.timepicker.timeRange=function(e,t,i){return $.timepicker.handleRange("timepicker",e,t,i)},$.timepicker.datetimeRange=function(e,t,i){$.timepicker.handleRange("datetimepicker",e,t,i)},$.timepicker.dateRange=function(e,t,i){$.timepicker.handleRange("datepicker",e,t,i)},$.timepicker.handleRange=
|
80 |
-
function(e,t,i,s){function a(a,n){var r=t[e]("getDate"),l=i[e]("getDate"),o=a[e]("getDate");if(null!==r){var c=new Date(r.getTime()),u=new Date(r.getTime());c.setMilliseconds(c.getMilliseconds()+s.minInterval),u.setMilliseconds(u.getMilliseconds()+s.maxInterval),s.minInterval>0&&c>l?i[e]("setDate",c):s.maxInterval>0&&l>u?i[e]("setDate",u):r>l&&n[e]("setDate",o)}}function n(t,i,a){if(t.val()){var n=t[e].call(t,"getDate");null!==n&&s.minInterval>0&&("minDate"===a&&n.setMilliseconds(n.getMilliseconds()+
|
81 |
-
s.minInterval),"maxDate"===a&&n.setMilliseconds(n.getMilliseconds()-s.minInterval)),n.getTime&&i[e].call(i,"option",a,n)}}s=$.extend({},{minInterval:0,maxInterval:0,start:{},end:{}},s);var r=!1;return"timepicker"===e&&(r=!0,e="datetimepicker"),$.fn[e].call(t,$.extend({timeOnly:r,onClose:function(){a($(this),i)},onSelect:function(){n($(this),i,"minDate")}},s,s.start)),$.fn[e].call(i,$.extend({timeOnly:r,onClose:function(){a($(this),t)},onSelect:function(){n($(this),t,"maxDate")}},s,s.end)),a(t,i),
|
82 |
-
n(t,i,"minDate"),n(i,t,"maxDate"),$([t.get(0),i.get(0)])},$.timepicker.log=function(){window.console&&window.console.log.apply(window.console,Array.prototype.slice.call(arguments))},$.timepicker._util={_extendRemove:extendRemove,_isEmptyObject:isEmptyObject,_convert24to12:convert24to12,_detectSupport:detectSupport,_selectLocalTimezone:selectLocalTimezone,_computeEffectiveSetting:computeEffectiveSetting,_splitDateTime:splitDateTime,_parseDateTimeInternal:parseDateTimeInternal},Date.prototype.getMicroseconds||
|
83 |
-
(Date.prototype.microseconds=0,Date.prototype.getMicroseconds=function(){return this.microseconds},Date.prototype.setMicroseconds=function(e){return this.setMilliseconds(this.getMilliseconds()+Math.floor(e/1E3)),this.microseconds=e%1E3,this}),$.timepicker.version="1.5.5"}});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wordpress_file_upload.php
CHANGED
@@ -4,14 +4,14 @@ if( !session_id() ) { session_start(); }
|
|
4 |
/*
|
5 |
Plugin URI: http://www.iptanus.com/support/wordpress-file-upload
|
6 |
Description: Simple interface to upload files from a page.
|
7 |
-
Version: 4.0
|
8 |
Author: Nickolas Bossinas
|
9 |
Author URI: http://www.iptanus.com
|
10 |
*/
|
11 |
|
12 |
/*
|
13 |
Wordpress File Upload (Wordpress Plugin)
|
14 |
-
Copyright (C) 2010-
|
15 |
Contact me at http://www.iptanus.com
|
16 |
|
17 |
This program is free software: you can redistribute it and/or modify
|
@@ -96,7 +96,7 @@ function register_wfu_widget() {
|
|
96 |
}
|
97 |
|
98 |
function wfu_enqueue_frontpage_scripts() {
|
99 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
100 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
101 |
$relaxcss = false;
|
102 |
if ( isset($plugin_options['relaxcss']) ) $relaxcss = ( $plugin_options['relaxcss'] == '1' );
|
@@ -114,22 +114,25 @@ function wfu_enqueue_frontpage_scripts() {
|
|
114 |
wp_enqueue_style('wordpress-file-upload-style', WPFILEUPLOAD_DIR.'css/wordpress_file_upload_style.css',false,'1.0','all');
|
115 |
wp_enqueue_style('wordpress-file-upload-style-safe', WPFILEUPLOAD_DIR.'css/wordpress_file_upload_style_safe.css',false,'1.0','all');
|
116 |
}
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
|
|
|
|
121 |
wp_enqueue_script('wordpress_file_upload_script', WPFILEUPLOAD_DIR.'js/wordpress_file_upload_functions.js');
|
122 |
-
wp_enqueue_script('jquery-ui-slider', false, array(), false, true);
|
123 |
-
wp_enqueue_script('jquery-ui-datepicker', false, array(), false, true);
|
124 |
-
wp_enqueue_script('jquery-ui-timepicker-addon-js',
|
125 |
}
|
126 |
|
127 |
function wfu_include_lib() {
|
128 |
-
|
|
|
129 |
$blacklist = array('.', '..');
|
130 |
while ( false !== ($file = readdir($handle)) )
|
131 |
if ( !in_array($file, $blacklist) && substr($file, 0, 1) != "_" )
|
132 |
-
include_once
|
133 |
closedir($handle);
|
134 |
}
|
135 |
if ( $handle = opendir(plugin_dir_path( __FILE__ )) ) {
|
@@ -137,6 +140,7 @@ function wfu_include_lib() {
|
|
137 |
}
|
138 |
}
|
139 |
|
|
|
140 |
/* exit if we are in admin pages (in case of ajax call) */
|
141 |
if ( is_admin() ) return;
|
142 |
|
@@ -165,7 +169,7 @@ function wordpress_file_upload_browser_handler($incomingfrompost) {
|
|
165 |
}
|
166 |
|
167 |
function wordpress_file_upload_function($incomingfromhandler) {
|
168 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
169 |
global $post;
|
170 |
global $blog_id;
|
171 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
@@ -215,7 +219,7 @@ function wordpress_file_upload_function($incomingfromhandler) {
|
|
215 |
$uploadrole = trim($uploadrole);
|
216 |
}
|
217 |
$plugin_upload_user_role = wfu_get_user_role($user, $uploadroles);
|
218 |
-
if ( $plugin_upload_user_role == 'nomatch' ) return;
|
219 |
|
220 |
//activate debug mode only for admins
|
221 |
if ( $plugin_upload_user_role != 'administrator' ) $params["debugmode"] = "false";
|
@@ -307,11 +311,14 @@ function wordpress_file_upload_function($incomingfromhandler) {
|
|
307 |
if ( $heights["plugin"] != "" ) $plugin_style .= 'height: '.$heights["plugin"].'; ';
|
308 |
if ( $plugin_style != "" ) $plugin_style = ' style="'.$plugin_style.'"';
|
309 |
$wordpress_file_upload_output .= '<div id="'.$init_params["container_id"].'" class="file_div_clean'.( $params["fitmode"] == "responsive" ? '_responsive_container' : '' ).' wfu_container"'.$plugin_style.'>';
|
310 |
-
$wordpress_file_upload_output .= "\n".'<!-- Using template '
|
311 |
//read indexed component definitions
|
312 |
$component_output = "";
|
313 |
$css = "";
|
314 |
$js = "";
|
|
|
|
|
|
|
315 |
$components = wfu_component_definitions();
|
316 |
$components_indexed = array();
|
317 |
foreach ( $components as $component ) {
|
@@ -480,7 +487,7 @@ function wfu_post_plugin_actions($params) {
|
|
480 |
}
|
481 |
|
482 |
function wfu_get_subfolders_paths($params) {
|
483 |
-
switch(WFU_FUNCTION_HOOK(__FUNCTION__,
|
484 |
$subfolder_paths = array ( );
|
485 |
if ( $params["askforsubfolders"] == "true" && $params["testmode"] != "true" ) {
|
486 |
array_push($subfolder_paths, "");
|
4 |
/*
|
5 |
Plugin URI: http://www.iptanus.com/support/wordpress-file-upload
|
6 |
Description: Simple interface to upload files from a page.
|
7 |
+
Version: 4.1.0
|
8 |
Author: Nickolas Bossinas
|
9 |
Author URI: http://www.iptanus.com
|
10 |
*/
|
11 |
|
12 |
/*
|
13 |
Wordpress File Upload (Wordpress Plugin)
|
14 |
+
Copyright (C) 2010-2017 Nickolas Bossinas
|
15 |
Contact me at http://www.iptanus.com
|
16 |
|
17 |
This program is free software: you can redistribute it and/or modify
|
96 |
}
|
97 |
|
98 |
function wfu_enqueue_frontpage_scripts() {
|
99 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
100 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
101 |
$relaxcss = false;
|
102 |
if ( isset($plugin_options['relaxcss']) ) $relaxcss = ( $plugin_options['relaxcss'] == '1' );
|
114 |
wp_enqueue_style('wordpress-file-upload-style', WPFILEUPLOAD_DIR.'css/wordpress_file_upload_style.css',false,'1.0','all');
|
115 |
wp_enqueue_style('wordpress-file-upload-style-safe', WPFILEUPLOAD_DIR.'css/wordpress_file_upload_style_safe.css',false,'1.0','all');
|
116 |
}
|
117 |
+
//do not load JQuery UI css if $ret_data denotes incompatibility issues
|
118 |
+
if ( ( !isset($ret_data["correct_NextGenGallery_incompatibility"]) || $ret_data["correct_NextGenGallery_incompatibility"] != "true" ) &&
|
119 |
+
( !isset($ret_data["correct_JQueryUI_incompatibility"]) || $ret_data["correct_JQueryUI_incompatibility"] != "true" ) )
|
120 |
+
wp_enqueue_style('jquery-ui-css', '//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.min.css');
|
121 |
+
wp_enqueue_style('jquery-ui-timepicker-addon-css', '//cdnjs.cloudflare.com/ajax/libs/jquery-ui-timepicker-addon/1.6.3/jquery-ui-timepicker-addon.min.css');
|
122 |
+
wp_enqueue_script('json2');
|
123 |
wp_enqueue_script('wordpress_file_upload_script', WPFILEUPLOAD_DIR.'js/wordpress_file_upload_functions.js');
|
124 |
+
wp_enqueue_script('jquery-ui-slider', false, array('jquery'), false, true);
|
125 |
+
wp_enqueue_script('jquery-ui-datepicker', false, array('jquery'), false, true);
|
126 |
+
wp_enqueue_script('jquery-ui-timepicker-addon-js', '//cdnjs.cloudflare.com/ajax/libs/jquery-ui-timepicker-addon/1.6.3/jquery-ui-timepicker-addon.min.js', array(), false, true);
|
127 |
}
|
128 |
|
129 |
function wfu_include_lib() {
|
130 |
+
$dir = plugin_dir_path( __FILE__ )."lib/";
|
131 |
+
if ( $handle = opendir($dir) ) {
|
132 |
$blacklist = array('.', '..');
|
133 |
while ( false !== ($file = readdir($handle)) )
|
134 |
if ( !in_array($file, $blacklist) && substr($file, 0, 1) != "_" )
|
135 |
+
include_once $dir.$file;
|
136 |
closedir($handle);
|
137 |
}
|
138 |
if ( $handle = opendir(plugin_dir_path( __FILE__ )) ) {
|
140 |
}
|
141 |
}
|
142 |
|
143 |
+
|
144 |
/* exit if we are in admin pages (in case of ajax call) */
|
145 |
if ( is_admin() ) return;
|
146 |
|
169 |
}
|
170 |
|
171 |
function wordpress_file_upload_function($incomingfromhandler) {
|
172 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
173 |
global $post;
|
174 |
global $blog_id;
|
175 |
$plugin_options = wfu_decode_plugin_options(get_option( "wordpress_file_upload_options" ));
|
219 |
$uploadrole = trim($uploadrole);
|
220 |
}
|
221 |
$plugin_upload_user_role = wfu_get_user_role($user, $uploadroles);
|
222 |
+
if ( $plugin_upload_user_role == 'nomatch' ) return apply_filters("_wfu_file_upload_hide_output", "");
|
223 |
|
224 |
//activate debug mode only for admins
|
225 |
if ( $plugin_upload_user_role != 'administrator' ) $params["debugmode"] = "false";
|
311 |
if ( $heights["plugin"] != "" ) $plugin_style .= 'height: '.$heights["plugin"].'; ';
|
312 |
if ( $plugin_style != "" ) $plugin_style = ' style="'.$plugin_style.'"';
|
313 |
$wordpress_file_upload_output .= '<div id="'.$init_params["container_id"].'" class="file_div_clean'.( $params["fitmode"] == "responsive" ? '_responsive_container' : '' ).' wfu_container"'.$plugin_style.'>';
|
314 |
+
$wordpress_file_upload_output .= "\n".'<!-- Using template '.call_user_func(array($uploadertemplate, 'get_name')).' -->';
|
315 |
//read indexed component definitions
|
316 |
$component_output = "";
|
317 |
$css = "";
|
318 |
$js = "";
|
319 |
+
/* Add generic uploadform code to output from template */
|
320 |
+
$wordpress_file_upload_output .= wfu_template_to_HTML("base", $params, array(), 0);
|
321 |
+
/* Continue with uploadform elements */
|
322 |
$components = wfu_component_definitions();
|
323 |
$components_indexed = array();
|
324 |
foreach ( $components as $component ) {
|
487 |
}
|
488 |
|
489 |
function wfu_get_subfolders_paths($params) {
|
490 |
+
$a = func_get_args(); switch(WFU_FUNCTION_HOOK(__FUNCTION__, $a, $out)) { case 'X': break; case 'R': return $out; break; case 'D': die($out); break; }
|
491 |
$subfolder_paths = array ( );
|
492 |
if ( $params["askforsubfolders"] == "true" && $params["testmode"] != "true" ) {
|
493 |
array_push($subfolder_paths, "");
|