Duplicator – WordPress Migration Plugin - Version 1.1.0

Version Description

Download this release

Release Info

Developer cory@lamle.org
Plugin Icon 128x128 Duplicator – WordPress Migration Plugin
Version 1.1.0
Comparing to
See all releases

Code changes from version 0.5.34 to 1.1.0

assets/css/style.css CHANGED
@@ -11,11 +11,7 @@ fieldset {border:1px solid gray; padding:0px 5px 5px 5px; }
11
  label {font-size:13px}
12
  .no-select {user-select:none; -o-user-select:none; -moz-user-select:none; -khtml-user-select:none; -webkit-user-select:none;}
13
  hr {border: 0; border-top: 1px solid #ddd; border-bottom: 1px solid #fafafa; margin: 10px 0px 2px 0px;}
14
-
15
- /* HEADER BAR */
16
- div.dup-header {padding:0px 0px 0px 0px; margin:0px 0px 7px 0px;}
17
- div.dup-header input {border:1px solid silver; border-radius:4px}
18
- div.dup-header input:hover {border:1px solid black;}
19
 
20
  /*BOXES: Expandable sections */
21
  div.dup-box {padding:0px; display: block; background-color: #fff; border: 1px solid #e5e5e5; box-shadow: 0 1px 1px rgba(0,0,0,.04);}
11
  label {font-size:13px}
12
  .no-select {user-select:none; -o-user-select:none; -moz-user-select:none; -khtml-user-select:none; -webkit-user-select:none;}
13
  hr {border: 0; border-top: 1px solid #ddd; border-bottom: 1px solid #fafafa; margin: 10px 0px 2px 0px;}
14
+ i[data-tooltip].fa-question-circle {cursor: pointer; color:gray}
 
 
 
 
15
 
16
  /*BOXES: Expandable sections */
17
  div.dup-box {padding:0px; display: block; background-color: #fff; border: 1px solid #e5e5e5; box-shadow: 0 1px 1px rgba(0,0,0,.04);}
assets/img/logo-box.png CHANGED
Binary file
assets/img/logo-menu.png ADDED
Binary file
assets/img/logo-menu.svg ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Artwork" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ width="23.25px" height="22.375px" viewBox="0 0 23.25 22.375" enable-background="new 0 0 23.25 22.375" xml:space="preserve">
6
+ <path fill="#9CA1A6" d="M18.011,1.188c-1.995,0-3.615,1.618-3.615,3.614c0,0.085,0.008,0.167,0.016,0.25L7.733,8.184
7
+ C7.084,7.565,6.208,7.182,5.24,7.182c-1.996,0-3.615,1.619-3.615,3.614c0,1.996,1.619,3.613,3.615,3.613
8
+ c0.629,0,1.222-0.162,1.737-0.445l2.89,2.438c-0.126,0.368-0.198,0.763-0.198,1.173c0,1.995,1.618,3.613,3.614,3.613
9
+ c1.995,0,3.615-1.618,3.615-3.613c0-1.997-1.62-3.614-3.615-3.614c-0.63,0-1.222,0.162-1.737,0.443l-2.89-2.435
10
+ c0.126-0.368,0.198-0.763,0.198-1.173c0-0.084-0.008-0.166-0.013-0.25l6.676-3.133c0.648,0.619,1.525,1.002,2.495,1.002
11
+ c1.994,0,3.613-1.617,3.613-3.613C21.625,2.806,20.006,1.188,18.011,1.188z"/>
12
+ </svg>
assets/img/logo-pro-32.png ADDED
Binary file
assets/img/paypal.png CHANGED
Binary file
assets/js/jquery.qtip/jquery.qtip.min.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ /* qTip2 v2.2.1 | Plugins: tips modal viewport svg imagemap ie6 | Styles: core basic css3 | qtip2.com | Licensed MIT | Sat Sep 06 2014 23:12:07 */
2
+
3
+ .qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:350px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content{position:relative;padding:5px 9px;overflow:hidden;text-align:left;word-wrap:break-word}.qtip-titlebar{position:relative;padding:5px 35px 5px 10px;overflow:hidden;border-width:0 0 1px;font-weight:700}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{position:absolute;right:-9px;top:-9px;z-index:11;cursor:pointer;outline:0;border:1px solid transparent}.qtip-titlebar .qtip-close{right:4px;top:50%;margin-top:-9px}* html .qtip-titlebar .qtip-close{top:16px}.qtip-icon .ui-icon,.qtip-titlebar .ui-icon{display:block;text-indent:-1000em;direction:ltr}.qtip-icon,.qtip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{width:18px;height:14px;line-height:14px;text-align:center;text-indent:0;font:400 bold 10px/13px Tahoma,sans-serif;color:inherit;background:-100em -100em no-repeat}.qtip-default{border:1px solid #F1D031;background-color:#FFFFA3;color:#555}.qtip-default .qtip-titlebar{background-color:#FFEF93}.qtip-default .qtip-icon{border-color:#CCC;background:#F1F1F1;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#AAA;color:#111}.qtip-light{background-color:#fff;border-color:#E2E2E2;color:#454545}.qtip-light .qtip-titlebar{background-color:#f1f1f1}.qtip-dark{background-color:#505050;border-color:#303030;color:#f3f3f3}.qtip-dark .qtip-titlebar{background-color:#404040}.qtip-dark .qtip-icon{border-color:#444}.qtip-dark .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-cream{background-color:#FBF7AA;border-color:#F9E98E;color:#A27D35}.qtip-cream .qtip-titlebar{background-color:#F0DE7D}.qtip-cream .qtip-close .qtip-icon{background-position:-82px 0}.qtip-red{background-color:#F78B83;border-color:#D95252;color:#912323}.qtip-red .qtip-titlebar{background-color:#F06D65}.qtip-red .qtip-close .qtip-icon{background-position:-102px 0}.qtip-red .qtip-icon,.qtip-red .qtip-titlebar .ui-state-hover{border-color:#D95252}.qtip-green{background-color:#CAED9E;border-color:#90D93F;color:#3F6219}.qtip-green .qtip-titlebar{background-color:#B0DE78}.qtip-green .qtip-close .qtip-icon{background-position:-42px 0}.qtip-blue{background-color:#E5F6FE;border-color:#ADD9ED;color:#5E99BD}.qtip-blue .qtip-titlebar{background-color:#D0E9F5}.qtip-blue .qtip-close .qtip-icon{background-position:-2px 0}.qtip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-bootstrap,.qtip-rounded,.qtip-tipsy{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.qtip-rounded .qtip-titlebar{-moz-border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.qtip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border:0 solid transparent;background:#4A4A4A;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,#000));background-image:-webkit-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-moz-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-ms-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-o-linear-gradient(top,#4A4A4A 0,#000 100%)}.qtip-youtube .qtip-titlebar{background-color:transparent}.qtip-youtube .qtip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-linear-gradient(top,#717171,#232323);background-image:-ms-linear-gradient(top,#717171,#232323);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #ddd;border:2px solid rgba(241,241,241,1);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"}.qtip-jtools .qtip-content,.qtip-jtools .qtip-titlebar{background:0 0;color:#fff;border:0 dashed transparent}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#D9D9C2;color:#111;border:0 dashed transparent}.qtip-cluetip .qtip-titlebar{background-color:#87876A;color:#fff;border:0 dashed transparent}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-family:'Lucida Grande',sans-serif;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{padding:6px 35px 0 10px;background-color:transparent}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{border:3px solid #959FA9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#F9F9F9;color:#454545;font-weight:400;font-family:serif}.qtip-tipped .qtip-titlebar{border-bottom-width:0;color:#fff;background:#3A79B8;background-image:-webkit-gradient(linear,left top,left bottom,from(#3A79B8),to(#2E629D));background-image:-webkit-linear-gradient(top,#3A79B8,#2E629D);background-image:-moz-linear-gradient(top,#3A79B8,#2E629D);background-image:-ms-linear-gradient(top,#3A79B8,#2E629D);background-image:-o-linear-gradient(top,#3A79B8,#2E629D);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{border:2px solid #285589;background:#285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#FBFBFB;color:#555}.qtip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.qtip-bootstrap .qtip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.qtip-bootstrap .qtip-titlebar .qtip-close{right:11px;top:45%;border-style:none}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:0 0}.qtip-bootstrap .qtip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}.qtip .qtip-tip{margin:0 auto;overflow:hidden;z-index:10}.qtip .qtip-tip,x:-o-prefocus{visibility:hidden}.qtip .qtip-tip,.qtip .qtip-tip .qtip-vml,.qtip .qtip-tip canvas{position:absolute;color:#123456;background:0 0;border:0 dashed transparent}.qtip .qtip-tip canvas{top:0;left:0}.qtip .qtip-tip .qtip-vml{behavior:url(#default#VML);display:inline-block;visibility:visible}#qtip-overlay{position:fixed;left:0;top:0;width:100%;height:100%}#qtip-overlay.blurs{cursor:pointer}#qtip-overlay div{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;opacity:.7;filter:alpha(opacity=70);-ms-filter:"alpha(Opacity=70)"}.qtipmodal-ie6fix{position:absolute!important}
assets/js/jquery.qtip/jquery.qtip.min.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /* qTip2 v2.2.1 | Plugins: tips modal viewport svg imagemap ie6 | Styles: core basic css3 | qtip2.com | Licensed MIT | Sat Sep 06 2014 23:12:07 */
2
+
3
+ !function(a,b,c){!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):jQuery&&!jQuery.fn.qtip&&a(jQuery)}(function(d){"use strict";function e(a,b,c,e){this.id=c,this.target=a,this.tooltip=F,this.elements={target:a},this._id=S+"-"+c,this.timers={img:{}},this.options=b,this.plugins={},this.cache={event:{},target:d(),disabled:E,attr:e,onTooltip:E,lastClass:""},this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=E}function f(a){return a===F||"object"!==d.type(a)}function g(a){return!(d.isFunction(a)||a&&a.attr||a.length||"object"===d.type(a)&&(a.jquery||a.then))}function h(a){var b,c,e,h;return f(a)?E:(f(a.metadata)&&(a.metadata={type:a.metadata}),"content"in a&&(b=a.content,f(b)||b.jquery||b.done?b=a.content={text:c=g(b)?E:b}:c=b.text,"ajax"in b&&(e=b.ajax,h=e&&e.once!==E,delete b.ajax,b.text=function(a,b){var f=c||d(this).attr(b.options.content.attr)||"Loading...",g=d.ajax(d.extend({},e,{context:b})).then(e.success,F,e.error).then(function(a){return a&&h&&b.set("content.text",a),a},function(a,c,d){b.destroyed||0===a.status||b.set("content.text",c+": "+d)});return h?f:(b.set("content.text",f),g)}),"title"in b&&(d.isPlainObject(b.title)&&(b.button=b.title.button,b.title=b.title.text),g(b.title||E)&&(b.title=E))),"position"in a&&f(a.position)&&(a.position={my:a.position,at:a.position}),"show"in a&&f(a.show)&&(a.show=a.show.jquery?{target:a.show}:a.show===D?{ready:D}:{event:a.show}),"hide"in a&&f(a.hide)&&(a.hide=a.hide.jquery?{target:a.hide}:{event:a.hide}),"style"in a&&f(a.style)&&(a.style={classes:a.style}),d.each(R,function(){this.sanitize&&this.sanitize(a)}),a)}function i(a,b){for(var c,d=0,e=a,f=b.split(".");e=e[f[d++]];)d<f.length&&(c=e);return[c||a,f.pop()]}function j(a,b){var c,d,e;for(c in this.checks)for(d in this.checks[c])(e=new RegExp(d,"i").exec(a))&&(b.push(e),("builtin"===c||this.plugins[c])&&this.checks[c][d].apply(this.plugins[c]||this,b))}function k(a){return V.concat("").join(a?"-"+a+" ":" ")}function l(a,b){return b>0?setTimeout(d.proxy(a,this),b):void a.call(this)}function m(a){this.tooltip.hasClass(ab)||(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this.timers.show=l.call(this,function(){this.toggle(D,a)},this.options.show.delay))}function n(a){if(!this.tooltip.hasClass(ab)&&!this.destroyed){var b=d(a.relatedTarget),c=b.closest(W)[0]===this.tooltip[0],e=b[0]===this.options.show.target[0];if(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this!==b[0]&&"mouse"===this.options.position.target&&c||this.options.hide.fixed&&/mouse(out|leave|move)/.test(a.type)&&(c||e))try{a.preventDefault(),a.stopImmediatePropagation()}catch(f){}else this.timers.hide=l.call(this,function(){this.toggle(E,a)},this.options.hide.delay,this)}}function o(a){!this.tooltip.hasClass(ab)&&this.options.hide.inactive&&(clearTimeout(this.timers.inactive),this.timers.inactive=l.call(this,function(){this.hide(a)},this.options.hide.inactive))}function p(a){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(a)}function q(a,c,e){d(b.body).delegate(a,(c.split?c:c.join("."+S+" "))+"."+S,function(){var a=y.api[d.attr(this,U)];a&&!a.disabled&&e.apply(a,arguments)})}function r(a,c,f){var g,i,j,k,l,m=d(b.body),n=a[0]===b?m:a,o=a.metadata?a.metadata(f.metadata):F,p="html5"===f.metadata.type&&o?o[f.metadata.name]:F,q=a.data(f.metadata.name||"qtipopts");try{q="string"==typeof q?d.parseJSON(q):q}catch(r){}if(k=d.extend(D,{},y.defaults,f,"object"==typeof q?h(q):F,h(p||o)),i=k.position,k.id=c,"boolean"==typeof k.content.text){if(j=a.attr(k.content.attr),k.content.attr===E||!j)return E;k.content.text=j}if(i.container.length||(i.container=m),i.target===E&&(i.target=n),k.show.target===E&&(k.show.target=n),k.show.solo===D&&(k.show.solo=i.container.closest("body")),k.hide.target===E&&(k.hide.target=n),k.position.viewport===D&&(k.position.viewport=i.container),i.container=i.container.eq(0),i.at=new A(i.at,D),i.my=new A(i.my),a.data(S))if(k.overwrite)a.qtip("destroy",!0);else if(k.overwrite===E)return E;return a.attr(T,c),k.suppress&&(l=a.attr("title"))&&a.removeAttr("title").attr(cb,l).attr("title",""),g=new e(a,k,c,!!j),a.data(S,g),g}function s(a){return a.charAt(0).toUpperCase()+a.slice(1)}function t(a,b){var d,e,f=b.charAt(0).toUpperCase()+b.slice(1),g=(b+" "+rb.join(f+" ")+f).split(" "),h=0;if(qb[b])return a.css(qb[b]);for(;d=g[h++];)if((e=a.css(d))!==c)return qb[b]=d,e}function u(a,b){return Math.ceil(parseFloat(t(a,b)))}function v(a,b){this._ns="tip",this.options=b,this.offset=b.offset,this.size=[b.width,b.height],this.init(this.qtip=a)}function w(a,b){this.options=b,this._ns="-modal",this.init(this.qtip=a)}function x(a){this._ns="ie6",this.init(this.qtip=a)}var y,z,A,B,C,D=!0,E=!1,F=null,G="x",H="y",I="width",J="height",K="top",L="left",M="bottom",N="right",O="center",P="flipinvert",Q="shift",R={},S="qtip",T="data-hasqtip",U="data-qtip-id",V=["ui-widget","ui-tooltip"],W="."+S,X="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),Y=S+"-fixed",Z=S+"-default",$=S+"-focus",_=S+"-hover",ab=S+"-disabled",bb="_replacedByqTip",cb="oldtitle",db={ie:function(){for(var a=4,c=b.createElement("div");(c.innerHTML="<!--[if gt IE "+a+"]><i></i><![endif]-->")&&c.getElementsByTagName("i")[0];a+=1);return a>4?a:0/0}(),iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||E};z=e.prototype,z._when=function(a){return d.when.apply(d,a)},z.render=function(a){if(this.rendered||this.destroyed)return this;var b,c=this,e=this.options,f=this.cache,g=this.elements,h=e.content.text,i=e.content.title,j=e.content.button,k=e.position,l=("."+this._id+" ",[]);return d.attr(this.target[0],"aria-describedby",this._id),f.posClass=this._createPosClass((this.position={my:k.my,at:k.at}).my),this.tooltip=g.tooltip=b=d("<div/>",{id:this._id,"class":[S,Z,e.style.classes,f.posClass].join(" "),width:e.style.width||"",height:e.style.height||"",tracking:"mouse"===k.target&&k.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":E,"aria-describedby":this._id+"-content","aria-hidden":D}).toggleClass(ab,this.disabled).attr(U,this.id).data(S,this).appendTo(k.container).append(g.content=d("<div />",{"class":S+"-content",id:this._id+"-content","aria-atomic":D})),this.rendered=-1,this.positioning=D,i&&(this._createTitle(),d.isFunction(i)||l.push(this._updateTitle(i,E))),j&&this._createButton(),d.isFunction(h)||l.push(this._updateContent(h,E)),this.rendered=D,this._setWidget(),d.each(R,function(a){var b;"render"===this.initialize&&(b=this(c))&&(c.plugins[a]=b)}),this._unassignEvents(),this._assignEvents(),this._when(l).then(function(){c._trigger("render"),c.positioning=E,c.hiddenDuringWait||!e.show.ready&&!a||c.toggle(D,f.event,E),c.hiddenDuringWait=E}),y.api[this.id]=this,this},z.destroy=function(a){function b(){if(!this.destroyed){this.destroyed=D;var a,b=this.target,c=b.attr(cb);this.rendered&&this.tooltip.stop(1,0).find("*").remove().end().remove(),d.each(this.plugins,function(){this.destroy&&this.destroy()});for(a in this.timers)clearTimeout(this.timers[a]);b.removeData(S).removeAttr(U).removeAttr(T).removeAttr("aria-describedby"),this.options.suppress&&c&&b.attr("title",c).removeAttr(cb),this._unassignEvents(),this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=F,delete y.api[this.id]}}return this.destroyed?this.target:(a===D&&"hide"!==this.triggering||!this.rendered?b.call(this):(this.tooltip.one("tooltiphidden",d.proxy(b,this)),!this.triggering&&this.hide()),this.target)},B=z.checks={builtin:{"^id$":function(a,b,c,e){var f=c===D?y.nextid:c,g=S+"-"+f;f!==E&&f.length>0&&!d("#"+g).length?(this._id=g,this.rendered&&(this.tooltip[0].id=this._id,this.elements.content[0].id=this._id+"-content",this.elements.title[0].id=this._id+"-title")):a[b]=e},"^prerender":function(a,b,c){c&&!this.rendered&&this.render(this.options.show.ready)},"^content.text$":function(a,b,c){this._updateContent(c)},"^content.attr$":function(a,b,c,d){this.options.content.text===this.target.attr(d)&&this._updateContent(this.target.attr(c))},"^content.title$":function(a,b,c){return c?(c&&!this.elements.title&&this._createTitle(),void this._updateTitle(c)):this._removeTitle()},"^content.button$":function(a,b,c){this._updateButton(c)},"^content.title.(text|button)$":function(a,b,c){this.set("content."+b,c)},"^position.(my|at)$":function(a,b,c){"string"==typeof c&&(this.position[b]=a[b]=new A(c,"at"===b))},"^position.container$":function(a,b,c){this.rendered&&this.tooltip.appendTo(c)},"^show.ready$":function(a,b,c){c&&(!this.rendered&&this.render(D)||this.toggle(D))},"^style.classes$":function(a,b,c,d){this.rendered&&this.tooltip.removeClass(d).addClass(c)},"^style.(width|height)":function(a,b,c){this.rendered&&this.tooltip.css(b,c)},"^style.widget|content.title":function(){this.rendered&&this._setWidget()},"^style.def":function(a,b,c){this.rendered&&this.tooltip.toggleClass(Z,!!c)},"^events.(render|show|move|hide|focus|blur)$":function(a,b,c){this.rendered&&this.tooltip[(d.isFunction(c)?"":"un")+"bind"]("tooltip"+b,c)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){if(this.rendered){var a=this.options.position;this.tooltip.attr("tracking","mouse"===a.target&&a.adjust.mouse),this._unassignEvents(),this._assignEvents()}}}},z.get=function(a){if(this.destroyed)return this;var b=i(this.options,a.toLowerCase()),c=b[0][b[1]];return c.precedance?c.string():c};var eb=/^position\.(my|at|adjust|target|container|viewport)|style|content|show\.ready/i,fb=/^prerender|show\.ready/i;z.set=function(a,b){if(this.destroyed)return this;{var c,e=this.rendered,f=E,g=this.options;this.checks}return"string"==typeof a?(c=a,a={},a[c]=b):a=d.extend({},a),d.each(a,function(b,c){if(e&&fb.test(b))return void delete a[b];var h,j=i(g,b.toLowerCase());h=j[0][j[1]],j[0][j[1]]=c&&c.nodeType?d(c):c,f=eb.test(b)||f,a[b]=[j[0],j[1],c,h]}),h(g),this.positioning=D,d.each(a,d.proxy(j,this)),this.positioning=E,this.rendered&&this.tooltip[0].offsetWidth>0&&f&&this.reposition("mouse"===g.position.target?F:this.cache.event),this},z._update=function(a,b){var c=this,e=this.cache;return this.rendered&&a?(d.isFunction(a)&&(a=a.call(this.elements.target,e.event,this)||""),d.isFunction(a.then)?(e.waiting=D,a.then(function(a){return e.waiting=E,c._update(a,b)},F,function(a){return c._update(a,b)})):a===E||!a&&""!==a?E:(a.jquery&&a.length>0?b.empty().append(a.css({display:"block",visibility:"visible"})):b.html(a),this._waitForContent(b).then(function(a){c.rendered&&c.tooltip[0].offsetWidth>0&&c.reposition(e.event,!a.length)}))):E},z._waitForContent=function(a){var b=this.cache;return b.waiting=D,(d.fn.imagesLoaded?a.imagesLoaded():d.Deferred().resolve([])).done(function(){b.waiting=E}).promise()},z._updateContent=function(a,b){this._update(a,this.elements.content,b)},z._updateTitle=function(a,b){this._update(a,this.elements.title,b)===E&&this._removeTitle(E)},z._createTitle=function(){var a=this.elements,b=this._id+"-title";a.titlebar&&this._removeTitle(),a.titlebar=d("<div />",{"class":S+"-titlebar "+(this.options.style.widget?k("header"):"")}).append(a.title=d("<div />",{id:b,"class":S+"-title","aria-atomic":D})).insertBefore(a.content).delegate(".qtip-close","mousedown keydown mouseup keyup mouseout",function(a){d(this).toggleClass("ui-state-active ui-state-focus","down"===a.type.substr(-4))}).delegate(".qtip-close","mouseover mouseout",function(a){d(this).toggleClass("ui-state-hover","mouseover"===a.type)}),this.options.content.button&&this._createButton()},z._removeTitle=function(a){var b=this.elements;b.title&&(b.titlebar.remove(),b.titlebar=b.title=b.button=F,a!==E&&this.reposition())},z._createPosClass=function(a){return S+"-pos-"+(a||this.options.position.my).abbrev()},z.reposition=function(c,e){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=D;var f,g,h,i,j=this.cache,k=this.tooltip,l=this.options.position,m=l.target,n=l.my,o=l.at,p=l.viewport,q=l.container,r=l.adjust,s=r.method.split(" "),t=k.outerWidth(E),u=k.outerHeight(E),v=0,w=0,x=k.css("position"),y={left:0,top:0},z=k[0].offsetWidth>0,A=c&&"scroll"===c.type,B=d(a),C=q[0].ownerDocument,F=this.mouse;if(d.isArray(m)&&2===m.length)o={x:L,y:K},y={left:m[0],top:m[1]};else if("mouse"===m)o={x:L,y:K},(!r.mouse||this.options.hide.distance)&&j.origin&&j.origin.pageX?c=j.origin:!c||c&&("resize"===c.type||"scroll"===c.type)?c=j.event:F&&F.pageX&&(c=F),"static"!==x&&(y=q.offset()),C.body.offsetWidth!==(a.innerWidth||C.documentElement.clientWidth)&&(g=d(b.body).offset()),y={left:c.pageX-y.left+(g&&g.left||0),top:c.pageY-y.top+(g&&g.top||0)},r.mouse&&A&&F&&(y.left-=(F.scrollX||0)-B.scrollLeft(),y.top-=(F.scrollY||0)-B.scrollTop());else{if("event"===m?c&&c.target&&"scroll"!==c.type&&"resize"!==c.type?j.target=d(c.target):c.target||(j.target=this.elements.target):"event"!==m&&(j.target=d(m.jquery?m:this.elements.target)),m=j.target,m=d(m).eq(0),0===m.length)return this;m[0]===b||m[0]===a?(v=db.iOS?a.innerWidth:m.width(),w=db.iOS?a.innerHeight:m.height(),m[0]===a&&(y={top:(p||m).scrollTop(),left:(p||m).scrollLeft()})):R.imagemap&&m.is("area")?f=R.imagemap(this,m,o,R.viewport?s:E):R.svg&&m&&m[0].ownerSVGElement?f=R.svg(this,m,o,R.viewport?s:E):(v=m.outerWidth(E),w=m.outerHeight(E),y=m.offset()),f&&(v=f.width,w=f.height,g=f.offset,y=f.position),y=this.reposition.offset(m,y,q),(db.iOS>3.1&&db.iOS<4.1||db.iOS>=4.3&&db.iOS<4.33||!db.iOS&&"fixed"===x)&&(y.left-=B.scrollLeft(),y.top-=B.scrollTop()),(!f||f&&f.adjustable!==E)&&(y.left+=o.x===N?v:o.x===O?v/2:0,y.top+=o.y===M?w:o.y===O?w/2:0)}return y.left+=r.x+(n.x===N?-t:n.x===O?-t/2:0),y.top+=r.y+(n.y===M?-u:n.y===O?-u/2:0),R.viewport?(h=y.adjusted=R.viewport(this,y,l,v,w,t,u),g&&h.left&&(y.left+=g.left),g&&h.top&&(y.top+=g.top),h.my&&(this.position.my=h.my)):y.adjusted={left:0,top:0},j.posClass!==(i=this._createPosClass(this.position.my))&&k.removeClass(j.posClass).addClass(j.posClass=i),this._trigger("move",[y,p.elem||p],c)?(delete y.adjusted,e===E||!z||isNaN(y.left)||isNaN(y.top)||"mouse"===m||!d.isFunction(l.effect)?k.css(y):d.isFunction(l.effect)&&(l.effect.call(k,this,d.extend({},y)),k.queue(function(a){d(this).css({opacity:"",height:""}),db.ie&&this.style.removeAttribute("filter"),a()})),this.positioning=E,this):this},z.reposition.offset=function(a,c,e){function f(a,b){c.left+=b*a.scrollLeft(),c.top+=b*a.scrollTop()}if(!e[0])return c;var g,h,i,j,k=d(a[0].ownerDocument),l=!!db.ie&&"CSS1Compat"!==b.compatMode,m=e[0];do"static"!==(h=d.css(m,"position"))&&("fixed"===h?(i=m.getBoundingClientRect(),f(k,-1)):(i=d(m).position(),i.left+=parseFloat(d.css(m,"borderLeftWidth"))||0,i.top+=parseFloat(d.css(m,"borderTopWidth"))||0),c.left-=i.left+(parseFloat(d.css(m,"marginLeft"))||0),c.top-=i.top+(parseFloat(d.css(m,"marginTop"))||0),g||"hidden"===(j=d.css(m,"overflow"))||"visible"===j||(g=d(m)));while(m=m.offsetParent);return g&&(g[0]!==k[0]||l)&&f(g,1),c};var gb=(A=z.reposition.Corner=function(a,b){a=(""+a).replace(/([A-Z])/," $1").replace(/middle/gi,O).toLowerCase(),this.x=(a.match(/left|right/i)||a.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(a.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase(),this.forceY=!!b;var c=a.charAt(0);this.precedance="t"===c||"b"===c?H:G}).prototype;gb.invert=function(a,b){this[a]=this[a]===L?N:this[a]===N?L:b||this[a]},gb.string=function(a){var b=this.x,c=this.y,d=b!==c?"center"===b||"center"!==c&&(this.precedance===H||this.forceY)?[c,b]:[b,c]:[b];return a!==!1?d.join(" "):d},gb.abbrev=function(){var a=this.string(!1);return a[0].charAt(0)+(a[1]&&a[1].charAt(0)||"")},gb.clone=function(){return new A(this.string(),this.forceY)},z.toggle=function(a,c){var e=this.cache,f=this.options,g=this.tooltip;if(c){if(/over|enter/.test(c.type)&&e.event&&/out|leave/.test(e.event.type)&&f.show.target.add(c.target).length===f.show.target.length&&g.has(c.relatedTarget).length)return this;e.event=d.event.fix(c)}if(this.waiting&&!a&&(this.hiddenDuringWait=D),!this.rendered)return a?this.render(1):this;if(this.destroyed||this.disabled)return this;var h,i,j,k=a?"show":"hide",l=this.options[k],m=(this.options[a?"hide":"show"],this.options.position),n=this.options.content,o=this.tooltip.css("width"),p=this.tooltip.is(":visible"),q=a||1===l.target.length,r=!c||l.target.length<2||e.target[0]===c.target;return(typeof a).search("boolean|number")&&(a=!p),h=!g.is(":animated")&&p===a&&r,i=h?F:!!this._trigger(k,[90]),this.destroyed?this:(i!==E&&a&&this.focus(c),!i||h?this:(d.attr(g[0],"aria-hidden",!a),a?(this.mouse&&(e.origin=d.event.fix(this.mouse)),d.isFunction(n.text)&&this._updateContent(n.text,E),d.isFunction(n.title)&&this._updateTitle(n.title,E),!C&&"mouse"===m.target&&m.adjust.mouse&&(d(b).bind("mousemove."+S,this._storeMouse),C=D),o||g.css("width",g.outerWidth(E)),this.reposition(c,arguments[2]),o||g.css("width",""),l.solo&&("string"==typeof l.solo?d(l.solo):d(W,l.solo)).not(g).not(l.target).qtip("hide",d.Event("tooltipsolo"))):(clearTimeout(this.timers.show),delete e.origin,C&&!d(W+'[tracking="true"]:visible',l.solo).not(g).length&&(d(b).unbind("mousemove."+S),C=E),this.blur(c)),j=d.proxy(function(){a?(db.ie&&g[0].style.removeAttribute("filter"),g.css("overflow",""),"string"==typeof l.autofocus&&d(this.options.show.autofocus,g).focus(),this.options.show.target.trigger("qtip-"+this.id+"-inactive")):g.css({display:"",visibility:"",opacity:"",left:"",top:""}),this._trigger(a?"visible":"hidden")},this),l.effect===E||q===E?(g[k](),j()):d.isFunction(l.effect)?(g.stop(1,1),l.effect.call(g,this),g.queue("fx",function(a){j(),a()})):g.fadeTo(90,a?1:0,j),a&&l.target.trigger("qtip-"+this.id+"-inactive"),this))},z.show=function(a){return this.toggle(D,a)},z.hide=function(a){return this.toggle(E,a)},z.focus=function(a){if(!this.rendered||this.destroyed)return this;var b=d(W),c=this.tooltip,e=parseInt(c[0].style.zIndex,10),f=y.zindex+b.length;return c.hasClass($)||this._trigger("focus",[f],a)&&(e!==f&&(b.each(function(){this.style.zIndex>e&&(this.style.zIndex=this.style.zIndex-1)}),b.filter("."+$).qtip("blur",a)),c.addClass($)[0].style.zIndex=f),this},z.blur=function(a){return!this.rendered||this.destroyed?this:(this.tooltip.removeClass($),this._trigger("blur",[this.tooltip.css("zIndex")],a),this)},z.disable=function(a){return this.destroyed?this:("toggle"===a?a=!(this.rendered?this.tooltip.hasClass(ab):this.disabled):"boolean"!=typeof a&&(a=D),this.rendered&&this.tooltip.toggleClass(ab,a).attr("aria-disabled",a),this.disabled=!!a,this)},z.enable=function(){return this.disable(E)},z._createButton=function(){var a=this,b=this.elements,c=b.tooltip,e=this.options.content.button,f="string"==typeof e,g=f?e:"Close tooltip";b.button&&b.button.remove(),b.button=e.jquery?e:d("<a />",{"class":"qtip-close "+(this.options.style.widget?"":S+"-icon"),title:g,"aria-label":g}).prepend(d("<span />",{"class":"ui-icon ui-icon-close",html:"&times;"})),b.button.appendTo(b.titlebar||c).attr("role","button").click(function(b){return c.hasClass(ab)||a.hide(b),E})},z._updateButton=function(a){if(!this.rendered)return E;var b=this.elements.button;a?this._createButton():b.remove()},z._setWidget=function(){var a=this.options.style.widget,b=this.elements,c=b.tooltip,d=c.hasClass(ab);c.removeClass(ab),ab=a?"ui-state-disabled":"qtip-disabled",c.toggleClass(ab,d),c.toggleClass("ui-helper-reset "+k(),a).toggleClass(Z,this.options.style.def&&!a),b.content&&b.content.toggleClass(k("content"),a),b.titlebar&&b.titlebar.toggleClass(k("header"),a),b.button&&b.button.toggleClass(S+"-icon",!a)},z._storeMouse=function(a){return(this.mouse=d.event.fix(a)).type="mousemove",this},z._bind=function(a,b,c,e,f){if(a&&c&&b.length){var g="."+this._id+(e?"-"+e:"");return d(a).bind((b.split?b:b.join(g+" "))+g,d.proxy(c,f||this)),this}},z._unbind=function(a,b){return a&&d(a).unbind("."+this._id+(b?"-"+b:"")),this},z._trigger=function(a,b,c){var e=d.Event("tooltip"+a);return e.originalEvent=c&&d.extend({},c)||this.cache.event||F,this.triggering=a,this.tooltip.trigger(e,[this].concat(b||[])),this.triggering=E,!e.isDefaultPrevented()},z._bindEvents=function(a,b,c,e,f,g){var h=c.filter(e).add(e.filter(c)),i=[];h.length&&(d.each(b,function(b,c){var e=d.inArray(c,a);e>-1&&i.push(a.splice(e,1)[0])}),i.length&&(this._bind(h,i,function(a){var b=this.rendered?this.tooltip[0].offsetWidth>0:!1;(b?g:f).call(this,a)}),c=c.not(h),e=e.not(h))),this._bind(c,a,f),this._bind(e,b,g)},z._assignInitialEvents=function(a){function b(a){return this.disabled||this.destroyed?E:(this.cache.event=a&&d.event.fix(a),this.cache.target=a&&d(a.target),clearTimeout(this.timers.show),void(this.timers.show=l.call(this,function(){this.render("object"==typeof a||c.show.ready)},c.prerender?0:c.show.delay)))}var c=this.options,e=c.show.target,f=c.hide.target,g=c.show.event?d.trim(""+c.show.event).split(" "):[],h=c.hide.event?d.trim(""+c.hide.event).split(" "):[];this._bind(this.elements.target,["remove","removeqtip"],function(){this.destroy(!0)},"destroy"),/mouse(over|enter)/i.test(c.show.event)&&!/mouse(out|leave)/i.test(c.hide.event)&&h.push("mouseleave"),this._bind(e,"mousemove",function(a){this._storeMouse(a),this.cache.onTarget=D}),this._bindEvents(g,h,e,f,b,function(){return this.timers?void clearTimeout(this.timers.show):E}),(c.show.ready||c.prerender)&&b.call(this,a)},z._assignEvents=function(){var c=this,e=this.options,f=e.position,g=this.tooltip,h=e.show.target,i=e.hide.target,j=f.container,k=f.viewport,l=d(b),q=(d(b.body),d(a)),r=e.show.event?d.trim(""+e.show.event).split(" "):[],s=e.hide.event?d.trim(""+e.hide.event).split(" "):[];d.each(e.events,function(a,b){c._bind(g,"toggle"===a?["tooltipshow","tooltiphide"]:["tooltip"+a],b,null,g)}),/mouse(out|leave)/i.test(e.hide.event)&&"window"===e.hide.leave&&this._bind(l,["mouseout","blur"],function(a){/select|option/.test(a.target.nodeName)||a.relatedTarget||this.hide(a)}),e.hide.fixed?i=i.add(g.addClass(Y)):/mouse(over|enter)/i.test(e.show.event)&&this._bind(i,"mouseleave",function(){clearTimeout(this.timers.show)}),(""+e.hide.event).indexOf("unfocus")>-1&&this._bind(j.closest("html"),["mousedown","touchstart"],function(a){var b=d(a.target),c=this.rendered&&!this.tooltip.hasClass(ab)&&this.tooltip[0].offsetWidth>0,e=b.parents(W).filter(this.tooltip[0]).length>0;b[0]===this.target[0]||b[0]===this.tooltip[0]||e||this.target.has(b[0]).length||!c||this.hide(a)}),"number"==typeof e.hide.inactive&&(this._bind(h,"qtip-"+this.id+"-inactive",o,"inactive"),this._bind(i.add(g),y.inactiveEvents,o)),this._bindEvents(r,s,h,i,m,n),this._bind(h.add(g),"mousemove",function(a){if("number"==typeof e.hide.distance){var b=this.cache.origin||{},c=this.options.hide.distance,d=Math.abs;(d(a.pageX-b.pageX)>=c||d(a.pageY-b.pageY)>=c)&&this.hide(a)}this._storeMouse(a)}),"mouse"===f.target&&f.adjust.mouse&&(e.hide.event&&this._bind(h,["mouseenter","mouseleave"],function(a){return this.cache?void(this.cache.onTarget="mouseenter"===a.type):E}),this._bind(l,"mousemove",function(a){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(ab)&&this.tooltip[0].offsetWidth>0&&this.reposition(a)})),(f.adjust.resize||k.length)&&this._bind(d.event.special.resize?k:q,"resize",p),f.adjust.scroll&&this._bind(q.add(f.container),"scroll",p)},z._unassignEvents=function(){var c=this.options,e=c.show.target,f=c.hide.target,g=d.grep([this.elements.target[0],this.rendered&&this.tooltip[0],c.position.container[0],c.position.viewport[0],c.position.container.closest("html")[0],a,b],function(a){return"object"==typeof a});e&&e.toArray&&(g=g.concat(e.toArray())),f&&f.toArray&&(g=g.concat(f.toArray())),this._unbind(g)._unbind(g,"destroy")._unbind(g,"inactive")},d(function(){q(W,["mouseenter","mouseleave"],function(a){var b="mouseenter"===a.type,c=d(a.currentTarget),e=d(a.relatedTarget||a.target),f=this.options;b?(this.focus(a),c.hasClass(Y)&&!c.hasClass(ab)&&clearTimeout(this.timers.hide)):"mouse"===f.position.target&&f.position.adjust.mouse&&f.hide.event&&f.show.target&&!e.closest(f.show.target[0]).length&&this.hide(a),c.toggleClass(_,b)}),q("["+U+"]",X,o)}),y=d.fn.qtip=function(a,b,e){var f=(""+a).toLowerCase(),g=F,i=d.makeArray(arguments).slice(1),j=i[i.length-1],k=this[0]?d.data(this[0],S):F;return!arguments.length&&k||"api"===f?k:"string"==typeof a?(this.each(function(){var a=d.data(this,S);if(!a)return D;if(j&&j.timeStamp&&(a.cache.event=j),!b||"option"!==f&&"options"!==f)a[f]&&a[f].apply(a,i);else{if(e===c&&!d.isPlainObject(b))return g=a.get(b),E;a.set(b,e)}}),g!==F?g:this):"object"!=typeof a&&arguments.length?void 0:(k=h(d.extend(D,{},a)),this.each(function(a){var b,c;return c=d.isArray(k.id)?k.id[a]:k.id,c=!c||c===E||c.length<1||y.api[c]?y.nextid++:c,b=r(d(this),c,k),b===E?D:(y.api[c]=b,d.each(R,function(){"initialize"===this.initialize&&this(b)}),void b._assignInitialEvents(j))}))},d.qtip=e,y.api={},d.each({attr:function(a,b){if(this.length){var c=this[0],e="title",f=d.data(c,"qtip");if(a===e&&f&&"object"==typeof f&&f.options.suppress)return arguments.length<2?d.attr(c,cb):(f&&f.options.content.attr===e&&f.cache.attr&&f.set("content.text",b),this.attr(cb,b))}return d.fn["attr"+bb].apply(this,arguments)},clone:function(a){var b=(d([]),d.fn["clone"+bb].apply(this,arguments));return a||b.filter("["+cb+"]").attr("title",function(){return d.attr(this,cb)}).removeAttr(cb),b}},function(a,b){if(!b||d.fn[a+bb])return D;var c=d.fn[a+bb]=d.fn[a];d.fn[a]=function(){return b.apply(this,arguments)||c.apply(this,arguments)}}),d.ui||(d["cleanData"+bb]=d.cleanData,d.cleanData=function(a){for(var b,c=0;(b=d(a[c])).length;c++)if(b.attr(T))try{b.triggerHandler("removeqtip")}catch(e){}d["cleanData"+bb].apply(this,arguments)}),y.version="2.2.1",y.nextid=0,y.inactiveEvents=X,y.zindex=15e3,y.defaults={prerender:E,id:E,overwrite:D,suppress:D,content:{text:D,attr:"title",title:E,button:E},position:{my:"top left",at:"bottom right",target:E,container:E,viewport:E,adjust:{x:0,y:0,mouse:D,scroll:D,resize:D,method:"flipinvert flipinvert"},effect:function(a,b){d(this).animate(b,{duration:200,queue:E})}},show:{target:E,event:"mouseenter",effect:D,delay:90,solo:E,ready:E,autofocus:E},hide:{target:E,event:"mouseleave",effect:D,delay:0,fixed:E,inactive:E,leave:"window",distance:E},style:{classes:"",widget:E,width:E,height:E,def:D},events:{render:F,move:F,show:F,hide:F,toggle:F,visible:F,hidden:F,focus:F,blur:F}};var hb,ib="margin",jb="border",kb="color",lb="background-color",mb="transparent",nb=" !important",ob=!!b.createElement("canvas").getContext,pb=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,qb={},rb=["Webkit","O","Moz","ms"];if(ob)var sb=a.devicePixelRatio||1,tb=function(){var a=b.createElement("canvas").getContext("2d");return a.backingStorePixelRatio||a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||1}(),ub=sb/tb;else var vb=function(a,b,c){return"<qtipvml:"+a+' xmlns="urn:schemas-microsoft.com:vml" class="qtip-vml" '+(b||"")+' style="behavior: url(#default#VML); '+(c||"")+'" />'};d.extend(v.prototype,{init:function(a){var b,c;c=this.element=a.elements.tip=d("<div />",{"class":S+"-tip"}).prependTo(a.tooltip),ob?(b=d("<canvas />").appendTo(this.element)[0].getContext("2d"),b.lineJoin="miter",b.miterLimit=1e5,b.save()):(b=vb("shape",'coordorigin="0,0"',"position:absolute;"),this.element.html(b+b),a._bind(d("*",c).add(c),["click","mousedown"],function(a){a.stopPropagation()},this._ns)),a._bind(a.tooltip,"tooltipmove",this.reposition,this._ns,this),this.create()},_swapDimensions:function(){this.size[0]=this.options.height,this.size[1]=this.options.width},_resetDimensions:function(){this.size[0]=this.options.width,this.size[1]=this.options.height},_useTitle:function(a){var b=this.qtip.elements.titlebar;return b&&(a.y===K||a.y===O&&this.element.position().top+this.size[1]/2+this.options.offset<b.outerHeight(D))},_parseCorner:function(a){var b=this.qtip.options.position.my;return a===E||b===E?a=E:a===D?a=new A(b.string()):a.string||(a=new A(a),a.fixed=D),a},_parseWidth:function(a,b,c){var d=this.qtip.elements,e=jb+s(b)+"Width";return(c?u(c,e):u(d.content,e)||u(this._useTitle(a)&&d.titlebar||d.content,e)||u(d.tooltip,e))||0},_parseRadius:function(a){var b=this.qtip.elements,c=jb+s(a.y)+s(a.x)+"Radius";return db.ie<9?0:u(this._useTitle(a)&&b.titlebar||b.content,c)||u(b.tooltip,c)||0},_invalidColour:function(a,b,c){var d=a.css(b);return!d||c&&d===a.css(c)||pb.test(d)?E:d},_parseColours:function(a){var b=this.qtip.elements,c=this.element.css("cssText",""),e=jb+s(a[a.precedance])+s(kb),f=this._useTitle(a)&&b.titlebar||b.content,g=this._invalidColour,h=[];return h[0]=g(c,lb)||g(f,lb)||g(b.content,lb)||g(b.tooltip,lb)||c.css(lb),h[1]=g(c,e,kb)||g(f,e,kb)||g(b.content,e,kb)||g(b.tooltip,e,kb)||b.tooltip.css(e),d("*",c).add(c).css("cssText",lb+":"+mb+nb+";"+jb+":0"+nb+";"),h},_calculateSize:function(a){var b,c,d,e=a.precedance===H,f=this.options.width,g=this.options.height,h="c"===a.abbrev(),i=(e?f:g)*(h?.5:1),j=Math.pow,k=Math.round,l=Math.sqrt(j(i,2)+j(g,2)),m=[this.border/i*l,this.border/g*l];return m[2]=Math.sqrt(j(m[0],2)-j(this.border,2)),m[3]=Math.sqrt(j(m[1],2)-j(this.border,2)),b=l+m[2]+m[3]+(h?0:m[0]),c=b/l,d=[k(c*f),k(c*g)],e?d:d.reverse()},_calculateTip:function(a,b,c){c=c||1,b=b||this.size;var d=b[0]*c,e=b[1]*c,f=Math.ceil(d/2),g=Math.ceil(e/2),h={br:[0,0,d,e,d,0],bl:[0,0,d,0,0,e],tr:[0,e,d,0,d,e],tl:[0,0,0,e,d,e],tc:[0,e,f,0,d,e],bc:[0,0,d,0,f,e],rc:[0,0,d,g,0,e],lc:[d,0,d,e,0,g]};return h.lt=h.br,h.rt=h.bl,h.lb=h.tr,h.rb=h.tl,h[a.abbrev()]},_drawCoords:function(a,b){a.beginPath(),a.moveTo(b[0],b[1]),a.lineTo(b[2],b[3]),a.lineTo(b[4],b[5]),a.closePath()},create:function(){var a=this.corner=(ob||db.ie)&&this._parseCorner(this.options.corner);return(this.enabled=!!this.corner&&"c"!==this.corner.abbrev())&&(this.qtip.cache.corner=a.clone(),this.update()),this.element.toggle(this.enabled),this.corner},update:function(b,c){if(!this.enabled)return this;var e,f,g,h,i,j,k,l,m=this.qtip.elements,n=this.element,o=n.children(),p=this.options,q=this.size,r=p.mimic,s=Math.round;b||(b=this.qtip.cache.corner||this.corner),r===E?r=b:(r=new A(r),r.precedance=b.precedance,"inherit"===r.x?r.x=b.x:"inherit"===r.y?r.y=b.y:r.x===r.y&&(r[b.precedance]=b[b.precedance])),f=r.precedance,b.precedance===G?this._swapDimensions():this._resetDimensions(),e=this.color=this._parseColours(b),e[1]!==mb?(l=this.border=this._parseWidth(b,b[b.precedance]),p.border&&1>l&&!pb.test(e[1])&&(e[0]=e[1]),this.border=l=p.border!==D?p.border:l):this.border=l=0,k=this.size=this._calculateSize(b),n.css({width:k[0],height:k[1],lineHeight:k[1]+"px"}),j=b.precedance===H?[s(r.x===L?l:r.x===N?k[0]-q[0]-l:(k[0]-q[0])/2),s(r.y===K?k[1]-q[1]:0)]:[s(r.x===L?k[0]-q[0]:0),s(r.y===K?l:r.y===M?k[1]-q[1]-l:(k[1]-q[1])/2)],ob?(g=o[0].getContext("2d"),g.restore(),g.save(),g.clearRect(0,0,6e3,6e3),h=this._calculateTip(r,q,ub),i=this._calculateTip(r,this.size,ub),o.attr(I,k[0]*ub).attr(J,k[1]*ub),o.css(I,k[0]).css(J,k[1]),this._drawCoords(g,i),g.fillStyle=e[1],g.fill(),g.translate(j[0]*ub,j[1]*ub),this._drawCoords(g,h),g.fillStyle=e[0],g.fill()):(h=this._calculateTip(r),h="m"+h[0]+","+h[1]+" l"+h[2]+","+h[3]+" "+h[4]+","+h[5]+" xe",j[2]=l&&/^(r|b)/i.test(b.string())?8===db.ie?2:1:0,o.css({coordsize:k[0]+l+" "+(k[1]+l),antialias:""+(r.string().indexOf(O)>-1),left:j[0]-j[2]*Number(f===G),top:j[1]-j[2]*Number(f===H),width:k[0]+l,height:k[1]+l}).each(function(a){var b=d(this);b[b.prop?"prop":"attr"]({coordsize:k[0]+l+" "+(k[1]+l),path:h,fillcolor:e[0],filled:!!a,stroked:!a}).toggle(!(!l&&!a)),!a&&b.html(vb("stroke",'weight="'+2*l+'px" color="'+e[1]+'" miterlimit="1000" joinstyle="miter"'))})),a.opera&&setTimeout(function(){m.tip.css({display:"inline-block",visibility:"visible"})},1),c!==E&&this.calculate(b,k)},calculate:function(a,b){if(!this.enabled)return E;var c,e,f=this,g=this.qtip.elements,h=this.element,i=this.options.offset,j=(g.tooltip.hasClass("ui-widget"),{});return a=a||this.corner,c=a.precedance,b=b||this._calculateSize(a),e=[a.x,a.y],c===G&&e.reverse(),d.each(e,function(d,e){var h,k,l;
4
+ e===O?(h=c===H?L:K,j[h]="50%",j[ib+"-"+h]=-Math.round(b[c===H?0:1]/2)+i):(h=f._parseWidth(a,e,g.tooltip),k=f._parseWidth(a,e,g.content),l=f._parseRadius(a),j[e]=Math.max(-f.border,d?k:i+(l>h?l:-h)))}),j[a[c]]-=b[c===G?0:1],h.css({margin:"",top:"",bottom:"",left:"",right:""}).css(j),j},reposition:function(a,b,d){function e(a,b,c,d,e){a===Q&&j.precedance===b&&k[d]&&j[c]!==O?j.precedance=j.precedance===G?H:G:a!==Q&&k[d]&&(j[b]=j[b]===O?k[d]>0?d:e:j[b]===d?e:d)}function f(a,b,e){j[a]===O?p[ib+"-"+b]=o[a]=g[ib+"-"+b]-k[b]:(h=g[e]!==c?[k[b],-g[b]]:[-k[b],g[b]],(o[a]=Math.max(h[0],h[1]))>h[0]&&(d[b]-=k[b],o[b]=E),p[g[e]!==c?e:b]=o[a])}if(this.enabled){var g,h,i=b.cache,j=this.corner.clone(),k=d.adjusted,l=b.options.position.adjust.method.split(" "),m=l[0],n=l[1]||l[0],o={left:E,top:E,x:0,y:0},p={};this.corner.fixed!==D&&(e(m,G,H,L,N),e(n,H,G,K,M),(j.string()!==i.corner.string()||i.cornerTop!==k.top||i.cornerLeft!==k.left)&&this.update(j,E)),g=this.calculate(j),g.right!==c&&(g.left=-g.right),g.bottom!==c&&(g.top=-g.bottom),g.user=this.offset,(o.left=m===Q&&!!k.left)&&f(G,L,N),(o.top=n===Q&&!!k.top)&&f(H,K,M),this.element.css(p).toggle(!(o.x&&o.y||j.x===O&&o.y||j.y===O&&o.x)),d.left-=g.left.charAt?g.user:m!==Q||o.top||!o.left&&!o.top?g.left+this.border:0,d.top-=g.top.charAt?g.user:n!==Q||o.left||!o.left&&!o.top?g.top+this.border:0,i.cornerLeft=k.left,i.cornerTop=k.top,i.corner=j.clone()}},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns),this.qtip.elements.tip&&this.qtip.elements.tip.find("*").remove().end().remove()}}),hb=R.tip=function(a){return new v(a,a.options.style.tip)},hb.initialize="render",hb.sanitize=function(a){if(a.style&&"tip"in a.style){var b=a.style.tip;"object"!=typeof b&&(b=a.style.tip={corner:b}),/string|boolean/i.test(typeof b.corner)||(b.corner=D)}},B.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){this.create(),this.qtip.reposition()},"^style.tip.(height|width)$":function(a){this.size=[a.width,a.height],this.update(),this.qtip.reposition()},"^content.title|style.(classes|widget)$":function(){this.update()}},d.extend(D,y.defaults,{style:{tip:{corner:D,mimic:E,width:6,height:6,border:D,offset:0}}});var wb,xb,yb="qtip-modal",zb="."+yb;xb=function(){function a(a){if(d.expr[":"].focusable)return d.expr[":"].focusable;var b,c,e,f=!isNaN(d.attr(a,"tabindex")),g=a.nodeName&&a.nodeName.toLowerCase();return"area"===g?(b=a.parentNode,c=b.name,a.href&&c&&"map"===b.nodeName.toLowerCase()?(e=d("img[usemap=#"+c+"]")[0],!!e&&e.is(":visible")):!1):/input|select|textarea|button|object/.test(g)?!a.disabled:"a"===g?a.href||f:f}function c(a){k.length<1&&a.length?a.not("body").blur():k.first().focus()}function e(a){if(i.is(":visible")){var b,e=d(a.target),h=f.tooltip,j=e.closest(W);b=j.length<1?E:parseInt(j[0].style.zIndex,10)>parseInt(h[0].style.zIndex,10),b||e.closest(W)[0]===h[0]||c(e),g=a.target===k[k.length-1]}}var f,g,h,i,j=this,k={};d.extend(j,{init:function(){return i=j.elem=d("<div />",{id:"qtip-overlay",html:"<div></div>",mousedown:function(){return E}}).hide(),d(b.body).bind("focusin"+zb,e),d(b).bind("keydown"+zb,function(a){f&&f.options.show.modal.escape&&27===a.keyCode&&f.hide(a)}),i.bind("click"+zb,function(a){f&&f.options.show.modal.blur&&f.hide(a)}),j},update:function(b){f=b,k=b.options.show.modal.stealfocus!==E?b.tooltip.find("*").filter(function(){return a(this)}):[]},toggle:function(a,e,g){var k=(d(b.body),a.tooltip),l=a.options.show.modal,m=l.effect,n=e?"show":"hide",o=i.is(":visible"),p=d(zb).filter(":visible:not(:animated)").not(k);return j.update(a),e&&l.stealfocus!==E&&c(d(":focus")),i.toggleClass("blurs",l.blur),e&&i.appendTo(b.body),i.is(":animated")&&o===e&&h!==E||!e&&p.length?j:(i.stop(D,E),d.isFunction(m)?m.call(i,e):m===E?i[n]():i.fadeTo(parseInt(g,10)||90,e?1:0,function(){e||i.hide()}),e||i.queue(function(a){i.css({left:"",top:""}),d(zb).length||i.detach(),a()}),h=e,f.destroyed&&(f=F),j)}}),j.init()},xb=new xb,d.extend(w.prototype,{init:function(a){var b=a.tooltip;return this.options.on?(a.elements.overlay=xb.elem,b.addClass(yb).css("z-index",y.modal_zindex+d(zb).length),a._bind(b,["tooltipshow","tooltiphide"],function(a,c,e){var f=a.originalEvent;if(a.target===b[0])if(f&&"tooltiphide"===a.type&&/mouse(leave|enter)/.test(f.type)&&d(f.relatedTarget).closest(xb.elem[0]).length)try{a.preventDefault()}catch(g){}else(!f||f&&"tooltipsolo"!==f.type)&&this.toggle(a,"tooltipshow"===a.type,e)},this._ns,this),a._bind(b,"tooltipfocus",function(a,c){if(!a.isDefaultPrevented()&&a.target===b[0]){var e=d(zb),f=y.modal_zindex+e.length,g=parseInt(b[0].style.zIndex,10);xb.elem[0].style.zIndex=f-1,e.each(function(){this.style.zIndex>g&&(this.style.zIndex-=1)}),e.filter("."+$).qtip("blur",a.originalEvent),b.addClass($)[0].style.zIndex=f,xb.update(c);try{a.preventDefault()}catch(h){}}},this._ns,this),void a._bind(b,"tooltiphide",function(a){a.target===b[0]&&d(zb).filter(":visible").not(b).last().qtip("focus",a)},this._ns,this)):this},toggle:function(a,b,c){return a&&a.isDefaultPrevented()?this:void xb.toggle(this.qtip,!!b,c)},destroy:function(){this.qtip.tooltip.removeClass(yb),this.qtip._unbind(this.qtip.tooltip,this._ns),xb.toggle(this.qtip,E),delete this.qtip.elements.overlay}}),wb=R.modal=function(a){return new w(a,a.options.show.modal)},wb.sanitize=function(a){a.show&&("object"!=typeof a.show.modal?a.show.modal={on:!!a.show.modal}:"undefined"==typeof a.show.modal.on&&(a.show.modal.on=D))},y.modal_zindex=y.zindex-200,wb.initialize="render",B.modal={"^show.modal.(on|blur)$":function(){this.destroy(),this.init(),this.qtip.elems.overlay.toggle(this.qtip.tooltip[0].offsetWidth>0)}},d.extend(D,y.defaults,{show:{modal:{on:E,effect:D,blur:D,stealfocus:D,escape:D}}}),R.viewport=function(c,d,e,f,g,h,i){function j(a,b,c,e,f,g,h,i,j){var k=d[f],s=u[a],t=v[a],w=c===Q,x=s===f?j:s===g?-j:-j/2,y=t===f?i:t===g?-i:-i/2,z=q[f]+r[f]-(n?0:m[f]),A=z-k,B=k+j-(h===I?o:p)-z,C=x-(u.precedance===a||s===u[b]?y:0)-(t===O?i/2:0);return w?(C=(s===f?1:-1)*x,d[f]+=A>0?A:B>0?-B:0,d[f]=Math.max(-m[f]+r[f],k-C,Math.min(Math.max(-m[f]+r[f]+(h===I?o:p),k+C),d[f],"center"===s?k-x:1e9))):(e*=c===P?2:0,A>0&&(s!==f||B>0)?(d[f]-=C+e,l.invert(a,f)):B>0&&(s!==g||A>0)&&(d[f]-=(s===O?-C:C)+e,l.invert(a,g)),d[f]<q&&-d[f]>B&&(d[f]=k,l=u.clone())),d[f]-k}var k,l,m,n,o,p,q,r,s=e.target,t=c.elements.tooltip,u=e.my,v=e.at,w=e.adjust,x=w.method.split(" "),y=x[0],z=x[1]||x[0],A=e.viewport,B=e.container,C=(c.cache,{left:0,top:0});return A.jquery&&s[0]!==a&&s[0]!==b.body&&"none"!==w.method?(m=B.offset()||C,n="static"===B.css("position"),k="fixed"===t.css("position"),o=A[0]===a?A.width():A.outerWidth(E),p=A[0]===a?A.height():A.outerHeight(E),q={left:k?0:A.scrollLeft(),top:k?0:A.scrollTop()},r=A.offset()||C,("shift"!==y||"shift"!==z)&&(l=u.clone()),C={left:"none"!==y?j(G,H,y,w.x,L,N,I,f,h):0,top:"none"!==z?j(H,G,z,w.y,K,M,J,g,i):0,my:l}):C},R.polys={polygon:function(a,b){var c,d,e,f={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10},adjustable:E},g=0,h=[],i=1,j=1,k=0,l=0;for(g=a.length;g--;)c=[parseInt(a[--g],10),parseInt(a[g+1],10)],c[0]>f.position.right&&(f.position.right=c[0]),c[0]<f.position.left&&(f.position.left=c[0]),c[1]>f.position.bottom&&(f.position.bottom=c[1]),c[1]<f.position.top&&(f.position.top=c[1]),h.push(c);if(d=f.width=Math.abs(f.position.right-f.position.left),e=f.height=Math.abs(f.position.bottom-f.position.top),"c"===b.abbrev())f.position={left:f.position.left+f.width/2,top:f.position.top+f.height/2};else{for(;d>0&&e>0&&i>0&&j>0;)for(d=Math.floor(d/2),e=Math.floor(e/2),b.x===L?i=d:b.x===N?i=f.width-d:i+=Math.floor(d/2),b.y===K?j=e:b.y===M?j=f.height-e:j+=Math.floor(e/2),g=h.length;g--&&!(h.length<2);)k=h[g][0]-f.position.left,l=h[g][1]-f.position.top,(b.x===L&&k>=i||b.x===N&&i>=k||b.x===O&&(i>k||k>f.width-i)||b.y===K&&l>=j||b.y===M&&j>=l||b.y===O&&(j>l||l>f.height-j))&&h.splice(g,1);f.position={left:h[0][0],top:h[0][1]}}return f},rect:function(a,b,c,d){return{width:Math.abs(c-a),height:Math.abs(d-b),position:{left:Math.min(a,c),top:Math.min(b,d)}}},_angles:{tc:1.5,tr:7/4,tl:5/4,bc:.5,br:.25,bl:.75,rc:2,lc:1,c:0},ellipse:function(a,b,c,d,e){var f=R.polys._angles[e.abbrev()],g=0===f?0:c*Math.cos(f*Math.PI),h=d*Math.sin(f*Math.PI);return{width:2*c-Math.abs(g),height:2*d-Math.abs(h),position:{left:a+g,top:b+h},adjustable:E}},circle:function(a,b,c,d){return R.polys.ellipse(a,b,c,c,d)}},R.svg=function(a,c,e){for(var f,g,h,i,j,k,l,m,n,o=(d(b),c[0]),p=d(o.ownerSVGElement),q=o.ownerDocument,r=(parseInt(c.css("stroke-width"),10)||0)/2;!o.getBBox;)o=o.parentNode;if(!o.getBBox||!o.parentNode)return E;switch(o.nodeName){case"ellipse":case"circle":m=R.polys.ellipse(o.cx.baseVal.value,o.cy.baseVal.value,(o.rx||o.r).baseVal.value+r,(o.ry||o.r).baseVal.value+r,e);break;case"line":case"polygon":case"polyline":for(l=o.points||[{x:o.x1.baseVal.value,y:o.y1.baseVal.value},{x:o.x2.baseVal.value,y:o.y2.baseVal.value}],m=[],k=-1,i=l.numberOfItems||l.length;++k<i;)j=l.getItem?l.getItem(k):l[k],m.push.apply(m,[j.x,j.y]);m=R.polys.polygon(m,e);break;default:m=o.getBBox(),m={width:m.width,height:m.height,position:{left:m.x,top:m.y}}}return n=m.position,p=p[0],p.createSVGPoint&&(g=o.getScreenCTM(),l=p.createSVGPoint(),l.x=n.left,l.y=n.top,h=l.matrixTransform(g),n.left=h.x,n.top=h.y),q!==b&&"mouse"!==a.position.target&&(f=d((q.defaultView||q.parentWindow).frameElement).offset(),f&&(n.left+=f.left,n.top+=f.top)),q=d(q),n.left+=q.scrollLeft(),n.top+=q.scrollTop(),m},R.imagemap=function(a,b,c){b.jquery||(b=d(b));var e,f,g,h,i,j=(b.attr("shape")||"rect").toLowerCase().replace("poly","polygon"),k=d('img[usemap="#'+b.parent("map").attr("name")+'"]'),l=d.trim(b.attr("coords")),m=l.replace(/,$/,"").split(",");if(!k.length)return E;if("polygon"===j)h=R.polys.polygon(m,c);else{if(!R.polys[j])return E;for(g=-1,i=m.length,f=[];++g<i;)f.push(parseInt(m[g],10));h=R.polys[j].apply(this,f.concat(c))}return e=k.offset(),e.left+=Math.ceil((k.outerWidth(E)-k.width())/2),e.top+=Math.ceil((k.outerHeight(E)-k.height())/2),h.position.left+=e.left,h.position.top+=e.top,h};var Ab,Bb='<iframe class="qtip-bgiframe" frameborder="0" tabindex="-1" src="javascript:\'\';" style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=0); -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";"></iframe>';d.extend(x.prototype,{_scroll:function(){var b=this.qtip.elements.overlay;b&&(b[0].style.top=d(a).scrollTop()+"px")},init:function(c){var e=c.tooltip;d("select, object").length<1&&(this.bgiframe=c.elements.bgiframe=d(Bb).appendTo(e),c._bind(e,"tooltipmove",this.adjustBGIFrame,this._ns,this)),this.redrawContainer=d("<div/>",{id:S+"-rcontainer"}).appendTo(b.body),c.elements.overlay&&c.elements.overlay.addClass("qtipmodal-ie6fix")&&(c._bind(a,["scroll","resize"],this._scroll,this._ns,this),c._bind(e,["tooltipshow"],this._scroll,this._ns,this)),this.redraw()},adjustBGIFrame:function(){var a,b,c=this.qtip.tooltip,d={height:c.outerHeight(E),width:c.outerWidth(E)},e=this.qtip.plugins.tip,f=this.qtip.elements.tip;b=parseInt(c.css("borderLeftWidth"),10)||0,b={left:-b,top:-b},e&&f&&(a="x"===e.corner.precedance?[I,L]:[J,K],b[a[1]]-=f[a[0]]()),this.bgiframe.css(b).css(d)},redraw:function(){if(this.qtip.rendered<1||this.drawing)return this;var a,b,c,d,e=this.qtip.tooltip,f=this.qtip.options.style,g=this.qtip.options.position.container;return this.qtip.drawing=1,f.height&&e.css(J,f.height),f.width?e.css(I,f.width):(e.css(I,"").appendTo(this.redrawContainer),b=e.width(),1>b%2&&(b+=1),c=e.css("maxWidth")||"",d=e.css("minWidth")||"",a=(c+d).indexOf("%")>-1?g.width()/100:0,c=(c.indexOf("%")>-1?a:1)*parseInt(c,10)||b,d=(d.indexOf("%")>-1?a:1)*parseInt(d,10)||0,b=c+d?Math.min(Math.max(b,d),c):b,e.css(I,Math.round(b)).appendTo(g)),this.drawing=0,this},destroy:function(){this.bgiframe&&this.bgiframe.remove(),this.qtip._unbind([a,this.qtip.tooltip],this._ns)}}),Ab=R.ie6=function(a){return 6===db.ie?new x(a):E},Ab.initialize="render",B.ie6={"^content|style$":function(){this.redraw()}}})}(window,document);
5
+ //# sourceMappingURL=jquery.qtip.min.js.map
classes/package.database.php CHANGED
@@ -11,6 +11,7 @@ class DUP_Database {
11
  public $FilterTables;
12
  public $FilterOn;
13
  public $Name;
 
14
 
15
  //PROTECTED
16
  protected $Package;
@@ -74,11 +75,11 @@ class DUP_Database {
74
 
75
  //File below 10k will be incomplete
76
  $sql_file_size = filesize($this->dbStorePath);
77
- DUP_Log::Info('file size:' . $sql_file_size);
78
  if ($sql_file_size < 10000) {
79
  DUP_Log::Error("SQL file size too low.", "File does not look complete. Check permission on file and parent directory at [{$this->dbStorePath}]");
80
  }
81
- DUP_Log::Info("SQL FILE SIZE: " . DUP_Util::ByteSize($sql_file_size));
82
  DUP_Log::Info("SQL FILE TIME: " . date("Y-m-d H:i:s"));
83
  DUP_Log::Info("SQL RUNTIME: {$time_sum}");
84
 
@@ -206,6 +207,8 @@ class DUP_Database {
206
  $host = reset($host);
207
  $port = strpos(DB_HOST, ':') ? end(explode( ':', DB_HOST ) ) : '';
208
  $name = DB_NAME;
 
 
209
  //Build command
210
  $cmd = escapeshellarg($exePath);
211
  $cmd .= ' --no-create-db';
@@ -213,9 +216,15 @@ class DUP_Database {
213
  $cmd .= ' --hex-blob';
214
  $cmd .= ' --skip-add-drop-table';
215
 
 
 
 
 
 
 
216
  //Filter tables
217
- $tables = $wpdb->get_col('SHOW TABLES');
218
- $filterTables = isset($this->FilterTables) ? explode(',', $this->FilterTables) : null;
219
  $tblAllCount = count($tables);
220
  $tblFilterOn = ($this->FilterOn) ? 'ON' : 'OFF';
221
 
@@ -227,9 +236,7 @@ class DUP_Database {
227
  }
228
  }
229
  }
230
- $tblCreateCount = count($tables);
231
- $tblFilterCount = $tblAllCount - $tblCreateCount;
232
-
233
  $cmd .= ' -u ' . escapeshellarg(DB_USER);
234
  $cmd .= (DB_PASSWORD) ?
235
  ' -p' . escapeshellarg(DB_PASSWORD) : '';
@@ -248,9 +255,12 @@ class DUP_Database {
248
  }
249
  $output = (strlen($output)) ? $output : "Ran from {$exePath}";
250
 
251
- DUP_Log::Info("TABLES: total:{$tblAllCount} | filtered:{$tblFilterCount} | create:{$tblCreateCount}");
252
- DUP_Log::Info("FILTERED: [{$this->FilterTables}]");
 
 
253
  DUP_Log::Info("RESPONSE: {$output}");
 
254
 
255
  $sql_footer = "\n\n/* Duplicator WordPress Timestamp: " . date("Y-m-d H:i:s") . "*/\n";
256
  $sql_footer .= "/* " . DUPLICATOR_DB_EOF_MARKER . " */\n";
11
  public $FilterTables;
12
  public $FilterOn;
13
  public $Name;
14
+ public $Compatible;
15
 
16
  //PROTECTED
17
  protected $Package;
75
 
76
  //File below 10k will be incomplete
77
  $sql_file_size = filesize($this->dbStorePath);
78
+ DUP_Log::Info("SQL FILE SIZE: " . DUP_Util::ByteSize($sql_file_size) . " ({$sql_file_size})");
79
  if ($sql_file_size < 10000) {
80
  DUP_Log::Error("SQL file size too low.", "File does not look complete. Check permission on file and parent directory at [{$this->dbStorePath}]");
81
  }
82
+
83
  DUP_Log::Info("SQL FILE TIME: " . date("Y-m-d H:i:s"));
84
  DUP_Log::Info("SQL RUNTIME: {$time_sum}");
85
 
207
  $host = reset($host);
208
  $port = strpos(DB_HOST, ':') ? end(explode( ':', DB_HOST ) ) : '';
209
  $name = DB_NAME;
210
+ $mysqlcompat_on = isset($this->Compatible) && strlen($this->Compatible);
211
+
212
  //Build command
213
  $cmd = escapeshellarg($exePath);
214
  $cmd .= ' --no-create-db';
216
  $cmd .= ' --hex-blob';
217
  $cmd .= ' --skip-add-drop-table';
218
 
219
+ //Compatibility mode
220
+ if ($mysqlcompat_on) {
221
+ DUP_Log::Info("COMPATIBLE: [{$this->Compatible}]");
222
+ $cmd .= " --compatible={$this->Compatible}";
223
+ }
224
+
225
  //Filter tables
226
+ $tables = $wpdb->get_col('SHOW TABLES');
227
+ $filterTables = isset($this->FilterTables) ? explode(',', $this->FilterTables) : null;
228
  $tblAllCount = count($tables);
229
  $tblFilterOn = ($this->FilterOn) ? 'ON' : 'OFF';
230
 
236
  }
237
  }
238
  }
239
+
 
 
240
  $cmd .= ' -u ' . escapeshellarg(DB_USER);
241
  $cmd .= (DB_PASSWORD) ?
242
  ' -p' . escapeshellarg(DB_PASSWORD) : '';
255
  }
256
  $output = (strlen($output)) ? $output : "Ran from {$exePath}";
257
 
258
+ $tblCreateCount = count($tables);
259
+ $tblFilterCount = $tblAllCount - $tblCreateCount;
260
+
261
+ DUP_Log::Info("FILTERED: [{$this->FilterTables}]");
262
  DUP_Log::Info("RESPONSE: {$output}");
263
+ DUP_Log::Info("TABLES: total:{$tblAllCount} | filtered:{$tblFilterCount} | create:{$tblCreateCount}");
264
 
265
  $sql_footer = "\n\n/* Duplicator WordPress Timestamp: " . date("Y-m-d H:i:s") . "*/\n";
266
  $sql_footer .= "/* " . DUPLICATOR_DB_EOF_MARKER . " */\n";
classes/package.php CHANGED
@@ -132,10 +132,13 @@ class DUP_Package {
132
  $report['ARC']['Status']['Size'],
133
  $report['ARC']['Status']['Names'],
134
  $report['ARC']['Status']['Big'],
135
- $db['Status']);
 
136
 
137
- $warn_counts = array_count_values($warnings);
 
138
  $report['RPT']['Warnings'] = $warn_counts['Warn'];
 
139
  $report['RPT']['ScanTime'] = DUP_Util::ElapsedTime(DUP_Util::GetMicrotime(), $timerStart);
140
  $fp = fopen(DUPLICATOR_SSDIR_PATH_TMP . "/{$this->ScanFile}", 'w');
141
  fwrite($fp, json_encode($report));
@@ -276,9 +279,10 @@ class DUP_Package {
276
  $name = substr(sanitize_file_name($name), 0 , 40);
277
  $name = str_replace($name_chars, '', $name);
278
 
279
- $filter_dirs = isset($post['filter-dirs']) ? $this->parseDirectoryFilter($post['filter-dirs']) : '';
280
- $filter_exts = isset($post['filter-exts']) ? $this->parseExtensionFilter($post['filter-exts']) : '';
281
- $tablelist = isset($post['dbtables']) ? implode(',', $post['dbtables']) : '';
 
282
 
283
  //PACKAGE
284
  $this->Version = DUPLICATOR_VERSION;
@@ -305,6 +309,7 @@ class DUP_Package {
305
  //DATABASE
306
  $this->Database->FilterOn = isset($post['dbfilter-on']) ? 1 : 0;
307
  $this->Database->FilterTables = esc_html($tablelist);
 
308
 
309
  update_option(self::OPT_ACTIVE, $this);
310
  }
132
  $report['ARC']['Status']['Size'],
133
  $report['ARC']['Status']['Names'],
134
  $report['ARC']['Status']['Big'],
135
+ $db['Status']['Size'],
136
+ $db['Status']['Rows']);
137
 
138
+ $warn_counts = array_count_values($warnings);
139
+
140
  $report['RPT']['Warnings'] = $warn_counts['Warn'];
141
+ $report['RPT']['Success'] = $warn_counts['Good'];
142
  $report['RPT']['ScanTime'] = DUP_Util::ElapsedTime(DUP_Util::GetMicrotime(), $timerStart);
143
  $fp = fopen(DUPLICATOR_SSDIR_PATH_TMP . "/{$this->ScanFile}", 'w');
144
  fwrite($fp, json_encode($report));
279
  $name = substr(sanitize_file_name($name), 0 , 40);
280
  $name = str_replace($name_chars, '', $name);
281
 
282
+ $filter_dirs = isset($post['filter-dirs']) ? $this->parseDirectoryFilter($post['filter-dirs']) : '';
283
+ $filter_exts = isset($post['filter-exts']) ? $this->parseExtensionFilter($post['filter-exts']) : '';
284
+ $tablelist = isset($post['dbtables']) ? implode(',', $post['dbtables']) : '';
285
+ $compatlist = isset($post['dbcompat']) ? implode(',', $post['dbcompat']) : '';
286
 
287
  //PACKAGE
288
  $this->Version = DUPLICATOR_VERSION;
309
  //DATABASE
310
  $this->Database->FilterOn = isset($post['dbfilter-on']) ? 1 : 0;
311
  $this->Database->FilterTables = esc_html($tablelist);
312
+ $this->Database->Compatible = $compatlist;
313
 
314
  update_option(self::OPT_ACTIVE, $this);
315
  }
classes/utility.php CHANGED
@@ -255,7 +255,7 @@ class DUP_Util {
255
  $capability = apply_filters('wpfront_user_role_editor_duplicator_translate_capability', $capability);
256
 
257
  if(!current_user_can($capability)) {
258
- wp_die(__('You do not have sufficient permissions to access this page.', 'wpduplicator'));
259
  return;
260
  }
261
  }
255
  $capability = apply_filters('wpfront_user_role_editor_duplicator_translate_capability', $capability);
256
 
257
  if(!current_user_can($capability)) {
258
+ wp_die(__('You do not have sufficient permissions to access this page.', 'duplicator'));
259
  return;
260
  }
261
  }
define.php CHANGED
@@ -3,14 +3,14 @@
3
  if (function_exists('plugin_dir_url')) {
4
 
5
 
6
- define('DUPLICATOR_VERSION', '0.5.34');
7
  define("DUPLICATOR_HOMEPAGE", "http://lifeinthegrid.com/labs/duplicator");
8
  define("DUPLICATOR_GIVELINK", "http://lifeinthegrid.com/partner");
9
  define("DUPLICATOR_HELPLINK", "http://lifeinthegrid.com/duplicator-docs");
10
  define("DUPLICATOR_CERTIFIED", "http://lifeinthegrid.com/duplicator-hosts");
11
  define('DUPLICATOR_PLUGIN_URL', plugin_dir_url(__FILE__));
12
  define('DUPLICATOR_SITE_URL', get_site_url());
13
- define('DUPLICATOR_LANG_SLUG', 'wpduplicator');
14
 
15
  /* Paths should ALWAYS read "/"
16
  uni: /home/path/file.txt
3
  if (function_exists('plugin_dir_url')) {
4
 
5
 
6
+ define('DUPLICATOR_VERSION', '1.1.0');
7
  define("DUPLICATOR_HOMEPAGE", "http://lifeinthegrid.com/labs/duplicator");
8
  define("DUPLICATOR_GIVELINK", "http://lifeinthegrid.com/partner");
9
  define("DUPLICATOR_HELPLINK", "http://lifeinthegrid.com/duplicator-docs");
10
  define("DUPLICATOR_CERTIFIED", "http://lifeinthegrid.com/duplicator-hosts");
11
  define('DUPLICATOR_PLUGIN_URL', plugin_dir_url(__FILE__));
12
  define('DUPLICATOR_SITE_URL', get_site_url());
13
+ define('DUPLICATOR_LANG_SLUG', 'duplicator');
14
 
15
  /* Paths should ALWAYS read "/"
16
  uni: /home/path/file.txt
duplicator.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Duplicator
4
  Plugin URI: http://www.lifeinthegrid.com/duplicator/
5
  Description: Create a backup of your WordPress files and database. Duplicate and move an entire site from one location to another in a few steps. Create a full snapshot of your site at any point in time.
6
- Version: 0.5.34
7
  Author: LifeInTheGrid
8
  Author URI: http://www.lifeinthegrid.com
9
  Text Domain: wpduplicator
@@ -84,7 +84,7 @@ if (is_admin() == true) {
84
  if (DUPLICATOR_VERSION != get_option("duplicator_version_plugin")) {
85
  duplicator_activate();
86
  }
87
- load_plugin_textdomain('wpduplicator', FALSE, dirname(plugin_basename(__FILE__)) . '/lang/');
88
  }
89
 
90
  /* DEACTIVATION / UNINSTALL
@@ -100,8 +100,8 @@ if (is_admin() == true) {
100
  $plugin = plugin_basename(__FILE__);
101
  // create link
102
  if ($file == $plugin) {
103
- $links[] = '<a href="admin.php?page=duplicator-help" title="' . __('Get Help', 'wpduplicator') . '" >' . __('Help', 'wpduplicator') . '</a>';
104
- $links[] = '<a href="admin.php?page=duplicator-about" title="' . __('Support the Plugin', 'wpduplicator') . '">' . __('About', 'wpduplicator') . '</a>';
105
  return $links;
106
  }
107
  return $links;
@@ -140,8 +140,10 @@ if (is_admin() == true) {
140
  wp_register_style('dup-jquery-ui', DUPLICATOR_PLUGIN_URL . 'assets/css/jquery-ui.css', null, "1.11.2");
141
  wp_register_style('dup-font-awesome', DUPLICATOR_PLUGIN_URL . 'assets/css/font-awesome.min.css', null, '4.1.0');
142
  wp_register_style('dup-plugin-style', DUPLICATOR_PLUGIN_URL . 'assets/css/style.css', null, DUPLICATOR_VERSION);
 
143
  /* JS */
144
  wp_register_script('dup-parsley', DUPLICATOR_PLUGIN_URL . 'assets/js/parsley-standalone.min.js', array('jquery'), '1.1.18');
 
145
  }
146
 
147
  //PAGE VIEWS
@@ -168,11 +170,13 @@ if (is_admin() == true) {
168
  * Loads the menu item into the WP tools section and queues the actions for only this plugin */
169
  function duplicator_menu() {
170
  $wpfront_caps_translator = 'wpfront_user_role_editor_duplicator_translate_capability';
171
-
172
- //Main Menu
 
173
  $perms = 'export';
174
  $perms = apply_filters($wpfront_caps_translator, $perms);
175
- $main_menu = add_menu_page('Duplicator Plugin', 'Duplicator', $perms, 'duplicator', 'duplicator_get_menu', plugins_url('duplicator/assets/img/create.png'));
 
176
 
177
  $perms = 'export';
178
  $perms = apply_filters($wpfront_caps_translator, $perms);
@@ -224,6 +228,7 @@ if (is_admin() == true) {
224
  wp_enqueue_script('jquery-ui-core');
225
  wp_enqueue_script('jquery-ui-progressbar');
226
  wp_enqueue_script('dup-parsley');
 
227
  }
228
 
229
  /**
@@ -233,6 +238,7 @@ if (is_admin() == true) {
233
  wp_enqueue_style('dup-jquery-ui');
234
  wp_enqueue_style('dup-font-awesome');
235
  wp_enqueue_style('dup-plugin-style');
 
236
  }
237
 
238
  /**
@@ -244,7 +250,7 @@ if (is_admin() == true) {
244
  $this_plugin = plugin_basename(__FILE__);
245
 
246
  if ($file == $this_plugin) {
247
- $settings_link = '<a href="admin.php?page=duplicator">' . __("Manage", 'wpduplicator') . '</a>';
248
  array_unshift($links, $settings_link);
249
  }
250
  return $links;
3
  Plugin Name: Duplicator
4
  Plugin URI: http://www.lifeinthegrid.com/duplicator/
5
  Description: Create a backup of your WordPress files and database. Duplicate and move an entire site from one location to another in a few steps. Create a full snapshot of your site at any point in time.
6
+ Version: 1.1.0
7
  Author: LifeInTheGrid
8
  Author URI: http://www.lifeinthegrid.com
9
  Text Domain: wpduplicator
84
  if (DUPLICATOR_VERSION != get_option("duplicator_version_plugin")) {
85
  duplicator_activate();
86
  }
87
+ load_plugin_textdomain('duplicator', FALSE, dirname(plugin_basename(__FILE__)) . '/lang/');
88
  }
89
 
90
  /* DEACTIVATION / UNINSTALL
100
  $plugin = plugin_basename(__FILE__);
101
  // create link
102
  if ($file == $plugin) {
103
+ $links[] = '<a href="admin.php?page=duplicator-help" title="' . __('Get Help', 'duplicator') . '" >' . __('Help', 'duplicator') . '</a>';
104
+ $links[] = '<a href="admin.php?page=duplicator-about" title="' . __('Support the Plugin', 'duplicator') . '">' . __('About', 'duplicator') . '</a>';
105
  return $links;
106
  }
107
  return $links;
140
  wp_register_style('dup-jquery-ui', DUPLICATOR_PLUGIN_URL . 'assets/css/jquery-ui.css', null, "1.11.2");
141
  wp_register_style('dup-font-awesome', DUPLICATOR_PLUGIN_URL . 'assets/css/font-awesome.min.css', null, '4.1.0');
142
  wp_register_style('dup-plugin-style', DUPLICATOR_PLUGIN_URL . 'assets/css/style.css', null, DUPLICATOR_VERSION);
143
+ wp_register_style('dup-jquery-qtip',DUPLICATOR_PLUGIN_URL . 'assets/js/jquery.qtip/jquery.qtip.min.css', null, '2.2.1');
144
  /* JS */
145
  wp_register_script('dup-parsley', DUPLICATOR_PLUGIN_URL . 'assets/js/parsley-standalone.min.js', array('jquery'), '1.1.18');
146
+ wp_register_script('dup-jquery-qtip', DUPLICATOR_PLUGIN_URL . 'assets/js/jquery.qtip/jquery.qtip.min.js', array('jquery'), '2.2.1');
147
  }
148
 
149
  //PAGE VIEWS
170
  * Loads the menu item into the WP tools section and queues the actions for only this plugin */
171
  function duplicator_menu() {
172
  $wpfront_caps_translator = 'wpfront_user_role_editor_duplicator_translate_capability';
173
+ $icon_svg = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQXJ0d29yayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyMy4yNXB4IiBoZWlnaHQ9IjIyLjM3NXB4IiB2aWV3Qm94PSIwIDAgMjMuMjUgMjIuMzc1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMy4yNSAyMi4zNzUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGZpbGw9IiM5Q0ExQTYiIGQ9Ik0xOC4wMTEsMS4xODhjLTEuOTk1LDAtMy42MTUsMS42MTgtMy42MTUsMy42MTRjMCwwLjA4NSwwLjAwOCwwLjE2NywwLjAxNiwwLjI1TDcuNzMzLDguMTg0QzcuMDg0LDcuNTY1LDYuMjA4LDcuMTgyLDUuMjQsNy4xODJjLTEuOTk2LDAtMy42MTUsMS42MTktMy42MTUsMy42MTRjMCwxLjk5NiwxLjYxOSwzLjYxMywzLjYxNSwzLjYxM2MwLjYyOSwwLDEuMjIyLTAuMTYyLDEuNzM3LTAuNDQ1bDIuODksMi40MzhjLTAuMTI2LDAuMzY4LTAuMTk4LDAuNzYzLTAuMTk4LDEuMTczYzAsMS45OTUsMS42MTgsMy42MTMsMy42MTQsMy42MTNjMS45OTUsMCwzLjYxNS0xLjYxOCwzLjYxNS0zLjYxM2MwLTEuOTk3LTEuNjItMy42MTQtMy42MTUtMy42MTRjLTAuNjMsMC0xLjIyMiwwLjE2Mi0xLjczNywwLjQ0M2wtMi44OS0yLjQzNWMwLjEyNi0wLjM2OCwwLjE5OC0wLjc2MywwLjE5OC0xLjE3M2MwLTAuMDg0LTAuMDA4LTAuMTY2LTAuMDEzLTAuMjVsNi42NzYtMy4xMzNjMC42NDgsMC42MTksMS41MjUsMS4wMDIsMi40OTUsMS4wMDJjMS45OTQsMCwzLjYxMy0xLjYxNywzLjYxMy0zLjYxM0MyMS42MjUsMi44MDYsMjAuMDA2LDEuMTg4LDE4LjAxMSwxLjE4OHoiLz48L3N2Zz4=';
174
+
175
+ //Main Menu
176
  $perms = 'export';
177
  $perms = apply_filters($wpfront_caps_translator, $perms);
178
+ $main_menu = add_menu_page('Duplicator Plugin', 'Duplicator', $perms, 'duplicator', 'duplicator_get_menu', $icon_svg);
179
+ //$main_menu = add_menu_page('Duplicator Plugin', 'Duplicator', $perms, 'duplicator', 'duplicator_get_menu', plugins_url('duplicator/assets/img/logo-menu.svg'));
180
 
181
  $perms = 'export';
182
  $perms = apply_filters($wpfront_caps_translator, $perms);
228
  wp_enqueue_script('jquery-ui-core');
229
  wp_enqueue_script('jquery-ui-progressbar');
230
  wp_enqueue_script('dup-parsley');
231
+ wp_enqueue_script('dup-jquery-qtip');
232
  }
233
 
234
  /**
238
  wp_enqueue_style('dup-jquery-ui');
239
  wp_enqueue_style('dup-font-awesome');
240
  wp_enqueue_style('dup-plugin-style');
241
+ wp_enqueue_style('dup-jquery-qtip');
242
  }
243
 
244
  /**
250
  $this_plugin = plugin_basename(__FILE__);
251
 
252
  if ($file == $this_plugin) {
253
+ $settings_link = '<a href="admin.php?page=duplicator">' . __("Manage", 'duplicator') . '</a>';
254
  array_unshift($links, $settings_link);
255
  }
256
  return $links;
installer/build/ajax.step1.php CHANGED
@@ -393,8 +393,9 @@ if ($result = mysqli_query($dbh, "SHOW TABLES")) {
393
  }
394
 
395
  if ($dbtable_count == 0) {
396
- DUPX_Log::Info("NOTICE: You may have to manually run the installer-data.sql to validate data input. Also check to make sure your installer file is correct and the
397
- table prefix '{$GLOBALS['FW_TABLEPREFIX']}' is correct for this particular version of WordPress. \n");
 
398
  }
399
 
400
 
393
  }
394
 
395
  if ($dbtable_count == 0) {
396
+ DUPX_Log::Error("No tables where created during step 1 of the install. Please review the installer-log.txt file for sql error messages.
397
+ You may have to manually run the installer-data.sql with a tool like phpmyadmin to validate the data input. If you have enabled compatibility mode
398
+ during the package creation process then the database server version your using may not be compatible with this script.\n");
399
  }
400
 
401
 
installer/build/classes/class.logging.php CHANGED
@@ -9,7 +9,7 @@ if (! defined('DUPLICATOR_INIT')) {
9
  }
10
 
11
  define('ERR_CONFIG_FOUND', 'A wp-config.php already exists in this location. This error prevents users from accidentally overwriting the wrong directories contents. You have two options: <ul><li>Empty this root directory except for the package and installer and try again.</li><li>Delete just the wp-config.php file and try again. This will over-write all other files in the directory.</li></ul>');
12
- define('ERR_ZIPNOTFOUND', 'The packaged zip file was not found. Be sure the zip package is in the same directory as the installer file. If you are trying to reinstall a package you can copy the package from the "' . DUPLICATOR_SSDIR_NAME . '" directory back up to your root which is the same location as your installer.php file.');
13
  define('ERR_ZIPOPEN', 'Failed to open zip archive file. Please be sure the archive is completely downloaded before running the installer. Try to extract the archive manually to make sure the file is not corrupted.');
14
  define('ERR_ZIPEXTRACTION', 'Errors extracting zip file. Portions or part of the zip archive did not extract correctly. Try to extract the archive manually with a client side program like unzip/win-zip/winrar to make sure the file is not corrupted. If the file extracts correctly then there is an invalid file or directory that PHP is unable to extract. This can happen if your moving from one operating system to another where certain naming conventions work on one environment and not another. <br/><br/> Workarounds: <br/> 1. Create a new package and be sure to exclude any directories that have invalid names or files in them. This warning will be displayed on the scan results under "Invalid Names". <br/> 2. Manually extract the zip file with a client side program. Then under advanced options in step 1 of the installer check the "Manual package extraction" option and perform the install.');
15
  define('ERR_ZIPMANUAL', 'When choosing manual package extraction, the contents of the package must already be extracted and the wp-config.php and database.sql files must be present in the same directory as the installer.php for the process to continue. Please manually extract the package into the current directory before continuing in manual extraction mode. Also validate that the wp-config.php and database.sql files are present.');
9
  }
10
 
11
  define('ERR_CONFIG_FOUND', 'A wp-config.php already exists in this location. This error prevents users from accidentally overwriting the wrong directories contents. You have two options: <ul><li>Empty this root directory except for the package and installer and try again.</li><li>Delete just the wp-config.php file and try again. This will over-write all other files in the directory.</li></ul>');
12
+ define('ERR_ZIPNOTFOUND', 'The packaged zip file was not found. Be sure the zip package is in the same directory as the installer file and as the correct permissions. If you are trying to reinstall a package you can copy the package from the "' . DUPLICATOR_SSDIR_NAME . '" directory back up to your root which is the same location as your installer.php file.');
13
  define('ERR_ZIPOPEN', 'Failed to open zip archive file. Please be sure the archive is completely downloaded before running the installer. Try to extract the archive manually to make sure the file is not corrupted.');
14
  define('ERR_ZIPEXTRACTION', 'Errors extracting zip file. Portions or part of the zip archive did not extract correctly. Try to extract the archive manually with a client side program like unzip/win-zip/winrar to make sure the file is not corrupted. If the file extracts correctly then there is an invalid file or directory that PHP is unable to extract. This can happen if your moving from one operating system to another where certain naming conventions work on one environment and not another. <br/><br/> Workarounds: <br/> 1. Create a new package and be sure to exclude any directories that have invalid names or files in them. This warning will be displayed on the scan results under "Invalid Names". <br/> 2. Manually extract the zip file with a client side program. Then under advanced options in step 1 of the installer check the "Manual package extraction" option and perform the install.');
15
  define('ERR_ZIPMANUAL', 'When choosing manual package extraction, the contents of the package must already be extracted and the wp-config.php and database.sql files must be present in the same directory as the installer.php for the process to continue. Please manually extract the package into the current directory before continuing in manual extraction mode. Also validate that the wp-config.php and database.sql files are present.');
installer/build/classes/class.utils.php CHANGED
@@ -164,7 +164,7 @@ class DupUtil {
164
  while ($table = @mysqli_fetch_array($query)) {
165
  $all_tables[] = $table[0];
166
  }
167
- if (is_array($all_tables)) {
168
  return $all_tables;
169
  }
170
  }
@@ -310,6 +310,38 @@ class DupUtil {
310
  }
311
  }
312
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
313
 
314
  }
315
  ?>
164
  while ($table = @mysqli_fetch_array($query)) {
165
  $all_tables[] = $table[0];
166
  }
167
+ if (isset($all_tables) && is_array($all_tables)) {
168
  return $all_tables;
169
  }
170
  }
310
  }
311
  }
312
 
313
+ /**
314
+ * GET_ZIP_FILES
315
+ * Returns an array of zip files found in the current directory
316
+ * @return array of zip files
317
+ */
318
+ static public function get_zip_files() {
319
+
320
+ $files = array();
321
+ foreach (glob("*.zip") as $name) {
322
+ if (file_exists($name)) {
323
+ $files[] = $name;
324
+ }
325
+ }
326
+
327
+ if (count($files) > 0) {
328
+ return $files;
329
+ }
330
+
331
+ //FALL BACK: Windows XP has bug with glob,
332
+ //add secondary check for PHP lameness
333
+ $dh = opendir('.');
334
+ while (false !== ($name = readdir($dh))) {
335
+ $ext = substr($name, strrpos($name, '.') + 1);
336
+ if(in_array($ext, array("zip"))) {
337
+ $files[] = $name;
338
+ }
339
+ }
340
+ closedir($dh);
341
+
342
+ return $files;
343
+ }
344
+
345
 
346
  }
347
  ?>
installer/build/view.step1.php CHANGED
@@ -8,14 +8,15 @@
8
  exit;
9
  }
10
  //DETECT ARCHIVE FILES
11
- $zip_file_name = "No package file found";
12
- $zip_file_count = 0;
13
- foreach (glob("*.zip") as $filename) {
14
- $zip_file_name = $filename;
15
- $zip_file_count++;
16
- }
17
- if ($zip_file_count > 1) {
18
- $zip_file_name = "Too many zip files in directory";
 
19
  }
20
 
21
  $req01a = @is_writeable($GLOBALS["CURRENT_ROOT_PATH"]) ? 'Pass' : 'Fail';
@@ -26,7 +27,7 @@
26
  $req01a = 'Fail';
27
  }
28
  }
29
- $req01b = ($zip_file_count == 1) ? 'Pass' : 'Fail';
30
  $req01 = ($req01a == 'Pass' && $req01b == 'Pass') ? 'Pass' : 'Fail';
31
  $safe_ini = strtolower(@ini_get('safe_mode'));
32
  $req02 = $safe_ini != 'on' || $safe_ini != 'yes' || $safe_ini != 'true' || ini_get("safe_mode") != 1 ? 'Pass' : 'Fail';
@@ -156,7 +157,7 @@ VIEW: STEP 1- INPUT -->
156
  <form id='dup-step1-input-form' method="post" class="content-form" parsley-validate>
157
  <input type="hidden" name="action_ajax" value="1" />
158
  <input type="hidden" name="action_step" value="1" />
159
- <input type="hidden" name="package_name" value="<?php echo $zip_file_name ?>" />
160
 
161
  <div class="dup-logfile-link">
162
  <select name="logging" id="logging">
@@ -336,7 +337,7 @@ VIEW: STEP 1 - AJAX RESULT
336
  Auto Posts to view.step2.php -->
337
  <form id='dup-step1-result-form' method="post" class="content-form" style="display:none">
338
  <input type="hidden" name="action_step" value="2" />
339
- <input type="hidden" name="package_name" value="<?php echo $zip_file_name ?>" />
340
  <input type="hidden" name="logging" id="ajax-logging" />
341
  <input type="hidden" name="dbhost" id="ajax-dbhost" />
342
  <input type="hidden" name="dbport" id="ajax-dbport" />
@@ -379,7 +380,7 @@ PANEL: SERVER CHECKS -->
379
  <div id="dup-step1-dialog" title="System Status" style="display:none">
380
  <div id="dup-step1-dialog-data" style="padding: 0px 10px 10px 10px;">
381
 
382
- <b>Archive Name:</b> <?php echo $zip_file_name; ?> <br/>
383
  <b>Package Notes:</b> <?php echo empty($GLOBALS['FW_PACKAGE_NOTES']) ? 'No notes provided for this pakcage.' : $GLOBALS['FW_PACKAGE_NOTES']; ?><br/><br/>
384
 
385
  <!-- SYSTEM REQUIREMENTS -->
@@ -395,7 +396,7 @@ PANEL: SERVER CHECKS -->
395
  <?php
396
  echo "<i>Path: {$GLOBALS['CURRENT_ROOT_PATH']} </i><br/>";
397
  printf("<b>[%s]</b> %s <br/>", $req01a, "Is Writable by PHP");
398
- printf("<b>[%s]</b> %s <br/>", $req01b, "Contains only one zip file<div style='padding-left:70px'>Result = {$zip_file_name} <br/> <i>Note: Manual extraction still requires the archive.zip file</i> </div> ");
399
  ?>
400
  </td>
401
  </tr>
8
  exit;
9
  }
10
  //DETECT ARCHIVE FILES
11
+ $zip_files = DupUtil::get_zip_files();
12
+ $zip_count = count($zip_files);
13
+
14
+ if ($zip_count > 1) {
15
+ $zip_name = "Too many zip files in directory";
16
+ } else if ($zip_count == 1) {
17
+ $zip_name = $zip_files[0];
18
+ } else {
19
+ $zip_name = "No package file found";
20
  }
21
 
22
  $req01a = @is_writeable($GLOBALS["CURRENT_ROOT_PATH"]) ? 'Pass' : 'Fail';
27
  $req01a = 'Fail';
28
  }
29
  }
30
+ $req01b = ($zip_count == 1) ? 'Pass' : 'Fail';
31
  $req01 = ($req01a == 'Pass' && $req01b == 'Pass') ? 'Pass' : 'Fail';
32
  $safe_ini = strtolower(@ini_get('safe_mode'));
33
  $req02 = $safe_ini != 'on' || $safe_ini != 'yes' || $safe_ini != 'true' || ini_get("safe_mode") != 1 ? 'Pass' : 'Fail';
157
  <form id='dup-step1-input-form' method="post" class="content-form" parsley-validate>
158
  <input type="hidden" name="action_ajax" value="1" />
159
  <input type="hidden" name="action_step" value="1" />
160
+ <input type="hidden" name="package_name" value="<?php echo $zip_name ?>" />
161
 
162
  <div class="dup-logfile-link">
163
  <select name="logging" id="logging">
337
  Auto Posts to view.step2.php -->
338
  <form id='dup-step1-result-form' method="post" class="content-form" style="display:none">
339
  <input type="hidden" name="action_step" value="2" />
340
+ <input type="hidden" name="package_name" value="<?php echo $zip_name ?>" />
341
  <input type="hidden" name="logging" id="ajax-logging" />
342
  <input type="hidden" name="dbhost" id="ajax-dbhost" />
343
  <input type="hidden" name="dbport" id="ajax-dbport" />
380
  <div id="dup-step1-dialog" title="System Status" style="display:none">
381
  <div id="dup-step1-dialog-data" style="padding: 0px 10px 10px 10px;">
382
 
383
+ <b>Archive Name:</b> <?php echo $zip_name; ?> <br/>
384
  <b>Package Notes:</b> <?php echo empty($GLOBALS['FW_PACKAGE_NOTES']) ? 'No notes provided for this pakcage.' : $GLOBALS['FW_PACKAGE_NOTES']; ?><br/><br/>
385
 
386
  <!-- SYSTEM REQUIREMENTS -->
396
  <?php
397
  echo "<i>Path: {$GLOBALS['CURRENT_ROOT_PATH']} </i><br/>";
398
  printf("<b>[%s]</b> %s <br/>", $req01a, "Is Writable by PHP");
399
+ printf("<b>[%s]</b> %s <br/>", $req01b, "Contains only one zip file<div style='padding-left:70px'>Result = {$zip_name} <br/> <i>Note: Manual extraction still requires the archive.zip file</i> </div> ");
400
  ?>
401
  </td>
402
  </tr>
readme.txt CHANGED
@@ -3,13 +3,12 @@ Contributors: corylamleorg, bobriley
3
  Donate link: www.lifeinthegrid.com/partner
4
  Tags: backup, restore, move, migrate, localhost, synchronize, duplicate, clone, automate, niche
5
  Requires at least: 3.9
6
- Tested up to: 4.3
7
- Stable tag: 0.5.34
8
  License: GPLv2
9
 
10
  Duplicate, clone, backup, move and transfer an entire site from one location to another.
11
 
12
-
13
  == Description ==
14
 
15
  > The Duplicator gives WordPress administrators the ability to migrate, copy or clone a site from one location to another. The plugin also serves as a simple backup utility. The Duplicator supports both serialized and base64 serialized string replacement. If you need to move WordPress or backup WordPress this plugin can help simplify the process. For complete details visit [lifeinthegrid.com](http://lifeinthegrid.com/).
@@ -17,33 +16,31 @@ Duplicate, clone, backup, move and transfer an entire site from one location to
17
  = Quick Video Demo =
18
  http://www.youtube.com/watch?v=yZ7pHmR9JC8
19
 
20
- = Disclaimer =
21
- This plugin does require above average technical knowledge. If you plan to move WordPress or backup WordPress please use it at your own risk and do not forget to back up your files and databases beforehand with other backup system. Please do not attempt to use the plugin if you're new to WordPress or have a limited technical background. Please seek out professional help if your in question of anything. If you need to move WordPress or backup WordPress and you don't have a firm grasp on using WordPress then you can get additional help from the Duplicator [resources page](http://lifeinthegrid.com/labs/duplicator/) .
22
 
23
- = Developers =
24
- This tool is great to move WordPress or backup Wordpress sites and for pulling a production site down onto your local machine for testing and validation. It also works good for developing locally and then pushing up to a production server for a first time site release.
25
 
26
  = Please Note =
27
  The underlying logic to backup WordPress, move WordPress and transfer WordPress are very complex. It's impossible to know how each system is setup; this is why your feedback is important to us. Thanks for helping us to make WordPress the best blogging platform in the world.
28
 
29
- = Duplicator Pro =
30
- Take Duplicator to the next level with the [premium version](http://snapcreek.com/duplicator) of the plugin.
 
 
31
 
32
  = Active Contributors =
33
  <li>[Paal Joachim Romdahl](http://www.easywebdesigntutorials.com) (Training)</li>
34
  <li>[Hans-M. Herbrand](http://www.web266.de) (German) </li>
35
  <li>[Nicolas Richer](http://nicolasricher.fr) (French)</li>
36
 
37
- = Other Contributors =
38
- <li>[Emilio De Fez](http://www.canaryas.com) (Spanish) </li>
39
- <li>[Marco Andrei Kichalowsky](http://www.arsnovasolucoes.com) (Portuguese)</li>
40
- Jonathan Foote, Tomas Gurny, Aaron Crawford
41
-
42
  = Donate =
43
  Enjoy using *Duplicator*? Please consider [making a donation](http://lifeinthegrid.com/partner/) to support the project's continued development.
44
 
45
 
46
 
 
47
  == Installation ==
48
 
49
  1. Upload `duplicator` folder to the `/wp-content/plugins/` directory
3
  Donate link: www.lifeinthegrid.com/partner
4
  Tags: backup, restore, move, migrate, localhost, synchronize, duplicate, clone, automate, niche
5
  Requires at least: 3.9
6
+ Tested up to: 4.4
7
+ Stable tag: 1.1.0
8
  License: GPLv2
9
 
10
  Duplicate, clone, backup, move and transfer an entire site from one location to another.
11
 
 
12
  == Description ==
13
 
14
  > The Duplicator gives WordPress administrators the ability to migrate, copy or clone a site from one location to another. The plugin also serves as a simple backup utility. The Duplicator supports both serialized and base64 serialized string replacement. If you need to move WordPress or backup WordPress this plugin can help simplify the process. For complete details visit [lifeinthegrid.com](http://lifeinthegrid.com/).
16
  = Quick Video Demo =
17
  http://www.youtube.com/watch?v=yZ7pHmR9JC8
18
 
19
+ = Admins/Developers/Designers =
20
+ This tool is great to move or backup Wordpress sites and for pulling production sites down to your local machine for testing and validation. It also works good for developing locally and then pushing up to a production server for site releases/updates or just demoing a site.
21
 
22
+ = Duplicator Pro =
23
+ Take Duplicator to the next level with the [premium version](http://snapcreek.com/duplicator?wpo-premium) of the plugin. With professional features like, scheduling, cloud storage to Dropbox, Google Drive, FTP and a long list of other enhancements. For a full breakdown of the features found in the professional version checkout the [comparison page](https://snapcreek.com/duplicator/comparison?wpo-compare) .
24
 
25
  = Please Note =
26
  The underlying logic to backup WordPress, move WordPress and transfer WordPress are very complex. It's impossible to know how each system is setup; this is why your feedback is important to us. Thanks for helping us to make WordPress the best blogging platform in the world.
27
 
28
+ = Disclaimer =
29
+ This plugin does require some technical knowledge. If you plan to move WordPress or backup WordPress please use it at your own risk and do not forget to back up your files and databases beforehand. If you're new to WordPress or have a very limited technical background you may consider seeking out professional help your first time using the plugin. If you need to move or backup WordPress and would like additional help please visit the Duplicator [resources page](http://lifeinthegrid.com/labs/duplicator/) .
30
+
31
+
32
 
33
  = Active Contributors =
34
  <li>[Paal Joachim Romdahl](http://www.easywebdesigntutorials.com) (Training)</li>
35
  <li>[Hans-M. Herbrand](http://www.web266.de) (German) </li>
36
  <li>[Nicolas Richer](http://nicolasricher.fr) (French)</li>
37
 
 
 
 
 
 
38
  = Donate =
39
  Enjoy using *Duplicator*? Please consider [making a donation](http://lifeinthegrid.com/partner/) to support the project's continued development.
40
 
41
 
42
 
43
+
44
  == Installation ==
45
 
46
  1. Upload `duplicator` folder to the `/wp-content/plugins/` directory
views/actions.php CHANGED
@@ -92,6 +92,7 @@ function duplicator_package_delete() {
92
  foreach ($list as $id) {
93
 
94
  $getResult = $wpdb->get_results($wpdb->prepare("SELECT name, hash FROM `{$tblName}` WHERE id = %d", $id), ARRAY_A);
 
95
  if ($getResult) {
96
  $row = $getResult[0];
97
  $nameHash = "{$row['name']}_{$row['hash']}";
@@ -117,7 +118,9 @@ function duplicator_package_delete() {
117
  @unlink(DUP_Util::SafePath(DUPLICATOR_SSDIR_PATH . "/{$nameHash}.log"));
118
  //Unfinished Zip files
119
  $tmpZip = DUPLICATOR_SSDIR_PATH_TMP . "/{$nameHash}_archive.zip.*";
120
- array_map('unlink', glob($tmpZip));
 
 
121
  @unlink(DUP_Util::SafePath());
122
  $delCount++;
123
  }
92
  foreach ($list as $id) {
93
 
94
  $getResult = $wpdb->get_results($wpdb->prepare("SELECT name, hash FROM `{$tblName}` WHERE id = %d", $id), ARRAY_A);
95
+
96
  if ($getResult) {
97
  $row = $getResult[0];
98
  $nameHash = "{$row['name']}_{$row['hash']}";
118
  @unlink(DUP_Util::SafePath(DUPLICATOR_SSDIR_PATH . "/{$nameHash}.log"));
119
  //Unfinished Zip files
120
  $tmpZip = DUPLICATOR_SSDIR_PATH_TMP . "/{$nameHash}_archive.zip.*";
121
+ if ($tmpZip !== false) {
122
+ array_map('unlink', glob($tmpZip));
123
+ }
124
  @unlink(DUP_Util::SafePath());
125
  $delCount++;
126
  }
views/help/about.php CHANGED
@@ -38,7 +38,7 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
38
 
39
  <div class="wrap dup-wrap dup-support-all">
40
 
41
- <?php duplicator_header(__("About", 'wpduplicator')) ?>
42
  <hr size="1" />
43
 
44
  <div style="width:850px; margin:auto; margin-top: 20px">
@@ -46,12 +46,12 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
46
  <tr>
47
  <td style="width:90px">
48
  <a href="http://lifeinthegrid.com/labs/duplicator" target="_blank">
49
- <img src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/logo-box.png" style='text-align:top; margin:-15px 0px 0px 0px' />
50
  </a>
51
  </td>
52
  <td valign="top" style="padding-top:10px; font-size:14px">
53
  <?php
54
- _e("Created for Admins, Developers and Designers the Duplicator can streamline your workflows and help you quickly clone a WordPress application. Migrating a WordPress site manually can be very time consuming. The Duplicator was made to help you speed up the migration process. Please help us to continue the development effort of this plugin.", 'wpduplicator');
55
  ?>
56
  </td>
57
  </tr>
@@ -61,14 +61,14 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
61
  <!-- ==================================================
62
  SUPPORT DUPLICATOR
63
  ==================================================== -->
64
- <h2><?php _e('Support Duplicator', 'wpduplicator') ?></h2>
65
 
66
  <!-- PARTNER WITH US -->
67
  <div class="dup-support-give-area">
68
  <table class="dup-support-hlp-hdrs">
69
  <tr >
70
  <td style="height:30px; text-align: center;">
71
- <span style="display: inline-block; margin-top: 5px"><?php _e('Partner with Us', 'wpduplicator') ?></span>
72
  </td>
73
  </tr>
74
  </table>
@@ -80,14 +80,14 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
80
  <input name="cmd" type="hidden" value="_s-xclick" />
81
  <input name="hosted_button_id" type="hidden" value="EYJ7AV43RTZJL" />
82
  <input alt="PayPal - The safer, easier way to pay online!" name="submit" src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/paypal.png" type="image" />
83
- <div style="margin-top:-5px"><?php _e('Keep Active and Online', 'wpduplicator') ?></div>
84
  <img src="https://www.paypalobjects.com/WEBSCR-640-20110401-1/en_US/i/scr/pixel.gif" border="0" alt="" width="1" height="1" />
85
  </form>
86
  </div>
87
  </td>
88
  <td style="padding-right:40px;" valign="top">
89
  <a href="http://wordpress.org/extend/plugins/duplicator" target="_blank"><img id="dup-img-5stars" src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/5star.png" /></a>
90
- <div style="margin-top:-4px"><?php _e('Leave 5 Stars', 'wpduplicator') ?></div></a>
91
  </td>
92
  </tr>
93
  <tr>
@@ -104,14 +104,14 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
104
  <table class="dup-support-hlp-hdrs">
105
  <tr>
106
  <td style="height:30px; text-align: center;">
107
- <span style="display: inline-block; margin-top: 5px"><?php _e('Spread the Word', 'wpduplicator') ?></span>
108
  </td>
109
  </tr>
110
  </table>
111
  <div class="dup-support-hlp-txt">
112
  <?php
113
- $title = __("Duplicate Your WordPress", 'wpduplicator');
114
- $summary = __("Rapid WordPress Duplication by LifeInTheGrid.com", 'wpduplicator');
115
  $share_this_data = "st_url='" . DUPLICATOR_HOMEPAGE . "' st_title='{$title}' st_summary='{$summary}'";
116
  ?>
117
  <div style="width:100%; padding:20px 10px 0px 10px" align="center">
@@ -127,8 +127,8 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
127
 
128
 
129
  <div style='margin: auto; text-align: center; margin-top: 20px'>
130
- <a href="http://lifeinthegrid.com/tools" target="_blank" style="font-size:22px;">
131
- <i class="fa fa-rocket" style="margin-right:8px"></i><?php _e('Get More Great Tools', 'wpduplicator') ?>...
132
  </a>
133
  </div>
134
 
38
 
39
  <div class="wrap dup-wrap dup-support-all">
40
 
41
+ <?php duplicator_header(__("About", 'duplicator')) ?>
42
  <hr size="1" />
43
 
44
  <div style="width:850px; margin:auto; margin-top: 20px">
46
  <tr>
47
  <td style="width:90px">
48
  <a href="http://lifeinthegrid.com/labs/duplicator" target="_blank">
49
+ <img src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/logo-box.png" style='text-align:top; margin:0' />
50
  </a>
51
  </td>
52
  <td valign="top" style="padding-top:10px; font-size:14px">
53
  <?php
54
+ _e("Created for Admins, Developers and Designers the Duplicator can streamline your workflows and help you quickly clone a WordPress application. Migrating a WordPress site manually can be very time consuming. The Duplicator was made to help you speed up the migration process. Please help us to continue the development effort of this plugin.", 'duplicator');
55
  ?>
56
  </td>
57
  </tr>
61
  <!-- ==================================================
62
  SUPPORT DUPLICATOR
63
  ==================================================== -->
64
+ <h2><?php _e('Support Duplicator', 'duplicator') ?></h2>
65
 
66
  <!-- PARTNER WITH US -->
67
  <div class="dup-support-give-area">
68
  <table class="dup-support-hlp-hdrs">
69
  <tr >
70
  <td style="height:30px; text-align: center;">
71
+ <span style="display: inline-block; margin-top: 5px"><?php _e('Partner with Us', 'duplicator') ?></span>
72
  </td>
73
  </tr>
74
  </table>
80
  <input name="cmd" type="hidden" value="_s-xclick" />
81
  <input name="hosted_button_id" type="hidden" value="EYJ7AV43RTZJL" />
82
  <input alt="PayPal - The safer, easier way to pay online!" name="submit" src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/paypal.png" type="image" />
83
+ <div style="margin-top:-5px"><?php _e('Keep Active and Online', 'duplicator') ?></div>
84
  <img src="https://www.paypalobjects.com/WEBSCR-640-20110401-1/en_US/i/scr/pixel.gif" border="0" alt="" width="1" height="1" />
85
  </form>
86
  </div>
87
  </td>
88
  <td style="padding-right:40px;" valign="top">
89
  <a href="http://wordpress.org/extend/plugins/duplicator" target="_blank"><img id="dup-img-5stars" src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/5star.png" /></a>
90
+ <div style="margin-top:-4px"><?php _e('Leave 5 Stars', 'duplicator') ?></div></a>
91
  </td>
92
  </tr>
93
  <tr>
104
  <table class="dup-support-hlp-hdrs">
105
  <tr>
106
  <td style="height:30px; text-align: center;">
107
+ <span style="display: inline-block; margin-top: 5px"><?php _e('Spread the Word', 'duplicator') ?></span>
108
  </td>
109
  </tr>
110
  </table>
111
  <div class="dup-support-hlp-txt">
112
  <?php
113
+ $title = __("Duplicate Your WordPress", 'duplicator');
114
+ $summary = __("Rapid WordPress Duplication by LifeInTheGrid.com", 'duplicator');
115
  $share_this_data = "st_url='" . DUPLICATOR_HOMEPAGE . "' st_title='{$title}' st_summary='{$summary}'";
116
  ?>
117
  <div style="width:100%; padding:20px 10px 0px 10px" align="center">
127
 
128
 
129
  <div style='margin: auto; text-align: center; margin-top: 20px'>
130
+ <a href="http://lifeinthegrid.com/tools" target="_blank" class="button button-large button-primary">
131
+ <i class="fa fa-rocket" style="margin-right:8px"></i><?php _e('Get More Great Tools', 'duplicator') ?>...
132
  </a>
133
  </div>
134
 
views/help/gopro.php CHANGED
@@ -18,11 +18,11 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
18
  div.dup-compare-area div.feature div.info {display:none; padding:7px 7px 5px 7px; font-style: italic; color: #555; font-size: 14px}
19
  div.dup-gopro-header {text-align: center; margin: 5px 0 15px 0; font-size:18px; line-height: 30px}
20
  div.dup-gopro-header b {font-size: 35px}
21
- a.dup-check-it-btn {box-shadow: 5px 5px 5px 0px #999 !important; font-size: 20px !important; height:50px !important; padding:10px 40px 0 40px !important;}
22
 
23
  #comparison-table { margin-top:25px; border-spacing: 0px; width: 100%}
24
  #comparison-table th { color: #E21906;}
25
- #comparison-table td, #comparison-table th { font-size: 1.2rem; padding: 15px; }
26
  #comparison-table .feature-column { text-align: left; width: 46%}
27
  #comparison-table .check-column { text-align: center; width: 27% }
28
  #comparison-table tr:nth-child(2n+2) {background-color: #f6f6f6; }
@@ -35,9 +35,9 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
35
  <div class="dup-pro-area">
36
 
37
  <div>
38
- <h1 style="font-size:34px; margin-top:50px">
39
- <img src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/logo.png" style='text-align:top; margin:-8px 0; height:40px;' />
40
- <?php DUP_Util::_e('Duplicator Professional') ?>
41
  </h1>
42
  <h3 style="margin-top:10px; font-size:18px; font-style: italic; color:gray">
43
  <?php DUP_Util::_e('The simplicity of Duplicator') ?>
@@ -98,27 +98,37 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
98
  <td class="check-column"><i class="fa fa-check"></i></td>
99
  </tr>
100
  <tr>
101
- <td class="feature-column">Enhanced Package Engine</td>
102
  <td class="check-column"></td>
103
  <td class="check-column"><i class="fa fa-check"></i></td>
104
  </tr>
105
  <tr>
106
- <td class="feature-column">Email Alerts</td>
107
  <td class="check-column"></td>
108
  <td class="check-column"><i class="fa fa-check"></i></td>
109
  </tr>
110
  <tr>
111
- <td class="feature-column">Custom Templates</td>
112
  <td class="check-column"></td>
113
  <td class="check-column"><i class="fa fa-check"></i></td>
114
- </tr>
115
  <tr>
116
  <td class="feature-column">File Filters</td>
117
  <td class="check-column"></td>
118
  <td class="check-column"><i class="fa fa-check"></i></td>
119
  </tr>
120
  <tr>
121
- <td class="feature-column">Customer Support</td>
 
 
 
 
 
 
 
 
 
 
122
  <td class="check-column"></td>
123
  <td class="check-column"><i class="fa fa-check"></i></td>
124
  </tr>
18
  div.dup-compare-area div.feature div.info {display:none; padding:7px 7px 5px 7px; font-style: italic; color: #555; font-size: 14px}
19
  div.dup-gopro-header {text-align: center; margin: 5px 0 15px 0; font-size:18px; line-height: 30px}
20
  div.dup-gopro-header b {font-size: 35px}
21
+ a.dup-check-it-btn {box-shadow: 5px 5px 5px 0px #999 !important; font-size: 20px !important; height:45px !important; padding:7px 30px 0 30px !important;}
22
 
23
  #comparison-table { margin-top:25px; border-spacing: 0px; width: 100%}
24
  #comparison-table th { color: #E21906;}
25
+ #comparison-table td, #comparison-table th { font-size: 1.2rem; padding: 12px; }
26
  #comparison-table .feature-column { text-align: left; width: 46%}
27
  #comparison-table .check-column { text-align: center; width: 27% }
28
  #comparison-table tr:nth-child(2n+2) {background-color: #f6f6f6; }
35
  <div class="dup-pro-area">
36
 
37
  <div>
38
+ <h1 style="font-size:34px; margin-top:20px">
39
+ <img src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/logo-pro-32.png" style='text-align:top; margin:0;' />
40
+ <?php DUP_Util::_e('Duplicator Professional') ?>
41
  </h1>
42
  <h3 style="margin-top:10px; font-size:18px; font-style: italic; color:gray">
43
  <?php DUP_Util::_e('The simplicity of Duplicator') ?>
98
  <td class="check-column"><i class="fa fa-check"></i></td>
99
  </tr>
100
  <tr>
101
+ <td class="feature-column">Large Package Support</td>
102
  <td class="check-column"></td>
103
  <td class="check-column"><i class="fa fa-check"></i></td>
104
  </tr>
105
  <tr>
106
+ <td class="feature-column">Multisite Backup</td>
107
  <td class="check-column"></td>
108
  <td class="check-column"><i class="fa fa-check"></i></td>
109
  </tr>
110
  <tr>
111
+ <td class="feature-column">Email Alerts</td>
112
  <td class="check-column"></td>
113
  <td class="check-column"><i class="fa fa-check"></i></td>
114
+ </tr>
115
  <tr>
116
  <td class="feature-column">File Filters</td>
117
  <td class="check-column"></td>
118
  <td class="check-column"><i class="fa fa-check"></i></td>
119
  </tr>
120
  <tr>
121
+ <td class="feature-column">Custom Search & Replace</td>
122
+ <td class="check-column"></td>
123
+ <td class="check-column"><i class="fa fa-check"></i></td>
124
+ </tr>
125
+ <tr>
126
+ <td class="feature-column">Manual Transfers</td>
127
+ <td class="check-column"></td>
128
+ <td class="check-column"><i class="fa fa-check"></i></td>
129
+ </tr>
130
+ <tr>
131
+ <td class="feature-column">Active Customer Support</td>
132
  <td class="check-column"></td>
133
  <td class="check-column"><i class="fa fa-check"></i></td>
134
  </tr>
views/help/help.php CHANGED
@@ -26,7 +26,7 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
26
 
27
  <div class="wrap dup-wrap dup-support-all">
28
 
29
- <?php duplicator_header(__("Help", 'wpduplicator')) ?>
30
  <hr size="1" />
31
 
32
  <div style="width:800px; margin:auto; margin-top: 20px">
@@ -35,7 +35,7 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
35
  <td style="width:70px"><i class="fa fa-question-circle fa-5x"></i></td>
36
  <td valign="top" style="padding-top:10px; font-size:13px">
37
  <?php
38
- _e("Migrating WordPress is a complex process and the logic to make all the magic happen smoothly may not work quickly with every site. With over 30,000 plugins and a very complex server eco-system some migrations may run into issues. This is why the Duplicator includes a detailed knowledgebase that can help with many common issues. Resources to additional support, approved hosting, and alternatives to fit your needs can be found below.", 'wpduplicator');
39
  ?>
40
  </td>
41
 
@@ -47,17 +47,17 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
47
  <div class="dup-support-hlp-area">
48
  <div class="dup-support-hlp-hdrs">
49
  <i class="fa fa-cube fa-2x pull-left"></i>
50
- <div><?php _e('Knowledgebase', 'wpduplicator') ?></div>
51
  </div>
52
  <div class="dup-support-hlp-txt">
53
- <?php _e('Complete Online Documentation', 'wpduplicator'); ?><br/>
54
  <select id="dup-support-kb-lnks" style="margin-top:18px; font-size:16px; min-width: 170px">
55
- <option> <?php _e('Choose A Section', 'wpduplicator') ?> </option>
56
- <option value="http://lifeinthegrid.com/duplicator-quick"><?php _e('Quick Start', 'wpduplicator') ?></option>
57
- <option value="http://lifeinthegrid.com/duplicator-guide"><?php _e('User Guide', 'wpduplicator') ?></option>
58
- <option value="http://lifeinthegrid.com/duplicator-faq"><?php _e('FAQs', 'wpduplicator') ?></option>
59
- <option value="http://lifeinthegrid.com/duplicator-log"><?php _e('Change Log', 'wpduplicator') ?></option>
60
- <option value="http://lifeinthegrid.com/labs/duplicator"><?php _e('Product Page', 'wpduplicator') ?></option>
61
  </select>
62
  </div>
63
  </div>
@@ -66,14 +66,14 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
66
  <div class="dup-support-hlp-area">
67
  <div class="dup-support-hlp-hdrs">
68
  <i class="fa fa-lightbulb-o fa-2x pull-left"></i>
69
- <div><?php _e('Online Support', 'wpduplicator') ?></div>
70
  </div>
71
  <div class="dup-support-hlp-txt">
72
- <?php _e("Get Help From IT Professionals", 'wpduplicator'); ?>
73
  <br/><br/>
74
  <div class="dup-support-txts-links">
75
  <button class="button button-primary button-large" onclick="Duplicator.OpenSupportWindow();
76
- return false;"><?php _e('Get Support!', 'wpduplicator') ?></button> &nbsp;
77
  </div>
78
  </div>
79
  </div>
@@ -85,13 +85,13 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
85
 
86
  <div class="dup-support-hlp-hdrs">
87
  <i class="fa fa-bolt fa-2x pull-left"></i>
88
- <div><?php _e('Approved Hosting', 'wpduplicator') ?></div>
89
  </div>
90
  <div class="dup-support-hlp-txt">
91
- <?php _e('Servers That Work With Duplicator', 'wpduplicator'); ?>
92
  <br/><br/>
93
  <div class="dup-support-txts-links">
94
- <button class="button button-primary button-large" onclick="window.open('http://lifeinthegrid.com/duplicator-hosts', 'litg');"><?php _e('Trusted Providers!', 'wpduplicator') ?></button> &nbsp;
95
  </div>
96
  </div>
97
  </div>
@@ -101,13 +101,13 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
101
 
102
  <div class="dup-support-hlp-hdrs">
103
  <i class="fa fa-code-fork fa-2x pull-left"></i>
104
- <div><?php _e('Alternatives', 'wpduplicator') ?></div>
105
  </div>
106
  <div class="dup-support-hlp-txt">
107
- <?php _e('Other Commercial Resources', 'wpduplicator'); ?>
108
  <br/><br/>
109
  <div class="dup-support-txts-links">
110
- <button class="button button-primary button-large" onclick="window.open('http://lifeinthegrid.com/duplicator-getalts', 'litg');"><?php _e('Pro Solutions!', 'wpduplicator') ?></button> &nbsp;
111
  </div>
112
  </div>
113
  </div>
26
 
27
  <div class="wrap dup-wrap dup-support-all">
28
 
29
+ <?php duplicator_header(__("Help", 'duplicator')) ?>
30
  <hr size="1" />
31
 
32
  <div style="width:800px; margin:auto; margin-top: 20px">
35
  <td style="width:70px"><i class="fa fa-question-circle fa-5x"></i></td>
36
  <td valign="top" style="padding-top:10px; font-size:13px">
37
  <?php
38
+ _e("Migrating WordPress is a complex process and the logic to make all the magic happen smoothly may not work quickly with every site. With over 30,000 plugins and a very complex server eco-system some migrations may run into issues. This is why the Duplicator includes a detailed knowledgebase that can help with many common issues. Resources to additional support, approved hosting, and alternatives to fit your needs can be found below.", 'duplicator');
39
  ?>
40
  </td>
41
 
47
  <div class="dup-support-hlp-area">
48
  <div class="dup-support-hlp-hdrs">
49
  <i class="fa fa-cube fa-2x pull-left"></i>
50
+ <div><?php _e('Knowledgebase', 'duplicator') ?></div>
51
  </div>
52
  <div class="dup-support-hlp-txt">
53
+ <?php _e('Complete Online Documentation', 'duplicator'); ?><br/>
54
  <select id="dup-support-kb-lnks" style="margin-top:18px; font-size:16px; min-width: 170px">
55
+ <option> <?php _e('Choose A Section', 'duplicator') ?> </option>
56
+ <option value="http://lifeinthegrid.com/duplicator-quick"><?php _e('Quick Start', 'duplicator') ?></option>
57
+ <option value="http://lifeinthegrid.com/duplicator-guide"><?php _e('User Guide', 'duplicator') ?></option>
58
+ <option value="http://lifeinthegrid.com/duplicator-faq"><?php _e('FAQs', 'duplicator') ?></option>
59
+ <option value="http://lifeinthegrid.com/duplicator-log"><?php _e('Change Log', 'duplicator') ?></option>
60
+ <option value="http://lifeinthegrid.com/labs/duplicator"><?php _e('Product Page', 'duplicator') ?></option>
61
  </select>
62
  </div>
63
  </div>
66
  <div class="dup-support-hlp-area">
67
  <div class="dup-support-hlp-hdrs">
68
  <i class="fa fa-lightbulb-o fa-2x pull-left"></i>
69
+ <div><?php _e('Online Support', 'duplicator') ?></div>
70
  </div>
71
  <div class="dup-support-hlp-txt">
72
+ <?php _e("Get Help From IT Professionals", 'duplicator'); ?>
73
  <br/><br/>
74
  <div class="dup-support-txts-links">
75
  <button class="button button-primary button-large" onclick="Duplicator.OpenSupportWindow();
76
+ return false;"><?php _e('Get Support!', 'duplicator') ?></button> &nbsp;
77
  </div>
78
  </div>
79
  </div>
85
 
86
  <div class="dup-support-hlp-hdrs">
87
  <i class="fa fa-bolt fa-2x pull-left"></i>
88
+ <div><?php _e('Approved Hosting', 'duplicator') ?></div>
89
  </div>
90
  <div class="dup-support-hlp-txt">
91
+ <?php _e('Servers That Work With Duplicator', 'duplicator'); ?>
92
  <br/><br/>
93
  <div class="dup-support-txts-links">
94
+ <button class="button button-primary button-large" onclick="window.open('http://lifeinthegrid.com/duplicator-hosts', 'litg');"><?php _e('Trusted Providers!', 'duplicator') ?></button> &nbsp;
95
  </div>
96
  </div>
97
  </div>
101
 
102
  <div class="dup-support-hlp-hdrs">
103
  <i class="fa fa-code-fork fa-2x pull-left"></i>
104
+ <div><?php _e('Alternatives', 'duplicator') ?></div>
105
  </div>
106
  <div class="dup-support-hlp-txt">
107
+ <?php _e('Other Commercial Resources', 'duplicator'); ?>
108
  <br/><br/>
109
  <div class="dup-support-txts-links">
110
+ <button class="button button-primary button-large" onclick="window.open('http://lifeinthegrid.com/duplicator-getalts', 'litg');"><?php _e('Pro Solutions!', 'duplicator') ?></button> &nbsp;
111
  </div>
112
  </div>
113
  </div>
views/inc.header.php CHANGED
@@ -2,13 +2,5 @@
2
  <!-- !!DO NOT CHANGE OR EDIT PRODUCT NAME!!
3
  If your interested in Private Label Rights please contact us for
4
  customizations to product labeling: lifeinthegrid.com -->
5
-
6
-
7
- <div class="dup-header" style="margin:0px 0px 10px 0px">
8
- <h2>Duplicator &raquo; <?php echo $title ?><br/></h2>
9
- </div>
10
-
11
- <?php } ?>
12
-
13
-
14
-
2
  <!-- !!DO NOT CHANGE OR EDIT PRODUCT NAME!!
3
  If your interested in Private Label Rights please contact us for
4
  customizations to product labeling: lifeinthegrid.com -->
5
+ <h1><?php echo $title ?><br/></h1>
6
+ <?php } ?>
 
 
 
 
 
 
 
 
views/javascript.php CHANGED
@@ -85,7 +85,7 @@ Duplicator.UI.AnimateProgressBar = function(id) {
85
  function runAnimation($pb) {
86
  $pb.css({ "padding-left": "0%", "padding-right": "90%" });
87
  $pb.progressbar("option", "value", 100);
88
- $pb.animate({ paddingLeft: "90%", paddingRight: "0%" }, 3500, "linear", function () { runAnimation($pb); });
89
  }
90
  }
91
 
@@ -118,6 +118,26 @@ jQuery(document).ready(function($) {
118
  ? $arrow.html('<i class="fa fa-caret-up"></i>')
119
  : $arrow.html('<i class="fa fa-caret-down"></i>');
120
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  });
122
 
123
  </script>
85
  function runAnimation($pb) {
86
  $pb.css({ "padding-left": "0%", "padding-right": "90%" });
87
  $pb.progressbar("option", "value", 100);
88
+ $pb.animate({ paddingLeft: "90%", paddingRight: "0%" }, 3000, "linear", function () { runAnimation($pb); });
89
  }
90
  }
91
 
118
  ? $arrow.html('<i class="fa fa-caret-up"></i>')
119
  : $arrow.html('<i class="fa fa-caret-down"></i>');
120
  });
121
+
122
+ //Look for tooltip data
123
+ $('i[data-tooltip!=""]').qtip({
124
+ content: {
125
+ attr: 'data-tooltip',
126
+ title: {
127
+ text: function() { return $(this).attr('data-tooltip-title'); }
128
+ }
129
+ },
130
+ style: {
131
+ classes: 'qtip-light qtip-rounded qtip-shadow',
132
+ width: 500
133
+ },
134
+ position: {
135
+ my: 'top left',
136
+ at: 'bottom center'
137
+ }
138
+ });
139
+
140
+
141
  });
142
 
143
  </script>
views/packages/controller.php CHANGED
@@ -73,16 +73,24 @@ $current_tab = isset($_REQUEST['tab']) ? esc_html($_REQUEST['tab']) : 'list';
73
 
74
  <div class="wrap">
75
  <?php
76
- duplicator_header(__("Packages", 'wpduplicator'));
77
 
78
  switch ($current_tab) {
79
- case 'list': include('list.base.php');
 
 
80
  break;
81
- case 'new1': include('new1.base.php');
 
 
82
  break;
83
- case 'new2': include('new2.base.php');
 
 
84
  break;
85
- case 'new3': include('new3.base.php');
 
 
86
  break;
87
  }
88
  ?>
73
 
74
  <div class="wrap">
75
  <?php
76
+
77
 
78
  switch ($current_tab) {
79
+ case 'list':
80
+ duplicator_header(__("Packages &raquo; All", 'duplicator'));
81
+ include('list.base.php');
82
  break;
83
+ case 'new1':
84
+ duplicator_header(__("Packages &raquo; New", 'duplicator'));
85
+ include('new1.base.php');
86
  break;
87
+ case 'new2':
88
+ duplicator_header(__("Packages &raquo; New", 'duplicator'));
89
+ include('new2.base.php');
90
  break;
91
+ case 'new3':
92
+ duplicator_header(__("Packages &raquo; New", 'duplicator'));
93
+ include('new3.base.php');
94
  break;
95
  }
96
  ?>
views/packages/list-nodata.php CHANGED
@@ -4,15 +4,15 @@
4
 
5
  <div id='dup-list-alert-nodata'>
6
  <i class="fa fa-archive"></i>
7
- <?php _e("No Packages Found.", 'wpduplicator'); ?><br/>
8
- <?php _e("Click the 'Create New' button to build a package.", 'wpduplicator'); ?> <br/><br/>
9
 
10
  <i>
11
  <?php
12
  printf("%s <a href='admin.php?page=duplicator-help'>%s</a> %s",
13
- __("Please visit the", 'wpduplicator'),
14
- __("help page", 'wpduplicator'),
15
- __("for additional support", 'wpduplicator'));
16
  ?>
17
  </i>
18
 
@@ -21,16 +21,16 @@
21
  <div id="dup-notice-01" class='dup-notice-msg'>
22
  <i class="fa fa-exclamation-triangle fa-lg"></i>
23
  <?php
24
- _e("Older packages prior to 0.5.0 are no longer supported in this version.", 'wpduplicator');
25
 
26
  printf(" %s <a href='admin.php?page=duplicator-help'>%s</a> %s",
27
- __("To get an older package please visit the", 'wpduplicator'),
28
- __("help page", 'wpduplicator'),
29
- __("and look for the Change Log link for additional instructions.", 'wpduplicator'));
30
  ?><br/>
31
  <label for="dup-notice01-chk">
32
  <input type="checkbox" class="dup-notice-chk" id="dup-notice01-chk" name="dup-notice01-chk" onclick="Duplicator.UI.SaveViewStateByPost('dup-notice01-chk', 1); jQuery('#dup-notice-01').hide()" />
33
- <?php _e("Hide this message", 'wpduplicator'); ?>
34
  </label>
35
  </div><br/><br/>
36
  <?php else : ?>
4
 
5
  <div id='dup-list-alert-nodata'>
6
  <i class="fa fa-archive"></i>
7
+ <?php _e("No Packages Found.", 'duplicator'); ?><br/>
8
+ <?php _e("Click the 'Create New' button to build a package.", 'duplicator'); ?> <br/><br/>
9
 
10
  <i>
11
  <?php
12
  printf("%s <a href='admin.php?page=duplicator-help'>%s</a> %s",
13
+ __("Please visit the", 'duplicator'),
14
+ __("help page", 'duplicator'),
15
+ __("for additional support", 'duplicator'));
16
  ?>
17
  </i>
18
 
21
  <div id="dup-notice-01" class='dup-notice-msg'>
22
  <i class="fa fa-exclamation-triangle fa-lg"></i>
23
  <?php
24
+ _e("Older packages prior to 0.5.0 are no longer supported in this version.", 'duplicator');
25
 
26
  printf(" %s <a href='admin.php?page=duplicator-help'>%s</a> %s",
27
+ __("To get an older package please visit the", 'duplicator'),
28
+ __("help page", 'duplicator'),
29
+ __("and look for the Change Log link for additional instructions.", 'duplicator'));
30
  ?><br/>
31
  <label for="dup-notice01-chk">
32
  <input type="checkbox" class="dup-notice-chk" id="dup-notice01-chk" name="dup-notice01-chk" onclick="Duplicator.UI.SaveViewStateByPost('dup-notice01-chk', 1); jQuery('#dup-notice-01').hide()" />
33
+ <?php _e("Hide this message", 'duplicator'); ?>
34
  </label>
35
  </div><br/><br/>
36
  <?php else : ?>
views/packages/list.base.php CHANGED
@@ -38,7 +38,7 @@
38
 
39
  <?php if($statusCount >= 3) : ?>
40
  <div style="font-size:13px; position: absolute; top:10px; right:20px">
41
- <a href="admin.php?page=duplicator-about" style="color:maroon"><i><i class="fa fa-check-circle"></i> <?php _e("Help Support Duplicator", 'wpduplicator') ?></i> </a>
42
  </div>
43
  <?php endif; ?>
44
 
@@ -49,19 +49,19 @@ TOOL-BAR -->
49
  <td style="white-space: nowrap">
50
  <div class="alignleft actions">
51
  <select id="dup-pack-bulk-actions">
52
- <option value="-1" selected="selected"><?php _e("Bulk Actions", 'wpduplicator') ?></option>
53
- <option value="delete" title="<?php _e("Delete selected package(s)", 'wpduplicator') ?>"><?php _e("Delete", 'wpduplicator') ?></option>
54
  </select>
55
- <input type="button" id="dup-pack-bulk-apply" class="button action" value="<?php _e("Apply", 'wpduplicator') ?>" onclick="Duplicator.Pack.Delete()">
56
  </div>
57
  <br class="clear">
58
  </td>
59
  <td align="center">
60
- <a href="?page=duplicator-tools" id="btn-logs-dialog" class="button" title="<?php _e("Package Logs", 'wpduplicator') ?>..."><i class="fa fa-list-alt"></i>
61
  </td>
62
  <td class="dup-toolbar-btns">
63
- <span><i class="fa fa-archive"></i> <?php _e("All Packages", 'wpduplicator'); ?></span> &nbsp;
64
- <a id="dup-pro-create-new" href="?page=duplicator&tab=new1" class="add-new-h2"><?php _e("Create New", 'wpduplicator'); ?></a>
65
  </td>
66
  </tr>
67
  </table>
@@ -86,13 +86,13 @@ TOOL-BAR -->
86
  <table class="widefat dup-pack-table">
87
  <thead>
88
  <tr>
89
- <th><input type="checkbox" id="dup-bulk-action-all" title="<?php _e("Select all packages", 'wpduplicator') ?>" style="margin-left:15px" onclick="Duplicator.Pack.SetDeleteAll()" /></th>
90
- <th><?php _e("Details", 'wpduplicator') ?></th>
91
- <th><?php _e("Created", 'wpduplicator') ?></th>
92
- <th><?php _e("Size", 'wpduplicator') ?></th>
93
- <th style="width:90%;"><?php _e("Name", 'wpduplicator') ?></th>
94
  <th style="text-align:center;" colspan="2">
95
- <?php _e("Package", 'wpduplicator')?>
96
  </th>
97
  </tr>
98
  </thead>
@@ -123,7 +123,7 @@ TOOL-BAR -->
123
  $detail_id = "duplicator-detail-row-{$rowCount}";
124
  $plugin_version = empty($pack_version) ? 'unknown' : $pack_version;
125
  $plugin_compat = version_compare($plugin_version, '0.5.0');
126
- $notes = empty($pack_notes) ? __("(No Notes Taken)", 'wpduplicator') : $pack_notes;
127
 
128
  //Links
129
  $uniqueid = "{$row['name']}_{$row['hash']}";
@@ -141,31 +141,31 @@ TOOL-BAR -->
141
  <?php if ($row['status'] >= 100) : ?>
142
  <tr class="dup-pack-info <?php echo $css_alt ?>">
143
  <td class="pass"><input name="delete_confirm" type="checkbox" id="<?php echo $row['id'] ;?>" /></td>
144
- <td><a href="javascript:void(0);" onclick="return Duplicator.Pack.ToggleDetail('<?php echo $detail_id ;?>');">[<?php echo __("View", 'wpduplicator') . ' ' . $row['id'];?>]</a></td>
145
  <td><?php echo date( "m-d-y G:i", strtotime($row['created']));?></td>
146
  <td><?php echo DUP_Util::ByteSize($pack_archive_size); ?></td>
147
  <td class='pack-name'><?php echo $pack_name ;?></td>
148
  <td class="get-btns">
149
- <button id="<?php echo "{$uniqueid}_installer.php" ?>" class="button no-select" onclick="Duplicator.Pack.DownloadFile('<?php echo $installfilelink; ?>', this); return false;"><i class="fa fa-bolt"></i> <?php _e("Installer", 'wpduplicator') ?></button> &nbsp;
150
  </td>
151
  <td class="get-btns">
152
- <button id="<?php echo "{$uniqueid}_archive.zip" ?>" class="button no-select" onclick="Duplicator.Pack.DownloadFile('<?php echo $packagepath; ?>', this); return false;"><i class="fa fa-file-archive-o"></i> <?php _e("Archive", 'wpduplicator') ?></button>
153
  </td>
154
  </tr>
155
  <tr>
156
  <td colspan="8" id="<?php echo $detail_id; ?>" class="dup-pack-details <?php echo $css_alt ?>">
157
- <b><?php _e("Version", 'wpduplicator') ?>:</b> <?php echo $plugin_version ?> &nbsp; | &nbsp;
158
- <b><?php _e("User", 'wpduplicator') ?>:</b> <?php echo $row['owner']; ?> &nbsp; | &nbsp;
159
- <b><?php _e("Hash", 'wpduplicator')?>:</b> <?php echo $pack_namehash ;?> <br/>
160
- <b><?php _e("Notes", 'wpduplicator')?>:</b> <?php echo $notes ?>
161
  <div style="height:7px">&nbsp;</div>
162
- <button class="button" onclick="Duplicator.Pack.ShowLinksDialog(<?php echo "'{$sqlfilelink}', '{$packagepath}', '{$installfilelink}', '{$logfilelink}', '{$reportfilelink}' " ;?>); return false;" class="thickbox"><i class="fa fa-lock"></i> &nbsp; <?php _e("Links", 'wpduplicator')?></button> &nbsp;
163
- <button class="button" onclick="window.open(<?php echo "'{$sqlfilelink}', '_blank'" ;?>); return false;"><i class="fa fa-table"></i> &nbsp; <?php _e("SQL", 'wpduplicator')?></button> &nbsp;
164
- <button class="button" onclick="Duplicator.OpenLogWindow(<?php echo "'{$logfilename}'" ;?>); return false;"><i class="fa fa-list-alt"></i> &nbsp; <?php _e("Log", 'wpduplicator')?></button>
165
  <?php if ($package_debug) : ?>
166
  <div style="margin-top:7px">
167
- <a href="javascript:void(0)" onclick="window.open(<?php echo "'{$reportfilelink}', '_blank'" ;?>); return false;">[<?php _e("Open Scan Report", 'wpduplicator')?>]</a> &nbsp;
168
- <a href="javascript:void(0)" onclick="jQuery(this).parent().find('.dup-pack-debug').toggle()">[<?php _e("View Package Object", 'wpduplicator')?>]</a><br/>
169
  <textarea class="dup-pack-debug"><?php @print_r($Package); ?> </textarea>
170
  </div>
171
  <?php endif; ?>
@@ -186,33 +186,33 @@ TOOL-BAR -->
186
  ?>
187
  <tr class="dup-pack-info <?php echo $css_alt ?>">
188
  <td class="fail"><input name="delete_confirm" type="checkbox" id="<?php echo $row['id'] ;?>" /></td>
189
- <td><a href="javascript:void(0);" onclick="return Duplicator.Pack.ToggleDetail('<?php echo $detail_id ;?>');">[<?php echo __("View", 'wpduplicator') . ' ' . $row['id'];?>]</a></td>
190
  <td><?php echo date( "m-d-y G:i", strtotime($row['created']));?></td>
191
  <td><?php echo DUP_Util::ByteSize($size); ?></td>
192
  <td class='pack-name'><?php echo $pack_name ;?></td>
193
  <td class="get-btns" colspan="2">
194
  <span style='display:inline-block; padding:7px 40px 0px 0px'>
195
- <a href="javascript:void(0);" onclick="return Duplicator.Pack.ToggleDetail('<?php echo $detail_id ;?>');"><?php _e("View Error Details", 'wpduplicator') ?>...</a>
196
  </span>
197
  </td>
198
  </tr>
199
  <tr>
200
  <td colspan="8" id="<?php echo $detail_id; ?>" class="dup-pack-details <?php echo $css_alt ?>">
201
  <div class="dup-details-area-error">
202
- <b><?php _e("Version", 'wpduplicator') ?>:</b> <?php echo $plugin_version ?> &nbsp; | &nbsp;
203
- <b><?php _e("User", 'wpduplicator') ?>:</b> <?php echo $row['owner']; ?> &nbsp; | &nbsp;
204
- <b><?php _e("Hash", 'wpduplicator')?>:</b> <?php echo $pack_name ;?> <br/>
205
 
206
  <?php if ($pack_name == 'unknown') : ?>
207
- <b><?php _e("Unrecoverable Error! Please remove this package.", 'wpduplicator')?></b><br/>
208
  <?php else : ?>
209
- <b><?php _e("Notes", 'wpduplicator')?>:</b> <?php echo $notes ?> <br/>
210
  <?php
211
  printf("%s <u><a href='http://lifeinthegrid.com/duplicator-docs' target='_blank'>%s</a></u>",
212
- __("This package has encountered errors. Click 'View Log' for more details. For additional support see the ", 'wpduplicator'),
213
- __("online knowledgebase", 'wpduplicator'));
214
  ?><div style="height:7px">&nbsp;</div>
215
- <button class='button' onclick="Duplicator.OpenLogWindow(<?php echo "'{$logfilename}'" ;?>); return false;"><?php _e("View Log", 'wpduplicator')?></button>
216
  <?php if ($package_debug) : ?>
217
  <div style="margin-top:7px">
218
  <a href="javascript:void(0)" onclick="jQuery(this).parent().find('.dup-pack-debug').toggle()">[View Package Object]</a><br/>
@@ -234,8 +234,8 @@ TOOL-BAR -->
234
  <tfoot>
235
  <tr>
236
  <th colspan="8" style='text-align:right; font-size:12px'>
237
- <?php echo _e("Packages", 'wpduplicator') . ': ' . $totalElements; ?> |
238
- <?php echo _e("Total Size", 'wpduplicator') . ': ' . DUP_Util::ByteSize($totalSize); ?>
239
  </th>
240
  </tr>
241
  </tfoot>
@@ -254,16 +254,16 @@ TOOL-BAR -->
254
  <!-- ==========================================
255
  DIALOG: QUICK PATH -->
256
  <?php add_thickbox(); ?>
257
- <div id="dup-dlg-quick-path" title="<?php _e('Download Links', 'wpduplicator'); ?>" style="display:none">
258
  <p>
259
  <i class="fa fa-lock"></i>
260
- <?php _e("The following links contain sensitive data. Please share with caution!", 'wpduplicator'); ?>
261
  </p>
262
 
263
  <div style="padding: 0px 15px 15px 15px;">
264
  <a href="javascript:void(0)" style="display:inline-block; text-align:right" onclick="Duplicator.Pack.GetLinksText()">[Select All]</a> <br/>
265
  <textarea id="dup-dlg-quick-path-data" style='border:1px solid silver; border-radius:3px; width:99%; height:225px; font-size:11px'></textarea><br/>
266
- <i style='font-size:11px'><?php _e("The database SQL script is a quick link to your database backup script. An exact copy is also stored in the package.", 'wpduplicator'); ?></i>
267
  </div>
268
  </div>
269
 
@@ -286,7 +286,7 @@ jQuery(document).ready(function($) {
286
  var count = 0;
287
 
288
  if ($("#dup-pack-bulk-actions").val() != "delete") {
289
- alert("<?php _e('Please select an action from the bulk action drop down menu to perform a specific action.', 'wpduplicator') ?>");
290
  return;
291
  }
292
  $("input[name=delete_confirm]").each(function() {
@@ -294,11 +294,11 @@ jQuery(document).ready(function($) {
294
  });
295
  var list = arr.join(',');
296
  if (list.length == 0) {
297
- alert("<?php _e('Please select at least one package to delete.', 'wpduplicator') ?>");
298
  return;
299
  }
300
 
301
- if (confirm("<?php _e('Are you sure, you want to delete the selected package(s)?', 'wpduplicator') ?>")){
302
 
303
  $.ajax({
304
  type: "POST",
@@ -332,14 +332,14 @@ jQuery(document).ready(function($) {
332
  Duplicator.Pack.ShowLinksDialog = function(db, install, pack, log, report) {
333
 
334
  var url = '#TB_inline?width=650&height=350&inlineId=dup-dlg-quick-path';
335
- tb_show("<?php _e('Package File Links', 'wpduplicator') ?>", url);
336
 
337
  var msg = <?php printf('"%s:\n" + db + "\n\n%s:\n" + install + "\n\n%s:\n" + pack + "\n\n%s:\n" + log + "\n\n%s:\n" + report;',
338
- __("DATABASE", 'wpduplicator'),
339
- __("PACKAGE", 'wpduplicator'),
340
- __("INSTALLER", 'wpduplicator'),
341
- __("LOG", 'wpduplicator'),
342
- __("REPORT", 'wpduplicator'));
343
  ?>
344
  $("#dup-dlg-quick-path-data").val(msg);
345
  return false;
38
 
39
  <?php if($statusCount >= 3) : ?>
40
  <div style="font-size:13px; position: absolute; top:10px; right:20px">
41
+ <a href="admin.php?page=duplicator-about" style="color:maroon"><i><i class="fa fa-check-circle"></i> <?php _e("Help Support Duplicator", 'duplicator') ?></i> </a>
42
  </div>
43
  <?php endif; ?>
44
 
49
  <td style="white-space: nowrap">
50
  <div class="alignleft actions">
51
  <select id="dup-pack-bulk-actions">
52
+ <option value="-1" selected="selected"><?php _e("Bulk Actions", 'duplicator') ?></option>
53
+ <option value="delete" title="<?php _e("Delete selected package(s)", 'duplicator') ?>"><?php _e("Delete", 'duplicator') ?></option>
54
  </select>
55
+ <input type="button" id="dup-pack-bulk-apply" class="button action" value="<?php _e("Apply", 'duplicator') ?>" onclick="Duplicator.Pack.Delete()">
56
  </div>
57
  <br class="clear">
58
  </td>
59
  <td align="center">
60
+ <a href="?page=duplicator-tools" id="btn-logs-dialog" class="button" title="<?php _e("Package Logs", 'duplicator') ?>..."><i class="fa fa-list-alt"></i>
61
  </td>
62
  <td class="dup-toolbar-btns">
63
+ <span><i class="fa fa-archive"></i> <?php _e("All Packages", 'duplicator'); ?></span> &nbsp;
64
+ <a id="dup-pro-create-new" href="?page=duplicator&tab=new1" class="add-new-h2"><?php _e("Create New", 'duplicator'); ?></a>
65
  </td>
66
  </tr>
67
  </table>
86
  <table class="widefat dup-pack-table">
87
  <thead>
88
  <tr>
89
+ <th><input type="checkbox" id="dup-bulk-action-all" title="<?php _e("Select all packages", 'duplicator') ?>" style="margin-left:15px" onclick="Duplicator.Pack.SetDeleteAll()" /></th>
90
+ <th><?php _e("Details", 'duplicator') ?></th>
91
+ <th><?php _e("Created", 'duplicator') ?></th>
92
+ <th><?php _e("Size", 'duplicator') ?></th>
93
+ <th style="width:90%;"><?php _e("Name", 'duplicator') ?></th>
94
  <th style="text-align:center;" colspan="2">
95
+ <?php _e("Package", 'duplicator')?>
96
  </th>
97
  </tr>
98
  </thead>
123
  $detail_id = "duplicator-detail-row-{$rowCount}";
124
  $plugin_version = empty($pack_version) ? 'unknown' : $pack_version;
125
  $plugin_compat = version_compare($plugin_version, '0.5.0');
126
+ $notes = empty($pack_notes) ? __("(No Notes Taken)", 'duplicator') : $pack_notes;
127
 
128
  //Links
129
  $uniqueid = "{$row['name']}_{$row['hash']}";
141
  <?php if ($row['status'] >= 100) : ?>
142
  <tr class="dup-pack-info <?php echo $css_alt ?>">
143
  <td class="pass"><input name="delete_confirm" type="checkbox" id="<?php echo $row['id'] ;?>" /></td>
144
+ <td><a href="javascript:void(0);" onclick="return Duplicator.Pack.ToggleDetail('<?php echo $detail_id ;?>');">[<?php echo __("View", 'duplicator') . ' ' . $row['id'];?>]</a></td>
145
  <td><?php echo date( "m-d-y G:i", strtotime($row['created']));?></td>
146
  <td><?php echo DUP_Util::ByteSize($pack_archive_size); ?></td>
147
  <td class='pack-name'><?php echo $pack_name ;?></td>
148
  <td class="get-btns">
149
+ <button id="<?php echo "{$uniqueid}_installer.php" ?>" class="button no-select" onclick="Duplicator.Pack.DownloadFile('<?php echo $installfilelink; ?>', this); return false;"><i class="fa fa-bolt"></i> <?php _e("Installer", 'duplicator') ?></button> &nbsp;
150
  </td>
151
  <td class="get-btns">
152
+ <button id="<?php echo "{$uniqueid}_archive.zip" ?>" class="button no-select" onclick="Duplicator.Pack.DownloadFile('<?php echo $packagepath; ?>', this); return false;"><i class="fa fa-file-archive-o"></i> <?php _e("Archive", 'duplicator') ?></button>
153
  </td>
154
  </tr>
155
  <tr>
156
  <td colspan="8" id="<?php echo $detail_id; ?>" class="dup-pack-details <?php echo $css_alt ?>">
157
+ <b><?php _e("Version", 'duplicator') ?>:</b> <?php echo $plugin_version ?> &nbsp; | &nbsp;
158
+ <b><?php _e("User", 'duplicator') ?>:</b> <?php echo $row['owner']; ?> &nbsp; | &nbsp;
159
+ <b><?php _e("Hash", 'duplicator')?>:</b> <?php echo $pack_namehash ;?> <br/>
160
+ <b><?php _e("Notes", 'duplicator')?>:</b> <?php echo $notes ?>
161
  <div style="height:7px">&nbsp;</div>
162
+ <button class="button" onclick="Duplicator.Pack.ShowLinksDialog(<?php echo "'{$sqlfilelink}', '{$packagepath}', '{$installfilelink}', '{$logfilelink}', '{$reportfilelink}' " ;?>); return false;" class="thickbox"><i class="fa fa-lock"></i> &nbsp; <?php _e("Links", 'duplicator')?></button> &nbsp;
163
+ <button class="button" onclick="window.open(<?php echo "'{$sqlfilelink}', '_blank'" ;?>); return false;"><i class="fa fa-table"></i> &nbsp; <?php _e("SQL", 'duplicator')?></button> &nbsp;
164
+ <button class="button" onclick="Duplicator.OpenLogWindow(<?php echo "'{$logfilename}'" ;?>); return false;"><i class="fa fa-list-alt"></i> &nbsp; <?php _e("Log", 'duplicator')?></button>
165
  <?php if ($package_debug) : ?>
166
  <div style="margin-top:7px">
167
+ <a href="javascript:void(0)" onclick="window.open(<?php echo "'{$reportfilelink}', '_blank'" ;?>); return false;">[<?php _e("Open Scan Report", 'duplicator')?>]</a> &nbsp;
168
+ <a href="javascript:void(0)" onclick="jQuery(this).parent().find('.dup-pack-debug').toggle()">[<?php _e("View Package Object", 'duplicator')?>]</a><br/>
169
  <textarea class="dup-pack-debug"><?php @print_r($Package); ?> </textarea>
170
  </div>
171
  <?php endif; ?>
186
  ?>
187
  <tr class="dup-pack-info <?php echo $css_alt ?>">
188
  <td class="fail"><input name="delete_confirm" type="checkbox" id="<?php echo $row['id'] ;?>" /></td>
189
+ <td><a href="javascript:void(0);" onclick="return Duplicator.Pack.ToggleDetail('<?php echo $detail_id ;?>');">[<?php echo __("View", 'duplicator') . ' ' . $row['id'];?>]</a></td>
190
  <td><?php echo date( "m-d-y G:i", strtotime($row['created']));?></td>
191
  <td><?php echo DUP_Util::ByteSize($size); ?></td>
192
  <td class='pack-name'><?php echo $pack_name ;?></td>
193
  <td class="get-btns" colspan="2">
194
  <span style='display:inline-block; padding:7px 40px 0px 0px'>
195
+ <a href="javascript:void(0);" onclick="return Duplicator.Pack.ToggleDetail('<?php echo $detail_id ;?>');"><?php _e("View Error Details", 'duplicator') ?>...</a>
196
  </span>
197
  </td>
198
  </tr>
199
  <tr>
200
  <td colspan="8" id="<?php echo $detail_id; ?>" class="dup-pack-details <?php echo $css_alt ?>">
201
  <div class="dup-details-area-error">
202
+ <b><?php _e("Version", 'duplicator') ?>:</b> <?php echo $plugin_version ?> &nbsp; | &nbsp;
203
+ <b><?php _e("User", 'duplicator') ?>:</b> <?php echo $row['owner']; ?> &nbsp; | &nbsp;
204
+ <b><?php _e("Hash", 'duplicator')?>:</b> <?php echo $pack_name ;?> <br/>
205
 
206
  <?php if ($pack_name == 'unknown') : ?>
207
+ <b><?php _e("Unrecoverable Error! Please remove this package.", 'duplicator')?></b><br/>
208
  <?php else : ?>
209
+ <b><?php _e("Notes", 'duplicator')?>:</b> <?php echo $notes ?> <br/>
210
  <?php
211
  printf("%s <u><a href='http://lifeinthegrid.com/duplicator-docs' target='_blank'>%s</a></u>",
212
+ __("This package has encountered errors. Click 'View Log' for more details. For additional support see the ", 'duplicator'),
213
+ __("online knowledgebase", 'duplicator'));
214
  ?><div style="height:7px">&nbsp;</div>
215
+ <button class='button' onclick="Duplicator.OpenLogWindow(<?php echo "'{$logfilename}'" ;?>); return false;"><?php _e("View Log", 'duplicator')?></button>
216
  <?php if ($package_debug) : ?>
217
  <div style="margin-top:7px">
218
  <a href="javascript:void(0)" onclick="jQuery(this).parent().find('.dup-pack-debug').toggle()">[View Package Object]</a><br/>
234
  <tfoot>
235
  <tr>
236
  <th colspan="8" style='text-align:right; font-size:12px'>
237
+ <?php echo _e("Packages", 'duplicator') . ': ' . $totalElements; ?> |
238
+ <?php echo _e("Total Size", 'duplicator') . ': ' . DUP_Util::ByteSize($totalSize); ?>
239
  </th>
240
  </tr>
241
  </tfoot>
254
  <!-- ==========================================
255
  DIALOG: QUICK PATH -->
256
  <?php add_thickbox(); ?>
257
+ <div id="dup-dlg-quick-path" title="<?php _e('Download Links', 'duplicator'); ?>" style="display:none">
258
  <p>
259
  <i class="fa fa-lock"></i>
260
+ <?php _e("The following links contain sensitive data. Please share with caution!", 'duplicator'); ?>
261
  </p>
262
 
263
  <div style="padding: 0px 15px 15px 15px;">
264
  <a href="javascript:void(0)" style="display:inline-block; text-align:right" onclick="Duplicator.Pack.GetLinksText()">[Select All]</a> <br/>
265
  <textarea id="dup-dlg-quick-path-data" style='border:1px solid silver; border-radius:3px; width:99%; height:225px; font-size:11px'></textarea><br/>
266
+ <i style='font-size:11px'><?php _e("The database SQL script is a quick link to your database backup script. An exact copy is also stored in the package.", 'duplicator'); ?></i>
267
  </div>
268
  </div>
269
 
286
  var count = 0;
287
 
288
  if ($("#dup-pack-bulk-actions").val() != "delete") {
289
+ alert("<?php _e('Please select an action from the bulk action drop down menu to perform a specific action.', 'duplicator') ?>");
290
  return;
291
  }
292
  $("input[name=delete_confirm]").each(function() {
294
  });
295
  var list = arr.join(',');
296
  if (list.length == 0) {
297
+ alert("<?php _e('Please select at least one package to delete.', 'duplicator') ?>");
298
  return;
299
  }
300
 
301
+ if (confirm("<?php _e('Are you sure, you want to delete the selected package(s)?', 'duplicator') ?>")){
302
 
303
  $.ajax({
304
  type: "POST",
332
  Duplicator.Pack.ShowLinksDialog = function(db, install, pack, log, report) {
333
 
334
  var url = '#TB_inline?width=650&height=350&inlineId=dup-dlg-quick-path';
335
+ tb_show("<?php _e('Package File Links', 'duplicator') ?>", url);
336
 
337
  var msg = <?php printf('"%s:\n" + db + "\n\n%s:\n" + install + "\n\n%s:\n" + pack + "\n\n%s:\n" + log + "\n\n%s:\n" + report;',
338
+ __("DATABASE", 'duplicator'),
339
+ __("PACKAGE", 'duplicator'),
340
+ __("INSTALLER", 'duplicator'),
341
+ __("LOG", 'duplicator'),
342
+ __("REPORT", 'duplicator'));
343
  ?>
344
  $("#dup-dlg-quick-path-data").val(msg);
345
  return false;
views/packages/new1.base.php CHANGED
@@ -10,7 +10,7 @@ if (isset($_POST['action']))
10
  $action_result = DUP_Settings::DeleteWPOption($_POST['action']);
11
  switch ($_POST['action'])
12
  {
13
- case 'duplicator_package_active' : $action_response = __('Package settings have been reset.', 'wpduplicator');
14
  break;
15
  }
16
  }
@@ -29,6 +29,7 @@ $ui_css_storage = (isset($view_state['dup-pack-storage-panel']) && $view_state['
29
  $ui_css_archive = (isset($view_state['dup-pack-archive-panel']) && $view_state['dup-pack-archive-panel']) ? 'display:block' : 'display:none';
30
  $ui_css_installer = (isset($view_state['dup-pack-installer-panel']) && $view_state['dup-pack-installer-panel']) ? 'display:block' : 'display:none';
31
  $dup_intaller_files = implode(", ", array_keys(DUP_Server::GetInstallerFiles()));
 
32
 
33
  ?>
34
 
@@ -65,11 +66,12 @@ $dup_intaller_files = implode(", ", array_keys(DUP_Server::GetInstallerFiles()))
65
  select#archive-format {min-width:100px; margin:1px 0px 4px 0px}
66
  span#dup-archive-filter-file {color:#A62426; display:none}
67
  span#dup-archive-filter-db {color:#A62426; display:none}
68
- div#dup-file-filter-items, div#dup-db-filter-items {padding:5px 0px 0px 0px}
69
  label.dup-enable-filters {display:inline-block; margin:-5px 0px 5px 0px}
70
  div.dup-quick-links {font-size:11px; float:right; display:inline-block; margin-top:2px; font-style:italic}
71
  div.dup-tabs-opts-help {font-style:italic; font-size:11px; margin:10px 0px 0px 10px; color:#777}
72
  table#dup-dbtables td {padding:1px 15px 1px 4px}
 
73
 
74
  /*INSTALLER SECTION*/
75
  div.dup-installer-header-1 {font-weight:bold; padding-bottom:2px; width:100%}
@@ -85,18 +87,18 @@ TOOL BAR: STEPS -->
85
  <td style="white-space: nowrap">
86
  <div id="dup-wiz">
87
  <div id="dup-wiz-steps">
88
- <div class="active-step"><a><span>1</span> <?php _e('Setup', 'wpduplicator'); ?></a></div>
89
- <div><a><span>2</span> <?php _e('Scan', 'wpduplicator'); ?> </a></div>
90
- <div><a><span>3</span> <?php _e('Build', 'wpduplicator'); ?> </a></div>
91
  </div>
92
  <div id="dup-wiz-title">
93
- <?php _e('Step 1: Package Setup', 'wpduplicator'); ?>
94
  </div>
95
  </div>
96
  </td>
97
  <td class="dup-toolbar-btns">
98
- <a id="dup-pro-create-new" href="?page=duplicator" class="add-new-h2"><i class="fa fa-archive"></i> <?php _e("All Packages", 'wpduplicator'); ?></a> &nbsp;
99
- <span> <?php _e("Create New", 'wpduplicator'); ?></span>
100
  </td>
101
  </tr>
102
  </table>
@@ -114,7 +116,7 @@ META-BOX1: SYSTEM REQUIREMENTS -->
114
  <div class="dup-box-title dup-box-title-fancy">
115
  <i class="fa fa-check-square-o"></i>
116
  <?php
117
- _e("Requirements:", 'wpduplicator');
118
  echo ($dup_tests['Success']) ? ' <div class="dup-sys-pass">Pass</div>' : ' <div class="dup-sys-fail">Fail</div>';
119
  ?>
120
  <div class="dup-box-arrow"></div>
@@ -123,44 +125,44 @@ META-BOX1: SYSTEM REQUIREMENTS -->
123
  <div class="dup-box-panel" style="<?php echo ($dup_tests['Success']) ? 'display:none' : ''; ?>">
124
 
125
  <div class="dup-sys-section">
126
- <i><?php _e("System requirements must pass for the Duplicator to work properly. Click each link for details.", 'wpduplicator'); ?></i>
127
  </div>
128
 
129
  <!-- PHP SUPPORT -->
130
  <div class='dup-sys-req'>
131
  <div class='dup-sys-title'>
132
- <a><?php _e('PHP Support', 'wpduplicator'); ?></a>
133
  <div><?php echo $dup_tests['PHP']['ALL']; ?></div>
134
  </div>
135
  <div class="dup-sys-info dup-info-box">
136
  <table class="dup-sys-info-results">
137
  <tr>
138
- <td><?php printf("%s [%s]", __("PHP Version", 'wpduplicator'), phpversion()); ?></td>
139
  <td><?php echo $dup_tests['PHP']['VERSION'] ?></td>
140
  </tr>
141
  <tr>
142
- <td><?php _e('Zip Archive Enabled', 'wpduplicator'); ?></td>
143
  <td><?php echo $dup_tests['PHP']['ZIP'] ?></td>
144
  </tr>
145
  <tr>
146
- <td><?php _e('Safe Mode Off', 'wpduplicator'); ?></td>
147
  <td><?php echo $dup_tests['PHP']['SAFE_MODE'] ?></td>
148
  </tr>
149
  <tr>
150
- <td><?php _e('Function', 'wpduplicator'); ?> <a href="http://php.net/manual/en/function.file-get-contents.php" target="_blank">file_get_contents</a></td>
151
  <td><?php echo $dup_tests['PHP']['FUNC_1'] ?></td>
152
  </tr>
153
  <tr>
154
- <td><?php _e('Function', 'wpduplicator'); ?> <a href="http://php.net/manual/en/function.file-put-contents.php" target="_blank">file_put_contents</a></td>
155
  <td><?php echo $dup_tests['PHP']['FUNC_2'] ?></td>
156
  </tr>
157
  <tr>
158
- <td><?php _e('Function', 'wpduplicator'); ?> <a href="http://php.net/manual/en/mbstring.installation.php" target="_blank">mb_strlen</a></td>
159
  <td><?php echo $dup_tests['PHP']['FUNC_3'] ?></td>
160
  </tr>
161
  </table>
162
  <small>
163
- <?php _e("PHP versions 5.2.9+ or higher is required. For compression to work the ZipArchive extension for PHP is required. Safe Mode should be set to 'Off' in you php.ini file and is deprecated as of PHP 5.3.0. For any issues in this section please contact your hosting provider or server administrator. For additional information see our online documentation.", 'wpduplicator'); ?>
164
  </small>
165
  </div>
166
  </div>
@@ -168,21 +170,21 @@ META-BOX1: SYSTEM REQUIREMENTS -->
168
  <!-- PERMISSIONS -->
169
  <div class='dup-sys-req'>
170
  <div class='dup-sys-title'>
171
- <a><?php _e('Permissions', 'wpduplicator'); ?></a> <div><?php echo $dup_tests['IO']['ALL']; ?></div>
172
  </div>
173
  <div class="dup-sys-info dup-info-box">
174
- <b><?php _e("Required Paths", 'wpduplicator'); ?></b>
175
  <div style="padding:3px 0px 0px 15px">
176
  <?php
177
  printf("<b>%s</b> &nbsp; [%s] <br/>", $dup_tests['IO']['WPROOT'], DUPLICATOR_WPROOTPATH);
178
  printf("<b>%s</b> &nbsp; [%s] <br/>", $dup_tests['IO']['SSDIR'], DUPLICATOR_SSDIR_PATH);
179
  printf("<b>%s</b> &nbsp; [%s] <br/>", $dup_tests['IO']['SSTMP'], DUPLICATOR_SSDIR_PATH_TMP);
180
- //printf("<b>%s:</b> [%s] <br/>", __('PHP Script Owner', 'wpduplicator'), DUP_Util::GetCurrentUser());
181
- //printf("<b>%s:</b> [%s] <br/>", __('PHP Process Owner', 'wpduplicator'), DUP_Util::GetProcessOwner());
182
  ?>
183
  </div>
184
  <small>
185
- <?php _e("Permissions can be difficult to resolve on some systems. If the plugin can not read the above paths here are a few things to try. 1) Set the above paths to have permissions of 755 for directories and 644 for files. You can temporarily try 777 however, be sure you don’t leave them this way. 2) Check the owner/group settings for both files and directories. The PHP script owner and the process owner are different. The script owner owns the PHP script but the process owner is the user the script is running as, thus determining its capabilities/privileges in the file system. For more details contact your host or server administrator or visit the 'Help' menu under Duplicator for additional online resources.", 'wpduplicator'); ?>
186
  </small>
187
  </div>
188
  </div>
@@ -190,24 +192,24 @@ META-BOX1: SYSTEM REQUIREMENTS -->
190
  <!-- SERVER SUPPORT -->
191
  <div class='dup-sys-req'>
192
  <div class='dup-sys-title'>
193
- <a><?php _e('Server Support', 'wpduplicator'); ?></a>
194
  <div><?php echo $dup_tests['SRV']['ALL']; ?></div>
195
  </div>
196
  <div class="dup-sys-info dup-info-box">
197
  <table class="dup-sys-info-results">
198
  <tr>
199
- <td><?php printf("%s [%s]", __("MySQL Version", 'wpduplicator'), $wpdb->db_version()); ?></td>
200
  <td><?php echo $dup_tests['SRV']['MYSQL_VER'] ?></td>
201
  </tr>
202
  <tr>
203
- <td><?php printf("%s", __("MySQLi Support", 'wpduplicator')); ?></td>
204
  <td><?php echo $dup_tests['SRV']['MYSQLi'] ?></td>
205
  </tr>
206
  </table>
207
  <small>
208
  <?php
209
- _e("MySQL version 5.0+ or better is required and the PHP MySQLi extension (note the trailing 'i') is also required. Contact your server administrator and request that mysqli extension and MySQL Server 5.0+ be installed. Please note in future versions support for other databases and extensions will be added.", 'wpduplicator');
210
- echo "&nbsp;<i><a href='http://php.net/manual/en/mysqli.installation.php' target='_blank'>[" . __('more info', 'wpduplicator') . "]</a></i>";
211
  ?>
212
  </small>
213
  </div>
@@ -216,17 +218,17 @@ META-BOX1: SYSTEM REQUIREMENTS -->
216
  <!-- RESERVED FILES -->
217
  <div class='dup-sys-req'>
218
  <div class='dup-sys-title'>
219
- <a><?php _e('Reserved Files', 'wpduplicator'); ?></a> <div><?php echo $dup_tests['RES']['INSTALL']; ?></div>
220
  </div>
221
  <div class="dup-sys-info dup-info-box">
222
  <?php if ($dup_tests['RES']['INSTALL'] == 'Pass') : ?>
223
- <?php _e("None of the reserved files [{$dup_intaller_files}] where found from a previous install. This means you are clear to create a new package.", 'wpduplicator'); ?>
224
  <?php else:
225
  $duplicator_nonce = wp_create_nonce('duplicator_cleanup_page');
226
  ?>
227
  <form method="post" action="admin.php?page=duplicator-tools&tab=cleanup&action=installer&_wpnonce=<?php echo $duplicator_nonce; ?>">
228
- <?php _e("A reserved file(s) was found in the WordPress root directory. Reserved file names are [{$dup_intaller_files}]. To archive your data correctly please remove any of these files from your WordPress root directory. Then try creating your package again.", 'wpduplicator'); ?>
229
- <br/><input type='submit' class='button action' value='<?php _e('Remove Files Now', 'wpduplicator') ?>' style='font-size:10px; margin-top:5px;' />
230
  </form>
231
  <?php endif; ?>
232
  </div>
@@ -235,7 +237,7 @@ META-BOX1: SYSTEM REQUIREMENTS -->
235
  <!-- ONLINE SUPPORT -->
236
  <div class="dup-sys-contact">
237
  <?php
238
- printf("<i class='fa fa-question-circle'></i> %s <a href='admin.php?page=duplicator-help'>[%s]</a>", __("For additional help please see the ", 'wpduplicator'), __("help page", 'wpduplicator'));
239
  ?>
240
  </div>
241
 
10
  $action_result = DUP_Settings::DeleteWPOption($_POST['action']);
11
  switch ($_POST['action'])
12
  {
13
+ case 'duplicator_package_active' : $action_response = __('Package settings have been reset.', 'duplicator');
14
  break;
15
  }
16
  }
29
  $ui_css_archive = (isset($view_state['dup-pack-archive-panel']) && $view_state['dup-pack-archive-panel']) ? 'display:block' : 'display:none';
30
  $ui_css_installer = (isset($view_state['dup-pack-installer-panel']) && $view_state['dup-pack-installer-panel']) ? 'display:block' : 'display:none';
31
  $dup_intaller_files = implode(", ", array_keys(DUP_Server::GetInstallerFiles()));
32
+ $dbbuild_mode = (DUP_Settings::Get('package_mysqldump') && DUP_Database::GetMySqlDumpPath()) ? 'mysqldump' : 'PHP';
33
 
34
  ?>
35
 
66
  select#archive-format {min-width:100px; margin:1px 0px 4px 0px}
67
  span#dup-archive-filter-file {color:#A62426; display:none}
68
  span#dup-archive-filter-db {color:#A62426; display:none}
69
+ div#dup-file-filter-items, div#dup-db-filter-items {padding:2px 0px 0px 15px; font-stretch:ultra-condensed; font-family: Calibri; }
70
  label.dup-enable-filters {display:inline-block; margin:-5px 0px 5px 0px}
71
  div.dup-quick-links {font-size:11px; float:right; display:inline-block; margin-top:2px; font-style:italic}
72
  div.dup-tabs-opts-help {font-style:italic; font-size:11px; margin:10px 0px 0px 10px; color:#777}
73
  table#dup-dbtables td {padding:1px 15px 1px 4px}
74
+ table.dbmysql-compatibility td{padding:2px 20px 2px 2px}
75
 
76
  /*INSTALLER SECTION*/
77
  div.dup-installer-header-1 {font-weight:bold; padding-bottom:2px; width:100%}
87
  <td style="white-space: nowrap">
88
  <div id="dup-wiz">
89
  <div id="dup-wiz-steps">
90
+ <div class="active-step"><a><span>1</span> <?php _e('Setup', 'duplicator'); ?></a></div>
91
+ <div><a><span>2</span> <?php _e('Scan', 'duplicator'); ?> </a></div>
92
+ <div><a><span>3</span> <?php _e('Build', 'duplicator'); ?> </a></div>
93
  </div>
94
  <div id="dup-wiz-title">
95
+ <?php _e('Step 1: Package Setup', 'duplicator'); ?>
96
  </div>
97
  </div>
98
  </td>
99
  <td class="dup-toolbar-btns">
100
+ <a id="dup-pro-create-new" href="?page=duplicator" class="add-new-h2"><i class="fa fa-archive"></i> <?php _e("All Packages", 'duplicator'); ?></a> &nbsp;
101
+ <span> <?php _e("Create New", 'duplicator'); ?></span>
102
  </td>
103
  </tr>
104
  </table>
116
  <div class="dup-box-title dup-box-title-fancy">
117
  <i class="fa fa-check-square-o"></i>
118
  <?php
119
+ _e("Requirements:", 'duplicator');
120
  echo ($dup_tests['Success']) ? ' <div class="dup-sys-pass">Pass</div>' : ' <div class="dup-sys-fail">Fail</div>';
121
  ?>
122
  <div class="dup-box-arrow"></div>
125
  <div class="dup-box-panel" style="<?php echo ($dup_tests['Success']) ? 'display:none' : ''; ?>">
126
 
127
  <div class="dup-sys-section">
128
+ <i><?php _e("System requirements must pass for the Duplicator to work properly. Click each link for details.", 'duplicator'); ?></i>
129
  </div>
130
 
131
  <!-- PHP SUPPORT -->
132
  <div class='dup-sys-req'>
133
  <div class='dup-sys-title'>
134
+ <a><?php _e('PHP Support', 'duplicator'); ?></a>
135
  <div><?php echo $dup_tests['PHP']['ALL']; ?></div>
136
  </div>
137
  <div class="dup-sys-info dup-info-box">
138
  <table class="dup-sys-info-results">
139
  <tr>
140
+ <td><?php printf("%s [%s]", __("PHP Version", 'duplicator'), phpversion()); ?></td>
141
  <td><?php echo $dup_tests['PHP']['VERSION'] ?></td>
142
  </tr>
143
  <tr>
144
+ <td><?php _e('Zip Archive Enabled', 'duplicator'); ?></td>
145
  <td><?php echo $dup_tests['PHP']['ZIP'] ?></td>
146
  </tr>
147
  <tr>
148
+ <td><?php _e('Safe Mode Off', 'duplicator'); ?></td>
149
  <td><?php echo $dup_tests['PHP']['SAFE_MODE'] ?></td>
150
  </tr>
151
  <tr>
152
+ <td><?php _e('Function', 'duplicator'); ?> <a href="http://php.net/manual/en/function.file-get-contents.php" target="_blank">file_get_contents</a></td>
153
  <td><?php echo $dup_tests['PHP']['FUNC_1'] ?></td>
154
  </tr>
155
  <tr>
156
+ <td><?php _e('Function', 'duplicator'); ?> <a href="http://php.net/manual/en/function.file-put-contents.php" target="_blank">file_put_contents</a></td>
157
  <td><?php echo $dup_tests['PHP']['FUNC_2'] ?></td>
158
  </tr>
159
  <tr>
160
+ <td><?php _e('Function', 'duplicator'); ?> <a href="http://php.net/manual/en/mbstring.installation.php" target="_blank">mb_strlen</a></td>
161
  <td><?php echo $dup_tests['PHP']['FUNC_3'] ?></td>
162
  </tr>
163
  </table>
164
  <small>
165
+ <?php _e("PHP versions 5.2.9+ or higher is required. For compression to work the ZipArchive extension for PHP is required. Safe Mode should be set to 'Off' in you php.ini file and is deprecated as of PHP 5.3.0. For any issues in this section please contact your hosting provider or server administrator. For additional information see our online documentation.", 'duplicator'); ?>
166
  </small>
167
  </div>
168
  </div>
170
  <!-- PERMISSIONS -->
171
  <div class='dup-sys-req'>
172
  <div class='dup-sys-title'>
173
+ <a><?php _e('Permissions', 'duplicator'); ?></a> <div><?php echo $dup_tests['IO']['ALL']; ?></div>
174
  </div>
175
  <div class="dup-sys-info dup-info-box">
176
+ <b><?php _e("Required Paths", 'duplicator'); ?></b>
177
  <div style="padding:3px 0px 0px 15px">
178
  <?php
179
  printf("<b>%s</b> &nbsp; [%s] <br/>", $dup_tests['IO']['WPROOT'], DUPLICATOR_WPROOTPATH);
180
  printf("<b>%s</b> &nbsp; [%s] <br/>", $dup_tests['IO']['SSDIR'], DUPLICATOR_SSDIR_PATH);
181
  printf("<b>%s</b> &nbsp; [%s] <br/>", $dup_tests['IO']['SSTMP'], DUPLICATOR_SSDIR_PATH_TMP);
182
+ //printf("<b>%s:</b> [%s] <br/>", __('PHP Script Owner', 'duplicator'), DUP_Util::GetCurrentUser());
183
+ //printf("<b>%s:</b> [%s] <br/>", __('PHP Process Owner', 'duplicator'), DUP_Util::GetProcessOwner());
184
  ?>
185
  </div>
186
  <small>
187
+ <?php _e("Permissions can be difficult to resolve on some systems. If the plugin can not read the above paths here are a few things to try. 1) Set the above paths to have permissions of 755 for directories and 644 for files. You can temporarily try 777 however, be sure you don’t leave them this way. 2) Check the owner/group settings for both files and directories. The PHP script owner and the process owner are different. The script owner owns the PHP script but the process owner is the user the script is running as, thus determining its capabilities/privileges in the file system. For more details contact your host or server administrator or visit the 'Help' menu under Duplicator for additional online resources.", 'duplicator'); ?>
188
  </small>
189
  </div>
190
  </div>
192
  <!-- SERVER SUPPORT -->
193
  <div class='dup-sys-req'>
194
  <div class='dup-sys-title'>
195
+ <a><?php _e('Server Support', 'duplicator'); ?></a>
196
  <div><?php echo $dup_tests['SRV']['ALL']; ?></div>
197
  </div>
198
  <div class="dup-sys-info dup-info-box">
199
  <table class="dup-sys-info-results">
200
  <tr>
201
+ <td><?php printf("%s [%s]", __("MySQL Version", 'duplicator'), $wpdb->db_version()); ?></td>
202
  <td><?php echo $dup_tests['SRV']['MYSQL_VER'] ?></td>
203
  </tr>
204
  <tr>
205
+ <td><?php printf("%s", __("MySQLi Support", 'duplicator')); ?></td>
206
  <td><?php echo $dup_tests['SRV']['MYSQLi'] ?></td>
207
  </tr>
208
  </table>
209
  <small>
210
  <?php
211
+ _e("MySQL version 5.0+ or better is required and the PHP MySQLi extension (note the trailing 'i') is also required. Contact your server administrator and request that mysqli extension and MySQL Server 5.0+ be installed. Please note in future versions support for other databases and extensions will be added.", 'duplicator');
212
+ echo "&nbsp;<i><a href='http://php.net/manual/en/mysqli.installation.php' target='_blank'>[" . __('more info', 'duplicator') . "]</a></i>";
213
  ?>
214
  </small>
215
  </div>
218
  <!-- RESERVED FILES -->
219
  <div class='dup-sys-req'>
220
  <div class='dup-sys-title'>
221
+ <a><?php _e('Reserved Files', 'duplicator'); ?></a> <div><?php echo $dup_tests['RES']['INSTALL']; ?></div>
222
  </div>
223
  <div class="dup-sys-info dup-info-box">
224
  <?php if ($dup_tests['RES']['INSTALL'] == 'Pass') : ?>
225
+ <?php _e("None of the reserved files [{$dup_intaller_files}] where found from a previous install. This means you are clear to create a new package.", 'duplicator'); ?>
226
  <?php else:
227
  $duplicator_nonce = wp_create_nonce('duplicator_cleanup_page');
228
  ?>
229
  <form method="post" action="admin.php?page=duplicator-tools&tab=cleanup&action=installer&_wpnonce=<?php echo $duplicator_nonce; ?>">
230
+ <?php _e("A reserved file(s) was found in the WordPress root directory. Reserved file names are [{$dup_intaller_files}]. To archive your data correctly please remove any of these files from your WordPress root directory. Then try creating your package again.", 'duplicator'); ?>
231
+ <br/><input type='submit' class='button action' value='<?php _e('Remove Files Now', 'duplicator') ?>' style='font-size:10px; margin-top:5px;' />
232
  </form>
233
  <?php endif; ?>
234
  </div>
237
  <!-- ONLINE SUPPORT -->
238
  <div class="dup-sys-contact">
239
  <?php
240
+ printf("<i class='fa fa-question-circle'></i> %s <a href='admin.php?page=duplicator-help'>[%s]</a>", __("For additional help please see the ", 'duplicator'), __("help page", 'duplicator'));
241
  ?>
242
  </div>
243
 
views/packages/new1.inc.form.php CHANGED
@@ -3,14 +3,14 @@
3
  <input type="hidden" id="dup-form-opts-action" name="action" value="">
4
  <input type="hidden" id="dup-form-opts-hash" name="package-hash" value="<?php echo $package_hash; ?>">
5
  <div>
6
- <label for="package-name"><b><?php _e('Name', 'wpduplicator') ?>:</b> </label>
7
  <div class="dup-notes-add">
8
- <button class="button button-small" type="button" onclick="jQuery('#dup-notes-area').toggle()"><i class="fa fa-pencil-square-o"></i> <?php _e('Notes', 'wpduplicator') ?></button>
9
  </div>
10
- <a href="javascript:void(0)" onclick="Duplicator.Pack.ResetName()" title="<?php _e('Create a new default name', 'wpduplicator') ?>"><i class="fa fa-undo"></i></a> <br/>
11
  <input id="package-name" name="package-name" type="text" value="<?php echo $Package->Name ?>" maxlength="40" data-required="true" data-regexp="^[0-9A-Za-z|_]+$" /> <br/>
12
  <div id="dup-notes-area">
13
- <label><b><?php _e('Notes', 'wpduplicator') ?>:</b></label> <br/>
14
  <textarea id="package-notes" name="package-notes" maxlength="300" /><?php echo $Package->Notes ?></textarea>
15
  </div>
16
  </div>
@@ -20,7 +20,7 @@
20
  META-BOX: STORAGE -->
21
  <div class="dup-box">
22
  <div class="dup-box-title">
23
- <i class="fa fa-database"></i>&nbsp;<?php _e("Storage", 'wpduplicator'); ?>
24
  <div class="dup-box-arrow"></div>
25
  </div>
26
 
@@ -28,15 +28,15 @@ META-BOX: STORAGE -->
28
  <table class="widefat package-tbl">
29
  <thead>
30
  <tr>
31
- <th style='width:275px'><?php _e("Name", 'wpduplicator'); ?></th>
32
- <th style='width:100px'><?php _e("Type", 'wpduplicator'); ?></th>
33
- <th style="white-space: nowrap"><?php _e("Location", 'wpduplicator'); ?></th>
34
  </tr>
35
  </thead>
36
  <tbody>
37
  <tr class="package-row">
38
- <td><i class="fa fa-server"></i>&nbsp;<?php _e('Default', 'wpduplicator');?></td>
39
- <td><?php _e("Local", 'wpduplicator'); ?></td>
40
  <td><?php echo DUPLICATOR_SSDIR_PATH; ?></td>
41
  </tr>
42
  <tr>
@@ -46,7 +46,7 @@ META-BOX: STORAGE -->
46
  <img src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/google_drive_64px.png" style='height:16px; width:16px; vertical-align: text-top' />
47
  <img src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/ftp-64.png" style='height:16px; width:16px; vertical-align: text-top' />
48
 
49
- <?php echo sprintf(__('%1$s, %2$s, %3$s and other storage options available in', 'wpduplicator'), 'Dropbox', 'Google Drive', 'FTP'); ?>
50
  <a href="http://snapcreek.com/duplicator/?free-storage" target="_blank">Duplicator Pro</a>
51
  </div>
52
  </td>
@@ -60,10 +60,10 @@ META-BOX: STORAGE -->
60
  <!-- META-BOX: ARCHIVE -->
61
  <div class="dup-box">
62
  <div class="dup-box-title">
63
- <i class="fa fa-file-archive-o"></i> <?php _e('Archive', 'wpduplicator') ?> &nbsp;
64
  <span style="font-size:13px">
65
- <span id="dup-archive-filter-file" title="<?php _e('File filter enabled', 'wpduplicator') ?>"><i class="fa fa-files-o"></i> <i class="fa fa-filter"></i> &nbsp;&nbsp;</span>
66
- <span id="dup-archive-filter-db" title="<?php _e('Database filter enabled', 'wpduplicator') ?>"><i class="fa fa-table"></i> <i class="fa fa-filter"></i></span>
67
  </span>
68
  <div class="dup-box-arrow"></div>
69
  </div>
@@ -72,8 +72,8 @@ META-BOX: STORAGE -->
72
  <!-- NESTED TABS -->
73
  <div class="categorydiv" id="dup-pack-opts-tabs">
74
  <ul class="category-tabs">
75
- <li class="tabs"><a href="javascript:void(0)" onclick="Duplicator.Pack.ToggleOptTabs(1, this)"><?php _e('Files', 'wpduplicator') ?></a></li>
76
- <li><a href="javascript:void(0)"onclick="Duplicator.Pack.ToggleOptTabs(2, this)"><?php _e('Database', 'wpduplicator') ?></a></li>
77
  </ul>
78
 
79
  <!-- TAB1: PACKAGE -->
@@ -85,29 +85,29 @@ META-BOX: STORAGE -->
85
  ?>
86
  <div class="dup-enable-filters">
87
  <input type="checkbox" id="filter-on" name="filter-on" onclick="Duplicator.Pack.ToggleFileFilters()" <?php echo ($Package->Archive->FilterOn) ? "checked='checked'" : ""; ?> />
88
- <label for="filter-on"><?php _e("Enable File Filters", 'wpduplicator') ?></label>
89
  </div>
90
 
91
  <div id="dup-file-filter-items">
92
- <label for="filter-dirs" title="<?php _e("Separate all filters by semicolon", 'wpduplicator'); ?>"><?php _e("Directories", 'wpduplicator') ?>: </label>
93
  <div class='dup-quick-links'>
94
- <a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludePath('<?php echo rtrim(DUPLICATOR_WPROOTPATH, '/'); ?>')">[<?php _e("root path", 'wpduplicator') ?>]</a>
95
- <a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludePath('<?php echo rtrim($upload_dir, '/'); ?>')">[<?php _e("wp-uploads", 'wpduplicator') ?>]</a>
96
- <a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludePath('<?php echo DUP_Util::SafePath(WP_CONTENT_DIR); ?>/cache')">[<?php _e("cache", 'wpduplicator') ?>]</a>
97
- <a href="javascript:void(0)" onclick="jQuery('#filter-dirs').val('')"><?php _e("(clear)", 'wpduplicator') ?></a>
98
  </div>
99
  <textarea name="filter-dirs" id="filter-dirs" placeholder="/full_path/exclude_path1;/full_path/exclude_path2;"><?php echo str_replace(";", ";\n", esc_textarea($Package->Archive->FilterDirs)) ?></textarea><br/>
100
- <label class="no-select" title="<?php _e("Separate all filters by semicolon", 'wpduplicator'); ?>"><?php _e("File extensions", 'wpduplicator') ?>:</label>
101
  <div class='dup-quick-links'>
102
- <a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludeExts('avi;mov;mp4;mpeg;mpg;swf;wmv;aac;m3u;mp3;mpa;wav;wma')">[<?php _e("media", 'wpduplicator') ?>]</a>
103
- <a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludeExts('zip;rar;tar;gz;bz2;7z')">[<?php _e("archive", 'wpduplicator') ?>]</a>
104
- <a href="javascript:void(0)" onclick="jQuery('#filter-exts').val('')"><?php _e("(clear)", 'wpduplicator') ?></a>
105
  </div>
106
  <textarea name="filter-exts" id="filter-exts" placeholder="ext1;ext2;ext3;"><?php echo esc_textarea($Package->Archive->FilterExts); ?></textarea>
107
 
108
  <div class="dup-tabs-opts-help">
109
- <?php _e("The directory paths and extensions above will be be excluded from the archive file if enabled is checked.", 'wpduplicator'); ?> <br/>
110
- <?php _e("Use the full path for directories and semicolons to separate all items.", 'wpduplicator'); ?>
111
  </div>
112
  <br/>
113
  <span style="font-style:italic; font-size:12px ">
@@ -121,17 +121,30 @@ META-BOX: STORAGE -->
121
  <div class="tabs-panel" id="dup-pack-opts-tabs-panel-2" style="display: none;">
122
  <div class="dup-enable-filters">
123
  <table>
 
 
 
 
 
 
 
 
124
  <tr>
125
  <td><input type="checkbox" id="dbfilter-on" name="dbfilter-on" onclick="Duplicator.Pack.ToggleDBFilters()" <?php echo ($Package->Database->FilterOn) ? "checked='checked'" : ""; ?> /></td>
126
- <td><label for="dbfilter-on"><?php _e("Enable Table Filters", 'wpduplicator') ?> &nbsp;</label> </td>
127
- <td><div class="dup-tabs-opts-help" style="margin:5px 0px 0px 0px"><?php _e("checked tables are excluded", 'wpduplicator') ?></div></td>
 
 
 
 
 
128
  </tr>
129
  </table>
130
  </div>
131
  <div id="dup-db-filter-items">
132
- <a href="javascript:void(0)" id="dball" onclick="jQuery('#dup-dbtables .checkbox').prop('checked', true).trigger('click');">[ <?php _e('Include All', 'wpduplicator'); ?> ]</a> &nbsp;
133
- <a href="javascript:void(0)" id="dbnone" onclick="jQuery('#dup-dbtables .checkbox').prop('checked', false).trigger('click');">[ <?php _e('Exclude All', 'wpduplicator'); ?> ]</a>
134
- <div style="font-stretch:ultra-condensed; font-family: Calibri; white-space: nowrap">
135
  <?php
136
  $tables = $wpdb->get_results("SHOW FULL TABLES FROM `" . DB_NAME . "` WHERE Table_Type = 'BASE TABLE' ", ARRAY_N);
137
  $num_rows = count($tables);
@@ -161,11 +174,53 @@ META-BOX: STORAGE -->
161
  }
162
  echo '</td></tr></table>';
163
  ?>
164
- </div>
165
- <div class="dup-tabs-opts-help">
166
- <?php _e("Checked tables will not be added to the database script. Excluding certain tables can possibly cause your site or plugins to not work correctly after install!", 'wpduplicator'); ?>
167
  </div>
168
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
  </div>
170
  </div>
171
  </div>
@@ -176,58 +231,58 @@ META-BOX: STORAGE -->
176
  <!-- META-BOX: INSTALLER -->
177
  <div class="dup-box">
178
  <div class="dup-box-title">
179
- <i class="fa fa-bolt"></i> <?php _e('Installer', 'wpduplicator') ?>
180
  <div class="dup-box-arrow"></div>
181
  </div>
182
 
183
  <div class="dup-box-panel" id="dup-pack-installer-panel" style="<?php echo $ui_css_installer ?>">
184
- <div class="dup-installer-header-1"><?php echo _e('STEP 1 - INPUTS', 'wpduplicator'); ?></div><br/>
185
  <table class="dup-installer-tbl">
186
  <tr>
187
- <td colspan="2"><div class="dup-installer-header-2"><?php _e("MySQL Server", 'wpduplicator') ?></div></td>
188
  </tr>
189
  <tr>
190
- <td style="width:130px"><?php _e("Host", 'wpduplicator') ?></td>
191
  <td><input type="text" name="dbhost" id="dbhost" value="<?php echo $Package->Installer->OptsDBHost ?>" maxlength="200" placeholder="localhost"/></td>
192
  </tr>
193
  <tr>
194
- <td style="width:130px"><?php _e("Host Port", 'wpduplicator') ?></td>
195
  <td><input type="text" name="dbport" id="dbport" value="<?php echo $Package->Installer->OptsDBPort ?>" maxlength="200" placeholder="3306"/></td>
196
  </tr>
197
  <tr>
198
- <td><?php _e("Database", 'wpduplicator') ?></td>
199
  <td><input type="text" name="dbname" id="dbname" value="<?php echo $Package->Installer->OptsDBName ?>" maxlength="100" placeholder="mydatabaseName" /></td>
200
  </tr>
201
  <tr>
202
- <td><?php _e("User", 'wpduplicator') ?></td>
203
  <td><input type="text" name="dbuser" id="dbuser" value="<?php echo $Package->Installer->OptsDBUser ?>" maxlength="100" placeholder="databaseUserName" /></td>
204
  </tr>
205
  <tr>
206
- <td colspan="2"><div class="dup-installer-header-2"><?php _e("Advanced Options", 'wpduplicator') ?></div></td>
207
  </tr>
208
  <tr>
209
  <td colspan="2">
210
  <table>
211
  <tr>
212
- <td style="width:130px"><?php _e("SSL", 'wpduplicator') ?></td>
213
  <td style="padding-right: 20px; white-space: nowrap">
214
  <input type="checkbox" name="ssl-admin" id="ssl-admin" <?php echo ($Package->Installer->OptsSSLAdmin) ? "checked='checked'" : ""; ?> />
215
- <label class="chk-labels" for="ssl-admin"><?php _e("Enforce on Admin", 'wpduplicator') ?></label>
216
  </td>
217
  <td>
218
  <input type="checkbox" name="ssl-login" id="ssl-login" <?php echo ($Package->Installer->OptsSSLLogin) ? "checked='checked'" : ""; ?> />
219
- <label class="chk-labels" for="ssl-login"><?php _e("Enforce on Logins", 'wpduplicator') ?></label>
220
  </td>
221
  </tr>
222
  <tr>
223
- <td><?php _e("Cache", 'wpduplicator') ?></td>
224
  <td style="padding-right: 20px; white-space: nowrap">
225
  <input type="checkbox" name="cache-wp" id="cache-wp" <?php echo ($Package->Installer->OptsCacheWP) ? "checked='checked'" : ""; ?> />
226
- <label class="chk-labels" for="cache-wp"><?php _e("Keep Enabled", 'wpduplicator') ?></label>
227
  </td>
228
  <td>
229
  <input type="checkbox" name="cache-path" id="cache-path" <?php echo ($Package->Installer->OptsCachePath) ? "checked='checked'" : ""; ?> />
230
- <label class="chk-labels" for="cache-path"><?php _e("Keep Home Path", 'wpduplicator') ?></label>
231
  </td>
232
  </tr>
233
  </table>
@@ -235,17 +290,17 @@ META-BOX: STORAGE -->
235
  </tr>
236
  </table><br />
237
 
238
- <div class="dup-installer-header-1"><?php echo _e('STEP 2 - INPUTS', 'wpduplicator'); ?></div>
239
 
240
  <table class="dup-installer-tbl">
241
  <tr>
242
- <td style="width:130px"><?php _e("New URL", 'wpduplicator') ?></td>
243
  <td><input type="text" name="url-new" id="url-new" value="<?php echo $Package->Installer->OptsURLNew ?>" placeholder="http://mynewsite.com" /></td>
244
  </tr>
245
  </table>
246
 
247
  <div class="dup-tabs-opts-help">
248
- <?php _e("The installer can have these fields pre-filled at install time.", 'wpduplicator'); ?> <b><?php _e('All values are optional.', 'wpduplicator'); ?></b>
249
  </div>
250
 
251
  </div>
@@ -254,8 +309,8 @@ META-BOX: STORAGE -->
254
 
255
 
256
  <div class="dup-button-footer">
257
- <input type="button" value="<?php _e("Reset", 'wpduplicator') ?>" class="button button-large" <?php echo ($dup_tests['Success']) ? '' : 'disabled="disabled"'; ?> onclick="Duplicator.Pack.ResetSettings()" />
258
- <input type="submit" value="<?php _e("Next", 'wpduplicator') ?> &#9658;" class="button button-primary button-large" <?php echo ($dup_tests['Success']) ? '' : 'disabled="disabled"'; ?> />
259
  </div>
260
 
261
  </form>
3
  <input type="hidden" id="dup-form-opts-action" name="action" value="">
4
  <input type="hidden" id="dup-form-opts-hash" name="package-hash" value="<?php echo $package_hash; ?>">
5
  <div>
6
+ <label for="package-name"><b><?php _e('Name', 'duplicator') ?>:</b> </label>
7
  <div class="dup-notes-add">
8
+ <button class="button button-small" type="button" onclick="jQuery('#dup-notes-area').toggle()"><i class="fa fa-pencil-square-o"></i> <?php _e('Notes', 'duplicator') ?></button>
9
  </div>
10
+ <a href="javascript:void(0)" onclick="Duplicator.Pack.ResetName()" title="<?php _e('Create a new default name', 'duplicator') ?>"><i class="fa fa-undo"></i></a> <br/>
11
  <input id="package-name" name="package-name" type="text" value="<?php echo $Package->Name ?>" maxlength="40" data-required="true" data-regexp="^[0-9A-Za-z|_]+$" /> <br/>
12
  <div id="dup-notes-area">
13
+ <label><b><?php _e('Notes', 'duplicator') ?>:</b></label> <br/>
14
  <textarea id="package-notes" name="package-notes" maxlength="300" /><?php echo $Package->Notes ?></textarea>
15
  </div>
16
  </div>
20
  META-BOX: STORAGE -->
21
  <div class="dup-box">
22
  <div class="dup-box-title">
23
+ <i class="fa fa-database"></i>&nbsp;<?php _e("Storage", 'duplicator'); ?>
24
  <div class="dup-box-arrow"></div>
25
  </div>
26
 
28
  <table class="widefat package-tbl">
29
  <thead>
30
  <tr>
31
+ <th style='width:275px'><?php _e("Name", 'duplicator'); ?></th>
32
+ <th style='width:100px'><?php _e("Type", 'duplicator'); ?></th>
33
+ <th style="white-space: nowrap"><?php _e("Location", 'duplicator'); ?></th>
34
  </tr>
35
  </thead>
36
  <tbody>
37
  <tr class="package-row">
38
+ <td><i class="fa fa-server"></i>&nbsp;<?php _e('Default', 'duplicator');?></td>
39
+ <td><?php _e("Local", 'duplicator'); ?></td>
40
  <td><?php echo DUPLICATOR_SSDIR_PATH; ?></td>
41
  </tr>
42
  <tr>
46
  <img src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/google_drive_64px.png" style='height:16px; width:16px; vertical-align: text-top' />
47
  <img src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/ftp-64.png" style='height:16px; width:16px; vertical-align: text-top' />
48
 
49
+ <?php echo sprintf(__('%1$s, %2$s, %3$s and other storage options available in', 'duplicator'), 'Dropbox', 'Google Drive', 'FTP'); ?>
50
  <a href="http://snapcreek.com/duplicator/?free-storage" target="_blank">Duplicator Pro</a>
51
  </div>
52
  </td>
60
  <!-- META-BOX: ARCHIVE -->
61
  <div class="dup-box">
62
  <div class="dup-box-title">
63
+ <i class="fa fa-file-archive-o"></i> <?php _e('Archive', 'duplicator') ?> &nbsp;
64
  <span style="font-size:13px">
65
+ <span id="dup-archive-filter-file" title="<?php _e('File filter enabled', 'duplicator') ?>"><i class="fa fa-files-o"></i> <i class="fa fa-filter"></i> &nbsp;&nbsp;</span>
66
+ <span id="dup-archive-filter-db" title="<?php _e('Database filter enabled', 'duplicator') ?>"><i class="fa fa-table"></i> <i class="fa fa-filter"></i></span>
67
  </span>
68
  <div class="dup-box-arrow"></div>
69
  </div>
72
  <!-- NESTED TABS -->
73
  <div class="categorydiv" id="dup-pack-opts-tabs">
74
  <ul class="category-tabs">
75
+ <li class="tabs"><a href="javascript:void(0)" onclick="Duplicator.Pack.ToggleOptTabs(1, this)"><?php _e('Files', 'duplicator') ?></a></li>
76
+ <li><a href="javascript:void(0)"onclick="Duplicator.Pack.ToggleOptTabs(2, this)"><?php _e('Database', 'duplicator') ?></a></li>
77
  </ul>
78
 
79
  <!-- TAB1: PACKAGE -->
85
  ?>
86
  <div class="dup-enable-filters">
87
  <input type="checkbox" id="filter-on" name="filter-on" onclick="Duplicator.Pack.ToggleFileFilters()" <?php echo ($Package->Archive->FilterOn) ? "checked='checked'" : ""; ?> />
88
+ <label for="filter-on"><?php _e("Enable File Filters", 'duplicator') ?></label>
89
  </div>
90
 
91
  <div id="dup-file-filter-items">
92
+ <label for="filter-dirs" title="<?php _e("Separate all filters by semicolon", 'duplicator'); ?>"><?php _e("Directories", 'duplicator') ?>: </label>
93
  <div class='dup-quick-links'>
94
+ <a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludePath('<?php echo rtrim(DUPLICATOR_WPROOTPATH, '/'); ?>')">[<?php _e("root path", 'duplicator') ?>]</a>
95
+ <a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludePath('<?php echo rtrim($upload_dir, '/'); ?>')">[<?php _e("wp-uploads", 'duplicator') ?>]</a>
96
+ <a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludePath('<?php echo DUP_Util::SafePath(WP_CONTENT_DIR); ?>/cache')">[<?php _e("cache", 'duplicator') ?>]</a>
97
+ <a href="javascript:void(0)" onclick="jQuery('#filter-dirs').val('')"><?php _e("(clear)", 'duplicator') ?></a>
98
  </div>
99
  <textarea name="filter-dirs" id="filter-dirs" placeholder="/full_path/exclude_path1;/full_path/exclude_path2;"><?php echo str_replace(";", ";\n", esc_textarea($Package->Archive->FilterDirs)) ?></textarea><br/>
100
+ <label class="no-select" title="<?php _e("Separate all filters by semicolon", 'duplicator'); ?>"><?php _e("File extensions", 'duplicator') ?>:</label>
101
  <div class='dup-quick-links'>
102
+ <a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludeExts('avi;mov;mp4;mpeg;mpg;swf;wmv;aac;m3u;mp3;mpa;wav;wma')">[<?php _e("media", 'duplicator') ?>]</a>
103
+ <a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludeExts('zip;rar;tar;gz;bz2;7z')">[<?php _e("archive", 'duplicator') ?>]</a>
104
+ <a href="javascript:void(0)" onclick="jQuery('#filter-exts').val('')"><?php _e("(clear)", 'duplicator') ?></a>
105
  </div>
106
  <textarea name="filter-exts" id="filter-exts" placeholder="ext1;ext2;ext3;"><?php echo esc_textarea($Package->Archive->FilterExts); ?></textarea>
107
 
108
  <div class="dup-tabs-opts-help">
109
+ <?php _e("The directory paths and extensions above will be be excluded from the archive file if enabled is checked.", 'duplicator'); ?> <br/>
110
+ <?php _e("Use the full path for directories and semicolons to separate all items.", 'duplicator'); ?>
111
  </div>
112
  <br/>
113
  <span style="font-style:italic; font-size:12px ">
121
  <div class="tabs-panel" id="dup-pack-opts-tabs-panel-2" style="display: none;">
122
  <div class="dup-enable-filters">
123
  <table>
124
+ <tr>
125
+ <td colspan="2">
126
+ <div style="margin:0 0 10px 0">
127
+ <?php _e("Build Mode", 'duplicator') ?>: &nbsp;
128
+ <a href="?page=duplicator-settings"><?php echo $dbbuild_mode; ?></a>
129
+ </div>
130
+ </td>
131
+ </tr>
132
  <tr>
133
  <td><input type="checkbox" id="dbfilter-on" name="dbfilter-on" onclick="Duplicator.Pack.ToggleDBFilters()" <?php echo ($Package->Database->FilterOn) ? "checked='checked'" : ""; ?> /></td>
134
+ <td >
135
+ <label for="dbfilter-on"><?php _e("Enable Table Filters", 'duplicator') ?> &nbsp;</label>
136
+ <i class="fa fa-question-circle"
137
+ data-tooltip-title="<?php DUP_Util::_e("Enable Table Filters:"); ?>"
138
+ data-tooltip="<?php DUP_Util::_e('Checked tables will not be added to the database script. Excluding certain tables can possibly cause your site or plugins to not work correctly after install!'); ?>">
139
+ </i>
140
+ </td>
141
  </tr>
142
  </table>
143
  </div>
144
  <div id="dup-db-filter-items">
145
+ <a href="javascript:void(0)" id="dball" onclick="jQuery('#dup-dbtables .checkbox').prop('checked', true).trigger('click');">[ <?php _e('Include All', 'duplicator'); ?> ]</a> &nbsp;
146
+ <a href="javascript:void(0)" id="dbnone" onclick="jQuery('#dup-dbtables .checkbox').prop('checked', false).trigger('click');">[ <?php _e('Exclude All', 'duplicator'); ?> ]</a>
147
+ <div style="white-space: nowrap">
148
  <?php
149
  $tables = $wpdb->get_results("SHOW FULL TABLES FROM `" . DB_NAME . "` WHERE Table_Type = 'BASE TABLE' ", ARRAY_N);
150
  $num_rows = count($tables);
174
  }
175
  echo '</td></tr></table>';
176
  ?>
 
 
 
177
  </div>
178
  </div>
179
+ <br/>
180
+ <?php DUP_Util::_e("Compatibility Mode") ?> &nbsp;
181
+ <i class="fa fa-question-circle"
182
+ data-tooltip-title="<?php DUP_Util::_e("Compatibility Mode:"); ?>"
183
+ data-tooltip="<?php DUP_Util::_e('This is an advanced database backwards compatibility feature that should ONLY be used if having problems installing packages.'
184
+ . ' If the database server version is lower than the version where the package was built then these options may help generate a script that is more compliant'
185
+ . ' with the older database server. It is recommended to try each option separately starting with mysql40.'); ?>">
186
+ </i> &nbsp;
187
+ <small style="font-style:italic">
188
+ <a href="https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_compatible" target="_blank">[<?php DUP_Util::_e('details'); ?>]</a>
189
+ </small>
190
+ <br/>
191
+
192
+ <?php if ($dbbuild_mode == 'mysqldump') :?>
193
+ <?php
194
+ $modes = explode(',', $Package->Database->Compatible);
195
+ $is_mysql40 = in_array('mysql40', $modes);
196
+ $is_no_table = in_array('no_table_options', $modes);
197
+ $is_no_key = in_array('no_key_options', $modes);
198
+ $is_no_field = in_array('no_field_options', $modes);
199
+ ?>
200
+ <table class="dbmysql-compatibility">
201
+ <tr>
202
+ <td>
203
+ <input type="checkbox" name="dbcompat[]" id="dbcompat-mysql40" value="mysql40" <?php echo $is_mysql40 ? 'checked="true"' : ''; ?> >
204
+ <label for="dbcompat-mysql40"><?php DUP_Util::_e("mysql40") ?></label>
205
+ </td>
206
+ <td>
207
+ <input type="checkbox" name="dbcompat[]" id="dbcompat-no_table_options" value="no_table_options" <?php echo $is_no_table ? 'checked="true"' : ''; ?>>
208
+ <label for="dbcompat-no_table_options"><?php DUP_Util::_e("no_table_options") ?></label>
209
+ </td>
210
+ <td>
211
+ <input type="checkbox" name="dbcompat[]" id="dbcompat-no_key_options" value="no_key_options" <?php echo $is_no_key ? 'checked="true"' : ''; ?>>
212
+ <label for="dbcompat-no_key_options"><?php DUP_Util::_e("no_key_options") ?></label>
213
+ </td>
214
+ <td>
215
+ <input type="checkbox" name="dbcompat[]" id="dbcompat-no_field_options" value="no_field_options" <?php echo $is_no_field ? 'checked="true"' : ''; ?>>
216
+ <label for="dbcompat-no_field_options"><?php DUP_Util::_e("no_field_options") ?></label>
217
+ </td>
218
+ </tr>
219
+ </table>
220
+ <?php else : ?>
221
+ <i><?php DUP_Util::_e("This option is only availbe with mysqldump mode."); ?></i>
222
+ <?php endif; ?>
223
+
224
  </div>
225
  </div>
226
  </div>
231
  <!-- META-BOX: INSTALLER -->
232
  <div class="dup-box">
233
  <div class="dup-box-title">
234
+ <i class="fa fa-bolt"></i> <?php _e('Installer', 'duplicator') ?>
235
  <div class="dup-box-arrow"></div>
236
  </div>
237
 
238
  <div class="dup-box-panel" id="dup-pack-installer-panel" style="<?php echo $ui_css_installer ?>">
239
+ <div class="dup-installer-header-1"><?php echo _e('STEP 1 - INPUTS', 'duplicator'); ?></div><br/>
240
  <table class="dup-installer-tbl">
241
  <tr>
242
+ <td colspan="2"><div class="dup-installer-header-2"><?php _e("MySQL Server", 'duplicator') ?></div></td>
243
  </tr>
244
  <tr>
245
+ <td style="width:130px"><?php _e("Host", 'duplicator') ?></td>
246
  <td><input type="text" name="dbhost" id="dbhost" value="<?php echo $Package->Installer->OptsDBHost ?>" maxlength="200" placeholder="localhost"/></td>
247
  </tr>
248
  <tr>
249
+ <td style="width:130px"><?php _e("Host Port", 'duplicator') ?></td>
250
  <td><input type="text" name="dbport" id="dbport" value="<?php echo $Package->Installer->OptsDBPort ?>" maxlength="200" placeholder="3306"/></td>
251
  </tr>
252
  <tr>
253
+ <td><?php _e("Database", 'duplicator') ?></td>
254
  <td><input type="text" name="dbname" id="dbname" value="<?php echo $Package->Installer->OptsDBName ?>" maxlength="100" placeholder="mydatabaseName" /></td>
255
  </tr>
256
  <tr>
257
+ <td><?php _e("User", 'duplicator') ?></td>
258
  <td><input type="text" name="dbuser" id="dbuser" value="<?php echo $Package->Installer->OptsDBUser ?>" maxlength="100" placeholder="databaseUserName" /></td>
259
  </tr>
260
  <tr>
261
+ <td colspan="2"><div class="dup-installer-header-2"><?php _e("Advanced Options", 'duplicator') ?></div></td>
262
  </tr>
263
  <tr>
264
  <td colspan="2">
265
  <table>
266
  <tr>
267
+ <td style="width:130px"><?php _e("SSL", 'duplicator') ?></td>
268
  <td style="padding-right: 20px; white-space: nowrap">
269
  <input type="checkbox" name="ssl-admin" id="ssl-admin" <?php echo ($Package->Installer->OptsSSLAdmin) ? "checked='checked'" : ""; ?> />
270
+ <label class="chk-labels" for="ssl-admin"><?php _e("Enforce on Admin", 'duplicator') ?></label>
271
  </td>
272
  <td>
273
  <input type="checkbox" name="ssl-login" id="ssl-login" <?php echo ($Package->Installer->OptsSSLLogin) ? "checked='checked'" : ""; ?> />
274
+ <label class="chk-labels" for="ssl-login"><?php _e("Enforce on Logins", 'duplicator') ?></label>
275
  </td>
276
  </tr>
277
  <tr>
278
+ <td><?php _e("Cache", 'duplicator') ?></td>
279
  <td style="padding-right: 20px; white-space: nowrap">
280
  <input type="checkbox" name="cache-wp" id="cache-wp" <?php echo ($Package->Installer->OptsCacheWP) ? "checked='checked'" : ""; ?> />
281
+ <label class="chk-labels" for="cache-wp"><?php _e("Keep Enabled", 'duplicator') ?></label>
282
  </td>
283
  <td>
284
  <input type="checkbox" name="cache-path" id="cache-path" <?php echo ($Package->Installer->OptsCachePath) ? "checked='checked'" : ""; ?> />
285
+ <label class="chk-labels" for="cache-path"><?php _e("Keep Home Path", 'duplicator') ?></label>
286
  </td>
287
  </tr>
288
  </table>
290
  </tr>
291
  </table><br />
292
 
293
+ <div class="dup-installer-header-1"><?php echo _e('STEP 2 - INPUTS', 'duplicator'); ?></div>
294
 
295
  <table class="dup-installer-tbl">
296
  <tr>
297
+ <td style="width:130px"><?php _e("New URL", 'duplicator') ?></td>
298
  <td><input type="text" name="url-new" id="url-new" value="<?php echo $Package->Installer->OptsURLNew ?>" placeholder="http://mynewsite.com" /></td>
299
  </tr>
300
  </table>
301
 
302
  <div class="dup-tabs-opts-help">
303
+ <?php _e("The installer can have these fields pre-filled at install time.", 'duplicator'); ?> <b><?php _e('All values are optional.', 'duplicator'); ?></b>
304
  </div>
305
 
306
  </div>
309
 
310
 
311
  <div class="dup-button-footer">
312
+ <input type="button" value="<?php _e("Reset", 'duplicator') ?>" class="button button-large" <?php echo ($dup_tests['Success']) ? '' : 'disabled="disabled"'; ?> onclick="Duplicator.Pack.ResetSettings()" />
313
+ <input type="submit" value="<?php _e("Next", 'duplicator') ?> &#9658;" class="button button-primary button-large" <?php echo ($dup_tests['Success']) ? '' : 'disabled="disabled"'; ?> />
314
  </div>
315
 
316
  </form>
views/packages/new2.base.php CHANGED
@@ -1,14 +1,24 @@
1
  <?php
2
  require_once (DUPLICATOR_PLUGIN_PATH . 'classes/package.php');
3
  require_once (DUPLICATOR_PLUGIN_PATH . 'classes/utility.php');
 
 
 
 
 
 
 
 
 
4
  global $wp_version;
5
  $Package = new DUP_Package();
6
  $Package->SaveActive($_POST);
7
  $Package = DUP_Package::GetActive();
8
 
9
- $package_mysqldump = DUP_Settings::Get('package_mysqldump');
10
- $mysqlDumpPath = DUP_Database::GetMySqlDumpPath();
11
- $build_mode = ($mysqlDumpPath && $package_mysqldump) ? 'mysqldump (fast)' : 'PHP (slow)';
 
12
 
13
  $zip_check = DUP_Util::GetZipPath();
14
  ?>
@@ -17,6 +27,7 @@
17
  /* ============----------
18
  PROGRESS ARES-CHECKS */
19
  div#dup-progress-area {text-align:center; max-width:650px; min-height:200px; margin:0px auto 0px auto; padding:0px;}
 
20
  div#dup-msg-success {color:#18592A; padding:5px; text-align: left}
21
  div#dup-msg-success-subtitle {font-style: italic; margin:7px 0px}
22
  div#dup-msg-error {color:#A62426; padding:5px; max-width: 790px;}
@@ -86,7 +97,7 @@ TOOL BAR: STEPS -->
86
  <div id="dup-progress-area">
87
  <!-- PROGRESS BAR -->
88
  <div id="dup-progress-bar-area">
89
- <h2><i class="fa fa-spinner fa-spin"></i> <?php DUP_Util::_e('Scanning Site'); ?></h2>
90
  <div id="dup-progress-bar"></div>
91
  <b><?php DUP_Util::_e('Please Wait...'); ?></b>
92
  </div>
@@ -322,14 +333,16 @@ TOOL BAR: STEPS -->
322
  DUP_Util::_e('No file extension filters have been set.');
323
  }
324
  ?>
325
- <small>
326
- <?php DUP_Util::_e('The root directory above is where Duplicator will start archiving files. The excluded directories and file extension will be skipped during the archive process.'); ?>
327
- </small><br/>
 
 
 
 
328
  </div>
329
-
330
  </div>
331
  <?php endif; ?>
332
-
333
  </div><!-- end .dup-panel -->
334
  <br/>
335
 
@@ -388,7 +401,19 @@ TOOL BAR: STEPS -->
388
  <table id="dup-scan-db-details">
389
  <tr><td><b><?php DUP_Util::_e('Name:');?></b></td><td><?php echo DB_NAME ;?> </td></tr>
390
  <tr><td><b><?php DUP_Util::_e('Host:');?></b></td><td><?php echo DB_HOST ;?> </td></tr>
391
- <tr><td><b><?php DUP_Util::_e('Build Mode:');?></b></td><td><a href="?page=duplicator-settings" target="_blank"><?php echo $build_mode ;?></a> </td></tr>
 
 
 
 
 
 
 
 
 
 
 
 
392
  </table>
393
 
394
  </div><!-- end .dup-panel -->
1
  <?php
2
  require_once (DUPLICATOR_PLUGIN_PATH . 'classes/package.php');
3
  require_once (DUPLICATOR_PLUGIN_PATH . 'classes/utility.php');
4
+
5
+ if(empty($_POST))
6
+ {
7
+ //F5 Refresh Check
8
+ $redirect = admin_url('admin.php?page=duplicator&tab=new1');
9
+ echo "<script>window.location.href = '{$redirect}'</script>";
10
+ exit;
11
+ }
12
+
13
  global $wp_version;
14
  $Package = new DUP_Package();
15
  $Package->SaveActive($_POST);
16
  $Package = DUP_Package::GetActive();
17
 
18
+ $mysqldump_on = DUP_Settings::Get('package_mysqldump') && DUP_Database::GetMySqlDumpPath();
19
+ $mysqlcompat_on = isset($Package->Database->Compatible) && strlen($Package->Database->Compatible);
20
+ $mysqlcompat_on = ($mysqldump_on && $mysqlcompat_on) ? true : false;
21
+ $dbbuild_mode = ($mysqldump_on) ? 'mysqldump (fast)' : 'PHP (slow)';
22
 
23
  $zip_check = DUP_Util::GetZipPath();
24
  ?>
27
  /* ============----------
28
  PROGRESS ARES-CHECKS */
29
  div#dup-progress-area {text-align:center; max-width:650px; min-height:200px; margin:0px auto 0px auto; padding:0px;}
30
+ div.dup-progress-title {font-size:22px;padding:5px 0 20px 0; font-weight: bold}
31
  div#dup-msg-success {color:#18592A; padding:5px; text-align: left}
32
  div#dup-msg-success-subtitle {font-style: italic; margin:7px 0px}
33
  div#dup-msg-error {color:#A62426; padding:5px; max-width: 790px;}
97
  <div id="dup-progress-area">
98
  <!-- PROGRESS BAR -->
99
  <div id="dup-progress-bar-area">
100
+ <div class="dup-progress-title"><i class="fa fa-spinner fa-spin"></i> <?php DUP_Util::_e('Scanning Site'); ?></div>
101
  <div id="dup-progress-bar"></div>
102
  <b><?php DUP_Util::_e('Please Wait...'); ?></b>
103
  </div>
333
  DUP_Util::_e('No file extension filters have been set.');
334
  }
335
  ?>
336
+ <small>
337
+ <?php
338
+ DUP_Util::_e('The root directory is where Duplicator starts archiving files. The excluded sections will be skipped during the archive process. ');
339
+ DUP_Util::_e('All results are stored in a json file. ');
340
+ ?>
341
+ <a href="<?php echo DUPLICATOR_SITE_URL ?>/wp-admin/admin-ajax.php?action=duplicator_package_scan" target="dup_report"><?php DUP_Util::_e('[view json report]');?></a>
342
+ </small><br/>
343
  </div>
 
344
  </div>
345
  <?php endif; ?>
 
346
  </div><!-- end .dup-panel -->
347
  <br/>
348
 
401
  <table id="dup-scan-db-details">
402
  <tr><td><b><?php DUP_Util::_e('Name:');?></b></td><td><?php echo DB_NAME ;?> </td></tr>
403
  <tr><td><b><?php DUP_Util::_e('Host:');?></b></td><td><?php echo DB_HOST ;?> </td></tr>
404
+ <tr>
405
+ <td style="vertical-align: top"><b><?php DUP_Util::_e('Build Mode:');?></b></td>
406
+ <td style="line-height:18px">
407
+ <a href="?page=duplicator-settings" target="_blank"><?php echo $dbbuild_mode ;?></a>
408
+ <?php if ($mysqlcompat_on) :?>
409
+ <br/>
410
+ <small style="font-style:italic; color:maroon">
411
+ <i class="fa fa-exclamation-circle"></i> <?php DUP_Util::_e('MySQL Compatibility Mode Enabled'); ?>
412
+ <a href="https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_compatible" target="_blank">[<?php DUP_Util::_e('details'); ?>]</a>
413
+ </small>
414
+ <?php endif;?>
415
+ </td>
416
+ </tr>
417
  </table>
418
 
419
  </div><!-- end .dup-panel -->
views/packages/new3.base.php CHANGED
@@ -1,10 +1,14 @@
1
  <?php
2
  require_once (DUPLICATOR_PLUGIN_PATH . 'classes/package.php');
3
  $Package = DUP_Package::GetActive();
 
 
 
4
  ?>
5
 
6
  <style>
7
  div#dup-progress-area {text-align:center; max-width:800px; min-height:200px; border:1px solid silver; border-radius:5px; margin:25px auto 10px auto; padding:0px; box-shadow: 0 8px 6px -6px #999;}
 
8
  div#dup-progress-area div.inner {padding:10px; line-height:22px}
9
  div#dup-progress-area h2.title {background-color:#efefef; margin:0px}
10
  div#dup-progress-area span.label {font-weight:bold}
@@ -30,18 +34,18 @@ TOOL BAR: STEPS -->
30
  <td style="white-space: nowrap">
31
  <div id="dup-wiz">
32
  <div id="dup-wiz-steps">
33
- <div class="completed-step"><a><span>1</span> <?php _e('Setup', 'wpduplicator'); ?></a></div>
34
- <div class="completed-step"><a><span>2</span> <?php _e('Scan', 'wpduplicator'); ?> </a></div>
35
- <div class="active-step"><a><span>3</span> <?php _e('Build', 'wpduplicator'); ?> </a></div>
36
  </div>
37
  <div id="dup-wiz-title">
38
- <?php _e('Step 3: Build Package', 'wpduplicator'); ?>
39
  </div>
40
  </div>
41
  </td>
42
  <td class="dup-toolbar-btns">
43
- <a id="dup-pro-create-new" href="?page=duplicator" class="add-new-h2"><i class="fa fa-archive"></i> <?php _e("All Packages", 'wpduplicator'); ?></a> &nbsp;
44
- <span> <?php _e("Create New", 'wpduplicator'); ?></span>
45
  </td>
46
  </tr>
47
  </table>
@@ -52,42 +56,42 @@ TOOL BAR: STEPS -->
52
 
53
  <!-- PROGRESS BAR -->
54
  <div id="dup-progress-bar-area">
55
- <h2><i class="fa fa-cog fa-spin"></i> <?php _e('Building Package', 'wpduplicator'); ?></h2>
56
  <div id="dup-progress-bar"></div>
57
- <b><?php _e('Please Wait...', 'wpduplicator'); ?></b><br/><br/>
58
- <i><?php _e('Keep this window open during the build process.', 'wpduplicator'); ?></i><br/>
59
- <i><?php _e('This may take several minutes.', 'wpduplicator'); ?></i><br/>
60
  </div>
61
 
62
  <div id="dup-progress-area" class="dup-panel" style="display:none">
63
- <div class="dup-panel-title dup-box-title-fancy"><b style="font-size:18px"><?php _e('Build Status', 'wpduplicator'); ?></b></div>
64
  <div class="dup-panel-panel">
65
 
66
  <!-- =========================
67
  SUCCESS MESSAGE -->
68
  <div id="dup-msg-success" style="display:none">
69
  <div class="dup-hdr-success">
70
- <i class="fa fa-check-square-o fa-lg"></i> <?php _e('Package Completed', 'wpduplicator'); ?>
71
  </div>
72
 
73
  <div class="dup-msg-success-stats">
74
- <b><?php _e('Name', 'wpduplicator'); ?>:</b> <span id="data-name-hash"></span><br/>
75
- <b><?php _e('Process Time', 'wpduplicator'); ?>:</b> <span id="data-time"></span><br/>
76
  </div><br/>
77
 
78
  <button id="dup-btn-installer" class="button button-primary button-large">
79
- <i class="fa fa-bolt"></i> <?php _e("Installer", 'wpduplicator') ?>
80
  <span id="dup-btn-installer-size" class="dup-btn-size"></span>
81
  </button> &nbsp;
82
  <button id="dup-btn-archive" class="button button-primary button-large">
83
- <i class="fa fa-file-archive-o"></i> <?php _e("Archive", 'wpduplicator') ?>
84
  <span id="dup-btn-archive-size" class="dup-btn-size"></span>
85
- </button><br/><br/>
86
-
87
-
 
88
  <div class="dup-msg-success-links">
89
- <?php printf("<a href='?page=duplicator'>[ %s ]</a>", __('All Packages', 'wpduplicator'));?>
90
- <?php //printf("<a href='?page=duplicator&tab=new1'>[ %s ]</a>", __('Create Another Package', 'wpduplicator'));?>
91
  </div><br/>
92
 
93
  <!-- Used for iMacros testing do not remove -->
@@ -97,34 +101,34 @@ TOOL BAR: STEPS -->
97
  <!-- =========================
98
  ERROR MESSAGE -->
99
  <div id="dup-msg-error" style="display:none">
100
- <div class="done-title"><i class="fa fa-chain-broken"></i> <?php _e('Build Interrupt', 'wpduplicator'); ?></div>
101
- <b><?php _e('The current build has experienced an issue.', 'wpduplicator'); ?></b><br/>
102
 
103
- <i><?php _e('Please try the process again.', 'wpduplicator'); ?></i><br/><br/>
104
 
105
- <input type="button" style="margin-right:10px;" class="button" value="<?php _e('Diagnose', 'wpduplicator'); ?>" onclick="window.open('http://lifeinthegrid.com/support/knowledgebase.php?article=12#faq-trouble-timeout', '_blank');return false;" />
106
- <input type="button" class="button" value="<?php _e('Try Again', 'wpduplicator'); ?>" onclick="window.location = 'admin.php?page=duplicator'" />
107
  <fieldset>
108
- <legend><b><i class="fa fa-exclamation"></i> <?php _e('Details', 'wpduplicator'); ?></b></legend>
109
  <div class="dup-msg-error-area">
110
  <div id="dup-msg-error-response-status">
111
- <span class="label"><?php _e("Server Status:", 'wpduplicator'); ?></span>
112
  <span class="data"></span>
113
  </div>
114
  <div id="dup-msg-error-response-text">
115
- <span class="label"><?php _e("Error Message:", 'wpduplicator'); ?></span><br/>
116
  <span class="data"></span>
117
  </div>
118
  </div>
119
  </fieldset><br/>
120
 
121
  <fieldset style="color:#777">
122
- <legend><b> <?php _e('Notice', 'wpduplicator'); ?></b></legend>
123
  <div class="dup-msg-error-area">
124
  <?php printf('<b><i class="fa fa-folder-o"></i> %s %s</b> <br/> %s',
125
  __('Build Folder:'),
126
  DUPLICATOR_SSDIR_PATH_TMP,
127
- __("Some servers close connections quickly; yet the build can continue to run in the background. To validate if a build is still running; open the 'tmp' folder above and see if the archive file is growing in size. If it is not then your server has strict timeout constraints. Please visit the support page for additional resources.", 'wpduplicator')
128
  );
129
  ?> <br/>
130
  </div>
@@ -133,7 +137,7 @@ TOOL BAR: STEPS -->
133
  <!-- LOGS -->
134
  <div id="dup-logs">
135
  <div style="font-weight:bold">
136
- <i class="fa fa-list-alt"></i> <a href='javascript:void(0)' style="color:#A62426" onclick='Duplicator.OpenLogWindow()'> <?php _e('Package Log', 'wpduplicator');?> </a>
137
  </div>
138
  <br/>
139
  </div>
1
  <?php
2
  require_once (DUPLICATOR_PLUGIN_PATH . 'classes/package.php');
3
  $Package = DUP_Package::GetActive();
4
+
5
+
6
+
7
  ?>
8
 
9
  <style>
10
  div#dup-progress-area {text-align:center; max-width:800px; min-height:200px; border:1px solid silver; border-radius:5px; margin:25px auto 10px auto; padding:0px; box-shadow: 0 8px 6px -6px #999;}
11
+ div.dup-progress-title {font-size:22px;padding:5px 0 20px 0; font-weight: bold}
12
  div#dup-progress-area div.inner {padding:10px; line-height:22px}
13
  div#dup-progress-area h2.title {background-color:#efefef; margin:0px}
14
  div#dup-progress-area span.label {font-weight:bold}
34
  <td style="white-space: nowrap">
35
  <div id="dup-wiz">
36
  <div id="dup-wiz-steps">
37
+ <div class="completed-step"><a><span>1</span> <?php _e('Setup', 'duplicator'); ?></a></div>
38
+ <div class="completed-step"><a><span>2</span> <?php _e('Scan', 'duplicator'); ?> </a></div>
39
+ <div class="active-step"><a><span>3</span> <?php _e('Build', 'duplicator'); ?> </a></div>
40
  </div>
41
  <div id="dup-wiz-title">
42
+ <?php _e('Step 3: Build Package', 'duplicator'); ?>
43
  </div>
44
  </div>
45
  </td>
46
  <td class="dup-toolbar-btns">
47
+ <a id="dup-pro-create-new" href="?page=duplicator" class="add-new-h2"><i class="fa fa-archive"></i> <?php _e("All Packages", 'duplicator'); ?></a> &nbsp;
48
+ <span> <?php _e("Create New", 'duplicator'); ?></span>
49
  </td>
50
  </tr>
51
  </table>
56
 
57
  <!-- PROGRESS BAR -->
58
  <div id="dup-progress-bar-area">
59
+ <div class="dup-progress-title"><i class="fa fa-cog fa-spin"></i> <?php _e('Building Package', 'duplicator'); ?></div>
60
  <div id="dup-progress-bar"></div>
61
+ <b><?php _e('Please Wait...', 'duplicator'); ?></b><br/><br/>
62
+ <i><?php _e('Keep this window open during the build process.', 'duplicator'); ?></i><br/>
63
+ <i><?php _e('This may take several minutes.', 'duplicator'); ?></i><br/>
64
  </div>
65
 
66
  <div id="dup-progress-area" class="dup-panel" style="display:none">
67
+ <div class="dup-panel-title dup-box-title-fancy"><b style="font-size:18px"><?php _e('Build Status', 'duplicator'); ?></b></div>
68
  <div class="dup-panel-panel">
69
 
70
  <!-- =========================
71
  SUCCESS MESSAGE -->
72
  <div id="dup-msg-success" style="display:none">
73
  <div class="dup-hdr-success">
74
+ <i class="fa fa-check-square-o fa-lg"></i> <?php _e('Package Completed', 'duplicator'); ?>
75
  </div>
76
 
77
  <div class="dup-msg-success-stats">
78
+ <b><?php _e('Name', 'duplicator'); ?>:</b> <span id="data-name-hash"></span><br/>
79
+ <b><?php _e('Process Time', 'duplicator'); ?>:</b> <span id="data-time"></span><br/>
80
  </div><br/>
81
 
82
  <button id="dup-btn-installer" class="button button-primary button-large">
83
+ <i class="fa fa-bolt"></i> <?php _e("Installer", 'duplicator') ?>
84
  <span id="dup-btn-installer-size" class="dup-btn-size"></span>
85
  </button> &nbsp;
86
  <button id="dup-btn-archive" class="button button-primary button-large">
87
+ <i class="fa fa-file-archive-o"></i> <?php _e("Archive", 'duplicator') ?>
88
  <span id="dup-btn-archive-size" class="dup-btn-size"></span>
89
+ </button>
90
+ <div style='margin: 7px 0 20px 0'>
91
+ <small><i><?php _e("click buttons to download", 'duplicator') ?></i></small>
92
+ </div>
93
  <div class="dup-msg-success-links">
94
+ <?php printf("<a href='?page=duplicator'>[ %s ]</a>", __('All Packages', 'duplicator'));?>
 
95
  </div><br/>
96
 
97
  <!-- Used for iMacros testing do not remove -->
101
  <!-- =========================
102
  ERROR MESSAGE -->
103
  <div id="dup-msg-error" style="display:none">
104
+ <div class="done-title"><i class="fa fa-chain-broken"></i> <?php _e('Build Interrupt', 'duplicator'); ?></div>
105
+ <b><?php _e('The current build has experienced an issue.', 'duplicator'); ?></b><br/>
106
 
107
+ <i><?php _e('Please try the process again.', 'duplicator'); ?></i><br/><br/>
108
 
109
+ <input type="button" style="margin-right:10px;" class="button" value="<?php _e('Diagnose', 'duplicator'); ?>" onclick="window.open('http://lifeinthegrid.com/support/knowledgebase.php?article=12#faq-trouble-timeout', '_blank');return false;" />
110
+ <input type="button" class="button" value="<?php _e('Try Again', 'duplicator'); ?>" onclick="window.location = 'admin.php?page=duplicator&tab=new1'" />
111
  <fieldset>
112
+ <legend><b><i class="fa fa-exclamation"></i> <?php _e('Details', 'duplicator'); ?></b></legend>
113
  <div class="dup-msg-error-area">
114
  <div id="dup-msg-error-response-status">
115
+ <span class="label"><?php _e("Server Status:", 'duplicator'); ?></span>
116
  <span class="data"></span>
117
  </div>
118
  <div id="dup-msg-error-response-text">
119
+ <span class="label"><?php _e("Error Message:", 'duplicator'); ?></span><br/>
120
  <span class="data"></span>
121
  </div>
122
  </div>
123
  </fieldset><br/>
124
 
125
  <fieldset style="color:#777">
126
+ <legend><b> <?php _e('Notice', 'duplicator'); ?></b></legend>
127
  <div class="dup-msg-error-area">
128
  <?php printf('<b><i class="fa fa-folder-o"></i> %s %s</b> <br/> %s',
129
  __('Build Folder:'),
130
  DUPLICATOR_SSDIR_PATH_TMP,
131
+ __("Some servers close connections quickly; yet the build can continue to run in the background. To validate if a build is still running; open the 'tmp' folder above and see if the archive file is growing in size. If it is not then your server has strict timeout constraints. Please visit the support page for additional resources.", 'duplicator')
132
  );
133
  ?> <br/>
134
  </div>
137
  <!-- LOGS -->
138
  <div id="dup-logs">
139
  <div style="font-weight:bold">
140
+ <i class="fa fa-list-alt"></i> <a href='javascript:void(0)' style="color:#A62426" onclick='Duplicator.OpenLogWindow()'> <?php _e('Package Log', 'duplicator');?> </a>
141
  </div>
142
  <br/>
143
  </div>
views/settings/controller.php CHANGED
@@ -16,11 +16,7 @@ $current_tab = isset($_REQUEST['tab']) ? esc_html($_REQUEST['tab']) : 'general';
16
 
17
  <div class="wrap">
18
 
19
- <?php duplicator_header(__("Settings", 'wpduplicator')) ?>
20
-
21
- <!--h2 class="nav-tab-wrapper">
22
- <a href="?page=duplicator-settings&tab=general" class="nav-tab <?php echo ($current_tab == 'general') ? 'nav-tab-active' : '' ?>"> <?php _e('General', 'wpduplicator'); ?></a>
23
- </h2-->
24
 
25
  <?php
26
  switch ($current_tab) {
16
 
17
  <div class="wrap">
18
 
19
+ <?php duplicator_header(__("Settings", 'duplicator')) ?>
 
 
 
 
20
 
21
  <?php
22
  switch ($current_tab) {
views/settings/general.php CHANGED
@@ -3,7 +3,7 @@ global $wp_version;
3
  global $wpdb;
4
 
5
  $action_updated = null;
6
- $action_response = __("Settings Saved", 'wpduplicator');
7
 
8
  //SAVE RESULTS
9
  if (isset($_POST['action']) && $_POST['action'] == 'save') {
@@ -79,33 +79,33 @@ $mysqlDumpFound = ($mysqlDumpPath) ? true : false;
79
 
80
  <!-- ===============================
81
  PLUG-IN SETTINGS -->
82
- <h3 class="title"><?php _e("Plugin", 'wpduplicator') ?> </h3>
83
  <hr size="1" />
84
  <table class="form-table">
85
  <tr valign="top">
86
- <th scope="row"><label><?php _e("Version", 'wpduplicator'); ?></label></th>
87
  <td><?php echo DUPLICATOR_VERSION ?></td>
88
  </tr>
89
  <tr valign="top">
90
- <th scope="row"><label><?php _e("Uninstall", 'wpduplicator'); ?></label></th>
91
  <td>
92
  <input type="checkbox" name="uninstall_settings" id="uninstall_settings" <?php echo ($uninstall_settings) ? 'checked="checked"' : ''; ?> />
93
- <label for="uninstall_settings"><?php _e("Delete Plugin Settings", 'wpduplicator') ?> </label><br/>
94
 
95
  <input type="checkbox" name="uninstall_files" id="uninstall_files" <?php echo ($uninstall_files) ? 'checked="checked"' : ''; ?> />
96
- <label for="uninstall_files"><?php _e("Delete Entire Storage Directory", 'wpduplicator') ?></label><br/>
97
 
98
  </td>
99
  </tr>
100
  <tr valign="top">
101
- <th scope="row"><label><?php _e("Storage", 'wpduplicator'); ?></label></th>
102
  <td>
103
- <?php _e("Full Path", 'wpduplicator'); ?>:
104
  <?php echo DUP_Util::SafePath(DUPLICATOR_SSDIR_PATH); ?><br/><br/>
105
  <input type="checkbox" name="storage_htaccess_off" id="storage_htaccess_off" <?php echo ($storage_htaccess_off) ? 'checked="checked"' : ''; ?> />
106
- <label for="storage_htaccess_off"><?php _e("Disable .htaccess File In Storage Directory", 'wpduplicator') ?> </label>
107
  <p class="description">
108
- <?php _e("Disable if issues occur when downloading installer/archive files.", 'wpduplicator'); ?>
109
  </p>
110
  </td>
111
  </tr>
@@ -114,28 +114,28 @@ $mysqlDumpFound = ($mysqlDumpPath) ? true : false;
114
 
115
  <!-- ===============================
116
  PACKAGE SETTINGS -->
117
- <h3 class="title"><?php _e("Package", 'wpduplicator') ?> </h3>
118
  <hr size="1" />
119
  <table class="form-table">
120
  <tr>
121
- <th scope="row"><label><?php _e("Archive Flush", 'wpduplicator'); ?></label></th>
122
  <td>
123
  <input type="checkbox" name="package_zip_flush" id="package_zip_flush" <?php echo ($package_zip_flush) ? 'checked="checked"' : ''; ?> />
124
- <label for="package_zip_flush"><?php _e("Attempt Network Keep Alive", 'wpduplicator'); ?></label>
125
- <i style="font-size:12px">(<?php _e("recommended only for large archives", 'wpduplicator'); ?>)</i>
126
  <p class="description">
127
- <?php _e("This will attempt to keep a network connection established for large archives.", 'wpduplicator'); ?>
128
  </p>
129
  </td>
130
  </tr>
131
  <tr>
132
- <th scope="row"><label><?php _e("Database Build", 'wpduplicator'); ?></label></th>
133
  <td>
134
  <input type="radio" name="package_dbmode" id="package_phpdump" value="php" <?php echo (! $package_mysqldump) ? 'checked="checked"' : ''; ?> />
135
- <label for="package_phpdump"><?php _e("Use PHP", 'wpduplicator'); ?></label> &nbsp;
136
 
137
  <div style="margin:5px 0px 0px 25px">
138
- <label for="package_phpdump_qrylimit"><?php _e("Query Limit Size", 'wpduplicator'); ?></label> &nbsp;
139
  <select name="package_phpdump_qrylimit" id="package_phpdump_qrylimit">
140
  <?php
141
  foreach($phpdump_chunkopts as $value) {
@@ -144,42 +144,42 @@ $mysqlDumpFound = ($mysqlDumpPath) ? true : false;
144
  }
145
  ?>
146
  </select>
147
- <i style="font-size:12px">(<?php _e("higher values speed up build times but uses more memory", 'wpduplicator'); ?>)</i>
148
 
149
  </div><br/>
150
 
151
  <?php if (!DUP_Util::IsShellExecAvailable()) : ?>
152
  <p class="description">
153
  <?php
154
- _e("This server does not have shell_exec configured to run.", 'wpduplicator');
155
  echo '<br/>';
156
- _e("Please contact the server administrator to enable this feature.", 'wpduplicator');
157
  ?>
158
  </p>
159
  <?php else : ?>
160
  <input type="radio" name="package_dbmode" value="mysql" id="package_mysqldump" <?php echo ($package_mysqldump) ? 'checked="checked"' : ''; ?> />
161
- <label for="package_mysqldump"><?php _e("Use mysqldump", 'wpduplicator'); ?></label> &nbsp;
162
- <i style="font-size:12px">(<?php _e("recommended for large databases", 'wpduplicator'); ?>)</i> <br/><br/>
163
 
164
  <div style="margin:5px 0px 0px 25px">
165
  <?php if ($mysqlDumpFound) : ?>
166
  <div class="dup-feature-found">
167
- <?php _e("Working Path:", 'wpduplicator'); ?> &nbsp;
168
  <i><?php echo $mysqlDumpPath ?></i>
169
  </div><br/>
170
  <?php else : ?>
171
  <div class="dup-feature-notfound">
172
  <?php
173
- _e('Mysqldump was not found at its default location or the location provided. Please enter a path to a valid location where mysqldump can run. If the problem persist contact your server administrator.', 'wpduplicator');
174
  ?>
175
  </div><br/>
176
  <?php endif; ?>
177
 
178
- <label><?php _e("Add Custom Path:", 'wpduplicator'); ?></label><br/>
179
  <input type="text" name="package_mysqldump_path" id="package_mysqldump_path" value="<?php echo $package_mysqldump_path; ?> " />
180
  <p class="description">
181
  <?php
182
- _e("This is the path to your mysqldump program.", 'wpduplicator');
183
  ?>
184
  </p>
185
  </div>
@@ -188,10 +188,10 @@ $mysqlDumpFound = ($mysqlDumpPath) ? true : false;
188
  </td>
189
  </tr>
190
  <tr>
191
- <th scope="row"><label><?php _e("Package Debug", 'wpduplicator'); ?></label></th>
192
  <td>
193
  <input type="checkbox" name="package_debug" id="package_debug" <?php echo ($package_debug) ? 'checked="checked"' : ''; ?> />
194
- <label for="package_debug"><?php _e("Show Package Debug Status in Packages Screen", 'wpduplicator'); ?></label>
195
  </td>
196
  </tr>
197
 
@@ -199,27 +199,27 @@ $mysqlDumpFound = ($mysqlDumpPath) ? true : false;
199
 
200
  <!-- ===============================
201
  WPFRONT SETTINGS -->
202
- <h3 class="title"><?php _e("Roles & Capabilities", 'wpduplicator') ?> </h3>
203
  <hr size="1" />
204
 
205
  <table class="form-table">
206
  <tr>
207
- <th scope="row"><label><?php _e("Custom Roles", 'wpduplicator'); ?></label></th>
208
  <td>
209
  <input type="checkbox" name="wpfront_integrate" id="wpfront_integrate" <?php echo ($wpfront_integrate) ? 'checked="checked"' : ''; ?> <?php echo $wpfront_ready ? '' : 'disabled'; ?> />
210
- <label for="wpfront_integrate"><?php _e("Enable User Role Editor Plugin Integration", 'wpduplicator'); ?></label>
211
 
212
  <div style="margin:15px 0px 0px 25px">
213
  <p class="description">
214
  <?php printf('%s <a href="https://wordpress.org/plugins/wpfront-user-role-editor/" target="_blank">%s</a> %s'
215
  . ' <a href="https://wpfront.com/user-role-editor-pro/?ref=3" target="_blank">%s</a> %s '
216
  . ' <a href="https://wpfront.com/integrations/duplicator-integration/" target="_blank">%s</a>',
217
- __('The User Role Editor Plugin', 'wpduplicator'),
218
- __('Free', 'wpduplicator'),
219
- __('or', 'wpduplicator'),
220
- __('Professional', 'wpduplicator'),
221
- __('must be installed to use', 'wpduplicator'),
222
- __('this feature.', 'wpduplicator')
223
  );
224
  ?>
225
  </p>
@@ -231,7 +231,7 @@ $mysqlDumpFound = ($mysqlDumpPath) ? true : false;
231
 
232
  <p class="submit" style="margin: 20px 0px 0xp 5px;">
233
  <br/>
234
- <input type="submit" name="submit" id="submit" class="button-primary" value="<?php _e("Save Settings", 'wpduplicator') ?>" style="display: inline-block;" />
235
  </p>
236
 
237
  </form>
3
  global $wpdb;
4
 
5
  $action_updated = null;
6
+ $action_response = __("Settings Saved", 'duplicator');
7
 
8
  //SAVE RESULTS
9
  if (isset($_POST['action']) && $_POST['action'] == 'save') {
79
 
80
  <!-- ===============================
81
  PLUG-IN SETTINGS -->
82
+ <h3 class="title"><?php _e("Plugin", 'duplicator') ?> </h3>
83
  <hr size="1" />
84
  <table class="form-table">
85
  <tr valign="top">
86
+ <th scope="row"><label><?php _e("Version", 'duplicator'); ?></label></th>
87
  <td><?php echo DUPLICATOR_VERSION ?></td>
88
  </tr>
89
  <tr valign="top">
90
+ <th scope="row"><label><?php _e("Uninstall", 'duplicator'); ?></label></th>
91
  <td>
92
  <input type="checkbox" name="uninstall_settings" id="uninstall_settings" <?php echo ($uninstall_settings) ? 'checked="checked"' : ''; ?> />
93
+ <label for="uninstall_settings"><?php _e("Delete Plugin Settings", 'duplicator') ?> </label><br/>
94
 
95
  <input type="checkbox" name="uninstall_files" id="uninstall_files" <?php echo ($uninstall_files) ? 'checked="checked"' : ''; ?> />
96
+ <label for="uninstall_files"><?php _e("Delete Entire Storage Directory", 'duplicator') ?></label><br/>
97
 
98
  </td>
99
  </tr>
100
  <tr valign="top">
101
+ <th scope="row"><label><?php _e("Storage", 'duplicator'); ?></label></th>
102
  <td>
103
+ <?php _e("Full Path", 'duplicator'); ?>:
104
  <?php echo DUP_Util::SafePath(DUPLICATOR_SSDIR_PATH); ?><br/><br/>
105
  <input type="checkbox" name="storage_htaccess_off" id="storage_htaccess_off" <?php echo ($storage_htaccess_off) ? 'checked="checked"' : ''; ?> />
106
+ <label for="storage_htaccess_off"><?php _e("Disable .htaccess File In Storage Directory", 'duplicator') ?> </label>
107
  <p class="description">
108
+ <?php _e("Disable if issues occur when downloading installer/archive files.", 'duplicator'); ?>
109
  </p>
110
  </td>
111
  </tr>
114
 
115
  <!-- ===============================
116
  PACKAGE SETTINGS -->
117
+ <h3 class="title"><?php _e("Package", 'duplicator') ?> </h3>
118
  <hr size="1" />
119
  <table class="form-table">
120
  <tr>
121
+ <th scope="row"><label><?php _e("Archive Flush", 'duplicator'); ?></label></th>
122
  <td>
123
  <input type="checkbox" name="package_zip_flush" id="package_zip_flush" <?php echo ($package_zip_flush) ? 'checked="checked"' : ''; ?> />
124
+ <label for="package_zip_flush"><?php _e("Attempt Network Keep Alive", 'duplicator'); ?></label>
125
+ <i style="font-size:12px">(<?php _e("recommended only for large archives", 'duplicator'); ?>)</i>
126
  <p class="description">
127
+ <?php _e("This will attempt to keep a network connection established for large archives.", 'duplicator'); ?>
128
  </p>
129
  </td>
130
  </tr>
131
  <tr>
132
+ <th scope="row"><label><?php _e("Database Build", 'duplicator'); ?></label></th>
133
  <td>
134
  <input type="radio" name="package_dbmode" id="package_phpdump" value="php" <?php echo (! $package_mysqldump) ? 'checked="checked"' : ''; ?> />
135
+ <label for="package_phpdump"><?php _e("Use PHP", 'duplicator'); ?></label> &nbsp;
136
 
137
  <div style="margin:5px 0px 0px 25px">
138
+ <label for="package_phpdump_qrylimit"><?php _e("Query Limit Size", 'duplicator'); ?></label> &nbsp;
139
  <select name="package_phpdump_qrylimit" id="package_phpdump_qrylimit">
140
  <?php
141
  foreach($phpdump_chunkopts as $value) {
144
  }
145
  ?>
146
  </select>
147
+ <i style="font-size:12px">(<?php _e("higher values speed up build times but uses more memory", 'duplicator'); ?>)</i>
148
 
149
  </div><br/>
150
 
151
  <?php if (!DUP_Util::IsShellExecAvailable()) : ?>
152
  <p class="description">
153
  <?php
154
+ _e("This server does not have shell_exec configured to run.", 'duplicator');
155
  echo '<br/>';
156
+ _e("Please contact the server administrator to enable this feature.", 'duplicator');
157
  ?>
158
  </p>
159
  <?php else : ?>
160
  <input type="radio" name="package_dbmode" value="mysql" id="package_mysqldump" <?php echo ($package_mysqldump) ? 'checked="checked"' : ''; ?> />
161
+ <label for="package_mysqldump"><?php _e("Use mysqldump", 'duplicator'); ?></label> &nbsp;
162
+ <i style="font-size:12px">(<?php _e("recommended for large databases", 'duplicator'); ?>)</i> <br/><br/>
163
 
164
  <div style="margin:5px 0px 0px 25px">
165
  <?php if ($mysqlDumpFound) : ?>
166
  <div class="dup-feature-found">
167
+ <?php _e("Working Path:", 'duplicator'); ?> &nbsp;
168
  <i><?php echo $mysqlDumpPath ?></i>
169
  </div><br/>
170
  <?php else : ?>
171
  <div class="dup-feature-notfound">
172
  <?php
173
+ _e('Mysqldump was not found at its default location or the location provided. Please enter a path to a valid location where mysqldump can run. If the problem persist contact your server administrator.', 'duplicator');
174
  ?>
175
  </div><br/>
176
  <?php endif; ?>
177
 
178
+ <label><?php _e("Add Custom Path:", 'duplicator'); ?></label><br/>
179
  <input type="text" name="package_mysqldump_path" id="package_mysqldump_path" value="<?php echo $package_mysqldump_path; ?> " />
180
  <p class="description">
181
  <?php
182
+ _e("This is the path to your mysqldump program.", 'duplicator');
183
  ?>
184
  </p>
185
  </div>
188
  </td>
189
  </tr>
190
  <tr>
191
+ <th scope="row"><label><?php _e("Package Debug", 'duplicator'); ?></label></th>
192
  <td>
193
  <input type="checkbox" name="package_debug" id="package_debug" <?php echo ($package_debug) ? 'checked="checked"' : ''; ?> />
194
+ <label for="package_debug"><?php _e("Show Package Debug Status in Packages Screen", 'duplicator'); ?></label>
195
  </td>
196
  </tr>
197
 
199
 
200
  <!-- ===============================
201
  WPFRONT SETTINGS -->
202
+ <h3 class="title"><?php _e("Roles & Capabilities", 'duplicator') ?> </h3>
203
  <hr size="1" />
204
 
205
  <table class="form-table">
206
  <tr>
207
+ <th scope="row"><label><?php _e("Custom Roles", 'duplicator'); ?></label></th>
208
  <td>
209
  <input type="checkbox" name="wpfront_integrate" id="wpfront_integrate" <?php echo ($wpfront_integrate) ? 'checked="checked"' : ''; ?> <?php echo $wpfront_ready ? '' : 'disabled'; ?> />
210
+ <label for="wpfront_integrate"><?php _e("Enable User Role Editor Plugin Integration", 'duplicator'); ?></label>
211
 
212
  <div style="margin:15px 0px 0px 25px">
213
  <p class="description">
214
  <?php printf('%s <a href="https://wordpress.org/plugins/wpfront-user-role-editor/" target="_blank">%s</a> %s'
215
  . ' <a href="https://wpfront.com/user-role-editor-pro/?ref=3" target="_blank">%s</a> %s '
216
  . ' <a href="https://wpfront.com/integrations/duplicator-integration/" target="_blank">%s</a>',
217
+ __('The User Role Editor Plugin', 'duplicator'),
218
+ __('Free', 'duplicator'),
219
+ __('or', 'duplicator'),
220
+ __('Professional', 'duplicator'),
221
+ __('must be installed to use', 'duplicator'),
222
+ __('this feature.', 'duplicator')
223
  );
224
  ?>
225
  </p>
231
 
232
  <p class="submit" style="margin: 20px 0px 0xp 5px;">
233
  <br/>
234
+ <input type="submit" name="submit" id="submit" class="button-primary" value="<?php _e("Save Settings", 'duplicator') ?>" style="display: inline-block;" />
235
  </p>
236
 
237
  </form>
views/tools/cleanup.php CHANGED
@@ -24,7 +24,7 @@
24
  switch ($_GET['action']) {
25
  case 'installer' :
26
  $action_response = __('Installer file cleanup ran!');
27
- $css_hide_msg = 'div.dup-header div.error {display:none}';
28
  break;
29
  case 'legacy':
30
  DUP_Settings::LegacyClean();
24
  switch ($_GET['action']) {
25
  case 'installer' :
26
  $action_response = __('Installer file cleanup ran!');
27
+ $css_hide_msg = 'div.error {display:none}';
28
  break;
29
  case 'legacy':
30
  DUP_Settings::LegacyClean();
views/tools/controller.php CHANGED
@@ -10,12 +10,13 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
10
  $current_tab = isset($_REQUEST['tab']) ? esc_html($_REQUEST['tab']) : 'logging';
11
  ?>
12
  <div class="wrap">
13
- <?php duplicator_header(__("Tools", 'wpduplicator')) ?>
 
14
 
15
  <h2 class="nav-tab-wrapper">
16
- <a href="?page=duplicator-tools&tab=logging" class="nav-tab <?php echo ($current_tab == 'logging') ? 'nav-tab-active' : '' ?>"> <?php _e('Logging', 'wpduplicator'); ?></a>
17
- <a href="?page=duplicator-tools&tab=diagnostics" class="nav-tab <?php echo ($current_tab == 'diagnostics') ? 'nav-tab-active' : '' ?>"> <?php _e('Diagnostics', 'wpduplicator'); ?></a>
18
- <a href="?page=duplicator-tools&tab=cleanup" class="nav-tab <?php echo ($current_tab == 'cleanup') ? 'nav-tab-active' : '' ?>"> <?php _e('Cleanup', 'wpduplicator'); ?></a>
19
  </h2>
20
 
21
  <?php
10
  $current_tab = isset($_REQUEST['tab']) ? esc_html($_REQUEST['tab']) : 'logging';
11
  ?>
12
  <div class="wrap">
13
+
14
+ <?php duplicator_header(__("Tools", 'duplicator')) ?>
15
 
16
  <h2 class="nav-tab-wrapper">
17
+ <a href="?page=duplicator-tools&tab=logging" class="nav-tab <?php echo ($current_tab == 'logging') ? 'nav-tab-active' : '' ?>"> <?php _e('Logging', 'duplicator'); ?></a>
18
+ <a href="?page=duplicator-tools&tab=diagnostics" class="nav-tab <?php echo ($current_tab == 'diagnostics') ? 'nav-tab-active' : '' ?>"> <?php _e('Diagnostics', 'duplicator'); ?></a>
19
+ <a href="?page=duplicator-tools&tab=cleanup" class="nav-tab <?php echo ($current_tab == 'cleanup') ? 'nav-tab-active' : '' ?>"> <?php _e('Cleanup', 'duplicator'); ?></a>
20
  </h2>
21
 
22
  <?php
views/tools/diagnostics.php CHANGED
@@ -15,8 +15,8 @@
15
  $action_response = null;
16
  $dbvar_maxtime = DUP_Util::MysqlVariableValue('wait_timeout');
17
  $dbvar_maxpacks = DUP_Util::MysqlVariableValue('max_allowed_packet');
18
- $dbvar_maxtime = is_null($dbvar_maxtime) ? __("unknow", 'wpduplicator') : $dbvar_maxtime;
19
- $dbvar_maxpacks = is_null($dbvar_maxpacks) ? __("unknow", 'wpduplicator') : $dbvar_maxpacks;
20
 
21
  $space = @disk_total_space(DUPLICATOR_WPROOTPATH);
22
  $space_free = @disk_free_space(DUPLICATOR_WPROOTPATH);
@@ -36,12 +36,12 @@
36
  if (isset($_POST['action'])) {
37
  $action_result = DUP_Settings::DeleteWPOption($_POST['action']);
38
  switch ($_POST['action']) {
39
- case 'duplicator_settings' : $action_response = __('Plugin settings reset.', 'wpduplicator'); break;
40
- case 'duplicator_ui_view_state' : $action_response = __('View state settings reset.', 'wpduplicator'); break;
41
- case 'duplicator_package_active' : $action_response = __('Active package settings reset.', 'wpduplicator'); break;
42
  case 'clear_legacy_data':
43
  DUP_Settings::LegacyClean();
44
- $action_response = __('Legacy data removed.', 'wpduplicator');
45
  break;
46
  }
47
  }
@@ -78,86 +78,86 @@
78
  <div class="dup-box">
79
  <div class="dup-box-title">
80
  <i class="fa fa-tachometer"></i>
81
- <?php _e("Server Settings", 'wpduplicator') ?>
82
  <div class="dup-box-arrow"></div>
83
  </div>
84
  <div class="dup-box-panel" id="dup-settings-diag-srv-panel" style="<?php echo $ui_css_srv_panel?>">
85
  <table class="widefat" cellspacing="0">
86
  <tr>
87
- <td class='dup-settings-diag-header' colspan="2"><?php _e("General", 'wpduplicator'); ?></td>
88
  </tr>
89
  <tr>
90
- <td><?php _e("Duplicator Version", 'wpduplicator'); ?></td>
91
  <td><?php echo DUPLICATOR_VERSION ?></td>
92
  </tr>
93
  <tr>
94
- <td><?php _e("Operating System", 'wpduplicator'); ?></td>
95
  <td><?php echo PHP_OS ?></td>
96
  </tr>
97
  <tr>
98
- <td><?php _e("Timezone", 'wpduplicator'); ?></td>
99
  <td><?php echo date_default_timezone_get() ; ?> &nbsp; <small><i>This is a <a href='options-general.php'>WordPress setting</a></i></small></td>
100
  </tr>
101
  <tr>
102
- <td><?php _e("Server Time", 'wpduplicator'); ?></td>
103
  <td><?php echo date("Y-m-d H:i:s"); ?></td>
104
  </tr>
105
  <tr>
106
- <td><?php _e("Web Server", 'wpduplicator'); ?></td>
107
  <td><?php echo $_SERVER['SERVER_SOFTWARE'] ?></td>
108
  </tr>
109
  <tr>
110
- <td><?php _e("APC Enabled", 'wpduplicator'); ?></td>
111
  <td><?php echo DUP_Util::RunAPC() ? 'Yes' : 'No' ?></td>
112
  </tr>
113
  <tr>
114
- <td><?php _e("Root Path", 'wpduplicator'); ?></td>
115
  <td><?php echo DUPLICATOR_WPROOTPATH ?></td>
116
  </tr>
117
  <tr>
118
- <td><?php _e("ABSPATH", 'wpduplicator'); ?></td>
119
  <td><?php echo ABSPATH ?></td>
120
  </tr>
121
  <tr>
122
- <td><?php _e("Plugins Path", 'wpduplicator'); ?></td>
123
  <td><?php echo DUP_Util::SafePath(WP_PLUGIN_DIR) ?></td>
124
  </tr>
125
  <tr>
126
- <td><?php _e("Loaded PHP INI", 'wpduplicator'); ?></td>
127
  <td><?php echo php_ini_loaded_file() ;?></td>
128
  </tr>
129
  <tr>
130
- <td><?php _e("Server IP", 'wpduplicator'); ?></td>
131
  <td><?php echo $_SERVER['SERVER_ADDR'];?></td>
132
  </tr>
133
  <tr>
134
- <td><?php _e("Client IP", 'wpduplicator'); ?></td>
135
  <td><?php echo $client_ip_address;?></td>
136
  </tr>
137
  <tr>
138
  <td class='dup-settings-diag-header' colspan="2">WordPress</td>
139
  </tr>
140
  <tr>
141
- <td><?php _e("Version", 'wpduplicator'); ?></td>
142
  <td><?php echo $wp_version ?></td>
143
  </tr>
144
  <tr>
145
- <td><?php _e("Langugage", 'wpduplicator'); ?></td>
146
  <td><?php echo get_bloginfo('language') ?></td>
147
  </tr>
148
  <tr>
149
- <td><?php _e("Charset", 'wpduplicator'); ?></td>
150
  <td><?php echo get_bloginfo('charset') ?></td>
151
  </tr>
152
  <tr>
153
- <td><?php _e("Memory Limit ", 'wpduplicator'); ?></td>
154
- <td><?php echo WP_MEMORY_LIMIT ?> (<?php _e("Max", 'wpduplicator'); echo '&nbsp;' . WP_MAX_MEMORY_LIMIT; ?>)</td>
155
  </tr>
156
  <tr>
157
  <td class='dup-settings-diag-header' colspan="2">PHP</td>
158
  </tr>
159
  <tr>
160
- <td><?php _e("Version", 'wpduplicator'); ?></td>
161
  <td><?php echo phpversion() ?></td>
162
  </tr>
163
  <tr>
@@ -165,70 +165,70 @@
165
  <td><?php echo PHP_SAPI ?></td>
166
  </tr>
167
  <tr>
168
- <td><?php _e("User", 'wpduplicator'); ?></td>
169
  <td><?php echo DUP_Util::GetCurrentUser(); ?></td>
170
  </tr>
171
  <tr>
172
- <td><a href="http://php.net/manual/en/features.safe-mode.php" target="_blank"><?php _e("Safe Mode", 'wpduplicator'); ?></a></td>
173
  <td>
174
  <?php echo (((strtolower(@ini_get('safe_mode')) == 'on') || (strtolower(@ini_get('safe_mode')) == 'yes') ||
175
  (strtolower(@ini_get('safe_mode')) == 'true') || (ini_get("safe_mode") == 1 )))
176
- ? __('On', 'wpduplicator') : __('Off', 'wpduplicator');
177
  ?>
178
  </td>
179
  </tr>
180
  <tr>
181
- <td><a href="http://www.php.net/manual/en/ini.core.php#ini.memory-limit" target="_blank"><?php _e("Memory Limit", 'wpduplicator'); ?></a></td>
182
  <td><?php echo @ini_get('memory_limit') ?></td>
183
  </tr>
184
  <tr>
185
- <td><?php _e("Memory In Use", 'wpduplicator'); ?></td>
186
  <td><?php echo size_format(@memory_get_usage(TRUE), 2) ?></td>
187
  </tr>
188
  <tr>
189
- <td><a href="http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time" target="_blank"><?php _e("Max Execution Time", 'wpduplicator'); ?></a></td>
190
  <td><?php echo @ini_get( 'max_execution_time' ); ?></td>
191
  </tr>
192
  <tr>
193
- <td><a href="http://us3.php.net/shell_exec" target="_blank"><?php _e("Shell Exec", 'wpduplicator'); ?></a></td>
194
- <td><?php echo (DUP_Util::IsShellExecAvailable()) ? _e("Is Supported", 'wpduplicator') : _e("Not Supported", 'wpduplicator'); ?></td>
195
  </tr>
196
  <tr>
197
- <td><?php _e("Shell Exec Zip", 'wpduplicator'); ?></td>
198
- <td><?php echo (DUP_Util::GetZipPath() != null) ? _e("Is Supported", 'wpduplicator') : _e("Not Supported", 'wpduplicator'); ?></td>
199
  </tr>
200
  <tr>
201
  <td class='dup-settings-diag-header' colspan="2">MySQL</td>
202
  </tr>
203
  <tr>
204
- <td><?php _e("Version", 'wpduplicator'); ?></td>
205
  <td><?php echo $wpdb->db_version() ?></td>
206
  </tr>
207
  <tr>
208
- <td><?php _e("Charset", 'wpduplicator'); ?></td>
209
  <td><?php echo DB_CHARSET ?></td>
210
  </tr>
211
  <tr>
212
- <td><a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_wait_timeout" target="_blank"><?php _e("Wait Timeout", 'wpduplicator'); ?></a></td>
213
  <td><?php echo $dbvar_maxtime ?></td>
214
  </tr>
215
  <tr>
216
- <td style="white-space:nowrap"><a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_allowed_packet" target="_blank"><?php _e("Max Allowed Packets", 'wpduplicator'); ?></a></td>
217
  <td><?php echo $dbvar_maxpacks ?></td>
218
  </tr>
219
  <tr>
220
- <td><a href="http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html" target="_blank"><?php _e("msyqldump Path", 'wpduplicator'); ?></a></td>
221
  <td><?php echo $mysqlDumpSupport ?></td>
222
  </tr>
223
  <tr>
224
- <td class='dup-settings-diag-header' colspan="2"><?php _e("Server Disk", 'wpduplicator'); ?></td>
225
  </tr>
226
  <tr valign="top">
227
  <td><?php _e('Free space', 'hyper-cache'); ?></td>
228
  <td><?php echo $perc;?>% -- <?php echo DUP_Util::ByteSize($space_free);?> from <?php echo DUP_Util::ByteSize($space);?><br/>
229
  <small>
230
- <?php _e("Note: This value is the physical servers hard-drive allocation.", 'wpduplicator'); ?> <br/>
231
- <?php _e("On shared hosts check your control panel for the 'TRUE' disk space quota value.", 'wpduplicator'); ?>
232
  </small>
233
  </td>
234
  </tr>
@@ -244,12 +244,12 @@
244
  <div class="dup-box">
245
  <div class="dup-box-title">
246
  <i class="fa fa-th-list"></i>
247
- <?php _e("Stored Data", 'wpduplicator'); ?>
248
  <div class="dup-box-arrow"></div>
249
  </div>
250
  <div class="dup-box-panel" id="dup-settings-diag-opts-panel" style="<?php echo $ui_css_opts_panel?>">
251
  <div style="padding:0px 20px 0px 25px">
252
- <h3 class="title" style="margin-left:-15px"><?php _e("Options Values", 'wpduplicator') ?> </h3>
253
 
254
  <table class="widefat" cellspacing="0">
255
  <tr>
@@ -282,7 +282,7 @@
282
  <div class="dup-box">
283
  <div class="dup-box-title">
284
  <i class="fa fa-info-circle"></i>
285
- <?php _e("PHP Information", 'wpduplicator'); ?>
286
  <div class="dup-box-arrow"></div>
287
  </div>
288
  <div class="dup-box-panel" style="display:none">
15
  $action_response = null;
16
  $dbvar_maxtime = DUP_Util::MysqlVariableValue('wait_timeout');
17
  $dbvar_maxpacks = DUP_Util::MysqlVariableValue('max_allowed_packet');
18
+ $dbvar_maxtime = is_null($dbvar_maxtime) ? __("unknow", 'duplicator') : $dbvar_maxtime;
19
+ $dbvar_maxpacks = is_null($dbvar_maxpacks) ? __("unknow", 'duplicator') : $dbvar_maxpacks;
20
 
21
  $space = @disk_total_space(DUPLICATOR_WPROOTPATH);
22
  $space_free = @disk_free_space(DUPLICATOR_WPROOTPATH);
36
  if (isset($_POST['action'])) {
37
  $action_result = DUP_Settings::DeleteWPOption($_POST['action']);
38
  switch ($_POST['action']) {
39
+ case 'duplicator_settings' : $action_response = __('Plugin settings reset.', 'duplicator'); break;
40
+ case 'duplicator_ui_view_state' : $action_response = __('View state settings reset.', 'duplicator'); break;
41
+ case 'duplicator_package_active' : $action_response = __('Active package settings reset.', 'duplicator'); break;
42
  case 'clear_legacy_data':
43
  DUP_Settings::LegacyClean();
44
+ $action_response = __('Legacy data removed.', 'duplicator');
45
  break;
46
  }
47
  }
78
  <div class="dup-box">
79
  <div class="dup-box-title">
80
  <i class="fa fa-tachometer"></i>
81
+ <?php _e("Server Settings", 'duplicator') ?>
82
  <div class="dup-box-arrow"></div>
83
  </div>
84
  <div class="dup-box-panel" id="dup-settings-diag-srv-panel" style="<?php echo $ui_css_srv_panel?>">
85
  <table class="widefat" cellspacing="0">
86
  <tr>
87
+ <td class='dup-settings-diag-header' colspan="2"><?php _e("General", 'duplicator'); ?></td>
88
  </tr>
89
  <tr>
90
+ <td><?php _e("Duplicator Version", 'duplicator'); ?></td>
91
  <td><?php echo DUPLICATOR_VERSION ?></td>
92
  </tr>
93
  <tr>
94
+ <td><?php _e("Operating System", 'duplicator'); ?></td>
95
  <td><?php echo PHP_OS ?></td>
96
  </tr>
97
  <tr>
98
+ <td><?php _e("Timezone", 'duplicator'); ?></td>
99
  <td><?php echo date_default_timezone_get() ; ?> &nbsp; <small><i>This is a <a href='options-general.php'>WordPress setting</a></i></small></td>
100
  </tr>
101
  <tr>
102
+ <td><?php _e("Server Time", 'duplicator'); ?></td>
103
  <td><?php echo date("Y-m-d H:i:s"); ?></td>
104
  </tr>
105
  <tr>
106
+ <td><?php _e("Web Server", 'duplicator'); ?></td>
107
  <td><?php echo $_SERVER['SERVER_SOFTWARE'] ?></td>
108
  </tr>
109
  <tr>
110
+ <td><?php _e("APC Enabled", 'duplicator'); ?></td>
111
  <td><?php echo DUP_Util::RunAPC() ? 'Yes' : 'No' ?></td>
112
  </tr>
113
  <tr>
114
+ <td><?php _e("Root Path", 'duplicator'); ?></td>
115
  <td><?php echo DUPLICATOR_WPROOTPATH ?></td>
116
  </tr>
117
  <tr>
118
+ <td><?php _e("ABSPATH", 'duplicator'); ?></td>
119
  <td><?php echo ABSPATH ?></td>
120
  </tr>
121
  <tr>
122
+ <td><?php _e("Plugins Path", 'duplicator'); ?></td>
123
  <td><?php echo DUP_Util::SafePath(WP_PLUGIN_DIR) ?></td>
124
  </tr>
125
  <tr>
126
+ <td><?php _e("Loaded PHP INI", 'duplicator'); ?></td>
127
  <td><?php echo php_ini_loaded_file() ;?></td>
128
  </tr>
129
  <tr>
130
+ <td><?php _e("Server IP", 'duplicator'); ?></td>
131
  <td><?php echo $_SERVER['SERVER_ADDR'];?></td>
132
  </tr>
133
  <tr>
134
+ <td><?php _e("Client IP", 'duplicator'); ?></td>
135
  <td><?php echo $client_ip_address;?></td>
136
  </tr>
137
  <tr>
138
  <td class='dup-settings-diag-header' colspan="2">WordPress</td>
139
  </tr>
140
  <tr>
141
+ <td><?php _e("Version", 'duplicator'); ?></td>
142
  <td><?php echo $wp_version ?></td>
143
  </tr>
144
  <tr>
145
+ <td><?php _e("Langugage", 'duplicator'); ?></td>
146
  <td><?php echo get_bloginfo('language') ?></td>
147
  </tr>
148
  <tr>
149
+ <td><?php _e("Charset", 'duplicator'); ?></td>
150
  <td><?php echo get_bloginfo('charset') ?></td>
151
  </tr>
152
  <tr>
153
+ <td><?php _e("Memory Limit ", 'duplicator'); ?></td>
154
+ <td><?php echo WP_MEMORY_LIMIT ?> (<?php _e("Max", 'duplicator'); echo '&nbsp;' . WP_MAX_MEMORY_LIMIT; ?>)</td>
155
  </tr>
156
  <tr>
157
  <td class='dup-settings-diag-header' colspan="2">PHP</td>
158
  </tr>
159
  <tr>
160
+ <td><?php _e("Version", 'duplicator'); ?></td>
161
  <td><?php echo phpversion() ?></td>
162
  </tr>
163
  <tr>
165
  <td><?php echo PHP_SAPI ?></td>
166
  </tr>
167
  <tr>
168
+ <td><?php _e("User", 'duplicator'); ?></td>
169
  <td><?php echo DUP_Util::GetCurrentUser(); ?></td>
170
  </tr>
171
  <tr>
172
+ <td><a href="http://php.net/manual/en/features.safe-mode.php" target="_blank"><?php _e("Safe Mode", 'duplicator'); ?></a></td>
173
  <td>
174
  <?php echo (((strtolower(@ini_get('safe_mode')) == 'on') || (strtolower(@ini_get('safe_mode')) == 'yes') ||
175
  (strtolower(@ini_get('safe_mode')) == 'true') || (ini_get("safe_mode") == 1 )))
176
+ ? __('On', 'duplicator') : __('Off', 'duplicator');
177
  ?>
178
  </td>
179
  </tr>
180
  <tr>
181
+ <td><a href="http://www.php.net/manual/en/ini.core.php#ini.memory-limit" target="_blank"><?php _e("Memory Limit", 'duplicator'); ?></a></td>
182
  <td><?php echo @ini_get('memory_limit') ?></td>
183
  </tr>
184
  <tr>
185
+ <td><?php _e("Memory In Use", 'duplicator'); ?></td>
186
  <td><?php echo size_format(@memory_get_usage(TRUE), 2) ?></td>
187
  </tr>
188
  <tr>
189
+ <td><a href="http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time" target="_blank"><?php _e("Max Execution Time", 'duplicator'); ?></a></td>
190
  <td><?php echo @ini_get( 'max_execution_time' ); ?></td>
191
  </tr>
192
  <tr>
193
+ <td><a href="http://us3.php.net/shell_exec" target="_blank"><?php _e("Shell Exec", 'duplicator'); ?></a></td>
194
+ <td><?php echo (DUP_Util::IsShellExecAvailable()) ? _e("Is Supported", 'duplicator') : _e("Not Supported", 'duplicator'); ?></td>
195
  </tr>
196
  <tr>
197
+ <td><?php _e("Shell Exec Zip", 'duplicator'); ?></td>
198
+ <td><?php echo (DUP_Util::GetZipPath() != null) ? _e("Is Supported", 'duplicator') : _e("Not Supported", 'duplicator'); ?></td>
199
  </tr>
200
  <tr>
201
  <td class='dup-settings-diag-header' colspan="2">MySQL</td>
202
  </tr>
203
  <tr>
204
+ <td><?php _e("Version", 'duplicator'); ?></td>
205
  <td><?php echo $wpdb->db_version() ?></td>
206
  </tr>
207
  <tr>
208
+ <td><?php _e("Charset", 'duplicator'); ?></td>
209
  <td><?php echo DB_CHARSET ?></td>
210
  </tr>
211
  <tr>
212
+ <td><a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_wait_timeout" target="_blank"><?php _e("Wait Timeout", 'duplicator'); ?></a></td>
213
  <td><?php echo $dbvar_maxtime ?></td>
214
  </tr>
215
  <tr>
216
+ <td style="white-space:nowrap"><a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_allowed_packet" target="_blank"><?php _e("Max Allowed Packets", 'duplicator'); ?></a></td>
217
  <td><?php echo $dbvar_maxpacks ?></td>
218
  </tr>
219
  <tr>
220
+ <td><a href="http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html" target="_blank"><?php _e("msyqldump Path", 'duplicator'); ?></a></td>
221
  <td><?php echo $mysqlDumpSupport ?></td>
222
  </tr>
223
  <tr>
224
+ <td class='dup-settings-diag-header' colspan="2"><?php _e("Server Disk", 'duplicator'); ?></td>
225
  </tr>
226
  <tr valign="top">
227
  <td><?php _e('Free space', 'hyper-cache'); ?></td>
228
  <td><?php echo $perc;?>% -- <?php echo DUP_Util::ByteSize($space_free);?> from <?php echo DUP_Util::ByteSize($space);?><br/>
229
  <small>
230
+ <?php _e("Note: This value is the physical servers hard-drive allocation.", 'duplicator'); ?> <br/>
231
+ <?php _e("On shared hosts check your control panel for the 'TRUE' disk space quota value.", 'duplicator'); ?>
232
  </small>
233
  </td>
234
  </tr>
244
  <div class="dup-box">
245
  <div class="dup-box-title">
246
  <i class="fa fa-th-list"></i>
247
+ <?php _e("Stored Data", 'duplicator'); ?>
248
  <div class="dup-box-arrow"></div>
249
  </div>
250
  <div class="dup-box-panel" id="dup-settings-diag-opts-panel" style="<?php echo $ui_css_opts_panel?>">
251
  <div style="padding:0px 20px 0px 25px">
252
+ <h3 class="title" style="margin-left:-15px"><?php _e("Options Values", 'duplicator') ?> </h3>
253
 
254
  <table class="widefat" cellspacing="0">
255
  <tr>
282
  <div class="dup-box">
283
  <div class="dup-box-title">
284
  <i class="fa fa-info-circle"></i>
285
+ <?php _e("PHP Information", 'duplicator'); ?>
286
  <div class="dup-box-arrow"></div>
287
  </div>
288
  <div class="dup-box-panel" style="display:none">
views/tools/logging.php CHANGED
@@ -138,14 +138,14 @@ jQuery(document).ready(function($) {
138
  <input type="hidden" id="auto" name="auto" value="<?php echo ($auto) ? 1 : 0 ?>" />
139
  <?php if (! $logfound) : ?>
140
  <div style="padding:20px">
141
- <h2><?php _e("Log file not found or unreadable", 'wpduplicator') ?>.</h2>
142
 
143
- <?php _e("Try to create a package, since no log files were found in the snapshots directory with the extension *.log", 'wpduplicator') ?>.<br/><br/>
144
 
145
- <?php _e("Reasons for log file not showing", 'wpduplicator') ?>: <br/>
146
- - <?php _e("The web server does not support returning .log file extentions", 'wpduplicator') ?>. <br/>
147
- - <?php _e("The snapshots directory does not have the correct permissions to write files. Try setting the permissions to 755", 'wpduplicator') ?>. <br/>
148
- - <?php _e("The process that PHP runs under does not have enough permissions to create files. Please contact your hosting provider for more details", 'wpduplicator') ?>. <br/>
149
  </div>
150
 
151
  <?php else: ?>
@@ -154,25 +154,25 @@ jQuery(document).ready(function($) {
154
  <tr>
155
  <td id="dup-log-panel-left">
156
  <div class="name"><i class='fa fa-list-alt'></i> <?php echo basename($logurl); ?></div>
157
- <div class="opts"><a href="javascript:void(0)" id="dup-options"><?php _e("Options", 'wpduplicator') ?> <i class="fa fa-angle-double-right"></i></a> &nbsp;</div>
158
  <br style="clear:both" />
159
  <iframe id="dup-log-content" src="<?php echo $logurl ?>" ></iframe>
160
  </td>
161
  <td id="dup-log-panel-right">
162
- <h2><?php _e("Options", 'wpduplicator') ?> </h2>
163
  <div class="dup-opts-items">
164
- <input type="button" class="button" id="dup-refresh" value="<?php _e("Refresh", 'wpduplicator') ?>" /> &nbsp;
165
  <div style="display:inline-block; margin-top:5px">
166
  <input type='checkbox' id="dup-auto-refresh" style="margin-top:1px" />
167
  <label id="dup-auto-refresh-lbl" for="dup-auto-refresh">
168
 
169
- <?php _e("Auto Refresh", 'wpduplicator') ?>
170
  [<div id="dup-refresh-count"></div>]
171
  </label>
172
  </div>
173
  </div>
174
 
175
- <b><?php _e("Last 20 Logs", 'wpduplicator') ?> </b><br/>
176
 
177
  <div class="dup-log-file-list">
178
  <?php
138
  <input type="hidden" id="auto" name="auto" value="<?php echo ($auto) ? 1 : 0 ?>" />
139
  <?php if (! $logfound) : ?>
140
  <div style="padding:20px">
141
+ <h2><?php _e("Log file not found or unreadable", 'duplicator') ?>.</h2>
142
 
143
+ <?php _e("Try to create a package, since no log files were found in the snapshots directory with the extension *.log", 'duplicator') ?>.<br/><br/>
144
 
145
+ <?php _e("Reasons for log file not showing", 'duplicator') ?>: <br/>
146
+ - <?php _e("The web server does not support returning .log file extentions", 'duplicator') ?>. <br/>
147
+ - <?php _e("The snapshots directory does not have the correct permissions to write files. Try setting the permissions to 755", 'duplicator') ?>. <br/>
148
+ - <?php _e("The process that PHP runs under does not have enough permissions to create files. Please contact your hosting provider for more details", 'duplicator') ?>. <br/>
149
  </div>
150
 
151
  <?php else: ?>
154
  <tr>
155
  <td id="dup-log-panel-left">
156
  <div class="name"><i class='fa fa-list-alt'></i> <?php echo basename($logurl); ?></div>
157
+ <div class="opts"><a href="javascript:void(0)" id="dup-options"><?php _e("Options", 'duplicator') ?> <i class="fa fa-angle-double-right"></i></a> &nbsp;</div>
158
  <br style="clear:both" />
159
  <iframe id="dup-log-content" src="<?php echo $logurl ?>" ></iframe>
160
  </td>
161
  <td id="dup-log-panel-right">
162
+ <h2><?php _e("Options", 'duplicator') ?> </h2>
163
  <div class="dup-opts-items">
164
+ <input type="button" class="button" id="dup-refresh" value="<?php _e("Refresh", 'duplicator') ?>" /> &nbsp;
165
  <div style="display:inline-block; margin-top:5px">
166
  <input type='checkbox' id="dup-auto-refresh" style="margin-top:1px" />
167
  <label id="dup-auto-refresh-lbl" for="dup-auto-refresh">
168
 
169
+ <?php _e("Auto Refresh", 'duplicator') ?>
170
  [<div id="dup-refresh-count"></div>]
171
  </label>
172
  </div>
173
  </div>
174
 
175
+ <b><?php _e("Last 20 Logs", 'duplicator') ?> </b><br/>
176
 
177
  <div class="dup-log-file-list">
178
  <?php