Version Description
- New: Revamped how Give handles caching with a new cache API. #1617
- New: The "New User Notification" email is now formatted like other Give emails and is also now filterable. #1623, #1577
- New: Added the "Processing" status into Give core in preparation for future enhancements. #1615
- Tweak: Update WP Session Manager library to the latest version. #1646
- Tweak: Stop echoing shortcodes in favor of returning their output for better WP REST API compatibility. #1614
- Tweak: Improved verbiage for the "Email already in use" notice. #1624
- Tweak: Updated the placeholder address for the "Offline Donations" gateway to an unmailable address. This is in the hopes that folks will better notice and update it to their actual mailing address. #1623
- Fix: Improved mobile responsiveness of the Give donation form modal display mode. #1636
- Fix: Formatting was incorrect for the Danish Kroner. #1632
- Fix: If an add-on doesn't have a license active it now displays plugin update notifications regardless of license status. #1649
- Fix: Ensure that Give core updates run in consecutive order. #1626
Download this release
Release Info
Developer | dlocc |
Plugin | Give – Donation Plugin and Fundraising Platform |
Version | 1.8.7 |
Comparing to | |
See all releases |
Code changes from version 1.8.6 to 1.8.7
- assets/js/frontend/give.all.min.js +1 -1
- assets/js/frontend/give.js +2 -0
- assets/js/frontend/give.min.js +1 -1
- assets/js/plugins/chosen.jquery.js +190 -153
- assets/js/plugins/chosen.jquery.min.js +1 -1
- assets/js/plugins/jquery.flot.orderBars.js +2 -2
- assets/js/plugins/jquery.flot.orderBars.min.js +1 -1
- assets/js/plugins/jquery.payment.js +52 -35
- assets/js/plugins/jquery.payment.min.js +1 -1
- assets/sourcemaps/give-admin.css.map +1 -1
- assets/sourcemaps/give.css.map +1 -1
- give.php +11 -2
- includes/actions.php +56 -8
- includes/admin/EDD_SL_Plugin_Updater.php +5 -5
- includes/admin/add-ons.php +6 -3
- includes/admin/admin-actions.php +2 -2
- includes/admin/class-admin-notices.php +22 -22
- includes/admin/class-api-keys-table.php +10 -4
- includes/admin/class-give-settings.php +1458 -1461
- includes/admin/class-i18n-module.php +4 -4
- includes/admin/customers/customer-actions.php +1 -1
- includes/admin/payments/class-payments-table.php +18 -16
- includes/admin/plugins.php +3 -3
- includes/admin/reporting/class-sales-logs-list-table.php +3 -4
- includes/admin/reporting/export/class-batch-export-customers.php +3 -3
- includes/admin/reporting/graphing.php +7 -5
- includes/admin/reporting/reports.php +2 -2
- includes/admin/reporting/tools/class-give-tools-delete-test-transactions.php +16 -17
- includes/admin/reporting/tools/class-give-tools-recount-income.php +15 -16
- includes/admin/reporting/tools/class-give-tools-reset-stats.php +2 -3
- includes/admin/settings/class-settings-license.php +0 -21
- includes/admin/shortcodes/class-shortcode-button.php +3 -3
- includes/admin/upgrades/upgrade-functions.php +74 -2
- includes/admin/welcome.php +4 -4
- includes/ajax-functions.php +2 -2
- includes/api/class-give-api.php +12 -12
- includes/class-give-cache.php +324 -0
- includes/class-give-customer.php +93 -95
- includes/class-give-license-handler.php +225 -147
- includes/class-give-logging.php +16 -12
- includes/class-give-session.php +4 -0
- includes/formatting.php +2 -6
- includes/gateways/offline-donations.php +9 -7
- includes/install.php +4 -4
- includes/libraries/sessions/class-recursive-arrayaccess.php +83 -6
- includes/libraries/sessions/class-wp-session-utils.php +139 -0
- includes/libraries/sessions/class-wp-session.php +22 -124
- includes/libraries/sessions/wp-session.php +18 -34
- includes/misc-functions.php +63 -31
- includes/payments/actions.php +6 -38
- includes/payments/class-give-payment.php +8 -8
- includes/payments/class-payment-stats.php +9 -8
- includes/payments/functions.php +99 -105
- includes/post-types.php +71 -63
- includes/process-donation.php +16 -13
- includes/shortcodes.php +17 -15
- includes/template-functions.php +0 -10
- includes/user-functions.php +13 -13
- languages/give.pot +195 -198
assets/js/frontend/give.all.min.js
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
{});return t=t||this.corner,i=t.precedance,e=e||this._calculateSize(t),o=[t.x,t.y],i===E&&o.reverse(),s.each(o,function(s,o){var a,c,d;o===N?(a=i===S?D:P,l[a]="50%",l[ht+"-"+a]=-Math.round(e[i===S?0:1]/2)+h):(a=n._parseWidth(t,o,r.tooltip),c=n._parseWidth(t,o,r.content),d=n._parseRadius(t),l[o]=Math.max(-n.border,s?c:h+(d>a?d:-a)))}),l[t[i]]-=e[i===E?0:1],a.css({margin:"",top:"",bottom:"",left:"",right:""}).css(l),l},reposition:function(t,e,s,o){function n(t,e,i,s,o){t===$&&c.precedance===e&&d[s]&&c[i]!==N?c.precedance=c.precedance===E?S:E:t!==$&&d[s]&&(c[e]=c[e]===N?d[s]>0?s:o:c[e]===s?o:s)}function r(t,e,o){c[t]===N?m[ht+"-"+e]=g[t]=a[ht+"-"+e]-d[e]:(h=a[o]!==i?[d[e],-a[e]]:[-d[e],a[e]],(g[t]=Math.max(h[0],h[1]))>h[0]&&(s[e]-=d[e],g[e]=I),m[a[o]!==i?o:e]=g[t])}if(this.enabled){var a,h,l=e.cache,c=this.corner.clone(),d=s.adjusted,p=e.options.position.adjust.method.split(" "),u=p[0],f=p[1]||p[0],g={left:I,top:I,x:0,y:0},m={};this.corner.fixed!==W&&(n(u,E,S,D,F),n(f,S,E,P,B),c.string()===l.corner.string()&&l.cornerTop===d.top&&l.cornerLeft===d.left||this.update(c,I)),a=this.calculate(c),a.right!==i&&(a.left=-a.right),a.bottom!==i&&(a.top=-a.bottom),a.user=this.offset,(g.left=u===$&&!!d.left)&&r(E,D,F),(g.top=f===$&&!!d.top)&&r(S,P,B),this.element.css(m).toggle(!(g.x&&g.y||c.x===N&&g.y||c.y===N&&g.x)),s.left-=a.left.charAt?a.user:u!==$||g.top||!g.left&&!g.top?a.left+this.border:0,s.top-=a.top.charAt?a.user:f!==$||g.left||!g.left&&!g.top?a.top+this.border:0,l.cornerLeft=d.left,l.cornerTop=d.top,l.corner=c.clone()}},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns),this.qtip.elements.tip&&this.qtip.elements.tip.find("*").remove().end().remove()}}),at=V.tip=function(t){return new _(t,t.options.style.tip)},at.initialize="render",at.sanitize=function(t){if(t.style&&"tip"in t.style){var e=t.style.tip;"object"!=typeof e&&(e=t.style.tip={corner:e}),/string|boolean/i.test(typeof e.corner)||(e.corner=W)}},z.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){this.create(),this.qtip.reposition()},"^style.tip.(height|width)$":function(t){this.size=[t.width,t.height],this.update(),this.qtip.reposition()},"^content.title|style.(classes|widget)$":function(){this.update()}},s.extend(W,q.defaults,{style:{tip:{corner:W,mimic:I,width:6,height:6,border:W,offset:0}}});var xt,Ct,qt="qtip-modal",Tt="."+qt;Ct=function(){function t(t){if(s.expr[":"].focusable)return s.expr[":"].focusable;var e,i,o,n=!isNaN(s.attr(t,"tabindex")),r=t.nodeName&&t.nodeName.toLowerCase();return"area"===r?(e=t.parentNode,i=e.name,!(!t.href||!i||"map"!==e.nodeName.toLowerCase())&&(o=s("img[usemap=#"+i+"]")[0],!!o&&o.is(":visible"))):/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||n:n}function i(t){c.length<1&&t.length?t.not("body").blur():c.first().focus()}function o(t){if(h.is(":visible")){var e,o=s(t.target),a=n.tooltip,l=o.closest(G);e=l.length<1?I:parseInt(l[0].style.zIndex,10)>parseInt(a[0].style.zIndex,10),e||o.closest(G)[0]===a[0]||i(o),r=t.target===c[c.length-1]}}var n,r,a,h,l=this,c={};s.extend(l,{init:function(){return h=l.elem=s("<div />",{id:"qtip-overlay",html:"<div></div>",mousedown:function(){return I}}).hide(),s(e.body).bind("focusin"+Tt,o),s(e).bind("keydown"+Tt,function(t){n&&n.options.show.modal.escape&&27===t.keyCode&&n.hide(t)}),h.bind("click"+Tt,function(t){n&&n.options.show.modal.blur&&n.hide(t)}),l},update:function(e){n=e,c=e.options.show.modal.stealfocus!==I?e.tooltip.find("*").filter(function(){return t(this)}):[]},toggle:function(t,o,r){var c=(s(e.body),t.tooltip),d=t.options.show.modal,p=d.effect,u=o?"show":"hide",f=h.is(":visible"),g=s(Tt).filter(":visible:not(:animated)").not(c);return l.update(t),o&&d.stealfocus!==I&&i(s(":focus")),h.toggleClass("blurs",d.blur),o&&h.appendTo(e.body),h.is(":animated")&&f===o&&a!==I||!o&&g.length?l:(h.stop(W,I),s.isFunction(p)?p.call(h,o):p===I?h[u]():h.fadeTo(parseInt(r,10)||90,o?1:0,function(){o||h.hide()}),o||h.queue(function(t){h.css({left:"",top:""}),s(Tt).length||h.detach(),t()}),a=o,n.destroyed&&(n=k),l)}}),l.init()},Ct=new Ct,s.extend(x.prototype,{init:function(t){var e=t.tooltip;return this.options.on?(t.elements.overlay=Ct.elem,e.addClass(qt).css("z-index",q.modal_zindex+s(Tt).length),t._bind(e,["tooltipshow","tooltiphide"],function(t,i,o){var n=t.originalEvent;if(t.target===e[0])if(n&&"tooltiphide"===t.type&&/mouse(leave|enter)/.test(n.type)&&s(n.relatedTarget).closest(Ct.elem[0]).length)try{t.preventDefault()}catch(r){}else(!n||n&&"tooltipsolo"!==n.type)&&this.toggle(t,"tooltipshow"===t.type,o)},this._ns,this),t._bind(e,"tooltipfocus",function(t,i){if(!t.isDefaultPrevented()&&t.target===e[0]){var o=s(Tt),n=q.modal_zindex+o.length,r=parseInt(e[0].style.zIndex,10);Ct.elem[0].style.zIndex=n-1,o.each(function(){this.style.zIndex>r&&(this.style.zIndex-=1)}),o.filter("."+K).qtip("blur",t.originalEvent),e.addClass(K)[0].style.zIndex=n,Ct.update(i);try{t.preventDefault()}catch(a){}}},this._ns,this),void t._bind(e,"tooltiphide",function(t){t.target===e[0]&&s(Tt).filter(":visible").not(e).last().qtip("focus",t)},this._ns,this)):this},toggle:function(t,e,i){return t&&t.isDefaultPrevented()?this:void Ct.toggle(this.qtip,!!e,i)},destroy:function(){this.qtip.tooltip.removeClass(qt),this.qtip._unbind(this.qtip.tooltip,this._ns),Ct.toggle(this.qtip,I),delete this.qtip.elements.overlay}}),xt=V.modal=function(t){return new x(t,t.options.show.modal)},xt.sanitize=function(t){t.show&&("object"!=typeof t.show.modal?t.show.modal={on:!!t.show.modal}:"undefined"==typeof t.show.modal.on&&(t.show.modal.on=W))},q.modal_zindex=q.zindex-200,xt.initialize="render",z.modal={"^show.modal.(on|blur)$":function(){this.destroy(),this.init(),this.qtip.elems.overlay.toggle(this.qtip.tooltip[0].offsetWidth>0)}},s.extend(W,q.defaults,{show:{modal:{on:I,effect:W,blur:W,stealfocus:W,escape:W}}}),V.viewport=function(i,s,o,n,r,a,h){function l(t,e,i,o,n,r,a,h,l){var c=s[n],y=w[t],b=_[t],x=i===$,C=y===n?l:y===r?-l:-l/2,q=b===n?h:b===r?-h:-h/2,T=m[n]+v[n]-(u?0:p[n]),j=T-c,z=c+l-(a===A?f:g)-T,M=C-(w.precedance===t||y===w[e]?q:0)-(b===N?h/2:0);return x?(M=(y===n?1:-1)*C,s[n]+=j>0?j:z>0?-z:0,s[n]=Math.max(-p[n]+v[n],c-M,Math.min(Math.max(-p[n]+v[n]+(a===A?f:g),c+M),s[n],"center"===y?c-C:1e9))):(o*=i===O?2:0,j>0&&(y!==n||z>0)?(s[n]-=M+o,d.invert(t,n)):z>0&&(y!==r||j>0)&&(s[n]-=(y===N?-M:M)+o,d.invert(t,r)),s[n]<m&&-s[n]>z&&(s[n]=c,d=w.clone())),s[n]-c}var c,d,p,u,f,g,m,v,y=o.target,b=i.elements.tooltip,w=o.my,_=o.at,x=o.adjust,C=x.method.split(" "),q=C[0],T=C[1]||C[0],j=o.viewport,z=o.container,M=(i.cache,{left:0,top:0});return j.jquery&&y[0]!==t&&y[0]!==e.body&&"none"!==x.method?(p=z.offset()||M,u="static"===z.css("position"),c="fixed"===b.css("position"),f=j[0]===t?j.width():j.outerWidth(I),g=j[0]===t?j.height():j.outerHeight(I),m={left:c?0:j.scrollLeft(),top:c?0:j.scrollTop()},v=j.offset()||M,"shift"===q&&"shift"===T||(d=w.clone()),M={left:"none"!==q?l(E,S,q,x.x,D,F,A,n,a):0,top:"none"!==T?l(S,E,T,x.y,P,B,L,r,h):0,my:d}):M},V.polys={polygon:function(t,e){var i,s,o,n={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10},adjustable:I},r=0,a=[],h=1,l=1,c=0,d=0;for(r=t.length;r--;)i=[parseInt(t[--r],10),parseInt(t[r+1],10)],i[0]>n.position.right&&(n.position.right=i[0]),i[0]<n.position.left&&(n.position.left=i[0]),i[1]>n.position.bottom&&(n.position.bottom=i[1]),i[1]<n.position.top&&(n.position.top=i[1]),a.push(i);if(s=n.width=Math.abs(n.position.right-n.position.left),o=n.height=Math.abs(n.position.bottom-n.position.top),"c"===e.abbrev())n.position={left:n.position.left+n.width/2,top:n.position.top+n.height/2};else{for(;s>0&&o>0&&h>0&&l>0;)for(s=Math.floor(s/2),o=Math.floor(o/2),e.x===D?h=s:e.x===F?h=n.width-s:h+=Math.floor(s/2),e.y===P?l=o:e.y===B?l=n.height-o:l+=Math.floor(o/2),r=a.length;r--&&!(a.length<2);)c=a[r][0]-n.position.left,d=a[r][1]-n.position.top,(e.x===D&&c>=h||e.x===F&&c<=h||e.x===N&&(c<h||c>n.width-h)||e.y===P&&d>=l||e.y===B&&d<=l||e.y===N&&(d<l||d>n.height-l))&&a.splice(r,1);n.position={left:a[0][0],top:a[0][1]}}return n},rect:function(t,e,i,s){return{width:Math.abs(i-t),height:Math.abs(s-e),position:{left:Math.min(t,i),top:Math.min(e,s)}}},_angles:{tc:1.5,tr:7/4,tl:5/4,bc:.5,br:.25,bl:.75,rc:2,lc:1,c:0},ellipse:function(t,e,i,s,o){var n=V.polys._angles[o.abbrev()],r=0===n?0:i*Math.cos(n*Math.PI),a=s*Math.sin(n*Math.PI);return{width:2*i-Math.abs(r),height:2*s-Math.abs(a),position:{left:t+r,top:e+a},adjustable:I}},circle:function(t,e,i,s){return V.polys.ellipse(t,e,i,i,s)}},V.svg=function(t,i,o){for(var n,r,a,h,l,c,d,p,u,f=(s(e),i[0]),g=s(f.ownerSVGElement),m=f.ownerDocument,v=(parseInt(i.css("stroke-width"),10)||0)/2;!f.getBBox;)f=f.parentNode;if(!f.getBBox||!f.parentNode)return I;switch(f.nodeName){case"ellipse":case"circle":p=V.polys.ellipse(f.cx.baseVal.value,f.cy.baseVal.value,(f.rx||f.r).baseVal.value+v,(f.ry||f.r).baseVal.value+v,o);break;case"line":case"polygon":case"polyline":for(d=f.points||[{x:f.x1.baseVal.value,y:f.y1.baseVal.value},{x:f.x2.baseVal.value,y:f.y2.baseVal.value}],p=[],c=-1,h=d.numberOfItems||d.length;++c<h;)l=d.getItem?d.getItem(c):d[c],p.push.apply(p,[l.x,l.y]);p=V.polys.polygon(p,o);break;default:p=f.getBBox(),p={width:p.width,height:p.height,position:{left:p.x,top:p.y}}}return u=p.position,g=g[0],g.createSVGPoint&&(r=f.getScreenCTM(),d=g.createSVGPoint(),d.x=u.left,d.y=u.top,a=d.matrixTransform(r),u.left=a.x,u.top=a.y),m!==e&&"mouse"!==t.position.target&&(n=s((m.defaultView||m.parentWindow).frameElement).offset(),n&&(u.left+=n.left,u.top+=n.top)),m=s(m),u.left+=m.scrollLeft(),u.top+=m.scrollTop(),p},V.imagemap=function(t,e,i,o){e.jquery||(e=s(e));var n,r,a,h,l,c=(e.attr("shape")||"rect").toLowerCase().replace("poly","polygon"),d=s('img[usemap="#'+e.parent("map").attr("name")+'"]'),p=s.trim(e.attr("coords")),u=p.replace(/,$/,"").split(",");if(!d.length)return I;if("polygon"===c)h=V.polys.polygon(u,i);else{if(!V.polys[c])return I;for(a=-1,l=u.length,r=[];++a<l;)r.push(parseInt(u[a],10));h=V.polys[c].apply(this,r.concat(i))}return n=d.offset(),n.left+=Math.ceil((d.outerWidth(I)-d.width())/2),n.top+=Math.ceil((d.outerHeight(I)-d.height())/2),h.position.left+=n.left,h.position.top+=n.top,h};var jt,zt='<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>';s.extend(C.prototype,{_scroll:function(){var e=this.qtip.elements.overlay;e&&(e[0].style.top=s(t).scrollTop()+"px")},init:function(i){var o=i.tooltip;s("select, object").length<1&&(this.bgiframe=i.elements.bgiframe=s(zt).appendTo(o),i._bind(o,"tooltipmove",this.adjustBGIFrame,this._ns,this)),this.redrawContainer=s("<div/>",{id:R+"-rcontainer"}).appendTo(e.body),i.elements.overlay&&i.elements.overlay.addClass("qtipmodal-ie6fix")&&(i._bind(t,["scroll","resize"],this._scroll,this._ns,this),i._bind(o,["tooltipshow"],this._scroll,this._ns,this)),this.redraw()},adjustBGIFrame:function(){var t,e,i=this.qtip.tooltip,s={height:i.outerHeight(I),width:i.outerWidth(I)},o=this.qtip.plugins.tip,n=this.qtip.elements.tip;e=parseInt(i.css("borderLeftWidth"),10)||0,e={left:-e,top:-e},o&&n&&(t="x"===o.corner.precedance?[A,D]:[L,P],e[t[1]]-=n[t[0]]()),this.bgiframe.css(e).css(s)},redraw:function(){if(this.qtip.rendered<1||this.drawing)return this;var t,e,i,s,o=this.qtip.tooltip,n=this.qtip.options.style,r=this.qtip.options.position.container;return this.qtip.drawing=1,n.height&&o.css(L,n.height),n.width?o.css(A,n.width):(o.css(A,"").appendTo(this.redrawContainer),e=o.width(),e%2<1&&(e+=1),i=o.css("maxWidth")||"",s=o.css("minWidth")||"",t=(i+s).indexOf("%")>-1?r.width()/100:0,i=(i.indexOf("%")>-1?t:1)*parseInt(i,10)||e,s=(s.indexOf("%")>-1?t:1)*parseInt(s,10)||0,e=i+s?Math.min(Math.max(e,s),i):e,o.css(A,Math.round(e)).appendTo(r)),this.drawing=0,this},destroy:function(){this.bgiframe&&this.bgiframe.remove(),this.qtip._unbind([t,this.qtip.tooltip],this._ns)}}),jt=V.ie6=function(t){return 6===st.ie?new C(t):I},jt.initialize="render",z.ie6={"^content|style$":function(){this.redraw()}}})}(window,document);
|
8 |
function give_load_gateway(e,i){var t=jQuery(e).find("#give-payment-mode-select .give-loading-text"),a=jQuery(e).find("#give-amount").val(),n=jQuery(e).find('input[name="give-form-id"]').val();t.fadeIn();var o=jQuery(e).data();1!=o["blockUI.isBlocked"]&&jQuery(e).find("#give_purchase_form_wrap").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),jQuery.post(give_scripts.ajaxurl+"?payment-mode="+i,{action:"give_load_gateway",give_total:a,give_form_id:n,give_payment_mode:i},function(i){jQuery(e).unblock(),jQuery(e).find("#give_purchase_form_wrap").html(i),jQuery(".give-no-js").hide(),jQuery(e).find("#give-payment-mode-select .give-loading-text").fadeOut(),setup_give_tooltips(),jQuery(document).trigger("give_gateway_loaded",[i,jQuery(e).attr("id")])})}function setup_give_tooltips(){jQuery('[data-tooltip!=""]').qtip({content:{attr:"data-tooltip"},style:{classes:"qtip-rounded qtip-tipsy"},position:{my:"bottom center",at:"top center"}}),jQuery.fn.qtip.zindex=2147483641}var give_scripts,give_global_vars;jQuery(document).ready(function(e){setup_give_tooltips(),e(".give-loading-text").hide(),e(document).on("click",".give-checkout-login",function(i){var t=e(this),a=e(this).parents("form"),n=e(a).find('[id^="give-checkout-login-register"] .give-loading-text'),o={action:t.data("action"),form_id:e(a).find('[name="give-form-id"]').val()};return n.show(),e.post(give_scripts.ajaxurl,o,function(i){e(a).find("[id^=give-checkout-login-register]").html(i),e(a).find(".give-submit-button-wrap").hide()}).done(function(){n.hide(),give_fl_trigger(),setup_give_tooltips()}),!1}),e(document).on("click",".give-checkout-register-cancel",function(i){i.preventDefault();var t=e(this),a=e(this).parents("form"),n={action:t.data("action"),form_id:e(a).find('[name="give-form-id"]').val()};e.post(give_scripts.ajaxurl,n,function(i){e(a).find("[id^=give-checkout-login-register]").html(e.parseJSON(i.fields)),e(a).find(".give-submit-button-wrap").show()}).done(function(){give_fl_trigger(),setup_give_tooltips()})}),e(document).on("click","[id^=give-login-fields] input[type=submit]",function(i){i.preventDefault();var t=e(this).val(),a=e(this).parents("form");e(this).val(give_global_vars.purchase_loading),a.find("[id^=give-login-fields] .give-loading-animation").fadeIn();var n={action:"give_process_donation_login",give_ajax:1,give_user_login:a.find("[name=give_user_login]").val(),give_user_pass:a.find("[name=give_user_pass]").val()};e.post(give_global_vars.ajaxurl,n,function(i){"success"==e.trim(i)?(a.find(".give_errors").remove(),give_load_gateway(a,a.find(".give-gateway-option-selected input").val())):(a.find("[id^=give-login-fields] input[type=submit]").val(t),a.find(".give-loading-animation").fadeOut(),a.find(".give_errors").remove(),a.find("[id^=give-user-login-submit]").before(i))})}),e("select#give-gateway, input.give-gateway").on("change",function(i){i.preventDefault();var t=e(this).val();return"0"==t?(console.log("There was a problem loading the selected gateway"),!1):(give_load_gateway(e(this).parents("form"),t),!1)}),e("body").on("click touchend",'form.give-form input[name="give-purchase"].give-submit',function(i){var t=e(this).parents("form.give-form"),a=t.find('input[type="submit"].give-submit + .give-loading-animation');a.fadeIn();var n=t.get(0);if("function"!=typeof n.checkValidity||n.checkValidity()!==!1||(a.fadeOut(),(navigator.userAgent.indexOf("Safari")!=-1&&navigator.userAgent.indexOf("Chrome")==-1)!=!1)){i.preventDefault();var o=e(this).val();e(this).val(give_global_vars.purchase_loading),e.post(give_global_vars.ajaxurl,t.serialize()+"&action=give_process_donation&give_ajax=true",function(i){"success"==e.trim(i)?(t.find(".give_errors").remove(),e(n).submit(),t.trigger("give_form_validation_passed")):(t.find('input[type="submit"].give-submit').val(o),a.fadeOut(),t.find(".give_errors").remove(),t.find('input[type="submit"].give-submit').before(i))})}})});
|
9 |
var give_scripts,give_global_vars;jQuery(function(e){function a(){var a=e(this),i=a.parents("form");if("card_state"!=a.attr("id")){i.find("#card_state").empty().append('<option value="1">'+give_global_vars.general_loading+"</option>").prop("disabled",!0);var t={action:"give_get_states",country:a.val(),field_name:"card_state"};e.ajax({type:"POST",data:t,url:give_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(e){if("nostates"==e){var a='<input type="text" id="card_state" name="card_state" class="cart-state give-input required" value=""/>';i.find('input[name="card_state"], select[name="card_state"]').replaceWith(a)}else i.find('input[name="card_state"], select[name="card_state"]').replaceWith(e);v.trigger("give_checkout_billing_address_updated",[e,i.attr("id")])}}).fail(function(e){window.console&&window.console.log&&console.log(e)})}return!1}function i(){give_form=e("form.give-form"),give_form.each(function(){var a=e(this).find(".card-number"),i=e(this).find(".card-cvc"),t=e(this).find(".card-expiry");return 0!==a.length&&(a.payment("formatCardNumber"),i.payment("formatCardCVC"),void t.payment("formatCardExpiry"))})}function t(e,a){return"after"==give_global_vars.currency_pos&&(a.format="%v%s"),accounting.formatMoney(e,a).trim()}function n(e){return Math.abs(parseFloat(accounting.unformat(e,give_global_vars.decimal_separator)))}function o(e){var a={symbol:"",decimal:give_global_vars.decimal_separator,thousand:give_global_vars.thousands_separator,precision:give_global_vars.number_decimals};return accounting.formatMoney(e,a)}function r(a){var i=[];return a.hasClass("give-form-type-multi")?(e.each(a.find(".give-donation-levels-wrap [data-price-id] "),function(e,a){a=a instanceof jQuery?a:jQuery(a),i.push({price_id:a.data("price-id"),amount:n(a.val())})}),i):i}function d(a){var i=a.parents("form"),t=a.val(),o=a.data("price-id");return o||(o=a.find("option:selected").data("price-id")),"custom"===t?(i.find(".give-amount-top").val("").focus(),!1):(i.find(".give-amount-top").val(t),i.find("span.give-amount-top").text(t),e(".give-donation-amount .give-text-input",i).data("amount",n(i.find(".give-final-total-amount").data("total"))),i.find(".give-donation-amount .give-text-input").trigger("blur",[i,t,o]),void e(document).trigger("give_donation_value_updated",[i,t,o]))}function l(){var a=s("form-id"),i=s("payment-mode");if(!a||!i)return!1;var t=e("body").find("#give-form-"+a+"-wrap"),n=t.find("form.give-form"),o=t.hasClass("give-display-modal"),r=t.hasClass("give-display-reveal");n.find("#give-gateway-radio-list label").removeClass("give-gateway-option-selected"),n.find("input[name=payment-mode][value="+i+"]").prop("checked",!0).parent().addClass("give-gateway-option-selected");var l=s("level-id"),v=n.find('*[data-price-id="'+l+'"]');v.length>0&&d(v),o?give_open_form_modal(t,n):r&&(n.find(".give-btn-reveal").hide(),n.find("#give-payment-mode-select, #give_purchase_form_wrap").slideDown())}function s(e,a){a||(a=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var i=new RegExp("[?&]"+e+"(=([^&#]*)|&|#|$)"),t=i.exec(a);return t?t[2]?decodeURIComponent(t[2].replace(/\+/g," ")):"":null}var v=e(document);v.on("change","#give_cc_address input.card_state, #give_cc_address select",a),i(),v.on("give_gateway_loaded",function(){i()}),e.fn.toggleError=function(e){return this.toggleClass("error",e),this.toggleClass("valid",!e),this},v.on("keyup change",".give-form .card-number, .give-form .card-cvc, .give-form .card-expiry",function(){var a=e(this),i=a.parents("form.give-form"),t=a.attr("id"),n=i.find(".card-number"),o=i.find(".card-cvc"),r=i.find(".card-expiry"),d=e.payment.cardType(n.val());if(t.indexOf("card_number")>-1){var l=i.find(".card-type");null===d?(l.removeClass().addClass("off card-type"),a.removeClass("valid").addClass("error")):l.removeClass().addClass("card-type "+d),n.toggleError(!e.payment.validateCardNumber(n.val()))}if(t.indexOf("card_cvc")>-1&&o.toggleError(!e.payment.validateCardCVC(o.val(),d)),t.indexOf("card_expiry")>-1){r.toggleError(!e.payment.validateCardExpiry(r.payment("cardExpiryVal")));var s=r.payment("cardExpiryVal");i.find(".card-expiry-month").val(s.month),i.find(".card-expiry-year").val(s.year)}}),v.on("submit","#give_payment_mode",function(){var a=e("#give-gateway option:selected").val();if(0==a)return alert(give_global_vars.no_gateway),!1}),v.on("click","#give-payment-mode-select input",function(){var a=e(this).parents("form"),i=e("#give-payment-mode-select li"),t=e('#give-payment-mode-select li.give-gateway-option-selected input[name="payment-mode"]').val(),n="";i.removeClass("give-gateway-option-selected"),i.prop("checked",!1),e(this).prop("checked",!0),e(this).parent().addClass("give-gateway-option-selected"),n=e('#give-payment-mode-select li.give-gateway-option-selected input[name="payment-mode"]').val(),a.attr("action",a.attr("action").replace("payment-mode="+t,"payment-mode="+n))}),v.on("focus",".give-donation-amount .give-text-input",function(a){var i=e(this).parents("form");e(this).removeClass("invalid-amount");var t=i.find(".give-final-total-amount").data("total");e(this).data("amount",n(t)),e(this).parent(".give-donation-amount").addClass("give-custom-amount-focus-in"),i.find(".give-default-level, .give-radio-input").removeClass("give-default-level"),i.find(".give-btn-level-custom").addClass("give-default-level"),i.find(".give-radio-input").prop("checked",!1),i.find(".give-radio-input.give-radio-level-custom").prop("checked",!0),i.find(".give-select-level").prop("selected",!1),i.find(".give-select-level .give-donation-level-custom").prop("selected",!0)}),v.on("blur",".give-donation-amount .give-text-input",function(a,i,d,l){var s=void 0!=i?i:e(this).closest("form"),v=e(this).data("amount"),c=void 0!=d?d:e(this).val(),g=s.find('input[name="give-form-minimum"]'),m=n(g.val()),u=0==c?m:n(c),p=r(e(this).parents("form")),f="";l=void 0!=l?l:-1;var _={symbol:"",decimal:give_global_vars.decimal_separator,thousand:give_global_vars.thousands_separator,precision:give_global_vars.number_decimals},h=t(u,_);if(e(this).val(h),!p.length||-1<l||(e.each(p,function(e,a){if(a.amount===u)return l=a.price_id,!1}),!(-1<l)&&m<=u&&(l="custom")),(u<m||u<1)&&-1===l){e(this).addClass("give-invalid-amount"),_.symbol=give_global_vars.currency_sign,f=give_global_vars.bad_minimum+" "+t(m,_),s.find(".give-submit").prop("disabled",!0);var y=s.find(".give-invalid-minimum");if(0===y.length){var b=e('<div class="give_error give-invalid-minimum">'+f+"</div>").hide();b.insertBefore(s.find(".give-total-wrap")).show()}}else e(this).removeClass("give-invalid-amount"),s.find(".give-invalid-minimum").slideUp(300,function(){e(this).remove()}),s.find(".give-submit").prop("disabled",!1);if(v!==u&&(_.symbol=give_global_vars.currency_sign,s.find(".give-final-total-amount").data("total",u).text(t(u,_))),-1!==l)switch(e('input[name="give-price-id"]',s).val(l),s.find(".give-amount-hidden").val(o(u)),s.find(".give-default-level").removeClass("give-default-level"),!0){case!!s.find(".give-radio-input").length:s.find(".give-radio-input").prop("checked",!1),s.find('.give-radio-input[data-price-id="'+l+'"]').prop("checked",!0).addClass("give-default-level");break;case!!s.find("button.give-donation-level-btn").length:s.find("button.give-donation-level-btn").blur(),s.find('button.give-donation-level-btn[data-price-id="'+l+'"]').focus().addClass("give-default-level");break;case!!s.find("select.give-select-level").length:s.find("select.give-select-level option").prop("selected",!1),s.find('select.give-select-level option[data-price-id="'+l+'"]').prop("selected",!0).addClass("give-default-level")}e(this).parent(".give-donation-amount").removeClass("give-custom-amount-focus-in")}),v.on("click touchend",".give-donation-level-btn",function(a){a.preventDefault(),d(e(this))}),v.on("click touchend",".give-radio-input-level",function(a){d(e(this))}),v.on("change",".give-select-level",function(a){d(e(this))}),l(),v.on("click",".give_terms_links",function(a){a.preventDefault();var i=e(this).closest("fieldset");return e("[class^=give_terms-]",i).slideToggle(),e("a.give_terms_links",i).toggle(),!1})});
|
10 |
-
function give_open_form_modal(e,t){var n="#give_purchase_form_wrap, #give-payment-mode-select, .mfp-close, .give-hidden";jQuery.magnificPopup.open({mainClass:give_global_vars.magnific_options.main_class,closeOnBgClick:give_global_vars.magnific_options.close_on_bg_click,items:{src:t,type:"inline"},callbacks:{beforeOpen:function(){if(e.hasClass("give-display-button-only")&&!t.data("content")){var n=jQuery(".give-form-content-wrap",e),i=jQuery(".give-form-title",e),r=jQuery(".give-goal-progress",e),a=jQuery(">.give_error",e),
|
7 |
{});return t=t||this.corner,i=t.precedance,e=e||this._calculateSize(t),o=[t.x,t.y],i===E&&o.reverse(),s.each(o,function(s,o){var a,c,d;o===N?(a=i===S?D:P,l[a]="50%",l[ht+"-"+a]=-Math.round(e[i===S?0:1]/2)+h):(a=n._parseWidth(t,o,r.tooltip),c=n._parseWidth(t,o,r.content),d=n._parseRadius(t),l[o]=Math.max(-n.border,s?c:h+(d>a?d:-a)))}),l[t[i]]-=e[i===E?0:1],a.css({margin:"",top:"",bottom:"",left:"",right:""}).css(l),l},reposition:function(t,e,s,o){function n(t,e,i,s,o){t===$&&c.precedance===e&&d[s]&&c[i]!==N?c.precedance=c.precedance===E?S:E:t!==$&&d[s]&&(c[e]=c[e]===N?d[s]>0?s:o:c[e]===s?o:s)}function r(t,e,o){c[t]===N?m[ht+"-"+e]=g[t]=a[ht+"-"+e]-d[e]:(h=a[o]!==i?[d[e],-a[e]]:[-d[e],a[e]],(g[t]=Math.max(h[0],h[1]))>h[0]&&(s[e]-=d[e],g[e]=I),m[a[o]!==i?o:e]=g[t])}if(this.enabled){var a,h,l=e.cache,c=this.corner.clone(),d=s.adjusted,p=e.options.position.adjust.method.split(" "),u=p[0],f=p[1]||p[0],g={left:I,top:I,x:0,y:0},m={};this.corner.fixed!==W&&(n(u,E,S,D,F),n(f,S,E,P,B),c.string()===l.corner.string()&&l.cornerTop===d.top&&l.cornerLeft===d.left||this.update(c,I)),a=this.calculate(c),a.right!==i&&(a.left=-a.right),a.bottom!==i&&(a.top=-a.bottom),a.user=this.offset,(g.left=u===$&&!!d.left)&&r(E,D,F),(g.top=f===$&&!!d.top)&&r(S,P,B),this.element.css(m).toggle(!(g.x&&g.y||c.x===N&&g.y||c.y===N&&g.x)),s.left-=a.left.charAt?a.user:u!==$||g.top||!g.left&&!g.top?a.left+this.border:0,s.top-=a.top.charAt?a.user:f!==$||g.left||!g.left&&!g.top?a.top+this.border:0,l.cornerLeft=d.left,l.cornerTop=d.top,l.corner=c.clone()}},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns),this.qtip.elements.tip&&this.qtip.elements.tip.find("*").remove().end().remove()}}),at=V.tip=function(t){return new _(t,t.options.style.tip)},at.initialize="render",at.sanitize=function(t){if(t.style&&"tip"in t.style){var e=t.style.tip;"object"!=typeof e&&(e=t.style.tip={corner:e}),/string|boolean/i.test(typeof e.corner)||(e.corner=W)}},z.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){this.create(),this.qtip.reposition()},"^style.tip.(height|width)$":function(t){this.size=[t.width,t.height],this.update(),this.qtip.reposition()},"^content.title|style.(classes|widget)$":function(){this.update()}},s.extend(W,q.defaults,{style:{tip:{corner:W,mimic:I,width:6,height:6,border:W,offset:0}}});var xt,Ct,qt="qtip-modal",Tt="."+qt;Ct=function(){function t(t){if(s.expr[":"].focusable)return s.expr[":"].focusable;var e,i,o,n=!isNaN(s.attr(t,"tabindex")),r=t.nodeName&&t.nodeName.toLowerCase();return"area"===r?(e=t.parentNode,i=e.name,!(!t.href||!i||"map"!==e.nodeName.toLowerCase())&&(o=s("img[usemap=#"+i+"]")[0],!!o&&o.is(":visible"))):/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||n:n}function i(t){c.length<1&&t.length?t.not("body").blur():c.first().focus()}function o(t){if(h.is(":visible")){var e,o=s(t.target),a=n.tooltip,l=o.closest(G);e=l.length<1?I:parseInt(l[0].style.zIndex,10)>parseInt(a[0].style.zIndex,10),e||o.closest(G)[0]===a[0]||i(o),r=t.target===c[c.length-1]}}var n,r,a,h,l=this,c={};s.extend(l,{init:function(){return h=l.elem=s("<div />",{id:"qtip-overlay",html:"<div></div>",mousedown:function(){return I}}).hide(),s(e.body).bind("focusin"+Tt,o),s(e).bind("keydown"+Tt,function(t){n&&n.options.show.modal.escape&&27===t.keyCode&&n.hide(t)}),h.bind("click"+Tt,function(t){n&&n.options.show.modal.blur&&n.hide(t)}),l},update:function(e){n=e,c=e.options.show.modal.stealfocus!==I?e.tooltip.find("*").filter(function(){return t(this)}):[]},toggle:function(t,o,r){var c=(s(e.body),t.tooltip),d=t.options.show.modal,p=d.effect,u=o?"show":"hide",f=h.is(":visible"),g=s(Tt).filter(":visible:not(:animated)").not(c);return l.update(t),o&&d.stealfocus!==I&&i(s(":focus")),h.toggleClass("blurs",d.blur),o&&h.appendTo(e.body),h.is(":animated")&&f===o&&a!==I||!o&&g.length?l:(h.stop(W,I),s.isFunction(p)?p.call(h,o):p===I?h[u]():h.fadeTo(parseInt(r,10)||90,o?1:0,function(){o||h.hide()}),o||h.queue(function(t){h.css({left:"",top:""}),s(Tt).length||h.detach(),t()}),a=o,n.destroyed&&(n=k),l)}}),l.init()},Ct=new Ct,s.extend(x.prototype,{init:function(t){var e=t.tooltip;return this.options.on?(t.elements.overlay=Ct.elem,e.addClass(qt).css("z-index",q.modal_zindex+s(Tt).length),t._bind(e,["tooltipshow","tooltiphide"],function(t,i,o){var n=t.originalEvent;if(t.target===e[0])if(n&&"tooltiphide"===t.type&&/mouse(leave|enter)/.test(n.type)&&s(n.relatedTarget).closest(Ct.elem[0]).length)try{t.preventDefault()}catch(r){}else(!n||n&&"tooltipsolo"!==n.type)&&this.toggle(t,"tooltipshow"===t.type,o)},this._ns,this),t._bind(e,"tooltipfocus",function(t,i){if(!t.isDefaultPrevented()&&t.target===e[0]){var o=s(Tt),n=q.modal_zindex+o.length,r=parseInt(e[0].style.zIndex,10);Ct.elem[0].style.zIndex=n-1,o.each(function(){this.style.zIndex>r&&(this.style.zIndex-=1)}),o.filter("."+K).qtip("blur",t.originalEvent),e.addClass(K)[0].style.zIndex=n,Ct.update(i);try{t.preventDefault()}catch(a){}}},this._ns,this),void t._bind(e,"tooltiphide",function(t){t.target===e[0]&&s(Tt).filter(":visible").not(e).last().qtip("focus",t)},this._ns,this)):this},toggle:function(t,e,i){return t&&t.isDefaultPrevented()?this:void Ct.toggle(this.qtip,!!e,i)},destroy:function(){this.qtip.tooltip.removeClass(qt),this.qtip._unbind(this.qtip.tooltip,this._ns),Ct.toggle(this.qtip,I),delete this.qtip.elements.overlay}}),xt=V.modal=function(t){return new x(t,t.options.show.modal)},xt.sanitize=function(t){t.show&&("object"!=typeof t.show.modal?t.show.modal={on:!!t.show.modal}:"undefined"==typeof t.show.modal.on&&(t.show.modal.on=W))},q.modal_zindex=q.zindex-200,xt.initialize="render",z.modal={"^show.modal.(on|blur)$":function(){this.destroy(),this.init(),this.qtip.elems.overlay.toggle(this.qtip.tooltip[0].offsetWidth>0)}},s.extend(W,q.defaults,{show:{modal:{on:I,effect:W,blur:W,stealfocus:W,escape:W}}}),V.viewport=function(i,s,o,n,r,a,h){function l(t,e,i,o,n,r,a,h,l){var c=s[n],y=w[t],b=_[t],x=i===$,C=y===n?l:y===r?-l:-l/2,q=b===n?h:b===r?-h:-h/2,T=m[n]+v[n]-(u?0:p[n]),j=T-c,z=c+l-(a===A?f:g)-T,M=C-(w.precedance===t||y===w[e]?q:0)-(b===N?h/2:0);return x?(M=(y===n?1:-1)*C,s[n]+=j>0?j:z>0?-z:0,s[n]=Math.max(-p[n]+v[n],c-M,Math.min(Math.max(-p[n]+v[n]+(a===A?f:g),c+M),s[n],"center"===y?c-C:1e9))):(o*=i===O?2:0,j>0&&(y!==n||z>0)?(s[n]-=M+o,d.invert(t,n)):z>0&&(y!==r||j>0)&&(s[n]-=(y===N?-M:M)+o,d.invert(t,r)),s[n]<m&&-s[n]>z&&(s[n]=c,d=w.clone())),s[n]-c}var c,d,p,u,f,g,m,v,y=o.target,b=i.elements.tooltip,w=o.my,_=o.at,x=o.adjust,C=x.method.split(" "),q=C[0],T=C[1]||C[0],j=o.viewport,z=o.container,M=(i.cache,{left:0,top:0});return j.jquery&&y[0]!==t&&y[0]!==e.body&&"none"!==x.method?(p=z.offset()||M,u="static"===z.css("position"),c="fixed"===b.css("position"),f=j[0]===t?j.width():j.outerWidth(I),g=j[0]===t?j.height():j.outerHeight(I),m={left:c?0:j.scrollLeft(),top:c?0:j.scrollTop()},v=j.offset()||M,"shift"===q&&"shift"===T||(d=w.clone()),M={left:"none"!==q?l(E,S,q,x.x,D,F,A,n,a):0,top:"none"!==T?l(S,E,T,x.y,P,B,L,r,h):0,my:d}):M},V.polys={polygon:function(t,e){var i,s,o,n={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10},adjustable:I},r=0,a=[],h=1,l=1,c=0,d=0;for(r=t.length;r--;)i=[parseInt(t[--r],10),parseInt(t[r+1],10)],i[0]>n.position.right&&(n.position.right=i[0]),i[0]<n.position.left&&(n.position.left=i[0]),i[1]>n.position.bottom&&(n.position.bottom=i[1]),i[1]<n.position.top&&(n.position.top=i[1]),a.push(i);if(s=n.width=Math.abs(n.position.right-n.position.left),o=n.height=Math.abs(n.position.bottom-n.position.top),"c"===e.abbrev())n.position={left:n.position.left+n.width/2,top:n.position.top+n.height/2};else{for(;s>0&&o>0&&h>0&&l>0;)for(s=Math.floor(s/2),o=Math.floor(o/2),e.x===D?h=s:e.x===F?h=n.width-s:h+=Math.floor(s/2),e.y===P?l=o:e.y===B?l=n.height-o:l+=Math.floor(o/2),r=a.length;r--&&!(a.length<2);)c=a[r][0]-n.position.left,d=a[r][1]-n.position.top,(e.x===D&&c>=h||e.x===F&&c<=h||e.x===N&&(c<h||c>n.width-h)||e.y===P&&d>=l||e.y===B&&d<=l||e.y===N&&(d<l||d>n.height-l))&&a.splice(r,1);n.position={left:a[0][0],top:a[0][1]}}return n},rect:function(t,e,i,s){return{width:Math.abs(i-t),height:Math.abs(s-e),position:{left:Math.min(t,i),top:Math.min(e,s)}}},_angles:{tc:1.5,tr:7/4,tl:5/4,bc:.5,br:.25,bl:.75,rc:2,lc:1,c:0},ellipse:function(t,e,i,s,o){var n=V.polys._angles[o.abbrev()],r=0===n?0:i*Math.cos(n*Math.PI),a=s*Math.sin(n*Math.PI);return{width:2*i-Math.abs(r),height:2*s-Math.abs(a),position:{left:t+r,top:e+a},adjustable:I}},circle:function(t,e,i,s){return V.polys.ellipse(t,e,i,i,s)}},V.svg=function(t,i,o){for(var n,r,a,h,l,c,d,p,u,f=(s(e),i[0]),g=s(f.ownerSVGElement),m=f.ownerDocument,v=(parseInt(i.css("stroke-width"),10)||0)/2;!f.getBBox;)f=f.parentNode;if(!f.getBBox||!f.parentNode)return I;switch(f.nodeName){case"ellipse":case"circle":p=V.polys.ellipse(f.cx.baseVal.value,f.cy.baseVal.value,(f.rx||f.r).baseVal.value+v,(f.ry||f.r).baseVal.value+v,o);break;case"line":case"polygon":case"polyline":for(d=f.points||[{x:f.x1.baseVal.value,y:f.y1.baseVal.value},{x:f.x2.baseVal.value,y:f.y2.baseVal.value}],p=[],c=-1,h=d.numberOfItems||d.length;++c<h;)l=d.getItem?d.getItem(c):d[c],p.push.apply(p,[l.x,l.y]);p=V.polys.polygon(p,o);break;default:p=f.getBBox(),p={width:p.width,height:p.height,position:{left:p.x,top:p.y}}}return u=p.position,g=g[0],g.createSVGPoint&&(r=f.getScreenCTM(),d=g.createSVGPoint(),d.x=u.left,d.y=u.top,a=d.matrixTransform(r),u.left=a.x,u.top=a.y),m!==e&&"mouse"!==t.position.target&&(n=s((m.defaultView||m.parentWindow).frameElement).offset(),n&&(u.left+=n.left,u.top+=n.top)),m=s(m),u.left+=m.scrollLeft(),u.top+=m.scrollTop(),p},V.imagemap=function(t,e,i,o){e.jquery||(e=s(e));var n,r,a,h,l,c=(e.attr("shape")||"rect").toLowerCase().replace("poly","polygon"),d=s('img[usemap="#'+e.parent("map").attr("name")+'"]'),p=s.trim(e.attr("coords")),u=p.replace(/,$/,"").split(",");if(!d.length)return I;if("polygon"===c)h=V.polys.polygon(u,i);else{if(!V.polys[c])return I;for(a=-1,l=u.length,r=[];++a<l;)r.push(parseInt(u[a],10));h=V.polys[c].apply(this,r.concat(i))}return n=d.offset(),n.left+=Math.ceil((d.outerWidth(I)-d.width())/2),n.top+=Math.ceil((d.outerHeight(I)-d.height())/2),h.position.left+=n.left,h.position.top+=n.top,h};var jt,zt='<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>';s.extend(C.prototype,{_scroll:function(){var e=this.qtip.elements.overlay;e&&(e[0].style.top=s(t).scrollTop()+"px")},init:function(i){var o=i.tooltip;s("select, object").length<1&&(this.bgiframe=i.elements.bgiframe=s(zt).appendTo(o),i._bind(o,"tooltipmove",this.adjustBGIFrame,this._ns,this)),this.redrawContainer=s("<div/>",{id:R+"-rcontainer"}).appendTo(e.body),i.elements.overlay&&i.elements.overlay.addClass("qtipmodal-ie6fix")&&(i._bind(t,["scroll","resize"],this._scroll,this._ns,this),i._bind(o,["tooltipshow"],this._scroll,this._ns,this)),this.redraw()},adjustBGIFrame:function(){var t,e,i=this.qtip.tooltip,s={height:i.outerHeight(I),width:i.outerWidth(I)},o=this.qtip.plugins.tip,n=this.qtip.elements.tip;e=parseInt(i.css("borderLeftWidth"),10)||0,e={left:-e,top:-e},o&&n&&(t="x"===o.corner.precedance?[A,D]:[L,P],e[t[1]]-=n[t[0]]()),this.bgiframe.css(e).css(s)},redraw:function(){if(this.qtip.rendered<1||this.drawing)return this;var t,e,i,s,o=this.qtip.tooltip,n=this.qtip.options.style,r=this.qtip.options.position.container;return this.qtip.drawing=1,n.height&&o.css(L,n.height),n.width?o.css(A,n.width):(o.css(A,"").appendTo(this.redrawContainer),e=o.width(),e%2<1&&(e+=1),i=o.css("maxWidth")||"",s=o.css("minWidth")||"",t=(i+s).indexOf("%")>-1?r.width()/100:0,i=(i.indexOf("%")>-1?t:1)*parseInt(i,10)||e,s=(s.indexOf("%")>-1?t:1)*parseInt(s,10)||0,e=i+s?Math.min(Math.max(e,s),i):e,o.css(A,Math.round(e)).appendTo(r)),this.drawing=0,this},destroy:function(){this.bgiframe&&this.bgiframe.remove(),this.qtip._unbind([t,this.qtip.tooltip],this._ns)}}),jt=V.ie6=function(t){return 6===st.ie?new C(t):I},jt.initialize="render",z.ie6={"^content|style$":function(){this.redraw()}}})}(window,document);
|
8 |
function give_load_gateway(e,i){var t=jQuery(e).find("#give-payment-mode-select .give-loading-text"),a=jQuery(e).find("#give-amount").val(),n=jQuery(e).find('input[name="give-form-id"]').val();t.fadeIn();var o=jQuery(e).data();1!=o["blockUI.isBlocked"]&&jQuery(e).find("#give_purchase_form_wrap").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),jQuery.post(give_scripts.ajaxurl+"?payment-mode="+i,{action:"give_load_gateway",give_total:a,give_form_id:n,give_payment_mode:i},function(i){jQuery(e).unblock(),jQuery(e).find("#give_purchase_form_wrap").html(i),jQuery(".give-no-js").hide(),jQuery(e).find("#give-payment-mode-select .give-loading-text").fadeOut(),setup_give_tooltips(),jQuery(document).trigger("give_gateway_loaded",[i,jQuery(e).attr("id")])})}function setup_give_tooltips(){jQuery('[data-tooltip!=""]').qtip({content:{attr:"data-tooltip"},style:{classes:"qtip-rounded qtip-tipsy"},position:{my:"bottom center",at:"top center"}}),jQuery.fn.qtip.zindex=2147483641}var give_scripts,give_global_vars;jQuery(document).ready(function(e){setup_give_tooltips(),e(".give-loading-text").hide(),e(document).on("click",".give-checkout-login",function(i){var t=e(this),a=e(this).parents("form"),n=e(a).find('[id^="give-checkout-login-register"] .give-loading-text'),o={action:t.data("action"),form_id:e(a).find('[name="give-form-id"]').val()};return n.show(),e.post(give_scripts.ajaxurl,o,function(i){e(a).find("[id^=give-checkout-login-register]").html(i),e(a).find(".give-submit-button-wrap").hide()}).done(function(){n.hide(),give_fl_trigger(),setup_give_tooltips()}),!1}),e(document).on("click",".give-checkout-register-cancel",function(i){i.preventDefault();var t=e(this),a=e(this).parents("form"),n={action:t.data("action"),form_id:e(a).find('[name="give-form-id"]').val()};e.post(give_scripts.ajaxurl,n,function(i){e(a).find("[id^=give-checkout-login-register]").html(e.parseJSON(i.fields)),e(a).find(".give-submit-button-wrap").show()}).done(function(){give_fl_trigger(),setup_give_tooltips()})}),e(document).on("click","[id^=give-login-fields] input[type=submit]",function(i){i.preventDefault();var t=e(this).val(),a=e(this).parents("form");e(this).val(give_global_vars.purchase_loading),a.find("[id^=give-login-fields] .give-loading-animation").fadeIn();var n={action:"give_process_donation_login",give_ajax:1,give_user_login:a.find("[name=give_user_login]").val(),give_user_pass:a.find("[name=give_user_pass]").val()};e.post(give_global_vars.ajaxurl,n,function(i){"success"==e.trim(i)?(a.find(".give_errors").remove(),give_load_gateway(a,a.find(".give-gateway-option-selected input").val())):(a.find("[id^=give-login-fields] input[type=submit]").val(t),a.find(".give-loading-animation").fadeOut(),a.find(".give_errors").remove(),a.find("[id^=give-user-login-submit]").before(i))})}),e("select#give-gateway, input.give-gateway").on("change",function(i){i.preventDefault();var t=e(this).val();return"0"==t?(console.log("There was a problem loading the selected gateway"),!1):(give_load_gateway(e(this).parents("form"),t),!1)}),e("body").on("click touchend",'form.give-form input[name="give-purchase"].give-submit',function(i){var t=e(this).parents("form.give-form"),a=t.find('input[type="submit"].give-submit + .give-loading-animation');a.fadeIn();var n=t.get(0);if("function"!=typeof n.checkValidity||n.checkValidity()!==!1||(a.fadeOut(),(navigator.userAgent.indexOf("Safari")!=-1&&navigator.userAgent.indexOf("Chrome")==-1)!=!1)){i.preventDefault();var o=e(this).val();e(this).val(give_global_vars.purchase_loading),e.post(give_global_vars.ajaxurl,t.serialize()+"&action=give_process_donation&give_ajax=true",function(i){"success"==e.trim(i)?(t.find(".give_errors").remove(),e(n).submit(),t.trigger("give_form_validation_passed")):(t.find('input[type="submit"].give-submit').val(o),a.fadeOut(),t.find(".give_errors").remove(),t.find('input[type="submit"].give-submit').before(i))})}})});
|
9 |
var give_scripts,give_global_vars;jQuery(function(e){function a(){var a=e(this),i=a.parents("form");if("card_state"!=a.attr("id")){i.find("#card_state").empty().append('<option value="1">'+give_global_vars.general_loading+"</option>").prop("disabled",!0);var t={action:"give_get_states",country:a.val(),field_name:"card_state"};e.ajax({type:"POST",data:t,url:give_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(e){if("nostates"==e){var a='<input type="text" id="card_state" name="card_state" class="cart-state give-input required" value=""/>';i.find('input[name="card_state"], select[name="card_state"]').replaceWith(a)}else i.find('input[name="card_state"], select[name="card_state"]').replaceWith(e);v.trigger("give_checkout_billing_address_updated",[e,i.attr("id")])}}).fail(function(e){window.console&&window.console.log&&console.log(e)})}return!1}function i(){give_form=e("form.give-form"),give_form.each(function(){var a=e(this).find(".card-number"),i=e(this).find(".card-cvc"),t=e(this).find(".card-expiry");return 0!==a.length&&(a.payment("formatCardNumber"),i.payment("formatCardCVC"),void t.payment("formatCardExpiry"))})}function t(e,a){return"after"==give_global_vars.currency_pos&&(a.format="%v%s"),accounting.formatMoney(e,a).trim()}function n(e){return Math.abs(parseFloat(accounting.unformat(e,give_global_vars.decimal_separator)))}function o(e){var a={symbol:"",decimal:give_global_vars.decimal_separator,thousand:give_global_vars.thousands_separator,precision:give_global_vars.number_decimals};return accounting.formatMoney(e,a)}function r(a){var i=[];return a.hasClass("give-form-type-multi")?(e.each(a.find(".give-donation-levels-wrap [data-price-id] "),function(e,a){a=a instanceof jQuery?a:jQuery(a),i.push({price_id:a.data("price-id"),amount:n(a.val())})}),i):i}function d(a){var i=a.parents("form"),t=a.val(),o=a.data("price-id");return o||(o=a.find("option:selected").data("price-id")),"custom"===t?(i.find(".give-amount-top").val("").focus(),!1):(i.find(".give-amount-top").val(t),i.find("span.give-amount-top").text(t),e(".give-donation-amount .give-text-input",i).data("amount",n(i.find(".give-final-total-amount").data("total"))),i.find(".give-donation-amount .give-text-input").trigger("blur",[i,t,o]),void e(document).trigger("give_donation_value_updated",[i,t,o]))}function l(){var a=s("form-id"),i=s("payment-mode");if(!a||!i)return!1;var t=e("body").find("#give-form-"+a+"-wrap"),n=t.find("form.give-form"),o=t.hasClass("give-display-modal"),r=t.hasClass("give-display-reveal");n.find("#give-gateway-radio-list label").removeClass("give-gateway-option-selected"),n.find("input[name=payment-mode][value="+i+"]").prop("checked",!0).parent().addClass("give-gateway-option-selected");var l=s("level-id"),v=n.find('*[data-price-id="'+l+'"]');v.length>0&&d(v),o?give_open_form_modal(t,n):r&&(n.find(".give-btn-reveal").hide(),n.find("#give-payment-mode-select, #give_purchase_form_wrap").slideDown())}function s(e,a){a||(a=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var i=new RegExp("[?&]"+e+"(=([^&#]*)|&|#|$)"),t=i.exec(a);return t?t[2]?decodeURIComponent(t[2].replace(/\+/g," ")):"":null}var v=e(document);v.on("change","#give_cc_address input.card_state, #give_cc_address select",a),i(),v.on("give_gateway_loaded",function(){i()}),e.fn.toggleError=function(e){return this.toggleClass("error",e),this.toggleClass("valid",!e),this},v.on("keyup change",".give-form .card-number, .give-form .card-cvc, .give-form .card-expiry",function(){var a=e(this),i=a.parents("form.give-form"),t=a.attr("id"),n=i.find(".card-number"),o=i.find(".card-cvc"),r=i.find(".card-expiry"),d=e.payment.cardType(n.val());if(t.indexOf("card_number")>-1){var l=i.find(".card-type");null===d?(l.removeClass().addClass("off card-type"),a.removeClass("valid").addClass("error")):l.removeClass().addClass("card-type "+d),n.toggleError(!e.payment.validateCardNumber(n.val()))}if(t.indexOf("card_cvc")>-1&&o.toggleError(!e.payment.validateCardCVC(o.val(),d)),t.indexOf("card_expiry")>-1){r.toggleError(!e.payment.validateCardExpiry(r.payment("cardExpiryVal")));var s=r.payment("cardExpiryVal");i.find(".card-expiry-month").val(s.month),i.find(".card-expiry-year").val(s.year)}}),v.on("submit","#give_payment_mode",function(){var a=e("#give-gateway option:selected").val();if(0==a)return alert(give_global_vars.no_gateway),!1}),v.on("click","#give-payment-mode-select input",function(){var a=e(this).parents("form"),i=e("#give-payment-mode-select li"),t=e('#give-payment-mode-select li.give-gateway-option-selected input[name="payment-mode"]').val(),n="";i.removeClass("give-gateway-option-selected"),i.prop("checked",!1),e(this).prop("checked",!0),e(this).parent().addClass("give-gateway-option-selected"),n=e('#give-payment-mode-select li.give-gateway-option-selected input[name="payment-mode"]').val(),a.attr("action",a.attr("action").replace("payment-mode="+t,"payment-mode="+n))}),v.on("focus",".give-donation-amount .give-text-input",function(a){var i=e(this).parents("form");e(this).removeClass("invalid-amount");var t=i.find(".give-final-total-amount").data("total");e(this).data("amount",n(t)),e(this).parent(".give-donation-amount").addClass("give-custom-amount-focus-in"),i.find(".give-default-level, .give-radio-input").removeClass("give-default-level"),i.find(".give-btn-level-custom").addClass("give-default-level"),i.find(".give-radio-input").prop("checked",!1),i.find(".give-radio-input.give-radio-level-custom").prop("checked",!0),i.find(".give-select-level").prop("selected",!1),i.find(".give-select-level .give-donation-level-custom").prop("selected",!0)}),v.on("blur",".give-donation-amount .give-text-input",function(a,i,d,l){var s=void 0!=i?i:e(this).closest("form"),v=e(this).data("amount"),c=void 0!=d?d:e(this).val(),g=s.find('input[name="give-form-minimum"]'),m=n(g.val()),u=0==c?m:n(c),p=r(e(this).parents("form")),f="";l=void 0!=l?l:-1;var _={symbol:"",decimal:give_global_vars.decimal_separator,thousand:give_global_vars.thousands_separator,precision:give_global_vars.number_decimals},h=t(u,_);if(e(this).val(h),!p.length||-1<l||(e.each(p,function(e,a){if(a.amount===u)return l=a.price_id,!1}),!(-1<l)&&m<=u&&(l="custom")),(u<m||u<1)&&-1===l){e(this).addClass("give-invalid-amount"),_.symbol=give_global_vars.currency_sign,f=give_global_vars.bad_minimum+" "+t(m,_),s.find(".give-submit").prop("disabled",!0);var y=s.find(".give-invalid-minimum");if(0===y.length){var b=e('<div class="give_error give-invalid-minimum">'+f+"</div>").hide();b.insertBefore(s.find(".give-total-wrap")).show()}}else e(this).removeClass("give-invalid-amount"),s.find(".give-invalid-minimum").slideUp(300,function(){e(this).remove()}),s.find(".give-submit").prop("disabled",!1);if(v!==u&&(_.symbol=give_global_vars.currency_sign,s.find(".give-final-total-amount").data("total",u).text(t(u,_))),-1!==l)switch(e('input[name="give-price-id"]',s).val(l),s.find(".give-amount-hidden").val(o(u)),s.find(".give-default-level").removeClass("give-default-level"),!0){case!!s.find(".give-radio-input").length:s.find(".give-radio-input").prop("checked",!1),s.find('.give-radio-input[data-price-id="'+l+'"]').prop("checked",!0).addClass("give-default-level");break;case!!s.find("button.give-donation-level-btn").length:s.find("button.give-donation-level-btn").blur(),s.find('button.give-donation-level-btn[data-price-id="'+l+'"]').focus().addClass("give-default-level");break;case!!s.find("select.give-select-level").length:s.find("select.give-select-level option").prop("selected",!1),s.find('select.give-select-level option[data-price-id="'+l+'"]').prop("selected",!0).addClass("give-default-level")}e(this).parent(".give-donation-amount").removeClass("give-custom-amount-focus-in")}),v.on("click touchend",".give-donation-level-btn",function(a){a.preventDefault(),d(e(this))}),v.on("click touchend",".give-radio-input-level",function(a){d(e(this))}),v.on("change",".give-select-level",function(a){d(e(this))}),l(),v.on("click",".give_terms_links",function(a){a.preventDefault();var i=e(this).closest("fieldset");return e("[class^=give_terms-]",i).slideToggle(),e("a.give_terms_links",i).toggle(),!1})});
|
10 |
+
function give_open_form_modal(e,t){var n="#give_purchase_form_wrap, #give-payment-mode-select, .mfp-close, .give-hidden";jQuery.magnificPopup.open({mainClass:give_global_vars.magnific_options.main_class,closeOnBgClick:give_global_vars.magnific_options.close_on_bg_click,fixedContentPos:!0,fixedBgPos:!0,items:{src:t,type:"inline"},callbacks:{beforeOpen:function(){if(e.hasClass("give-display-button-only")&&!t.data("content")){var n=jQuery(".give-form-content-wrap",e),i=jQuery(".give-form-title",e),r=jQuery(".give-goal-progress",e),a=jQuery(">.give_error",e),o=jQuery(".give_errors",e);n.length&&!jQuery(".give-form-content-wrap",t).length&&(n.hasClass("give_post_form-content")?t.append(n):t.prepend(n)),o.length&&!jQuery(".give_errors",t).length&&o.each(function(e,n){t.prepend(jQuery(n))}),a.length&&!jQuery(">.give_error",t).length&&a.each(function(e,n){t.prepend(jQuery(n))}),r.length&&!jQuery(".give-goal-progress",t).length&&t.prepend(r),i.length&&!jQuery(".give-form-title",t).length&&t.prepend(i),t.data("content","loaded")}},open:function(){var i=jQuery(".mfp-content");i.outerWidth()>=500&&i.addClass("give-responsive-mfp-content"),e.hasClass("give-display-button-only")&&(n=t.children().not(".give-hidden, .give-btn-modal")),t.children().not(n).hide()},close:function(){t.removeClass("mfp-hide"),t.children().not(n).show()}}})}function give_fl_trigger(){var e={exclude:['#give-amount, .give-select-level, .multiselect, .give-repeater-table input, input[type="url"]'],customEvent:give_fl_custom_events};jQuery(".float-labels-enabled").floatlabels(e)}function give_fl_custom_events(e){e.hasClass("card-number")&&e.after('<span class="off card-type"/>')}function give_change_html5_form_field_validation_message(){var e,t=jQuery(".give-form");t.length&&jQuery.each(t,function(t,n){e=jQuery("input",n),e.length&&jQuery.each(e,function(e,t){t=jQuery(t).get(0),give_global_vars.form_translation.hasOwnProperty(t.name)&&(t.oninvalid=function(e){e.target.setCustomValidity(""),e.target.validity.valid||e.target.setCustomValidity(give_global_vars.form_translation[t.name])})})})}var give_scripts;jQuery(function(e){var t=e(document);give_fl_trigger(),give_change_html5_form_field_validation_message(),t.on("give_gateway_loaded",function(e,t,n){give_fl_trigger()}),t.on("give_checkout_billing_address_updated",function(t,n,i){var r=e("form#"+i);if(r.hasClass("float-labels-enabled")){var a=r.find("#give-card-state-wrap"),o=a.find("#card_state"),l=a.find('label[for="card_state"]');l=l.length?l.text().replace(/[*:]/g,"").trim():"","nostates"===n?o.attr("placeholder",l).parent().removeClass("styled select"):(o.children().first().text(l),o.parent().addClass("styled select")),o.parent().removeClass("is-active"),give_fl_trigger()}}),t.on("click",".give-btn-reveal",function(t){t.preventDefault();var n=e(this),i=e(this).parents("form"),r="#give-payment-mode-select",a=e(r),o="";return n.hide(),e("li",a).length>1&&(o=r+", "),i.find(o+"#give_purchase_form_wrap").slideDown(),!1}),t.on("click",".give-btn-modal",function(t){t.preventDefault();var n=e(this).parents("div.give-form-wrap"),i=n.find("form.give-form"),r=i.find("#give-amount"),a=r.val();return!a||a<=0?(r.focus(),!1):void give_open_form_modal(n,i)})});
|
assets/js/frontend/give.js
CHANGED
@@ -106,6 +106,8 @@ function give_open_form_modal($form_wrap, $form) {
|
|
106 |
jQuery.magnificPopup.open({
|
107 |
mainClass : give_global_vars.magnific_options.main_class,
|
108 |
closeOnBgClick : give_global_vars.magnific_options.close_on_bg_click,
|
|
|
|
|
109 |
items: {
|
110 |
src: $form,
|
111 |
type: 'inline'
|
106 |
jQuery.magnificPopup.open({
|
107 |
mainClass : give_global_vars.magnific_options.main_class,
|
108 |
closeOnBgClick : give_global_vars.magnific_options.close_on_bg_click,
|
109 |
+
fixedContentPos: true,
|
110 |
+
fixedBgPos: true,
|
111 |
items: {
|
112 |
src: $form,
|
113 |
type: 'inline'
|
assets/js/frontend/give.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
function give_open_form_modal(e,t){var n="#give_purchase_form_wrap, #give-payment-mode-select, .mfp-close, .give-hidden";jQuery.magnificPopup.open({mainClass:give_global_vars.magnific_options.main_class,closeOnBgClick:give_global_vars.magnific_options.close_on_bg_click,items:{src:t,type:"inline"},callbacks:{beforeOpen:function(){if(e.hasClass("give-display-button-only")&&!t.data("content")){var n=jQuery(".give-form-content-wrap",e),i=jQuery(".give-form-title",e),r=jQuery(".give-goal-progress",e),a=jQuery(">.give_error",e),
|
1 |
+
function give_open_form_modal(e,t){var n="#give_purchase_form_wrap, #give-payment-mode-select, .mfp-close, .give-hidden";jQuery.magnificPopup.open({mainClass:give_global_vars.magnific_options.main_class,closeOnBgClick:give_global_vars.magnific_options.close_on_bg_click,fixedContentPos:!0,fixedBgPos:!0,items:{src:t,type:"inline"},callbacks:{beforeOpen:function(){if(e.hasClass("give-display-button-only")&&!t.data("content")){var n=jQuery(".give-form-content-wrap",e),i=jQuery(".give-form-title",e),r=jQuery(".give-goal-progress",e),a=jQuery(">.give_error",e),o=jQuery(".give_errors",e);n.length&&!jQuery(".give-form-content-wrap",t).length&&(n.hasClass("give_post_form-content")?t.append(n):t.prepend(n)),o.length&&!jQuery(".give_errors",t).length&&o.each(function(e,n){t.prepend(jQuery(n))}),a.length&&!jQuery(">.give_error",t).length&&a.each(function(e,n){t.prepend(jQuery(n))}),r.length&&!jQuery(".give-goal-progress",t).length&&t.prepend(r),i.length&&!jQuery(".give-form-title",t).length&&t.prepend(i),t.data("content","loaded")}},open:function(){var i=jQuery(".mfp-content");i.outerWidth()>=500&&i.addClass("give-responsive-mfp-content"),e.hasClass("give-display-button-only")&&(n=t.children().not(".give-hidden, .give-btn-modal")),t.children().not(n).hide()},close:function(){t.removeClass("mfp-hide"),t.children().not(n).show()}}})}function give_fl_trigger(){var e={exclude:['#give-amount, .give-select-level, .multiselect, .give-repeater-table input, input[type="url"]'],customEvent:give_fl_custom_events};jQuery(".float-labels-enabled").floatlabels(e)}function give_fl_custom_events(e){e.hasClass("card-number")&&e.after('<span class="off card-type"/>')}function give_change_html5_form_field_validation_message(){var e,t=jQuery(".give-form");t.length&&jQuery.each(t,function(t,n){e=jQuery("input",n),e.length&&jQuery.each(e,function(e,t){t=jQuery(t).get(0),give_global_vars.form_translation.hasOwnProperty(t.name)&&(t.oninvalid=function(e){e.target.setCustomValidity(""),e.target.validity.valid||e.target.setCustomValidity(give_global_vars.form_translation[t.name])})})})}var give_scripts;jQuery(function(e){var t=e(document);give_fl_trigger(),give_change_html5_form_field_validation_message(),t.on("give_gateway_loaded",function(e,t,n){give_fl_trigger()}),t.on("give_checkout_billing_address_updated",function(t,n,i){var r=e("form#"+i);if(r.hasClass("float-labels-enabled")){var a=r.find("#give-card-state-wrap"),o=a.find("#card_state"),l=a.find('label[for="card_state"]');l=l.length?l.text().replace(/[*:]/g,"").trim():"","nostates"===n?o.attr("placeholder",l).parent().removeClass("styled select"):(o.children().first().text(l),o.parent().addClass("styled select")),o.parent().removeClass("is-active"),give_fl_trigger()}}),t.on("click",".give-btn-reveal",function(t){t.preventDefault();var n=e(this),i=e(this).parents("form"),r="#give-payment-mode-select",a=e(r),o="";return n.hide(),e("li",a).length>1&&(o=r+", "),i.find(o+"#give_purchase_form_wrap").slideDown(),!1}),t.on("click",".give-btn-modal",function(t){t.preventDefault();var n=e(this).parents("div.give-form-wrap"),i=n.find("form.give-form"),r=i.find("#give-amount"),a=r.val();return!a||a<=0?(r.focus(),!1):void give_open_form_modal(n,i)})});
|
assets/js/plugins/chosen.jquery.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
(function() {
|
2 |
var $, AbstractChosen, Chosen, SelectParser, _ref,
|
|
|
3 |
__hasProp = {}.hasOwnProperty,
|
4 |
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
5 |
|
@@ -109,6 +110,7 @@
|
|
109 |
function AbstractChosen(form_field, options) {
|
110 |
this.form_field = form_field;
|
111 |
this.options = options != null ? options : {};
|
|
|
112 |
if (!AbstractChosen.browser_is_supported()) {
|
113 |
return;
|
114 |
}
|
@@ -133,6 +135,7 @@
|
|
133 |
this.mouse_on_container = false;
|
134 |
this.results_showing = false;
|
135 |
this.result_highlighted = null;
|
|
|
136 |
this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false;
|
137 |
this.disable_search_threshold = this.options.disable_search_threshold || 0;
|
138 |
this.disable_search = this.options.disable_search || false;
|
@@ -145,7 +148,9 @@
|
|
145 |
this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true;
|
146 |
this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true;
|
147 |
this.include_group_label_in_selected = this.options.include_group_label_in_selected || false;
|
148 |
-
|
|
|
|
|
149 |
};
|
150 |
|
151 |
AbstractChosen.prototype.set_default_text = function() {
|
@@ -156,6 +161,7 @@
|
|
156 |
} else {
|
157 |
this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;
|
158 |
}
|
|
|
159 |
return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text;
|
160 |
};
|
161 |
|
@@ -200,6 +206,14 @@
|
|
200 |
}
|
201 |
};
|
202 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
AbstractChosen.prototype.results_option_build = function(options) {
|
204 |
var content, data, data_content, shown_results, _i, _len, _ref;
|
205 |
content = '';
|
@@ -332,13 +346,13 @@
|
|
332 |
};
|
333 |
|
334 |
AbstractChosen.prototype.winnow_results = function() {
|
335 |
-
var escapedSearchText, option, regex, results, results_group, searchText, startpos, text,
|
336 |
this.no_results_clear();
|
337 |
results = 0;
|
338 |
searchText = this.get_search_text();
|
339 |
escapedSearchText = searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
|
340 |
-
zregex = new RegExp(escapedSearchText, 'i');
|
341 |
regex = this.get_search_regex(escapedSearchText);
|
|
|
342 |
_ref = this.results_data;
|
343 |
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
344 |
option = _ref[_i];
|
@@ -364,7 +378,7 @@
|
|
364 |
}
|
365 |
if (option.search_match) {
|
366 |
if (searchText.length) {
|
367 |
-
startpos = option.search_text.search(
|
368 |
text = option.search_text.substr(0, startpos + searchText.length) + '</em>' + option.search_text.substr(startpos + searchText.length);
|
369 |
option.search_text = text.substr(0, startpos) + '<em>' + text.substr(startpos);
|
370 |
}
|
@@ -388,9 +402,17 @@
|
|
388 |
};
|
389 |
|
390 |
AbstractChosen.prototype.get_search_regex = function(escaped_search_string) {
|
391 |
-
var regex_anchor;
|
392 |
regex_anchor = this.search_contains ? "" : "^";
|
393 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
394 |
};
|
395 |
|
396 |
AbstractChosen.prototype.search_string_match = function(search_string, regex) {
|
@@ -428,11 +450,55 @@
|
|
428 |
|
429 |
AbstractChosen.prototype.choices_click = function(evt) {
|
430 |
evt.preventDefault();
|
|
|
431 |
if (!(this.results_showing || this.is_disabled)) {
|
432 |
return this.results_show();
|
433 |
}
|
434 |
};
|
435 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
436 |
AbstractChosen.prototype.keyup_checker = function(evt) {
|
437 |
var stroke, _ref;
|
438 |
stroke = (_ref = evt.which) != null ? _ref : evt.keyCode;
|
@@ -440,38 +506,42 @@
|
|
440 |
switch (stroke) {
|
441 |
case 8:
|
442 |
if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {
|
443 |
-
|
444 |
} else if (!this.pending_backstroke) {
|
445 |
this.result_clear_highlight();
|
446 |
-
|
447 |
}
|
448 |
break;
|
449 |
case 13:
|
450 |
evt.preventDefault();
|
451 |
if (this.results_showing) {
|
452 |
-
|
453 |
}
|
454 |
break;
|
455 |
case 27:
|
456 |
if (this.results_showing) {
|
457 |
this.results_hide();
|
458 |
}
|
459 |
-
|
460 |
case 9:
|
461 |
-
case 38:
|
462 |
-
case 40:
|
463 |
case 16:
|
464 |
-
case 91:
|
465 |
case 17:
|
466 |
case 18:
|
|
|
|
|
|
|
467 |
break;
|
468 |
default:
|
469 |
-
|
|
|
470 |
}
|
471 |
};
|
472 |
|
473 |
AbstractChosen.prototype.clipboard_event_checker = function(evt) {
|
474 |
var _this = this;
|
|
|
|
|
|
|
475 |
return setTimeout((function() {
|
476 |
return _this.results_search();
|
477 |
}), 50);
|
@@ -524,30 +594,25 @@
|
|
524 |
return tmp.innerHTML;
|
525 |
};
|
526 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
527 |
AbstractChosen.browser_is_supported = function() {
|
528 |
-
if (
|
529 |
-
return
|
530 |
-
}
|
531 |
-
if (/Android/i.test(window.navigator.userAgent)) {
|
532 |
-
if (/Mobile/i.test(window.navigator.userAgent)) {
|
533 |
-
return false;
|
534 |
-
}
|
535 |
-
}
|
536 |
-
if (/IEMobile/i.test(window.navigator.userAgent)) {
|
537 |
-
return false;
|
538 |
-
}
|
539 |
-
if (/Windows Phone/i.test(window.navigator.userAgent)) {
|
540 |
-
return false;
|
541 |
-
}
|
542 |
-
if (/BlackBerry/i.test(window.navigator.userAgent)) {
|
543 |
-
return false;
|
544 |
}
|
545 |
-
if (/BB10/i.test(window.navigator.userAgent)) {
|
546 |
return false;
|
547 |
}
|
548 |
-
if (window.navigator.appName === "Microsoft Internet Explorer") {
|
549 |
-
return document.documentMode >= 8;
|
550 |
-
}
|
551 |
return true;
|
552 |
};
|
553 |
|
@@ -595,8 +660,7 @@
|
|
595 |
|
596 |
Chosen.prototype.setup = function() {
|
597 |
this.form_field_jq = $(this.form_field);
|
598 |
-
this.current_selectedIndex = this.form_field.selectedIndex;
|
599 |
-
return this.is_rtl = this.form_field_jq.hasClass("chosen-rtl");
|
600 |
};
|
601 |
|
602 |
Chosen.prototype.set_up_html = function() {
|
@@ -611,17 +675,17 @@
|
|
611 |
}
|
612 |
container_props = {
|
613 |
'class': container_classes.join(' '),
|
614 |
-
'style': "width: " + (this.container_width()) + ";",
|
615 |
'title': this.form_field.title
|
616 |
};
|
617 |
if (this.form_field.id.length) {
|
618 |
container_props.id = this.form_field.id.replace(/[^\w]/g, '_') + "_chosen";
|
619 |
}
|
620 |
this.container = $("<div />", container_props);
|
|
|
621 |
if (this.is_multiple) {
|
622 |
-
this.container.html(
|
623 |
} else {
|
624 |
-
this.container.html(
|
625 |
}
|
626 |
this.form_field_jq.hide().after(this.container);
|
627 |
this.dropdown = this.container.find('div.chosen-drop').first();
|
@@ -651,11 +715,9 @@
|
|
651 |
var _this = this;
|
652 |
this.container.bind('touchstart.chosen', function(evt) {
|
653 |
_this.container_mousedown(evt);
|
654 |
-
return evt.preventDefault();
|
655 |
});
|
656 |
this.container.bind('touchend.chosen', function(evt) {
|
657 |
_this.container_mouseup(evt);
|
658 |
-
return evt.preventDefault();
|
659 |
});
|
660 |
this.container.bind('mousedown.chosen', function(evt) {
|
661 |
_this.container_mousedown(evt);
|
@@ -700,7 +762,7 @@
|
|
700 |
_this.container_mousedown(evt);
|
701 |
});
|
702 |
this.form_field_jq.bind("chosen:close.chosen", function(evt) {
|
703 |
-
_this.
|
704 |
});
|
705 |
this.search_field.bind('blur.chosen', function(evt) {
|
706 |
_this.input_blur(evt);
|
@@ -732,7 +794,10 @@
|
|
732 |
};
|
733 |
|
734 |
Chosen.prototype.destroy = function() {
|
735 |
-
$(this.container[0].ownerDocument).unbind(
|
|
|
|
|
|
|
736 |
if (this.search_field[0].tabIndex) {
|
737 |
this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex;
|
738 |
}
|
@@ -742,41 +807,39 @@
|
|
742 |
};
|
743 |
|
744 |
Chosen.prototype.search_field_disabled = function() {
|
745 |
-
this.is_disabled = this.form_field_jq
|
|
|
|
|
|
|
|
|
|
|
746 |
if (this.is_disabled) {
|
747 |
-
this.container.addClass('chosen-disabled');
|
748 |
-
this.search_field[0].disabled = true;
|
749 |
-
if (!this.is_multiple) {
|
750 |
-
this.selected_item.unbind("focus.chosen", this.activate_action);
|
751 |
-
}
|
752 |
return this.close_field();
|
753 |
-
} else {
|
754 |
-
this.
|
755 |
-
this.search_field[0].disabled = false;
|
756 |
-
if (!this.is_multiple) {
|
757 |
-
return this.selected_item.bind("focus.chosen", this.activate_action);
|
758 |
-
}
|
759 |
}
|
760 |
};
|
761 |
|
762 |
Chosen.prototype.container_mousedown = function(evt) {
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
this.
|
774 |
-
} else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chosen-single").length)) {
|
775 |
-
evt.preventDefault();
|
776 |
-
this.results_toggle();
|
777 |
}
|
778 |
-
|
|
|
|
|
|
|
|
|
779 |
}
|
|
|
780 |
}
|
781 |
};
|
782 |
|
@@ -813,10 +876,14 @@
|
|
813 |
this.container.removeClass("chosen-container-active");
|
814 |
this.clear_backstroke();
|
815 |
this.show_search_field_default();
|
816 |
-
|
|
|
817 |
};
|
818 |
|
819 |
Chosen.prototype.activate_field = function() {
|
|
|
|
|
|
|
820 |
this.container.addClass("chosen-container-active");
|
821 |
this.active_field = true;
|
822 |
this.search_field.val(this.search_field.val());
|
@@ -894,7 +961,7 @@
|
|
894 |
this.container.addClass("chosen-with-drop");
|
895 |
this.results_showing = true;
|
896 |
this.search_field.focus();
|
897 |
-
this.search_field.val(this.
|
898 |
this.winnow_results();
|
899 |
return this.form_field_jq.trigger("chosen:showing_dropdown", {
|
900 |
chosen: this
|
@@ -926,19 +993,12 @@
|
|
926 |
};
|
927 |
|
928 |
Chosen.prototype.set_label_behavior = function() {
|
929 |
-
var _this = this;
|
930 |
this.form_field_label = this.form_field_jq.parents("label");
|
931 |
if (!this.form_field_label.length && this.form_field.id.length) {
|
932 |
this.form_field_label = $("label[for='" + this.form_field.id + "']");
|
933 |
}
|
934 |
if (this.form_field_label.length > 0) {
|
935 |
-
return this.form_field_label.bind('click.chosen',
|
936 |
-
if (_this.is_multiple) {
|
937 |
-
return _this.container_mousedown(evt);
|
938 |
-
} else {
|
939 |
-
return _this.activate_field();
|
940 |
-
}
|
941 |
-
});
|
942 |
}
|
943 |
};
|
944 |
|
@@ -1007,8 +1067,12 @@
|
|
1007 |
|
1008 |
Chosen.prototype.choice_destroy = function(link) {
|
1009 |
if (this.result_deselect(link[0].getAttribute("data-option-array-index"))) {
|
1010 |
-
this.
|
1011 |
-
|
|
|
|
|
|
|
|
|
1012 |
this.results_hide();
|
1013 |
}
|
1014 |
link.parents('li').first().remove();
|
@@ -1022,7 +1086,7 @@
|
|
1022 |
this.single_set_selected_text();
|
1023 |
this.show_search_field_default();
|
1024 |
this.results_reset_cleanup();
|
1025 |
-
this.
|
1026 |
if (this.active_field) {
|
1027 |
return this.results_hide();
|
1028 |
}
|
@@ -1059,13 +1123,13 @@
|
|
1059 |
} else {
|
1060 |
this.single_set_selected_text(this.choice_label(item));
|
1061 |
}
|
1062 |
-
if (!((evt.metaKey || evt.ctrlKey)
|
1063 |
this.results_hide();
|
|
|
1064 |
}
|
1065 |
-
this.show_search_field_default();
|
1066 |
if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {
|
1067 |
-
this.
|
1068 |
-
|
1069 |
});
|
1070 |
}
|
1071 |
this.current_selectedIndex = this.form_field.selectedIndex;
|
@@ -1098,7 +1162,7 @@
|
|
1098 |
if (this.results_showing) {
|
1099 |
this.winnow_results();
|
1100 |
}
|
1101 |
-
this.
|
1102 |
deselected: this.form_field.options[result_data.options_index].value
|
1103 |
});
|
1104 |
this.search_field_scale();
|
@@ -1118,8 +1182,16 @@
|
|
1118 |
return this.selected_item.addClass("chosen-single-with-deselect");
|
1119 |
};
|
1120 |
|
|
|
|
|
|
|
|
|
1121 |
Chosen.prototype.get_search_text = function() {
|
1122 |
-
return
|
|
|
|
|
|
|
|
|
1123 |
};
|
1124 |
|
1125 |
Chosen.prototype.winnow_results_set_highlight = function() {
|
@@ -1133,8 +1205,7 @@
|
|
1133 |
|
1134 |
Chosen.prototype.no_results = function(terms) {
|
1135 |
var no_results_html;
|
1136 |
-
no_results_html =
|
1137 |
-
no_results_html.find("span").first().html(terms);
|
1138 |
this.search_results.append(no_results_html);
|
1139 |
return this.form_field_jq.trigger("chosen:no_results", {
|
1140 |
chosen: this
|
@@ -1199,70 +1270,36 @@
|
|
1199 |
return this.pending_backstroke = null;
|
1200 |
};
|
1201 |
|
1202 |
-
Chosen.prototype.keydown_checker = function(evt) {
|
1203 |
-
var stroke, _ref1;
|
1204 |
-
stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode;
|
1205 |
-
this.search_field_scale();
|
1206 |
-
if (stroke !== 8 && this.pending_backstroke) {
|
1207 |
-
this.clear_backstroke();
|
1208 |
-
}
|
1209 |
-
switch (stroke) {
|
1210 |
-
case 8:
|
1211 |
-
this.backstroke_length = this.search_field.val().length;
|
1212 |
-
break;
|
1213 |
-
case 9:
|
1214 |
-
if (this.results_showing && !this.is_multiple) {
|
1215 |
-
this.result_select(evt);
|
1216 |
-
}
|
1217 |
-
this.mouse_on_container = false;
|
1218 |
-
break;
|
1219 |
-
case 13:
|
1220 |
-
if (this.results_showing) {
|
1221 |
-
evt.preventDefault();
|
1222 |
-
}
|
1223 |
-
break;
|
1224 |
-
case 32:
|
1225 |
-
if (this.disable_search) {
|
1226 |
-
evt.preventDefault();
|
1227 |
-
}
|
1228 |
-
break;
|
1229 |
-
case 38:
|
1230 |
-
evt.preventDefault();
|
1231 |
-
this.keyup_arrow();
|
1232 |
-
break;
|
1233 |
-
case 40:
|
1234 |
-
evt.preventDefault();
|
1235 |
-
this.keydown_arrow();
|
1236 |
-
break;
|
1237 |
-
}
|
1238 |
-
};
|
1239 |
-
|
1240 |
Chosen.prototype.search_field_scale = function() {
|
1241 |
-
var
|
1242 |
-
if (this.is_multiple) {
|
1243 |
-
|
1244 |
-
w = 0;
|
1245 |
-
style_block = "position:absolute; left: -1000px; top: -1000px; display:none;";
|
1246 |
-
styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];
|
1247 |
-
for (_i = 0, _len = styles.length; _i < _len; _i++) {
|
1248 |
-
style = styles[_i];
|
1249 |
-
style_block += style + ":" + this.search_field.css(style) + ";";
|
1250 |
-
}
|
1251 |
-
div = $('<div />', {
|
1252 |
-
'style': style_block
|
1253 |
-
});
|
1254 |
-
div.text(this.search_field.val());
|
1255 |
-
$('body').append(div);
|
1256 |
-
w = div.width() + 25;
|
1257 |
-
div.remove();
|
1258 |
-
f_width = this.container.outerWidth();
|
1259 |
-
if (w > f_width - 10) {
|
1260 |
-
w = f_width - 10;
|
1261 |
-
}
|
1262 |
-
return this.search_field.css({
|
1263 |
-
'width': w + 'px'
|
1264 |
-
});
|
1265 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1266 |
};
|
1267 |
|
1268 |
return Chosen;
|
1 |
(function() {
|
2 |
var $, AbstractChosen, Chosen, SelectParser, _ref,
|
3 |
+
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
|
4 |
__hasProp = {}.hasOwnProperty,
|
5 |
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
6 |
|
110 |
function AbstractChosen(form_field, options) {
|
111 |
this.form_field = form_field;
|
112 |
this.options = options != null ? options : {};
|
113 |
+
this.label_click_handler = __bind(this.label_click_handler, this);
|
114 |
if (!AbstractChosen.browser_is_supported()) {
|
115 |
return;
|
116 |
}
|
135 |
this.mouse_on_container = false;
|
136 |
this.results_showing = false;
|
137 |
this.result_highlighted = null;
|
138 |
+
this.is_rtl = this.options.rtl || /\bchosen-rtl\b/.test(this.form_field.className);
|
139 |
this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false;
|
140 |
this.disable_search_threshold = this.options.disable_search_threshold || 0;
|
141 |
this.disable_search = this.options.disable_search || false;
|
148 |
this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true;
|
149 |
this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true;
|
150 |
this.include_group_label_in_selected = this.options.include_group_label_in_selected || false;
|
151 |
+
this.max_shown_results = this.options.max_shown_results || Number.POSITIVE_INFINITY;
|
152 |
+
this.case_sensitive_search = this.options.case_sensitive_search || false;
|
153 |
+
return this.hide_results_on_select = this.options.hide_results_on_select != null ? this.options.hide_results_on_select : true;
|
154 |
};
|
155 |
|
156 |
AbstractChosen.prototype.set_default_text = function() {
|
161 |
} else {
|
162 |
this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;
|
163 |
}
|
164 |
+
this.default_text = this.escape_html(this.default_text);
|
165 |
return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text;
|
166 |
};
|
167 |
|
206 |
}
|
207 |
};
|
208 |
|
209 |
+
AbstractChosen.prototype.label_click_handler = function(evt) {
|
210 |
+
if (this.is_multiple) {
|
211 |
+
return this.container_mousedown(evt);
|
212 |
+
} else {
|
213 |
+
return this.activate_field();
|
214 |
+
}
|
215 |
+
};
|
216 |
+
|
217 |
AbstractChosen.prototype.results_option_build = function(options) {
|
218 |
var content, data, data_content, shown_results, _i, _len, _ref;
|
219 |
content = '';
|
346 |
};
|
347 |
|
348 |
AbstractChosen.prototype.winnow_results = function() {
|
349 |
+
var escapedSearchText, highlightRegex, option, regex, results, results_group, searchText, startpos, text, _i, _len, _ref;
|
350 |
this.no_results_clear();
|
351 |
results = 0;
|
352 |
searchText = this.get_search_text();
|
353 |
escapedSearchText = searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
|
|
|
354 |
regex = this.get_search_regex(escapedSearchText);
|
355 |
+
highlightRegex = this.get_highlight_regex(escapedSearchText);
|
356 |
_ref = this.results_data;
|
357 |
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
358 |
option = _ref[_i];
|
378 |
}
|
379 |
if (option.search_match) {
|
380 |
if (searchText.length) {
|
381 |
+
startpos = option.search_text.search(highlightRegex);
|
382 |
text = option.search_text.substr(0, startpos + searchText.length) + '</em>' + option.search_text.substr(startpos + searchText.length);
|
383 |
option.search_text = text.substr(0, startpos) + '<em>' + text.substr(startpos);
|
384 |
}
|
402 |
};
|
403 |
|
404 |
AbstractChosen.prototype.get_search_regex = function(escaped_search_string) {
|
405 |
+
var regex_anchor, regex_flag;
|
406 |
regex_anchor = this.search_contains ? "" : "^";
|
407 |
+
regex_flag = this.case_sensitive_search ? "" : "i";
|
408 |
+
return new RegExp(regex_anchor + escaped_search_string, regex_flag);
|
409 |
+
};
|
410 |
+
|
411 |
+
AbstractChosen.prototype.get_highlight_regex = function(escaped_search_string) {
|
412 |
+
var regex_anchor, regex_flag;
|
413 |
+
regex_anchor = this.search_contains ? "" : "\\b";
|
414 |
+
regex_flag = this.case_sensitive_search ? "" : "i";
|
415 |
+
return new RegExp(regex_anchor + escaped_search_string, regex_flag);
|
416 |
};
|
417 |
|
418 |
AbstractChosen.prototype.search_string_match = function(search_string, regex) {
|
450 |
|
451 |
AbstractChosen.prototype.choices_click = function(evt) {
|
452 |
evt.preventDefault();
|
453 |
+
this.activate_field();
|
454 |
if (!(this.results_showing || this.is_disabled)) {
|
455 |
return this.results_show();
|
456 |
}
|
457 |
};
|
458 |
|
459 |
+
AbstractChosen.prototype.keydown_checker = function(evt) {
|
460 |
+
var stroke, _ref;
|
461 |
+
stroke = (_ref = evt.which) != null ? _ref : evt.keyCode;
|
462 |
+
this.search_field_scale();
|
463 |
+
if (stroke !== 8 && this.pending_backstroke) {
|
464 |
+
this.clear_backstroke();
|
465 |
+
}
|
466 |
+
switch (stroke) {
|
467 |
+
case 8:
|
468 |
+
this.backstroke_length = this.get_search_field_value().length;
|
469 |
+
break;
|
470 |
+
case 9:
|
471 |
+
if (this.results_showing && !this.is_multiple) {
|
472 |
+
this.result_select(evt);
|
473 |
+
}
|
474 |
+
this.mouse_on_container = false;
|
475 |
+
break;
|
476 |
+
case 13:
|
477 |
+
if (this.results_showing) {
|
478 |
+
evt.preventDefault();
|
479 |
+
}
|
480 |
+
break;
|
481 |
+
case 27:
|
482 |
+
if (this.results_showing) {
|
483 |
+
evt.preventDefault();
|
484 |
+
}
|
485 |
+
break;
|
486 |
+
case 32:
|
487 |
+
if (this.disable_search) {
|
488 |
+
evt.preventDefault();
|
489 |
+
}
|
490 |
+
break;
|
491 |
+
case 38:
|
492 |
+
evt.preventDefault();
|
493 |
+
this.keyup_arrow();
|
494 |
+
break;
|
495 |
+
case 40:
|
496 |
+
evt.preventDefault();
|
497 |
+
this.keydown_arrow();
|
498 |
+
break;
|
499 |
+
}
|
500 |
+
};
|
501 |
+
|
502 |
AbstractChosen.prototype.keyup_checker = function(evt) {
|
503 |
var stroke, _ref;
|
504 |
stroke = (_ref = evt.which) != null ? _ref : evt.keyCode;
|
506 |
switch (stroke) {
|
507 |
case 8:
|
508 |
if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {
|
509 |
+
this.keydown_backstroke();
|
510 |
} else if (!this.pending_backstroke) {
|
511 |
this.result_clear_highlight();
|
512 |
+
this.results_search();
|
513 |
}
|
514 |
break;
|
515 |
case 13:
|
516 |
evt.preventDefault();
|
517 |
if (this.results_showing) {
|
518 |
+
this.result_select(evt);
|
519 |
}
|
520 |
break;
|
521 |
case 27:
|
522 |
if (this.results_showing) {
|
523 |
this.results_hide();
|
524 |
}
|
525 |
+
break;
|
526 |
case 9:
|
|
|
|
|
527 |
case 16:
|
|
|
528 |
case 17:
|
529 |
case 18:
|
530 |
+
case 38:
|
531 |
+
case 40:
|
532 |
+
case 91:
|
533 |
break;
|
534 |
default:
|
535 |
+
this.results_search();
|
536 |
+
break;
|
537 |
}
|
538 |
};
|
539 |
|
540 |
AbstractChosen.prototype.clipboard_event_checker = function(evt) {
|
541 |
var _this = this;
|
542 |
+
if (this.is_disabled) {
|
543 |
+
return;
|
544 |
+
}
|
545 |
return setTimeout((function() {
|
546 |
return _this.results_search();
|
547 |
}), 50);
|
594 |
return tmp.innerHTML;
|
595 |
};
|
596 |
|
597 |
+
AbstractChosen.prototype.get_single_html = function() {
|
598 |
+
return "<a class=\"chosen-single chosen-default\">\n <span>" + this.default_text + "</span>\n <div><b></b></div>\n</a>\n<div class=\"chosen-drop\">\n <div class=\"chosen-search\">\n <input class=\"chosen-search-input\" type=\"text\" autocomplete=\"off\" />\n </div>\n <ul class=\"chosen-results\"></ul>\n</div>";
|
599 |
+
};
|
600 |
+
|
601 |
+
AbstractChosen.prototype.get_multi_html = function() {
|
602 |
+
return "<ul class=\"chosen-choices\">\n <li class=\"search-field\">\n <input class=\"chosen-search-input\" type=\"text\" autocomplete=\"off\" value=\"" + this.default_text + "\" />\n </li>\n</ul>\n<div class=\"chosen-drop\">\n <ul class=\"chosen-results\"></ul>\n</div>";
|
603 |
+
};
|
604 |
+
|
605 |
+
AbstractChosen.prototype.get_no_results_html = function(terms) {
|
606 |
+
return "<li class=\"no-results\">\n " + this.results_none_found + " <span>" + terms + "</span>\n</li>";
|
607 |
+
};
|
608 |
+
|
609 |
AbstractChosen.browser_is_supported = function() {
|
610 |
+
if ("Microsoft Internet Explorer" === window.navigator.appName) {
|
611 |
+
return document.documentMode >= 8;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
612 |
}
|
613 |
+
if (/iP(od|hone)/i.test(window.navigator.userAgent) || /IEMobile/i.test(window.navigator.userAgent) || /Windows Phone/i.test(window.navigator.userAgent) || /BlackBerry/i.test(window.navigator.userAgent) || /BB10/i.test(window.navigator.userAgent) || /Android.*Mobile/i.test(window.navigator.userAgent)) {
|
614 |
return false;
|
615 |
}
|
|
|
|
|
|
|
616 |
return true;
|
617 |
};
|
618 |
|
660 |
|
661 |
Chosen.prototype.setup = function() {
|
662 |
this.form_field_jq = $(this.form_field);
|
663 |
+
return this.current_selectedIndex = this.form_field.selectedIndex;
|
|
|
664 |
};
|
665 |
|
666 |
Chosen.prototype.set_up_html = function() {
|
675 |
}
|
676 |
container_props = {
|
677 |
'class': container_classes.join(' '),
|
|
|
678 |
'title': this.form_field.title
|
679 |
};
|
680 |
if (this.form_field.id.length) {
|
681 |
container_props.id = this.form_field.id.replace(/[^\w]/g, '_') + "_chosen";
|
682 |
}
|
683 |
this.container = $("<div />", container_props);
|
684 |
+
this.container.width(this.container_width());
|
685 |
if (this.is_multiple) {
|
686 |
+
this.container.html(this.get_multi_html());
|
687 |
} else {
|
688 |
+
this.container.html(this.get_single_html());
|
689 |
}
|
690 |
this.form_field_jq.hide().after(this.container);
|
691 |
this.dropdown = this.container.find('div.chosen-drop').first();
|
715 |
var _this = this;
|
716 |
this.container.bind('touchstart.chosen', function(evt) {
|
717 |
_this.container_mousedown(evt);
|
|
|
718 |
});
|
719 |
this.container.bind('touchend.chosen', function(evt) {
|
720 |
_this.container_mouseup(evt);
|
|
|
721 |
});
|
722 |
this.container.bind('mousedown.chosen', function(evt) {
|
723 |
_this.container_mousedown(evt);
|
762 |
_this.container_mousedown(evt);
|
763 |
});
|
764 |
this.form_field_jq.bind("chosen:close.chosen", function(evt) {
|
765 |
+
_this.close_field(evt);
|
766 |
});
|
767 |
this.search_field.bind('blur.chosen', function(evt) {
|
768 |
_this.input_blur(evt);
|
794 |
};
|
795 |
|
796 |
Chosen.prototype.destroy = function() {
|
797 |
+
$(this.container[0].ownerDocument).unbind('click.chosen', this.click_test_action);
|
798 |
+
if (this.form_field_label.length > 0) {
|
799 |
+
this.form_field_label.unbind('click.chosen');
|
800 |
+
}
|
801 |
if (this.search_field[0].tabIndex) {
|
802 |
this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex;
|
803 |
}
|
807 |
};
|
808 |
|
809 |
Chosen.prototype.search_field_disabled = function() {
|
810 |
+
this.is_disabled = this.form_field.disabled || this.form_field_jq.parents('fieldset').is(':disabled');
|
811 |
+
this.container.toggleClass('chosen-disabled', this.is_disabled);
|
812 |
+
this.search_field[0].disabled = this.is_disabled;
|
813 |
+
if (!this.is_multiple) {
|
814 |
+
this.selected_item.unbind('focus.chosen', this.activate_field);
|
815 |
+
}
|
816 |
if (this.is_disabled) {
|
|
|
|
|
|
|
|
|
|
|
817 |
return this.close_field();
|
818 |
+
} else if (!this.is_multiple) {
|
819 |
+
return this.selected_item.bind('focus.chosen', this.activate_field);
|
|
|
|
|
|
|
|
|
820 |
}
|
821 |
};
|
822 |
|
823 |
Chosen.prototype.container_mousedown = function(evt) {
|
824 |
+
var _ref1;
|
825 |
+
if (this.is_disabled) {
|
826 |
+
return;
|
827 |
+
}
|
828 |
+
if (evt && ((_ref1 = evt.type) === 'mousedown' || _ref1 === 'touchstart') && !this.results_showing) {
|
829 |
+
evt.preventDefault();
|
830 |
+
}
|
831 |
+
if (!((evt != null) && ($(evt.target)).hasClass("search-choice-close"))) {
|
832 |
+
if (!this.active_field) {
|
833 |
+
if (this.is_multiple) {
|
834 |
+
this.search_field.val("");
|
|
|
|
|
|
|
835 |
}
|
836 |
+
$(this.container[0].ownerDocument).bind('click.chosen', this.click_test_action);
|
837 |
+
this.results_show();
|
838 |
+
} else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chosen-single").length)) {
|
839 |
+
evt.preventDefault();
|
840 |
+
this.results_toggle();
|
841 |
}
|
842 |
+
return this.activate_field();
|
843 |
}
|
844 |
};
|
845 |
|
876 |
this.container.removeClass("chosen-container-active");
|
877 |
this.clear_backstroke();
|
878 |
this.show_search_field_default();
|
879 |
+
this.search_field_scale();
|
880 |
+
return this.search_field.blur();
|
881 |
};
|
882 |
|
883 |
Chosen.prototype.activate_field = function() {
|
884 |
+
if (this.is_disabled) {
|
885 |
+
return;
|
886 |
+
}
|
887 |
this.container.addClass("chosen-container-active");
|
888 |
this.active_field = true;
|
889 |
this.search_field.val(this.search_field.val());
|
961 |
this.container.addClass("chosen-with-drop");
|
962 |
this.results_showing = true;
|
963 |
this.search_field.focus();
|
964 |
+
this.search_field.val(this.get_search_field_value());
|
965 |
this.winnow_results();
|
966 |
return this.form_field_jq.trigger("chosen:showing_dropdown", {
|
967 |
chosen: this
|
993 |
};
|
994 |
|
995 |
Chosen.prototype.set_label_behavior = function() {
|
|
|
996 |
this.form_field_label = this.form_field_jq.parents("label");
|
997 |
if (!this.form_field_label.length && this.form_field.id.length) {
|
998 |
this.form_field_label = $("label[for='" + this.form_field.id + "']");
|
999 |
}
|
1000 |
if (this.form_field_label.length > 0) {
|
1001 |
+
return this.form_field_label.bind('click.chosen', this.label_click_handler);
|
|
|
|
|
|
|
|
|
|
|
|
|
1002 |
}
|
1003 |
};
|
1004 |
|
1067 |
|
1068 |
Chosen.prototype.choice_destroy = function(link) {
|
1069 |
if (this.result_deselect(link[0].getAttribute("data-option-array-index"))) {
|
1070 |
+
if (this.active_field) {
|
1071 |
+
this.search_field.focus();
|
1072 |
+
} else {
|
1073 |
+
this.show_search_field_default();
|
1074 |
+
}
|
1075 |
+
if (this.is_multiple && this.choices_count() > 0 && this.get_search_field_value().length < 1) {
|
1076 |
this.results_hide();
|
1077 |
}
|
1078 |
link.parents('li').first().remove();
|
1086 |
this.single_set_selected_text();
|
1087 |
this.show_search_field_default();
|
1088 |
this.results_reset_cleanup();
|
1089 |
+
this.trigger_form_field_change();
|
1090 |
if (this.active_field) {
|
1091 |
return this.results_hide();
|
1092 |
}
|
1123 |
} else {
|
1124 |
this.single_set_selected_text(this.choice_label(item));
|
1125 |
}
|
1126 |
+
if (!(this.is_multiple && (!this.hide_results_on_select || (evt.metaKey || evt.ctrlKey)))) {
|
1127 |
this.results_hide();
|
1128 |
+
this.show_search_field_default();
|
1129 |
}
|
|
|
1130 |
if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {
|
1131 |
+
this.trigger_form_field_change({
|
1132 |
+
selected: this.form_field.options[item.options_index].value
|
1133 |
});
|
1134 |
}
|
1135 |
this.current_selectedIndex = this.form_field.selectedIndex;
|
1162 |
if (this.results_showing) {
|
1163 |
this.winnow_results();
|
1164 |
}
|
1165 |
+
this.trigger_form_field_change({
|
1166 |
deselected: this.form_field.options[result_data.options_index].value
|
1167 |
});
|
1168 |
this.search_field_scale();
|
1182 |
return this.selected_item.addClass("chosen-single-with-deselect");
|
1183 |
};
|
1184 |
|
1185 |
+
Chosen.prototype.get_search_field_value = function() {
|
1186 |
+
return this.search_field.val();
|
1187 |
+
};
|
1188 |
+
|
1189 |
Chosen.prototype.get_search_text = function() {
|
1190 |
+
return this.escape_html($.trim(this.get_search_field_value()));
|
1191 |
+
};
|
1192 |
+
|
1193 |
+
Chosen.prototype.escape_html = function(text) {
|
1194 |
+
return $('<div/>').text(text).html();
|
1195 |
};
|
1196 |
|
1197 |
Chosen.prototype.winnow_results_set_highlight = function() {
|
1205 |
|
1206 |
Chosen.prototype.no_results = function(terms) {
|
1207 |
var no_results_html;
|
1208 |
+
no_results_html = this.get_no_results_html(terms);
|
|
|
1209 |
this.search_results.append(no_results_html);
|
1210 |
return this.form_field_jq.trigger("chosen:no_results", {
|
1211 |
chosen: this
|
1270 |
return this.pending_backstroke = null;
|
1271 |
};
|
1272 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1273 |
Chosen.prototype.search_field_scale = function() {
|
1274 |
+
var container_width, div, style, style_block, styles, width, _i, _len;
|
1275 |
+
if (!this.is_multiple) {
|
1276 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1277 |
}
|
1278 |
+
style_block = {
|
1279 |
+
position: 'absolute',
|
1280 |
+
left: '-1000px',
|
1281 |
+
top: '-1000px',
|
1282 |
+
display: 'none',
|
1283 |
+
whiteSpace: 'pre'
|
1284 |
+
};
|
1285 |
+
styles = ['fontSize', 'fontStyle', 'fontWeight', 'fontFamily', 'lineHeight', 'textTransform', 'letterSpacing'];
|
1286 |
+
for (_i = 0, _len = styles.length; _i < _len; _i++) {
|
1287 |
+
style = styles[_i];
|
1288 |
+
style_block[style] = this.search_field.css(style);
|
1289 |
+
}
|
1290 |
+
div = $('<div />').css(style_block);
|
1291 |
+
div.text(this.get_search_field_value());
|
1292 |
+
$('body').append(div);
|
1293 |
+
width = div.width() + 25;
|
1294 |
+
div.remove();
|
1295 |
+
container_width = this.container.outerWidth();
|
1296 |
+
width = Math.min(container_width - 10, width);
|
1297 |
+
return this.search_field.width(width);
|
1298 |
+
};
|
1299 |
+
|
1300 |
+
Chosen.prototype.trigger_form_field_change = function(extra) {
|
1301 |
+
this.form_field_jq.trigger("input", extra);
|
1302 |
+
return this.form_field_jq.trigger("change", extra);
|
1303 |
};
|
1304 |
|
1305 |
return Chosen;
|
assets/js/plugins/chosen.jquery.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
(function(){var t,e,s,i,r,o={}.hasOwnProperty,n=function(t,e){function s(){this.constructor=t}for(var i in e)o.call(e,i)&&(t[i]=e[i]);return s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype,t};i=function(){function t(){this.options_index=0,this.parsed=[]}return t.prototype.add_node=function(t){return"OPTGROUP"===t.nodeName.toUpperCase()?this.add_group(t):this.add_option(t)},t.prototype.add_group=function(t){var e,s,i,r,o,n;for(e=this.parsed.length,this.parsed.push({array_index:e,group:!0,label:this.escapeExpression(t.label),title:t.title?t.title:void 0,children:0,disabled:t.disabled,classes:t.className}),o=t.childNodes,n=[],i=0,r=o.length;i<r;i++)s=o[i],n.push(this.add_option(s,e,t.disabled));return n},t.prototype.add_option=function(t,e,s){if("OPTION"===t.nodeName.toUpperCase())return""!==t.text?(null!=e&&(this.parsed[e].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:t.value,text:t.text,html:t.innerHTML,title:t.title?t.title:void 0,selected:t.selected,disabled:s===!0?s:t.disabled,group_array_index:e,group_label:null!=e?this.parsed[e].label:null,classes:t.className,style:t.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},t.prototype.escapeExpression=function(t){var e,s;return null==t||t===!1?"":/[\&\<\>\"\'\`]/.test(t)?(e={"<":"<",">":">",'"':""","'":"'","`":"`"},s=/&(?!\w+;)|[\<\>\"\'\`]/g,t.replace(s,function(t){return e[t]||"&"})):t},t}(),i.select_to_array=function(t){var e,s,r,o,n;for(s=new i,n=t.childNodes,r=0,o=n.length;r<o;r++)e=n[r],s.add_node(e);return s.parsed},e=function(){function t(e,s){this.form_field=e,this.options=null!=s?s:{},t.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}return t.prototype.set_default_values=function(){var t=this;return this.click_test_action=function(e){return t.test_active_click(e)},this.activate_action=function(e){return t.activate_field(e)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text&&this.options.allow_single_deselect,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null==this.options.enable_split_word_search||this.options.enable_split_word_search,this.group_search=null==this.options.group_search||this.options.group_search,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null==this.options.single_backstroke_delete||this.options.single_backstroke_delete,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null==this.options.display_selected_options||this.options.display_selected_options,this.display_disabled_options=null==this.options.display_disabled_options||this.options.display_disabled_options,this.include_group_label_in_selected=this.options.include_group_label_in_selected||!1,this.max_shown_results=this.options.max_shown_results||Number.POSITIVE_INFINITY},t.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||t.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||t.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||t.default_no_result_text},t.prototype.choice_label=function(t){return this.include_group_label_in_selected&&null!=t.group_label?"<b class='group-name'>"+t.group_label+"</b>"+t.html:t.html},t.prototype.mouse_enter=function(){return this.mouse_on_container=!0},t.prototype.mouse_leave=function(){return this.mouse_on_container=!1},t.prototype.input_focus=function(t){var e=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return e.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},t.prototype.input_blur=function(t){var e=this;if(!this.mouse_on_container)return this.active_field=!1,setTimeout(function(){return e.blur_test()},100)},t.prototype.results_option_build=function(t){var e,s,i,r,o,n,l;for(e="",r=0,l=this.results_data,o=0,n=l.length;o<n&&(s=l[o],i="",i=s.group?this.result_add_group(s):this.result_add_option(s),""!==i&&(r++,e+=i),(null!=t?t.first:void 0)&&(s.selected&&this.is_multiple?this.choice_build(s):s.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(s))),!(r>=this.max_shown_results));o++);return e},t.prototype.result_add_option=function(t){var e,s;return t.search_match&&this.include_option_in_results(t)?(e=[],t.disabled||t.selected&&this.is_multiple||e.push("active-result"),!t.disabled||t.selected&&this.is_multiple||e.push("disabled-result"),t.selected&&e.push("result-selected"),null!=t.group_array_index&&e.push("group-option"),""!==t.classes&&e.push(t.classes),s=document.createElement("li"),s.className=e.join(" "),s.style.cssText=t.style,s.setAttribute("data-option-array-index",t.array_index),s.innerHTML=t.search_text,t.title&&(s.title=t.title),this.outerHTML(s)):""},t.prototype.result_add_group=function(t){var e,s;return(t.search_match||t.group_match)&&t.active_options>0?(e=[],e.push("group-result"),t.classes&&e.push(t.classes),s=document.createElement("li"),s.className=e.join(" "),s.innerHTML=t.search_text,t.title&&(s.title=t.title),this.outerHTML(s)):""},t.prototype.results_update_field=function(){if(this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing)return this.winnow_results()},t.prototype.reset_single_select_options=function(){var t,e,s,i,r;for(i=this.results_data,r=[],e=0,s=i.length;e<s;e++)t=i[e],t.selected?r.push(t.selected=!1):r.push(void 0);return r},t.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},t.prototype.results_search=function(t){return this.results_showing?this.winnow_results():this.results_show()},t.prototype.winnow_results=function(){var t,e,s,i,r,o,n,l,h,c,a,_;for(this.no_results_clear(),i=0,o=this.get_search_text(),t=o.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),h=new RegExp(t,"i"),s=this.get_search_regex(t),_=this.results_data,c=0,a=_.length;c<a;c++)e=_[c],e.search_match=!1,r=null,this.include_option_in_results(e)&&(e.group&&(e.group_match=!1,e.active_options=0),null!=e.group_array_index&&this.results_data[e.group_array_index]&&(r=this.results_data[e.group_array_index],0===r.active_options&&r.search_match&&(i+=1),r.active_options+=1),e.search_text=e.group?e.label:e.html,e.group&&!this.group_search||(e.search_match=this.search_string_match(e.search_text,s),e.search_match&&!e.group&&(i+=1),e.search_match?(o.length&&(n=e.search_text.search(h),l=e.search_text.substr(0,n+o.length)+"</em>"+e.search_text.substr(n+o.length),e.search_text=l.substr(0,n)+"<em>"+l.substr(n)),null!=r&&(r.group_match=!0)):null!=e.group_array_index&&this.results_data[e.group_array_index].search_match&&(e.search_match=!0)));return this.result_clear_highlight(),i<1&&o.length?(this.update_results_content(""),this.no_results(o)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},t.prototype.get_search_regex=function(t){var e;return e=this.search_contains?"":"^",new RegExp(e+t,"i")},t.prototype.search_string_match=function(t,e){var s,i,r,o;if(e.test(t))return!0;if(this.enable_split_word_search&&(t.indexOf(" ")>=0||0===t.indexOf("["))&&(i=t.replace(/\[|\]/g,"").split(" "),i.length))for(r=0,o=i.length;r<o;r++)if(s=i[r],e.test(s))return!0},t.prototype.choices_count=function(){var t,e,s,i;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,i=this.form_field.options,e=0,s=i.length;e<s;e++)t=i[e],t.selected&&(this.selected_option_count+=1);return this.selected_option_count},t.prototype.choices_click=function(t){if(t.preventDefault(),!this.results_showing&&!this.is_disabled)return this.results_show()},t.prototype.keyup_checker=function(t){var e,s;switch(e=null!=(s=t.which)?s:t.keyCode,this.search_field_scale(),e){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:if(t.preventDefault(),this.results_showing)return this.result_select(t);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:case 18:break;default:return this.results_search()}},t.prototype.clipboard_event_checker=function(t){var e=this;return setTimeout(function(){return e.results_search()},50)},t.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},t.prototype.include_option_in_results=function(t){return!(this.is_multiple&&!this.display_selected_options&&t.selected)&&(!(!this.display_disabled_options&&t.disabled)&&!t.empty)},t.prototype.search_results_touchstart=function(t){return this.touch_started=!0,this.search_results_mouseover(t)},t.prototype.search_results_touchmove=function(t){return this.touch_started=!1,this.search_results_mouseout(t)},t.prototype.search_results_touchend=function(t){if(this.touch_started)return this.search_results_mouseup(t)},t.prototype.outerHTML=function(t){var e;return t.outerHTML?t.outerHTML:(e=document.createElement("div"),e.appendChild(t),e.innerHTML)},t.browser_is_supported=function(){return!/iP(od|hone)/i.test(window.navigator.userAgent)&&((!/Android/i.test(window.navigator.userAgent)||!/Mobile/i.test(window.navigator.userAgent))&&(!/IEMobile/i.test(window.navigator.userAgent)&&(!/Windows Phone/i.test(window.navigator.userAgent)&&(!/BlackBerry/i.test(window.navigator.userAgent)&&(!/BB10/i.test(window.navigator.userAgent)&&("Microsoft Internet Explorer"!==window.navigator.appName||document.documentMode>=8))))))},t.default_multiple_text="Select Some Options",t.default_single_text="Select an Option",t.default_no_result_text="No results match",t}(),t=jQuery,t.fn.extend({chosen:function(i){return e.browser_is_supported()?this.each(function(e){var r,o;return r=t(this),o=r.data("chosen"),"destroy"===i?void(o instanceof s&&o.destroy()):void(o instanceof s||r.data("chosen",new s(this,i)))}):this}}),s=function(e){function s(){return r=s.__super__.constructor.apply(this,arguments)}return n(s,e),s.prototype.setup=function(){return this.form_field_jq=t(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")},s.prototype.set_up_html=function(){var e,s;return e=["chosen-container"],e.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&e.push(this.form_field.className),this.is_rtl&&e.push("chosen-rtl"),s={"class":e.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(s.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=t("<div />",s),this.is_multiple?this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" value="'+this.default_text+'" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>'):this.container.html('<a class="chosen-single chosen-default"><span>'+this.default_text+'</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off" /></div><ul class="chosen-results"></ul></div>'),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},s.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},s.prototype.register_observers=function(){var t=this;return this.container.bind("touchstart.chosen",function(e){return t.container_mousedown(e),e.preventDefault()}),this.container.bind("touchend.chosen",function(e){return t.container_mouseup(e),e.preventDefault()}),this.container.bind("mousedown.chosen",function(e){t.container_mousedown(e)}),this.container.bind("mouseup.chosen",function(e){t.container_mouseup(e)}),this.container.bind("mouseenter.chosen",function(e){t.mouse_enter(e)}),this.container.bind("mouseleave.chosen",function(e){t.mouse_leave(e)}),this.search_results.bind("mouseup.chosen",function(e){t.search_results_mouseup(e)}),this.search_results.bind("mouseover.chosen",function(e){t.search_results_mouseover(e)}),this.search_results.bind("mouseout.chosen",function(e){t.search_results_mouseout(e)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(e){t.search_results_mousewheel(e)}),this.search_results.bind("touchstart.chosen",function(e){t.search_results_touchstart(e)}),this.search_results.bind("touchmove.chosen",function(e){t.search_results_touchmove(e)}),this.search_results.bind("touchend.chosen",function(e){t.search_results_touchend(e)}),this.form_field_jq.bind("chosen:updated.chosen",function(e){t.results_update_field(e)}),this.form_field_jq.bind("chosen:activate.chosen",function(e){t.activate_field(e)}),this.form_field_jq.bind("chosen:open.chosen",function(e){t.container_mousedown(e)}),this.form_field_jq.bind("chosen:close.chosen",function(e){t.input_blur(e)}),this.search_field.bind("blur.chosen",function(e){t.input_blur(e)}),this.search_field.bind("keyup.chosen",function(e){t.keyup_checker(e)}),this.search_field.bind("keydown.chosen",function(e){t.keydown_checker(e)}),this.search_field.bind("focus.chosen",function(e){t.input_focus(e)}),this.search_field.bind("cut.chosen",function(e){t.clipboard_event_checker(e)}),this.search_field.bind("paste.chosen",function(e){t.clipboard_event_checker(e)}),this.is_multiple?this.search_choices.bind("click.chosen",function(e){t.choices_click(e)}):this.container.bind("click.chosen",function(t){t.preventDefault()})},s.prototype.destroy=function(){return t(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},s.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field_jq[0].disabled,this.is_disabled?(this.container.addClass("chosen-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_action),this.close_field()):(this.container.removeClass("chosen-disabled"),this.search_field[0].disabled=!1,this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_action))},s.prototype.container_mousedown=function(e){if(!this.is_disabled&&(e&&"mousedown"===e.type&&!this.results_showing&&e.preventDefault(),null==e||!t(e.target).hasClass("search-choice-close")))return this.active_field?this.is_multiple||!e||t(e.target)[0]!==this.selected_item[0]&&!t(e.target).parents("a.chosen-single").length||(e.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),t(this.container[0].ownerDocument).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field()},s.prototype.container_mouseup=function(t){if("ABBR"===t.target.nodeName&&!this.is_disabled)return this.results_reset(t)},s.prototype.search_results_mousewheel=function(t){var e;if(t.originalEvent&&(e=t.originalEvent.deltaY||-t.originalEvent.wheelDelta||t.originalEvent.detail),null!=e)return t.preventDefault(),"DOMMouseScroll"===t.type&&(e=40*e),this.search_results.scrollTop(e+this.search_results.scrollTop())},s.prototype.blur_test=function(t){if(!this.active_field&&this.container.hasClass("chosen-container-active"))return this.close_field()},s.prototype.close_field=function(){return t(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},s.prototype.activate_field=function(){return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},s.prototype.test_active_click=function(e){var s;return s=t(e.target).closest(".chosen-container"),s.length&&this.container[0]===s[0]?this.active_field=!0:this.close_field()},s.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=i.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},s.prototype.result_do_highlight=function(t){var e,s,i,r,o;if(t.length){if(this.result_clear_highlight(),this.result_highlight=t,this.result_highlight.addClass("highlighted"),i=parseInt(this.search_results.css("maxHeight"),10),o=this.search_results.scrollTop(),r=i+o,s=this.result_highlight.position().top+this.search_results.scrollTop(),e=s+this.result_highlight.outerHeight(),e>=r)return this.search_results.scrollTop(e-i>0?e-i:0);if(s<o)return this.search_results.scrollTop(s)}},s.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},s.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},s.prototype.update_results_content=function(t){return this.search_results.html(t)},s.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},s.prototype.set_tab_index=function(t){var e;if(this.form_field.tabIndex)return e=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=e},s.prototype.set_label_behavior=function(){var e=this;if(this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=t("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0)return this.form_field_label.bind("click.chosen",function(t){return e.is_multiple?e.container_mousedown(t):e.activate_field()})},s.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},s.prototype.search_results_mouseup=function(e){var s;if(s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first(),s.length)return this.result_highlight=s,this.result_select(e),this.search_field.focus()},s.prototype.search_results_mouseover=function(e){var s;if(s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first())return this.result_do_highlight(s)},s.prototype.search_results_mouseout=function(e){if(t(e.target).hasClass("active-result"))return this.result_clear_highlight()},s.prototype.choice_build=function(e){var s,i,r=this;return s=t("<li />",{"class":"search-choice"}).html("<span>"+this.choice_label(e)+"</span>"),e.disabled?s.addClass("search-choice-disabled"):(i=t("<a />",{"class":"search-choice-close","data-option-array-index":e.array_index}),i.bind("click.chosen",function(t){return r.choice_destroy_link_click(t)}),s.append(i)),this.search_container.before(s)},s.prototype.choice_destroy_link_click=function(e){if(e.preventDefault(),e.stopPropagation(),!this.is_disabled)return this.choice_destroy(t(e.target))},s.prototype.choice_destroy=function(t){if(this.result_deselect(t[0].getAttribute("data-option-array-index")))return this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1&&this.results_hide(),t.parents("li").first().remove(),this.search_field_scale()},s.prototype.results_reset=function(){if(this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change"),this.active_field)return this.results_hide()},s.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},s.prototype.result_select=function(t){var e,s;if(this.result_highlight)return e=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?e.removeClass("active-result"):this.reset_single_select_options(),e.addClass("result-selected"),s=this.results_data[e[0].getAttribute("data-option-array-index")],s.selected=!0,this.form_field.options[s.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(s):this.single_set_selected_text(this.choice_label(s)),(t.metaKey||t.ctrlKey)&&this.is_multiple||this.results_hide(),this.show_search_field_default(),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[s.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,t.preventDefault(),this.search_field_scale())},s.prototype.single_set_selected_text=function(t){return null==t&&(t=this.default_text),t===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").html(t)},s.prototype.result_deselect=function(t){var e;return e=this.results_data[t],!this.form_field.options[e.options_index].disabled&&(e.selected=!1,this.form_field.options[e.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[e.options_index].value}),this.search_field_scale(),!0)},s.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect)return this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")},s.prototype.get_search_text=function(){return t("<div/>").text(t.trim(this.search_field.val())).html()},s.prototype.winnow_results_set_highlight=function(){var t,e;if(e=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),t=e.length?e.first():this.search_results.find(".active-result").first(),null!=t)return this.result_do_highlight(t)},s.prototype.no_results=function(e){var s;return s=t('<li class="no-results">'+this.results_none_found+' "<span></span>"</li>'),s.find("span").first().html(e),this.search_results.append(s),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},s.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},s.prototype.keydown_arrow=function(){var t;return this.results_showing&&this.result_highlight?(t=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(t):void 0:this.results_show()},s.prototype.keyup_arrow=function(){var t;return this.results_showing||this.is_multiple?this.result_highlight?(t=this.result_highlight.prevAll("li.active-result"),t.length?this.result_do_highlight(t.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},s.prototype.keydown_backstroke=function(){var t;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(t=this.search_container.siblings("li.search-choice").last(),t.length&&!t.hasClass("search-choice-disabled")?(this.pending_backstroke=t,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0)},s.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},s.prototype.keydown_checker=function(t){var e,s;switch(e=null!=(s=t.which)?s:t.keyCode,this.search_field_scale(),8!==e&&this.pending_backstroke&&this.clear_backstroke(),e){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(t),this.mouse_on_container=!1;break;case 13:this.results_showing&&t.preventDefault();break;case 32:this.disable_search&&t.preventDefault();break;case 38:t.preventDefault(),this.keyup_arrow();break;case 40:t.preventDefault(),this.keydown_arrow()}},s.prototype.search_field_scale=function(){var e,s,i,r,o,n,l,h,c;if(this.is_multiple){for(i=0,l=0,o="position:absolute; left: -1000px; top: -1000px; display:none;",n=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"],h=0,c=n.length;h<c;h++)r=n[h],o+=r+":"+this.search_field.css(r)+";";return e=t("<div />",{style:o}),e.text(this.search_field.val()),t("body").append(e),l=e.width()+25,e.remove(),s=this.container.outerWidth(),l>s-10&&(l=s-10),this.search_field.css({width:l+"px"})}},s}(e)}).call(this);
|
1 |
+
(function(){var t,e,s,i,r,n=function(t,e){return function(){return t.apply(e,arguments)}},o={}.hasOwnProperty,l=function(t,e){function s(){this.constructor=t}for(var i in e)o.call(e,i)&&(t[i]=e[i]);return s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype,t};i=function(){function t(){this.options_index=0,this.parsed=[]}return t.prototype.add_node=function(t){return"OPTGROUP"===t.nodeName.toUpperCase()?this.add_group(t):this.add_option(t)},t.prototype.add_group=function(t){var e,s,i,r,n,o;for(e=this.parsed.length,this.parsed.push({array_index:e,group:!0,label:this.escapeExpression(t.label),title:t.title?t.title:void 0,children:0,disabled:t.disabled,classes:t.className}),n=t.childNodes,o=[],i=0,r=n.length;i<r;i++)s=n[i],o.push(this.add_option(s,e,t.disabled));return o},t.prototype.add_option=function(t,e,s){if("OPTION"===t.nodeName.toUpperCase())return""!==t.text?(null!=e&&(this.parsed[e].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:t.value,text:t.text,html:t.innerHTML,title:t.title?t.title:void 0,selected:t.selected,disabled:s===!0?s:t.disabled,group_array_index:e,group_label:null!=e?this.parsed[e].label:null,classes:t.className,style:t.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},t.prototype.escapeExpression=function(t){var e,s;return null==t||t===!1?"":/[\&\<\>\"\'\`]/.test(t)?(e={"<":"<",">":">",'"':""","'":"'","`":"`"},s=/&(?!\w+;)|[\<\>\"\'\`]/g,t.replace(s,function(t){return e[t]||"&"})):t},t}(),i.select_to_array=function(t){var e,s,r,n,o;for(s=new i,o=t.childNodes,r=0,n=o.length;r<n;r++)e=o[r],s.add_node(e);return s.parsed},e=function(){function t(e,s){this.form_field=e,this.options=null!=s?s:{},this.label_click_handler=n(this.label_click_handler,this),t.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}return t.prototype.set_default_values=function(){var t=this;return this.click_test_action=function(e){return t.test_active_click(e)},this.activate_action=function(e){return t.activate_field(e)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.is_rtl=this.options.rtl||/\bchosen-rtl\b/.test(this.form_field.className),this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text&&this.options.allow_single_deselect,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null==this.options.enable_split_word_search||this.options.enable_split_word_search,this.group_search=null==this.options.group_search||this.options.group_search,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null==this.options.single_backstroke_delete||this.options.single_backstroke_delete,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null==this.options.display_selected_options||this.options.display_selected_options,this.display_disabled_options=null==this.options.display_disabled_options||this.options.display_disabled_options,this.include_group_label_in_selected=this.options.include_group_label_in_selected||!1,this.max_shown_results=this.options.max_shown_results||Number.POSITIVE_INFINITY,this.case_sensitive_search=this.options.case_sensitive_search||!1,this.hide_results_on_select=null==this.options.hide_results_on_select||this.options.hide_results_on_select},t.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||t.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||t.default_single_text,this.default_text=this.escape_html(this.default_text),this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||t.default_no_result_text},t.prototype.choice_label=function(t){return this.include_group_label_in_selected&&null!=t.group_label?"<b class='group-name'>"+t.group_label+"</b>"+t.html:t.html},t.prototype.mouse_enter=function(){return this.mouse_on_container=!0},t.prototype.mouse_leave=function(){return this.mouse_on_container=!1},t.prototype.input_focus=function(t){var e=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return e.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},t.prototype.input_blur=function(t){var e=this;if(!this.mouse_on_container)return this.active_field=!1,setTimeout(function(){return e.blur_test()},100)},t.prototype.label_click_handler=function(t){return this.is_multiple?this.container_mousedown(t):this.activate_field()},t.prototype.results_option_build=function(t){var e,s,i,r,n,o,l;for(e="",r=0,l=this.results_data,n=0,o=l.length;n<o&&(s=l[n],i="",i=s.group?this.result_add_group(s):this.result_add_option(s),""!==i&&(r++,e+=i),(null!=t?t.first:void 0)&&(s.selected&&this.is_multiple?this.choice_build(s):s.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(s))),!(r>=this.max_shown_results));n++);return e},t.prototype.result_add_option=function(t){var e,s;return t.search_match&&this.include_option_in_results(t)?(e=[],t.disabled||t.selected&&this.is_multiple||e.push("active-result"),!t.disabled||t.selected&&this.is_multiple||e.push("disabled-result"),t.selected&&e.push("result-selected"),null!=t.group_array_index&&e.push("group-option"),""!==t.classes&&e.push(t.classes),s=document.createElement("li"),s.className=e.join(" "),s.style.cssText=t.style,s.setAttribute("data-option-array-index",t.array_index),s.innerHTML=t.search_text,t.title&&(s.title=t.title),this.outerHTML(s)):""},t.prototype.result_add_group=function(t){var e,s;return(t.search_match||t.group_match)&&t.active_options>0?(e=[],e.push("group-result"),t.classes&&e.push(t.classes),s=document.createElement("li"),s.className=e.join(" "),s.innerHTML=t.search_text,t.title&&(s.title=t.title),this.outerHTML(s)):""},t.prototype.results_update_field=function(){if(this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing)return this.winnow_results()},t.prototype.reset_single_select_options=function(){var t,e,s,i,r;for(i=this.results_data,r=[],e=0,s=i.length;e<s;e++)t=i[e],t.selected?r.push(t.selected=!1):r.push(void 0);return r},t.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},t.prototype.results_search=function(t){return this.results_showing?this.winnow_results():this.results_show()},t.prototype.winnow_results=function(){var t,e,s,i,r,n,o,l,h,c,_,a;for(this.no_results_clear(),r=0,o=this.get_search_text(),t=o.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),i=this.get_search_regex(t),e=this.get_highlight_regex(t),a=this.results_data,c=0,_=a.length;c<_;c++)s=a[c],s.search_match=!1,n=null,this.include_option_in_results(s)&&(s.group&&(s.group_match=!1,s.active_options=0),null!=s.group_array_index&&this.results_data[s.group_array_index]&&(n=this.results_data[s.group_array_index],0===n.active_options&&n.search_match&&(r+=1),n.active_options+=1),s.search_text=s.group?s.label:s.html,s.group&&!this.group_search||(s.search_match=this.search_string_match(s.search_text,i),s.search_match&&!s.group&&(r+=1),s.search_match?(o.length&&(l=s.search_text.search(e),h=s.search_text.substr(0,l+o.length)+"</em>"+s.search_text.substr(l+o.length),s.search_text=h.substr(0,l)+"<em>"+h.substr(l)),null!=n&&(n.group_match=!0)):null!=s.group_array_index&&this.results_data[s.group_array_index].search_match&&(s.search_match=!0)));return this.result_clear_highlight(),r<1&&o.length?(this.update_results_content(""),this.no_results(o)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},t.prototype.get_search_regex=function(t){var e,s;return e=this.search_contains?"":"^",s=this.case_sensitive_search?"":"i",new RegExp(e+t,s)},t.prototype.get_highlight_regex=function(t){var e,s;return e=this.search_contains?"":"\\b",s=this.case_sensitive_search?"":"i",new RegExp(e+t,s)},t.prototype.search_string_match=function(t,e){var s,i,r,n;if(e.test(t))return!0;if(this.enable_split_word_search&&(t.indexOf(" ")>=0||0===t.indexOf("["))&&(i=t.replace(/\[|\]/g,"").split(" "),i.length))for(r=0,n=i.length;r<n;r++)if(s=i[r],e.test(s))return!0},t.prototype.choices_count=function(){var t,e,s,i;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,i=this.form_field.options,e=0,s=i.length;e<s;e++)t=i[e],t.selected&&(this.selected_option_count+=1);return this.selected_option_count},t.prototype.choices_click=function(t){if(t.preventDefault(),this.activate_field(),!this.results_showing&&!this.is_disabled)return this.results_show()},t.prototype.keydown_checker=function(t){var e,s;switch(e=null!=(s=t.which)?s:t.keyCode,this.search_field_scale(),8!==e&&this.pending_backstroke&&this.clear_backstroke(),e){case 8:this.backstroke_length=this.get_search_field_value().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(t),this.mouse_on_container=!1;break;case 13:this.results_showing&&t.preventDefault();break;case 27:this.results_showing&&t.preventDefault();break;case 32:this.disable_search&&t.preventDefault();break;case 38:t.preventDefault(),this.keyup_arrow();break;case 40:t.preventDefault(),this.keydown_arrow()}},t.prototype.keyup_checker=function(t){var e,s;switch(e=null!=(s=t.which)?s:t.keyCode,this.search_field_scale(),e){case 8:this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0?this.keydown_backstroke():this.pending_backstroke||(this.result_clear_highlight(),this.results_search());break;case 13:t.preventDefault(),this.results_showing&&this.result_select(t);break;case 27:this.results_showing&&this.results_hide();break;case 9:case 16:case 17:case 18:case 38:case 40:case 91:break;default:this.results_search()}},t.prototype.clipboard_event_checker=function(t){var e=this;if(!this.is_disabled)return setTimeout(function(){return e.results_search()},50)},t.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},t.prototype.include_option_in_results=function(t){return!(this.is_multiple&&!this.display_selected_options&&t.selected)&&(!(!this.display_disabled_options&&t.disabled)&&!t.empty)},t.prototype.search_results_touchstart=function(t){return this.touch_started=!0,this.search_results_mouseover(t)},t.prototype.search_results_touchmove=function(t){return this.touch_started=!1,this.search_results_mouseout(t)},t.prototype.search_results_touchend=function(t){if(this.touch_started)return this.search_results_mouseup(t)},t.prototype.outerHTML=function(t){var e;return t.outerHTML?t.outerHTML:(e=document.createElement("div"),e.appendChild(t),e.innerHTML)},t.prototype.get_single_html=function(){return'<a class="chosen-single chosen-default">\n <span>'+this.default_text+'</span>\n <div><b></b></div>\n</a>\n<div class="chosen-drop">\n <div class="chosen-search">\n <input class="chosen-search-input" type="text" autocomplete="off" />\n </div>\n <ul class="chosen-results"></ul>\n</div>'},t.prototype.get_multi_html=function(){return'<ul class="chosen-choices">\n <li class="search-field">\n <input class="chosen-search-input" type="text" autocomplete="off" value="'+this.default_text+'" />\n </li>\n</ul>\n<div class="chosen-drop">\n <ul class="chosen-results"></ul>\n</div>'},t.prototype.get_no_results_html=function(t){return'<li class="no-results">\n '+this.results_none_found+" <span>"+t+"</span>\n</li>"},t.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:!(/iP(od|hone)/i.test(window.navigator.userAgent)||/IEMobile/i.test(window.navigator.userAgent)||/Windows Phone/i.test(window.navigator.userAgent)||/BlackBerry/i.test(window.navigator.userAgent)||/BB10/i.test(window.navigator.userAgent)||/Android.*Mobile/i.test(window.navigator.userAgent))},t.default_multiple_text="Select Some Options",t.default_single_text="Select an Option",t.default_no_result_text="No results match",t}(),t=jQuery,t.fn.extend({chosen:function(i){return e.browser_is_supported()?this.each(function(e){var r,n;return r=t(this),n=r.data("chosen"),"destroy"===i?void(n instanceof s&&n.destroy()):void(n instanceof s||r.data("chosen",new s(this,i)))}):this}}),s=function(e){function s(){return r=s.__super__.constructor.apply(this,arguments)}return l(s,e),s.prototype.setup=function(){return this.form_field_jq=t(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex},s.prototype.set_up_html=function(){var e,s;return e=["chosen-container"],e.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&e.push(this.form_field.className),this.is_rtl&&e.push("chosen-rtl"),s={"class":e.join(" "),title:this.form_field.title},this.form_field.id.length&&(s.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=t("<div />",s),this.container.width(this.container_width()),this.is_multiple?this.container.html(this.get_multi_html()):this.container.html(this.get_single_html()),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},s.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},s.prototype.register_observers=function(){var t=this;return this.container.bind("touchstart.chosen",function(e){t.container_mousedown(e)}),this.container.bind("touchend.chosen",function(e){t.container_mouseup(e)}),this.container.bind("mousedown.chosen",function(e){t.container_mousedown(e)}),this.container.bind("mouseup.chosen",function(e){t.container_mouseup(e)}),this.container.bind("mouseenter.chosen",function(e){t.mouse_enter(e)}),this.container.bind("mouseleave.chosen",function(e){t.mouse_leave(e)}),this.search_results.bind("mouseup.chosen",function(e){t.search_results_mouseup(e)}),this.search_results.bind("mouseover.chosen",function(e){t.search_results_mouseover(e)}),this.search_results.bind("mouseout.chosen",function(e){t.search_results_mouseout(e)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(e){t.search_results_mousewheel(e)}),this.search_results.bind("touchstart.chosen",function(e){t.search_results_touchstart(e)}),this.search_results.bind("touchmove.chosen",function(e){t.search_results_touchmove(e)}),this.search_results.bind("touchend.chosen",function(e){t.search_results_touchend(e)}),this.form_field_jq.bind("chosen:updated.chosen",function(e){t.results_update_field(e)}),this.form_field_jq.bind("chosen:activate.chosen",function(e){t.activate_field(e)}),this.form_field_jq.bind("chosen:open.chosen",function(e){t.container_mousedown(e)}),this.form_field_jq.bind("chosen:close.chosen",function(e){t.close_field(e)}),this.search_field.bind("blur.chosen",function(e){t.input_blur(e)}),this.search_field.bind("keyup.chosen",function(e){t.keyup_checker(e)}),this.search_field.bind("keydown.chosen",function(e){t.keydown_checker(e)}),this.search_field.bind("focus.chosen",function(e){t.input_focus(e)}),this.search_field.bind("cut.chosen",function(e){t.clipboard_event_checker(e)}),this.search_field.bind("paste.chosen",function(e){t.clipboard_event_checker(e)}),this.is_multiple?this.search_choices.bind("click.chosen",function(e){t.choices_click(e)}):this.container.bind("click.chosen",function(t){t.preventDefault()})},s.prototype.destroy=function(){return t(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.form_field_label.length>0&&this.form_field_label.unbind("click.chosen"),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},s.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field.disabled||this.form_field_jq.parents("fieldset").is(":disabled"),this.container.toggleClass("chosen-disabled",this.is_disabled),this.search_field[0].disabled=this.is_disabled,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_field),this.is_disabled?this.close_field():this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_field)},s.prototype.container_mousedown=function(e){var s;if(!this.is_disabled)return!e||"mousedown"!==(s=e.type)&&"touchstart"!==s||this.results_showing||e.preventDefault(),null!=e&&t(e.target).hasClass("search-choice-close")?void 0:(this.active_field?this.is_multiple||!e||t(e.target)[0]!==this.selected_item[0]&&!t(e.target).parents("a.chosen-single").length||(e.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),t(this.container[0].ownerDocument).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},s.prototype.container_mouseup=function(t){if("ABBR"===t.target.nodeName&&!this.is_disabled)return this.results_reset(t)},s.prototype.search_results_mousewheel=function(t){var e;if(t.originalEvent&&(e=t.originalEvent.deltaY||-t.originalEvent.wheelDelta||t.originalEvent.detail),null!=e)return t.preventDefault(),"DOMMouseScroll"===t.type&&(e=40*e),this.search_results.scrollTop(e+this.search_results.scrollTop())},s.prototype.blur_test=function(t){if(!this.active_field&&this.container.hasClass("chosen-container-active"))return this.close_field()},s.prototype.close_field=function(){return t(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale(),this.search_field.blur()},s.prototype.activate_field=function(){if(!this.is_disabled)return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},s.prototype.test_active_click=function(e){var s;return s=t(e.target).closest(".chosen-container"),s.length&&this.container[0]===s[0]?this.active_field=!0:this.close_field()},s.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=i.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},s.prototype.result_do_highlight=function(t){var e,s,i,r,n;if(t.length){if(this.result_clear_highlight(),this.result_highlight=t,this.result_highlight.addClass("highlighted"),i=parseInt(this.search_results.css("maxHeight"),10),n=this.search_results.scrollTop(),r=i+n,s=this.result_highlight.position().top+this.search_results.scrollTop(),e=s+this.result_highlight.outerHeight(),e>=r)return this.search_results.scrollTop(e-i>0?e-i:0);if(s<n)return this.search_results.scrollTop(s)}},s.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},s.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.get_search_field_value()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},s.prototype.update_results_content=function(t){return this.search_results.html(t)},s.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},s.prototype.set_tab_index=function(t){var e;if(this.form_field.tabIndex)return e=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=e},s.prototype.set_label_behavior=function(){if(this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=t("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0)return this.form_field_label.bind("click.chosen",this.label_click_handler)},s.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},s.prototype.search_results_mouseup=function(e){var s;if(s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first(),s.length)return this.result_highlight=s,this.result_select(e),this.search_field.focus()},s.prototype.search_results_mouseover=function(e){var s;if(s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first())return this.result_do_highlight(s)},s.prototype.search_results_mouseout=function(e){if(t(e.target).hasClass("active-result"))return this.result_clear_highlight()},s.prototype.choice_build=function(e){var s,i,r=this;return s=t("<li />",{"class":"search-choice"}).html("<span>"+this.choice_label(e)+"</span>"),e.disabled?s.addClass("search-choice-disabled"):(i=t("<a />",{"class":"search-choice-close","data-option-array-index":e.array_index}),i.bind("click.chosen",function(t){return r.choice_destroy_link_click(t)}),s.append(i)),this.search_container.before(s)},s.prototype.choice_destroy_link_click=function(e){if(e.preventDefault(),e.stopPropagation(),!this.is_disabled)return this.choice_destroy(t(e.target))},s.prototype.choice_destroy=function(t){if(this.result_deselect(t[0].getAttribute("data-option-array-index")))return this.active_field?this.search_field.focus():this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.get_search_field_value().length<1&&this.results_hide(),t.parents("li").first().remove(),this.search_field_scale()},s.prototype.results_reset=function(){if(this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.trigger_form_field_change(),this.active_field)return this.results_hide()},s.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},s.prototype.result_select=function(t){var e,s;if(this.result_highlight)return e=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?e.removeClass("active-result"):this.reset_single_select_options(),e.addClass("result-selected"),s=this.results_data[e[0].getAttribute("data-option-array-index")],s.selected=!0,this.form_field.options[s.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(s):this.single_set_selected_text(this.choice_label(s)),this.is_multiple&&(!this.hide_results_on_select||t.metaKey||t.ctrlKey)||(this.results_hide(),this.show_search_field_default()),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.trigger_form_field_change({selected:this.form_field.options[s.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,t.preventDefault(),this.search_field_scale())},s.prototype.single_set_selected_text=function(t){return null==t&&(t=this.default_text),t===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").html(t)},s.prototype.result_deselect=function(t){var e;return e=this.results_data[t],!this.form_field.options[e.options_index].disabled&&(e.selected=!1,this.form_field.options[e.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.trigger_form_field_change({deselected:this.form_field.options[e.options_index].value}),this.search_field_scale(),!0)},s.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect)return this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")},s.prototype.get_search_field_value=function(){return this.search_field.val()},s.prototype.get_search_text=function(){return this.escape_html(t.trim(this.get_search_field_value()))},s.prototype.escape_html=function(e){return t("<div/>").text(e).html()},s.prototype.winnow_results_set_highlight=function(){var t,e;if(e=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),t=e.length?e.first():this.search_results.find(".active-result").first(),null!=t)return this.result_do_highlight(t)},s.prototype.no_results=function(t){var e;return e=this.get_no_results_html(t),this.search_results.append(e),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},s.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},s.prototype.keydown_arrow=function(){var t;return this.results_showing&&this.result_highlight?(t=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(t):void 0:this.results_show()},s.prototype.keyup_arrow=function(){var t;return this.results_showing||this.is_multiple?this.result_highlight?(t=this.result_highlight.prevAll("li.active-result"),t.length?this.result_do_highlight(t.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},s.prototype.keydown_backstroke=function(){var t;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(t=this.search_container.siblings("li.search-choice").last(),t.length&&!t.hasClass("search-choice-disabled")?(this.pending_backstroke=t,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0)},s.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},s.prototype.search_field_scale=function(){var e,s,i,r,n,o,l,h;if(this.is_multiple){for(r={position:"absolute",left:"-1000px",top:"-1000px",display:"none",whiteSpace:"pre"},n=["fontSize","fontStyle","fontWeight","fontFamily","lineHeight","textTransform","letterSpacing"],l=0,h=n.length;l<h;l++)i=n[l],r[i]=this.search_field.css(i);return s=t("<div />").css(r),s.text(this.get_search_field_value()),t("body").append(s),o=s.width()+25,s.remove(),e=this.container.outerWidth(),o=Math.min(e-10,o),this.search_field.width(o)}},s.prototype.trigger_form_field_change=function(t){return this.form_field_jq.trigger("input",t),this.form_field_jq.trigger("change",t)},s}(e)}).call(this);
|
assets/js/plugins/jquery.flot.orderBars.js
CHANGED
@@ -88,8 +88,8 @@
|
|
88 |
function getAxeMinMaxValues(series,AxeIdx){
|
89 |
var minMaxValues = new Array();
|
90 |
for(var i = 0; i < series.length; i++){
|
91 |
-
minMaxValues[0] = series[i].data[0][AxeIdx];
|
92 |
-
minMaxValues[1] = series[i].data[series[i].data.length - 1][AxeIdx];
|
93 |
}
|
94 |
return minMaxValues;
|
95 |
}
|
88 |
function getAxeMinMaxValues(series,AxeIdx){
|
89 |
var minMaxValues = new Array();
|
90 |
for(var i = 0; i < series.length; i++){
|
91 |
+
minMaxValues[0] = (series[i].data[0]) ? series[i].data[0][AxeIdx]: null;
|
92 |
+
minMaxValues[1] = (series[i].data[series[i].data.length - 1]) ? series[i].data[series[i].data.length - 1][AxeIdx]: null;
|
93 |
}
|
94 |
return minMaxValues;
|
95 |
}
|
assets/js/plugins/jquery.flot.orderBars.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(r){function n(r){function n(r,n,
|
1 |
+
!function(r){function n(r){function n(r,n,e){var i=null;if(t(n)&&(l(n),a(r),o(r),s(n),p>=2)){var u=d(n),v=0,W=f();"undefined"==typeof D[n.bars.order]&&(h(u)?D[n.bars.order]=-1*b(g,u-1,Math.floor(p/2)-1)-W:D[n.bars.order]=b(g,Math.ceil(p/2),u-2)+W+2*y),v=D[n.bars.order],i=c(e,n,v),e.points=i}return i}function t(r){return null!=r.bars&&r.bars.show&&null!=r.bars.order}function a(r){var n=w?r.getPlaceholder().innerHeight():r.getPlaceholder().innerWidth(),t=w?e(r.getData(),1):e(r.getData(),0),a=t[1]-t[0];W=a/n}function e(r,n){for(var t=new Array,a=0;a<r.length;a++)t[0]=r[a].data[0]?r[a].data[0][n]:null,t[1]=r[a].data[r[a].data.length-1]?r[a].data[r[a].data.length-1][n]:null;return t}function o(r){g=i(r.getData()),p=g.length}function i(r){for(var n=new Array,t=[],a=0;a<r.length;a++)null!=r[a].bars.order&&r[a].bars.show&&t.indexOf(r[a].bars.order)<0&&(t.push(r[a].bars.order),n.push(r[a]));return n.sort(u)}function u(r,n){var t=r.bars.order,a=n.bars.order;return t<a?-1:t>a?1:0}function s(r){v="undefined"!=typeof r.bars.lineWidth?r.bars.lineWidth:2,y=v*W}function l(r){r.bars.horizontal&&(w=!0)}function d(r){for(var n=0,t=0;t<g.length;++t)if(r==g[t]){n=t;break}return n+1}function f(){var r=0;return p%2!=0&&(r=g[Math.ceil(p/2)].bars.barWidth/2),r}function h(r){return r<=Math.ceil(p/2)}function b(r,n,t){for(var a=0,e=n;e<=t;e++)a+=r[e].bars.barWidth+2*y;return a}function c(r,n,t){for(var a=r.pointsize,e=r.points,o=0,i=w?1:0;i<e.length;i+=a)e[i]+=t,n.data[o][3]=e[i],o++;return e}var g,p,v,y,W=1,w=!1,D={};r.hooks.processDatapoints.push(n)}var t={series:{bars:{order:null}}};r.plot.plugins.push({init:n,options:t,name:"orderBars",version:"0.2"})}(jQuery);
|
assets/js/plugins/jquery.payment.js
CHANGED
@@ -20,78 +20,71 @@
|
|
20 |
|
21 |
$.payment.cards = cards = [
|
22 |
{
|
23 |
-
type: 'visaelectron',
|
24 |
-
pattern: /^4(026|17500|405|508|844|91[37])/,
|
25 |
-
format: defaultFormat,
|
26 |
-
length: [16],
|
27 |
-
cvcLength: [3],
|
28 |
-
luhn: true
|
29 |
-
}, {
|
30 |
type: 'maestro',
|
31 |
-
|
32 |
format: defaultFormat,
|
33 |
length: [12, 13, 14, 15, 16, 17, 18, 19],
|
34 |
cvcLength: [3],
|
35 |
luhn: true
|
36 |
}, {
|
37 |
type: 'forbrugsforeningen',
|
38 |
-
|
39 |
format: defaultFormat,
|
40 |
length: [16],
|
41 |
cvcLength: [3],
|
42 |
luhn: true
|
43 |
}, {
|
44 |
type: 'dankort',
|
45 |
-
|
46 |
format: defaultFormat,
|
47 |
length: [16],
|
48 |
cvcLength: [3],
|
49 |
luhn: true
|
50 |
}, {
|
51 |
type: 'visa',
|
52 |
-
|
53 |
format: defaultFormat,
|
54 |
length: [13, 16],
|
55 |
cvcLength: [3],
|
56 |
luhn: true
|
57 |
}, {
|
58 |
type: 'mastercard',
|
59 |
-
|
60 |
format: defaultFormat,
|
61 |
length: [16],
|
62 |
cvcLength: [3],
|
63 |
luhn: true
|
64 |
}, {
|
65 |
type: 'amex',
|
66 |
-
|
67 |
format: /(\d{1,4})(\d{1,6})?(\d{1,5})?/,
|
68 |
length: [15],
|
69 |
cvcLength: [3, 4],
|
70 |
luhn: true
|
71 |
}, {
|
72 |
type: 'dinersclub',
|
73 |
-
|
74 |
format: /(\d{1,4})(\d{1,6})?(\d{1,4})?/,
|
75 |
length: [14],
|
76 |
cvcLength: [3],
|
77 |
luhn: true
|
78 |
}, {
|
79 |
type: 'discover',
|
80 |
-
|
81 |
format: defaultFormat,
|
82 |
length: [16],
|
83 |
cvcLength: [3],
|
84 |
luhn: true
|
85 |
}, {
|
86 |
type: 'unionpay',
|
87 |
-
|
88 |
format: defaultFormat,
|
89 |
length: [16, 17, 18, 19],
|
90 |
cvcLength: [3],
|
91 |
luhn: false
|
92 |
}, {
|
93 |
type: 'jcb',
|
94 |
-
|
95 |
format: defaultFormat,
|
96 |
length: [16],
|
97 |
cvcLength: [3],
|
@@ -100,12 +93,17 @@
|
|
100 |
];
|
101 |
|
102 |
cardFromNumber = function(num) {
|
103 |
-
var card, _i, _len;
|
104 |
num = (num + '').replace(/\D/g, '');
|
105 |
for (_i = 0, _len = cards.length; _i < _len; _i++) {
|
106 |
card = cards[_i];
|
107 |
-
|
108 |
-
|
|
|
|
|
|
|
|
|
|
|
109 |
}
|
110 |
}
|
111 |
};
|
@@ -153,7 +151,7 @@
|
|
153 |
};
|
154 |
|
155 |
safeVal = function(value, $target) {
|
156 |
-
var cursor, error, last;
|
157 |
try {
|
158 |
cursor = $target.prop('selectionStart');
|
159 |
} catch (_error) {
|
@@ -166,13 +164,21 @@
|
|
166 |
if (cursor === last.length) {
|
167 |
cursor = value.length;
|
168 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
$target.prop('selectionStart', cursor);
|
170 |
return $target.prop('selectionEnd', cursor);
|
171 |
}
|
172 |
};
|
173 |
|
174 |
replaceFullWidthChars = function(str) {
|
175 |
-
var
|
176 |
if (str == null) {
|
177 |
str = '';
|
178 |
}
|
@@ -181,20 +187,21 @@
|
|
181 |
value = '';
|
182 |
chars = str.split('');
|
183 |
for (_i = 0, _len = chars.length; _i < _len; _i++) {
|
184 |
-
|
185 |
-
idx = fullWidth.indexOf(
|
186 |
if (idx > -1) {
|
187 |
-
|
188 |
}
|
189 |
-
value +=
|
190 |
}
|
191 |
return value;
|
192 |
};
|
193 |
|
194 |
reFormatNumeric = function(e) {
|
|
|
|
|
195 |
return setTimeout(function() {
|
196 |
-
var
|
197 |
-
$target = $(e.currentTarget);
|
198 |
value = $target.val();
|
199 |
value = replaceFullWidthChars(value);
|
200 |
value = value.replace(/\D/g, '');
|
@@ -203,9 +210,10 @@
|
|
203 |
};
|
204 |
|
205 |
reFormatCardNumber = function(e) {
|
|
|
|
|
206 |
return setTimeout(function() {
|
207 |
-
var
|
208 |
-
$target = $(e.currentTarget);
|
209 |
value = $target.val();
|
210 |
value = replaceFullWidthChars(value);
|
211 |
value = $.payment.formatCardNumber(value);
|
@@ -275,9 +283,10 @@
|
|
275 |
};
|
276 |
|
277 |
reFormatExpiry = function(e) {
|
|
|
|
|
278 |
return setTimeout(function() {
|
279 |
-
var
|
280 |
-
$target = $(e.currentTarget);
|
281 |
value = $target.val();
|
282 |
value = replaceFullWidthChars(value);
|
283 |
value = $.payment.formatExpiry(value);
|
@@ -301,7 +310,14 @@
|
|
301 |
} else if (/^\d\d$/.test(val)) {
|
302 |
e.preventDefault();
|
303 |
return setTimeout(function() {
|
304 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
305 |
});
|
306 |
}
|
307 |
};
|
@@ -351,9 +367,10 @@
|
|
351 |
};
|
352 |
|
353 |
reFormatCVC = function(e) {
|
|
|
|
|
354 |
return setTimeout(function() {
|
355 |
-
var
|
356 |
-
$target = $(e.currentTarget);
|
357 |
value = $target.val();
|
358 |
value = replaceFullWidthChars(value);
|
359 |
value = value.replace(/\D/g, '').slice(0, 4);
|
20 |
|
21 |
$.payment.cards = cards = [
|
22 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
type: 'maestro',
|
24 |
+
patterns: [5018, 502, 503, 506, 56, 58, 639, 6220, 67],
|
25 |
format: defaultFormat,
|
26 |
length: [12, 13, 14, 15, 16, 17, 18, 19],
|
27 |
cvcLength: [3],
|
28 |
luhn: true
|
29 |
}, {
|
30 |
type: 'forbrugsforeningen',
|
31 |
+
patterns: [600],
|
32 |
format: defaultFormat,
|
33 |
length: [16],
|
34 |
cvcLength: [3],
|
35 |
luhn: true
|
36 |
}, {
|
37 |
type: 'dankort',
|
38 |
+
patterns: [5019],
|
39 |
format: defaultFormat,
|
40 |
length: [16],
|
41 |
cvcLength: [3],
|
42 |
luhn: true
|
43 |
}, {
|
44 |
type: 'visa',
|
45 |
+
patterns: [4],
|
46 |
format: defaultFormat,
|
47 |
length: [13, 16],
|
48 |
cvcLength: [3],
|
49 |
luhn: true
|
50 |
}, {
|
51 |
type: 'mastercard',
|
52 |
+
patterns: [51, 52, 53, 54, 55, 22, 23, 24, 25, 26, 27],
|
53 |
format: defaultFormat,
|
54 |
length: [16],
|
55 |
cvcLength: [3],
|
56 |
luhn: true
|
57 |
}, {
|
58 |
type: 'amex',
|
59 |
+
patterns: [34, 37],
|
60 |
format: /(\d{1,4})(\d{1,6})?(\d{1,5})?/,
|
61 |
length: [15],
|
62 |
cvcLength: [3, 4],
|
63 |
luhn: true
|
64 |
}, {
|
65 |
type: 'dinersclub',
|
66 |
+
patterns: [30, 36, 38, 39],
|
67 |
format: /(\d{1,4})(\d{1,6})?(\d{1,4})?/,
|
68 |
length: [14],
|
69 |
cvcLength: [3],
|
70 |
luhn: true
|
71 |
}, {
|
72 |
type: 'discover',
|
73 |
+
patterns: [60, 64, 65, 622],
|
74 |
format: defaultFormat,
|
75 |
length: [16],
|
76 |
cvcLength: [3],
|
77 |
luhn: true
|
78 |
}, {
|
79 |
type: 'unionpay',
|
80 |
+
patterns: [62, 88],
|
81 |
format: defaultFormat,
|
82 |
length: [16, 17, 18, 19],
|
83 |
cvcLength: [3],
|
84 |
luhn: false
|
85 |
}, {
|
86 |
type: 'jcb',
|
87 |
+
patterns: [35],
|
88 |
format: defaultFormat,
|
89 |
length: [16],
|
90 |
cvcLength: [3],
|
93 |
];
|
94 |
|
95 |
cardFromNumber = function(num) {
|
96 |
+
var card, p, pattern, _i, _j, _len, _len1, _ref;
|
97 |
num = (num + '').replace(/\D/g, '');
|
98 |
for (_i = 0, _len = cards.length; _i < _len; _i++) {
|
99 |
card = cards[_i];
|
100 |
+
_ref = card.patterns;
|
101 |
+
for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
|
102 |
+
pattern = _ref[_j];
|
103 |
+
p = pattern + '';
|
104 |
+
if (num.substr(0, p.length) === p) {
|
105 |
+
return card;
|
106 |
+
}
|
107 |
}
|
108 |
}
|
109 |
};
|
151 |
};
|
152 |
|
153 |
safeVal = function(value, $target) {
|
154 |
+
var currPair, cursor, digit, error, last, prevPair;
|
155 |
try {
|
156 |
cursor = $target.prop('selectionStart');
|
157 |
} catch (_error) {
|
164 |
if (cursor === last.length) {
|
165 |
cursor = value.length;
|
166 |
}
|
167 |
+
if (last !== value) {
|
168 |
+
prevPair = last.slice(cursor - 1, +cursor + 1 || 9e9);
|
169 |
+
currPair = value.slice(cursor - 1, +cursor + 1 || 9e9);
|
170 |
+
digit = value[cursor];
|
171 |
+
if (/\d/.test(digit) && prevPair === ("" + digit + " ") && currPair === (" " + digit)) {
|
172 |
+
cursor = cursor + 1;
|
173 |
+
}
|
174 |
+
}
|
175 |
$target.prop('selectionStart', cursor);
|
176 |
return $target.prop('selectionEnd', cursor);
|
177 |
}
|
178 |
};
|
179 |
|
180 |
replaceFullWidthChars = function(str) {
|
181 |
+
var chars, chr, fullWidth, halfWidth, idx, value, _i, _len;
|
182 |
if (str == null) {
|
183 |
str = '';
|
184 |
}
|
187 |
value = '';
|
188 |
chars = str.split('');
|
189 |
for (_i = 0, _len = chars.length; _i < _len; _i++) {
|
190 |
+
chr = chars[_i];
|
191 |
+
idx = fullWidth.indexOf(chr);
|
192 |
if (idx > -1) {
|
193 |
+
chr = halfWidth[idx];
|
194 |
}
|
195 |
+
value += chr;
|
196 |
}
|
197 |
return value;
|
198 |
};
|
199 |
|
200 |
reFormatNumeric = function(e) {
|
201 |
+
var $target;
|
202 |
+
$target = $(e.currentTarget);
|
203 |
return setTimeout(function() {
|
204 |
+
var value;
|
|
|
205 |
value = $target.val();
|
206 |
value = replaceFullWidthChars(value);
|
207 |
value = value.replace(/\D/g, '');
|
210 |
};
|
211 |
|
212 |
reFormatCardNumber = function(e) {
|
213 |
+
var $target;
|
214 |
+
$target = $(e.currentTarget);
|
215 |
return setTimeout(function() {
|
216 |
+
var value;
|
|
|
217 |
value = $target.val();
|
218 |
value = replaceFullWidthChars(value);
|
219 |
value = $.payment.formatCardNumber(value);
|
283 |
};
|
284 |
|
285 |
reFormatExpiry = function(e) {
|
286 |
+
var $target;
|
287 |
+
$target = $(e.currentTarget);
|
288 |
return setTimeout(function() {
|
289 |
+
var value;
|
|
|
290 |
value = $target.val();
|
291 |
value = replaceFullWidthChars(value);
|
292 |
value = $.payment.formatExpiry(value);
|
310 |
} else if (/^\d\d$/.test(val)) {
|
311 |
e.preventDefault();
|
312 |
return setTimeout(function() {
|
313 |
+
var m1, m2;
|
314 |
+
m1 = parseInt(val[0], 10);
|
315 |
+
m2 = parseInt(val[1], 10);
|
316 |
+
if (m2 > 2 && m1 !== 0) {
|
317 |
+
return $target.val("0" + m1 + " / " + m2);
|
318 |
+
} else {
|
319 |
+
return $target.val("" + val + " / ");
|
320 |
+
}
|
321 |
});
|
322 |
}
|
323 |
};
|
367 |
};
|
368 |
|
369 |
reFormatCVC = function(e) {
|
370 |
+
var $target;
|
371 |
+
$target = $(e.currentTarget);
|
372 |
return setTimeout(function() {
|
373 |
+
var value;
|
|
|
374 |
value = $target.val();
|
375 |
value = replaceFullWidthChars(value);
|
376 |
value = value.replace(/\D/g, '').slice(0, 4);
|
assets/js/plugins/jquery.payment.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
(function(){var t,e,n,r,a,i,o,l,u,c,h,
|
1 |
+
(function(){var t,e,n,r,a,i,o,l,u,s,c,h,p,f,g,v,d,m,y,C,T,w,$,D,S=[].slice,k=[].indexOf||function(t){for(var e=0,n=this.length;e<n;e++)if(e in this&&this[e]===t)return e;return-1};t=window.jQuery||window.Zepto||window.$,t.payment={},t.payment.fn={},t.fn.payment=function(){var e,n;return n=arguments[0],e=2<=arguments.length?S.call(arguments,1):[],t.payment.fn[n].apply(this,e)},a=/(\d{1,4})/g,t.payment.cards=r=[{type:"maestro",patterns:[5018,502,503,506,56,58,639,6220,67],format:a,length:[12,13,14,15,16,17,18,19],cvcLength:[3],luhn:!0},{type:"forbrugsforeningen",patterns:[600],format:a,length:[16],cvcLength:[3],luhn:!0},{type:"dankort",patterns:[5019],format:a,length:[16],cvcLength:[3],luhn:!0},{type:"visa",patterns:[4],format:a,length:[13,16],cvcLength:[3],luhn:!0},{type:"mastercard",patterns:[51,52,53,54,55,22,23,24,25,26,27],format:a,length:[16],cvcLength:[3],luhn:!0},{type:"amex",patterns:[34,37],format:/(\d{1,4})(\d{1,6})?(\d{1,5})?/,length:[15],cvcLength:[3,4],luhn:!0},{type:"dinersclub",patterns:[30,36,38,39],format:/(\d{1,4})(\d{1,6})?(\d{1,4})?/,length:[14],cvcLength:[3],luhn:!0},{type:"discover",patterns:[60,64,65,622],format:a,length:[16],cvcLength:[3],luhn:!0},{type:"unionpay",patterns:[62,88],format:a,length:[16,17,18,19],cvcLength:[3],luhn:!1},{type:"jcb",patterns:[35],format:a,length:[16],cvcLength:[3],luhn:!0}],e=function(t){var e,n,a,i,o,l,u,s;for(t=(t+"").replace(/\D/g,""),i=0,l=r.length;i<l;i++)for(e=r[i],s=e.patterns,o=0,u=s.length;o<u;o++)if(a=s[o],n=a+"",t.substr(0,n.length)===n)return e},n=function(t){var e,n,a;for(n=0,a=r.length;n<a;n++)if(e=r[n],e.type===t)return e},p=function(t){var e,n,r,a,i,o;for(r=!0,a=0,n=(t+"").split("").reverse(),i=0,o=n.length;i<o;i++)e=n[i],e=parseInt(e,10),(r=!r)&&(e*=2),e>9&&(e-=9),a+=e;return a%10===0},h=function(t){var e;return null!=t.prop("selectionStart")&&t.prop("selectionStart")!==t.prop("selectionEnd")||!(null==("undefined"!=typeof document&&null!==document&&null!=(e=document.selection)?e.createRange:void 0)||!document.selection.createRange().text)},$=function(t,e){var n,r,a,i,o,l;try{r=e.prop("selectionStart")}catch(u){i=u,r=null}if(o=e.val(),e.val(t),null!==r&&e.is(":focus"))return r===o.length&&(r=t.length),o!==t&&(l=o.slice(r-1,+r+1||9e9),n=t.slice(r-1,+r+1||9e9),a=t[r],/\d/.test(a)&&l===""+a+" "&&n===" "+a&&(r+=1)),e.prop("selectionStart",r),e.prop("selectionEnd",r)},m=function(t){var e,n,r,a,i,o,l,u;for(null==t&&(t=""),r="0123456789",a="0123456789",o="",e=t.split(""),l=0,u=e.length;l<u;l++)n=e[l],i=r.indexOf(n),i>-1&&(n=a[i]),o+=n;return o},d=function(e){var n;return n=t(e.currentTarget),setTimeout(function(){var t;return t=n.val(),t=m(t),t=t.replace(/\D/g,""),$(t,n)})},g=function(e){var n;return n=t(e.currentTarget),setTimeout(function(){var e;return e=n.val(),e=m(e),e=t.payment.formatCardNumber(e),$(e,n)})},l=function(n){var r,a,i,o,l,u,s;if(i=String.fromCharCode(n.which),/^\d+$/.test(i)&&(r=t(n.currentTarget),s=r.val(),a=e(s+i),o=(s.replace(/\D/g,"")+i).length,u=16,a&&(u=a.length[a.length.length-1]),!(o>=u||null!=r.prop("selectionStart")&&r.prop("selectionStart")!==s.length)))return l=a&&"amex"===a.type?/^(\d{4}|\d{4}\s\d{6})$/:/(?:^|\s)(\d{4})$/,l.test(s)?(n.preventDefault(),setTimeout(function(){return r.val(s+" "+i)})):l.test(s+i)?(n.preventDefault(),setTimeout(function(){return r.val(s+i+" ")})):void 0},i=function(e){var n,r;if(n=t(e.currentTarget),r=n.val(),8===e.which&&(null==n.prop("selectionStart")||n.prop("selectionStart")===r.length))return/\d\s$/.test(r)?(e.preventDefault(),setTimeout(function(){return n.val(r.replace(/\d\s$/,""))})):/\s\d?$/.test(r)?(e.preventDefault(),setTimeout(function(){return n.val(r.replace(/\d$/,""))})):void 0},v=function(e){var n;return n=t(e.currentTarget),setTimeout(function(){var e;return e=n.val(),e=m(e),e=t.payment.formatExpiry(e),$(e,n)})},u=function(e){var n,r,a;if(r=String.fromCharCode(e.which),/^\d+$/.test(r))return n=t(e.currentTarget),a=n.val()+r,/^\d$/.test(a)&&"0"!==a&&"1"!==a?(e.preventDefault(),setTimeout(function(){return n.val("0"+a+" / ")})):/^\d\d$/.test(a)?(e.preventDefault(),setTimeout(function(){var t,e;return t=parseInt(a[0],10),e=parseInt(a[1],10),e>2&&0!==t?n.val("0"+t+" / "+e):n.val(""+a+" / ")})):void 0},s=function(e){var n,r,a;if(r=String.fromCharCode(e.which),/^\d+$/.test(r))return n=t(e.currentTarget),a=n.val(),/^\d\d$/.test(a)?n.val(""+a+" / "):void 0},c=function(e){var n,r,a;if(a=String.fromCharCode(e.which),"/"===a||" "===a)return n=t(e.currentTarget),r=n.val(),/^\d$/.test(r)&&"0"!==r?n.val("0"+r+" / "):void 0},o=function(e){var n,r;if(n=t(e.currentTarget),r=n.val(),8===e.which&&(null==n.prop("selectionStart")||n.prop("selectionStart")===r.length))return/\d\s\/\s$/.test(r)?(e.preventDefault(),setTimeout(function(){return n.val(r.replace(/\d\s\/\s$/,""))})):void 0},f=function(e){var n;return n=t(e.currentTarget),setTimeout(function(){var t;return t=n.val(),t=m(t),t=t.replace(/\D/g,"").slice(0,4),$(t,n)})},w=function(t){var e;return!(!t.metaKey&&!t.ctrlKey)||32!==t.which&&(0===t.which||(t.which<33||(e=String.fromCharCode(t.which),!!/[\d\s]/.test(e))))},C=function(n){var r,a,i,o;if(r=t(n.currentTarget),i=String.fromCharCode(n.which),/^\d+$/.test(i)&&!h(r))return o=(r.val()+i).replace(/\D/g,""),a=e(o),a?o.length<=a.length[a.length.length-1]:o.length<=16},T=function(e){var n,r,a;if(n=t(e.currentTarget),r=String.fromCharCode(e.which),/^\d+$/.test(r)&&!h(n))return a=n.val()+r,a=a.replace(/\D/g,""),!(a.length>6)&&void 0},y=function(e){var n,r,a;if(n=t(e.currentTarget),r=String.fromCharCode(e.which),/^\d+$/.test(r)&&!h(n))return a=n.val()+r,a.length<=4},D=function(e){var n,a,i,o,l;if(n=t(e.currentTarget),l=n.val(),o=t.payment.cardType(l)||"unknown",!n.hasClass(o))return a=function(){var t,e,n;for(n=[],t=0,e=r.length;t<e;t++)i=r[t],n.push(i.type);return n}(),n.removeClass("unknown"),n.removeClass(a.join(" ")),n.addClass(o),n.toggleClass("identified","unknown"!==o),n.trigger("payment.cardType",o)},t.payment.fn.formatCardCVC=function(){return this.on("keypress",w),this.on("keypress",y),this.on("paste",f),this.on("change",f),this.on("input",f),this},t.payment.fn.formatCardExpiry=function(){return this.on("keypress",w),this.on("keypress",T),this.on("keypress",u),this.on("keypress",c),this.on("keypress",s),this.on("keydown",o),this.on("change",v),this.on("input",v),this},t.payment.fn.formatCardNumber=function(){return this.on("keypress",w),this.on("keypress",C),this.on("keypress",l),this.on("keydown",i),this.on("keyup",D),this.on("paste",g),this.on("change",g),this.on("input",g),this.on("input",D),this},t.payment.fn.restrictNumeric=function(){return this.on("keypress",w),this.on("paste",d),this.on("change",d),this.on("input",d),this},t.payment.fn.cardExpiryVal=function(){return t.payment.cardExpiryVal(t(this).val())},t.payment.cardExpiryVal=function(t){var e,n,r,a;return a=t.split(/[\s\/]+/,2),e=a[0],r=a[1],2===(null!=r?r.length:void 0)&&/^\d+$/.test(r)&&(n=(new Date).getFullYear(),n=n.toString().slice(0,2),r=n+r),e=parseInt(e,10),r=parseInt(r,10),{month:e,year:r}},t.payment.validateCardNumber=function(t){var n,r;return t=(t+"").replace(/\s+|-/g,""),!!/^\d+$/.test(t)&&(n=e(t),!!n&&(r=t.length,k.call(n.length,r)>=0&&(n.luhn===!1||p(t))))},t.payment.validateCardExpiry=function(e,n){var r,a,i;return"object"==typeof e&&"month"in e&&(i=e,e=i.month,n=i.year),!(!e||!n)&&(e=t.trim(e),n=t.trim(n),!!/^\d+$/.test(e)&&(!!/^\d+$/.test(n)&&(1<=e&&e<=12&&(2===n.length&&(n=n<70?"20"+n:"19"+n),4===n.length&&(a=new Date(n,e),r=new Date,a.setMonth(a.getMonth()-1),a.setMonth(a.getMonth()+1,1),a>r)))))},t.payment.validateCardCVC=function(e,r){var a,i;return e=t.trim(e),!!/^\d+$/.test(e)&&(a=n(r),null!=a?(i=e.length,k.call(a.cvcLength,i)>=0):e.length>=3&&e.length<=4)},t.payment.cardType=function(t){var n;return t?(null!=(n=e(t))?n.type:void 0)||null:null},t.payment.formatCardNumber=function(n){var r,a,i,o;return n=n.replace(/\D/g,""),(r=e(n))?(i=r.length[r.length.length-1],n=n.slice(0,i),r.format.global?null!=(o=n.match(r.format))?o.join(" "):void 0:(a=r.format.exec(n),null!=a?(a.shift(),a=t.grep(a,function(t){return t}),a.join(" ")):void 0)):n},t.payment.formatExpiry=function(t){var e,n,r,a;return(n=t.match(/^\D*(\d{1,2})(\D+)?(\d{1,4})?/))?(e=n[1]||"",r=n[2]||"",a=n[3]||"",a.length>0?r=" / ":" /"===r?(e=e.substring(0,1),r=""):2===e.length||r.length>0?r=" / ":1===e.length&&"0"!==e&&"1"!==e&&(e="0"+e,r=" / "),e+r+a):""}}).call(this);
|
assets/sourcemaps/give-admin.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"file":"give-admin.css","sources":["admin/give-admin.scss","frontend/_mixins.scss","frontend/_variables.scss","plugins/qtip.scss","frontend/fonts.scss","admin/fonts.scss","admin/forms.scss","admin/addons.scss","admin/reports.scss","admin/welcome.scss","admin/logs.scss","admin/settings.scss","admin/payment-history.scss","admin/dashboard.scss","admin/donors.scss","admin/buttons.scss","admin/shortcodes.scss","admin/system-info.scss"],"sourcesContent":["/*!\r\n * Give Admin SCSS/CSS\r\n *\r\n * @description: The Main SCSS file for ADMIN styles which is compiled and minified via Gulp taskrunner\r\n * @package: Give\r\n * @subpackage: SCSS/Admin\r\n * @copyright: Copyright (c) 2016, WordImpress\r\n * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n@import '../frontend/mixins';\r\n@import '../frontend/variables';\r\n@import '../plugins/qtip';\r\n@import '../frontend/fonts';\r\n@import 'fonts';\r\n@import 'forms';\r\n@import 'addons';\r\n@import 'reports';\r\n@import 'welcome';\r\n@import 'logs';\r\n@import 'settings';\r\n@import 'payment-history';\r\n@import 'dashboard';\r\n@import 'donors';\r\n@import 'buttons';\r\n@import 'shortcodes';\r\n@import 'system-info';\r\n","/**\r\n * Clearfix\r\n */\r\n@mixin clearfix() {\r\n *zoom: 1;\r\n\r\n &:before,\r\n &:after {\r\n content: \" \";\r\n display: table;\r\n }\r\n\r\n &:after {\r\n clear: both;\r\n }\r\n}\r\n\r\n.give-clearfix {\r\n @include clearfix;\r\n}\r\n\r\n/**\r\n * Box Sizing\r\n * https://github.com/timrogers/sass-box-sizing-mixin\r\n */\r\n@mixin box-sizing($box-model) {\r\n -webkit-box-sizing: $box-model; // Safari <= 5\r\n -moz-box-sizing: $box-model; // Firefox <= 19\r\n box-sizing: $box-model;\r\n}\r\n\r\n/**\r\n * CSS3 Easing\r\n */\r\n@mixin easing-transition() {\r\n -moz-transition: 0.2s all linear;\r\n -o-transition: 0.2s all linear;\r\n transition: 0.2s all linear;\r\n}\r\n\r\n//Labels\r\n@mixin give-label() {\r\n padding: .2em .4em .3em;\r\n font-size: 11px;\r\n line-height: 1;\r\n color: #fff;\r\n text-align: center;\r\n white-space: nowrap;\r\n vertical-align: baseline;\r\n border-radius: .25em;\r\n \r\n &:hover {\r\n color:#fff;\r\n text-decoration: none;\r\n }\r\n}\r\n\r\n@mixin give-label-gray() {\r\n background-color: #929292;\r\n}\r\n@mixin give-label-orange() {\r\n background-color: #ffba00;\r\n}\r\n\r\n.give-item-label {\r\n @include give-label();\r\n}\r\n\r\n.give-item-label-gray {\r\n @include give-label-gray();\r\n}\r\n\r\n.give-item-label-orange {\r\n @include give-label-orange();\r\n}\r\n\r\n\r\n.give-item-label {\r\n @include give-label();\r\n}\r\n\r\n//Fields\r\n@mixin give-currency() {\r\n background-color: lighten($light-gray, 2%);\r\n border-top: 1px solid $borders;\r\n border-bottom: 1px solid $borders;\r\n color: $dark;\r\n margin: 0;\r\n padding: 0 12px;\r\n height: 35px;\r\n line-height: 35px;\r\n font-size: $font-size-medium;\r\n @include box-sizing(border-box);\r\n}\r\n\r\n@mixin give-input() {\r\n border: 1px solid $borders;\r\n background: #FFF;\r\n border-radius: 0;\r\n height: 35px;\r\n line-height: 35px;\r\n padding: 0 12px;\r\n margin: 0;\r\n font-size: $font-size-medium;\r\n @include box-sizing(border-box);\r\n}","/**\r\n * Give CSS Variables\r\n */\r\n\r\n$green: #7ad03a;\r\n$red: #a00;\r\n$orange: #ffba00;\r\n$blue: #2ea2cc;\r\n$dark: #333;\r\n$borders: #ccc;\r\n$light-gray: #EDEDED;\r\n\r\n//Status\r\n$status-default: #777;\r\n$status-complete: $green;\r\n$status-refunded: $status-default;\r\n$status-subscription: #5bc0de;\r\n$status-revoked: #d9534f;\r\n\r\n//Font sizes\r\n$font-size-medium: 18px;\r\n\r\n$primary: #007ba4;\r\n// Primary colour for buttons (alt)\r\n$primarytext: desaturate(lighten($primary, 50%), 18%);\r\n// Text on primary colour bg\r\n\r\n$secondary: desaturate(lighten($primary, 40%), 21%);\r\n// Secondary buttons\r\n$secondarytext: desaturate(darken($secondary, 60%), 21%);\r\n// Text on secondary colour bg\r\n\r\n$highlight: adjust-hue($primary, 150deg);\r\n// Prices, In stock labels, sales flash\r\n$highlightext: desaturate(lighten($highlight, 50%), 18%);\r\n// Text on highlight colour bg\r\n\r\n$contentbg: #fff;\r\n// Content BG - Tabs (active state)\r\n$subtext: #777;\r\n// small, breadcrumbs etc","/*\n * qTip2 - Pretty powerful tooltips - v2.2.1\n * http://qtip2.com\n *\n * Copyright (c) 2014 \n * Released under the MIT licenses\n * http://jquery.org/license\n *\n * Date: Sun Sep 7 2014 12:09 GMT+0100+0100\n * Plugins: tips modal viewport svg imagemap ie6\n * Styles: core basic css3\n */\n.qtip{\n\tposition: absolute;\n\tleft: -28000px;\n\ttop: -28000px;\n\tdisplay: none;\n\n\tmax-width: 280px;\n\tmin-width: 50px;\n\n\tfont-size: 10.5px;\n\tline-height: 12px;\n\n\tdirection: ltr;\n\n\tbox-shadow: none;\n\tpadding: 0;\n}\n\n\t.qtip-content{\n\t\tposition: relative;\n\t\tpadding: 5px 9px;\n\t\toverflow: hidden;\n\n\t\ttext-align: left;\n\t\tword-wrap: break-word;\n\t}\n\n\t.qtip-titlebar{\n\t\tposition: relative;\n\t\tpadding: 5px 35px 5px 10px;\n\t\toverflow: hidden;\n\n\t\tborder-width: 0 0 1px;\n\t\tfont-weight: bold;\n\t}\n\n\t.qtip-titlebar + .qtip-content{ border-top-width: 0 !important; }\n\n\t/* Default close button class */\n\t.qtip-close{\n\t\tposition: absolute;\n\t\tright: -9px; top: -9px;\n\t\tz-index: 11; /* Overlap .qtip-tip */\n\n\t\tcursor: pointer;\n\t\toutline: medium none;\n\n\t\tborder: 1px solid transparent;\n\t}\n\n\t\t.qtip-titlebar .qtip-close{\n\t\t\tright: 4px; top: 50%;\n\t\t\tmargin-top: -9px;\n\t\t}\n\n\t\t* html .qtip-titlebar .qtip-close{ top: 16px; } /* IE fix */\n\n\t\t.qtip-titlebar .ui-icon,\n\t\t.qtip-icon .ui-icon{\n\t\t\tdisplay: block;\n\t\t\ttext-indent: -1000em;\n\t\t\tdirection: ltr;\n\t\t}\n\n\t\t.qtip-icon, .qtip-icon .ui-icon{\n\t\t\t-moz-border-radius: 3px;\n\t\t\t-webkit-border-radius: 3px;\n\t\t\tborder-radius: 3px;\n\t\t\ttext-decoration: none;\n\t\t}\n\n\t\t\t.qtip-icon .ui-icon{\n\t\t\t\twidth: 18px;\n\t\t\t\theight: 14px;\n\n\t\t\t\tline-height: 14px;\n\t\t\t\ttext-align: center;\n\t\t\t\ttext-indent: 0;\n\t\t\t\tfont: normal bold 10px/13px Tahoma,sans-serif;\n\n\t\t\t\tcolor: inherit;\n\t\t\t\tbackground: transparent none no-repeat -100em -100em;\n\t\t\t}\n\n/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */\n.qtip-focus{}\n\n/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */\n.qtip-hover{}\n\n/* Default tooltip style */\n.qtip-default{\n\tborder: 1px solid #F1D031;\n\n\tbackground-color: #FFFFA3;\n\tcolor: #555;\n}\n\n\t.qtip-default .qtip-titlebar{\n\t\tbackground-color: #FFEF93;\n\t}\n\n\t.qtip-default .qtip-icon{\n\t\tborder-color: #CCC;\n\t\tbackground: #F1F1F1;\n\t\tcolor: #777;\n\t}\n\n\t.qtip-default .qtip-titlebar .qtip-close{\n\t\tborder-color: #AAA;\n\t\tcolor: #111;\n\t}\n\n\n/*! Light tooltip style */\n.qtip-light{\n\tbackground-color: white;\n\tborder-color: #E2E2E2;\n\tcolor: #454545;\n}\n\n\t.qtip-light .qtip-titlebar{\n\t\tbackground-color: #f1f1f1;\n\t}\n\n\n/*! Dark tooltip style */\n.qtip-dark{\n\tbackground-color: #505050;\n\tborder-color: #303030;\n\tcolor: #f3f3f3;\n}\n\n\t.qtip-dark .qtip-titlebar{\n\t\tbackground-color: #404040;\n\t}\n\n\t.qtip-dark .qtip-icon{\n\t\tborder-color: #444;\n\t}\n\n\t.qtip-dark .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #303030;\n\t}\n\n\n/*! Cream tooltip style */\n.qtip-cream{\n\tbackground-color: #FBF7AA;\n\tborder-color: #F9E98E;\n\tcolor: #A27D35;\n}\n\n\t.qtip-cream .qtip-titlebar{\n\t\tbackground-color: #F0DE7D;\n\t}\n\n\t.qtip-cream .qtip-close .qtip-icon{\n\t\tbackground-position: -82px 0;\n\t}\n\n\n/*! Red tooltip style */\n.qtip-red{\n\tbackground-color: #F78B83;\n\tborder-color: #D95252;\n\tcolor: #912323;\n}\n\n\t.qtip-red .qtip-titlebar{\n\t\tbackground-color: #F06D65;\n\t}\n\n\t.qtip-red .qtip-close .qtip-icon{\n\t\tbackground-position: -102px 0;\n\t}\n\n\t.qtip-red .qtip-icon{\n\t\tborder-color: #D95252;\n\t}\n\n\t.qtip-red .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #D95252;\n\t}\n\n\n/*! Green tooltip style */\n.qtip-green{\n\tbackground-color: #CAED9E;\n\tborder-color: #90D93F;\n\tcolor: #3F6219;\n}\n\n\t.qtip-green .qtip-titlebar{\n\t\tbackground-color: #B0DE78;\n\t}\n\n\t.qtip-green .qtip-close .qtip-icon{\n\t\tbackground-position: -42px 0;\n\t}\n\n\n/*! Blue tooltip style */\n.qtip-blue{\n\tbackground-color: #E5F6FE;\n\tborder-color: #ADD9ED;\n\tcolor: #5E99BD;\n}\n\n\t.qtip-blue .qtip-titlebar{\n\t\tbackground-color: #D0E9F5;\n\t}\n\n\t.qtip-blue .qtip-close .qtip-icon{\n\t\tbackground-position: -2px 0;\n\t}\n\n\n.qtip-shadow{\n\t-webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\n\t-moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\n\tbox-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\n}\n\n/* Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */\n.qtip-rounded,\n.qtip-tipsy,\n.qtip-bootstrap{\n\t-moz-border-radius: 5px;\n\t-webkit-border-radius: 5px;\n\tborder-radius: 5px;\n}\n\n.qtip-rounded .qtip-titlebar{\n\t-moz-border-radius: 4px 4px 0 0;\n\t-webkit-border-radius: 4px 4px 0 0;\n\tborder-radius: 4px 4px 0 0;\n}\n\n/* Youtube tooltip style */\n.qtip-youtube{\n\t-moz-border-radius: 2px;\n\t-webkit-border-radius: 2px;\n\tborder-radius: 2px;\n\n\t-webkit-box-shadow: 0 0 3px #333;\n\t-moz-box-shadow: 0 0 3px #333;\n\tbox-shadow: 0 0 3px #333;\n\n\tcolor: white;\n\tborder: 0 solid transparent;\n\n\tbackground: #4A4A4A;\n\tbackground-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,black));\n\tbackground-image: -webkit-linear-gradient(top,#4A4A4A 0,black 100%);\n\tbackground-image: -moz-linear-gradient(top,#4A4A4A 0,black 100%);\n\tbackground-image: -ms-linear-gradient(top,#4A4A4A 0,black 100%);\n\tbackground-image: -o-linear-gradient(top,#4A4A4A 0,black 100%);\n}\n\n\t.qtip-youtube .qtip-titlebar{\n\t\tbackground-color: #4A4A4A;\n\t\tbackground-color: rgba(0,0,0,0);\n\t}\n\n\t.qtip-youtube .qtip-content{\n\t\tpadding: .75em;\n\t\tfont: 12px arial,sans-serif;\n\n\t\tfilter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);\";\n\t}\n\n\t.qtip-youtube .qtip-icon{\n\t\tborder-color: #222;\n\t}\n\n\t.qtip-youtube .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #303030;\n\t}\n\n\n/* jQuery TOOLS Tooltip style */\n.qtip-jtools{\n\tbackground: #232323;\n\tbackground: rgba(0, 0, 0, 0.7);\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323));\n\tbackground-image: -moz-linear-gradient(top, #717171, #232323);\n\tbackground-image: -webkit-linear-gradient(top, #717171, #232323);\n\tbackground-image: -ms-linear-gradient(top, #717171, #232323);\n\tbackground-image: -o-linear-gradient(top, #717171, #232323);\n\n\tborder: 2px solid #ddd;\n\tborder: 2px solid rgba(241,241,241,1);\n\n\t-moz-border-radius: 2px;\n\t-webkit-border-radius: 2px;\n\tborder-radius: 2px;\n\n\t-webkit-box-shadow: 0 0 12px #333;\n\t-moz-box-shadow: 0 0 12px #333;\n\tbox-shadow: 0 0 12px #333;\n}\n\n\t/* IE Specific */\n\t.qtip-jtools .qtip-titlebar{\n\t\tbackground-color: transparent;\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)\";\n\t}\n\t.qtip-jtools .qtip-content{\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)\";\n\t}\n\n\t.qtip-jtools .qtip-titlebar,\n\t.qtip-jtools .qtip-content{\n\t\tbackground: transparent;\n\t\tcolor: white;\n\t\tborder: 0 dashed transparent;\n\t}\n\n\t.qtip-jtools .qtip-icon{\n\t\tborder-color: #555;\n\t}\n\n\t.qtip-jtools .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #333;\n\t}\n\n\n/* Cluetip style */\n.qtip-cluetip{\n\t-webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\n\t-moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\n\tbox-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\n\n\tbackground-color: #D9D9C2;\n\tcolor: #111;\n\tborder: 0 dashed transparent;\n}\n\n\t.qtip-cluetip .qtip-titlebar{\n\t\tbackground-color: #87876A;\n\t\tcolor: white;\n\t\tborder: 0 dashed transparent;\n\t}\n\n\t.qtip-cluetip .qtip-icon{\n\t\tborder-color: #808064;\n\t}\n\n\t.qtip-cluetip .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #696952;\n\t\tcolor: #696952;\n\t}\n\n\n/* Tipsy style */\n.qtip-tipsy{\n\tbackground: black;\n\tbackground: rgba(0, 0, 0, .87);\n\n\tcolor: white;\n\tborder: 0 solid transparent;\n\n\tfont-size: 11px;\n\tfont-family: 'Lucida Grande', sans-serif;\n\tfont-weight: bold;\n\tline-height: 16px;\n\ttext-shadow: 0 1px black;\n}\n\n\t.qtip-tipsy .qtip-titlebar{\n\t\tpadding: 6px 35px 0 10px;\n\t\tbackground-color: transparent;\n\t}\n\n\t.qtip-tipsy .qtip-content{\n\t\tpadding: 6px 10px;\n\t}\n\n\t.qtip-tipsy .qtip-icon{\n\t\tborder-color: #222;\n\t\ttext-shadow: none;\n\t}\n\n\t.qtip-tipsy .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #303030;\n\t}\n\n\n/* Tipped style */\n.qtip-tipped{\n\tborder: 3px solid #959FA9;\n\n\t-moz-border-radius: 3px;\n\t-webkit-border-radius: 3px;\n\tborder-radius: 3px;\n\n\tbackground-color: #F9F9F9;\n\tcolor: #454545;\n\n\tfont-weight: normal;\n\tfont-family: serif;\n}\n\n\t.qtip-tipped .qtip-titlebar{\n\t\tborder-bottom-width: 0;\n\n\t\tcolor: white;\n\t\tbackground: #3A79B8;\n\t\tbackground-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D));\n\t\tbackground-image: -webkit-linear-gradient(top, #3A79B8, #2E629D);\n\t\tbackground-image: -moz-linear-gradient(top, #3A79B8, #2E629D);\n\t\tbackground-image: -ms-linear-gradient(top, #3A79B8, #2E629D);\n\t\tbackground-image: -o-linear-gradient(top, #3A79B8, #2E629D);\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)\";\n\t}\n\n\t.qtip-tipped .qtip-icon{\n\t\tborder: 2px solid #285589;\n\t\tbackground: #285589;\n\t}\n\n\t\t.qtip-tipped .qtip-icon .ui-icon{\n\t\t\tbackground-color: #FBFBFB;\n\t\t\tcolor: #555;\n\t\t}\n\n\n/**\n * Twitter Bootstrap style.\n *\n * Tested with IE 8, IE 9, Chrome 18, Firefox 9, Opera 11.\n * Does not work with IE 7.\n */\n.qtip-bootstrap{\n\t/** Taken from Bootstrap body */\n\tfont-size: 14px;\n\tline-height: 20px;\n\tcolor: #333333;\n\n\t/** Taken from Bootstrap .popover */\n\tpadding: 1px;\n\tbackground-color: #ffffff;\n\tborder: 1px solid #ccc;\n\tborder: 1px solid rgba(0, 0, 0, 0.2);\n\t-webkit-border-radius: 6px;\n\t-moz-border-radius: 6px;\n\tborder-radius: 6px;\n\t-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n\t-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n\tbox-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n\t-webkit-background-clip: padding-box;\n\t-moz-background-clip: padding;\n\tbackground-clip: padding-box;\n}\n\n\t.qtip-bootstrap .qtip-titlebar{\n\t\t/** Taken from Bootstrap .popover-title */\n\t\tpadding: 8px 14px;\n\t\tmargin: 0;\n\t\tfont-size: 14px;\n\t\tfont-weight: normal;\n\t\tline-height: 18px;\n\t\tbackground-color: #f7f7f7;\n\t\tborder-bottom: 1px solid #ebebeb;\n\t\t-webkit-border-radius: 5px 5px 0 0;\n\t\t-moz-border-radius: 5px 5px 0 0;\n\t\tborder-radius: 5px 5px 0 0;\n\t}\n\n\t\t.qtip-bootstrap .qtip-titlebar .qtip-close{\n\t\t\t/**\n\t\t\t * Overrides qTip2:\n\t\t\t * .qtip-titlebar .qtip-close{\n\t\t\t * [...]\n\t\t\t * right: 4px;\n\t\t\t * top: 50%;\n\t\t\t * [...]\n\t\t\t * border-style: solid;\n\t\t\t * }\n\t\t\t */\n\t\t\tright: 11px;\n\t\t\ttop: 45%;\n\t\t\tborder-style: none;\n\t\t}\n\n\t.qtip-bootstrap .qtip-content{\n\t\t/** Taken from Bootstrap .popover-content */\n\t\tpadding: 9px 14px;\n\t}\n\n\t.qtip-bootstrap .qtip-icon{\n\t\t/**\n\t\t * Overrides qTip2:\n\t\t * .qtip-default .qtip-icon {\n\t\t * border-color: #CCC;\n\t\t * background: #F1F1F1;\n\t\t * color: #777;\n\t\t * }\n\t\t */\n\t\tbackground: transparent;\n\t}\n\n\t\t.qtip-bootstrap .qtip-icon .ui-icon{\n\t\t\t/**\n\t\t\t * Overrides qTip2:\n\t\t\t * .qtip-icon .ui-icon{\n\t\t\t * width: 18px;\n\t\t\t * height: 14px;\n\t\t\t * }\n\t\t\t */\n\t\t\twidth: auto;\n\t\t\theight: auto;\n\n\t\t\t/* Taken from Bootstrap .close */\n\t\t\tfloat: right;\n\t\t\tfont-size: 20px;\n\t\t\tfont-weight: bold;\n\t\t\tline-height: 18px;\n\t\t\tcolor: #000000;\n\t\t\ttext-shadow: 0 1px 0 #ffffff;\n\t\t\topacity: 0.2;\n\t\t\tfilter: alpha(opacity=20);\n\t\t}\n\n\t\t.qtip-bootstrap .qtip-icon .ui-icon:hover{\n\t\t\t/* Taken from Bootstrap .close:hover */\n\t\t\tcolor: #000000;\n\t\t\ttext-decoration: none;\n\t\t\tcursor: pointer;\n\t\t\topacity: 0.4;\n\t\t\tfilter: alpha(opacity=40);\n\t\t}\n\n\n/* IE9 fix - removes all filters */\n.qtip:not(.ie9haxors) div.qtip-content,\n.qtip:not(.ie9haxors) div.qtip-titlebar{\n\tfilter: none;\n\t-ms-filter: none;\n}\n\n\n.qtip .qtip-tip{\n\tmargin: 0 auto;\n\toverflow: hidden;\n\tz-index: 10;\n\n}\n\n\t/* Opera bug #357 - Incorrect tip position\n\thttps://github.com/Craga89/qTip2/issues/367 */\n\tx:-o-prefocus, .qtip .qtip-tip{\n\t\tvisibility: hidden;\n\t}\n\n\t.qtip .qtip-tip,\n\t.qtip .qtip-tip .qtip-vml,\n\t.qtip .qtip-tip canvas{\n\t\tposition: absolute;\n\n\t\tcolor: #123456;\n\t\tbackground: transparent;\n\t\tborder: 0 dashed transparent;\n\t}\n\n\t.qtip .qtip-tip canvas{ top: 0; left: 0; }\n\n\t.qtip .qtip-tip .qtip-vml{\n\t\tbehavior: url(#default#VML);\n\t\tdisplay: inline-block;\n\t\tvisibility: visible;\n\t}\n\n\n#qtip-overlay{\n\tposition: fixed;\n\tleft: 0; top: 0;\n\twidth: 100%; height: 100%;\n}\n\n\t/* Applied to modals with show.modal.blur set to true */\n\t#qtip-overlay.blurs{ cursor: pointer; }\n\n\t/* Change opacity of overlay here */\n\t#qtip-overlay div{\n\t\tposition: absolute;\n\t\tleft: 0; top: 0;\n\t\twidth: 100%; height: 100%;\n\n\t\tbackground-color: black;\n\n\t\topacity: 0.7;\n\t\tfilter:alpha(opacity=70);\n\t\t-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)\";\n\t}\n\n\n.qtipmodal-ie6fix{\n\tposition: absolute !important;\n}\n","/**\n * Give Frontend Fonts SCSS\n *\n * Fonts are from icomoon and the src paths need to be relative to template directory.\n * @package Give\n * @subpackage SCSS/Frontend\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n@font-face {\n font-family: 'give-icomoon';\n src: url('../assets/fonts/icomoon.eot?kdnr3d');\n src: url('../assets/fonts/icomoon.eot?kdnr3d#iefix') format('embedded-opentype'),\n url('../assets/fonts/icomoon.woff?kdnr3d') format('woff'),\n url('../assets/fonts/icomoon.svg?kdnr3d#icomoon') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n\n@mixin iconstyle() {\n font-family: 'give-icomoon';\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n\n // Better Font Rendering\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n[class^=\"give-icon-\"], [class*=\" give-icon-\"] {\n @include iconstyle();\n}\n\n.give-icon-lamp:before {\n content: \"\\e603\";\n}\n\n.give-icon-heart:before {\n content: \"\\e604\";\n}\n\n.give-icon-question:before {\n content: \"\\e602\";\n}\n\n.give-icon-info:before {\n content: \"\\e601\";\n}\n\n.give-icon-new-tab:before {\n content: \"\\ea7e\";\n}\n\n.give-icon-alert:before {\n content: \"\\f02d\";\n}\n\n.give-icon-help:before {\n content: \"\\e606\";\n}\n\n.give-icon-spinner:before {\n content: \"\\e605\";\n}\n\n.give-icon-spinner2:before {\n content: \"\\e607\";\n}\n\n.give-icon-plus:before {\n content: \"\\e040\";\n}\n\n.give-icon-minus:before {\n content: \"\\e041\";\n}\n\n.give-icon-locked:before {\n content: \"\\e600\";\n}\n\n.dashicons-give:before {\n @include iconstyle();\n content: \"\\e800\";\n}\n\n// --------------------------\n// Spinning Icons\n// --------------------------\n\n.fa-spin {\n -webkit-animation: spin 1000ms infinite linear;\n animation: spin 1000ms infinite linear;\n}\n\n@-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n","@font-face {\n\tfont-family: 'give-icomoon';\n\tfont-weight: normal;\n\tfont-style: normal;\n}\n\n@mixin admin_fonts() {\n\tfont-family: 'give-icomoon';\n\tsrc: url('../assets/fonts/icomoon.eot?kdnr3d');\n\tsrc: url('../assets/fonts/icomoon.eot?kdnr3d#iefix') format('embedded-opentype'),\n\turl('../assets/fonts/icomoon.woff?kdnr3d') format('woff'),\n\turl('../assets/fonts/icomoon.svg?kdnr3d#icomoon') format('svg');\n\tspeak: none;\n\tfont-style: normal;\n\tfont-weight: normal;\n\tfont-variant: normal;\n\ttext-transform: none;\n\tline-height: 1;\n\n\t// Better Font Rendering\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\n// ---------------------------------\n// Donation form vertical tab icons.\n// ---------------------------------\n.give-metabox-tabs li {\n\n\t.give-icon:before {\n\t\t@include admin_fonts();\n\t\tfont-size: 12px;\n\t\tvertical-align: top;\n\t\tline-height: 20px;\n\t\tmargin: 0 5px 0 0;\n\t}\n\n\t.give-icon-default:before {\n\t\tcontent: \"\\e903\";\n\t}\n\n\t//Donation options tab.\n\t.give-icon-heart:before {\n\t\tcontent: \"\\e604\"; //this is a wp dashicon heart.\n\t}\n\t//Goal tab.\n\t.give-icon-target:before {\n\t\tcontent: \"\\e901\";\n\t}\n\t//Form display tab.\n\t.give-icon-display:before {\n\t\tcontent: \"\\e90c\";\n\t}\n\t//Form content tab.\n\t.give-icon-edit:before {\n\t\tcontent: \"\\e902\";\n\t}\n\t//Form terms tab.\n\t.give-icon-checklist:before {\n\t\tposition: relative;\n\t\ttop: 1px;\n\t\tcontent: \"\\e900\";\n\t}\n\t//Form offline donations tab.\n\t.give-icon-purse:before {\n\t\tcontent: \"\\e8df\";\n\t}\n\n}","/**\r\n * Give Forms SCSS\r\n *\r\n * @package Give\r\n * @subpackage SCSS/Admin\r\n * @copyright Copyright (c) 2016, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n/*------------------------------------\r\nForms CPT\r\n--------------------------------------*/\r\n/* Hide conditional fields */\r\n.cmb2-id--give-set-price,\r\n.cmb2-id--give-levels-header,\r\n.cmb2-id--give-levels-header + .cmb-repeat-group-wrap,\r\n.cmb2-id--give-display-style,\r\n.post-type-give_forms .tablenav #post-query-submit,\r\n.give-hidden,\r\n.cmb2-id--give-form-content,\r\n.cmb2-id--give-reveal-label,\r\n.cmb2-id--give-custom-amount-minimum,\r\n.cmb2-id--give-custom-amount-text,\r\n.cmb2-id--give-offline-checkout-notes,\r\n.cmb-type-levels-id,\r\n#_give_donation_levels_repeat .cmb-group-title,\r\n#_give_donation_levels_repeat .cmb-row > .cmb-remove-group-row,\r\n#_give_donation_levels_repeat .cmb-row > .handlediv {\r\n\tdisplay: none;\r\n}\r\n\r\n/* Donation Levels Repeating Field */\r\n#_give_donation_levels_repeat > .cmb-repeatable-grouping .cmb-field-list > .cmb-row .cmb2-radio-list label {\r\n\tfont-size: 12px;\r\n}\r\n\r\n//-----------------------------\r\n// Table Rows\r\n//-----------------------------\r\ndiv.cmb-type-levels-repeater-header + div.cmb-repeat-group-wrap {\r\n\tpadding: 0 !important;\r\n\tmargin: 0 !important;\r\n\tmin-width: 100%;\r\n\tmax-width: 0;\r\n\r\n}\r\n\r\n//-----------------------------\r\n// Multilevel Repeater Header\r\n//-----------------------------\r\n.cmb2-id--give-levels-header {\r\n\tpadding: 10px 12px 0 !important;\r\n\tmargin: 0 !important;\r\n\tbackground: #F7F7F7;\r\n\tborder-bottom: none !important;\r\n\r\n\t.table-container {\r\n\t\tdisplay: table;\r\n\t\twidth: 100%;\r\n\r\n\t\tborder-top: 1px solid #e9e9e9;\r\n\t\tborder-bottom: 1px solid #e9e9e9;\r\n\t\tborder-left: 1px solid #e9e9e9;\r\n\r\n\t\t> .table-row {\r\n\t\t\tdisplay: table-row;\r\n\t\t\tbackground: #FCFCFC;\r\n\r\n\t\t\t> .table-cell {\r\n\t\t\t\tdisplay: table-cell;\r\n\t\t\t\tvertical-align: middle;\r\n\t\t\t\tpadding: 10px 15px;\r\n\t\t\t\tborder-right: 1px solid #e9e9e9;\r\n\t\t\t\t&.col-id {\r\n\t\t\t\t\tdisplay: none;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t}\r\n}\r\n\r\n#_give_donation_levels_repeat {\r\n\tbackground: #F7F7F7;\r\n\tpadding: 0 1px 20px 12px;\r\n\tbox-sizing: border-box;\r\n\r\n\t.cmb-row, .inside {\r\n\t\tmargin: 0;\r\n\t}\r\n\t.cmb-remove-field-row {\r\n\t\tmargin: 3px 0 0;\r\n\r\n\t\t.button {\r\n\t\t\theight: 25px;\r\n\t\t\tpadding: 0 3px;\r\n\t\t}\r\n\t\tspan.dashicons-no {\r\n\t\t\tline-height: 1.15em;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t.cmbhandle {\r\n\t\tdisplay: none;\r\n\t}\r\n\t.cmb-add-row {\r\n\t\tmargin: 12px 0 0;\r\n\t}\r\n\r\n}\r\n\r\n//---------------------------------------------------\r\n// Field One Offs\r\n//---------------------------------------------------\r\n.give-time-field {\r\n\twidth: 65px;\r\n}\r\n\r\n.give-money-field {\r\n\twidth: 75px;\r\n\tmargin-right: 0;\r\n\tmargin-left: 0;\r\n}\r\n\r\n.give-money-symbol {\r\n\tborder: 1px solid #DDD;\r\n\tbackground: #FCFCFC;\r\n\tmargin: 0;\r\n\tfont-size: 14px;\r\n\tpadding: 5px 8px;\r\n}\r\n\r\n.give-money-symbol-before {\r\n\tborder-right: 0;\r\n\tmargin-right: -4px;\r\n}\r\n\r\n.give-money-symbol-after {\r\n\t//border-left: 0;\r\n\tmargin-left: -1px;\r\n}\r\n\r\n.give_options_panel input[ type=\"text\"] {\r\n\tpadding: 5px;\r\n\twidth: 100%;\r\n}\r\n\r\ninput.give-text_small,\r\ninput.give-text-small {\r\n\twidth: 100px !important;\r\n}\r\n\r\ninput.give-text-medium,\r\ninput.give-text_medium {\r\n\twidth: 200px !important;\r\n}\r\n\r\n.give-underline {\r\n\ttext-decoration: underline;\r\n}\r\n\r\n.postbox-container .cmb-row {\r\n\tmargin: 0;\r\n\r\n\t.cmb-th label {\r\n\t\tpadding-left: 8px;\r\n\t}\r\n\r\n}\r\n\r\n//---------------------------------------------------\r\n// Responsive\r\n//---------------------------------------------------\r\n@media only screen and (min-width: 851px) {\r\n\r\n\t#_give_donation_levels_repeat > .cmb-repeatable-grouping .cmb-field-list {\r\n\t\t> .cmb-row {\r\n\t\t\tfloat: left;\r\n\t\t\tborder-bottom: none;\r\n\t\t\tpadding-right: 10px;\r\n\t\t\t> .cmb-th {\r\n\t\t\t\tdisplay: none;\r\n\t\t\t}\r\n\t\t\t> .cmb-td {\r\n\t\t\t\tfloat: left;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t.cmb-type-give-default-radio-inline .cmb-td {\r\n\t\tmargin-top: 5px;\r\n\t}\r\n\r\n}\r\n\r\n/* Smaller Resolution Desktops */\r\n@media only screen and (min-width: 851px) and (max-width: 1201px) {\r\n\r\n\t#_give_donation_levels_repeat > .cmb-repeatable-grouping .cmb-field-list {\r\n\r\n\t\t> .cmb-remove-field-row {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding-top: 0;\r\n\t\t}\r\n\t\t> .cmb-type-text-money {\r\n\t\t\twidth: 105px;\r\n\t\t}\r\n\t\tinput.cmb2-text-money {\r\n\t\t\twidth: 65px;\r\n\t\t}\r\n\r\n\t\t.give-multilevel-text-field {\r\n\t\t\twidth: 160px;\r\n\t\t}\r\n\t\t.cmb-type-radio-inline {\r\n\t\t\tmargin-left: 20px;\r\n\t\t}\r\n\r\n\t}\r\n\t.col-amount {\r\n\t\twidth: 70px;\r\n\t}\r\n\t.col-text {\r\n\t\twidth: 140px;\r\n\t}\r\n\t.col-sort {\r\n\t\tdisplay: none !important;\r\n\t}\r\n\t.give-money-field {\r\n\t\twidth: 55px;\r\n\t}\r\n}\r\n\r\n@media only screen and (min-width: 1201px) {\r\n\r\n\t#_give_donation_levels_repeat > .cmb-repeatable-grouping .cmb-field-list {\r\n\r\n\t\t> .cmb-remove-field-row {\r\n\t\t\tfloat: right;\r\n\t\t}\r\n\t\t> .cmb-row {\r\n\t\t\tpadding-right: 20px;\r\n\t\t}\r\n\t\t> .cmb-remove-field-row.cmb-row {\r\n\t\t\tpadding-right: 0;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t.col-amount {\r\n\t\twidth: 93px;\r\n\t}\r\n\t.col-text {\r\n\t\twidth: 195px;\r\n\t}\r\n\t.col-sort {\r\n\t\twidth: 100px;\r\n\t}\r\n\t.give-multilevel-text-field {\r\n\t\twidth: 205px;\r\n\t}\r\n\r\n}\r\n\r\n//Small Resolution Repeater\r\n@media only screen and (max-width: 850px) {\r\n\tdiv.cmb-type-levels-repeater-header {\r\n\t\tdisplay: none !important;\r\n\t}\r\n}\r\n\r\n//-------------------------------------\r\n// Publish Metabox\r\n//-------------------------------------\r\n\r\n/*Shortcode Input */\r\n\r\n.shortcode-wrap {\r\n\tmargin: 1px 14px 12px 11px;\r\n\r\n\tlabel {\r\n\t\tmargin: 0 0 3px;\r\n\t\tdisplay: block;\r\n\t\tcursor: default;\r\n\t}\r\n\r\n\t.shortcode-input {\r\n\t\tmargin: 0;\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n}\r\n\r\n//-------------------------------------\r\n// Content Options\r\n//-------------------------------------\r\n\r\n.cmb2-id--give-content-option,\r\n.cmb2-id--give-terms-option,\r\n.cmb2-id--give-offline-donation-enable-billing-fields-single,\r\n.cmb2-id--give-goal-option,\r\n.cmb2-id--give-customize-offline-donations {\r\n\tborder-bottom: none !important;\r\n\tmargin: 0 !important;\r\n}\r\n\r\n.cmb2-id--give-form-content,\r\n.cmb2-id--give-agree-label,\r\n.cmb2-id--give-offline-checkout-notes,\r\n.cmb2-id--give-set-goal,\r\n.cmb2-id--give-offline-donation-enable-billing-fields-single {\r\n\tborder-top: 1px solid #e9e9e9 !important;\r\n}\r\n\r\n/*-------------------------------------\r\nTerms and Conditions Metabox\r\n---------------------------------------*/\r\n\r\n.cmb2-id--give-agree-label,\r\n.cmb2-id--give-agree-text {\r\n\tdisplay: none;\r\n}\r\n\r\n/*-------------------------------------\r\nDashboard Columns\r\n-------------------------------------*/\r\n\r\ninput.shortcode-input {\r\n\twidth: 100%;\r\n}\r\n\r\n/*-------------------------------------\r\nASIDE\r\n-------------------------------------*/\r\n\r\n#side-sortables {\r\n\r\n\t.cmb-th label {\r\n\r\n\t\t&:after {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\r\n\t}\r\n\t.cmb2-id--give-show-register-form {\r\n\t\tpadding: 10px 0 0 !important;\r\n\t}\r\n\r\n\t.cmb2-wrap > .cmb-field-list > .cmb-row {\r\n\t\tpadding-top: 10px;\r\n\t}\r\n\r\n\t.cmb-row .cmb2-metabox-description {\r\n\t\tpadding-bottom: 0;\r\n\t}\r\n\r\n}\r\n\r\n.cmb2-metabox-description {\r\n\tfont-size: 13px;\r\n\tline-height: 1.5;\r\n\tdisplay: block;\r\n}\r\n\r\n//-------------------------------------\r\n// Tooltips\r\n//-------------------------------------\r\n.give-tooltip {\r\n\tmargin: 0 3px;\r\n\tpadding: 0;\r\n\tfont-size: 14px;\r\n\t@include easing-transition();\r\n\tcolor: transparentize($dark, 0.5);\r\n\tposition: relative;\r\n\ttop: 1px;\r\n\r\n\t&:hover {\r\n\t\tcolor: $dark;\r\n\t}\r\n\r\n}\r\n\r\n//-------------------------------------\r\n// Metabox Form\r\n// -------------------------------------\r\n#give-metabox-form-data {\r\n\r\n\t.inside {\r\n\t\tmargin: 0;\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.give-metabox-panel-wrap {\r\n\t\tbackground: #fff;\r\n\t\toverflow: hidden;\r\n\t}\r\n\r\n\t.give_options_panel {\r\n\t\tpadding-left: 170px;\r\n\r\n\t\t.give-field-wrap {\r\n\t\t\tpadding: 1em 20px 1em 162px !important;\r\n\t\t\tmargin: 0;\r\n\t\t\tborder-bottom: 1px solid #eee;\r\n\r\n\t\t\t> label, > span.give-field-label {\r\n\t\t\t\tfloat: left;\r\n\t\t\t\twidth: 135px;\r\n\t\t\t\tpadding: 0;\r\n\t\t\t\tmargin: 2px 0 0 -150px;\r\n\t\t\t\tline-height: 18px;\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t}\r\n\r\n\t\t\t.give-field-description {\r\n\t\t\t\tcolor: #aaaaaa;\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tline-height: 18px;\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\tpadding-top: 10px;\r\n\t\t\t\tfont-style: italic;\r\n\t\t\t}\r\n\r\n\t\t\tul {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\r\n\t\t\t.mce-container iframe, textarea {\r\n\t\t\t\tmin-height: 250px !important;\r\n\t\t\t}\r\n\r\n\t\t\t.wp-editor-wrap {\r\n\t\t\t\tdisplay: inline-block;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.give-field-wrap:last-child {\r\n\t\t\tborder-bottom: 0;\r\n\t\t}\r\n\r\n\t\ttextarea.give-field {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\r\n\t\t.give-field-wrap:hover .give-field-row-actions {\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\r\n\t\t.give-field-wrap:last-child {\r\n\t\t\tborder-bottom: 0;\r\n\t\t}\r\n\r\n\t\t.give-inline-radio-fields {\r\n\t\t\tli {\r\n\t\t\t\tdisplay: inline-block;\r\n\t\t\t\tmargin-right: 15px;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.give-repeatable-field-section {\r\n\t\t\tpadding: 10px;\r\n\t\t\tbackground: #f5f5f5;\r\n\r\n\t\t\t.give-repeatable-fields-section-wrapper {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tbackground-color: white;\r\n\t\t\t\tborder-collapse: collapse;\r\n\t\t\t}\r\n\r\n\t\t\t.give-row {\r\n\t\t\t\tborder-bottom: 15px solid #f5f5f5;\r\n\t\t\t\tbackground-color: white;\r\n\t\t\t}\r\n\r\n\t\t\t.give-template {\r\n\t\t\t\tdisplay: none;\r\n\t\t\t}\r\n\r\n\t\t\t.give-row:last-child {\r\n\t\t\t\tborder-bottom: 10px solid #f5f5f5;\r\n\t\t\t}\r\n\r\n\t\t\t.give-column {\r\n\t\t\t\tpadding: 0;\r\n\t\t\t}\r\n\r\n\t\t\t.give-remove {\r\n\t\t\t\tfloat: right;\r\n\t\t\t\twidth: 36px;\r\n\t\t\t\theight: 36px;\r\n\t\t\t\tpadding: 0;\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tline-height: 34px;\r\n\t\t\t\tfont-size: 21px;\r\n\t\t\t\tfont-weight: 300;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t}\r\n\r\n\t\t\t.give-remove:hover {\r\n\t\t\t\tbackground-color: red;\r\n\t\t\t\tcolor: white;\r\n\t\t\t\twidth: 30px;\r\n\t\t\t\theight: 30px;\r\n\t\t\t\tborder-radius: 30px;\r\n\t\t\t\tmargin-top: 3px;\r\n\t\t\t\tline-height: 28px;\r\n\t\t\t}\r\n\r\n\t\t\t.give-row-head {\r\n\t\t\t\tborder-bottom: 1px solid #eee;\r\n\t\t\t\tcursor: move;\r\n\t\t\t\th2 {\r\n\t\t\t\t\ttext-align: left !important;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t.give-row.closed .toggle-indicator:before {\r\n\t\t\t\tcontent: \"\\f140\";\r\n\t\t\t}\r\n\r\n\t\t\t.give-add-repeater-field-section-row-wrap {\r\n\t\t\t\tbackground-color: #f5f5f5;\r\n\t\t\t}\r\n\r\n\t\t\t.give-add-repeater-field-section-row {\r\n\t\t\t\tmargin: 5px 5px;\r\n\t\t\t}\r\n\r\n\t\t\t.give-field-wrap:last-child {\r\n\t\t\t\tborder-bottom: 1px solid #eee;\r\n\t\t\t}\r\n\r\n\t\t\t.give-ui-placeholder-state-highlight {\r\n\t\t\t\tbackground-color: #68bb6c;\r\n\t\t\t}\r\n\r\n\t\t\t.give-repeater-field-name {\r\n\t\t\t\tborder: 0 !important;\r\n\t\t\t\tpadding: 0 !important;\r\n\t\t\t}\r\n\r\n\t\t\t.give-repeater-field-description {\r\n\t\t\t\tcolor: #aaaaaa;\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tline-height: 18px;\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\tpadding-bottom: 10px;\r\n\t\t\t\tfont-style: italic;\r\n\t\t\t}\r\n\r\n\t\t\t// Sortable jquery css fix.\r\n\t\t\t.ui-sortable-helper {\r\n\t\t\t\tdisplay: table !important;\r\n\t\t\t}\r\n\t\t\t.give-row.ui-sortable-helper {\r\n\t\t\t\tborder-bottom: 0;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//-------------------------------------\r\n// Metabox Tabs\r\n//-------------------------------------\r\n#give-metabox-form-data {\r\n\r\n\t.give-metabox-tabs {\r\n\t\tmargin: 0;\r\n\t\tmin-width: 170px;\r\n\t\tfloat: left;\r\n\t\tline-height: 1em;\r\n\t\tpadding: 0 0 10px;\r\n\t\tposition: relative;\r\n\t\tbackground-color: #fafafa;\r\n\t\tborder-right: 1px solid #eee;\r\n\t\tbox-sizing: border-box;\r\n\r\n\t\t&:after {\r\n\t\t\tcontent: \"\";\r\n\t\t\tdisplay: block;\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 9999em;\r\n\t\t\tposition: absolute;\r\n\t\t\tbottom: -9999em;\r\n\t\t\tleft: 0;\r\n\t\t\tbackground-color: #fafafa;\r\n\t\t\tborder-right: 1px solid #eee;\r\n\t\t}\r\n\r\n\t\tli {\r\n\t\t\tmargin: 0;\r\n\t\t\tpadding: 0;\r\n\t\t\tdisplay: block;\r\n\t\t\tposition: relative;\r\n\r\n\t\t\ta {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t\tpadding: 10px;\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\tbox-shadow: none;\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t\tline-height: 20px !important;\r\n\t\t\t\tborder-bottom: 1px solid #eee;\r\n\t\t\t\toverflow: hidden;\r\n\r\n\t\t\t\tspan.give-label {\r\n\t\t\t\t\twidth: 122px;\r\n\t\t\t\t\tdisplay: inline-block;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\t.give-metabox-sub-tabs li {\r\n\t\t\tbackground-color: #f1f1f1;\r\n\t\t\ta {\r\n\t\t\t\tborder-bottom-color: #e5e5e5;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tli.active {\r\n\t\t\t> a {\r\n\t\t\t\tcolor: #555;\r\n\t\t\t\tposition: relative;\r\n\t\t\t\tbackground-color: #eee;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tli.has-sub-fields.active > a {\r\n\t\t\tbackground-color: #ddd;\r\n\t\t}\r\n\r\n\t\tli.has-sub-fields:not(.active):hover {\r\n\t\t\tul.give-metabox-sub-tabs {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\tbottom: 0;\r\n\t\t\t\tleft: 170px;\r\n\t\t\t\twidth: 170px;\r\n\t\t\t\tmax-height: 250px;\r\n\t\t\t\toverflow-y: scroll;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\n// Icons only display for tight resolutions.\r\n@media only screen and (min-width: 851px) and (max-width: 1025px),\r\n(max-width: 550px) {\r\n\r\n\t#give-metabox-form-data {\r\n\t\tul.give-metabox-tabs {\r\n\t\t\tmin-width: 40px;\r\n\r\n\t\t\tli > a {\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\t&:before {\r\n\t\t\t\t\tmargin-right: 0;\r\n\t\t\t\t\tfont-size: 15px;\r\n\t\t\t\t}\r\n\t\t\t\tspan {\r\n\t\t\t\t\tdisplay: none;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\t.give_options_panel {\r\n\t\t\tpadding-left: 40px;\r\n\t\t}\r\n\r\n\t}\r\n\t//#give-metabox-form-data\r\n}\r\n\r\n//-------------------------------------\r\n// Export Form\r\n// -------------------------------------\r\n\r\n#give-export-payments {\r\n\t.give_forms_categories,\r\n\t.give_forms_tags {\r\n\t\tinput {\r\n\t\t\tcolor: #999;\r\n\t\t}\r\n\r\n\t\tmin-width: 250px;\r\n\t\tmargin: 0 0 10px 0;\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n\tdiv.chosen-container:first-of-type {\r\n\t\tmargin-top: 10px;\r\n\t}\r\n}\r\n\r\n/*-------------------------------------\r\nDoc Links\r\n-------------------------------------*/\r\n\r\n.give-docs-link {\r\n\ttext-align: right;\r\n\tmargin-right: 15px;\r\n\r\n\ta {\r\n\t\tcolor: #999;\r\n\t\ttext-decoration: none;\r\n\t\tfont-style: italic;\r\n\r\n\t\t&:hover {\r\n\t\t\tcolor: rgb(0, 115, 170);\r\n\t\t}\r\n\t\tspan {\r\n\t\t\tfont-style: normal;\r\n\t\t}\r\n\t}\r\n}","/**\n * Give Add-ons SCSS\n *\n * @description Add-on Styles\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n.type-download {\n float: left;\n margin: 0 1em 1em 0 !important;\n padding: 0;\n vertical-align: top;\n width: 280px;\n text-decoration: none;\n color: inherit;\n border: 1px solid #ddd;\n display: block;\n min-height: 365px;\n overflow: hidden;\n background: #f5f5f5;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 -1px 0 rgba(0, 0, 0, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 -1px 0 rgba(0, 0, 0, .1);\n -webkit-transition-property: border, background, color;\n transition-property: border, background, color;\n -webkit-transition-duration: .05s;\n transition-duration: .05s;\n -webkit-transition-timing-function: ease-in-out;\n transition-timing-function: ease-in-out;\n position: relative;\n\n &:hover {\n\tborder: 1px solid #d1d1d1;\n }\n\n > .featured-img img {\n\tborder-bottom: 1px solid #ddd;\n }\n\n .addon-content {\n\t@include clearfix;\n\tpadding: 15px 20px;\n\n\t.addon-heading {\n\t margin: 0 0 10px;\n\t a {\n\t\toutline: none;\n\t\ttext-decoration: none;\n\t }\n\t}\n\n }\n\n .addon-footer-wrap {\n\tborder-top: 1px solid #ddd;\n\tposition: absolute;\n\tbottom: 2px;\n\tleft: 0;\n\twidth: 100%;\n\tbackground-color: #FFF;\n\tpadding: 15px 20px;\n }\n\n}\n\n.give-view-addons-all, .type-download {\n\n span.dashicons {\n\twidth: 16px;\n\theight: 16px;\n\tfont-size: 14px;\n\tmargin: 6px 0 0 0;\n }\n\n}\n\n.give-view-addons-all span.dashicons {\n margin-left: 3px;\n}\n","/**\n * Give Reports SCSS\n *\n * @description Payment History Styles\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n//---------------------------------------------------------\n// Dashboard Widget\n//---------------------------------------------------------\n#give-dashboard-widgets-wrap {\n\n .inside {\n padding-top: 0;\n padding-bottom: 0;\n\n /* counteract extra padding in Income Report graph */\n .give_forms_page_give-reports & {\n padding-left: 0;\n }\n\n #give-graphs-filter {\n float:none;\n }\n }\n\n .postbox {\n margin-bottom: 10px;\n }\n\n table.reports-table {\n clear: none;\n }\n\n #give-date-range-options {\n float: left;\n\n > span {\n float: left;\n line-height: 30px;\n font-style: italic;\n padding: 0 5px 0 0;\n }\n\n }\n\n}\n\n\n#give-graphs-filter {\n float:right;\n\n .tablenav {\n margin: 0 0 0 17px;\n .actions {\n padding: 0;\n }\n }\n}\n\n//---------------------------------------------------------\n// Global Graph Styles\n//---------------------------------------------------------\n\n.give-graph {\n .y1Axis {\n color: #66bb6a !important;\n }\n .y2Axis {\n color: #546e7a !important;\n }\n}\n\n//---------------------------------------------------------\n//Donor Filter\n//---------------------------------------------------------\nbody.give_forms_page_give-reports, body.give_forms_page_give-payment-history {\n\n h1.nav-tab-wrapper, h2.nav-tab-wrapper {\n margin-bottom: 10px;\n }\n .actions {\n padding-top: 0;\n }\n\n .pagination-links {\n margin-left: 10px;\n }\n\n p.donor-search {\n margin-right: 10px;\n }\n\n .tablenav-right {\n\n .tablenav-pages {\n float: right;\n }\n #give-reports-view {\n margin-top: 0;\n }\n .actions {\n float: left;\n }\n\n }\n\n p.search-box {\n float: left;\n }\n\n .reports-table-nav.tablenav.top {\n width: 100%;\n float: none;\n margin: 0 0 10px;\n }\n\n .reports-forms-details-wrap.top {\n float: right;\n overflow: hidden;\n\n #give-reports-filter {\n float: left;\n }\n > .actions {\n padding-right: 0;\n }\n }\n\n .tablenav.bottom {\n margin-top: 10px;\n }\n\n h3.reports-earnings-title {\n margin: 7px 0 0;\n }\n\n .reports-views-wrap {\n padding: 3px 0 0;\n }\n\n .wrap.give-reports-donors-wrap {\n margin-right: 0;\n margin-bottom: 10px;\n }\n\n .widefat tbody td, .widefat tbody th {\n padding-top: 12px;\n padding-bottom: 12px;\n }\n\n}\n\n//---------------------------------------------------------\n//Export Options Styles\n//---------------------------------------------------------\nbody.give_forms_page_give-reports table.export-options-table {\n tbody td {\n padding: 20px 12px;\n vertical-align: top;\n }\n .give-export-form {\n position: relative;\n .notice-wrap {\n background-color: transparent;\n padding: 12px 12px 4px;\n margin: 2px 0 -16px -11px;\n overflow: auto;\n .spinner {\n margin: -2px -12px 8px 0;\n }\n }\n }\n\n span#give-start-wrap, span#give-end-wrap {\n input {\n width: 100px;\n }\n }\n\n}\n\n#export-donor-options-wrap {\n p {\n padding: 20px 0 0;\n margin: 0;\n font-weight: bold;\n }\n ul {\n max-width: 900px;\n overflow: hidden;\n\n li {\n margin: 0;\n padding: 0 5px 5px 0;\n box-sizing: border-box;\n float: left;\n width: 33%;\n }\n }\n\n}\n\n//---------------------------------------------------------\n//Recount Stats Form\n//---------------------------------------------------------\n\n#give-tools-recount-form {\n\n .notice-wrap {\n position: relative;\n min-height: 25px;\n margin: 10px -12px -12px;\n background: #EFEFEF;\n padding: 10px 12px 12px;\n border-top: 1px solid #E5E5E5;\n\n .give-progress {\n position: absolute;\n top: 15px;\n }\n\n .spinner {\n position: absolute;\n right: 14px;\n top: 13px;\n margin: 0;\n }\n\n #give-batch-success {\n margin-bottom: 6px;\n }\n\n }\n\n}\n\n//---------------------------------------------------------\n//Progress Bar Styles\n//---------------------------------------------------------\n.give-progress {\n height: 15px;\n width: 95%;\n border-radius: 4px;\n overflow: hidden;\n > div {\n height: 100%;\n width: 0;\n }\n\n}\n\n.admin-color-fresh .give-export-form .give-progress div, .give-export-form .give-progress div {\n background: #0073aa;\n}\n\n.admin-color-light .give-export-form .give-progress div {\n background: #888;\n}\n\n.admin-color-blue .give-export-form .give-progress div {\n background: #096484;\n}\n\n.admin-color-coffee .give-export-form .give-progress div {\n background: #c7a589;\n}\n\n.admin-color-ectoplasm .give-export-form .give-progress div {\n background: #a3b745;\n}\n\n.admin-color-midnight .give-export-form .give-progress div {\n background: #e14d43;\n}\n\n.admin-color-sunrise .give-export-form .give-progress div {\n background: #dd823b;\n}\n\n//---------------------------------------------------------\n//Tools\n//---------------------------------------------------------\n\n.recount-stats-controls form {\n display: inline;\n}\n\n.give-recount-stats-descriptions {\n margin: 8px 0 0;\n display: block;\n\n span {\n line-height: 24px;\n font-size: 13px;\n font-style: italic;\n font-weight: normal;\n color: #aaa;\n margin: 0;\n display: none;\n }\n}\n\n//---------------------------------------------------------\n//Payment Methods\n//---------------------------------------------------------\n.gateways-report-tablenav {\n .actions.bulkactions {\n padding-right: 0;\n }\n}\n\n//---------------------------------------------------------\n//Table List Styles\n//---------------------------------------------------------\n\ntable.give-table {\n\n td {\n vertical-align: middle;\n }\n td.row-title {\n h3 {\n margin: 0 0 0.4em;\n font-size: 1.2em;\n }\n p {\n font-size: 13px;\n font-style: italic;\n font-weight: normal;\n color: #aaa;\n margin: 0;\n }\n }\n\n}\n\n#give-graphs-filter > .tablenav {\n height: auto;\n}\n\n//---------------------------------------------------------\n//Logs\n//---------------------------------------------------------\n#give-logs-filter {\n .search-box {\n float: right;\n }\n .tablenav.top {\n float: left;\n clear: none;\n margin-top: 0;\n }\n}","/**\n * Give Admin Welcome SCSS\n *\n * @description Displays when user activates the plugin\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n */\n\n.welcome-h1 {\n display: inline-block;\n margin-right: 15px !important;\n}\n\n.about-wrap {\n h3 {\n margin: 1.5em 0 .6em;\n }\n\n img {\n border:none;\n }\n}\n\n.give-badge {\n padding-top: 150px;\n height: 52px;\n width: 185px;\n color: #FFF;\n font-weight: bold;\n font-size: 14px;\n text-align: center;\n text-shadow: 0 1px 0 rgba(0, 0, 0, 0.8);\n margin: 0 -5px;\n\n position: absolute;\n top: 0;\n right: 0;\n}\n\n.introduction {\n padding: 0 0 20px;\n margin: 0 0 20px;\n}\n\n//Feature section\n.feature-section {\n margin-top: 40px;\n\n span.dashicons {\n width: 16px;\n height: 16px;\n font-size: 14px;\n margin: 6px 0 0 0;\n }\n\n .feature-section-item {\n width: 48%;\n float: left;\n }\n\n div.last-feature {\n margin-right: 0;\n margin-left: 4%;\n }\n\n}\n\n//Get started\n[class^=\"dashboard_page_give-\"], [class*=\"dashboard_page_give-\"] {\n .about-text {\n min-height: 0;\n }\n}\n\n//Social Media\n.social-items-wrap {\n display: inline-block;\n > div {\n display: inline-block;\n }\n .twitter-item-wrap {\n margin: 0 20px 10px 0;\n }\n}\n\n//Credits\n.wp-person {\n img {\n border-radius: 50%;\n }\n a.web {\n margin: 17px 0 0;\n font-weight: bold;\n font-style: italic;\n }\n}\n\n//Newsletter\n.newsletter-intro {\n font-size: 13px;\n font-style: italic;\n color: #777;\n}\n\n.give-newsletter-form-wrap {\n margin: 10px 0 20px -5px;\n max-width: 700px;\n\n td {\n padding: 3px;\n }\n\n div.give-newsletter-confirmation {\n background: #fff;\n -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\n margin: 5px 10px 4px 5px;\n padding: 1px 12px;\n border-left: 4px solid #7ad03a;\n display: none;\n > p {\n margin: 0.5em 0;\n padding: 2px;\n }\n }\n\n}","/**\n * Give Logs SCSS\n *\n * @description Payment History Styles\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n#give_donor_export_form {\n margin: 0 0 5px;\n}\n\n\n#give-payments-filter .give-donation-status {\n display: inline-block;\n}\n\n.column-status {\n .give-donation-status, .give-test-mode-transactions-label {\n display: inline-block;\n }\n .give-test-mode-transactions-label {\n margin: 0 5px;\n vertical-align: middle;\n }\n}\n","/**\r\n * Give Settings SCSS\r\n *\r\n * @package Give\r\n * @subpackage SCSS/Admin\r\n * @copyright Copyright (c) 2016, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n */\r\n\r\n//--------------------------------------------------------------\r\n// General Settings\r\n//--------------------------------------------------------------\r\n\r\n.give-settings-page {\r\n\r\n\t.nav-tab-wrapper {\r\n\t\tmargin-bottom: 5px;\r\n\t\toverflow: visible;\r\n\t}\r\n\r\n\t.cmb2-wrap .cmb-type-checkbox input[type=\"checkbox\"] {\r\n\t\tdisplay: block;\r\n\t\tmargin-bottom: 5px;\r\n\t}\r\n\r\n\tdiv.give-submit-wrap {\r\n\t\tmargin: 20px 0;\r\n\t}\r\n\r\n\t.give_forms_page_give-payment-history .postbox .hndle {\r\n\t\tcursor: default;\r\n\t}\r\n\r\n\t.give-input-field {\r\n\t\twidth: 25em;\r\n\t}\r\n\r\n\ttable table input[type=\"text\"] {\r\n\t\twidth: 15em;\r\n\t}\r\n}\r\n\r\n.give-setting-tab-header {\r\n\tclear: both;\r\n\toverflow: hidden;\r\n\tmargin: 30px 0;\r\n\r\n\th2 {\r\n\t\tmargin-top: 8px;\r\n\t}\r\n}\r\n\r\n.give-radio-inline {\r\n\tul {\r\n\t\tmargin-top: 0;\r\n\t}\r\n\r\n\tli {\r\n\t\tdisplay: inline-block;\r\n\t\tmargin: 0 0 0 15px;\r\n\t}\r\n\r\n\tli:first-child {\r\n\t\tmargin-left: 0;\r\n\t}\r\n}\r\n\r\n// Tools page: fix ajax search user list hide bug\r\n.give-tools-setting-page .bulkactions {\r\n\toverflow: visible;\r\n}\r\n\r\n//Ugly but necessary to override WP core styles.\r\n.form-table td.give-radio-inline fieldset li > label {\r\n\tmargin: 5px 0 0 !important;\r\n}\r\n\r\np.give-field-description, .cmb2-metabox-description {\r\n\tcolor: #aaaaaa;\r\n\tfont-style: italic;\r\n\tfont-size: 13px !important;\r\n}\r\n\r\n.give-image-thumb {\r\n\tposition: relative;\r\n\tmargin-top: 14px;\r\n\r\n\tspan.give-delete-image-thumb {\r\n\t\tposition: absolute;\r\n\t\tbackground: red;\r\n\t\tcolor: white;\r\n\t\tborder-radius: 30px;\r\n\t\tleft: -10px;\r\n\t\ttop: -10px;\r\n\t}\r\n\r\n\timg {\r\n\t\tmax-width: 400px;\r\n\t\tborder: 4px solid white;\r\n\t}\r\n}\r\n\r\n.cmb-type-give-title label,\r\n.give-setting-tab-header h2 {\r\n\tfloat: left;\r\n\tdisplay: inline-block;\r\n\twidth: 220px;\r\n\tfont-style: italic;\r\n\tcolor: #AAA;\r\n\tmargin: 0;\r\n\tfont-size: 14px;\r\n}\r\n\r\n.postbox-container #_give_donation_levels_repeat > .cmb-repeatable-grouping:not(:last-of-type) {\r\n\tborder-bottom: 1px solid #e9e9e9;\r\n\tborder-top: none;\r\n}\r\n\r\n.cmb-type-enabled-gateways .cmb-td > p:first-of-type {\r\n\tdisplay: none;\r\n}\r\n\r\n// CMB2 Checkbox Revised Styles\r\n.cmb-type-checkbox .cmb-td {\r\n\twidth: 80%;\r\n\tlabel {\r\n\t\tfont-size: 13px;\r\n\t}\r\n}\r\n\r\n/* Responsive Settings Rows */\r\n.give_settings {\r\n\t.cmb2-wrap .cmb-row {\r\n\t\tdisplay: table-row;\r\n\t\t> .cmb-th, > .cmb-td {\r\n\t\t\tdisplay: table-cell;\r\n\t\t\tfloat: none;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/* Custom Title Separators */\r\n.cmb2-id-give-title {\r\n\tlabel {\r\n\t\tfont-style: italic;\r\n\t\tcolor: #AAA;\r\n\t\tcursor: default;\r\n\t}\r\n\t> div.cmb-th {\r\n\t\tpadding-bottom: 10px;\r\n\t}\r\n\t> div.cmb-td {\r\n\t\tpadding-bottom: 5px;\r\n\t}\r\n}\r\n\r\n//--------------------------------------------------------------\r\n// Payment Gateways\r\n//--------------------------------------------------------------\r\n.give-payment-gatways-list li.ui-sortable-handle {\r\n\r\n\tspan.give-drag-handle {\r\n\t\tpadding: 3px 4px 0 0;\r\n\t\tfont-size: 15px;\r\n\t\tfont-weight: normal;\r\n\t\tcolor: #bdbdbd;\r\n\t\tcursor: move;\r\n\r\n\t\t&:hover {\r\n\t\t\tcolor: #333;\r\n\t\t}\r\n\r\n\t}\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\n// Emails\r\n//--------------------------------------------------------------\r\n\r\n.give-email-tags-wrap {\r\n\tmargin: 5px 0 0;\r\n\tcode {\r\n\t\tfont-style: normal;\r\n\t\tpadding: 1px 2px;\r\n\t\tfont-size: 12px;\r\n\t}\r\n\tspan {\r\n\t\tdisplay: block;\r\n\t\tcolor: #AAA;\r\n\t\tfont-style: italic;\r\n\t\tmargin: 0 0 2px;\r\n\t\tfont-size: 13px;\r\n\t}\r\n\t.give_price_tag {\r\n\t\tdisplay: none;\r\n\t}\r\n}\r\n\r\n//--------------------------------------------------------------\r\n// System Info page styles\r\n//--------------------------------------------------------------\r\n\r\n#system-info-textarea {\r\n\twidth: 800px;\r\n\theight: 600px;\r\n\tfont-family: Menlo, Monaco, monospace;\r\n\tbackground: #FFF;\r\n\twhite-space: pre;\r\n\toverflow: auto;\r\n\tdisplay: block;\r\n\t/*rtl:ignore*/\r\n\tdirection: ltr;\r\n}\r\n\r\n#give-download-sysinfo {\r\n\tmargin: 0;\r\n}\r\n\r\n//--------------------------------------------------------------\r\n// API\r\n//--------------------------------------------------------------\r\n\r\n.cmb2-id-api {\r\n\r\n\t.cmb-td {\r\n\t\tpadding: 0;\r\n\t}\r\n\ttable th {\r\n\t\tpadding: 10px 8px;\r\n\t}\r\n\r\n\t.give-ajax-user-search {\r\n\t\tpadding: 3px 5px;\r\n\r\n\t}\r\n\r\n}\r\n\r\n.give_user_search_wrap {\r\n\tposition: relative;\r\n\toverflow: visible;\r\n}\r\n\r\n.give_user_search_results {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 27px;\r\n\tz-index: 100;\r\n\r\n\ta.give-ajax-user-cancel {\r\n\t\tposition: absolute;\r\n\t\tright: 6px;\r\n\t\ttop: 2px;\r\n\t}\r\n\tul {\r\n\t\tpadding: 10px 10px 4px;\r\n\t\tmargin: 0;\r\n\t\tbackground: #f0f0f0;\r\n\t\tborder: 1px solid #DFDFDF;\r\n\t\twidth: 300px;\r\n\t\tmax-height: 200px;\r\n\t\toverflow-y: scroll;\r\n\t}\r\n\r\n}\r\n\r\n#api {\r\n\r\n\t.tablenav .actions {\r\n\t\toverflow: visible;\r\n\t}\r\n\r\n}\r\n\r\na.give-delete {\r\n\tcolor: #a00;\r\n}\r\n\r\n//--------------------------------------------------------------\r\n// License\r\n//--------------------------------------------------------------\r\n.give-settings-wrap-licenses {\r\n\t.give-license-deactivate {\r\n\t\tmargin: 1px 0 0 10px;\r\n\t\theight: 30px;\r\n\t}\r\n\r\n\t.give-license-field {\r\n\t\tbackground: #FFF url('../images/close.png') no-repeat;\r\n\t\tbackground-position: 98.5% center;\r\n\t\tbackground-size: 18px;\r\n\t}\r\n\r\n\t.give-license-active, .give-license-active:focus {\r\n\t\tbackground-image: url('../images/tick.png');\r\n\t\tbackground-color: #FFF;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: 98.5% center;\r\n\t\toutline: none;\r\n\t\tbackground-size: 16px;\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n}\r\n\r\n/* Addon grid design */\r\n.give-settings-page {\r\n\tmargin-top: 20px;\r\n\r\n\t.give-settings-wrap-licenses {\r\n\t\tdisplay: block;\r\n\t\tposition: relative;\r\n\t\tfloat: left;\r\n\t\twidth: 30.5%;\r\n\t\tmin-height: 180px;\r\n\t\tmargin: 20px 1% 20px 0;\r\n\t}\r\n\r\n\t.give-license-key {\r\n\t\tlabel {\r\n\t\t\tmargin: 0 0 0 10px;\r\n\t\t\tpadding: 10px 0;\r\n\t\t\tdisplay: block;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tfont-weight: 600;\r\n\t\t\tcursor: default;\r\n\t\t}\r\n\t}\r\n\r\n\t.give-license-block {\r\n\t\tmargin: 0 10px;\r\n\t}\r\n\r\n\tinput[type=\"text\"].give-license-field,\r\n\tinput[type=\"password\"].give-license-field {\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.give-license-block input[type=\"submit\"] {\r\n\t\tposition: absolute;\r\n\t\ttop: 3px;\r\n\t\tright: 10px;\r\n\t\theight: 24px;\r\n\t\tline-height: 22px;\r\n\t\tpadding: 0 8px 1px;\r\n\t\tfont-size: 11px;\r\n\t}\r\n\r\n\t//License status notice.\r\n\t.give-license-status-notice {\r\n\t\tbackground: #fff;\r\n\t\tborder-left: 4px solid #fff;\r\n\t\t-webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\r\n\t\tbox-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\r\n\t\tmargin: 5px 0 2px;\r\n\t\tpadding: 1px 12px;\r\n\r\n\t\tp {\r\n\t\t\tpadding: 10px 0;\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\r\n\t\ta {\r\n\t\t\tcolor: #444;\r\n\t\t\tcursor: pointer;\r\n\t\t\t&:hover {\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t.give-license-status-notice.give-license-expires-soon {\r\n\t\tborder-color: #00a0d2;\r\n\t}\r\n\r\n\t//Inactive or Expired.\r\n\t.give-license-status-notice.give-inactive,\r\n\t.give-license-status-notice.give-license-expired {\r\n\t\tborder-color: #e24e4e;\r\n\t}\r\n\r\n\t.give-license-status-notice.give-license-error,\r\n\t.give-license-status-notice.give-license-no_activations_left,\r\n\t.give-license-status-notice.give-license-missing,\r\n\t.give-license-status-notice.give-license-invalid,\r\n\t.give-license-status-notice.give-license-site_inactive,\r\n\t.give-license-status-notice.give-license-item_name_mismatch {\r\n\t\tborder-color: orange;\r\n\t}\r\n\r\n\t.give-license-status-notice.give-license-lifetime-notice,\r\n\t.give-license-status-notice.give-license-expiration-date {\r\n\t\tborder-color: #46b450;\r\n\t}\r\n\r\n\t.give-license-status-notice.give-license-expires-soon a:hover,\r\n\t.give-license-status-notice.give-license-expired a:hover {\r\n\t\ttext-decoration: none;\r\n\t}\r\n}\r\n\r\n/* Responsive fixes: Addon grid design */\r\n@media screen and (max-width: 1100px) {\r\n\t.give-settings-page .give-settings-wrap-licenses {\r\n\t\twidth: 45%;\r\n\t\tmin-height: 150px;\r\n\t}\r\n}\r\n\r\n@media screen and (max-width: 600px) {\r\n\t.give-settings-page .give-settings-wrap-licenses {\r\n\t\twidth: 100%;\r\n\t\tmax-width: 320px;\r\n\t}\r\n}\r\n\r\n/* Tables */\r\n\r\n.give-table {\r\n\r\n\tthead {\r\n\t\tth {\r\n\t\t\tpadding: 8px 10px !important;\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\n//Fix double <hr>s for change to `give_title` in 1.3.5\r\n.give_settings .cmb-td hr + hr {\r\n\tdisplay: none;\r\n}\r\n\r\n//Set a min-height for TinyMCE so it's not too small when hidden in a tab and then revealed\r\n.post-type-give_forms .mce-container iframe, .post-type-give_forms .wp-editor-area {\r\n\tmin-height: 400px;\r\n}\r\n\r\n// Widget Page\r\n.give-field-description {\r\n\tcolor: #aaaaaa;\r\n\tfont-style: italic;\r\n\tmargin: 0;\r\n\tpadding-top: .5em;\r\n}\r\n\r\n// Setting page tab\r\nh2.give-nav-tab-wrapper {\r\n\toverflow: hidden;\r\n\theight: 35px;\r\n}\r\n\r\n@media screen and (max-width: 600px) {\r\n\t.give-nav-tab-wrapper {\r\n\t\tposition: relative;\r\n\t\tpadding-top:0 !important;\r\n\r\n\t\t> a {\r\n\t\t\twidth: 100%;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tmargin:0;\r\n\t\t\t&:hover {\r\n\t\t\t\tborder-bottom: 1px solid #ccc;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tdiv.give-sub-nav-tab-wrapper {\r\n\t\t\tposition: absolute;\r\n\t\t\ttop:0;\r\n\t\t\tright:0;\r\n\r\n\t\t\t#give-show-sub-nav {\r\n\t\t\t\theight: 28px;\r\n\t\t\t\twidth: 30px;\r\n\t\t\t\tborder-radius: 0;\r\n\t\t\t\tmargin:0;\r\n\t\t\t\t> span.dashicons {\r\n\t\t\t\t\tmargin: 6px auto 0;\r\n\t\t\t\t\tdisplay: block;\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\r\n\t\t\tnav.give-sub-nav-tab {\r\n\t\t\t\ttop:35px;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n}\r\n\r\n.give-sub-nav-tab-wrapper {\r\n\tposition: relative;\r\n\tdisplay: inline-block;\r\n\tz-index: 9999;\r\n\tfloat: left;\r\n\r\n\tnav.give-sub-nav-tab {\r\n\t\tborder: 1px solid #ccc;\r\n\t\tborder-bottom: 0;\r\n\t\tposition: absolute;\r\n\t\ttop: 32px;\r\n\t\tright: 0;\r\n\r\n\t\ta {\r\n\t\t\tfloat: left;\r\n\t\t\tbackground: white;\r\n\t\t\tpadding: 6px 10px;\r\n\t\t\tclear: both;\r\n\t\t\ttext-decoration: none;\r\n\t\t\tborder-bottom: 1px solid #ccc;\r\n\t\t\tmin-width: 170px;\r\n\t\t\tcolor: #555;\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\r\n\t\ta:hover {\r\n\t\t\tbackground: #e5e5e5;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// By default hide setting tab wrapper.\r\n.give-sub-nav-tab-wrapper{\r\n\tdisplay:none;\r\n}\r\n\r\n#give-show-sub-nav {\r\n\ttext-decoration: none;\r\n\tpadding: 3px 4px;\r\n\tborder-bottom: 1px solid #ccc;\r\n\tline-height: 0;\r\n\tbackground: white;\r\n\tborder-radius: 4px;\r\n margin-top:5px;\r\n\r\n\t> span.dashicons {\r\n font-size:16px;\r\n height:16px;\r\n width:16px;\r\n\t}\r\n}\r\n\r\n#give-show-sub-nav:hover, #give-show-sub-nav:active {\r\n\toutline: none;\r\n\tbox-shadow: inset 0px 0px 4px #ddd;\r\n}","/**\r\n * Give Payment History SCSS\r\n *\r\n * @description Payment History Styles\r\n * @package Give\r\n * @subpackage SCSS/Admin\r\n * @copyright Copyright (c) 2016, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n#give-payment-filters, .give-submit-wrap {\r\n clear: both;\r\n background: #f5f5f5;\r\n border-color: #dfdfdf;\r\n overflow: auto;\r\n margin: 8px 0;\r\n padding: 12px;\r\n border-width: 1px;\r\n border-style: solid;\r\n font-size: 13px;\r\n line-height: 2.1em;\r\n}\r\n\r\n#give-payment-filters {\r\n p {\r\n color: #777;\r\n }\r\n ul.subsubsub {\r\n margin-bottom: 8px;\r\n }\r\n label {\r\n font-style: italic;\r\n margin: 0 10px;\r\n\r\n &.give-start-date-label {\r\n margin-left: 5px;\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\n#give-payments-filter {\r\n ul.subsubsub {\r\n margin-bottom: 12px;\r\n }\r\n .tablenav.top {\r\n float: none;\r\n .bulkactions {\r\n margin-top: 1px;\r\n padding-top: 0;\r\n }\r\n\r\n }\r\n\r\n .give-email-column-value {\r\n font-size: 14px;\r\n font-weight: bold;\r\n }\r\n\r\n #the-list .check-column input {\r\n margin-top: 1px;\r\n }\r\n\r\n .column-details {\r\n width: 50px;\r\n }\r\n\r\n .column-amount {\r\n width: 120px;\r\n }\r\n\r\n}\r\n\r\ntr.status-refunded td {\r\n background: #cecece;\r\n border-top-color: #ccc;\r\n}\r\n\r\n.wp-list-table.forms th#date {\r\n width: 140px;\r\n}\r\n\r\n.give-mobile-link {\r\n line-height: 32px;\r\n vertical-align: middle;\r\n}\r\n\r\n.give-mobile-link img {\r\n max-width: 80%;\r\n height: auto;\r\n float: left;\r\n}\r\n\r\n//------------------------------------\r\n// Status Colors\r\n//------------------------------------\r\n\r\n.give-donation-status {\r\n > span {\r\n display: inline-block;\r\n width: 12px;\r\n height: 12px;\r\n position: relative;\r\n top: 1px;\r\n margin: 0;\r\n padding: 0;\r\n border-radius: 50%;\r\n background: #888;\r\n line-height: 16px;\r\n }\r\n\r\n //Pending\r\n &.status-pending > span {\r\n background-color: $orange;\r\n }\r\n\r\n //Complete\r\n &.status-complete > span, &.status-publish > span {\r\n background-color: $status-complete;\r\n }\r\n\r\n //Refunded\r\n &.status-refunded > span {\r\n background-color: $status-default;\r\n }\r\n\r\n &.status-failed > span {\r\n background-color: $red;\r\n }\r\n\r\n &.status-abandoned > span {\r\n background-color: $dark;\r\n }\r\n\r\n &.status-revoked > span {\r\n background-color: $status-revoked;\r\n }\r\n\r\n &.status-subscription > span, &.status-renewal > span, &.status-give_subscription > span {\r\n background-color: $status-subscription;\r\n }\r\n\r\n}\r\n\r\n//Test Payment Label\r\n#test-payment-label {\r\n @include give-label();\r\n background-color: $orange;\r\n margin: 0 15px;\r\n vertical-align: middle;\r\n}\r\n\r\n//ID & link field\r\n#give-payments-filter {\r\n\r\n .give-payment-id {\r\n @include give-label();\r\n font-weight: normal;\r\n @extend .give-item-label-gray;\r\n }\r\n\r\n .column-details {\r\n padding-right: 30px;\r\n }\r\n\r\n .give-donation-status {\r\n display: inline-block;\r\n }\r\n\r\n}\r\n\r\n//Payment View Metabox\r\n#give-order-update {\r\n .give-donation-status {\r\n display: inline-block;\r\n float: none;\r\n margin: 0 10px;\r\n position: relative;\r\n top: 3px;\r\n }\r\n}\r\n\r\n//Donation Column\r\n.column-donation_form {\r\n .donation-level-text-wrap {\r\n font-style: italic;\r\n display: block;\r\n }\r\n}\r\n\r\n/*---------------------\r\nResponsiveness\r\n---------------------------*/\r\n@media handheld, only screen and (max-width: 640px) {\r\n .wp-list-table.forms th {\r\n width: auto !important;\r\n }\r\n}\r\n\r\n.download_page_give-payment-history .ui-dialog .ui-dialog-titlebar-close span {\r\n margin-left: -8px;\r\n margin-top: -8px;\r\n}\r\n\r\n/* Payment Details\r\n-------------------------------------------------------------- */\r\n.give-admin-box .label {\r\n font-weight: 600;\r\n}\r\n\r\n.give-admin-box-inside {\r\n margin: 0;\r\n padding: 3px 10px;\r\n clear: both;\r\n border-bottom: 1px solid #eee;\r\n}\r\n\r\n.give-admin-box-inside .strong {\r\n font-weight: 600;\r\n}\r\n\r\n.give-payment-fees .fee-label {\r\n font-weight: normal;\r\n color: #666;\r\n}\r\n\r\n.give-admin-box .right {\r\n float: right;\r\n}\r\n\r\n#give-order-update .inside,\r\n#give-order-details .inside {\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n#give-order-update input.give_datepicker {\r\n width: 180px;\r\n}\r\n\r\n#give-order-update input[type=\"number\"].give-payment-time-hour,\r\n#give-order-update input[type=\"number\"].give-payment-time-min {\r\n width: 50px;\r\n}\r\n\r\n.give-admin-box-inside:last-child {\r\n border-bottom: 0;\r\n}\r\n\r\n#give-edit-order-form .data-payment-key {\r\n word-break: break-all;\r\n}\r\n\r\n.give-order-update-box #major-publishing-actions .button-secondary {\r\n margin-right: 10px;\r\n}\r\n\r\n#give-donation-overview th {\r\n text-align: left;\r\n}\r\n\r\n#give-donation-overview .give-select-chosen {\r\n width: 196px;\r\n}\r\n\r\n#give-donation-overview ul,\r\n#give-order-address-country-wrap select,\r\n#give-donor-details .order-data-address input,\r\n#give-edit-order-form .column input,\r\n#give-donor-details .order-data-column p.data input {\r\n clear: both;\r\n display: block;\r\n}\r\n\r\n.give-order-data input.small-text {\r\n margin: 0;\r\n}\r\n\r\n#give-order-update span.label {\r\n display: inline;\r\n width: 50px;\r\n}\r\n\r\n.give-order-update-box .button-primary {\r\n margin-right: 0;\r\n}\r\n\r\n#give-edit-order-form .column .description {\r\n padding-right: 10px;\r\n}\r\n\r\n#give-edit-order-form .column,\r\n#give-donation-overview .row > ul > li,\r\n#give-donation-overview .inside > ul > li {\r\n display: inline-block;\r\n position: relative;\r\n vertical-align: top;\r\n}\r\n\r\n#give-donation-overview ul {\r\n font-size: 0;\r\n\r\n li {\r\n font-size: 13px;\r\n\r\n &.actions {\r\n text-align: right;\r\n min-width: 200px;\r\n }\r\n\r\n &.remove {\r\n text-align: right;\r\n }\r\n\r\n }\r\n\r\n .row {\r\n padding: 12px;\r\n border-bottom: 1px solid #eee;\r\n }\r\n\r\n}\r\n\r\n#give-order-data .data span {\r\n color: #666;\r\n font-weight: 600;\r\n}\r\n\r\ninput.give-price-field {\r\n width: 80px;\r\n padding: 3px 5px;\r\n}\r\n\r\n.give_forms_page_give-payment-history.js .postbox .hndle {\r\n cursor: default;\r\n}\r\n\r\n//------------------------------------------\r\n//Payment Notes Section\r\n//------------------------------------------\r\n\r\n#give-payment-notes {\r\n textarea {\r\n min-height: 150px;\r\n }\r\n #give-add-payment-note {\r\n margin: 6px 0 15px;\r\n }\r\n\r\n}\r\n\r\n//------------------------------------------\r\n//Edit Order Form\r\n//------------------------------------------\r\n\r\n#give-billing-details {\r\n\r\n .column > div {\r\n margin: 0 0 10px;\r\n }\r\n\r\n label {\r\n display: block;\r\n }\r\n\r\n .column-container {\r\n padding: 5px 0 10px;\r\n }\r\n\r\n input[type=\"text\"] {\r\n width: 95%;\r\n }\r\n\r\n .chosen-container {\r\n width: 98% !important;\r\n }\r\n\r\n}\r\n\r\n//------------------------------------------\r\n//Responsive\r\n//------------------------------------------\r\n\r\n@media screen and (min-width: 1200px) {\r\n #give-edit-order-form .column {\r\n width: 33%;\r\n }\r\n\r\n #give-donation-overview.columns-4 li.actions {\r\n width: 25%;\r\n margin-top: 0;\r\n margin-right: 0;\r\n }\r\n\r\n}\r\n\r\n@media screen and (max-width: 1199px) {\r\n #give-edit-order-form .column {\r\n width: 49%;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 782px) {\r\n .order-data-column input[type=\"email\"] {\r\n padding: 6px 10px;\r\n }\r\n}\r\n\r\n//------------------------------------------\r\n//Donation Details\r\n//------------------------------------------\r\n#give-donor-details .inside, #give-donation-overview .inside {\r\n margin-top: 0;\r\n}\r\n\r\n.give_forms_page_give-payment-history #give-dashboard-widgets-wrap #side-sortables {\r\n padding-top: 0;\r\n}","/**\n * Give Admin Dashboard SCSS\n *\n * @description Styles the Give dashboard widget\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n.give-dashboard-widget {\n\n .give-dashboard-today {\n\ttext-align: center;\n\n\t.give-dashboard-date-today {\n\t margin: 10px 0 0;\n\t padding: 0;\n\t}\n\n\t.give-dashboard-happy-day {\n\t padding: 3px;\n\t margin: 0;\n\t}\n\n\t.give-dashboard-today-earnings {\n\t font-size: 42px;\n\t color: #4ead61;\n\t font-weight: bold;\n\t margin: 15px 0 0;\n\t line-height: 1;\n\t}\n\n\t.give-donations-today {\n\t font-size: 18px;\n\t font-weight: bold;\n\t margin: 0 0 30px;\n\t padding: 4px 0 1px;\n\t}\n\n\t.give-last-seven {\n\t font-size: 14px;\n\t font-weight: bold;\n\t padding: 0;\n\t margin: 0 0 30px;\n\t}\n\n }\n\n //Table Stats\n .give-table-stats {\n\twidth: 100%;\n\ttext-align: center;\n\tmargin: 0;\n\ttable-layout: fixed;\n\tborder-top: 1px solid #ececec;\n\tborder-spacing: 0;\n\n\t.give-dashboard-stat-total, .give-dashboard-stat-total-label {\n\t padding: 0;\n\t margin: 0;\n\t}\n\n\t.give-dashboard-stat-total {\n\t color: #4ead61;\n\t font-weight: bold;\n\t font-size: 16px;\n\t}\n\n }\n\n}\n\n//Fancy borders\n#give_dashboard_sales {\n\n > .inside {\n\tpadding: 0;\n }\n\n .give-table-stats {\n\ttd {\n\t padding: 10px 0;\n\t}\n\ttd:first-of-type {\n\t border-right: 1px solid #ececec;\n\t}\n\ttr#give-table-stats-tr-1 td {\n\t border-bottom: 1px solid #ececec;\n\t}\n }\n\n}\n\n//At a Glance Widget\n#dashboard_right_now {\n .give-forms-count:before {\n\t@include iconstyle();\n\tfont-size: 18px;\n\twidth: 18px;\n\theight: 18px;\n\tcontent: \"\\e800\";\n }\n}","/**\n * Give Forms SCSS\n *\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n//--------------------------------------------------------------\n// Donors Listing Page Style\n//--------------------------------------------------------------\n.give_forms_page_give-donors {\n .wrap > h2 {\n\tmargin-bottom: 15px;\n }\n\n .nav-tab-wrapper .dashicons {\n position: relative;\n top:2px;\n margin: 0 3px 0 0;\n }\n\n #give-donors-filter {\n\tposition: relative;\n\tp.search-box {\n\t float: left;\n\t margin: 0;\n\t}\n }\n\n .tablenav.top {\n\tfloat: right;\n\tclear: none;\n }\n}\n\n//--------------------------------------------------------------\n// Donor Styles\n//--------------------------------------------------------------\n#give-customer-card-wrapper {\n margin-left: -1px;\n z-index: 2;\n min-height: 200px;\n\n\n input {\n\tfont-weight: normal;\n }\n\n .customer-section {\n\tborder-bottom: 1px solid #eee;\n\tmargin-bottom: 10px;\n }\n\n .customer-section table {\n\tmargin-bottom: 0;\n }\n\n > div:first-child {\n\tpadding-top: 20px;\n }\n\n > div:last-child {\n\tpadding-bottom: 20px;\n\tborder: none;\n }\n\n //AVATAR\n .avatar-wrap {\n\tpadding: 0 15px 15px 0;\n\ttext-align: center;\n\tfloat: left;\n\n\timg {\n\t border-radius: 3px;\n\t}\n\n }\n\n a.delete {\n\ttext-decoration: none;\n\tcolor: #ff0000;\n\tmargin-right: 5px;\n }\n\n //Donor Header (non-avatar content)\n .donor-bio-header {\n\n\t.customer-since {\n\t margin: 10px 0;\n\t font-size: 16px;\n\t}\n\n\t.customer-id {\n display: inline-block;\n\t font-size: 24px;\n\t font-weight: 600;\n\t margin-right: 10px;\n\t}\n\n .customer-name-wrap {\n display: inline-block;\n }\n\n\t.customer-edit-link {\n\t margin-bottom: 15px;\n\t}\n\n }\n\n}\n\n.customer-main-wrapper {\n clear: both;\n margin: 0 0 20px;\n\n @media(max-width: 655px) {\n\twidth: 100%;\n }\n\n table {\n\tmargin: 0;\n }\n\n input {\n\twidth: 200px;\n }\n\n}\n\n//Donor Summary\n#donor-summary {\n padding: 0 20px;\n\n &:after {\n\tfont-family: \"dashicons\";\n\tcontent: \"\\f110\";\n\tposition: absolute;\n\ttop: 10px;\n\tright: 10px;\n\tfont-size: 100px;\n\tcolor: #F0F0F0;\n\tz-index: 0;\n }\n\n}\n#give-customer-card-wrapper .customer-address-wrapper {\n width: 202px;\n\n\tspan[data-key=\"line2\"] {\n\t\tdisplay: table;\n\t\tclear: both;\n\t}\n}\n\n#give-customer-card-wrapper .customer-address-wrapper select {\n width: 200px;\n}\n\n#give-customer-card-wrapper .customer-info {\n min-height: 185px;\n}\n\n#give-customer-card-wrapper .info-wrapper {\n min-height: 125px;\n}\n\n.customer-info .customer-name {\n font-size: 24px;\n font-weight: 600;\n}\n\n.disconnect-user a {\n font-size: 12px;\n font-weight: normal;\n text-decoration: none;\n}\n\n#customer-edit-actions {\n text-align: center;\n margin-bottom: 20px;\n line-height: 28px;\n}\n\n#customer-edit-actions .button-secondary {\n margin-right: 10px;\n}\n\n#give-customer-card-wrapper .edit-item {\n display: none;\n}\n\n#give-customer-card-wrapper .give_user_search_results {\n left: 1px;\n top: 16px;\n}\n\n#give-customer-card-wrapper .give_user_search_results ul {\n width: 200px\n}\n\n#customer-stats-wrapper {\n margin: 0 auto;\n text-align: center;\n padding: 15px;\n ul {\n\tmargin: 0;\n\tpadding: 0;\n\toverflow: hidden;\n\tli {\n\t width: 50%;\n\t float: left;\n\t line-height: 22px;\n\t font-size: 14px;\n\t margin: 0;\n\t}\n\n }\n\n a {\n\ttext-decoration: none;\n }\n}\n\n#customer-stats-wrapper .dashicons {\n color: #888;\n}\n\n#customer-tables-wrapper table {\n width: 100%;\n text-align: center;\n}\n\n#customer-tables-wrapper th {\n text-align: center;\n}\n\n#customer-tables-wrapper .donations tr > th:first-child,\n#customer-tables-wrapper .donations tr > td:first-child,\n#customer-tables-wrapper .emails tr > th:first-child,\n#customer-tables-wrapper .emails tr > td:first-child {\n text-align: left;\n}\n\n#customer-tables-wrapper .donations tr > td:only-child {\n text-align: center;\n}\n\n#customer-notes-wrapper {\n min-height: 50px;\n}\n\n.customer-notes-header span, .customer-notes-header img {\n font-weight: 600;\n line-height: 30px;\n vertical-align: middle;\n}\n\n.customer-note-input {\n width: 100%;\n margin-bottom: 5px;\n}\n\n//Customer Notes\n#give-customer-notes {\n div:nth-of-type(even) {\n\tbackground-color: #f9f9f9;\n }\n .customer-note-wrapper {\n\tborder-bottom: 1px solid #f9f9f9;\n\tmin-height: 38px;\n\tpadding: 0;\n\n\t.note-content-wrap {\n\t padding: 10px 12px;\n\t line-height: 20px;\n\t font-size: 14px;\n\t}\n\n }\n\n .give-no-customer-notes {\n\ttext-align: center;\n\tpadding: 20px;\n }\n\n}\n\n.customer-note-wrapper span {\n display: block;\n}\n\n.delete-customer {\n text-align: center;\n}\n\n","/**\r\n * Give Admin Buttons SCSS\r\n *\r\n * @package Give\r\n * @subpackage SCSS/Admin\r\n * @copyright Copyright (c) 2016, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n/*=Give Shortcode Button\r\n--------------------------------------*/\r\n\r\n@media screen and (max-width: 782px) {\r\n #wp-content-media-buttons a.give-thickbox {\r\n padding: 6px 14px;\r\n line-height: normal;\r\n font-size: 14px;\r\n height: auto;\r\n }\r\n .wp-media-buttons span#give-media-button {\r\n margin-top: 0 !important;\r\n margin-left: 2px !important;\r\n }\r\n}\r\n\r\n/*=Button in shortcode tinymce dialog\r\n--------------------------------------*/\r\n\r\n.mce-primary.mce-give-primary button {\r\n padding-right: 10px;\r\n padding-left: 10px;\r\n}\r\n\r\n/*=Admin Buttons w/ Icons\r\n--------------------------------------*/\r\n\r\n/* extends .wp-core-ui .button */\r\n.wp-core-ui .give-admin-button {\r\n padding-left: 7px;\r\n padding-right: 7px;\r\n}\r\n\r\n/* matches style of Add Media and Give Shortcodes buttons */\r\n.give-admin-button-icon {\r\n display: inline-block;\r\n width: 18px;\r\n height: 18px;\r\n vertical-align: text-top;\r\n margin: 0 2px;\r\n\r\n &:before {\r\n font: 400 18px/1 dashicons;\r\n speak: none;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n }\r\n\r\n /* specific DashIcon styles */\r\n &-update:before {\r\n content: \"\\f463\";\r\n }\r\n}\r\n","\n/* =Primary button in shortcode tinymce dialog\n-------------------------------------------------------------- */\n\n.mce-primary.mce-sc-primary button {\n\tpadding-right: 10px;\n\tpadding-left: 10px;\n}\n\n.mce-sc-popup {\n\ta {\n\t\ttext-decoration: underline;\n\t}\n\tp {\n\t\tmargin-bottom: 1em;\n\t\t&.strong {\n\t\t\tfont-weight: 600;\n\t\t}\n\t\t&.no-margin {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t\t&.margin-top {\n\t\t\tmargin-top: 1em;\n\t\t}\n\t}\n\t// Crop text which overflow in listbox.\n\t.mce-listbox button{\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden !important;\n\t}\n}\n\n/* =Shortcode button above wp_editor\n-------------------------------------------------------------- */\n\n@media screen and (max-width: 782px) {\n\t.wp-media-buttons button.sc-button span {\n\t\twidth: 18px !important;\n\t}\n}\n\n.wp-media-buttons {\n\tbutton.sc-button {\n\t\toutline: none;\n\t\tpadding-left: 5px;\n\t\tmargin-right: 0;\n\n\t\t&:active {\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n}\n\nbutton.sc-button {\n\t&:after {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\ttop: -1px;\n\t\tcontent: '';\n\t\twidth: 0;\n\t\theight: 0;\n\t\tborder-top: 6px solid #777;\n\t\tborder-right: 4px solid transparent;\n\t\tborder-left: 4px solid transparent;\n\t\tmargin: 0 3px 0 6px;\n\t}\n\n\t&.active:after {\n\t\ttop: -2px;\n\t\tborder-top: 0;\n\t\tborder-bottom: 6px solid #32373c;\n\t}\n}\n\n/* =Shortcode button dropdown menu\n-------------------------------------------------------------- */\n\n.sc-wrap {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 5px;\n}\n\ndiv.sc-menu {\n\tdisplay: none;\n\tposition: absolute;\n\ttop: 100%;\n\tleft: 0;\n\tmin-width: 100%;\n\tmax-height: 410px;\n\tfont-size: 14px;\n\tbox-shadow: 0 3px 5px rgba( 0, 0, 0, 0.2 );\n\tbackground: #fff;\n\tborder: 1px solid rgba( 0, 0, 0, 0.15 );\n\toverflow: auto;\n\toverflow-x: hidden;\n\tpadding: 5px 0;\n\tmargin: -2px 0 0;\n\tz-index: 1002;\n}\n\ndiv.sc-shortcode {\n\tdisplay: block;\n\twhite-space: nowrap;\n\tcursor: pointer;\n\tpadding: 6px 12px;\n\tmargin-bottom: 2px;\n\n\t&:hover {\n\t\tcolor: #fff;\n\t}\n}\n\n/* =Shortcode tinymce dialog backdrop\n-------------------------------------------------------------- */\n\n#mce-modal-block.mce-reset.mce-fade.mce-in {\n\topacity: 0.7;\n\tfilter: alpha(opacity=70);\n}\n","/**\n * Give System Info SCSS\n *\n * @description System Info Styles\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license https://opensource.org/licenses/gpl-3.0/ GNU Public License\n *\n * The following code is a derivative work of the code from the WooCommerce\n * plugin, which is licensed GPLv3. This code therefore is also licensed under\n * the terms of the GNU Public License, version 3.\n *\n * Copyright (c) 2015 WooThemes\n * Copyright (c) 2016 WordImpress, LLC\n*/\n\n.give-status-table {\n margin-bottom: 1em;\n\n h2 {\n font-size: 14px;\n margin: 0;\n }\n\n tr {\n &:nth-child(2n) {\n th,\n td {\n background: #fcfcfc;\n }\n }\n }\n\n th {\n font-weight: 700;\n padding: 9px;\n }\n\n td:first-child {\n width: 33%;\n }\n\n td.help {\n width: 1em;\n }\n\n td {\n padding: 9px;\n font-size: 1.1em;\n\n mark {\n background: transparent none;\n }\n\n mark.yes {\n color: $green;\n }\n\n mark.no {\n color: #999;\n }\n\n mark.error {\n color: $red;\n }\n\n ul {\n margin: 0;\n }\n }\n}\n\n.wrap div.give-debug-report-wrapper {\n margin-top: 1em;\n}\n\n.give-debug-report {\n display: none;\n margin: 10px 0;\n padding: 0;\n position: relative;\n\n textarea {\n font-family: monospace;\n width: 100%;\n margin: 0;\n height: 300px;\n padding: 20px;\n -moz-border-radius: 0;\n -webkit-border-radius: 0;\n border-radius: 0;\n resize: none;\n font-size: 12px;\n line-height: 20px;\n outline: 0;\n }\n}\n"],"mappings":"AAAA;;;;;;;;EAQE;ACRF;;GAEG;AAeH,AAAA,cAAc,CAAC;EAbb,KAAK,EAAE,CAAE,GAeV;EAFD,AAAA,cAAc,AAXX,OAAO,EAWV,AAAA,cAAc,AAVX,MAAM,CAAC;IACN,OAAO,EAAE,GAAI;IACb,OAAO,EAAE,KAAM,GAChB;EAOH,AAAA,cAAc,AALX,MAAM,CAAC;IACN,KAAK,EAAE,IAAK,GACb;;AAOH;;;GAGG;AAOH;;GAEG;AA+BH,AAAA,gBAAgB,CAAC;EAtBf,OAAO,EAAE,cAAe;EACxB,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,CAAE;EACf,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,MAAO;EACnB,WAAW,EAAE,MAAO;EACpB,cAAc,EAAE,QAAS;EACzB,aAAa,EAAE,KAAM,GAiBtB;EAFD,AAAA,gBAAgB,AAbb,MAAM,CAAC;IACN,KAAK,EAAC,IAAK;IACX,eAAe,EAAE,IAAK,GACvB;;AAcH,AAAA,qBAAqB,EWsFrB,AXtFA,qBWsFqB,CAEnB,gBAAgB,CXxFI;EAVpB,gBAAgB,EAAE,OAAQ,GAY3B;;AAED,AAAA,uBAAuB,CAAC;EAXtB,gBAAgB,EAAE,OAAQ,GAa3B;;AAGD,AAAA,gBAAgB,CAAC;EAnCf,OAAO,EAAE,cAAe;EACxB,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,CAAE;EACf,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,MAAO;EACnB,WAAW,EAAE,MAAO;EACpB,cAAc,EAAE,QAAS;EACzB,aAAa,EAAE,KAAM,GA8BtB;EAFD,AAAA,gBAAgB,AA1Bb,MAAM,CAAC;IACN,KAAK,EAAC,IAAK;IACX,eAAe,EAAE,IAAK,GACvB;;ACtDH;;GAEG;ACFH;;;;;;;;;;;GAWG;AACH,AAAA,KAAK,CAAA;EACJ,QAAQ,EAAE,QAAS;EACnB,IAAI,EAAE,QAAS;EACf,GAAG,EAAE,QAAS;EACd,OAAO,EAAE,IAAK;EAEd,SAAS,EAAE,KAAM;EACjB,SAAS,EAAE,IAAK;EAEhB,SAAS,EAAE,MAAO;EAClB,WAAW,EAAE,IAAK;EAElB,SAAS,EAAE,GAAI;EAEf,UAAU,EAAE,IAAK;EACjB,OAAO,EAAE,CAAE,GACX;;AAEA,AAAA,aAAa,CAAA;EACZ,QAAQ,EAAE,QAAS;EACnB,OAAO,EAAE,OAAQ;EACjB,QAAQ,EAAE,MAAO;EAEjB,UAAU,EAAE,IAAK;EACjB,SAAS,EAAE,UAAW,GACtB;;AAED,AAAA,cAAc,CAAA;EACb,QAAQ,EAAE,QAAS;EACnB,OAAO,EAAE,iBAAkB;EAC3B,QAAQ,EAAE,MAAO;EAEjB,YAAY,EAAE,OAAQ;EACtB,WAAW,EAAE,IAAK,GAClB;;AAED,AAAiB,cAAH,GAAG,aAAa,CAAA;EAAE,gBAAgB,EAAE,YAAa,GAAI;;AAEnE,gCAAgC;AAChC,AAAA,WAAW,CAAA;EACV,QAAQ,EAAE,QAAS;EACnB,KAAK,EAAE,IAAK;EAAE,GAAG,EAAE,IAAK;EACxB,OAAO,EAAE,EAAG;EAAE,uBAAuB;EAErC,MAAM,EAAE,OAAQ;EAChB,OAAO,EAAE,WAAY;EAErB,MAAM,EAAE,qBAAsB,GAC9B;;AAEA,AAAe,cAAD,CAAC,WAAW,CAAA;EACzB,KAAK,EAAE,GAAI;EAAE,GAAG,EAAE,GAAI;EACtB,UAAU,EAAE,IAAK,GACjB;;AAED,AAAsB,CAArB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAA;EAAE,GAAG,EAAE,IAAK,GAAI;;AAAA,YAAY;AAE7D,AAAe,cAAD,CAAC,QAAQ;AACvB,AAAW,UAAD,CAAC,QAAQ,CAAA;EAClB,OAAO,EAAE,KAAM;EACf,WAAW,EAAE,OAAQ;EACrB,SAAS,EAAE,GAAI,GACf;;AAED,AAAA,UAAU,EAAE,AAAW,UAAD,CAAC,QAAQ,CAAA;EAC9B,kBAAkB,EAAE,GAAI;EACxB,qBAAqB,EAAE,GAAI;EAC3B,aAAa,EAAE,GAAI;EACnB,eAAe,EAAE,IAAK,GACtB;;AAEA,AAAW,UAAD,CAAC,QAAQ,CAAA;EAClB,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,IAAK;EAEb,WAAW,EAAE,IAAK;EAClB,UAAU,EAAE,MAAO;EACnB,WAAW,EAAE,CAAE;EACf,IAAI,EAAE,uCAAwC;EAE9C,KAAK,EAAE,OAAQ;EACf,UAAU,EAAE,wCAAyC,GACrD;;AAEJ,gFAAgF;AAGhF,2FAA2F;AAG3F,2BAA2B;AAC3B,AAAA,aAAa,CAAA;EACZ,MAAM,EAAE,iBAAkB;EAE1B,gBAAgB,EAAE,OAAQ;EAC1B,KAAK,EAAE,IAAK,GACZ;;AAEA,AAAc,aAAD,CAAC,cAAc,CAAA;EAC3B,gBAAgB,EAAE,OAAQ,GAC1B;;AAED,AAAc,aAAD,CAAC,UAAU,CAAA;EACvB,YAAY,EAAE,IAAK;EACnB,UAAU,EAAE,OAAQ;EACpB,KAAK,EAAE,IAAK,GACZ;;AAED,AAA6B,aAAhB,CAAC,cAAc,CAAC,WAAW,CAAA;EACvC,YAAY,EAAE,IAAK;EACnB,KAAK,EAAE,IAAK,GACZ;;AAGF,0BAA0B;AAC1B,AAAA,WAAW,CAAA;EACV,gBAAgB,EAAE,KAAM;EACxB,YAAY,EAAE,OAAQ;EACtB,KAAK,EAAE,OAAQ,GACf;;AAEA,AAAY,WAAD,CAAC,cAAc,CAAA;EACzB,gBAAgB,EAAE,OAAQ,GAC1B;;AAGF,yBAAyB;AACzB,AAAA,UAAU,CAAA;EACT,gBAAgB,EAAE,OAAQ;EAC1B,YAAY,EAAE,OAAQ;EACtB,KAAK,EAAE,OAAQ,GACf;;AAEA,AAAW,UAAD,CAAC,cAAc,CAAA;EACxB,gBAAgB,EAAE,OAAQ,GAC1B;;AAED,AAAW,UAAD,CAAC,UAAU,CAAA;EACpB,YAAY,EAAE,IAAK,GACnB;;AAED,AAA0B,UAAhB,CAAC,cAAc,CAAC,eAAe,CAAA;EACxC,YAAY,EAAE,OAAQ,GACtB;;AAGF,0BAA0B;AAC1B,AAAA,WAAW,CAAA;EACV,gBAAgB,EAAE,OAAQ;EAC1B,YAAY,EAAE,OAAQ;EACtB,KAAK,EAAE,OAAQ,GACf;;AAEA,AAAY,WAAD,CAAC,cAAc,CAAA;EACzB,gBAAgB,EAAE,OAAQ,GAC1B;;AAED,AAAwB,WAAb,CAAC,WAAW,CAAC,UAAU,CAAA;EACjC,mBAAmB,EAAE,OAAQ,GAC7B;;AAGF,wBAAwB;AACxB,AAAA,SAAS,CAAA;EACR,gBAAgB,EAAE,OAAQ;EAC1B,YAAY,EAAE,OAAQ;EACtB,KAAK,EAAE,OAAQ,GACf;;AAEA,AAAU,SAAD,CAAC,cAAc,CAAA;EACvB,gBAAgB,EAAE,OAAQ,GAC1B;;AAED,AAAsB,SAAb,CAAC,WAAW,CAAC,UAAU,CAAA;EAC/B,mBAAmB,EAAE,QAAS,GAC9B;;AAED,AAAU,SAAD,CAAC,UAAU,CAAA;EACnB,YAAY,EAAE,OAAQ,GACtB;;AAED,AAAyB,SAAhB,CAAC,cAAc,CAAC,eAAe,CAAA;EACvC,YAAY,EAAE,OAAQ,GACtB;;AAGF,0BAA0B;AAC1B,AAAA,WAAW,CAAA;EACV,gBAAgB,EAAE,OAAQ;EAC1B,YAAY,EAAE,OAAQ;EACtB,KAAK,EAAE,OAAQ,GACf;;AAEA,AAAY,WAAD,CAAC,cAAc,CAAA;EACzB,gBAAgB,EAAE,OAAQ,GAC1B;;AAED,AAAwB,WAAb,CAAC,WAAW,CAAC,UAAU,CAAA;EACjC,mBAAmB,EAAE,OAAQ,GAC7B;;AAGF,yBAAyB;AACzB,AAAA,UAAU,CAAA;EACT,gBAAgB,EAAE,OAAQ;EAC1B,YAAY,EAAE,OAAQ;EACtB,KAAK,EAAE,OAAQ,GACf;;AAEA,AAAW,UAAD,CAAC,cAAc,CAAA;EACxB,gBAAgB,EAAE,OAAQ,GAC1B;;AAED,AAAuB,UAAb,CAAC,WAAW,CAAC,UAAU,CAAA;EAChC,mBAAmB,EAAE,MAAO,GAC5B;;AAGF,AAAA,YAAY,CAAA;EACX,kBAAkB,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAI;EACxC,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAI;EACrC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAI,GAChC;;AAED,4FAA4F;AAC5F,AAAA,aAAa;AACb,AAAA,WAAW;AACX,AAAA,eAAe,CAAA;EACd,kBAAkB,EAAE,GAAI;EACxB,qBAAqB,EAAE,GAAI;EAC3B,aAAa,EAAE,GAAI,GACnB;;AAED,AAAc,aAAD,CAAC,cAAc,CAAA;EAC3B,kBAAkB,EAAE,WAAY;EAChC,qBAAqB,EAAE,WAAY;EACnC,aAAa,EAAE,WAAY,GAC3B;;AAED,2BAA2B;AAC3B,AAAA,aAAa,CAAA;EACZ,kBAAkB,EAAE,GAAI;EACxB,qBAAqB,EAAE,GAAI;EAC3B,aAAa,EAAE,GAAI;EAEnB,kBAAkB,EAAE,YAAa;EACjC,eAAe,EAAE,YAAa;EAC9B,UAAU,EAAE,YAAa;EAEzB,KAAK,EAAE,KAAM;EACb,MAAM,EAAE,mBAAoB;EAE5B,UAAU,EAAE,OAAQ;EACpB,gBAAgB,EAAE,gGAAgB;EAClC,gBAAgB,EAAE,mDAAuB;EACzC,gBAAgB,EAAE,gDAAoB;EACtC,gBAAgB,EAAE,+CAAmB;EACrC,gBAAgB,EAAE,8CAAkB,GACpC;;AAEA,AAAc,aAAD,CAAC,cAAc,CAAA;EAC3B,gBAAgB,EAAE,OAAQ;EAC1B,gBAAgB,EAAE,WAAI,GACtB;;AAED,AAAc,aAAD,CAAC,aAAa,CAAA;EAC1B,OAAO,EAAE,KAAM;EACf,IAAI,EAAE,qBAAsB;EAE5B,MAAM,EAAE,oGAAoG;EAC5G,UAAU,EAAE,uGAAwG,GACpH;;AAED,AAAc,aAAD,CAAC,UAAU,CAAA;EACvB,YAAY,EAAE,IAAK,GACnB;;AAED,AAA6B,aAAhB,CAAC,cAAc,CAAC,eAAe,CAAA;EAC3C,YAAY,EAAE,OAAQ,GACtB;;AAGF,gCAAgC;AAChC,AAAA,YAAY,CAAA;EACX,UAAU,EAAE,OAAQ;EACpB,UAAU,EAAE,kBAAI;EAChB,gBAAgB,EAAE,2EAAgB;EAClC,gBAAgB,EAAE,2CAAoB;EACtC,gBAAgB,EAAE,8CAAuB;EACzC,gBAAgB,EAAE,0CAAmB;EACrC,gBAAgB,EAAE,yCAAkB;EAEpC,MAAM,EAAE,cAAe;EACvB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAI;EAEtB,kBAAkB,EAAE,GAAI;EACxB,qBAAqB,EAAE,GAAI;EAC3B,aAAa,EAAE,GAAI;EAEnB,kBAAkB,EAAE,aAAc;EAClC,eAAe,EAAE,aAAc;EAC/B,UAAU,EAAE,aAAc,GAC1B;;AAEA,iBAAiB;AACjB,AAAa,YAAD,CAAC,cAAc,CAAA;EAC1B,gBAAgB,EAAE,WAAY;EAC9B,MAAM,EAAC,qFAAqF;EAC5F,UAAU,EAAE,uFAAwF,GACpG;;AACD,AAAa,YAAD,CAAC,aAAa,CAAA;EACzB,MAAM,EAAC,qFAAqF;EAC5F,UAAU,EAAE,uFAAwF,GACpG;;AAED,AAAa,YAAD,CAAC,cAAc;AAC3B,AAAa,YAAD,CAAC,aAAa,CAAA;EACzB,UAAU,EAAE,WAAY;EACxB,KAAK,EAAE,KAAM;EACb,MAAM,EAAE,oBAAqB,GAC7B;;AAED,AAAa,YAAD,CAAC,UAAU,CAAA;EACtB,YAAY,EAAE,IAAK,GACnB;;AAED,AAA4B,YAAhB,CAAC,cAAc,CAAC,eAAe,CAAA;EAC1C,YAAY,EAAE,IAAK,GACnB;;AAGF,mBAAmB;AACnB,AAAA,aAAa,CAAA;EACZ,kBAAkB,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAI;EACpC,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAI;EACjC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAI;EAE5B,gBAAgB,EAAE,OAAQ;EAC1B,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,oBAAqB,GAC7B;;AAEA,AAAc,aAAD,CAAC,cAAc,CAAA;EAC3B,gBAAgB,EAAE,OAAQ;EAC1B,KAAK,EAAE,KAAM;EACb,MAAM,EAAE,oBAAqB,GAC7B;;AAED,AAAc,aAAD,CAAC,UAAU,CAAA;EACvB,YAAY,EAAE,OAAQ,GACtB;;AAED,AAA6B,aAAhB,CAAC,cAAc,CAAC,eAAe,CAAA;EAC3C,YAAY,EAAE,OAAQ;EACtB,KAAK,EAAE,OAAQ,GACf;;AAGF,iBAAiB;AACjB,AAAA,WAAW,CAAA;EACV,UAAU,EAAE,KAAM;EAClB,UAAU,EAAE,mBAAI;EAEhB,KAAK,EAAE,KAAM;EACb,MAAM,EAAE,mBAAoB;EAE5B,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,2BAA4B;EACzC,WAAW,EAAE,IAAK;EAClB,WAAW,EAAE,IAAK;EAClB,WAAW,EAAE,WAAY,GACzB;;AAEA,AAAY,WAAD,CAAC,cAAc,CAAA;EACzB,OAAO,EAAE,eAAgB;EACzB,gBAAgB,EAAE,WAAY,GAC9B;;AAED,AAAY,WAAD,CAAC,aAAa,CAAA;EACxB,OAAO,EAAE,QAAS,GAClB;;AAED,AAAY,WAAD,CAAC,UAAU,CAAA;EACrB,YAAY,EAAE,IAAK;EACnB,WAAW,EAAE,IAAK,GAClB;;AAED,AAA2B,WAAhB,CAAC,cAAc,CAAC,eAAe,CAAA;EACzC,YAAY,EAAE,OAAQ,GACtB;;AAGF,kBAAkB;AAClB,AAAA,YAAY,CAAA;EACX,MAAM,EAAE,iBAAkB;EAE1B,kBAAkB,EAAE,GAAI;EACxB,qBAAqB,EAAE,GAAI;EAC3B,aAAa,EAAE,GAAI;EAEnB,gBAAgB,EAAE,OAAQ;EAC1B,KAAK,EAAE,OAAQ;EAEf,WAAW,EAAE,MAAO;EACpB,WAAW,EAAE,KAAM,GACnB;;AAEA,AAAa,YAAD,CAAC,cAAc,CAAA;EAC1B,mBAAmB,EAAE,CAAE;EAEvB,KAAK,EAAE,KAAM;EACb,UAAU,EAAE,OAAQ;EACpB,gBAAgB,EAAE,2EAAgB;EAClC,gBAAgB,EAAE,8CAAuB;EACzC,gBAAgB,EAAE,2CAAoB;EACtC,gBAAgB,EAAE,0CAAmB;EACrC,gBAAgB,EAAE,yCAAkB;EACpC,MAAM,EAAC,qFAAqF;EAC5F,UAAU,EAAE,uFAAwF,GACpG;;AAED,AAAa,YAAD,CAAC,UAAU,CAAA;EACtB,MAAM,EAAE,iBAAkB;EAC1B,UAAU,EAAE,OAAQ,GACpB;;AAEA,AAAwB,YAAZ,CAAC,UAAU,CAAC,QAAQ,CAAA;EAC/B,gBAAgB,EAAE,OAAQ;EAC1B,KAAK,EAAE,IAAK,GACZ;;AAGH;;;;;GAKG;AACH,AAAA,eAAe,CAAA;EACd,gCAAgC;EAChC,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,IAAK;EAClB,KAAK,EAAE,OAAQ;EAEf,oCAAoC;EACpC,OAAO,EAAE,GAAI;EACb,gBAAgB,EAAE,OAAQ;EAC1B,MAAM,EAAE,cAAe;EACvB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,kBAAI;EACtB,qBAAqB,EAAE,GAAI;EAC3B,kBAAkB,EAAE,GAAI;EACxB,aAAa,EAAE,GAAI;EACnB,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAI;EACnC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAI;EAChC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAI;EAC3B,uBAAuB,EAAE,WAAY;EACrC,oBAAoB,EAAE,OAAQ;EAC9B,eAAe,EAAE,WAAY,GAC7B;;AAEA,AAAgB,eAAD,CAAC,cAAc,CAAA;EAC7B,0CAA0C;EAC1C,OAAO,EAAE,QAAS;EAClB,MAAM,EAAE,CAAE;EACV,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,MAAO;EACpB,WAAW,EAAE,IAAK;EAClB,gBAAgB,EAAE,OAAQ;EAC1B,aAAa,EAAE,iBAAkB;EACjC,qBAAqB,EAAE,WAAY;EACnC,kBAAkB,EAAE,WAAY;EAChC,aAAa,EAAE,WAAY,GAC3B;;AAEA,AAA+B,eAAhB,CAAC,cAAc,CAAC,WAAW,CAAA;EACzC;;;;;;;;;MASG;EACH,KAAK,EAAE,IAAK;EACZ,GAAG,EAAE,GAAI;EACT,YAAY,EAAE,IAAK,GACnB;;AAEF,AAAgB,eAAD,CAAC,aAAa,CAAA;EAC5B,4CAA4C;EAC5C,OAAO,EAAE,QAAS,GAClB;;AAED,AAAgB,eAAD,CAAC,UAAU,CAAA;EACzB;;;;;;;KAOG;EACH,UAAU,EAAE,WAAY,GACxB;;AAEA,AAA2B,eAAZ,CAAC,UAAU,CAAC,QAAQ,CAAA;EAClC;;;;;;MAMG;EACH,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,IAAK;EAEb,iCAAiC;EACjC,KAAK,EAAE,KAAM;EACb,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,IAAK;EAClB,WAAW,EAAE,IAAK;EAClB,KAAK,EAAE,OAAQ;EACf,WAAW,EAAE,eAAgB;EAC7B,OAAO,EAAE,GAAI;EACb,MAAM,EAAE,iBAAK,GACb;;AAED,AAAmC,eAApB,CAAC,UAAU,CAAC,QAAQ,AAAA,MAAM,CAAA;EACxC,uCAAuC;EACvC,KAAK,EAAE,OAAQ;EACf,eAAe,EAAE,IAAK;EACtB,MAAM,EAAE,OAAQ;EAChB,OAAO,EAAE,GAAI;EACb,MAAM,EAAE,iBAAK,GACb;;AAGH,mCAAmC;AACnC,AAAyB,KAApB,AAAA,IAAK,CAAA,AAAA,UAAU,EAAE,GAAG,AAAA,aAAa;AACtC,AAAyB,KAApB,AAAA,IAAK,CAAA,AAAA,UAAU,EAAE,GAAG,AAAA,cAAc,CAAA;EACtC,MAAM,EAAE,IAAK;EACb,UAAU,EAAE,IAAK,GACjB;;AAGD,AAAM,KAAD,CAAC,SAAS,CAAA;EACd,MAAM,EAAE,MAAO;EACf,QAAQ,EAAE,MAAO;EACjB,OAAO,EAAE,EAAG,GAEZ;;AAEA;+CAC8C;AAC9C,AAAC,CAAA,AAAA,YAAY,EAAE,AAAM,KAAD,CAAC,SAAS,CAAA;EAC7B,UAAU,EAAE,MAAO,GACnB;;AAED,AAAM,KAAD,CAAC,SAAS;AACf,AAAgB,KAAX,CAAC,SAAS,CAAC,SAAS;AACzB,AAAgB,KAAX,CAAC,SAAS,CAAC,MAAM,CAAA;EACrB,QAAQ,EAAE,QAAS;EAEnB,KAAK,EAAE,OAAQ;EACf,UAAU,EAAE,WAAY;EACxB,MAAM,EAAE,oBAAqB,GAC7B;;AAED,AAAgB,KAAX,CAAC,SAAS,CAAC,MAAM,CAAA;EAAE,GAAG,EAAE,CAAE;EAAE,IAAI,EAAE,CAAE,GAAI;;AAE7C,AAAgB,KAAX,CAAC,SAAS,CAAC,SAAS,CAAA;EACxB,QAAQ,EAAkB,iBAAC;EAC3B,OAAO,EAAE,YAAa;EACtB,UAAU,EAAE,OAAQ,GACpB;;AAGF,AAAA,aAAa,CAAA;EACZ,QAAQ,EAAE,KAAM;EAChB,IAAI,EAAE,CAAE;EAAE,GAAG,EAAE,CAAE;EACjB,KAAK,EAAE,IAAK;EAAE,MAAM,EAAE,IAAK,GAC3B;;AAEA,wDAAwD;AACxD,AAAa,aAAA,AAAA,MAAM,CAAA;EAAE,MAAM,EAAE,OAAQ,GAAI;;AAEzC,oCAAoC;AACpC,AAAc,aAAD,CAAC,GAAG,CAAA;EAChB,QAAQ,EAAE,QAAS;EACnB,IAAI,EAAE,CAAE;EAAE,GAAG,EAAE,CAAE;EACjB,KAAK,EAAE,IAAK;EAAE,MAAM,EAAE,IAAK;EAE3B,gBAAgB,EAAE,KAAM;EAExB,OAAO,EAAE,GAAI;EACb,MAAM,EAAC,iBAAK;EACZ,UAAU,EAAC,qDAAsD,GACjE;;AAGF,AAAA,iBAAiB,CAAA;EAChB,QAAQ,EAAE,mBAAoB,GAC9B;;ACxmBD;;;;;;;;EAQE;AACF,UAAU;EACR,WAAW,EAAE,cAAe;EAC5B,GAAG,EAAE,yCAAG;EACR,GAAG,EAAE,+CAAG,CAA6C,2BAAM,EAC3D,0CAAG,CAAwC,cAAM,EACjD,iDAAG,CAA+C,aAAM;EACxD,WAAW,EAAE,MAAO;EACpB,UAAU,EAAE,MAAO;;CAiBrB,AAAA,AAAoB,KAAnB,EAAO,YAAY,AAAnB,IAAsB,AAAA,AAAqB,KAApB,EAAO,aAAa,AAApB,EAAsB;EAb5C,WAAW,EAAE,cAAe;EAC5B,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,MAAO;EACnB,WAAW,EAAE,MAAO;EACpB,YAAY,EAAE,MAAO;EACrB,cAAc,EAAE,IAAK;EACrB,WAAW,EAAE,CAAE;EAGf,sBAAsB,EAAE,WAAY;EACpC,uBAAuB,EAAE,SAAU,GAKpC;;AAED,AAAe,eAAA,AAAA,OAAO,CAAC;EACrB,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAgB,gBAAA,AAAA,OAAO,CAAC;EACtB,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAmB,mBAAA,AAAA,OAAO,CAAC;EACzB,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAe,eAAA,AAAA,OAAO,CAAC;EACrB,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAkB,kBAAA,AAAA,OAAO,CAAC;EACxB,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAgB,gBAAA,AAAA,OAAO,CAAC;EACtB,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAe,eAAA,AAAA,OAAO,CAAC;EACrB,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAkB,kBAAA,AAAA,OAAO,CAAC;EACxB,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAmB,mBAAA,AAAA,OAAO,CAAC;EACzB,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAe,eAAA,AAAA,OAAO,CAAC;EACrB,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAgB,gBAAA,AAAA,OAAO,CAAC;EACtB,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAiB,iBAAA,AAAA,OAAO,CAAC;EACvB,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAe,eAAA,AAAA,OAAO,CAAC;EAjErB,WAAW,EAAE,cAAe;EAC5B,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,MAAO;EACnB,WAAW,EAAE,MAAO;EACpB,YAAY,EAAE,MAAO;EACrB,cAAc,EAAE,IAAK;EACrB,WAAW,EAAE,CAAE;EAGf,sBAAsB,EAAE,WAAY;EACpC,uBAAuB,EAAE,SAAU;EAyDnC,OAAO,EAAE,OAAQ,GAClB;;AAMD,AAAA,QAAQ,CAAC;EACP,iBAAiB,EAAE,2BAA4B;EAC/C,SAAS,EAAE,2BAA4B,GACxC;;AAED,kBAAkB,CAAlB,IAAkB;EAChB,AAAA,EAAE;IACA,iBAAiB,EAAE,YAAM;IACzB,SAAS,EAAE,YAAM;EAEnB,AAAA,IAAI;IACF,iBAAiB,EAAE,cAAM;IACzB,SAAS,EAAE,cAAM;;AAIrB,UAAU,CAAV,IAAU;EACR,AAAA,EAAE;IACA,iBAAiB,EAAE,YAAM;IACzB,SAAS,EAAE,YAAM;EAEnB,AAAA,IAAI;IACF,iBAAiB,EAAE,cAAM;IACzB,SAAS,EAAE,cAAM;;ACrHrB,UAAU;EACT,WAAW,EAAE,cAAe;EAC5B,WAAW,EAAE,MAAO;EACpB,UAAU,EAAE,MAAO;;AAwBpB,AAEW,kBAFO,CAAC,EAAE,CAEpB,UAAU,AAAA,OAAO,CAAC;EAtBlB,WAAW,EAAE,cAAe;EAC5B,GAAG,EAAE,yCAAG;EACR,GAAG,EAAE,+CAAG,CAA6C,2BAAM,EAC3D,0CAAG,CAAwC,cAAM,EACjD,iDAAG,CAA+C,aAAM;EACxD,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,MAAO;EACnB,WAAW,EAAE,MAAO;EACpB,YAAY,EAAE,MAAO;EACrB,cAAc,EAAE,IAAK;EACrB,WAAW,EAAE,CAAE;EAGf,sBAAsB,EAAE,WAAY;EACpC,uBAAuB,EAAE,SAAU;EAUlC,SAAS,EAAE,IAAK;EAChB,cAAc,EAAE,GAAI;EACpB,WAAW,EAAE,IAAK;EAClB,MAAM,EAAE,SAAU,GAClB;;AARF,AAUmB,kBAVD,CAAC,EAAE,CAUpB,kBAAkB,AAAA,OAAO,CAAC;EACzB,OAAO,EAAE,OAAQ,GACjB;;AAZF,AAeiB,kBAfC,CAAC,EAAE,CAepB,gBAAgB,AAAA,OAAO,CAAC;EACvB,OAAO,EAAE,OAAQ,GACjB;;AAjBF,AAmBkB,kBAnBA,CAAC,EAAE,CAmBpB,iBAAiB,AAAA,OAAO,CAAC;EACxB,OAAO,EAAE,OAAQ,GACjB;;AArBF,AAuBmB,kBAvBD,CAAC,EAAE,CAuBpB,kBAAkB,AAAA,OAAO,CAAC;EACzB,OAAO,EAAE,OAAQ,GACjB;;AAzBF,AA2BgB,kBA3BE,CAAC,EAAE,CA2BpB,eAAe,AAAA,OAAO,CAAC;EACtB,OAAO,EAAE,OAAQ,GACjB;;AA7BF,AA+BqB,kBA/BH,CAAC,EAAE,CA+BpB,oBAAoB,AAAA,OAAO,CAAC;EAC3B,QAAQ,EAAE,QAAS;EACnB,GAAG,EAAE,GAAI;EACT,OAAO,EAAE,OAAQ,GACjB;;AAnCF,AAqCiB,kBArCC,CAAC,EAAE,CAqCpB,gBAAgB,AAAA,OAAO,CAAC;EACvB,OAAO,EAAE,OAAQ,GACjB;;AClEF;;;;;;;EAOE;AAEF;;wCAEwC;AACxC,6BAA6B;AAC7B,AAAA,wBAAwB;AACxB,AAAA,4BAA4B;AAC5B,AAA+B,4BAAH,GAAG,sBAAsB;AACrD,AAAA,4BAA4B;AAC5B,AAAgC,qBAAX,CAAC,SAAS,CAAC,kBAAkB;AAClD,AAAA,YAAY;AACZ,AAAA,2BAA2B;AAC3B,AAAA,2BAA2B;AAC3B,AAAA,oCAAoC;AACpC,AAAA,iCAAiC;AACjC,AAAA,qCAAqC;AACrC,AAAA,mBAAmB;AACnB,AAA8B,6BAAD,CAAC,gBAAgB;AAC9C,AAAyC,6BAAZ,CAAC,QAAQ,GAAG,qBAAqB;AAC9D,AAAyC,6BAAZ,CAAC,QAAQ,GAAG,UAAU,CAAC;EACnD,OAAO,EAAE,IAAK,GACd;;AAED,qCAAqC;AACrC,AAAqG,6BAAxE,GAAG,wBAAwB,CAAC,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC;EAC1G,SAAS,EAAE,IAAK,GAChB;;AAKD,AAAyC,GAAtC,AAAA,gCAAgC,GAAG,GAAG,AAAA,sBAAsB,CAAC;EAC/D,OAAO,EAAE,YAAa;EACtB,MAAM,EAAE,YAAa;EACrB,SAAS,EAAE,IAAK;EAChB,SAAS,EAAE,CAAE,GAEb;;AAKD,AAAA,4BAA4B,CAAC;EAC5B,OAAO,EAAE,sBAAuB;EAChC,MAAM,EAAE,YAAa;EACrB,UAAU,EAAE,OAAQ;EACpB,aAAa,EAAE,eAAgB,GA2B/B;EA/BD,AAMC,4BAN2B,CAM3B,gBAAgB,CAAC;IAChB,OAAO,EAAE,KAAM;IACf,KAAK,EAAE,IAAK;IAEZ,UAAU,EAAE,iBAAkB;IAC9B,aAAa,EAAE,iBAAkB;IACjC,WAAW,EAAE,iBAAkB,GAkB/B;IA9BF,AAcI,4BAdwB,CAM3B,gBAAgB,GAQb,UAAU,CAAC;MACZ,OAAO,EAAE,SAAU;MACnB,UAAU,EAAE,OAAQ,GAYpB;MA5BH,AAkBK,4BAlBuB,CAM3B,gBAAgB,GAQb,UAAU,GAIT,WAAW,CAAC;QACb,OAAO,EAAE,UAAW;QACpB,cAAc,EAAE,MAAO;QACvB,OAAO,EAAE,SAAU;QACnB,YAAY,EAAE,iBAAkB,GAIhC;QA1BJ,AAkBK,4BAlBuB,CAM3B,gBAAgB,GAQb,UAAU,GAIT,WAAW,AAKX,OAAO,CAAC;UACR,OAAO,EAAE,IAAK,GACd;;AAQL,AAAA,6BAA6B,CAAC;EAC7B,UAAU,EAAE,OAAQ;EACpB,OAAO,EAAE,eAAgB;EACzB,UAAU,EAAE,UAAW,GAyBvB;EA5BD,AAKC,6BAL4B,CAK5B,QAAQ,EALT,AAKW,6BALkB,CAKlB,OAAO,CAAC;IACjB,MAAM,EAAE,CAAE,GACV;EAPF,AAQC,6BAR4B,CAQ5B,qBAAqB,CAAC;IACrB,MAAM,EAAE,OAAQ,GAUhB;IAnBF,AAWE,6BAX2B,CAQ5B,qBAAqB,CAGpB,OAAO,CAAC;MACP,MAAM,EAAE,IAAK;MACb,OAAO,EAAE,KAAM,GACf;IAdH,AAeM,6BAfuB,CAQ5B,qBAAqB,CAOpB,IAAI,AAAA,aAAa,CAAC;MACjB,WAAW,EAAE,MAAO,GACpB;EAjBH,AAqBC,6BArB4B,CAqB5B,UAAU,CAAC;IACV,OAAO,EAAE,IAAK,GACd;EAvBF,AAwBC,6BAxB4B,CAwB5B,YAAY,CAAC;IACZ,MAAM,EAAE,QAAS,GACjB;;AAOF,AAAA,gBAAgB,CAAC;EAChB,KAAK,EAAE,IAAK,GACZ;;AAED,AAAA,iBAAiB,CAAC;EACjB,KAAK,EAAE,IAAK;EACZ,YAAY,EAAE,CAAE;EAChB,WAAW,EAAE,CAAE,GACf;;AAED,AAAA,kBAAkB,CAAC;EAClB,MAAM,EAAE,cAAe;EACvB,UAAU,EAAE,OAAQ;EACpB,MAAM,EAAE,CAAE;EACV,SAAS,EAAE,IAAK;EAChB,OAAO,EAAE,OAAQ,GACjB;;AAED,AAAA,yBAAyB,CAAC;EACzB,YAAY,EAAE,CAAE;EAChB,YAAY,EAAE,IAAK,GACnB;;AAED,AAAA,wBAAwB,CAAC;EAExB,WAAW,EAAE,IAAK,GAClB;;AAED,AAAsC,mBAAnB,CAAC,KAAK,CAAA,AAAA,IAAC,CAAM,MAAM,AAAZ,EAAc;EACvC,OAAO,EAAE,GAAI;EACb,KAAK,EAAE,IAAK,GACZ;;AAED,AAAK,KAAA,AAAA,gBAAgB;AACrB,AAAK,KAAA,AAAA,gBAAgB,CAAC;EACrB,KAAK,EAAE,gBAAiB,GACxB;;AAED,AAAK,KAAA,AAAA,iBAAiB;AACtB,AAAK,KAAA,AAAA,iBAAiB,CAAC;EACtB,KAAK,EAAE,gBAAiB,GACxB;;AAED,AAAA,eAAe,CAAC;EACf,eAAe,EAAE,SAAU,GAC3B;;AAED,AAAmB,kBAAD,CAAC,QAAQ,CAAC;EAC3B,MAAM,EAAE,CAAE,GAMV;EAPD,AAGS,kBAHS,CAAC,QAAQ,CAG1B,OAAO,CAAC,KAAK,CAAC;IACb,YAAY,EAAE,GAAI,GAClB;;AAOF,MAAM,MAAD,MAAM,MAAM,SAAS,EAAE,KAAK;EAEhC,AACG,6BAD0B,GAAG,wBAAwB,CAAC,eAAe,GACrE,QAAQ,CAAC;IACV,KAAK,EAAE,IAAK;IACZ,aAAa,EAAE,IAAK;IACpB,aAAa,EAAE,IAAK,GAQpB;IAZF,AAKI,6BALyB,GAAG,wBAAwB,CAAC,eAAe,GACrE,QAAQ,GAIP,OAAO,CAAC;MACT,OAAO,EAAE,IAAK,GACd;IAPH,AAQI,6BARyB,GAAG,wBAAwB,CAAC,eAAe,GACrE,QAAQ,GAOP,OAAO,CAAC;MACT,KAAK,EAAE,IAAK;MACZ,KAAK,EAAE,IAAK,GACZ;EAIH,AAAoC,mCAAD,CAAC,OAAO,CAAC;IAC3C,UAAU,EAAE,GAAI,GAChB;;AAIF,iCAAiC;AACjC,MAAM,MAAD,MAAM,MAAM,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,MAAM;EAExD,AAEG,6BAF0B,GAAG,wBAAwB,CAAC,eAAe,GAErE,qBAAqB,CAAC;IACvB,KAAK,EAAE,IAAK;IACZ,WAAW,EAAE,CAAE,GACf;EALF,AAMG,6BAN0B,GAAG,wBAAwB,CAAC,eAAe,GAMrE,oBAAoB,CAAC;IACtB,KAAK,EAAE,KAAM,GACb;EARF,AASM,6BATuB,GAAG,wBAAwB,CAAC,eAAe,CASvE,KAAK,AAAA,gBAAgB,CAAC;IACrB,KAAK,EAAE,IAAK,GACZ;EAXF,AAaC,6BAb4B,GAAG,wBAAwB,CAAC,eAAe,CAavE,2BAA2B,CAAC;IAC3B,KAAK,EAAE,KAAM,GACb;EAfF,AAgBC,6BAhB4B,GAAG,wBAAwB,CAAC,eAAe,CAgBvE,sBAAsB,CAAC;IACtB,WAAW,EAAE,IAAK,GAClB;EAGF,AAAA,WAAW,CAAC;IACX,KAAK,EAAE,IAAK,GACZ;EACD,AAAA,SAAS,CAAC;IACT,KAAK,EAAE,KAAM,GACb;EACD,AAAA,SAAS,CAAC;IACT,OAAO,EAAE,eAAgB,GACzB;EACD,AAAA,iBAAiB,CAAC;IACjB,KAAK,EAAE,IAAK,GACZ;;AAGF,MAAM,MAAD,MAAM,MAAM,SAAS,EAAE,MAAM;EAEjC,AAEG,6BAF0B,GAAG,wBAAwB,CAAC,eAAe,GAErE,qBAAqB,CAAC;IACvB,KAAK,EAAE,KAAM,GACb;EAJF,AAKG,6BAL0B,GAAG,wBAAwB,CAAC,eAAe,GAKrE,QAAQ,CAAC;IACV,aAAa,EAAE,IAAK,GACpB;EAPF,AAQwB,6BARK,GAAG,wBAAwB,CAAC,eAAe,GAQrE,qBAAqB,AAAA,QAAQ,CAAC;IAC/B,aAAa,EAAE,CAAE,GACjB;EAIF,AAAA,WAAW,CAAC;IACX,KAAK,EAAE,IAAK,GACZ;EACD,AAAA,SAAS,CAAC;IACT,KAAK,EAAE,KAAM,GACb;EACD,AAAA,SAAS,CAAC;IACT,KAAK,EAAE,KAAM,GACb;EACD,AAAA,2BAA2B,CAAC;IAC3B,KAAK,EAAE,KAAM,GACb;;AAKF,MAAM,MAAD,MAAM,MAAM,SAAS,EAAE,KAAK;EAChC,AAAG,GAAA,AAAA,gCAAgC,CAAC;IACnC,OAAO,EAAE,eAAgB,GACzB;;AAOF,oBAAoB;AAEpB,AAAA,eAAe,CAAC;EACf,MAAM,EAAE,kBAAmB,GAa3B;EAdD,AAGC,eAHc,CAGd,KAAK,CAAC;IACL,MAAM,EAAE,OAAQ;IAChB,OAAO,EAAE,KAAM;IACf,MAAM,EAAE,OAAQ,GAChB;EAPF,AASC,eATc,CASd,gBAAgB,CAAC;IAChB,MAAM,EAAE,CAAE;IACV,KAAK,EAAE,IAAK,GACZ;;AAQF,AAAA,6BAA6B;AAC7B,AAAA,2BAA2B;AAC3B,AAAA,4DAA4D;AAC5D,AAAA,0BAA0B;AAC1B,AAAA,0CAA0C,CAAC;EAC1C,aAAa,EAAE,eAAgB;EAC/B,MAAM,EAAE,YAAa,GACrB;;AAED,AAAA,2BAA2B;AAC3B,AAAA,0BAA0B;AAC1B,AAAA,qCAAqC;AACrC,AAAA,uBAAuB;AACvB,AAAA,4DAA4D,CAAC;EAC5D,UAAU,EAAE,4BAA6B,GACzC;;AAED;;yCAEyC;AAEzC,AAAA,0BAA0B;AAC1B,AAAA,yBAAyB,CAAC;EACzB,OAAO,EAAE,IAAK,GACd;;AAED;;uCAEuC;AAEvC,AAAK,KAAA,AAAA,gBAAgB,CAAC;EACrB,KAAK,EAAE,IAAK,GACZ;;AAED;;uCAEuC;AAEvC,AAES,eAFM,CAEd,OAAO,CAAC,KAAK,AAEX,MAAM,CAAC;EACP,OAAO,EAAE,IAAK,GACd;;AANH,AASC,eATc,CASd,iCAAiC,CAAC;EACjC,OAAO,EAAE,mBAAoB,GAC7B;;AAXF,AAagC,eAbjB,CAad,UAAU,GAAG,eAAe,GAAG,QAAQ,CAAC;EACvC,WAAW,EAAE,IAAK,GAClB;;AAfF,AAiBU,eAjBK,CAiBd,QAAQ,CAAC,yBAAyB,CAAC;EAClC,cAAc,EAAE,CAAE,GAClB;;AAIF,AAAA,yBAAyB,CAAC;EACzB,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,GAAI;EACjB,OAAO,EAAE,KAAM,GACf;;AAKD,AAAA,aAAa,CAAC;EACb,MAAM,EAAE,KAAM;EACd,OAAO,EAAE,CAAE;EACX,SAAS,EAAE,IAAK;ELlVf,eAAe,EAAE,eAAgB;EACjC,aAAa,EAAE,eAAgB;EAC/B,UAAU,EAAE,eAAgB;EKkV7B,KAAK,EAAE,qBAAc;EACrB,QAAQ,EAAE,QAAS;EACnB,GAAG,EAAE,GAAI,GAMT;EAbD,AAAA,aAAa,AASX,MAAM,CAAC;IACP,KAAK,EJpXA,IAAI,GIqXT;;AAOF,AAEC,uBAFsB,CAEtB,OAAO,CAAC;EACP,MAAM,EAAE,CAAE;EACV,OAAO,EAAE,CAAE,GACX;;AALF,AAOC,uBAPsB,CAOtB,wBAAwB,CAAC;EACxB,UAAU,EAAE,IAAK;EACjB,QAAQ,EAAE,MAAO,GACjB;;AAVF,AAYC,uBAZsB,CAYtB,mBAAmB,CAAC;EACnB,YAAY,EAAE,KAAM,GAmKpB;EAhLF,AAeE,uBAfqB,CAYtB,mBAAmB,CAGlB,gBAAgB,CAAC;IAChB,OAAO,EAAE,6BAA8B;IACvC,MAAM,EAAE,CAAE;IACV,aAAa,EAAE,cAAe,GAiC9B;IAnDH,AAoBK,uBApBkB,CAYtB,mBAAmB,CAGlB,gBAAgB,GAKb,KAAK,EApBV,AAoBkB,uBApBK,CAYtB,mBAAmB,CAGlB,gBAAgB,GAKJ,IAAI,AAAA,iBAAiB,CAAC;MAChC,KAAK,EAAE,IAAK;MACZ,KAAK,EAAE,KAAM;MACb,OAAO,EAAE,CAAE;MACX,MAAM,EAAE,cAAe;MACvB,WAAW,EAAE,IAAK;MAClB,SAAS,EAAE,IAAK;MAChB,WAAW,EAAE,GAAI,GACjB;IA5BJ,AA8BG,uBA9BoB,CAYtB,mBAAmB,CAGlB,gBAAgB,CAef,uBAAuB,CAAC;MACvB,KAAK,EAAE,OAAQ;MACf,SAAS,EAAE,IAAK;MAChB,WAAW,EAAE,IAAK;MAClB,OAAO,EAAE,KAAM;MACf,WAAW,EAAE,IAAK;MAClB,UAAU,EAAE,MAAO,GACnB;IArCJ,AAuCG,uBAvCoB,CAYtB,mBAAmB,CAGlB,gBAAgB,CAwBf,EAAE,CAAC;MACF,MAAM,EAAE,CAAE,GACV;IAzCJ,AA2CkB,uBA3CK,CAYtB,mBAAmB,CAGlB,gBAAgB,CA4Bf,cAAc,CAAC,MAAM,EA3CxB,AA2C0B,uBA3CH,CAYtB,mBAAmB,CAGlB,gBAAgB,CA4BQ,QAAQ,CAAC;MAC/B,UAAU,EAAE,gBAAiB,GAC7B;IA7CJ,AA+CG,uBA/CoB,CAYtB,mBAAmB,CAGlB,gBAAgB,CAgCf,eAAe,CAAC;MACf,OAAO,EAAE,YAAa;MACtB,KAAK,EAAE,IAAK,GACZ;EAlDJ,AAqDkB,uBArDK,CAYtB,mBAAmB,CAyClB,gBAAgB,AAAA,WAAW,CAAC;IAC3B,aAAa,EAAE,CAAE,GACjB;EAvDH,AAyDU,uBAzDa,CAYtB,mBAAmB,CA6ClB,QAAQ,AAAA,WAAW,CAAC;IACnB,KAAK,EAAE,IAAK,GACZ;EA3DH,AA6DyB,uBA7DF,CAYtB,mBAAmB,CAiDlB,gBAAgB,AAAA,MAAM,CAAC,uBAAuB,CAAC;IAC9C,OAAO,EAAE,KAAM,GACf;EA/DH,AAiEkB,uBAjEK,CAYtB,mBAAmB,CAqDlB,gBAAgB,AAAA,WAAW,CAAC;IAC3B,aAAa,EAAE,CAAE,GACjB;EAnEH,AAsEG,uBAtEoB,CAYtB,mBAAmB,CAyDlB,yBAAyB,CACxB,EAAE,CAAC;IACF,OAAO,EAAE,YAAa;IACtB,YAAY,EAAE,IAAK,GACnB;EAzEJ,AA4EE,uBA5EqB,CAYtB,mBAAmB,CAgElB,8BAA8B,CAAC;IAC9B,OAAO,EAAE,IAAK;IACd,UAAU,EAAE,OAAQ,GAiGpB;IA/KH,AAgFG,uBAhFoB,CAYtB,mBAAmB,CAgElB,8BAA8B,CAI7B,uCAAuC,CAAC;MACvC,KAAK,EAAE,IAAK;MACZ,gBAAgB,EAAE,KAAM;MACxB,eAAe,EAAE,QAAS,GAC1B;IApFJ,AAsFG,uBAtFoB,CAYtB,mBAAmB,CAgElB,8BAA8B,CAU7B,SAAS,CAAC;MACT,aAAa,EAAE,kBAAmB;MAClC,gBAAgB,EAAE,KAAM,GACxB;IAzFJ,AA2FG,uBA3FoB,CAYtB,mBAAmB,CAgElB,8BAA8B,CAe7B,cAAc,CAAC;MACd,OAAO,EAAE,IAAK,GACd;IA7FJ,AA+FY,uBA/FW,CAYtB,mBAAmB,CAgElB,8BAA8B,CAmB7B,SAAS,AAAA,WAAW,CAAC;MACpB,aAAa,EAAE,kBAAmB,GAClC;IAjGJ,AAmGG,uBAnGoB,CAYtB,mBAAmB,CAgElB,8BAA8B,CAuB7B,YAAY,CAAC;MACZ,OAAO,EAAE,CAAE,GACX;IArGJ,AAuGG,uBAvGoB,CAYtB,mBAAmB,CAgElB,8BAA8B,CA2B7B,YAAY,CAAC;MACZ,KAAK,EAAE,KAAM;MACb,KAAK,EAAE,IAAK;MACZ,MAAM,EAAE,IAAK;MACb,OAAO,EAAE,CAAE;MACX,OAAO,EAAE,KAAM;MACf,UAAU,EAAE,MAAO;MACnB,WAAW,EAAE,IAAK;MAClB,SAAS,EAAE,IAAK;MAChB,WAAW,EAAE,GAAI;MACjB,MAAM,EAAE,OAAQ,GAChB;IAlHJ,AAoHe,uBApHQ,CAYtB,mBAAmB,CAgElB,8BAA8B,CAwC7B,YAAY,AAAA,MAAM,CAAC;MAClB,gBAAgB,EAAE,GAAI;MACtB,KAAK,EAAE,KAAM;MACb,KAAK,EAAE,IAAK;MACZ,MAAM,EAAE,IAAK;MACb,aAAa,EAAE,IAAK;MACpB,UAAU,EAAE,GAAI;MAChB,WAAW,EAAE,IAAK,GAClB;IA5HJ,AA8HG,uBA9HoB,CAYtB,mBAAmB,CAgElB,8BAA8B,CAkD7B,cAAc,CAAC;MACd,aAAa,EAAE,cAAe;MAC9B,MAAM,EAAE,IAAK,GAIb;MApIJ,AAiII,uBAjImB,CAYtB,mBAAmB,CAgElB,8BAA8B,CAkD7B,cAAc,CAGb,EAAE,CAAC;QACF,UAAU,EAAE,eAAgB,GAC5B;IAnIL,AAsIqC,uBAtId,CAYtB,mBAAmB,CAgElB,8BAA8B,CA0D7B,SAAS,AAAA,OAAO,CAAC,iBAAiB,AAAA,OAAO,CAAC;MACzC,OAAO,EAAE,OAAQ,GACjB;IAxIJ,AA0IG,uBA1IoB,CAYtB,mBAAmB,CAgElB,8BAA8B,CA8D7B,yCAAyC,CAAC;MACzC,gBAAgB,EAAE,OAAQ,GAC1B;IA5IJ,AA8IG,uBA9IoB,CAYtB,mBAAmB,CAgElB,8BAA8B,CAkE7B,oCAAoC,CAAC;MACpC,MAAM,EAAE,OAAQ,GAChB;IAhJJ,AAkJmB,uBAlJI,CAYtB,mBAAmB,CAgElB,8BAA8B,CAsE7B,gBAAgB,AAAA,WAAW,CAAC;MAC3B,aAAa,EAAE,cAAe,GAC9B;IApJJ,AAsJG,uBAtJoB,CAYtB,mBAAmB,CAgElB,8BAA8B,CA0E7B,oCAAoC,CAAC;MACpC,gBAAgB,EAAE,OAAQ,GAC1B;IAxJJ,AA0JG,uBA1JoB,CAYtB,mBAAmB,CAgElB,8BAA8B,CA8E7B,yBAAyB,CAAC;MACzB,MAAM,EAAE,YAAa;MACrB,OAAO,EAAE,YAAa,GACtB;IA7JJ,AA+JG,uBA/JoB,CAYtB,mBAAmB,CAgElB,8BAA8B,CAmF7B,gCAAgC,CAAC;MAChC,KAAK,EAAE,OAAQ;MACf,SAAS,EAAE,IAAK;MAChB,WAAW,EAAE,IAAK;MAClB,OAAO,EAAE,KAAM;MACf,cAAc,EAAE,IAAK;MACrB,UAAU,EAAE,MAAO,GACnB;IAtKJ,AAyKG,uBAzKoB,CAYtB,mBAAmB,CAgElB,8BAA8B,CA6F7B,mBAAmB,CAAC;MACnB,OAAO,EAAE,gBAAiB,GAC1B;IA3KJ,AA4KY,uBA5KW,CAYtB,mBAAmB,CAgElB,8BAA8B,CAgG7B,SAAS,AAAA,mBAAmB,CAAC;MAC5B,aAAa,EAAE,CAAE,GACjB;;AAQJ,AAEC,uBAFsB,CAEtB,kBAAkB,CAAC;EAClB,MAAM,EAAE,CAAE;EACV,SAAS,EAAE,KAAM;EACjB,KAAK,EAAE,IAAK;EACZ,WAAW,EAAE,GAAI;EACjB,OAAO,EAAE,QAAS;EAClB,QAAQ,EAAE,QAAS;EACnB,gBAAgB,EAAE,OAAQ;EAC1B,YAAY,EAAE,cAAe;EAC7B,UAAU,EAAE,UAAW,GAoEvB;EA/EF,AAEC,uBAFsB,CAEtB,kBAAkB,AAWhB,MAAM,CAAC;IACP,OAAO,EAAE,EAAG;IACZ,OAAO,EAAE,KAAM;IACf,KAAK,EAAE,IAAK;IACZ,MAAM,EAAE,MAAO;IACf,QAAQ,EAAE,QAAS;IACnB,MAAM,EAAE,OAAQ;IAChB,IAAI,EAAE,CAAE;IACR,gBAAgB,EAAE,OAAQ;IAC1B,YAAY,EAAE,cAAe,GAC7B;EAvBH,AAyBE,uBAzBqB,CAEtB,kBAAkB,CAuBjB,EAAE,CAAC;IACF,MAAM,EAAE,CAAE;IACV,OAAO,EAAE,CAAE;IACX,OAAO,EAAE,KAAM;IACf,QAAQ,EAAE,QAAS,GAkBnB;IA/CH,AA+BG,uBA/BoB,CAEtB,kBAAkB,CAuBjB,EAAE,CAMD,CAAC,CAAC;MACD,MAAM,EAAE,CAAE;MACV,OAAO,EAAE,IAAK;MACd,OAAO,EAAE,KAAM;MACf,UAAU,EAAE,IAAK;MACjB,eAAe,EAAE,IAAK;MACtB,WAAW,EAAE,eAAgB;MAC7B,aAAa,EAAE,cAAe;MAC9B,QAAQ,EAAE,MAAO,GAMjB;MA7CJ,AAyCQ,uBAzCe,CAEtB,kBAAkB,CAuBjB,EAAE,CAMD,CAAC,CAUA,IAAI,AAAA,WAAW,CAAC;QACf,KAAK,EAAE,KAAM;QACb,OAAO,EAAE,YAAa,GACtB;EA5CL,AAiDyB,uBAjDF,CAEtB,kBAAkB,CA+CjB,sBAAsB,CAAC,EAAE,CAAC;IACzB,gBAAgB,EAAE,OAAQ,GAI1B;IAtDH,AAmDG,uBAnDoB,CAEtB,kBAAkB,CA+CjB,sBAAsB,CAAC,EAAE,CAExB,CAAC,CAAC;MACD,mBAAmB,EAAE,OAAQ,GAC7B;EArDJ,AAyDK,uBAzDkB,CAEtB,kBAAkB,CAsDjB,EAAE,AAAA,OAAO,GACN,CAAC,CAAC;IACH,KAAK,EAAE,IAAK;IACZ,QAAQ,EAAE,QAAS;IACnB,gBAAgB,EAAE,IAAK,GACvB;EA7DJ,AAgE6B,uBAhEN,CAEtB,kBAAkB,CA8DjB,EAAE,AAAA,eAAe,AAAA,OAAO,GAAG,CAAC,CAAC;IAC5B,gBAAgB,EAAE,IAAK,GACvB;EAlEH,AAqEK,uBArEkB,CAEtB,kBAAkB,CAkEjB,EAAE,AAAA,eAAe,AAAA,IAAK,CAAA,AAAA,OAAO,CAAC,MAAM,CACnC,EAAE,AAAA,sBAAsB,CAAC;IACxB,OAAO,EAAE,KAAM;IACf,QAAQ,EAAE,QAAS;IACnB,MAAM,EAAE,CAAE;IACV,IAAI,EAAE,KAAM;IACZ,KAAK,EAAE,KAAM;IACb,UAAU,EAAE,KAAM;IAClB,UAAU,EAAE,MAAO,GACnB;;AAOJ,MAAM,MAAD,MAAM,MAAM,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,MAAM,IAAI,SAAS,EAAE,KAAK;EAG5E,AACG,uBADoB,CACtB,EAAE,AAAA,kBAAkB,CAAC;IACpB,SAAS,EAAE,IAAK,GAahB;IAfF,AAIO,uBAJgB,CACtB,EAAE,AAAA,kBAAkB,CAGnB,EAAE,GAAG,CAAC,CAAC;MACN,UAAU,EAAE,MAAO,GAQnB;MAbH,AAIO,uBAJgB,CACtB,EAAE,AAAA,kBAAkB,CAGnB,EAAE,GAAG,CAAC,AAEJ,OAAO,CAAC;QACR,YAAY,EAAE,CAAE;QAChB,SAAS,EAAE,IAAK,GAChB;MATJ,AAUG,uBAVoB,CACtB,EAAE,AAAA,kBAAkB,CAGnB,EAAE,GAAG,CAAC,CAML,IAAI,CAAC;QACJ,OAAO,EAAE,IAAK,GACd;EAZJ,AAgBC,uBAhBsB,CAgBtB,mBAAmB,CAAC;IACnB,YAAY,EAAE,IAAK,GACnB;;AAUH,AACC,qBADoB,CACpB,sBAAsB;AADvB,AAEC,qBAFoB,CAEpB,gBAAgB,CAAC;EAKhB,SAAS,EAAE,KAAM;EACjB,MAAM,EAAE,UAAW;EACnB,OAAO,EAAE,KAAM,GACf;EAVF,AAGE,qBAHmB,CACpB,sBAAsB,CAErB,KAAK;EAHP,AAGE,qBAHmB,CAEpB,gBAAgB,CACf,KAAK,CAAC;IACL,KAAK,EAAE,IAAK,GACZ;;AALH,AAYqB,qBAZA,CAYpB,GAAG,AAAA,iBAAiB,AAAA,cAAc,CAAC;EAClC,UAAU,EAAE,IAAK,GACjB;;AAGF;;uCAEuC;AAEvC,AAAA,eAAe,CAAC;EACf,UAAU,EAAE,KAAM;EAClB,YAAY,EAAE,IAAK,GAcnB;EAhBD,AAIC,eAJc,CAId,CAAC,CAAC;IACD,KAAK,EAAE,IAAK;IACZ,eAAe,EAAE,IAAK;IACtB,UAAU,EAAE,MAAO,GAQnB;IAfF,AAIC,eAJc,CAId,CAAC,AAKC,MAAM,CAAC;MACP,KAAK,EAAE,OAAG,GACV;IAXH,AAYE,eAZa,CAId,CAAC,CAQA,IAAI,CAAC;MACJ,UAAU,EAAE,MAAO,GACnB;;AChtBH;;;;;;;;EAQE;AAEF,AAAA,cAAc,CAAC;EACb,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,sBAAuB;EAC/B,OAAO,EAAE,CAAE;EACX,cAAc,EAAE,GAAI;EACpB,KAAK,EAAE,KAAM;EACb,eAAe,EAAE,IAAK;EACtB,KAAK,EAAE,OAAQ;EACf,MAAM,EAAE,cAAe;EACvB,OAAO,EAAE,KAAM;EACf,UAAU,EAAE,KAAM;EAClB,QAAQ,EAAE,MAAO;EACjB,UAAU,EAAE,OAAQ;EACpB,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAI,EAAqB,KAAK,CAAC,CAAC,CAAE,IAAG,CAAC,CAAC,CAAC,kBAAI;EAC9E,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAI,EAAqB,KAAK,CAAC,CAAC,CAAE,IAAG,CAAC,CAAC,CAAC,kBAAI;EACtE,2BAA2B,EAAE,yBAA0B;EACvD,mBAAmB,EAAE,yBAA0B;EAC/C,2BAA2B,EAAE,IAAK;EAClC,mBAAmB,EAAE,IAAK;EAC1B,kCAAkC,EAAE,WAAY;EAChD,0BAA0B,EAAE,WAAY;EACxC,QAAQ,EAAE,QAAS,GAkCpB;EAvDD,AAAA,cAAc,AAuBX,MAAM,CAAC;IACT,MAAM,EAAE,iBAAkB,GACxB;EAzBH,AA2BkB,cA3BJ,GA2BV,aAAa,CAAC,GAAG,CAAC;IACrB,aAAa,EAAE,cAAe,GAC5B;EA7BH,AA+BE,cA/BY,CA+BZ,cAAc,CAAC;INrCf,KAAK,EAAE,CAAE;IMuCV,OAAO,EAAE,SAAU,GAUjB;IA3CH,AA+BE,cA/BY,CA+BZ,cAAc,ANnCb,OAAO,EMIV,AA+BE,cA/BY,CA+BZ,cAAc,ANlCb,MAAM,CAAC;MACN,OAAO,EAAE,GAAI;MACb,OAAO,EAAE,KAAM,GAChB;IMAH,AA+BE,cA/BY,CA+BZ,cAAc,AN7Bb,MAAM,CAAC;MACN,KAAK,EAAE,IAAK,GACb;IMJH,AAmCC,cAnCa,CA+BZ,cAAc,CAIf,cAAc,CAAC;MACb,MAAM,EAAE,QAAS,GAKlB;MAzCF,AAqCG,cArCW,CA+BZ,cAAc,CAIf,cAAc,CAEZ,CAAC,CAAC;QACH,OAAO,EAAE,IAAK;QACd,eAAe,EAAE,IAAK,GACpB;EAxCJ,AA6CE,cA7CY,CA6CZ,kBAAkB,CAAC;IACpB,UAAU,EAAE,cAAe;IAC3B,QAAQ,EAAE,QAAS;IACnB,MAAM,EAAE,GAAI;IACZ,IAAI,EAAE,CAAE;IACR,KAAK,EAAE,IAAK;IACZ,gBAAgB,EAAE,IAAK;IACvB,OAAO,EAAE,SAAU,GACjB;;AAIH,AAEM,qBAFe,CAEnB,IAAI,AAAA,UAAU,EAFO,AAEjB,cAF+B,CAEnC,IAAI,AAAA,UAAU,CAAC;EAChB,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,IAAK;EACb,SAAS,EAAE,IAAK;EAChB,MAAM,EAAE,SAAU,GAChB;;AAIH,AAA0B,qBAAL,CAAC,IAAI,AAAA,UAAU,CAAC;EACnC,WAAW,EAAE,GAAI,GAClB;;AChFD;;;;;;;;EAQE;AAKF,AAEE,4BAF0B,CAE1B,OAAO,CAAC;EACN,WAAW,EAAE,CAAE;EACf,cAAc,EAAE,CAAE;EAElB,qDAAqD,EAQtD;EAPC,AALF,6BAK+B,CAPjC,4BAA4B,CAE1B,OAAO,CAK2B;IAC9B,YAAY,EAAE,CAAE,GACjB;EATL,AAWI,4BAXwB,CAE1B,OAAO,CASL,mBAAmB,CAAC;IAClB,KAAK,EAAC,IAAK,GACZ;;AAbL,AAgBE,4BAhB0B,CAgB1B,QAAQ,CAAC;EACP,aAAa,EAAE,IAAK,GACrB;;AAlBH,AAoBO,4BApBqB,CAoB1B,KAAK,AAAA,cAAc,CAAC;EAClB,KAAK,EAAE,IAAK,GACb;;AAtBH,AAwBE,4BAxB0B,CAwB1B,wBAAwB,CAAC;EACvB,KAAK,EAAE,IAAK,GASb;EAlCH,AA2BM,4BA3BsB,CAwB1B,wBAAwB,GAGpB,IAAI,CAAC;IACL,KAAK,EAAE,IAAK;IACZ,WAAW,EAAE,IAAK;IAClB,UAAU,EAAE,MAAO;IACnB,OAAO,EAAE,SAAU,GACpB;;AAOL,AAAA,mBAAmB,CAAC;EAClB,KAAK,EAAC,KAAM,GAQb;EATD,AAGE,mBAHiB,CAGjB,SAAS,CAAC;IACR,MAAM,EAAE,UAAW,GAIpB;IARH,AAKI,mBALe,CAGjB,SAAS,CAEP,QAAQ,CAAC;MACP,OAAO,EAAE,CAAE,GACZ;;AAQL,AACE,WADS,CACT,OAAO,CAAC;EACN,KAAK,EAAE,kBAAmB,GAC3B;;AAHH,AAIE,WAJS,CAIT,OAAO,CAAC;EACN,KAAK,EAAE,kBAAmB,GAC3B;;AAMH,AAEI,IAFA,AAAA,6BAA6B,CAE/B,EAAE,AAAA,gBAAgB,EAFpB,AAEwB,IAFpB,AAAA,6BAA6B,CAEX,EAAE,AAAA,gBAAgB,EAFL,AAE/B,IAFmC,AAAA,qCAAqC,CAE1E,EAAE,AAAA,gBAAgB,EAFe,AAEX,IAFe,AAAA,qCAAqC,CAEtD,EAAE,AAAA,gBAAgB,CAAC;EACrC,aAAa,EAAE,IAAK,GACrB;;AAJH,AAKE,IALE,AAAA,6BAA6B,CAK/B,QAAQ,EALyB,AAKjC,IALqC,AAAA,qCAAqC,CAK1E,QAAQ,CAAC;EACP,WAAW,EAAE,CAAE,GAChB;;AAPH,AASE,IATE,AAAA,6BAA6B,CAS/B,iBAAiB,EATgB,AASjC,IATqC,AAAA,qCAAqC,CAS1E,iBAAiB,CAAC;EAChB,WAAW,EAAE,IAAK,GACnB;;AAXH,AAaG,IAbC,AAAA,6BAA6B,CAa/B,CAAC,AAAA,aAAa,EAbmB,AAahC,IAboC,AAAA,qCAAqC,CAa1E,CAAC,AAAA,aAAa,CAAC;EACb,YAAY,EAAE,IAAK,GACpB;;AAfH,AAmBI,IAnBA,AAAA,6BAA6B,CAiB/B,eAAe,CAEb,eAAe,EAnBgB,AAmB/B,IAnBmC,AAAA,qCAAqC,CAiB1E,eAAe,CAEb,eAAe,CAAC;EACd,KAAK,EAAE,KAAM,GACd;;AArBL,AAsBI,IAtBA,AAAA,6BAA6B,CAiB/B,eAAe,CAKb,kBAAkB,EAtBa,AAsB/B,IAtBmC,AAAA,qCAAqC,CAiB1E,eAAe,CAKb,kBAAkB,CAAC;EACjB,UAAU,EAAE,CAAE,GACf;;AAxBL,AAyBI,IAzBA,AAAA,6BAA6B,CAiB/B,eAAe,CAQb,QAAQ,EAzBuB,AAyB/B,IAzBmC,AAAA,qCAAqC,CAiB1E,eAAe,CAQb,QAAQ,CAAC;EACP,KAAK,EAAE,IAAK,GACb;;AA3BL,AA+BG,IA/BC,AAAA,6BAA6B,CA+B/B,CAAC,AAAA,WAAW,EA/BqB,AA+BhC,IA/BoC,AAAA,qCAAqC,CA+B1E,CAAC,AAAA,WAAW,CAAC;EACX,KAAK,EAAE,IAAK,GACb;;AAjCH,AAmC6B,IAnCzB,AAAA,6BAA6B,CAmC/B,kBAAkB,AAAA,SAAS,AAAA,IAAI,EAnCE,AAmCN,IAnCU,AAAA,qCAAqC,CAmC1E,kBAAkB,AAAA,SAAS,AAAA,IAAI,CAAC;EAC9B,KAAK,EAAE,IAAK;EACZ,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,QAAS,GAClB;;AAvCH,AAyC6B,IAzCzB,AAAA,6BAA6B,CAyC/B,2BAA2B,AAAA,IAAI,EAzCE,AAyCN,IAzCU,AAAA,qCAAqC,CAyC1E,2BAA2B,AAAA,IAAI,CAAC;EAC9B,KAAK,EAAE,KAAM;EACb,QAAQ,EAAE,MAAO,GAQlB;EAnDH,AA6CI,IA7CA,AAAA,6BAA6B,CAyC/B,2BAA2B,AAAA,IAAI,CAI7B,oBAAoB,EA7CW,AA6C/B,IA7CmC,AAAA,qCAAqC,CAyC1E,2BAA2B,AAAA,IAAI,CAI7B,oBAAoB,CAAC;IACnB,KAAK,EAAE,IAAK,GACb;EA/CL,AAgDM,IAhDF,AAAA,6BAA6B,CAyC/B,2BAA2B,AAAA,IAAI,GAO3B,QAAQ,EAhDqB,AAgD7B,IAhDiC,AAAA,qCAAqC,CAyC1E,2BAA2B,AAAA,IAAI,GAO3B,QAAQ,CAAC;IACT,aAAa,EAAE,CAAE,GAClB;;AAlDL,AAqDW,IArDP,AAAA,6BAA6B,CAqD/B,SAAS,AAAA,OAAO,EArDiB,AAqDxB,IArD4B,AAAA,qCAAqC,CAqD1E,SAAS,AAAA,OAAO,CAAC;EACf,UAAU,EAAE,IAAK,GAClB;;AAvDH,AAyDI,IAzDA,AAAA,6BAA6B,CAyD/B,EAAE,AAAA,uBAAuB,EAzDQ,AAyD/B,IAzDmC,AAAA,qCAAqC,CAyD1E,EAAE,AAAA,uBAAuB,CAAC;EACxB,MAAM,EAAE,OAAQ,GACjB;;AA3DH,AA6DE,IA7DE,AAAA,6BAA6B,CA6D/B,mBAAmB,EA7Dc,AA6DjC,IA7DqC,AAAA,qCAAqC,CA6D1E,mBAAmB,CAAC;EAClB,OAAO,EAAE,OAAQ,GAClB;;AA/DH,AAiEO,IAjEH,AAAA,6BAA6B,CAiE/B,KAAK,AAAA,yBAAyB,EAjEG,AAiE5B,IAjEgC,AAAA,qCAAqC,CAiE1E,KAAK,AAAA,yBAAyB,CAAC;EAC7B,YAAY,EAAE,CAAE;EAChB,aAAa,EAAE,IAAK,GACrB;;AApEH,AAsEiB,IAtEb,AAAA,6BAA6B,CAsE/B,QAAQ,CAAC,KAAK,CAAC,EAAE,EAtEnB,AAsEoC,IAtEhC,AAAA,6BAA6B,CAsEZ,QAAQ,CAAC,KAAK,CAAC,EAAE,EAtEH,AAsElB,IAtEsB,AAAA,qCAAqC,CAsE1E,QAAQ,CAAC,KAAK,CAAC,EAAE,EAtEgB,AAsEC,IAtEG,AAAA,qCAAqC,CAsEvD,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;EACnC,WAAW,EAAE,IAAK;EAClB,cAAc,EAAE,IAAK,GACtB;;AAOH,AACQ,IADJ,AAAA,6BAA6B,CAAC,KAAK,AAAA,qBAAqB,CAC1D,KAAK,CAAC,EAAE,CAAC;EACP,OAAO,EAAE,SAAU;EACnB,cAAc,EAAE,GAAI,GACrB;;AAJH,AAKE,IALE,AAAA,6BAA6B,CAAC,KAAK,AAAA,qBAAqB,CAK1D,iBAAiB,CAAC;EAChB,QAAQ,EAAE,QAAS,GAUpB;EAhBH,AAOI,IAPA,AAAA,6BAA6B,CAAC,KAAK,AAAA,qBAAqB,CAK1D,iBAAiB,CAEf,YAAY,CAAC;IACX,gBAAgB,EAAE,WAAY;IAC9B,OAAO,EAAE,aAAc;IACvB,MAAM,EAAE,iBAAkB;IAC1B,QAAQ,EAAE,IAAK,GAIhB;IAfL,AAYM,IAZF,AAAA,6BAA6B,CAAC,KAAK,AAAA,qBAAqB,CAK1D,iBAAiB,CAEf,YAAY,CAKV,QAAQ,CAAC;MACP,MAAM,EAAE,gBAAiB,GAC1B;;AAdP,AAmBI,IAnBA,AAAA,6BAA6B,CAAC,KAAK,AAAA,qBAAqB,CAkB1D,IAAI,AAAA,gBAAgB,CAClB,KAAK,EAnBT,AAmBI,IAnBA,AAAA,6BAA6B,CAAC,KAAK,AAAA,qBAAqB,CAkBpC,IAAI,AAAA,cAAc,CACtC,KAAK,CAAC;EACJ,KAAK,EAAE,KAAM,GACd;;AAKL,AACE,0BADwB,CACxB,CAAC,CAAC;EACA,OAAO,EAAE,QAAS;EAClB,MAAM,EAAE,CAAE;EACV,WAAW,EAAE,IAAK,GACnB;;AALH,AAME,0BANwB,CAMxB,EAAE,CAAC;EACD,SAAS,EAAE,KAAM;EACjB,QAAQ,EAAE,MAAO,GASlB;EAjBH,AAUI,0BAVsB,CAMxB,EAAE,CAIA,EAAE,CAAC;IACD,MAAM,EAAE,CAAE;IACV,OAAO,EAAE,WAAY;IACrB,UAAU,EAAE,UAAW;IACvB,KAAK,EAAE,IAAK;IACZ,KAAK,EAAE,GAAI,GACZ;;AASL,AAEE,wBAFsB,CAEtB,YAAY,CAAC;EACX,QAAQ,EAAE,QAAS;EACnB,UAAU,EAAE,IAAK;EACjB,MAAM,EAAE,gBAAiB;EACzB,UAAU,EAAE,OAAQ;EACpB,OAAO,EAAE,cAAe;EACxB,UAAU,EAAE,iBAAkB,GAkB/B;EA1BH,AAUI,wBAVoB,CAEtB,YAAY,CAQV,cAAc,CAAC;IACb,QAAQ,EAAE,QAAS;IACnB,GAAG,EAAE,IAAK,GACX;EAbL,AAeI,wBAfoB,CAEtB,YAAY,CAaV,QAAQ,CAAC;IACP,QAAQ,EAAE,QAAS;IACnB,KAAK,EAAE,IAAK;IACZ,GAAG,EAAE,IAAK;IACV,MAAM,EAAE,CAAE,GACX;EApBL,AAsBI,wBAtBoB,CAEtB,YAAY,CAoBV,mBAAmB,CAAC;IAClB,aAAa,EAAE,GAAI,GACpB;;AASL,AAAA,cAAc,CAAC;EACb,MAAM,EAAE,IAAK;EACb,KAAK,EAAE,GAAI;EACX,aAAa,EAAE,GAAI;EACnB,QAAQ,EAAE,MAAO,GAMlB;EAVD,AAKI,cALU,GAKV,GAAG,CAAC;IACJ,MAAM,EAAE,IAAK;IACb,KAAK,EAAE,CAAE,GACV;;AAIH,AAAoD,kBAAlC,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,EAAE,AAAiC,iBAAhB,CAAC,cAAc,CAAC,GAAG,CAAC;EAC5F,UAAU,EAAE,OAAQ,GACrB;;AAED,AAAoD,kBAAlC,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC;EACtD,UAAU,EAAE,IAAK,GAClB;;AAED,AAAmD,iBAAlC,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC;EACrD,UAAU,EAAE,OAAQ,GACrB;;AAED,AAAqD,mBAAlC,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC;EACvD,UAAU,EAAE,OAAQ,GACrB;;AAED,AAAwD,sBAAlC,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC;EAC1D,UAAU,EAAE,OAAQ,GACrB;;AAED,AAAuD,qBAAlC,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC;EACzD,UAAU,EAAE,OAAQ,GACrB;;AAED,AAAsD,oBAAlC,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC;EACxD,UAAU,EAAE,OAAQ,GACrB;;AAMD,AAAwB,uBAAD,CAAC,IAAI,CAAC;EAC3B,OAAO,EAAE,MAAO,GACjB;;AAED,AAAA,gCAAgC,CAAC;EAC/B,MAAM,EAAE,OAAQ;EAChB,OAAO,EAAE,KAAM,GAWhB;EAbD,AAIE,gCAJ8B,CAI9B,IAAI,CAAC;IACH,WAAW,EAAE,IAAK;IAClB,SAAS,EAAE,IAAK;IAChB,UAAU,EAAE,MAAO;IACnB,WAAW,EAAE,MAAO;IACpB,KAAK,EAAE,IAAK;IACZ,MAAM,EAAE,CAAE;IACV,OAAO,EAAE,IAAK,GACf;;AAMH,AACU,yBADe,CACvB,QAAQ,AAAA,YAAY,CAAC;EACnB,aAAa,EAAE,CAAE,GAClB;;AAOH,AAEE,KAFG,AAAA,WAAW,CAEd,EAAE,CAAC;EACD,cAAc,EAAE,MAAO,GACxB;;AAJH,AAMI,KANC,AAAA,WAAW,CAKd,EAAE,AAAA,UAAU,CACV,EAAE,CAAC;EACD,MAAM,EAAE,SAAU;EAClB,SAAS,EAAE,KAAM,GAClB;;AATL,AAUI,KAVC,AAAA,WAAW,CAKd,EAAE,AAAA,UAAU,CAKV,CAAC,CAAC;EACA,SAAS,EAAE,IAAK;EAChB,UAAU,EAAE,MAAO;EACnB,WAAW,EAAE,MAAO;EACpB,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,CAAE,GACX;;AAKL,AAAsB,mBAAH,GAAG,SAAS,CAAC;EAC9B,MAAM,EAAE,IAAK,GACd;;AAKD,AACE,iBADe,CACf,WAAW,CAAC;EACV,KAAK,EAAE,KAAM,GACd;;AAHH,AAIW,iBAJM,CAIf,SAAS,AAAA,IAAI,CAAC;EACZ,KAAK,EAAE,IAAK;EACZ,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,CAAE,GACf;;ACnWH;;;;;;;;GAQG;AAEH,AAAA,WAAW,CAAC;EACV,OAAO,EAAE,YAAa;EACtB,YAAY,EAAE,eAAgB,GAC/B;;AAED,AACE,WADS,CACT,EAAE,CAAC;EACD,MAAM,EAAE,YAAa,GACtB;;AAHH,AAKE,WALS,CAKT,GAAG,CAAC;EACF,MAAM,EAAC,IAAK,GACb;;AAGH,AAAA,WAAW,CAAC;EACV,WAAW,EAAE,KAAM;EACnB,MAAM,EAAE,IAAK;EACb,KAAK,EAAE,KAAM;EACb,KAAK,EAAE,IAAK;EACZ,WAAW,EAAE,IAAK;EAClB,SAAS,EAAE,IAAK;EAChB,UAAU,EAAE,MAAO;EACnB,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAI;EACzB,MAAM,EAAE,MAAO;EAEf,QAAQ,EAAE,QAAS;EACnB,GAAG,EAAE,CAAE;EACP,KAAK,EAAE,CAAE,GACV;;AAED,AAAA,aAAa,CAAC;EACZ,OAAO,EAAE,QAAS;EAClB,MAAM,EAAE,QAAS,GAClB;;AAGD,AAAA,gBAAgB,CAAC;EACf,UAAU,EAAE,IAAK,GAmBlB;EApBD,AAGM,gBAHU,CAGd,IAAI,AAAA,UAAU,CAAC;IACb,KAAK,EAAE,IAAK;IACZ,MAAM,EAAE,IAAK;IACb,SAAS,EAAE,IAAK;IAChB,MAAM,EAAE,SAAU,GACnB;EARH,AAUE,gBAVc,CAUd,qBAAqB,CAAC;IACpB,KAAK,EAAE,GAAI;IACX,KAAK,EAAE,IAAK,GACb;EAbH,AAeK,gBAfW,CAed,GAAG,AAAA,aAAa,CAAC;IACf,YAAY,EAAE,CAAE;IAChB,WAAW,EAAE,EAAG,GACjB;;CAKH,AAAA,AACE,KADD,EAAO,sBAAsB,AAA7B,EACC,WAAW,GADoB,AAAA,AAC/B,KADgC,EAAO,sBAAsB,AAA7B,EAChC,WAAW,CAAC;EACV,UAAU,EAAE,CAAE,GACf;;AAIH,AAAA,kBAAkB,CAAC;EACjB,OAAO,EAAE,YAAa,GAOvB;EARD,AAEI,kBAFc,GAEd,GAAG,CAAC;IACJ,OAAO,EAAE,YAAa,GACvB;EAJH,AAKE,kBALgB,CAKhB,kBAAkB,CAAC;IACjB,MAAM,EAAE,aAAc,GACvB;;AAIH,AACE,UADQ,CACR,GAAG,CAAC;EACF,aAAa,EAAE,GAAI,GACpB;;AAHH,AAIG,UAJO,CAIR,CAAC,AAAA,IAAI,CAAC;EACJ,MAAM,EAAE,QAAS;EACjB,WAAW,EAAE,IAAK;EAClB,UAAU,EAAE,MAAO,GACpB;;AAIH,AAAA,iBAAiB,CAAC;EAChB,SAAS,EAAE,IAAK;EAChB,UAAU,EAAE,MAAO;EACnB,KAAK,EAAE,IAAK,GACb;;AAED,AAAA,0BAA0B,CAAC;EACzB,MAAM,EAAE,gBAAiB;EACzB,SAAS,EAAE,KAAM,GAoBlB;EAtBD,AAIE,0BAJwB,CAIxB,EAAE,CAAC;IACD,OAAO,EAAE,GAAI,GACd;EANH,AAQK,0BARqB,CAQxB,GAAG,AAAA,6BAA6B,CAAC;IAC/B,UAAU,EAAE,IAAK;IACjB,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAI;IACpC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAI;IAC5B,MAAM,EAAE,gBAAiB;IACzB,OAAO,EAAE,QAAS;IAClB,WAAW,EAAE,iBAAkB;IAC/B,OAAO,EAAE,IAAK,GAKf;IApBH,AAgBM,0BAhBoB,CAQxB,GAAG,AAAA,6BAA6B,GAQ5B,CAAC,CAAC;MACF,MAAM,EAAE,OAAQ;MAChB,OAAO,EAAE,GAAI,GACd;;AC7HL;;;;;;;;EAQE;AAEF,AAAA,uBAAuB,CAAC;EACtB,MAAM,EAAE,OAAQ,GACjB;;AAGD,AAAsB,qBAAD,CAAC,qBAAqB,CAAC;EAC1C,OAAO,EAAE,YAAa,GACvB;;AAED,AACE,cADY,CACZ,qBAAqB,EADvB,AACyB,cADX,CACW,kCAAkC,CAAC;EACxD,OAAO,EAAE,YAAa,GACvB;;AAHH,AAIE,cAJY,CAIZ,kCAAkC,CAAC;EACjC,MAAM,EAAE,KAAM;EACd,cAAc,EAAE,MAAO,GACxB;;AC1BH;;;;;;;GAOG;AAMH,AAEC,mBAFkB,CAElB,gBAAgB,CAAC;EAChB,aAAa,EAAE,GAAI;EACnB,QAAQ,EAAE,OAAQ,GAClB;;AALF,AAOoD,mBAPjC,CAOlB,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,EAAiB;EACpD,OAAO,EAAE,KAAM;EACf,aAAa,EAAE,GAAI,GACnB;;AAVF,AAYI,mBAZe,CAYlB,GAAG,AAAA,iBAAiB,CAAC;EACpB,MAAM,EAAE,MAAO,GACf;;AAdF,AAgBgD,mBAhB7B,CAgBlB,qCAAqC,CAAC,QAAQ,CAAC,MAAM,CAAC;EACrD,MAAM,EAAE,OAAQ,GAChB;;AAlBF,AAoBC,mBApBkB,CAoBlB,iBAAiB,CAAC;EACjB,KAAK,EAAE,IAAK,GACZ;;AAtBF,AAwB8B,mBAxBX,CAwBlB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,EAAa;EAC9B,KAAK,EAAE,IAAK,GACZ;;AAGF,AAAA,wBAAwB,CAAC;EACxB,KAAK,EAAE,IAAK;EACZ,QAAQ,EAAE,MAAO;EACjB,MAAM,EAAE,MAAO,GAKf;EARD,AAKC,wBALuB,CAKvB,EAAE,CAAC;IACF,UAAU,EAAE,GAAI,GAChB;;AAGF,AACC,kBADiB,CACjB,EAAE,CAAC;EACF,UAAU,EAAE,CAAE,GACd;;AAHF,AAKC,kBALiB,CAKjB,EAAE,CAAC;EACF,OAAO,EAAE,YAAa;EACtB,MAAM,EAAE,UAAW,GACnB;;AARF,AAUG,kBAVe,CAUjB,EAAE,AAAA,YAAY,CAAC;EACd,WAAW,EAAE,CAAE,GACf;;AAIF,AAAyB,wBAAD,CAAC,YAAY,CAAC;EACrC,QAAQ,EAAE,OAAQ,GAClB;;AAGD,AAA+C,WAApC,CAAC,EAAE,AAAA,kBAAkB,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC;EACpD,MAAM,EAAE,kBAAmB,GAC3B;;AAED,AAAC,CAAA,AAAA,uBAAuB,EAAE,AAAA,yBAAyB,CAAC;EACnD,KAAK,EAAE,OAAQ;EACf,UAAU,EAAE,MAAO;EACnB,SAAS,EAAE,eAAgB,GAC3B;;AAED,AAAA,iBAAiB,CAAC;EACjB,QAAQ,EAAE,QAAS;EACnB,UAAU,EAAE,IAAK,GAejB;EAjBD,AAIK,iBAJY,CAIhB,IAAI,AAAA,wBAAwB,CAAC;IAC5B,QAAQ,EAAE,QAAS;IACnB,UAAU,EAAE,GAAI;IAChB,KAAK,EAAE,KAAM;IACb,aAAa,EAAE,IAAK;IACpB,IAAI,EAAE,KAAM;IACZ,GAAG,EAAE,KAAM,GACX;EAXF,AAaC,iBAbgB,CAahB,GAAG,CAAC;IACH,SAAS,EAAE,KAAM;IACjB,MAAM,EAAE,eAAgB,GACxB;;AAGF,AAAqB,oBAAD,CAAC,KAAK;AAC1B,AAAyB,wBAAD,CAAC,EAAE,CAAC;EAC3B,KAAK,EAAE,IAAK;EACZ,OAAO,EAAE,YAAa;EACtB,KAAK,EAAE,KAAM;EACb,UAAU,EAAE,MAAO;EACnB,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,CAAE;EACV,SAAS,EAAE,IAAK,GAChB;;AAED,AAA6F,kBAA3E,CAAC,6BAA6B,GAAG,wBAAwB,AAAA,IAAK,CAAA,AAAA,aAAa,EAAE;EAC9F,aAAa,EAAE,iBAAkB;EACjC,UAAU,EAAE,IAAK,GACjB;;AAED,AAAsC,0BAAZ,CAAC,OAAO,GAAG,CAAC,AAAA,cAAc,CAAC;EACpD,OAAO,EAAE,IAAK,GACd;;AAGD,AAAmB,kBAAD,CAAC,OAAO,CAAC;EAC1B,KAAK,EAAE,GAAI,GAIX;EALD,AAEC,kBAFiB,CAAC,OAAO,CAEzB,KAAK,CAAC;IACL,SAAS,EAAE,IAAK,GAChB;;AAGF,8BAA8B;AAC9B,AACY,cADE,CACb,UAAU,CAAC,QAAQ,CAAC;EACnB,OAAO,EAAE,SAAU,GAKnB;EAPF,AAGI,cAHU,CACb,UAAU,CAAC,QAAQ,GAEhB,OAAO,EAHX,AAGe,cAHD,CACb,UAAU,CAAC,QAAQ,GAEL,OAAO,CAAC;IACpB,OAAO,EAAE,UAAW;IACpB,KAAK,EAAE,IAAK,GACZ;;AAIH,6BAA6B;AAC7B,AACC,mBADkB,CAClB,KAAK,CAAC;EACL,UAAU,EAAE,MAAO;EACnB,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,OAAQ,GAChB;;AALF,AAMM,mBANa,GAMhB,GAAG,AAAA,OAAO,CAAC;EACZ,cAAc,EAAE,IAAK,GACrB;;AARF,AASM,mBATa,GAShB,GAAG,AAAA,OAAO,CAAC;EACZ,cAAc,EAAE,GAAI,GACpB;;AAMF,AAEK,0BAFqB,CAAC,EAAE,AAAA,mBAAmB,CAE/C,IAAI,AAAA,iBAAiB,CAAC;EACrB,OAAO,EAAE,WAAY;EACrB,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,MAAO;EACpB,KAAK,EAAE,OAAQ;EACf,MAAM,EAAE,IAAK,GAMb;EAbF,AAEK,0BAFqB,CAAC,EAAE,AAAA,mBAAmB,CAE/C,IAAI,AAAA,iBAAiB,AAOnB,MAAM,CAAC;IACP,KAAK,EAAE,IAAK,GACZ;;AAUH,AAAA,qBAAqB,CAAC;EACrB,MAAM,EAAE,OAAQ,GAgBhB;EAjBD,AAEC,qBAFoB,CAEpB,IAAI,CAAC;IACJ,UAAU,EAAE,MAAO;IACnB,OAAO,EAAE,OAAQ;IACjB,SAAS,EAAE,IAAK,GAChB;EANF,AAOC,qBAPoB,CAOpB,IAAI,CAAC;IACJ,OAAO,EAAE,KAAM;IACf,KAAK,EAAE,IAAK;IACZ,UAAU,EAAE,MAAO;IACnB,MAAM,EAAE,OAAQ;IAChB,SAAS,EAAE,IAAK,GAChB;EAbF,AAcC,qBAdoB,CAcpB,eAAe,CAAC;IACf,OAAO,EAAE,IAAK,GACd;;AAOF,AAAA,qBAAqB,CAAC;EACrB,KAAK,EAAE,KAAM;EACb,MAAM,EAAE,KAAM;EACd,WAAW,EAAE,wBAAyB;EACtC,UAAU,EAAE,IAAK;EACjB,WAAW,EAAE,GAAI;EACjB,QAAQ,EAAE,IAAK;EACf,OAAO,EAAE,KAAM;EACf,cAAc;EACd,SAAS,EAAE,GAAI,GACf;;AAED,AAAA,sBAAsB,CAAC;EACtB,MAAM,EAAE,CAAE,GACV;;AAMD,AAEC,YAFW,CAEX,OAAO,CAAC;EACP,OAAO,EAAE,CAAE,GACX;;AAJF,AAKO,YALK,CAKX,KAAK,CAAC,EAAE,CAAC;EACR,OAAO,EAAE,QAAS,GAClB;;AAPF,AASC,YATW,CASX,sBAAsB,CAAC;EACtB,OAAO,EAAE,OAAQ,GAEjB;;AAIF,AAAA,sBAAsB,CAAC;EACtB,QAAQ,EAAE,QAAS;EACnB,QAAQ,EAAE,OAAQ,GAClB;;AAED,AAAA,yBAAyB,CAAC;EACzB,QAAQ,EAAE,QAAS;EACnB,IAAI,EAAE,CAAE;EACR,GAAG,EAAE,IAAK;EACV,OAAO,EAAE,GAAI,GAiBb;EArBD,AAME,yBANuB,CAMxB,CAAC,AAAA,sBAAsB,CAAC;IACvB,QAAQ,EAAE,QAAS;IACnB,KAAK,EAAE,GAAI;IACX,GAAG,EAAE,GAAI,GACT;EAVF,AAWC,yBAXwB,CAWxB,EAAE,CAAC;IACF,OAAO,EAAE,aAAc;IACvB,MAAM,EAAE,CAAE;IACV,UAAU,EAAE,OAAQ;IACpB,MAAM,EAAE,iBAAkB;IAC1B,KAAK,EAAE,KAAM;IACb,UAAU,EAAE,KAAM;IAClB,UAAU,EAAE,MAAO,GACnB;;AAIF,AAEW,IAFP,CAEH,SAAS,CAAC,QAAQ,CAAC;EAClB,QAAQ,EAAE,OAAQ,GAClB;;AAIF,AAAC,CAAA,AAAA,YAAY,CAAC;EACb,KAAK,EAAE,IAAK,GACZ;;AAKD,AACC,4BAD2B,CAC3B,wBAAwB,CAAC;EACxB,MAAM,EAAE,YAAa;EACrB,MAAM,EAAE,IAAK,GACb;;AAJF,AAMC,4BAN2B,CAM3B,mBAAmB,CAAC;EACnB,UAAU,EAAE,IAAI,CAAC,0BAAG,CAAwB,SAAS;EACrD,mBAAmB,EAAE,YAAa;EAClC,eAAe,EAAE,IAAK,GACtB;;AAVF,AAYC,4BAZ2B,CAY3B,oBAAoB,EAZrB,AAY2C,4BAZf,CAYL,oBAAoB,AAAA,MAAM,CAAC;EAChD,gBAAgB,EAAE,yBAAG;EACrB,gBAAgB,EAAE,IAAK;EACvB,iBAAiB,EAAE,SAAU;EAC7B,mBAAmB,EAAE,YAAa;EAClC,OAAO,EAAE,IAAK;EACd,eAAe,EAAE,IAAK;EACtB,KAAK,EAAE,IAAK,GACZ;;AAIF,uBAAuB;AACvB,AAAA,mBAAmB,CAAC;EACnB,UAAU,EAAE,IAAK,GA6FjB;EA9FD,AAGC,mBAHkB,CAGlB,4BAA4B,CAAC;IAC5B,OAAO,EAAE,KAAM;IACf,QAAQ,EAAE,QAAS;IACnB,KAAK,EAAE,IAAK;IACZ,KAAK,EAAE,KAAM;IACb,UAAU,EAAE,KAAM;IAClB,MAAM,EAAE,cAAe,GACvB;EAVF,AAaE,mBAbiB,CAYlB,iBAAiB,CAChB,KAAK,CAAC;IACL,MAAM,EAAE,UAAW;IACnB,OAAO,EAAE,MAAO;IAChB,OAAO,EAAE,KAAM;IACf,SAAS,EAAE,IAAK;IAChB,WAAW,EAAE,GAAI;IACjB,MAAM,EAAE,OAAQ,GAChB;EApBH,AAuBC,mBAvBkB,CAuBlB,mBAAmB,CAAC;IACnB,MAAM,EAAE,MAAO,GACf;EAzBF,AA2BmB,mBA3BA,CA2BlB,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAAY,mBAAmB;EA3BtC,AA4BuB,mBA5BJ,CA4BlB,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,mBAAmB,CAAC;IACzC,KAAK,EAAE,IAAK,GACZ;EA9BF,AAgCwC,mBAhCrB,CAgClB,mBAAmB,CAAC,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,EAAe;IACxC,QAAQ,EAAE,QAAS;IACnB,GAAG,EAAE,GAAI;IACT,KAAK,EAAE,IAAK;IACZ,MAAM,EAAE,IAAK;IACb,WAAW,EAAE,IAAK;IAClB,OAAO,EAAE,SAAU;IACnB,SAAS,EAAE,IAAK,GAChB;EAxCF,AA2CC,mBA3CkB,CA2ClB,2BAA2B,CAAC;IAC3B,UAAU,EAAE,IAAK;IACjB,WAAW,EAAE,cAAe;IAC5B,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAI;IACpC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAI;IAC5B,MAAM,EAAE,SAAU;IAClB,OAAO,EAAE,QAAS,GAelB;IAhEF,AAmDE,mBAnDiB,CA2ClB,2BAA2B,CAQ1B,CAAC,CAAC;MACD,OAAO,EAAE,MAAO;MAChB,MAAM,EAAE,CAAE,GACV;IAtDH,AAwDE,mBAxDiB,CA2ClB,2BAA2B,CAa1B,CAAC,CAAC;MACD,KAAK,EAAE,IAAK;MACZ,MAAM,EAAE,OAAQ,GAIhB;MA9DH,AAwDE,mBAxDiB,CA2ClB,2BAA2B,CAa1B,CAAC,AAGC,MAAM,CAAC;QACP,eAAe,EAAE,IAAK,GACtB;EA7DJ,AAkE4B,mBAlET,CAkElB,2BAA2B,AAAA,0BAA0B,CAAC;IACrD,YAAY,EAAE,OAAQ,GACtB;EApEF,AAuE4B,mBAvET,CAuElB,2BAA2B,AAAA,cAAc;EAvE1C,AAwE4B,mBAxET,CAwElB,2BAA2B,AAAA,qBAAqB,CAAC;IAChD,YAAY,EAAE,OAAQ,GACtB;EA1EF,AA4E4B,mBA5ET,CA4ElB,2BAA2B,AAAA,mBAAmB;EA5E/C,AA6E4B,mBA7ET,CA6ElB,2BAA2B,AAAA,iCAAiC;EA7E7D,AA8E4B,mBA9ET,CA8ElB,2BAA2B,AAAA,qBAAqB;EA9EjD,AA+E4B,mBA/ET,CA+ElB,2BAA2B,AAAA,qBAAqB;EA/EjD,AAgF4B,mBAhFT,CAgFlB,2BAA2B,AAAA,2BAA2B;EAhFvD,AAiF4B,mBAjFT,CAiFlB,2BAA2B,AAAA,gCAAgC,CAAC;IAC3D,YAAY,EAAE,MAAO,GACrB;EAnFF,AAqF4B,mBArFT,CAqFlB,2BAA2B,AAAA,6BAA6B;EArFzD,AAsF4B,mBAtFT,CAsFlB,2BAA2B,AAAA,6BAA6B,CAAC;IACxD,YAAY,EAAE,OAAQ,GACtB;EAxFF,AA0FwD,mBA1FrC,CA0FlB,2BAA2B,AAAA,0BAA0B,CAAC,CAAC,AAAA,MAAM;EA1F9D,AA2FmD,mBA3FhC,CA2FlB,2BAA2B,AAAA,qBAAqB,CAAC,CAAC,AAAA,MAAM,CAAC;IACxD,eAAe,EAAE,IAAK,GACtB;;AAGF,yCAAyC;AACzC,MAAM,CAAN,MAAM,MAAM,SAAS,EAAE,MAAM;EAC5B,AAAoB,mBAAD,CAAC,4BAA4B,CAAC;IAChD,KAAK,EAAE,GAAI;IACX,UAAU,EAAE,KAAM,GAClB;;AAGF,MAAM,CAAN,MAAM,MAAM,SAAS,EAAE,KAAK;EAC3B,AAAoB,mBAAD,CAAC,4BAA4B,CAAC;IAChD,KAAK,EAAE,IAAK;IACZ,SAAS,EAAE,KAAM,GACjB;;AAGF,YAAY;AAEZ,AAGE,WAHS,CAEV,KAAK,CACJ,EAAE,CAAC;EACF,OAAO,EAAE,mBAAoB,GAC7B;;AAMH,AAA4B,cAAd,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;EAC9B,OAAO,EAAE,IAAK,GACd;;AAGD,AAAqC,qBAAhB,CAAC,cAAc,CAAC,MAAM,EAAE,AAAsB,qBAAD,CAAC,eAAe,CAAC;EAClF,UAAU,EAAE,KAAM,GAClB;;AAGD,AAAA,uBAAuB,CAAC;EACvB,KAAK,EAAE,OAAQ;EACf,UAAU,EAAE,MAAO;EACnB,MAAM,EAAE,CAAE;EACV,WAAW,EAAE,IAAK,GAClB;;AAGD,AAAE,EAAA,AAAA,qBAAqB,CAAC;EACvB,QAAQ,EAAE,MAAO;EACjB,MAAM,EAAE,IAAK,GACb;;AAED,MAAM,CAAN,MAAM,MAAM,SAAS,EAAE,KAAK;EAC3B,AAAA,qBAAqB,CAAC;IACrB,QAAQ,EAAE,QAAS;IACnB,WAAW,EAAC,YAAa,GAiCzB;IAnCD,AAIG,qBAJkB,GAIlB,CAAC,CAAC;MACH,KAAK,EAAE,IAAK;MACZ,UAAU,EAAE,UAAW;MACvB,MAAM,EAAC,CAAE,GAIT;MAXF,AAIG,qBAJkB,GAIlB,CAAC,AAID,MAAM,CAAC;QACP,aAAa,EAAE,cAAe,GAC9B;IAVH,AAaI,qBAbiB,CAapB,GAAG,AAAA,yBAAyB,CAAC;MAC5B,QAAQ,EAAE,QAAS;MACnB,GAAG,EAAC,CAAE;MACN,KAAK,EAAC,CAAE,GAiBR;MAjCF,AAkBE,qBAlBmB,CAapB,GAAG,AAAA,yBAAyB,CAK3B,kBAAkB,CAAC;QAClB,MAAM,EAAE,IAAK;QACb,KAAK,EAAE,IAAK;QACZ,aAAa,EAAE,CAAE;QACjB,MAAM,EAAC,CAAE,GAMT;QA5BH,AAuBS,qBAvBY,CAapB,GAAG,AAAA,yBAAyB,CAK3B,kBAAkB,GAKf,IAAI,AAAA,UAAU,CAAC;UAChB,MAAM,EAAE,UAAW;UACnB,OAAO,EAAE,KAAM,GACf;MA1BJ,AA8BK,qBA9BgB,CAapB,GAAG,AAAA,yBAAyB,CAiB3B,GAAG,AAAA,iBAAiB,CAAC;QACpB,GAAG,EAAC,IAAK,GACT;;AAMJ,AAAA,yBAAyB,CAAC;EACzB,QAAQ,EAAE,QAAS;EACnB,OAAO,EAAE,YAAa;EACtB,OAAO,EAAE,IAAK;EACd,KAAK,EAAE,IAAK,GAyBZ;EA7BD,AAMI,yBANqB,CAMxB,GAAG,AAAA,iBAAiB,CAAC;IACpB,MAAM,EAAE,cAAe;IACvB,aAAa,EAAE,CAAE;IACjB,QAAQ,EAAE,QAAS;IACnB,GAAG,EAAE,IAAK;IACV,KAAK,EAAE,CAAE,GAiBT;IA5BF,AAaE,yBAbuB,CAMxB,GAAG,AAAA,iBAAiB,CAOnB,CAAC,CAAC;MACD,KAAK,EAAE,IAAK;MACZ,UAAU,EAAE,KAAM;MAClB,OAAO,EAAE,QAAS;MAClB,KAAK,EAAE,IAAK;MACZ,eAAe,EAAE,IAAK;MACtB,aAAa,EAAE,cAAe;MAC9B,SAAS,EAAE,KAAM;MACjB,KAAK,EAAE,IAAK;MACZ,SAAS,EAAE,IAAK,GAChB;IAvBH,AAyBG,yBAzBsB,CAMxB,GAAG,AAAA,iBAAiB,CAmBnB,CAAC,AAAA,MAAM,CAAC;MACP,UAAU,EAAE,OAAQ,GACpB;;AAKH,AAAA,yBAAyB,CAAA;EACxB,OAAO,EAAC,IAAK,GACb;;AAED,AAAA,kBAAkB,CAAC;EAClB,eAAe,EAAE,IAAK;EACtB,OAAO,EAAE,OAAQ;EACjB,aAAa,EAAE,cAAe;EAC9B,WAAW,EAAE,CAAE;EACf,UAAU,EAAE,KAAM;EAClB,aAAa,EAAE,GAAI;EAChB,UAAU,EAAC,GAAI,GAOlB;EAdD,AASO,kBATW,GASf,IAAI,AAAA,UAAU,CAAC;IACZ,SAAS,EAAC,IAAK;IACf,MAAM,EAAC,IAAK;IACZ,KAAK,EAAC,IAAK,GACf;;AAGF,AAAkB,kBAAA,AAAA,MAAM,EAAE,AAAkB,kBAAA,AAAA,OAAO,CAAC;EACnD,OAAO,EAAE,IAAK;EACd,UAAU,EAAE,sBAAuB,GACnC;;ACpiBD;;;;;;;;EAQE;AAEF,AAAA,qBAAqB,EAAE,AAAA,iBAAiB,CAAC;EACvC,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,OAAQ;EACpB,YAAY,EAAE,OAAQ;EACtB,QAAQ,EAAE,IAAK;EACf,MAAM,EAAE,KAAM;EACd,OAAO,EAAE,IAAK;EACd,YAAY,EAAE,GAAI;EAClB,YAAY,EAAE,KAAM;EACpB,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,KAAM,GACpB;;AAED,AACE,qBADmB,CACnB,CAAC,CAAC;EACA,KAAK,EAAE,IAAK,GACb;;AAHH,AAII,qBAJiB,CAInB,EAAE,AAAA,UAAU,CAAC;EACX,aAAa,EAAE,GAAI,GACpB;;AANH,AAOE,qBAPmB,CAOnB,KAAK,CAAC;EACJ,UAAU,EAAE,MAAO;EACnB,MAAM,EAAE,MAAO,GAMhB;EAfH,AAOE,qBAPmB,CAOnB,KAAK,AAIF,sBAAsB,CAAC;IACtB,WAAW,EAAE,GAAI,GAClB;;AAML,AACI,qBADiB,CACnB,EAAE,AAAA,UAAU,CAAC;EACX,aAAa,EAAE,IAAK,GACrB;;AAHH,AAIW,qBAJU,CAInB,SAAS,AAAA,IAAI,CAAC;EACZ,KAAK,EAAE,IAAK,GAMb;EAXH,AAMI,qBANiB,CAInB,SAAS,AAAA,IAAI,CAEX,YAAY,CAAC;IACX,UAAU,EAAE,GAAI;IAChB,WAAW,EAAE,CAAE,GAChB;;AATL,AAaE,qBAbmB,CAanB,wBAAwB,CAAC;EACvB,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,IAAK,GACnB;;AAhBH,AAkB0B,qBAlBL,CAkBnB,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;EAC5B,UAAU,EAAE,GAAI,GACjB;;AApBH,AAsBE,qBAtBmB,CAsBnB,eAAe,CAAC;EACd,KAAK,EAAE,IAAK,GACb;;AAxBH,AA0BE,qBA1BmB,CA0BnB,cAAc,CAAC;EACb,KAAK,EAAE,KAAM,GACd;;AAIH,AAAmB,EAAjB,AAAA,gBAAgB,CAAC,EAAE,CAAC;EACpB,UAAU,EAAE,OAAQ;EACpB,gBAAgB,EAAE,IAAK,GACxB;;AAED,AAAuB,cAAT,AAAA,MAAM,CAAC,EAAE,AAAA,KAAK,CAAC;EAC3B,KAAK,EAAE,KAAM,GACd;;AAED,AAAA,iBAAiB,CAAC;EAChB,WAAW,EAAE,IAAK;EAClB,cAAc,EAAE,MAAO,GACxB;;AAED,AAAkB,iBAAD,CAAC,GAAG,CAAC;EACpB,SAAS,EAAE,GAAI;EACf,MAAM,EAAE,IAAK;EACb,KAAK,EAAE,IAAK,GACb;;AAMD,AACI,qBADiB,GACjB,IAAI,CAAC;EACL,OAAO,EAAE,YAAa;EACtB,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,IAAK;EACb,QAAQ,EAAE,QAAS;EACnB,GAAG,EAAE,GAAI;EACT,MAAM,EAAE,CAAE;EACV,OAAO,EAAE,CAAE;EACX,aAAa,EAAE,GAAI;EACnB,UAAU,EAAE,IAAK;EACjB,WAAW,EAAE,IAAK,GACnB;;AAZH,AAeqB,qBAfA,AAelB,eAAe,GAAG,IAAI,CAAC;EACtB,gBAAgB,EV5GX,OAAO,GU6Gb;;AAjBH,AAoBsB,qBApBD,AAoBlB,gBAAgB,GAAG,IAAI,EApB1B,AAoB+C,qBApB1B,AAoBQ,eAAe,GAAG,IAAI,CAAC;EAChD,gBAAgB,EVnHZ,OAAO,GUoHZ;;AAtBH,AAyBsB,qBAzBD,AAyBlB,gBAAgB,GAAG,IAAI,CAAC;EACvB,gBAAgB,EV/GH,IAAI,GUgHlB;;AA3BH,AA6BoB,qBA7BC,AA6BlB,cAAc,GAAG,IAAI,CAAC;EACrB,gBAAgB,EV3Hd,IAAI,GU4HP;;AA/BH,AAiCuB,qBAjCF,AAiClB,iBAAiB,GAAG,IAAI,CAAC;EACxB,gBAAgB,EV5Hb,IAAI,GU6HR;;AAnCH,AAqCqB,qBArCA,AAqClB,eAAe,GAAG,IAAI,CAAC;EACtB,gBAAgB,EVvHH,OAAO,GUwHrB;;AAvCH,AAyC0B,qBAzCL,AAyClB,oBAAoB,GAAG,IAAI,EAzC9B,AAyCmD,qBAzC9B,AAyCY,eAAe,GAAG,IAAI,EAzCvD,AAyCsF,qBAzCjE,AAyCqC,yBAAyB,GAAG,IAAI,CAAC;EACvF,gBAAgB,EV5HE,OAAO,GU6H1B;;AAKH,AAAA,mBAAmB,CAAC;EXxGlB,OAAO,EAAE,cAAe;EACxB,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,CAAE;EACf,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,MAAO;EACnB,WAAW,EAAE,MAAO;EACpB,cAAc,EAAE,QAAS;EACzB,aAAa,EAAE,KAAM;EWmGrB,gBAAgB,EV9IT,OAAO;EU+Id,MAAM,EAAE,MAAO;EACf,cAAc,EAAE,MAAO,GACxB;EALD,AAAA,mBAAmB,AX/FhB,MAAM,CAAC;IACN,KAAK,EAAC,IAAK;IACX,eAAe,EAAE,IAAK,GACvB;;AWoGH,AAEE,qBAFmB,CAEnB,gBAAgB,CAAC;EXlHjB,OAAO,EAAE,cAAe;EACxB,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,CAAE;EACf,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,MAAO;EACnB,WAAW,EAAE,MAAO;EACpB,cAAc,EAAE,QAAS;EACzB,aAAa,EAAE,KAAM;EW6GnB,WAAW,EAAE,MAAO,GAErB;EANH,AAEE,qBAFmB,CAEnB,gBAAgB,AXzGf,MAAM,CAAC;IACN,KAAK,EAAC,IAAK;IACX,eAAe,EAAE,IAAK,GACvB;;AWoGH,AAQE,qBARmB,CAQnB,eAAe,CAAC;EACd,aAAa,EAAE,IAAK,GACrB;;AAVH,AAYE,qBAZmB,CAYnB,qBAAqB,CAAC;EACpB,OAAO,EAAE,YAAa,GACvB;;AAKH,AACE,kBADgB,CAChB,qBAAqB,CAAC;EACpB,OAAO,EAAE,YAAa;EACtB,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,MAAO;EACf,QAAQ,EAAE,QAAS;EACnB,GAAG,EAAE,GAAI,GACV;;AAIH,AACE,qBADmB,CACnB,yBAAyB,CAAC;EACxB,UAAU,EAAE,MAAO;EACnB,OAAO,EAAE,KAAM,GAChB;;AAGH;;6BAE6B;AAC7B,MAAM,CAAN,QAAQ,OAAO,MAAM,MAAM,SAAS,EAAE,KAAK;EACzC,AAAqB,cAAP,AAAA,MAAM,CAAC,EAAE,CAAC;IACtB,KAAK,EAAE,eAAgB,GACxB;;AAGH,AAAyE,mCAAtC,CAAC,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC;EAC5E,WAAW,EAAE,IAAK;EAClB,UAAU,EAAE,IAAK,GAClB;;AAED;iEACiE;AACjE,AAAgB,eAAD,CAAC,MAAM,CAAC;EACrB,WAAW,EAAE,GAAI,GAClB;;AAED,AAAA,sBAAsB,CAAC;EACrB,MAAM,EAAE,CAAE;EACV,OAAO,EAAE,QAAS;EAClB,KAAK,EAAE,IAAK;EACZ,aAAa,EAAE,cAAe,GAC/B;;AAED,AAAuB,sBAAD,CAAC,OAAO,CAAC;EAC7B,WAAW,EAAE,GAAI,GAClB;;AAED,AAAmB,kBAAD,CAAC,UAAU,CAAC;EAC5B,WAAW,EAAE,MAAO;EACpB,KAAK,EAAE,IAAK,GACb;;AAED,AAAgB,eAAD,CAAC,MAAM,CAAC;EACrB,KAAK,EAAE,KAAM,GACd;;AAED,AAAmB,kBAAD,CAAC,OAAO;AAC1B,AAAoB,mBAAD,CAAC,OAAO,CAAC;EAC1B,MAAM,EAAE,CAAE;EACV,OAAO,EAAE,CAAE,GACZ;;AAED,AAAwB,kBAAN,CAAC,KAAK,AAAA,gBAAgB,CAAC;EACvC,KAAK,EAAE,KAAM,GACd;;AAED,AAAuC,kBAArB,CAAC,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CAAc,uBAAuB;AAC9D,AAAuC,kBAArB,CAAC,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CAAc,sBAAsB,CAAC;EAC5D,KAAK,EAAE,IAAK,GACb;;AAED,AAAsB,sBAAA,AAAA,WAAW,CAAC;EAChC,aAAa,EAAE,CAAE,GAClB;;AAED,AAAsB,qBAAD,CAAC,iBAAiB,CAAC;EACtC,UAAU,EAAE,SAAU,GACvB;;AAED,AAAiD,sBAA3B,CAAC,yBAAyB,CAAC,iBAAiB,CAAC;EACjE,YAAY,EAAE,IAAK,GACpB;;AAED,AAAwB,uBAAD,CAAC,EAAE,CAAC;EACzB,UAAU,EAAE,IAAK,GAClB;;AAED,AAAwB,uBAAD,CAAC,mBAAmB,CAAC;EAC1C,KAAK,EAAE,KAAM,GACd;;AAED,AAAwB,uBAAD,CAAC,EAAE;AAC1B,AAAiC,gCAAD,CAAC,MAAM;AACvC,AAAwC,mBAArB,CAAC,mBAAmB,CAAC,KAAK;AAC7C,AAA8B,qBAAT,CAAC,OAAO,CAAC,KAAK;AACnC,AAA8C,mBAA3B,CAAC,kBAAkB,CAAC,CAAC,AAAA,KAAK,CAAC,KAAK,CAAC;EAClD,KAAK,EAAE,IAAK;EACZ,OAAO,EAAE,KAAM,GAChB;;AAED,AAAsB,gBAAN,CAAC,KAAK,AAAA,WAAW,CAAC;EAChC,MAAM,EAAE,CAAE,GACX;;AAED,AAAuB,kBAAL,CAAC,IAAI,AAAA,MAAM,CAAC;EAC5B,OAAO,EAAE,MAAO;EAChB,KAAK,EAAE,IAAK,GACb;;AAED,AAAuB,sBAAD,CAAC,eAAe,CAAC;EACrC,YAAY,EAAE,CAAE,GACjB;;AAED,AAA8B,qBAAT,CAAC,OAAO,CAAC,YAAY,CAAC;EACzC,aAAa,EAAE,IAAK,GACrB;;AAED,AAAsB,qBAAD,CAAC,OAAO;AAC7B,AAAoC,uBAAb,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE;AACtC,AAAuC,uBAAhB,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;EACxC,OAAO,EAAE,YAAa;EACtB,QAAQ,EAAE,QAAS;EACnB,cAAc,EAAE,GAAI,GACrB;;AAED,AAAwB,uBAAD,CAAC,EAAE,CAAC;EACzB,SAAS,EAAE,CAAE,GAqBd;EAtBD,AAGE,uBAHqB,CAAC,EAAE,CAGxB,EAAE,CAAC;IACD,SAAS,EAAE,IAAK,GAWjB;IAfH,AAGE,uBAHqB,CAAC,EAAE,CAGxB,EAAE,AAGC,QAAQ,CAAC;MACR,UAAU,EAAE,KAAM;MAClB,SAAS,EAAE,KAAM,GAClB;IATL,AAGE,uBAHqB,CAAC,EAAE,CAGxB,EAAE,AAQC,OAAO,CAAC;MACP,UAAU,EAAE,KAAM,GACnB;EAbL,AAiBE,uBAjBqB,CAAC,EAAE,CAiBxB,IAAI,CAAC;IACH,OAAO,EAAE,IAAK;IACd,aAAa,EAAE,cAAe,GAC/B;;AAIH,AAAuB,gBAAP,CAAC,KAAK,CAAC,IAAI,CAAC;EAC1B,KAAK,EAAE,IAAK;EACZ,WAAW,EAAE,GAAI,GAClB;;AAED,AAAK,KAAA,AAAA,iBAAiB,CAAC;EACrB,KAAK,EAAE,IAAK;EACZ,OAAO,EAAE,OAAQ,GAClB;;AAED,AAAkD,qCAAb,AAAA,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;EACvD,MAAM,EAAE,OAAQ,GACjB;;AAMD,AACE,mBADiB,CACjB,QAAQ,CAAC;EACP,UAAU,EAAE,KAAM,GACnB;;AAHH,AAIE,mBAJiB,CAIjB,sBAAsB,CAAC;EACrB,MAAM,EAAE,UAAW,GACpB;;AAQH,AAEY,qBAFS,CAEnB,OAAO,GAAG,GAAG,CAAC;EACZ,MAAM,EAAE,QAAS,GAClB;;AAJH,AAME,qBANmB,CAMnB,KAAK,CAAC;EACJ,OAAO,EAAE,KAAM,GAChB;;AARH,AAUE,qBAVmB,CAUnB,iBAAiB,CAAC;EAChB,OAAO,EAAE,UAAW,GACrB;;AAZH,AAcmB,qBAdE,CAcnB,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,EAAa;EACjB,KAAK,EAAE,GAAI,GACZ;;AAhBH,AAkBE,qBAlBmB,CAkBnB,iBAAiB,CAAC;EAChB,KAAK,EAAE,cAAe,GACvB;;AAQH,MAAM,CAAN,MAAM,MAAM,SAAS,EAAE,MAAM;EAC3B,AAAsB,qBAAD,CAAC,OAAO,CAAC;IAC5B,KAAK,EAAE,GAAI,GACZ;EAED,AAAoC,uBAAb,AAAA,UAAU,CAAC,EAAE,AAAA,QAAQ,CAAC;IAC3C,KAAK,EAAE,GAAI;IACX,UAAU,EAAE,CAAE;IACd,YAAY,EAAE,CAAE,GACjB;;AAIH,MAAM,CAAN,MAAM,MAAM,SAAS,EAAE,MAAM;EAC3B,AAAsB,qBAAD,CAAC,OAAO,CAAC;IAC5B,KAAK,EAAE,GAAI,GACZ;;AAGH,MAAM,CAAN,MAAM,MAAM,SAAS,EAAE,KAAK;EAC1B,AAAqC,kBAAnB,CAAC,KAAK,CAAA,AAAA,IAAC,CAAK,OAAO,AAAZ,EAAc;IACrC,OAAO,EAAE,QAAS,GACnB;;AAMH,AAAoB,mBAAD,CAAC,OAAO,EAAE,AAAwB,uBAAD,CAAC,OAAO,CAAC;EAC3D,UAAU,EAAE,CAAE,GACf;;AAED,AAAmE,qCAA9B,CAAC,4BAA4B,CAAC,eAAe,CAAC;EACjF,WAAW,EAAE,CAAE,GAChB;;AClaD;;;;;;;;EAQE;AAEF,AAEE,sBAFoB,CAEpB,qBAAqB,CAAC;EACvB,UAAU,EAAE,MAAO,GAkCjB;EArCH,AAKC,sBALqB,CAEpB,qBAAqB,CAGtB,0BAA0B,CAAC;IACzB,MAAM,EAAE,QAAS;IACjB,OAAO,EAAE,CAAE,GACZ;EARF,AAUC,sBAVqB,CAEpB,qBAAqB,CAQtB,yBAAyB,CAAC;IACxB,OAAO,EAAE,GAAI;IACb,MAAM,EAAE,CAAE,GACX;EAbF,AAeC,sBAfqB,CAEpB,qBAAqB,CAatB,8BAA8B,CAAC;IAC7B,SAAS,EAAE,IAAK;IAChB,KAAK,EAAE,OAAQ;IACf,WAAW,EAAE,IAAK;IAClB,MAAM,EAAE,QAAS;IACjB,WAAW,EAAE,CAAE,GAChB;EArBF,AAuBC,sBAvBqB,CAEpB,qBAAqB,CAqBtB,qBAAqB,CAAC;IACpB,SAAS,EAAE,IAAK;IAChB,WAAW,EAAE,IAAK;IAClB,MAAM,EAAE,QAAS;IACjB,OAAO,EAAE,SAAU,GACpB;EA5BF,AA8BC,sBA9BqB,CAEpB,qBAAqB,CA4BtB,gBAAgB,CAAC;IACf,SAAS,EAAE,IAAK;IAChB,WAAW,EAAE,IAAK;IAClB,OAAO,EAAE,CAAE;IACX,MAAM,EAAE,QAAS,GAClB;;AAnCF,AAwCE,sBAxCoB,CAwCpB,iBAAiB,CAAC;EACnB,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,MAAO;EACnB,MAAM,EAAE,CAAE;EACV,YAAY,EAAE,KAAM;EACpB,UAAU,EAAE,iBAAkB;EAC9B,cAAc,EAAE,CAAE,GAahB;EA3DH,AAgDC,sBAhDqB,CAwCpB,iBAAiB,CAQlB,0BAA0B,EAhD3B,AAgD6B,sBAhDP,CAwCpB,iBAAiB,CAQU,gCAAgC,CAAC;IAC3D,OAAO,EAAE,CAAE;IACX,MAAM,EAAE,CAAE,GACX;EAnDF,AAqDC,sBArDqB,CAwCpB,iBAAiB,CAalB,0BAA0B,CAAC;IACzB,KAAK,EAAE,OAAQ;IACf,WAAW,EAAE,IAAK;IAClB,SAAS,EAAE,IAAK,GACjB;;AAOF,AAEI,qBAFiB,GAEjB,OAAO,CAAC;EACX,OAAO,EAAE,CAAE,GACT;;AAJH,AAOC,qBAPoB,CAMnB,iBAAiB,CAClB,EAAE,CAAC;EACD,OAAO,EAAE,MAAO,GACjB;;AATF,AAUG,qBAVkB,CAMnB,iBAAiB,CAIlB,EAAE,AAAA,cAAc,CAAC;EACf,YAAY,EAAE,iBAAkB,GACjC;;AAZF,AAa0B,qBAbL,CAMnB,iBAAiB,CAOlB,EAAE,AAAA,sBAAsB,CAAC,EAAE,CAAC;EAC1B,aAAa,EAAE,iBAAkB,GAClC;;AAMF,AACmB,oBADC,CAClB,iBAAiB,AAAA,OAAO,CAAC;ET5EzB,WAAW,EAAE,cAAe;EAC5B,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,MAAO;EACnB,WAAW,EAAE,MAAO;EACpB,YAAY,EAAE,MAAO;EACrB,cAAc,EAAE,IAAK;EACrB,WAAW,EAAE,CAAE;EAGf,sBAAsB,EAAE,WAAY;EACpC,uBAAuB,EAAE,SAAU;ESoEpC,SAAS,EAAE,IAAK;EAChB,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,IAAK;EACb,OAAO,EAAE,OAAQ,GACf;;ACtGH;;;;;;;EAOE;AAKF,AACU,4BADkB,CAC1B,KAAK,GAAG,EAAE,CAAC;EACZ,aAAa,EAAE,IAAK,GAClB;;AAHH,AAKmB,4BALS,CAK1B,gBAAgB,CAAC,UAAU,CAAC;EAC1B,QAAQ,EAAE,QAAS;EACnB,GAAG,EAAC,GAAI;EACR,MAAM,EAAE,SAAU,GACnB;;AATH,AAWE,4BAX0B,CAW1B,mBAAmB,CAAC;EACrB,QAAQ,EAAE,QAAS,GAKjB;EAjBH,AAaE,4BAb0B,CAW1B,mBAAmB,CAEpB,CAAC,AAAA,WAAW,CAAC;IACX,KAAK,EAAE,IAAK;IACZ,MAAM,EAAE,CAAE,GACX;;AAhBF,AAmBW,4BAnBiB,CAmB1B,SAAS,AAAA,IAAI,CAAC;EACf,KAAK,EAAE,KAAM;EACb,KAAK,EAAE,IAAK,GACV;;AAMH,AAAA,2BAA2B,CAAC;EAC1B,WAAW,EAAE,IAAK;EAClB,OAAO,EAAE,CAAE;EACX,UAAU,EAAE,KAAM,GAoEnB;EAvED,AAME,2BANyB,CAMzB,KAAK,CAAC;IACP,WAAW,EAAE,MAAO,GAClB;EARH,AAUE,2BAVyB,CAUzB,iBAAiB,CAAC;IACnB,aAAa,EAAE,cAAe;IAC9B,aAAa,EAAE,IAAK,GAClB;EAbH,AAeoB,2BAfO,CAezB,iBAAiB,CAAC,KAAK,CAAC;IACzB,aAAa,EAAE,CAAE,GACf;EAjBH,AAmBO,2BAnBoB,GAmBvB,GAAG,AAAA,YAAY,CAAC;IACnB,WAAW,EAAE,IAAK,GAChB;EArBH,AAuBO,2BAvBoB,GAuBvB,GAAG,AAAA,WAAW,CAAC;IAClB,cAAc,EAAE,IAAK;IACrB,MAAM,EAAE,IAAK,GACX;EA1BH,AA6BE,2BA7ByB,CA6BzB,YAAY,CAAC;IACd,OAAO,EAAE,aAAc;IACvB,UAAU,EAAE,MAAO;IACnB,KAAK,EAAE,IAAK,GAMV;IAtCH,AAkCC,2BAlC0B,CA6BzB,YAAY,CAKb,GAAG,CAAC;MACF,aAAa,EAAE,GAAI,GACpB;EApCF,AAwCG,2BAxCwB,CAwCzB,CAAC,AAAA,OAAO,CAAC;IACV,eAAe,EAAE,IAAK;IACtB,KAAK,EAAE,OAAQ;IACf,YAAY,EAAE,GAAI,GAChB;EA5CH,AAiDC,2BAjD0B,CA+CzB,iBAAiB,CAElB,eAAe,CAAC;IACd,MAAM,EAAE,MAAO;IACf,SAAS,EAAE,IAAK,GACjB;EApDF,AAsDC,2BAtD0B,CA+CzB,iBAAiB,CAOlB,YAAY,CAAC;IACR,OAAO,EAAE,YAAa;IACzB,SAAS,EAAE,IAAK;IAChB,WAAW,EAAE,GAAI;IACjB,YAAY,EAAE,IAAK,GACpB;EA3DF,AA6DI,2BA7DuB,CA+CzB,iBAAiB,CAcf,mBAAmB,CAAC;IAClB,OAAO,EAAE,YAAa,GACvB;EA/DL,AAiEC,2BAjE0B,CA+CzB,iBAAiB,CAkBlB,mBAAmB,CAAC;IAClB,aAAa,EAAE,IAAK,GACrB;;AAMF,AAAA,sBAAsB,CAAC;EACrB,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,QAAS,GAclB;EAZC,MAAM,EAAL,SAAS,EAAE,KAAK;IAJnB,AAAA,sBAAsB,CAAC;MAKtB,KAAK,EAAE,IAAK,GAWZ;EAhBD,AAQE,sBARoB,CAQpB,KAAK,CAAC;IACP,MAAM,EAAE,CAAE,GACR;EAVH,AAYE,sBAZoB,CAYpB,KAAK,CAAC;IACP,KAAK,EAAE,KAAM,GACX;;AAKH,AAAA,cAAc,CAAC;EACb,OAAO,EAAE,MAAO,GAajB;EAdD,AAAA,cAAc,AAGX,MAAM,CAAC;IACT,WAAW,EAAE,WAAY;IACzB,OAAO,EAAE,OAAQ;IACjB,QAAQ,EAAE,QAAS;IACnB,GAAG,EAAE,IAAK;IACV,KAAK,EAAE,IAAK;IACZ,SAAS,EAAE,KAAM;IACjB,KAAK,EAAE,OAAQ;IACf,OAAO,EAAE,CAAE,GACT;;AAGH,AAA4B,2BAAD,CAAC,yBAAyB,CAAC;EACpD,KAAK,EAAE,KAAM,GAMd;EAPD,AAGsB,2BAHK,CAAC,yBAAyB,CAGpD,IAAI,CAAA,AAAA,QAAC,CAAS,OAAO,AAAhB,EAAkB;IACtB,OAAO,EAAE,KAAM;IACf,KAAK,EAAE,IAAK,GACZ;;AAGF,AAAsD,2BAA3B,CAAC,yBAAyB,CAAC,MAAM,CAAC;EAC3D,KAAK,EAAE,KAAM,GACd;;AAED,AAA4B,2BAAD,CAAC,cAAc,CAAC;EACzC,UAAU,EAAE,KAAM,GACnB;;AAED,AAA4B,2BAAD,CAAC,aAAa,CAAC;EACxC,UAAU,EAAE,KAAM,GACnB;;AAED,AAAe,cAAD,CAAC,cAAc,CAAC;EAC5B,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,GAAI,GAClB;;AAED,AAAiB,gBAAD,CAAC,CAAC,CAAC;EACjB,SAAS,EAAE,IAAK;EAChB,WAAW,EAAE,MAAO;EACpB,eAAe,EAAE,IAAK,GACvB;;AAED,AAAA,sBAAsB,CAAC;EACrB,UAAU,EAAE,MAAO;EACnB,aAAa,EAAE,IAAK;EACpB,WAAW,EAAE,IAAK,GACnB;;AAED,AAAuB,sBAAD,CAAC,iBAAiB,CAAC;EACvC,YAAY,EAAE,IAAK,GACpB;;AAED,AAA4B,2BAAD,CAAC,UAAU,CAAC;EACrC,OAAO,EAAE,IAAK,GACf;;AAED,AAA4B,2BAAD,CAAC,yBAAyB,CAAC;EACpD,IAAI,EAAE,GAAI;EACV,GAAG,EAAE,IAAK,GACX;;AAED,AAAsD,2BAA3B,CAAC,yBAAyB,CAAC,EAAE,CAAC;EACvD,KAAK,EAAE,KACR,GAAC;;AAEF,AAAA,uBAAuB,CAAC;EACtB,MAAM,EAAE,MAAO;EACf,UAAU,EAAE,MAAO;EACnB,OAAO,EAAE,IAAK,GAkBf;EArBD,AAIE,uBAJqB,CAIrB,EAAE,CAAC;IACJ,MAAM,EAAE,CAAE;IACV,OAAO,EAAE,CAAE;IACX,QAAQ,EAAE,MAAO,GASf;IAhBH,AAQC,uBARsB,CAIrB,EAAE,CAIH,EAAE,CAAC;MACD,KAAK,EAAE,GAAI;MACX,KAAK,EAAE,IAAK;MACZ,WAAW,EAAE,IAAK;MAClB,SAAS,EAAE,IAAK;MAChB,MAAM,EAAE,CAAE,GACX;EAdF,AAkBE,uBAlBqB,CAkBrB,CAAC,CAAC;IACH,eAAe,EAAE,IAAK,GACpB;;AAGH,AAAwB,uBAAD,CAAC,UAAU,CAAC;EACjC,KAAK,EAAE,IAAK,GACb;;AAED,AAAyB,wBAAD,CAAC,KAAK,CAAC;EAC7B,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,MAAO,GACpB;;AAED,AAAyB,wBAAD,CAAC,EAAE,CAAC;EAC1B,UAAU,EAAE,MAAO,GACpB;;AAED,AAA2C,wBAAnB,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,AAAA,YAAY;AACvD,AAA2C,wBAAnB,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,AAAA,YAAY;AACvD,AAAwC,wBAAhB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,AAAA,YAAY;AACpD,AAAwC,wBAAhB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,AAAA,YAAY,CAAC;EACnD,UAAU,EAAE,IAAK,GAClB;;AAED,AAA2C,wBAAnB,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,AAAA,WAAW,CAAC;EACrD,UAAU,EAAE,MAAO,GACpB;;AAED,AAAA,uBAAuB,CAAC;EACtB,UAAU,EAAE,IAAK,GAClB;;AAED,AAAuB,sBAAD,CAAC,IAAI,EAAE,AAAuB,sBAAD,CAAC,GAAG,CAAC;EACtD,WAAW,EAAE,GAAI;EACjB,WAAW,EAAE,IAAK;EAClB,cAAc,EAAE,MAAO,GACxB;;AAED,AAAA,oBAAoB,CAAC;EACnB,KAAK,EAAE,IAAK;EACZ,aAAa,EAAE,GAAI,GACpB;;AAGD,AACsB,oBADF,CAClB,GAAG,AAAA,YAAa,CAAA,AAAA,IAAI,EAAE;EACvB,gBAAgB,EAAE,OAAQ,GACxB;;AAHH,AAIE,oBAJkB,CAIlB,sBAAsB,CAAC;EACxB,aAAa,EAAE,iBAAkB;EACjC,UAAU,EAAE,IAAK;EACjB,OAAO,EAAE,CAAE,GAQT;EAfH,AASC,oBATmB,CAIlB,sBAAsB,CAKvB,kBAAkB,CAAC;IACjB,OAAO,EAAE,SAAU;IACnB,WAAW,EAAE,IAAK;IAClB,SAAS,EAAE,IAAK,GACjB;;AAbF,AAiBE,oBAjBkB,CAiBlB,uBAAuB,CAAC;EACzB,UAAU,EAAE,MAAO;EACnB,OAAO,EAAE,IAAK,GACZ;;AAIH,AAAuB,sBAAD,CAAC,IAAI,CAAC;EAC1B,OAAO,EAAE,KAAM,GAChB;;AAED,AAAA,gBAAgB,CAAC;EACf,UAAU,EAAE,MAAO,GACpB;;ACvSD;;;;;;;EAOE;AAEF;wCACwC;AAExC,MAAM,CAAN,MAAM,MAAM,SAAS,EAAE,KAAK;EAC1B,AAA2B,yBAAF,CAAC,CAAC,AAAA,cAAc,CAAC;IACxC,OAAO,EAAE,QAAS;IAClB,WAAW,EAAE,MAAO;IACpB,SAAS,EAAE,IAAK;IAChB,MAAM,EAAE,IAAK,GACd;EACD,AAAsB,iBAAL,CAAC,IAAI,AAAA,kBAAkB,CAAC;IACrC,UAAU,EAAE,YAAa;IACzB,WAAW,EAAE,cAAe,GAC/B;;AAGH;wCACwC;AAExC,AAA8B,YAAlB,AAAA,iBAAiB,CAAC,MAAM,CAAC;EACnC,aAAa,EAAE,IAAK;EACpB,YAAY,EAAE,IAAK,GACpB;;AAED;wCACwC;AAExC,iCAAiC;AACjC,AAAY,WAAD,CAAC,kBAAkB,CAAC;EAC7B,YAAY,EAAE,GAAI;EAClB,aAAa,EAAE,GAAI,GACpB;;AAED,4DAA4D;AAC5D,AAAA,uBAAuB,CAAC;EACtB,OAAO,EAAE,YAAa;EACtB,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,IAAK;EACb,cAAc,EAAE,QAAS;EACzB,MAAM,EAAE,KAAM;EASd,8BAA8B,EAI/B;EAlBD,AAAA,uBAAuB,AAOpB,OAAO,CAAC;IACP,IAAI,EAAE,oBAAqB;IAC3B,KAAK,EAAE,IAAK;IACZ,sBAAsB,EAAE,WAAY;IACpC,uBAAuB,EAAE,SAAU,GACpC;EAZH,AAAA,8BAAuB,AAeb,OAAO,CAAC;IACd,OAAO,EAAE,OAAQ,GAClB;;AC3DH;iEACiE;AAEjE,AAA4B,YAAhB,AAAA,eAAe,CAAC,MAAM,CAAC;EAClC,aAAa,EAAE,IAAK;EACpB,YAAY,EAAE,IAAK,GACnB;;AAED,AACC,aADY,CACZ,CAAC,CAAC;EACD,eAAe,EAAE,SAAU,GAC3B;;AAHF,AAIC,aAJY,CAIZ,CAAC,CAAC;EACD,aAAa,EAAE,GAAI,GAUnB;EAfF,AAIC,aAJY,CAIZ,CAAC,AAEC,OAAO,CAAC;IACR,WAAW,EAAE,GAAI,GACjB;EARH,AAIC,aAJY,CAIZ,CAAC,AAKC,UAAU,CAAC;IACX,aAAa,EAAE,CAAE,GACjB;EAXH,AAIC,aAJY,CAIZ,CAAC,AAQC,WAAW,CAAC;IACZ,UAAU,EAAE,GAAI,GAChB;;AAdH,AAiBc,aAjBD,CAiBZ,YAAY,CAAC,MAAM,CAAA;EAClB,aAAa,EAAE,QAAS;EACxB,QAAQ,EAAE,iBAAkB,GAC5B;;AAGF;iEACiE;AAEjE,MAAM,CAAN,MAAM,MAAM,SAAS,EAAE,KAAK;EAC3B,AAAmC,iBAAlB,CAAC,MAAM,AAAA,UAAU,CAAC,IAAI,CAAC;IACvC,KAAK,EAAE,eAAgB,GACvB;;AAGF,AACO,iBADU,CAChB,MAAM,AAAA,UAAU,CAAC;EAChB,OAAO,EAAE,IAAK;EACd,YAAY,EAAE,GAAI;EAClB,YAAY,EAAE,CAAE,GAKhB;EATF,AACO,iBADU,CAChB,MAAM,AAAA,UAAU,AAKd,OAAO,CAAC;IACR,aAAa,EAAE,GAAI,GACnB;;AAIH,AAAM,MAAA,AAAA,UAAU,AACd,MAAM,CAAC;EACP,QAAQ,EAAE,QAAS;EACnB,OAAO,EAAE,YAAa;EACtB,GAAG,EAAE,IAAK;EACV,OAAO,EAAE,EAAG;EACZ,KAAK,EAAE,CAAE;EACT,MAAM,EAAE,CAAE;EACV,UAAU,EAAE,cAAe;EAC3B,YAAY,EAAE,qBAAsB;EACpC,WAAW,EAAE,qBAAsB;EACnC,MAAM,EAAE,WAAY,GACpB;;AAZF,AAAM,MAAA,AAAA,UAAU,AAcd,OAAO,AAAA,MAAM,CAAC;EACd,GAAG,EAAE,IAAK;EACV,UAAU,EAAE,CAAE;EACd,aAAa,EAAE,iBAAkB,GACjC;;AAGF;iEACiE;AAEjE,AAAA,QAAQ,CAAC;EACR,QAAQ,EAAE,QAAS;EACnB,OAAO,EAAE,YAAa;EACtB,YAAY,EAAE,GAAI,GAClB;;AAED,AAAG,GAAA,AAAA,QAAQ,CAAC;EACX,OAAO,EAAE,IAAK;EACd,QAAQ,EAAE,QAAS;EACnB,GAAG,EAAE,IAAK;EACV,IAAI,EAAE,CAAE;EACR,SAAS,EAAE,IAAK;EAChB,UAAU,EAAE,KAAM;EAClB,SAAS,EAAE,IAAK;EAChB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAI;EAC1B,UAAU,EAAE,IAAK;EACjB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,mBAAI;EACtB,QAAQ,EAAE,IAAK;EACf,UAAU,EAAE,MAAO;EACnB,OAAO,EAAE,KAAM;EACf,MAAM,EAAE,QAAS;EACjB,OAAO,EAAE,IAAK,GACd;;AAED,AAAG,GAAA,AAAA,aAAa,CAAC;EAChB,OAAO,EAAE,KAAM;EACf,WAAW,EAAE,MAAO;EACpB,MAAM,EAAE,OAAQ;EAChB,OAAO,EAAE,QAAS;EAClB,aAAa,EAAE,GAAI,GAKnB;EAVD,AAAG,GAAA,AAAA,aAAa,AAOd,MAAM,CAAC;IACP,KAAK,EAAE,IAAK,GACZ;;AAGF;iEACiE;AAEjE,AAAmC,gBAAnB,AAAA,UAAU,AAAA,SAAS,AAAA,OAAO,CAAC;EAC1C,OAAO,EAAE,GAAI;EACb,MAAM,EAAE,iBAAK,GACb;;ACvHD;;;;;;;;;;;;;;;EAeE;AAEF,AAAA,kBAAkB,CAAC;EACjB,aAAa,EAAE,GAAI,GAqDpB;EAtDD,AAGE,kBAHgB,CAGhB,EAAE,CAAC;IACD,SAAS,EAAE,IAAK;IAChB,MAAM,EAAE,CAAE,GACX;EANH,AAUM,kBAVY,CAQhB,EAAE,AACC,UAAW,CAAA,EAAE,EACZ,EAAE;EAVR,AAWM,kBAXY,CAQhB,EAAE,AACC,UAAW,CAAA,EAAE,EAEZ,EAAE,CAAC;IACD,UAAU,EAAE,OAAQ,GACrB;EAbP,AAiBE,kBAjBgB,CAiBhB,EAAE,CAAC;IACD,WAAW,EAAE,GAAI;IACjB,OAAO,EAAE,GAAI,GACd;EApBH,AAsBI,kBAtBc,CAsBhB,EAAE,AAAA,YAAY,CAAC;IACb,KAAK,EAAE,GAAI,GACZ;EAxBH,AA0BI,kBA1Bc,CA0BhB,EAAE,AAAA,KAAK,CAAC;IACN,KAAK,EAAE,GAAI,GACZ;EA5BH,AA8BE,kBA9BgB,CA8BhB,EAAE,CAAC;IACD,OAAO,EAAE,GAAI;IACb,SAAS,EAAE,KAAM,GAqBlB;IArDH,AAkCI,kBAlCc,CA8BhB,EAAE,CAIA,IAAI,CAAC;MACH,UAAU,EAAE,gBAAiB,GAC9B;IApCL,AAsCQ,kBAtCU,CA8BhB,EAAE,CAQA,IAAI,AAAA,IAAI,CAAC;MACP,KAAK,EfpDH,OAAO,GeqDV;IAxCL,AA0CQ,kBA1CU,CA8BhB,EAAE,CAYA,IAAI,AAAA,GAAG,CAAC;MACN,KAAK,EAAE,IAAK,GACb;IA5CL,AA8CQ,kBA9CU,CA8BhB,EAAE,CAgBA,IAAI,AAAA,MAAM,CAAC;MACT,KAAK,Ef3DL,IAAI,Ge4DL;IAhDL,AAkDI,kBAlDc,CA8BhB,EAAE,CAoBA,EAAE,CAAC;MACD,MAAM,EAAE,CAAE,GACX;;AAIL,AAAS,KAAJ,CAAC,GAAG,AAAA,0BAA0B,CAAC;EAClC,UAAU,EAAE,GAAI,GACjB;;AAED,AAAA,kBAAkB,CAAC;EACjB,OAAO,EAAE,IAAK;EACd,MAAM,EAAE,MAAO;EACf,OAAO,EAAE,CAAE;EACX,QAAQ,EAAE,QAAS,GAgBpB;EApBD,AAME,kBANgB,CAMhB,QAAQ,CAAC;IACP,WAAW,EAAE,SAAU;IACvB,KAAK,EAAE,IAAK;IACZ,MAAM,EAAE,CAAE;IACV,MAAM,EAAE,KAAM;IACd,OAAO,EAAE,IAAK;IACd,kBAAkB,EAAE,CAAE;IACtB,qBAAqB,EAAE,CAAE;IACzB,aAAa,EAAE,CAAE;IACjB,MAAM,EAAE,IAAK;IACb,SAAS,EAAE,IAAK;IAChB,WAAW,EAAE,IAAK;IAClB,OAAO,EAAE,CAAE,GACZ","names":[],"sourceRoot":"/source/"}
|
1 |
+
{"version":3,"file":"../scss/give-admin.css","sources":["admin/give-admin.scss","frontend/_mixins.scss","frontend/_variables.scss","plugins/qtip.scss","frontend/fonts.scss","admin/fonts.scss","admin/forms.scss","admin/addons.scss","admin/reports.scss","admin/welcome.scss","admin/logs.scss","admin/settings.scss","admin/payment-history.scss","admin/dashboard.scss","admin/donors.scss","admin/buttons.scss","admin/shortcodes.scss","admin/system-info.scss"],"sourcesContent":["/*!\r\n * Give Admin SCSS/CSS\r\n *\r\n * @description: The Main SCSS file for ADMIN styles which is compiled and minified via Gulp taskrunner\r\n * @package: Give\r\n * @subpackage: SCSS/Admin\r\n * @copyright: Copyright (c) 2016, WordImpress\r\n * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n@import '../frontend/mixins';\r\n@import '../frontend/variables';\r\n@import '../plugins/qtip';\r\n@import '../frontend/fonts';\r\n@import 'fonts';\r\n@import 'forms';\r\n@import 'addons';\r\n@import 'reports';\r\n@import 'welcome';\r\n@import 'logs';\r\n@import 'settings';\r\n@import 'payment-history';\r\n@import 'dashboard';\r\n@import 'donors';\r\n@import 'buttons';\r\n@import 'shortcodes';\r\n@import 'system-info';\r\n","/**\r\n * Clearfix\r\n */\r\n@mixin clearfix() {\r\n *zoom: 1;\r\n\r\n &:before,\r\n &:after {\r\n content: \" \";\r\n display: table;\r\n }\r\n\r\n &:after {\r\n clear: both;\r\n }\r\n}\r\n\r\n.give-clearfix {\r\n @include clearfix;\r\n}\r\n\r\n/**\r\n * Box Sizing\r\n * https://github.com/timrogers/sass-box-sizing-mixin\r\n */\r\n@mixin box-sizing($box-model) {\r\n -webkit-box-sizing: $box-model; // Safari <= 5\r\n -moz-box-sizing: $box-model; // Firefox <= 19\r\n box-sizing: $box-model;\r\n}\r\n\r\n/**\r\n * CSS3 Easing\r\n */\r\n@mixin easing-transition() {\r\n -moz-transition: 0.2s all linear;\r\n -o-transition: 0.2s all linear;\r\n transition: 0.2s all linear;\r\n}\r\n\r\n//Labels\r\n@mixin give-label() {\r\n padding: .2em .4em .3em;\r\n font-size: 11px;\r\n line-height: 1;\r\n color: #fff;\r\n text-align: center;\r\n white-space: nowrap;\r\n vertical-align: baseline;\r\n border-radius: .25em;\r\n \r\n &:hover {\r\n color:#fff;\r\n text-decoration: none;\r\n }\r\n}\r\n\r\n@mixin give-label-gray() {\r\n background-color: #929292;\r\n}\r\n@mixin give-label-orange() {\r\n background-color: #ffba00;\r\n}\r\n\r\n.give-item-label {\r\n @include give-label();\r\n}\r\n\r\n.give-item-label-gray {\r\n @include give-label-gray();\r\n}\r\n\r\n.give-item-label-orange {\r\n @include give-label-orange();\r\n}\r\n\r\n\r\n.give-item-label {\r\n @include give-label();\r\n}\r\n\r\n//Fields\r\n@mixin give-currency() {\r\n background-color: lighten($light-gray, 2%);\r\n border-top: 1px solid $borders;\r\n border-bottom: 1px solid $borders;\r\n color: $dark;\r\n margin: 0;\r\n padding: 0 12px;\r\n height: 35px;\r\n line-height: 35px;\r\n font-size: $font-size-medium;\r\n @include box-sizing(border-box);\r\n}\r\n\r\n@mixin give-input() {\r\n border: 1px solid $borders;\r\n background: #FFF;\r\n border-radius: 0;\r\n height: 35px;\r\n line-height: 35px;\r\n padding: 0 12px;\r\n margin: 0;\r\n font-size: $font-size-medium;\r\n @include box-sizing(border-box);\r\n}","/**\r\n * Give CSS Variables\r\n */\r\n\r\n$green: #7ad03a;\r\n$red: #a00;\r\n$orange: #ffba00;\r\n$blue: #2ea2cc;\r\n$dark: #333;\r\n$borders: #ccc;\r\n$light-gray: #EDEDED;\r\n\r\n//Status\r\n$status-default: #777;\r\n$status-complete: $green;\r\n$status-refunded: $status-default;\r\n$status-subscription: #5bc0de;\r\n$status-revoked: #d9534f;\r\n\r\n//Font sizes\r\n$font-size-medium: 18px;\r\n\r\n$primary: #007ba4;\r\n// Primary colour for buttons (alt)\r\n$primarytext: desaturate(lighten($primary, 50%), 18%);\r\n// Text on primary colour bg\r\n\r\n$secondary: desaturate(lighten($primary, 40%), 21%);\r\n// Secondary buttons\r\n$secondarytext: desaturate(darken($secondary, 60%), 21%);\r\n// Text on secondary colour bg\r\n\r\n$highlight: adjust-hue($primary, 150deg);\r\n// Prices, In stock labels, sales flash\r\n$highlightext: desaturate(lighten($highlight, 50%), 18%);\r\n// Text on highlight colour bg\r\n\r\n$contentbg: #fff;\r\n// Content BG - Tabs (active state)\r\n$subtext: #777;\r\n// small, breadcrumbs etc","/*\n * qTip2 - Pretty powerful tooltips - v2.2.1\n * http://qtip2.com\n *\n * Copyright (c) 2014 \n * Released under the MIT licenses\n * http://jquery.org/license\n *\n * Date: Sun Sep 7 2014 12:09 GMT+0100+0100\n * Plugins: tips modal viewport svg imagemap ie6\n * Styles: core basic css3\n */\n.qtip{\n\tposition: absolute;\n\tleft: -28000px;\n\ttop: -28000px;\n\tdisplay: none;\n\n\tmax-width: 280px;\n\tmin-width: 50px;\n\n\tfont-size: 10.5px;\n\tline-height: 12px;\n\n\tdirection: ltr;\n\n\tbox-shadow: none;\n\tpadding: 0;\n}\n\n\t.qtip-content{\n\t\tposition: relative;\n\t\tpadding: 5px 9px;\n\t\toverflow: hidden;\n\n\t\ttext-align: left;\n\t\tword-wrap: break-word;\n\t}\n\n\t.qtip-titlebar{\n\t\tposition: relative;\n\t\tpadding: 5px 35px 5px 10px;\n\t\toverflow: hidden;\n\n\t\tborder-width: 0 0 1px;\n\t\tfont-weight: bold;\n\t}\n\n\t.qtip-titlebar + .qtip-content{ border-top-width: 0 !important; }\n\n\t/* Default close button class */\n\t.qtip-close{\n\t\tposition: absolute;\n\t\tright: -9px; top: -9px;\n\t\tz-index: 11; /* Overlap .qtip-tip */\n\n\t\tcursor: pointer;\n\t\toutline: medium none;\n\n\t\tborder: 1px solid transparent;\n\t}\n\n\t\t.qtip-titlebar .qtip-close{\n\t\t\tright: 4px; top: 50%;\n\t\t\tmargin-top: -9px;\n\t\t}\n\n\t\t* html .qtip-titlebar .qtip-close{ top: 16px; } /* IE fix */\n\n\t\t.qtip-titlebar .ui-icon,\n\t\t.qtip-icon .ui-icon{\n\t\t\tdisplay: block;\n\t\t\ttext-indent: -1000em;\n\t\t\tdirection: ltr;\n\t\t}\n\n\t\t.qtip-icon, .qtip-icon .ui-icon{\n\t\t\t-moz-border-radius: 3px;\n\t\t\t-webkit-border-radius: 3px;\n\t\t\tborder-radius: 3px;\n\t\t\ttext-decoration: none;\n\t\t}\n\n\t\t\t.qtip-icon .ui-icon{\n\t\t\t\twidth: 18px;\n\t\t\t\theight: 14px;\n\n\t\t\t\tline-height: 14px;\n\t\t\t\ttext-align: center;\n\t\t\t\ttext-indent: 0;\n\t\t\t\tfont: normal bold 10px/13px Tahoma,sans-serif;\n\n\t\t\t\tcolor: inherit;\n\t\t\t\tbackground: transparent none no-repeat -100em -100em;\n\t\t\t}\n\n/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */\n.qtip-focus{}\n\n/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */\n.qtip-hover{}\n\n/* Default tooltip style */\n.qtip-default{\n\tborder: 1px solid #F1D031;\n\n\tbackground-color: #FFFFA3;\n\tcolor: #555;\n}\n\n\t.qtip-default .qtip-titlebar{\n\t\tbackground-color: #FFEF93;\n\t}\n\n\t.qtip-default .qtip-icon{\n\t\tborder-color: #CCC;\n\t\tbackground: #F1F1F1;\n\t\tcolor: #777;\n\t}\n\n\t.qtip-default .qtip-titlebar .qtip-close{\n\t\tborder-color: #AAA;\n\t\tcolor: #111;\n\t}\n\n\n/*! Light tooltip style */\n.qtip-light{\n\tbackground-color: white;\n\tborder-color: #E2E2E2;\n\tcolor: #454545;\n}\n\n\t.qtip-light .qtip-titlebar{\n\t\tbackground-color: #f1f1f1;\n\t}\n\n\n/*! Dark tooltip style */\n.qtip-dark{\n\tbackground-color: #505050;\n\tborder-color: #303030;\n\tcolor: #f3f3f3;\n}\n\n\t.qtip-dark .qtip-titlebar{\n\t\tbackground-color: #404040;\n\t}\n\n\t.qtip-dark .qtip-icon{\n\t\tborder-color: #444;\n\t}\n\n\t.qtip-dark .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #303030;\n\t}\n\n\n/*! Cream tooltip style */\n.qtip-cream{\n\tbackground-color: #FBF7AA;\n\tborder-color: #F9E98E;\n\tcolor: #A27D35;\n}\n\n\t.qtip-cream .qtip-titlebar{\n\t\tbackground-color: #F0DE7D;\n\t}\n\n\t.qtip-cream .qtip-close .qtip-icon{\n\t\tbackground-position: -82px 0;\n\t}\n\n\n/*! Red tooltip style */\n.qtip-red{\n\tbackground-color: #F78B83;\n\tborder-color: #D95252;\n\tcolor: #912323;\n}\n\n\t.qtip-red .qtip-titlebar{\n\t\tbackground-color: #F06D65;\n\t}\n\n\t.qtip-red .qtip-close .qtip-icon{\n\t\tbackground-position: -102px 0;\n\t}\n\n\t.qtip-red .qtip-icon{\n\t\tborder-color: #D95252;\n\t}\n\n\t.qtip-red .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #D95252;\n\t}\n\n\n/*! Green tooltip style */\n.qtip-green{\n\tbackground-color: #CAED9E;\n\tborder-color: #90D93F;\n\tcolor: #3F6219;\n}\n\n\t.qtip-green .qtip-titlebar{\n\t\tbackground-color: #B0DE78;\n\t}\n\n\t.qtip-green .qtip-close .qtip-icon{\n\t\tbackground-position: -42px 0;\n\t}\n\n\n/*! Blue tooltip style */\n.qtip-blue{\n\tbackground-color: #E5F6FE;\n\tborder-color: #ADD9ED;\n\tcolor: #5E99BD;\n}\n\n\t.qtip-blue .qtip-titlebar{\n\t\tbackground-color: #D0E9F5;\n\t}\n\n\t.qtip-blue .qtip-close .qtip-icon{\n\t\tbackground-position: -2px 0;\n\t}\n\n\n.qtip-shadow{\n\t-webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\n\t-moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\n\tbox-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\n}\n\n/* Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */\n.qtip-rounded,\n.qtip-tipsy,\n.qtip-bootstrap{\n\t-moz-border-radius: 5px;\n\t-webkit-border-radius: 5px;\n\tborder-radius: 5px;\n}\n\n.qtip-rounded .qtip-titlebar{\n\t-moz-border-radius: 4px 4px 0 0;\n\t-webkit-border-radius: 4px 4px 0 0;\n\tborder-radius: 4px 4px 0 0;\n}\n\n/* Youtube tooltip style */\n.qtip-youtube{\n\t-moz-border-radius: 2px;\n\t-webkit-border-radius: 2px;\n\tborder-radius: 2px;\n\n\t-webkit-box-shadow: 0 0 3px #333;\n\t-moz-box-shadow: 0 0 3px #333;\n\tbox-shadow: 0 0 3px #333;\n\n\tcolor: white;\n\tborder: 0 solid transparent;\n\n\tbackground: #4A4A4A;\n\tbackground-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,black));\n\tbackground-image: -webkit-linear-gradient(top,#4A4A4A 0,black 100%);\n\tbackground-image: -moz-linear-gradient(top,#4A4A4A 0,black 100%);\n\tbackground-image: -ms-linear-gradient(top,#4A4A4A 0,black 100%);\n\tbackground-image: -o-linear-gradient(top,#4A4A4A 0,black 100%);\n}\n\n\t.qtip-youtube .qtip-titlebar{\n\t\tbackground-color: #4A4A4A;\n\t\tbackground-color: rgba(0,0,0,0);\n\t}\n\n\t.qtip-youtube .qtip-content{\n\t\tpadding: .75em;\n\t\tfont: 12px arial,sans-serif;\n\n\t\tfilter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);\";\n\t}\n\n\t.qtip-youtube .qtip-icon{\n\t\tborder-color: #222;\n\t}\n\n\t.qtip-youtube .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #303030;\n\t}\n\n\n/* jQuery TOOLS Tooltip style */\n.qtip-jtools{\n\tbackground: #232323;\n\tbackground: rgba(0, 0, 0, 0.7);\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323));\n\tbackground-image: -moz-linear-gradient(top, #717171, #232323);\n\tbackground-image: -webkit-linear-gradient(top, #717171, #232323);\n\tbackground-image: -ms-linear-gradient(top, #717171, #232323);\n\tbackground-image: -o-linear-gradient(top, #717171, #232323);\n\n\tborder: 2px solid #ddd;\n\tborder: 2px solid rgba(241,241,241,1);\n\n\t-moz-border-radius: 2px;\n\t-webkit-border-radius: 2px;\n\tborder-radius: 2px;\n\n\t-webkit-box-shadow: 0 0 12px #333;\n\t-moz-box-shadow: 0 0 12px #333;\n\tbox-shadow: 0 0 12px #333;\n}\n\n\t/* IE Specific */\n\t.qtip-jtools .qtip-titlebar{\n\t\tbackground-color: transparent;\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)\";\n\t}\n\t.qtip-jtools .qtip-content{\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)\";\n\t}\n\n\t.qtip-jtools .qtip-titlebar,\n\t.qtip-jtools .qtip-content{\n\t\tbackground: transparent;\n\t\tcolor: white;\n\t\tborder: 0 dashed transparent;\n\t}\n\n\t.qtip-jtools .qtip-icon{\n\t\tborder-color: #555;\n\t}\n\n\t.qtip-jtools .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #333;\n\t}\n\n\n/* Cluetip style */\n.qtip-cluetip{\n\t-webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\n\t-moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\n\tbox-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\n\n\tbackground-color: #D9D9C2;\n\tcolor: #111;\n\tborder: 0 dashed transparent;\n}\n\n\t.qtip-cluetip .qtip-titlebar{\n\t\tbackground-color: #87876A;\n\t\tcolor: white;\n\t\tborder: 0 dashed transparent;\n\t}\n\n\t.qtip-cluetip .qtip-icon{\n\t\tborder-color: #808064;\n\t}\n\n\t.qtip-cluetip .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #696952;\n\t\tcolor: #696952;\n\t}\n\n\n/* Tipsy style */\n.qtip-tipsy{\n\tbackground: black;\n\tbackground: rgba(0, 0, 0, .87);\n\n\tcolor: white;\n\tborder: 0 solid transparent;\n\n\tfont-size: 11px;\n\tfont-family: 'Lucida Grande', sans-serif;\n\tfont-weight: bold;\n\tline-height: 16px;\n\ttext-shadow: 0 1px black;\n}\n\n\t.qtip-tipsy .qtip-titlebar{\n\t\tpadding: 6px 35px 0 10px;\n\t\tbackground-color: transparent;\n\t}\n\n\t.qtip-tipsy .qtip-content{\n\t\tpadding: 6px 10px;\n\t}\n\n\t.qtip-tipsy .qtip-icon{\n\t\tborder-color: #222;\n\t\ttext-shadow: none;\n\t}\n\n\t.qtip-tipsy .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #303030;\n\t}\n\n\n/* Tipped style */\n.qtip-tipped{\n\tborder: 3px solid #959FA9;\n\n\t-moz-border-radius: 3px;\n\t-webkit-border-radius: 3px;\n\tborder-radius: 3px;\n\n\tbackground-color: #F9F9F9;\n\tcolor: #454545;\n\n\tfont-weight: normal;\n\tfont-family: serif;\n}\n\n\t.qtip-tipped .qtip-titlebar{\n\t\tborder-bottom-width: 0;\n\n\t\tcolor: white;\n\t\tbackground: #3A79B8;\n\t\tbackground-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D));\n\t\tbackground-image: -webkit-linear-gradient(top, #3A79B8, #2E629D);\n\t\tbackground-image: -moz-linear-gradient(top, #3A79B8, #2E629D);\n\t\tbackground-image: -ms-linear-gradient(top, #3A79B8, #2E629D);\n\t\tbackground-image: -o-linear-gradient(top, #3A79B8, #2E629D);\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)\";\n\t}\n\n\t.qtip-tipped .qtip-icon{\n\t\tborder: 2px solid #285589;\n\t\tbackground: #285589;\n\t}\n\n\t\t.qtip-tipped .qtip-icon .ui-icon{\n\t\t\tbackground-color: #FBFBFB;\n\t\t\tcolor: #555;\n\t\t}\n\n\n/**\n * Twitter Bootstrap style.\n *\n * Tested with IE 8, IE 9, Chrome 18, Firefox 9, Opera 11.\n * Does not work with IE 7.\n */\n.qtip-bootstrap{\n\t/** Taken from Bootstrap body */\n\tfont-size: 14px;\n\tline-height: 20px;\n\tcolor: #333333;\n\n\t/** Taken from Bootstrap .popover */\n\tpadding: 1px;\n\tbackground-color: #ffffff;\n\tborder: 1px solid #ccc;\n\tborder: 1px solid rgba(0, 0, 0, 0.2);\n\t-webkit-border-radius: 6px;\n\t-moz-border-radius: 6px;\n\tborder-radius: 6px;\n\t-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n\t-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n\tbox-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n\t-webkit-background-clip: padding-box;\n\t-moz-background-clip: padding;\n\tbackground-clip: padding-box;\n}\n\n\t.qtip-bootstrap .qtip-titlebar{\n\t\t/** Taken from Bootstrap .popover-title */\n\t\tpadding: 8px 14px;\n\t\tmargin: 0;\n\t\tfont-size: 14px;\n\t\tfont-weight: normal;\n\t\tline-height: 18px;\n\t\tbackground-color: #f7f7f7;\n\t\tborder-bottom: 1px solid #ebebeb;\n\t\t-webkit-border-radius: 5px 5px 0 0;\n\t\t-moz-border-radius: 5px 5px 0 0;\n\t\tborder-radius: 5px 5px 0 0;\n\t}\n\n\t\t.qtip-bootstrap .qtip-titlebar .qtip-close{\n\t\t\t/**\n\t\t\t * Overrides qTip2:\n\t\t\t * .qtip-titlebar .qtip-close{\n\t\t\t * [...]\n\t\t\t * right: 4px;\n\t\t\t * top: 50%;\n\t\t\t * [...]\n\t\t\t * border-style: solid;\n\t\t\t * }\n\t\t\t */\n\t\t\tright: 11px;\n\t\t\ttop: 45%;\n\t\t\tborder-style: none;\n\t\t}\n\n\t.qtip-bootstrap .qtip-content{\n\t\t/** Taken from Bootstrap .popover-content */\n\t\tpadding: 9px 14px;\n\t}\n\n\t.qtip-bootstrap .qtip-icon{\n\t\t/**\n\t\t * Overrides qTip2:\n\t\t * .qtip-default .qtip-icon {\n\t\t * border-color: #CCC;\n\t\t * background: #F1F1F1;\n\t\t * color: #777;\n\t\t * }\n\t\t */\n\t\tbackground: transparent;\n\t}\n\n\t\t.qtip-bootstrap .qtip-icon .ui-icon{\n\t\t\t/**\n\t\t\t * Overrides qTip2:\n\t\t\t * .qtip-icon .ui-icon{\n\t\t\t * width: 18px;\n\t\t\t * height: 14px;\n\t\t\t * }\n\t\t\t */\n\t\t\twidth: auto;\n\t\t\theight: auto;\n\n\t\t\t/* Taken from Bootstrap .close */\n\t\t\tfloat: right;\n\t\t\tfont-size: 20px;\n\t\t\tfont-weight: bold;\n\t\t\tline-height: 18px;\n\t\t\tcolor: #000000;\n\t\t\ttext-shadow: 0 1px 0 #ffffff;\n\t\t\topacity: 0.2;\n\t\t\tfilter: alpha(opacity=20);\n\t\t}\n\n\t\t.qtip-bootstrap .qtip-icon .ui-icon:hover{\n\t\t\t/* Taken from Bootstrap .close:hover */\n\t\t\tcolor: #000000;\n\t\t\ttext-decoration: none;\n\t\t\tcursor: pointer;\n\t\t\topacity: 0.4;\n\t\t\tfilter: alpha(opacity=40);\n\t\t}\n\n\n/* IE9 fix - removes all filters */\n.qtip:not(.ie9haxors) div.qtip-content,\n.qtip:not(.ie9haxors) div.qtip-titlebar{\n\tfilter: none;\n\t-ms-filter: none;\n}\n\n\n.qtip .qtip-tip{\n\tmargin: 0 auto;\n\toverflow: hidden;\n\tz-index: 10;\n\n}\n\n\t/* Opera bug #357 - Incorrect tip position\n\thttps://github.com/Craga89/qTip2/issues/367 */\n\tx:-o-prefocus, .qtip .qtip-tip{\n\t\tvisibility: hidden;\n\t}\n\n\t.qtip .qtip-tip,\n\t.qtip .qtip-tip .qtip-vml,\n\t.qtip .qtip-tip canvas{\n\t\tposition: absolute;\n\n\t\tcolor: #123456;\n\t\tbackground: transparent;\n\t\tborder: 0 dashed transparent;\n\t}\n\n\t.qtip .qtip-tip canvas{ top: 0; left: 0; }\n\n\t.qtip .qtip-tip .qtip-vml{\n\t\tbehavior: url(#default#VML);\n\t\tdisplay: inline-block;\n\t\tvisibility: visible;\n\t}\n\n\n#qtip-overlay{\n\tposition: fixed;\n\tleft: 0; top: 0;\n\twidth: 100%; height: 100%;\n}\n\n\t/* Applied to modals with show.modal.blur set to true */\n\t#qtip-overlay.blurs{ cursor: pointer; }\n\n\t/* Change opacity of overlay here */\n\t#qtip-overlay div{\n\t\tposition: absolute;\n\t\tleft: 0; top: 0;\n\t\twidth: 100%; height: 100%;\n\n\t\tbackground-color: black;\n\n\t\topacity: 0.7;\n\t\tfilter:alpha(opacity=70);\n\t\t-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)\";\n\t}\n\n\n.qtipmodal-ie6fix{\n\tposition: absolute !important;\n}\n","/**\n * Give Frontend Fonts SCSS\n *\n * Fonts are from icomoon and the src paths need to be relative to template directory.\n * @package Give\n * @subpackage SCSS/Frontend\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n@font-face {\n font-family: 'give-icomoon';\n src: url('../assets/fonts/icomoon.eot?kdnr3d');\n src: url('../assets/fonts/icomoon.eot?kdnr3d#iefix') format('embedded-opentype'),\n url('../assets/fonts/icomoon.woff?kdnr3d') format('woff'),\n url('../assets/fonts/icomoon.svg?kdnr3d#icomoon') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n\n@mixin iconstyle() {\n font-family: 'give-icomoon';\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n\n // Better Font Rendering\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n[class^=\"give-icon-\"], [class*=\" give-icon-\"] {\n @include iconstyle();\n}\n\n.give-icon-lamp:before {\n content: \"\\e603\";\n}\n\n.give-icon-heart:before {\n content: \"\\e604\";\n}\n\n.give-icon-question:before {\n content: \"\\e602\";\n}\n\n.give-icon-info:before {\n content: \"\\e601\";\n}\n\n.give-icon-new-tab:before {\n content: \"\\ea7e\";\n}\n\n.give-icon-alert:before {\n content: \"\\f02d\";\n}\n\n.give-icon-help:before {\n content: \"\\e606\";\n}\n\n.give-icon-spinner:before {\n content: \"\\e605\";\n}\n\n.give-icon-spinner2:before {\n content: \"\\e607\";\n}\n\n.give-icon-plus:before {\n content: \"\\e040\";\n}\n\n.give-icon-minus:before {\n content: \"\\e041\";\n}\n\n.give-icon-locked:before {\n content: \"\\e600\";\n}\n\n.dashicons-give:before {\n @include iconstyle();\n content: \"\\e800\";\n}\n\n// --------------------------\n// Spinning Icons\n// --------------------------\n\n.fa-spin {\n -webkit-animation: spin 1000ms infinite linear;\n animation: spin 1000ms infinite linear;\n}\n\n@-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n","@font-face {\n\tfont-family: 'give-icomoon';\n\tfont-weight: normal;\n\tfont-style: normal;\n}\n\n@mixin admin_fonts() {\n\tfont-family: 'give-icomoon';\n\tsrc: url('../assets/fonts/icomoon.eot?kdnr3d');\n\tsrc: url('../assets/fonts/icomoon.eot?kdnr3d#iefix') format('embedded-opentype'),\n\turl('../assets/fonts/icomoon.woff?kdnr3d') format('woff'),\n\turl('../assets/fonts/icomoon.svg?kdnr3d#icomoon') format('svg');\n\tspeak: none;\n\tfont-style: normal;\n\tfont-weight: normal;\n\tfont-variant: normal;\n\ttext-transform: none;\n\tline-height: 1;\n\n\t// Better Font Rendering\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\n// ---------------------------------\n// Donation form vertical tab icons.\n// ---------------------------------\n.give-metabox-tabs li {\n\n\t.give-icon:before {\n\t\t@include admin_fonts();\n\t\tfont-size: 12px;\n\t\tvertical-align: top;\n\t\tline-height: 20px;\n\t\tmargin: 0 5px 0 0;\n\t}\n\n\t.give-icon-default:before {\n\t\tcontent: \"\\e903\";\n\t}\n\n\t//Donation options tab.\n\t.give-icon-heart:before {\n\t\tcontent: \"\\e604\"; //this is a wp dashicon heart.\n\t}\n\t//Goal tab.\n\t.give-icon-target:before {\n\t\tcontent: \"\\e901\";\n\t}\n\t//Form display tab.\n\t.give-icon-display:before {\n\t\tcontent: \"\\e90c\";\n\t}\n\t//Form content tab.\n\t.give-icon-edit:before {\n\t\tcontent: \"\\e902\";\n\t}\n\t//Form terms tab.\n\t.give-icon-checklist:before {\n\t\tposition: relative;\n\t\ttop: 1px;\n\t\tcontent: \"\\e900\";\n\t}\n\t//Form offline donations tab.\n\t.give-icon-purse:before {\n\t\tcontent: \"\\e8df\";\n\t}\n\n}","/**\r\n * Give Forms SCSS\r\n *\r\n * @package Give\r\n * @subpackage SCSS/Admin\r\n * @copyright Copyright (c) 2016, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n/*------------------------------------\r\nForms CPT\r\n--------------------------------------*/\r\n/* Hide conditional fields */\r\n.cmb2-id--give-set-price,\r\n.cmb2-id--give-levels-header,\r\n.cmb2-id--give-levels-header + .cmb-repeat-group-wrap,\r\n.cmb2-id--give-display-style,\r\n.post-type-give_forms .tablenav #post-query-submit,\r\n.give-hidden,\r\n.cmb2-id--give-form-content,\r\n.cmb2-id--give-reveal-label,\r\n.cmb2-id--give-custom-amount-minimum,\r\n.cmb2-id--give-custom-amount-text,\r\n.cmb2-id--give-offline-checkout-notes,\r\n.cmb-type-levels-id,\r\n#_give_donation_levels_repeat .cmb-group-title,\r\n#_give_donation_levels_repeat .cmb-row > .cmb-remove-group-row,\r\n#_give_donation_levels_repeat .cmb-row > .handlediv {\r\n\tdisplay: none;\r\n}\r\n\r\n/* Donation Levels Repeating Field */\r\n#_give_donation_levels_repeat > .cmb-repeatable-grouping .cmb-field-list > .cmb-row .cmb2-radio-list label {\r\n\tfont-size: 12px;\r\n}\r\n\r\n//-----------------------------\r\n// Table Rows\r\n//-----------------------------\r\ndiv.cmb-type-levels-repeater-header + div.cmb-repeat-group-wrap {\r\n\tpadding: 0 !important;\r\n\tmargin: 0 !important;\r\n\tmin-width: 100%;\r\n\tmax-width: 0;\r\n\r\n}\r\n\r\n//-----------------------------\r\n// Multilevel Repeater Header\r\n//-----------------------------\r\n.cmb2-id--give-levels-header {\r\n\tpadding: 10px 12px 0 !important;\r\n\tmargin: 0 !important;\r\n\tbackground: #F7F7F7;\r\n\tborder-bottom: none !important;\r\n\r\n\t.table-container {\r\n\t\tdisplay: table;\r\n\t\twidth: 100%;\r\n\r\n\t\tborder-top: 1px solid #e9e9e9;\r\n\t\tborder-bottom: 1px solid #e9e9e9;\r\n\t\tborder-left: 1px solid #e9e9e9;\r\n\r\n\t\t> .table-row {\r\n\t\t\tdisplay: table-row;\r\n\t\t\tbackground: #FCFCFC;\r\n\r\n\t\t\t> .table-cell {\r\n\t\t\t\tdisplay: table-cell;\r\n\t\t\t\tvertical-align: middle;\r\n\t\t\t\tpadding: 10px 15px;\r\n\t\t\t\tborder-right: 1px solid #e9e9e9;\r\n\t\t\t\t&.col-id {\r\n\t\t\t\t\tdisplay: none;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t}\r\n}\r\n\r\n#_give_donation_levels_repeat {\r\n\tbackground: #F7F7F7;\r\n\tpadding: 0 1px 20px 12px;\r\n\tbox-sizing: border-box;\r\n\r\n\t.cmb-row, .inside {\r\n\t\tmargin: 0;\r\n\t}\r\n\t.cmb-remove-field-row {\r\n\t\tmargin: 3px 0 0;\r\n\r\n\t\t.button {\r\n\t\t\theight: 25px;\r\n\t\t\tpadding: 0 3px;\r\n\t\t}\r\n\t\tspan.dashicons-no {\r\n\t\t\tline-height: 1.15em;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t.cmbhandle {\r\n\t\tdisplay: none;\r\n\t}\r\n\t.cmb-add-row {\r\n\t\tmargin: 12px 0 0;\r\n\t}\r\n\r\n}\r\n\r\n//---------------------------------------------------\r\n// Field One Offs\r\n//---------------------------------------------------\r\n.give-time-field {\r\n\twidth: 65px;\r\n}\r\n\r\n.give-money-field {\r\n\twidth: 75px;\r\n\tmargin-right: 0;\r\n\tmargin-left: 0;\r\n}\r\n\r\n.give-money-symbol {\r\n\tborder: 1px solid #DDD;\r\n\tbackground: #FCFCFC;\r\n\tmargin: 0;\r\n\tfont-size: 14px;\r\n\tpadding: 5px 8px;\r\n}\r\n\r\n.give-money-symbol-before {\r\n\tborder-right: 0;\r\n\tmargin-right: -4px;\r\n}\r\n\r\n.give-money-symbol-after {\r\n\t//border-left: 0;\r\n\tmargin-left: -1px;\r\n}\r\n\r\n.give_options_panel input[ type=\"text\"] {\r\n\tpadding: 5px;\r\n\twidth: 100%;\r\n}\r\n\r\ninput.give-text_small,\r\ninput.give-text-small {\r\n\twidth: 100px !important;\r\n}\r\n\r\ninput.give-text-medium,\r\ninput.give-text_medium {\r\n\twidth: 200px !important;\r\n}\r\n\r\n.give-underline {\r\n\ttext-decoration: underline;\r\n}\r\n\r\n.postbox-container .cmb-row {\r\n\tmargin: 0;\r\n\r\n\t.cmb-th label {\r\n\t\tpadding-left: 8px;\r\n\t}\r\n\r\n}\r\n\r\n//---------------------------------------------------\r\n// Responsive\r\n//---------------------------------------------------\r\n@media only screen and (min-width: 851px) {\r\n\r\n\t#_give_donation_levels_repeat > .cmb-repeatable-grouping .cmb-field-list {\r\n\t\t> .cmb-row {\r\n\t\t\tfloat: left;\r\n\t\t\tborder-bottom: none;\r\n\t\t\tpadding-right: 10px;\r\n\t\t\t> .cmb-th {\r\n\t\t\t\tdisplay: none;\r\n\t\t\t}\r\n\t\t\t> .cmb-td {\r\n\t\t\t\tfloat: left;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t.cmb-type-give-default-radio-inline .cmb-td {\r\n\t\tmargin-top: 5px;\r\n\t}\r\n\r\n}\r\n\r\n/* Smaller Resolution Desktops */\r\n@media only screen and (min-width: 851px) and (max-width: 1201px) {\r\n\r\n\t#_give_donation_levels_repeat > .cmb-repeatable-grouping .cmb-field-list {\r\n\r\n\t\t> .cmb-remove-field-row {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding-top: 0;\r\n\t\t}\r\n\t\t> .cmb-type-text-money {\r\n\t\t\twidth: 105px;\r\n\t\t}\r\n\t\tinput.cmb2-text-money {\r\n\t\t\twidth: 65px;\r\n\t\t}\r\n\r\n\t\t.give-multilevel-text-field {\r\n\t\t\twidth: 160px;\r\n\t\t}\r\n\t\t.cmb-type-radio-inline {\r\n\t\t\tmargin-left: 20px;\r\n\t\t}\r\n\r\n\t}\r\n\t.col-amount {\r\n\t\twidth: 70px;\r\n\t}\r\n\t.col-text {\r\n\t\twidth: 140px;\r\n\t}\r\n\t.col-sort {\r\n\t\tdisplay: none !important;\r\n\t}\r\n\t.give-money-field {\r\n\t\twidth: 55px;\r\n\t}\r\n}\r\n\r\n@media only screen and (min-width: 1201px) {\r\n\r\n\t#_give_donation_levels_repeat > .cmb-repeatable-grouping .cmb-field-list {\r\n\r\n\t\t> .cmb-remove-field-row {\r\n\t\t\tfloat: right;\r\n\t\t}\r\n\t\t> .cmb-row {\r\n\t\t\tpadding-right: 20px;\r\n\t\t}\r\n\t\t> .cmb-remove-field-row.cmb-row {\r\n\t\t\tpadding-right: 0;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t.col-amount {\r\n\t\twidth: 93px;\r\n\t}\r\n\t.col-text {\r\n\t\twidth: 195px;\r\n\t}\r\n\t.col-sort {\r\n\t\twidth: 100px;\r\n\t}\r\n\t.give-multilevel-text-field {\r\n\t\twidth: 205px;\r\n\t}\r\n\r\n}\r\n\r\n//Small Resolution Repeater\r\n@media only screen and (max-width: 850px) {\r\n\tdiv.cmb-type-levels-repeater-header {\r\n\t\tdisplay: none !important;\r\n\t}\r\n}\r\n\r\n//-------------------------------------\r\n// Publish Metabox\r\n//-------------------------------------\r\n\r\n/*Shortcode Input */\r\n\r\n.shortcode-wrap {\r\n\tmargin: 1px 14px 12px 11px;\r\n\r\n\tlabel {\r\n\t\tmargin: 0 0 3px;\r\n\t\tdisplay: block;\r\n\t\tcursor: default;\r\n\t}\r\n\r\n\t.shortcode-input {\r\n\t\tmargin: 0;\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n}\r\n\r\n//-------------------------------------\r\n// Content Options\r\n//-------------------------------------\r\n\r\n.cmb2-id--give-content-option,\r\n.cmb2-id--give-terms-option,\r\n.cmb2-id--give-offline-donation-enable-billing-fields-single,\r\n.cmb2-id--give-goal-option,\r\n.cmb2-id--give-customize-offline-donations {\r\n\tborder-bottom: none !important;\r\n\tmargin: 0 !important;\r\n}\r\n\r\n.cmb2-id--give-form-content,\r\n.cmb2-id--give-agree-label,\r\n.cmb2-id--give-offline-checkout-notes,\r\n.cmb2-id--give-set-goal,\r\n.cmb2-id--give-offline-donation-enable-billing-fields-single {\r\n\tborder-top: 1px solid #e9e9e9 !important;\r\n}\r\n\r\n/*-------------------------------------\r\nTerms and Conditions Metabox\r\n---------------------------------------*/\r\n\r\n.cmb2-id--give-agree-label,\r\n.cmb2-id--give-agree-text {\r\n\tdisplay: none;\r\n}\r\n\r\n/*-------------------------------------\r\nDashboard Columns\r\n-------------------------------------*/\r\n\r\ninput.shortcode-input {\r\n\twidth: 100%;\r\n}\r\n\r\n/*-------------------------------------\r\nASIDE\r\n-------------------------------------*/\r\n\r\n#side-sortables {\r\n\r\n\t.cmb-th label {\r\n\r\n\t\t&:after {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\r\n\t}\r\n\t.cmb2-id--give-show-register-form {\r\n\t\tpadding: 10px 0 0 !important;\r\n\t}\r\n\r\n\t.cmb2-wrap > .cmb-field-list > .cmb-row {\r\n\t\tpadding-top: 10px;\r\n\t}\r\n\r\n\t.cmb-row .cmb2-metabox-description {\r\n\t\tpadding-bottom: 0;\r\n\t}\r\n\r\n}\r\n\r\n.cmb2-metabox-description {\r\n\tfont-size: 13px;\r\n\tline-height: 1.5;\r\n\tdisplay: block;\r\n}\r\n\r\n//-------------------------------------\r\n// Tooltips\r\n//-------------------------------------\r\n.give-tooltip {\r\n\tmargin: 0 3px;\r\n\tpadding: 0;\r\n\tfont-size: 14px;\r\n\t@include easing-transition();\r\n\tcolor: transparentize($dark, 0.5);\r\n\tposition: relative;\r\n\ttop: 1px;\r\n\r\n\t&:hover {\r\n\t\tcolor: $dark;\r\n\t}\r\n\r\n}\r\n\r\n//-------------------------------------\r\n// Metabox Form\r\n// -------------------------------------\r\n#give-metabox-form-data {\r\n\r\n\t.inside {\r\n\t\tmargin: 0;\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.give-metabox-panel-wrap {\r\n\t\tbackground: #fff;\r\n\t\toverflow: hidden;\r\n\t}\r\n\r\n\t.give_options_panel {\r\n\t\tpadding-left: 170px;\r\n\r\n\t\t.give-field-wrap {\r\n\t\t\tpadding: 1em 20px 1em 162px !important;\r\n\t\t\tmargin: 0;\r\n\t\t\tborder-bottom: 1px solid #eee;\r\n\r\n\t\t\t> label, > span.give-field-label {\r\n\t\t\t\tfloat: left;\r\n\t\t\t\twidth: 135px;\r\n\t\t\t\tpadding: 0;\r\n\t\t\t\tmargin: 2px 0 0 -150px;\r\n\t\t\t\tline-height: 18px;\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t}\r\n\r\n\t\t\t.give-field-description {\r\n\t\t\t\tcolor: #aaaaaa;\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tline-height: 18px;\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\tpadding-top: 10px;\r\n\t\t\t\tfont-style: italic;\r\n\t\t\t}\r\n\r\n\t\t\tul {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\r\n\t\t\t.mce-container iframe, textarea {\r\n\t\t\t\tmin-height: 250px !important;\r\n\t\t\t}\r\n\r\n\t\t\t.wp-editor-wrap {\r\n\t\t\t\tdisplay: inline-block;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.give-field-wrap:last-child {\r\n\t\t\tborder-bottom: 0;\r\n\t\t}\r\n\r\n\t\ttextarea.give-field {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\r\n\t\t.give-field-wrap:hover .give-field-row-actions {\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\r\n\t\t.give-field-wrap:last-child {\r\n\t\t\tborder-bottom: 0;\r\n\t\t}\r\n\r\n\t\t.give-inline-radio-fields {\r\n\t\t\tli {\r\n\t\t\t\tdisplay: inline-block;\r\n\t\t\t\tmargin-right: 15px;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.give-repeatable-field-section {\r\n\t\t\tpadding: 10px;\r\n\t\t\tbackground: #f5f5f5;\r\n\r\n\t\t\t.give-repeatable-fields-section-wrapper {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tbackground-color: white;\r\n\t\t\t\tborder-collapse: collapse;\r\n\t\t\t}\r\n\r\n\t\t\t.give-row {\r\n\t\t\t\tborder-bottom: 15px solid #f5f5f5;\r\n\t\t\t\tbackground-color: white;\r\n\t\t\t}\r\n\r\n\t\t\t.give-template {\r\n\t\t\t\tdisplay: none;\r\n\t\t\t}\r\n\r\n\t\t\t.give-row:last-child {\r\n\t\t\t\tborder-bottom: 10px solid #f5f5f5;\r\n\t\t\t}\r\n\r\n\t\t\t.give-column {\r\n\t\t\t\tpadding: 0;\r\n\t\t\t}\r\n\r\n\t\t\t.give-remove {\r\n\t\t\t\tfloat: right;\r\n\t\t\t\twidth: 36px;\r\n\t\t\t\theight: 36px;\r\n\t\t\t\tpadding: 0;\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tline-height: 34px;\r\n\t\t\t\tfont-size: 21px;\r\n\t\t\t\tfont-weight: 300;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t}\r\n\r\n\t\t\t.give-remove:hover {\r\n\t\t\t\tbackground-color: red;\r\n\t\t\t\tcolor: white;\r\n\t\t\t\twidth: 30px;\r\n\t\t\t\theight: 30px;\r\n\t\t\t\tborder-radius: 30px;\r\n\t\t\t\tmargin-top: 3px;\r\n\t\t\t\tline-height: 28px;\r\n\t\t\t}\r\n\r\n\t\t\t.give-row-head {\r\n\t\t\t\tborder-bottom: 1px solid #eee;\r\n\t\t\t\tcursor: move;\r\n\t\t\t\th2 {\r\n\t\t\t\t\ttext-align: left !important;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t.give-row.closed .toggle-indicator:before {\r\n\t\t\t\tcontent: \"\\f140\";\r\n\t\t\t}\r\n\r\n\t\t\t.give-add-repeater-field-section-row-wrap {\r\n\t\t\t\tbackground-color: #f5f5f5;\r\n\t\t\t}\r\n\r\n\t\t\t.give-add-repeater-field-section-row {\r\n\t\t\t\tmargin: 5px 5px;\r\n\t\t\t}\r\n\r\n\t\t\t.give-field-wrap:last-child {\r\n\t\t\t\tborder-bottom: 1px solid #eee;\r\n\t\t\t}\r\n\r\n\t\t\t.give-ui-placeholder-state-highlight {\r\n\t\t\t\tbackground-color: #68bb6c;\r\n\t\t\t}\r\n\r\n\t\t\t.give-repeater-field-name {\r\n\t\t\t\tborder: 0 !important;\r\n\t\t\t\tpadding: 0 !important;\r\n\t\t\t}\r\n\r\n\t\t\t.give-repeater-field-description {\r\n\t\t\t\tcolor: #aaaaaa;\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tline-height: 18px;\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\tpadding-bottom: 10px;\r\n\t\t\t\tfont-style: italic;\r\n\t\t\t}\r\n\r\n\t\t\t// Sortable jquery css fix.\r\n\t\t\t.ui-sortable-helper {\r\n\t\t\t\tdisplay: table !important;\r\n\t\t\t}\r\n\t\t\t.give-row.ui-sortable-helper {\r\n\t\t\t\tborder-bottom: 0;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n//-------------------------------------\r\n// Metabox Tabs\r\n//-------------------------------------\r\n#give-metabox-form-data {\r\n\r\n\t.give-metabox-tabs {\r\n\t\tmargin: 0;\r\n\t\tmin-width: 170px;\r\n\t\tfloat: left;\r\n\t\tline-height: 1em;\r\n\t\tpadding: 0 0 10px;\r\n\t\tposition: relative;\r\n\t\tbackground-color: #fafafa;\r\n\t\tborder-right: 1px solid #eee;\r\n\t\tbox-sizing: border-box;\r\n\r\n\t\t&:after {\r\n\t\t\tcontent: \"\";\r\n\t\t\tdisplay: block;\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 9999em;\r\n\t\t\tposition: absolute;\r\n\t\t\tbottom: -9999em;\r\n\t\t\tleft: 0;\r\n\t\t\tbackground-color: #fafafa;\r\n\t\t\tborder-right: 1px solid #eee;\r\n\t\t}\r\n\r\n\t\tli {\r\n\t\t\tmargin: 0;\r\n\t\t\tpadding: 0;\r\n\t\t\tdisplay: block;\r\n\t\t\tposition: relative;\r\n\r\n\t\t\ta {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t\tpadding: 10px;\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\tbox-shadow: none;\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t\tline-height: 20px !important;\r\n\t\t\t\tborder-bottom: 1px solid #eee;\r\n\t\t\t\toverflow: hidden;\r\n\r\n\t\t\t\tspan.give-label {\r\n\t\t\t\t\twidth: 122px;\r\n\t\t\t\t\tdisplay: inline-block;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\t.give-metabox-sub-tabs li {\r\n\t\t\tbackground-color: #f1f1f1;\r\n\t\t\ta {\r\n\t\t\t\tborder-bottom-color: #e5e5e5;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tli.active {\r\n\t\t\t> a {\r\n\t\t\t\tcolor: #555;\r\n\t\t\t\tposition: relative;\r\n\t\t\t\tbackground-color: #eee;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tli.has-sub-fields.active > a {\r\n\t\t\tbackground-color: #ddd;\r\n\t\t}\r\n\r\n\t\tli.has-sub-fields:not(.active):hover {\r\n\t\t\tul.give-metabox-sub-tabs {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\tbottom: 0;\r\n\t\t\t\tleft: 170px;\r\n\t\t\t\twidth: 170px;\r\n\t\t\t\tmax-height: 250px;\r\n\t\t\t\toverflow-y: scroll;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\n// Icons only display for tight resolutions.\r\n@media only screen and (min-width: 851px) and (max-width: 1025px),\r\n(max-width: 550px) {\r\n\r\n\t#give-metabox-form-data {\r\n\t\tul.give-metabox-tabs {\r\n\t\t\tmin-width: 40px;\r\n\r\n\t\t\tli > a {\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\t&:before {\r\n\t\t\t\t\tmargin-right: 0;\r\n\t\t\t\t\tfont-size: 15px;\r\n\t\t\t\t}\r\n\t\t\t\tspan {\r\n\t\t\t\t\tdisplay: none;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\t.give_options_panel {\r\n\t\t\tpadding-left: 40px;\r\n\t\t}\r\n\r\n\t}\r\n\t//#give-metabox-form-data\r\n}\r\n\r\n//-------------------------------------\r\n// Export Form\r\n// -------------------------------------\r\n\r\n#give-export-payments {\r\n\t.give_forms_categories,\r\n\t.give_forms_tags {\r\n\t\tinput {\r\n\t\t\tcolor: #999;\r\n\t\t}\r\n\r\n\t\tmin-width: 250px;\r\n\t\tmargin: 0 0 10px 0;\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n\tdiv.chosen-container:first-of-type {\r\n\t\tmargin-top: 10px;\r\n\t}\r\n}\r\n\r\n/*-------------------------------------\r\nDoc Links\r\n-------------------------------------*/\r\n\r\n.give-docs-link {\r\n\ttext-align: right;\r\n\tmargin-right: 15px;\r\n\r\n\ta {\r\n\t\tcolor: #999;\r\n\t\ttext-decoration: none;\r\n\t\tfont-style: italic;\r\n\r\n\t\t&:hover {\r\n\t\t\tcolor: rgb(0, 115, 170);\r\n\t\t}\r\n\t\tspan {\r\n\t\t\tfont-style: normal;\r\n\t\t}\r\n\t}\r\n}","/**\n * Give Add-ons SCSS\n *\n * @description Add-on Styles\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n.type-download {\n float: left;\n margin: 0 1em 1em 0 !important;\n padding: 0;\n vertical-align: top;\n width: 280px;\n text-decoration: none;\n color: inherit;\n border: 1px solid #ddd;\n display: block;\n min-height: 365px;\n overflow: hidden;\n background: #f5f5f5;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 -1px 0 rgba(0, 0, 0, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 -1px 0 rgba(0, 0, 0, .1);\n -webkit-transition-property: border, background, color;\n transition-property: border, background, color;\n -webkit-transition-duration: .05s;\n transition-duration: .05s;\n -webkit-transition-timing-function: ease-in-out;\n transition-timing-function: ease-in-out;\n position: relative;\n\n &:hover {\n\tborder: 1px solid #d1d1d1;\n }\n\n > .featured-img img {\n\tborder-bottom: 1px solid #ddd;\n }\n\n .addon-content {\n\t@include clearfix;\n\tpadding: 15px 20px;\n\n\t.addon-heading {\n\t margin: 0 0 10px;\n\t a {\n\t\toutline: none;\n\t\ttext-decoration: none;\n\t }\n\t}\n\n }\n\n .addon-footer-wrap {\n\tborder-top: 1px solid #ddd;\n\tposition: absolute;\n\tbottom: 2px;\n\tleft: 0;\n\twidth: 100%;\n\tbackground-color: #FFF;\n\tpadding: 15px 20px;\n }\n\n}\n\n.give-view-addons-all, .type-download {\n\n span.dashicons {\n\twidth: 16px;\n\theight: 16px;\n\tfont-size: 14px;\n\tmargin: 6px 0 0 0;\n }\n\n}\n\n.give-view-addons-all span.dashicons {\n margin-left: 3px;\n}\n","/**\n * Give Reports SCSS\n *\n * @description Payment History Styles\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n//---------------------------------------------------------\n// Dashboard Widget\n//---------------------------------------------------------\n#give-dashboard-widgets-wrap {\n\n .inside {\n padding-top: 0;\n padding-bottom: 0;\n\n /* counteract extra padding in Income Report graph */\n .give_forms_page_give-reports & {\n padding-left: 0;\n }\n\n #give-graphs-filter {\n float:none;\n }\n }\n\n .postbox {\n margin-bottom: 10px;\n }\n\n table.reports-table {\n clear: none;\n }\n\n #give-date-range-options {\n float: left;\n\n > span {\n float: left;\n line-height: 30px;\n font-style: italic;\n padding: 0 5px 0 0;\n }\n\n }\n\n}\n\n\n#give-graphs-filter {\n float:right;\n\n .tablenav {\n margin: 0 0 0 17px;\n .actions {\n padding: 0;\n }\n }\n}\n\n//---------------------------------------------------------\n// Global Graph Styles\n//---------------------------------------------------------\n\n.give-graph {\n .y1Axis {\n color: #66bb6a !important;\n }\n .y2Axis {\n color: #546e7a !important;\n }\n}\n\n//---------------------------------------------------------\n//Donor Filter\n//---------------------------------------------------------\nbody.give_forms_page_give-reports, body.give_forms_page_give-payment-history {\n\n h1.nav-tab-wrapper, h2.nav-tab-wrapper {\n margin-bottom: 10px;\n }\n .actions {\n padding-top: 0;\n }\n\n .pagination-links {\n margin-left: 10px;\n }\n\n p.donor-search {\n margin-right: 10px;\n }\n\n .tablenav-right {\n\n .tablenav-pages {\n float: right;\n }\n #give-reports-view {\n margin-top: 0;\n }\n .actions {\n float: left;\n }\n\n }\n\n p.search-box {\n float: left;\n }\n\n .reports-table-nav.tablenav.top {\n width: 100%;\n float: none;\n margin: 0 0 10px;\n }\n\n .reports-forms-details-wrap.top {\n float: right;\n overflow: hidden;\n\n #give-reports-filter {\n float: left;\n }\n > .actions {\n padding-right: 0;\n }\n }\n\n .tablenav.bottom {\n margin-top: 10px;\n }\n\n h3.reports-earnings-title {\n margin: 7px 0 0;\n }\n\n .reports-views-wrap {\n padding: 3px 0 0;\n }\n\n .wrap.give-reports-donors-wrap {\n margin-right: 0;\n margin-bottom: 10px;\n }\n\n .widefat tbody td, .widefat tbody th {\n padding-top: 12px;\n padding-bottom: 12px;\n }\n\n}\n\n//---------------------------------------------------------\n//Export Options Styles\n//---------------------------------------------------------\nbody.give_forms_page_give-reports table.export-options-table {\n tbody td {\n padding: 20px 12px;\n vertical-align: top;\n }\n .give-export-form {\n position: relative;\n .notice-wrap {\n background-color: transparent;\n padding: 12px 12px 4px;\n margin: 2px 0 -16px -11px;\n overflow: auto;\n .spinner {\n margin: -2px -12px 8px 0;\n }\n }\n }\n\n span#give-start-wrap, span#give-end-wrap {\n input {\n width: 100px;\n }\n }\n\n}\n\n#export-donor-options-wrap {\n p {\n padding: 20px 0 0;\n margin: 0;\n font-weight: bold;\n }\n ul {\n max-width: 900px;\n overflow: hidden;\n\n li {\n margin: 0;\n padding: 0 5px 5px 0;\n box-sizing: border-box;\n float: left;\n width: 33%;\n }\n }\n\n}\n\n//---------------------------------------------------------\n//Recount Stats Form\n//---------------------------------------------------------\n\n#give-tools-recount-form {\n\n .notice-wrap {\n position: relative;\n min-height: 25px;\n margin: 10px -12px -12px;\n background: #EFEFEF;\n padding: 10px 12px 12px;\n border-top: 1px solid #E5E5E5;\n\n .give-progress {\n position: absolute;\n top: 15px;\n }\n\n .spinner {\n position: absolute;\n right: 14px;\n top: 13px;\n margin: 0;\n }\n\n #give-batch-success {\n margin-bottom: 6px;\n }\n\n }\n\n}\n\n//---------------------------------------------------------\n//Progress Bar Styles\n//---------------------------------------------------------\n.give-progress {\n height: 15px;\n width: 95%;\n border-radius: 4px;\n overflow: hidden;\n > div {\n height: 100%;\n width: 0;\n }\n\n}\n\n.admin-color-fresh .give-export-form .give-progress div, .give-export-form .give-progress div {\n background: #0073aa;\n}\n\n.admin-color-light .give-export-form .give-progress div {\n background: #888;\n}\n\n.admin-color-blue .give-export-form .give-progress div {\n background: #096484;\n}\n\n.admin-color-coffee .give-export-form .give-progress div {\n background: #c7a589;\n}\n\n.admin-color-ectoplasm .give-export-form .give-progress div {\n background: #a3b745;\n}\n\n.admin-color-midnight .give-export-form .give-progress div {\n background: #e14d43;\n}\n\n.admin-color-sunrise .give-export-form .give-progress div {\n background: #dd823b;\n}\n\n//---------------------------------------------------------\n//Tools\n//---------------------------------------------------------\n\n.recount-stats-controls form {\n display: inline;\n}\n\n.give-recount-stats-descriptions {\n margin: 8px 0 0;\n display: block;\n\n span {\n line-height: 24px;\n font-size: 13px;\n font-style: italic;\n font-weight: normal;\n color: #aaa;\n margin: 0;\n display: none;\n }\n}\n\n//---------------------------------------------------------\n//Payment Methods\n//---------------------------------------------------------\n.gateways-report-tablenav {\n .actions.bulkactions {\n padding-right: 0;\n }\n}\n\n//---------------------------------------------------------\n//Table List Styles\n//---------------------------------------------------------\n\ntable.give-table {\n\n td {\n vertical-align: middle;\n }\n td.row-title {\n h3 {\n margin: 0 0 0.4em;\n font-size: 1.2em;\n }\n p {\n font-size: 13px;\n font-style: italic;\n font-weight: normal;\n color: #aaa;\n margin: 0;\n }\n }\n\n}\n\n#give-graphs-filter > .tablenav {\n height: auto;\n}\n\n//---------------------------------------------------------\n//Logs\n//---------------------------------------------------------\n#give-logs-filter {\n .search-box {\n float: right;\n }\n .tablenav.top {\n float: left;\n clear: none;\n margin-top: 0;\n }\n}","/**\n * Give Admin Welcome SCSS\n *\n * @description Displays when user activates the plugin\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n */\n\n.welcome-h1 {\n display: inline-block;\n margin-right: 15px !important;\n}\n\n.about-wrap {\n h3 {\n margin: 1.5em 0 .6em;\n }\n\n img {\n border:none;\n }\n}\n\n.give-badge {\n padding-top: 150px;\n height: 52px;\n width: 185px;\n color: #FFF;\n font-weight: bold;\n font-size: 14px;\n text-align: center;\n text-shadow: 0 1px 0 rgba(0, 0, 0, 0.8);\n margin: 0 -5px;\n\n position: absolute;\n top: 0;\n right: 0;\n}\n\n.introduction {\n padding: 0 0 20px;\n margin: 0 0 20px;\n}\n\n//Feature section\n.feature-section {\n margin-top: 40px;\n\n span.dashicons {\n width: 16px;\n height: 16px;\n font-size: 14px;\n margin: 6px 0 0 0;\n }\n\n .feature-section-item {\n width: 48%;\n float: left;\n }\n\n div.last-feature {\n margin-right: 0;\n margin-left: 4%;\n }\n\n}\n\n//Get started\n[class^=\"dashboard_page_give-\"], [class*=\"dashboard_page_give-\"] {\n .about-text {\n min-height: 0;\n }\n}\n\n//Social Media\n.social-items-wrap {\n display: inline-block;\n > div {\n display: inline-block;\n }\n .twitter-item-wrap {\n margin: 0 20px 10px 0;\n }\n}\n\n//Credits\n.wp-person {\n img {\n border-radius: 50%;\n }\n a.web {\n margin: 17px 0 0;\n font-weight: bold;\n font-style: italic;\n }\n}\n\n//Newsletter\n.newsletter-intro {\n font-size: 13px;\n font-style: italic;\n color: #777;\n}\n\n.give-newsletter-form-wrap {\n margin: 10px 0 20px -5px;\n max-width: 700px;\n\n td {\n padding: 3px;\n }\n\n div.give-newsletter-confirmation {\n background: #fff;\n -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\n margin: 5px 10px 4px 5px;\n padding: 1px 12px;\n border-left: 4px solid #7ad03a;\n display: none;\n > p {\n margin: 0.5em 0;\n padding: 2px;\n }\n }\n\n}","/**\n * Give Logs SCSS\n *\n * @description Payment History Styles\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n#give_donor_export_form {\n margin: 0 0 5px;\n}\n\n\n#give-payments-filter .give-donation-status {\n display: inline-block;\n}\n\n.column-status {\n .give-donation-status, .give-test-mode-transactions-label {\n display: inline-block;\n }\n .give-test-mode-transactions-label {\n margin: 0 5px;\n vertical-align: middle;\n }\n}\n","/**\r\n * Give Settings SCSS\r\n *\r\n * @package Give\r\n * @subpackage SCSS/Admin\r\n * @copyright Copyright (c) 2016, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n */\r\n\r\n//--------------------------------------------------------------\r\n// General Settings\r\n//--------------------------------------------------------------\r\n\r\n.give-settings-page {\r\n\r\n\t.nav-tab-wrapper {\r\n\t\tmargin-bottom: 5px;\r\n\t\toverflow: visible;\r\n\t}\r\n\r\n\t.cmb2-wrap .cmb-type-checkbox input[type=\"checkbox\"] {\r\n\t\tdisplay: block;\r\n\t\tmargin-bottom: 5px;\r\n\t}\r\n\r\n\tdiv.give-submit-wrap {\r\n\t\tmargin: 20px 0;\r\n\t}\r\n\r\n\t.give_forms_page_give-payment-history .postbox .hndle {\r\n\t\tcursor: default;\r\n\t}\r\n\r\n\t.give-input-field {\r\n\t\twidth: 25em;\r\n\t}\r\n\r\n\ttable table input[type=\"text\"] {\r\n\t\twidth: 15em;\r\n\t}\r\n}\r\n\r\n.give-setting-tab-header {\r\n\tclear: both;\r\n\toverflow: hidden;\r\n\tmargin: 30px 0;\r\n\r\n\th2 {\r\n\t\tmargin-top: 8px;\r\n\t}\r\n}\r\n\r\n.give-radio-inline {\r\n\tul {\r\n\t\tmargin-top: 0;\r\n\t}\r\n\r\n\tli {\r\n\t\tdisplay: inline-block;\r\n\t\tmargin: 0 0 0 15px;\r\n\t}\r\n\r\n\tli:first-child {\r\n\t\tmargin-left: 0;\r\n\t}\r\n}\r\n\r\n// Tools page: fix ajax search user list hide bug\r\n.give-tools-setting-page .bulkactions {\r\n\toverflow: visible;\r\n}\r\n\r\n//Ugly but necessary to override WP core styles.\r\n.form-table td.give-radio-inline fieldset li > label {\r\n\tmargin: 5px 0 0 !important;\r\n}\r\n\r\np.give-field-description, .cmb2-metabox-description {\r\n\tcolor: #aaaaaa;\r\n\tfont-style: italic;\r\n\tfont-size: 13px !important;\r\n}\r\n\r\n.give-image-thumb {\r\n\tposition: relative;\r\n\tmargin-top: 14px;\r\n\r\n\tspan.give-delete-image-thumb {\r\n\t\tposition: absolute;\r\n\t\tbackground: red;\r\n\t\tcolor: white;\r\n\t\tborder-radius: 30px;\r\n\t\tleft: -10px;\r\n\t\ttop: -10px;\r\n\t}\r\n\r\n\timg {\r\n\t\tmax-width: 400px;\r\n\t\tborder: 4px solid white;\r\n\t}\r\n}\r\n\r\n.cmb-type-give-title label,\r\n.give-setting-tab-header h2 {\r\n\tfloat: left;\r\n\tdisplay: inline-block;\r\n\twidth: 220px;\r\n\tfont-style: italic;\r\n\tcolor: #AAA;\r\n\tmargin: 0;\r\n\tfont-size: 14px;\r\n}\r\n\r\n.postbox-container #_give_donation_levels_repeat > .cmb-repeatable-grouping:not(:last-of-type) {\r\n\tborder-bottom: 1px solid #e9e9e9;\r\n\tborder-top: none;\r\n}\r\n\r\n.cmb-type-enabled-gateways .cmb-td > p:first-of-type {\r\n\tdisplay: none;\r\n}\r\n\r\n// CMB2 Checkbox Revised Styles\r\n.cmb-type-checkbox .cmb-td {\r\n\twidth: 80%;\r\n\tlabel {\r\n\t\tfont-size: 13px;\r\n\t}\r\n}\r\n\r\n/* Responsive Settings Rows */\r\n.give_settings {\r\n\t.cmb2-wrap .cmb-row {\r\n\t\tdisplay: table-row;\r\n\t\t> .cmb-th, > .cmb-td {\r\n\t\t\tdisplay: table-cell;\r\n\t\t\tfloat: none;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/* Custom Title Separators */\r\n.cmb2-id-give-title {\r\n\tlabel {\r\n\t\tfont-style: italic;\r\n\t\tcolor: #AAA;\r\n\t\tcursor: default;\r\n\t}\r\n\t> div.cmb-th {\r\n\t\tpadding-bottom: 10px;\r\n\t}\r\n\t> div.cmb-td {\r\n\t\tpadding-bottom: 5px;\r\n\t}\r\n}\r\n\r\n//--------------------------------------------------------------\r\n// Payment Gateways\r\n//--------------------------------------------------------------\r\n.give-payment-gatways-list li.ui-sortable-handle {\r\n\r\n\tspan.give-drag-handle {\r\n\t\tpadding: 3px 4px 0 0;\r\n\t\tfont-size: 15px;\r\n\t\tfont-weight: normal;\r\n\t\tcolor: #bdbdbd;\r\n\t\tcursor: move;\r\n\r\n\t\t&:hover {\r\n\t\t\tcolor: #333;\r\n\t\t}\r\n\r\n\t}\r\n\r\n}\r\n\r\n//--------------------------------------------------------------\r\n// Emails\r\n//--------------------------------------------------------------\r\n\r\n.give-email-tags-wrap {\r\n\tmargin: 5px 0 0;\r\n\tcode {\r\n\t\tfont-style: normal;\r\n\t\tpadding: 1px 2px;\r\n\t\tfont-size: 12px;\r\n\t}\r\n\tspan {\r\n\t\tdisplay: block;\r\n\t\tcolor: #AAA;\r\n\t\tfont-style: italic;\r\n\t\tmargin: 0 0 2px;\r\n\t\tfont-size: 13px;\r\n\t}\r\n\t.give_price_tag {\r\n\t\tdisplay: none;\r\n\t}\r\n}\r\n\r\n//--------------------------------------------------------------\r\n// System Info page styles\r\n//--------------------------------------------------------------\r\n\r\n#system-info-textarea {\r\n\twidth: 800px;\r\n\theight: 600px;\r\n\tfont-family: Menlo, Monaco, monospace;\r\n\tbackground: #FFF;\r\n\twhite-space: pre;\r\n\toverflow: auto;\r\n\tdisplay: block;\r\n\t/*rtl:ignore*/\r\n\tdirection: ltr;\r\n}\r\n\r\n#give-download-sysinfo {\r\n\tmargin: 0;\r\n}\r\n\r\n//--------------------------------------------------------------\r\n// API\r\n//--------------------------------------------------------------\r\n\r\n.cmb2-id-api {\r\n\r\n\t.cmb-td {\r\n\t\tpadding: 0;\r\n\t}\r\n\ttable th {\r\n\t\tpadding: 10px 8px;\r\n\t}\r\n\r\n\t.give-ajax-user-search {\r\n\t\tpadding: 3px 5px;\r\n\r\n\t}\r\n\r\n}\r\n\r\n.give_user_search_wrap {\r\n\tposition: relative;\r\n\toverflow: visible;\r\n}\r\n\r\n.give_user_search_results {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 27px;\r\n\tz-index: 100;\r\n\r\n\ta.give-ajax-user-cancel {\r\n\t\tposition: absolute;\r\n\t\tright: 6px;\r\n\t\ttop: 2px;\r\n\t}\r\n\tul {\r\n\t\tpadding: 10px 10px 4px;\r\n\t\tmargin: 0;\r\n\t\tbackground: #f0f0f0;\r\n\t\tborder: 1px solid #DFDFDF;\r\n\t\twidth: 300px;\r\n\t\tmax-height: 200px;\r\n\t\toverflow-y: scroll;\r\n\t}\r\n\r\n}\r\n\r\n#api {\r\n\r\n\t.tablenav .actions {\r\n\t\toverflow: visible;\r\n\t}\r\n\r\n}\r\n\r\na.give-delete {\r\n\tcolor: #a00;\r\n}\r\n\r\n//--------------------------------------------------------------\r\n// License\r\n//--------------------------------------------------------------\r\n.give-settings-wrap-licenses {\r\n\t.give-license-deactivate {\r\n\t\tmargin: 1px 0 0 10px;\r\n\t\theight: 30px;\r\n\t}\r\n\r\n\t.give-license-field {\r\n\t\tbackground: #FFF url('../images/close.png') no-repeat;\r\n\t\tbackground-position: 98.5% center;\r\n\t\tbackground-size: 18px;\r\n\t}\r\n\r\n\t.give-license-active, .give-license-active:focus {\r\n\t\tbackground-image: url('../images/tick.png');\r\n\t\tbackground-color: #FFF;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: 98.5% center;\r\n\t\toutline: none;\r\n\t\tbackground-size: 16px;\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n}\r\n\r\n/* Addon grid design */\r\n.give-settings-page {\r\n\tmargin-top: 20px;\r\n\r\n\t.give-settings-wrap-licenses {\r\n\t\tdisplay: block;\r\n\t\tposition: relative;\r\n\t\tfloat: left;\r\n\t\twidth: 30.5%;\r\n\t\tmin-height: 180px;\r\n\t\tmargin: 20px 1% 20px 0;\r\n\t}\r\n\r\n\t.give-license-key {\r\n\t\tlabel {\r\n\t\t\tmargin: 0 0 0 10px;\r\n\t\t\tpadding: 10px 0;\r\n\t\t\tdisplay: block;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tfont-weight: 600;\r\n\t\t\tcursor: default;\r\n\t\t}\r\n\t}\r\n\r\n\t.give-license-block {\r\n\t\tmargin: 0 10px;\r\n\t}\r\n\r\n\tinput[type=\"text\"].give-license-field,\r\n\tinput[type=\"password\"].give-license-field {\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.give-license-block input[type=\"submit\"] {\r\n\t\tposition: absolute;\r\n\t\ttop: 3px;\r\n\t\tright: 10px;\r\n\t\theight: 24px;\r\n\t\tline-height: 22px;\r\n\t\tpadding: 0 8px 1px;\r\n\t\tfont-size: 11px;\r\n\t}\r\n\r\n\t//License status notice.\r\n\t.give-license-status-notice {\r\n\t\tbackground: #fff;\r\n\t\tborder-left: 4px solid #fff;\r\n\t\t-webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\r\n\t\tbox-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\r\n\t\tmargin: 5px 0 2px;\r\n\t\tpadding: 1px 12px;\r\n\r\n\t\tp {\r\n\t\t\tpadding: 10px 0;\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\r\n\t\ta {\r\n\t\t\tcolor: #444;\r\n\t\t\tcursor: pointer;\r\n\t\t\t&:hover {\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t.give-license-status-notice.give-license-expires-soon {\r\n\t\tborder-color: #00a0d2;\r\n\t}\r\n\r\n\t//Inactive or Expired.\r\n\t.give-license-status-notice.give-inactive,\r\n\t.give-license-status-notice.give-license-expired {\r\n\t\tborder-color: #e24e4e;\r\n\t}\r\n\r\n\t.give-license-status-notice.give-license-error,\r\n\t.give-license-status-notice.give-license-no_activations_left,\r\n\t.give-license-status-notice.give-license-missing,\r\n\t.give-license-status-notice.give-license-invalid,\r\n\t.give-license-status-notice.give-license-site_inactive,\r\n\t.give-license-status-notice.give-license-item_name_mismatch {\r\n\t\tborder-color: orange;\r\n\t}\r\n\r\n\t.give-license-status-notice.give-license-lifetime-notice,\r\n\t.give-license-status-notice.give-license-expiration-date {\r\n\t\tborder-color: #46b450;\r\n\t}\r\n\r\n\t.give-license-status-notice.give-license-expires-soon a:hover,\r\n\t.give-license-status-notice.give-license-expired a:hover {\r\n\t\ttext-decoration: none;\r\n\t}\r\n}\r\n\r\n/* Responsive fixes: Addon grid design */\r\n@media screen and (max-width: 1100px) {\r\n\t.give-settings-page .give-settings-wrap-licenses {\r\n\t\twidth: 45%;\r\n\t\tmin-height: 150px;\r\n\t}\r\n}\r\n\r\n@media screen and (max-width: 600px) {\r\n\t.give-settings-page .give-settings-wrap-licenses {\r\n\t\twidth: 100%;\r\n\t\tmax-width: 320px;\r\n\t}\r\n}\r\n\r\n/* Tables */\r\n\r\n.give-table {\r\n\r\n\tthead {\r\n\t\tth {\r\n\t\t\tpadding: 8px 10px !important;\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\n//Fix double <hr>s for change to `give_title` in 1.3.5\r\n.give_settings .cmb-td hr + hr {\r\n\tdisplay: none;\r\n}\r\n\r\n//Set a min-height for TinyMCE so it's not too small when hidden in a tab and then revealed\r\n.post-type-give_forms .mce-container iframe, .post-type-give_forms .wp-editor-area {\r\n\tmin-height: 400px;\r\n}\r\n\r\n// Widget Page\r\n.give-field-description {\r\n\tcolor: #aaaaaa;\r\n\tfont-style: italic;\r\n\tmargin: 0;\r\n\tpadding-top: .5em;\r\n}\r\n\r\n// Setting page tab\r\nh2.give-nav-tab-wrapper {\r\n\toverflow: hidden;\r\n\theight: 35px;\r\n}\r\n\r\n@media screen and (max-width: 600px) {\r\n\t.give-nav-tab-wrapper {\r\n\t\tposition: relative;\r\n\t\tpadding-top:0 !important;\r\n\r\n\t\t> a {\r\n\t\t\twidth: 100%;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tmargin:0;\r\n\t\t\t&:hover {\r\n\t\t\t\tborder-bottom: 1px solid #ccc;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tdiv.give-sub-nav-tab-wrapper {\r\n\t\t\tposition: absolute;\r\n\t\t\ttop:0;\r\n\t\t\tright:0;\r\n\r\n\t\t\t#give-show-sub-nav {\r\n\t\t\t\theight: 28px;\r\n\t\t\t\twidth: 30px;\r\n\t\t\t\tborder-radius: 0;\r\n\t\t\t\tmargin:0;\r\n\t\t\t\t> span.dashicons {\r\n\t\t\t\t\tmargin: 6px auto 0;\r\n\t\t\t\t\tdisplay: block;\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\r\n\t\t\tnav.give-sub-nav-tab {\r\n\t\t\t\ttop:35px;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n}\r\n\r\n.give-sub-nav-tab-wrapper {\r\n\tposition: relative;\r\n\tdisplay: inline-block;\r\n\tz-index: 9999;\r\n\tfloat: left;\r\n\r\n\tnav.give-sub-nav-tab {\r\n\t\tborder: 1px solid #ccc;\r\n\t\tborder-bottom: 0;\r\n\t\tposition: absolute;\r\n\t\ttop: 32px;\r\n\t\tright: 0;\r\n\r\n\t\ta {\r\n\t\t\tfloat: left;\r\n\t\t\tbackground: white;\r\n\t\t\tpadding: 6px 10px;\r\n\t\t\tclear: both;\r\n\t\t\ttext-decoration: none;\r\n\t\t\tborder-bottom: 1px solid #ccc;\r\n\t\t\tmin-width: 170px;\r\n\t\t\tcolor: #555;\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\r\n\t\ta:hover {\r\n\t\t\tbackground: #e5e5e5;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// By default hide setting tab wrapper.\r\n.give-sub-nav-tab-wrapper{\r\n\tdisplay:none;\r\n}\r\n\r\n#give-show-sub-nav {\r\n\ttext-decoration: none;\r\n\tpadding: 3px 4px;\r\n\tborder-bottom: 1px solid #ccc;\r\n\tline-height: 0;\r\n\tbackground: white;\r\n\tborder-radius: 4px;\r\n margin-top:5px;\r\n\r\n\t> span.dashicons {\r\n font-size:16px;\r\n height:16px;\r\n width:16px;\r\n\t}\r\n}\r\n\r\n#give-show-sub-nav:hover, #give-show-sub-nav:active {\r\n\toutline: none;\r\n\tbox-shadow: inset 0px 0px 4px #ddd;\r\n}","/**\r\n * Give Payment History SCSS\r\n *\r\n * @description Payment History Styles\r\n * @package Give\r\n * @subpackage SCSS/Admin\r\n * @copyright Copyright (c) 2016, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n#give-payment-filters, .give-submit-wrap {\r\n clear: both;\r\n background: #f5f5f5;\r\n border-color: #dfdfdf;\r\n overflow: auto;\r\n margin: 8px 0;\r\n padding: 12px;\r\n border-width: 1px;\r\n border-style: solid;\r\n font-size: 13px;\r\n line-height: 2.1em;\r\n}\r\n\r\n#give-payment-filters {\r\n p {\r\n color: #777;\r\n }\r\n ul.subsubsub {\r\n margin-bottom: 8px;\r\n }\r\n label {\r\n font-style: italic;\r\n margin: 0 10px;\r\n\r\n &.give-start-date-label {\r\n margin-left: 5px;\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\n#give-payments-filter {\r\n ul.subsubsub {\r\n margin-bottom: 12px;\r\n }\r\n .tablenav.top {\r\n float: none;\r\n .bulkactions {\r\n margin-top: 1px;\r\n padding-top: 0;\r\n }\r\n\r\n }\r\n\r\n .give-email-column-value {\r\n font-size: 14px;\r\n font-weight: bold;\r\n }\r\n\r\n #the-list .check-column input {\r\n margin-top: 1px;\r\n }\r\n\r\n .column-details {\r\n width: 50px;\r\n }\r\n\r\n .column-amount {\r\n width: 120px;\r\n }\r\n\r\n}\r\n\r\ntr.status-refunded td {\r\n background: #cecece;\r\n border-top-color: #ccc;\r\n}\r\n\r\n.wp-list-table.forms th#date {\r\n width: 140px;\r\n}\r\n\r\n.give-mobile-link {\r\n line-height: 32px;\r\n vertical-align: middle;\r\n}\r\n\r\n.give-mobile-link img {\r\n max-width: 80%;\r\n height: auto;\r\n float: left;\r\n}\r\n\r\n//------------------------------------\r\n// Status Colors\r\n//------------------------------------\r\n\r\n.give-donation-status {\r\n > span {\r\n display: inline-block;\r\n width: 12px;\r\n height: 12px;\r\n position: relative;\r\n top: 1px;\r\n margin: 0;\r\n padding: 0;\r\n border-radius: 50%;\r\n background: #888;\r\n line-height: 16px;\r\n }\r\n\r\n //Pending\r\n &.status-pending > span {\r\n background-color: $orange;\r\n }\r\n\r\n //Complete\r\n &.status-complete > span, &.status-publish > span {\r\n background-color: $status-complete;\r\n }\r\n\r\n //Refunded\r\n &.status-refunded > span {\r\n background-color: $status-default;\r\n }\r\n\r\n &.status-failed > span {\r\n background-color: $red;\r\n }\r\n\r\n &.status-abandoned > span {\r\n background-color: $dark;\r\n }\r\n\r\n &.status-revoked > span {\r\n background-color: $status-revoked;\r\n }\r\n\r\n &.status-subscription > span, &.status-renewal > span, &.status-give_subscription > span {\r\n background-color: $status-subscription;\r\n }\r\n\r\n}\r\n\r\n//Test Payment Label\r\n#test-payment-label {\r\n @include give-label();\r\n background-color: $orange;\r\n margin: 0 15px;\r\n vertical-align: middle;\r\n}\r\n\r\n//ID & link field\r\n#give-payments-filter {\r\n\r\n .give-payment-id {\r\n @include give-label();\r\n font-weight: normal;\r\n @extend .give-item-label-gray;\r\n }\r\n\r\n .column-details {\r\n padding-right: 30px;\r\n }\r\n\r\n .give-donation-status {\r\n display: inline-block;\r\n }\r\n\r\n}\r\n\r\n//Payment View Metabox\r\n#give-order-update {\r\n .give-donation-status {\r\n display: inline-block;\r\n float: none;\r\n margin: 0 10px;\r\n position: relative;\r\n top: 3px;\r\n }\r\n}\r\n\r\n//Donation Column\r\n.column-donation_form {\r\n .donation-level-text-wrap {\r\n font-style: italic;\r\n display: block;\r\n }\r\n}\r\n\r\n/*---------------------\r\nResponsiveness\r\n---------------------------*/\r\n@media handheld, only screen and (max-width: 640px) {\r\n .wp-list-table.forms th {\r\n width: auto !important;\r\n }\r\n}\r\n\r\n.download_page_give-payment-history .ui-dialog .ui-dialog-titlebar-close span {\r\n margin-left: -8px;\r\n margin-top: -8px;\r\n}\r\n\r\n/* Payment Details\r\n-------------------------------------------------------------- */\r\n.give-admin-box .label {\r\n font-weight: 600;\r\n}\r\n\r\n.give-admin-box-inside {\r\n margin: 0;\r\n padding: 3px 10px;\r\n clear: both;\r\n border-bottom: 1px solid #eee;\r\n}\r\n\r\n.give-admin-box-inside .strong {\r\n font-weight: 600;\r\n}\r\n\r\n.give-payment-fees .fee-label {\r\n font-weight: normal;\r\n color: #666;\r\n}\r\n\r\n.give-admin-box .right {\r\n float: right;\r\n}\r\n\r\n#give-order-update .inside,\r\n#give-order-details .inside {\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n#give-order-update input.give_datepicker {\r\n width: 180px;\r\n}\r\n\r\n#give-order-update input[type=\"number\"].give-payment-time-hour,\r\n#give-order-update input[type=\"number\"].give-payment-time-min {\r\n width: 50px;\r\n}\r\n\r\n.give-admin-box-inside:last-child {\r\n border-bottom: 0;\r\n}\r\n\r\n#give-edit-order-form .data-payment-key {\r\n word-break: break-all;\r\n}\r\n\r\n.give-order-update-box #major-publishing-actions .button-secondary {\r\n margin-right: 10px;\r\n}\r\n\r\n#give-donation-overview th {\r\n text-align: left;\r\n}\r\n\r\n#give-donation-overview .give-select-chosen {\r\n width: 196px;\r\n}\r\n\r\n#give-donation-overview ul,\r\n#give-order-address-country-wrap select,\r\n#give-donor-details .order-data-address input,\r\n#give-edit-order-form .column input,\r\n#give-donor-details .order-data-column p.data input {\r\n clear: both;\r\n display: block;\r\n}\r\n\r\n.give-order-data input.small-text {\r\n margin: 0;\r\n}\r\n\r\n#give-order-update span.label {\r\n display: inline;\r\n width: 50px;\r\n}\r\n\r\n.give-order-update-box .button-primary {\r\n margin-right: 0;\r\n}\r\n\r\n#give-edit-order-form .column .description {\r\n padding-right: 10px;\r\n}\r\n\r\n#give-edit-order-form .column,\r\n#give-donation-overview .row > ul > li,\r\n#give-donation-overview .inside > ul > li {\r\n display: inline-block;\r\n position: relative;\r\n vertical-align: top;\r\n}\r\n\r\n#give-donation-overview ul {\r\n font-size: 0;\r\n\r\n li {\r\n font-size: 13px;\r\n\r\n &.actions {\r\n text-align: right;\r\n min-width: 200px;\r\n }\r\n\r\n &.remove {\r\n text-align: right;\r\n }\r\n\r\n }\r\n\r\n .row {\r\n padding: 12px;\r\n border-bottom: 1px solid #eee;\r\n }\r\n\r\n}\r\n\r\n#give-order-data .data span {\r\n color: #666;\r\n font-weight: 600;\r\n}\r\n\r\ninput.give-price-field {\r\n width: 80px;\r\n padding: 3px 5px;\r\n}\r\n\r\n.give_forms_page_give-payment-history.js .postbox .hndle {\r\n cursor: default;\r\n}\r\n\r\n//------------------------------------------\r\n//Payment Notes Section\r\n//------------------------------------------\r\n\r\n#give-payment-notes {\r\n textarea {\r\n min-height: 150px;\r\n }\r\n #give-add-payment-note {\r\n margin: 6px 0 15px;\r\n }\r\n\r\n}\r\n\r\n//------------------------------------------\r\n//Edit Order Form\r\n//------------------------------------------\r\n\r\n#give-billing-details {\r\n\r\n .column > div {\r\n margin: 0 0 10px;\r\n }\r\n\r\n label {\r\n display: block;\r\n }\r\n\r\n .column-container {\r\n padding: 5px 0 10px;\r\n }\r\n\r\n input[type=\"text\"] {\r\n width: 95%;\r\n }\r\n\r\n .chosen-container {\r\n width: 98% !important;\r\n }\r\n\r\n}\r\n\r\n//------------------------------------------\r\n//Responsive\r\n//------------------------------------------\r\n\r\n@media screen and (min-width: 1200px) {\r\n #give-edit-order-form .column {\r\n width: 33%;\r\n }\r\n\r\n #give-donation-overview.columns-4 li.actions {\r\n width: 25%;\r\n margin-top: 0;\r\n margin-right: 0;\r\n }\r\n\r\n}\r\n\r\n@media screen and (max-width: 1199px) {\r\n #give-edit-order-form .column {\r\n width: 49%;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 782px) {\r\n .order-data-column input[type=\"email\"] {\r\n padding: 6px 10px;\r\n }\r\n}\r\n\r\n//------------------------------------------\r\n//Donation Details\r\n//------------------------------------------\r\n#give-donor-details .inside, #give-donation-overview .inside {\r\n margin-top: 0;\r\n}\r\n\r\n.give_forms_page_give-payment-history #give-dashboard-widgets-wrap #side-sortables {\r\n padding-top: 0;\r\n}","/**\n * Give Admin Dashboard SCSS\n *\n * @description Styles the Give dashboard widget\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n.give-dashboard-widget {\n\n .give-dashboard-today {\n\ttext-align: center;\n\n\t.give-dashboard-date-today {\n\t margin: 10px 0 0;\n\t padding: 0;\n\t}\n\n\t.give-dashboard-happy-day {\n\t padding: 3px;\n\t margin: 0;\n\t}\n\n\t.give-dashboard-today-earnings {\n\t font-size: 42px;\n\t color: #4ead61;\n\t font-weight: bold;\n\t margin: 15px 0 0;\n\t line-height: 1;\n\t}\n\n\t.give-donations-today {\n\t font-size: 18px;\n\t font-weight: bold;\n\t margin: 0 0 30px;\n\t padding: 4px 0 1px;\n\t}\n\n\t.give-last-seven {\n\t font-size: 14px;\n\t font-weight: bold;\n\t padding: 0;\n\t margin: 0 0 30px;\n\t}\n\n }\n\n //Table Stats\n .give-table-stats {\n\twidth: 100%;\n\ttext-align: center;\n\tmargin: 0;\n\ttable-layout: fixed;\n\tborder-top: 1px solid #ececec;\n\tborder-spacing: 0;\n\n\t.give-dashboard-stat-total, .give-dashboard-stat-total-label {\n\t padding: 0;\n\t margin: 0;\n\t}\n\n\t.give-dashboard-stat-total {\n\t color: #4ead61;\n\t font-weight: bold;\n\t font-size: 16px;\n\t}\n\n }\n\n}\n\n//Fancy borders\n#give_dashboard_sales {\n\n > .inside {\n\tpadding: 0;\n }\n\n .give-table-stats {\n\ttd {\n\t padding: 10px 0;\n\t}\n\ttd:first-of-type {\n\t border-right: 1px solid #ececec;\n\t}\n\ttr#give-table-stats-tr-1 td {\n\t border-bottom: 1px solid #ececec;\n\t}\n }\n\n}\n\n//At a Glance Widget\n#dashboard_right_now {\n .give-forms-count:before {\n\t@include iconstyle();\n\tfont-size: 18px;\n\twidth: 18px;\n\theight: 18px;\n\tcontent: \"\\e800\";\n }\n}","/**\n * Give Forms SCSS\n *\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n//--------------------------------------------------------------\n// Donors Listing Page Style\n//--------------------------------------------------------------\n.give_forms_page_give-donors {\n .wrap > h2 {\n\tmargin-bottom: 15px;\n }\n\n .nav-tab-wrapper .dashicons {\n position: relative;\n top:2px;\n margin: 0 3px 0 0;\n }\n\n #give-donors-filter {\n\tposition: relative;\n\tp.search-box {\n\t float: left;\n\t margin: 0;\n\t}\n }\n\n .tablenav.top {\n\tfloat: right;\n\tclear: none;\n }\n}\n\n//--------------------------------------------------------------\n// Donor Styles\n//--------------------------------------------------------------\n#give-customer-card-wrapper {\n margin-left: -1px;\n z-index: 2;\n min-height: 200px;\n\n\n input {\n\tfont-weight: normal;\n }\n\n .customer-section {\n\tborder-bottom: 1px solid #eee;\n\tmargin-bottom: 10px;\n }\n\n .customer-section table {\n\tmargin-bottom: 0;\n }\n\n > div:first-child {\n\tpadding-top: 20px;\n }\n\n > div:last-child {\n\tpadding-bottom: 20px;\n\tborder: none;\n }\n\n //AVATAR\n .avatar-wrap {\n\tpadding: 0 15px 15px 0;\n\ttext-align: center;\n\tfloat: left;\n\n\timg {\n\t border-radius: 3px;\n\t}\n\n }\n\n a.delete {\n\ttext-decoration: none;\n\tcolor: #ff0000;\n\tmargin-right: 5px;\n }\n\n //Donor Header (non-avatar content)\n .donor-bio-header {\n\n\t.customer-since {\n\t margin: 10px 0;\n\t font-size: 16px;\n\t}\n\n\t.customer-id {\n display: inline-block;\n\t font-size: 24px;\n\t font-weight: 600;\n\t margin-right: 10px;\n\t}\n\n .customer-name-wrap {\n display: inline-block;\n }\n\n\t.customer-edit-link {\n\t margin-bottom: 15px;\n\t}\n\n }\n\n}\n\n.customer-main-wrapper {\n clear: both;\n margin: 0 0 20px;\n\n @media(max-width: 655px) {\n\twidth: 100%;\n }\n\n table {\n\tmargin: 0;\n }\n\n input {\n\twidth: 200px;\n }\n\n}\n\n//Donor Summary\n#donor-summary {\n padding: 0 20px;\n\n &:after {\n\tfont-family: \"dashicons\";\n\tcontent: \"\\f110\";\n\tposition: absolute;\n\ttop: 10px;\n\tright: 10px;\n\tfont-size: 100px;\n\tcolor: #F0F0F0;\n\tz-index: 0;\n }\n\n}\n#give-customer-card-wrapper .customer-address-wrapper {\n width: 202px;\n\n\tspan[data-key=\"line2\"] {\n\t\tdisplay: table;\n\t\tclear: both;\n\t}\n}\n\n#give-customer-card-wrapper .customer-address-wrapper select {\n width: 200px;\n}\n\n#give-customer-card-wrapper .customer-info {\n min-height: 185px;\n}\n\n#give-customer-card-wrapper .info-wrapper {\n min-height: 125px;\n}\n\n.customer-info .customer-name {\n font-size: 24px;\n font-weight: 600;\n}\n\n.disconnect-user a {\n font-size: 12px;\n font-weight: normal;\n text-decoration: none;\n}\n\n#customer-edit-actions {\n text-align: center;\n margin-bottom: 20px;\n line-height: 28px;\n}\n\n#customer-edit-actions .button-secondary {\n margin-right: 10px;\n}\n\n#give-customer-card-wrapper .edit-item {\n display: none;\n}\n\n#give-customer-card-wrapper .give_user_search_results {\n left: 1px;\n top: 16px;\n}\n\n#give-customer-card-wrapper .give_user_search_results ul {\n width: 200px\n}\n\n#customer-stats-wrapper {\n margin: 0 auto;\n text-align: center;\n padding: 15px;\n ul {\n\tmargin: 0;\n\tpadding: 0;\n\toverflow: hidden;\n\tli {\n\t width: 50%;\n\t float: left;\n\t line-height: 22px;\n\t font-size: 14px;\n\t margin: 0;\n\t}\n\n }\n\n a {\n\ttext-decoration: none;\n }\n}\n\n#customer-stats-wrapper .dashicons {\n color: #888;\n}\n\n#customer-tables-wrapper table {\n width: 100%;\n text-align: center;\n}\n\n#customer-tables-wrapper th {\n text-align: center;\n}\n\n#customer-tables-wrapper .donations tr > th:first-child,\n#customer-tables-wrapper .donations tr > td:first-child,\n#customer-tables-wrapper .emails tr > th:first-child,\n#customer-tables-wrapper .emails tr > td:first-child {\n text-align: left;\n}\n\n#customer-tables-wrapper .donations tr > td:only-child {\n text-align: center;\n}\n\n#customer-notes-wrapper {\n min-height: 50px;\n}\n\n.customer-notes-header span, .customer-notes-header img {\n font-weight: 600;\n line-height: 30px;\n vertical-align: middle;\n}\n\n.customer-note-input {\n width: 100%;\n margin-bottom: 5px;\n}\n\n//Customer Notes\n#give-customer-notes {\n div:nth-of-type(even) {\n\tbackground-color: #f9f9f9;\n }\n .customer-note-wrapper {\n\tborder-bottom: 1px solid #f9f9f9;\n\tmin-height: 38px;\n\tpadding: 0;\n\n\t.note-content-wrap {\n\t padding: 10px 12px;\n\t line-height: 20px;\n\t font-size: 14px;\n\t}\n\n }\n\n .give-no-customer-notes {\n\ttext-align: center;\n\tpadding: 20px;\n }\n\n}\n\n.customer-note-wrapper span {\n display: block;\n}\n\n.delete-customer {\n text-align: center;\n}\n\n","/**\r\n * Give Admin Buttons SCSS\r\n *\r\n * @package Give\r\n * @subpackage SCSS/Admin\r\n * @copyright Copyright (c) 2016, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n/*=Give Shortcode Button\r\n--------------------------------------*/\r\n\r\n@media screen and (max-width: 782px) {\r\n #wp-content-media-buttons a.give-thickbox {\r\n padding: 6px 14px;\r\n line-height: normal;\r\n font-size: 14px;\r\n height: auto;\r\n }\r\n .wp-media-buttons span#give-media-button {\r\n margin-top: 0 !important;\r\n margin-left: 2px !important;\r\n }\r\n}\r\n\r\n/*=Button in shortcode tinymce dialog\r\n--------------------------------------*/\r\n\r\n.mce-primary.mce-give-primary button {\r\n padding-right: 10px;\r\n padding-left: 10px;\r\n}\r\n\r\n/*=Admin Buttons w/ Icons\r\n--------------------------------------*/\r\n\r\n/* extends .wp-core-ui .button */\r\n.wp-core-ui .give-admin-button {\r\n padding-left: 7px;\r\n padding-right: 7px;\r\n}\r\n\r\n/* matches style of Add Media and Give Shortcodes buttons */\r\n.give-admin-button-icon {\r\n display: inline-block;\r\n width: 18px;\r\n height: 18px;\r\n vertical-align: text-top;\r\n margin: 0 2px;\r\n\r\n &:before {\r\n font: 400 18px/1 dashicons;\r\n speak: none;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n }\r\n\r\n /* specific DashIcon styles */\r\n &-update:before {\r\n content: \"\\f463\";\r\n }\r\n}\r\n","\n/* =Primary button in shortcode tinymce dialog\n-------------------------------------------------------------- */\n\n.mce-primary.mce-sc-primary button {\n\tpadding-right: 10px;\n\tpadding-left: 10px;\n}\n\n.mce-sc-popup {\n\ta {\n\t\ttext-decoration: underline;\n\t}\n\tp {\n\t\tmargin-bottom: 1em;\n\t\t&.strong {\n\t\t\tfont-weight: 600;\n\t\t}\n\t\t&.no-margin {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t\t&.margin-top {\n\t\t\tmargin-top: 1em;\n\t\t}\n\t}\n\t// Crop text which overflow in listbox.\n\t.mce-listbox button{\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden !important;\n\t}\n}\n\n/* =Shortcode button above wp_editor\n-------------------------------------------------------------- */\n\n@media screen and (max-width: 782px) {\n\t.wp-media-buttons button.sc-button span {\n\t\twidth: 18px !important;\n\t}\n}\n\n.wp-media-buttons {\n\tbutton.sc-button {\n\t\toutline: none;\n\t\tpadding-left: 5px;\n\t\tmargin-right: 0;\n\n\t\t&:active {\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n}\n\nbutton.sc-button {\n\t&:after {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\ttop: -1px;\n\t\tcontent: '';\n\t\twidth: 0;\n\t\theight: 0;\n\t\tborder-top: 6px solid #777;\n\t\tborder-right: 4px solid transparent;\n\t\tborder-left: 4px solid transparent;\n\t\tmargin: 0 3px 0 6px;\n\t}\n\n\t&.active:after {\n\t\ttop: -2px;\n\t\tborder-top: 0;\n\t\tborder-bottom: 6px solid #32373c;\n\t}\n}\n\n/* =Shortcode button dropdown menu\n-------------------------------------------------------------- */\n\n.sc-wrap {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 5px;\n}\n\ndiv.sc-menu {\n\tdisplay: none;\n\tposition: absolute;\n\ttop: 100%;\n\tleft: 0;\n\tmin-width: 100%;\n\tmax-height: 410px;\n\tfont-size: 14px;\n\tbox-shadow: 0 3px 5px rgba( 0, 0, 0, 0.2 );\n\tbackground: #fff;\n\tborder: 1px solid rgba( 0, 0, 0, 0.15 );\n\toverflow: auto;\n\toverflow-x: hidden;\n\tpadding: 5px 0;\n\tmargin: -2px 0 0;\n\tz-index: 1002;\n}\n\ndiv.sc-shortcode {\n\tdisplay: block;\n\twhite-space: nowrap;\n\tcursor: pointer;\n\tpadding: 6px 12px;\n\tmargin-bottom: 2px;\n\n\t&:hover {\n\t\tcolor: #fff;\n\t}\n}\n\n/* =Shortcode tinymce dialog backdrop\n-------------------------------------------------------------- */\n\n#mce-modal-block.mce-reset.mce-fade.mce-in {\n\topacity: 0.7;\n\tfilter: alpha(opacity=70);\n}\n","/**\n * Give System Info SCSS\n *\n * @description System Info Styles\n * @package Give\n * @subpackage SCSS/Admin\n * @copyright Copyright (c) 2016, WordImpress\n * @license https://opensource.org/licenses/gpl-3.0/ GNU Public License\n *\n * The following code is a derivative work of the code from the WooCommerce\n * plugin, which is licensed GPLv3. This code therefore is also licensed under\n * the terms of the GNU Public License, version 3.\n *\n * Copyright (c) 2015 WooThemes\n * Copyright (c) 2016 WordImpress, LLC\n*/\n\n.give-status-table {\n margin-bottom: 1em;\n\n h2 {\n font-size: 14px;\n margin: 0;\n }\n\n tr {\n &:nth-child(2n) {\n th,\n td {\n background: #fcfcfc;\n }\n }\n }\n\n th {\n font-weight: 700;\n padding: 9px;\n }\n\n td:first-child {\n width: 33%;\n }\n\n td.help {\n width: 1em;\n }\n\n td {\n padding: 9px;\n font-size: 1.1em;\n\n mark {\n background: transparent none;\n }\n\n mark.yes {\n color: $green;\n }\n\n mark.no {\n color: #999;\n }\n\n mark.error {\n color: $red;\n }\n\n ul {\n margin: 0;\n }\n }\n}\n\n.wrap div.give-debug-report-wrapper {\n margin-top: 1em;\n}\n\n.give-debug-report {\n display: none;\n margin: 10px 0;\n padding: 0;\n position: relative;\n\n textarea {\n font-family: monospace;\n width: 100%;\n margin: 0;\n height: 300px;\n padding: 20px;\n -moz-border-radius: 0;\n -webkit-border-radius: 0;\n border-radius: 0;\n resize: none;\n font-size: 12px;\n line-height: 20px;\n outline: 0;\n }\n}\n"],"mappings":"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","names":[]}
|
assets/sourcemaps/give.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"file":"give.css","sources":["frontend/give-frontend.scss","frontend/_variables.scss","frontend/_mixins.scss","frontend/fonts.scss","plugins/qtip.scss","frontend/receipt.scss","frontend/forms.scss","frontend/alerts.scss","plugins/magnific-popup.scss","plugins/_settings.scss","frontend/layouts.scss","frontend/progress-bar.scss","plugins/float-labels.scss","frontend/modal.scss","frontend/tables.scss","frontend/theme-compatibility.scss"],"sourcesContent":["/*!\r\n * Give Frontend SCSS/CSS\r\n *\r\n * @description: The Main SCSS file for FRONTEND styles which is compiled and minified via Gulp taskrunner\r\n * @package: Give\r\n * @subpackage: SCSS/Frontend\r\n * @copyright: Copyright (c) 2016, WordImpress\r\n * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n@import '_variables';\r\n@import '_mixins';\r\n@import 'fonts';\r\n@import '../plugins/qtip';\r\n@import 'receipt';\r\n@import 'forms';\r\n@import 'alerts';\r\n@import '../plugins/magnific-popup';\r\n@import 'layouts';\r\n@import 'progress-bar';\r\n@import '../plugins/float-labels';\r\n@import 'modal';\r\n@import 'tables';\r\n@import 'theme-compatibility';","/**\r\n * Give CSS Variables\r\n */\r\n\r\n$green: #7ad03a;\r\n$red: #a00;\r\n$orange: #ffba00;\r\n$blue: #2ea2cc;\r\n$dark: #333;\r\n$borders: #ccc;\r\n$light-gray: #EDEDED;\r\n\r\n//Status\r\n$status-default: #777;\r\n$status-complete: $green;\r\n$status-refunded: $status-default;\r\n$status-subscription: #5bc0de;\r\n$status-revoked: #d9534f;\r\n\r\n//Font sizes\r\n$font-size-medium: 18px;\r\n\r\n$primary: #007ba4;\r\n// Primary colour for buttons (alt)\r\n$primarytext: desaturate(lighten($primary, 50%), 18%);\r\n// Text on primary colour bg\r\n\r\n$secondary: desaturate(lighten($primary, 40%), 21%);\r\n// Secondary buttons\r\n$secondarytext: desaturate(darken($secondary, 60%), 21%);\r\n// Text on secondary colour bg\r\n\r\n$highlight: adjust-hue($primary, 150deg);\r\n// Prices, In stock labels, sales flash\r\n$highlightext: desaturate(lighten($highlight, 50%), 18%);\r\n// Text on highlight colour bg\r\n\r\n$contentbg: #fff;\r\n// Content BG - Tabs (active state)\r\n$subtext: #777;\r\n// small, breadcrumbs etc","/**\r\n * Clearfix\r\n */\r\n@mixin clearfix() {\r\n *zoom: 1;\r\n\r\n &:before,\r\n &:after {\r\n content: \" \";\r\n display: table;\r\n }\r\n\r\n &:after {\r\n clear: both;\r\n }\r\n}\r\n\r\n.give-clearfix {\r\n @include clearfix;\r\n}\r\n\r\n/**\r\n * Box Sizing\r\n * https://github.com/timrogers/sass-box-sizing-mixin\r\n */\r\n@mixin box-sizing($box-model) {\r\n -webkit-box-sizing: $box-model; // Safari <= 5\r\n -moz-box-sizing: $box-model; // Firefox <= 19\r\n box-sizing: $box-model;\r\n}\r\n\r\n/**\r\n * CSS3 Easing\r\n */\r\n@mixin easing-transition() {\r\n -moz-transition: 0.2s all linear;\r\n -o-transition: 0.2s all linear;\r\n transition: 0.2s all linear;\r\n}\r\n\r\n//Labels\r\n@mixin give-label() {\r\n padding: .2em .4em .3em;\r\n font-size: 11px;\r\n line-height: 1;\r\n color: #fff;\r\n text-align: center;\r\n white-space: nowrap;\r\n vertical-align: baseline;\r\n border-radius: .25em;\r\n \r\n &:hover {\r\n color:#fff;\r\n text-decoration: none;\r\n }\r\n}\r\n\r\n@mixin give-label-gray() {\r\n background-color: #929292;\r\n}\r\n@mixin give-label-orange() {\r\n background-color: #ffba00;\r\n}\r\n\r\n.give-item-label {\r\n @include give-label();\r\n}\r\n\r\n.give-item-label-gray {\r\n @include give-label-gray();\r\n}\r\n\r\n.give-item-label-orange {\r\n @include give-label-orange();\r\n}\r\n\r\n\r\n.give-item-label {\r\n @include give-label();\r\n}\r\n\r\n//Fields\r\n@mixin give-currency() {\r\n background-color: lighten($light-gray, 2%);\r\n border-top: 1px solid $borders;\r\n border-bottom: 1px solid $borders;\r\n color: $dark;\r\n margin: 0;\r\n padding: 0 12px;\r\n height: 35px;\r\n line-height: 35px;\r\n font-size: $font-size-medium;\r\n @include box-sizing(border-box);\r\n}\r\n\r\n@mixin give-input() {\r\n border: 1px solid $borders;\r\n background: #FFF;\r\n border-radius: 0;\r\n height: 35px;\r\n line-height: 35px;\r\n padding: 0 12px;\r\n margin: 0;\r\n font-size: $font-size-medium;\r\n @include box-sizing(border-box);\r\n}","/**\n * Give Frontend Fonts SCSS\n *\n * Fonts are from icomoon and the src paths need to be relative to template directory.\n * @package Give\n * @subpackage SCSS/Frontend\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n@font-face {\n font-family: 'give-icomoon';\n src: url('../assets/fonts/icomoon.eot?kdnr3d');\n src: url('../assets/fonts/icomoon.eot?kdnr3d#iefix') format('embedded-opentype'),\n url('../assets/fonts/icomoon.woff?kdnr3d') format('woff'),\n url('../assets/fonts/icomoon.svg?kdnr3d#icomoon') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n\n@mixin iconstyle() {\n font-family: 'give-icomoon';\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n\n // Better Font Rendering\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n[class^=\"give-icon-\"], [class*=\" give-icon-\"] {\n @include iconstyle();\n}\n\n.give-icon-lamp:before {\n content: \"\\e603\";\n}\n\n.give-icon-heart:before {\n content: \"\\e604\";\n}\n\n.give-icon-question:before {\n content: \"\\e602\";\n}\n\n.give-icon-info:before {\n content: \"\\e601\";\n}\n\n.give-icon-new-tab:before {\n content: \"\\ea7e\";\n}\n\n.give-icon-alert:before {\n content: \"\\f02d\";\n}\n\n.give-icon-help:before {\n content: \"\\e606\";\n}\n\n.give-icon-spinner:before {\n content: \"\\e605\";\n}\n\n.give-icon-spinner2:before {\n content: \"\\e607\";\n}\n\n.give-icon-plus:before {\n content: \"\\e040\";\n}\n\n.give-icon-minus:before {\n content: \"\\e041\";\n}\n\n.give-icon-locked:before {\n content: \"\\e600\";\n}\n\n.dashicons-give:before {\n @include iconstyle();\n content: \"\\e800\";\n}\n\n// --------------------------\n// Spinning Icons\n// --------------------------\n\n.fa-spin {\n -webkit-animation: spin 1000ms infinite linear;\n animation: spin 1000ms infinite linear;\n}\n\n@-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n","/*\n * qTip2 - Pretty powerful tooltips - v2.2.1\n * http://qtip2.com\n *\n * Copyright (c) 2014 \n * Released under the MIT licenses\n * http://jquery.org/license\n *\n * Date: Sun Sep 7 2014 12:09 GMT+0100+0100\n * Plugins: tips modal viewport svg imagemap ie6\n * Styles: core basic css3\n */\n.qtip{\n\tposition: absolute;\n\tleft: -28000px;\n\ttop: -28000px;\n\tdisplay: none;\n\n\tmax-width: 280px;\n\tmin-width: 50px;\n\n\tfont-size: 10.5px;\n\tline-height: 12px;\n\n\tdirection: ltr;\n\n\tbox-shadow: none;\n\tpadding: 0;\n}\n\n\t.qtip-content{\n\t\tposition: relative;\n\t\tpadding: 5px 9px;\n\t\toverflow: hidden;\n\n\t\ttext-align: left;\n\t\tword-wrap: break-word;\n\t}\n\n\t.qtip-titlebar{\n\t\tposition: relative;\n\t\tpadding: 5px 35px 5px 10px;\n\t\toverflow: hidden;\n\n\t\tborder-width: 0 0 1px;\n\t\tfont-weight: bold;\n\t}\n\n\t.qtip-titlebar + .qtip-content{ border-top-width: 0 !important; }\n\n\t/* Default close button class */\n\t.qtip-close{\n\t\tposition: absolute;\n\t\tright: -9px; top: -9px;\n\t\tz-index: 11; /* Overlap .qtip-tip */\n\n\t\tcursor: pointer;\n\t\toutline: medium none;\n\n\t\tborder: 1px solid transparent;\n\t}\n\n\t\t.qtip-titlebar .qtip-close{\n\t\t\tright: 4px; top: 50%;\n\t\t\tmargin-top: -9px;\n\t\t}\n\n\t\t* html .qtip-titlebar .qtip-close{ top: 16px; } /* IE fix */\n\n\t\t.qtip-titlebar .ui-icon,\n\t\t.qtip-icon .ui-icon{\n\t\t\tdisplay: block;\n\t\t\ttext-indent: -1000em;\n\t\t\tdirection: ltr;\n\t\t}\n\n\t\t.qtip-icon, .qtip-icon .ui-icon{\n\t\t\t-moz-border-radius: 3px;\n\t\t\t-webkit-border-radius: 3px;\n\t\t\tborder-radius: 3px;\n\t\t\ttext-decoration: none;\n\t\t}\n\n\t\t\t.qtip-icon .ui-icon{\n\t\t\t\twidth: 18px;\n\t\t\t\theight: 14px;\n\n\t\t\t\tline-height: 14px;\n\t\t\t\ttext-align: center;\n\t\t\t\ttext-indent: 0;\n\t\t\t\tfont: normal bold 10px/13px Tahoma,sans-serif;\n\n\t\t\t\tcolor: inherit;\n\t\t\t\tbackground: transparent none no-repeat -100em -100em;\n\t\t\t}\n\n/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */\n.qtip-focus{}\n\n/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */\n.qtip-hover{}\n\n/* Default tooltip style */\n.qtip-default{\n\tborder: 1px solid #F1D031;\n\n\tbackground-color: #FFFFA3;\n\tcolor: #555;\n}\n\n\t.qtip-default .qtip-titlebar{\n\t\tbackground-color: #FFEF93;\n\t}\n\n\t.qtip-default .qtip-icon{\n\t\tborder-color: #CCC;\n\t\tbackground: #F1F1F1;\n\t\tcolor: #777;\n\t}\n\n\t.qtip-default .qtip-titlebar .qtip-close{\n\t\tborder-color: #AAA;\n\t\tcolor: #111;\n\t}\n\n\n/*! Light tooltip style */\n.qtip-light{\n\tbackground-color: white;\n\tborder-color: #E2E2E2;\n\tcolor: #454545;\n}\n\n\t.qtip-light .qtip-titlebar{\n\t\tbackground-color: #f1f1f1;\n\t}\n\n\n/*! Dark tooltip style */\n.qtip-dark{\n\tbackground-color: #505050;\n\tborder-color: #303030;\n\tcolor: #f3f3f3;\n}\n\n\t.qtip-dark .qtip-titlebar{\n\t\tbackground-color: #404040;\n\t}\n\n\t.qtip-dark .qtip-icon{\n\t\tborder-color: #444;\n\t}\n\n\t.qtip-dark .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #303030;\n\t}\n\n\n/*! Cream tooltip style */\n.qtip-cream{\n\tbackground-color: #FBF7AA;\n\tborder-color: #F9E98E;\n\tcolor: #A27D35;\n}\n\n\t.qtip-cream .qtip-titlebar{\n\t\tbackground-color: #F0DE7D;\n\t}\n\n\t.qtip-cream .qtip-close .qtip-icon{\n\t\tbackground-position: -82px 0;\n\t}\n\n\n/*! Red tooltip style */\n.qtip-red{\n\tbackground-color: #F78B83;\n\tborder-color: #D95252;\n\tcolor: #912323;\n}\n\n\t.qtip-red .qtip-titlebar{\n\t\tbackground-color: #F06D65;\n\t}\n\n\t.qtip-red .qtip-close .qtip-icon{\n\t\tbackground-position: -102px 0;\n\t}\n\n\t.qtip-red .qtip-icon{\n\t\tborder-color: #D95252;\n\t}\n\n\t.qtip-red .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #D95252;\n\t}\n\n\n/*! Green tooltip style */\n.qtip-green{\n\tbackground-color: #CAED9E;\n\tborder-color: #90D93F;\n\tcolor: #3F6219;\n}\n\n\t.qtip-green .qtip-titlebar{\n\t\tbackground-color: #B0DE78;\n\t}\n\n\t.qtip-green .qtip-close .qtip-icon{\n\t\tbackground-position: -42px 0;\n\t}\n\n\n/*! Blue tooltip style */\n.qtip-blue{\n\tbackground-color: #E5F6FE;\n\tborder-color: #ADD9ED;\n\tcolor: #5E99BD;\n}\n\n\t.qtip-blue .qtip-titlebar{\n\t\tbackground-color: #D0E9F5;\n\t}\n\n\t.qtip-blue .qtip-close .qtip-icon{\n\t\tbackground-position: -2px 0;\n\t}\n\n\n.qtip-shadow{\n\t-webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\n\t-moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\n\tbox-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\n}\n\n/* Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */\n.qtip-rounded,\n.qtip-tipsy,\n.qtip-bootstrap{\n\t-moz-border-radius: 5px;\n\t-webkit-border-radius: 5px;\n\tborder-radius: 5px;\n}\n\n.qtip-rounded .qtip-titlebar{\n\t-moz-border-radius: 4px 4px 0 0;\n\t-webkit-border-radius: 4px 4px 0 0;\n\tborder-radius: 4px 4px 0 0;\n}\n\n/* Youtube tooltip style */\n.qtip-youtube{\n\t-moz-border-radius: 2px;\n\t-webkit-border-radius: 2px;\n\tborder-radius: 2px;\n\n\t-webkit-box-shadow: 0 0 3px #333;\n\t-moz-box-shadow: 0 0 3px #333;\n\tbox-shadow: 0 0 3px #333;\n\n\tcolor: white;\n\tborder: 0 solid transparent;\n\n\tbackground: #4A4A4A;\n\tbackground-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,black));\n\tbackground-image: -webkit-linear-gradient(top,#4A4A4A 0,black 100%);\n\tbackground-image: -moz-linear-gradient(top,#4A4A4A 0,black 100%);\n\tbackground-image: -ms-linear-gradient(top,#4A4A4A 0,black 100%);\n\tbackground-image: -o-linear-gradient(top,#4A4A4A 0,black 100%);\n}\n\n\t.qtip-youtube .qtip-titlebar{\n\t\tbackground-color: #4A4A4A;\n\t\tbackground-color: rgba(0,0,0,0);\n\t}\n\n\t.qtip-youtube .qtip-content{\n\t\tpadding: .75em;\n\t\tfont: 12px arial,sans-serif;\n\n\t\tfilter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);\";\n\t}\n\n\t.qtip-youtube .qtip-icon{\n\t\tborder-color: #222;\n\t}\n\n\t.qtip-youtube .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #303030;\n\t}\n\n\n/* jQuery TOOLS Tooltip style */\n.qtip-jtools{\n\tbackground: #232323;\n\tbackground: rgba(0, 0, 0, 0.7);\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323));\n\tbackground-image: -moz-linear-gradient(top, #717171, #232323);\n\tbackground-image: -webkit-linear-gradient(top, #717171, #232323);\n\tbackground-image: -ms-linear-gradient(top, #717171, #232323);\n\tbackground-image: -o-linear-gradient(top, #717171, #232323);\n\n\tborder: 2px solid #ddd;\n\tborder: 2px solid rgba(241,241,241,1);\n\n\t-moz-border-radius: 2px;\n\t-webkit-border-radius: 2px;\n\tborder-radius: 2px;\n\n\t-webkit-box-shadow: 0 0 12px #333;\n\t-moz-box-shadow: 0 0 12px #333;\n\tbox-shadow: 0 0 12px #333;\n}\n\n\t/* IE Specific */\n\t.qtip-jtools .qtip-titlebar{\n\t\tbackground-color: transparent;\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)\";\n\t}\n\t.qtip-jtools .qtip-content{\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)\";\n\t}\n\n\t.qtip-jtools .qtip-titlebar,\n\t.qtip-jtools .qtip-content{\n\t\tbackground: transparent;\n\t\tcolor: white;\n\t\tborder: 0 dashed transparent;\n\t}\n\n\t.qtip-jtools .qtip-icon{\n\t\tborder-color: #555;\n\t}\n\n\t.qtip-jtools .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #333;\n\t}\n\n\n/* Cluetip style */\n.qtip-cluetip{\n\t-webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\n\t-moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\n\tbox-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\n\n\tbackground-color: #D9D9C2;\n\tcolor: #111;\n\tborder: 0 dashed transparent;\n}\n\n\t.qtip-cluetip .qtip-titlebar{\n\t\tbackground-color: #87876A;\n\t\tcolor: white;\n\t\tborder: 0 dashed transparent;\n\t}\n\n\t.qtip-cluetip .qtip-icon{\n\t\tborder-color: #808064;\n\t}\n\n\t.qtip-cluetip .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #696952;\n\t\tcolor: #696952;\n\t}\n\n\n/* Tipsy style */\n.qtip-tipsy{\n\tbackground: black;\n\tbackground: rgba(0, 0, 0, .87);\n\n\tcolor: white;\n\tborder: 0 solid transparent;\n\n\tfont-size: 11px;\n\tfont-family: 'Lucida Grande', sans-serif;\n\tfont-weight: bold;\n\tline-height: 16px;\n\ttext-shadow: 0 1px black;\n}\n\n\t.qtip-tipsy .qtip-titlebar{\n\t\tpadding: 6px 35px 0 10px;\n\t\tbackground-color: transparent;\n\t}\n\n\t.qtip-tipsy .qtip-content{\n\t\tpadding: 6px 10px;\n\t}\n\n\t.qtip-tipsy .qtip-icon{\n\t\tborder-color: #222;\n\t\ttext-shadow: none;\n\t}\n\n\t.qtip-tipsy .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #303030;\n\t}\n\n\n/* Tipped style */\n.qtip-tipped{\n\tborder: 3px solid #959FA9;\n\n\t-moz-border-radius: 3px;\n\t-webkit-border-radius: 3px;\n\tborder-radius: 3px;\n\n\tbackground-color: #F9F9F9;\n\tcolor: #454545;\n\n\tfont-weight: normal;\n\tfont-family: serif;\n}\n\n\t.qtip-tipped .qtip-titlebar{\n\t\tborder-bottom-width: 0;\n\n\t\tcolor: white;\n\t\tbackground: #3A79B8;\n\t\tbackground-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D));\n\t\tbackground-image: -webkit-linear-gradient(top, #3A79B8, #2E629D);\n\t\tbackground-image: -moz-linear-gradient(top, #3A79B8, #2E629D);\n\t\tbackground-image: -ms-linear-gradient(top, #3A79B8, #2E629D);\n\t\tbackground-image: -o-linear-gradient(top, #3A79B8, #2E629D);\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)\";\n\t}\n\n\t.qtip-tipped .qtip-icon{\n\t\tborder: 2px solid #285589;\n\t\tbackground: #285589;\n\t}\n\n\t\t.qtip-tipped .qtip-icon .ui-icon{\n\t\t\tbackground-color: #FBFBFB;\n\t\t\tcolor: #555;\n\t\t}\n\n\n/**\n * Twitter Bootstrap style.\n *\n * Tested with IE 8, IE 9, Chrome 18, Firefox 9, Opera 11.\n * Does not work with IE 7.\n */\n.qtip-bootstrap{\n\t/** Taken from Bootstrap body */\n\tfont-size: 14px;\n\tline-height: 20px;\n\tcolor: #333333;\n\n\t/** Taken from Bootstrap .popover */\n\tpadding: 1px;\n\tbackground-color: #ffffff;\n\tborder: 1px solid #ccc;\n\tborder: 1px solid rgba(0, 0, 0, 0.2);\n\t-webkit-border-radius: 6px;\n\t-moz-border-radius: 6px;\n\tborder-radius: 6px;\n\t-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n\t-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n\tbox-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n\t-webkit-background-clip: padding-box;\n\t-moz-background-clip: padding;\n\tbackground-clip: padding-box;\n}\n\n\t.qtip-bootstrap .qtip-titlebar{\n\t\t/** Taken from Bootstrap .popover-title */\n\t\tpadding: 8px 14px;\n\t\tmargin: 0;\n\t\tfont-size: 14px;\n\t\tfont-weight: normal;\n\t\tline-height: 18px;\n\t\tbackground-color: #f7f7f7;\n\t\tborder-bottom: 1px solid #ebebeb;\n\t\t-webkit-border-radius: 5px 5px 0 0;\n\t\t-moz-border-radius: 5px 5px 0 0;\n\t\tborder-radius: 5px 5px 0 0;\n\t}\n\n\t\t.qtip-bootstrap .qtip-titlebar .qtip-close{\n\t\t\t/**\n\t\t\t * Overrides qTip2:\n\t\t\t * .qtip-titlebar .qtip-close{\n\t\t\t * [...]\n\t\t\t * right: 4px;\n\t\t\t * top: 50%;\n\t\t\t * [...]\n\t\t\t * border-style: solid;\n\t\t\t * }\n\t\t\t */\n\t\t\tright: 11px;\n\t\t\ttop: 45%;\n\t\t\tborder-style: none;\n\t\t}\n\n\t.qtip-bootstrap .qtip-content{\n\t\t/** Taken from Bootstrap .popover-content */\n\t\tpadding: 9px 14px;\n\t}\n\n\t.qtip-bootstrap .qtip-icon{\n\t\t/**\n\t\t * Overrides qTip2:\n\t\t * .qtip-default .qtip-icon {\n\t\t * border-color: #CCC;\n\t\t * background: #F1F1F1;\n\t\t * color: #777;\n\t\t * }\n\t\t */\n\t\tbackground: transparent;\n\t}\n\n\t\t.qtip-bootstrap .qtip-icon .ui-icon{\n\t\t\t/**\n\t\t\t * Overrides qTip2:\n\t\t\t * .qtip-icon .ui-icon{\n\t\t\t * width: 18px;\n\t\t\t * height: 14px;\n\t\t\t * }\n\t\t\t */\n\t\t\twidth: auto;\n\t\t\theight: auto;\n\n\t\t\t/* Taken from Bootstrap .close */\n\t\t\tfloat: right;\n\t\t\tfont-size: 20px;\n\t\t\tfont-weight: bold;\n\t\t\tline-height: 18px;\n\t\t\tcolor: #000000;\n\t\t\ttext-shadow: 0 1px 0 #ffffff;\n\t\t\topacity: 0.2;\n\t\t\tfilter: alpha(opacity=20);\n\t\t}\n\n\t\t.qtip-bootstrap .qtip-icon .ui-icon:hover{\n\t\t\t/* Taken from Bootstrap .close:hover */\n\t\t\tcolor: #000000;\n\t\t\ttext-decoration: none;\n\t\t\tcursor: pointer;\n\t\t\topacity: 0.4;\n\t\t\tfilter: alpha(opacity=40);\n\t\t}\n\n\n/* IE9 fix - removes all filters */\n.qtip:not(.ie9haxors) div.qtip-content,\n.qtip:not(.ie9haxors) div.qtip-titlebar{\n\tfilter: none;\n\t-ms-filter: none;\n}\n\n\n.qtip .qtip-tip{\n\tmargin: 0 auto;\n\toverflow: hidden;\n\tz-index: 10;\n\n}\n\n\t/* Opera bug #357 - Incorrect tip position\n\thttps://github.com/Craga89/qTip2/issues/367 */\n\tx:-o-prefocus, .qtip .qtip-tip{\n\t\tvisibility: hidden;\n\t}\n\n\t.qtip .qtip-tip,\n\t.qtip .qtip-tip .qtip-vml,\n\t.qtip .qtip-tip canvas{\n\t\tposition: absolute;\n\n\t\tcolor: #123456;\n\t\tbackground: transparent;\n\t\tborder: 0 dashed transparent;\n\t}\n\n\t.qtip .qtip-tip canvas{ top: 0; left: 0; }\n\n\t.qtip .qtip-tip .qtip-vml{\n\t\tbehavior: url(#default#VML);\n\t\tdisplay: inline-block;\n\t\tvisibility: visible;\n\t}\n\n\n#qtip-overlay{\n\tposition: fixed;\n\tleft: 0; top: 0;\n\twidth: 100%; height: 100%;\n}\n\n\t/* Applied to modals with show.modal.blur set to true */\n\t#qtip-overlay.blurs{ cursor: pointer; }\n\n\t/* Change opacity of overlay here */\n\t#qtip-overlay div{\n\t\tposition: absolute;\n\t\tleft: 0; top: 0;\n\t\twidth: 100%; height: 100%;\n\n\t\tbackground-color: black;\n\n\t\topacity: 0.7;\n\t\tfilter:alpha(opacity=70);\n\t\t-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)\";\n\t}\n\n\n.qtipmodal-ie6fix{\n\tposition: absolute !important;\n}\n","/**\r\n * Give Frontend Receipt SCSS\r\n *\r\n * @package Give\r\n * @subpackage SCSS/Frontend\r\n * @copyright Copyright (c) 2016, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n//------------------------------------------------------------\r\n// Email Browser Receipt Page\r\n//------------------------------------------------------------\r\nbody.give_receipt_page {\r\n\tbackground-color: #fff;\r\n\tcolor: #141412;\r\n\tmargin: 0;\r\n\tfont-family: Helvetica, sans-serif;\r\n\tfont-size: 12px;\r\n\r\n\t#give_receipt_wrapper {\r\n\t\twidth: 660px;\r\n\t\tmargin: 0 auto;\r\n\t\tpadding: 50px 0;\r\n\t}\r\n\r\n\ttable {\r\n\t\tdisplay: table;\r\n\t\twidth: 100%;\r\n\t\tborder-bottom: 1px solid #ededed;\r\n\t\tborder-collapse: collapse;\r\n\t\tborder-spacing: 0;\r\n\t\tfont-size: 14px;\r\n\t\tline-height: 2;\r\n\t\tmargin: 0 0 20px;\r\n\t}\r\n\r\n\ttd, th {\r\n\t\tdisplay: table-cell;\r\n\t\ttext-align: left;\r\n\t\tborder-top: 1px solid #ededed;\r\n\t\tpadding: 6px 10px 6px 0;\r\n\t\tfont-weight: normal;\r\n\t}\r\n\r\n\tth {\r\n\t\tfont-weight: bold;\r\n\t\ttext-transform: uppercase;\r\n\t}\r\n\r\n\th3 {\r\n\t\tfont-size: 22px;\r\n\t\tmargin: 40px 0 5px;\r\n\t\tclear: both;\r\n\t\tdisplay: block;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\r\n}\r\n\r\n//------------------------------------------------------------\r\n// On Site Donation Summary Tables\r\n//------------------------------------------------------------\r\n\r\ntable#give_donation_receipt_products,\r\ntable#give_donation_receipt {\r\n\twidth: 100%;\r\n}\r\n\r\ntable#give_donation_receipt {\r\n\r\n\ttd, th, td, th {\r\n\t\ttext-align: left;\r\n\t}\r\n\r\n\t.give-receipt-thead-text {\r\n\t\tfont-size: 18px;\r\n\t\ttext-align: center;\r\n\t\tdisplay: block;\r\n\r\n\t\t> span {\r\n\t\t\tfont-size: 16px;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tli {\r\n\t\tmargin: 0 0 8px 10px;\r\n\t}\r\n\r\n\tul {\r\n\t\tmargin: 0;\r\n\t\tpadding: 0;\r\n\t\tlist-style: none;\r\n\t}\r\n\r\n\t.give_receipt_payment_status.pending,\r\n\t.give_receipt_payment_status.revoked,\r\n\t.give_receipt_payment_status.failed {\r\n\t\tcolor: #f73f2e;\r\n\t}\r\n\r\n\tspan.donation-level-text-wrap {\r\n\t\tfont-style: italic;\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n}\r\n","/**\r\n * Give Frontend Forms SCSS\r\n *\r\n * @package Give\r\n * @subpackage SCSS/Frontend\r\n * @copyright Copyright (c) 2016, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n/*------------------------------------\r\nLayout\r\n--------------------------------------*/\r\n.give-clearfix {\r\n @include clearfix();\r\n}\r\n\r\n[id*='give-form'] {\r\n\r\n .give-hidden {\r\n display: none;\r\n }\r\n\r\n fieldset {\r\n border: none;\r\n padding: 0;\r\n margin: 0;\r\n border: 0;\r\n }\r\n\r\n .give-form-title {\r\n margin: 0 0 15px;\r\n }\r\n\r\n div#give-sidebar-left {\r\n width: 38%;\r\n float: left;\r\n }\r\n\r\n div.images {\r\n margin: 0 0 15px;\r\n\r\n img {\r\n display: block;\r\n width: 100%;\r\n height: auto;\r\n box-shadow: none;\r\n }\r\n }\r\n\r\n .give-custom-amount-text {\r\n clear: both;\r\n }\r\n\r\n div.summary {\r\n width: 58%;\r\n float: right;\r\n\r\n &.give-full-width {\r\n width: 100%;\r\n float: none;\r\n }\r\n }\r\n\r\n .give_form select.give-select.required {\r\n color: #000;\r\n }\r\n\r\n div.give-form-content-wrap {\r\n margin: 0 0 20px;\r\n }\r\n\r\n div.give-form-content-wrap.give_post_form-content {\r\n margin: 20px 0 0 0;\r\n }\r\n\r\n &.give-display-reveal, &.give-display-modal {\r\n .give-btn {\r\n margin: 0 0 15px;\r\n }\r\n #give-payment-mode-select, #give_purchase_form_wrap {\r\n display: none;\r\n }\r\n }\r\n\r\n .cc-address {\r\n margin-bottom: 15px;\r\n }\r\n}\r\n\r\n/*------------------------------------\r\nSingle Forms\r\n--------------------------------------*/\r\n\r\n.single-give_forms {\r\n\r\n &.et_right_sidebar #main-content .container:before {\r\n display: none; //hide Divi sidebar sep on single give forms\r\n }\r\n\r\n .give_forms {\r\n @include clearfix;\r\n }\r\n\r\n}\r\n\r\n/*------------------------------------\r\nGravatar List\r\n--------------------------------------*/\r\n#give-purchase-gravatars {\r\n\r\n .give-gravatars-title {\r\n margin: 0 0 15px;\r\n }\r\n\r\n .give-purchase-gravatars-list {\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n\r\n li {\r\n list-style-type: none;\r\n display: inline-block;\r\n margin: 0 5px 0 0;\r\n padding: 0;\r\n }\r\n\r\n }\r\n}\r\n\r\n/*------------------------------------\r\nBase Form Styles\r\n--------------------------------------*/\r\n\r\nform[id*='give-form'],\r\n#give-recurring-form,\r\nform.give-form {\r\n margin: 0 0 25px;\r\n padding: 0;\r\n\r\n .give-hidden {\r\n display: none;\r\n }\r\n .give-tooltip {\r\n margin: 0 3px;\r\n padding: 0;\r\n font-size: 14px;\r\n @include easing-transition();\r\n color: transparentize($dark, 0.5);\r\n\r\n &:hover {\r\n color: $dark;\r\n }\r\n }\r\n\r\n legend,\r\n h3.give-section-break,\r\n h4.give-section-break {\r\n font-size: 1.15em;\r\n font-weight: bold;\r\n margin: 10px 0 15px;\r\n padding: 0 0 5px;\r\n border-bottom: 1px solid rgba( 0, 0, 0, .1 );\r\n width: 100%;\r\n\r\n span.sub-text {\r\n font-style: italic;\r\n font-weight: normal;\r\n }\r\n }\r\n\r\n //Form Layout\r\n .form-row {\r\n @include clearfix();\r\n @include box-sizing(border-box);\r\n margin: 0 0 15px;\r\n overflow: visible;\r\n padding: 0;\r\n\r\n // Prevent some themes from removing margin on last-child.\r\n &:last-child {\r\n margin-bottom: 15px;\r\n }\r\n\r\n label {\r\n display: block;\r\n margin: 0 0 5px;\r\n position: relative;\r\n line-height: 1.7;\r\n\r\n &.checkbox {\r\n display: inline;\r\n }\r\n\r\n }\r\n\r\n select, textarea, input[type=\"text\"], input[type=\"tel\"], input[type=\"email\"], input[type=\"password\"] {\r\n @include box-sizing(border-box);\r\n width: 100%;\r\n border-radius: 0;\r\n outline: none;\r\n color: $dark;\r\n background-color: #FDFDFD;\r\n border: 1px solid $borders;\r\n margin: 0;\r\n padding: .5em;\r\n\r\n &:focus {\r\n background-color: #fff;\r\n }\r\n &.required {\r\n color: $dark;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n .form-row-first,\r\n .form-row-last {\r\n float: left;\r\n width: 48.5%;\r\n }\r\n\r\n .form-row-last {\r\n float: right;\r\n }\r\n\r\n .form-row-wide {\r\n @include clearfix();\r\n clear: both;\r\n }\r\n\r\n .form-row-two-thirds {\r\n float: left;\r\n width: 65.75%;\r\n\r\n &.form-row-first {\r\n margin-left: 0;\r\n }\r\n }\r\n\r\n .form-row-one-third {\r\n float: left;\r\n width: 31.25%;\r\n margin-left: 3%;\r\n\r\n &.form-row-first {\r\n margin-left: 0;\r\n }\r\n }\r\n\r\n .form-row-responsive {\r\n // Full-width on small viewports.\r\n @media ( max-width: 480px ) {\r\n margin-left: 0;\r\n margin-right: 0;\r\n width: 100%;\r\n }\r\n }\r\n\r\n .give-error,\r\n .give-required-indicator {\r\n color: $red;\r\n }\r\n\r\n .card-expiration {\r\n > select {\r\n width: 44%;\r\n margin: 0;\r\n }\r\n > span.exp-divider {\r\n display: inline;\r\n text-align: center;\r\n }\r\n\r\n select.card-expiry-year {\r\n float: right;\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\n/*---------------------------------\r\nForm Price & Amount\r\n-----------------------------------*/\r\n\r\nform[id*='give-form'] {\r\n\r\n .give-donation-amount {\r\n margin: 0 0 15px;\r\n\r\n .give-currency-symbol {\r\n @include give-currency();\r\n float: left;\r\n\r\n &.give-currency-position-before {\r\n border-left: 1px solid $borders;\r\n border-right: none;\r\n }\r\n &.give-currency-position-after {\r\n border-left: none;\r\n border-right: 1px solid $borders;\r\n }\r\n\r\n }\r\n\r\n #give-amount,\r\n #give-amount-text {\r\n @include give-input();\r\n min-width: 125px;\r\n float: left;\r\n\r\n &.invalid-amount {\r\n border: 1px solid red;\r\n }\r\n\r\n }\r\n\r\n input.give-amount-top {\r\n width: 125px;\r\n }\r\n\r\n span.give-final-total-amount {\r\n @include give-input();\r\n cursor: not-allowed;\r\n background: #FFF;\r\n float: left;\r\n }\r\n\r\n }\r\n\r\n #give_terms_agreement {\r\n\r\n legend {\r\n display: none;\r\n }\r\n \r\n label {\r\n display: inline-block;\r\n }\r\n\r\n }\r\n\r\n #give-final-total-wrap {\r\n margin: 10px 0 25px;\r\n padding: 0;\r\n @include clearfix();\r\n\r\n .give-donation-total-label {\r\n @include give-currency();\r\n float: left;\r\n border: 1px solid $borders;\r\n\r\n @media ( max-width: 480px ) {\r\n display: block;\r\n float: none;\r\n }\r\n }\r\n\r\n .give-final-total-amount {\r\n font-size: $font-size-medium;\r\n @include give-input();\r\n border-left: none;\r\n float: left;\r\n\r\n @media ( max-width: 480px ) {\r\n border: 1px solid $borders;\r\n border-top: 0;\r\n display: block;\r\n float: none;\r\n }\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\n.give-display-button-only > *:not(form) {\r\n display: none !important;\r\n}\r\n\r\n.give-display-button-only form > *:not(.give-btn-modal) {\r\n display: none !important;\r\n}\r\n\r\n/*---------------------------------\r\nRadio Lists\r\n-----------------------------------*/\r\nform[id*='give-form'] {\r\n input[type=\"radio\"] {\r\n margin: 0 .5em 0 0;\r\n }\r\n\r\n #give-donation-level-radio-list {\r\n //this is the radio list for the various user set donation levels\r\n margin: 0 0 15px;\r\n padding: 0;\r\n list-style: none;\r\n clear: both;\r\n\r\n > li {\r\n list-style-type: none;\r\n list-style-image: none;\r\n margin: 0;\r\n padding: 0;\r\n\r\n label {\r\n cursor: pointer;\r\n display: inline-block;\r\n margin: 0;\r\n }\r\n\r\n input[type=\"radio\"] {\r\n margin: 0 .5em 0 0;\r\n outline: none;\r\n width: auto;\r\n }\r\n }\r\n }\r\n\r\n #give-gateway-radio-list {\r\n //this is the radio list for to select a gateway\r\n @include clearfix();\r\n margin: 0 0 15px;\r\n padding: 0;\r\n list-style: none;\r\n\r\n > li {\r\n list-style-type: none;\r\n list-style-image: none;\r\n margin: 0;\r\n padding: 0;\r\n\r\n @media ( min-width: 480px ) {\r\n display: inline-block;\r\n margin-right: 15px;\r\n margin-left: 0;\r\n }\r\n\r\n label.give-gateway-option {\r\n cursor: pointer;\r\n display: inline;\r\n margin: 0;\r\n }\r\n\r\n input[type=\"radio\"] {\r\n margin: 0 .25em 0 0;\r\n outline: none;\r\n width: auto;\r\n display: inline;\r\n }\r\n\r\n }\r\n\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nCheckboxes\r\n-----------------------------------*/\r\nform[id*='give-form'] {\r\n input[type=\"checkbox\"] {\r\n margin: 0 .25em 0 0;\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nDonation Level: Dropdown/Select\r\n-----------------------------------*/\r\nform[id*='give-form'] {\r\n select.give-select-level {\r\n outline: none;\r\n border-radius: 0;\r\n min-width: 155px;\r\n border: 1px solid $borders;\r\n margin: 0 0 15px;\r\n display: block;\r\n clear: both;\r\n color: $dark;\r\n background-color: #FDFDFD;\r\n padding: .5em;\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nButtons\r\n-----------------------------------*/\r\n\r\n#give-donation-level-button-wrap {\r\n @include clearfix();\r\n margin: 0 0 15px;\r\n padding: 0;\r\n clear: both;\r\n list-style: none;\r\n\r\n > li {\r\n list-style-type: none;\r\n list-style-image: none;\r\n float: left;\r\n margin: 0 5px 5px 0;\r\n }\r\n\r\n}\r\n\r\n.give_terms_links {\r\n float: right;\r\n}\r\n\r\n/*---------------------------------\r\nCC Validation\r\n-----------------------------------*/\r\n\r\n[id*='give_secure_site_wrapper'] {\r\n padding: 4px 4px 15px 0;\r\n font-size: 16px;\r\n line-height: 20px;\r\n //Secure padlock (SSL/HTTPS)\r\n span.padlock {\r\n @include iconstyle();\r\n @extend .give-icon-locked;\r\n font-size: 16px;\r\n line-height: 20px;\r\n\r\n :before {\r\n display: inline-block;\r\n }\r\n }\r\n}\r\n\r\n#give_purchase_form_wrap {\r\n input.give-input.card-number.valid {\r\n background-image: url('../assets/images/tick.png');\r\n background-repeat: no-repeat;\r\n background-position: 98% 50%;\r\n background-size: 16px;\r\n &.floatlabel-input {\r\n background-image: url('../assets/images/tick-alt.png');\r\n background-position: 100% 50%;\r\n background-size: 72px 16px;\r\n }\r\n }\r\n\r\n span.card-type {\r\n position: absolute;\r\n top: -2px;\r\n right: 0;\r\n width: 37px;\r\n height: 26px;\r\n background-size: 37px 26px !important;\r\n }\r\n\r\n .floatlabel {\r\n span.card-type {\r\n top: 11px;\r\n right: 11px;\r\n }\r\n }\r\n\r\n span.card-type.off {\r\n display: none;\r\n }\r\n span.card-type.visa {\r\n background: url('../assets/images/visa.png') no-repeat;\r\n }\r\n span.card-type.mastercard {\r\n background: url('../assets/images/mastercard.png') no-repeat;\r\n }\r\n span.card-type.discover {\r\n background: url('../assets/images/discover.png') no-repeat;\r\n }\r\n span.card-type.amex {\r\n background: url('../assets/images/amex.png') no-repeat;\r\n }\r\n span.card-type.maestro {\r\n background: url('../assets/images/maestro.png') no-repeat;\r\n }\r\n span.card-type.dinersclub {\r\n background: url('../assets/images/diners-club.png') no-repeat;\r\n }\r\n span.card-type.jcb {\r\n background: url('../assets/images/jcb.png') no-repeat;\r\n }\r\n span.card-type.dankort {\r\n background: url('../assets/images/dankort.png') no-repeat;\r\n }\r\n span.card-type.unionpay {\r\n background: url('../assets/images/unionpay.png') no-repeat;\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nLoading Animation\r\n-----------------------------------*/\r\n\r\n/* Loading Elipsis */\r\n@-webkit-keyframes opacity {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@-moz-keyframes opacity {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0;\r\n }\r\n}\r\n\r\nform[id*='give-form'] {\r\n p.give-loading-text,\r\n span.give-loading-text {\r\n display: none;\r\n float: right;\r\n height: 16px;\r\n width: 16px;\r\n margin: 0;\r\n padding: 0;\r\n font-style: italic;\r\n line-height: 20px;\r\n font-size: 16px;\r\n font-weight: normal;\r\n }\r\n\r\n .give-loading-animation {\r\n @include iconstyle();\r\n float: left;\r\n height: 16px;\r\n width: 16px;\r\n line-height: 1;\r\n font-size: 16px;\r\n margin: 0 5px 0 0;\r\n background-size: 20px 20px;\r\n background-repeat: no-repeat;\r\n background-color: transparent;\r\n @extend .give-icon-spinner2;\r\n @extend .fa-spin;\r\n }\r\n\r\n .give-payment-mode-label\r\n .give-loading-text {\r\n float: right;\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nUser Login\r\n-----------------------------------*/\r\n\r\n/*\r\n * User Login within Donation Form\r\n * (visible when Form Display > Login is enabled)\r\n */\r\n[id*='give-form'] {\r\n .give-login-account-wrap {\r\n margin: 0 0 15px;\r\n position: relative;\r\n\r\n .give-login-message {\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n .give-loading-text {\r\n position: absolute;\r\n right: 0;\r\n top: .25em;\r\n }\r\n }\r\n\r\n fieldset[id^=\"give-login-fields\"] {\r\n margin: 0 0 15px;\r\n }\r\n\r\n .give-new-account-link {\r\n margin: 0 0 15px;\r\n padding: 0;\r\n }\r\n\r\n .give_login_forgot_password {\r\n float: right;\r\n }\r\n}\r\n\r\n[id^='give-user-login-submit'],\r\n.give-submit-button-wrap {\r\n\r\n input.give-cancel-login {\r\n margin-left: 5px;\r\n }\r\n\r\n span.give-loading-animation {\r\n margin: 0 0 0 .5em;\r\n display: none;\r\n }\r\n .give-submit {\r\n float: left;\r\n }\r\n}\r\n\r\n/* Login Shortcode Form */\r\n#give-login-form,\r\n#give-register-form {\r\n legend, div.give-login {\r\n line-height: 2;\r\n margin-bottom: 15px;\r\n }\r\n\r\n label {\r\n min-width: 100px;\r\n display: inline-block;\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nModal - Magnific Popup\r\n-----------------------------------*/\r\n\r\n//Show/Hide elements in Magnific Popup\r\ndiv.give-form-wrap.mfp-hide {\r\n display: block !important;\r\n}\r\n\r\ndiv.mfp-content {\r\n //Basic Styles\r\n fieldset {\r\n p, ol, ul {\r\n margin-bottom: 1.2em;\r\n line-height: 1.4;\r\n }\r\n }\r\n\r\n}\r\n\r\n/*---------------------------------\r\nBasic Button Style\r\n-----------------------------------*/\r\n\r\n.give-btn {\r\n background: $light-gray;\r\n border: 1px solid $borders;\r\n color: $dark;\r\n padding: 8px 10px;\r\n cursor: pointer;\r\n line-height: 1.2em;\r\n font-size: 1em;\r\n\r\n &:hover {\r\n background: #dbdbdb;\r\n }\r\n\r\n}\r\n\r\n/*---------------------------------\r\nEmail Access Form\r\n-----------------------------------*/\r\n\r\nform#give-email-access-form {\r\n div.g-recaptcha, input#give-email {\r\n margin: 0 0 15px;\r\n }\r\n input#give-email {\r\n width: 305px;\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nResponsiveness\r\n-----------------------------------*/\r\n@media (max-width: 768px) {\r\n // Multi-column layout for single forms.\r\n [id*='give-form'] {\r\n div.images, div.summary {\r\n width: 100%;\r\n float: none;\r\n }\r\n\r\n div#give-sidebar-left {\r\n width: 100%;\r\n float: none;\r\n }\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nSection Breaks\r\n-----------------------------------*/\r\n\r\n// Headings are commonly styled by themes, so we need to be extra-specific.\r\n.give-form-wrap .give-form h3.give-section-break,\r\n.give-form-wrap .give-form h4.give-section-break {\r\n margin: 10px 0 0;\r\n}\r\n","/*---------------------------------\nNotices, Warnings & Errors\n-----------------------------------*/\n.give_error, .give_success {\n position: relative;\n margin: 15px 0;\n background: #F9F9F9;\n padding: 1em 1em 1em 2em;\n border-left: 4px solid $red;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.125);\n clear: both;\n\n > p {\n margin: 0 !important;\n color: $dark;\n }\n\n &:before {\n @include iconstyle();\n position: absolute;\n top: 50%;\n font-size: 16px;\n margin-top: -15px;\n left: -17px;\n background-color: $red;\n color: #FFF;\n width: 30px;\n height: 30px;\n border-radius: 100%;\n text-align: center;\n line-height: 30px;\n text-shadow: 1px 1px rgba(0, 0, 0, 0.5);\n content: '\\f02d';\n }\n\n &.give_warning {\n border-color: $orange;\n\n &:before {\n background-color: $orange;\n text-shadow: 1px 1px rgba(0, 0, 0, 0.1);\n }\n }\n}\n\n.give_success {\n border-color: $green;\n\n &:before {\n background-color: $green;\n content: '\\e601';\n text-shadow: 1px 1px rgba(0, 0, 0, 0.2);\n }\n\n}","/* Magnific Popup CSS */\n\n@import \"settings\";\n\n////////////////////////\n//\n// Contents:\n//\n// 1. General styles\n// - Transluscent overlay\n// - Containers, wrappers\n// - Cursors\n// - Helper classes\n// 2. Appearance\n// - Preloader & text that displays error messages\n// - CSS reset for buttons\n// - Close icon\n// - \"1 of X\" counter\n// - Navigation (left/right) arrows\n// - Iframe content type styles\n// - Image content type styles\n// - Media query where size of arrows is reduced\n// - IE7 support\n//\n////////////////////////\n\n\n\n////////////////////////\n// 1. General styles\n////////////////////////\n\n// Transluscent overlay\n.mfp-bg {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: $mfp-z-index-base + 2;\n overflow: hidden;\n position: fixed;\n\n background: $mfp-overlay-color;\n opacity: $mfp-overlay-opacity;\n}\n\n// Wrapper for popup\n.mfp-wrap {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: $mfp-z-index-base + 3;\n position: fixed;\n outline: none !important;\n -webkit-backface-visibility: hidden; // fixes webkit bug that can cause \"false\" scrollbar\n}\n\n// Root container\n.mfp-container {\n text-align: center;\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n padding: 0 $mfp-popup-padding-left;\n box-sizing: border-box;\n}\n\n// Vertical centerer helper\n.mfp-container {\n &:before {\n content: '';\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n }\n}\n\n// Remove vertical centering when popup has class `mfp-align-top`\n.mfp-align-top {\n .mfp-container {\n &:before {\n display: none;\n }\n }\n}\n\n// Popup content holder\n.mfp-content {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n margin: 0 auto;\n text-align: left;\n z-index: $mfp-z-index-base + 5;\n}\n.mfp-inline-holder,\n.mfp-ajax-holder {\n .mfp-content {\n width: 100%;\n cursor: auto;\n }\n}\n\n// Cursors\n.mfp-ajax-cur {\n cursor: progress;\n}\n.mfp-zoom-out-cur {\n &, .mfp-image-holder .mfp-close {\n cursor: -moz-zoom-out;\n cursor: -webkit-zoom-out;\n cursor: zoom-out;\n }\n}\n.mfp-zoom {\n cursor: pointer;\n cursor: -webkit-zoom-in;\n cursor: -moz-zoom-in;\n cursor: zoom-in;\n}\n.mfp-auto-cursor {\n .mfp-content {\n cursor: auto;\n }\n}\n\n.mfp-close,\n.mfp-arrow,\n.mfp-preloader,\n.mfp-counter {\n -webkit-user-select:none;\n -moz-user-select: none;\n user-select: none;\n}\n\n// Hide the image during the loading\n.mfp-loading {\n &.mfp-figure {\n display: none;\n }\n}\n\n// Helper class that hides stuff\n@if $mfp-use-visuallyhidden {\n // From HTML5 Boilerplate https://github.com/h5bp/html5-boilerplate/blob/v4.2.0/doc/css.md#visuallyhidden\n .mfp-hide {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n }\n} @else {\n .mfp-hide {\n display: none !important;\n }\n}\n\n\n////////////////////////\n// 2. Appearance\n////////////////////////\n\n// Preloader and text that displays error messages\n.mfp-preloader {\n color: $mfp-controls-text-color;\n position: absolute;\n top: 50%;\n width: auto;\n text-align: center;\n margin-top: -0.8em;\n left: 8px;\n right: 8px;\n z-index: $mfp-z-index-base + 4;\n a {\n color: $mfp-controls-text-color;\n &:hover {\n color: $mfp-controls-text-color-hover;\n }\n }\n}\n\n// Hide preloader when content successfully loaded\n.mfp-s-ready {\n .mfp-preloader {\n display: none;\n }\n}\n\n// Hide content when it was not loaded\n.mfp-s-error {\n .mfp-content {\n display: none;\n }\n}\n\n// CSS-reset for buttons\nbutton {\n &.mfp-close,\n &.mfp-arrow {\n overflow: visible;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n display: block;\n outline: none;\n padding: 0;\n z-index: $mfp-z-index-base + 6;\n box-shadow: none;\n touch-action: manipulation;\n }\n &::-moz-focus-inner {\n padding: 0;\n border: 0\n }\n}\n\n\n// Close icon\n.mfp-close {\n width: 44px;\n height: 44px;\n line-height: 44px;\n\n position: absolute;\n right: 0;\n top: 0;\n text-decoration: none;\n text-align: center;\n opacity: $mfp-controls-opacity;\n padding: 0 0 18px 10px;\n color: $mfp-controls-color;\n\n font-style: normal;\n font-size: 28px;\n font-family: Arial, Baskerville, monospace;\n\n &:hover,\n &:focus {\n opacity: 1;\n }\n\n &:active {\n top: 1px;\n }\n}\n.mfp-close-btn-in {\n .mfp-close {\n color: $mfp-inner-close-icon-color;\n }\n}\n.mfp-image-holder,\n.mfp-iframe-holder {\n .mfp-close {\n color: $mfp-controls-color;\n right: -6px;\n text-align: right;\n padding-right: 6px;\n width: 100%;\n }\n}\n\n// \"1 of X\" counter\n.mfp-counter {\n position: absolute;\n top: 0;\n right: 0;\n color: $mfp-controls-text-color;\n font-size: 12px;\n line-height: 18px;\n white-space: nowrap;\n}\n\n// Navigation arrows\n@if $mfp-include-arrows {\n .mfp-arrow {\n position: absolute;\n opacity: $mfp-controls-opacity;\n margin: 0;\n top: 50%;\n margin-top: -55px;\n padding: 0;\n width: 90px;\n height: 110px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n &:active {\n margin-top: -54px;\n }\n &:hover,\n &:focus {\n opacity: 1;\n }\n &:before,\n &:after {\n content: '';\n display: block;\n width: 0;\n height: 0;\n position: absolute;\n left: 0;\n top: 0;\n margin-top: 35px;\n margin-left: 35px;\n border: medium inset transparent;\n }\n\n &:after {\n\n border-top-width: 13px;\n border-bottom-width: 13px;\n top:8px;\n }\n\n &:before {\n border-top-width: 21px;\n border-bottom-width: 21px;\n opacity: 0.7;\n }\n\n }\n\n .mfp-arrow-left {\n left: 0;\n &:after {\n border-right: 17px solid $mfp-controls-color;\n margin-left: 31px;\n }\n &:before {\n margin-left: 25px;\n border-right: 27px solid $mfp-controls-border-color;\n }\n }\n\n .mfp-arrow-right {\n right: 0;\n &:after {\n border-left: 17px solid $mfp-controls-color;\n margin-left: 39px\n }\n &:before {\n border-left: 27px solid $mfp-controls-border-color;\n }\n }\n}\n\n\n\n// Iframe content type\n@if $mfp-include-iframe-type {\n .mfp-iframe-holder {\n padding-top: $mfp-iframe-padding-top;\n padding-bottom: $mfp-iframe-padding-top;\n .mfp-content {\n line-height: 0;\n width: 100%;\n max-width: $mfp-iframe-max-width;\n }\n .mfp-close {\n top: -40px;\n }\n }\n .mfp-iframe-scaler {\n width: 100%;\n height: 0;\n overflow: hidden;\n padding-top: $mfp-iframe-ratio * 100%;\n iframe {\n position: absolute;\n display: block;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n box-shadow: $mfp-shadow;\n background: $mfp-iframe-background;\n }\n }\n}\n\n\n\n// Image content type\n@if $mfp-include-image-type {\n\n /* Main image in popup */\n img {\n &.mfp-img {\n width: auto;\n max-width: 100%;\n height: auto;\n display: block;\n line-height: 0;\n box-sizing: border-box;\n padding: $mfp-image-padding-top 0 $mfp-image-padding-bottom;\n margin: 0 auto;\n }\n }\n\n /* The shadow behind the image */\n .mfp-figure {\n line-height: 0;\n &:after {\n content: '';\n position: absolute;\n left: 0;\n top: $mfp-image-padding-top;\n bottom: $mfp-image-padding-bottom;\n display: block;\n right: 0;\n width: auto;\n height: auto;\n z-index: -1;\n box-shadow: $mfp-shadow;\n background: $mfp-image-background;\n }\n small {\n color: $mfp-caption-subtitle-color;\n display: block;\n font-size: 12px;\n line-height: 14px;\n }\n figure {\n margin: 0;\n }\n }\n .mfp-bottom-bar {\n margin-top: -$mfp-image-padding-bottom + 4;\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n cursor: auto;\n }\n .mfp-title {\n text-align: left;\n line-height: 18px;\n color: $mfp-caption-title-color;\n word-wrap: break-word;\n padding-right: 36px; // leave some space for counter at right side\n }\n\n .mfp-image-holder {\n .mfp-content {\n max-width: 100%;\n }\n }\n\n .mfp-gallery {\n .mfp-image-holder {\n .mfp-figure {\n cursor: pointer;\n }\n }\n }\n\n\n @if $mfp-include-mobile-layout-for-image {\n @media screen and (max-width: 800px) and (orientation:landscape), screen and (max-height: 300px) {\n /**\n * Remove all paddings around the image on small screen\n */\n .mfp-img-mobile {\n .mfp-image-holder {\n padding-left: 0;\n padding-right: 0;\n }\n img {\n &.mfp-img {\n padding: 0;\n }\n }\n .mfp-figure {\n // The shadow behind the image\n &:after {\n top: 0;\n bottom: 0;\n }\n small {\n display: inline;\n margin-left: 5px;\n }\n }\n .mfp-bottom-bar {\n background: rgba(0,0,0,0.6);\n bottom: 0;\n margin: 0;\n top: auto;\n padding: 3px 5px;\n position: fixed;\n box-sizing: border-box;\n &:empty {\n padding: 0;\n }\n }\n .mfp-counter {\n right: 5px;\n top: 3px;\n }\n .mfp-close {\n top: 0;\n right: 0;\n width: 35px;\n height: 35px;\n line-height: 35px;\n background: rgba(0, 0, 0, 0.6);\n position: fixed;\n text-align: center;\n padding: 0;\n }\n }\n }\n }\n}\n\n\n\n// Scale navigation arrows and reduce padding from sides\n@media all and (max-width: 900px) {\n .mfp-arrow {\n -webkit-transform: scale(0.75);\n transform: scale(0.75);\n }\n .mfp-arrow-left {\n -webkit-transform-origin: 0;\n transform-origin: 0;\n }\n .mfp-arrow-right {\n -webkit-transform-origin: 100%;\n transform-origin: 100%;\n }\n .mfp-container {\n padding-left: $mfp-popup-padding-left-mobile;\n padding-right: $mfp-popup-padding-left-mobile;\n }\n}\n\n","////////////////////////\n// Settings //\n////////////////////////\n\n// overlay\n$mfp-overlay-color: #0b0b0b !default; // Color of overlay screen\n$mfp-overlay-opacity: 0.8 !default; // Opacity of overlay screen\n$mfp-shadow: 0 0 8px rgba(0, 0, 0, 0.6) !default; // Shadow on image or iframe\n\n// spacing\n$mfp-popup-padding-left: 8px !default; // Padding from left and from right side\n$mfp-popup-padding-left-mobile: 6px !default; // Same as above, but is applied when width of window is less than 800px\n\n$mfp-z-index-base: 1040 !default; // Base z-index of popup\n\n// controls\n$mfp-include-arrows: true !default; // Include styles for nav arrows\n$mfp-controls-opacity: 0.65 !default; // Opacity of controls\n$mfp-controls-color: #FFF !default; // Color of controls\n$mfp-controls-border-color: #3F3F3F !default; \t // Border color of controls\n$mfp-inner-close-icon-color: #333 !default; // Color of close button when inside\n$mfp-controls-text-color: #CCC !default; // Color of preloader and \"1 of X\" indicator\n$mfp-controls-text-color-hover: #FFF !default; // Hover color of preloader and \"1 of X\" indicator\n\n// Iframe-type options\n$mfp-include-iframe-type: true !default; // Enable Iframe-type popups\n$mfp-iframe-padding-top: 40px !default; // Iframe padding top\n$mfp-iframe-background: #000 !default; // Background color of iframes\n$mfp-iframe-max-width: 900px !default; // Maximum width of iframes\n$mfp-iframe-ratio: 9/16 !default; // Ratio of iframe (9/16 = widescreen, 3/4 = standard, etc.)\n\n// Image-type options\n$mfp-include-image-type: true !default; // Enable Image-type popups\n$mfp-image-background: #444 !default;\n$mfp-image-padding-top: 40px !default; // Image padding top\n$mfp-image-padding-bottom: 40px !default; // Image padding bottom\n$mfp-include-mobile-layout-for-image: true !default; // Removes paddings from top and bottom\n\n// Image caption options\n$mfp-caption-title-color: #F3F3F3 !default; // Caption title color\n$mfp-caption-subtitle-color: #BDBDBD !default; // Caption subtitle color\n\n// A11y\n$mfp-use-visuallyhidden: false !default; // Hide content from browsers, but make it available for screen readers\n","/**\n * Give Layouts SCSS/CSS\n *\n * @description: This file provides layout styles for various themes such as the default WordPress themes and others if applicable; Most themes handle Give's template system just fine ;)\n * @package: Give\n * @subpackage: SCSS/Frontend\n * @copyright: Copyright (c) 2016, WordImpress\n * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n/**\n * Twenty Thirteen specific styles\n */\n\n.twentythirteen {\n\n .give_forms {\n\tpadding: 40px 0;\n }\n\n}\n\n/**\n * Twenty Fourteen specific styles\n */\n.twentyfourteen {\n .tfgive {\n\tpadding: 12px 10px 0;\n\tmax-width: 474px;\n\tmargin: 0 auto;\n\n\t.give_forms .entry-summary {\n\t padding: 0 !important;\n\t margin: 0 0 1.618em !important;\n\t}\n\n\tdiv.give_forms.hentry.has-post-thumbnail {\n\t margin-top: 0;\n\t}\n\n\t.give_forms {\n\t .images {\n\t\timg {\n\t\t margin-bottom: 1em;\n\t\t}\n\t }\n\t}\n }\n}\n\n@media screen and (min-width: 673px) {\n .twentyfourteen {\n\t.tfgive {\n\t padding-right: 30px;\n\t padding-left: 30px;\n\t}\n }\n}\n\n@media screen and (min-width: 1040px) {\n .twentyfourteen {\n\t.tfgive {\n\t padding-right: 15px;\n\t padding-left: 15px;\n\t}\n }\n}\n\n@media screen and (min-width: 1110px) {\n .twentyfourteen {\n\t.tfgive {\n\t padding-right: 30px;\n\t padding-left: 30px;\n\t}\n }\n}\n\n@media screen and (min-width: 1218px) {\n .twentyfourteen {\n\t.tfgive {\n\t margin-right: 54px;\n\t}\n }\n .full-width {\n\t.twentyfourteen {\n\t .tfgive {\n\t\tmargin-right: auto;\n\t }\n\t}\n }\n}\n\n/**\n * Twenty Fifteen specific styles\n */\n.twentyfifteen {\n .t15give {\n\tpadding-left: 7.6923%;\n\tpadding-right: 7.6923%;\n\tpadding-top: 7.6923%;\n\tmargin-bottom: 7.6923%;\n\tbackground: #fff;\n\tbox-shadow: 0 0 1px rgba(0, 0, 0, 0.15);\n\n\t.page-title {\n\t margin-left: 0;\n\t}\n\tdiv.summary {\n\t padding: 0;\n\t}\n }\n}\n\n@media screen and (min-width: 38.75em) {\n .twentyfifteen {\n\t.t15give {\n\t margin-right: 7.6923%;\n\t margin-left: 7.6923%;\n\t margin-top: 8.3333%;\n\t}\n }\n}\n\n@media screen and (min-width: 59.6875em) {\n .twentyfifteen {\n\t.t15give {\n\t margin-left: 8.3333%;\n\t margin-right: 8.3333%;\n\t padding: 10%;\n\t}\n }\n\n .single-product {\n\t.twentyfifteen {\n\t .entry-summary {\n\t\tpadding: 0 !important;\n\t }\n\t}\n }\n}\n\n/*----------------------------------------------\nAvada\n------------------------------------------------*/\n\n.avada-row > div.give-wrap #content {\n width: 100%;\n}","/**\n * Give Frontend Progress Bar SCSS\n *\n * @package Give\n * @subpackage SCSS/Frontend\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n.give-goal-progress {\n margin-bottom: 20px;\n clear:both;\n\n .income {\n\tfont-size: 46px;\n\tline-height: 48px;\n\tletter-spacing: -1px;\n\tcolor: #333;\n }\n\n .raised {\n\tmargin-bottom: 15px;\n }\n}\n\n.give-progress-bar {\n height: 20px; \n position: relative;\n background: #EEE;\n border-radius: 25px;\n overflow: hidden;\n\n > span {\n\tdisplay: block;\n\theight: 100%;\n\tborder-top-right-radius: 8px;\n\tborder-bottom-right-radius: 8px;\n\tborder-top-left-radius: 20px;\n\tborder-bottom-left-radius: 20px;\n\tbackground-color: rgb(43, 194, 83);\n\tposition: relative;\n\toverflow: hidden;\n }\n}","/*!\n * Float Labels\n *\n * Version: 1.0.8\n * Author: Paul Ryley (http://geminilabs.io)\n * URL: https://github.com/geminilabs/float-labels.js\n * License: MIT\n */\n\n//\n// Variables\n//\n\n$fl-placeholder : #aaa !default;\n$fl-text : #333 !default;\n$fl-text-focus : #007ba4 !default;\n$fl-borders : #ccc !default;\n$fl-borders-focus : #ccc !default;\n$fl-borders-active : #ccc !default;\n$fl-background : #fff !default;\n$fl-background-focus : #fff !default;\n$fl-background-active : #fff !default;\n\n$fl-font-size : 16px !default;\n$fl-font-size-small : 11px !default;\n\n$fl-spacing-base : 24px !default;\n$fl-spacing-half : $fl-spacing-base / 2 !default;\n$fl-spacing-third : $fl-spacing-base / 3 !default;\n$fl-spacing-fourth : $fl-spacing-base / 4 !default;\n\n$fl-transition-speed : 0.3s !default;\n$fl-transition-easing : ease-in-out !default;\n\n//\n// Styles\n//\n\nform.floated-labels {\n\n\t.floatlabel {\n\n\t\tposition: relative;\n\n\t\tinput[type=\"text\"], input[type=\"tel\"], input[type=\"email\"], input[type=\"password\"],\n\t\tinput,\n\t\tselect,\n\t\ttextarea {\n\t\t\tfont-size: $fl-font-size;\n\t\t\tline-height: normal;\n\t\t\tbackground-color: $fl-background;\n\t\t\tborder: 1px solid $fl-borders;\n\t\t\tpadding: $fl-spacing-half;\n\t\t}\n\n\t\tselect {\n\t\t\tposition: relative;\n\t\t\tcolor: $fl-placeholder;\n\t\t\tcursor: pointer;\n\t\t\t-webkit-appearance: none;\n\t\t\t-moz-appearance: none;\n\t\t}\n\n\t\t&.is-active {\n\t\t\tlabel.floatlabel-label {\n\t\t\t\topacity: 1;\n\t\t\t\tvisibility: visible;\n\t\t\t}\n\n\t\t\tinput,\n\t\t\tselect,\n\t\t\ttextarea {\n\t\t\t\tcolor: $fl-text;\n\t\t\t\tbackground-color: $fl-background-active;\n\t\t\t\tborder-color: $fl-borders-active;\n\t\t\t\tpadding-top: $fl-spacing-base - ($fl-spacing-third / 2);\n\t\t\t\tpadding-bottom: $fl-spacing-third / 2;\n\t\t\t}\n\t\t}\n\n\t\t&.is-focused {\n\t\t\tlabel.floatlabel-label {\n\t\t\t\tcolor: $fl-text-focus;\n\t\t\t}\n\n\t\t\tinput,\n\t\t\tselect,\n\t\t\ttextarea {\n\t\t\t\tbackground-color: $fl-background-focus;\n\t\t\t\tborder-color: $fl-borders-focus;\n\t\t\t}\n\t\t}\n\n\t\tlabel.floatlabel-label {\n\t\t\tposition: absolute;\n\t\t\tdisplay: block;\n\t\t\ttop: $fl-spacing-third;\n\t\t\tleft: $fl-spacing-half;\n\t\t\tcolor: $fl-placeholder;\n\t\t\tfont-size: $fl-font-size-small;\n\t\t\tline-height: 1;\n\t\t\topacity: 0;\n\t\t\tvisibility: hidden;\n\t\t\ttransition: all $fl-transition-speed $fl-transition-easing;\n\t\t\tpadding: 0 1px;\n\n\t\t\t&.is-visible {\n\t\t\t\topacity: 1;\n\t\t\t\tvisibility: visible;\n\t\t\t}\n\t\t}\n\t}\n\n\t.styled {\n\n\t\t&.select {\n\t\t\tposition: relative;\n\n\t\t\t&:before,\n\t\t\t&:after {\n\t\t\t\tcontent: '';\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: $fl-spacing-base;\n\t\t\t\theight: 2px;\n\t\t\t\twidth: $fl-spacing-fourth;\n\t\t\t\tbackground: $fl-placeholder;\n\t\t\t\tz-index: 2;\n\t\t\t}\n\n\t\t\t&:before {\n\t\t\t\tright: $fl-spacing-half + $fl-spacing-fourth;\n\t\t\t\ttransform: skew(0deg, 45deg);\n\t\t\t}\n\n\t\t\t&:after {\n\t\t\t\tright: $fl-spacing-half;\n\t\t\t\ttransform: skew(0deg, -45deg);\n\t\t\t}\n\t\t}\n\t}\n}\n","/**\n * Give Magnific Modal Custom SCSS\n *\n * @package Give\n * @subpackage SCSS/Frontend\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n// Wrapper for popup\n.give-modal {\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: $mfp-z-index-base + 2147482500;\n\tposition: fixed;\n\toutline: none !important;\n\t-webkit-backface-visibility: hidden; // fixes webkit bug that can cause \"false\" scrollbar\n\n\tform[id*='give-form'] {\n\t\tmargin-bottom: 0;\n\t\t.give-submit {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t\t.give-payment-mode-label {\n\t\t\tmargin-top: 0;\n\t\t\tpadding-top: 0;\n\t\t}\n\t}\n\n\t// Root container\n\t.mfp-container {\n\t\ttext-align: center;\n\t\tposition: absolute;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tleft: 0;\n\t\ttop: 0;\n\t\tpadding: 0 $mfp-popup-padding-left;\n\t\t-webkit-box-sizing: border-box;\n\t\t-moz-box-sizing: border-box;\n\t\tbox-sizing: border-box;\n\t}\n\n\t// Vertical centerer helper\n\t.mfp-container {\n\t\t&:before {\n\t\t\tcontent: '';\n\t\t\tdisplay: inline-block;\n\t\t\theight: 100%;\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n\n\t// Remove vertical centering when popup has class `mfp-align-top`\n\t.mfp-align-top {\n\t\t.mfp-container {\n\t\t\t&:before {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Popup content holder\n\t.mfp-content {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\ttext-align: left;\n\t\tposition: relative;\n\t\tbackground: #FFF;\n\t\tpadding: 20px;\n\t\twidth: auto;\n\t\tmax-width: 500px;\n\t\tmargin: 40px auto;\n\t\tz-index: $mfp-z-index-base + 2147482600;\n\n\t\t[id*='give-form'] #give-payment-mode-select,\n\t\t[id*='give-form'] #give_purchase_form_wrap,\n\t\t[id*='give-form'].give-display-button-only .give-donation-amount,\n\t\t[id*='give-form'].give-display-button-only .give-donation-levels-wrap {\n\t\t\tdisplay: block;\n\t\t}\n\n\t}\n\n\t.mfp-inline-holder,\n\t.mfp-ajax-holder {\n\t\t.mfp-content {\n\t\t\twidth: 100%;\n\t\t\tcursor: auto;\n\t\t}\n\t}\n\n\t// Cursors\n\t.mfp-ajax-cur {\n\t\tcursor: progress;\n\t}\n\n\t.mfp-zoom-out-cur {\n\t\t&, .mfp-image-holder .mfp-close {\n\t\t\tcursor: -moz-zoom-out;\n\t\t\tcursor: -webkit-zoom-out;\n\t\t\tcursor: zoom-out;\n\t\t}\n\t}\n\n\t.mfp-zoom {\n\t\tcursor: pointer;\n\t\tcursor: -webkit-zoom-in;\n\t\tcursor: -moz-zoom-in;\n\t\tcursor: zoom-in;\n\t}\n\n\t.mfp-auto-cursor {\n\t\t.mfp-content {\n\t\t\tcursor: auto;\n\t\t}\n\t}\n\n\t.mfp-close,\n\t.mfp-arrow,\n\t.mfp-preloader,\n\t.mfp-counter {\n\t\t-webkit-user-select: none;\n\t\t-moz-user-select: none;\n\t\tuser-select: none;\n\t}\n\n\t.mfp-close:hover {\n\t\tbackground-color: transparent;\n\t}\n\n\t// Hide the image during the loading\n\t.mfp-loading {\n\t\t&.mfp-figure {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n}","/**\n * Give Frontend Tables SCSS\n *\n * @package Give\n * @subpackage SCSS/Frontend\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\ntable.give-table {\n color: #666;\n font-size: 14px;\n text-shadow: 1px 1px 0px #fff;\n background: #eaebec;\n margin: 20px 0;\n border: 1px solid #e0e0e0;\n border-top: none;\n border-bottom: none;\n width: 100%;\n\n thead {\n font-weight: bold;\n\n th:first-child {\n text-align: left;\n }\n }\n\n th {\n padding: 21px 25px;\n border-top: 1px solid #E8E8E8;\n border-bottom: 1px solid #e0e0e0;\n border-left: 1px solid #e0e0e0;\n border-right: none;\n background: #F6F6F6;\n text-align: center;\n font-weight: bold;\n }\n\n tbody {\n\n tr {\n text-align: center;\n\n td {\n padding: 18px;\n border: none;\n border-top: 1px solid #ffffff;\n border-bottom: 1px solid #e0e0e0;\n border-left: 1px solid #e0e0e0;\n background: #FFF;\n text-align: center;\n }\n\n td:first-child {\n text-align: left;\n border-left: 0;\n }\n }\n\n //Even Rows\n tr:nth-child(even) td {\n background: #fcfcfc;\n }\n\n }\n\n}","/**\n * Give Frontend Theme Compatibility\n *\n * @description: The following styles help Give look good and fixes CSS conflicts with popular WordPress themes\n * @package Give\n * @subpackage SCSS/Frontend\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n//Divi\n.give-divi {\n\n .qtip-tipsy {\n\tz-index: 1000002 !important;\n }\n\n}\n\n//Twenty Sixteen\nbody.give-twentysixteen {\n\n div.entry-summary {\n\tmargin: 0;\n }\n\n button.give-btn {\n\tcolor: #333;\n }\n\n .give-submit {\n\tcolor: #FFF;\n }\n\n fieldset#give_terms_agreement {\n padding-left: 0;\n }\n\n}"],"mappings":"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","names":[],"sourceRoot":"/source/"}
|
1 |
+
{"version":3,"file":"../../scss/give.css","sources":["frontend/give-frontend.scss","frontend/_variables.scss","frontend/_mixins.scss","frontend/fonts.scss","plugins/qtip.scss","frontend/receipt.scss","frontend/forms.scss","frontend/alerts.scss","plugins/magnific-popup.scss","plugins/_settings.scss","frontend/layouts.scss","frontend/progress-bar.scss","plugins/float-labels.scss","frontend/modal.scss","frontend/tables.scss","frontend/theme-compatibility.scss"],"sourcesContent":["/*!\r\n * Give Frontend SCSS/CSS\r\n *\r\n * @description: The Main SCSS file for FRONTEND styles which is compiled and minified via Gulp taskrunner\r\n * @package: Give\r\n * @subpackage: SCSS/Frontend\r\n * @copyright: Copyright (c) 2016, WordImpress\r\n * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n@import '_variables';\r\n@import '_mixins';\r\n@import 'fonts';\r\n@import '../plugins/qtip';\r\n@import 'receipt';\r\n@import 'forms';\r\n@import 'alerts';\r\n@import '../plugins/magnific-popup';\r\n@import 'layouts';\r\n@import 'progress-bar';\r\n@import '../plugins/float-labels';\r\n@import 'modal';\r\n@import 'tables';\r\n@import 'theme-compatibility';","/**\r\n * Give CSS Variables\r\n */\r\n\r\n$green: #7ad03a;\r\n$red: #a00;\r\n$orange: #ffba00;\r\n$blue: #2ea2cc;\r\n$dark: #333;\r\n$borders: #ccc;\r\n$light-gray: #EDEDED;\r\n\r\n//Status\r\n$status-default: #777;\r\n$status-complete: $green;\r\n$status-refunded: $status-default;\r\n$status-subscription: #5bc0de;\r\n$status-revoked: #d9534f;\r\n\r\n//Font sizes\r\n$font-size-medium: 18px;\r\n\r\n$primary: #007ba4;\r\n// Primary colour for buttons (alt)\r\n$primarytext: desaturate(lighten($primary, 50%), 18%);\r\n// Text on primary colour bg\r\n\r\n$secondary: desaturate(lighten($primary, 40%), 21%);\r\n// Secondary buttons\r\n$secondarytext: desaturate(darken($secondary, 60%), 21%);\r\n// Text on secondary colour bg\r\n\r\n$highlight: adjust-hue($primary, 150deg);\r\n// Prices, In stock labels, sales flash\r\n$highlightext: desaturate(lighten($highlight, 50%), 18%);\r\n// Text on highlight colour bg\r\n\r\n$contentbg: #fff;\r\n// Content BG - Tabs (active state)\r\n$subtext: #777;\r\n// small, breadcrumbs etc","/**\r\n * Clearfix\r\n */\r\n@mixin clearfix() {\r\n *zoom: 1;\r\n\r\n &:before,\r\n &:after {\r\n content: \" \";\r\n display: table;\r\n }\r\n\r\n &:after {\r\n clear: both;\r\n }\r\n}\r\n\r\n.give-clearfix {\r\n @include clearfix;\r\n}\r\n\r\n/**\r\n * Box Sizing\r\n * https://github.com/timrogers/sass-box-sizing-mixin\r\n */\r\n@mixin box-sizing($box-model) {\r\n -webkit-box-sizing: $box-model; // Safari <= 5\r\n -moz-box-sizing: $box-model; // Firefox <= 19\r\n box-sizing: $box-model;\r\n}\r\n\r\n/**\r\n * CSS3 Easing\r\n */\r\n@mixin easing-transition() {\r\n -moz-transition: 0.2s all linear;\r\n -o-transition: 0.2s all linear;\r\n transition: 0.2s all linear;\r\n}\r\n\r\n//Labels\r\n@mixin give-label() {\r\n padding: .2em .4em .3em;\r\n font-size: 11px;\r\n line-height: 1;\r\n color: #fff;\r\n text-align: center;\r\n white-space: nowrap;\r\n vertical-align: baseline;\r\n border-radius: .25em;\r\n \r\n &:hover {\r\n color:#fff;\r\n text-decoration: none;\r\n }\r\n}\r\n\r\n@mixin give-label-gray() {\r\n background-color: #929292;\r\n}\r\n@mixin give-label-orange() {\r\n background-color: #ffba00;\r\n}\r\n\r\n.give-item-label {\r\n @include give-label();\r\n}\r\n\r\n.give-item-label-gray {\r\n @include give-label-gray();\r\n}\r\n\r\n.give-item-label-orange {\r\n @include give-label-orange();\r\n}\r\n\r\n\r\n.give-item-label {\r\n @include give-label();\r\n}\r\n\r\n//Fields\r\n@mixin give-currency() {\r\n background-color: lighten($light-gray, 2%);\r\n border-top: 1px solid $borders;\r\n border-bottom: 1px solid $borders;\r\n color: $dark;\r\n margin: 0;\r\n padding: 0 12px;\r\n height: 35px;\r\n line-height: 35px;\r\n font-size: $font-size-medium;\r\n @include box-sizing(border-box);\r\n}\r\n\r\n@mixin give-input() {\r\n border: 1px solid $borders;\r\n background: #FFF;\r\n border-radius: 0;\r\n height: 35px;\r\n line-height: 35px;\r\n padding: 0 12px;\r\n margin: 0;\r\n font-size: $font-size-medium;\r\n @include box-sizing(border-box);\r\n}","/**\n * Give Frontend Fonts SCSS\n *\n * Fonts are from icomoon and the src paths need to be relative to template directory.\n * @package Give\n * @subpackage SCSS/Frontend\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n@font-face {\n font-family: 'give-icomoon';\n src: url('../assets/fonts/icomoon.eot?kdnr3d');\n src: url('../assets/fonts/icomoon.eot?kdnr3d#iefix') format('embedded-opentype'),\n url('../assets/fonts/icomoon.woff?kdnr3d') format('woff'),\n url('../assets/fonts/icomoon.svg?kdnr3d#icomoon') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n\n@mixin iconstyle() {\n font-family: 'give-icomoon';\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n\n // Better Font Rendering\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n[class^=\"give-icon-\"], [class*=\" give-icon-\"] {\n @include iconstyle();\n}\n\n.give-icon-lamp:before {\n content: \"\\e603\";\n}\n\n.give-icon-heart:before {\n content: \"\\e604\";\n}\n\n.give-icon-question:before {\n content: \"\\e602\";\n}\n\n.give-icon-info:before {\n content: \"\\e601\";\n}\n\n.give-icon-new-tab:before {\n content: \"\\ea7e\";\n}\n\n.give-icon-alert:before {\n content: \"\\f02d\";\n}\n\n.give-icon-help:before {\n content: \"\\e606\";\n}\n\n.give-icon-spinner:before {\n content: \"\\e605\";\n}\n\n.give-icon-spinner2:before {\n content: \"\\e607\";\n}\n\n.give-icon-plus:before {\n content: \"\\e040\";\n}\n\n.give-icon-minus:before {\n content: \"\\e041\";\n}\n\n.give-icon-locked:before {\n content: \"\\e600\";\n}\n\n.dashicons-give:before {\n @include iconstyle();\n content: \"\\e800\";\n}\n\n// --------------------------\n// Spinning Icons\n// --------------------------\n\n.fa-spin {\n -webkit-animation: spin 1000ms infinite linear;\n animation: spin 1000ms infinite linear;\n}\n\n@-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n","/*\n * qTip2 - Pretty powerful tooltips - v2.2.1\n * http://qtip2.com\n *\n * Copyright (c) 2014 \n * Released under the MIT licenses\n * http://jquery.org/license\n *\n * Date: Sun Sep 7 2014 12:09 GMT+0100+0100\n * Plugins: tips modal viewport svg imagemap ie6\n * Styles: core basic css3\n */\n.qtip{\n\tposition: absolute;\n\tleft: -28000px;\n\ttop: -28000px;\n\tdisplay: none;\n\n\tmax-width: 280px;\n\tmin-width: 50px;\n\n\tfont-size: 10.5px;\n\tline-height: 12px;\n\n\tdirection: ltr;\n\n\tbox-shadow: none;\n\tpadding: 0;\n}\n\n\t.qtip-content{\n\t\tposition: relative;\n\t\tpadding: 5px 9px;\n\t\toverflow: hidden;\n\n\t\ttext-align: left;\n\t\tword-wrap: break-word;\n\t}\n\n\t.qtip-titlebar{\n\t\tposition: relative;\n\t\tpadding: 5px 35px 5px 10px;\n\t\toverflow: hidden;\n\n\t\tborder-width: 0 0 1px;\n\t\tfont-weight: bold;\n\t}\n\n\t.qtip-titlebar + .qtip-content{ border-top-width: 0 !important; }\n\n\t/* Default close button class */\n\t.qtip-close{\n\t\tposition: absolute;\n\t\tright: -9px; top: -9px;\n\t\tz-index: 11; /* Overlap .qtip-tip */\n\n\t\tcursor: pointer;\n\t\toutline: medium none;\n\n\t\tborder: 1px solid transparent;\n\t}\n\n\t\t.qtip-titlebar .qtip-close{\n\t\t\tright: 4px; top: 50%;\n\t\t\tmargin-top: -9px;\n\t\t}\n\n\t\t* html .qtip-titlebar .qtip-close{ top: 16px; } /* IE fix */\n\n\t\t.qtip-titlebar .ui-icon,\n\t\t.qtip-icon .ui-icon{\n\t\t\tdisplay: block;\n\t\t\ttext-indent: -1000em;\n\t\t\tdirection: ltr;\n\t\t}\n\n\t\t.qtip-icon, .qtip-icon .ui-icon{\n\t\t\t-moz-border-radius: 3px;\n\t\t\t-webkit-border-radius: 3px;\n\t\t\tborder-radius: 3px;\n\t\t\ttext-decoration: none;\n\t\t}\n\n\t\t\t.qtip-icon .ui-icon{\n\t\t\t\twidth: 18px;\n\t\t\t\theight: 14px;\n\n\t\t\t\tline-height: 14px;\n\t\t\t\ttext-align: center;\n\t\t\t\ttext-indent: 0;\n\t\t\t\tfont: normal bold 10px/13px Tahoma,sans-serif;\n\n\t\t\t\tcolor: inherit;\n\t\t\t\tbackground: transparent none no-repeat -100em -100em;\n\t\t\t}\n\n/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */\n.qtip-focus{}\n\n/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */\n.qtip-hover{}\n\n/* Default tooltip style */\n.qtip-default{\n\tborder: 1px solid #F1D031;\n\n\tbackground-color: #FFFFA3;\n\tcolor: #555;\n}\n\n\t.qtip-default .qtip-titlebar{\n\t\tbackground-color: #FFEF93;\n\t}\n\n\t.qtip-default .qtip-icon{\n\t\tborder-color: #CCC;\n\t\tbackground: #F1F1F1;\n\t\tcolor: #777;\n\t}\n\n\t.qtip-default .qtip-titlebar .qtip-close{\n\t\tborder-color: #AAA;\n\t\tcolor: #111;\n\t}\n\n\n/*! Light tooltip style */\n.qtip-light{\n\tbackground-color: white;\n\tborder-color: #E2E2E2;\n\tcolor: #454545;\n}\n\n\t.qtip-light .qtip-titlebar{\n\t\tbackground-color: #f1f1f1;\n\t}\n\n\n/*! Dark tooltip style */\n.qtip-dark{\n\tbackground-color: #505050;\n\tborder-color: #303030;\n\tcolor: #f3f3f3;\n}\n\n\t.qtip-dark .qtip-titlebar{\n\t\tbackground-color: #404040;\n\t}\n\n\t.qtip-dark .qtip-icon{\n\t\tborder-color: #444;\n\t}\n\n\t.qtip-dark .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #303030;\n\t}\n\n\n/*! Cream tooltip style */\n.qtip-cream{\n\tbackground-color: #FBF7AA;\n\tborder-color: #F9E98E;\n\tcolor: #A27D35;\n}\n\n\t.qtip-cream .qtip-titlebar{\n\t\tbackground-color: #F0DE7D;\n\t}\n\n\t.qtip-cream .qtip-close .qtip-icon{\n\t\tbackground-position: -82px 0;\n\t}\n\n\n/*! Red tooltip style */\n.qtip-red{\n\tbackground-color: #F78B83;\n\tborder-color: #D95252;\n\tcolor: #912323;\n}\n\n\t.qtip-red .qtip-titlebar{\n\t\tbackground-color: #F06D65;\n\t}\n\n\t.qtip-red .qtip-close .qtip-icon{\n\t\tbackground-position: -102px 0;\n\t}\n\n\t.qtip-red .qtip-icon{\n\t\tborder-color: #D95252;\n\t}\n\n\t.qtip-red .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #D95252;\n\t}\n\n\n/*! Green tooltip style */\n.qtip-green{\n\tbackground-color: #CAED9E;\n\tborder-color: #90D93F;\n\tcolor: #3F6219;\n}\n\n\t.qtip-green .qtip-titlebar{\n\t\tbackground-color: #B0DE78;\n\t}\n\n\t.qtip-green .qtip-close .qtip-icon{\n\t\tbackground-position: -42px 0;\n\t}\n\n\n/*! Blue tooltip style */\n.qtip-blue{\n\tbackground-color: #E5F6FE;\n\tborder-color: #ADD9ED;\n\tcolor: #5E99BD;\n}\n\n\t.qtip-blue .qtip-titlebar{\n\t\tbackground-color: #D0E9F5;\n\t}\n\n\t.qtip-blue .qtip-close .qtip-icon{\n\t\tbackground-position: -2px 0;\n\t}\n\n\n.qtip-shadow{\n\t-webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\n\t-moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\n\tbox-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\n}\n\n/* Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */\n.qtip-rounded,\n.qtip-tipsy,\n.qtip-bootstrap{\n\t-moz-border-radius: 5px;\n\t-webkit-border-radius: 5px;\n\tborder-radius: 5px;\n}\n\n.qtip-rounded .qtip-titlebar{\n\t-moz-border-radius: 4px 4px 0 0;\n\t-webkit-border-radius: 4px 4px 0 0;\n\tborder-radius: 4px 4px 0 0;\n}\n\n/* Youtube tooltip style */\n.qtip-youtube{\n\t-moz-border-radius: 2px;\n\t-webkit-border-radius: 2px;\n\tborder-radius: 2px;\n\n\t-webkit-box-shadow: 0 0 3px #333;\n\t-moz-box-shadow: 0 0 3px #333;\n\tbox-shadow: 0 0 3px #333;\n\n\tcolor: white;\n\tborder: 0 solid transparent;\n\n\tbackground: #4A4A4A;\n\tbackground-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,black));\n\tbackground-image: -webkit-linear-gradient(top,#4A4A4A 0,black 100%);\n\tbackground-image: -moz-linear-gradient(top,#4A4A4A 0,black 100%);\n\tbackground-image: -ms-linear-gradient(top,#4A4A4A 0,black 100%);\n\tbackground-image: -o-linear-gradient(top,#4A4A4A 0,black 100%);\n}\n\n\t.qtip-youtube .qtip-titlebar{\n\t\tbackground-color: #4A4A4A;\n\t\tbackground-color: rgba(0,0,0,0);\n\t}\n\n\t.qtip-youtube .qtip-content{\n\t\tpadding: .75em;\n\t\tfont: 12px arial,sans-serif;\n\n\t\tfilter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);\";\n\t}\n\n\t.qtip-youtube .qtip-icon{\n\t\tborder-color: #222;\n\t}\n\n\t.qtip-youtube .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #303030;\n\t}\n\n\n/* jQuery TOOLS Tooltip style */\n.qtip-jtools{\n\tbackground: #232323;\n\tbackground: rgba(0, 0, 0, 0.7);\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323));\n\tbackground-image: -moz-linear-gradient(top, #717171, #232323);\n\tbackground-image: -webkit-linear-gradient(top, #717171, #232323);\n\tbackground-image: -ms-linear-gradient(top, #717171, #232323);\n\tbackground-image: -o-linear-gradient(top, #717171, #232323);\n\n\tborder: 2px solid #ddd;\n\tborder: 2px solid rgba(241,241,241,1);\n\n\t-moz-border-radius: 2px;\n\t-webkit-border-radius: 2px;\n\tborder-radius: 2px;\n\n\t-webkit-box-shadow: 0 0 12px #333;\n\t-moz-box-shadow: 0 0 12px #333;\n\tbox-shadow: 0 0 12px #333;\n}\n\n\t/* IE Specific */\n\t.qtip-jtools .qtip-titlebar{\n\t\tbackground-color: transparent;\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)\";\n\t}\n\t.qtip-jtools .qtip-content{\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)\";\n\t}\n\n\t.qtip-jtools .qtip-titlebar,\n\t.qtip-jtools .qtip-content{\n\t\tbackground: transparent;\n\t\tcolor: white;\n\t\tborder: 0 dashed transparent;\n\t}\n\n\t.qtip-jtools .qtip-icon{\n\t\tborder-color: #555;\n\t}\n\n\t.qtip-jtools .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #333;\n\t}\n\n\n/* Cluetip style */\n.qtip-cluetip{\n\t-webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\n\t-moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\n\tbox-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\n\n\tbackground-color: #D9D9C2;\n\tcolor: #111;\n\tborder: 0 dashed transparent;\n}\n\n\t.qtip-cluetip .qtip-titlebar{\n\t\tbackground-color: #87876A;\n\t\tcolor: white;\n\t\tborder: 0 dashed transparent;\n\t}\n\n\t.qtip-cluetip .qtip-icon{\n\t\tborder-color: #808064;\n\t}\n\n\t.qtip-cluetip .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #696952;\n\t\tcolor: #696952;\n\t}\n\n\n/* Tipsy style */\n.qtip-tipsy{\n\tbackground: black;\n\tbackground: rgba(0, 0, 0, .87);\n\n\tcolor: white;\n\tborder: 0 solid transparent;\n\n\tfont-size: 11px;\n\tfont-family: 'Lucida Grande', sans-serif;\n\tfont-weight: bold;\n\tline-height: 16px;\n\ttext-shadow: 0 1px black;\n}\n\n\t.qtip-tipsy .qtip-titlebar{\n\t\tpadding: 6px 35px 0 10px;\n\t\tbackground-color: transparent;\n\t}\n\n\t.qtip-tipsy .qtip-content{\n\t\tpadding: 6px 10px;\n\t}\n\n\t.qtip-tipsy .qtip-icon{\n\t\tborder-color: #222;\n\t\ttext-shadow: none;\n\t}\n\n\t.qtip-tipsy .qtip-titlebar .ui-state-hover{\n\t\tborder-color: #303030;\n\t}\n\n\n/* Tipped style */\n.qtip-tipped{\n\tborder: 3px solid #959FA9;\n\n\t-moz-border-radius: 3px;\n\t-webkit-border-radius: 3px;\n\tborder-radius: 3px;\n\n\tbackground-color: #F9F9F9;\n\tcolor: #454545;\n\n\tfont-weight: normal;\n\tfont-family: serif;\n}\n\n\t.qtip-tipped .qtip-titlebar{\n\t\tborder-bottom-width: 0;\n\n\t\tcolor: white;\n\t\tbackground: #3A79B8;\n\t\tbackground-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D));\n\t\tbackground-image: -webkit-linear-gradient(top, #3A79B8, #2E629D);\n\t\tbackground-image: -moz-linear-gradient(top, #3A79B8, #2E629D);\n\t\tbackground-image: -ms-linear-gradient(top, #3A79B8, #2E629D);\n\t\tbackground-image: -o-linear-gradient(top, #3A79B8, #2E629D);\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)\";\n\t}\n\n\t.qtip-tipped .qtip-icon{\n\t\tborder: 2px solid #285589;\n\t\tbackground: #285589;\n\t}\n\n\t\t.qtip-tipped .qtip-icon .ui-icon{\n\t\t\tbackground-color: #FBFBFB;\n\t\t\tcolor: #555;\n\t\t}\n\n\n/**\n * Twitter Bootstrap style.\n *\n * Tested with IE 8, IE 9, Chrome 18, Firefox 9, Opera 11.\n * Does not work with IE 7.\n */\n.qtip-bootstrap{\n\t/** Taken from Bootstrap body */\n\tfont-size: 14px;\n\tline-height: 20px;\n\tcolor: #333333;\n\n\t/** Taken from Bootstrap .popover */\n\tpadding: 1px;\n\tbackground-color: #ffffff;\n\tborder: 1px solid #ccc;\n\tborder: 1px solid rgba(0, 0, 0, 0.2);\n\t-webkit-border-radius: 6px;\n\t-moz-border-radius: 6px;\n\tborder-radius: 6px;\n\t-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n\t-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n\tbox-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n\t-webkit-background-clip: padding-box;\n\t-moz-background-clip: padding;\n\tbackground-clip: padding-box;\n}\n\n\t.qtip-bootstrap .qtip-titlebar{\n\t\t/** Taken from Bootstrap .popover-title */\n\t\tpadding: 8px 14px;\n\t\tmargin: 0;\n\t\tfont-size: 14px;\n\t\tfont-weight: normal;\n\t\tline-height: 18px;\n\t\tbackground-color: #f7f7f7;\n\t\tborder-bottom: 1px solid #ebebeb;\n\t\t-webkit-border-radius: 5px 5px 0 0;\n\t\t-moz-border-radius: 5px 5px 0 0;\n\t\tborder-radius: 5px 5px 0 0;\n\t}\n\n\t\t.qtip-bootstrap .qtip-titlebar .qtip-close{\n\t\t\t/**\n\t\t\t * Overrides qTip2:\n\t\t\t * .qtip-titlebar .qtip-close{\n\t\t\t * [...]\n\t\t\t * right: 4px;\n\t\t\t * top: 50%;\n\t\t\t * [...]\n\t\t\t * border-style: solid;\n\t\t\t * }\n\t\t\t */\n\t\t\tright: 11px;\n\t\t\ttop: 45%;\n\t\t\tborder-style: none;\n\t\t}\n\n\t.qtip-bootstrap .qtip-content{\n\t\t/** Taken from Bootstrap .popover-content */\n\t\tpadding: 9px 14px;\n\t}\n\n\t.qtip-bootstrap .qtip-icon{\n\t\t/**\n\t\t * Overrides qTip2:\n\t\t * .qtip-default .qtip-icon {\n\t\t * border-color: #CCC;\n\t\t * background: #F1F1F1;\n\t\t * color: #777;\n\t\t * }\n\t\t */\n\t\tbackground: transparent;\n\t}\n\n\t\t.qtip-bootstrap .qtip-icon .ui-icon{\n\t\t\t/**\n\t\t\t * Overrides qTip2:\n\t\t\t * .qtip-icon .ui-icon{\n\t\t\t * width: 18px;\n\t\t\t * height: 14px;\n\t\t\t * }\n\t\t\t */\n\t\t\twidth: auto;\n\t\t\theight: auto;\n\n\t\t\t/* Taken from Bootstrap .close */\n\t\t\tfloat: right;\n\t\t\tfont-size: 20px;\n\t\t\tfont-weight: bold;\n\t\t\tline-height: 18px;\n\t\t\tcolor: #000000;\n\t\t\ttext-shadow: 0 1px 0 #ffffff;\n\t\t\topacity: 0.2;\n\t\t\tfilter: alpha(opacity=20);\n\t\t}\n\n\t\t.qtip-bootstrap .qtip-icon .ui-icon:hover{\n\t\t\t/* Taken from Bootstrap .close:hover */\n\t\t\tcolor: #000000;\n\t\t\ttext-decoration: none;\n\t\t\tcursor: pointer;\n\t\t\topacity: 0.4;\n\t\t\tfilter: alpha(opacity=40);\n\t\t}\n\n\n/* IE9 fix - removes all filters */\n.qtip:not(.ie9haxors) div.qtip-content,\n.qtip:not(.ie9haxors) div.qtip-titlebar{\n\tfilter: none;\n\t-ms-filter: none;\n}\n\n\n.qtip .qtip-tip{\n\tmargin: 0 auto;\n\toverflow: hidden;\n\tz-index: 10;\n\n}\n\n\t/* Opera bug #357 - Incorrect tip position\n\thttps://github.com/Craga89/qTip2/issues/367 */\n\tx:-o-prefocus, .qtip .qtip-tip{\n\t\tvisibility: hidden;\n\t}\n\n\t.qtip .qtip-tip,\n\t.qtip .qtip-tip .qtip-vml,\n\t.qtip .qtip-tip canvas{\n\t\tposition: absolute;\n\n\t\tcolor: #123456;\n\t\tbackground: transparent;\n\t\tborder: 0 dashed transparent;\n\t}\n\n\t.qtip .qtip-tip canvas{ top: 0; left: 0; }\n\n\t.qtip .qtip-tip .qtip-vml{\n\t\tbehavior: url(#default#VML);\n\t\tdisplay: inline-block;\n\t\tvisibility: visible;\n\t}\n\n\n#qtip-overlay{\n\tposition: fixed;\n\tleft: 0; top: 0;\n\twidth: 100%; height: 100%;\n}\n\n\t/* Applied to modals with show.modal.blur set to true */\n\t#qtip-overlay.blurs{ cursor: pointer; }\n\n\t/* Change opacity of overlay here */\n\t#qtip-overlay div{\n\t\tposition: absolute;\n\t\tleft: 0; top: 0;\n\t\twidth: 100%; height: 100%;\n\n\t\tbackground-color: black;\n\n\t\topacity: 0.7;\n\t\tfilter:alpha(opacity=70);\n\t\t-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)\";\n\t}\n\n\n.qtipmodal-ie6fix{\n\tposition: absolute !important;\n}\n","/**\r\n * Give Frontend Receipt SCSS\r\n *\r\n * @package Give\r\n * @subpackage SCSS/Frontend\r\n * @copyright Copyright (c) 2016, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n//------------------------------------------------------------\r\n// Email Browser Receipt Page\r\n//------------------------------------------------------------\r\nbody.give_receipt_page {\r\n\tbackground-color: #fff;\r\n\tcolor: #141412;\r\n\tmargin: 0;\r\n\tfont-family: Helvetica, sans-serif;\r\n\tfont-size: 12px;\r\n\r\n\t#give_receipt_wrapper {\r\n\t\twidth: 660px;\r\n\t\tmargin: 0 auto;\r\n\t\tpadding: 50px 0;\r\n\t}\r\n\r\n\ttable {\r\n\t\tdisplay: table;\r\n\t\twidth: 100%;\r\n\t\tborder-bottom: 1px solid #ededed;\r\n\t\tborder-collapse: collapse;\r\n\t\tborder-spacing: 0;\r\n\t\tfont-size: 14px;\r\n\t\tline-height: 2;\r\n\t\tmargin: 0 0 20px;\r\n\t}\r\n\r\n\ttd, th {\r\n\t\tdisplay: table-cell;\r\n\t\ttext-align: left;\r\n\t\tborder-top: 1px solid #ededed;\r\n\t\tpadding: 6px 10px 6px 0;\r\n\t\tfont-weight: normal;\r\n\t}\r\n\r\n\tth {\r\n\t\tfont-weight: bold;\r\n\t\ttext-transform: uppercase;\r\n\t}\r\n\r\n\th3 {\r\n\t\tfont-size: 22px;\r\n\t\tmargin: 40px 0 5px;\r\n\t\tclear: both;\r\n\t\tdisplay: block;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\r\n}\r\n\r\n//------------------------------------------------------------\r\n// On Site Donation Summary Tables\r\n//------------------------------------------------------------\r\n\r\ntable#give_donation_receipt_products,\r\ntable#give_donation_receipt {\r\n\twidth: 100%;\r\n}\r\n\r\ntable#give_donation_receipt {\r\n\r\n\ttd, th, td, th {\r\n\t\ttext-align: left;\r\n\t}\r\n\r\n\t.give-receipt-thead-text {\r\n\t\tfont-size: 18px;\r\n\t\ttext-align: center;\r\n\t\tdisplay: block;\r\n\r\n\t\t> span {\r\n\t\t\tfont-size: 16px;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tli {\r\n\t\tmargin: 0 0 8px 10px;\r\n\t}\r\n\r\n\tul {\r\n\t\tmargin: 0;\r\n\t\tpadding: 0;\r\n\t\tlist-style: none;\r\n\t}\r\n\r\n\t.give_receipt_payment_status.pending,\r\n\t.give_receipt_payment_status.revoked,\r\n\t.give_receipt_payment_status.failed {\r\n\t\tcolor: #f73f2e;\r\n\t}\r\n\r\n\tspan.donation-level-text-wrap {\r\n\t\tfont-style: italic;\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n}\r\n","/**\r\n * Give Frontend Forms SCSS\r\n *\r\n * @package Give\r\n * @subpackage SCSS/Frontend\r\n * @copyright Copyright (c) 2016, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n/*------------------------------------\r\nLayout\r\n--------------------------------------*/\r\n.give-clearfix {\r\n @include clearfix();\r\n}\r\n\r\n[id*='give-form'] {\r\n\r\n .give-hidden {\r\n display: none;\r\n }\r\n\r\n fieldset {\r\n border: none;\r\n padding: 0;\r\n margin: 0;\r\n border: 0;\r\n }\r\n\r\n .give-form-title {\r\n margin: 0 0 15px;\r\n }\r\n\r\n div#give-sidebar-left {\r\n width: 38%;\r\n float: left;\r\n }\r\n\r\n div.images {\r\n margin: 0 0 15px;\r\n\r\n img {\r\n display: block;\r\n width: 100%;\r\n height: auto;\r\n box-shadow: none;\r\n }\r\n }\r\n\r\n .give-custom-amount-text {\r\n clear: both;\r\n }\r\n\r\n div.summary {\r\n width: 58%;\r\n float: right;\r\n\r\n &.give-full-width {\r\n width: 100%;\r\n float: none;\r\n }\r\n }\r\n\r\n .give_form select.give-select.required {\r\n color: #000;\r\n }\r\n\r\n div.give-form-content-wrap {\r\n margin: 0 0 20px;\r\n }\r\n\r\n div.give-form-content-wrap.give_post_form-content {\r\n margin: 20px 0 0 0;\r\n }\r\n\r\n &.give-display-reveal, &.give-display-modal {\r\n .give-btn {\r\n margin: 0 0 15px;\r\n }\r\n #give-payment-mode-select, #give_purchase_form_wrap {\r\n display: none;\r\n }\r\n }\r\n\r\n .cc-address {\r\n margin-bottom: 15px;\r\n }\r\n}\r\n\r\n/*------------------------------------\r\nSingle Forms\r\n--------------------------------------*/\r\n\r\n.single-give_forms {\r\n\r\n &.et_right_sidebar #main-content .container:before {\r\n display: none; //hide Divi sidebar sep on single give forms\r\n }\r\n\r\n .give_forms {\r\n @include clearfix;\r\n }\r\n\r\n}\r\n\r\n/*------------------------------------\r\nGravatar List\r\n--------------------------------------*/\r\n#give-purchase-gravatars {\r\n\r\n .give-gravatars-title {\r\n margin: 0 0 15px;\r\n }\r\n\r\n .give-purchase-gravatars-list {\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n\r\n li {\r\n list-style-type: none;\r\n display: inline-block;\r\n margin: 0 5px 0 0;\r\n padding: 0;\r\n }\r\n\r\n }\r\n}\r\n\r\n/*------------------------------------\r\nBase Form Styles\r\n--------------------------------------*/\r\n\r\nform[id*='give-form'],\r\n#give-recurring-form,\r\nform.give-form {\r\n margin: 0 0 25px;\r\n padding: 0;\r\n\r\n .give-hidden {\r\n display: none;\r\n }\r\n .give-tooltip {\r\n margin: 0 3px;\r\n padding: 0;\r\n font-size: 14px;\r\n @include easing-transition();\r\n color: transparentize($dark, 0.5);\r\n\r\n &:hover {\r\n color: $dark;\r\n }\r\n }\r\n\r\n legend,\r\n h3.give-section-break,\r\n h4.give-section-break {\r\n font-size: 1.15em;\r\n font-weight: bold;\r\n margin: 10px 0 15px;\r\n padding: 0 0 5px;\r\n border-bottom: 1px solid rgba( 0, 0, 0, .1 );\r\n width: 100%;\r\n\r\n span.sub-text {\r\n font-style: italic;\r\n font-weight: normal;\r\n }\r\n }\r\n\r\n //Form Layout\r\n .form-row {\r\n @include clearfix();\r\n @include box-sizing(border-box);\r\n margin: 0 0 15px;\r\n overflow: visible;\r\n padding: 0;\r\n\r\n // Prevent some themes from removing margin on last-child.\r\n &:last-child {\r\n margin-bottom: 15px;\r\n }\r\n\r\n label {\r\n display: block;\r\n margin: 0 0 5px;\r\n position: relative;\r\n line-height: 1.7;\r\n\r\n &.checkbox {\r\n display: inline;\r\n }\r\n\r\n }\r\n\r\n select, textarea, input[type=\"text\"], input[type=\"tel\"], input[type=\"email\"], input[type=\"password\"] {\r\n @include box-sizing(border-box);\r\n width: 100%;\r\n border-radius: 0;\r\n outline: none;\r\n color: $dark;\r\n background-color: #FDFDFD;\r\n border: 1px solid $borders;\r\n margin: 0;\r\n padding: .5em;\r\n\r\n &:focus {\r\n background-color: #fff;\r\n }\r\n &.required {\r\n color: $dark;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n .form-row-first,\r\n .form-row-last {\r\n float: left;\r\n width: 48.5%;\r\n }\r\n\r\n .form-row-last {\r\n float: right;\r\n }\r\n\r\n .form-row-wide {\r\n @include clearfix();\r\n clear: both;\r\n }\r\n\r\n .form-row-two-thirds {\r\n float: left;\r\n width: 65.75%;\r\n\r\n &.form-row-first {\r\n margin-left: 0;\r\n }\r\n }\r\n\r\n .form-row-one-third {\r\n float: left;\r\n width: 31.25%;\r\n margin-left: 3%;\r\n\r\n &.form-row-first {\r\n margin-left: 0;\r\n }\r\n }\r\n\r\n .form-row-responsive {\r\n // Full-width on small viewports.\r\n @media ( max-width: 480px ) {\r\n margin-left: 0;\r\n margin-right: 0;\r\n width: 100%;\r\n }\r\n }\r\n\r\n .give-error,\r\n .give-required-indicator {\r\n color: $red;\r\n }\r\n\r\n .card-expiration {\r\n > select {\r\n width: 44%;\r\n margin: 0;\r\n }\r\n > span.exp-divider {\r\n display: inline;\r\n text-align: center;\r\n }\r\n\r\n select.card-expiry-year {\r\n float: right;\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\n/*---------------------------------\r\nForm Price & Amount\r\n-----------------------------------*/\r\n\r\nform[id*='give-form'] {\r\n\r\n .give-donation-amount {\r\n margin: 0 0 15px;\r\n\r\n .give-currency-symbol {\r\n @include give-currency();\r\n float: left;\r\n\r\n &.give-currency-position-before {\r\n border-left: 1px solid $borders;\r\n border-right: none;\r\n }\r\n &.give-currency-position-after {\r\n border-left: none;\r\n border-right: 1px solid $borders;\r\n }\r\n\r\n }\r\n\r\n #give-amount,\r\n #give-amount-text {\r\n @include give-input();\r\n min-width: 125px;\r\n float: left;\r\n\r\n &.invalid-amount {\r\n border: 1px solid red;\r\n }\r\n\r\n }\r\n\r\n input.give-amount-top {\r\n width: 125px;\r\n }\r\n\r\n span.give-final-total-amount {\r\n @include give-input();\r\n cursor: not-allowed;\r\n background: #FFF;\r\n float: left;\r\n }\r\n\r\n }\r\n\r\n #give_terms_agreement {\r\n\r\n legend {\r\n display: none;\r\n }\r\n \r\n label {\r\n display: inline-block;\r\n }\r\n\r\n }\r\n\r\n #give-final-total-wrap {\r\n margin: 10px 0 25px;\r\n padding: 0;\r\n @include clearfix();\r\n\r\n .give-donation-total-label {\r\n @include give-currency();\r\n float: left;\r\n border: 1px solid $borders;\r\n\r\n @media ( max-width: 480px ) {\r\n display: block;\r\n float: none;\r\n }\r\n }\r\n\r\n .give-final-total-amount {\r\n font-size: $font-size-medium;\r\n @include give-input();\r\n border-left: none;\r\n float: left;\r\n\r\n @media ( max-width: 480px ) {\r\n border: 1px solid $borders;\r\n border-top: 0;\r\n display: block;\r\n float: none;\r\n }\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\n.give-display-button-only > *:not(form) {\r\n display: none !important;\r\n}\r\n\r\n.give-display-button-only form > *:not(.give-btn-modal) {\r\n display: none !important;\r\n}\r\n\r\n/*---------------------------------\r\nRadio Lists\r\n-----------------------------------*/\r\nform[id*='give-form'] {\r\n input[type=\"radio\"] {\r\n margin: 0 .5em 0 0;\r\n }\r\n\r\n #give-donation-level-radio-list {\r\n //this is the radio list for the various user set donation levels\r\n margin: 0 0 15px;\r\n padding: 0;\r\n list-style: none;\r\n clear: both;\r\n\r\n > li {\r\n list-style-type: none;\r\n list-style-image: none;\r\n margin: 0;\r\n padding: 0;\r\n\r\n label {\r\n cursor: pointer;\r\n display: inline-block;\r\n margin: 0;\r\n }\r\n\r\n input[type=\"radio\"] {\r\n margin: 0 .5em 0 0;\r\n outline: none;\r\n width: auto;\r\n }\r\n }\r\n }\r\n\r\n #give-gateway-radio-list {\r\n //this is the radio list for to select a gateway\r\n @include clearfix();\r\n margin: 0 0 15px;\r\n padding: 0;\r\n list-style: none;\r\n\r\n > li {\r\n list-style-type: none;\r\n list-style-image: none;\r\n margin: 0;\r\n padding: 0;\r\n\r\n @media ( min-width: 480px ) {\r\n display: inline-block;\r\n margin-right: 15px;\r\n margin-left: 0;\r\n }\r\n\r\n label.give-gateway-option {\r\n cursor: pointer;\r\n display: inline;\r\n margin: 0;\r\n }\r\n\r\n input[type=\"radio\"] {\r\n margin: 0 .25em 0 0;\r\n outline: none;\r\n width: auto;\r\n display: inline;\r\n }\r\n\r\n }\r\n\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nCheckboxes\r\n-----------------------------------*/\r\nform[id*='give-form'] {\r\n input[type=\"checkbox\"] {\r\n margin: 0 .25em 0 0;\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nDonation Level: Dropdown/Select\r\n-----------------------------------*/\r\nform[id*='give-form'] {\r\n select.give-select-level {\r\n outline: none;\r\n border-radius: 0;\r\n min-width: 155px;\r\n border: 1px solid $borders;\r\n margin: 0 0 15px;\r\n display: block;\r\n clear: both;\r\n color: $dark;\r\n background-color: #FDFDFD;\r\n padding: .5em;\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nButtons\r\n-----------------------------------*/\r\n\r\n#give-donation-level-button-wrap {\r\n @include clearfix();\r\n margin: 0 0 15px;\r\n padding: 0;\r\n clear: both;\r\n list-style: none;\r\n\r\n > li {\r\n list-style-type: none;\r\n list-style-image: none;\r\n float: left;\r\n margin: 0 5px 5px 0;\r\n }\r\n\r\n}\r\n\r\n.give_terms_links {\r\n float: right;\r\n}\r\n\r\n/*---------------------------------\r\nCC Validation\r\n-----------------------------------*/\r\n\r\n[id*='give_secure_site_wrapper'] {\r\n padding: 4px 4px 15px 0;\r\n font-size: 16px;\r\n line-height: 20px;\r\n //Secure padlock (SSL/HTTPS)\r\n span.padlock {\r\n @include iconstyle();\r\n @extend .give-icon-locked;\r\n font-size: 16px;\r\n line-height: 20px;\r\n\r\n :before {\r\n display: inline-block;\r\n }\r\n }\r\n}\r\n\r\n#give_purchase_form_wrap {\r\n input.give-input.card-number.valid {\r\n background-image: url('../assets/images/tick.png');\r\n background-repeat: no-repeat;\r\n background-position: 98% 50%;\r\n background-size: 16px;\r\n &.floatlabel-input {\r\n background-image: url('../assets/images/tick-alt.png');\r\n background-position: 100% 50%;\r\n background-size: 72px 16px;\r\n }\r\n }\r\n\r\n span.card-type {\r\n position: absolute;\r\n top: -2px;\r\n right: 0;\r\n width: 37px;\r\n height: 26px;\r\n background-size: 37px 26px !important;\r\n }\r\n\r\n .floatlabel {\r\n span.card-type {\r\n top: 11px;\r\n right: 11px;\r\n }\r\n }\r\n\r\n span.card-type.off {\r\n display: none;\r\n }\r\n span.card-type.visa {\r\n background: url('../assets/images/visa.png') no-repeat;\r\n }\r\n span.card-type.mastercard {\r\n background: url('../assets/images/mastercard.png') no-repeat;\r\n }\r\n span.card-type.discover {\r\n background: url('../assets/images/discover.png') no-repeat;\r\n }\r\n span.card-type.amex {\r\n background: url('../assets/images/amex.png') no-repeat;\r\n }\r\n span.card-type.maestro {\r\n background: url('../assets/images/maestro.png') no-repeat;\r\n }\r\n span.card-type.dinersclub {\r\n background: url('../assets/images/diners-club.png') no-repeat;\r\n }\r\n span.card-type.jcb {\r\n background: url('../assets/images/jcb.png') no-repeat;\r\n }\r\n span.card-type.dankort {\r\n background: url('../assets/images/dankort.png') no-repeat;\r\n }\r\n span.card-type.unionpay {\r\n background: url('../assets/images/unionpay.png') no-repeat;\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nLoading Animation\r\n-----------------------------------*/\r\n\r\n/* Loading Elipsis */\r\n@-webkit-keyframes opacity {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@-moz-keyframes opacity {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0;\r\n }\r\n}\r\n\r\nform[id*='give-form'] {\r\n p.give-loading-text,\r\n span.give-loading-text {\r\n display: none;\r\n float: right;\r\n height: 16px;\r\n width: 16px;\r\n margin: 0;\r\n padding: 0;\r\n font-style: italic;\r\n line-height: 20px;\r\n font-size: 16px;\r\n font-weight: normal;\r\n }\r\n\r\n .give-loading-animation {\r\n @include iconstyle();\r\n float: left;\r\n height: 16px;\r\n width: 16px;\r\n line-height: 1;\r\n font-size: 16px;\r\n margin: 0 5px 0 0;\r\n background-size: 20px 20px;\r\n background-repeat: no-repeat;\r\n background-color: transparent;\r\n @extend .give-icon-spinner2;\r\n @extend .fa-spin;\r\n }\r\n\r\n .give-payment-mode-label\r\n .give-loading-text {\r\n float: right;\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nUser Login\r\n-----------------------------------*/\r\n\r\n/*\r\n * User Login within Donation Form\r\n * (visible when Form Display > Login is enabled)\r\n */\r\n[id*='give-form'] {\r\n .give-login-account-wrap {\r\n margin: 0 0 15px;\r\n position: relative;\r\n\r\n .give-login-message {\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n .give-loading-text {\r\n position: absolute;\r\n right: 0;\r\n top: .25em;\r\n }\r\n }\r\n\r\n fieldset[id^=\"give-login-fields\"] {\r\n margin: 0 0 15px;\r\n }\r\n\r\n .give-new-account-link {\r\n margin: 0 0 15px;\r\n padding: 0;\r\n }\r\n\r\n .give_login_forgot_password {\r\n float: right;\r\n }\r\n}\r\n\r\n[id^='give-user-login-submit'],\r\n.give-submit-button-wrap {\r\n\r\n input.give-cancel-login {\r\n margin-left: 5px;\r\n }\r\n\r\n span.give-loading-animation {\r\n margin: 0 0 0 .5em;\r\n display: none;\r\n }\r\n .give-submit {\r\n float: left;\r\n }\r\n}\r\n\r\n/* Login Shortcode Form */\r\n#give-login-form,\r\n#give-register-form {\r\n legend, div.give-login {\r\n line-height: 2;\r\n margin-bottom: 15px;\r\n }\r\n\r\n label {\r\n min-width: 100px;\r\n display: inline-block;\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nModal - Magnific Popup\r\n-----------------------------------*/\r\n\r\n//Show/Hide elements in Magnific Popup\r\ndiv.give-form-wrap.mfp-hide {\r\n display: block !important;\r\n}\r\n\r\ndiv.mfp-content {\r\n //Basic Styles\r\n fieldset {\r\n p, ol, ul {\r\n margin-bottom: 1.2em;\r\n line-height: 1.4;\r\n }\r\n }\r\n\r\n}\r\n\r\n/*---------------------------------\r\nBasic Button Style\r\n-----------------------------------*/\r\n\r\n.give-btn {\r\n background: $light-gray;\r\n border: 1px solid $borders;\r\n color: $dark;\r\n padding: 8px 10px;\r\n cursor: pointer;\r\n line-height: 1.2em;\r\n font-size: 1em;\r\n\r\n &:hover {\r\n background: #dbdbdb;\r\n }\r\n\r\n}\r\n\r\n/*---------------------------------\r\nEmail Access Form\r\n-----------------------------------*/\r\n\r\nform#give-email-access-form {\r\n div.g-recaptcha, input#give-email {\r\n margin: 0 0 15px;\r\n }\r\n input#give-email {\r\n width: 305px;\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nResponsiveness\r\n-----------------------------------*/\r\n@media (max-width: 768px) {\r\n // Multi-column layout for single forms.\r\n [id*='give-form'] {\r\n div.images, div.summary {\r\n width: 100%;\r\n float: none;\r\n }\r\n\r\n div#give-sidebar-left {\r\n width: 100%;\r\n float: none;\r\n }\r\n }\r\n}\r\n\r\n/*---------------------------------\r\nSection Breaks\r\n-----------------------------------*/\r\n\r\n// Headings are commonly styled by themes, so we need to be extra-specific.\r\n.give-form-wrap .give-form h3.give-section-break,\r\n.give-form-wrap .give-form h4.give-section-break {\r\n margin: 10px 0 0;\r\n}\r\n","/*---------------------------------\nNotices, Warnings & Errors\n-----------------------------------*/\n.give_error, .give_success {\n position: relative;\n margin: 15px 0;\n background: #F9F9F9;\n padding: 1em 1em 1em 2em;\n border-left: 4px solid $red;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.125);\n clear: both;\n\n > p {\n margin: 0 !important;\n color: $dark;\n }\n\n &:before {\n @include iconstyle();\n position: absolute;\n top: 50%;\n font-size: 16px;\n margin-top: -15px;\n left: -17px;\n background-color: $red;\n color: #FFF;\n width: 30px;\n height: 30px;\n border-radius: 100%;\n text-align: center;\n line-height: 30px;\n text-shadow: 1px 1px rgba(0, 0, 0, 0.5);\n content: '\\f02d';\n }\n\n &.give_warning {\n border-color: $orange;\n\n &:before {\n background-color: $orange;\n text-shadow: 1px 1px rgba(0, 0, 0, 0.1);\n }\n }\n}\n\n.give_success {\n border-color: $green;\n\n &:before {\n background-color: $green;\n content: '\\e601';\n text-shadow: 1px 1px rgba(0, 0, 0, 0.2);\n }\n\n}","/* Magnific Popup CSS */\n\n@import \"settings\";\n\n////////////////////////\n//\n// Contents:\n//\n// 1. General styles\n// - Transluscent overlay\n// - Containers, wrappers\n// - Cursors\n// - Helper classes\n// 2. Appearance\n// - Preloader & text that displays error messages\n// - CSS reset for buttons\n// - Close icon\n// - \"1 of X\" counter\n// - Navigation (left/right) arrows\n// - Iframe content type styles\n// - Image content type styles\n// - Media query where size of arrows is reduced\n// - IE7 support\n//\n////////////////////////\n\n\n\n////////////////////////\n// 1. General styles\n////////////////////////\n\n// Transluscent overlay\n.mfp-bg {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: $mfp-z-index-base + 2;\n overflow: hidden;\n position: fixed;\n\n background: $mfp-overlay-color;\n opacity: $mfp-overlay-opacity;\n}\n\n// Wrapper for popup\n.mfp-wrap {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: $mfp-z-index-base + 3;\n position: fixed;\n outline: none !important;\n -webkit-backface-visibility: hidden; // fixes webkit bug that can cause \"false\" scrollbar\n}\n\n// Root container\n.mfp-container {\n text-align: center;\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n padding: 0 $mfp-popup-padding-left;\n box-sizing: border-box;\n}\n\n// Vertical centerer helper\n.mfp-container {\n &:before {\n content: '';\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n }\n}\n\n// Remove vertical centering when popup has class `mfp-align-top`\n.mfp-align-top {\n .mfp-container {\n &:before {\n display: none;\n }\n }\n}\n\n// Popup content holder\n.mfp-content {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n margin: 0 auto;\n text-align: left;\n z-index: $mfp-z-index-base + 5;\n}\n.mfp-inline-holder,\n.mfp-ajax-holder {\n .mfp-content {\n width: 100%;\n cursor: auto;\n }\n}\n\n// Cursors\n.mfp-ajax-cur {\n cursor: progress;\n}\n.mfp-zoom-out-cur {\n &, .mfp-image-holder .mfp-close {\n cursor: -moz-zoom-out;\n cursor: -webkit-zoom-out;\n cursor: zoom-out;\n }\n}\n.mfp-zoom {\n cursor: pointer;\n cursor: -webkit-zoom-in;\n cursor: -moz-zoom-in;\n cursor: zoom-in;\n}\n.mfp-auto-cursor {\n .mfp-content {\n cursor: auto;\n }\n}\n\n.mfp-close,\n.mfp-arrow,\n.mfp-preloader,\n.mfp-counter {\n -webkit-user-select:none;\n -moz-user-select: none;\n user-select: none;\n}\n\n// Hide the image during the loading\n.mfp-loading {\n &.mfp-figure {\n display: none;\n }\n}\n\n// Helper class that hides stuff\n@if $mfp-use-visuallyhidden {\n // From HTML5 Boilerplate https://github.com/h5bp/html5-boilerplate/blob/v4.2.0/doc/css.md#visuallyhidden\n .mfp-hide {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n }\n} @else {\n .mfp-hide {\n display: none !important;\n }\n}\n\n\n////////////////////////\n// 2. Appearance\n////////////////////////\n\n// Preloader and text that displays error messages\n.mfp-preloader {\n color: $mfp-controls-text-color;\n position: absolute;\n top: 50%;\n width: auto;\n text-align: center;\n margin-top: -0.8em;\n left: 8px;\n right: 8px;\n z-index: $mfp-z-index-base + 4;\n a {\n color: $mfp-controls-text-color;\n &:hover {\n color: $mfp-controls-text-color-hover;\n }\n }\n}\n\n// Hide preloader when content successfully loaded\n.mfp-s-ready {\n .mfp-preloader {\n display: none;\n }\n}\n\n// Hide content when it was not loaded\n.mfp-s-error {\n .mfp-content {\n display: none;\n }\n}\n\n// CSS-reset for buttons\nbutton {\n &.mfp-close,\n &.mfp-arrow {\n overflow: visible;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n display: block;\n outline: none;\n padding: 0;\n z-index: $mfp-z-index-base + 6;\n box-shadow: none;\n touch-action: manipulation;\n }\n &::-moz-focus-inner {\n padding: 0;\n border: 0\n }\n}\n\n\n// Close icon\n.mfp-close {\n width: 44px;\n height: 44px;\n line-height: 44px;\n\n position: absolute;\n right: 0;\n top: 0;\n text-decoration: none;\n text-align: center;\n opacity: $mfp-controls-opacity;\n padding: 0 0 18px 10px;\n color: $mfp-controls-color;\n\n font-style: normal;\n font-size: 28px;\n font-family: Arial, Baskerville, monospace;\n\n &:hover,\n &:focus {\n opacity: 1;\n }\n\n &:active {\n top: 1px;\n }\n}\n.mfp-close-btn-in {\n .mfp-close {\n color: $mfp-inner-close-icon-color;\n }\n}\n.mfp-image-holder,\n.mfp-iframe-holder {\n .mfp-close {\n color: $mfp-controls-color;\n right: -6px;\n text-align: right;\n padding-right: 6px;\n width: 100%;\n }\n}\n\n// \"1 of X\" counter\n.mfp-counter {\n position: absolute;\n top: 0;\n right: 0;\n color: $mfp-controls-text-color;\n font-size: 12px;\n line-height: 18px;\n white-space: nowrap;\n}\n\n// Navigation arrows\n@if $mfp-include-arrows {\n .mfp-arrow {\n position: absolute;\n opacity: $mfp-controls-opacity;\n margin: 0;\n top: 50%;\n margin-top: -55px;\n padding: 0;\n width: 90px;\n height: 110px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n &:active {\n margin-top: -54px;\n }\n &:hover,\n &:focus {\n opacity: 1;\n }\n &:before,\n &:after {\n content: '';\n display: block;\n width: 0;\n height: 0;\n position: absolute;\n left: 0;\n top: 0;\n margin-top: 35px;\n margin-left: 35px;\n border: medium inset transparent;\n }\n\n &:after {\n\n border-top-width: 13px;\n border-bottom-width: 13px;\n top:8px;\n }\n\n &:before {\n border-top-width: 21px;\n border-bottom-width: 21px;\n opacity: 0.7;\n }\n\n }\n\n .mfp-arrow-left {\n left: 0;\n &:after {\n border-right: 17px solid $mfp-controls-color;\n margin-left: 31px;\n }\n &:before {\n margin-left: 25px;\n border-right: 27px solid $mfp-controls-border-color;\n }\n }\n\n .mfp-arrow-right {\n right: 0;\n &:after {\n border-left: 17px solid $mfp-controls-color;\n margin-left: 39px\n }\n &:before {\n border-left: 27px solid $mfp-controls-border-color;\n }\n }\n}\n\n\n\n// Iframe content type\n@if $mfp-include-iframe-type {\n .mfp-iframe-holder {\n padding-top: $mfp-iframe-padding-top;\n padding-bottom: $mfp-iframe-padding-top;\n .mfp-content {\n line-height: 0;\n width: 100%;\n max-width: $mfp-iframe-max-width;\n }\n .mfp-close {\n top: -40px;\n }\n }\n .mfp-iframe-scaler {\n width: 100%;\n height: 0;\n overflow: hidden;\n padding-top: $mfp-iframe-ratio * 100%;\n iframe {\n position: absolute;\n display: block;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n box-shadow: $mfp-shadow;\n background: $mfp-iframe-background;\n }\n }\n}\n\n\n\n// Image content type\n@if $mfp-include-image-type {\n\n /* Main image in popup */\n img {\n &.mfp-img {\n width: auto;\n max-width: 100%;\n height: auto;\n display: block;\n line-height: 0;\n box-sizing: border-box;\n padding: $mfp-image-padding-top 0 $mfp-image-padding-bottom;\n margin: 0 auto;\n }\n }\n\n /* The shadow behind the image */\n .mfp-figure {\n line-height: 0;\n &:after {\n content: '';\n position: absolute;\n left: 0;\n top: $mfp-image-padding-top;\n bottom: $mfp-image-padding-bottom;\n display: block;\n right: 0;\n width: auto;\n height: auto;\n z-index: -1;\n box-shadow: $mfp-shadow;\n background: $mfp-image-background;\n }\n small {\n color: $mfp-caption-subtitle-color;\n display: block;\n font-size: 12px;\n line-height: 14px;\n }\n figure {\n margin: 0;\n }\n }\n .mfp-bottom-bar {\n margin-top: -$mfp-image-padding-bottom + 4;\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n cursor: auto;\n }\n .mfp-title {\n text-align: left;\n line-height: 18px;\n color: $mfp-caption-title-color;\n word-wrap: break-word;\n padding-right: 36px; // leave some space for counter at right side\n }\n\n .mfp-image-holder {\n .mfp-content {\n max-width: 100%;\n }\n }\n\n .mfp-gallery {\n .mfp-image-holder {\n .mfp-figure {\n cursor: pointer;\n }\n }\n }\n\n\n @if $mfp-include-mobile-layout-for-image {\n @media screen and (max-width: 800px) and (orientation:landscape), screen and (max-height: 300px) {\n /**\n * Remove all paddings around the image on small screen\n */\n .mfp-img-mobile {\n .mfp-image-holder {\n padding-left: 0;\n padding-right: 0;\n }\n img {\n &.mfp-img {\n padding: 0;\n }\n }\n .mfp-figure {\n // The shadow behind the image\n &:after {\n top: 0;\n bottom: 0;\n }\n small {\n display: inline;\n margin-left: 5px;\n }\n }\n .mfp-bottom-bar {\n background: rgba(0,0,0,0.6);\n bottom: 0;\n margin: 0;\n top: auto;\n padding: 3px 5px;\n position: fixed;\n box-sizing: border-box;\n &:empty {\n padding: 0;\n }\n }\n .mfp-counter {\n right: 5px;\n top: 3px;\n }\n .mfp-close {\n top: 0;\n right: 0;\n width: 35px;\n height: 35px;\n line-height: 35px;\n background: rgba(0, 0, 0, 0.6);\n position: fixed;\n text-align: center;\n padding: 0;\n }\n }\n }\n }\n}\n\n\n\n// Scale navigation arrows and reduce padding from sides\n@media all and (max-width: 900px) {\n .mfp-arrow {\n -webkit-transform: scale(0.75);\n transform: scale(0.75);\n }\n .mfp-arrow-left {\n -webkit-transform-origin: 0;\n transform-origin: 0;\n }\n .mfp-arrow-right {\n -webkit-transform-origin: 100%;\n transform-origin: 100%;\n }\n .mfp-container {\n padding-left: $mfp-popup-padding-left-mobile;\n padding-right: $mfp-popup-padding-left-mobile;\n }\n}\n\n","////////////////////////\n// Settings //\n////////////////////////\n\n// overlay\n$mfp-overlay-color: #0b0b0b !default; // Color of overlay screen\n$mfp-overlay-opacity: 0.8 !default; // Opacity of overlay screen\n$mfp-shadow: 0 0 8px rgba(0, 0, 0, 0.6) !default; // Shadow on image or iframe\n\n// spacing\n$mfp-popup-padding-left: 8px !default; // Padding from left and from right side\n$mfp-popup-padding-left-mobile: 6px !default; // Same as above, but is applied when width of window is less than 800px\n\n$mfp-z-index-base: 1040 !default; // Base z-index of popup\n\n// controls\n$mfp-include-arrows: true !default; // Include styles for nav arrows\n$mfp-controls-opacity: 0.65 !default; // Opacity of controls\n$mfp-controls-color: #FFF !default; // Color of controls\n$mfp-controls-border-color: #3F3F3F !default; \t // Border color of controls\n$mfp-inner-close-icon-color: #333 !default; // Color of close button when inside\n$mfp-controls-text-color: #CCC !default; // Color of preloader and \"1 of X\" indicator\n$mfp-controls-text-color-hover: #FFF !default; // Hover color of preloader and \"1 of X\" indicator\n\n// Iframe-type options\n$mfp-include-iframe-type: true !default; // Enable Iframe-type popups\n$mfp-iframe-padding-top: 40px !default; // Iframe padding top\n$mfp-iframe-background: #000 !default; // Background color of iframes\n$mfp-iframe-max-width: 900px !default; // Maximum width of iframes\n$mfp-iframe-ratio: 9/16 !default; // Ratio of iframe (9/16 = widescreen, 3/4 = standard, etc.)\n\n// Image-type options\n$mfp-include-image-type: true !default; // Enable Image-type popups\n$mfp-image-background: #444 !default;\n$mfp-image-padding-top: 40px !default; // Image padding top\n$mfp-image-padding-bottom: 40px !default; // Image padding bottom\n$mfp-include-mobile-layout-for-image: true !default; // Removes paddings from top and bottom\n\n// Image caption options\n$mfp-caption-title-color: #F3F3F3 !default; // Caption title color\n$mfp-caption-subtitle-color: #BDBDBD !default; // Caption subtitle color\n\n// A11y\n$mfp-use-visuallyhidden: false !default; // Hide content from browsers, but make it available for screen readers\n","/**\n * Give Layouts SCSS/CSS\n *\n * @description: This file provides layout styles for various themes such as the default WordPress themes and others if applicable; Most themes handle Give's template system just fine ;)\n * @package: Give\n * @subpackage: SCSS/Frontend\n * @copyright: Copyright (c) 2016, WordImpress\n * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n/**\n * Twenty Thirteen specific styles\n */\n\n.twentythirteen {\n\n .give_forms {\n\tpadding: 40px 0;\n }\n\n}\n\n/**\n * Twenty Fourteen specific styles\n */\n.twentyfourteen {\n .tfgive {\n\tpadding: 12px 10px 0;\n\tmax-width: 474px;\n\tmargin: 0 auto;\n\n\t.give_forms .entry-summary {\n\t padding: 0 !important;\n\t margin: 0 0 1.618em !important;\n\t}\n\n\tdiv.give_forms.hentry.has-post-thumbnail {\n\t margin-top: 0;\n\t}\n\n\t.give_forms {\n\t .images {\n\t\timg {\n\t\t margin-bottom: 1em;\n\t\t}\n\t }\n\t}\n }\n}\n\n@media screen and (min-width: 673px) {\n .twentyfourteen {\n\t.tfgive {\n\t padding-right: 30px;\n\t padding-left: 30px;\n\t}\n }\n}\n\n@media screen and (min-width: 1040px) {\n .twentyfourteen {\n\t.tfgive {\n\t padding-right: 15px;\n\t padding-left: 15px;\n\t}\n }\n}\n\n@media screen and (min-width: 1110px) {\n .twentyfourteen {\n\t.tfgive {\n\t padding-right: 30px;\n\t padding-left: 30px;\n\t}\n }\n}\n\n@media screen and (min-width: 1218px) {\n .twentyfourteen {\n\t.tfgive {\n\t margin-right: 54px;\n\t}\n }\n .full-width {\n\t.twentyfourteen {\n\t .tfgive {\n\t\tmargin-right: auto;\n\t }\n\t}\n }\n}\n\n/**\n * Twenty Fifteen specific styles\n */\n.twentyfifteen {\n .t15give {\n\tpadding-left: 7.6923%;\n\tpadding-right: 7.6923%;\n\tpadding-top: 7.6923%;\n\tmargin-bottom: 7.6923%;\n\tbackground: #fff;\n\tbox-shadow: 0 0 1px rgba(0, 0, 0, 0.15);\n\n\t.page-title {\n\t margin-left: 0;\n\t}\n\tdiv.summary {\n\t padding: 0;\n\t}\n }\n}\n\n@media screen and (min-width: 38.75em) {\n .twentyfifteen {\n\t.t15give {\n\t margin-right: 7.6923%;\n\t margin-left: 7.6923%;\n\t margin-top: 8.3333%;\n\t}\n }\n}\n\n@media screen and (min-width: 59.6875em) {\n .twentyfifteen {\n\t.t15give {\n\t margin-left: 8.3333%;\n\t margin-right: 8.3333%;\n\t padding: 10%;\n\t}\n }\n\n .single-product {\n\t.twentyfifteen {\n\t .entry-summary {\n\t\tpadding: 0 !important;\n\t }\n\t}\n }\n}\n\n/*----------------------------------------------\nAvada\n------------------------------------------------*/\n\n.avada-row > div.give-wrap #content {\n width: 100%;\n}","/**\n * Give Frontend Progress Bar SCSS\n *\n * @package Give\n * @subpackage SCSS/Frontend\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n.give-goal-progress {\n margin-bottom: 20px;\n clear:both;\n\n .income {\n\tfont-size: 46px;\n\tline-height: 48px;\n\tletter-spacing: -1px;\n\tcolor: #333;\n }\n\n .raised {\n\tmargin-bottom: 15px;\n }\n}\n\n.give-progress-bar {\n height: 20px; \n position: relative;\n background: #EEE;\n border-radius: 25px;\n overflow: hidden;\n\n > span {\n\tdisplay: block;\n\theight: 100%;\n\tborder-top-right-radius: 8px;\n\tborder-bottom-right-radius: 8px;\n\tborder-top-left-radius: 20px;\n\tborder-bottom-left-radius: 20px;\n\tbackground-color: rgb(43, 194, 83);\n\tposition: relative;\n\toverflow: hidden;\n }\n}","/*!\n * Float Labels\n *\n * Version: 1.0.8\n * Author: Paul Ryley (http://geminilabs.io)\n * URL: https://github.com/geminilabs/float-labels.js\n * License: MIT\n */\n\n//\n// Variables\n//\n\n$fl-placeholder : #aaa !default;\n$fl-text : #333 !default;\n$fl-text-focus : #007ba4 !default;\n$fl-borders : #ccc !default;\n$fl-borders-focus : #ccc !default;\n$fl-borders-active : #ccc !default;\n$fl-background : #fff !default;\n$fl-background-focus : #fff !default;\n$fl-background-active : #fff !default;\n\n$fl-font-size : 16px !default;\n$fl-font-size-small : 11px !default;\n\n$fl-spacing-base : 24px !default;\n$fl-spacing-half : $fl-spacing-base / 2 !default;\n$fl-spacing-third : $fl-spacing-base / 3 !default;\n$fl-spacing-fourth : $fl-spacing-base / 4 !default;\n\n$fl-transition-speed : 0.3s !default;\n$fl-transition-easing : ease-in-out !default;\n\n//\n// Styles\n//\n\nform.floated-labels {\n\n\t.floatlabel {\n\n\t\tposition: relative;\n\n\t\tinput[type=\"text\"], input[type=\"tel\"], input[type=\"email\"], input[type=\"password\"],\n\t\tinput,\n\t\tselect,\n\t\ttextarea {\n\t\t\tfont-size: $fl-font-size;\n\t\t\tline-height: normal;\n\t\t\tbackground-color: $fl-background;\n\t\t\tborder: 1px solid $fl-borders;\n\t\t\tpadding: $fl-spacing-half;\n\t\t}\n\n\t\tselect {\n\t\t\tposition: relative;\n\t\t\tcolor: $fl-placeholder;\n\t\t\tcursor: pointer;\n\t\t\t-webkit-appearance: none;\n\t\t\t-moz-appearance: none;\n\t\t}\n\n\t\t&.is-active {\n\t\t\tlabel.floatlabel-label {\n\t\t\t\topacity: 1;\n\t\t\t\tvisibility: visible;\n\t\t\t}\n\n\t\t\tinput,\n\t\t\tselect,\n\t\t\ttextarea {\n\t\t\t\tcolor: $fl-text;\n\t\t\t\tbackground-color: $fl-background-active;\n\t\t\t\tborder-color: $fl-borders-active;\n\t\t\t\tpadding-top: $fl-spacing-base - ($fl-spacing-third / 2);\n\t\t\t\tpadding-bottom: $fl-spacing-third / 2;\n\t\t\t}\n\t\t}\n\n\t\t&.is-focused {\n\t\t\tlabel.floatlabel-label {\n\t\t\t\tcolor: $fl-text-focus;\n\t\t\t}\n\n\t\t\tinput,\n\t\t\tselect,\n\t\t\ttextarea {\n\t\t\t\tbackground-color: $fl-background-focus;\n\t\t\t\tborder-color: $fl-borders-focus;\n\t\t\t}\n\t\t}\n\n\t\tlabel.floatlabel-label {\n\t\t\tposition: absolute;\n\t\t\tdisplay: block;\n\t\t\ttop: $fl-spacing-third;\n\t\t\tleft: $fl-spacing-half;\n\t\t\tcolor: $fl-placeholder;\n\t\t\tfont-size: $fl-font-size-small;\n\t\t\tline-height: 1;\n\t\t\topacity: 0;\n\t\t\tvisibility: hidden;\n\t\t\ttransition: all $fl-transition-speed $fl-transition-easing;\n\t\t\tpadding: 0 1px;\n\n\t\t\t&.is-visible {\n\t\t\t\topacity: 1;\n\t\t\t\tvisibility: visible;\n\t\t\t}\n\t\t}\n\t}\n\n\t.styled {\n\n\t\t&.select {\n\t\t\tposition: relative;\n\n\t\t\t&:before,\n\t\t\t&:after {\n\t\t\t\tcontent: '';\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: $fl-spacing-base;\n\t\t\t\theight: 2px;\n\t\t\t\twidth: $fl-spacing-fourth;\n\t\t\t\tbackground: $fl-placeholder;\n\t\t\t\tz-index: 2;\n\t\t\t}\n\n\t\t\t&:before {\n\t\t\t\tright: $fl-spacing-half + $fl-spacing-fourth;\n\t\t\t\ttransform: skew(0deg, 45deg);\n\t\t\t}\n\n\t\t\t&:after {\n\t\t\t\tright: $fl-spacing-half;\n\t\t\t\ttransform: skew(0deg, -45deg);\n\t\t\t}\n\t\t}\n\t}\n}\n","/**\n * Give Magnific Modal Custom SCSS\n *\n * @package Give\n * @subpackage SCSS/Frontend\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n// Wrapper for popup\n.give-modal {\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: $mfp-z-index-base + 2147482500;\n\tposition: fixed;\n\toutline: none !important;\n\t-webkit-backface-visibility: hidden; // fixes webkit bug that can cause \"false\" scrollbar\n\n\tform[id*='give-form'] {\n\t\tmargin-bottom: 0;\n\t\t.give-submit {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t\t.give-payment-mode-label {\n\t\t\tmargin-top: 0;\n\t\t\tpadding-top: 0;\n\t\t}\n\t}\n\n\t// Root container\n\t.mfp-container {\n\t\ttext-align: center;\n\t\tposition: absolute;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tleft: 0;\n\t\ttop: 0;\n\t\tpadding: 0 $mfp-popup-padding-left;\n\t\t-webkit-box-sizing: border-box;\n\t\t-moz-box-sizing: border-box;\n\t\tbox-sizing: border-box;\n\t}\n\n\t// Vertical centerer helper\n\t.mfp-container {\n\t\t&:before {\n\t\t\tcontent: '';\n\t\t\tdisplay: inline-block;\n\t\t\theight: 100%;\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n\n\t// Remove vertical centering when popup has class `mfp-align-top`\n\t.mfp-align-top {\n\t\t.mfp-container {\n\t\t\t&:before {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Popup content holder\n\t.mfp-content {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\ttext-align: left;\n\t\tposition: relative;\n\t\tbackground: #FFF;\n\t\tpadding: 20px;\n\t\twidth: auto;\n\t\tmax-width: 500px;\n\t\tmargin: 40px auto;\n\t\tz-index: $mfp-z-index-base + 2147482600;\n\n\t\t[id*='give-form'] #give-payment-mode-select,\n\t\t[id*='give-form'] #give_purchase_form_wrap,\n\t\t[id*='give-form'].give-display-button-only .give-donation-amount,\n\t\t[id*='give-form'].give-display-button-only .give-donation-levels-wrap {\n\t\t\tdisplay: block;\n\t\t}\n\n\t}\n\n\t.mfp-inline-holder,\n\t.mfp-ajax-holder {\n\t\t.mfp-content {\n\t\t\twidth: 100%;\n\t\t\tcursor: auto;\n\t\t}\n\t}\n\n\t// Cursors\n\t.mfp-ajax-cur {\n\t\tcursor: progress;\n\t}\n\n\t.mfp-zoom-out-cur {\n\t\t&, .mfp-image-holder .mfp-close {\n\t\t\tcursor: -moz-zoom-out;\n\t\t\tcursor: -webkit-zoom-out;\n\t\t\tcursor: zoom-out;\n\t\t}\n\t}\n\n\t.mfp-zoom {\n\t\tcursor: pointer;\n\t\tcursor: -webkit-zoom-in;\n\t\tcursor: -moz-zoom-in;\n\t\tcursor: zoom-in;\n\t}\n\n\t.mfp-auto-cursor {\n\t\t.mfp-content {\n\t\t\tcursor: auto;\n\t\t}\n\t}\n\n\t.mfp-close,\n\t.mfp-arrow,\n\t.mfp-preloader,\n\t.mfp-counter {\n\t\t-webkit-user-select: none;\n\t\t-moz-user-select: none;\n\t\tuser-select: none;\n\t}\n\n\t.mfp-close:hover {\n\t\tbackground-color: transparent;\n\t}\n\n\t// Hide the image during the loading\n\t.mfp-loading {\n\t\t&.mfp-figure {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n}","/**\n * Give Frontend Tables SCSS\n *\n * @package Give\n * @subpackage SCSS/Frontend\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\ntable.give-table {\n color: #666;\n font-size: 14px;\n text-shadow: 1px 1px 0px #fff;\n background: #eaebec;\n margin: 20px 0;\n border: 1px solid #e0e0e0;\n border-top: none;\n border-bottom: none;\n width: 100%;\n\n thead {\n font-weight: bold;\n\n th:first-child {\n text-align: left;\n }\n }\n\n th {\n padding: 21px 25px;\n border-top: 1px solid #E8E8E8;\n border-bottom: 1px solid #e0e0e0;\n border-left: 1px solid #e0e0e0;\n border-right: none;\n background: #F6F6F6;\n text-align: center;\n font-weight: bold;\n }\n\n tbody {\n\n tr {\n text-align: center;\n\n td {\n padding: 18px;\n border: none;\n border-top: 1px solid #ffffff;\n border-bottom: 1px solid #e0e0e0;\n border-left: 1px solid #e0e0e0;\n background: #FFF;\n text-align: center;\n }\n\n td:first-child {\n text-align: left;\n border-left: 0;\n }\n }\n\n //Even Rows\n tr:nth-child(even) td {\n background: #fcfcfc;\n }\n\n }\n\n}","/**\n * Give Frontend Theme Compatibility\n *\n * @description: The following styles help Give look good and fixes CSS conflicts with popular WordPress themes\n * @package Give\n * @subpackage SCSS/Frontend\n * @copyright Copyright (c) 2016, WordImpress\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n//Divi\n.give-divi {\n\n .qtip-tipsy {\n\tz-index: 1000002 !important;\n }\n\n}\n\n//Twenty Sixteen\nbody.give-twentysixteen {\n\n div.entry-summary {\n\tmargin: 0;\n }\n\n button.give-btn {\n\tcolor: #333;\n }\n\n .give-submit {\n\tcolor: #FFF;\n }\n\n fieldset#give_terms_agreement {\n padding-left: 0;\n }\n\n}"],"mappings":"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","names":[]}
|
give.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Description: The most robust, flexible, and intuitive way to accept donations on WordPress.
|
6 |
* Author: WordImpress
|
7 |
* Author URI: https://wordimpress.com
|
8 |
-
* Version: 1.8.
|
9 |
* Text Domain: give
|
10 |
* Domain Path: /languages
|
11 |
* GitHub Plugin URI: https://github.com/WordImpress/Give
|
@@ -214,6 +214,14 @@ if ( ! class_exists( 'Give' ) ) :
|
|
214 |
self::$instance->template_loader = new Give_Template_Loader();
|
215 |
self::$instance->email_access = new Give_Email_Access();
|
216 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
}
|
218 |
|
219 |
return self::$instance;
|
@@ -260,7 +268,7 @@ if ( ! class_exists( 'Give' ) ) :
|
|
260 |
|
261 |
// Plugin version
|
262 |
if ( ! defined( 'GIVE_VERSION' ) ) {
|
263 |
-
define( 'GIVE_VERSION', '1.8.
|
264 |
}
|
265 |
|
266 |
// Plugin Folder Path
|
@@ -305,6 +313,7 @@ if ( ! class_exists( 'Give' ) ) :
|
|
305 |
$give_options = give_get_settings();
|
306 |
|
307 |
require_once GIVE_PLUGIN_DIR . 'includes/admin/give-metabox-functions.php';
|
|
|
308 |
require_once GIVE_PLUGIN_DIR . 'includes/post-types.php';
|
309 |
require_once GIVE_PLUGIN_DIR . 'includes/scripts.php';
|
310 |
require_once GIVE_PLUGIN_DIR . 'includes/ajax-functions.php';
|
5 |
* Description: The most robust, flexible, and intuitive way to accept donations on WordPress.
|
6 |
* Author: WordImpress
|
7 |
* Author URI: https://wordimpress.com
|
8 |
+
* Version: 1.8.7
|
9 |
* Text Domain: give
|
10 |
* Domain Path: /languages
|
11 |
* GitHub Plugin URI: https://github.com/WordImpress/Give
|
214 |
self::$instance->template_loader = new Give_Template_Loader();
|
215 |
self::$instance->email_access = new Give_Email_Access();
|
216 |
|
217 |
+
|
218 |
+
/**
|
219 |
+
* Fire the action after Give core loads
|
220 |
+
*
|
221 |
+
* @since 1.8.7
|
222 |
+
*/
|
223 |
+
do_action( 'give_init', self::$instance );
|
224 |
+
|
225 |
}
|
226 |
|
227 |
return self::$instance;
|
268 |
|
269 |
// Plugin version
|
270 |
if ( ! defined( 'GIVE_VERSION' ) ) {
|
271 |
+
define( 'GIVE_VERSION', '1.8.7' );
|
272 |
}
|
273 |
|
274 |
// Plugin Folder Path
|
313 |
$give_options = give_get_settings();
|
314 |
|
315 |
require_once GIVE_PLUGIN_DIR . 'includes/admin/give-metabox-functions.php';
|
316 |
+
require_once GIVE_PLUGIN_DIR . 'includes/class-give-cache.php';
|
317 |
require_once GIVE_PLUGIN_DIR . 'includes/post-types.php';
|
318 |
require_once GIVE_PLUGIN_DIR . 'includes/scripts.php';
|
319 |
require_once GIVE_PLUGIN_DIR . 'includes/ajax-functions.php';
|
includes/actions.php
CHANGED
@@ -27,8 +27,8 @@ function give_get_actions() {
|
|
27 |
|
28 |
$_get_action = ! empty( $_GET['give_action'] ) ? $_GET['give_action'] : null;
|
29 |
|
30 |
-
// Add backward compatibility to give-action param ( $_GET
|
31 |
-
if(
|
32 |
$_get_action = ! empty( $_GET['give-action'] ) ? $_GET['give-action'] : null;
|
33 |
}
|
34 |
|
@@ -46,10 +46,9 @@ function give_get_actions() {
|
|
46 |
}
|
47 |
|
48 |
add_action( 'init', 'give_get_actions' );
|
49 |
-
add_action( 'admin_init', 'give_get_actions' );
|
50 |
|
51 |
/**
|
52 |
-
* Hooks Give actions, when present in the $_POST
|
53 |
* present in $_POST is called using WordPress's do_action function. These
|
54 |
* functions are called on init.
|
55 |
*
|
@@ -62,8 +61,8 @@ function give_post_actions() {
|
|
62 |
$_post_action = ! empty( $_POST['give_action'] ) ? $_POST['give_action'] : null;
|
63 |
|
64 |
|
65 |
-
// Add backward compatibility to give-action param ( $
|
66 |
-
if(
|
67 |
$_post_action = ! empty( $_POST['give-action'] ) ? $_POST['give-action'] : null;
|
68 |
}
|
69 |
|
@@ -81,7 +80,6 @@ function give_post_actions() {
|
|
81 |
}
|
82 |
|
83 |
add_action( 'init', 'give_post_actions' );
|
84 |
-
add_action( 'admin_init', 'give_post_actions' );
|
85 |
|
86 |
/**
|
87 |
* Connect WordPress user with Donor.
|
@@ -92,6 +90,7 @@ add_action( 'admin_init', 'give_post_actions' );
|
|
92 |
* @return void
|
93 |
*/
|
94 |
function give_connect_donor_to_wpuser( $user_id, $user_data ){
|
|
|
95 |
$donor = new Give_Customer( $user_data['user_email'] );
|
96 |
|
97 |
// Validate donor id and check if do nor is already connect to wp user or not.
|
@@ -159,7 +158,56 @@ function give_donor_batch_export_complete( $data ) {
|
|
159 |
&& ! empty( $data['forms'] )
|
160 |
&& isset( $data['give_export_option']['query_id'] )
|
161 |
) {
|
162 |
-
|
163 |
}
|
164 |
}
|
165 |
add_action('give_file_export_complete', 'give_donor_batch_export_complete' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
$_get_action = ! empty( $_GET['give_action'] ) ? $_GET['give_action'] : null;
|
29 |
|
30 |
+
// Add backward compatibility to give-action param ( $_GET )
|
31 |
+
if( empty( $_get_action ) ) {
|
32 |
$_get_action = ! empty( $_GET['give-action'] ) ? $_GET['give-action'] : null;
|
33 |
}
|
34 |
|
46 |
}
|
47 |
|
48 |
add_action( 'init', 'give_get_actions' );
|
|
|
49 |
|
50 |
/**
|
51 |
+
* Hooks Give actions, when present in the $_POST super global. Every give_action
|
52 |
* present in $_POST is called using WordPress's do_action function. These
|
53 |
* functions are called on init.
|
54 |
*
|
61 |
$_post_action = ! empty( $_POST['give_action'] ) ? $_POST['give_action'] : null;
|
62 |
|
63 |
|
64 |
+
// Add backward compatibility to give-action param ( $_POST )
|
65 |
+
if( empty( $_post_action ) ) {
|
66 |
$_post_action = ! empty( $_POST['give-action'] ) ? $_POST['give-action'] : null;
|
67 |
}
|
68 |
|
80 |
}
|
81 |
|
82 |
add_action( 'init', 'give_post_actions' );
|
|
|
83 |
|
84 |
/**
|
85 |
* Connect WordPress user with Donor.
|
90 |
* @return void
|
91 |
*/
|
92 |
function give_connect_donor_to_wpuser( $user_id, $user_data ){
|
93 |
+
/* @var Give_Customer $donor */
|
94 |
$donor = new Give_Customer( $user_data['user_email'] );
|
95 |
|
96 |
// Validate donor id and check if do nor is already connect to wp user or not.
|
158 |
&& ! empty( $data['forms'] )
|
159 |
&& isset( $data['give_export_option']['query_id'] )
|
160 |
) {
|
161 |
+
Give_Cache::delete( Give_Cache::get_key( $data['give_export_option']['query_id'] ) );
|
162 |
}
|
163 |
}
|
164 |
add_action('give_file_export_complete', 'give_donor_batch_export_complete' );
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Print css for wordpress setting pages.
|
168 |
+
*
|
169 |
+
* @since 1.8.7
|
170 |
+
*/
|
171 |
+
function give_admin_quick_css() {
|
172 |
+
/* @var WP_Screen $screen */
|
173 |
+
$screen = get_current_screen();
|
174 |
+
|
175 |
+
if( ! ( $screen instanceof WP_Screen ) ) {
|
176 |
+
return false;
|
177 |
+
}
|
178 |
+
|
179 |
+
switch ( true ) {
|
180 |
+
case ( 'plugins' === $screen->base ):
|
181 |
+
?>
|
182 |
+
<style>
|
183 |
+
tr.active.update + tr.give-addon-notice-tr td{
|
184 |
+
box-shadow:none;
|
185 |
+
-webkit-box-shadow:none;
|
186 |
+
}
|
187 |
+
tr.active + tr.give-addon-notice-tr td{
|
188 |
+
position: relative;
|
189 |
+
top:-1px;
|
190 |
+
}
|
191 |
+
tr.active + tr.give-addon-notice-tr .notice{
|
192 |
+
margin: 5px 20px 15px 40px;
|
193 |
+
}
|
194 |
+
|
195 |
+
tr.give-addon-notice-tr .dashicons {
|
196 |
+
color: #f56e28;
|
197 |
+
}
|
198 |
+
tr.give-addon-notice-tr td{
|
199 |
+
border-left: 4px solid #00a0d2;
|
200 |
+
}
|
201 |
+
|
202 |
+
tr.give-addon-notice-tr td{
|
203 |
+
padding: 0!important;
|
204 |
+
}
|
205 |
+
|
206 |
+
tr.active.update + tr.give-addon-notice-tr .notice{
|
207 |
+
margin: 5px 20px 5px 40px;
|
208 |
+
}
|
209 |
+
</style>
|
210 |
+
<?php
|
211 |
+
}
|
212 |
+
}
|
213 |
+
add_action( 'admin_head', 'give_admin_quick_css' );
|
includes/admin/EDD_SL_Plugin_Updater.php
CHANGED
@@ -7,7 +7,7 @@ if ( ! defined( 'ABSPATH' ) ) exit;
|
|
7 |
* Allows plugins to use their own update API.
|
8 |
*
|
9 |
* @author Easy Digital Downloads
|
10 |
-
* @version 1.6.
|
11 |
*/
|
12 |
class EDD_SL_Plugin_Updater {
|
13 |
|
@@ -279,8 +279,8 @@ class EDD_SL_Plugin_Updater {
|
|
279 |
// Convert sections into an associative array, since we're getting an object, but Core expects an array.
|
280 |
if ( isset( $_data->sections ) && ! is_array( $_data->sections ) ) {
|
281 |
$new_sections = array();
|
282 |
-
foreach ( $_data->sections as $key => $
|
283 |
-
$new_sections[ $key ] = $
|
284 |
}
|
285 |
|
286 |
$_data->sections = $new_sections;
|
@@ -289,8 +289,8 @@ class EDD_SL_Plugin_Updater {
|
|
289 |
// Convert banners into an associative array, since we're getting an object, but Core expects an array.
|
290 |
if ( isset( $_data->banners ) && ! is_array( $_data->banners ) ) {
|
291 |
$new_banners = array();
|
292 |
-
foreach ( $_data->banners as $key => $
|
293 |
-
$new_banners[ $key ] = $
|
294 |
}
|
295 |
|
296 |
$_data->banners = $new_banners;
|
7 |
* Allows plugins to use their own update API.
|
8 |
*
|
9 |
* @author Easy Digital Downloads
|
10 |
+
* @version 1.6.12
|
11 |
*/
|
12 |
class EDD_SL_Plugin_Updater {
|
13 |
|
279 |
// Convert sections into an associative array, since we're getting an object, but Core expects an array.
|
280 |
if ( isset( $_data->sections ) && ! is_array( $_data->sections ) ) {
|
281 |
$new_sections = array();
|
282 |
+
foreach ( $_data->sections as $key => $value ) {
|
283 |
+
$new_sections[ $key ] = $value;
|
284 |
}
|
285 |
|
286 |
$_data->sections = $new_sections;
|
289 |
// Convert banners into an associative array, since we're getting an object, but Core expects an array.
|
290 |
if ( isset( $_data->banners ) && ! is_array( $_data->banners ) ) {
|
291 |
$new_banners = array();
|
292 |
+
foreach ( $_data->banners as $key => $value ) {
|
293 |
+
$new_banners[ $key ] = $value;
|
294 |
}
|
295 |
|
296 |
$_data->banners = $new_banners;
|
includes/admin/add-ons.php
CHANGED
@@ -48,7 +48,7 @@ function give_add_ons_page() {
|
|
48 |
function give_add_ons_get_feed() {
|
49 |
|
50 |
$addons_debug = false; //set to true to debug
|
51 |
-
$cache =
|
52 |
|
53 |
if ( $cache === false || $addons_debug === true && WP_DEBUG === true ) {
|
54 |
$feed = wp_remote_get( 'https://givewp.com/downloads/feed/', array( 'sslverify' => false ) );
|
@@ -56,10 +56,13 @@ function give_add_ons_get_feed() {
|
|
56 |
if ( ! is_wp_error( $feed ) ) {
|
57 |
if ( isset( $feed['body'] ) && strlen( $feed['body'] ) > 0 ) {
|
58 |
$cache = wp_remote_retrieve_body( $feed );
|
59 |
-
|
60 |
}
|
61 |
} else {
|
62 |
-
$cache =
|
|
|
|
|
|
|
63 |
}
|
64 |
}
|
65 |
|
48 |
function give_add_ons_get_feed() {
|
49 |
|
50 |
$addons_debug = false; //set to true to debug
|
51 |
+
$cache = Give_Cache::get( 'give_add_ons_feed', true );
|
52 |
|
53 |
if ( $cache === false || $addons_debug === true && WP_DEBUG === true ) {
|
54 |
$feed = wp_remote_get( 'https://givewp.com/downloads/feed/', array( 'sslverify' => false ) );
|
56 |
if ( ! is_wp_error( $feed ) ) {
|
57 |
if ( isset( $feed['body'] ) && strlen( $feed['body'] ) > 0 ) {
|
58 |
$cache = wp_remote_retrieve_body( $feed );
|
59 |
+
Give_Cache::set( 'give_add_ons_feed', $cache, HOUR_IN_SECONDS, true );
|
60 |
}
|
61 |
} else {
|
62 |
+
$cache = sprintf(
|
63 |
+
'<div class="error"><p>%s</p></div>',
|
64 |
+
esc_html__( 'There was an error retrieving the Give Add-ons list from the server. Please try again later.', 'give' )
|
65 |
+
);
|
66 |
}
|
67 |
}
|
68 |
|
includes/admin/admin-actions.php
CHANGED
@@ -57,12 +57,12 @@ function give_hide_subscription_notices() {
|
|
57 |
// Transient key name.
|
58 |
$transient_key = "_give_hide_license_notices_shortly_{$current_user->ID}_{$notice_id}";
|
59 |
|
60 |
-
if (
|
61 |
return;
|
62 |
}
|
63 |
|
64 |
// Hide notice for 24 hours.
|
65 |
-
|
66 |
|
67 |
// Redirect user.
|
68 |
wp_safe_redirect( remove_query_arg( '_give_hide_license_notices_shortly', $_SERVER['REQUEST_URI'] ) );
|
57 |
// Transient key name.
|
58 |
$transient_key = "_give_hide_license_notices_shortly_{$current_user->ID}_{$notice_id}";
|
59 |
|
60 |
+
if ( Give_Cache::get( $transient_key, true ) ) {
|
61 |
return;
|
62 |
}
|
63 |
|
64 |
// Hide notice for 24 hours.
|
65 |
+
Give_Cache::set( $transient_key, true, DAY_IN_SECONDS, true );
|
66 |
|
67 |
// Redirect user.
|
68 |
wp_safe_redirect( remove_query_arg( '_give_hide_license_notices_shortly', $_SERVER['REQUEST_URI'] ) );
|
includes/admin/class-admin-notices.php
CHANGED
@@ -77,13 +77,13 @@ class Give_Notices {
|
|
77 |
|
78 |
if ( ! give_test_ajax_works() && ! get_user_meta( get_current_user_id(), '_give_admin_ajax_inaccessible_dismissed', true ) && current_user_can( 'manage_give_settings' ) ) {
|
79 |
echo '<div class="error">';
|
80 |
-
echo '<p>' .
|
81 |
/* translators: %s: http://docs.givewp.com/ajax-blocked */
|
82 |
echo '<p>' . sprintf( __( 'Please see <a href="%s" target="_blank">this reference</a> for possible solutions.', 'give' ), esc_url( 'http://docs.givewp.com/ajax-blocked' ) ) . '</p>';
|
83 |
echo '<p><a href="' . add_query_arg( array(
|
84 |
'give_action' => 'dismiss_notices',
|
85 |
'give_notice' => 'admin_ajax_inaccessible',
|
86 |
-
) ) . '">' .
|
87 |
echo '</div>';
|
88 |
}
|
89 |
|
@@ -93,16 +93,16 @@ class Give_Notices {
|
|
93 |
if ( current_user_can( 'view_give_reports' ) ) {
|
94 |
switch ( $_GET['give-message'] ) {
|
95 |
case 'donation_deleted' :
|
96 |
-
$this->notices['updated']['give-donation-deleted'] =
|
97 |
break;
|
98 |
case 'email_sent' :
|
99 |
-
$this->notices['updated']['give-payment-sent'] =
|
100 |
break;
|
101 |
case 'refreshed-reports' :
|
102 |
-
$this->notices['updated']['give-refreshed-reports'] =
|
103 |
break;
|
104 |
case 'donation-note-deleted' :
|
105 |
-
$this->notices['updated']['give-donation-note-deleted'] =
|
106 |
break;
|
107 |
}
|
108 |
}
|
@@ -111,35 +111,35 @@ class Give_Notices {
|
|
111 |
if ( current_user_can( 'manage_give_settings' ) ) {
|
112 |
switch ( $_GET['give-message'] ) {
|
113 |
case 'settings-imported' :
|
114 |
-
$this->notices['updated']['give-settings-imported'] =
|
115 |
break;
|
116 |
case 'api-key-generated' :
|
117 |
-
$this->notices['updated']['give-api-key-generated'] =
|
118 |
break;
|
119 |
case 'api-key-exists' :
|
120 |
-
$this->notices['error']['give-api-key-exists'] =
|
121 |
break;
|
122 |
case 'api-key-regenerated' :
|
123 |
-
$this->notices['updated']['give-api-key-regenerated'] =
|
124 |
break;
|
125 |
case 'api-key-revoked' :
|
126 |
-
$this->notices['updated']['give-api-key-revoked'] =
|
127 |
break;
|
128 |
case 'sent-test-email' :
|
129 |
-
$this->notices['updated']['give-sent-test-email'] =
|
130 |
break;
|
131 |
case 'matched-success-failure-page':
|
132 |
-
$this->notices['updated']['give-matched-success-failure-page'] =
|
133 |
}
|
134 |
}
|
135 |
// Payments errors.
|
136 |
if ( current_user_can( 'edit_give_payments' ) ) {
|
137 |
switch ( $_GET['give-message'] ) {
|
138 |
case 'note-added' :
|
139 |
-
$this->notices['updated']['give-note-added'] =
|
140 |
break;
|
141 |
case 'payment-updated' :
|
142 |
-
$this->notices['updated']['give-payment-updated'] =
|
143 |
break;
|
144 |
}
|
145 |
}
|
@@ -148,27 +148,27 @@ class Give_Notices {
|
|
148 |
if ( current_user_can( 'edit_give_payments' ) ) {
|
149 |
switch ( $_GET['give-message'] ) {
|
150 |
case 'customer-deleted' :
|
151 |
-
$this->notices['updated']['give-customer-deleted'] =
|
152 |
break;
|
153 |
|
154 |
case 'email-added' :
|
155 |
-
$this->notices['updated']['give-customer-email-added'] =
|
156 |
break;
|
157 |
|
158 |
case 'email-removed' :
|
159 |
-
$this->notices['updated']['give-customer-email-removed'] =
|
160 |
break;
|
161 |
|
162 |
case 'email-remove-failed' :
|
163 |
-
$this->notices['error']['give-customer-email-remove-failed'] =
|
164 |
break;
|
165 |
|
166 |
case 'primary-email-updated' :
|
167 |
-
$this->notices['updated']['give-customer-primary-email-updated'] =
|
168 |
break;
|
169 |
|
170 |
case 'primary-email-failed' :
|
171 |
-
$this->notices['error']['give-customer-primary-email-failed'] =
|
172 |
|
173 |
}
|
174 |
}
|
@@ -200,7 +200,7 @@ class Give_Notices {
|
|
200 |
* @return void
|
201 |
*/
|
202 |
function give_admin_addons_notices() {
|
203 |
-
add_settings_error( 'give-notices', 'give-addons-feed-error',
|
204 |
settings_errors( 'give-notices' );
|
205 |
}
|
206 |
|
77 |
|
78 |
if ( ! give_test_ajax_works() && ! get_user_meta( get_current_user_id(), '_give_admin_ajax_inaccessible_dismissed', true ) && current_user_can( 'manage_give_settings' ) ) {
|
79 |
echo '<div class="error">';
|
80 |
+
echo '<p>' . __( 'Your site appears to be blocking the WordPress ajax interface. This may cause issues with Give.', 'give' ) . '</p>';
|
81 |
/* translators: %s: http://docs.givewp.com/ajax-blocked */
|
82 |
echo '<p>' . sprintf( __( 'Please see <a href="%s" target="_blank">this reference</a> for possible solutions.', 'give' ), esc_url( 'http://docs.givewp.com/ajax-blocked' ) ) . '</p>';
|
83 |
echo '<p><a href="' . add_query_arg( array(
|
84 |
'give_action' => 'dismiss_notices',
|
85 |
'give_notice' => 'admin_ajax_inaccessible',
|
86 |
+
) ) . '">' . __( 'Dismiss Notice', 'give' ) . '</a></p>';
|
87 |
echo '</div>';
|
88 |
}
|
89 |
|
93 |
if ( current_user_can( 'view_give_reports' ) ) {
|
94 |
switch ( $_GET['give-message'] ) {
|
95 |
case 'donation_deleted' :
|
96 |
+
$this->notices['updated']['give-donation-deleted'] = __( 'The donation has been deleted.', 'give' );
|
97 |
break;
|
98 |
case 'email_sent' :
|
99 |
+
$this->notices['updated']['give-payment-sent'] = __( 'The donation receipt has been resent.', 'give' );
|
100 |
break;
|
101 |
case 'refreshed-reports' :
|
102 |
+
$this->notices['updated']['give-refreshed-reports'] = __( 'The reports cache has been cleared.', 'give' );
|
103 |
break;
|
104 |
case 'donation-note-deleted' :
|
105 |
+
$this->notices['updated']['give-donation-note-deleted'] = __( 'The donation note has been deleted.', 'give' );
|
106 |
break;
|
107 |
}
|
108 |
}
|
111 |
if ( current_user_can( 'manage_give_settings' ) ) {
|
112 |
switch ( $_GET['give-message'] ) {
|
113 |
case 'settings-imported' :
|
114 |
+
$this->notices['updated']['give-settings-imported'] = __( 'The settings have been imported.', 'give' );
|
115 |
break;
|
116 |
case 'api-key-generated' :
|
117 |
+
$this->notices['updated']['give-api-key-generated'] = __( 'API keys have been generated.', 'give' );
|
118 |
break;
|
119 |
case 'api-key-exists' :
|
120 |
+
$this->notices['error']['give-api-key-exists'] = __( 'The specified user already has API keys.', 'give' );
|
121 |
break;
|
122 |
case 'api-key-regenerated' :
|
123 |
+
$this->notices['updated']['give-api-key-regenerated'] = __( 'API keys have been regenerated.', 'give' );
|
124 |
break;
|
125 |
case 'api-key-revoked' :
|
126 |
+
$this->notices['updated']['give-api-key-revoked'] = __( 'API keys have been revoked.', 'give' );
|
127 |
break;
|
128 |
case 'sent-test-email' :
|
129 |
+
$this->notices['updated']['give-sent-test-email'] = __( 'The test email has been sent.', 'give' );
|
130 |
break;
|
131 |
case 'matched-success-failure-page':
|
132 |
+
$this->notices['updated']['give-matched-success-failure-page'] = __( 'You cannot set the success and failed pages to the same page', 'give' );
|
133 |
}
|
134 |
}
|
135 |
// Payments errors.
|
136 |
if ( current_user_can( 'edit_give_payments' ) ) {
|
137 |
switch ( $_GET['give-message'] ) {
|
138 |
case 'note-added' :
|
139 |
+
$this->notices['updated']['give-note-added'] = __( 'The donation note has been added.', 'give' );
|
140 |
break;
|
141 |
case 'payment-updated' :
|
142 |
+
$this->notices['updated']['give-payment-updated'] = __( 'The donation has been updated.', 'give' );
|
143 |
break;
|
144 |
}
|
145 |
}
|
148 |
if ( current_user_can( 'edit_give_payments' ) ) {
|
149 |
switch ( $_GET['give-message'] ) {
|
150 |
case 'customer-deleted' :
|
151 |
+
$this->notices['updated']['give-customer-deleted'] = __( 'The donor has been deleted.', 'give' );
|
152 |
break;
|
153 |
|
154 |
case 'email-added' :
|
155 |
+
$this->notices['updated']['give-customer-email-added'] = __( 'Donor email added', 'give' );
|
156 |
break;
|
157 |
|
158 |
case 'email-removed' :
|
159 |
+
$this->notices['updated']['give-customer-email-removed'] = __( 'Donor email removed', 'give' );
|
160 |
break;
|
161 |
|
162 |
case 'email-remove-failed' :
|
163 |
+
$this->notices['error']['give-customer-email-remove-failed'] = __( 'Failed to remove donor email', 'give' );
|
164 |
break;
|
165 |
|
166 |
case 'primary-email-updated' :
|
167 |
+
$this->notices['updated']['give-customer-primary-email-updated'] = __( 'Primary email updated for donor', 'give' );
|
168 |
break;
|
169 |
|
170 |
case 'primary-email-failed' :
|
171 |
+
$this->notices['error']['give-customer-primary-email-failed'] = __( 'Failed to set primary email', 'give' );
|
172 |
|
173 |
}
|
174 |
}
|
200 |
* @return void
|
201 |
*/
|
202 |
function give_admin_addons_notices() {
|
203 |
+
add_settings_error( 'give-notices', 'give-addons-feed-error', __( 'There seems to be an issue with the server. Please try again in a few minutes.', 'give' ), 'error' );
|
204 |
settings_errors( 'give-notices' );
|
205 |
}
|
206 |
|
includes/admin/class-api-keys-table.php
CHANGED
@@ -304,13 +304,19 @@ class Give_API_Keys_Table extends WP_List_Table {
|
|
304 |
public function total_items() {
|
305 |
global $wpdb;
|
306 |
|
307 |
-
if ( !
|
308 |
-
$total_items = $wpdb->get_var(
|
|
|
|
|
|
|
|
|
|
|
|
|
309 |
|
310 |
-
|
311 |
}
|
312 |
|
313 |
-
return
|
314 |
}
|
315 |
|
316 |
/**
|
304 |
public function total_items() {
|
305 |
global $wpdb;
|
306 |
|
307 |
+
if ( ! ( $total_items = Give_Cache::get( 'give_total_api_keys', true ) ) ) {
|
308 |
+
$total_items = $wpdb->get_var(
|
309 |
+
$wpdb->prepare(
|
310 |
+
"SELECT count(user_id)
|
311 |
+
FROM {$wpdb->usermeta} WHERE meta_value='%s'",
|
312 |
+
'give_user_secret_key'
|
313 |
+
)
|
314 |
+
);
|
315 |
|
316 |
+
Give_Cache::set( 'give_total_api_keys', $total_items, HOUR_IN_SECONDS, true );
|
317 |
}
|
318 |
|
319 |
+
return $total_items;
|
320 |
}
|
321 |
|
322 |
/**
|
includes/admin/class-give-settings.php
CHANGED
@@ -1,1461 +1,1458 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Class Give_Plugin_Settings
|
5 |
-
*
|
6 |
-
* Register settings Include and setup custom metaboxes and fields.
|
7 |
-
*
|
8 |
-
* @package Give
|
9 |
-
* @subpackage Admin
|
10 |
-
* @license https://opensource.org/licenses/gpl-license GNU Public License
|
11 |
-
* @link https://github.com/webdevstudios/Custom-Metaboxes-and-Fields-for-WordPress
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
add_action( '
|
50 |
-
add_action( '
|
51 |
-
add_action( '
|
52 |
-
add_action( '
|
53 |
-
add_action( '
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
*
|
73 |
-
*
|
74 |
-
*
|
75 |
-
*
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
*
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
$
|
95 |
-
|
96 |
-
$tabs
|
97 |
-
$tabs['
|
98 |
-
|
99 |
-
$
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
?>
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
<
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
*
|
159 |
-
*
|
160 |
-
*
|
161 |
-
* @
|
162 |
-
*
|
163 |
-
* @
|
164 |
-
*
|
165 |
-
* @param $
|
166 |
-
*
|
167 |
-
* @
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
*
|
186 |
-
*
|
187 |
-
*
|
188 |
-
*
|
189 |
-
* @
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
'
|
201 |
-
'
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
'
|
206 |
-
'
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
'
|
212 |
-
|
213 |
-
'
|
214 |
-
'
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
'
|
223 |
-
'
|
224 |
-
'
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
'
|
233 |
-
|
234 |
-
'
|
235 |
-
'
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
'
|
244 |
-
'
|
245 |
-
'
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
'
|
251 |
-
'
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
'
|
257 |
-
'
|
258 |
-
'
|
259 |
-
'
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
'
|
265 |
-
'
|
266 |
-
'
|
267 |
-
|
268 |
-
|
269 |
-
/* translators: %s: currency symbol */
|
270 |
-
'
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
'
|
278 |
-
'
|
279 |
-
'
|
280 |
-
'
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
'
|
286 |
-
'
|
287 |
-
'
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
'
|
293 |
-
'
|
294 |
-
'
|
295 |
-
'
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
'
|
307 |
-
'
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
'
|
312 |
-
'
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
'
|
318 |
-
'
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
'
|
324 |
-
'
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
'
|
330 |
-
'
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
'
|
336 |
-
'
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
'
|
342 |
-
'
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
'
|
348 |
-
'
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
'
|
354 |
-
'
|
355 |
-
'
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
'
|
365 |
-
'
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
'
|
371 |
-
'
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
'
|
377 |
-
'
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
'
|
383 |
-
'
|
384 |
-
'
|
385 |
-
'
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
'
|
393 |
-
'
|
394 |
-
'
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
'
|
400 |
-
'
|
401 |
-
'
|
402 |
-
'
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
'
|
414 |
-
'
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
'
|
419 |
-
'
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
'
|
425 |
-
'
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
'
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
'
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
'
|
450 |
-
|
451 |
-
|
452 |
-
'
|
453 |
-
|
454 |
-
|
455 |
-
'
|
456 |
-
|
457 |
-
|
458 |
-
'
|
459 |
-
|
460 |
-
|
461 |
-
'
|
462 |
-
|
463 |
-
|
464 |
-
'
|
465 |
-
|
466 |
-
|
467 |
-
'
|
468 |
-
|
469 |
-
|
470 |
-
'
|
471 |
-
|
472 |
-
|
473 |
-
'
|
474 |
-
|
475 |
-
|
476 |
-
'
|
477 |
-
'
|
478 |
-
'
|
479 |
-
|
480 |
-
|
481 |
-
'
|
482 |
-
|
483 |
-
|
484 |
-
'
|
485 |
-
|
486 |
-
|
487 |
-
'
|
488 |
-
|
489 |
-
|
490 |
-
'
|
491 |
-
|
492 |
-
|
493 |
-
'
|
494 |
-
|
495 |
-
|
496 |
-
'
|
497 |
-
|
498 |
-
|
499 |
-
'
|
500 |
-
|
501 |
-
|
502 |
-
'
|
503 |
-
|
504 |
-
|
505 |
-
'
|
506 |
-
|
507 |
-
|
508 |
-
'
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
'
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
'
|
527 |
-
|
528 |
-
|
529 |
-
'
|
530 |
-
|
531 |
-
|
532 |
-
'
|
533 |
-
'
|
534 |
-
|
535 |
-
|
536 |
-
'
|
537 |
-
|
538 |
-
|
539 |
-
'
|
540 |
-
|
541 |
-
|
542 |
-
'
|
543 |
-
|
544 |
-
|
545 |
-
'
|
546 |
-
'
|
547 |
-
|
548 |
-
|
549 |
-
'
|
550 |
-
|
551 |
-
|
552 |
-
'
|
553 |
-
'
|
554 |
-
|
555 |
-
|
556 |
-
'
|
557 |
-
|
558 |
-
|
559 |
-
'
|
560 |
-
|
561 |
-
|
562 |
-
'
|
563 |
-
|
564 |
-
|
565 |
-
'
|
566 |
-
'
|
567 |
-
|
568 |
-
|
569 |
-
'
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
'
|
581 |
-
|
582 |
-
|
583 |
-
'
|
584 |
-
|
585 |
-
|
586 |
-
'
|
587 |
-
|
588 |
-
|
589 |
-
'
|
590 |
-
'
|
591 |
-
|
592 |
-
|
593 |
-
'
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
'
|
605 |
-
|
606 |
-
|
607 |
-
'
|
608 |
-
'
|
609 |
-
|
610 |
-
|
611 |
-
'
|
612 |
-
|
613 |
-
|
614 |
-
'
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
'
|
625 |
-
)
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
'
|
633 |
-
)
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
'
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
'
|
646 |
-
|
647 |
-
|
648 |
-
'
|
649 |
-
|
650 |
-
|
651 |
-
'
|
652 |
-
'
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
'
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
'
|
664 |
-
|
665 |
-
|
666 |
-
'
|
667 |
-
|
668 |
-
|
669 |
-
'
|
670 |
-
'
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
'
|
675 |
-
|
676 |
-
|
677 |
-
'
|
678 |
-
'
|
679 |
-
|
680 |
-
|
681 |
-
'
|
682 |
-
|
683 |
-
|
684 |
-
'
|
685 |
-
|
686 |
-
|
687 |
-
'
|
688 |
-
|
689 |
-
|
690 |
-
'
|
691 |
-
|
692 |
-
|
693 |
-
'
|
694 |
-
|
695 |
-
|
696 |
-
'
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
'
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
'
|
708 |
-
|
709 |
-
|
710 |
-
'
|
711 |
-
|
712 |
-
|
713 |
-
'
|
714 |
-
|
715 |
-
|
716 |
-
'
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
'
|
727 |
-
'
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
'
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
'
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
*
|
784 |
-
*
|
785 |
-
* @
|
786 |
-
*
|
787 |
-
* @
|
788 |
-
*
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
*
|
811 |
-
* @since 0.1.0
|
812 |
-
*
|
813 |
-
* @param string
|
814 |
-
* @param string $default The default option if the option isn't set
|
815 |
-
*
|
816 |
-
* @return mixed Option value
|
817 |
-
*/
|
818 |
-
function give_get_option( $key = '', $default = false ) {
|
819 |
-
$give_options = give_get_settings();
|
820 |
-
$value = ! empty( $give_options[ $key ] ) ? $give_options[ $key ] : $default;
|
821 |
-
$value = apply_filters( 'give_get_option', $value, $key, $default );
|
822 |
-
|
823 |
-
return apply_filters( "give_get_option_{$key}", $value, $key, $default );
|
824 |
-
}
|
825 |
-
|
826 |
-
|
827 |
-
/**
|
828 |
-
* Update an option
|
829 |
-
*
|
830 |
-
* Updates an give setting value in both the db and the global variable.
|
831 |
-
* Warning: Passing in an empty, false or null string value will remove
|
832 |
-
* the key from the give_options array.
|
833 |
-
*
|
834 |
-
* @since 1.0
|
835 |
-
*
|
836 |
-
* @param string $key The Key to update
|
837 |
-
* @param string|bool|int $value The value to set the key to
|
838 |
-
*
|
839 |
-
* @return boolean True if updated, false if not.
|
840 |
-
*/
|
841 |
-
function give_update_option( $key = '', $value = false ) {
|
842 |
-
|
843 |
-
// If no key, exit
|
844 |
-
if ( empty( $key ) ) {
|
845 |
-
return false;
|
846 |
-
}
|
847 |
-
|
848 |
-
if ( empty( $value ) ) {
|
849 |
-
$remove_option = give_delete_option( $key );
|
850 |
-
|
851 |
-
return $remove_option;
|
852 |
-
}
|
853 |
-
|
854 |
-
// First let's grab the current settings
|
855 |
-
$options = get_option( 'give_settings' );
|
856 |
-
|
857 |
-
// Let's let devs alter that value coming in
|
858 |
-
$value = apply_filters( 'give_update_option', $value, $key );
|
859 |
-
|
860 |
-
// Next let's try to update the value
|
861 |
-
$options[ $key ] = $value;
|
862 |
-
$did_update = update_option( 'give_settings', $options );
|
863 |
-
|
864 |
-
// If it updated, let's update the global variable
|
865 |
-
if ( $did_update ) {
|
866 |
-
global $give_options;
|
867 |
-
$give_options[ $key ] = $value;
|
868 |
-
}
|
869 |
-
|
870 |
-
return $did_update;
|
871 |
-
}
|
872 |
-
|
873 |
-
/**
|
874 |
-
* Remove an option
|
875 |
-
*
|
876 |
-
* Removes an give setting value in both the db and the global variable.
|
877 |
-
*
|
878 |
-
* @since 1.0
|
879 |
-
*
|
880 |
-
* @global $give_options
|
881 |
-
*
|
882 |
-
* @param string $key The Key to delete
|
883 |
-
*
|
884 |
-
* @return boolean True if updated, false if not.
|
885 |
-
*/
|
886 |
-
function give_delete_option( $key = '' ) {
|
887 |
-
|
888 |
-
// If no key, exit
|
889 |
-
if ( empty( $key ) ) {
|
890 |
-
return false;
|
891 |
-
}
|
892 |
-
|
893 |
-
// First let's grab the current settings
|
894 |
-
$options = get_option( 'give_settings' );
|
895 |
-
|
896 |
-
// Next let's try to update the value
|
897 |
-
if ( isset( $options[ $key ] ) ) {
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
*
|
917 |
-
*
|
918 |
-
*
|
919 |
-
*
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
* Give
|
934 |
-
*
|
935 |
-
*
|
936 |
-
*
|
937 |
-
* @
|
938 |
-
*
|
939 |
-
* @param $array
|
940 |
-
*
|
941 |
-
* @
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
array_slice( $array,
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
*
|
973 |
-
*
|
974 |
-
*
|
975 |
-
*
|
976 |
-
* @
|
977 |
-
* @param array $
|
978 |
-
*
|
979 |
-
* @return void
|
980 |
-
*/
|
981 |
-
function give_enabled_gateways_callback( $field_arr, $saved_values = array() ) {
|
982 |
-
|
983 |
-
$id = $field_arr['id'];
|
984 |
-
$gateways = give_get_ordered_payment_gateways( give_get_payment_gateways() );
|
985 |
-
|
986 |
-
echo '<ul class="give-checklist-fields give-payment-gatways-list">';
|
987 |
-
|
988 |
-
foreach ( $gateways as $key => $option ) :
|
989 |
-
|
990 |
-
if ( is_array( $saved_values ) && array_key_exists( $key, $saved_values ) ) {
|
991 |
-
$enabled = '1';
|
992 |
-
} else {
|
993 |
-
$enabled = null;
|
994 |
-
}
|
995 |
-
|
996 |
-
echo '<li><span class="give-drag-handle"><span class="dashicons dashicons-menu"></span></span><input name="' . $id . '[' . $key . ']" id="' . $id . '[' . $key . ']" type="checkbox" value="1" ' . checked( '1', $enabled, false ) . '/> ';
|
997 |
-
echo '<label for="' . $id . '[' . $key . ']">' . $option['admin_label'] . '</label></li>';
|
998 |
-
|
999 |
-
endforeach;
|
1000 |
-
|
1001 |
-
echo '</ul>';
|
1002 |
-
}
|
1003 |
-
|
1004 |
-
/**
|
1005 |
-
* Gateways Callback (drop down)
|
1006 |
-
*
|
1007 |
-
* Renders gateways select menu
|
1008 |
-
*
|
1009 |
-
* @since 1.0
|
1010 |
-
*
|
1011 |
-
* @param array $
|
1012 |
-
* @
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
$
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
*
|
1034 |
-
*
|
1035 |
-
*
|
1036 |
-
*
|
1037 |
-
* @
|
1038 |
-
*
|
1039 |
-
* @
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
$
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
*
|
1055 |
-
*
|
1056 |
-
*
|
1057 |
-
*
|
1058 |
-
* @
|
1059 |
-
*
|
1060 |
-
* @
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
$
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
*
|
1076 |
-
*
|
1077 |
-
* @param
|
1078 |
-
*
|
1079 |
-
*
|
1080 |
-
* @
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
'
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
|
1097 |
-
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
*
|
1112 |
-
*
|
1113 |
-
*
|
1114 |
-
*
|
1115 |
-
*
|
1116 |
-
*
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
1123 |
-
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
1127 |
-
|
1128 |
-
|
1129 |
-
|
1130 |
-
|
1131 |
-
|
1132 |
-
|
1133 |
-
|
1134 |
-
|
1135 |
-
|
1136 |
-
|
1137 |
-
|
1138 |
-
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
-
|
1145 |
-
*
|
1146 |
-
*
|
1147 |
-
*
|
1148 |
-
*
|
1149 |
-
* @
|
1150 |
-
*
|
1151 |
-
* @
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
1155 |
-
|
1156 |
-
|
1157 |
-
|
1158 |
-
$
|
1159 |
-
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
$
|
1164 |
-
$
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
|
1178 |
-
|
1179 |
-
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
-
if ( $is_license_key ) {
|
1195 |
-
if ( $is_in_subscription ) {
|
1196 |
-
$subscription_expires = strtotime( $subscriptions[ $is_in_subscription ]['expires'] );
|
1197 |
-
$subscription_status =
|
1198 |
-
|
1199 |
-
if ( ( 'active' !== $subscriptions[ $is_in_subscription ]['status'] ) ) {
|
1200 |
-
$subscription_status =
|
1201 |
-
}
|
1202 |
-
|
1203 |
-
if ( $subscription_expires < current_time( 'timestamp', 1 ) ) {
|
1204 |
-
$messages[] = sprintf(
|
1205 |
-
__( 'Your subscription (<a href="%s" target="_blank">#%d</a>) expired. Please <a href="%s" target="_blank" title="Renew your license key">renew your license key</a>', 'give' ),
|
1206 |
-
urldecode( $subscriptions[ $is_in_subscription ]['invoice_url'] ),
|
1207 |
-
$subscriptions[ $is_in_subscription ]['payment_id'],
|
1208 |
-
$checkout_page_link . '?edd_license_key=' . $subscriptions[ $is_in_subscription ]['license_key'] . '&utm_campaign=admin&utm_source=licenses&utm_medium=expired'
|
1209 |
-
);
|
1210 |
-
$license_status = 'license-expired';
|
1211 |
-
} elseif ( strtotime( '- 7 days', $subscription_expires ) < current_time( 'timestamp', 1 ) ) {
|
1212 |
-
$messages[] = sprintf(
|
1213 |
-
__( 'Your subscription (<a href="%s" target="_blank">#%d</a>) will %s in %s.', 'give' ),
|
1214 |
-
urldecode( $subscriptions[ $is_in_subscription ]['invoice_url'] ),
|
1215 |
-
$subscriptions[ $is_in_subscription ]['payment_id'],
|
1216 |
-
$subscription_status,
|
1217 |
-
human_time_diff( current_time( 'timestamp', 1 ), strtotime( $subscriptions[ $is_in_subscription ]['expires'] ) )
|
1218 |
-
);
|
1219 |
-
$license_status = 'license-expires-soon';
|
1220 |
-
} else {
|
1221 |
-
$messages[] = sprintf(
|
1222 |
-
__( 'Your subscription (<a href="%s" target="_blank">#%d</a>) will %s on %s.', 'give' ),
|
1223 |
-
urldecode( $subscriptions[ $is_in_subscription ]['invoice_url'] ),
|
1224 |
-
$subscriptions[ $is_in_subscription ]['payment_id'],
|
1225 |
-
$subscription_status,
|
1226 |
-
date_i18n( get_option( 'date_format' ), strtotime( $subscriptions[ $is_in_subscription ]['expires'], current_time( 'timestamp' ) ) )
|
1227 |
-
);
|
1228 |
-
$license_status = 'license-expiration-date';
|
1229 |
-
}
|
1230 |
-
|
1231 |
-
|
1232 |
-
|
1233 |
-
|
1234 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
-
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
|
1261 |
-
|
1262 |
-
|
1263 |
-
|
1264 |
-
|
1265 |
-
|
1266 |
-
|
1267 |
-
|
1268 |
-
|
1269 |
-
|
1270 |
-
|
1271 |
-
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
-
|
1277 |
-
|
1278 |
-
|
1279 |
-
|
1280 |
-
|
1281 |
-
|
1282 |
-
$
|
1283 |
-
|
1284 |
-
|
1285 |
-
|
1286 |
-
|
1287 |
-
|
1288 |
-
|
1289 |
-
|
1290 |
-
|
1291 |
-
$
|
1292 |
-
|
1293 |
-
|
1294 |
-
|
1295 |
-
|
1296 |
-
|
1297 |
-
$
|
1298 |
-
|
1299 |
-
|
1300 |
-
|
1301 |
-
|
1302 |
-
|
1303 |
-
|
1304 |
-
$
|
1305 |
-
|
1306 |
-
|
1307 |
-
|
1308 |
-
|
1309 |
-
|
1310 |
-
|
1311 |
-
|
1312 |
-
|
1313 |
-
|
1314 |
-
|
1315 |
-
|
1316 |
-
|
1317 |
-
|
1318 |
-
|
1319 |
-
|
1320 |
-
|
1321 |
-
|
1322 |
-
|
1323 |
-
|
1324 |
-
|
1325 |
-
|
1326 |
-
|
1327 |
-
}
|
1328 |
-
|
1329 |
-
//
|
1330 |
-
|
1331 |
-
|
1332 |
-
|
1333 |
-
|
1334 |
-
|
1335 |
-
|
1336 |
-
|
1337 |
-
|
1338 |
-
|
1339 |
-
|
1340 |
-
|
1341 |
-
|
1342 |
-
|
1343 |
-
|
1344 |
-
|
1345 |
-
|
1346 |
-
|
1347 |
-
$
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
-
|
1374 |
-
|
1375 |
-
|
1376 |
-
|
1377 |
-
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
-
|
1386 |
-
|
1387 |
-
|
1388 |
-
|
1389 |
-
|
1390 |
-
|
1391 |
-
|
1392 |
-
|
1393 |
-
|
1394 |
-
|
1395 |
-
|
1396 |
-
|
1397 |
-
|
1398 |
-
|
1399 |
-
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
|
1406 |
-
|
1407 |
-
|
1408 |
-
|
1409 |
-
|
1410 |
-
|
1411 |
-
|
1412 |
-
|
1413 |
-
|
1414 |
-
*
|
1415 |
-
*
|
1416 |
-
*
|
1417 |
-
*
|
1418 |
-
|
1419 |
-
|
1420 |
-
|
1421 |
-
|
1422 |
-
|
1423 |
-
|
1424 |
-
|
1425 |
-
|
1426 |
-
|
1427 |
-
|
1428 |
-
|
1429 |
-
|
1430 |
-
|
1431 |
-
|
1432 |
-
|
1433 |
-
|
1434 |
-
|
1435 |
-
|
1436 |
-
|
1437 |
-
|
1438 |
-
|
1439 |
-
*
|
1440 |
-
*
|
1441 |
-
* @
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
1447 |
-
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
// Output.
|
1460 |
-
return ( in_array( $value, array( 'enabled', 'on', 'yes' ) ) ? true : false );
|
1461 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Give_Plugin_Settings
|
5 |
+
*
|
6 |
+
* Register settings Include and setup custom metaboxes and fields.
|
7 |
+
*
|
8 |
+
* @package Give
|
9 |
+
* @subpackage Admin
|
10 |
+
* @license https://opensource.org/licenses/gpl-license GNU Public License
|
11 |
+
* @link https://github.com/webdevstudios/Custom-Metaboxes-and-Fields-for-WordPress
|
12 |
+
*
|
13 |
+
* @property $key
|
14 |
+
* @property $title
|
15 |
+
* @property $options_page
|
16 |
+
*/
|
17 |
+
class Give_Plugin_Settings {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Option key, and option page slug.
|
21 |
+
*
|
22 |
+
* @var string
|
23 |
+
*/
|
24 |
+
private $key = 'give_settings';
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Options Page title.
|
28 |
+
*
|
29 |
+
* @var string
|
30 |
+
*/
|
31 |
+
protected $title = '';
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Options Page hook.
|
35 |
+
*
|
36 |
+
* @var string
|
37 |
+
*/
|
38 |
+
protected $options_page = '';
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Give_Plugin_Settings constructor.
|
42 |
+
*/
|
43 |
+
public function __construct() {
|
44 |
+
|
45 |
+
// Custom CMB2 Settings Fields
|
46 |
+
add_action( 'cmb2_render_give_title', 'give_title_callback', 10, 5 );
|
47 |
+
add_action( 'cmb2_render_give_description', 'give_description_callback', 10, 5 );
|
48 |
+
add_action( 'cmb2_render_enabled_gateways', 'give_enabled_gateways_callback', 10, 5 );
|
49 |
+
add_action( 'cmb2_render_default_gateway', 'give_default_gateway_callback', 10, 5 );
|
50 |
+
add_action( 'cmb2_render_email_preview_buttons', 'give_email_preview_buttons_callback', 10, 5 );
|
51 |
+
add_action( 'cmb2_render_system_info', 'give_system_info_callback', 10, 5 );
|
52 |
+
add_action( 'cmb2_render_api', 'give_api_callback', 10, 5 );
|
53 |
+
add_action( 'cmb2_render_license_key', 'give_license_key_callback', 10, 5 );
|
54 |
+
}
|
55 |
+
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Register our setting to WP
|
59 |
+
*
|
60 |
+
* @since 1.0
|
61 |
+
*/
|
62 |
+
public function init() {
|
63 |
+
register_setting( $this->key, $this->key );
|
64 |
+
|
65 |
+
}
|
66 |
+
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Filter CMB2 URL
|
70 |
+
*
|
71 |
+
* Required for CMB2 to properly load CSS/JS.
|
72 |
+
*
|
73 |
+
* @param $url
|
74 |
+
*
|
75 |
+
* @return mixed
|
76 |
+
*/
|
77 |
+
public function give_update_cmb_meta_box_url( $url ) {
|
78 |
+
// Path to Give's CMB
|
79 |
+
return GIVE_PLUGIN_URL . '/includes/libraries/cmb2';
|
80 |
+
}
|
81 |
+
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Retrieve settings tabs
|
85 |
+
*
|
86 |
+
* @since 1.0
|
87 |
+
* @return array $tabs
|
88 |
+
*/
|
89 |
+
public function give_get_settings_tabs() {
|
90 |
+
|
91 |
+
$settings = $this->give_settings( null );
|
92 |
+
|
93 |
+
$tabs = array();
|
94 |
+
$tabs['general'] = __( 'General', 'give' );
|
95 |
+
$tabs['gateways'] = __( 'Payment Gateways', 'give' );
|
96 |
+
$tabs['display'] = __( 'Display Options', 'give' );
|
97 |
+
$tabs['emails'] = __( 'Emails', 'give' );
|
98 |
+
|
99 |
+
if ( ! empty( $settings['addons']['fields'] ) ) {
|
100 |
+
$tabs['addons'] = __( 'Add-ons', 'give' );
|
101 |
+
}
|
102 |
+
|
103 |
+
if ( ! empty( $settings['licenses']['fields'] ) ) {
|
104 |
+
$tabs['licenses'] = __( 'Licenses', 'give' );
|
105 |
+
}
|
106 |
+
|
107 |
+
$tabs['advanced'] = __( 'Advanced', 'give' );
|
108 |
+
$tabs['api'] = __( 'API', 'give' );
|
109 |
+
$tabs['system_info'] = __( 'System Info', 'give' );
|
110 |
+
|
111 |
+
return apply_filters( 'give_settings_tabs', $tabs );
|
112 |
+
}
|
113 |
+
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Admin page markup. Mostly handled by CMB2
|
117 |
+
*
|
118 |
+
* @since 1.0
|
119 |
+
*/
|
120 |
+
public function admin_page_display() {
|
121 |
+
|
122 |
+
$active_tab = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $this->give_get_settings_tabs() ) ? $_GET['tab'] : 'general';
|
123 |
+
|
124 |
+
?>
|
125 |
+
|
126 |
+
<div class="wrap give_settings_page cmb2_options_page <?php echo $this->key; ?>">
|
127 |
+
|
128 |
+
<h1 class="screen-reader-text"><?php echo get_admin_page_title(); ?></h1>
|
129 |
+
|
130 |
+
<h2 class="nav-tab-wrapper">
|
131 |
+
<?php
|
132 |
+
foreach ( $this->give_get_settings_tabs() as $tab_id => $tab_name ) {
|
133 |
+
|
134 |
+
$tab_url = esc_url( add_query_arg( array(
|
135 |
+
'settings-updated' => false,
|
136 |
+
'tab' => $tab_id,
|
137 |
+
) ) );
|
138 |
+
|
139 |
+
$active = $active_tab == $tab_id ? ' nav-tab-active' : '';
|
140 |
+
|
141 |
+
echo '<a href="' . esc_url( $tab_url ) . '" class="nav-tab' . $active . '" id="tab-' . $tab_id . '">' . esc_html( $tab_name ) . '</a>';
|
142 |
+
|
143 |
+
}
|
144 |
+
?>
|
145 |
+
</h2>
|
146 |
+
|
147 |
+
<?php cmb2_metabox_form( $this->give_settings( $active_tab ), $this->key ); ?>
|
148 |
+
|
149 |
+
</div><!-- .wrap -->
|
150 |
+
|
151 |
+
<?php
|
152 |
+
}
|
153 |
+
|
154 |
+
|
155 |
+
/**
|
156 |
+
*
|
157 |
+
* Modify CMB2 Default Form Output
|
158 |
+
*
|
159 |
+
* @param string @args
|
160 |
+
*
|
161 |
+
* @since 1.0
|
162 |
+
*
|
163 |
+
* @param $form_format
|
164 |
+
* @param $object_id
|
165 |
+
* @param $cmb
|
166 |
+
*
|
167 |
+
* @return string
|
168 |
+
*/
|
169 |
+
function give_modify_cmb2_form_output( $form_format, $object_id, $cmb ) {
|
170 |
+
|
171 |
+
// only modify the give settings form
|
172 |
+
if ( 'give_settings' == $object_id ) {
|
173 |
+
|
174 |
+
return '<form class="cmb-form" method="post" id="%1$s" enctype="multipart/form-data" encoding="multipart/form-data"><input type="hidden" name="give_settings_saved" value="true"><input type="hidden" name="object_id" value="%2$s">%3$s<div class="give-submit-wrap"><input type="submit" name="submit-cmb" value="' . esc_attr__( 'Save Settings', 'give' ) . '" class="button-primary"></div></form>';
|
175 |
+
|
176 |
+
}
|
177 |
+
|
178 |
+
return $form_format;
|
179 |
+
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Define General Settings Metabox and field configurations.
|
184 |
+
*
|
185 |
+
* Filters are provided for each settings section to allow add-ons and other plugins to add their own settings
|
186 |
+
*
|
187 |
+
* @param $active_tab |string active tab settings; null returns full array
|
188 |
+
*
|
189 |
+
* @return array
|
190 |
+
*/
|
191 |
+
public function give_settings( $active_tab ) {
|
192 |
+
|
193 |
+
$give_settings = array(
|
194 |
+
/**
|
195 |
+
* General Settings
|
196 |
+
*/
|
197 |
+
'general' => array(
|
198 |
+
'id' => 'general_settings',
|
199 |
+
'give_title' => __( 'General Settings', 'give' ),
|
200 |
+
'show_on' => array( 'key' => 'options-page', 'value' => array( $this->key ) ),
|
201 |
+
'fields' => apply_filters( 'give_settings_general', array(
|
202 |
+
array(
|
203 |
+
'name' => __( 'General Settings', 'give' ),
|
204 |
+
'desc' => '',
|
205 |
+
'type' => 'give_title',
|
206 |
+
'id' => 'give_title_general_settings_1',
|
207 |
+
),
|
208 |
+
array(
|
209 |
+
'name' => __( 'Success Page', 'give' ),
|
210 |
+
/* translators: %s: [give_receipt] */
|
211 |
+
'desc' => sprintf( __( 'The page donors are sent to after completing their donations. The %s shortcode should be on this page.', 'give' ), '<code>[give_receipt]</code>' ),
|
212 |
+
'id' => 'success_page',
|
213 |
+
'type' => 'select',
|
214 |
+
'options' => give_cmb2_get_post_options( array(
|
215 |
+
'post_type' => 'page',
|
216 |
+
'numberposts' => - 1,
|
217 |
+
) ),
|
218 |
+
),
|
219 |
+
array(
|
220 |
+
'name' => __( 'Failed Donation Page', 'give' ),
|
221 |
+
'desc' => __( 'The page donors are sent to if their donation is cancelled or fails.', 'give' ),
|
222 |
+
'id' => 'failure_page',
|
223 |
+
'type' => 'select',
|
224 |
+
'options' => give_cmb2_get_post_options( array(
|
225 |
+
'post_type' => 'page',
|
226 |
+
'numberposts' => - 1,
|
227 |
+
) ),
|
228 |
+
),
|
229 |
+
array(
|
230 |
+
'name' => __( 'Donation History Page', 'give' ),
|
231 |
+
/* translators: %s: [donation_history] */
|
232 |
+
'desc' => sprintf( __( 'The page showing a complete donation history for the current user. The %s shortcode should be on this page.', 'give' ), '<code>[donation_history]</code>' ),
|
233 |
+
'id' => 'history_page',
|
234 |
+
'type' => 'select',
|
235 |
+
'options' => give_cmb2_get_post_options( array(
|
236 |
+
'post_type' => 'page',
|
237 |
+
'numberposts' => - 1,
|
238 |
+
) ),
|
239 |
+
),
|
240 |
+
array(
|
241 |
+
'name' => __( 'Base Country', 'give' ),
|
242 |
+
'desc' => __( 'The country your site operates from.', 'give' ),
|
243 |
+
'id' => 'base_country',
|
244 |
+
'type' => 'select',
|
245 |
+
'options' => give_get_country_list(),
|
246 |
+
),
|
247 |
+
array(
|
248 |
+
'name' => __( 'Currency Settings', 'give' ),
|
249 |
+
'desc' => '',
|
250 |
+
'type' => 'give_title',
|
251 |
+
'id' => 'give_title_general_settings_2',
|
252 |
+
),
|
253 |
+
array(
|
254 |
+
'name' => __( 'Currency', 'give' ),
|
255 |
+
'desc' => __( 'The donation currency. Note that some payment gateways have currency restrictions.', 'give' ),
|
256 |
+
'id' => 'currency',
|
257 |
+
'type' => 'select',
|
258 |
+
'options' => give_get_currencies(),
|
259 |
+
'default' => 'USD',
|
260 |
+
),
|
261 |
+
array(
|
262 |
+
'name' => __( 'Currency Position', 'give' ),
|
263 |
+
'desc' => __( 'The position of the currency symbol.', 'give' ),
|
264 |
+
'id' => 'currency_position',
|
265 |
+
'type' => 'select',
|
266 |
+
'options' => array(
|
267 |
+
/* translators: %s: currency symbol */
|
268 |
+
'before' => sprintf( __( 'Before - %s10', 'give' ), give_currency_symbol( give_get_currency() ) ),
|
269 |
+
/* translators: %s: currency symbol */
|
270 |
+
'after' => sprintf( __( 'After - 10%s', 'give' ), give_currency_symbol( give_get_currency() ) ),
|
271 |
+
),
|
272 |
+
'default' => 'before',
|
273 |
+
),
|
274 |
+
array(
|
275 |
+
'name' => __( 'Thousands Separator', 'give' ),
|
276 |
+
'desc' => __( 'The symbol (usually , or .) to separate thousands.', 'give' ),
|
277 |
+
'id' => 'thousands_separator',
|
278 |
+
'type' => 'text_small',
|
279 |
+
'sanitization_cb' => 'give_sanitize_thousand_separator',
|
280 |
+
'default' => ',',
|
281 |
+
),
|
282 |
+
array(
|
283 |
+
'name' => __( 'Decimal Separator', 'give' ),
|
284 |
+
'desc' => __( 'The symbol (usually , or .) to separate decimal points.', 'give' ),
|
285 |
+
'id' => 'decimal_separator',
|
286 |
+
'type' => 'text_small',
|
287 |
+
'default' => '.',
|
288 |
+
),
|
289 |
+
array(
|
290 |
+
'name' => __( 'Number of Decimals', 'give' ),
|
291 |
+
'desc' => __( 'The number of decimal points displayed in amounts.', 'give' ),
|
292 |
+
'id' => 'number_decimals',
|
293 |
+
'type' => 'text_small',
|
294 |
+
'default' => 2,
|
295 |
+
'sanitization_cb' => 'give_sanitize_number_decimals',
|
296 |
+
),
|
297 |
+
)
|
298 |
+
),
|
299 |
+
),
|
300 |
+
/**
|
301 |
+
* Payment Gateways
|
302 |
+
*/
|
303 |
+
'gateways' => array(
|
304 |
+
'id' => 'payment_gateways',
|
305 |
+
'give_title' => __( 'Payment Gateways', 'give' ),
|
306 |
+
'show_on' => array( 'key' => 'options-page', 'value' => array( $this->key ) ),
|
307 |
+
'fields' => apply_filters( 'give_settings_gateways', array(
|
308 |
+
array(
|
309 |
+
'name' => __( 'Gateways Settings', 'give' ),
|
310 |
+
'desc' => '',
|
311 |
+
'id' => 'give_title_gateway_settings_1',
|
312 |
+
'type' => 'give_title',
|
313 |
+
),
|
314 |
+
array(
|
315 |
+
'name' => __( 'Test Mode', 'give' ),
|
316 |
+
'desc' => __( 'While in test mode no live donations are processed. To fully use test mode, you must have a sandbox (test) account for the payment gateway you are testing.', 'give' ),
|
317 |
+
'id' => 'test_mode',
|
318 |
+
'type' => 'checkbox',
|
319 |
+
),
|
320 |
+
array(
|
321 |
+
'name' => __( 'Enabled Gateways', 'give' ),
|
322 |
+
'desc' => __( 'Enable your payment gateway. Can be ordered by dragging.', 'give' ),
|
323 |
+
'id' => 'gateways',
|
324 |
+
'type' => 'enabled_gateways',
|
325 |
+
),
|
326 |
+
array(
|
327 |
+
'name' => __( 'Default Gateway', 'give' ),
|
328 |
+
'desc' => __( 'The gateway that will be selected by default.', 'give' ),
|
329 |
+
'id' => 'default_gateway',
|
330 |
+
'type' => 'default_gateway',
|
331 |
+
),
|
332 |
+
array(
|
333 |
+
'name' => __( 'PayPal Standard', 'give' ),
|
334 |
+
'desc' => '',
|
335 |
+
'type' => 'give_title',
|
336 |
+
'id' => 'give_title_gateway_settings_2',
|
337 |
+
),
|
338 |
+
array(
|
339 |
+
'name' => __( 'PayPal Email', 'give' ),
|
340 |
+
'desc' => __( 'Enter your PayPal account\'s email.', 'give' ),
|
341 |
+
'id' => 'paypal_email',
|
342 |
+
'type' => 'text_email',
|
343 |
+
),
|
344 |
+
array(
|
345 |
+
'name' => __( 'PayPal Page Style', 'give' ),
|
346 |
+
'desc' => __( 'Enter the name of the page style to use, or leave blank to use the default.', 'give' ),
|
347 |
+
'id' => 'paypal_page_style',
|
348 |
+
'type' => 'text',
|
349 |
+
),
|
350 |
+
array(
|
351 |
+
'name' => __( 'PayPal Transaction Type', 'give' ),
|
352 |
+
'desc' => __( 'Nonprofits must verify their status to withdraw donations they receive via PayPal. PayPal users that are not verified nonprofits must demonstrate how their donations will be used, once they raise more than $10,000. By default, Give transactions are sent to PayPal as donations. You may change the transaction type using this option if you feel you may not meet PayPal\'s donation requirements.', 'give' ),
|
353 |
+
'id' => 'paypal_button_type',
|
354 |
+
'type' => 'radio_inline',
|
355 |
+
'options' => array(
|
356 |
+
'donation' => __( 'Donation', 'give' ),
|
357 |
+
'standard' => __( 'Standard Transaction', 'give' ),
|
358 |
+
),
|
359 |
+
'default' => 'donation',
|
360 |
+
),
|
361 |
+
array(
|
362 |
+
'name' => __( 'Disable PayPal IPN Verification', 'give' ),
|
363 |
+
'desc' => __( 'If donations are not getting marked as complete, use a slightly less secure method of verifying donations.', 'give' ),
|
364 |
+
'id' => 'disable_paypal_verification',
|
365 |
+
'type' => 'checkbox',
|
366 |
+
),
|
367 |
+
array(
|
368 |
+
'name' => __( 'Offline Donations', 'give' ),
|
369 |
+
'desc' => '',
|
370 |
+
'type' => 'give_title',
|
371 |
+
'id' => 'give_title_gateway_settings_3',
|
372 |
+
),
|
373 |
+
array(
|
374 |
+
'name' => __( 'Collect Billing Details', 'give' ),
|
375 |
+
'desc' => __( 'Enable to request billing details for offline donations. Will appear above offline donation instructions. Can be enabled/disabled per form.', 'give' ),
|
376 |
+
'id' => 'give_offline_donation_enable_billing_fields',
|
377 |
+
'type' => 'checkbox',
|
378 |
+
),
|
379 |
+
array(
|
380 |
+
'name' => __( 'Offline Donation Instructions', 'give' ),
|
381 |
+
'desc' => __( 'The following content will appear for all forms when the user selects the offline donation payment option. Note: You may customize the content per form as needed.', 'give' ),
|
382 |
+
'id' => 'global_offline_donation_content',
|
383 |
+
'default' => give_get_default_offline_donation_content(),
|
384 |
+
'type' => 'wysiwyg',
|
385 |
+
'options' => array(
|
386 |
+
'textarea_rows' => 6,
|
387 |
+
),
|
388 |
+
),
|
389 |
+
array(
|
390 |
+
'name' => __( 'Offline Donation Email Instructions Subject', 'give' ),
|
391 |
+
'desc' => __( 'Enter the subject line for the donation receipt email.', 'give' ),
|
392 |
+
'id' => 'offline_donation_subject',
|
393 |
+
'default' => esc_attr__( '{donation} - Offline Donation Instructions', 'give' ),
|
394 |
+
'type' => 'text',
|
395 |
+
),
|
396 |
+
array(
|
397 |
+
'name' => __( 'Offline Donation Email Instructions', 'give' ),
|
398 |
+
'desc' => __( 'Enter the instructions you want emailed to the donor after they have submitted the donation form. Most likely this would include important information like mailing address and who to make the check out to.', 'give' ),
|
399 |
+
'id' => 'global_offline_donation_email',
|
400 |
+
'default' => give_get_default_offline_donation_email_content(),
|
401 |
+
'type' => 'wysiwyg',
|
402 |
+
'options' => array(
|
403 |
+
'textarea_rows' => 6,
|
404 |
+
),
|
405 |
+
),
|
406 |
+
)
|
407 |
+
),
|
408 |
+
),
|
409 |
+
/** Display Settings */
|
410 |
+
'display' => array(
|
411 |
+
'id' => 'display_settings',
|
412 |
+
'give_title' => __( 'Display Settings', 'give' ),
|
413 |
+
'show_on' => array( 'key' => 'options-page', 'value' => array( $this->key ) ),
|
414 |
+
'fields' => apply_filters( 'give_settings_display', array(
|
415 |
+
array(
|
416 |
+
'name' => __( 'Display Settings', 'give' ),
|
417 |
+
'desc' => '',
|
418 |
+
'id' => 'give_title_display_settings_1',
|
419 |
+
'type' => 'give_title',
|
420 |
+
),
|
421 |
+
array(
|
422 |
+
'name' => __( 'Disable CSS', 'give' ),
|
423 |
+
'desc' => __( 'Enable this option if you would like to disable all of Give\'s included CSS stylesheets.', 'give' ),
|
424 |
+
'id' => 'disable_css',
|
425 |
+
'type' => 'checkbox',
|
426 |
+
),
|
427 |
+
array(
|
428 |
+
'name' => __( 'Enable Floating Labels', 'give' ),
|
429 |
+
/* translators: %s: http://docs.givewp.com/form-floating-labels */
|
430 |
+
'desc' => sprintf( wp_kses( __( 'Enable <a href="%s" target="_blank">floating labels</a> in Give\'s donation forms. Note that if the "Disable CSS" option is enabled, you will need to style the floating labels yourself.', 'give' ), array(
|
431 |
+
'a' => array(
|
432 |
+
'href' => array(),
|
433 |
+
'target' => array(),
|
434 |
+
),
|
435 |
+
) ), esc_url( 'http://docs.givewp.com/form-floating-labels' ) ),
|
436 |
+
'id' => 'floatlabels',
|
437 |
+
'type' => 'checkbox',
|
438 |
+
),
|
439 |
+
array(
|
440 |
+
'name' => __( 'Disable Welcome Screen', 'give' ),
|
441 |
+
/* translators: %s: about page URL */
|
442 |
+
'desc' => sprintf( wp_kses( __( 'Enable this option if you would like to disable the <a href="%s" target="_blank">Give Welcome screen</a> every time Give is activated and/or updated.', 'give' ), array(
|
443 |
+
'a' => array(
|
444 |
+
'href' => array(),
|
445 |
+
'target' => array(),
|
446 |
+
),
|
447 |
+
) ), esc_url( admin_url( 'index.php?page=give-about' ) ) ),
|
448 |
+
'id' => 'disable_welcome',
|
449 |
+
'type' => 'checkbox',
|
450 |
+
),
|
451 |
+
array(
|
452 |
+
'name' => __( 'Post Types', 'give' ),
|
453 |
+
'desc' => '',
|
454 |
+
'id' => 'give_title_display_settings_2',
|
455 |
+
'type' => 'give_title',
|
456 |
+
),
|
457 |
+
array(
|
458 |
+
'name' => __( 'Disable Form Single Views', 'give' ),
|
459 |
+
'desc' => __( 'By default, all forms have single views enabled which create a specific URL on your website for that form. This option disables the singular and archive views from being publicly viewable. Note: you will need to embed forms using a shortcode or widget if enabled.', 'give' ),
|
460 |
+
'id' => 'disable_forms_singular',
|
461 |
+
'type' => 'checkbox',
|
462 |
+
),
|
463 |
+
array(
|
464 |
+
'name' => __( 'Disable Form Archives', 'give' ),
|
465 |
+
'desc' => __( 'Archives pages list all the forms you have created. This option will disable only the form\'s archive page(s). The single form\'s view will remain in place. Note: you will need to refresh your permalinks after this option has been enabled.', 'give' ),
|
466 |
+
'id' => 'disable_forms_archives',
|
467 |
+
'type' => 'checkbox',
|
468 |
+
),
|
469 |
+
array(
|
470 |
+
'name' => __( 'Disable Form Excerpts', 'give' ),
|
471 |
+
'desc' => __( 'The excerpt is an optional summary or description of a donation form; in short, a summary as to why the user should give.', 'give' ),
|
472 |
+
'id' => 'disable_forms_excerpt',
|
473 |
+
'type' => 'checkbox',
|
474 |
+
),
|
475 |
+
array(
|
476 |
+
'name' => __( 'Featured Image Size', 'give' ),
|
477 |
+
'desc' => __( 'The Featured Image is an image that is chosen as the representative image for a donation form. Some themes may have custom featured image sizes. Please select the size you would like to display for your single donation form\'s featured image.', 'give' ),
|
478 |
+
'id' => 'featured_image_size',
|
479 |
+
'type' => 'select',
|
480 |
+
'default' => 'large',
|
481 |
+
'options' => give_get_featured_image_sizes(),
|
482 |
+
),
|
483 |
+
array(
|
484 |
+
'name' => __( 'Disable Form Featured Image', 'give' ),
|
485 |
+
'desc' => __( 'If you do not wish to use the featured image functionality you can disable it using this option and it will not be displayed for single donation forms.', 'give' ),
|
486 |
+
'id' => 'disable_form_featured_img',
|
487 |
+
'type' => 'checkbox',
|
488 |
+
),
|
489 |
+
array(
|
490 |
+
'name' => __( 'Disable Single Form Sidebar', 'give' ),
|
491 |
+
'desc' => __( 'The sidebar allows you to add additional widget to the Give single form view. If you don\'t plan on using the sidebar you may disable it with this option.', 'give' ),
|
492 |
+
'id' => 'disable_form_sidebar',
|
493 |
+
'type' => 'checkbox',
|
494 |
+
),
|
495 |
+
array(
|
496 |
+
'name' => __( 'Taxonomies', 'give' ),
|
497 |
+
'desc' => '',
|
498 |
+
'id' => 'give_title_display_settings_3',
|
499 |
+
'type' => 'give_title',
|
500 |
+
),
|
501 |
+
array(
|
502 |
+
'name' => __( 'Enable Form Categories', 'give' ),
|
503 |
+
'desc' => __( 'Enables the "Category" taxonomy for all Give forms.', 'give' ),
|
504 |
+
'id' => 'categories',
|
505 |
+
'type' => 'checkbox',
|
506 |
+
),
|
507 |
+
array(
|
508 |
+
'name' => __( 'Enable Form Tags', 'give' ),
|
509 |
+
'desc' => __( 'Enables the "Tag" taxonomy for all Give forms.', 'give' ),
|
510 |
+
'id' => 'tags',
|
511 |
+
'type' => 'checkbox',
|
512 |
+
),
|
513 |
+
)
|
514 |
+
),
|
515 |
+
|
516 |
+
),
|
517 |
+
/**
|
518 |
+
* Emails Options
|
519 |
+
*/
|
520 |
+
'emails' => array(
|
521 |
+
'id' => 'email_settings',
|
522 |
+
'give_title' => __( 'Email Settings', 'give' ),
|
523 |
+
'show_on' => array( 'key' => 'options-page', 'value' => array( $this->key ) ),
|
524 |
+
'fields' => apply_filters( 'give_settings_emails', array(
|
525 |
+
array(
|
526 |
+
'name' => __( 'Email Settings', 'give' ),
|
527 |
+
'desc' => '',
|
528 |
+
'id' => 'give_title_email_settings_1',
|
529 |
+
'type' => 'give_title',
|
530 |
+
),
|
531 |
+
array(
|
532 |
+
'id' => 'email_template',
|
533 |
+
'name' => __( 'Email Template', 'give' ),
|
534 |
+
'desc' => __( 'Choose a template. Click "Save Changes" then "Preview Donation Receipt" to see the new template.', 'give' ),
|
535 |
+
'type' => 'select',
|
536 |
+
'options' => give_get_email_templates(),
|
537 |
+
),
|
538 |
+
array(
|
539 |
+
'id' => 'email_logo',
|
540 |
+
'name' => __( 'Logo', 'give' ),
|
541 |
+
'desc' => __( 'Upload or choose a logo to be displayed at the top of the donation receipt emails. Displayed on HTML emails only.', 'give' ),
|
542 |
+
'type' => 'file',
|
543 |
+
),
|
544 |
+
array(
|
545 |
+
'id' => 'from_name',
|
546 |
+
'name' => __( 'From Name', 'give' ),
|
547 |
+
'desc' => __( 'The name that appears in the "From" field in donation receipt emails.', 'give' ),
|
548 |
+
'default' => get_bloginfo( 'name' ),
|
549 |
+
'type' => 'text',
|
550 |
+
),
|
551 |
+
array(
|
552 |
+
'id' => 'from_email',
|
553 |
+
'name' => __( 'From Email', 'give' ),
|
554 |
+
'desc' => __( 'Email to send donation receipts from. This will act as the "from" and "reply-to" address.', 'give' ),
|
555 |
+
'default' => get_bloginfo( 'admin_email' ),
|
556 |
+
'type' => 'text',
|
557 |
+
),
|
558 |
+
array(
|
559 |
+
'name' => __( 'Donation Receipt', 'give' ),
|
560 |
+
'desc' => '',
|
561 |
+
'id' => 'give_title_email_settings_2',
|
562 |
+
'type' => 'give_title',
|
563 |
+
),
|
564 |
+
array(
|
565 |
+
'id' => 'donation_subject',
|
566 |
+
'name' => __( 'Donation Email Subject', 'give' ),
|
567 |
+
'desc' => __( 'Enter the subject line for the donation receipt email.', 'give' ),
|
568 |
+
'default' => esc_attr__( 'Donation Receipt', 'give' ),
|
569 |
+
'type' => 'text',
|
570 |
+
),
|
571 |
+
array(
|
572 |
+
'id' => 'donation_receipt',
|
573 |
+
'name' => __( 'Donation Receipt', 'give' ),
|
574 |
+
'desc' => sprintf(
|
575 |
+
/* translators: %s: emails tags list */
|
576 |
+
__( 'Enter the email that is sent to users after completing a successful donation. HTML is accepted. Available template tags: %s', 'give' ),
|
577 |
+
'<br/>' . give_get_emails_tags_list()
|
578 |
+
),
|
579 |
+
'type' => 'wysiwyg',
|
580 |
+
'default' => give_get_default_donation_receipt_email(),
|
581 |
+
),
|
582 |
+
array(
|
583 |
+
'name' => __( 'New Donation Notification', 'give' ),
|
584 |
+
'desc' => '',
|
585 |
+
'id' => 'give_title_email_settings_3',
|
586 |
+
'type' => 'give_title',
|
587 |
+
),
|
588 |
+
array(
|
589 |
+
'id' => 'donation_notification_subject',
|
590 |
+
'name' => __( 'Donation Notification Subject', 'give' ),
|
591 |
+
'desc' => __( 'Enter the subject line for the donation notification email.', 'give' ),
|
592 |
+
'type' => 'text',
|
593 |
+
'default' => esc_attr__( 'New Donation - #{payment_id}', 'give' ),
|
594 |
+
),
|
595 |
+
array(
|
596 |
+
'id' => 'donation_notification',
|
597 |
+
'name' => __( 'Donation Notification', 'give' ),
|
598 |
+
'desc' => sprintf(
|
599 |
+
/* translators: %s: emails tags list */
|
600 |
+
__( 'Enter the email that is sent to donation notification emails after completion of a donation. HTML is accepted. Available template tags: %s', 'give' ),
|
601 |
+
'<br/>' . give_get_emails_tags_list()
|
602 |
+
),
|
603 |
+
'type' => 'wysiwyg',
|
604 |
+
'default' => give_get_default_donation_notification_email(),
|
605 |
+
),
|
606 |
+
array(
|
607 |
+
'id' => 'admin_notice_emails',
|
608 |
+
'name' => __( 'Donation Notification Emails', 'give' ),
|
609 |
+
'desc' => __( 'Enter the email address(es) that should receive a notification anytime a donation is made, please only enter <span class="give-underline">one email address per line</span> and <strong>not separated by commas</strong>.', 'give' ),
|
610 |
+
'type' => 'textarea',
|
611 |
+
'default' => get_bloginfo( 'admin_email' ),
|
612 |
+
),
|
613 |
+
array(
|
614 |
+
'id' => 'disable_admin_notices',
|
615 |
+
'name' => __( 'Disable Admin Notifications', 'give' ),
|
616 |
+
'desc' => __( 'Check this box if you do not want to receive emails when new donations are made.', 'give' ),
|
617 |
+
'type' => 'checkbox',
|
618 |
+
),
|
619 |
+
)
|
620 |
+
),
|
621 |
+
),
|
622 |
+
/** Extension Settings */
|
623 |
+
'addons' => array(
|
624 |
+
'id' => 'addons',
|
625 |
+
'give_title' => __( 'Give Add-ons Settings', 'give' ),
|
626 |
+
'show_on' => array( 'key' => 'options-page', 'value' => array( $this->key ) ),
|
627 |
+
'fields' => apply_filters( 'give_settings_addons', array()
|
628 |
+
),
|
629 |
+
),
|
630 |
+
/** Licenses Settings */
|
631 |
+
'licenses' => array(
|
632 |
+
'id' => 'licenses',
|
633 |
+
'give_title' => __( 'Give Licenses', 'give' ),
|
634 |
+
'show_on' => array( 'key' => 'options-page', 'value' => array( $this->key ) ),
|
635 |
+
'fields' => apply_filters( 'give_settings_licenses', array()
|
636 |
+
),
|
637 |
+
),
|
638 |
+
/** Advanced Options */
|
639 |
+
'advanced' => array(
|
640 |
+
'id' => 'advanced_options',
|
641 |
+
'give_title' => __( 'Advanced Options', 'give' ),
|
642 |
+
'show_on' => array( 'key' => 'options-page', 'value' => array( $this->key ) ),
|
643 |
+
'fields' => apply_filters( 'give_settings_advanced', array(
|
644 |
+
array(
|
645 |
+
'name' => __( 'Access Control', 'give' ),
|
646 |
+
'desc' => '',
|
647 |
+
'id' => 'give_title_session_control_1',
|
648 |
+
'type' => 'give_title',
|
649 |
+
),
|
650 |
+
array(
|
651 |
+
'id' => 'session_lifetime',
|
652 |
+
'name' => __( 'Session Lifetime', 'give' ),
|
653 |
+
'desc' => __( 'The length of time a user\'s session is kept alive. Give starts a new session per user upon donation. Sessions allow donors to view their donation receipts without being logged in.', 'give' ),
|
654 |
+
'type' => 'select',
|
655 |
+
'options' => array(
|
656 |
+
'86400' => __( '24 Hours', 'give' ),
|
657 |
+
'172800' => __( '48 Hours', 'give' ),
|
658 |
+
'259200' => __( '72 Hours', 'give' ),
|
659 |
+
'604800' => __( '1 Week', 'give' ),
|
660 |
+
),
|
661 |
+
),
|
662 |
+
array(
|
663 |
+
'name' => __( 'Email Access', 'give' ),
|
664 |
+
'desc' => __( 'Would you like your donors to be able to access their donation history using only email? Donors whose sessions have expired and do not have an account may still access their donation history via a temporary email access link.', 'give' ),
|
665 |
+
'id' => 'email_access',
|
666 |
+
'type' => 'checkbox',
|
667 |
+
),
|
668 |
+
array(
|
669 |
+
'id' => 'recaptcha_key',
|
670 |
+
'name' => __( 'reCAPTCHA Site Key', 'give' ),
|
671 |
+
/* translators: %s: https://www.google.com/recaptcha/ */
|
672 |
+
'desc' => sprintf( __( 'If you would like to prevent spam on the email access form navigate to <a href="%s" target="_blank">the reCAPTCHA website</a> and sign up for an API key. The reCAPTCHA uses Google\'s user-friendly single click verification method.', 'give' ), esc_url( 'https://www.google.com/recaptcha/' ) ),
|
673 |
+
'default' => '',
|
674 |
+
'type' => 'text',
|
675 |
+
),
|
676 |
+
array(
|
677 |
+
'id' => 'recaptcha_secret',
|
678 |
+
'name' => __( 'reCAPTCHA Secret Key', 'give' ),
|
679 |
+
'desc' => __( 'Please paste the reCAPTCHA secret key here from your manage reCAPTCHA API Keys panel.', 'give' ),
|
680 |
+
'default' => '',
|
681 |
+
'type' => 'text',
|
682 |
+
),
|
683 |
+
array(
|
684 |
+
'name' => __( 'Data Control', 'give' ),
|
685 |
+
'desc' => '',
|
686 |
+
'id' => 'give_title_data_control_2',
|
687 |
+
'type' => 'give_title',
|
688 |
+
),
|
689 |
+
array(
|
690 |
+
'name' => __( 'Remove All Data on Uninstall?', 'give' ),
|
691 |
+
'desc' => __( 'When the plugin is deleted, completely remove all Give data.', 'give' ),
|
692 |
+
'id' => 'uninstall_on_delete',
|
693 |
+
'type' => 'checkbox',
|
694 |
+
),
|
695 |
+
array(
|
696 |
+
'name' => __( 'Filter Control', 'give' ),
|
697 |
+
'desc' => '',
|
698 |
+
'id' => 'give_title_filter_control',
|
699 |
+
'type' => 'give_title',
|
700 |
+
),
|
701 |
+
array(
|
702 |
+
/* translators: %s: the_content */
|
703 |
+
'name' => sprintf( __( 'Disable %s filter', 'give' ), '<code>the_content</code>' ),
|
704 |
+
/* translators: 1: https://codex.wordpress.org/Plugin_API/Filter_Reference/the_content 2: the_content */
|
705 |
+
'desc' => sprintf( __( 'If you are seeing extra social buttons, related posts, or other unwanted elements appearing within your forms then you can disable WordPress\' content filter. <a href="%1$s" target="_blank">Learn more</a> about %2$s filter.', 'give' ), esc_url( 'https://codex.wordpress.org/Plugin_API/Filter_Reference/the_content' ), '<code>the_content</code>' ),
|
706 |
+
'id' => 'disable_the_content_filter',
|
707 |
+
'type' => 'checkbox',
|
708 |
+
),
|
709 |
+
array(
|
710 |
+
'name' => __( 'Script Loading', 'give' ),
|
711 |
+
'desc' => '',
|
712 |
+
'id' => 'give_title_script_control',
|
713 |
+
'type' => 'give_title',
|
714 |
+
),
|
715 |
+
array(
|
716 |
+
'name' => __( 'Load Scripts in Footer?', 'give' ),
|
717 |
+
'desc' => __( 'Check this box if you would like Give to load all frontend JavaScript files in the footer.', 'give' ),
|
718 |
+
'id' => 'scripts_footer',
|
719 |
+
'type' => 'checkbox',
|
720 |
+
),
|
721 |
+
)
|
722 |
+
),
|
723 |
+
),
|
724 |
+
/** API Settings */
|
725 |
+
'api' => array(
|
726 |
+
'id' => 'api',
|
727 |
+
'give_title' => __( 'API', 'give' ),
|
728 |
+
'show_on' => array( 'key' => 'options-page', 'value' => array( $this->key ) ),
|
729 |
+
'show_names' => false, // Hide field names on the left
|
730 |
+
'fields' => apply_filters( 'give_settings_system', array(
|
731 |
+
array(
|
732 |
+
'id' => 'api',
|
733 |
+
'name' => __( 'API', 'give' ),
|
734 |
+
'type' => 'api',
|
735 |
+
),
|
736 |
+
)
|
737 |
+
),
|
738 |
+
),
|
739 |
+
/** Licenses Settings */
|
740 |
+
'system_info' => array(
|
741 |
+
'id' => 'system_info',
|
742 |
+
'give_title' => __( 'System Info', 'give' ),
|
743 |
+
'show_on' => array( 'key' => 'options-page', 'value' => array( $this->key ) ),
|
744 |
+
'fields' => apply_filters( 'give_settings_system', array(
|
745 |
+
array(
|
746 |
+
'id' => 'system-info-textarea',
|
747 |
+
'name' => __( 'System Info', 'give' ),
|
748 |
+
'desc' => __( 'Please copy and paste this information in your ticket when contacting support.', 'give' ),
|
749 |
+
'type' => 'system_info',
|
750 |
+
),
|
751 |
+
)
|
752 |
+
),
|
753 |
+
),
|
754 |
+
);
|
755 |
+
|
756 |
+
$give_settings = apply_filters( 'give_registered_settings', $give_settings );
|
757 |
+
|
758 |
+
// Return all settings array if no active tab
|
759 |
+
if ( empty( $active_tab ) || ! isset( $give_settings[ $active_tab ] ) ) {
|
760 |
+
return $give_settings;
|
761 |
+
}
|
762 |
+
|
763 |
+
// Add other tabs and settings fields as needed
|
764 |
+
return $give_settings[ $active_tab ];
|
765 |
+
|
766 |
+
}
|
767 |
+
|
768 |
+
/**
|
769 |
+
* Show Settings Notices
|
770 |
+
*/
|
771 |
+
public function settings_notices() {
|
772 |
+
|
773 |
+
if ( ! isset( $_POST['give_settings_saved'] ) ) {
|
774 |
+
return;
|
775 |
+
}
|
776 |
+
|
777 |
+
add_settings_error( 'give-notices', 'global-settings-updated', __( 'Settings updated.', 'give' ), 'updated' );
|
778 |
+
|
779 |
+
}
|
780 |
+
|
781 |
+
|
782 |
+
/**
|
783 |
+
* Public getter method for retrieving protected/private variables
|
784 |
+
*
|
785 |
+
* @since 1.0
|
786 |
+
*
|
787 |
+
* @param string $field Field to retrieve
|
788 |
+
*
|
789 |
+
* @return mixed Field value or exception is thrown.
|
790 |
+
* @throws Exception Throws an exception if the field is invalid.
|
791 |
+
*/
|
792 |
+
public function __get( $field ) {
|
793 |
+
|
794 |
+
// Allowed fields to retrieve
|
795 |
+
if ( in_array( $field, array( 'key', 'fields', 'give_title', 'options_page' ), true ) ) {
|
796 |
+
return $this->{$field};
|
797 |
+
}
|
798 |
+
|
799 |
+
throw new Exception( sprintf( __( 'Invalid property: %s', 'give' ), $field ) );
|
800 |
+
}
|
801 |
+
|
802 |
+
|
803 |
+
}
|
804 |
+
|
805 |
+
// Get it started
|
806 |
+
$Give_Settings = new Give_Plugin_Settings();
|
807 |
+
|
808 |
+
/**
|
809 |
+
* Helps get a single option from the give_get_settings() array.
|
810 |
+
*
|
811 |
+
* @since 0.1.0
|
812 |
+
*
|
813 |
+
* @param string $key Options array key
|
814 |
+
* @param string|bool $default The default option if the option isn't set
|
815 |
+
*
|
816 |
+
* @return mixed Option value
|
817 |
+
*/
|
818 |
+
function give_get_option( $key = '', $default = false ) {
|
819 |
+
$give_options = give_get_settings();
|
820 |
+
$value = ! empty( $give_options[ $key ] ) ? $give_options[ $key ] : $default;
|
821 |
+
$value = apply_filters( 'give_get_option', $value, $key, $default );
|
822 |
+
|
823 |
+
return apply_filters( "give_get_option_{$key}", $value, $key, $default );
|
824 |
+
}
|
825 |
+
|
826 |
+
|
827 |
+
/**
|
828 |
+
* Update an option
|
829 |
+
*
|
830 |
+
* Updates an give setting value in both the db and the global variable.
|
831 |
+
* Warning: Passing in an empty, false or null string value will remove
|
832 |
+
* the key from the give_options array.
|
833 |
+
*
|
834 |
+
* @since 1.0
|
835 |
+
*
|
836 |
+
* @param string $key The Key to update
|
837 |
+
* @param string|bool|int $value The value to set the key to
|
838 |
+
*
|
839 |
+
* @return boolean True if updated, false if not.
|
840 |
+
*/
|
841 |
+
function give_update_option( $key = '', $value = false ) {
|
842 |
+
|
843 |
+
// If no key, exit
|
844 |
+
if ( empty( $key ) ) {
|
845 |
+
return false;
|
846 |
+
}
|
847 |
+
|
848 |
+
if ( empty( $value ) ) {
|
849 |
+
$remove_option = give_delete_option( $key );
|
850 |
+
|
851 |
+
return $remove_option;
|
852 |
+
}
|
853 |
+
|
854 |
+
// First let's grab the current settings
|
855 |
+
$options = get_option( 'give_settings' );
|
856 |
+
|
857 |
+
// Let's let devs alter that value coming in
|
858 |
+
$value = apply_filters( 'give_update_option', $value, $key );
|
859 |
+
|
860 |
+
// Next let's try to update the value
|
861 |
+
$options[ $key ] = $value;
|
862 |
+
$did_update = update_option( 'give_settings', $options );
|
863 |
+
|
864 |
+
// If it updated, let's update the global variable
|
865 |
+
if ( $did_update ) {
|
866 |
+
global $give_options;
|
867 |
+
$give_options[ $key ] = $value;
|
868 |
+
}
|
869 |
+
|
870 |
+
return $did_update;
|
871 |
+
}
|
872 |
+
|
873 |
+
/**
|
874 |
+
* Remove an option
|
875 |
+
*
|
876 |
+
* Removes an give setting value in both the db and the global variable.
|
877 |
+
*
|
878 |
+
* @since 1.0
|
879 |
+
*
|
880 |
+
* @global $give_options
|
881 |
+
*
|
882 |
+
* @param string $key The Key to delete
|
883 |
+
*
|
884 |
+
* @return boolean True if updated, false if not.
|
885 |
+
*/
|
886 |
+
function give_delete_option( $key = '' ) {
|
887 |
+
|
888 |
+
// If no key, exit
|
889 |
+
if ( empty( $key ) ) {
|
890 |
+
return false;
|
891 |
+
}
|
892 |
+
|
893 |
+
// First let's grab the current settings
|
894 |
+
$options = get_option( 'give_settings' );
|
895 |
+
|
896 |
+
// Next let's try to update the value
|
897 |
+
if ( isset( $options[ $key ] ) ) {
|
898 |
+
unset( $options[ $key ] );
|
899 |
+
}
|
900 |
+
|
901 |
+
$did_update = update_option( 'give_settings', $options );
|
902 |
+
|
903 |
+
// If it updated, let's update the global variable
|
904 |
+
if ( $did_update ) {
|
905 |
+
global $give_options;
|
906 |
+
$give_options = $options;
|
907 |
+
}
|
908 |
+
|
909 |
+
return $did_update;
|
910 |
+
}
|
911 |
+
|
912 |
+
|
913 |
+
/**
|
914 |
+
* Get Settings
|
915 |
+
*
|
916 |
+
* Retrieves all Give plugin settings
|
917 |
+
*
|
918 |
+
* @since 1.0
|
919 |
+
* @return array Give settings
|
920 |
+
*/
|
921 |
+
function give_get_settings() {
|
922 |
+
|
923 |
+
$settings = get_option( 'give_settings' );
|
924 |
+
|
925 |
+
return (array) apply_filters( 'give_get_settings', $settings );
|
926 |
+
|
927 |
+
}
|
928 |
+
|
929 |
+
|
930 |
+
/**
|
931 |
+
* Give Settings Array Insert.
|
932 |
+
*
|
933 |
+
* Allows other Add-ons and plugins to insert Give settings at a desired position.
|
934 |
+
*
|
935 |
+
* @since 1.3.5
|
936 |
+
*
|
937 |
+
* @param $array
|
938 |
+
* @param $position |int|string Expects an array key or 'id' of the settings field to appear after
|
939 |
+
* @param $insert |array a valid array of options to insert
|
940 |
+
*
|
941 |
+
* @return array
|
942 |
+
*/
|
943 |
+
function give_settings_array_insert( $array, $position, $insert ) {
|
944 |
+
if ( is_int( $position ) ) {
|
945 |
+
array_splice( $array, $position, 0, $insert );
|
946 |
+
} else {
|
947 |
+
|
948 |
+
foreach ( $array as $index => $subarray ) {
|
949 |
+
if ( isset( $subarray['id'] ) && $subarray['id'] == $position ) {
|
950 |
+
$pos = $index;
|
951 |
+
}
|
952 |
+
}
|
953 |
+
|
954 |
+
if ( ! isset( $pos ) ) {
|
955 |
+
return $array;
|
956 |
+
}
|
957 |
+
|
958 |
+
$array = array_merge(
|
959 |
+
array_slice( $array, 0, $pos ),
|
960 |
+
$insert,
|
961 |
+
array_slice( $array, $pos )
|
962 |
+
);
|
963 |
+
}
|
964 |
+
|
965 |
+
return $array;
|
966 |
+
}
|
967 |
+
|
968 |
+
|
969 |
+
/**
|
970 |
+
* Gateways Callback
|
971 |
+
*
|
972 |
+
* Renders gateways fields.
|
973 |
+
*
|
974 |
+
* @since 1.0
|
975 |
+
*
|
976 |
+
* @param array $field_arr
|
977 |
+
* @param array $saved_values
|
978 |
+
*
|
979 |
+
* @return void
|
980 |
+
*/
|
981 |
+
function give_enabled_gateways_callback( $field_arr, $saved_values = array() ) {
|
982 |
+
|
983 |
+
$id = $field_arr['id'];
|
984 |
+
$gateways = give_get_ordered_payment_gateways( give_get_payment_gateways() );
|
985 |
+
|
986 |
+
echo '<ul class="give-checklist-fields give-payment-gatways-list">';
|
987 |
+
|
988 |
+
foreach ( $gateways as $key => $option ) :
|
989 |
+
|
990 |
+
if ( is_array( $saved_values ) && array_key_exists( $key, $saved_values ) ) {
|
991 |
+
$enabled = '1';
|
992 |
+
} else {
|
993 |
+
$enabled = null;
|
994 |
+
}
|
995 |
+
|
996 |
+
echo '<li><span class="give-drag-handle"><span class="dashicons dashicons-menu"></span></span><input name="' . $id . '[' . $key . ']" id="' . $id . '[' . $key . ']" type="checkbox" value="1" ' . checked( '1', $enabled, false ) . '/> ';
|
997 |
+
echo '<label for="' . $id . '[' . $key . ']">' . $option['admin_label'] . '</label></li>';
|
998 |
+
|
999 |
+
endforeach;
|
1000 |
+
|
1001 |
+
echo '</ul>';
|
1002 |
+
}
|
1003 |
+
|
1004 |
+
/**
|
1005 |
+
* Gateways Callback (drop down)
|
1006 |
+
*
|
1007 |
+
* Renders gateways select menu
|
1008 |
+
*
|
1009 |
+
* @since 1.0
|
1010 |
+
*
|
1011 |
+
* @param array $field_arr
|
1012 |
+
* @param array $saved_value
|
1013 |
+
*
|
1014 |
+
* @return void
|
1015 |
+
*/
|
1016 |
+
function give_default_gateway_callback( $field_arr, $saved_value ) {
|
1017 |
+
$id = $field_arr['id'];
|
1018 |
+
$gateways = give_get_enabled_payment_gateways();
|
1019 |
+
$saved_value = give_get_default_gateway( null );
|
1020 |
+
|
1021 |
+
echo '<select class="give-select" name="' . $id . '" id="' . $id . '">';
|
1022 |
+
|
1023 |
+
foreach ( $gateways as $key => $option ) :
|
1024 |
+
$selected = isset( $saved_value ) ? selected( $key, $saved_value, false ) : '';
|
1025 |
+
echo '<option value="' . esc_attr( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
|
1026 |
+
endforeach;
|
1027 |
+
|
1028 |
+
echo '</select>';
|
1029 |
+
|
1030 |
+
}
|
1031 |
+
|
1032 |
+
/**
|
1033 |
+
* Give Title
|
1034 |
+
*
|
1035 |
+
* Renders custom section titles output; Really only an because CMB2's output is a bit funky
|
1036 |
+
*
|
1037 |
+
* @since 1.0
|
1038 |
+
*
|
1039 |
+
* @param $field_object , $escaped_value, $object_id, $object_type, $field_type_object
|
1040 |
+
*
|
1041 |
+
* @return void
|
1042 |
+
*/
|
1043 |
+
function give_title_callback( $field_object, $escaped_value, $object_id, $object_type, $field_type_object ) {
|
1044 |
+
|
1045 |
+
$id = $field_type_object->field->args['id'];
|
1046 |
+
$title = $field_type_object->field->args['name'];
|
1047 |
+
$field_description = $field_type_object->field->args['desc'];
|
1048 |
+
|
1049 |
+
echo '<hr>' . $field_description;
|
1050 |
+
|
1051 |
+
}
|
1052 |
+
|
1053 |
+
/**
|
1054 |
+
* Give Description
|
1055 |
+
*
|
1056 |
+
* Renders custom description text which any plugin can use to output content, html, php, etc.
|
1057 |
+
*
|
1058 |
+
* @since 1.3.5
|
1059 |
+
*
|
1060 |
+
* @param $field_object , $escaped_value, $object_id, $object_type, $field_type_object
|
1061 |
+
*
|
1062 |
+
* @return void
|
1063 |
+
*/
|
1064 |
+
function give_description_callback( $field_object, $escaped_value, $object_id, $object_type, $field_type_object ) {
|
1065 |
+
|
1066 |
+
$id = $field_type_object->field->args['id'];
|
1067 |
+
$title = $field_type_object->field->args['name'];
|
1068 |
+
$field_description = $field_type_object->field->args['desc'];
|
1069 |
+
|
1070 |
+
echo $field_description;
|
1071 |
+
|
1072 |
+
}
|
1073 |
+
|
1074 |
+
/**
|
1075 |
+
* Gets a number of posts and displays them as options
|
1076 |
+
*
|
1077 |
+
* @param array $query_args Optional. Overrides defaults.
|
1078 |
+
* @param bool $force Force the pages to be loaded even if not on settings
|
1079 |
+
*
|
1080 |
+
* @see: https://github.com/WebDevStudios/CMB2/wiki/Adding-your-own-field-types
|
1081 |
+
* @return array An array of options that matches the CMB2 options array
|
1082 |
+
*/
|
1083 |
+
function give_cmb2_get_post_options( $query_args, $force = false ) {
|
1084 |
+
|
1085 |
+
$post_options = array( '' => '' ); // Blank option
|
1086 |
+
|
1087 |
+
if ( ( ! isset( $_GET['page'] ) || 'give-settings' != $_GET['page'] ) && ! $force ) {
|
1088 |
+
return $post_options;
|
1089 |
+
}
|
1090 |
+
|
1091 |
+
$args = wp_parse_args( $query_args, array(
|
1092 |
+
'post_type' => 'page',
|
1093 |
+
'numberposts' => 10,
|
1094 |
+
) );
|
1095 |
+
|
1096 |
+
$posts = get_posts( $args );
|
1097 |
+
|
1098 |
+
if ( $posts ) {
|
1099 |
+
foreach ( $posts as $post ) {
|
1100 |
+
|
1101 |
+
$post_options[ $post->ID ] = $post->post_title;
|
1102 |
+
|
1103 |
+
}
|
1104 |
+
}
|
1105 |
+
|
1106 |
+
return $post_options;
|
1107 |
+
}
|
1108 |
+
|
1109 |
+
|
1110 |
+
/**
|
1111 |
+
* Featured Image Sizes
|
1112 |
+
*
|
1113 |
+
* Outputs an array for the "Featured Image Size" option found under Settings > Display Options.
|
1114 |
+
*
|
1115 |
+
* @since 1.4
|
1116 |
+
*
|
1117 |
+
* @global $_wp_additional_image_sizes
|
1118 |
+
*
|
1119 |
+
* @return array $sizes
|
1120 |
+
*/
|
1121 |
+
function give_get_featured_image_sizes() {
|
1122 |
+
global $_wp_additional_image_sizes;
|
1123 |
+
$sizes = array();
|
1124 |
+
$get_sizes = get_intermediate_image_sizes();
|
1125 |
+
|
1126 |
+
// check whether intermediate image sizes exist first
|
1127 |
+
if ( empty( $get_sizes ) ) {
|
1128 |
+
$get_sizes = array( 'thumbnail', 'medium', 'medium_large', 'large' );
|
1129 |
+
}
|
1130 |
+
|
1131 |
+
foreach ( $get_sizes as $_size ) {
|
1132 |
+
|
1133 |
+
if ( in_array( $_size, array( 'thumbnail', 'medium', 'medium_large', 'large' ) ) ) {
|
1134 |
+
$sizes[ $_size ] = $_size . ' - ' . get_option( "{$_size}_size_w" ) . 'x' . get_option( "{$_size}_size_h" );
|
1135 |
+
} elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) {
|
1136 |
+
$sizes[ $_size ] = $_size . ' - ' . $_wp_additional_image_sizes[ $_size ]['width'] . 'x' . $_wp_additional_image_sizes[ $_size ]['height'];
|
1137 |
+
}
|
1138 |
+
}
|
1139 |
+
|
1140 |
+
return apply_filters( 'give_get_featured_image_sizes', $sizes );
|
1141 |
+
}
|
1142 |
+
|
1143 |
+
|
1144 |
+
/**
|
1145 |
+
* Give License Key Callback
|
1146 |
+
*
|
1147 |
+
* Registers the license field callback for EDD's Software Licensing.
|
1148 |
+
*
|
1149 |
+
* @since 1.0
|
1150 |
+
*
|
1151 |
+
* @param array $field_object , $escaped_value, $object_id, $object_type, $field_type_object Arguments passed by CMB2
|
1152 |
+
*
|
1153 |
+
* @return void
|
1154 |
+
*/
|
1155 |
+
function give_license_key_callback( $field_object, $escaped_value, $object_id, $object_type, $field_type_object ) {
|
1156 |
+
/* @var CMB2_Types $field_type_object */
|
1157 |
+
|
1158 |
+
$id = $field_type_object->field->args['id'];
|
1159 |
+
$field_description = $field_type_object->field->args['desc'];
|
1160 |
+
$license = $field_type_object->field->args['options']['license'];
|
1161 |
+
$license_key = $escaped_value;
|
1162 |
+
$is_license_key = apply_filters( 'give_is_license_key', ( is_object( $license ) && ! empty( $license ) ) );
|
1163 |
+
$is_valid_license = apply_filters( 'give_is_valid_license', ( $is_license_key && property_exists( $license, 'license' ) && 'valid' === $license->license ) );
|
1164 |
+
$shortname = $field_type_object->field->args['options']['shortname'];
|
1165 |
+
$field_classes = 'regular-text give-license-field';
|
1166 |
+
$type = empty( $escaped_value ) || ! $is_valid_license ? 'text' : 'password';
|
1167 |
+
$custom_html = '';
|
1168 |
+
$messages = array();
|
1169 |
+
$class = '';
|
1170 |
+
$account_page_link = $field_type_object->field->args['options']['account_url'];
|
1171 |
+
$checkout_page_link = $field_type_object->field->args['options']['checkout_url'];
|
1172 |
+
$addon_name = $field_type_object->field->args['options']['item_name'];
|
1173 |
+
$license_status = null;
|
1174 |
+
$is_in_subscription = null;
|
1175 |
+
|
1176 |
+
// By default query on edd api url will return license object which contain status and message property, this can break below functionality.
|
1177 |
+
// To combat that check if status is set to error or not, if yes then set $is_license_key to false.
|
1178 |
+
if ( $is_license_key && property_exists( $license, 'status' ) && 'error' === $license->status ) {
|
1179 |
+
$is_license_key = false;
|
1180 |
+
}
|
1181 |
+
|
1182 |
+
// Check if current license is part of subscription or not.
|
1183 |
+
$subscriptions = get_option( 'give_subscriptions' );
|
1184 |
+
|
1185 |
+
if ( $is_license_key && $subscriptions ) {
|
1186 |
+
foreach ( $subscriptions as $subscription ) {
|
1187 |
+
if ( in_array( $license_key, $subscription['licenses'] ) ) {
|
1188 |
+
$is_in_subscription = $subscription['id'];
|
1189 |
+
break;
|
1190 |
+
}
|
1191 |
+
}
|
1192 |
+
}
|
1193 |
+
|
1194 |
+
if ( $is_license_key ) {
|
1195 |
+
if ( $is_in_subscription ) {
|
1196 |
+
$subscription_expires = strtotime( $subscriptions[ $is_in_subscription ]['expires'] );
|
1197 |
+
$subscription_status = __( 'renew', 'give' );
|
1198 |
+
|
1199 |
+
if ( ( 'active' !== $subscriptions[ $is_in_subscription ]['status'] ) ) {
|
1200 |
+
$subscription_status = __( 'expire', 'give' );
|
1201 |
+
}
|
1202 |
+
|
1203 |
+
if ( $subscription_expires < current_time( 'timestamp', 1 ) ) {
|
1204 |
+
$messages[] = sprintf(
|
1205 |
+
__( 'Your subscription (<a href="%1$s" target="_blank">#%2$d</a>) expired. Please <a href="%3$s" target="_blank" title="Renew your license key">renew your license key</a>', 'give' ),
|
1206 |
+
urldecode( $subscriptions[ $is_in_subscription ]['invoice_url'] ),
|
1207 |
+
$subscriptions[ $is_in_subscription ]['payment_id'],
|
1208 |
+
$checkout_page_link . '?edd_license_key=' . $subscriptions[ $is_in_subscription ]['license_key'] . '&utm_campaign=admin&utm_source=licenses&utm_medium=expired'
|
1209 |
+
);
|
1210 |
+
$license_status = 'license-expired';
|
1211 |
+
} elseif ( strtotime( '- 7 days', $subscription_expires ) < current_time( 'timestamp', 1 ) ) {
|
1212 |
+
$messages[] = sprintf(
|
1213 |
+
__( 'Your subscription (<a href="%1$s" target="_blank">#%2$d</a>) will %3$s in %4$s.', 'give' ),
|
1214 |
+
urldecode( $subscriptions[ $is_in_subscription ]['invoice_url'] ),
|
1215 |
+
$subscriptions[ $is_in_subscription ]['payment_id'],
|
1216 |
+
$subscription_status,
|
1217 |
+
human_time_diff( current_time( 'timestamp', 1 ), strtotime( $subscriptions[ $is_in_subscription ]['expires'] ) )
|
1218 |
+
);
|
1219 |
+
$license_status = 'license-expires-soon';
|
1220 |
+
} else {
|
1221 |
+
$messages[] = sprintf(
|
1222 |
+
__( 'Your subscription (<a href="%1$s" target="_blank">#%2$d</a>) will %3$s on %4$s.', 'give' ),
|
1223 |
+
urldecode( $subscriptions[ $is_in_subscription ]['invoice_url'] ),
|
1224 |
+
$subscriptions[ $is_in_subscription ]['payment_id'],
|
1225 |
+
$subscription_status,
|
1226 |
+
date_i18n( get_option( 'date_format' ), strtotime( $subscriptions[ $is_in_subscription ]['expires'], current_time( 'timestamp' ) ) )
|
1227 |
+
);
|
1228 |
+
$license_status = 'license-expiration-date';
|
1229 |
+
}
|
1230 |
+
} elseif ( empty( $license->success ) && property_exists( $license, 'error' ) ) {
|
1231 |
+
|
1232 |
+
// activate_license 'invalid' on anything other than valid, so if there was an error capture it
|
1233 |
+
switch ( $license->error ) {
|
1234 |
+
case 'expired' :
|
1235 |
+
$class = $license->error;
|
1236 |
+
$messages[] = sprintf(
|
1237 |
+
__( 'Your license key expired on %1$s. Please <a href="%2$s" target="_blank" title="Renew your license key">renew your license key</a>.', 'give' ),
|
1238 |
+
date_i18n( get_option( 'date_format' ), strtotime( $license->expires, current_time( 'timestamp' ) ) ),
|
1239 |
+
$checkout_page_link . '?edd_license_key=' . $license_key . '&utm_campaign=admin&utm_source=licenses&utm_medium=expired'
|
1240 |
+
);
|
1241 |
+
$license_status = 'license-' . $class;
|
1242 |
+
break;
|
1243 |
+
|
1244 |
+
case 'missing' :
|
1245 |
+
$class = $license->error;
|
1246 |
+
$messages[] = sprintf(
|
1247 |
+
__( 'Invalid license. Please <a href="%s" target="_blank" title="Visit account page">visit your account page</a> and verify it.', 'give' ),
|
1248 |
+
$account_page_link . '?utm_campaign=admin&utm_source=licenses&utm_medium=missing'
|
1249 |
+
);
|
1250 |
+
$license_status = 'license-' . $class;
|
1251 |
+
break;
|
1252 |
+
|
1253 |
+
case 'invalid' :
|
1254 |
+
$class = $license->error;
|
1255 |
+
$messages[] = sprintf(
|
1256 |
+
__( 'Your %1$s is not active for this URL. Please <a href="%2$s" target="_blank" title="Visit account page">visit your account page</a> to manage your license key URLs.', 'give' ),
|
1257 |
+
$addon_name,
|
1258 |
+
$account_page_link . '?utm_campaign=admin&utm_source=licenses&utm_medium=invalid'
|
1259 |
+
);
|
1260 |
+
$license_status = 'license-' . $class;
|
1261 |
+
break;
|
1262 |
+
|
1263 |
+
case 'site_inactive' :
|
1264 |
+
$class = $license->error;
|
1265 |
+
$messages[] = sprintf(
|
1266 |
+
__( 'Your %1$s is not active for this URL. Please <a href="%2$s" target="_blank" title="Visit account page">visit your account page</a> to manage your license key URLs.', 'give' ),
|
1267 |
+
$addon_name,
|
1268 |
+
$account_page_link . '?utm_campaign=admin&utm_source=licenses&utm_medium=invalid'
|
1269 |
+
);
|
1270 |
+
$license_status = 'license-' . $class;
|
1271 |
+
break;
|
1272 |
+
|
1273 |
+
case 'item_name_mismatch' :
|
1274 |
+
$class = $license->error;
|
1275 |
+
$messages[] = sprintf( __( 'This license %1$s does not belong to %2$s.', 'give' ), $license_key, $addon_name );
|
1276 |
+
$license_status = 'license-' . $class;
|
1277 |
+
break;
|
1278 |
+
|
1279 |
+
case 'no_activations_left':
|
1280 |
+
$class = $license->error;
|
1281 |
+
$messages[] = sprintf( __( 'Your license key has reached it\'s activation limit. <a href="%s">View possible upgrades</a> now.', 'give' ), $account_page_link );
|
1282 |
+
$license_status = 'license-' . $class;
|
1283 |
+
break;
|
1284 |
+
}
|
1285 |
+
} else {
|
1286 |
+
switch ( $license->license ) {
|
1287 |
+
case 'valid' :
|
1288 |
+
default:
|
1289 |
+
$class = 'valid';
|
1290 |
+
$now = current_time( 'timestamp' );
|
1291 |
+
$expiration = strtotime( $license->expires, current_time( 'timestamp' ) );
|
1292 |
+
|
1293 |
+
if ( 'lifetime' === $license->expires ) {
|
1294 |
+
$messages[] = __( 'License key never expires.', 'give' );
|
1295 |
+
$license_status = 'license-lifetime-notice';
|
1296 |
+
} elseif ( $expiration > $now && $expiration - $now < ( DAY_IN_SECONDS * 30 ) ) {
|
1297 |
+
$messages[] = sprintf(
|
1298 |
+
__( 'Your license key expires soon! It expires on %1$s. <a href="%2$s" target="_blank" title="Renew license">Renew your license key</a>.', 'give' ),
|
1299 |
+
date_i18n( get_option( 'date_format' ), strtotime( $license->expires, current_time( 'timestamp' ) ) ),
|
1300 |
+
$checkout_page_link . '?edd_license_key=' . $license_key . '&utm_campaign=admin&utm_source=licenses&utm_medium=renew'
|
1301 |
+
);
|
1302 |
+
$license_status = 'license-expires-soon';
|
1303 |
+
} else {
|
1304 |
+
$messages[] = sprintf(
|
1305 |
+
__( 'Your license key expires on %s.', 'give' ),
|
1306 |
+
date_i18n( get_option( 'date_format' ), strtotime( $license->expires, current_time( 'timestamp' ) ) )
|
1307 |
+
);
|
1308 |
+
$license_status = 'license-expiration-date';
|
1309 |
+
}
|
1310 |
+
break;
|
1311 |
+
}
|
1312 |
+
}
|
1313 |
+
} else {
|
1314 |
+
$messages[] = sprintf(
|
1315 |
+
__( 'To receive updates, please enter your valid %s license key.', 'give' ),
|
1316 |
+
$addon_name
|
1317 |
+
);
|
1318 |
+
$license_status = 'inactive';
|
1319 |
+
}
|
1320 |
+
|
1321 |
+
// Add class for input field if license is active.
|
1322 |
+
if ( $is_valid_license ) {
|
1323 |
+
$field_classes .= ' give-license-active';
|
1324 |
+
}
|
1325 |
+
|
1326 |
+
// Get input field html.
|
1327 |
+
$input_field_html = "<input type=\"{$type}\" name=\"{$id}\" class=\"{$field_classes}\" value=\"{$license_key}\">";
|
1328 |
+
|
1329 |
+
// If license is active so show deactivate button.
|
1330 |
+
if ( $is_valid_license ) {
|
1331 |
+
// Get input field html.
|
1332 |
+
$input_field_html = "<input type=\"{$type}\" name=\"{$id}\" class=\"{$field_classes}\" value=\"{$license_key}\" readonly=\"readonly\">";
|
1333 |
+
|
1334 |
+
$custom_html = '<input type="submit" class="button button-small give-license-deactivate" name="' . $id . '_deactivate" value="' . esc_attr__( 'Deactivate License', 'give' ) . '"/>';
|
1335 |
+
|
1336 |
+
}
|
1337 |
+
|
1338 |
+
// Field description.
|
1339 |
+
$custom_html .= '<label for="give_settings[' . $id . ']"> ' . $field_description . '</label>';
|
1340 |
+
|
1341 |
+
// If no messages found then inform user that to get updated in future register yourself.
|
1342 |
+
if ( empty( $messages ) ) {
|
1343 |
+
$messages[] = apply_filters( "{$shortname}_default_addon_notice", __( 'To receive updates, please enter your valid license key.', 'give' ) );
|
1344 |
+
}
|
1345 |
+
|
1346 |
+
foreach ( $messages as $message ) {
|
1347 |
+
$custom_html .= '<div class="give-license-status-notice give-' . $license_status . '">';
|
1348 |
+
$custom_html .= '<p>' . $message . '</p>';
|
1349 |
+
$custom_html .= '</div>';
|
1350 |
+
}
|
1351 |
+
|
1352 |
+
// Field html.
|
1353 |
+
$custom_html = apply_filters( 'give_license_key_field_html', $input_field_html . $custom_html, $field_type_object );
|
1354 |
+
|
1355 |
+
// Nonce.
|
1356 |
+
wp_nonce_field( $id . '-nonce', $id . '-nonce' );
|
1357 |
+
|
1358 |
+
// Print field html.
|
1359 |
+
echo "<div class=\"give-license-key\"><label for=\"{$id}\">{$addon_name }</label></div><div class=\"give-license-block\">{$custom_html}</div>";
|
1360 |
+
}
|
1361 |
+
|
1362 |
+
|
1363 |
+
/**
|
1364 |
+
* Display the API Keys
|
1365 |
+
*
|
1366 |
+
* @since 1.0
|
1367 |
+
* @return void
|
1368 |
+
*/
|
1369 |
+
function give_api_callback() {
|
1370 |
+
|
1371 |
+
if ( ! current_user_can( 'manage_give_settings' ) ) {
|
1372 |
+
return;
|
1373 |
+
}
|
1374 |
+
|
1375 |
+
/**
|
1376 |
+
* Fires before displaying API keys.
|
1377 |
+
*
|
1378 |
+
* @since 1.0
|
1379 |
+
*/
|
1380 |
+
do_action( 'give_tools_api_keys_before' );
|
1381 |
+
|
1382 |
+
require_once GIVE_PLUGIN_DIR . 'includes/admin/class-api-keys-table.php';
|
1383 |
+
|
1384 |
+
$api_keys_table = new Give_API_Keys_Table();
|
1385 |
+
$api_keys_table->prepare_items();
|
1386 |
+
$api_keys_table->display();
|
1387 |
+
?>
|
1388 |
+
<span class="cmb2-metabox-description api-description">
|
1389 |
+
<?php echo sprintf(
|
1390 |
+
/* translators: 1: http://docs.givewp.com/api 2: http://docs.givewp.com/addon-zapier */
|
1391 |
+
__( 'You can create API keys for individual users within their profile edit screen. API keys allow users to use the <a href="%1$s" target="_blank">Give REST API</a> to retrieve donation data in JSON or XML for external applications or devices, such as <a href="%2$s" target="_blank">Zapier</a>.', 'give' ),
|
1392 |
+
esc_url( 'http://docs.givewp.com/api' ),
|
1393 |
+
esc_url( 'http://docs.givewp.com/addon-zapier' )
|
1394 |
+
); ?>
|
1395 |
+
</span>
|
1396 |
+
<?php
|
1397 |
+
|
1398 |
+
/**
|
1399 |
+
* Fires after displaying API keys.
|
1400 |
+
*
|
1401 |
+
* @since 1.0
|
1402 |
+
*/
|
1403 |
+
do_action( 'give_tools_api_keys_after' );
|
1404 |
+
}
|
1405 |
+
|
1406 |
+
add_action( 'give_settings_tab_api_keys', 'give_api_callback' );
|
1407 |
+
|
1408 |
+
/**
|
1409 |
+
* Hook Callback
|
1410 |
+
*
|
1411 |
+
* Adds a do_action() hook in place of the field.
|
1412 |
+
*
|
1413 |
+
* @since 1.0
|
1414 |
+
*
|
1415 |
+
* @param array $args Arguments passed by the setting
|
1416 |
+
*
|
1417 |
+
* @return void
|
1418 |
+
*/
|
1419 |
+
function give_hook_callback( $args ) {
|
1420 |
+
|
1421 |
+
$id = $args['id'];
|
1422 |
+
|
1423 |
+
/**
|
1424 |
+
* Fires in give field.
|
1425 |
+
*
|
1426 |
+
* @since 1.0
|
1427 |
+
*/
|
1428 |
+
do_action( "give_{$id}" );
|
1429 |
+
|
1430 |
+
}
|
1431 |
+
|
1432 |
+
|
1433 |
+
/**
|
1434 |
+
* Check if radio(enabled/disabled) and checkbox(on) is active or not.
|
1435 |
+
*
|
1436 |
+
* @since 1.8
|
1437 |
+
*
|
1438 |
+
* @param string $value
|
1439 |
+
* @param string $compare_with
|
1440 |
+
*
|
1441 |
+
* @return bool
|
1442 |
+
*/
|
1443 |
+
function give_is_setting_enabled( $value, $compare_with = null ) {
|
1444 |
+
if ( ! is_null( $compare_with ) ) {
|
1445 |
+
|
1446 |
+
if ( is_array( $compare_with ) ) {
|
1447 |
+
// Output.
|
1448 |
+
return in_array( $value, $compare_with );
|
1449 |
+
}
|
1450 |
+
|
1451 |
+
// Output.
|
1452 |
+
return ( $value === $compare_with );
|
1453 |
+
}
|
1454 |
+
|
1455 |
+
// Backward compatibility: From version 1.8 most of setting is modified to enabled/disabled
|
1456 |
+
// Output.
|
1457 |
+
return ( in_array( $value, array( 'enabled', 'on', 'yes' ) ) ? true : false );
|
1458 |
+
}
|
|
|
|
|
|
includes/admin/class-i18n-module.php
CHANGED
@@ -107,11 +107,11 @@ class Give_i18n_Banner {
|
|
107 |
* @return bool
|
108 |
*/
|
109 |
private function hide_promo() {
|
110 |
-
$hide_promo =
|
111 |
if ( ! $hide_promo ) {
|
112 |
if ( filter_input( INPUT_GET, 'remove_i18n_promo', FILTER_VALIDATE_INT ) === 1 ) {
|
113 |
// No expiration time, so this would normally not expire, but it wouldn't be copied to other sites etc.
|
114 |
-
|
115 |
$hide_promo = true;
|
116 |
}
|
117 |
}
|
@@ -242,11 +242,11 @@ class Give_i18n_Banner {
|
|
242 |
*/
|
243 |
private function find_or_initialize_translation_details() {
|
244 |
|
245 |
-
$set =
|
246 |
|
247 |
if ( ! $set ) {
|
248 |
$set = $this->retrieve_translation_details();
|
249 |
-
|
250 |
}
|
251 |
|
252 |
return $set;
|
107 |
* @return bool
|
108 |
*/
|
109 |
private function hide_promo() {
|
110 |
+
$hide_promo = Give_Cache::get( 'give_i18n_give_promo_hide', true );
|
111 |
if ( ! $hide_promo ) {
|
112 |
if ( filter_input( INPUT_GET, 'remove_i18n_promo', FILTER_VALIDATE_INT ) === 1 ) {
|
113 |
// No expiration time, so this would normally not expire, but it wouldn't be copied to other sites etc.
|
114 |
+
Give_Cache::set( 'give_i18n_give_promo_hide', true, null, true );
|
115 |
$hide_promo = true;
|
116 |
}
|
117 |
}
|
242 |
*/
|
243 |
private function find_or_initialize_translation_details() {
|
244 |
|
245 |
+
$set = Give_Cache::get( "give_i18n_give_{$this->locale}", true );
|
246 |
|
247 |
if ( ! $set ) {
|
248 |
$set = $this->retrieve_translation_details();
|
249 |
+
Give_Cache::set( "give_i18n_give_{$this->locale}", $set, DAY_IN_SECONDS, true );
|
250 |
}
|
251 |
|
252 |
return $set;
|
includes/admin/customers/customer-actions.php
CHANGED
@@ -595,7 +595,7 @@ function give_set_donor_primary_email() {
|
|
595 |
$url = add_query_arg( 'give-message', 'primary-email-updated', admin_url( 'edit.php?post_type=give_forms&page=give-donors&view=overview&id=' . $donor->id ) );
|
596 |
$user = wp_get_current_user();
|
597 |
$user_login = ! empty( $user->user_login ) ? $user->user_login : esc_html__( 'System', 'give' );
|
598 |
-
$donor_note = sprintf( __( 'Email address %1$s set as primary by %
|
599 |
|
600 |
$donor->add_note( $donor_note );
|
601 |
} else {
|
595 |
$url = add_query_arg( 'give-message', 'primary-email-updated', admin_url( 'edit.php?post_type=give_forms&page=give-donors&view=overview&id=' . $donor->id ) );
|
596 |
$user = wp_get_current_user();
|
597 |
$user_login = ! empty( $user->user_login ) ? $user->user_login : esc_html__( 'System', 'give' );
|
598 |
+
$donor_note = sprintf( __( 'Email address %1$s set as primary by %2$s', 'give' ), $_GET['email'], $user_login );
|
599 |
|
600 |
$donor->add_note( $donor_note );
|
601 |
} else {
|
includes/admin/payments/class-payments-table.php
CHANGED
@@ -139,22 +139,26 @@ class Give_Payment_History_Table extends WP_List_Table {
|
|
139 |
$end_date = isset( $_GET['end-date'] ) ? sanitize_text_field( $_GET['end-date'] ) : null;
|
140 |
$status = isset( $_GET['status'] ) ? $_GET['status'] : '';
|
141 |
?>
|
142 |
-
|
143 |
<span id="give-payment-date-filters">
|
144 |
-
<label for="start-date"
|
145 |
-
|
|
|
|
|
146 |
<label for="end-date" class="give-end-date-label"><?php esc_html_e( 'End Date:', 'give' ); ?></label>
|
147 |
-
<input type="text" id="end-date" name="end-date" class="give_datepicker"
|
|
|
148 |
<input type="submit" class="button-secondary" value="<?php esc_attr_e( 'Apply', 'give' ); ?>"/>
|
149 |
</span>
|
150 |
<?php if ( ! empty( $status ) ) : ?>
|
151 |
-
|
152 |
<?php endif; ?>
|
153 |
<?php if ( ! empty( $start_date ) || ! empty( $end_date ) ) : ?>
|
154 |
-
|
|
|
155 |
<?php endif; ?>
|
156 |
<?php $this->search_box( esc_html__( 'Search', 'give' ), 'give-payments' ); ?>
|
157 |
-
|
158 |
|
159 |
<?php
|
160 |
}
|
@@ -184,7 +188,7 @@ class Give_Payment_History_Table extends WP_List_Table {
|
|
184 |
echo '<input type="hidden" name="order" value="' . esc_attr( $_REQUEST['order'] ) . '" />';
|
185 |
}
|
186 |
?>
|
187 |
-
|
188 |
<?php
|
189 |
/**
|
190 |
* Fires in the payment history search box.
|
@@ -195,10 +199,10 @@ class Give_Payment_History_Table extends WP_List_Table {
|
|
195 |
*/
|
196 |
do_action( 'give_payment_history_search' );
|
197 |
?>
|
198 |
-
|
199 |
-
|
200 |
<?php submit_button( $text, 'button', false, false, array( 'ID' => 'search-submit' ) ); ?><br/>
|
201 |
-
|
202 |
<?php
|
203 |
}
|
204 |
|
@@ -413,7 +417,7 @@ class Give_Payment_History_Table extends WP_List_Table {
|
|
413 |
*
|
414 |
* @param Give_Payment $payment
|
415 |
*
|
416 |
-
* @return
|
417 |
*/
|
418 |
function get_row_actions( $payment ) {
|
419 |
|
@@ -692,7 +696,7 @@ class Give_Payment_History_Table extends WP_List_Table {
|
|
692 |
*
|
693 |
* @access public
|
694 |
* @since 1.0
|
695 |
-
* @return
|
696 |
*/
|
697 |
public function payments_data() {
|
698 |
|
@@ -731,10 +735,8 @@ class Give_Payment_History_Table extends WP_List_Table {
|
|
731 |
);
|
732 |
|
733 |
if ( is_string( $search ) && false !== strpos( $search, 'txn:' ) ) {
|
734 |
-
|
735 |
$args['search_in_notes'] = true;
|
736 |
$args['s'] = trim( str_replace( 'txn:', '', $args['s'] ) );
|
737 |
-
|
738 |
}
|
739 |
|
740 |
$p_query = new Give_Payments_Query( $args );
|
@@ -795,7 +797,7 @@ class Give_Payment_History_Table extends WP_List_Table {
|
|
795 |
default:
|
796 |
// Retrieve the count of the non-default-Give status.
|
797 |
$count = wp_count_posts( 'give_payment' );
|
798 |
-
$total_items = $count->{$status};
|
799 |
break;
|
800 |
}
|
801 |
|
139 |
$end_date = isset( $_GET['end-date'] ) ? sanitize_text_field( $_GET['end-date'] ) : null;
|
140 |
$status = isset( $_GET['status'] ) ? $_GET['status'] : '';
|
141 |
?>
|
142 |
+
<div id="give-payment-filters">
|
143 |
<span id="give-payment-date-filters">
|
144 |
+
<label for="start-date"
|
145 |
+
class="give-start-date-label"><?php esc_html_e( 'Start Date:', 'give' ); ?></label>
|
146 |
+
<input type="text" id="start-date" name="start-date" class="give_datepicker"
|
147 |
+
value="<?php echo $start_date; ?>" placeholder="mm/dd/yyyy"/>
|
148 |
<label for="end-date" class="give-end-date-label"><?php esc_html_e( 'End Date:', 'give' ); ?></label>
|
149 |
+
<input type="text" id="end-date" name="end-date" class="give_datepicker"
|
150 |
+
value="<?php echo $end_date; ?>" placeholder="mm/dd/yyyy"/>
|
151 |
<input type="submit" class="button-secondary" value="<?php esc_attr_e( 'Apply', 'give' ); ?>"/>
|
152 |
</span>
|
153 |
<?php if ( ! empty( $status ) ) : ?>
|
154 |
+
<input type="hidden" name="status" value="<?php echo esc_attr( $status ); ?>"/>
|
155 |
<?php endif; ?>
|
156 |
<?php if ( ! empty( $start_date ) || ! empty( $end_date ) ) : ?>
|
157 |
+
<a href="<?php echo admin_url( 'edit.php?post_type=give_forms&page=give-payment-history' ); ?>"
|
158 |
+
class="button-secondary"><?php esc_html_e( 'Clear Filter', 'give' ); ?></a>
|
159 |
<?php endif; ?>
|
160 |
<?php $this->search_box( esc_html__( 'Search', 'give' ), 'give-payments' ); ?>
|
161 |
+
</div>
|
162 |
|
163 |
<?php
|
164 |
}
|
188 |
echo '<input type="hidden" name="order" value="' . esc_attr( $_REQUEST['order'] ) . '" />';
|
189 |
}
|
190 |
?>
|
191 |
+
<p class="search-box" role="search">
|
192 |
<?php
|
193 |
/**
|
194 |
* Fires in the payment history search box.
|
199 |
*/
|
200 |
do_action( 'give_payment_history_search' );
|
201 |
?>
|
202 |
+
<label class="screen-reader-text" for="<?php echo $input_id ?>"><?php echo $text; ?>:</label>
|
203 |
+
<input type="search" id="<?php echo $input_id ?>" name="s" value="<?php _admin_search_query(); ?>"/>
|
204 |
<?php submit_button( $text, 'button', false, false, array( 'ID' => 'search-submit' ) ); ?><br/>
|
205 |
+
</p>
|
206 |
<?php
|
207 |
}
|
208 |
|
417 |
*
|
418 |
* @param Give_Payment $payment
|
419 |
*
|
420 |
+
* @return array $actions
|
421 |
*/
|
422 |
function get_row_actions( $payment ) {
|
423 |
|
696 |
*
|
697 |
* @access public
|
698 |
* @since 1.0
|
699 |
+
* @return array objects in array containing all the data for the payments
|
700 |
*/
|
701 |
public function payments_data() {
|
702 |
|
735 |
);
|
736 |
|
737 |
if ( is_string( $search ) && false !== strpos( $search, 'txn:' ) ) {
|
|
|
738 |
$args['search_in_notes'] = true;
|
739 |
$args['s'] = trim( str_replace( 'txn:', '', $args['s'] ) );
|
|
|
740 |
}
|
741 |
|
742 |
$p_query = new Give_Payments_Query( $args );
|
797 |
default:
|
798 |
// Retrieve the count of the non-default-Give status.
|
799 |
$count = wp_count_posts( 'give_payment' );
|
800 |
+
$total_items = isset( $count->{$status} ) ? $count->{$status} : 0;
|
801 |
break;
|
802 |
}
|
803 |
|
includes/admin/plugins.php
CHANGED
@@ -28,7 +28,7 @@ function give_plugin_action_links( $actions ) {
|
|
28 |
'settings' => sprintf(
|
29 |
'<a href="%1$s">%2$s</a>',
|
30 |
admin_url( 'edit.php?post_type=give_forms&page=give-settings' ),
|
31 |
-
|
32 |
),
|
33 |
);
|
34 |
|
@@ -62,7 +62,7 @@ function give_plugin_row_meta( $plugin_meta, $plugin_file ) {
|
|
62 |
'utm_campaign' => 'admin',
|
63 |
), 'https://givewp.com/documentation/' )
|
64 |
),
|
65 |
-
|
66 |
),
|
67 |
sprintf(
|
68 |
'<a href="%1$s" target="_blank">%2$s</a>',
|
@@ -72,7 +72,7 @@ function give_plugin_row_meta( $plugin_meta, $plugin_file ) {
|
|
72 |
'utm_campaign' => 'admin',
|
73 |
), 'https://givewp.com/addons/' )
|
74 |
),
|
75 |
-
|
76 |
),
|
77 |
);
|
78 |
|
28 |
'settings' => sprintf(
|
29 |
'<a href="%1$s">%2$s</a>',
|
30 |
admin_url( 'edit.php?post_type=give_forms&page=give-settings' ),
|
31 |
+
__( 'Settings', 'give' )
|
32 |
),
|
33 |
);
|
34 |
|
62 |
'utm_campaign' => 'admin',
|
63 |
), 'https://givewp.com/documentation/' )
|
64 |
),
|
65 |
+
__( 'Documentation', 'give' )
|
66 |
),
|
67 |
sprintf(
|
68 |
'<a href="%1$s" target="_blank">%2$s</a>',
|
72 |
'utm_campaign' => 'admin',
|
73 |
), 'https://givewp.com/addons/' )
|
74 |
),
|
75 |
+
__( 'Add-ons', 'give' )
|
76 |
),
|
77 |
);
|
78 |
|
includes/admin/reporting/class-sales-logs-list-table.php
CHANGED
@@ -338,11 +338,10 @@ class Give_Sales_Log_Table extends WP_List_Table {
|
|
338 |
'meta_query' => $this->get_meta_query(),
|
339 |
);
|
340 |
|
341 |
-
$cache_key =
|
342 |
|
343 |
// Return result from cache if exist.
|
344 |
-
if ( ! ( $logs_data =
|
345 |
-
|
346 |
$logs = $give_logs->get_connected_logs( $log_query );
|
347 |
|
348 |
if ( $logs ) {
|
@@ -370,7 +369,7 @@ class Give_Sales_Log_Table extends WP_List_Table {
|
|
370 |
|
371 |
// Cache results.
|
372 |
if ( ! empty( $logs_data ) ) {
|
373 |
-
|
374 |
}
|
375 |
}
|
376 |
}
|
338 |
'meta_query' => $this->get_meta_query(),
|
339 |
);
|
340 |
|
341 |
+
$cache_key = Give_Cache::get_key( 'get_logs', $log_query );
|
342 |
|
343 |
// Return result from cache if exist.
|
344 |
+
if ( ! ( $logs_data = Give_Cache::get( $cache_key ) ) ) {
|
|
|
345 |
$logs = $give_logs->get_connected_logs( $log_query );
|
346 |
|
347 |
if ( $logs ) {
|
369 |
|
370 |
// Cache results.
|
371 |
if ( ! empty( $logs_data ) ) {
|
372 |
+
Give_Cache::set( $cache_key, $logs_data );
|
373 |
}
|
374 |
}
|
375 |
}
|
includes/admin/reporting/export/class-batch-export-customers.php
CHANGED
@@ -75,9 +75,9 @@ class Give_Batch_Customers_Export extends Give_Batch_Export {
|
|
75 |
if( ! empty( $this->form ) ) {
|
76 |
// Cache donor ids to output unique list of donor.
|
77 |
$this->query_id = give_clean( $_REQUEST['give_export_option']['query_id'] );
|
78 |
-
if( ! ( $this->donor_ids =
|
79 |
$this->donor_ids = array();
|
80 |
-
|
81 |
}
|
82 |
}
|
83 |
|
@@ -209,7 +209,7 @@ class Give_Batch_Customers_Export extends Give_Batch_Export {
|
|
209 |
}
|
210 |
|
211 |
// Cache donor ids only if admin export donor for specific form.
|
212 |
-
|
213 |
}
|
214 |
} else {
|
215 |
|
75 |
if( ! empty( $this->form ) ) {
|
76 |
// Cache donor ids to output unique list of donor.
|
77 |
$this->query_id = give_clean( $_REQUEST['give_export_option']['query_id'] );
|
78 |
+
if( ! ( $this->donor_ids = Give_Cache::get( $this->query_id, true ) ) ) {
|
79 |
$this->donor_ids = array();
|
80 |
+
Give_Cache::set( $this->query_id, $this->donor_ids, HOUR_IN_SECONDS, true );
|
81 |
}
|
82 |
}
|
83 |
|
209 |
}
|
210 |
|
211 |
// Cache donor ids only if admin export donor for specific form.
|
212 |
+
Give_Cache::set( $this->query_id, array_unique( $this->donor_ids ), HOUR_IN_SECONDS, true );
|
213 |
}
|
214 |
} else {
|
215 |
|
includes/admin/reporting/graphing.php
CHANGED
@@ -840,12 +840,14 @@ function give_run_refresh_reports_transients( $data ) {
|
|
840 |
return;
|
841 |
}
|
842 |
|
843 |
-
//
|
844 |
-
|
845 |
-
delete_transient( 'give_earnings_total' );
|
846 |
-
delete_transient( md5( 'give_earnings_this_monththis_month' ) );
|
847 |
-
delete_transient( md5( 'give_earnings_todaytoday' ) );
|
848 |
|
|
|
|
|
|
|
|
|
|
|
849 |
}
|
850 |
|
851 |
add_action( 'give_refresh_reports_transients', 'give_run_refresh_reports_transients' );
|
840 |
return;
|
841 |
}
|
842 |
|
843 |
+
// Monthly stats.
|
844 |
+
Give_Cache::delete( Give_Cache::get_key( 'give_estimated_monthly_stats' ) );
|
|
|
|
|
|
|
845 |
|
846 |
+
// Total earning.
|
847 |
+
delete_option( 'give_earnings_total' );
|
848 |
+
|
849 |
+
// @todo: Refresh only range related stat cache
|
850 |
+
give_delete_donation_stats();
|
851 |
}
|
852 |
|
853 |
add_action( 'give_refresh_reports_transients', 'give_run_refresh_reports_transients' );
|
includes/admin/reporting/reports.php
CHANGED
@@ -591,7 +591,7 @@ function give_reports_tab_logs() {
|
|
591 |
*/
|
592 |
function give_estimated_monthly_stats() {
|
593 |
|
594 |
-
$estimated =
|
595 |
|
596 |
if ( false === $estimated ) {
|
597 |
|
@@ -614,7 +614,7 @@ function give_estimated_monthly_stats() {
|
|
614 |
$estimated['sales'] = ( $to_date_sales / $current_day ) * $days_in_month;
|
615 |
|
616 |
// Cache for one day
|
617 |
-
|
618 |
}
|
619 |
|
620 |
return maybe_unserialize( $estimated );
|
591 |
*/
|
592 |
function give_estimated_monthly_stats() {
|
593 |
|
594 |
+
$estimated = Give_Cache::get( 'give_estimated_monthly_stats', true );
|
595 |
|
596 |
if ( false === $estimated ) {
|
597 |
|
614 |
$estimated['sales'] = ( $to_date_sales / $current_day ) * $days_in_month;
|
615 |
|
616 |
// Cache for one day
|
617 |
+
Give_Cache::set( 'give_estimated_monthly_stats', $estimated, DAY_IN_SECONDS, true );
|
618 |
}
|
619 |
|
620 |
return maybe_unserialize( $estimated );
|
includes/admin/reporting/tools/class-give-tools-delete-test-transactions.php
CHANGED
@@ -48,14 +48,14 @@ class Give_Tools_Delete_Test_Transactions extends Give_Batch_Export {
|
|
48 |
*
|
49 |
* @access public
|
50 |
* @since 1.5
|
51 |
-
* @global object $wpdb Used to query the database using the WordPress
|
52 |
-
*
|
53 |
-
* @return array $data The data for the CSV file
|
54 |
*/
|
55 |
public function get_data() {
|
56 |
global $wpdb;
|
57 |
|
58 |
-
$items = $this->get_stored_data( '
|
59 |
|
60 |
if ( ! is_array( $items ) ) {
|
61 |
return false;
|
@@ -119,7 +119,7 @@ class Give_Tools_Delete_Test_Transactions extends Give_Batch_Export {
|
|
119 |
*/
|
120 |
public function get_percentage_complete() {
|
121 |
|
122 |
-
$items = $this->get_stored_data( '
|
123 |
$total = count( $items );
|
124 |
|
125 |
$percentage = 100;
|
@@ -154,7 +154,7 @@ class Give_Tools_Delete_Test_Transactions extends Give_Batch_Export {
|
|
154 |
public function process_step() {
|
155 |
|
156 |
if ( ! $this->can_export() ) {
|
157 |
-
wp_die(
|
158 |
}
|
159 |
|
160 |
$had_data = $this->get_data();
|
@@ -164,11 +164,10 @@ class Give_Tools_Delete_Test_Transactions extends Give_Batch_Export {
|
|
164 |
|
165 |
return true;
|
166 |
} else {
|
167 |
-
update_option( 'give_earnings_total',
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
$this->delete_data( 'give_temp_reset_ids' );
|
172 |
|
173 |
// Reset the sequential order numbers
|
174 |
if ( give_get_option( 'enable_sequential' ) ) {
|
@@ -176,7 +175,7 @@ class Give_Tools_Delete_Test_Transactions extends Give_Batch_Export {
|
|
176 |
}
|
177 |
|
178 |
$this->done = true;
|
179 |
-
$this->message =
|
180 |
|
181 |
return false;
|
182 |
}
|
@@ -214,10 +213,10 @@ class Give_Tools_Delete_Test_Transactions extends Give_Batch_Export {
|
|
214 |
public function pre_fetch() {
|
215 |
|
216 |
if ( $this->step == 1 ) {
|
217 |
-
$this->delete_data( '
|
218 |
}
|
219 |
|
220 |
-
$items = get_option( '
|
221 |
|
222 |
if ( false === $items ) {
|
223 |
$items = array();
|
@@ -226,7 +225,7 @@ class Give_Tools_Delete_Test_Transactions extends Give_Batch_Export {
|
|
226 |
'post_type' => 'give_payment',
|
227 |
'post_status' => 'any',
|
228 |
'posts_per_page' => - 1,
|
229 |
-
//ONLY TEST MODE TRANSACTIONS!!!
|
230 |
'meta_key' => '_give_payment_mode',
|
231 |
'meta_value' => 'test'
|
232 |
) );
|
@@ -241,9 +240,9 @@ class Give_Tools_Delete_Test_Transactions extends Give_Batch_Export {
|
|
241 |
|
242 |
// Allow filtering of items to remove with an unassociative array for each item.
|
243 |
// The array contains the unique ID of the item, and a 'type' for you to use in the execution of the get_data method.
|
244 |
-
$items = apply_filters( '
|
245 |
|
246 |
-
$this->store_data( '
|
247 |
}
|
248 |
|
249 |
}
|
48 |
*
|
49 |
* @access public
|
50 |
* @since 1.5
|
51 |
+
* @global object $wpdb Used to query the database using the WordPress Database API
|
52 |
+
*
|
53 |
+
* @return array|bool $data The data for the CSV file
|
54 |
*/
|
55 |
public function get_data() {
|
56 |
global $wpdb;
|
57 |
|
58 |
+
$items = $this->get_stored_data( 'give_temp_reset_test_ids' );
|
59 |
|
60 |
if ( ! is_array( $items ) ) {
|
61 |
return false;
|
119 |
*/
|
120 |
public function get_percentage_complete() {
|
121 |
|
122 |
+
$items = $this->get_stored_data( 'give_temp_delete_test_ids', false );
|
123 |
$total = count( $items );
|
124 |
|
125 |
$percentage = 100;
|
154 |
public function process_step() {
|
155 |
|
156 |
if ( ! $this->can_export() ) {
|
157 |
+
wp_die( __( 'You do not have permission to delete test transactions.', 'give' ), __( 'Error', 'give' ), array( 'response' => 403 ) );
|
158 |
}
|
159 |
|
160 |
$had_data = $this->get_data();
|
164 |
|
165 |
return true;
|
166 |
} else {
|
167 |
+
update_option( 'give_earnings_total', give_get_total_earnings( true ) );
|
168 |
+
Give_Cache::delete( Give_Cache::get_key('give_estimated_monthly_stats' ) );
|
169 |
+
|
170 |
+
$this->delete_data( 'give_temp_delete_test_ids' );
|
|
|
171 |
|
172 |
// Reset the sequential order numbers
|
173 |
if ( give_get_option( 'enable_sequential' ) ) {
|
175 |
}
|
176 |
|
177 |
$this->done = true;
|
178 |
+
$this->message = __( 'Test transactions successfully deleted.', 'give' );
|
179 |
|
180 |
return false;
|
181 |
}
|
213 |
public function pre_fetch() {
|
214 |
|
215 |
if ( $this->step == 1 ) {
|
216 |
+
$this->delete_data( 'give_temp_delete_test_ids' );
|
217 |
}
|
218 |
|
219 |
+
$items = get_option( 'give_temp_delete_test_ids', false );
|
220 |
|
221 |
if ( false === $items ) {
|
222 |
$items = array();
|
225 |
'post_type' => 'give_payment',
|
226 |
'post_status' => 'any',
|
227 |
'posts_per_page' => - 1,
|
228 |
+
// ONLY TEST MODE TRANSACTIONS!!!
|
229 |
'meta_key' => '_give_payment_mode',
|
230 |
'meta_value' => 'test'
|
231 |
) );
|
240 |
|
241 |
// Allow filtering of items to remove with an unassociative array for each item.
|
242 |
// The array contains the unique ID of the item, and a 'type' for you to use in the execution of the get_data method.
|
243 |
+
$items = apply_filters( 'give_delete_test_items', $items );
|
244 |
|
245 |
+
$this->store_data( 'give_temp_delete_test_ids', $items );
|
246 |
}
|
247 |
|
248 |
}
|
includes/admin/reporting/tools/class-give-tools-recount-income.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* Recount
|
4 |
*
|
5 |
-
* This class handles batch processing of recounting
|
6 |
*
|
7 |
* @subpackage Admin/Tools/Give_Tools_Recount_Income
|
8 |
* @copyright Copyright (c) 2016, WordImpress
|
@@ -49,24 +49,24 @@ class Give_Tools_Recount_Income extends Give_Batch_Export {
|
|
49 |
* @access public
|
50 |
* @since 1.5
|
51 |
*
|
52 |
-
* @return
|
53 |
*/
|
54 |
public function get_data() {
|
55 |
|
56 |
if ( $this->step == 1 ) {
|
57 |
-
$this->delete_data( '
|
58 |
}
|
59 |
|
60 |
-
$total = get_option( '
|
61 |
|
62 |
if ( false === $total ) {
|
63 |
$total = (float) 0;
|
64 |
-
$this->store_data( '
|
65 |
}
|
66 |
|
67 |
$accepted_statuses = apply_filters( 'give_recount_accepted_statuses', array( 'publish' ) );
|
68 |
|
69 |
-
$args = apply_filters( '
|
70 |
'number' => $this->per_step,
|
71 |
'page' => $this->step,
|
72 |
'status' => $accepted_statuses,
|
@@ -89,14 +89,13 @@ class Give_Tools_Recount_Income extends Give_Batch_Export {
|
|
89 |
|
90 |
$total = round( $total, give_currency_decimal_filter() );
|
91 |
|
92 |
-
$this->store_data( '
|
93 |
|
94 |
return true;
|
95 |
|
96 |
}
|
97 |
|
98 |
-
update_option( '
|
99 |
-
set_transient( 'give_income_total', $total, 86400 );
|
100 |
|
101 |
return false;
|
102 |
|
@@ -110,16 +109,16 @@ class Give_Tools_Recount_Income extends Give_Batch_Export {
|
|
110 |
*/
|
111 |
public function get_percentage_complete() {
|
112 |
|
113 |
-
$total = $this->get_stored_data( '
|
114 |
|
115 |
if ( false === $total ) {
|
116 |
-
$args = apply_filters( '
|
117 |
|
118 |
$counts = give_count_payments( $args );
|
119 |
$total = absint( $counts->publish );
|
120 |
-
$total = apply_filters( '
|
121 |
|
122 |
-
$this->store_data( '
|
123 |
}
|
124 |
|
125 |
$percentage = 100;
|
@@ -164,8 +163,8 @@ class Give_Tools_Recount_Income extends Give_Batch_Export {
|
|
164 |
|
165 |
return true;
|
166 |
} else {
|
167 |
-
$this->delete_data( '
|
168 |
-
$this->delete_data( '
|
169 |
$this->done = true;
|
170 |
$this->message = esc_html__( 'Income stats have been successfully recounted.', 'give' );
|
171 |
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Recount earnings
|
4 |
*
|
5 |
+
* This class handles batch processing of recounting earnings
|
6 |
*
|
7 |
* @subpackage Admin/Tools/Give_Tools_Recount_Income
|
8 |
* @copyright Copyright (c) 2016, WordImpress
|
49 |
* @access public
|
50 |
* @since 1.5
|
51 |
*
|
52 |
+
* @return bool
|
53 |
*/
|
54 |
public function get_data() {
|
55 |
|
56 |
if ( $this->step == 1 ) {
|
57 |
+
$this->delete_data( 'give_temp_recount_earnings' );
|
58 |
}
|
59 |
|
60 |
+
$total = get_option( 'give_temp_recount_earnings', false );
|
61 |
|
62 |
if ( false === $total ) {
|
63 |
$total = (float) 0;
|
64 |
+
$this->store_data( 'give_temp_recount_earnings', $total );
|
65 |
}
|
66 |
|
67 |
$accepted_statuses = apply_filters( 'give_recount_accepted_statuses', array( 'publish' ) );
|
68 |
|
69 |
+
$args = apply_filters( 'give_recount_earnings_args', array(
|
70 |
'number' => $this->per_step,
|
71 |
'page' => $this->step,
|
72 |
'status' => $accepted_statuses,
|
89 |
|
90 |
$total = round( $total, give_currency_decimal_filter() );
|
91 |
|
92 |
+
$this->store_data( 'give_temp_recount_earnings', $total );
|
93 |
|
94 |
return true;
|
95 |
|
96 |
}
|
97 |
|
98 |
+
update_option( 'give_earnings_total', $total );
|
|
|
99 |
|
100 |
return false;
|
101 |
|
109 |
*/
|
110 |
public function get_percentage_complete() {
|
111 |
|
112 |
+
$total = $this->get_stored_data( 'give_recount_earnings_total' );
|
113 |
|
114 |
if ( false === $total ) {
|
115 |
+
$args = apply_filters( 'give_recount_earnings_total_args', array() );
|
116 |
|
117 |
$counts = give_count_payments( $args );
|
118 |
$total = absint( $counts->publish );
|
119 |
+
$total = apply_filters( 'give_recount_store_earnings_total', $total );
|
120 |
|
121 |
+
$this->store_data( 'give_recount_earnings_total', $total );
|
122 |
}
|
123 |
|
124 |
$percentage = 100;
|
163 |
|
164 |
return true;
|
165 |
} else {
|
166 |
+
$this->delete_data( 'give_recount_earnings_total' );
|
167 |
+
$this->delete_data( 'give_temp_recount_earnings' );
|
168 |
$this->done = true;
|
169 |
$this->message = esc_html__( 'Income stats have been successfully recounted.', 'give' );
|
170 |
|
includes/admin/reporting/tools/class-give-tools-reset-stats.php
CHANGED
@@ -193,9 +193,8 @@ class Give_Tools_Reset_Stats extends Give_Batch_Export {
|
|
193 |
return true;
|
194 |
} else {
|
195 |
update_option( 'give_earnings_total', 0 );
|
196 |
-
|
197 |
-
|
198 |
-
delete_transient( 'give_estimated_monthly_stats' . false );
|
199 |
$this->delete_data( 'give_temp_reset_ids' );
|
200 |
|
201 |
// Reset the sequential order numbers
|
193 |
return true;
|
194 |
} else {
|
195 |
update_option( 'give_earnings_total', 0 );
|
196 |
+
Give_Cache::delete( Give_Cache::get_key('give_estimated_monthly_stats' ) );
|
197 |
+
|
|
|
198 |
$this->delete_data( 'give_temp_reset_ids' );
|
199 |
|
200 |
// Reset the sequential order numbers
|
includes/admin/settings/class-settings-license.php
CHANGED
@@ -47,7 +47,6 @@ if ( ! class_exists( 'Give_Settings_License' ) ) :
|
|
47 |
|
48 |
add_filter( 'give-settings_tabs_array', array( $this, 'add_settings_page' ), 20 );
|
49 |
add_action( "give-settings_settings_{$this->id}_page", array( $this, 'output' ) );
|
50 |
-
add_action( "give-settings_save_{$this->id}", array( $this, 'save' ) );
|
51 |
}
|
52 |
|
53 |
/**
|
@@ -105,26 +104,6 @@ if ( ! class_exists( 'Give_Settings_License' ) ) :
|
|
105 |
|
106 |
Give_Admin_Settings::output_fields( $settings, 'give_settings' );
|
107 |
}
|
108 |
-
|
109 |
-
/**
|
110 |
-
* Save settings.
|
111 |
-
*
|
112 |
-
* @since 1.8
|
113 |
-
* @return void
|
114 |
-
*/
|
115 |
-
public function save() {
|
116 |
-
$settings = $this->get_settings();
|
117 |
-
$current_section = give_get_current_setting_section();
|
118 |
-
|
119 |
-
Give_Admin_Settings::save_fields( $settings, 'give_settings' );
|
120 |
-
|
121 |
-
/**
|
122 |
-
* Trigger Action
|
123 |
-
*
|
124 |
-
* @since 1.8
|
125 |
-
*/
|
126 |
-
do_action( 'give_update_options_' . $this->id . '_' . $current_section );
|
127 |
-
}
|
128 |
}
|
129 |
|
130 |
endif;
|
47 |
|
48 |
add_filter( 'give-settings_tabs_array', array( $this, 'add_settings_page' ), 20 );
|
49 |
add_action( "give-settings_settings_{$this->id}_page", array( $this, 'output' ) );
|
|
|
50 |
}
|
51 |
|
52 |
/**
|
104 |
|
105 |
Give_Admin_Settings::output_fields( $settings, 'give_settings' );
|
106 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
}
|
108 |
|
109 |
endif;
|
includes/admin/shortcodes/class-shortcode-button.php
CHANGED
@@ -154,10 +154,10 @@ final class Give_Shortcode_Button {
|
|
154 |
if ( apply_filters( sanitize_title( $shortcode ) . '_condition', true ) ) {
|
155 |
|
156 |
$shortcodes[ $shortcode ] = sprintf(
|
157 |
-
'<div class="sc-shortcode mce-menu-item give-shortcode-item-%1$s" data-shortcode="%s">%s</div>',
|
158 |
$shortcode,
|
159 |
-
$
|
160 |
-
$
|
161 |
);
|
162 |
}
|
163 |
}
|
154 |
if ( apply_filters( sanitize_title( $shortcode ) . '_condition', true ) ) {
|
155 |
|
156 |
$shortcodes[ $shortcode ] = sprintf(
|
157 |
+
'<div class="sc-shortcode mce-menu-item give-shortcode-item-%1$s" data-shortcode="%2$s">%3$s</div>',
|
158 |
$shortcode,
|
159 |
+
$shortcode,
|
160 |
+
$values['label']
|
161 |
);
|
162 |
}
|
163 |
}
|
includes/admin/upgrades/upgrade-functions.php
CHANGED
@@ -37,16 +37,18 @@ function give_do_automatic_upgrades() {
|
|
37 |
case version_compare( $give_version, '1.6', '<' ) :
|
38 |
give_v16_upgrades();
|
39 |
$did_upgrade = true;
|
40 |
-
break;
|
41 |
|
42 |
case version_compare( $give_version, '1.7', '<' ) :
|
43 |
give_v17_upgrades();
|
44 |
$did_upgrade = true;
|
45 |
-
break;
|
46 |
|
47 |
case version_compare( $give_version, '1.8', '<' ) :
|
48 |
give_v18_upgrades();
|
49 |
$did_upgrade = true;
|
|
|
|
|
|
|
|
|
50 |
}
|
51 |
|
52 |
if ( $did_upgrade ) {
|
@@ -820,3 +822,73 @@ function give_v18_renamed_core_settings() {
|
|
820 |
'enable_tags' => 'tags',
|
821 |
);
|
822 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
case version_compare( $give_version, '1.6', '<' ) :
|
38 |
give_v16_upgrades();
|
39 |
$did_upgrade = true;
|
|
|
40 |
|
41 |
case version_compare( $give_version, '1.7', '<' ) :
|
42 |
give_v17_upgrades();
|
43 |
$did_upgrade = true;
|
|
|
44 |
|
45 |
case version_compare( $give_version, '1.8', '<' ) :
|
46 |
give_v18_upgrades();
|
47 |
$did_upgrade = true;
|
48 |
+
|
49 |
+
case version_compare( $give_version, '1.8.7', '<' ) :
|
50 |
+
give_v187_upgrades();
|
51 |
+
$did_upgrade = true;
|
52 |
}
|
53 |
|
54 |
if ( $did_upgrade ) {
|
822 |
'enable_tags' => 'tags',
|
823 |
);
|
824 |
}
|
825 |
+
|
826 |
+
|
827 |
+
/**
|
828 |
+
* Upgrade core settings.
|
829 |
+
*
|
830 |
+
* @since 1.8.7
|
831 |
+
* @return void
|
832 |
+
*/
|
833 |
+
function give_v187_upgrades(){
|
834 |
+
global $wpdb;
|
835 |
+
|
836 |
+
/**
|
837 |
+
* Upgrade 1: Remove stat and cache transients.
|
838 |
+
*/
|
839 |
+
$cached_options = $wpdb->get_col(
|
840 |
+
$wpdb->prepare(
|
841 |
+
"SELECT * FROM {$wpdb->options} where (option_name LIKE '%%%s%%' OR option_name LIKE '%%%s%%')",
|
842 |
+
array(
|
843 |
+
'_transient_give_stats_',
|
844 |
+
'give_cache',
|
845 |
+
'_transient_give_add_ons_feed',
|
846 |
+
'_transient__give_ajax_works'.
|
847 |
+
'_transient_give_total_api_keys',
|
848 |
+
'_transient_give_i18n_give_promo_hide',
|
849 |
+
'_transient_give_contributors',
|
850 |
+
'_transient_give_estimated_monthly_stats',
|
851 |
+
'_transient_give_earnings_total',
|
852 |
+
'_transient_give_i18n_give_',
|
853 |
+
'_transient__give_installed',
|
854 |
+
'_transient__give_activation_redirect',
|
855 |
+
'_transient__give_hide_license_notices_shortly_',
|
856 |
+
'give_income_total'
|
857 |
+
)
|
858 |
+
),
|
859 |
+
1
|
860 |
+
);
|
861 |
+
|
862 |
+
// User related transients.
|
863 |
+
$user_apikey_options = $wpdb->get_results(
|
864 |
+
$wpdb->prepare(
|
865 |
+
"SELECT user_id, meta_key
|
866 |
+
FROM $wpdb->usermeta
|
867 |
+
WHERE meta_value=%s",
|
868 |
+
'give_user_public_key'
|
869 |
+
),
|
870 |
+
ARRAY_A
|
871 |
+
);
|
872 |
+
|
873 |
+
if( ! empty( $user_apikey_options ) ) {
|
874 |
+
foreach ( $user_apikey_options as $user ) {
|
875 |
+
$cached_options[] = '_transient_' . md5( 'give_api_user_' . $user['meta_key'] );
|
876 |
+
$cached_options[] = '_transient_' . md5( 'give_api_user_public_key' . $user['user_id'] );
|
877 |
+
$cached_options[] = '_transient_' . md5( 'give_api_user_secret_key' . $user['user_id'] );
|
878 |
+
}
|
879 |
+
}
|
880 |
+
|
881 |
+
if ( ! empty( $cached_options ) ) {
|
882 |
+
foreach ( $cached_options as $option ) {
|
883 |
+
switch ( true ) {
|
884 |
+
case ( false !== strpos( $option, 'transient' ) ):
|
885 |
+
$option = str_replace( '_transient_', '', $option );
|
886 |
+
delete_transient( $option );
|
887 |
+
break;
|
888 |
+
|
889 |
+
default:
|
890 |
+
delete_option( $option );
|
891 |
+
}
|
892 |
+
}
|
893 |
+
}
|
894 |
+
}
|
includes/admin/welcome.php
CHANGED
@@ -556,7 +556,7 @@ class Give_Welcome {
|
|
556 |
* @return array $contributors List of contributors
|
557 |
*/
|
558 |
public function get_contributors() {
|
559 |
-
$contributors =
|
560 |
|
561 |
if ( false !== $contributors ) {
|
562 |
return $contributors;
|
@@ -574,7 +574,7 @@ class Give_Welcome {
|
|
574 |
return array();
|
575 |
}
|
576 |
|
577 |
-
|
578 |
|
579 |
return $contributors;
|
580 |
}
|
@@ -592,12 +592,12 @@ class Give_Welcome {
|
|
592 |
$give_options = give_get_settings();
|
593 |
|
594 |
// Bail if no activation redirect
|
595 |
-
if ( !
|
596 |
return;
|
597 |
}
|
598 |
|
599 |
// Delete the redirect transient
|
600 |
-
|
601 |
|
602 |
// Bail if activating from network, or bulk
|
603 |
if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
|
556 |
* @return array $contributors List of contributors
|
557 |
*/
|
558 |
public function get_contributors() {
|
559 |
+
$contributors = Give_Cache::get( 'give_contributors', true );
|
560 |
|
561 |
if ( false !== $contributors ) {
|
562 |
return $contributors;
|
574 |
return array();
|
575 |
}
|
576 |
|
577 |
+
Give_Cache::set( 'give_contributors', $contributors, HOUR_IN_SECONDS, true );
|
578 |
|
579 |
return $contributors;
|
580 |
}
|
592 |
$give_options = give_get_settings();
|
593 |
|
594 |
// Bail if no activation redirect
|
595 |
+
if ( ! Give_Cache::get( '_give_activation_redirect', true ) ) {
|
596 |
return;
|
597 |
}
|
598 |
|
599 |
// Delete the redirect transient
|
600 |
+
Give_Cache::delete( Give_Cache::get_key( '_give_activation_redirect' ) );
|
601 |
|
602 |
// Bail if activating from network, or bulk
|
603 |
if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
|
includes/ajax-functions.php
CHANGED
@@ -45,7 +45,7 @@ function give_test_ajax_works() {
|
|
45 |
|
46 |
add_filter( 'block_local_requests', '__return_false' );
|
47 |
|
48 |
-
if (
|
49 |
return true;
|
50 |
}
|
51 |
|
@@ -85,7 +85,7 @@ function give_test_ajax_works() {
|
|
85 |
}
|
86 |
|
87 |
if ( $works ) {
|
88 |
-
|
89 |
}
|
90 |
|
91 |
return $works;
|
45 |
|
46 |
add_filter( 'block_local_requests', '__return_false' );
|
47 |
|
48 |
+
if ( Give_Cache::get( '_give_ajax_works', true ) ) {
|
49 |
return true;
|
50 |
}
|
51 |
|
85 |
}
|
86 |
|
87 |
if ( $works ) {
|
88 |
+
Give_Cache::set( '_give_ajax_works', '1', DAY_IN_SECONDS, true );
|
89 |
}
|
90 |
|
91 |
return $works;
|
includes/api/class-give-api.php
CHANGED
@@ -361,11 +361,11 @@ class Give_API {
|
|
361 |
return false;
|
362 |
}
|
363 |
|
364 |
-
$user =
|
365 |
|
366 |
if ( false === $user ) {
|
367 |
$user = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s LIMIT 1", $key ) );
|
368 |
-
|
369 |
}
|
370 |
|
371 |
if ( $user != null ) {
|
@@ -385,11 +385,11 @@ class Give_API {
|
|
385 |
}
|
386 |
|
387 |
$cache_key = md5( 'give_api_user_public_key' . $user_id );
|
388 |
-
$user_public_key =
|
389 |
|
390 |
if ( empty( $user_public_key ) ) {
|
391 |
$user_public_key = $wpdb->get_var( $wpdb->prepare( "SELECT meta_key FROM $wpdb->usermeta WHERE meta_value = 'give_user_public_key' AND user_id = %d", $user_id ) );
|
392 |
-
|
393 |
}
|
394 |
|
395 |
return $user_public_key;
|
@@ -403,11 +403,11 @@ class Give_API {
|
|
403 |
}
|
404 |
|
405 |
$cache_key = md5( 'give_api_user_secret_key' . $user_id );
|
406 |
-
$user_secret_key =
|
407 |
|
408 |
if ( empty( $user_secret_key ) ) {
|
409 |
$user_secret_key = $wpdb->get_var( $wpdb->prepare( "SELECT meta_key FROM $wpdb->usermeta WHERE meta_value = 'give_user_secret_key' AND user_id = %d", $user_id ) );
|
410 |
-
|
411 |
}
|
412 |
|
413 |
return $user_secret_key;
|
@@ -1729,7 +1729,7 @@ class Give_API {
|
|
1729 |
switch ( $process ) {
|
1730 |
case 'generate':
|
1731 |
if ( $this->generate_api_key( $user_id ) ) {
|
1732 |
-
|
1733 |
wp_redirect( add_query_arg( 'give-message', 'api-key-generated', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
|
1734 |
exit();
|
1735 |
} else {
|
@@ -1739,13 +1739,13 @@ class Give_API {
|
|
1739 |
break;
|
1740 |
case 'regenerate':
|
1741 |
$this->generate_api_key( $user_id, true );
|
1742 |
-
|
1743 |
wp_redirect( add_query_arg( 'give-message', 'api-key-regenerated', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
|
1744 |
exit();
|
1745 |
break;
|
1746 |
case 'revoke':
|
1747 |
$this->revoke_api_key( $user_id );
|
1748 |
-
|
1749 |
wp_redirect( add_query_arg( 'give-message', 'api-key-revoked', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
|
1750 |
exit();
|
1751 |
break;
|
@@ -1822,9 +1822,9 @@ class Give_API {
|
|
1822 |
$public_key = $this->get_user_public_key( $user_id );
|
1823 |
$secret_key = $this->get_user_secret_key( $user_id );
|
1824 |
if ( ! empty( $public_key ) ) {
|
1825 |
-
|
1826 |
-
|
1827 |
-
|
1828 |
delete_user_meta( $user_id, $public_key );
|
1829 |
delete_user_meta( $user_id, $secret_key );
|
1830 |
} else {
|
361 |
return false;
|
362 |
}
|
363 |
|
364 |
+
$user = Give_Cache::get( md5( 'give_api_user_' . $key ), true );
|
365 |
|
366 |
if ( false === $user ) {
|
367 |
$user = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s LIMIT 1", $key ) );
|
368 |
+
Give_Cache::set( md5( 'give_api_user_' . $key ), $user, DAY_IN_SECONDS, true );
|
369 |
}
|
370 |
|
371 |
if ( $user != null ) {
|
385 |
}
|
386 |
|
387 |
$cache_key = md5( 'give_api_user_public_key' . $user_id );
|
388 |
+
$user_public_key = Give_Cache::get( $cache_key, true );
|
389 |
|
390 |
if ( empty( $user_public_key ) ) {
|
391 |
$user_public_key = $wpdb->get_var( $wpdb->prepare( "SELECT meta_key FROM $wpdb->usermeta WHERE meta_value = 'give_user_public_key' AND user_id = %d", $user_id ) );
|
392 |
+
Give_Cache::set( $cache_key, $user_public_key, HOUR_IN_SECONDS, true );
|
393 |
}
|
394 |
|
395 |
return $user_public_key;
|
403 |
}
|
404 |
|
405 |
$cache_key = md5( 'give_api_user_secret_key' . $user_id );
|
406 |
+
$user_secret_key = Give_Cache::get( $cache_key, true );
|
407 |
|
408 |
if ( empty( $user_secret_key ) ) {
|
409 |
$user_secret_key = $wpdb->get_var( $wpdb->prepare( "SELECT meta_key FROM $wpdb->usermeta WHERE meta_value = 'give_user_secret_key' AND user_id = %d", $user_id ) );
|
410 |
+
Give_Cache::set( $cache_key, $user_secret_key, HOUR_IN_SECONDS, true );
|
411 |
}
|
412 |
|
413 |
return $user_secret_key;
|
1729 |
switch ( $process ) {
|
1730 |
case 'generate':
|
1731 |
if ( $this->generate_api_key( $user_id ) ) {
|
1732 |
+
Give_Cache::delete( Give_Cache::get_key( 'give_total_api_keys' ) );
|
1733 |
wp_redirect( add_query_arg( 'give-message', 'api-key-generated', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
|
1734 |
exit();
|
1735 |
} else {
|
1739 |
break;
|
1740 |
case 'regenerate':
|
1741 |
$this->generate_api_key( $user_id, true );
|
1742 |
+
Give_Cache::delete( Give_Cache::get_key( 'give_total_api_keys' ) );
|
1743 |
wp_redirect( add_query_arg( 'give-message', 'api-key-regenerated', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
|
1744 |
exit();
|
1745 |
break;
|
1746 |
case 'revoke':
|
1747 |
$this->revoke_api_key( $user_id );
|
1748 |
+
Give_Cache::delete( Give_Cache::get_key( 'give_total_api_keys' ) );
|
1749 |
wp_redirect( add_query_arg( 'give-message', 'api-key-revoked', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
|
1750 |
exit();
|
1751 |
break;
|
1822 |
$public_key = $this->get_user_public_key( $user_id );
|
1823 |
$secret_key = $this->get_user_secret_key( $user_id );
|
1824 |
if ( ! empty( $public_key ) ) {
|
1825 |
+
Give_Cache::delete( Give_Cache::get_key( md5( 'give_api_user_' . $public_key ) ) );
|
1826 |
+
Give_Cache::delete( Give_Cache::get_key( md5( 'give_api_user_public_key' . $user_id ) ) );
|
1827 |
+
Give_Cache::delete( Give_Cache::get_key( md5( 'give_api_user_secret_key' . $user_id ) ) );
|
1828 |
delete_user_meta( $user_id, $public_key );
|
1829 |
delete_user_meta( $user_id, $secret_key );
|
1830 |
} else {
|
includes/class-give-cache.php
ADDED
@@ -0,0 +1,324 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Class for managing cache
|
4 |
+
*
|
5 |
+
* @package Give
|
6 |
+
* @subpackage Classes/Give_Cache
|
7 |
+
* @copyright Copyright (c) 2017, WordImpress
|
8 |
+
* @license https://opensource.org/licenses/gpl-license GNU Public License
|
9 |
+
* @since 1.8.7
|
10 |
+
*/
|
11 |
+
|
12 |
+
// Exit if accessed directly.
|
13 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
+
exit;
|
15 |
+
}
|
16 |
+
|
17 |
+
class Give_Cache {
|
18 |
+
/**
|
19 |
+
* Instance.
|
20 |
+
*
|
21 |
+
* @since 1.8.7
|
22 |
+
* @access static
|
23 |
+
* @var
|
24 |
+
*/
|
25 |
+
static private $instance;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Singleton pattern.
|
29 |
+
*
|
30 |
+
* @since 1.8.7
|
31 |
+
* @access private
|
32 |
+
* Give_Cache constructor.
|
33 |
+
*/
|
34 |
+
private function __construct() {
|
35 |
+
}
|
36 |
+
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Get instance.
|
40 |
+
*
|
41 |
+
* @since 1.8.7
|
42 |
+
* @access public
|
43 |
+
* @return static
|
44 |
+
*/
|
45 |
+
public static function get_instance() {
|
46 |
+
if ( null === static::$instance ) {
|
47 |
+
self::$instance = new static();
|
48 |
+
}
|
49 |
+
|
50 |
+
return self::$instance;
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Setup hooks.
|
55 |
+
*
|
56 |
+
* @since 1.8.7
|
57 |
+
* @access public
|
58 |
+
*/
|
59 |
+
public function setup_hooks() {
|
60 |
+
// weekly delete all expired cache.
|
61 |
+
add_action( 'give_weekly_scheduled_events', array( $this, 'delete_all_expired' ) );
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Get cache key.
|
66 |
+
*
|
67 |
+
* @since 1.8.7
|
68 |
+
*
|
69 |
+
* @param string $action Cache key prefix.
|
70 |
+
* @param array $query_args (optional) Query array.
|
71 |
+
*
|
72 |
+
* @return string
|
73 |
+
*/
|
74 |
+
|
75 |
+
public static function get_key( $action, $query_args = null ) {
|
76 |
+
$cache_key = "give_cache_{$action}";
|
77 |
+
|
78 |
+
// Bailout.
|
79 |
+
if ( ! empty( $query_args ) ) {
|
80 |
+
$cache_key = "{$cache_key}_" . substr( md5( serialize( $query_args ) ), 0, 15 );
|
81 |
+
}
|
82 |
+
|
83 |
+
return $cache_key;
|
84 |
+
}
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Get cache.
|
88 |
+
*
|
89 |
+
* @since 1.8.7
|
90 |
+
*
|
91 |
+
* @param string $cache_key
|
92 |
+
* @param bool $custom_key
|
93 |
+
* @param mixed $query_args
|
94 |
+
*
|
95 |
+
* @return mixed
|
96 |
+
*/
|
97 |
+
|
98 |
+
public static function get( $cache_key, $custom_key = false, $query_args = array() ) {
|
99 |
+
if ( ! self::is_valid_cache_key( $cache_key ) ) {
|
100 |
+
if ( ! $custom_key ) {
|
101 |
+
return new WP_Error( 'give_invalid_cache_key', __( 'Cache key format should be give_cache_*', 'give' ) );
|
102 |
+
}
|
103 |
+
|
104 |
+
$cache_key = self::get_key( $cache_key, $query_args );
|
105 |
+
}
|
106 |
+
|
107 |
+
$option = get_option( $cache_key );
|
108 |
+
|
109 |
+
// Backward compatibility (<1.8.7).
|
110 |
+
if ( ! is_array( $option ) || empty( $option ) || ! array_key_exists( 'expiration', $option ) ) {
|
111 |
+
return $option;
|
112 |
+
}
|
113 |
+
|
114 |
+
// Get current time.
|
115 |
+
$current_time = current_time( 'timestamp', 1 );
|
116 |
+
|
117 |
+
if ( empty( $option['expiration'] ) || ( $current_time < $option['expiration'] ) ) {
|
118 |
+
$option = $option['data'];
|
119 |
+
} else {
|
120 |
+
$option = false;
|
121 |
+
}
|
122 |
+
|
123 |
+
return $option;
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Set cache.
|
128 |
+
*
|
129 |
+
* @since 1.8.7
|
130 |
+
*
|
131 |
+
* @param string $cache_key
|
132 |
+
* @param mixed $data
|
133 |
+
* @param int|null $expiration Timestamp should be in GMT format.
|
134 |
+
* @param bool $custom_key
|
135 |
+
* @param mixed $query_args
|
136 |
+
*
|
137 |
+
* @return mixed
|
138 |
+
*/
|
139 |
+
|
140 |
+
public static function set( $cache_key, $data, $expiration = null, $custom_key = false, $query_args = array() ) {
|
141 |
+
if ( ! self::is_valid_cache_key( $cache_key ) ) {
|
142 |
+
if ( ! $custom_key ) {
|
143 |
+
return new WP_Error( 'give_invalid_cache_key', __( 'Cache key format should be give_cache_*', 'give' ) );
|
144 |
+
}
|
145 |
+
|
146 |
+
$cache_key = self::get_key( $cache_key, $query_args );
|
147 |
+
}
|
148 |
+
|
149 |
+
$option_value = array(
|
150 |
+
'data' => $data,
|
151 |
+
'expiration' => ! is_null( $expiration )
|
152 |
+
? ( $expiration + current_time( 'timestamp', 1 ) )
|
153 |
+
: null,
|
154 |
+
);
|
155 |
+
|
156 |
+
$result = add_option( $cache_key, $option_value, '', 'no' );
|
157 |
+
|
158 |
+
return $result;
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Delete cache.
|
163 |
+
*
|
164 |
+
* @since 1.8.7
|
165 |
+
*
|
166 |
+
* @param string|array $cache_keys
|
167 |
+
*
|
168 |
+
* @return bool|WP_Error
|
169 |
+
*/
|
170 |
+
|
171 |
+
public static function delete( $cache_keys ) {
|
172 |
+
$result = true;
|
173 |
+
$invalid_keys = array();
|
174 |
+
|
175 |
+
if ( ! empty( $cache_keys ) ) {
|
176 |
+
$cache_keys = is_array( $cache_keys ) ? $cache_keys : array( $cache_keys );
|
177 |
+
|
178 |
+
foreach ( $cache_keys as $cache_key ) {
|
179 |
+
if ( ! self::is_valid_cache_key( $cache_key ) ) {
|
180 |
+
$invalid_keys[] = $cache_key;
|
181 |
+
$result = false;
|
182 |
+
}
|
183 |
+
|
184 |
+
delete_option( $cache_key );
|
185 |
+
}
|
186 |
+
}
|
187 |
+
|
188 |
+
if( ! $result ) {
|
189 |
+
$result = new WP_Error(
|
190 |
+
'give_invalid_cache_key',
|
191 |
+
__( 'Cache key format should be give_cache_*', 'give' ),
|
192 |
+
$invalid_keys
|
193 |
+
);
|
194 |
+
}
|
195 |
+
|
196 |
+
return $result;
|
197 |
+
}
|
198 |
+
|
199 |
+
/**
|
200 |
+
* Delete all logging cache.
|
201 |
+
*
|
202 |
+
* @since 1.8.7
|
203 |
+
* @access public
|
204 |
+
* @global wpdb $wpdb
|
205 |
+
*
|
206 |
+
* @param bool $force If set to true then all cached values will be delete instead of only expired
|
207 |
+
*
|
208 |
+
* @return bool
|
209 |
+
*/
|
210 |
+
public static function delete_all_expired( $force = false ) {
|
211 |
+
global $wpdb;
|
212 |
+
$options = $wpdb->get_results(
|
213 |
+
$wpdb->prepare(
|
214 |
+
"SELECT option_name, option_value
|
215 |
+
FROM {$wpdb->options}
|
216 |
+
Where option_name
|
217 |
+
LIKE '%%%s%%'",
|
218 |
+
'give_cache'
|
219 |
+
),
|
220 |
+
ARRAY_A
|
221 |
+
);
|
222 |
+
|
223 |
+
// Bailout.
|
224 |
+
if ( empty( $options ) ) {
|
225 |
+
return false;
|
226 |
+
}
|
227 |
+
|
228 |
+
$current_time = current_time( 'timestamp', 1 );
|
229 |
+
|
230 |
+
// Delete log cache.
|
231 |
+
foreach ( $options as $option ) {
|
232 |
+
$option['option_value'] = maybe_unserialize( $option['option_value'] );
|
233 |
+
|
234 |
+
if (
|
235 |
+
(
|
236 |
+
! self::is_valid_cache_key( $option['option_name'] )
|
237 |
+
|| ! is_array( $option['option_value'] ) // Backward compatibility (<1.8.7).
|
238 |
+
|| ! array_key_exists( 'expiration', $option['option_value'] ) // Backward compatibility (<1.8.7).
|
239 |
+
|| empty( $option['option_value']['expiration'] )
|
240 |
+
|| ( $current_time < $option['option_value']['expiration'] )
|
241 |
+
)
|
242 |
+
&& ! $force
|
243 |
+
) {
|
244 |
+
continue;
|
245 |
+
}
|
246 |
+
|
247 |
+
self::delete( $option['option_name'] );
|
248 |
+
}
|
249 |
+
}
|
250 |
+
|
251 |
+
|
252 |
+
/**
|
253 |
+
* Get list of options like.
|
254 |
+
*
|
255 |
+
* @since 1.8.7
|
256 |
+
* @access public
|
257 |
+
*
|
258 |
+
* @param string $option_name
|
259 |
+
* @param bool $fields
|
260 |
+
*
|
261 |
+
* @return array
|
262 |
+
*/
|
263 |
+
public static function get_options_like( $option_name, $fields = false ) {
|
264 |
+
global $wpdb;
|
265 |
+
|
266 |
+
if ( empty( $option_name ) ) {
|
267 |
+
return array();
|
268 |
+
}
|
269 |
+
|
270 |
+
$field_names = $fields ? 'option_name, option_value' : 'option_name';
|
271 |
+
|
272 |
+
if ( $fields ) {
|
273 |
+
$options = $wpdb->get_results(
|
274 |
+
$wpdb->prepare(
|
275 |
+
"SELECT {$field_names }
|
276 |
+
FROM {$wpdb->options}
|
277 |
+
Where option_name
|
278 |
+
LIKE '%%%s%%'",
|
279 |
+
"give_cache_{$option_name}"
|
280 |
+
),
|
281 |
+
ARRAY_A
|
282 |
+
);
|
283 |
+
} else {
|
284 |
+
$options = $wpdb->get_col(
|
285 |
+
$wpdb->prepare(
|
286 |
+
"SELECT *
|
287 |
+
FROM {$wpdb->options}
|
288 |
+
Where option_name
|
289 |
+
LIKE '%%%s%%'",
|
290 |
+
"give_cache_{$option_name}"
|
291 |
+
),
|
292 |
+
1
|
293 |
+
);
|
294 |
+
}
|
295 |
+
|
296 |
+
if ( ! empty( $options ) && $fields ) {
|
297 |
+
foreach ( $options as $index => $option ) {
|
298 |
+
$option['option_value'] = maybe_unserialize( $option['option_value'] );
|
299 |
+
$options[ $index ] = $option;
|
300 |
+
}
|
301 |
+
}
|
302 |
+
|
303 |
+
return $options;
|
304 |
+
}
|
305 |
+
|
306 |
+
/**
|
307 |
+
* Check cache key validity.
|
308 |
+
*
|
309 |
+
* @since 1.8.7
|
310 |
+
* @access public
|
311 |
+
*
|
312 |
+
* @param $cache_key
|
313 |
+
*
|
314 |
+
* @return bool|int
|
315 |
+
*/
|
316 |
+
public static function is_valid_cache_key( $cache_key ) {
|
317 |
+
return ( false !== strpos( $cache_key, 'give_cache_' ) );
|
318 |
+
}
|
319 |
+
}
|
320 |
+
|
321 |
+
// Initialize
|
322 |
+
Give_Cache::get_instance()->setup_hooks();
|
323 |
+
|
324 |
+
// @todo implement this with all possible cache
|
includes/class-give-customer.php
CHANGED
@@ -99,7 +99,7 @@ class Give_Customer {
|
|
99 |
* @since 1.0
|
100 |
* @access public
|
101 |
*
|
102 |
-
* @var
|
103 |
*/
|
104 |
public $payment_ids;
|
105 |
|
@@ -141,14 +141,17 @@ class Give_Customer {
|
|
141 |
* @since 1.0
|
142 |
* @access public
|
143 |
*
|
144 |
-
* @param bool $_id_or_email
|
145 |
* @param bool $by_user_id
|
146 |
*/
|
147 |
public function __construct( $_id_or_email = false, $by_user_id = false ) {
|
148 |
|
149 |
$this->db = new Give_DB_Customers;
|
150 |
|
151 |
-
if (
|
|
|
|
|
|
|
152 |
return false;
|
153 |
}
|
154 |
|
@@ -201,11 +204,10 @@ class Give_Customer {
|
|
201 |
break;
|
202 |
|
203 |
}
|
204 |
-
|
205 |
}
|
206 |
|
207 |
// Get donor's all email including primary email.
|
208 |
-
$this->emails
|
209 |
$this->emails = array( 'primary' => $this->email ) + $this->emails;
|
210 |
|
211 |
// Customer ID and email are the only things that are necessary, make sure they exist.
|
@@ -255,7 +257,7 @@ class Give_Customer {
|
|
255 |
}
|
256 |
|
257 |
$defaults = array(
|
258 |
-
'payment_ids' => ''
|
259 |
);
|
260 |
|
261 |
$args = wp_parse_args( $data, $defaults );
|
@@ -299,7 +301,7 @@ class Give_Customer {
|
|
299 |
*
|
300 |
* @param bool|int $created False if not a valid creation,
|
301 |
* customer ID if user is found or valid creation.
|
302 |
-
* @param array
|
303 |
*/
|
304 |
do_action( 'give_customer_post_create', $created, $args );
|
305 |
|
@@ -330,8 +332,8 @@ class Give_Customer {
|
|
330 |
*
|
331 |
* @since 1.0
|
332 |
*
|
333 |
-
* @param int
|
334 |
-
* @param array $data
|
335 |
*/
|
336 |
do_action( 'give_customer_pre_update', $this->id, $data );
|
337 |
|
@@ -350,9 +352,9 @@ class Give_Customer {
|
|
350 |
*
|
351 |
* @since 1.0
|
352 |
*
|
353 |
-
* @param bool
|
354 |
-
* @param int
|
355 |
-
* @param array $data
|
356 |
*/
|
357 |
do_action( 'give_customer_post_update', $updated, $this->id, $data );
|
358 |
|
@@ -367,7 +369,7 @@ class Give_Customer {
|
|
367 |
* @since 1.0
|
368 |
* @access public
|
369 |
*
|
370 |
-
* @param int
|
371 |
* @param bool $update_stats For backwards compatibility, if we should increase the stats or not.
|
372 |
*
|
373 |
* @return bool If the attachment was successfuly.
|
@@ -401,7 +403,7 @@ class Give_Customer {
|
|
401 |
*
|
402 |
* @since 1.0
|
403 |
*
|
404 |
-
* @param int $payment_id
|
405 |
* @param int $customer_id Customer id.
|
406 |
*/
|
407 |
do_action( 'give_customer_pre_attach_payment', $payment_id, $this->id );
|
@@ -422,7 +424,6 @@ class Give_Customer {
|
|
422 |
|
423 |
$this->increase_purchase_count();
|
424 |
}
|
425 |
-
|
426 |
}
|
427 |
|
428 |
/**
|
@@ -431,8 +432,8 @@ class Give_Customer {
|
|
431 |
* @since 1.0
|
432 |
*
|
433 |
* @param bool $payment_added If the attachment was successfuly.
|
434 |
-
* @param int
|
435 |
-
* @param int
|
436 |
*/
|
437 |
do_action( 'give_customer_post_attach_payment', $payment_added, $payment_id, $this->id );
|
438 |
|
@@ -447,7 +448,7 @@ class Give_Customer {
|
|
447 |
* @since 1.0
|
448 |
* @access public
|
449 |
*
|
450 |
-
* @param int
|
451 |
* @param bool $update_stats For backwards compatibility, if we should increase the stats or not.
|
452 |
*
|
453 |
* @return boolean If the removal was successful.
|
@@ -487,7 +488,7 @@ class Give_Customer {
|
|
487 |
*
|
488 |
* @since 1.0
|
489 |
*
|
490 |
-
* @param int $payment_id
|
491 |
* @param int $customer_id Customer id.
|
492 |
*/
|
493 |
do_action( 'give_customer_pre_remove_payment', $payment_id, $this->id );
|
@@ -508,7 +509,6 @@ class Give_Customer {
|
|
508 |
|
509 |
$this->decrease_purchase_count();
|
510 |
}
|
511 |
-
|
512 |
}
|
513 |
|
514 |
/**
|
@@ -517,8 +517,8 @@ class Give_Customer {
|
|
517 |
* @since 1.0
|
518 |
*
|
519 |
* @param bool $payment_removed If the removal was successfuly.
|
520 |
-
* @param int
|
521 |
-
* @param int
|
522 |
*/
|
523 |
do_action( 'give_customer_post_remove_payment', $payment_removed, $payment_id, $this->id );
|
524 |
|
@@ -550,7 +550,7 @@ class Give_Customer {
|
|
550 |
*
|
551 |
* @since 1.0
|
552 |
*
|
553 |
-
* @param int $count
|
554 |
* @param int $customer_id Customer id.
|
555 |
*/
|
556 |
do_action( 'give_customer_pre_increase_purchase_count', $count, $this->id );
|
@@ -565,8 +565,8 @@ class Give_Customer {
|
|
565 |
* @since 1.0
|
566 |
*
|
567 |
* @param int $purchase_count Customer donation count.
|
568 |
-
* @param int $count
|
569 |
-
* @param int $customer_id
|
570 |
*/
|
571 |
do_action( 'give_customer_post_increase_purchase_count', $this->purchase_count, $count, $this->id );
|
572 |
|
@@ -601,7 +601,7 @@ class Give_Customer {
|
|
601 |
*
|
602 |
* @since 1.0
|
603 |
*
|
604 |
-
* @param int $count
|
605 |
* @param int $customer_id Customer id.
|
606 |
*/
|
607 |
do_action( 'give_customer_pre_decrease_purchase_count', $count, $this->id );
|
@@ -616,8 +616,8 @@ class Give_Customer {
|
|
616 |
* @since 1.0
|
617 |
*
|
618 |
* @param int $purchase_count Customer donation count.
|
619 |
-
* @param int $count
|
620 |
-
* @param int $customer_id
|
621 |
*/
|
622 |
do_action( 'give_customer_post_decrease_purchase_count', $this->purchase_count, $count, $this->id );
|
623 |
|
@@ -643,8 +643,8 @@ class Give_Customer {
|
|
643 |
*
|
644 |
* @since 1.0
|
645 |
*
|
646 |
-
* @param float $value
|
647 |
-
* @param int
|
648 |
*/
|
649 |
do_action( 'give_customer_pre_increase_value', $value, $this->id );
|
650 |
|
@@ -658,8 +658,8 @@ class Give_Customer {
|
|
658 |
* @since 1.0
|
659 |
*
|
660 |
* @param float $purchase_value Customer lifetime value.
|
661 |
-
* @param float $value
|
662 |
-
* @param int
|
663 |
*/
|
664 |
do_action( 'give_customer_post_increase_value', $this->purchase_value, $value, $this->id );
|
665 |
|
@@ -689,8 +689,8 @@ class Give_Customer {
|
|
689 |
*
|
690 |
* @since 1.0
|
691 |
*
|
692 |
-
* @param float $value
|
693 |
-
* @param int
|
694 |
*/
|
695 |
do_action( 'give_customer_pre_decrease_value', $value, $this->id );
|
696 |
|
@@ -704,8 +704,8 @@ class Give_Customer {
|
|
704 |
* @since 1.0
|
705 |
*
|
706 |
* @param float $purchase_value Customer lifetime value.
|
707 |
-
* @param float $value
|
708 |
-
* @param int
|
709 |
*/
|
710 |
do_action( 'give_customer_post_decrease_value', $this->purchase_value, $value, $this->id );
|
711 |
|
@@ -714,51 +714,50 @@ class Give_Customer {
|
|
714 |
|
715 |
/**
|
716 |
* Decrease/Increase a customer's lifetime value.
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
* @since 1.0
|
722 |
-
|
723 |
*
|
724 |
* @param float $curr_amount Current Donation amount.
|
725 |
-
* @param float $new_amount
|
726 |
*
|
727 |
* @return mixed If successful, the new donation stat value, otherwise false.
|
728 |
*/
|
729 |
public function update_donation_value( $curr_amount, $new_amount ) {
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
return $this->purchase_value;
|
752 |
}
|
753 |
|
754 |
/**
|
755 |
* Get the parsed notes for a customer as an array.
|
756 |
*
|
757 |
* @since 1.0
|
758 |
-
|
759 |
*
|
760 |
* @param int $length The number of notes to get.
|
761 |
-
* @param int $paged
|
762 |
*
|
763 |
* @return array The notes requested.
|
764 |
*/
|
@@ -780,7 +779,7 @@ class Give_Customer {
|
|
780 |
* Get the total number of notes we have after parsing.
|
781 |
*
|
782 |
* @since 1.0
|
783 |
-
|
784 |
*
|
785 |
* @return int The number of notes for the customer.
|
786 |
*/
|
@@ -797,9 +796,9 @@ class Give_Customer {
|
|
797 |
* Add a note for the customer.
|
798 |
*
|
799 |
* @since 1.0
|
800 |
-
|
801 |
*
|
802 |
-
* @param string $note
|
803 |
*
|
804 |
* @return string|boolean The new note if added successfully, false otherwise.
|
805 |
*/
|
@@ -818,15 +817,15 @@ class Give_Customer {
|
|
818 |
|
819 |
$note_string = date_i18n( 'F j, Y H:i:s', current_time( 'timestamp' ) ) . ' - ' . $note;
|
820 |
$new_note = apply_filters( 'give_customer_add_note_string', $note_string );
|
821 |
-
$notes
|
822 |
|
823 |
/**
|
824 |
* Fires before customer note added.
|
825 |
*
|
826 |
* @since 1.0
|
827 |
*
|
828 |
-
* @param string $new_note
|
829 |
-
* @param int
|
830 |
*/
|
831 |
do_action( 'give_customer_pre_add_note', $new_note, $this->id );
|
832 |
|
@@ -841,9 +840,9 @@ class Give_Customer {
|
|
841 |
*
|
842 |
* @since 1.0
|
843 |
*
|
844 |
-
* @param array
|
845 |
-
* @param string $new_note
|
846 |
-
* @param int
|
847 |
*/
|
848 |
do_action( 'give_customer_post_add_note', $this->notes, $new_note, $this->id );
|
849 |
|
@@ -856,7 +855,7 @@ class Give_Customer {
|
|
856 |
* Get the notes column for the customer
|
857 |
*
|
858 |
* @since 1.0
|
859 |
-
|
860 |
*
|
861 |
* @return string The Notes for the customer, non-parsed.
|
862 |
*/
|
@@ -875,7 +874,7 @@ class Give_Customer {
|
|
875 |
* @access public
|
876 |
*
|
877 |
* @param string $meta_key The meta key to retrieve. Default is empty.
|
878 |
-
* @param bool
|
879 |
*
|
880 |
* @return mixed Will be an array if $single is false. Will be value of meta data field if $single is true.
|
881 |
*/
|
@@ -889,9 +888,9 @@ class Give_Customer {
|
|
889 |
* @since 1.6
|
890 |
* @access public
|
891 |
*
|
892 |
-
* @param string $meta_key
|
893 |
-
* @param mixed
|
894 |
-
* @param bool
|
895 |
*
|
896 |
* @return bool False for failure. True for success.
|
897 |
*/
|
@@ -905,9 +904,9 @@ class Give_Customer {
|
|
905 |
* @since 1.6
|
906 |
* @access public
|
907 |
*
|
908 |
-
* @param string $meta_key
|
909 |
-
* @param mixed
|
910 |
-
* @param mixed
|
911 |
*
|
912 |
* @return bool False on failure, true if success.
|
913 |
*/
|
@@ -921,8 +920,8 @@ class Give_Customer {
|
|
921 |
* @since 1.6
|
922 |
* @access public
|
923 |
*
|
924 |
-
* @param string $meta_key
|
925 |
-
* @param mixed
|
926 |
*
|
927 |
* @return bool False for failure. True for success.
|
928 |
*/
|
@@ -934,7 +933,7 @@ class Give_Customer {
|
|
934 |
* Sanitize the data for update/create
|
935 |
*
|
936 |
* @since 1.0
|
937 |
-
|
938 |
*
|
939 |
* @param array $data The data to sanitize.
|
940 |
*
|
@@ -988,7 +987,6 @@ class Give_Customer {
|
|
988 |
break;
|
989 |
|
990 |
}
|
991 |
-
|
992 |
}
|
993 |
|
994 |
return $data;
|
@@ -1000,18 +998,18 @@ class Give_Customer {
|
|
1000 |
* @since 1.7
|
1001 |
* @access public
|
1002 |
*
|
1003 |
-
* @param string $email
|
1004 |
-
* @param bool
|
1005 |
*
|
1006 |
* @return bool If the email was added successfully
|
1007 |
*/
|
1008 |
public function add_email( $email = '', $primary = false ) {
|
1009 |
-
if( ! is_email( $email ) ) {
|
1010 |
return false;
|
1011 |
}
|
1012 |
$existing = new Give_Customer( $email );
|
1013 |
|
1014 |
-
if( $existing->id > 0 ) {
|
1015 |
// Email address already belongs to another customer
|
1016 |
return false;
|
1017 |
}
|
@@ -1048,7 +1046,7 @@ class Give_Customer {
|
|
1048 |
* @return bool If the email was removed successfully
|
1049 |
*/
|
1050 |
public function remove_email( $email = '' ) {
|
1051 |
-
if( ! is_email( $email ) ) {
|
1052 |
return false;
|
1053 |
}
|
1054 |
|
@@ -1074,7 +1072,7 @@ class Give_Customer {
|
|
1074 |
* @return bool If the email was set as primary successfully
|
1075 |
*/
|
1076 |
public function set_primary_email( $new_primary_email = '' ) {
|
1077 |
-
if( ! is_email( $new_primary_email ) ) {
|
1078 |
return false;
|
1079 |
}
|
1080 |
|
@@ -1082,7 +1080,7 @@ class Give_Customer {
|
|
1082 |
|
1083 |
$existing = new Give_Customer( $new_primary_email );
|
1084 |
|
1085 |
-
if( $existing->id > 0 && (int) $existing->id !== (int) $this->id ) {
|
1086 |
// This email belongs to another customer
|
1087 |
return false;
|
1088 |
}
|
@@ -1100,7 +1098,7 @@ class Give_Customer {
|
|
1100 |
|
1101 |
$ret = $update && $remove && $add;
|
1102 |
|
1103 |
-
if( $ret ) {
|
1104 |
$this->email = $new_primary_email;
|
1105 |
}
|
1106 |
|
99 |
* @since 1.0
|
100 |
* @access public
|
101 |
*
|
102 |
+
* @var string
|
103 |
*/
|
104 |
public $payment_ids;
|
105 |
|
141 |
* @since 1.0
|
142 |
* @access public
|
143 |
*
|
144 |
+
* @param bool $_id_or_email
|
145 |
* @param bool $by_user_id
|
146 |
*/
|
147 |
public function __construct( $_id_or_email = false, $by_user_id = false ) {
|
148 |
|
149 |
$this->db = new Give_DB_Customers;
|
150 |
|
151 |
+
if (
|
152 |
+
false === $_id_or_email
|
153 |
+
|| ( is_numeric( $_id_or_email ) && (int) $_id_or_email !== absint( $_id_or_email ) )
|
154 |
+
) {
|
155 |
return false;
|
156 |
}
|
157 |
|
204 |
break;
|
205 |
|
206 |
}
|
|
|
207 |
}
|
208 |
|
209 |
// Get donor's all email including primary email.
|
210 |
+
$this->emails = (array) $this->get_meta( 'additional_email', false );
|
211 |
$this->emails = array( 'primary' => $this->email ) + $this->emails;
|
212 |
|
213 |
// Customer ID and email are the only things that are necessary, make sure they exist.
|
257 |
}
|
258 |
|
259 |
$defaults = array(
|
260 |
+
'payment_ids' => '',
|
261 |
);
|
262 |
|
263 |
$args = wp_parse_args( $data, $defaults );
|
301 |
*
|
302 |
* @param bool|int $created False if not a valid creation,
|
303 |
* customer ID if user is found or valid creation.
|
304 |
+
* @param array $args Customer attributes.
|
305 |
*/
|
306 |
do_action( 'give_customer_post_create', $created, $args );
|
307 |
|
332 |
*
|
333 |
* @since 1.0
|
334 |
*
|
335 |
+
* @param int $customer_id Customer id.
|
336 |
+
* @param array $data Customer attributes.
|
337 |
*/
|
338 |
do_action( 'give_customer_pre_update', $this->id, $data );
|
339 |
|
352 |
*
|
353 |
* @since 1.0
|
354 |
*
|
355 |
+
* @param bool $updated If the update was successful or not.
|
356 |
+
* @param int $customer_id Customer id.
|
357 |
+
* @param array $data Customer attributes.
|
358 |
*/
|
359 |
do_action( 'give_customer_post_update', $updated, $this->id, $data );
|
360 |
|
369 |
* @since 1.0
|
370 |
* @access public
|
371 |
*
|
372 |
+
* @param int $payment_id The payment ID to attach to the customer.
|
373 |
* @param bool $update_stats For backwards compatibility, if we should increase the stats or not.
|
374 |
*
|
375 |
* @return bool If the attachment was successfuly.
|
403 |
*
|
404 |
* @since 1.0
|
405 |
*
|
406 |
+
* @param int $payment_id Payment id.
|
407 |
* @param int $customer_id Customer id.
|
408 |
*/
|
409 |
do_action( 'give_customer_pre_attach_payment', $payment_id, $this->id );
|
424 |
|
425 |
$this->increase_purchase_count();
|
426 |
}
|
|
|
427 |
}
|
428 |
|
429 |
/**
|
432 |
* @since 1.0
|
433 |
*
|
434 |
* @param bool $payment_added If the attachment was successfuly.
|
435 |
+
* @param int $payment_id Payment id.
|
436 |
+
* @param int $customer_id Customer id.
|
437 |
*/
|
438 |
do_action( 'give_customer_post_attach_payment', $payment_added, $payment_id, $this->id );
|
439 |
|
448 |
* @since 1.0
|
449 |
* @access public
|
450 |
*
|
451 |
+
* @param int $payment_id The Payment ID to remove.
|
452 |
* @param bool $update_stats For backwards compatibility, if we should increase the stats or not.
|
453 |
*
|
454 |
* @return boolean If the removal was successful.
|
488 |
*
|
489 |
* @since 1.0
|
490 |
*
|
491 |
+
* @param int $payment_id Payment id.
|
492 |
* @param int $customer_id Customer id.
|
493 |
*/
|
494 |
do_action( 'give_customer_pre_remove_payment', $payment_id, $this->id );
|
509 |
|
510 |
$this->decrease_purchase_count();
|
511 |
}
|
|
|
512 |
}
|
513 |
|
514 |
/**
|
517 |
* @since 1.0
|
518 |
*
|
519 |
* @param bool $payment_removed If the removal was successfuly.
|
520 |
+
* @param int $payment_id Payment id.
|
521 |
+
* @param int $customer_id Customer id.
|
522 |
*/
|
523 |
do_action( 'give_customer_post_remove_payment', $payment_removed, $payment_id, $this->id );
|
524 |
|
550 |
*
|
551 |
* @since 1.0
|
552 |
*
|
553 |
+
* @param int $count The number to increase by.
|
554 |
* @param int $customer_id Customer id.
|
555 |
*/
|
556 |
do_action( 'give_customer_pre_increase_purchase_count', $count, $this->id );
|
565 |
* @since 1.0
|
566 |
*
|
567 |
* @param int $purchase_count Customer donation count.
|
568 |
+
* @param int $count The number increased by.
|
569 |
+
* @param int $customer_id Customer id.
|
570 |
*/
|
571 |
do_action( 'give_customer_post_increase_purchase_count', $this->purchase_count, $count, $this->id );
|
572 |
|
601 |
*
|
602 |
* @since 1.0
|
603 |
*
|
604 |
+
* @param int $count The number to decrease by.
|
605 |
* @param int $customer_id Customer id.
|
606 |
*/
|
607 |
do_action( 'give_customer_pre_decrease_purchase_count', $count, $this->id );
|
616 |
* @since 1.0
|
617 |
*
|
618 |
* @param int $purchase_count Customer donation count.
|
619 |
+
* @param int $count The number decreased by.
|
620 |
+
* @param int $customer_id Customer id.
|
621 |
*/
|
622 |
do_action( 'give_customer_post_decrease_purchase_count', $this->purchase_count, $count, $this->id );
|
623 |
|
643 |
*
|
644 |
* @since 1.0
|
645 |
*
|
646 |
+
* @param float $value The value to increase by.
|
647 |
+
* @param int $customer_id Customer id.
|
648 |
*/
|
649 |
do_action( 'give_customer_pre_increase_value', $value, $this->id );
|
650 |
|
658 |
* @since 1.0
|
659 |
*
|
660 |
* @param float $purchase_value Customer lifetime value.
|
661 |
+
* @param float $value The value increased by.
|
662 |
+
* @param int $customer_id Customer id.
|
663 |
*/
|
664 |
do_action( 'give_customer_post_increase_value', $this->purchase_value, $value, $this->id );
|
665 |
|
689 |
*
|
690 |
* @since 1.0
|
691 |
*
|
692 |
+
* @param float $value The value to decrease by.
|
693 |
+
* @param int $customer_id Customer id.
|
694 |
*/
|
695 |
do_action( 'give_customer_pre_decrease_value', $value, $this->id );
|
696 |
|
704 |
* @since 1.0
|
705 |
*
|
706 |
* @param float $purchase_value Customer lifetime value.
|
707 |
+
* @param float $value The value decreased by.
|
708 |
+
* @param int $customer_id Customer id.
|
709 |
*/
|
710 |
do_action( 'give_customer_post_decrease_value', $this->purchase_value, $value, $this->id );
|
711 |
|
714 |
|
715 |
/**
|
716 |
* Decrease/Increase a customer's lifetime value.
|
717 |
+
*
|
718 |
+
* This function will update donation stat on basis of current amount and new amount donation difference.
|
719 |
+
* Difference value can positive or negative. Negative value will decrease user donation stat while positive value increase donation stat.
|
720 |
+
*
|
721 |
* @since 1.0
|
722 |
+
* @access public
|
723 |
*
|
724 |
* @param float $curr_amount Current Donation amount.
|
725 |
+
* @param float $new_amount New (changed) Donation amount.
|
726 |
*
|
727 |
* @return mixed If successful, the new donation stat value, otherwise false.
|
728 |
*/
|
729 |
public function update_donation_value( $curr_amount, $new_amount ) {
|
730 |
+
/**
|
731 |
+
* Payment total difference value can be:
|
732 |
+
* zero (in case amount not change)
|
733 |
+
* or -ve (in case amount decrease)
|
734 |
+
* or +ve (in case amount increase)
|
735 |
+
*/
|
736 |
+
$payment_total_diff = $new_amount - $curr_amount;
|
737 |
+
|
738 |
+
// We do not need to update donation stat if donation did not change.
|
739 |
+
if ( ! $payment_total_diff ) {
|
740 |
+
return false;
|
741 |
+
}
|
742 |
+
|
743 |
+
if ( $payment_total_diff > 0 ) {
|
744 |
+
$this->increase_value( $payment_total_diff );
|
745 |
+
} else {
|
746 |
+
// Pass payment total difference as +ve value to decrease amount from user lifetime stat.
|
747 |
+
$this->decrease_value( - $payment_total_diff );
|
748 |
+
}
|
749 |
+
|
750 |
+
return $this->purchase_value;
|
|
|
751 |
}
|
752 |
|
753 |
/**
|
754 |
* Get the parsed notes for a customer as an array.
|
755 |
*
|
756 |
* @since 1.0
|
757 |
+
* @access public
|
758 |
*
|
759 |
* @param int $length The number of notes to get.
|
760 |
+
* @param int $paged What note to start at.
|
761 |
*
|
762 |
* @return array The notes requested.
|
763 |
*/
|
779 |
* Get the total number of notes we have after parsing.
|
780 |
*
|
781 |
* @since 1.0
|
782 |
+
* @access public
|
783 |
*
|
784 |
* @return int The number of notes for the customer.
|
785 |
*/
|
796 |
* Add a note for the customer.
|
797 |
*
|
798 |
* @since 1.0
|
799 |
+
* @access public
|
800 |
*
|
801 |
+
* @param string $note The note to add. Default is empty.
|
802 |
*
|
803 |
* @return string|boolean The new note if added successfully, false otherwise.
|
804 |
*/
|
817 |
|
818 |
$note_string = date_i18n( 'F j, Y H:i:s', current_time( 'timestamp' ) ) . ' - ' . $note;
|
819 |
$new_note = apply_filters( 'give_customer_add_note_string', $note_string );
|
820 |
+
$notes .= "\n\n" . $new_note;
|
821 |
|
822 |
/**
|
823 |
* Fires before customer note added.
|
824 |
*
|
825 |
* @since 1.0
|
826 |
*
|
827 |
+
* @param string $new_note New note to add.
|
828 |
+
* @param int $customer_id Customer id.
|
829 |
*/
|
830 |
do_action( 'give_customer_pre_add_note', $new_note, $this->id );
|
831 |
|
840 |
*
|
841 |
* @since 1.0
|
842 |
*
|
843 |
+
* @param array $customer_notes Customer notes.
|
844 |
+
* @param string $new_note New note added.
|
845 |
+
* @param int $customer_id Customer id.
|
846 |
*/
|
847 |
do_action( 'give_customer_post_add_note', $this->notes, $new_note, $this->id );
|
848 |
|
855 |
* Get the notes column for the customer
|
856 |
*
|
857 |
* @since 1.0
|
858 |
+
* @access private
|
859 |
*
|
860 |
* @return string The Notes for the customer, non-parsed.
|
861 |
*/
|
874 |
* @access public
|
875 |
*
|
876 |
* @param string $meta_key The meta key to retrieve. Default is empty.
|
877 |
+
* @param bool $single Whether to return a single value. Default is true.
|
878 |
*
|
879 |
* @return mixed Will be an array if $single is false. Will be value of meta data field if $single is true.
|
880 |
*/
|
888 |
* @since 1.6
|
889 |
* @access public
|
890 |
*
|
891 |
+
* @param string $meta_key Metadata name. Default is empty.
|
892 |
+
* @param mixed $meta_value Metadata value.
|
893 |
+
* @param bool $unique Optional. Whether the same key should not be added. Default is false.
|
894 |
*
|
895 |
* @return bool False for failure. True for success.
|
896 |
*/
|
904 |
* @since 1.6
|
905 |
* @access public
|
906 |
*
|
907 |
+
* @param string $meta_key Metadata key. Default is empty.
|
908 |
+
* @param mixed $meta_value Metadata value.
|
909 |
+
* @param mixed $prev_value Optional. Previous value to check before removing. Default is empty.
|
910 |
*
|
911 |
* @return bool False on failure, true if success.
|
912 |
*/
|
920 |
* @since 1.6
|
921 |
* @access public
|
922 |
*
|
923 |
+
* @param string $meta_key Metadata name. Default is empty.
|
924 |
+
* @param mixed $meta_value Optional. Metadata value. Default is empty.
|
925 |
*
|
926 |
* @return bool False for failure. True for success.
|
927 |
*/
|
933 |
* Sanitize the data for update/create
|
934 |
*
|
935 |
* @since 1.0
|
936 |
+
* @access private
|
937 |
*
|
938 |
* @param array $data The data to sanitize.
|
939 |
*
|
987 |
break;
|
988 |
|
989 |
}
|
|
|
990 |
}
|
991 |
|
992 |
return $data;
|
998 |
* @since 1.7
|
999 |
* @access public
|
1000 |
*
|
1001 |
+
* @param string $email The email address to attach to the customer
|
1002 |
+
* @param bool $primary Allows setting the email added as the primary
|
1003 |
*
|
1004 |
* @return bool If the email was added successfully
|
1005 |
*/
|
1006 |
public function add_email( $email = '', $primary = false ) {
|
1007 |
+
if ( ! is_email( $email ) ) {
|
1008 |
return false;
|
1009 |
}
|
1010 |
$existing = new Give_Customer( $email );
|
1011 |
|
1012 |
+
if ( $existing->id > 0 ) {
|
1013 |
// Email address already belongs to another customer
|
1014 |
return false;
|
1015 |
}
|
1046 |
* @return bool If the email was removed successfully
|
1047 |
*/
|
1048 |
public function remove_email( $email = '' ) {
|
1049 |
+
if ( ! is_email( $email ) ) {
|
1050 |
return false;
|
1051 |
}
|
1052 |
|
1072 |
* @return bool If the email was set as primary successfully
|
1073 |
*/
|
1074 |
public function set_primary_email( $new_primary_email = '' ) {
|
1075 |
+
if ( ! is_email( $new_primary_email ) ) {
|
1076 |
return false;
|
1077 |
}
|
1078 |
|
1080 |
|
1081 |
$existing = new Give_Customer( $new_primary_email );
|
1082 |
|
1083 |
+
if ( $existing->id > 0 && (int) $existing->id !== (int) $this->id ) {
|
1084 |
// This email belongs to another customer
|
1085 |
return false;
|
1086 |
}
|
1098 |
|
1099 |
$ret = $update && $remove && $add;
|
1100 |
|
1101 |
+
if ( $ret ) {
|
1102 |
$this->email = $new_primary_email;
|
1103 |
}
|
1104 |
|
includes/class-give-license-handler.php
CHANGED
@@ -103,7 +103,7 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
103 |
*
|
104 |
* @var string
|
105 |
*/
|
106 |
-
private $api_url
|
107 |
|
108 |
/**
|
109 |
* Account URL
|
@@ -113,7 +113,7 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
113 |
*
|
114 |
* @var null|string
|
115 |
*/
|
116 |
-
private $account_url
|
117 |
|
118 |
/**
|
119 |
* Ccheckout URL
|
@@ -133,33 +133,35 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
133 |
* @access public
|
134 |
* @since 1.0
|
135 |
*
|
136 |
-
* @param string
|
137 |
-
* @param string
|
138 |
-
* @param string
|
139 |
-
* @param string
|
140 |
-
* @param string
|
141 |
-
* @param string
|
142 |
-
* @param string
|
143 |
-
* @param string
|
144 |
*/
|
145 |
public function __construct( $_file, $_item_name, $_version, $_author, $_optname = null, $_api_url = null, $_checkout_url = null, $_account_url = null ) {
|
|
|
146 |
$give_options = give_get_settings();
|
147 |
|
148 |
-
$this->file
|
149 |
-
$this->item_name
|
150 |
-
$this->item_shortname
|
151 |
-
$this->version
|
152 |
-
$this->license
|
153 |
-
$this->license_data
|
154 |
-
$this->author
|
155 |
-
$this->api_url
|
156 |
-
$this->checkout_url
|
157 |
-
$this->account_url
|
|
|
158 |
|
159 |
// Setup hooks
|
160 |
$this->includes();
|
161 |
$this->hooks();
|
162 |
-
|
163 |
}
|
164 |
|
165 |
/**
|
@@ -173,6 +175,7 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
173 |
* @return void
|
174 |
*/
|
175 |
private function includes() {
|
|
|
176 |
if ( ! class_exists( 'EDD_SL_Plugin_Updater' ) ) {
|
177 |
require_once 'admin/EDD_SL_Plugin_Updater.php';
|
178 |
}
|
@@ -201,7 +204,6 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
201 |
|
202 |
// Updater
|
203 |
add_action( 'admin_init', array( $this, 'auto_updater' ), 0 );
|
204 |
-
|
205 |
add_action( 'admin_notices', array( $this, 'notices' ) );
|
206 |
|
207 |
// Check license weekly.
|
@@ -211,31 +213,33 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
211 |
// Check subscription weekly.
|
212 |
add_action( 'give_weekly_scheduled_events', array( $this, 'weekly_subscription_check' ) );
|
213 |
add_action( 'give_validate_license_when_site_migrated', array( $this, 'weekly_subscription_check' ) );
|
|
|
|
|
|
|
|
|
|
|
214 |
}
|
215 |
|
|
|
216 |
/**
|
217 |
* Auto Updater
|
218 |
*
|
219 |
* @access private
|
220 |
* @since 1.0
|
221 |
*
|
222 |
-
* @return
|
223 |
*/
|
224 |
public function auto_updater() {
|
225 |
|
226 |
-
if ( ! $this->is_valid_license() ) {
|
227 |
-
return false;
|
228 |
-
}
|
229 |
-
|
230 |
// Setup the updater
|
231 |
-
$
|
232 |
$this->api_url,
|
233 |
$this->file,
|
234 |
array(
|
235 |
'version' => $this->version,
|
236 |
'license' => $this->license,
|
237 |
'item_name' => $this->item_name,
|
238 |
-
'author' => $this->author
|
239 |
)
|
240 |
);
|
241 |
}
|
@@ -261,15 +265,15 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
261 |
'desc' => '',
|
262 |
'type' => 'license_key',
|
263 |
'options' => array(
|
264 |
-
'license'
|
265 |
-
'shortname'
|
266 |
-
'item_name'
|
267 |
-
'api_url'
|
268 |
-
'checkout_url'
|
269 |
-
'account_url'
|
270 |
),
|
271 |
-
'size' => 'regular'
|
272 |
-
)
|
273 |
);
|
274 |
|
275 |
return array_merge( $settings, $give_license_settings );
|
@@ -291,10 +295,10 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
291 |
|
292 |
$give_license_settings = array(
|
293 |
array(
|
294 |
-
'name' =>
|
295 |
'desc' => '<hr>',
|
296 |
'type' => 'give_title',
|
297 |
-
'id' => 'give_title'
|
298 |
),
|
299 |
);
|
300 |
|
@@ -319,9 +323,7 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
319 |
|
320 |
// Security check.
|
321 |
if ( ! wp_verify_nonce( $_REQUEST[ $this->item_shortname . '_license_key-nonce' ], $this->item_shortname . '_license_key-nonce' ) ) {
|
322 |
-
|
323 |
-
wp_die( esc_html__( 'Nonce verification failed.', 'give' ), esc_html__( 'Error', 'give' ), array( 'response' => 403 ) );
|
324 |
-
|
325 |
}
|
326 |
|
327 |
// Check if user have correct permissions.
|
@@ -330,18 +332,20 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
330 |
}
|
331 |
|
332 |
// Allow third party addon developers to handle license activation.
|
333 |
-
if( $this->__is_third_party_addon() ){
|
334 |
do_action( 'give_activate_license', $this );
|
|
|
335 |
return;
|
336 |
}
|
337 |
|
338 |
// Delete previous license setting if a empty license key submitted.
|
339 |
if ( empty( $_POST[ $this->item_shortname . '_license_key' ] ) ) {
|
340 |
delete_option( $this->item_shortname . '_license_active' );
|
|
|
341 |
return;
|
342 |
}
|
343 |
|
344 |
-
// Do not simultaneously activate
|
345 |
foreach ( $_POST as $key => $value ) {
|
346 |
if ( false !== strpos( $key, 'license_key_deactivate' ) ) {
|
347 |
// Don't activate a key when deactivating a different key
|
@@ -349,7 +353,6 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
349 |
}
|
350 |
}
|
351 |
|
352 |
-
|
353 |
// Check if plugin previously installed.
|
354 |
if ( $this->is_valid_license() ) {
|
355 |
return;
|
@@ -359,7 +362,7 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
359 |
$license = sanitize_text_field( $_POST[ $this->item_shortname . '_license_key' ] );
|
360 |
|
361 |
// Bailout.
|
362 |
-
if( empty( $license ) ) {
|
363 |
return;
|
364 |
}
|
365 |
|
@@ -368,10 +371,10 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
368 |
|
369 |
// Data to send to the API
|
370 |
$api_params = array(
|
371 |
-
'edd_action' => 'activate_license', //never change from "edd_" to "give_"!
|
372 |
'license' => $license,
|
373 |
'item_name' => urlencode( $this->item_name ),
|
374 |
-
'url' => home_url()
|
375 |
);
|
376 |
|
377 |
// Call the API
|
@@ -380,7 +383,7 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
380 |
array(
|
381 |
'timeout' => 15,
|
382 |
'sslverify' => false,
|
383 |
-
'body' => $api_params
|
384 |
)
|
385 |
);
|
386 |
|
@@ -396,6 +399,9 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
396 |
$license_data = json_decode( wp_remote_retrieve_body( $response ) );
|
397 |
update_option( $this->item_shortname . '_license_active', $license_data );
|
398 |
|
|
|
|
|
|
|
399 |
// Check subscription for license key and store this to db (if any).
|
400 |
$this->__single_subscription_check();
|
401 |
}
|
@@ -417,18 +423,17 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
417 |
}
|
418 |
|
419 |
if ( ! wp_verify_nonce( $_REQUEST[ $this->item_shortname . '_license_key-nonce' ], $this->item_shortname . '_license_key-nonce' ) ) {
|
420 |
-
|
421 |
-
wp_die( esc_html__( 'Nonce verification failed.', 'give' ), esc_html__( 'Error', 'give' ), array( 'response' => 403 ) );
|
422 |
-
|
423 |
}
|
424 |
|
425 |
if ( ! current_user_can( 'manage_give_settings' ) ) {
|
426 |
return;
|
427 |
}
|
428 |
|
429 |
-
// Allow third party
|
430 |
-
if( $this->__is_third_party_addon() ){
|
431 |
do_action( 'give_deactivate_license', $this );
|
|
|
432 |
return;
|
433 |
}
|
434 |
|
@@ -437,10 +442,10 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
437 |
|
438 |
// Data to send to the API
|
439 |
$api_params = array(
|
440 |
-
'edd_action' => 'deactivate_license', //never change from "edd_" to "give_"!
|
441 |
'license' => $this->license,
|
442 |
'item_name' => urlencode( $this->item_name ),
|
443 |
-
'url' => home_url()
|
444 |
);
|
445 |
|
446 |
// Call the API
|
@@ -449,7 +454,7 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
449 |
array(
|
450 |
'timeout' => 15,
|
451 |
'sslverify' => false,
|
452 |
-
'body' => $api_params
|
453 |
)
|
454 |
);
|
455 |
|
@@ -461,12 +466,19 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
461 |
// Decode the license data
|
462 |
$license_data = json_decode( wp_remote_retrieve_body( $response ) );
|
463 |
|
464 |
-
//
|
465 |
-
|
466 |
|
467 |
-
|
468 |
-
|
469 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
470 |
}
|
471 |
|
472 |
/**
|
@@ -479,27 +491,28 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
479 |
*/
|
480 |
public function weekly_license_check() {
|
481 |
|
482 |
-
if( ! empty( $_POST['give_settings'] ) ) {
|
483 |
// Don't fire when saving settings
|
484 |
return false;
|
485 |
}
|
486 |
|
487 |
-
if( empty( $this->license ) ) {
|
488 |
return false;
|
489 |
}
|
490 |
|
491 |
-
// Allow third party
|
492 |
-
if( $this->__is_third_party_addon() ){
|
493 |
do_action( 'give_weekly_license_check', $this );
|
|
|
494 |
return false;
|
495 |
}
|
496 |
|
497 |
// Data to send in our API request.
|
498 |
$api_params = array(
|
499 |
-
'edd_action'=> 'check_license',
|
500 |
-
'license'
|
501 |
-
'item_name'
|
502 |
-
'url'
|
503 |
);
|
504 |
|
505 |
// Call the API.
|
@@ -508,7 +521,7 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
508 |
array(
|
509 |
'timeout' => 15,
|
510 |
'sslverify' => false,
|
511 |
-
'body' => $api_params
|
512 |
)
|
513 |
);
|
514 |
|
@@ -531,24 +544,25 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
531 |
*/
|
532 |
public function weekly_subscription_check() {
|
533 |
|
534 |
-
if( ! empty( $_POST['give_settings'] ) ) {
|
535 |
// Don't fire when saving settings
|
536 |
return false;
|
537 |
}
|
538 |
|
539 |
// Remove old subscription data.
|
540 |
-
if( absint( get_option( '_give_subscriptions_edit_last', true ) ) < current_time( 'timestamp'
|
541 |
delete_option( 'give_subscriptions' );
|
542 |
-
update_option( '_give_subscriptions_edit_last', strtotime( '+ 1 day', current_time( 'timestamp'
|
543 |
}
|
544 |
|
545 |
-
if( empty( $this->license ) ) {
|
546 |
return false;
|
547 |
}
|
548 |
|
549 |
-
// Allow third party
|
550 |
-
if( $this->__is_third_party_addon() ){
|
551 |
do_action( 'give_weekly_subscription_check', $this );
|
|
|
552 |
return false;
|
553 |
}
|
554 |
|
@@ -557,13 +571,13 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
557 |
|
558 |
// Data to send in our API request.
|
559 |
$api_params = array(
|
560 |
-
// Do not get
|
561 |
// By default edd software licensing api does not have api to check subscription.
|
562 |
-
// This is custom feature to check subscriptions.
|
563 |
-
'edd_action'=> 'check_subscription',
|
564 |
-
'license'
|
565 |
-
'item_name'
|
566 |
-
'url'
|
567 |
);
|
568 |
|
569 |
// Call the API
|
@@ -572,7 +586,7 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
572 |
array(
|
573 |
'timeout' => 15,
|
574 |
'sslverify' => false,
|
575 |
-
'body' => $api_params
|
576 |
)
|
577 |
);
|
578 |
|
@@ -583,17 +597,17 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
583 |
|
584 |
$subscription_data = json_decode( wp_remote_retrieve_body( $response ), true );
|
585 |
|
586 |
-
if( ! empty( $subscription_data['success'] ) && absint( $subscription_data['success'] ) ) {
|
587 |
$subscriptions = get_option( 'give_subscriptions', array() );
|
588 |
|
589 |
// Update subscription data only if subscription does not exist already.
|
590 |
-
if( ! array_key_exists( $subscription_data['id'], $subscriptions ) ) {
|
591 |
-
$subscriptions[ $subscription_data['id'] ]
|
592 |
$subscriptions[ $subscription_data['id'] ]['licenses'] = array();
|
593 |
}
|
594 |
|
595 |
// Store licenses for subscription.
|
596 |
-
if( ! in_array( $this->license, $subscriptions[ $subscription_data['id'] ]['licenses'] ) ) {
|
597 |
$subscriptions[ $subscription_data['id'] ]['licenses'][] = $this->license;
|
598 |
}
|
599 |
|
@@ -615,19 +629,19 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
615 |
return false;
|
616 |
}
|
617 |
|
618 |
-
if( empty( $this->license ) ) {
|
619 |
return false;
|
620 |
}
|
621 |
|
622 |
// Data to send in our API request.
|
623 |
$api_params = array(
|
624 |
-
// Do not get
|
625 |
// By default edd software licensing api does not have api to check subscription.
|
626 |
-
// This is custom feature to check subscriptions.
|
627 |
-
'edd_action'=> 'check_subscription',
|
628 |
-
'license'
|
629 |
-
'item_name'
|
630 |
-
'url'
|
631 |
);
|
632 |
|
633 |
// Call the API
|
@@ -636,7 +650,7 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
636 |
array(
|
637 |
'timeout' => 15,
|
638 |
'sslverify' => false,
|
639 |
-
'body' => $api_params
|
640 |
)
|
641 |
);
|
642 |
|
@@ -647,17 +661,17 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
647 |
|
648 |
$subscription_data = json_decode( wp_remote_retrieve_body( $response ), true );
|
649 |
|
650 |
-
if( ! empty( $subscription_data['success'] ) && absint( $subscription_data['success'] ) ) {
|
651 |
$subscriptions = get_option( 'give_subscriptions', array() );
|
652 |
|
653 |
// Update subscription data only if subscription does not exist already.
|
654 |
-
if( ! array_key_exists( $subscription_data['id'], $subscriptions ) ) {
|
655 |
-
$subscriptions[ $subscription_data['id'] ]
|
656 |
$subscriptions[ $subscription_data['id'] ]['licenses'] = array();
|
657 |
}
|
658 |
|
659 |
// Store licenses for subscription.
|
660 |
-
if( ! in_array( $this->license, $subscriptions[ $subscription_data['id'] ]['licenses'] ) ) {
|
661 |
$subscriptions[ $subscription_data['id'] ]['licenses'][] = $this->license;
|
662 |
}
|
663 |
|
@@ -674,61 +688,70 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
674 |
* @return void
|
675 |
*/
|
676 |
public function notices() {
|
677 |
-
static $showed_invalid_message;
|
678 |
-
static $showed_subscriptions_message;
|
679 |
-
static $addon_license_key_in_subscriptions;
|
680 |
-
|
681 |
-
// Set default value.
|
682 |
-
$addon_license_key_in_subscriptions = ! empty( $addon_license_key_in_subscriptions ) ? $addon_license_key_in_subscriptions : array();
|
683 |
|
684 |
-
if(
|
685 |
-
return;
|
686 |
-
}
|
687 |
-
|
688 |
-
if( ! current_user_can( 'manage_shop_settings' ) ) {
|
689 |
return;
|
690 |
}
|
691 |
|
692 |
// Do not show licenses notices on license tab.
|
693 |
-
if
|
694 |
return;
|
695 |
}
|
696 |
|
697 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
698 |
|
699 |
// Get subscriptions.
|
700 |
$subscriptions = get_option( 'give_subscriptions' );
|
701 |
|
702 |
// Show subscription messages.
|
703 |
-
if( ! empty( $subscriptions ) && ! $showed_subscriptions_message ) {
|
704 |
|
705 |
foreach ( $subscriptions as $subscription ) {
|
706 |
// Subscription expires timestamp.
|
707 |
$subscription_expires = strtotime( $subscription['expires'] );
|
708 |
|
709 |
// Start showing subscriptions message before one week of renewal date.
|
710 |
-
if( strtotime( '- 7 days', $subscription_expires ) > current_time( 'timestamp', 1 ) ) {
|
711 |
continue;
|
712 |
}
|
713 |
|
714 |
// Check if subscription message already exist in messages.
|
715 |
-
if( array_key_exists( $subscription['id'], $messages ) ) {
|
716 |
continue;
|
717 |
}
|
718 |
|
719 |
-
if( ( ! $this->__is_notice_dismissed( $subscription['id'] ) && 'active' !== $subscription['status'] ) ) {
|
720 |
|
721 |
-
if( strtotime( $subscription['expires'] ) < current_time( 'timestamp', 1 ) ) {// Check if license already expired.
|
722 |
-
$messages[$subscription['id']] = sprintf(
|
723 |
-
__( '
|
724 |
urldecode( $subscription['invoice_url'] ),
|
725 |
$subscription['payment_id'],
|
726 |
"{$this->checkout_url}?edd_license_key={$subscription['license_key']}&utm_campaign=admin&utm_source=licenses&utm_medium=expired",
|
727 |
esc_url( add_query_arg( '_give_hide_license_notices_permanently', $subscription['id'], $_SERVER['REQUEST_URI'] ) )
|
728 |
);
|
729 |
-
}else{
|
730 |
-
$messages[$subscription['id']] = sprintf(
|
731 |
-
__( '
|
732 |
human_time_diff( current_time( 'timestamp', 1 ), strtotime( $subscription['expires'] ) ),
|
733 |
urldecode( $subscription['invoice_url'] ),
|
734 |
$subscription['payment_id'],
|
@@ -738,17 +761,22 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
738 |
}
|
739 |
}
|
740 |
|
741 |
-
// Stop validation for these
|
742 |
$addon_license_key_in_subscriptions = array_merge( $addon_license_key_in_subscriptions, $subscription['licenses'] );
|
743 |
-
}
|
744 |
$showed_subscriptions_message = true;
|
745 |
-
}
|
746 |
|
747 |
// Show non subscription addon messages.
|
748 |
-
if
|
749 |
-
|
750 |
-
$
|
751 |
-
|
|
|
|
|
|
|
|
|
|
|
752 |
admin_url( 'edit.php?post_type=give_forms&page=give-settings&tab=licenses' )
|
753 |
);
|
754 |
$showed_invalid_message = true;
|
@@ -756,11 +784,14 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
756 |
}
|
757 |
|
758 |
// Print messages.
|
759 |
-
if( ! empty( $messages ) ) {
|
760 |
-
foreach( $messages as $notice_id => $message ) {
|
761 |
-
|
762 |
-
echo
|
763 |
-
|
|
|
|
|
|
|
764 |
}
|
765 |
}
|
766 |
}
|
@@ -774,7 +805,7 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
774 |
* @return bool
|
775 |
*/
|
776 |
public function is_valid_license() {
|
777 |
-
if( apply_filters( 'give_is_valid_license'
|
778 |
return true;
|
779 |
}
|
780 |
|
@@ -804,20 +835,20 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
804 |
*
|
805 |
* @return void|bool
|
806 |
*/
|
807 |
-
private function __remove_license_key_from_subscriptions(){
|
808 |
$subscriptions = get_option( 'give_subscriptions', array() );
|
809 |
|
810 |
// Bailout.
|
811 |
-
if( empty( $this->license ) ) {
|
812 |
return false;
|
813 |
}
|
814 |
|
815 |
-
if( ! empty( $subscriptions ) ) {
|
816 |
foreach ( $subscriptions as $subscription_id => $subscription ) {
|
817 |
$license_index = array_search( $this->license, $subscription['licenses'] );
|
818 |
-
if( false !== $license_index ) {
|
819 |
// Remove license key.
|
820 |
-
unset( $subscriptions[ $subscription_id ]['licenses'][$license_index] );
|
821 |
|
822 |
// Rearrange license keys.
|
823 |
$subscriptions[ $subscription_id ]['licenses'] = array_values( $subscriptions[ $subscription_id ]['licenses'] );
|
@@ -838,7 +869,7 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
838 |
*
|
839 |
* @return void
|
840 |
*/
|
841 |
-
private function __remove_license_notices_show_blocker(){
|
842 |
global $wpdb;
|
843 |
|
844 |
// Delete permanent notice blocker.
|
@@ -876,8 +907,8 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
876 |
*
|
877 |
* @return bool
|
878 |
*/
|
879 |
-
private function __is_notice_dismissed( $notice_id ){
|
880 |
-
$current_user
|
881 |
$is_notice_dismissed = false;
|
882 |
|
883 |
// Ge is notice dismissed permanently.
|
@@ -885,13 +916,60 @@ if ( ! class_exists( 'Give_License' ) ) :
|
|
885 |
? $already_dismiss_notices
|
886 |
: array();
|
887 |
|
888 |
-
|
889 |
-
|
890 |
-
$
|
|
|
|
|
891 |
}
|
892 |
|
893 |
return $is_notice_dismissed;
|
894 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
895 |
}
|
896 |
|
897 |
endif; // end class_exists check
|
103 |
*
|
104 |
* @var string
|
105 |
*/
|
106 |
+
private $api_url = 'https://givewp.com/edd-sl-api/';
|
107 |
|
108 |
/**
|
109 |
* Account URL
|
113 |
*
|
114 |
* @var null|string
|
115 |
*/
|
116 |
+
private $account_url = 'https://givewp.com/my-account/';
|
117 |
|
118 |
/**
|
119 |
* Ccheckout URL
|
133 |
* @access public
|
134 |
* @since 1.0
|
135 |
*
|
136 |
+
* @param string $_file
|
137 |
+
* @param string $_item_name
|
138 |
+
* @param string $_version
|
139 |
+
* @param string $_author
|
140 |
+
* @param string $_optname
|
141 |
+
* @param string $_api_url
|
142 |
+
* @param string $_checkout_url
|
143 |
+
* @param string $_account_url
|
144 |
*/
|
145 |
public function __construct( $_file, $_item_name, $_version, $_author, $_optname = null, $_api_url = null, $_checkout_url = null, $_account_url = null ) {
|
146 |
+
|
147 |
$give_options = give_get_settings();
|
148 |
|
149 |
+
$this->file = $_file;
|
150 |
+
$this->item_name = $_item_name;
|
151 |
+
$this->item_shortname = 'give_' . preg_replace( '/[^a-zA-Z0-9_\s]/', '', str_replace( ' ', '_', strtolower( $this->item_name ) ) );
|
152 |
+
$this->version = $_version;
|
153 |
+
$this->license = isset( $give_options[ $this->item_shortname . '_license_key' ] ) ? trim( $give_options[ $this->item_shortname . '_license_key' ] ) : '';
|
154 |
+
$this->license_data = get_option( $this->item_shortname . '_license_active' );
|
155 |
+
$this->author = $_author;
|
156 |
+
$this->api_url = is_null( $_api_url ) ? $this->api_url : $_api_url;
|
157 |
+
$this->checkout_url = is_null( $_checkout_url ) ? $this->checkout_url : $_checkout_url;
|
158 |
+
$this->account_url = is_null( $_account_url ) ? $this->account_url : $_account_url;
|
159 |
+
$this->auto_updater_obj = null;
|
160 |
|
161 |
// Setup hooks
|
162 |
$this->includes();
|
163 |
$this->hooks();
|
164 |
+
$this->auto_updater();
|
165 |
}
|
166 |
|
167 |
/**
|
175 |
* @return void
|
176 |
*/
|
177 |
private function includes() {
|
178 |
+
|
179 |
if ( ! class_exists( 'EDD_SL_Plugin_Updater' ) ) {
|
180 |
require_once 'admin/EDD_SL_Plugin_Updater.php';
|
181 |
}
|
204 |
|
205 |
// Updater
|
206 |
add_action( 'admin_init', array( $this, 'auto_updater' ), 0 );
|
|
|
207 |
add_action( 'admin_notices', array( $this, 'notices' ) );
|
208 |
|
209 |
// Check license weekly.
|
213 |
// Check subscription weekly.
|
214 |
add_action( 'give_weekly_scheduled_events', array( $this, 'weekly_subscription_check' ) );
|
215 |
add_action( 'give_validate_license_when_site_migrated', array( $this, 'weekly_subscription_check' ) );
|
216 |
+
|
217 |
+
// Show addon notice on plugin page.
|
218 |
+
$plugin_name = end( explode( 'plugins/', $this->file ) );
|
219 |
+
add_action( "after_plugin_row_{$plugin_name}", array( $this, 'plugin_page_notices' ), 10, 3 );
|
220 |
+
|
221 |
}
|
222 |
|
223 |
+
|
224 |
/**
|
225 |
* Auto Updater
|
226 |
*
|
227 |
* @access private
|
228 |
* @since 1.0
|
229 |
*
|
230 |
+
* @return void
|
231 |
*/
|
232 |
public function auto_updater() {
|
233 |
|
|
|
|
|
|
|
|
|
234 |
// Setup the updater
|
235 |
+
$this->auto_updater_obj = new EDD_SL_Plugin_Updater(
|
236 |
$this->api_url,
|
237 |
$this->file,
|
238 |
array(
|
239 |
'version' => $this->version,
|
240 |
'license' => $this->license,
|
241 |
'item_name' => $this->item_name,
|
242 |
+
'author' => $this->author,
|
243 |
)
|
244 |
);
|
245 |
}
|
265 |
'desc' => '',
|
266 |
'type' => 'license_key',
|
267 |
'options' => array(
|
268 |
+
'license' => get_option( $this->item_shortname . '_license_active' ),
|
269 |
+
'shortname' => $this->item_shortname,
|
270 |
+
'item_name' => $this->item_name,
|
271 |
+
'api_url' => $this->api_url,
|
272 |
+
'checkout_url' => $this->checkout_url,
|
273 |
+
'account_url' => $this->account_url,
|
274 |
),
|
275 |
+
'size' => 'regular',
|
276 |
+
),
|
277 |
);
|
278 |
|
279 |
return array_merge( $settings, $give_license_settings );
|
295 |
|
296 |
$give_license_settings = array(
|
297 |
array(
|
298 |
+
'name' => __( 'Add-on Licenses', 'give' ),
|
299 |
'desc' => '<hr>',
|
300 |
'type' => 'give_title',
|
301 |
+
'id' => 'give_title',
|
302 |
),
|
303 |
);
|
304 |
|
323 |
|
324 |
// Security check.
|
325 |
if ( ! wp_verify_nonce( $_REQUEST[ $this->item_shortname . '_license_key-nonce' ], $this->item_shortname . '_license_key-nonce' ) ) {
|
326 |
+
wp_die( __( 'Nonce verification failed.', 'give' ), __( 'Error', 'give' ), array( 'response' => 403 ) );
|
|
|
|
|
327 |
}
|
328 |
|
329 |
// Check if user have correct permissions.
|
332 |
}
|
333 |
|
334 |
// Allow third party addon developers to handle license activation.
|
335 |
+
if ( $this->__is_third_party_addon() ) {
|
336 |
do_action( 'give_activate_license', $this );
|
337 |
+
|
338 |
return;
|
339 |
}
|
340 |
|
341 |
// Delete previous license setting if a empty license key submitted.
|
342 |
if ( empty( $_POST[ $this->item_shortname . '_license_key' ] ) ) {
|
343 |
delete_option( $this->item_shortname . '_license_active' );
|
344 |
+
|
345 |
return;
|
346 |
}
|
347 |
|
348 |
+
// Do not simultaneously activate add-ons if the user want to deactivate a specific add-on.
|
349 |
foreach ( $_POST as $key => $value ) {
|
350 |
if ( false !== strpos( $key, 'license_key_deactivate' ) ) {
|
351 |
// Don't activate a key when deactivating a different key
|
353 |
}
|
354 |
}
|
355 |
|
|
|
356 |
// Check if plugin previously installed.
|
357 |
if ( $this->is_valid_license() ) {
|
358 |
return;
|
362 |
$license = sanitize_text_field( $_POST[ $this->item_shortname . '_license_key' ] );
|
363 |
|
364 |
// Bailout.
|
365 |
+
if ( empty( $license ) ) {
|
366 |
return;
|
367 |
}
|
368 |
|
371 |
|
372 |
// Data to send to the API
|
373 |
$api_params = array(
|
374 |
+
'edd_action' => 'activate_license', // never change from "edd_" to "give_"!
|
375 |
'license' => $license,
|
376 |
'item_name' => urlencode( $this->item_name ),
|
377 |
+
'url' => home_url(),
|
378 |
);
|
379 |
|
380 |
// Call the API
|
383 |
array(
|
384 |
'timeout' => 15,
|
385 |
'sslverify' => false,
|
386 |
+
'body' => $api_params,
|
387 |
)
|
388 |
);
|
389 |
|
399 |
$license_data = json_decode( wp_remote_retrieve_body( $response ) );
|
400 |
update_option( $this->item_shortname . '_license_active', $license_data );
|
401 |
|
402 |
+
// Add license key.
|
403 |
+
give_update_option( "{$this->item_shortname}_license_key", $license );
|
404 |
+
|
405 |
// Check subscription for license key and store this to db (if any).
|
406 |
$this->__single_subscription_check();
|
407 |
}
|
423 |
}
|
424 |
|
425 |
if ( ! wp_verify_nonce( $_REQUEST[ $this->item_shortname . '_license_key-nonce' ], $this->item_shortname . '_license_key-nonce' ) ) {
|
426 |
+
wp_die( __( 'Nonce verification failed.', 'give' ), __( 'Error', 'give' ), array( 'response' => 403 ) );
|
|
|
|
|
427 |
}
|
428 |
|
429 |
if ( ! current_user_can( 'manage_give_settings' ) ) {
|
430 |
return;
|
431 |
}
|
432 |
|
433 |
+
// Allow third party add-on developers to handle license deactivation.
|
434 |
+
if ( $this->__is_third_party_addon() ) {
|
435 |
do_action( 'give_deactivate_license', $this );
|
436 |
+
|
437 |
return;
|
438 |
}
|
439 |
|
442 |
|
443 |
// Data to send to the API
|
444 |
$api_params = array(
|
445 |
+
'edd_action' => 'deactivate_license', // never change from "edd_" to "give_"!
|
446 |
'license' => $this->license,
|
447 |
'item_name' => urlencode( $this->item_name ),
|
448 |
+
'url' => home_url(),
|
449 |
);
|
450 |
|
451 |
// Call the API
|
454 |
array(
|
455 |
'timeout' => 15,
|
456 |
'sslverify' => false,
|
457 |
+
'body' => $api_params,
|
458 |
)
|
459 |
);
|
460 |
|
466 |
// Decode the license data
|
467 |
$license_data = json_decode( wp_remote_retrieve_body( $response ) );
|
468 |
|
469 |
+
// Ensure deactivated successfully.
|
470 |
+
if ( isset( $license_data->success ) ) {
|
471 |
|
472 |
+
// Remove license data.
|
473 |
+
delete_option( $this->item_shortname . '_license_active' );
|
474 |
+
|
475 |
+
give_delete_option( $this->item_shortname . '_license_key' );
|
476 |
+
|
477 |
+
// Remove license key from subscriptions if exist.
|
478 |
+
$this->__remove_license_key_from_subscriptions();
|
479 |
+
|
480 |
+
}
|
481 |
+
}// End if().
|
482 |
}
|
483 |
|
484 |
/**
|
491 |
*/
|
492 |
public function weekly_license_check() {
|
493 |
|
494 |
+
if ( ! empty( $_POST['give_settings'] ) ) {
|
495 |
// Don't fire when saving settings
|
496 |
return false;
|
497 |
}
|
498 |
|
499 |
+
if ( empty( $this->license ) ) {
|
500 |
return false;
|
501 |
}
|
502 |
|
503 |
+
// Allow third party add-on developers to handle their license check.
|
504 |
+
if ( $this->__is_third_party_addon() ) {
|
505 |
do_action( 'give_weekly_license_check', $this );
|
506 |
+
|
507 |
return false;
|
508 |
}
|
509 |
|
510 |
// Data to send in our API request.
|
511 |
$api_params = array(
|
512 |
+
'edd_action' => 'check_license',
|
513 |
+
'license' => $this->license,
|
514 |
+
'item_name' => urlencode( $this->item_name ),
|
515 |
+
'url' => home_url(),
|
516 |
);
|
517 |
|
518 |
// Call the API.
|
521 |
array(
|
522 |
'timeout' => 15,
|
523 |
'sslverify' => false,
|
524 |
+
'body' => $api_params,
|
525 |
)
|
526 |
);
|
527 |
|
544 |
*/
|
545 |
public function weekly_subscription_check() {
|
546 |
|
547 |
+
if ( ! empty( $_POST['give_settings'] ) ) {
|
548 |
// Don't fire when saving settings
|
549 |
return false;
|
550 |
}
|
551 |
|
552 |
// Remove old subscription data.
|
553 |
+
if ( absint( get_option( '_give_subscriptions_edit_last', true ) ) < current_time( 'timestamp', 1 ) ) {
|
554 |
delete_option( 'give_subscriptions' );
|
555 |
+
update_option( '_give_subscriptions_edit_last', strtotime( '+ 1 day', current_time( 'timestamp', 1 ) ) );
|
556 |
}
|
557 |
|
558 |
+
if ( empty( $this->license ) ) {
|
559 |
return false;
|
560 |
}
|
561 |
|
562 |
+
// Allow third party add-on developers to handle their subscription check.
|
563 |
+
if ( $this->__is_third_party_addon() ) {
|
564 |
do_action( 'give_weekly_subscription_check', $this );
|
565 |
+
|
566 |
return false;
|
567 |
}
|
568 |
|
571 |
|
572 |
// Data to send in our API request.
|
573 |
$api_params = array(
|
574 |
+
// Do not get confused with edd_action check_subscription.
|
575 |
// By default edd software licensing api does not have api to check subscription.
|
576 |
+
// This is a custom feature to check subscriptions.
|
577 |
+
'edd_action' => 'check_subscription',
|
578 |
+
'license' => $this->license,
|
579 |
+
'item_name' => urlencode( $this->item_name ),
|
580 |
+
'url' => home_url(),
|
581 |
);
|
582 |
|
583 |
// Call the API
|
586 |
array(
|
587 |
'timeout' => 15,
|
588 |
'sslverify' => false,
|
589 |
+
'body' => $api_params,
|
590 |
)
|
591 |
);
|
592 |
|
597 |
|
598 |
$subscription_data = json_decode( wp_remote_retrieve_body( $response ), true );
|
599 |
|
600 |
+
if ( ! empty( $subscription_data['success'] ) && absint( $subscription_data['success'] ) ) {
|
601 |
$subscriptions = get_option( 'give_subscriptions', array() );
|
602 |
|
603 |
// Update subscription data only if subscription does not exist already.
|
604 |
+
if ( ! array_key_exists( $subscription_data['id'], $subscriptions ) ) {
|
605 |
+
$subscriptions[ $subscription_data['id'] ] = $subscription_data;
|
606 |
$subscriptions[ $subscription_data['id'] ]['licenses'] = array();
|
607 |
}
|
608 |
|
609 |
// Store licenses for subscription.
|
610 |
+
if ( ! in_array( $this->license, $subscriptions[ $subscription_data['id'] ]['licenses'] ) ) {
|
611 |
$subscriptions[ $subscription_data['id'] ]['licenses'][] = $this->license;
|
612 |
}
|
613 |
|
629 |
return false;
|
630 |
}
|
631 |
|
632 |
+
if ( empty( $this->license ) ) {
|
633 |
return false;
|
634 |
}
|
635 |
|
636 |
// Data to send in our API request.
|
637 |
$api_params = array(
|
638 |
+
// Do not get confused with edd_action check_subscription.
|
639 |
// By default edd software licensing api does not have api to check subscription.
|
640 |
+
// This is a custom feature to check subscriptions.
|
641 |
+
'edd_action' => 'check_subscription',
|
642 |
+
'license' => $this->license,
|
643 |
+
'item_name' => urlencode( $this->item_name ),
|
644 |
+
'url' => home_url(),
|
645 |
);
|
646 |
|
647 |
// Call the API
|
650 |
array(
|
651 |
'timeout' => 15,
|
652 |
'sslverify' => false,
|
653 |
+
'body' => $api_params,
|
654 |
)
|
655 |
);
|
656 |
|
661 |
|
662 |
$subscription_data = json_decode( wp_remote_retrieve_body( $response ), true );
|
663 |
|
664 |
+
if ( ! empty( $subscription_data['success'] ) && absint( $subscription_data['success'] ) ) {
|
665 |
$subscriptions = get_option( 'give_subscriptions', array() );
|
666 |
|
667 |
// Update subscription data only if subscription does not exist already.
|
668 |
+
if ( ! array_key_exists( $subscription_data['id'], $subscriptions ) ) {
|
669 |
+
$subscriptions[ $subscription_data['id'] ] = $subscription_data;
|
670 |
$subscriptions[ $subscription_data['id'] ]['licenses'] = array();
|
671 |
}
|
672 |
|
673 |
// Store licenses for subscription.
|
674 |
+
if ( ! in_array( $this->license, $subscriptions[ $subscription_data['id'] ]['licenses'] ) ) {
|
675 |
$subscriptions[ $subscription_data['id'] ]['licenses'][] = $this->license;
|
676 |
}
|
677 |
|
688 |
* @return void
|
689 |
*/
|
690 |
public function notices() {
|
|
|
|
|
|
|
|
|
|
|
|
|
691 |
|
692 |
+
if ( ! current_user_can( 'manage_give_settings' ) ) {
|
|
|
|
|
|
|
|
|
693 |
return;
|
694 |
}
|
695 |
|
696 |
// Do not show licenses notices on license tab.
|
697 |
+
if ( 'licenses' === give_get_current_setting_tab() ) {
|
698 |
return;
|
699 |
}
|
700 |
|
701 |
+
static $showed_invalid_message;
|
702 |
+
static $showed_subscriptions_message;
|
703 |
+
static $addon_license_key_in_subscriptions;
|
704 |
+
|
705 |
+
// Set default value.
|
706 |
+
$addon_license_key_in_subscriptions = ! empty( $addon_license_key_in_subscriptions ) ? $addon_license_key_in_subscriptions : array();
|
707 |
+
$messages = array();
|
708 |
+
|
709 |
+
if (
|
710 |
+
empty( $this->license )
|
711 |
+
&& ! $this->__is_notice_dismissed( 'general' )
|
712 |
+
&& empty( $showed_invalid_message )
|
713 |
+
) {
|
714 |
+
$messages['general'] = sprintf(
|
715 |
+
__( 'You have invalid or expired license keys for one or more Give Add-ons. Please go to the <a href="%s">licenses page</a> to correct this issue.', 'give' ),
|
716 |
+
admin_url( 'edit.php?post_type=give_forms&page=give-settings&tab=licenses' )
|
717 |
+
);
|
718 |
+
$showed_invalid_message = true;
|
719 |
+
|
720 |
+
}
|
721 |
|
722 |
// Get subscriptions.
|
723 |
$subscriptions = get_option( 'give_subscriptions' );
|
724 |
|
725 |
// Show subscription messages.
|
726 |
+
if ( ! empty( $subscriptions ) && ! $showed_subscriptions_message ) {
|
727 |
|
728 |
foreach ( $subscriptions as $subscription ) {
|
729 |
// Subscription expires timestamp.
|
730 |
$subscription_expires = strtotime( $subscription['expires'] );
|
731 |
|
732 |
// Start showing subscriptions message before one week of renewal date.
|
733 |
+
if ( strtotime( '- 7 days', $subscription_expires ) > current_time( 'timestamp', 1 ) ) {
|
734 |
continue;
|
735 |
}
|
736 |
|
737 |
// Check if subscription message already exist in messages.
|
738 |
+
if ( array_key_exists( $subscription['id'], $messages ) ) {
|
739 |
continue;
|
740 |
}
|
741 |
|
742 |
+
if ( ( ! $this->__is_notice_dismissed( $subscription['id'] ) && 'active' !== $subscription['status'] ) ) {
|
743 |
|
744 |
+
if ( strtotime( $subscription['expires'] ) < current_time( 'timestamp', 1 ) ) {// Check if license already expired.
|
745 |
+
$messages[ $subscription['id'] ] = sprintf(
|
746 |
+
__( 'Your Give add-on license expired for payment <a href="%1$s" target="_blank">#%2$d</a>. <a href="%3$s" target="_blank">Click to renew an existing license</a> or <a href="%4$s">Click here if already renewed</a>.', 'give' ),
|
747 |
urldecode( $subscription['invoice_url'] ),
|
748 |
$subscription['payment_id'],
|
749 |
"{$this->checkout_url}?edd_license_key={$subscription['license_key']}&utm_campaign=admin&utm_source=licenses&utm_medium=expired",
|
750 |
esc_url( add_query_arg( '_give_hide_license_notices_permanently', $subscription['id'], $_SERVER['REQUEST_URI'] ) )
|
751 |
);
|
752 |
+
} else {
|
753 |
+
$messages[ $subscription['id'] ] = sprintf(
|
754 |
+
__( 'Your Give add-on license will expire in %1$s for payment <a href="%2$s" target="_blank">#%3$d</a>. <a href="%4$s" target="_blank">Click to renew an existing license</a> or <a href="%5$s">Click here if already renewed</a>.', 'give' ),
|
755 |
human_time_diff( current_time( 'timestamp', 1 ), strtotime( $subscription['expires'] ) ),
|
756 |
urldecode( $subscription['invoice_url'] ),
|
757 |
$subscription['payment_id'],
|
761 |
}
|
762 |
}
|
763 |
|
764 |
+
// Stop validation for these license keys.
|
765 |
$addon_license_key_in_subscriptions = array_merge( $addon_license_key_in_subscriptions, $subscription['licenses'] );
|
766 |
+
}// End foreach().
|
767 |
$showed_subscriptions_message = true;
|
768 |
+
}// End if().
|
769 |
|
770 |
// Show non subscription addon messages.
|
771 |
+
if (
|
772 |
+
! in_array( $this->license, $addon_license_key_in_subscriptions )
|
773 |
+
&& ! $this->__is_notice_dismissed( 'general' )
|
774 |
+
&& ! $this->is_valid_license()
|
775 |
+
&& empty( $showed_invalid_message )
|
776 |
+
) {
|
777 |
+
|
778 |
+
$messages['general'] = sprintf(
|
779 |
+
__( 'You have invalid or expired license keys for one or more Give Add-ons. Please go to the <a href="%s">licenses page</a> to correct this issue.', 'give' ),
|
780 |
admin_url( 'edit.php?post_type=give_forms&page=give-settings&tab=licenses' )
|
781 |
);
|
782 |
$showed_invalid_message = true;
|
784 |
}
|
785 |
|
786 |
// Print messages.
|
787 |
+
if ( ! empty( $messages ) ) {
|
788 |
+
foreach ( $messages as $notice_id => $message ) {
|
789 |
+
|
790 |
+
echo sprintf(
|
791 |
+
'<div class="notice notice-error is-dismissible give-license-notice" data-dismiss-notice-shortly="%1$s"><p>%2$s</p></div>',
|
792 |
+
esc_url( add_query_arg( '_give_hide_license_notices_shortly', $notice_id, $_SERVER['REQUEST_URI'] ) ),
|
793 |
+
$message
|
794 |
+
);
|
795 |
}
|
796 |
}
|
797 |
}
|
805 |
* @return bool
|
806 |
*/
|
807 |
public function is_valid_license() {
|
808 |
+
if ( apply_filters( 'give_is_valid_license', ( is_object( $this->license_data ) && ! empty( $this->license_data ) && property_exists( $this->license_data, 'license' ) && 'valid' === $this->license_data->license ) ) ) {
|
809 |
return true;
|
810 |
}
|
811 |
|
835 |
*
|
836 |
* @return void|bool
|
837 |
*/
|
838 |
+
private function __remove_license_key_from_subscriptions() {
|
839 |
$subscriptions = get_option( 'give_subscriptions', array() );
|
840 |
|
841 |
// Bailout.
|
842 |
+
if ( empty( $this->license ) ) {
|
843 |
return false;
|
844 |
}
|
845 |
|
846 |
+
if ( ! empty( $subscriptions ) ) {
|
847 |
foreach ( $subscriptions as $subscription_id => $subscription ) {
|
848 |
$license_index = array_search( $this->license, $subscription['licenses'] );
|
849 |
+
if ( false !== $license_index ) {
|
850 |
// Remove license key.
|
851 |
+
unset( $subscriptions[ $subscription_id ]['licenses'][ $license_index ] );
|
852 |
|
853 |
// Rearrange license keys.
|
854 |
$subscriptions[ $subscription_id ]['licenses'] = array_values( $subscriptions[ $subscription_id ]['licenses'] );
|
869 |
*
|
870 |
* @return void
|
871 |
*/
|
872 |
+
private function __remove_license_notices_show_blocker() {
|
873 |
global $wpdb;
|
874 |
|
875 |
// Delete permanent notice blocker.
|
907 |
*
|
908 |
* @return bool
|
909 |
*/
|
910 |
+
private function __is_notice_dismissed( $notice_id ) {
|
911 |
+
$current_user = wp_get_current_user();
|
912 |
$is_notice_dismissed = false;
|
913 |
|
914 |
// Ge is notice dismissed permanently.
|
916 |
? $already_dismiss_notices
|
917 |
: array();
|
918 |
|
919 |
+
if (
|
920 |
+
in_array( $notice_id, $already_dismiss_notices )
|
921 |
+
|| Give_Cache::get( "_give_hide_license_notices_shortly_{$current_user->ID}_{$notice_id}", true )
|
922 |
+
) {
|
923 |
+
$is_notice_dismissed = true;
|
924 |
}
|
925 |
|
926 |
return $is_notice_dismissed;
|
927 |
}
|
928 |
+
|
929 |
+
|
930 |
+
/**
|
931 |
+
* @param $plugin_file
|
932 |
+
* @param $plugin_data
|
933 |
+
* @param $status
|
934 |
+
*
|
935 |
+
* @return bool
|
936 |
+
*/
|
937 |
+
public function plugin_page_notices( $plugin_file, $plugin_data, $status ) {
|
938 |
+
// Bailout.
|
939 |
+
if ( $this->is_valid_license() ) {
|
940 |
+
return false;
|
941 |
+
}
|
942 |
+
|
943 |
+
$update_notice_wrap = '<tr class="give-addon-notice-tr active"><td colspan="3" class="colspanchange"><div class="notice inline notice-warning notice-alt give-invalid-license"><p><span class="dashicons dashicons-info"></span> %s</p></div></td></tr>';
|
944 |
+
$message = $this->license_state_message();
|
945 |
+
|
946 |
+
if ( ! empty( $message['message'] ) ) {
|
947 |
+
echo sprintf( $update_notice_wrap, $message['message'] );
|
948 |
+
}
|
949 |
+
}
|
950 |
+
|
951 |
+
|
952 |
+
/**
|
953 |
+
* Get message related to license state.
|
954 |
+
*
|
955 |
+
* @since 1.8.7
|
956 |
+
* @access public
|
957 |
+
* @return array
|
958 |
+
*/
|
959 |
+
public function license_state_message() {
|
960 |
+
$message_data = array();
|
961 |
+
|
962 |
+
if ( ! $this->is_valid_license() ) {
|
963 |
+
|
964 |
+
$message_data['message'] = sprintf(
|
965 |
+
'Please <a href="%1$s">activate your license</a> to receive updates and support for the %2$s add-on.',
|
966 |
+
esc_url( admin_url( 'edit.php?post_type=give_forms&page=give-settings&tab=licenses' ) ),
|
967 |
+
$this->item_name
|
968 |
+
);
|
969 |
+
}
|
970 |
+
|
971 |
+
return $message_data;
|
972 |
+
}
|
973 |
}
|
974 |
|
975 |
endif; // end class_exists check
|
includes/class-give-logging.php
CHANGED
@@ -391,15 +391,15 @@ class Give_Logging {
|
|
391 |
}
|
392 |
|
393 |
// Get cache key for current query.
|
394 |
-
$cache_key =
|
395 |
|
396 |
// check if cache already exist or not.
|
397 |
-
if ( ! ( $logs_count =
|
398 |
$logs = new WP_Query( $query_args );
|
399 |
$logs_count = (int) $logs->post_count;
|
400 |
|
401 |
// Cache results.
|
402 |
-
|
403 |
}
|
404 |
|
405 |
return $logs_count;
|
@@ -460,7 +460,8 @@ class Give_Logging {
|
|
460 |
* @param int $post_id
|
461 |
*/
|
462 |
public function background_process_delete_cache( $post_id ) {
|
463 |
-
|
|
|
464 |
}
|
465 |
|
466 |
/**
|
@@ -473,12 +474,18 @@ class Give_Logging {
|
|
473 |
*/
|
474 |
public function delete_cache() {
|
475 |
global $wpdb;
|
476 |
-
|
|
|
|
|
477 |
$wpdb->prepare(
|
478 |
-
"SELECT
|
479 |
-
|
|
|
|
|
|
|
|
|
480 |
),
|
481 |
-
|
482 |
);
|
483 |
|
484 |
// Bailout.
|
@@ -486,10 +493,7 @@ class Give_Logging {
|
|
486 |
return false;
|
487 |
}
|
488 |
|
489 |
-
|
490 |
-
foreach ( $cache_option_names as $option_name ) {
|
491 |
-
delete_option( $option_name['option_name'] );
|
492 |
-
}
|
493 |
}
|
494 |
}
|
495 |
|
391 |
}
|
392 |
|
393 |
// Get cache key for current query.
|
394 |
+
$cache_key = Give_Cache::get_key( 'get_log_count', $query_args );
|
395 |
|
396 |
// check if cache already exist or not.
|
397 |
+
if ( ! ( $logs_count = Give_Cache::get( $cache_key ) ) ) {
|
398 |
$logs = new WP_Query( $query_args );
|
399 |
$logs_count = (int) $logs->post_count;
|
400 |
|
401 |
// Cache results.
|
402 |
+
Give_Cache::set( $cache_key, $logs_count );
|
403 |
}
|
404 |
|
405 |
return $logs_count;
|
460 |
* @param int $post_id
|
461 |
*/
|
462 |
public function background_process_delete_cache( $post_id ) {
|
463 |
+
// Delete log cache immediately
|
464 |
+
wp_schedule_single_event( time() - 5, 'give_delete_log_cache' );
|
465 |
}
|
466 |
|
467 |
/**
|
474 |
*/
|
475 |
public function delete_cache() {
|
476 |
global $wpdb;
|
477 |
+
|
478 |
+
// Add log related keys to delete.
|
479 |
+
$cache_option_names = $wpdb->get_col(
|
480 |
$wpdb->prepare(
|
481 |
+
"SELECT *
|
482 |
+
FROM {$wpdb->options}
|
483 |
+
where option_name LIKE '%%%s%%'
|
484 |
+
OR option_name LIKE '%%%s%%'",
|
485 |
+
'give_cache_get_logs',
|
486 |
+
'give_cache_get_log_count'
|
487 |
),
|
488 |
+
1 // option_name
|
489 |
);
|
490 |
|
491 |
// Bailout.
|
493 |
return false;
|
494 |
}
|
495 |
|
496 |
+
Give_Cache::delete( $cache_option_names );
|
|
|
|
|
|
|
497 |
}
|
498 |
}
|
499 |
|
includes/class-give-session.php
CHANGED
@@ -102,6 +102,10 @@ class Give_Session {
|
|
102 |
require_once GIVE_PLUGIN_DIR . 'includes/libraries/sessions/class-recursive-arrayaccess.php';
|
103 |
}
|
104 |
|
|
|
|
|
|
|
|
|
105 |
if ( ! class_exists( 'WP_Session' ) ) {
|
106 |
require_once GIVE_PLUGIN_DIR . 'includes/libraries/sessions/class-wp-session.php';
|
107 |
require_once GIVE_PLUGIN_DIR . 'includes/libraries/sessions/wp-session.php';
|
102 |
require_once GIVE_PLUGIN_DIR . 'includes/libraries/sessions/class-recursive-arrayaccess.php';
|
103 |
}
|
104 |
|
105 |
+
// Include utilities class
|
106 |
+
if ( ! class_exists( 'WP_Session_Utils' ) ) {
|
107 |
+
require_once GIVE_PLUGIN_DIR . 'includes/libraries/sessions/class-wp-session-utils.php';
|
108 |
+
}
|
109 |
if ( ! class_exists( 'WP_Session' ) ) {
|
110 |
require_once GIVE_PLUGIN_DIR . 'includes/libraries/sessions/class-wp-session.php';
|
111 |
require_once GIVE_PLUGIN_DIR . 'includes/libraries/sessions/wp-session.php';
|
includes/formatting.php
CHANGED
@@ -393,6 +393,7 @@ function give_date_format( $date_context = '' ) {
|
|
393 |
* Get cache key.
|
394 |
*
|
395 |
* @since 1.7
|
|
|
396 |
*
|
397 |
* @param string $action Cache key prefix.
|
398 |
* @param array $query_args Query array.
|
@@ -400,12 +401,7 @@ function give_date_format( $date_context = '' ) {
|
|
400 |
* @return string
|
401 |
*/
|
402 |
function give_get_cache_key( $action, $query_args ) {
|
403 |
-
|
404 |
-
if ( ! is_array( $query_args ) || empty( $query_args ) ) {
|
405 |
-
return '';
|
406 |
-
}
|
407 |
-
|
408 |
-
return "give_cache_{$action}_" . substr( md5( serialize( $query_args ) ), 0, 15 );
|
409 |
}
|
410 |
|
411 |
/**
|
393 |
* Get cache key.
|
394 |
*
|
395 |
* @since 1.7
|
396 |
+
* @deprecated 1.8.7 You can access this function from Give_Cache.
|
397 |
*
|
398 |
* @param string $action Cache key prefix.
|
399 |
* @param array $query_args Query array.
|
401 |
* @return string
|
402 |
*/
|
403 |
function give_get_cache_key( $action, $query_args ) {
|
404 |
+
return Give_Cache::get_key( $action, $query_args );
|
|
|
|
|
|
|
|
|
|
|
405 |
}
|
406 |
|
407 |
/**
|
includes/gateways/offline-donations.php
CHANGED
@@ -241,8 +241,8 @@ function give_offline_send_admin_notice( $payment_id = 0 ) {
|
|
241 |
$admin_subject = apply_filters( 'give_offline_admin_donation_notification_subject', __( 'New Pending Donation', 'give' ), $payment_id );
|
242 |
|
243 |
$admin_message = __( 'Dear Admin,', 'give' ) . "\n\n";
|
244 |
-
$admin_message .= __( '
|
245 |
-
$admin_message .= __( '
|
246 |
|
247 |
|
248 |
$admin_message .= '<strong>' . __( 'Donor:', 'give' ) . '</strong> {fullname}' . "\n";
|
@@ -251,7 +251,7 @@ function give_offline_send_admin_notice( $payment_id = 0 ) {
|
|
251 |
$admin_message .= sprintf(
|
252 |
'<a href="%1$s">%2$s</a>',
|
253 |
admin_url( 'edit.php?post_type=give_forms&page=give-payment-history&view=view-order-details&id=' . $payment_id ),
|
254 |
-
__( '
|
255 |
) . "\n\n";
|
256 |
|
257 |
$admin_message = apply_filters( 'give_offline_admin_donation_notification', $admin_message, $payment_id );
|
@@ -262,6 +262,8 @@ function give_offline_send_admin_notice( $payment_id = 0 ) {
|
|
262 |
|
263 |
//Send Email
|
264 |
$emails = Give()->emails;
|
|
|
|
|
265 |
if ( ! empty( $admin_headers ) ) {
|
266 |
$emails->__set( 'headers', $admin_headers );
|
267 |
}
|
@@ -398,8 +400,8 @@ function give_get_default_offline_donation_content() {
|
|
398 |
$default_text .= '<li>' . __( 'Please mail your check to:', 'give' ) . '</li>';
|
399 |
$default_text .= '</ol>';
|
400 |
$default_text .= ' <em>' . $sitename . '</em><br>';
|
401 |
-
$default_text .= ' <em>
|
402 |
-
$default_text .= ' <em>
|
403 |
$default_text .= '<p>' . __( 'All contributions will be gratefully acknowledged and are tax deductible.', 'give' ) . '</p>';
|
404 |
|
405 |
return apply_filters( 'give_default_offline_donation_content', $default_text );
|
@@ -436,8 +438,8 @@ function give_get_default_offline_donation_email_content() {
|
|
436 |
$default_text .= '<li>' . __( 'Please mail your check to:', 'give' ) . '</li>';
|
437 |
$default_text .= '</ol>';
|
438 |
$default_text .= ' <em>' . $sitename . '</em><br>';
|
439 |
-
$default_text .= ' <em>
|
440 |
-
$default_text .= ' <em>
|
441 |
$default_text .= '<p>' . __( 'Once your donation has been received we will mark it as complete and you will receive an email receipt for your records. Please contact us with any questions you may have!', 'give' ) . '</p>';
|
442 |
$default_text .= '<p>' . __( 'Sincerely,', 'give' ) . '</p>';
|
443 |
$default_text .= '<p>' . $sitename . '</p>';
|
241 |
$admin_subject = apply_filters( 'give_offline_admin_donation_notification_subject', __( 'New Pending Donation', 'give' ), $payment_id );
|
242 |
|
243 |
$admin_message = __( 'Dear Admin,', 'give' ) . "\n\n";
|
244 |
+
$admin_message .= sprintf(__( 'A new offline donation has been made on your website for %s.', 'give' ), $amount) . "\n\n";
|
245 |
+
$admin_message .= __( 'The donation is in a pending status and is awaiting payment. Donation instructions have been emailed to the donor. Once you receive payment, be sure to mark the donation as complete using the link below.', 'give' ) . "\n\n";
|
246 |
|
247 |
|
248 |
$admin_message .= '<strong>' . __( 'Donor:', 'give' ) . '</strong> {fullname}' . "\n";
|
251 |
$admin_message .= sprintf(
|
252 |
'<a href="%1$s">%2$s</a>',
|
253 |
admin_url( 'edit.php?post_type=give_forms&page=give-payment-history&view=view-order-details&id=' . $payment_id ),
|
254 |
+
__( 'View Donation Details »', 'give' )
|
255 |
) . "\n\n";
|
256 |
|
257 |
$admin_message = apply_filters( 'give_offline_admin_donation_notification', $admin_message, $payment_id );
|
262 |
|
263 |
//Send Email
|
264 |
$emails = Give()->emails;
|
265 |
+
$emails->__set( 'heading', __( 'New Offline Donation', 'give' ) );
|
266 |
+
|
267 |
if ( ! empty( $admin_headers ) ) {
|
268 |
$emails->__set( 'headers', $admin_headers );
|
269 |
}
|
400 |
$default_text .= '<li>' . __( 'Please mail your check to:', 'give' ) . '</li>';
|
401 |
$default_text .= '</ol>';
|
402 |
$default_text .= ' <em>' . $sitename . '</em><br>';
|
403 |
+
$default_text .= ' <em>111 Not A Real St.</em><br>';
|
404 |
+
$default_text .= ' <em>Anytown, CA 12345 </em><br>';
|
405 |
$default_text .= '<p>' . __( 'All contributions will be gratefully acknowledged and are tax deductible.', 'give' ) . '</p>';
|
406 |
|
407 |
return apply_filters( 'give_default_offline_donation_content', $default_text );
|
438 |
$default_text .= '<li>' . __( 'Please mail your check to:', 'give' ) . '</li>';
|
439 |
$default_text .= '</ol>';
|
440 |
$default_text .= ' <em>' . $sitename . '</em><br>';
|
441 |
+
$default_text .= ' <em>111 Not A Real St.</em><br>';
|
442 |
+
$default_text .= ' <em>Anytown, CA 12345 </em><br>';
|
443 |
$default_text .= '<p>' . __( 'Once your donation has been received we will mark it as complete and you will receive an email receipt for your records. Please contact us with any questions you may have!', 'give' ) . '</p>';
|
444 |
$default_text .= '<p>' . __( 'Sincerely,', 'give' ) . '</p>';
|
445 |
$default_text .= '<p>' . $sitename . '</p>';
|
includes/install.php
CHANGED
@@ -165,7 +165,7 @@ function give_run_install() {
|
|
165 |
Give()->session->use_php_sessions();
|
166 |
|
167 |
// Add a temporary option to note that Give pages have been created.
|
168 |
-
|
169 |
|
170 |
if ( ! $current_version ) {
|
171 |
|
@@ -191,7 +191,7 @@ function give_run_install() {
|
|
191 |
}
|
192 |
|
193 |
// Add the transient to redirect.
|
194 |
-
|
195 |
|
196 |
}
|
197 |
|
@@ -268,7 +268,7 @@ function give_after_install() {
|
|
268 |
return;
|
269 |
}
|
270 |
|
271 |
-
$give_options =
|
272 |
$give_table_check = get_option( '_give_table_check', false );
|
273 |
|
274 |
if ( false === $give_table_check || current_time( 'timestamp' ) > $give_table_check ) {
|
@@ -302,7 +302,7 @@ function give_after_install() {
|
|
302 |
|
303 |
// Delete the transient
|
304 |
if ( false !== $give_options ) {
|
305 |
-
|
306 |
}
|
307 |
|
308 |
|
165 |
Give()->session->use_php_sessions();
|
166 |
|
167 |
// Add a temporary option to note that Give pages have been created.
|
168 |
+
Give_Cache::set( '_give_installed', $options, 30, true );
|
169 |
|
170 |
if ( ! $current_version ) {
|
171 |
|
191 |
}
|
192 |
|
193 |
// Add the transient to redirect.
|
194 |
+
Give_Cache::set( '_give_activation_redirect', true, 30, true );
|
195 |
|
196 |
}
|
197 |
|
268 |
return;
|
269 |
}
|
270 |
|
271 |
+
$give_options = Give_Cache::get( '_give_installed', true );
|
272 |
$give_table_check = get_option( '_give_table_check', false );
|
273 |
|
274 |
if ( false === $give_table_check || current_time( 'timestamp' ) > $give_table_check ) {
|
302 |
|
303 |
// Delete the transient
|
304 |
if ( false !== $give_options ) {
|
305 |
+
Give_Cache::delete( Give_Cache::get_key( '_give_installed' ) );
|
306 |
}
|
307 |
|
308 |
|
includes/libraries/sessions/class-recursive-arrayaccess.php
CHANGED
@@ -7,16 +7,16 @@
|
|
7 |
*
|
8 |
* @package WordPress
|
9 |
* @subpackage Session
|
10 |
-
* @since 3.
|
11 |
*/
|
12 |
|
13 |
/**
|
14 |
* Recursive array class to allow multidimensional array access.
|
15 |
*
|
16 |
* @package WordPress
|
17 |
-
* @since 3.
|
18 |
*/
|
19 |
-
class Recursive_ArrayAccess implements ArrayAccess {
|
20 |
/**
|
21 |
* Internal data collection.
|
22 |
*
|
@@ -68,9 +68,9 @@ class Recursive_ArrayAccess implements ArrayAccess {
|
|
68 |
return $data;
|
69 |
}
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
|
75 |
/**
|
76 |
* Whether a offset exists
|
@@ -132,5 +132,82 @@ class Recursive_ArrayAccess implements ArrayAccess {
|
|
132 |
*/
|
133 |
public function offsetUnset( $offset ) {
|
134 |
unset( $this->container[ $offset ] );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
}
|
136 |
}
|
7 |
*
|
8 |
* @package WordPress
|
9 |
* @subpackage Session
|
10 |
+
* @since 3.7.0
|
11 |
*/
|
12 |
|
13 |
/**
|
14 |
* Recursive array class to allow multidimensional array access.
|
15 |
*
|
16 |
* @package WordPress
|
17 |
+
* @since 3.7.0
|
18 |
*/
|
19 |
+
class Recursive_ArrayAccess implements ArrayAccess, Iterator, Countable {
|
20 |
/**
|
21 |
* Internal data collection.
|
22 |
*
|
68 |
return $data;
|
69 |
}
|
70 |
|
71 |
+
/*****************************************************************/
|
72 |
+
/* ArrayAccess Implementation */
|
73 |
+
/*****************************************************************/
|
74 |
|
75 |
/**
|
76 |
* Whether a offset exists
|
132 |
*/
|
133 |
public function offsetUnset( $offset ) {
|
134 |
unset( $this->container[ $offset ] );
|
135 |
+
|
136 |
+
$this->dirty = true;
|
137 |
+
}
|
138 |
+
|
139 |
+
|
140 |
+
/*****************************************************************/
|
141 |
+
/* Iterator Implementation */
|
142 |
+
/*****************************************************************/
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Current position of the array.
|
146 |
+
*
|
147 |
+
* @link http://php.net/manual/en/iterator.current.php
|
148 |
+
*
|
149 |
+
* @return mixed
|
150 |
+
*/
|
151 |
+
public function current() {
|
152 |
+
return current( $this->container );
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Key of the current element.
|
157 |
+
*
|
158 |
+
* @link http://php.net/manual/en/iterator.key.php
|
159 |
+
*
|
160 |
+
* @return mixed
|
161 |
+
*/
|
162 |
+
public function key() {
|
163 |
+
return key( $this->container );
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Move the internal point of the container array to the next item
|
168 |
+
*
|
169 |
+
* @link http://php.net/manual/en/iterator.next.php
|
170 |
+
*
|
171 |
+
* @return void
|
172 |
+
*/
|
173 |
+
public function next() {
|
174 |
+
next( $this->container );
|
175 |
+
}
|
176 |
+
|
177 |
+
/**
|
178 |
+
* Rewind the internal point of the container array.
|
179 |
+
*
|
180 |
+
* @link http://php.net/manual/en/iterator.rewind.php
|
181 |
+
*
|
182 |
+
* @return void
|
183 |
+
*/
|
184 |
+
public function rewind() {
|
185 |
+
reset( $this->container );
|
186 |
+
}
|
187 |
+
|
188 |
+
/**
|
189 |
+
* Is the current key valid?
|
190 |
+
*
|
191 |
+
* @link http://php.net/manual/en/iterator.rewind.php
|
192 |
+
*
|
193 |
+
* @return bool
|
194 |
+
*/
|
195 |
+
public function valid() {
|
196 |
+
return $this->offsetExists( $this->key() );
|
197 |
+
}
|
198 |
+
|
199 |
+
/*****************************************************************/
|
200 |
+
/* Countable Implementation */
|
201 |
+
/*****************************************************************/
|
202 |
+
|
203 |
+
/**
|
204 |
+
* Get the count of elements in the container array.
|
205 |
+
*
|
206 |
+
* @link http://php.net/manual/en/countable.count.php
|
207 |
+
*
|
208 |
+
* @return int
|
209 |
+
*/
|
210 |
+
public function count() {
|
211 |
+
return count( $this->container );
|
212 |
}
|
213 |
}
|
includes/libraries/sessions/class-wp-session-utils.php
ADDED
@@ -0,0 +1,139 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Utility class for sesion utilities
|
5 |
+
*
|
6 |
+
* THIS CLASS SHOULD NEVER BE INSTANTIATED
|
7 |
+
*/
|
8 |
+
class WP_Session_Utils {
|
9 |
+
/**
|
10 |
+
* Count the total sessions in the database.
|
11 |
+
*
|
12 |
+
* @global wpdb $wpdb
|
13 |
+
*
|
14 |
+
* @return int
|
15 |
+
*/
|
16 |
+
public static function count_sessions() {
|
17 |
+
global $wpdb;
|
18 |
+
|
19 |
+
$query = "SELECT COUNT(*) FROM $wpdb->options WHERE option_name LIKE '_wp_session_expires_%'";
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Filter the query in case tables are non-standard.
|
23 |
+
*
|
24 |
+
* @param string $query Database count query
|
25 |
+
*/
|
26 |
+
$query = apply_filters( 'wp_session_count_query', $query );
|
27 |
+
|
28 |
+
$sessions = $wpdb->get_var( $query );
|
29 |
+
|
30 |
+
return absint( $sessions );
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Create a new, random session in the database.
|
35 |
+
*
|
36 |
+
* @param null|string $date
|
37 |
+
*/
|
38 |
+
public static function create_dummy_session( $date = null ) {
|
39 |
+
// Generate our date
|
40 |
+
if ( null !== $date ) {
|
41 |
+
$time = strtotime( $date );
|
42 |
+
|
43 |
+
if ( false === $time ) {
|
44 |
+
$date = null;
|
45 |
+
} else {
|
46 |
+
$expires = date( 'U', strtotime( $date ) );
|
47 |
+
}
|
48 |
+
}
|
49 |
+
|
50 |
+
// If null was passed, or if the string parsing failed, fall back on a default
|
51 |
+
if ( null === $date ) {
|
52 |
+
/**
|
53 |
+
* Filter the expiration of the session in the database
|
54 |
+
*
|
55 |
+
* @param int
|
56 |
+
*/
|
57 |
+
$expires = time() + (int) apply_filters( 'wp_session_expiration', 30 * 60 );
|
58 |
+
}
|
59 |
+
|
60 |
+
$session_id = self::generate_id();
|
61 |
+
|
62 |
+
// Store the session
|
63 |
+
add_option( "_wp_session_{$session_id}", array(), '', 'no' );
|
64 |
+
add_option( "_wp_session_expires_{$session_id}", $expires, '', 'no' );
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Delete old sessions from the database.
|
69 |
+
*
|
70 |
+
* @param int $limit Maximum number of sessions to delete.
|
71 |
+
*
|
72 |
+
* @global wpdb $wpdb
|
73 |
+
*
|
74 |
+
* @return int Sessions deleted.
|
75 |
+
*/
|
76 |
+
public static function delete_old_sessions( $limit = 1000 ) {
|
77 |
+
global $wpdb;
|
78 |
+
|
79 |
+
$limit = absint( $limit );
|
80 |
+
$keys = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options WHERE option_name LIKE '_wp_session_expires_%' ORDER BY option_value ASC LIMIT 0, {$limit}" );
|
81 |
+
|
82 |
+
$now = time();
|
83 |
+
$expired = array();
|
84 |
+
$count = 0;
|
85 |
+
|
86 |
+
foreach( $keys as $expiration ) {
|
87 |
+
$key = $expiration->option_name;
|
88 |
+
$expires = $expiration->option_value;
|
89 |
+
|
90 |
+
if ( $now > $expires ) {
|
91 |
+
$session_id = preg_replace("/[^A-Za-z0-9_]/", '', substr( $key, 20 ) );
|
92 |
+
|
93 |
+
$expired[] = $key;
|
94 |
+
$expired[] = "_wp_session_{$session_id}";
|
95 |
+
|
96 |
+
$count += 1;
|
97 |
+
}
|
98 |
+
}
|
99 |
+
|
100 |
+
// Delete expired sessions
|
101 |
+
if ( ! empty( $expired ) ) {
|
102 |
+
$placeholders = array_fill( 0, count( $expired ), '%s' );
|
103 |
+
$format = implode( ', ', $placeholders );
|
104 |
+
$query = "DELETE FROM $wpdb->options WHERE option_name IN ($format)";
|
105 |
+
|
106 |
+
$prepared = $wpdb->prepare( $query, $expired );
|
107 |
+
$wpdb->query( $prepared );
|
108 |
+
}
|
109 |
+
|
110 |
+
return $count;
|
111 |
+
}
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Remove all sessions from the database, regardless of expiration.
|
115 |
+
*
|
116 |
+
* @global wpdb $wpdb
|
117 |
+
*
|
118 |
+
* @return int Sessions deleted
|
119 |
+
*/
|
120 |
+
public static function delete_all_sessions() {
|
121 |
+
global $wpdb;
|
122 |
+
|
123 |
+
$count = $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '_wp_session_%'" );
|
124 |
+
|
125 |
+
return (int) ( $count / 2 );
|
126 |
+
}
|
127 |
+
|
128 |
+
/**
|
129 |
+
* Generate a new, random session ID.
|
130 |
+
*
|
131 |
+
* @return string
|
132 |
+
*/
|
133 |
+
public static function generate_id() {
|
134 |
+
require_once( ABSPATH . 'wp-includes/class-phpass.php' );
|
135 |
+
$hash = new PasswordHash( 8, false );
|
136 |
+
|
137 |
+
return md5( $hash->get_random_bytes( 32 ) );
|
138 |
+
}
|
139 |
+
}
|
includes/libraries/sessions/class-wp-session.php
CHANGED
@@ -27,7 +27,7 @@ if ( ! defined( 'ABSPATH' ) ) exit;
|
|
27 |
* @package WordPress
|
28 |
* @since 3.7.0
|
29 |
*/
|
30 |
-
final class WP_Session extends Recursive_ArrayAccess
|
31 |
/**
|
32 |
* ID of the current session.
|
33 |
*
|
@@ -80,15 +80,13 @@ final class WP_Session extends Recursive_ArrayAccess implements Iterator, Counta
|
|
80 |
* @uses apply_filters Calls `wp_session_expiration` to determine how long until sessions expire.
|
81 |
*/
|
82 |
protected function __construct() {
|
83 |
-
|
84 |
if ( isset( $_COOKIE[WP_SESSION_COOKIE] ) ) {
|
85 |
-
|
86 |
$cookie = stripslashes( $_COOKIE[WP_SESSION_COOKIE] );
|
87 |
$cookie_crumbs = explode( '||', $cookie );
|
88 |
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
|
93 |
// Update the session expiration if we're past the variant time
|
94 |
if ( time() > $this->exp_variant ) {
|
@@ -97,16 +95,13 @@ final class WP_Session extends Recursive_ArrayAccess implements Iterator, Counta
|
|
97 |
add_option( "_wp_session_expires_{$this->session_id}", $this->expires, '', 'no' );
|
98 |
}
|
99 |
} else {
|
100 |
-
$this->session_id =
|
101 |
$this->set_expiration();
|
102 |
}
|
103 |
|
104 |
$this->read_data();
|
105 |
|
106 |
-
|
107 |
-
* Only set the cookie manually, on form submission.
|
108 |
-
*/
|
109 |
-
//$this->set_cookie();
|
110 |
|
111 |
}
|
112 |
|
@@ -134,24 +129,14 @@ final class WP_Session extends Recursive_ArrayAccess implements Iterator, Counta
|
|
134 |
}
|
135 |
|
136 |
/**
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
/**
|
146 |
-
* Generate a cryptographically strong unique ID for the session token.
|
147 |
-
*
|
148 |
-
* @return string
|
149 |
-
*/
|
150 |
-
protected function generate_id() {
|
151 |
-
require_once( ABSPATH . 'wp-includes/class-phpass.php');
|
152 |
-
$hasher = new PasswordHash( 8, false );
|
153 |
-
|
154 |
-
return md5( $hasher->get_random_bytes( 32 ) );
|
155 |
}
|
156 |
|
157 |
/**
|
@@ -173,15 +158,12 @@ final class WP_Session extends Recursive_ArrayAccess implements Iterator, Counta
|
|
173 |
public function write_data() {
|
174 |
$option_key = "_wp_session_{$this->session_id}";
|
175 |
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
}
|
182 |
-
delete_option( "_wp_session_{$this->session_id}" );
|
183 |
-
add_option( "_wp_session_{$this->session_id}", $this->container, '', 'no' );
|
184 |
-
}
|
185 |
}
|
186 |
}
|
187 |
|
@@ -222,7 +204,7 @@ final class WP_Session extends Recursive_ArrayAccess implements Iterator, Counta
|
|
222 |
delete_option( "_wp_session_{$this->session_id}" );
|
223 |
}
|
224 |
|
225 |
-
$this->session_id =
|
226 |
|
227 |
$this->set_cookie();
|
228 |
}
|
@@ -251,88 +233,4 @@ final class WP_Session extends Recursive_ArrayAccess implements Iterator, Counta
|
|
251 |
public function reset() {
|
252 |
$this->container = array();
|
253 |
}
|
254 |
-
|
255 |
-
/**
|
256 |
-
* Checks if is valid md5 string
|
257 |
-
*
|
258 |
-
* @param string $md5
|
259 |
-
* @return int
|
260 |
-
*/
|
261 |
-
protected function is_valid_md5( $md5 = '' ){
|
262 |
-
return preg_match( '/^[a-f0-9]{32}$/', $md5 );
|
263 |
-
}
|
264 |
-
|
265 |
-
/*****************************************************************/
|
266 |
-
/* Iterator Implementation */
|
267 |
-
/*****************************************************************/
|
268 |
-
|
269 |
-
/**
|
270 |
-
* Current position of the array.
|
271 |
-
*
|
272 |
-
* @link http://php.net/manual/en/iterator.current.php
|
273 |
-
*
|
274 |
-
* @return mixed
|
275 |
-
*/
|
276 |
-
public function current() {
|
277 |
-
return current( $this->container );
|
278 |
-
}
|
279 |
-
|
280 |
-
/**
|
281 |
-
* Key of the current element.
|
282 |
-
*
|
283 |
-
* @link http://php.net/manual/en/iterator.key.php
|
284 |
-
*
|
285 |
-
* @return mixed
|
286 |
-
*/
|
287 |
-
public function key() {
|
288 |
-
return key( $this->container );
|
289 |
-
}
|
290 |
-
|
291 |
-
/**
|
292 |
-
* Move the internal point of the container array to the next item
|
293 |
-
*
|
294 |
-
* @link http://php.net/manual/en/iterator.next.php
|
295 |
-
*
|
296 |
-
* @return void
|
297 |
-
*/
|
298 |
-
public function next() {
|
299 |
-
next( $this->container );
|
300 |
-
}
|
301 |
-
|
302 |
-
/**
|
303 |
-
* Rewind the internal point of the container array.
|
304 |
-
*
|
305 |
-
* @link http://php.net/manual/en/iterator.rewind.php
|
306 |
-
*
|
307 |
-
* @return void
|
308 |
-
*/
|
309 |
-
public function rewind() {
|
310 |
-
reset( $this->container );
|
311 |
-
}
|
312 |
-
|
313 |
-
/**
|
314 |
-
* Is the current key valid?
|
315 |
-
*
|
316 |
-
* @link http://php.net/manual/en/iterator.rewind.php
|
317 |
-
*
|
318 |
-
* @return bool
|
319 |
-
*/
|
320 |
-
public function valid() {
|
321 |
-
return $this->offsetExists( $this->key() );
|
322 |
-
}
|
323 |
-
|
324 |
-
/*****************************************************************/
|
325 |
-
/* Countable Implementation */
|
326 |
-
/*****************************************************************/
|
327 |
-
|
328 |
-
/**
|
329 |
-
* Get the count of elements in the container array.
|
330 |
-
*
|
331 |
-
* @link http://php.net/manual/en/countable.count.php
|
332 |
-
*
|
333 |
-
* @return int
|
334 |
-
*/
|
335 |
-
public function count() {
|
336 |
-
return count( $this->container );
|
337 |
-
}
|
338 |
-
}
|
27 |
* @package WordPress
|
28 |
* @since 3.7.0
|
29 |
*/
|
30 |
+
final class WP_Session extends Recursive_ArrayAccess {
|
31 |
/**
|
32 |
* ID of the current session.
|
33 |
*
|
80 |
* @uses apply_filters Calls `wp_session_expiration` to determine how long until sessions expire.
|
81 |
*/
|
82 |
protected function __construct() {
|
|
|
83 |
if ( isset( $_COOKIE[WP_SESSION_COOKIE] ) ) {
|
|
|
84 |
$cookie = stripslashes( $_COOKIE[WP_SESSION_COOKIE] );
|
85 |
$cookie_crumbs = explode( '||', $cookie );
|
86 |
|
87 |
+
$this->session_id = preg_replace("/[^A-Za-z0-9_]/", '', $cookie_crumbs[0] );
|
88 |
+
$this->expires = absint( $cookie_crumbs[1] );
|
89 |
+
$this->exp_variant = absint( $cookie_crumbs[2] );
|
90 |
|
91 |
// Update the session expiration if we're past the variant time
|
92 |
if ( time() > $this->exp_variant ) {
|
95 |
add_option( "_wp_session_expires_{$this->session_id}", $this->expires, '', 'no' );
|
96 |
}
|
97 |
} else {
|
98 |
+
$this->session_id = WP_Session_Utils::generate_id();
|
99 |
$this->set_expiration();
|
100 |
}
|
101 |
|
102 |
$this->read_data();
|
103 |
|
104 |
+
$this->set_cookie();
|
|
|
|
|
|
|
105 |
|
106 |
}
|
107 |
|
129 |
}
|
130 |
|
131 |
/**
|
132 |
+
* Set the session cookie
|
133 |
+
* @uses apply_filters Calls `wp_session_cookie_secure` to set the $secure parameter of setcookie()
|
134 |
+
* @uses apply_filters Calls `wp_session_cookie_httponly` to set the $httponly parameter of setcookie()
|
135 |
+
*/
|
136 |
+
protected function set_cookie() {
|
137 |
+
$secure = apply_filters('wp_session_cookie_secure', false);
|
138 |
+
$httponly = apply_filters('wp_session_cookie_httponly', false);
|
139 |
+
setcookie( WP_SESSION_COOKIE, $this->session_id . '||' . $this->expires . '||' . $this->exp_variant , $this->expires, COOKIEPATH, COOKIE_DOMAIN, $secure, $httponly );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
}
|
141 |
|
142 |
/**
|
158 |
public function write_data() {
|
159 |
$option_key = "_wp_session_{$this->session_id}";
|
160 |
|
161 |
+
if ( false === get_option( $option_key ) ) {
|
162 |
+
add_option( "_wp_session_{$this->session_id}", $this->container, '', 'no' );
|
163 |
+
add_option( "_wp_session_expires_{$this->session_id}", $this->expires, '', 'no' );
|
164 |
+
} else {
|
165 |
+
delete_option( "_wp_session_{$this->session_id}" );
|
166 |
+
add_option( "_wp_session_{$this->session_id}", $this->container, '', 'no' );
|
|
|
|
|
|
|
167 |
}
|
168 |
}
|
169 |
|
204 |
delete_option( "_wp_session_{$this->session_id}" );
|
205 |
}
|
206 |
|
207 |
+
$this->session_id = WP_Session_Utils::generate_id();
|
208 |
|
209 |
$this->set_cookie();
|
210 |
}
|
233 |
public function reset() {
|
234 |
$this->container = array();
|
235 |
}
|
236 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/libraries/sessions/wp-session.php
CHANGED
@@ -5,9 +5,9 @@
|
|
5 |
* Standardizes WordPress session data and uses either database transients or in-memory caching
|
6 |
* for storing user session information.
|
7 |
*
|
8 |
-
* @package
|
9 |
* @subpackage Session
|
10 |
-
* @since
|
11 |
*/
|
12 |
|
13 |
/**
|
@@ -78,8 +78,9 @@ function wp_session_start() {
|
|
78 |
|
79 |
return $wp_session->session_started();
|
80 |
}
|
81 |
-
|
82 |
-
add_action( 'plugins_loaded', 'wp_session_start' );
|
|
|
83 |
|
84 |
/**
|
85 |
* Return the current session status.
|
@@ -114,8 +115,9 @@ function wp_session_write_close() {
|
|
114 |
$wp_session->write_data();
|
115 |
do_action( 'wp_session_commit' );
|
116 |
}
|
117 |
-
|
118 |
-
add_action( 'shutdown', 'wp_session_write_close' );
|
|
|
119 |
|
120 |
/**
|
121 |
* Clean up expired sessions by removing data and their expiration entries from
|
@@ -125,42 +127,25 @@ add_action( 'shutdown', 'wp_session_write_close' );
|
|
125 |
* of a scheduled task or cron job.
|
126 |
*/
|
127 |
function wp_session_cleanup() {
|
128 |
-
global $wpdb;
|
129 |
-
|
130 |
if ( defined( 'WP_SETUP_CONFIG' ) ) {
|
131 |
return;
|
132 |
}
|
133 |
|
134 |
if ( ! defined( 'WP_INSTALLING' ) ) {
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
$session_id = substr( $expiration->option_name, 20 );
|
145 |
-
if ( (int) -1 === (int) $session_id || ! preg_match( '/^[a-f0-9]{32}$/', $session_id ) ) {
|
146 |
-
continue;
|
147 |
-
}
|
148 |
-
$expired_sessions[] = $expiration->option_name;
|
149 |
-
$expired_sessions[] = esc_sql( "_wp_session_$session_id" );
|
150 |
-
}
|
151 |
-
}
|
152 |
-
|
153 |
-
// Delete all expired sessions in a single query
|
154 |
-
if ( ! empty( $expired_sessions ) ) {
|
155 |
-
$option_names = implode( "','", $expired_sessions );
|
156 |
-
$wpdb->query( "DELETE FROM $wpdb->options WHERE option_name IN ('$option_names')" );
|
157 |
-
}
|
158 |
}
|
159 |
|
160 |
// Allow other plugins to hook in to the garbage collection process.
|
161 |
do_action( 'wp_session_cleanup' );
|
162 |
}
|
163 |
-
|
164 |
add_action( 'wp_session_garbage_collection', 'wp_session_cleanup' );
|
165 |
|
166 |
/**
|
@@ -168,8 +153,7 @@ add_action( 'wp_session_garbage_collection', 'wp_session_cleanup' );
|
|
168 |
*/
|
169 |
function wp_session_register_garbage_collection() {
|
170 |
if ( ! wp_next_scheduled( 'wp_session_garbage_collection' ) ) {
|
171 |
-
wp_schedule_event(
|
172 |
}
|
173 |
}
|
174 |
-
|
175 |
add_action( 'wp', 'wp_session_register_garbage_collection' );
|
5 |
* Standardizes WordPress session data and uses either database transients or in-memory caching
|
6 |
* for storing user session information.
|
7 |
*
|
8 |
+
* @package WordPress
|
9 |
* @subpackage Session
|
10 |
+
* @since 3.7.0
|
11 |
*/
|
12 |
|
13 |
/**
|
78 |
|
79 |
return $wp_session->session_started();
|
80 |
}
|
81 |
+
if ( ! defined( 'WP_CLI' ) || false === WP_CLI ) {
|
82 |
+
add_action( 'plugins_loaded', 'wp_session_start' );
|
83 |
+
}
|
84 |
|
85 |
/**
|
86 |
* Return the current session status.
|
115 |
$wp_session->write_data();
|
116 |
do_action( 'wp_session_commit' );
|
117 |
}
|
118 |
+
if ( ! defined( 'WP_CLI' ) || false === WP_CLI ) {
|
119 |
+
add_action( 'shutdown', 'wp_session_write_close' );
|
120 |
+
}
|
121 |
|
122 |
/**
|
123 |
* Clean up expired sessions by removing data and their expiration entries from
|
127 |
* of a scheduled task or cron job.
|
128 |
*/
|
129 |
function wp_session_cleanup() {
|
|
|
|
|
130 |
if ( defined( 'WP_SETUP_CONFIG' ) ) {
|
131 |
return;
|
132 |
}
|
133 |
|
134 |
if ( ! defined( 'WP_INSTALLING' ) ) {
|
135 |
+
/**
|
136 |
+
* Determine the size of each batch for deletion.
|
137 |
+
*
|
138 |
+
* @param int
|
139 |
+
*/
|
140 |
+
$batch_size = apply_filters( 'wp_session_delete_batch_size', 1000 );
|
141 |
+
|
142 |
+
// Delete a batch of old sessions
|
143 |
+
WP_Session_Utils::delete_old_sessions( $batch_size );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
}
|
145 |
|
146 |
// Allow other plugins to hook in to the garbage collection process.
|
147 |
do_action( 'wp_session_cleanup' );
|
148 |
}
|
|
|
149 |
add_action( 'wp_session_garbage_collection', 'wp_session_cleanup' );
|
150 |
|
151 |
/**
|
153 |
*/
|
154 |
function wp_session_register_garbage_collection() {
|
155 |
if ( ! wp_next_scheduled( 'wp_session_garbage_collection' ) ) {
|
156 |
+
wp_schedule_event( time(), 'hourly', 'wp_session_garbage_collection' );
|
157 |
}
|
158 |
}
|
|
|
159 |
add_action( 'wp', 'wp_session_register_garbage_collection' );
|
includes/misc-functions.php
CHANGED
@@ -66,36 +66,36 @@ function give_get_currency_position() {
|
|
66 |
|
67 |
function give_get_currencies() {
|
68 |
$currencies = array(
|
69 |
-
'USD' =>
|
70 |
-
'EUR' =>
|
71 |
-
'GBP' =>
|
72 |
-
'AUD' =>
|
73 |
-
'BRL' =>
|
74 |
-
'CAD' =>
|
75 |
-
'CZK' =>
|
76 |
-
'DKK' =>
|
77 |
-
'HKD' =>
|
78 |
-
'HUF' =>
|
79 |
-
'ILS' =>
|
80 |
-
'JPY' =>
|
81 |
-
'MYR' =>
|
82 |
-
'MXN' =>
|
83 |
-
'MAD' =>
|
84 |
-
'NZD' =>
|
85 |
-
'NOK' =>
|
86 |
-
'PHP' =>
|
87 |
-
'PLN' =>
|
88 |
-
'SGD' =>
|
89 |
-
'KRW' =>
|
90 |
-
'ZAR' =>
|
91 |
-
'SEK' =>
|
92 |
-
'CHF' =>
|
93 |
-
'TWD' =>
|
94 |
-
'THB' =>
|
95 |
-
'INR' =>
|
96 |
-
'TRY' =>
|
97 |
-
'RIAL' =>
|
98 |
-
'RUB' =>
|
99 |
);
|
100 |
|
101 |
return apply_filters( 'give_currencies', $currencies );
|
@@ -166,7 +166,7 @@ function give_currency_symbol( $currency = '' ) {
|
|
166 |
break;
|
167 |
case 'DKK' :
|
168 |
case 'SEK' :
|
169 |
-
$symbol = 'kr';
|
170 |
break;
|
171 |
case 'PLN' :
|
172 |
$symbol = 'zł';
|
@@ -1050,3 +1050,35 @@ function give_is_terms_enabled( $form_id ) {
|
|
1050 |
return false;
|
1051 |
}
|
1052 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
|
67 |
function give_get_currencies() {
|
68 |
$currencies = array(
|
69 |
+
'USD' => __( 'US Dollars ($)', 'give' ),
|
70 |
+
'EUR' => __( 'Euros (€)', 'give' ),
|
71 |
+
'GBP' => __( 'Pounds Sterling (£)', 'give' ),
|
72 |
+
'AUD' => __( 'Australian Dollars ($)', 'give' ),
|
73 |
+
'BRL' => __( 'Brazilian Real (R$)', 'give' ),
|
74 |
+
'CAD' => __( 'Canadian Dollars ($)', 'give' ),
|
75 |
+
'CZK' => __( 'Czech Koruna (Kč)', 'give' ),
|
76 |
+
'DKK' => __( 'Danish Krone (kr.)', 'give' ),
|
77 |
+
'HKD' => __( 'Hong Kong Dollar ($)', 'give' ),
|
78 |
+
'HUF' => __( 'Hungarian Forint (Ft)', 'give' ),
|
79 |
+
'ILS' => __( 'Israeli Shekel (₪)', 'give' ),
|
80 |
+
'JPY' => __( 'Japanese Yen (¥)', 'give' ),
|
81 |
+
'MYR' => __( 'Malaysian Ringgits (RM)', 'give' ),
|
82 |
+
'MXN' => __( 'Mexican Peso ($)', 'give' ),
|
83 |
+
'MAD' => __( 'Moroccan Dirham (.د.م)', 'give' ),
|
84 |
+
'NZD' => __( 'New Zealand Dollar ($)', 'give' ),
|
85 |
+
'NOK' => __( 'Norwegian Krone (Kr.)', 'give' ),
|
86 |
+
'PHP' => __( 'Philippine Pesos (₱)', 'give' ),
|
87 |
+
'PLN' => __( 'Polish Zloty (zł)', 'give' ),
|
88 |
+
'SGD' => __( 'Singapore Dollar ($)', 'give' ),
|
89 |
+
'KRW' => __( 'South Korean Won (₩)', 'give' ),
|
90 |
+
'ZAR' => __( 'South African Rand (R)', 'give' ),
|
91 |
+
'SEK' => __( 'Swedish Krona (kr)', 'give' ),
|
92 |
+
'CHF' => __( 'Swiss Franc (CHF)', 'give' ),
|
93 |
+
'TWD' => __( 'Taiwan New Dollars (NT$)', 'give' ),
|
94 |
+
'THB' => __( 'Thai Baht (฿)', 'give' ),
|
95 |
+
'INR' => __( 'Indian Rupee (₹)', 'give' ),
|
96 |
+
'TRY' => __( 'Turkish Lira (₺)', 'give' ),
|
97 |
+
'RIAL' => __( 'Iranian Rial (﷼)', 'give' ),
|
98 |
+
'RUB' => __( 'Russian Rubles (руб)', 'give' )
|
99 |
);
|
100 |
|
101 |
return apply_filters( 'give_currencies', $currencies );
|
166 |
break;
|
167 |
case 'DKK' :
|
168 |
case 'SEK' :
|
169 |
+
$symbol = ' kr. ';
|
170 |
break;
|
171 |
case 'PLN' :
|
172 |
$symbol = 'zł';
|
1050 |
return false;
|
1051 |
}
|
1052 |
}
|
1053 |
+
|
1054 |
+
|
1055 |
+
/**
|
1056 |
+
* Delete donation stats cache.
|
1057 |
+
* @todo Resolve stats cache key naming issue. Currently it is difficult to regenerate cache key.
|
1058 |
+
*
|
1059 |
+
* @since 1.8.7
|
1060 |
+
*
|
1061 |
+
* @param string|array $date_range Date for stats.
|
1062 |
+
* Date value should be in today, yesterday, this_week, last_week, this_month, last_month, this_quarter, last_quarter, this_year, last_year.
|
1063 |
+
* For date value other, all cache will be removed.
|
1064 |
+
*
|
1065 |
+
* @param array $args
|
1066 |
+
*
|
1067 |
+
* @return WP_Error|bool
|
1068 |
+
*/
|
1069 |
+
function give_delete_donation_stats( $date_range = '', $args = array() ) {
|
1070 |
+
// Delete all cache.
|
1071 |
+
$status = Give_Cache::delete( Give_Cache::get_options_like( 'give_stats' ) );
|
1072 |
+
|
1073 |
+
/**
|
1074 |
+
* Fire the action when donation stats delete.
|
1075 |
+
*
|
1076 |
+
* @since 1.8.7
|
1077 |
+
*
|
1078 |
+
* @param string|array $date_range
|
1079 |
+
* @param array $args
|
1080 |
+
*/
|
1081 |
+
do_action( 'give_delete_donation_stats', $status, $date_range, $args );
|
1082 |
+
|
1083 |
+
return $status;
|
1084 |
+
}
|
includes/payments/actions.php
CHANGED
@@ -82,11 +82,8 @@ function give_complete_purchase( $payment_id, $new_status, $old_status ) {
|
|
82 |
give_increase_earnings( $form_id, $amount );
|
83 |
give_increase_purchase_count( $form_id );
|
84 |
|
85 |
-
//
|
86 |
-
|
87 |
-
// Clear the This Month earnings (this_monththis_month is NOT a typo).
|
88 |
-
delete_transient( md5( 'give_earnings_this_monththis_month' ) );
|
89 |
-
delete_transient( md5( 'give_earnings_todaytoday' ) );
|
90 |
|
91 |
// Increase the donor's donation stats.
|
92 |
$customer = new Give_Customer( $customer_id );
|
@@ -148,32 +145,6 @@ function give_record_status_change( $payment_id, $new_status, $old_status ) {
|
|
148 |
add_action( 'give_update_payment_status', 'give_record_status_change', 100, 3 );
|
149 |
|
150 |
|
151 |
-
/**
|
152 |
-
* Clear User History Cache
|
153 |
-
*
|
154 |
-
* Flushes the current user's donation history transient when a payment status
|
155 |
-
* is updated.
|
156 |
-
*
|
157 |
-
* @since 1.0
|
158 |
-
*
|
159 |
-
* @param int $payment_id The ID number of the payment.
|
160 |
-
* @param string $new_status The status of the payment, probably "publish".
|
161 |
-
* @param string $old_status The status of the payment prior to being marked as "complete", probably "pending".
|
162 |
-
*
|
163 |
-
* @return void
|
164 |
-
*/
|
165 |
-
function give_clear_user_history_cache( $payment_id, $new_status, $old_status ) {
|
166 |
-
|
167 |
-
$payment = new Give_Payment( $payment_id );
|
168 |
-
|
169 |
-
if ( ! empty( $payment->user_id ) ) {
|
170 |
-
delete_transient( 'give_user_' . $payment->user_id . '_purchases' );
|
171 |
-
}
|
172 |
-
|
173 |
-
}
|
174 |
-
|
175 |
-
add_action( 'give_update_payment_status', 'give_clear_user_history_cache', 10, 3 );
|
176 |
-
|
177 |
/**
|
178 |
* Update Old Payments Totals
|
179 |
*
|
@@ -278,14 +249,11 @@ add_action( 'give_weekly_scheduled_events', 'give_mark_abandoned_donations' );
|
|
278 |
* @return void
|
279 |
*/
|
280 |
function give_refresh_thismonth_stat_transients( $payment_ID ) {
|
|
|
|
|
281 |
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
// Delete transients.
|
286 |
-
delete_transient( 'give_estimated_monthly_stats' );
|
287 |
-
delete_transient( 'give_earnings_total' );
|
288 |
-
delete_transient( $stats->get_earnings_cache_key( 0, 'this_month' ) );
|
289 |
}
|
290 |
|
291 |
add_action( 'save_post_give_payment', 'give_refresh_thismonth_stat_transients' );
|
82 |
give_increase_earnings( $form_id, $amount );
|
83 |
give_increase_purchase_count( $form_id );
|
84 |
|
85 |
+
// @todo: Refresh only range related stat cache
|
86 |
+
give_delete_donation_stats();
|
|
|
|
|
|
|
87 |
|
88 |
// Increase the donor's donation stats.
|
89 |
$customer = new Give_Customer( $customer_id );
|
145 |
add_action( 'give_update_payment_status', 'give_record_status_change', 100, 3 );
|
146 |
|
147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
/**
|
149 |
* Update Old Payments Totals
|
150 |
*
|
249 |
* @return void
|
250 |
*/
|
251 |
function give_refresh_thismonth_stat_transients( $payment_ID ) {
|
252 |
+
// Monthly stats.
|
253 |
+
Give_Cache::delete( Give_Cache::get_key( 'give_estimated_monthly_stats' ) );
|
254 |
|
255 |
+
// @todo: Refresh only range related stat cache
|
256 |
+
give_delete_donation_stats();
|
|
|
|
|
|
|
|
|
|
|
257 |
}
|
258 |
|
259 |
add_action( 'save_post_give_payment', 'give_refresh_thismonth_stat_transients' );
|
includes/payments/class-give-payment.php
CHANGED
@@ -1626,8 +1626,8 @@ final class Give_Payment {
|
|
1626 |
$this->maybe_alter_stats( $decrease_store_earnings, $decrease_customer_value, $decrease_purchase_count );
|
1627 |
$this->delete_sales_logs();
|
1628 |
|
1629 |
-
//
|
1630 |
-
|
1631 |
|
1632 |
/**
|
1633 |
* Fires after refunding payment.
|
@@ -1684,8 +1684,8 @@ final class Give_Payment {
|
|
1684 |
$this->completed_date = false;
|
1685 |
$this->update_meta( '_give_completed_date', '' );
|
1686 |
|
1687 |
-
//
|
1688 |
-
|
1689 |
}
|
1690 |
|
1691 |
/**
|
@@ -1721,8 +1721,8 @@ final class Give_Payment {
|
|
1721 |
$this->completed_date = false;
|
1722 |
$this->update_meta( '_give_completed_date', '' );
|
1723 |
|
1724 |
-
//
|
1725 |
-
|
1726 |
}
|
1727 |
|
1728 |
/**
|
@@ -1756,8 +1756,8 @@ final class Give_Payment {
|
|
1756 |
$this->completed_date = false;
|
1757 |
$this->update_meta( '_give_completed_date', '' );
|
1758 |
|
1759 |
-
//
|
1760 |
-
|
1761 |
}
|
1762 |
|
1763 |
/**
|
1626 |
$this->maybe_alter_stats( $decrease_store_earnings, $decrease_customer_value, $decrease_purchase_count );
|
1627 |
$this->delete_sales_logs();
|
1628 |
|
1629 |
+
// @todo: Refresh only range related stat cache
|
1630 |
+
give_delete_donation_stats();
|
1631 |
|
1632 |
/**
|
1633 |
* Fires after refunding payment.
|
1684 |
$this->completed_date = false;
|
1685 |
$this->update_meta( '_give_completed_date', '' );
|
1686 |
|
1687 |
+
// @todo: Refresh only range related stat cache
|
1688 |
+
give_delete_donation_stats();
|
1689 |
}
|
1690 |
|
1691 |
/**
|
1721 |
$this->completed_date = false;
|
1722 |
$this->update_meta( '_give_completed_date', '' );
|
1723 |
|
1724 |
+
// @todo: Refresh only range related stat cache
|
1725 |
+
give_delete_donation_stats();
|
1726 |
}
|
1727 |
|
1728 |
/**
|
1756 |
$this->completed_date = false;
|
1757 |
$this->update_meta( '_give_completed_date', '' );
|
1758 |
|
1759 |
+
// @todo: Refresh only range related stat cache
|
1760 |
+
give_delete_donation_stats();
|
1761 |
}
|
1762 |
|
1763 |
/**
|
includes/payments/class-payment-stats.php
CHANGED
@@ -143,8 +143,8 @@ class Give_Payment_Stats extends Give_Stats {
|
|
143 |
}
|
144 |
|
145 |
$args = apply_filters( 'give_stats_earnings_args', $args );
|
146 |
-
$key = '
|
147 |
-
$earnings =
|
148 |
|
149 |
if ( false === $earnings ) {
|
150 |
$sales = get_posts( $args );
|
@@ -154,7 +154,7 @@ class Give_Payment_Stats extends Give_Stats {
|
|
154 |
$earnings += $wpdb->get_var( "SELECT SUM(meta_value) FROM $wpdb->postmeta WHERE meta_key = '_give_payment_total' AND post_id IN({$sales})" );
|
155 |
}
|
156 |
// Cache the results for one hour
|
157 |
-
|
158 |
}
|
159 |
|
160 |
} else {
|
@@ -175,9 +175,9 @@ class Give_Payment_Stats extends Give_Stats {
|
|
175 |
// This is not a valid query arg, but is used for cache keying
|
176 |
);
|
177 |
$args = apply_filters( 'give_stats_earnings_args', $args );
|
178 |
-
$key = '
|
179 |
//Set transient for faster stats
|
180 |
-
$earnings =
|
181 |
|
182 |
if ( false === $earnings ) {
|
183 |
|
@@ -196,7 +196,7 @@ class Give_Payment_Stats extends Give_Stats {
|
|
196 |
}
|
197 |
|
198 |
// Cache the results for one hour
|
199 |
-
|
200 |
}
|
201 |
}
|
202 |
|
@@ -261,7 +261,7 @@ class Give_Payment_Stats extends Give_Stats {
|
|
261 |
}
|
262 |
|
263 |
$args = apply_filters( 'give_stats_earnings_args', $args );
|
264 |
-
$key = '
|
265 |
|
266 |
} else {
|
267 |
|
@@ -280,8 +280,9 @@ class Give_Payment_Stats extends Give_Stats {
|
|
280 |
'give_transient_type' => 'give_earnings',
|
281 |
// This is not a valid query arg, but is used for cache keying
|
282 |
);
|
|
|
283 |
$args = apply_filters( 'give_stats_earnings_args', $args );
|
284 |
-
$key = '
|
285 |
}
|
286 |
|
287 |
//remove our filter
|
143 |
}
|
144 |
|
145 |
$args = apply_filters( 'give_stats_earnings_args', $args );
|
146 |
+
$key = Give_Cache::get_key( 'give_stats', $args );
|
147 |
+
$earnings = Give_Cache::get( $key );
|
148 |
|
149 |
if ( false === $earnings ) {
|
150 |
$sales = get_posts( $args );
|
154 |
$earnings += $wpdb->get_var( "SELECT SUM(meta_value) FROM $wpdb->postmeta WHERE meta_key = '_give_payment_total' AND post_id IN({$sales})" );
|
155 |
}
|
156 |
// Cache the results for one hour
|
157 |
+
Give_Cache::set( $key, $earnings, HOUR_IN_SECONDS );
|
158 |
}
|
159 |
|
160 |
} else {
|
175 |
// This is not a valid query arg, but is used for cache keying
|
176 |
);
|
177 |
$args = apply_filters( 'give_stats_earnings_args', $args );
|
178 |
+
$key = Give_Cache::get_key( 'give_stats', $args );
|
179 |
//Set transient for faster stats
|
180 |
+
$earnings = Give_Cache::get( $key );
|
181 |
|
182 |
if ( false === $earnings ) {
|
183 |
|
196 |
}
|
197 |
|
198 |
// Cache the results for one hour
|
199 |
+
Give_Cache::set( $key, $earnings, 60 * 60 );
|
200 |
}
|
201 |
}
|
202 |
|
261 |
}
|
262 |
|
263 |
$args = apply_filters( 'give_stats_earnings_args', $args );
|
264 |
+
$key = Give_Cache::get_key( 'give_stats', $args );
|
265 |
|
266 |
} else {
|
267 |
|
280 |
'give_transient_type' => 'give_earnings',
|
281 |
// This is not a valid query arg, but is used for cache keying
|
282 |
);
|
283 |
+
|
284 |
$args = apply_filters( 'give_stats_earnings_args', $args );
|
285 |
+
$key = Give_Cache::get_key( 'give_stats', $args );
|
286 |
}
|
287 |
|
288 |
//remove our filter
|
includes/payments/functions.php
CHANGED
@@ -25,23 +25,23 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
25 |
*
|
26 |
* @since 1.0
|
27 |
*
|
28 |
-
* @param array $args
|
29 |
* Optional. Array of arguments passed to payments query.
|
30 |
*
|
31 |
-
* @type int
|
32 |
* Default is 0.
|
33 |
-
* @type int
|
34 |
* payments. Default is 20.
|
35 |
-
* @type string $mode
|
36 |
-
* @type string $order
|
37 |
* Accepts 'ASC', 'DESC'. Default is 'DESC'.
|
38 |
-
* @type string $orderby
|
39 |
-
* @type string $status
|
40 |
-
* @type string $user
|
41 |
* @type string $meta_key Custom field key. Default is null.
|
42 |
* }
|
43 |
*
|
44 |
-
* @return
|
45 |
*/
|
46 |
function give_get_payments( $args = array() ) {
|
47 |
|
@@ -62,7 +62,7 @@ function give_get_payments( $args = array() ) {
|
|
62 |
* @since 1.0
|
63 |
*
|
64 |
* @param string $field The field to retrieve the payment with.
|
65 |
-
* @param mixed
|
66 |
*
|
67 |
* @return mixed
|
68 |
*/
|
@@ -196,7 +196,7 @@ function give_insert_payment( $payment_data = array() ) {
|
|
196 |
*
|
197 |
* @since 1.0
|
198 |
*
|
199 |
-
* @param int
|
200 |
* @param array $payment_data Arguments passed.
|
201 |
*/
|
202 |
do_action( 'give_insert_payment', $payment->ID, $payment_data );
|
@@ -256,7 +256,7 @@ function give_create_payment( $payment_data ) {
|
|
256 |
*
|
257 |
* @since 1.0
|
258 |
*
|
259 |
-
* @param int
|
260 |
* @param string $new_status New Payment Status. Default is 'publish'.
|
261 |
*
|
262 |
* @return bool
|
@@ -277,7 +277,7 @@ function give_update_payment_status( $payment_id, $new_status = 'publish' ) {
|
|
277 |
* @since 1.0
|
278 |
* @global $give_logs
|
279 |
*
|
280 |
-
* @param int
|
281 |
* @param bool $update_customer If we should update the customer stats (default:true).
|
282 |
*
|
283 |
* @return void
|
@@ -305,8 +305,9 @@ function give_delete_purchase( $payment_id = 0, $update_customer = true ) {
|
|
305 |
|
306 |
// Only decrease earnings if they haven't already been decreased (or were never increased for this payment).
|
307 |
give_decrease_total_earnings( $amount );
|
308 |
-
|
309 |
-
|
|
|
310 |
|
311 |
if ( $customer->id && $update_customer ) {
|
312 |
|
@@ -366,8 +367,8 @@ function give_delete_purchase( $payment_id = 0, $update_customer = true ) {
|
|
366 |
*
|
367 |
* @since 1.0
|
368 |
*
|
369 |
-
* @param int|bool $form_id
|
370 |
-
* @param int
|
371 |
*
|
372 |
* @return void
|
373 |
*/
|
@@ -404,7 +405,7 @@ function give_undo_purchase( $form_id = false, $payment_id ) {
|
|
404 |
*
|
405 |
* @param array $args Arguments passed.
|
406 |
*
|
407 |
-
* @return
|
408 |
*/
|
409 |
function give_count_payments( $args = array() ) {
|
410 |
|
@@ -604,8 +605,8 @@ function give_check_for_existing_payment( $payment_id ) {
|
|
604 |
*
|
605 |
* @since 1.0
|
606 |
*
|
607 |
-
* @param WP_Post|Give_Payment $payment
|
608 |
-
* @param bool
|
609 |
* instead of status value. Default false.
|
610 |
*
|
611 |
* @return bool|mixed True if payment status exists, false otherwise.
|
@@ -657,6 +658,7 @@ function give_get_payment_statuses() {
|
|
657 |
'cancelled' => __( 'Cancelled', 'give' ),
|
658 |
'abandoned' => __( 'Abandoned', 'give' ),
|
659 |
'preapproval' => __( 'Pre-Approved', 'give' ),
|
|
|
660 |
'revoked' => __( 'Revoked', 'give' ),
|
661 |
);
|
662 |
|
@@ -684,10 +686,10 @@ function give_get_payment_status_keys() {
|
|
684 |
*
|
685 |
* @since 1.0
|
686 |
*
|
687 |
-
* @param int $day
|
688 |
* @param int $month_num Month number. Default is null.
|
689 |
-
* @param int $year
|
690 |
-
* @param int $hour
|
691 |
*
|
692 |
* @return int $earnings Earnings
|
693 |
*/
|
@@ -714,12 +716,12 @@ function give_get_earnings_by_date( $day = null, $month_num, $year = null, $hour
|
|
714 |
}
|
715 |
|
716 |
$args = apply_filters( 'give_get_earnings_by_date_args', $args );
|
717 |
-
$key = '
|
718 |
|
719 |
if ( ! empty( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], 'give-refresh-reports' ) ) {
|
720 |
$earnings = false;
|
721 |
} else {
|
722 |
-
$earnings =
|
723 |
}
|
724 |
|
725 |
if ( false === $earnings ) {
|
@@ -732,7 +734,7 @@ function give_get_earnings_by_date( $day = null, $month_num, $year = null, $hour
|
|
732 |
|
733 |
}
|
734 |
// Cache the results for one hour.
|
735 |
-
|
736 |
}
|
737 |
|
738 |
return round( $earnings, 2 );
|
@@ -743,10 +745,10 @@ function give_get_earnings_by_date( $day = null, $month_num, $year = null, $hour
|
|
743 |
*
|
744 |
* @since 1.0
|
745 |
*
|
746 |
-
* @param int $day
|
747 |
* @param int $month_num Month number. Default is null.
|
748 |
-
* @param int $year
|
749 |
-
* @param int $hour
|
750 |
*
|
751 |
* @return int $count Sales
|
752 |
*/
|
@@ -790,19 +792,19 @@ function give_get_sales_by_date( $day = null, $month_num = null, $year = null, $
|
|
790 |
|
791 |
$args = apply_filters( 'give_get_sales_by_date_args', $args );
|
792 |
|
793 |
-
$key = '
|
794 |
|
795 |
if ( ! empty( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], 'give-refresh-reports' ) ) {
|
796 |
$count = false;
|
797 |
} else {
|
798 |
-
$count =
|
799 |
}
|
800 |
|
801 |
if ( false === $count ) {
|
802 |
$sales = new WP_Query( $args );
|
803 |
$count = (int) $sales->post_count;
|
804 |
// Cache the results for one hour.
|
805 |
-
|
806 |
}
|
807 |
|
808 |
return $count;
|
@@ -851,54 +853,46 @@ function give_get_total_sales() {
|
|
851 |
*
|
852 |
* @since 1.0
|
853 |
*
|
|
|
|
|
854 |
* @return float $total Total earnings.
|
855 |
*/
|
856 |
-
function give_get_total_earnings() {
|
857 |
|
858 |
-
$total = get_option( 'give_earnings_total',
|
859 |
-
|
860 |
-
// If no total stored in DB, use old method of calculating total earnings.
|
861 |
-
if ( false === $total ) {
|
862 |
|
|
|
|
|
863 |
global $wpdb;
|
864 |
|
865 |
-
$total =
|
866 |
-
|
867 |
-
if ( false === $total ) {
|
868 |
|
869 |
-
|
|
|
|
|
|
|
|
|
|
|
870 |
|
871 |
-
|
872 |
-
|
873 |
-
'number' => - 1,
|
874 |
-
'status' => array( 'publish' ),
|
875 |
-
'fields' => 'ids',
|
876 |
-
) );
|
877 |
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
*/
|
886 |
-
if ( did_action( 'give_update_payment_status' ) ) {
|
887 |
-
array_pop( $payments );
|
888 |
-
}
|
889 |
-
|
890 |
-
if ( ! empty( $payments ) ) {
|
891 |
-
$payments = implode( ',', $payments );
|
892 |
-
$total += $wpdb->get_var( "SELECT SUM(meta_value) FROM $wpdb->postmeta WHERE meta_key = '_give_payment_total' AND post_id IN({$payments})" );
|
893 |
-
}
|
894 |
}
|
895 |
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
update_option( 'give_earnings_total', $total );
|
901 |
}
|
|
|
|
|
902 |
}
|
903 |
|
904 |
if ( $total < 0 ) {
|
@@ -913,7 +907,7 @@ function give_get_total_earnings() {
|
|
913 |
*
|
914 |
* @since 1.0
|
915 |
*
|
916 |
-
* @param int $amount
|
917 |
* Default is 0.
|
918 |
*
|
919 |
* @return float $total Total earnings.
|
@@ -951,9 +945,9 @@ function give_decrease_total_earnings( $amount = 0 ) {
|
|
951 |
*
|
952 |
* @since 1.0
|
953 |
*
|
954 |
-
* @param int
|
955 |
-
* @param string $meta_key
|
956 |
-
* @param bool
|
957 |
*
|
958 |
* @return mixed $meta Payment Meta.
|
959 |
*/
|
@@ -966,8 +960,8 @@ function give_get_payment_meta( $payment_id = 0, $meta_key = '_give_payment_meta
|
|
966 |
/**
|
967 |
* Update the meta for a payment
|
968 |
*
|
969 |
-
* @param int
|
970 |
-
* @param string $meta_key
|
971 |
* @param string $meta_value Value to update to.
|
972 |
* @param string $prev_value Previous value.
|
973 |
*
|
@@ -1380,8 +1374,8 @@ function give_get_payment_subtotal( $payment_id = 0 ) {
|
|
1380 |
*
|
1381 |
* @since 1.5
|
1382 |
*
|
1383 |
-
* @param int
|
1384 |
-
* @param string $type
|
1385 |
*
|
1386 |
* @return mixed array if payment fees found, false otherwise.
|
1387 |
*/
|
@@ -1411,7 +1405,7 @@ function give_get_payment_transaction_id( $payment_id = 0 ) {
|
|
1411 |
*
|
1412 |
* @since 1.0
|
1413 |
*
|
1414 |
-
* @param int
|
1415 |
* @param string $transaction_id The transaction ID from the gateway.
|
1416 |
*
|
1417 |
* @return bool|mixed
|
@@ -1433,7 +1427,7 @@ function give_set_payment_transaction_id( $payment_id = 0, $transaction_id = ''
|
|
1433 |
* @since 1.0
|
1434 |
* @global object $wpdb Used to query the database using the WordPress Database API.
|
1435 |
*
|
1436 |
-
* @param string
|
1437 |
*
|
1438 |
* @return int $purchase Donation ID.
|
1439 |
*/
|
@@ -1456,7 +1450,7 @@ function give_get_purchase_id_by_key( $key ) {
|
|
1456 |
* @since 1.3
|
1457 |
* @global object $wpdb Used to query the database using the WordPress Database API.
|
1458 |
*
|
1459 |
-
* @param string
|
1460 |
*
|
1461 |
* @return int $purchase Donation ID.
|
1462 |
*/
|
@@ -1477,8 +1471,8 @@ function give_get_purchase_id_by_transaction_id( $key ) {
|
|
1477 |
*
|
1478 |
* @since 1.0
|
1479 |
*
|
1480 |
-
* @param int
|
1481 |
-
* @param string $search
|
1482 |
*
|
1483 |
* @return array $notes Donation Notes
|
1484 |
*/
|
@@ -1505,8 +1499,8 @@ function give_get_payment_notes( $payment_id = 0, $search = '' ) {
|
|
1505 |
*
|
1506 |
* @since 1.0
|
1507 |
*
|
1508 |
-
* @param int
|
1509 |
-
* @param string $note
|
1510 |
*
|
1511 |
* @return int The new note ID
|
1512 |
*/
|
@@ -1520,8 +1514,8 @@ function give_insert_payment_note( $payment_id = 0, $note = '' ) {
|
|
1520 |
*
|
1521 |
* @since 1.0
|
1522 |
*
|
1523 |
-
* @param int
|
1524 |
-
* @param string $note
|
1525 |
*/
|
1526 |
do_action( 'give_pre_insert_payment_note', $payment_id, $note );
|
1527 |
|
@@ -1546,9 +1540,9 @@ function give_insert_payment_note( $payment_id = 0, $note = '' ) {
|
|
1546 |
*
|
1547 |
* @since 1.0
|
1548 |
*
|
1549 |
-
* @param int
|
1550 |
-
* @param int
|
1551 |
-
* @param string $note
|
1552 |
*/
|
1553 |
do_action( 'give_insert_payment_note', $note_id, $payment_id, $note );
|
1554 |
|
@@ -1600,8 +1594,8 @@ function give_delete_payment_note( $comment_id = 0, $payment_id = 0 ) {
|
|
1600 |
*
|
1601 |
* @since 1.0
|
1602 |
*
|
1603 |
-
* @param object|int $note
|
1604 |
-
* @param int
|
1605 |
*
|
1606 |
* @return string
|
1607 |
*/
|
@@ -1668,7 +1662,7 @@ add_action( 'pre_get_comments', 'give_hide_payment_notes', 10 );
|
|
1668 |
*
|
1669 |
* @since 1.0
|
1670 |
*
|
1671 |
-
* @param array
|
1672 |
* @param object $wp_comment_query WordPress Comment Query Object.
|
1673 |
*
|
1674 |
* @return array $clauses Updated comment clauses.
|
@@ -1711,8 +1705,8 @@ add_filter( 'comment_feed_where', 'give_hide_payment_notes_from_feeds', 10, 2 );
|
|
1711 |
* @access public
|
1712 |
* @since 1.0
|
1713 |
*
|
1714 |
-
* @param array $stats
|
1715 |
-
* @param int
|
1716 |
*
|
1717 |
* @return array Array of comment counts.
|
1718 |
*/
|
@@ -1803,9 +1797,9 @@ function give_filter_where_older_than_week( $where = '' ) {
|
|
1803 |
*
|
1804 |
* @since 1.5
|
1805 |
*
|
1806 |
-
* @param array
|
1807 |
-
* @param bool
|
1808 |
-
* @param string $separator
|
1809 |
*
|
1810 |
* @return string $form_title Returns the full title if $only_level is false, otherwise returns the levels title.
|
1811 |
*/
|
@@ -1849,8 +1843,8 @@ function give_get_payment_form_title( $payment_meta, $only_level = false, $separ
|
|
1849 |
*
|
1850 |
* Retrieves the Price ID when provided a proper form ID and price (donation) total
|
1851 |
*
|
1852 |
-
* @param int
|
1853 |
-
* @param string $price
|
1854 |
*
|
1855 |
* @return string $price_id
|
1856 |
*/
|
@@ -1888,7 +1882,7 @@ function give_get_price_id( $form_id, $price ) {
|
|
1888 |
* @since 1.6
|
1889 |
*
|
1890 |
* @param array $args Arguments for form dropdown.
|
1891 |
-
* @param bool
|
1892 |
*
|
1893 |
* @return string|void
|
1894 |
*/
|
@@ -1908,7 +1902,7 @@ function give_get_form_dropdown( $args = array(), $echo = false ) {
|
|
1908 |
* @since 1.6
|
1909 |
*
|
1910 |
* @param array $args Arguments for form dropdown.
|
1911 |
-
* @param bool
|
1912 |
*
|
1913 |
* @return string|bool
|
1914 |
*/
|
@@ -1966,14 +1960,14 @@ function give_get_form_variable_price_dropdown( $args = array(), $echo = false )
|
|
1966 |
*/
|
1967 |
function give_get_payment_meta_price_id( $payment_meta ) {
|
1968 |
|
1969 |
-
if(isset($payment_meta['give_price_id'])) {
|
1970 |
-
$price_id =
|
1971 |
-
} elseif(isset($payment_meta['price_id'])) {
|
1972 |
-
$price_id =
|
1973 |
} else {
|
1974 |
$price_id = give_get_price_id( $payment_meta['give_form_id'], $payment_meta['price'] );
|
1975 |
}
|
1976 |
|
1977 |
-
return apply_filters('give_get_payment_meta_price_id', $price_id);
|
1978 |
|
1979 |
}
|
25 |
*
|
26 |
* @since 1.0
|
27 |
*
|
28 |
+
* @param array $args {
|
29 |
* Optional. Array of arguments passed to payments query.
|
30 |
*
|
31 |
+
* @type int $offset The number of payments to offset before retrieval.
|
32 |
* Default is 0.
|
33 |
+
* @type int $number The number of payments to query for. Use -1 to request all
|
34 |
* payments. Default is 20.
|
35 |
+
* @type string $mode Default is 'live'.
|
36 |
+
* @type string $order Designates ascending or descending order of payments.
|
37 |
* Accepts 'ASC', 'DESC'. Default is 'DESC'.
|
38 |
+
* @type string $orderby Sort retrieved payments by parameter. Default is 'ID'.
|
39 |
+
* @type string $status The status of the payments. Default is 'any'.
|
40 |
+
* @type string $user User. Default is null.
|
41 |
* @type string $meta_key Custom field key. Default is null.
|
42 |
* }
|
43 |
*
|
44 |
+
* @return array $payments Payments retrieved from the database
|
45 |
*/
|
46 |
function give_get_payments( $args = array() ) {
|
47 |
|
62 |
* @since 1.0
|
63 |
*
|
64 |
* @param string $field The field to retrieve the payment with.
|
65 |
+
* @param mixed $value The value for $field.
|
66 |
*
|
67 |
* @return mixed
|
68 |
*/
|
196 |
*
|
197 |
* @since 1.0
|
198 |
*
|
199 |
+
* @param int $payment_id The payment ID.
|
200 |
* @param array $payment_data Arguments passed.
|
201 |
*/
|
202 |
do_action( 'give_insert_payment', $payment->ID, $payment_data );
|
256 |
*
|
257 |
* @since 1.0
|
258 |
*
|
259 |
+
* @param int $payment_id Payment ID.
|
260 |
* @param string $new_status New Payment Status. Default is 'publish'.
|
261 |
*
|
262 |
* @return bool
|
277 |
* @since 1.0
|
278 |
* @global $give_logs
|
279 |
*
|
280 |
+
* @param int $payment_id Payment ID (default: 0).
|
281 |
* @param bool $update_customer If we should update the customer stats (default:true).
|
282 |
*
|
283 |
* @return void
|
305 |
|
306 |
// Only decrease earnings if they haven't already been decreased (or were never increased for this payment).
|
307 |
give_decrease_total_earnings( $amount );
|
308 |
+
|
309 |
+
// @todo: Refresh only range related stat cache
|
310 |
+
give_delete_donation_stats();
|
311 |
|
312 |
if ( $customer->id && $update_customer ) {
|
313 |
|
367 |
*
|
368 |
* @since 1.0
|
369 |
*
|
370 |
+
* @param int|bool $form_id Form ID (default: false).
|
371 |
+
* @param int $payment_id Payment ID.
|
372 |
*
|
373 |
* @return void
|
374 |
*/
|
405 |
*
|
406 |
* @param array $args Arguments passed.
|
407 |
*
|
408 |
+
* @return object $stats Contains the number of payments per payment status.
|
409 |
*/
|
410 |
function give_count_payments( $args = array() ) {
|
411 |
|
605 |
*
|
606 |
* @since 1.0
|
607 |
*
|
608 |
+
* @param WP_Post|Give_Payment $payment Payment object.
|
609 |
+
* @param bool $return_label Whether to return the translated status label
|
610 |
* instead of status value. Default false.
|
611 |
*
|
612 |
* @return bool|mixed True if payment status exists, false otherwise.
|
658 |
'cancelled' => __( 'Cancelled', 'give' ),
|
659 |
'abandoned' => __( 'Abandoned', 'give' ),
|
660 |
'preapproval' => __( 'Pre-Approved', 'give' ),
|
661 |
+
'processing' => __( 'Processing', 'give' ),
|
662 |
'revoked' => __( 'Revoked', 'give' ),
|
663 |
);
|
664 |
|
686 |
*
|
687 |
* @since 1.0
|
688 |
*
|
689 |
+
* @param int $day Day number. Default is null.
|
690 |
* @param int $month_num Month number. Default is null.
|
691 |
+
* @param int $year Year number. Default is null.
|
692 |
+
* @param int $hour Hour number. Default is null.
|
693 |
*
|
694 |
* @return int $earnings Earnings
|
695 |
*/
|
716 |
}
|
717 |
|
718 |
$args = apply_filters( 'give_get_earnings_by_date_args', $args );
|
719 |
+
$key = Give_Cache::get_key( 'give_stats', $args );
|
720 |
|
721 |
if ( ! empty( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], 'give-refresh-reports' ) ) {
|
722 |
$earnings = false;
|
723 |
} else {
|
724 |
+
$earnings = Give_Cache::get( $key );
|
725 |
}
|
726 |
|
727 |
if ( false === $earnings ) {
|
734 |
|
735 |
}
|
736 |
// Cache the results for one hour.
|
737 |
+
Give_Cache::set( $key, $earnings, HOUR_IN_SECONDS );
|
738 |
}
|
739 |
|
740 |
return round( $earnings, 2 );
|
745 |
*
|
746 |
* @since 1.0
|
747 |
*
|
748 |
+
* @param int $day Day number. Default is null.
|
749 |
* @param int $month_num Month number. Default is null.
|
750 |
+
* @param int $year Year number. Default is null.
|
751 |
+
* @param int $hour Hour number. Default is null.
|
752 |
*
|
753 |
* @return int $count Sales
|
754 |
*/
|
792 |
|
793 |
$args = apply_filters( 'give_get_sales_by_date_args', $args );
|
794 |
|
795 |
+
$key = Give_Cache::get_key( 'give_stats', $args );
|
796 |
|
797 |
if ( ! empty( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], 'give-refresh-reports' ) ) {
|
798 |
$count = false;
|
799 |
} else {
|
800 |
+
$count = Give_Cache::get( $key );
|
801 |
}
|
802 |
|
803 |
if ( false === $count ) {
|
804 |
$sales = new WP_Query( $args );
|
805 |
$count = (int) $sales->post_count;
|
806 |
// Cache the results for one hour.
|
807 |
+
Give_Cache::set( $key, $count, HOUR_IN_SECONDS );
|
808 |
}
|
809 |
|
810 |
return $count;
|
853 |
*
|
854 |
* @since 1.0
|
855 |
*
|
856 |
+
* @param bool $recalculate Recalculate earnings forcefully.
|
857 |
+
*
|
858 |
* @return float $total Total earnings.
|
859 |
*/
|
860 |
+
function give_get_total_earnings( $recalculate = false ) {
|
861 |
|
862 |
+
$total = get_option( 'give_earnings_total', 0 );
|
|
|
|
|
|
|
863 |
|
864 |
+
// Calculate total earnings.
|
865 |
+
if ( ! $total || $recalculate ) {
|
866 |
global $wpdb;
|
867 |
|
868 |
+
$total = (float) 0;
|
|
|
|
|
869 |
|
870 |
+
$args = apply_filters( 'give_get_total_earnings_args', array(
|
871 |
+
'offset' => 0,
|
872 |
+
'number' => - 1,
|
873 |
+
'status' => array( 'publish' ),
|
874 |
+
'fields' => 'ids',
|
875 |
+
) );
|
876 |
|
877 |
+
$payments = give_get_payments( $args );
|
878 |
+
if ( $payments ) {
|
|
|
|
|
|
|
|
|
879 |
|
880 |
+
/**
|
881 |
+
* If performing a donation, we need to skip the very last payment in the database,
|
882 |
+
* since it calls give_increase_total_earnings() on completion,
|
883 |
+
* which results in duplicated earnings for the very first donation.
|
884 |
+
*/
|
885 |
+
if ( did_action( 'give_update_payment_status' ) ) {
|
886 |
+
array_pop( $payments );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
887 |
}
|
888 |
|
889 |
+
if ( ! empty( $payments ) ) {
|
890 |
+
$payments = implode( ',', $payments );
|
891 |
+
$total += $wpdb->get_var( "SELECT SUM(meta_value) FROM $wpdb->postmeta WHERE meta_key = '_give_payment_total' AND post_id IN({$payments})" );
|
892 |
+
}
|
|
|
893 |
}
|
894 |
+
|
895 |
+
update_option( 'give_earnings_total', $total, 'no' );
|
896 |
}
|
897 |
|
898 |
if ( $total < 0 ) {
|
907 |
*
|
908 |
* @since 1.0
|
909 |
*
|
910 |
+
* @param int $amount The amount you would like to increase the total earnings by.
|
911 |
* Default is 0.
|
912 |
*
|
913 |
* @return float $total Total earnings.
|
945 |
*
|
946 |
* @since 1.0
|
947 |
*
|
948 |
+
* @param int $payment_id Payment ID.
|
949 |
+
* @param string $meta_key The meta key to pull.
|
950 |
+
* @param bool $single Pull single meta entry or as an object.
|
951 |
*
|
952 |
* @return mixed $meta Payment Meta.
|
953 |
*/
|
960 |
/**
|
961 |
* Update the meta for a payment
|
962 |
*
|
963 |
+
* @param int $payment_id Payment ID.
|
964 |
+
* @param string $meta_key Meta key to update.
|
965 |
* @param string $meta_value Value to update to.
|
966 |
* @param string $prev_value Previous value.
|
967 |
*
|
1374 |
*
|
1375 |
* @since 1.5
|
1376 |
*
|
1377 |
+
* @param int $payment_id Payment ID.
|
1378 |
+
* @param string $type Fee type.
|
1379 |
*
|
1380 |
* @return mixed array if payment fees found, false otherwise.
|
1381 |
*/
|
1405 |
*
|
1406 |
* @since 1.0
|
1407 |
*
|
1408 |
+
* @param int $payment_id Payment ID.
|
1409 |
* @param string $transaction_id The transaction ID from the gateway.
|
1410 |
*
|
1411 |
* @return bool|mixed
|
1427 |
* @since 1.0
|
1428 |
* @global object $wpdb Used to query the database using the WordPress Database API.
|
1429 |
*
|
1430 |
+
* @param string $key the key to search for.
|
1431 |
*
|
1432 |
* @return int $purchase Donation ID.
|
1433 |
*/
|
1450 |
* @since 1.3
|
1451 |
* @global object $wpdb Used to query the database using the WordPress Database API.
|
1452 |
*
|
1453 |
+
* @param string $key The transaction ID to search for.
|
1454 |
*
|
1455 |
* @return int $purchase Donation ID.
|
1456 |
*/
|
1471 |
*
|
1472 |
* @since 1.0
|
1473 |
*
|
1474 |
+
* @param int $payment_id The donation ID to retrieve notes for.
|
1475 |
+
* @param string $search Search for notes that contain a search term.
|
1476 |
*
|
1477 |
* @return array $notes Donation Notes
|
1478 |
*/
|
1499 |
*
|
1500 |
* @since 1.0
|
1501 |
*
|
1502 |
+
* @param int $payment_id The payment ID to store a note for.
|
1503 |
+
* @param string $note The note to store.
|
1504 |
*
|
1505 |
* @return int The new note ID
|
1506 |
*/
|
1514 |
*
|
1515 |
* @since 1.0
|
1516 |
*
|
1517 |
+
* @param int $payment_id Payment ID.
|
1518 |
+
* @param string $note The note.
|
1519 |
*/
|
1520 |
do_action( 'give_pre_insert_payment_note', $payment_id, $note );
|
1521 |
|
1540 |
*
|
1541 |
* @since 1.0
|
1542 |
*
|
1543 |
+
* @param int $note_id Note ID.
|
1544 |
+
* @param int $payment_id Payment ID.
|
1545 |
+
* @param string $note The note.
|
1546 |
*/
|
1547 |
do_action( 'give_insert_payment_note', $note_id, $payment_id, $note );
|
1548 |
|
1594 |
*
|
1595 |
* @since 1.0
|
1596 |
*
|
1597 |
+
* @param object|int $note The comment object or ID.
|
1598 |
+
* @param int $payment_id The payment ID the note is connected to.
|
1599 |
*
|
1600 |
* @return string
|
1601 |
*/
|
1662 |
*
|
1663 |
* @since 1.0
|
1664 |
*
|
1665 |
+
* @param array $clauses Comment clauses for comment query.
|
1666 |
* @param object $wp_comment_query WordPress Comment Query Object.
|
1667 |
*
|
1668 |
* @return array $clauses Updated comment clauses.
|
1705 |
* @access public
|
1706 |
* @since 1.0
|
1707 |
*
|
1708 |
+
* @param array $stats (empty from core filter).
|
1709 |
+
* @param int $post_id Post ID.
|
1710 |
*
|
1711 |
* @return array Array of comment counts.
|
1712 |
*/
|
1797 |
*
|
1798 |
* @since 1.5
|
1799 |
*
|
1800 |
+
* @param array $payment_meta Payment meta data.
|
1801 |
+
* @param bool $only_level If set to true will only return the level name if multi-level enabled.
|
1802 |
+
* @param string $separator The separator between the .
|
1803 |
*
|
1804 |
* @return string $form_title Returns the full title if $only_level is false, otherwise returns the levels title.
|
1805 |
*/
|
1843 |
*
|
1844 |
* Retrieves the Price ID when provided a proper form ID and price (donation) total
|
1845 |
*
|
1846 |
+
* @param int $form_id Form ID.
|
1847 |
+
* @param string $price Price ID.
|
1848 |
*
|
1849 |
* @return string $price_id
|
1850 |
*/
|
1882 |
* @since 1.6
|
1883 |
*
|
1884 |
* @param array $args Arguments for form dropdown.
|
1885 |
+
* @param bool $echo This parameter decides if print form dropdown html output or not.
|
1886 |
*
|
1887 |
* @return string|void
|
1888 |
*/
|
1902 |
* @since 1.6
|
1903 |
*
|
1904 |
* @param array $args Arguments for form dropdown.
|
1905 |
+
* @param bool $echo This parameter decide if print form dropdown html output or not.
|
1906 |
*
|
1907 |
* @return string|bool
|
1908 |
*/
|
1960 |
*/
|
1961 |
function give_get_payment_meta_price_id( $payment_meta ) {
|
1962 |
|
1963 |
+
if ( isset( $payment_meta['give_price_id'] ) ) {
|
1964 |
+
$price_id = $payment_meta['give_price_id'];
|
1965 |
+
} elseif ( isset( $payment_meta['price_id'] ) ) {
|
1966 |
+
$price_id = $payment_meta['price_id'];
|
1967 |
} else {
|
1968 |
$price_id = give_get_price_id( $payment_meta['give_form_id'], $payment_meta['price'] );
|
1969 |
}
|
1970 |
|
1971 |
+
return apply_filters( 'give_get_payment_meta_price_id', $price_id );
|
1972 |
|
1973 |
}
|
includes/post-types.php
CHANGED
@@ -38,20 +38,20 @@ function give_setup_post_types() {
|
|
38 |
);
|
39 |
|
40 |
$give_forms_labels = apply_filters( 'give_forms_labels', array(
|
41 |
-
'name' =>
|
42 |
-
'singular_name' =>
|
43 |
-
'add_new' =>
|
44 |
-
'add_new_item' =>
|
45 |
-
'edit_item' =>
|
46 |
-
'new_item' =>
|
47 |
-
'all_items' =>
|
48 |
-
'view_item' =>
|
49 |
-
'search_items' =>
|
50 |
-
'not_found' =>
|
51 |
-
'not_found_in_trash' =>
|
52 |
'parent_item_colon' => '',
|
53 |
-
'menu_name' => apply_filters( 'give_menu_name',
|
54 |
-
'name_admin_bar' => apply_filters( 'give_name_admin_bar_name',
|
55 |
) );
|
56 |
|
57 |
// Default give_forms supports.
|
@@ -95,17 +95,17 @@ function give_setup_post_types() {
|
|
95 |
$payment_labels = array(
|
96 |
'name' => _x( 'Donations', 'post type general name', 'give' ),
|
97 |
'singular_name' => _x( 'Donation', 'post type singular name', 'give' ),
|
98 |
-
'add_new' =>
|
99 |
-
'add_new_item' =>
|
100 |
-
'edit_item' =>
|
101 |
-
'new_item' =>
|
102 |
-
'all_items' =>
|
103 |
-
'view_item' =>
|
104 |
-
'search_items' =>
|
105 |
-
'not_found' =>
|
106 |
-
'not_found_in_trash' =>
|
107 |
'parent_item_colon' => '',
|
108 |
-
'menu_name' =>
|
109 |
);
|
110 |
|
111 |
$payment_args = array(
|
@@ -141,15 +141,15 @@ function give_setup_taxonomies() {
|
|
141 |
$category_labels = array(
|
142 |
'name' => _x( 'Form Categories', 'taxonomy general name', 'give' ),
|
143 |
'singular_name' => _x( 'Category', 'taxonomy singular name', 'give' ),
|
144 |
-
'search_items' =>
|
145 |
-
'all_items' =>
|
146 |
-
'parent_item' =>
|
147 |
-
'parent_item_colon' =>
|
148 |
-
'edit_item' =>
|
149 |
-
'update_item' =>
|
150 |
-
'add_new_item' =>
|
151 |
-
'new_item_name' =>
|
152 |
-
'menu_name' =>
|
153 |
);
|
154 |
|
155 |
$category_args = apply_filters( 'give_forms_category_args', array(
|
@@ -181,16 +181,16 @@ function give_setup_taxonomies() {
|
|
181 |
$tag_labels = array(
|
182 |
'name' => _x( 'Form Tags', 'taxonomy general name', 'give' ),
|
183 |
'singular_name' => _x( 'Tag', 'taxonomy singular name', 'give' ),
|
184 |
-
'search_items' =>
|
185 |
-
'all_items' =>
|
186 |
-
'parent_item' =>
|
187 |
-
'parent_item_colon' =>
|
188 |
-
'edit_item' =>
|
189 |
-
'update_item' =>
|
190 |
-
'add_new_item' =>
|
191 |
-
'new_item_name' =>
|
192 |
-
'menu_name' =>
|
193 |
-
'choose_from_most_used' =>
|
194 |
);
|
195 |
|
196 |
$tag_args = apply_filters( 'give_forms_tag_args', array(
|
@@ -226,8 +226,8 @@ add_action( 'init', 'give_setup_taxonomies', 0 );
|
|
226 |
*/
|
227 |
function give_get_default_form_labels() {
|
228 |
$defaults = array(
|
229 |
-
'singular' =>
|
230 |
-
'plural' =>
|
231 |
);
|
232 |
|
233 |
return apply_filters( 'give_default_form_name', $defaults );
|
@@ -272,7 +272,7 @@ function give_get_forms_label_plural( $lowercase = false ) {
|
|
272 |
function give_change_default_title( $title ) {
|
273 |
// If a frontend plugin uses this filter (check extensions before changing this function)
|
274 |
if ( ! is_admin() ) {
|
275 |
-
$title =
|
276 |
|
277 |
return $title;
|
278 |
}
|
@@ -280,7 +280,7 @@ function give_change_default_title( $title ) {
|
|
280 |
$screen = get_current_screen();
|
281 |
|
282 |
if ( 'give_forms' == $screen->post_type ) {
|
283 |
-
$title =
|
284 |
}
|
285 |
|
286 |
return $title;
|
@@ -297,7 +297,7 @@ add_filter( 'enter_title_here', 'give_change_default_title' );
|
|
297 |
function give_register_post_type_statuses() {
|
298 |
// Payment Statuses
|
299 |
register_post_status( 'refunded', array(
|
300 |
-
'label' =>
|
301 |
'public' => true,
|
302 |
'exclude_from_search' => false,
|
303 |
'show_in_admin_all_list' => true,
|
@@ -305,7 +305,7 @@ function give_register_post_type_statuses() {
|
|
305 |
'label_count' => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'give' ),
|
306 |
) );
|
307 |
register_post_status( 'failed', array(
|
308 |
-
'label' =>
|
309 |
'public' => true,
|
310 |
'exclude_from_search' => false,
|
311 |
'show_in_admin_all_list' => true,
|
@@ -313,7 +313,7 @@ function give_register_post_type_statuses() {
|
|
313 |
'label_count' => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'give' ),
|
314 |
) );
|
315 |
register_post_status( 'revoked', array(
|
316 |
-
'label' =>
|
317 |
'public' => true,
|
318 |
'exclude_from_search' => false,
|
319 |
'show_in_admin_all_list' => true,
|
@@ -321,7 +321,7 @@ function give_register_post_type_statuses() {
|
|
321 |
'label_count' => _n_noop( 'Revoked <span class="count">(%s)</span>', 'Revoked <span class="count">(%s)</span>', 'give' ),
|
322 |
) );
|
323 |
register_post_status( 'cancelled', array(
|
324 |
-
'label' =>
|
325 |
'public' => true,
|
326 |
'exclude_from_search' => false,
|
327 |
'show_in_admin_all_list' => true,
|
@@ -329,13 +329,21 @@ function give_register_post_type_statuses() {
|
|
329 |
'label_count' => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'give' ),
|
330 |
) );
|
331 |
register_post_status( 'abandoned', array(
|
332 |
-
'label' =>
|
333 |
'public' => true,
|
334 |
'exclude_from_search' => false,
|
335 |
'show_in_admin_all_list' => true,
|
336 |
'show_in_admin_status_list' => true,
|
337 |
'label_count' => _n_noop( 'Abandoned <span class="count">(%s)</span>', 'Abandoned <span class="count">(%s)</span>', 'give' ),
|
338 |
) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
339 |
|
340 |
}
|
341 |
|
@@ -358,21 +366,21 @@ function give_updated_messages( $messages ) {
|
|
358 |
if ( give_is_setting_enabled( give_get_option( 'forms_singular' ) ) ) {
|
359 |
|
360 |
$messages['give_forms'] = array(
|
361 |
-
1 =>
|
362 |
-
4 =>
|
363 |
-
6 =>
|
364 |
-
7 =>
|
365 |
-
8 =>
|
366 |
);
|
367 |
|
368 |
} else {
|
369 |
|
370 |
$messages['give_forms'] = array(
|
371 |
-
1 => sprintf( '%1$s <a href="%2$s">%3$s</a>',
|
372 |
-
4 => sprintf( '%1$s <a href="%2$s">%3$s</a>',
|
373 |
-
6 => sprintf( '%1$s <a href="%2$s">%3$s</a>',
|
374 |
-
7 => sprintf( '%1$s <a href="%2$s">%3$s</a>',
|
375 |
-
8 => sprintf( '%1$s <a href="%2$s">%3$s</a>',
|
376 |
);
|
377 |
|
378 |
}
|
@@ -417,9 +425,9 @@ function give_widgets_init() {
|
|
417 |
) {
|
418 |
|
419 |
register_sidebar( apply_filters( 'give_forms_single_sidebar', array(
|
420 |
-
'name' =>
|
421 |
'id' => 'give-forms-sidebar',
|
422 |
-
'description' =>
|
423 |
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
424 |
'after_widget' => '</div>',
|
425 |
'before_title' => '<h3 class="widgettitle widget-title">',
|
38 |
);
|
39 |
|
40 |
$give_forms_labels = apply_filters( 'give_forms_labels', array(
|
41 |
+
'name' => __( 'Donation Forms', 'give' ),
|
42 |
+
'singular_name' => __( 'Form', 'give' ),
|
43 |
+
'add_new' => __( 'Add Form', 'give' ),
|
44 |
+
'add_new_item' => __( 'Add New Donation Form', 'give' ),
|
45 |
+
'edit_item' => __( 'Edit Donation Form', 'give' ),
|
46 |
+
'new_item' => __( 'New Form', 'give' ),
|
47 |
+
'all_items' => __( 'All Forms', 'give' ),
|
48 |
+
'view_item' => __( 'View Form', 'give' ),
|
49 |
+
'search_items' => __( 'Search Forms', 'give' ),
|
50 |
+
'not_found' => __( 'No forms found.', 'give' ),
|
51 |
+
'not_found_in_trash' => __( 'No forms found in Trash.', 'give' ),
|
52 |
'parent_item_colon' => '',
|
53 |
+
'menu_name' => apply_filters( 'give_menu_name', __( 'Donations', 'give' ) ),
|
54 |
+
'name_admin_bar' => apply_filters( 'give_name_admin_bar_name', __( 'Donation Form', 'give' ) ),
|
55 |
) );
|
56 |
|
57 |
// Default give_forms supports.
|
95 |
$payment_labels = array(
|
96 |
'name' => _x( 'Donations', 'post type general name', 'give' ),
|
97 |
'singular_name' => _x( 'Donation', 'post type singular name', 'give' ),
|
98 |
+
'add_new' => __( 'Add New', 'give' ),
|
99 |
+
'add_new_item' => __( 'Add New Donation', 'give' ),
|
100 |
+
'edit_item' => __( 'Edit Donation', 'give' ),
|
101 |
+
'new_item' => __( 'New Donation', 'give' ),
|
102 |
+
'all_items' => __( 'All Donations', 'give' ),
|
103 |
+
'view_item' => __( 'View Donation', 'give' ),
|
104 |
+
'search_items' => __( 'Search Donations', 'give' ),
|
105 |
+
'not_found' => __( 'No donations found.', 'give' ),
|
106 |
+
'not_found_in_trash' => __( 'No donations found in Trash.', 'give' ),
|
107 |
'parent_item_colon' => '',
|
108 |
+
'menu_name' => __( 'Donations', 'give' ),
|
109 |
);
|
110 |
|
111 |
$payment_args = array(
|
141 |
$category_labels = array(
|
142 |
'name' => _x( 'Form Categories', 'taxonomy general name', 'give' ),
|
143 |
'singular_name' => _x( 'Category', 'taxonomy singular name', 'give' ),
|
144 |
+
'search_items' => __( 'Search Categories', 'give' ),
|
145 |
+
'all_items' => __( 'All Categories', 'give' ),
|
146 |
+
'parent_item' => __( 'Parent Category', 'give' ),
|
147 |
+
'parent_item_colon' => __( 'Parent Category:', 'give' ),
|
148 |
+
'edit_item' => __( 'Edit Category', 'give' ),
|
149 |
+
'update_item' => __( 'Update Category', 'give' ),
|
150 |
+
'add_new_item' => __( 'Add New Category', 'give' ),
|
151 |
+
'new_item_name' => __( 'New Category Name', 'give' ),
|
152 |
+
'menu_name' => __( 'Categories', 'give' ),
|
153 |
);
|
154 |
|
155 |
$category_args = apply_filters( 'give_forms_category_args', array(
|
181 |
$tag_labels = array(
|
182 |
'name' => _x( 'Form Tags', 'taxonomy general name', 'give' ),
|
183 |
'singular_name' => _x( 'Tag', 'taxonomy singular name', 'give' ),
|
184 |
+
'search_items' => __( 'Search Tags', 'give' ),
|
185 |
+
'all_items' => __( 'All Tags', 'give' ),
|
186 |
+
'parent_item' => __( 'Parent Tag', 'give' ),
|
187 |
+
'parent_item_colon' => __( 'Parent Tag:', 'give' ),
|
188 |
+
'edit_item' => __( 'Edit Tag', 'give' ),
|
189 |
+
'update_item' => __( 'Update Tag', 'give' ),
|
190 |
+
'add_new_item' => __( 'Add New Tag', 'give' ),
|
191 |
+
'new_item_name' => __( 'New Tag Name', 'give' ),
|
192 |
+
'menu_name' => __( 'Tags', 'give' ),
|
193 |
+
'choose_from_most_used' => __( 'Choose from most used tags.', 'give' ),
|
194 |
);
|
195 |
|
196 |
$tag_args = apply_filters( 'give_forms_tag_args', array(
|
226 |
*/
|
227 |
function give_get_default_form_labels() {
|
228 |
$defaults = array(
|
229 |
+
'singular' => __( 'Form', 'give' ),
|
230 |
+
'plural' => __( 'Forms', 'give' ),
|
231 |
);
|
232 |
|
233 |
return apply_filters( 'give_default_form_name', $defaults );
|
272 |
function give_change_default_title( $title ) {
|
273 |
// If a frontend plugin uses this filter (check extensions before changing this function)
|
274 |
if ( ! is_admin() ) {
|
275 |
+
$title = __( 'Enter form title here', 'give' );
|
276 |
|
277 |
return $title;
|
278 |
}
|
280 |
$screen = get_current_screen();
|
281 |
|
282 |
if ( 'give_forms' == $screen->post_type ) {
|
283 |
+
$title = __( 'Enter form title here', 'give' );
|
284 |
}
|
285 |
|
286 |
return $title;
|
297 |
function give_register_post_type_statuses() {
|
298 |
// Payment Statuses
|
299 |
register_post_status( 'refunded', array(
|
300 |
+
'label' => __( 'Refunded', 'give' ),
|
301 |
'public' => true,
|
302 |
'exclude_from_search' => false,
|
303 |
'show_in_admin_all_list' => true,
|
305 |
'label_count' => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'give' ),
|
306 |
) );
|
307 |
register_post_status( 'failed', array(
|
308 |
+
'label' => __( 'Failed', 'give' ),
|
309 |
'public' => true,
|
310 |
'exclude_from_search' => false,
|
311 |
'show_in_admin_all_list' => true,
|
313 |
'label_count' => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'give' ),
|
314 |
) );
|
315 |
register_post_status( 'revoked', array(
|
316 |
+
'label' => __( 'Revoked', 'give' ),
|
317 |
'public' => true,
|
318 |
'exclude_from_search' => false,
|
319 |
'show_in_admin_all_list' => true,
|
321 |
'label_count' => _n_noop( 'Revoked <span class="count">(%s)</span>', 'Revoked <span class="count">(%s)</span>', 'give' ),
|
322 |
) );
|
323 |
register_post_status( 'cancelled', array(
|
324 |
+
'label' => __( 'Cancelled', 'give' ),
|
325 |
'public' => true,
|
326 |
'exclude_from_search' => false,
|
327 |
'show_in_admin_all_list' => true,
|
329 |
'label_count' => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'give' ),
|
330 |
) );
|
331 |
register_post_status( 'abandoned', array(
|
332 |
+
'label' => __( 'Abandoned', 'give' ),
|
333 |
'public' => true,
|
334 |
'exclude_from_search' => false,
|
335 |
'show_in_admin_all_list' => true,
|
336 |
'show_in_admin_status_list' => true,
|
337 |
'label_count' => _n_noop( 'Abandoned <span class="count">(%s)</span>', 'Abandoned <span class="count">(%s)</span>', 'give' ),
|
338 |
) );
|
339 |
+
register_post_status( 'processing', array(
|
340 |
+
'label' => _x( 'Processing', 'Processing payment status', 'give' ),
|
341 |
+
'public' => true,
|
342 |
+
'exclude_from_search' => false,
|
343 |
+
'show_in_admin_all_list' => true,
|
344 |
+
'show_in_admin_status_list' => true,
|
345 |
+
'label_count' => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'give' )
|
346 |
+
) );
|
347 |
|
348 |
}
|
349 |
|
366 |
if ( give_is_setting_enabled( give_get_option( 'forms_singular' ) ) ) {
|
367 |
|
368 |
$messages['give_forms'] = array(
|
369 |
+
1 => __( 'Form updated.', 'give' ),
|
370 |
+
4 => __( 'Form updated.', 'give' ),
|
371 |
+
6 => __( 'Form published.', 'give' ),
|
372 |
+
7 => __( 'Form saved.', 'give' ),
|
373 |
+
8 => __( 'Form submitted.', 'give' ),
|
374 |
);
|
375 |
|
376 |
} else {
|
377 |
|
378 |
$messages['give_forms'] = array(
|
379 |
+
1 => sprintf( '%1$s <a href="%2$s">%3$s</a>', __( 'Form updated.', 'give' ), get_permalink( $post_ID ), __( 'View Form', 'give' ) ),
|
380 |
+
4 => sprintf( '%1$s <a href="%2$s">%3$s</a>', __( 'Form updated.', 'give' ), get_permalink( $post_ID ), __( 'View Form', 'give' ) ),
|
381 |
+
6 => sprintf( '%1$s <a href="%2$s">%3$s</a>', __( 'Form published.', 'give' ), get_permalink( $post_ID ), __( 'View Form', 'give' ) ),
|
382 |
+
7 => sprintf( '%1$s <a href="%2$s">%3$s</a>', __( 'Form saved.', 'give' ), get_permalink( $post_ID ), __( 'View Form', 'give' ) ),
|
383 |
+
8 => sprintf( '%1$s <a href="%2$s">%3$s</a>', __( 'Form submitted.', 'give' ), get_permalink( $post_ID ), __( 'View Form', 'give' ) ),
|
384 |
);
|
385 |
|
386 |
}
|
425 |
) {
|
426 |
|
427 |
register_sidebar( apply_filters( 'give_forms_single_sidebar', array(
|
428 |
+
'name' => __( 'Give Single Form Sidebar', 'give' ),
|
429 |
'id' => 'give-forms-sidebar',
|
430 |
+
'description' => __( 'Widgets in this area will be shown on the single Give forms aside area. This sidebar will not display for embedded forms.', 'give' ),
|
431 |
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
432 |
'after_widget' => '</div>',
|
433 |
'before_title' => '<h3 class="widgettitle widget-title">',
|
includes/process-donation.php
CHANGED
@@ -43,7 +43,7 @@ function give_process_donation_form() {
|
|
43 |
* @since 1.0
|
44 |
*
|
45 |
* @param bool|array $valid_data Validate fields.
|
46 |
-
* @param array
|
47 |
*/
|
48 |
do_action( 'give_checkout_error_checks', $valid_data, $_POST );
|
49 |
|
@@ -124,8 +124,8 @@ function give_process_donation_form() {
|
|
124 |
*
|
125 |
* @since 1.0
|
126 |
*
|
127 |
-
* @param array
|
128 |
-
* @param array
|
129 |
* @param bool|array $valid_data Validate fields.
|
130 |
*/
|
131 |
do_action( 'give_checkout_before_gateway', $_POST, $user_info, $valid_data );
|
@@ -171,30 +171,33 @@ add_action( 'wp_ajax_nopriv_give_process_donation', 'give_process_donation_form'
|
|
171 |
* @since 1.7
|
172 |
*
|
173 |
* @param array $valid_data Validated data submitted for the purchase
|
174 |
-
* @param array $post
|
175 |
*
|
176 |
* @return void
|
177 |
*/
|
178 |
-
function
|
179 |
|
180 |
// Verify that the email address belongs to this customer.
|
181 |
if ( is_user_logged_in() ) {
|
182 |
|
183 |
-
$
|
184 |
$customer = new Give_Customer( get_current_user_id(), true );
|
185 |
|
186 |
// If this email address is not registered with this customer, see if it belongs to any other customer
|
187 |
-
if (
|
188 |
-
$
|
|
|
|
|
|
|
189 |
|
190 |
if ( $found_customer->id > 0 ) {
|
191 |
-
give_set_error( 'give-customer-email-exists', sprintf(
|
192 |
}
|
193 |
}
|
194 |
}
|
195 |
}
|
196 |
|
197 |
-
add_action( 'give_checkout_error_checks', '
|
198 |
|
199 |
/**
|
200 |
* Process the checkout login form
|
@@ -340,7 +343,7 @@ function give_purchase_form_validate_gateway() {
|
|
340 |
give_set_error(
|
341 |
'invalid_donation_minimum',
|
342 |
sprintf(
|
343 |
-
|
344 |
esc_html__( 'This form has a minimum donation amount of %s.', 'give' ),
|
345 |
give_currency_filter( give_format_amount( give_get_form_minimum_price( $form_id ) ) )
|
346 |
)
|
@@ -779,7 +782,7 @@ function give_register_and_login_new_user( $user_data = array() ) {
|
|
779 |
*
|
780 |
* @since 1.0
|
781 |
*
|
782 |
-
* @param int
|
783 |
* @param array $user_data Array containing user data.
|
784 |
*/
|
785 |
do_action( 'give_insert_user', $user_id, $user_data );
|
@@ -939,7 +942,7 @@ function give_get_purchase_cc_info() {
|
|
939 |
*
|
940 |
* @since 1.0
|
941 |
*
|
942 |
-
* @param int
|
943 |
* @param string $country_code
|
944 |
*
|
945 |
* @return bool|mixed|void
|
43 |
* @since 1.0
|
44 |
*
|
45 |
* @param bool|array $valid_data Validate fields.
|
46 |
+
* @param array $_POST Array of variables passed via the HTTP POST.
|
47 |
*/
|
48 |
do_action( 'give_checkout_error_checks', $valid_data, $_POST );
|
49 |
|
124 |
*
|
125 |
* @since 1.0
|
126 |
*
|
127 |
+
* @param array $_POST Array of variables passed via the HTTP POST.
|
128 |
+
* @param array $user_info Array containing basic user information.
|
129 |
* @param bool|array $valid_data Validate fields.
|
130 |
*/
|
131 |
do_action( 'give_checkout_before_gateway', $_POST, $user_info, $valid_data );
|
171 |
* @since 1.7
|
172 |
*
|
173 |
* @param array $valid_data Validated data submitted for the purchase
|
174 |
+
* @param array $post Additional $_POST data submitted
|
175 |
*
|
176 |
* @return void
|
177 |
*/
|
178 |
+
function give_check_logged_in_user_for_existing_email( $valid_data, $post ) {
|
179 |
|
180 |
// Verify that the email address belongs to this customer.
|
181 |
if ( is_user_logged_in() ) {
|
182 |
|
183 |
+
$submitted_email = $valid_data['logged_in_user']['user_email'];
|
184 |
$customer = new Give_Customer( get_current_user_id(), true );
|
185 |
|
186 |
// If this email address is not registered with this customer, see if it belongs to any other customer
|
187 |
+
if (
|
188 |
+
$submitted_email !== $customer->email
|
189 |
+
&& ( is_array( $customer->emails ) && ! in_array( $submitted_email, $customer->emails ) )
|
190 |
+
) {
|
191 |
+
$found_customer = new Give_Customer( $submitted_email );
|
192 |
|
193 |
if ( $found_customer->id > 0 ) {
|
194 |
+
give_set_error( 'give-customer-email-exists', sprintf(__('You are logged in as %1$s, and are submitting a donation as %2$s, which is an existing donor. To ensure that the email address is tied to the correct donor, please submit this donation from a logged-out browser, or choose another email address.'), $customer->email, $submitted_email) );
|
195 |
}
|
196 |
}
|
197 |
}
|
198 |
}
|
199 |
|
200 |
+
add_action( 'give_checkout_error_checks', 'give_check_logged_in_user_for_existing_email', 10, 2 );
|
201 |
|
202 |
/**
|
203 |
* Process the checkout login form
|
343 |
give_set_error(
|
344 |
'invalid_donation_minimum',
|
345 |
sprintf(
|
346 |
+
/* translators: %s: minimum donation amount */
|
347 |
esc_html__( 'This form has a minimum donation amount of %s.', 'give' ),
|
348 |
give_currency_filter( give_format_amount( give_get_form_minimum_price( $form_id ) ) )
|
349 |
)
|
782 |
*
|
783 |
* @since 1.0
|
784 |
*
|
785 |
+
* @param int $user_id User id.
|
786 |
* @param array $user_data Array containing user data.
|
787 |
*/
|
788 |
do_action( 'give_insert_user', $user_id, $user_data );
|
942 |
*
|
943 |
* @since 1.0
|
944 |
*
|
945 |
+
* @param int $zip
|
946 |
* @param string $country_code
|
947 |
*
|
948 |
* @return bool|mixed|void
|
includes/shortcodes.php
CHANGED
@@ -29,7 +29,7 @@ function give_donation_history() {
|
|
29 |
if ( isset( $_GET['payment_key'] ) ) {
|
30 |
ob_start();
|
31 |
echo give_receipt_shortcode( array() );
|
32 |
-
echo '<a href="' . esc_url( give_get_history_page_uri() ) . '">« ' .
|
33 |
|
34 |
return ob_get_clean();
|
35 |
}
|
@@ -52,16 +52,18 @@ function give_donation_history() {
|
|
52 |
return ob_get_clean();
|
53 |
|
54 |
} elseif ( give_is_setting_enabled( $email_access ) ) {
|
55 |
-
//Is Email-based access enabled?
|
56 |
ob_start();
|
57 |
give_get_template_part( 'email', 'login-form' );
|
58 |
|
59 |
return ob_get_clean();
|
|
|
60 |
} else {
|
61 |
|
62 |
-
|
63 |
-
|
64 |
-
|
|
|
65 |
}
|
66 |
}
|
67 |
|
@@ -127,13 +129,13 @@ function give_goal_shortcode( $atts ) {
|
|
127 |
|
128 |
//Sanity check 1: ensure there is an ID Provided.
|
129 |
if ( empty( $atts['id'] ) ) {
|
130 |
-
give_output_error(
|
131 |
}
|
132 |
|
133 |
//Sanity check 2: Check the form even has Goals enabled.
|
134 |
if ( ! give_is_setting_enabled( get_post_meta( $atts['id'], '_give_goal_option', true ) ) ) {
|
135 |
|
136 |
-
give_output_error(
|
137 |
} else {
|
138 |
//Passed all sanity checks: output Goal.
|
139 |
give_show_goal_progress( $atts['id'], $atts );
|
@@ -217,7 +219,7 @@ function give_receipt_shortcode( $atts ) {
|
|
217 |
global $give_receipt_args, $payment;
|
218 |
|
219 |
$give_receipt_args = shortcode_atts( array(
|
220 |
-
'error' =>
|
221 |
'price' => true,
|
222 |
'donor' => true,
|
223 |
'date' => true,
|
@@ -277,7 +279,7 @@ function give_receipt_shortcode( $atts ) {
|
|
277 |
|
278 |
ob_start();
|
279 |
|
280 |
-
give_output_error( apply_filters( 'give_must_be_logged_in_error_message',
|
281 |
|
282 |
give_get_template_part( 'shortcode', 'login' );
|
283 |
|
@@ -398,7 +400,7 @@ function give_process_profile_editor_updates( $data ) {
|
|
398 |
*
|
399 |
* @since 1.0
|
400 |
*
|
401 |
-
* @param int
|
402 |
* @param array $userdata User info, including ID, first name, last name, display name and email.
|
403 |
*/
|
404 |
do_action( 'give_pre_update_user_profile', $user_id, $userdata );
|
@@ -406,7 +408,7 @@ function give_process_profile_editor_updates( $data ) {
|
|
406 |
// New password
|
407 |
if ( ! empty( $data['give_new_user_pass1'] ) ) {
|
408 |
if ( $data['give_new_user_pass1'] !== $data['give_new_user_pass2'] ) {
|
409 |
-
give_set_error( 'password_mismatch',
|
410 |
} else {
|
411 |
$userdata['user_pass'] = $data['give_new_user_pass1'];
|
412 |
}
|
@@ -414,16 +416,16 @@ function give_process_profile_editor_updates( $data ) {
|
|
414 |
|
415 |
if ( empty( $email ) ) {
|
416 |
// Make sure email should not be empty.
|
417 |
-
give_set_error( 'email_empty',
|
418 |
|
419 |
} else if ( ! is_email( $email ) ) {
|
420 |
// Make sure email should be valid.
|
421 |
-
give_set_error( 'email_not_valid',
|
422 |
|
423 |
} else if ( $email != $old_user_data->user_email ) {
|
424 |
// Make sure the new email doesn't belong to another user
|
425 |
if ( email_exists( $email ) ) {
|
426 |
-
give_set_error( 'email_exists',
|
427 |
}
|
428 |
}
|
429 |
|
@@ -447,7 +449,7 @@ function give_process_profile_editor_updates( $data ) {
|
|
447 |
*
|
448 |
* @since 1.0
|
449 |
*
|
450 |
-
* @param int
|
451 |
* @param array $userdata User info, including ID, first name, last name, display name and email.
|
452 |
*/
|
453 |
do_action( 'give_user_profile_updated', $user_id, $userdata );
|
29 |
if ( isset( $_GET['payment_key'] ) ) {
|
30 |
ob_start();
|
31 |
echo give_receipt_shortcode( array() );
|
32 |
+
echo '<a href="' . esc_url( give_get_history_page_uri() ) . '">« ' . __( 'Return to All Donations', 'give' ) . '</a>';
|
33 |
|
34 |
return ob_get_clean();
|
35 |
}
|
52 |
return ob_get_clean();
|
53 |
|
54 |
} elseif ( give_is_setting_enabled( $email_access ) ) {
|
55 |
+
// Is Email-based access enabled?
|
56 |
ob_start();
|
57 |
give_get_template_part( 'email', 'login-form' );
|
58 |
|
59 |
return ob_get_clean();
|
60 |
+
|
61 |
} else {
|
62 |
|
63 |
+
$output = apply_filters( 'give_donation_history_nonuser_message', give_output_error( __( 'You must be logged in to view your donation history. Please login using your account or create an account using the same email you used to donate with.', 'give' ), false ) );
|
64 |
+
$output .= do_shortcode( '[give_login]' );
|
65 |
+
|
66 |
+
return $output;
|
67 |
}
|
68 |
}
|
69 |
|
129 |
|
130 |
//Sanity check 1: ensure there is an ID Provided.
|
131 |
if ( empty( $atts['id'] ) ) {
|
132 |
+
give_output_error( __( 'The shortcode is missing Donation Form ID attribute.', 'give' ), true );
|
133 |
}
|
134 |
|
135 |
//Sanity check 2: Check the form even has Goals enabled.
|
136 |
if ( ! give_is_setting_enabled( get_post_meta( $atts['id'], '_give_goal_option', true ) ) ) {
|
137 |
|
138 |
+
give_output_error( __( 'The form does not have Goals enabled.', 'give' ), true );
|
139 |
} else {
|
140 |
//Passed all sanity checks: output Goal.
|
141 |
give_show_goal_progress( $atts['id'], $atts );
|
219 |
global $give_receipt_args, $payment;
|
220 |
|
221 |
$give_receipt_args = shortcode_atts( array(
|
222 |
+
'error' => __( 'You are missing the payment key to view this donation receipt.', 'give' ),
|
223 |
'price' => true,
|
224 |
'donor' => true,
|
225 |
'date' => true,
|
279 |
|
280 |
ob_start();
|
281 |
|
282 |
+
give_output_error( apply_filters( 'give_must_be_logged_in_error_message', __( 'You must be logged in to view this donation receipt.', 'give' ) ) );
|
283 |
|
284 |
give_get_template_part( 'shortcode', 'login' );
|
285 |
|
400 |
*
|
401 |
* @since 1.0
|
402 |
*
|
403 |
+
* @param int $user_id The ID of the user.
|
404 |
* @param array $userdata User info, including ID, first name, last name, display name and email.
|
405 |
*/
|
406 |
do_action( 'give_pre_update_user_profile', $user_id, $userdata );
|
408 |
// New password
|
409 |
if ( ! empty( $data['give_new_user_pass1'] ) ) {
|
410 |
if ( $data['give_new_user_pass1'] !== $data['give_new_user_pass2'] ) {
|
411 |
+
give_set_error( 'password_mismatch', __( 'The passwords you entered do not match. Please try again.', 'give' ) );
|
412 |
} else {
|
413 |
$userdata['user_pass'] = $data['give_new_user_pass1'];
|
414 |
}
|
416 |
|
417 |
if ( empty( $email ) ) {
|
418 |
// Make sure email should not be empty.
|
419 |
+
give_set_error( 'email_empty', __( 'The email you entered is empty.', 'give' ) );
|
420 |
|
421 |
} else if ( ! is_email( $email ) ) {
|
422 |
// Make sure email should be valid.
|
423 |
+
give_set_error( 'email_not_valid', __( 'The email you entered is not valid. Please use another', 'give' ) );
|
424 |
|
425 |
} else if ( $email != $old_user_data->user_email ) {
|
426 |
// Make sure the new email doesn't belong to another user
|
427 |
if ( email_exists( $email ) ) {
|
428 |
+
give_set_error( 'email_exists', __( 'The email you entered belongs to another user. Please use another.', 'give' ) );
|
429 |
}
|
430 |
}
|
431 |
|
449 |
*
|
450 |
* @since 1.0
|
451 |
*
|
452 |
+
* @param int $user_id The ID of the user.
|
453 |
* @param array $userdata User info, including ID, first name, last name, display name and email.
|
454 |
*/
|
455 |
do_action( 'give_user_profile_updated', $user_id, $userdata );
|
includes/template-functions.php
CHANGED
@@ -413,16 +413,6 @@ if ( ! function_exists( 'give_template_single_title' ) ) {
|
|
413 |
}
|
414 |
}
|
415 |
|
416 |
-
if ( ! function_exists( 'give_show_avatars' ) ) {
|
417 |
-
|
418 |
-
/**
|
419 |
-
* Output the product title.
|
420 |
-
*/
|
421 |
-
function give_show_avatars() {
|
422 |
-
echo do_shortcode( '[give_donors_gravatars]' );
|
423 |
-
}
|
424 |
-
}
|
425 |
-
|
426 |
/**
|
427 |
* Conditional Functions
|
428 |
*/
|
413 |
}
|
414 |
}
|
415 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
416 |
/**
|
417 |
* Conditional Functions
|
418 |
*/
|
includes/user-functions.php
CHANGED
@@ -304,28 +304,28 @@ function give_validate_username( $username, $form_id = 0 ) {
|
|
304 |
// We have an user name, check if it already exists.
|
305 |
if ( username_exists( $username ) ) {
|
306 |
// Username already registered.
|
307 |
-
give_set_error( 'username_unavailable',
|
308 |
$valid = false;
|
309 |
|
310 |
// Check if it's valid.
|
311 |
} elseif ( $sanitized_user_name !== $username ) {
|
312 |
// Invalid username.
|
313 |
if ( is_multisite() ) {
|
314 |
-
give_set_error( 'username_invalid',
|
315 |
$valid = false;
|
316 |
} else {
|
317 |
-
give_set_error( 'username_invalid',
|
318 |
$valid = false;
|
319 |
}
|
320 |
}
|
321 |
} else {
|
322 |
// Username is empty.
|
323 |
-
give_set_error( 'username_empty',
|
324 |
$valid = false;
|
325 |
|
326 |
// Check if guest checkout is disable for form.
|
327 |
if ( $form_id && give_logged_in_only( $form_id ) ) {
|
328 |
-
give_set_error( 'registration_required',
|
329 |
$valid = false;
|
330 |
}
|
331 |
}
|
@@ -360,17 +360,17 @@ function give_validate_user_email( $email, $registering_new_user = false ) {
|
|
360 |
|
361 |
if ( empty( $email ) ) {
|
362 |
// No email.
|
363 |
-
give_set_error( 'email_empty',
|
364 |
$valid = false;
|
365 |
|
366 |
} elseif ( ! is_email( $email ) ) {
|
367 |
// Validate email.
|
368 |
-
give_set_error( 'email_invalid',
|
369 |
$valid = false;
|
370 |
|
371 |
} elseif ( $registering_new_user && email_exists( $email ) ) {
|
372 |
// Check if email exists.
|
373 |
-
give_set_error( 'email_used',
|
374 |
$valid = false;
|
375 |
}
|
376 |
|
@@ -406,18 +406,18 @@ function give_validate_user_password( $password = '', $confirm_password = '', $r
|
|
406 |
// Verify confirmation matches.
|
407 |
if ( $password != $confirm_password ) {
|
408 |
// Passwords do not match
|
409 |
-
give_set_error( 'password_mismatch',
|
410 |
$valid = false;
|
411 |
}
|
412 |
} elseif ( $registering_new_user ) {
|
413 |
// Password or confirmation missing.
|
414 |
if ( ! $password ) {
|
415 |
// The password is invalid.
|
416 |
-
give_set_error( 'password_empty',
|
417 |
$valid = false;
|
418 |
} elseif ( ! $confirm_password ) {
|
419 |
// Confirmation password is invalid.
|
420 |
-
give_set_error( 'confirmation_empty',
|
421 |
$valid = false;
|
422 |
}
|
423 |
}
|
@@ -563,7 +563,7 @@ function give_new_user_notification( $user_id = 0, $user_data = array() ) {
|
|
563 |
/* translators: %s: user email */
|
564 |
$message .= sprintf( esc_attr__( 'E-mail: %s', 'give' ), $user_data['user_email'] ) . "\r\n";
|
565 |
|
566 |
-
|
567 |
get_option( 'admin_email' ),
|
568 |
sprintf(
|
569 |
/* translators: %s: site name */
|
@@ -580,7 +580,7 @@ function give_new_user_notification( $user_id = 0, $user_data = array() ) {
|
|
580 |
|
581 |
$message .= '<a href="' . wp_login_url() . '"> ' . esc_attr__( 'Click Here to Login »', 'give' ) . '</a>' . "\r\n";
|
582 |
|
583 |
-
|
584 |
$user_data['user_email'],
|
585 |
sprintf(
|
586 |
/* translators: %s: site name */
|
304 |
// We have an user name, check if it already exists.
|
305 |
if ( username_exists( $username ) ) {
|
306 |
// Username already registered.
|
307 |
+
give_set_error( 'username_unavailable', __( 'Username already taken.', 'give' ) );
|
308 |
$valid = false;
|
309 |
|
310 |
// Check if it's valid.
|
311 |
} elseif ( $sanitized_user_name !== $username ) {
|
312 |
// Invalid username.
|
313 |
if ( is_multisite() ) {
|
314 |
+
give_set_error( 'username_invalid', __( 'Invalid username. Only lowercase letters (a-z) and numbers are allowed.', 'give' ) );
|
315 |
$valid = false;
|
316 |
} else {
|
317 |
+
give_set_error( 'username_invalid', __( 'Invalid username.', 'give' ) );
|
318 |
$valid = false;
|
319 |
}
|
320 |
}
|
321 |
} else {
|
322 |
// Username is empty.
|
323 |
+
give_set_error( 'username_empty', __( 'Enter a username.', 'give' ) );
|
324 |
$valid = false;
|
325 |
|
326 |
// Check if guest checkout is disable for form.
|
327 |
if ( $form_id && give_logged_in_only( $form_id ) ) {
|
328 |
+
give_set_error( 'registration_required', __( 'You must register or login to complete your donation.', 'give' ) );
|
329 |
$valid = false;
|
330 |
}
|
331 |
}
|
360 |
|
361 |
if ( empty( $email ) ) {
|
362 |
// No email.
|
363 |
+
give_set_error( 'email_empty', __( 'Enter an email.', 'give' ) );
|
364 |
$valid = false;
|
365 |
|
366 |
} elseif ( ! is_email( $email ) ) {
|
367 |
// Validate email.
|
368 |
+
give_set_error( 'email_invalid', __( 'Invalid email.', 'give' ) );
|
369 |
$valid = false;
|
370 |
|
371 |
} elseif ( $registering_new_user && email_exists( $email ) ) {
|
372 |
// Check if email exists.
|
373 |
+
give_set_error( 'email_used', __( 'The email address provided is already active for another user.', 'give' ) );
|
374 |
$valid = false;
|
375 |
}
|
376 |
|
406 |
// Verify confirmation matches.
|
407 |
if ( $password != $confirm_password ) {
|
408 |
// Passwords do not match
|
409 |
+
give_set_error( 'password_mismatch', __( 'Passwords don\'t match.', 'give' ) );
|
410 |
$valid = false;
|
411 |
}
|
412 |
} elseif ( $registering_new_user ) {
|
413 |
// Password or confirmation missing.
|
414 |
if ( ! $password ) {
|
415 |
// The password is invalid.
|
416 |
+
give_set_error( 'password_empty', __( 'Enter a password.', 'give' ) );
|
417 |
$valid = false;
|
418 |
} elseif ( ! $confirm_password ) {
|
419 |
// Confirmation password is invalid.
|
420 |
+
give_set_error( 'confirmation_empty', __( 'Enter the password confirmation.', 'give' ) );
|
421 |
$valid = false;
|
422 |
}
|
423 |
}
|
563 |
/* translators: %s: user email */
|
564 |
$message .= sprintf( esc_attr__( 'E-mail: %s', 'give' ), $user_data['user_email'] ) . "\r\n";
|
565 |
|
566 |
+
Give()->emails->send(
|
567 |
get_option( 'admin_email' ),
|
568 |
sprintf(
|
569 |
/* translators: %s: site name */
|
580 |
|
581 |
$message .= '<a href="' . wp_login_url() . '"> ' . esc_attr__( 'Click Here to Login »', 'give' ) . '</a>' . "\r\n";
|
582 |
|
583 |
+
Give()->emails->send(
|
584 |
$user_data['user_email'],
|
585 |
sprintf(
|
586 |
/* translators: %s: site name */
|
languages/give.pot
CHANGED
@@ -15,11 +15,12 @@ msgstr ""
|
|
15 |
"X-Poedit-SearchPath-0: .\n"
|
16 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18 |
-
|
|
|
19 |
msgid "Cheatin’ huh?"
|
20 |
msgstr ""
|
21 |
|
22 |
-
#: includes/actions.php:
|
23 |
msgid "WordPress user #%d is connected to #%d"
|
24 |
msgstr ""
|
25 |
|
@@ -35,7 +36,7 @@ msgstr ""
|
|
35 |
msgid "The following Add-ons extend the functionality of Give."
|
36 |
msgstr ""
|
37 |
|
38 |
-
#: includes/admin/add-ons.php:
|
39 |
msgid "There was an error retrieving the Give Add-ons list from the server. Please try again later."
|
40 |
msgstr ""
|
41 |
|
@@ -79,7 +80,7 @@ msgstr ""
|
|
79 |
msgid "Give Add-ons"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: includes/admin/admin-pages.php:75, includes/admin/class-give-settings.php:
|
83 |
msgid "Add-ons"
|
84 |
msgstr ""
|
85 |
|
@@ -271,607 +272,607 @@ msgstr ""
|
|
271 |
msgid "Generate New API Keys"
|
272 |
msgstr ""
|
273 |
|
274 |
-
#: includes/admin/class-give-settings.php:
|
275 |
msgid "General"
|
276 |
msgstr ""
|
277 |
|
278 |
-
#: includes/admin/class-give-settings.php:
|
279 |
msgid "Payment Gateways"
|
280 |
msgstr ""
|
281 |
|
282 |
-
#: includes/admin/class-give-settings.php:
|
283 |
msgid "Display Options"
|
284 |
msgstr ""
|
285 |
|
286 |
-
#: includes/admin/class-give-settings.php:
|
287 |
msgid "Emails"
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: includes/admin/class-give-settings.php:
|
291 |
msgid "Licenses"
|
292 |
msgstr ""
|
293 |
|
294 |
-
#: includes/admin/class-give-settings.php:
|
295 |
msgid "Advanced"
|
296 |
msgstr ""
|
297 |
|
298 |
-
#: includes/admin/class-give-settings.php:
|
299 |
msgid "API"
|
300 |
msgstr ""
|
301 |
|
302 |
-
#: includes/admin/class-give-settings.php:
|
303 |
msgid "System Info"
|
304 |
msgstr ""
|
305 |
|
306 |
-
#: includes/admin/class-give-settings.php:
|
307 |
msgid "Save Settings"
|
308 |
msgstr ""
|
309 |
|
310 |
-
#: includes/admin/class-give-settings.php:
|
311 |
msgid "General Settings"
|
312 |
msgstr ""
|
313 |
|
314 |
-
#: includes/admin/class-give-settings.php:
|
315 |
msgid "Success Page"
|
316 |
msgstr ""
|
317 |
|
318 |
-
#: includes/admin/class-give-settings.php:
|
319 |
msgid "The page donors are sent to after completing their donations. The %s shortcode should be on this page."
|
320 |
msgstr ""
|
321 |
|
322 |
-
#: includes/admin/class-give-settings.php:
|
323 |
msgid "Failed Donation Page"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: includes/admin/class-give-settings.php:
|
327 |
msgid "The page donors are sent to if their donation is cancelled or fails."
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: includes/admin/class-give-settings.php:
|
331 |
msgid "Donation History Page"
|
332 |
msgstr ""
|
333 |
|
334 |
-
#: includes/admin/class-give-settings.php:
|
335 |
msgid "The page showing a complete donation history for the current user. The %s shortcode should be on this page."
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: includes/admin/class-give-settings.php:
|
339 |
msgid "Base Country"
|
340 |
msgstr ""
|
341 |
|
342 |
-
#: includes/admin/class-give-settings.php:
|
343 |
msgid "The country your site operates from."
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: includes/admin/class-give-settings.php:
|
347 |
msgid "Currency Settings"
|
348 |
msgstr ""
|
349 |
|
350 |
-
#: includes/admin/class-give-settings.php:
|
351 |
msgid "Currency"
|
352 |
msgstr ""
|
353 |
|
354 |
-
#: includes/admin/class-give-settings.php:
|
355 |
msgid "The donation currency. Note that some payment gateways have currency restrictions."
|
356 |
msgstr ""
|
357 |
|
358 |
-
#: includes/admin/class-give-settings.php:
|
359 |
msgid "Currency Position"
|
360 |
msgstr ""
|
361 |
|
362 |
-
#: includes/admin/class-give-settings.php:
|
363 |
msgid "The position of the currency symbol."
|
364 |
msgstr ""
|
365 |
|
366 |
-
#: includes/admin/class-give-settings.php:
|
367 |
msgid "Before - %s10"
|
368 |
msgstr ""
|
369 |
|
370 |
-
#: includes/admin/class-give-settings.php:
|
371 |
msgid "After - 10%s"
|
372 |
msgstr ""
|
373 |
|
374 |
-
#: includes/admin/class-give-settings.php:
|
375 |
msgid "Thousands Separator"
|
376 |
msgstr ""
|
377 |
|
378 |
-
#: includes/admin/class-give-settings.php:
|
379 |
msgid "The symbol (usually , or .) to separate thousands."
|
380 |
msgstr ""
|
381 |
|
382 |
-
#: includes/admin/class-give-settings.php:
|
383 |
msgid "Decimal Separator"
|
384 |
msgstr ""
|
385 |
|
386 |
-
#: includes/admin/class-give-settings.php:
|
387 |
msgid "The symbol (usually , or .) to separate decimal points."
|
388 |
msgstr ""
|
389 |
|
390 |
-
#: includes/admin/class-give-settings.php:
|
391 |
msgid "Number of Decimals"
|
392 |
msgstr ""
|
393 |
|
394 |
-
#: includes/admin/class-give-settings.php:
|
395 |
msgid "The number of decimal points displayed in amounts."
|
396 |
msgstr ""
|
397 |
|
398 |
-
#: includes/admin/class-give-settings.php:
|
399 |
msgid "Gateways Settings"
|
400 |
msgstr ""
|
401 |
|
402 |
-
#: includes/admin/class-give-settings.php:
|
403 |
msgid "Test Mode"
|
404 |
msgstr ""
|
405 |
|
406 |
-
#: includes/admin/class-give-settings.php:
|
407 |
msgid "While in test mode no live donations are processed. To fully use test mode, you must have a sandbox (test) account for the payment gateway you are testing."
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: includes/admin/class-give-settings.php:
|
411 |
msgid "Enabled Gateways"
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: includes/admin/class-give-settings.php:
|
415 |
msgid "Enable your payment gateway. Can be ordered by dragging."
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: includes/admin/class-give-settings.php:
|
419 |
msgid "Default Gateway"
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: includes/admin/class-give-settings.php:
|
423 |
msgid "The gateway that will be selected by default."
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: includes/admin/class-give-settings.php:
|
427 |
msgid "PayPal Standard"
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: includes/admin/class-give-settings.php:
|
431 |
msgid "PayPal Email"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: includes/admin/class-give-settings.php:
|
435 |
msgid "Enter your PayPal account's email."
|
436 |
msgstr ""
|
437 |
|
438 |
-
#: includes/admin/class-give-settings.php:
|
439 |
msgid "PayPal Page Style"
|
440 |
msgstr ""
|
441 |
|
442 |
-
#: includes/admin/class-give-settings.php:
|
443 |
msgid "Enter the name of the page style to use, or leave blank to use the default."
|
444 |
msgstr ""
|
445 |
|
446 |
-
#: includes/admin/class-give-settings.php:
|
447 |
msgid "PayPal Transaction Type"
|
448 |
msgstr ""
|
449 |
|
450 |
-
#: includes/admin/class-give-settings.php:
|
451 |
msgid "Nonprofits must verify their status to withdraw donations they receive via PayPal. PayPal users that are not verified nonprofits must demonstrate how their donations will be used, once they raise more than $10,000. By default, Give transactions are sent to PayPal as donations. You may change the transaction type using this option if you feel you may not meet PayPal's donation requirements."
|
452 |
msgstr ""
|
453 |
|
454 |
-
#: includes/admin/class-give-settings.php:
|
455 |
msgid "Donation"
|
456 |
msgstr ""
|
457 |
|
458 |
-
#: includes/admin/class-give-settings.php:
|
459 |
msgid "Standard Transaction"
|
460 |
msgstr ""
|
461 |
|
462 |
-
#: includes/admin/class-give-settings.php:
|
463 |
msgid "Disable PayPal IPN Verification"
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: includes/admin/class-give-settings.php:
|
467 |
msgid "If donations are not getting marked as complete, use a slightly less secure method of verifying donations."
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: includes/admin/class-give-settings.php:
|
471 |
msgid "Offline Donations"
|
472 |
msgstr ""
|
473 |
|
474 |
-
#: includes/admin/class-give-settings.php:
|
475 |
msgid "Collect Billing Details"
|
476 |
msgstr ""
|
477 |
|
478 |
-
#: includes/admin/class-give-settings.php:
|
479 |
msgid "Enable to request billing details for offline donations. Will appear above offline donation instructions. Can be enabled/disabled per form."
|
480 |
msgstr ""
|
481 |
|
482 |
-
#: includes/admin/class-give-settings.php:
|
483 |
msgid "Offline Donation Instructions"
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: includes/admin/class-give-settings.php:
|
487 |
msgid "The following content will appear for all forms when the user selects the offline donation payment option. Note: You may customize the content per form as needed."
|
488 |
msgstr ""
|
489 |
|
490 |
-
#: includes/admin/class-give-settings.php:
|
491 |
msgid "Offline Donation Email Instructions Subject"
|
492 |
msgstr ""
|
493 |
|
494 |
-
#: includes/admin/class-give-settings.php:
|
495 |
msgid "Enter the subject line for the donation receipt email."
|
496 |
msgstr ""
|
497 |
|
498 |
-
#: includes/admin/class-give-settings.php:
|
499 |
msgid "{donation} - Offline Donation Instructions"
|
500 |
msgstr ""
|
501 |
|
502 |
-
#: includes/admin/class-give-settings.php:
|
503 |
msgid "Offline Donation Email Instructions"
|
504 |
msgstr ""
|
505 |
|
506 |
-
#: includes/admin/class-give-settings.php:
|
507 |
msgid "Enter the instructions you want emailed to the donor after they have submitted the donation form. Most likely this would include important information like mailing address and who to make the check out to."
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: includes/admin/class-give-settings.php:
|
511 |
msgid "Display Settings"
|
512 |
msgstr ""
|
513 |
|
514 |
-
#: includes/admin/class-give-settings.php:
|
515 |
msgid "Disable CSS"
|
516 |
msgstr ""
|
517 |
|
518 |
-
#: includes/admin/class-give-settings.php:
|
519 |
msgid "Enable this option if you would like to disable all of Give's included CSS stylesheets."
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: includes/admin/class-give-settings.php:
|
523 |
msgid "Enable Floating Labels"
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: includes/admin/class-give-settings.php:
|
527 |
msgid "Enable <a href=\"%s\" target=\"_blank\">floating labels</a> in Give's donation forms. Note that if the \"Disable CSS\" option is enabled, you will need to style the floating labels yourself."
|
528 |
msgstr ""
|
529 |
|
530 |
-
#: includes/admin/class-give-settings.php:
|
531 |
msgid "Disable Welcome Screen"
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: includes/admin/class-give-settings.php:
|
535 |
msgid "Enable this option if you would like to disable the <a href=\"%s\" target=\"_blank\">Give Welcome screen</a> every time Give is activated and/or updated."
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: includes/admin/class-give-settings.php:
|
539 |
msgid "Post Types"
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: includes/admin/class-give-settings.php:
|
543 |
msgid "Disable Form Single Views"
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: includes/admin/class-give-settings.php:
|
547 |
msgid "By default, all forms have single views enabled which create a specific URL on your website for that form. This option disables the singular and archive views from being publicly viewable. Note: you will need to embed forms using a shortcode or widget if enabled."
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: includes/admin/class-give-settings.php:
|
551 |
msgid "Disable Form Archives"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: includes/admin/class-give-settings.php:
|
555 |
msgid "Archives pages list all the forms you have created. This option will disable only the form's archive page(s). The single form's view will remain in place. Note: you will need to refresh your permalinks after this option has been enabled."
|
556 |
msgstr ""
|
557 |
|
558 |
-
#: includes/admin/class-give-settings.php:
|
559 |
msgid "Disable Form Excerpts"
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: includes/admin/class-give-settings.php:
|
563 |
msgid "The excerpt is an optional summary or description of a donation form; in short, a summary as to why the user should give."
|
564 |
msgstr ""
|
565 |
|
566 |
-
#: includes/admin/class-give-settings.php:
|
567 |
msgid "Featured Image Size"
|
568 |
msgstr ""
|
569 |
|
570 |
-
#: includes/admin/class-give-settings.php:
|
571 |
msgid "The Featured Image is an image that is chosen as the representative image for a donation form. Some themes may have custom featured image sizes. Please select the size you would like to display for your single donation form's featured image."
|
572 |
msgstr ""
|
573 |
|
574 |
-
#: includes/admin/class-give-settings.php:
|
575 |
msgid "Disable Form Featured Image"
|
576 |
msgstr ""
|
577 |
|
578 |
-
#: includes/admin/class-give-settings.php:
|
579 |
msgid "If you do not wish to use the featured image functionality you can disable it using this option and it will not be displayed for single donation forms."
|
580 |
msgstr ""
|
581 |
|
582 |
-
#: includes/admin/class-give-settings.php:
|
583 |
msgid "Disable Single Form Sidebar"
|
584 |
msgstr ""
|
585 |
|
586 |
-
#: includes/admin/class-give-settings.php:
|
587 |
msgid "The sidebar allows you to add additional widget to the Give single form view. If you don't plan on using the sidebar you may disable it with this option."
|
588 |
msgstr ""
|
589 |
|
590 |
-
#: includes/admin/class-give-settings.php:
|
591 |
msgid "Taxonomies"
|
592 |
msgstr ""
|
593 |
|
594 |
-
#: includes/admin/class-give-settings.php:
|
595 |
msgid "Enable Form Categories"
|
596 |
msgstr ""
|
597 |
|
598 |
-
#: includes/admin/class-give-settings.php:
|
599 |
msgid "Enables the \"Category\" taxonomy for all Give forms."
|
600 |
msgstr ""
|
601 |
|
602 |
-
#: includes/admin/class-give-settings.php:
|
603 |
msgid "Enable Form Tags"
|
604 |
msgstr ""
|
605 |
|
606 |
-
#: includes/admin/class-give-settings.php:
|
607 |
msgid "Enables the \"Tag\" taxonomy for all Give forms."
|
608 |
msgstr ""
|
609 |
|
610 |
-
#: includes/admin/class-give-settings.php:
|
611 |
msgid "Email Settings"
|
612 |
msgstr ""
|
613 |
|
614 |
-
#: includes/admin/class-give-settings.php:
|
615 |
msgid "Email Template"
|
616 |
msgstr ""
|
617 |
|
618 |
-
#: includes/admin/class-give-settings.php:
|
619 |
msgid "Choose a template. Click \"Save Changes\" then \"Preview Donation Receipt\" to see the new template."
|
620 |
msgstr ""
|
621 |
|
622 |
-
#: includes/admin/class-give-settings.php:
|
623 |
msgid "Logo"
|
624 |
msgstr ""
|
625 |
|
626 |
-
#: includes/admin/class-give-settings.php:
|
627 |
msgid "Upload or choose a logo to be displayed at the top of the donation receipt emails. Displayed on HTML emails only."
|
628 |
msgstr ""
|
629 |
|
630 |
-
#: includes/admin/class-give-settings.php:
|
631 |
msgid "From Name"
|
632 |
msgstr ""
|
633 |
|
634 |
-
#: includes/admin/class-give-settings.php:
|
635 |
msgid "The name that appears in the \"From\" field in donation receipt emails."
|
636 |
msgstr ""
|
637 |
|
638 |
-
#: includes/admin/class-give-settings.php:
|
639 |
msgid "From Email"
|
640 |
msgstr ""
|
641 |
|
642 |
-
#: includes/admin/class-give-settings.php:
|
643 |
msgid "Email to send donation receipts from. This will act as the \"from\" and \"reply-to\" address."
|
644 |
msgstr ""
|
645 |
|
646 |
-
#: includes/admin/class-give-settings.php:
|
647 |
msgid "Donation Receipt"
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: includes/admin/class-give-settings.php:
|
651 |
msgid "Donation Email Subject"
|
652 |
msgstr ""
|
653 |
|
654 |
-
#: includes/admin/class-give-settings.php:
|
655 |
msgid "Enter the email that is sent to users after completing a successful donation. HTML is accepted. Available template tags: %s"
|
656 |
msgstr ""
|
657 |
|
658 |
-
#: includes/admin/class-give-settings.php:
|
659 |
msgid "New Donation Notification"
|
660 |
msgstr ""
|
661 |
|
662 |
-
#: includes/admin/class-give-settings.php:
|
663 |
msgid "Donation Notification Subject"
|
664 |
msgstr ""
|
665 |
|
666 |
-
#: includes/admin/class-give-settings.php:
|
667 |
msgid "Enter the subject line for the donation notification email."
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: includes/admin/class-give-settings.php:
|
671 |
msgid "New Donation - #{payment_id}"
|
672 |
msgstr ""
|
673 |
|
674 |
-
#: includes/admin/class-give-settings.php:
|
675 |
msgid "Donation Notification"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: includes/admin/class-give-settings.php:
|
679 |
msgid "Enter the email that is sent to donation notification emails after completion of a donation. HTML is accepted. Available template tags: %s"
|
680 |
msgstr ""
|
681 |
|
682 |
-
#: includes/admin/class-give-settings.php:
|
683 |
msgid "Donation Notification Emails"
|
684 |
msgstr ""
|
685 |
|
686 |
-
#: includes/admin/class-give-settings.php:
|
687 |
msgid "Enter the email address(es) that should receive a notification anytime a donation is made, please only enter <span class=\"give-underline\">one email address per line</span> and <strong>not separated by commas</strong>."
|
688 |
msgstr ""
|
689 |
|
690 |
-
#: includes/admin/class-give-settings.php:
|
691 |
msgid "Disable Admin Notifications"
|
692 |
msgstr ""
|
693 |
|
694 |
-
#: includes/admin/class-give-settings.php:
|
695 |
msgid "Check this box if you do not want to receive emails when new donations are made."
|
696 |
msgstr ""
|
697 |
|
698 |
-
#: includes/admin/class-give-settings.php:
|
699 |
msgid "Give Add-ons Settings"
|
700 |
msgstr ""
|
701 |
|
702 |
-
#: includes/admin/class-give-settings.php:
|
703 |
msgid "Give Licenses"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: includes/admin/class-give-settings.php:
|
707 |
msgid "Advanced Options"
|
708 |
msgstr ""
|
709 |
|
710 |
-
#: includes/admin/class-give-settings.php:
|
711 |
msgid "Access Control"
|
712 |
msgstr ""
|
713 |
|
714 |
-
#: includes/admin/class-give-settings.php:
|
715 |
msgid "Session Lifetime"
|
716 |
msgstr ""
|
717 |
|
718 |
-
#: includes/admin/class-give-settings.php:
|
719 |
msgid "The length of time a user's session is kept alive. Give starts a new session per user upon donation. Sessions allow donors to view their donation receipts without being logged in."
|
720 |
msgstr ""
|
721 |
|
722 |
-
#: includes/admin/class-give-settings.php:
|
723 |
msgid "24 Hours"
|
724 |
msgstr ""
|
725 |
|
726 |
-
#: includes/admin/class-give-settings.php:
|
727 |
msgid "48 Hours"
|
728 |
msgstr ""
|
729 |
|
730 |
-
#: includes/admin/class-give-settings.php:
|
731 |
msgid "72 Hours"
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: includes/admin/class-give-settings.php:
|
735 |
msgid "1 Week"
|
736 |
msgstr ""
|
737 |
|
738 |
-
#: includes/admin/class-give-settings.php:
|
739 |
msgid "Email Access"
|
740 |
msgstr ""
|
741 |
|
742 |
-
#: includes/admin/class-give-settings.php:
|
743 |
msgid "Would you like your donors to be able to access their donation history using only email? Donors whose sessions have expired and do not have an account may still access their donation history via a temporary email access link."
|
744 |
msgstr ""
|
745 |
|
746 |
-
#: includes/admin/class-give-settings.php:
|
747 |
msgid "reCAPTCHA Site Key"
|
748 |
msgstr ""
|
749 |
|
750 |
-
#: includes/admin/class-give-settings.php:
|
751 |
msgid "If you would like to prevent spam on the email access form navigate to <a href=\"%s\" target=\"_blank\">the reCAPTCHA website</a> and sign up for an API key. The reCAPTCHA uses Google's user-friendly single click verification method."
|
752 |
msgstr ""
|
753 |
|
754 |
-
#: includes/admin/class-give-settings.php:
|
755 |
msgid "reCAPTCHA Secret Key"
|
756 |
msgstr ""
|
757 |
|
758 |
-
#: includes/admin/class-give-settings.php:
|
759 |
msgid "Please paste the reCAPTCHA secret key here from your manage reCAPTCHA API Keys panel."
|
760 |
msgstr ""
|
761 |
|
762 |
-
#: includes/admin/class-give-settings.php:
|
763 |
msgid "Data Control"
|
764 |
msgstr ""
|
765 |
|
766 |
-
#: includes/admin/class-give-settings.php:
|
767 |
msgid "Remove All Data on Uninstall?"
|
768 |
msgstr ""
|
769 |
|
770 |
-
#: includes/admin/class-give-settings.php:
|
771 |
msgid "When the plugin is deleted, completely remove all Give data."
|
772 |
msgstr ""
|
773 |
|
774 |
-
#: includes/admin/class-give-settings.php:
|
775 |
msgid "Filter Control"
|
776 |
msgstr ""
|
777 |
|
778 |
-
#: includes/admin/class-give-settings.php:
|
779 |
msgid "Disable %s filter"
|
780 |
msgstr ""
|
781 |
|
782 |
-
#: includes/admin/class-give-settings.php:
|
783 |
msgid "If you are seeing extra social buttons, related posts, or other unwanted elements appearing within your forms then you can disable WordPress' content filter. <a href=\"%1$s\" target=\"_blank\">Learn more</a> about %2$s filter."
|
784 |
msgstr ""
|
785 |
|
786 |
-
#: includes/admin/class-give-settings.php:
|
787 |
msgid "Script Loading"
|
788 |
msgstr ""
|
789 |
|
790 |
-
#: includes/admin/class-give-settings.php:
|
791 |
msgid "Load Scripts in Footer?"
|
792 |
msgstr ""
|
793 |
|
794 |
-
#: includes/admin/class-give-settings.php:
|
795 |
msgid "Check this box if you would like Give to load all frontend JavaScript files in the footer."
|
796 |
msgstr ""
|
797 |
|
798 |
-
#: includes/admin/class-give-settings.php:
|
799 |
msgid "Please copy and paste this information in your ticket when contacting support."
|
800 |
msgstr ""
|
801 |
|
802 |
-
#: includes/admin/class-give-settings.php:
|
803 |
msgid "Settings updated."
|
804 |
msgstr ""
|
805 |
|
806 |
-
#: includes/admin/class-give-settings.php:
|
807 |
msgid "Invalid property: %s"
|
808 |
msgstr ""
|
809 |
|
810 |
-
#: includes/admin/class-give-settings.php:
|
811 |
msgid "renew"
|
812 |
msgstr ""
|
813 |
|
814 |
-
#: includes/admin/class-give-settings.php:
|
815 |
msgid "expire"
|
816 |
msgstr ""
|
817 |
|
818 |
-
#: includes/admin/class-give-settings.php:
|
819 |
-
msgid "Your subscription (<a href=\"%s\" target=\"_blank\">#%d</a>) expired. Please <a href=\"%s\" target=\"_blank\" title=\"Renew your license key\">renew your license key</a>"
|
820 |
msgstr ""
|
821 |
|
822 |
-
#: includes/admin/class-give-settings.php:
|
823 |
-
msgid "Your subscription (<a href=\"%s\" target=\"_blank\">#%d</a>) will %s in %s."
|
824 |
msgstr ""
|
825 |
|
826 |
-
#: includes/admin/class-give-settings.php:
|
827 |
-
msgid "Your subscription (<a href=\"%s\" target=\"_blank\">#%d</a>) will %s on %s."
|
828 |
msgstr ""
|
829 |
|
830 |
-
#: includes/admin/class-give-settings.php:
|
831 |
-
msgid "Your license key expired on %s. Please <a href=\"%s\" target=\"_blank\" title=\"Renew your license key\">renew your license key</a>."
|
832 |
msgstr ""
|
833 |
|
834 |
-
#: includes/admin/class-give-settings.php:
|
835 |
msgid "Invalid license. Please <a href=\"%s\" target=\"_blank\" title=\"Visit account page\">visit your account page</a> and verify it."
|
836 |
msgstr ""
|
837 |
|
838 |
-
#: includes/admin/class-give-settings.php:
|
839 |
-
msgid "Your %s is not active for this URL. Please <a href=\"%s\" target=\"_blank\" title=\"Visit account page\">visit your account page</a> to manage your license key URLs."
|
840 |
msgstr ""
|
841 |
|
842 |
-
#: includes/admin/class-give-settings.php:
|
843 |
-
msgid "This license %s does not belong to %s."
|
844 |
msgstr ""
|
845 |
|
846 |
-
#: includes/admin/class-give-settings.php:
|
847 |
msgid "Your license key has reached it's activation limit. <a href=\"%s\">View possible upgrades</a> now."
|
848 |
msgstr ""
|
849 |
|
850 |
-
#: includes/admin/class-give-settings.php:
|
851 |
msgid "License key never expires."
|
852 |
msgstr ""
|
853 |
|
854 |
-
#: includes/admin/class-give-settings.php:
|
855 |
-
msgid "Your license key expires soon! It expires on %s. <a href=\"%s\" target=\"_blank\" title=\"Renew license\">Renew your license key</a>."
|
856 |
msgstr ""
|
857 |
|
858 |
-
#: includes/admin/class-give-settings.php:
|
859 |
msgid "Your license key expires on %s."
|
860 |
msgstr ""
|
861 |
|
862 |
-
#: includes/admin/class-give-settings.php:
|
863 |
msgid "To receive updates, please enter your valid %s license key."
|
864 |
msgstr ""
|
865 |
|
866 |
-
#: includes/admin/class-give-settings.php:
|
867 |
msgid "Deactivate License"
|
868 |
msgstr ""
|
869 |
|
870 |
-
#: includes/admin/class-give-settings.php:
|
871 |
msgid "To receive updates, please enter your valid license key."
|
872 |
msgstr ""
|
873 |
|
874 |
-
#: includes/admin/class-give-settings.php:
|
875 |
msgid "You can create API keys for individual users within their profile edit screen. API keys allow users to use the <a href=\"%1$s\" target=\"_blank\">Give REST API</a> to retrieve donation data in JSON or XML for external applications or devices, such as <a href=\"%2$s\" target=\"_blank\">Zapier</a>."
|
876 |
msgstr ""
|
877 |
|
@@ -951,7 +952,7 @@ msgstr ""
|
|
951 |
msgid "Delete \"%s\""
|
952 |
msgstr ""
|
953 |
|
954 |
-
#: includes/admin/customers/class-customer-table.php:225, includes/admin/payments/class-payments-table.php:
|
955 |
msgid "Delete"
|
956 |
msgstr ""
|
957 |
|
@@ -959,7 +960,7 @@ msgstr ""
|
|
959 |
msgid "You do not have permission to edit this donor."
|
960 |
msgstr ""
|
961 |
|
962 |
-
#: includes/admin/customers/customer-actions.php:31, includes/admin/customers/customer-actions.php:43, includes/admin/customers/customer-actions.php:195, includes/admin/customers/customer-actions.php:207, includes/admin/customers/customer-actions.php:273, includes/admin/customers/customer-actions.php:286, includes/admin/customers/customer-actions.php:368, includes/admin/customers/customer-actions.php:379, includes/admin/customers/customer-actions.php:545, includes/admin/customers/customer-actions.php:589, includes/admin/forms/dashboard-columns.php:237, includes/admin/payments/actions.php:31, includes/admin/payments/actions.php:88, includes/admin/payments/actions.php:99, includes/admin/payments/actions.php:314, includes/admin/payments/actions.php:334, includes/admin/payments/actions.php:367, includes/admin/payments/actions.php:389, includes/admin/payments/view-order-details.php:24, includes/admin/payments/view-order-details.php:34, includes/admin/reporting/class-api-requests-logs-list-table.php:141, includes/admin/reporting/class-export.php:177, includes/admin/reporting/class-gateway-error-logs-list-table.php:128, includes/admin/reporting/export/class-batch-export.php:133, includes/admin/reporting/export/export-actions.php:26, includes/admin/reporting/pdf-reports.php:31, includes/admin/reporting/pdf-reports.php:35, includes/admin/reporting/tools/class-give-tools-delete-test-transactions.php:157, includes/admin/reporting/tools/class-give-tools-recount-all-stats.php:206, includes/admin/reporting/tools/class-give-tools-recount-customer-stats.php:195, includes/admin/reporting/tools/class-give-tools-recount-form-stats.php:220, includes/admin/reporting/tools/class-give-tools-recount-income.php:
|
963 |
msgid "Error"
|
964 |
msgstr ""
|
965 |
|
@@ -1011,11 +1012,11 @@ msgstr ""
|
|
1011 |
msgid "An error has occurred. Please try again."
|
1012 |
msgstr ""
|
1013 |
|
1014 |
-
#: includes/admin/customers/customer-actions.php:467, includes/admin/reporting/export/export-actions.php:26, includes/admin/reporting/pdf-reports.php:35, includes/api/class-give-api.php:1691, includes/class-give-license-handler.php:
|
1015 |
msgid "Nonce verification failed."
|
1016 |
msgstr ""
|
1017 |
|
1018 |
-
#: includes/admin/customers/customer-actions.php:472, includes/login-register.php:254, includes/process-donation.php:
|
1019 |
msgid "Invalid email."
|
1020 |
msgstr ""
|
1021 |
|
@@ -1031,7 +1032,7 @@ msgstr ""
|
|
1031 |
msgid "Email successfully added to donor."
|
1032 |
msgstr ""
|
1033 |
|
1034 |
-
#: includes/admin/customers/customer-actions.php:500, includes/admin/customers/customer-actions.php:552, includes/admin/customers/customer-actions.php:597, includes/payments/functions.php:
|
1035 |
msgid "System"
|
1036 |
msgstr ""
|
1037 |
|
@@ -1039,7 +1040,7 @@ msgstr ""
|
|
1039 |
msgid "Email address %1$s added by %2$s"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
-
#: includes/admin/customers/customer-actions.php:505
|
1043 |
msgid "Email address %1$s set as primary by %2$s"
|
1044 |
msgstr ""
|
1045 |
|
@@ -1051,10 +1052,6 @@ msgstr ""
|
|
1051 |
msgid "Email address %1$s removed by %2$s"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
-
#: includes/admin/customers/customer-actions.php:598
|
1055 |
-
msgid "Email address %1$s set as primary by %1$s"
|
1056 |
-
msgstr ""
|
1057 |
-
|
1058 |
#: includes/admin/customers/customer-functions.php:52
|
1059 |
msgid "Donor Profile"
|
1060 |
msgstr ""
|
@@ -1177,15 +1174,15 @@ msgstr ""
|
|
1177 |
msgid "ID"
|
1178 |
msgstr ""
|
1179 |
|
1180 |
-
#: includes/admin/customers/customers.php:502, includes/admin/forms/class-metabox-form-data.php:201, includes/admin/forms/class-metabox-form-data.php:371, includes/admin/forms/dashboard-columns.php:38, includes/admin/payments/class-payments-table.php:
|
1181 |
msgid "Amount"
|
1182 |
msgstr ""
|
1183 |
|
1184 |
-
#: includes/admin/customers/customers.php:503, includes/admin/forms/dashboard-columns.php:43, includes/admin/payments/class-payments-table.php:
|
1185 |
msgid "Date"
|
1186 |
msgstr ""
|
1187 |
|
1188 |
-
#: includes/admin/customers/customers.php:504, includes/admin/payments/class-payments-table.php:
|
1189 |
msgid "Status"
|
1190 |
msgstr ""
|
1191 |
|
@@ -1213,7 +1210,7 @@ msgstr ""
|
|
1213 |
msgid "View Form %s."
|
1214 |
msgstr ""
|
1215 |
|
1216 |
-
#: includes/admin/customers/customers.php:580, includes/post-types.php:48, includes/post-types.php:
|
1217 |
msgid "View Form"
|
1218 |
msgstr ""
|
1219 |
|
@@ -1324,7 +1321,7 @@ msgstr ""
|
|
1324 |
msgid "Dropdown"
|
1325 |
msgstr ""
|
1326 |
|
1327 |
-
#: includes/admin/forms/class-metabox-form-data.php:151, includes/gateways/paypal-standard.php:785, includes/gateways/paypal-standard.php:796, includes/payments/functions.php:
|
1328 |
msgid "Custom Amount"
|
1329 |
msgstr ""
|
1330 |
|
@@ -1332,11 +1329,11 @@ msgstr ""
|
|
1332 |
msgid "Do you want the user to be able to input their own donation amount?"
|
1333 |
msgstr ""
|
1334 |
|
1335 |
-
#: includes/admin/forms/class-metabox-form-data.php:157, includes/admin/forms/class-metabox-form-data.php:289, includes/admin/forms/class-metabox-form-data.php:314, includes/admin/forms/class-metabox-form-data.php:347, includes/admin/forms/class-metabox-form-data.php:390, includes/admin/forms/class-metabox-form-data.php:428, includes/admin/settings/class-settings-advanced.php:75, includes/admin/settings/class-settings-display.php:62, includes/admin/settings/class-settings-display.php:74, includes/admin/settings/class-settings-display.php:86, includes/admin/settings/class-settings-display.php:117, includes/admin/settings/class-settings-display.php:128, includes/admin/settings/class-settings-display.php:139, includes/admin/settings/class-settings-display.php:150, includes/admin/settings/class-settings-display.php:169, includes/admin/settings/class-settings-display.php:200, includes/admin/settings/class-settings-display.php:211, includes/admin/settings/class-settings-display.php:242, includes/admin/settings/class-settings-email.php:149, includes/admin/settings/class-settings-gateways.php:85, includes/admin/settings/class-settings-gateways.php:96, includes/admin/settings/class-settings-gateways.php:128, includes/admin/settings/class-settings-gateways.php:187, includes/admin/settings/class-settings-general.php:74, includes/admin/tools/views/html-admin-page-system-info.php:421, includes/admin/tools/views/html-admin-page-system-info.php:494, includes/admin/tools/views/html-admin-page-system-info.php:499, includes/admin/tools/views/html-admin-page-system-info.php:514, includes/admin/tools/views/html-admin-page-system-info.php:519, includes/admin/tools/views/html-admin-page-system-info.php:540, includes/admin/tools/views/html-admin-page-system-info.php:545, includes/gateways/offline-donations.php:
|
1336 |
msgid "Enabled"
|
1337 |
msgstr ""
|
1338 |
|
1339 |
-
#: includes/admin/forms/class-metabox-form-data.php:158, includes/admin/forms/class-metabox-form-data.php:290, includes/admin/forms/class-metabox-form-data.php:315, includes/admin/forms/class-metabox-form-data.php:348, includes/admin/forms/class-metabox-form-data.php:391, includes/admin/forms/class-metabox-form-data.php:429, includes/admin/settings/class-settings-advanced.php:76, includes/admin/settings/class-settings-display.php:63, includes/admin/settings/class-settings-display.php:75, includes/admin/settings/class-settings-display.php:87, includes/admin/settings/class-settings-display.php:118, includes/admin/settings/class-settings-display.php:129, includes/admin/settings/class-settings-display.php:140, includes/admin/settings/class-settings-display.php:151, includes/admin/settings/class-settings-display.php:170, includes/admin/settings/class-settings-display.php:201, includes/admin/settings/class-settings-display.php:212, includes/admin/settings/class-settings-display.php:243, includes/admin/settings/class-settings-email.php:150, includes/admin/settings/class-settings-gateways.php:86, includes/admin/settings/class-settings-gateways.php:97, includes/admin/settings/class-settings-gateways.php:129, includes/admin/settings/class-settings-gateways.php:188, includes/admin/settings/class-settings-general.php:75, includes/admin/tools/views/html-admin-page-system-info.php:421, includes/admin/tools/views/html-admin-page-system-info.php:494, includes/admin/tools/views/html-admin-page-system-info.php:499, includes/admin/tools/views/html-admin-page-system-info.php:514, includes/admin/tools/views/html-admin-page-system-info.php:519, includes/admin/tools/views/html-admin-page-system-info.php:540, includes/admin/tools/views/html-admin-page-system-info.php:545, includes/gateways/offline-donations.php:
|
1340 |
msgid "Disabled"
|
1341 |
msgstr ""
|
1342 |
|
@@ -1456,7 +1453,7 @@ msgstr ""
|
|
1456 |
msgid "Select the <a href=\"%s\" target=\"_blank\">floating labels</a> setting for this Give form. Be aware that if you have the \"Disable CSS\" option enabled, you will need to style the floating labels yourself."
|
1457 |
msgstr ""
|
1458 |
|
1459 |
-
#: includes/admin/forms/class-metabox-form-data.php:313, includes/admin/forms/class-metabox-form-data.php:479, includes/forms/widget.php:184, includes/gateways/offline-donations.php:
|
1460 |
msgid "Global Option"
|
1461 |
msgstr ""
|
1462 |
|
@@ -1564,11 +1561,11 @@ msgstr ""
|
|
1564 |
msgid "Do you want to require the donor to accept terms prior to being able to complete their donation?"
|
1565 |
msgstr ""
|
1566 |
|
1567 |
-
#: includes/admin/forms/class-metabox-form-data.php:480, includes/gateways/offline-donations.php:
|
1568 |
msgid "Customize"
|
1569 |
msgstr ""
|
1570 |
|
1571 |
-
#: includes/admin/forms/class-metabox-form-data.php:481, includes/gateways/offline-donations.php:
|
1572 |
msgid "Disable"
|
1573 |
msgstr ""
|
1574 |
|
@@ -1656,139 +1653,139 @@ msgstr ""
|
|
1656 |
msgid "Error creating new donor."
|
1657 |
msgstr ""
|
1658 |
|
1659 |
-
#: includes/admin/payments/class-payments-table.php:
|
1660 |
msgid "Start Date:"
|
1661 |
msgstr ""
|
1662 |
|
1663 |
-
#: includes/admin/payments/class-payments-table.php:
|
1664 |
msgid "End Date:"
|
1665 |
msgstr ""
|
1666 |
|
1667 |
-
#: includes/admin/payments/class-payments-table.php:
|
1668 |
msgid "Apply"
|
1669 |
msgstr ""
|
1670 |
|
1671 |
-
#: includes/admin/payments/class-payments-table.php:
|
1672 |
msgid "Clear Filter"
|
1673 |
msgstr ""
|
1674 |
|
1675 |
-
#: includes/admin/payments/class-payments-table.php:
|
1676 |
msgid "Search"
|
1677 |
msgstr ""
|
1678 |
|
1679 |
-
#: includes/admin/payments/class-payments-table.php:
|
1680 |
msgid "All"
|
1681 |
msgstr ""
|
1682 |
|
1683 |
-
#: includes/admin/payments/class-payments-table.php:
|
1684 |
msgid "Completed"
|
1685 |
msgstr ""
|
1686 |
|
1687 |
-
#: includes/admin/payments/class-payments-table.php:
|
1688 |
msgid "Pending"
|
1689 |
msgstr ""
|
1690 |
|
1691 |
-
#: includes/admin/payments/class-payments-table.php:
|
1692 |
msgid "Refunded"
|
1693 |
msgstr ""
|
1694 |
|
1695 |
-
#: includes/admin/payments/class-payments-table.php:
|
1696 |
msgid "Revoked"
|
1697 |
msgstr ""
|
1698 |
|
1699 |
-
#: includes/admin/payments/class-payments-table.php:
|
1700 |
msgid "Failed"
|
1701 |
msgstr ""
|
1702 |
|
1703 |
-
#: includes/admin/payments/class-payments-table.php:
|
1704 |
msgid "Cancelled"
|
1705 |
msgstr ""
|
1706 |
|
1707 |
-
#: includes/admin/payments/class-payments-table.php:
|
1708 |
msgid "Abandoned"
|
1709 |
msgstr ""
|
1710 |
|
1711 |
-
#: includes/admin/payments/class-payments-table.php:
|
1712 |
msgid "Donation Form"
|
1713 |
msgstr ""
|
1714 |
|
1715 |
-
#: includes/admin/payments/class-payments-table.php:
|
1716 |
msgid "Details"
|
1717 |
msgstr ""
|
1718 |
|
1719 |
-
#: includes/admin/payments/class-payments-table.php:
|
1720 |
msgid "View Donat
|
15 |
"X-Poedit-SearchPath-0: .\n"
|
16 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18 |
+
|
19 |
+
#: give.php:485, give.php:511
|
20 |
msgid "Cheatin’ huh?"
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: includes/actions.php:101
|
24 |
msgid "WordPress user #%d is connected to #%d"
|
25 |
msgstr ""
|
26 |
|
36 |
msgid "The following Add-ons extend the functionality of Give."
|
37 |
msgstr ""
|
38 |
|
39 |
+
#: includes/admin/add-ons.php:64
|
40 |
msgid "There was an error retrieving the Give Add-ons list from the server. Please try again later."
|
41 |
msgstr ""
|
42 |
|
80 |
msgid "Give Add-ons"
|
81 |
msgstr ""
|
82 |
|
83 |
+
#: includes/admin/admin-pages.php:75, includes/admin/class-give-settings.php:100, includes/admin/plugins.php:75, includes/admin/settings/class-settings-addon.php:29, includes/admin/welcome.php:202
|
84 |
msgid "Add-ons"
|
85 |
msgstr ""
|
86 |
|
272 |
msgid "Generate New API Keys"
|
273 |
msgstr ""
|
274 |
|
275 |
+
#: includes/admin/class-give-settings.php:94, includes/admin/settings/class-settings-general.php:30, includes/admin/settings/class-settings-general.php:273
|
276 |
msgid "General"
|
277 |
msgstr ""
|
278 |
|
279 |
+
#: includes/admin/class-give-settings.php:95, includes/admin/class-give-settings.php:305, includes/admin/settings/class-settings-gateways.php:30
|
280 |
msgid "Payment Gateways"
|
281 |
msgstr ""
|
282 |
|
283 |
+
#: includes/admin/class-give-settings.php:96, includes/admin/forms/class-metabox-form-data.php:246, includes/admin/settings/class-settings-display.php:30, includes/admin/shortcodes/shortcode-give-form.php:100
|
284 |
msgid "Display Options"
|
285 |
msgstr ""
|
286 |
|
287 |
+
#: includes/admin/class-give-settings.php:97, includes/admin/settings/class-settings-email.php:30
|
288 |
msgid "Emails"
|
289 |
msgstr ""
|
290 |
|
291 |
+
#: includes/admin/class-give-settings.php:104, includes/admin/settings/class-settings-license.php:46
|
292 |
msgid "Licenses"
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: includes/admin/class-give-settings.php:107, includes/admin/settings/class-settings-advanced.php:30
|
296 |
msgid "Advanced"
|
297 |
msgstr ""
|
298 |
|
299 |
+
#: includes/admin/class-give-settings.php:108, includes/admin/class-give-settings.php:727, includes/admin/class-give-settings.php:733, includes/admin/tools/class-settings-api.php:46, includes/admin/tools/class-settings-api.php:84
|
300 |
msgid "API"
|
301 |
msgstr ""
|
302 |
|
303 |
+
#: includes/admin/class-give-settings.php:109, includes/admin/class-give-settings.php:742, includes/admin/class-give-settings.php:747, includes/admin/tools/class-settings-system-info.php:46
|
304 |
msgid "System Info"
|
305 |
msgstr ""
|
306 |
|
307 |
+
#: includes/admin/class-give-settings.php:174
|
308 |
msgid "Save Settings"
|
309 |
msgstr ""
|
310 |
|
311 |
+
#: includes/admin/class-give-settings.php:199, includes/admin/class-give-settings.php:203, includes/admin/settings/class-settings-general.php:187
|
312 |
msgid "General Settings"
|
313 |
msgstr ""
|
314 |
|
315 |
+
#: includes/admin/class-give-settings.php:209, includes/admin/settings/class-settings-general.php:193, includes/admin/tools/views/html-admin-page-system-info.php:444
|
316 |
msgid "Success Page"
|
317 |
msgstr ""
|
318 |
|
319 |
+
#: includes/admin/class-give-settings.php:211, includes/admin/settings/class-settings-general.php:195
|
320 |
msgid "The page donors are sent to after completing their donations. The %s shortcode should be on this page."
|
321 |
msgstr ""
|
322 |
|
323 |
+
#: includes/admin/class-give-settings.php:220, includes/admin/settings/class-settings-general.php:204
|
324 |
msgid "Failed Donation Page"
|
325 |
msgstr ""
|
326 |
|
327 |
+
#: includes/admin/class-give-settings.php:221, includes/admin/settings/class-settings-general.php:205
|
328 |
msgid "The page donors are sent to if their donation is cancelled or fails."
|
329 |
msgstr ""
|
330 |
|
331 |
+
#: includes/admin/class-give-settings.php:230, includes/admin/settings/class-settings-general.php:214
|
332 |
msgid "Donation History Page"
|
333 |
msgstr ""
|
334 |
|
335 |
+
#: includes/admin/class-give-settings.php:232, includes/admin/settings/class-settings-general.php:216
|
336 |
msgid "The page showing a complete donation history for the current user. The %s shortcode should be on this page."
|
337 |
msgstr ""
|
338 |
|
339 |
+
#: includes/admin/class-give-settings.php:241, includes/admin/settings/class-settings-general.php:225
|
340 |
msgid "Base Country"
|
341 |
msgstr ""
|
342 |
|
343 |
+
#: includes/admin/class-give-settings.php:242, includes/admin/settings/class-settings-general.php:226
|
344 |
msgid "The country your site operates from."
|
345 |
msgstr ""
|
346 |
|
347 |
+
#: includes/admin/class-give-settings.php:248, includes/admin/settings/class-settings-general.php:115, includes/admin/settings/class-settings-general.php:169
|
348 |
msgid "Currency Settings"
|
349 |
msgstr ""
|
350 |
|
351 |
+
#: includes/admin/class-give-settings.php:254, includes/admin/settings/class-settings-general.php:121, includes/admin/settings/class-settings-general.php:274
|
352 |
msgid "Currency"
|
353 |
msgstr ""
|
354 |
|
355 |
+
#: includes/admin/class-give-settings.php:255, includes/admin/settings/class-settings-general.php:122
|
356 |
msgid "The donation currency. Note that some payment gateways have currency restrictions."
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: includes/admin/class-give-settings.php:262, includes/admin/settings/class-settings-general.php:129, includes/admin/tools/views/html-admin-page-system-info.php:429
|
360 |
msgid "Currency Position"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: includes/admin/class-give-settings.php:263, includes/admin/settings/class-settings-general.php:130
|
364 |
msgid "The position of the currency symbol."
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: includes/admin/class-give-settings.php:268, includes/admin/settings/class-settings-general.php:135
|
368 |
msgid "Before - %s10"
|
369 |
msgstr ""
|
370 |
|
371 |
+
#: includes/admin/class-give-settings.php:270, includes/admin/settings/class-settings-general.php:137
|
372 |
msgid "After - 10%s"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: includes/admin/class-give-settings.php:275, includes/admin/settings/class-settings-general.php:142, includes/admin/tools/views/html-admin-page-system-info.php:439
|
376 |
msgid "Thousands Separator"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: includes/admin/class-give-settings.php:276
|
380 |
msgid "The symbol (usually , or .) to separate thousands."
|
381 |
msgstr ""
|
382 |
|
383 |
+
#: includes/admin/class-give-settings.php:283, includes/admin/settings/class-settings-general.php:150, includes/admin/tools/views/html-admin-page-system-info.php:434
|
384 |
msgid "Decimal Separator"
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: includes/admin/class-give-settings.php:284, includes/admin/settings/class-settings-general.php:151
|
388 |
msgid "The symbol (usually , or .) to separate decimal points."
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: includes/admin/class-give-settings.php:290, includes/admin/settings/class-settings-general.php:158
|
392 |
msgid "Number of Decimals"
|
393 |
msgstr ""
|
394 |
|
395 |
+
#: includes/admin/class-give-settings.php:291, includes/admin/settings/class-settings-general.php:159
|
396 |
msgid "The number of decimal points displayed in amounts."
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: includes/admin/class-give-settings.php:309
|
400 |
msgid "Gateways Settings"
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: includes/admin/class-give-settings.php:315, includes/admin/settings/class-settings-gateways.php:181, includes/admin/tools/views/html-admin-page-system-info.php:419
|
404 |
msgid "Test Mode"
|
405 |
msgstr ""
|
406 |
|
407 |
+
#: includes/admin/class-give-settings.php:316, includes/admin/settings/class-settings-gateways.php:182
|
408 |
msgid "While in test mode no live donations are processed. To fully use test mode, you must have a sandbox (test) account for the payment gateway you are testing."
|
409 |
msgstr ""
|
410 |
|
411 |
+
#: includes/admin/class-give-settings.php:321, includes/admin/settings/class-settings-gateways.php:192
|
412 |
msgid "Enabled Gateways"
|
413 |
msgstr ""
|
414 |
|
415 |
+
#: includes/admin/class-give-settings.php:322, includes/admin/settings/class-settings-gateways.php:193
|
416 |
msgid "Enable your payment gateway. Can be ordered by dragging."
|
417 |
msgstr ""
|
418 |
|
419 |
+
#: includes/admin/class-give-settings.php:327, includes/admin/forms/class-metabox-form-data.php:277, includes/admin/settings/class-settings-gateways.php:198
|
420 |
msgid "Default Gateway"
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: includes/admin/class-give-settings.php:328, includes/admin/settings/class-settings-gateways.php:199
|
424 |
msgid "The gateway that will be selected by default."
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: includes/admin/class-give-settings.php:333, includes/admin/settings/class-settings-gateways.php:246, includes/gateways/functions.php:27
|
428 |
msgid "PayPal Standard"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: includes/admin/class-give-settings.php:339, includes/admin/settings/class-settings-gateways.php:56
|
432 |
msgid "PayPal Email"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: includes/admin/class-give-settings.php:340, includes/admin/settings/class-settings-gateways.php:57
|
436 |
msgid "Enter your PayPal account's email."
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: includes/admin/class-give-settings.php:345, includes/admin/settings/class-settings-gateways.php:62
|
440 |
msgid "PayPal Page Style"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: includes/admin/class-give-settings.php:346
|
444 |
msgid "Enter the name of the page style to use, or leave blank to use the default."
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: includes/admin/class-give-settings.php:351, includes/admin/settings/class-settings-gateways.php:68
|
448 |
msgid "PayPal Transaction Type"
|
449 |
msgstr ""
|
450 |
|
451 |
+
#: includes/admin/class-give-settings.php:352, includes/admin/settings/class-settings-gateways.php:69
|
452 |
msgid "Nonprofits must verify their status to withdraw donations they receive via PayPal. PayPal users that are not verified nonprofits must demonstrate how their donations will be used, once they raise more than $10,000. By default, Give transactions are sent to PayPal as donations. You may change the transaction type using this option if you feel you may not meet PayPal's donation requirements."
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: includes/admin/class-give-settings.php:356, includes/admin/payments/class-payments-table.php:276, includes/admin/settings/class-settings-gateways.php:73
|
456 |
msgid "Donation"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: includes/admin/class-give-settings.php:357, includes/admin/settings/class-settings-gateways.php:74
|
460 |
msgid "Standard Transaction"
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: includes/admin/class-give-settings.php:362
|
464 |
msgid "Disable PayPal IPN Verification"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: includes/admin/class-give-settings.php:363, includes/admin/settings/class-settings-gateways.php:91
|
468 |
msgid "If donations are not getting marked as complete, use a slightly less secure method of verifying donations."
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: includes/admin/class-give-settings.php:368, includes/admin/forms/class-metabox-form-data.php:1081, includes/admin/settings/class-settings-gateways.php:247, includes/gateways/offline-donations.php:305, includes/gateways/offline-donations.php:363
|
472 |
msgid "Offline Donations"
|
473 |
msgstr ""
|
474 |
|
475 |
+
#: includes/admin/class-give-settings.php:374, includes/admin/settings/class-settings-gateways.php:122
|
476 |
msgid "Collect Billing Details"
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: includes/admin/class-give-settings.php:375, includes/admin/settings/class-settings-gateways.php:123
|
480 |
msgid "Enable to request billing details for offline donations. Will appear above offline donation instructions. Can be enabled/disabled per form."
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: includes/admin/class-give-settings.php:380, includes/admin/settings/class-settings-gateways.php:133, includes/gateways/offline-donations.php:187, includes/gateways/offline-donations.php:202
|
484 |
msgid "Offline Donation Instructions"
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: includes/admin/class-give-settings.php:381, includes/admin/settings/class-settings-gateways.php:134
|
488 |
msgid "The following content will appear for all forms when the user selects the offline donation payment option. Note: You may customize the content per form as needed."
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: includes/admin/class-give-settings.php:390, includes/admin/settings/class-settings-gateways.php:143
|
492 |
msgid "Offline Donation Email Instructions Subject"
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: includes/admin/class-give-settings.php:391, includes/admin/class-give-settings.php:567, includes/admin/settings/class-settings-email.php:106, includes/admin/settings/class-settings-gateways.php:144, includes/gateways/offline-donations.php:343
|
496 |
msgid "Enter the subject line for the donation receipt email."
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: includes/admin/class-give-settings.php:393, includes/admin/settings/class-settings-gateways.php:146
|
500 |
msgid "{donation} - Offline Donation Instructions"
|
501 |
msgstr ""
|
502 |
|
503 |
+
#: includes/admin/class-give-settings.php:397, includes/admin/settings/class-settings-gateways.php:150
|
504 |
msgid "Offline Donation Email Instructions"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: includes/admin/class-give-settings.php:398, includes/admin/settings/class-settings-gateways.php:151, includes/gateways/offline-donations.php:351
|
508 |
msgid "Enter the instructions you want emailed to the donor after they have submitted the donation form. Most likely this would include important information like mailing address and who to make the check out to."
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: includes/admin/class-give-settings.php:412, includes/admin/class-give-settings.php:416
|
512 |
msgid "Display Settings"
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: includes/admin/class-give-settings.php:422
|
516 |
msgid "Disable CSS"
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: includes/admin/class-give-settings.php:423
|
520 |
msgid "Enable this option if you would like to disable all of Give's included CSS stylesheets."
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: includes/admin/class-give-settings.php:428
|
524 |
msgid "Enable Floating Labels"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: includes/admin/class-give-settings.php:430
|
528 |
msgid "Enable <a href=\"%s\" target=\"_blank\">floating labels</a> in Give's donation forms. Note that if the \"Disable CSS\" option is enabled, you will need to style the floating labels yourself."
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: includes/admin/class-give-settings.php:440
|
532 |
msgid "Disable Welcome Screen"
|
533 |
msgstr ""
|
534 |
|
535 |
+
#: includes/admin/class-give-settings.php:442
|
536 |
msgid "Enable this option if you would like to disable the <a href=\"%s\" target=\"_blank\">Give Welcome screen</a> every time Give is activated and/or updated."
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: includes/admin/class-give-settings.php:452, includes/admin/settings/class-settings-display.php:303
|
540 |
msgid "Post Types"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: includes/admin/class-give-settings.php:458
|
544 |
msgid "Disable Form Single Views"
|
545 |
msgstr ""
|
546 |
|
547 |
+
#: includes/admin/class-give-settings.php:459
|
548 |
msgid "By default, all forms have single views enabled which create a specific URL on your website for that form. This option disables the singular and archive views from being publicly viewable. Note: you will need to embed forms using a shortcode or widget if enabled."
|
549 |
msgstr ""
|
550 |
|
551 |
+
#: includes/admin/class-give-settings.php:464
|
552 |
msgid "Disable Form Archives"
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: includes/admin/class-give-settings.php:465
|
556 |
msgid "Archives pages list all the forms you have created. This option will disable only the form's archive page(s). The single form's view will remain in place. Note: you will need to refresh your permalinks after this option has been enabled."
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: includes/admin/class-give-settings.php:470
|
560 |
msgid "Disable Form Excerpts"
|
561 |
msgstr ""
|
562 |
|
563 |
+
#: includes/admin/class-give-settings.php:471, includes/admin/settings/class-settings-display.php:134
|
564 |
msgid "The excerpt is an optional summary or description of a donation form; in short, a summary as to why the user should give."
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: includes/admin/class-give-settings.php:476, includes/admin/settings/class-settings-display.php:155
|
568 |
msgid "Featured Image Size"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: includes/admin/class-give-settings.php:477, includes/admin/settings/class-settings-display.php:156
|
572 |
msgid "The Featured Image is an image that is chosen as the representative image for a donation form. Some themes may have custom featured image sizes. Please select the size you would like to display for your single donation form's featured image."
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: includes/admin/class-give-settings.php:484
|
576 |
msgid "Disable Form Featured Image"
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: includes/admin/class-give-settings.php:485, includes/admin/settings/class-settings-display.php:145
|
580 |
msgid "If you do not wish to use the featured image functionality you can disable it using this option and it will not be displayed for single donation forms."
|
581 |
msgstr ""
|
582 |
|
583 |
+
#: includes/admin/class-give-settings.php:490
|
584 |
msgid "Disable Single Form Sidebar"
|
585 |
msgstr ""
|
586 |
|
587 |
+
#: includes/admin/class-give-settings.php:491
|
588 |
msgid "The sidebar allows you to add additional widget to the Give single form view. If you don't plan on using the sidebar you may disable it with this option."
|
589 |
msgstr ""
|
590 |
|
591 |
+
#: includes/admin/class-give-settings.php:496, includes/admin/settings/class-settings-display.php:304
|
592 |
msgid "Taxonomies"
|
593 |
msgstr ""
|
594 |
|
595 |
+
#: includes/admin/class-give-settings.php:502
|
596 |
msgid "Enable Form Categories"
|
597 |
msgstr ""
|
598 |
|
599 |
+
#: includes/admin/class-give-settings.php:503
|
600 |
msgid "Enables the \"Category\" taxonomy for all Give forms."
|
601 |
msgstr ""
|
602 |
|
603 |
+
#: includes/admin/class-give-settings.php:508
|
604 |
msgid "Enable Form Tags"
|
605 |
msgstr ""
|
606 |
|
607 |
+
#: includes/admin/class-give-settings.php:509
|
608 |
msgid "Enables the \"Tag\" taxonomy for all Give forms."
|
609 |
msgstr ""
|
610 |
|
611 |
+
#: includes/admin/class-give-settings.php:522, includes/admin/class-give-settings.php:526, includes/admin/settings/class-settings-email.php:86, includes/admin/settings/class-settings-email.php:219
|
612 |
msgid "Email Settings"
|
613 |
msgstr ""
|
614 |
|
615 |
+
#: includes/admin/class-give-settings.php:533, includes/admin/settings/class-settings-email.php:57
|
616 |
msgid "Email Template"
|
617 |
msgstr ""
|
618 |
|
619 |
+
#: includes/admin/class-give-settings.php:534
|
620 |
msgid "Choose a template. Click \"Save Changes\" then \"Preview Donation Receipt\" to see the new template."
|
621 |
msgstr ""
|
622 |
|
623 |
+
#: includes/admin/class-give-settings.php:540, includes/admin/settings/class-settings-email.php:64, includes/scripts.php:312
|
624 |
msgid "Logo"
|
625 |
msgstr ""
|
626 |
|
627 |
+
#: includes/admin/class-give-settings.php:541, includes/admin/settings/class-settings-email.php:65
|
628 |
msgid "Upload or choose a logo to be displayed at the top of the donation receipt emails. Displayed on HTML emails only."
|
629 |
msgstr ""
|
630 |
|
631 |
+
#: includes/admin/class-give-settings.php:546, includes/admin/settings/class-settings-email.php:70
|
632 |
msgid "From Name"
|
633 |
msgstr ""
|
634 |
|
635 |
+
#: includes/admin/class-give-settings.php:547
|
636 |
msgid "The name that appears in the \"From\" field in donation receipt emails."
|
637 |
msgstr ""
|
638 |
|
639 |
+
#: includes/admin/class-give-settings.php:553, includes/admin/settings/class-settings-email.php:77
|
640 |
msgid "From Email"
|
641 |
msgstr ""
|
642 |
|
643 |
+
#: includes/admin/class-give-settings.php:554
|
644 |
msgid "Email to send donation receipts from. This will act as the \"from\" and \"reply-to\" address."
|
645 |
msgstr ""
|
646 |
|
647 |
+
#: includes/admin/class-give-settings.php:559, includes/admin/class-give-settings.php:568, includes/admin/class-give-settings.php:573, includes/admin/settings/class-settings-email.php:107, includes/admin/settings/class-settings-email.php:112, includes/admin/settings/class-settings-email.php:220, includes/admin/shortcodes/shortcode-give-receipt.php:27, includes/admin/shortcodes/shortcode-give-receipt.php:28, includes/emails/functions.php:59, includes/emails/functions.php:84, includes/emails/functions.php:143, includes/emails/functions.php:154, includes/emails/template.php:165, includes/emails/template.php:420, templates/shortcode-receipt.php:116
|
648 |
msgid "Donation Receipt"
|
649 |
msgstr ""
|
650 |
|
651 |
+
#: includes/admin/class-give-settings.php:566, includes/admin/settings/class-settings-email.php:105
|
652 |
msgid "Donation Email Subject"
|
653 |
msgstr ""
|
654 |
|
655 |
+
#: includes/admin/class-give-settings.php:576
|
656 |
msgid "Enter the email that is sent to users after completing a successful donation. HTML is accepted. Available template tags: %s"
|
657 |
msgstr ""
|
658 |
|
659 |
+
#: includes/admin/class-give-settings.php:583, includes/admin/settings/class-settings-email.php:221
|
660 |
msgid "New Donation Notification"
|
661 |
msgstr ""
|
662 |
|
663 |
+
#: includes/admin/class-give-settings.php:590, includes/admin/settings/class-settings-email.php:155
|
664 |
msgid "Donation Notification Subject"
|
665 |
msgstr ""
|
666 |
|
667 |
+
#: includes/admin/class-give-settings.php:591
|
668 |
msgid "Enter the subject line for the donation notification email."
|
669 |
msgstr ""
|
670 |
|
671 |
+
#: includes/admin/class-give-settings.php:593, includes/admin/settings/class-settings-email.php:158
|
672 |
msgid "New Donation - #{payment_id}"
|
673 |
msgstr ""
|
674 |
|
675 |
+
#: includes/admin/class-give-settings.php:597, includes/admin/settings/class-settings-email.php:162
|
676 |
msgid "Donation Notification"
|
677 |
msgstr ""
|
678 |
|
679 |
+
#: includes/admin/class-give-settings.php:600
|
680 |
msgid "Enter the email that is sent to donation notification emails after completion of a donation. HTML is accepted. Available template tags: %s"
|
681 |
msgstr ""
|
682 |
|
683 |
+
#: includes/admin/class-give-settings.php:608, includes/admin/settings/class-settings-email.php:173
|
684 |
msgid "Donation Notification Emails"
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: includes/admin/class-give-settings.php:609, includes/admin/settings/class-settings-email.php:174
|
688 |
msgid "Enter the email address(es) that should receive a notification anytime a donation is made, please only enter <span class=\"give-underline\">one email address per line</span> and <strong>not separated by commas</strong>."
|
689 |
msgstr ""
|
690 |
|
691 |
+
#: includes/admin/class-give-settings.php:615
|
692 |
msgid "Disable Admin Notifications"
|
693 |
msgstr ""
|
694 |
|
695 |
+
#: includes/admin/class-give-settings.php:616
|
696 |
msgid "Check this box if you do not want to receive emails when new donations are made."
|
697 |
msgstr ""
|
698 |
|
699 |
+
#: includes/admin/class-give-settings.php:625
|
700 |
msgid "Give Add-ons Settings"
|
701 |
msgstr ""
|
702 |
|
703 |
+
#: includes/admin/class-give-settings.php:633
|
704 |
msgid "Give Licenses"
|
705 |
msgstr ""
|
706 |
|
707 |
+
#: includes/admin/class-give-settings.php:641, includes/admin/settings/class-settings-advanced.php:133
|
708 |
msgid "Advanced Options"
|
709 |
msgstr ""
|
710 |
|
711 |
+
#: includes/admin/class-give-settings.php:645, includes/admin/settings/class-settings-general.php:97, includes/admin/settings/class-settings-general.php:275
|
712 |
msgid "Access Control"
|
713 |
msgstr ""
|
714 |
|
715 |
+
#: includes/admin/class-give-settings.php:652, includes/admin/settings/class-settings-general.php:57
|
716 |
msgid "Session Lifetime"
|
717 |
msgstr ""
|
718 |
|
719 |
+
#: includes/admin/class-give-settings.php:653, includes/admin/settings/class-settings-general.php:58
|
720 |
msgid "The length of time a user's session is kept alive. Give starts a new session per user upon donation. Sessions allow donors to view their donation receipts without being logged in."
|
721 |
msgstr ""
|
722 |
|
723 |
+
#: includes/admin/class-give-settings.php:656, includes/admin/settings/class-settings-general.php:61
|
724 |
msgid "24 Hours"
|
725 |
msgstr ""
|
726 |
|
727 |
+
#: includes/admin/class-give-settings.php:657, includes/admin/settings/class-settings-general.php:62
|
728 |
msgid "48 Hours"
|
729 |
msgstr ""
|
730 |
|
731 |
+
#: includes/admin/class-give-settings.php:658, includes/admin/settings/class-settings-general.php:63
|
732 |
msgid "72 Hours"
|
733 |
msgstr ""
|
734 |
|
735 |
+
#: includes/admin/class-give-settings.php:659, includes/admin/settings/class-settings-general.php:64
|
736 |
msgid "1 Week"
|
737 |
msgstr ""
|
738 |
|
739 |
+
#: includes/admin/class-give-settings.php:663, includes/admin/settings/class-settings-general.php:68
|
740 |
msgid "Email Access"
|
741 |
msgstr ""
|
742 |
|
743 |
+
#: includes/admin/class-give-settings.php:664, includes/admin/settings/class-settings-general.php:69
|
744 |
msgid "Would you like your donors to be able to access their donation history using only email? Donors whose sessions have expired and do not have an account may still access their donation history via a temporary email access link."
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: includes/admin/class-give-settings.php:670, includes/admin/settings/class-settings-general.php:80
|
748 |
msgid "reCAPTCHA Site Key"
|
749 |
msgstr ""
|
750 |
|
751 |
+
#: includes/admin/class-give-settings.php:672
|
752 |
msgid "If you would like to prevent spam on the email access form navigate to <a href=\"%s\" target=\"_blank\">the reCAPTCHA website</a> and sign up for an API key. The reCAPTCHA uses Google's user-friendly single click verification method."
|
753 |
msgstr ""
|
754 |
|
755 |
+
#: includes/admin/class-give-settings.php:678, includes/admin/settings/class-settings-general.php:88
|
756 |
msgid "reCAPTCHA Secret Key"
|
757 |
msgstr ""
|
758 |
|
759 |
+
#: includes/admin/class-give-settings.php:679
|
760 |
msgid "Please paste the reCAPTCHA secret key here from your manage reCAPTCHA API Keys panel."
|
761 |
msgstr ""
|
762 |
|
763 |
+
#: includes/admin/class-give-settings.php:684
|
764 |
msgid "Data Control"
|
765 |
msgstr ""
|
766 |
|
767 |
+
#: includes/admin/class-give-settings.php:690
|
768 |
msgid "Remove All Data on Uninstall?"
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: includes/admin/class-give-settings.php:691
|
772 |
msgid "When the plugin is deleted, completely remove all Give data."
|
773 |
msgstr ""
|
774 |
|
775 |
+
#: includes/admin/class-give-settings.php:696
|
776 |
msgid "Filter Control"
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: includes/admin/class-give-settings.php:703
|
780 |
msgid "Disable %s filter"
|
781 |
msgstr ""
|
782 |
|
783 |
+
#: includes/admin/class-give-settings.php:705, includes/admin/settings/class-settings-advanced.php:70
|
784 |
msgid "If you are seeing extra social buttons, related posts, or other unwanted elements appearing within your forms then you can disable WordPress' content filter. <a href=\"%1$s\" target=\"_blank\">Learn more</a> about %2$s filter."
|
785 |
msgstr ""
|
786 |
|
787 |
+
#: includes/admin/class-give-settings.php:710
|
788 |
msgid "Script Loading"
|
789 |
msgstr ""
|
790 |
|
791 |
+
#: includes/admin/class-give-settings.php:716
|
792 |
msgid "Load Scripts in Footer?"
|
793 |
msgstr ""
|
794 |
|
795 |
+
#: includes/admin/class-give-settings.php:717
|
796 |
msgid "Check this box if you would like Give to load all frontend JavaScript files in the footer."
|
797 |
msgstr ""
|
798 |
|
799 |
+
#: includes/admin/class-give-settings.php:748
|
800 |
msgid "Please copy and paste this information in your ticket when contacting support."
|
801 |
msgstr ""
|
802 |
|
803 |
+
#: includes/admin/class-give-settings.php:777
|
804 |
msgid "Settings updated."
|
805 |
msgstr ""
|
806 |
|
807 |
+
#: includes/admin/class-give-settings.php:799
|
808 |
msgid "Invalid property: %s"
|
809 |
msgstr ""
|
810 |
|
811 |
+
#: includes/admin/class-give-settings.php:1197
|
812 |
msgid "renew"
|
813 |
msgstr ""
|
814 |
|
815 |
+
#: includes/admin/class-give-settings.php:1200
|
816 |
msgid "expire"
|
817 |
msgstr ""
|
818 |
|
819 |
+
#: includes/admin/class-give-settings.php:1205
|
820 |
+
msgid "Your subscription (<a href=\"%1$s\" target=\"_blank\">#%2$d</a>) expired. Please <a href=\"%3$s\" target=\"_blank\" title=\"Renew your license key\">renew your license key</a>"
|
821 |
msgstr ""
|
822 |
|
823 |
+
#: includes/admin/class-give-settings.php:1213
|
824 |
+
msgid "Your subscription (<a href=\"%1$s\" target=\"_blank\">#%2$d</a>) will %3$s in %4$s."
|
825 |
msgstr ""
|
826 |
|
827 |
+
#: includes/admin/class-give-settings.php:1222
|
828 |
+
msgid "Your subscription (<a href=\"%1$s\" target=\"_blank\">#%2$d</a>) will %3$s on %4$s."
|
829 |
msgstr ""
|
830 |
|
831 |
+
#: includes/admin/class-give-settings.php:1237
|
832 |
+
msgid "Your license key expired on %1$s. Please <a href=\"%2$s\" target=\"_blank\" title=\"Renew your license key\">renew your license key</a>."
|
833 |
msgstr ""
|
834 |
|
835 |
+
#: includes/admin/class-give-settings.php:1247
|
836 |
msgid "Invalid license. Please <a href=\"%s\" target=\"_blank\" title=\"Visit account page\">visit your account page</a> and verify it."
|
837 |
msgstr ""
|
838 |
|
839 |
+
#: includes/admin/class-give-settings.php:1256, includes/admin/class-give-settings.php:1266
|
840 |
+
msgid "Your %1$s is not active for this URL. Please <a href=\"%2$s\" target=\"_blank\" title=\"Visit account page\">visit your account page</a> to manage your license key URLs."
|
841 |
msgstr ""
|
842 |
|
843 |
+
#: includes/admin/class-give-settings.php:1275
|
844 |
+
msgid "This license %1$s does not belong to %2$s."
|
845 |
msgstr ""
|
846 |
|
847 |
+
#: includes/admin/class-give-settings.php:1281
|
848 |
msgid "Your license key has reached it's activation limit. <a href=\"%s\">View possible upgrades</a> now."
|
849 |
msgstr ""
|
850 |
|
851 |
+
#: includes/admin/class-give-settings.php:1294
|
852 |
msgid "License key never expires."
|
853 |
msgstr ""
|
854 |
|
855 |
+
#: includes/admin/class-give-settings.php:1298
|
856 |
+
msgid "Your license key expires soon! It expires on %1$s. <a href=\"%2$s\" target=\"_blank\" title=\"Renew license\">Renew your license key</a>."
|
857 |
msgstr ""
|
858 |
|
859 |
+
#: includes/admin/class-give-settings.php:1305
|
860 |
msgid "Your license key expires on %s."
|
861 |
msgstr ""
|
862 |
|
863 |
+
#: includes/admin/class-give-settings.php:1315
|
864 |
msgid "To receive updates, please enter your valid %s license key."
|
865 |
msgstr ""
|
866 |
|
867 |
+
#: includes/admin/class-give-settings.php:1334
|
868 |
msgid "Deactivate License"
|
869 |
msgstr ""
|
870 |
|
871 |
+
#: includes/admin/class-give-settings.php:1343
|
872 |
msgid "To receive updates, please enter your valid license key."
|
873 |
msgstr ""
|
874 |
|
875 |
+
#: includes/admin/class-give-settings.php:1391
|
876 |
msgid "You can create API keys for individual users within their profile edit screen. API keys allow users to use the <a href=\"%1$s\" target=\"_blank\">Give REST API</a> to retrieve donation data in JSON or XML for external applications or devices, such as <a href=\"%2$s\" target=\"_blank\">Zapier</a>."
|
877 |
msgstr ""
|
878 |
|
952 |
msgid "Delete \"%s\""
|
953 |
msgstr ""
|
954 |
|
955 |
+
#: includes/admin/customers/class-customer-table.php:225, includes/admin/payments/class-payments-table.php:466, includes/admin/payments/class-payments-table.php:558, includes/payments/functions.php:1629
|
956 |
msgid "Delete"
|
957 |
msgstr ""
|
958 |
|
960 |
msgid "You do not have permission to edit this donor."
|
961 |
msgstr ""
|
962 |
|
963 |
+
#: includes/admin/customers/customer-actions.php:31, includes/admin/customers/customer-actions.php:43, includes/admin/customers/customer-actions.php:195, includes/admin/customers/customer-actions.php:207, includes/admin/customers/customer-actions.php:273, includes/admin/customers/customer-actions.php:286, includes/admin/customers/customer-actions.php:368, includes/admin/customers/customer-actions.php:379, includes/admin/customers/customer-actions.php:545, includes/admin/customers/customer-actions.php:589, includes/admin/forms/dashboard-columns.php:237, includes/admin/payments/actions.php:31, includes/admin/payments/actions.php:88, includes/admin/payments/actions.php:99, includes/admin/payments/actions.php:314, includes/admin/payments/actions.php:334, includes/admin/payments/actions.php:367, includes/admin/payments/actions.php:389, includes/admin/payments/view-order-details.php:24, includes/admin/payments/view-order-details.php:34, includes/admin/reporting/class-api-requests-logs-list-table.php:141, includes/admin/reporting/class-export.php:177, includes/admin/reporting/class-gateway-error-logs-list-table.php:128, includes/admin/reporting/export/class-batch-export.php:133, includes/admin/reporting/export/export-actions.php:26, includes/admin/reporting/pdf-reports.php:31, includes/admin/reporting/pdf-reports.php:35, includes/admin/reporting/tools/class-give-tools-delete-test-transactions.php:157, includes/admin/reporting/tools/class-give-tools-recount-all-stats.php:206, includes/admin/reporting/tools/class-give-tools-recount-customer-stats.php:195, includes/admin/reporting/tools/class-give-tools-recount-form-stats.php:220, includes/admin/reporting/tools/class-give-tools-recount-income.php:156, includes/admin/reporting/tools/class-give-tools-recount-single-customer-stats.php:152, includes/admin/reporting/tools/class-give-tools-reset-stats.php:185, includes/admin/upgrades/upgrade-functions.php:169, includes/admin/upgrades/upgrade-functions.php:281, includes/admin/upgrades/upgrade-functions.php:318, includes/admin/upgrades/upgrade-functions.php:689, includes/api/class-give-api.php:1691, includes/api/class-give-api.php:1696, includes/api/class-give-api.php:1714, includes/api/class-give-api.php:1724, includes/class-give-license-handler.php:326, includes/class-give-license-handler.php:426, includes/emails/actions.php:56, includes/emails/template.php:270, includes/error-tracking.php:50, includes/formatting.php:466, includes/gateways/manual.php:38
|
964 |
msgid "Error"
|
965 |
msgstr ""
|
966 |
|
1012 |
msgid "An error has occurred. Please try again."
|
1013 |
msgstr ""
|
1014 |
|
1015 |
+
#: includes/admin/customers/customer-actions.php:467, includes/admin/reporting/export/export-actions.php:26, includes/admin/reporting/pdf-reports.php:35, includes/api/class-give-api.php:1691, includes/class-give-license-handler.php:326, includes/class-give-license-handler.php:426, includes/gateways/manual.php:38
|
1016 |
msgid "Nonce verification failed."
|
1017 |
msgstr ""
|
1018 |
|
1019 |
+
#: includes/admin/customers/customer-actions.php:472, includes/login-register.php:254, includes/process-donation.php:540, includes/process-donation.php:714, includes/user-functions.php:368
|
1020 |
msgid "Invalid email."
|
1021 |
msgstr ""
|
1022 |
|
1032 |
msgid "Email successfully added to donor."
|
1033 |
msgstr ""
|
1034 |
|
1035 |
+
#: includes/admin/customers/customer-actions.php:500, includes/admin/customers/customer-actions.php:552, includes/admin/customers/customer-actions.php:597, includes/payments/functions.php:1612
|
1036 |
msgid "System"
|
1037 |
msgstr ""
|
1038 |
|
1040 |
msgid "Email address %1$s added by %2$s"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
+
#: includes/admin/customers/customer-actions.php:505, includes/admin/customers/customer-actions.php:598
|
1044 |
msgid "Email address %1$s set as primary by %2$s"
|
1045 |
msgstr ""
|
1046 |
|
1052 |
msgid "Email address %1$s removed by %2$s"
|
1053 |
msgstr ""
|
1054 |
|
|
|
|
|
|
|
|
|
1055 |
#: includes/admin/customers/customer-functions.php:52
|
1056 |
msgid "Donor Profile"
|
1057 |
msgstr ""
|
1174 |
msgid "ID"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
+
#: includes/admin/customers/customers.php:502, includes/admin/forms/class-metabox-form-data.php:201, includes/admin/forms/class-metabox-form-data.php:371, includes/admin/forms/dashboard-columns.php:38, includes/admin/payments/class-payments-table.php:280, includes/admin/reporting/export/class-batch-export-payments.php:55, templates/history-donations.php:34
|
1178 |
msgid "Amount"
|
1179 |
msgstr ""
|
1180 |
|
1181 |
+
#: includes/admin/customers/customers.php:503, includes/admin/forms/dashboard-columns.php:43, includes/admin/payments/class-payments-table.php:279, includes/admin/reporting/class-api-requests-logs-list-table.php:96, includes/admin/reporting/class-export-earnings.php:64, includes/admin/reporting/class-export.php:73, includes/admin/reporting/class-gateway-error-logs-list-table.php:131, includes/admin/reporting/class-sales-logs-list-table.php:118, includes/admin/reporting/export/class-batch-export-payments.php:59, templates/history-donations.php:33
|
1182 |
msgid "Date"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
+
#: includes/admin/customers/customers.php:504, includes/admin/payments/class-payments-table.php:278, includes/admin/reporting/class-sales-logs-list-table.php:116, includes/admin/reporting/export/class-batch-export-forms.php:51, includes/admin/reporting/export/class-batch-export-payments.php:61
|
1186 |
msgid "Status"
|
1187 |
msgstr ""
|
1188 |
|
1210 |
msgid "View Form %s."
|
1211 |
msgstr ""
|
1212 |
|
1213 |
+
#: includes/admin/customers/customers.php:580, includes/post-types.php:48, includes/post-types.php:379, includes/post-types.php:380, includes/post-types.php:381, includes/post-types.php:382, includes/post-types.php:383
|
1214 |
msgid "View Form"
|
1215 |
msgstr ""
|
1216 |
|
1321 |
msgid "Dropdown"
|
1322 |
msgstr ""
|
1323 |
|
1324 |
+
#: includes/admin/forms/class-metabox-form-data.php:151, includes/gateways/paypal-standard.php:785, includes/gateways/paypal-standard.php:796, includes/payments/functions.php:1828
|
1325 |
msgid "Custom Amount"
|
1326 |
msgstr ""
|
1327 |
|
1329 |
msgid "Do you want the user to be able to input their own donation amount?"
|
1330 |
msgstr ""
|
1331 |
|
1332 |
+
#: includes/admin/forms/class-metabox-form-data.php:157, includes/admin/forms/class-metabox-form-data.php:289, includes/admin/forms/class-metabox-form-data.php:314, includes/admin/forms/class-metabox-form-data.php:347, includes/admin/forms/class-metabox-form-data.php:390, includes/admin/forms/class-metabox-form-data.php:428, includes/admin/settings/class-settings-advanced.php:75, includes/admin/settings/class-settings-display.php:62, includes/admin/settings/class-settings-display.php:74, includes/admin/settings/class-settings-display.php:86, includes/admin/settings/class-settings-display.php:117, includes/admin/settings/class-settings-display.php:128, includes/admin/settings/class-settings-display.php:139, includes/admin/settings/class-settings-display.php:150, includes/admin/settings/class-settings-display.php:169, includes/admin/settings/class-settings-display.php:200, includes/admin/settings/class-settings-display.php:211, includes/admin/settings/class-settings-display.php:242, includes/admin/settings/class-settings-email.php:149, includes/admin/settings/class-settings-gateways.php:85, includes/admin/settings/class-settings-gateways.php:96, includes/admin/settings/class-settings-gateways.php:128, includes/admin/settings/class-settings-gateways.php:187, includes/admin/settings/class-settings-general.php:74, includes/admin/tools/views/html-admin-page-system-info.php:421, includes/admin/tools/views/html-admin-page-system-info.php:494, includes/admin/tools/views/html-admin-page-system-info.php:499, includes/admin/tools/views/html-admin-page-system-info.php:514, includes/admin/tools/views/html-admin-page-system-info.php:519, includes/admin/tools/views/html-admin-page-system-info.php:540, includes/admin/tools/views/html-admin-page-system-info.php:545, includes/gateways/offline-donations.php:325
|
1333 |
msgid "Enabled"
|
1334 |
msgstr ""
|
1335 |
|
1336 |
+
#: includes/admin/forms/class-metabox-form-data.php:158, includes/admin/forms/class-metabox-form-data.php:290, includes/admin/forms/class-metabox-form-data.php:315, includes/admin/forms/class-metabox-form-data.php:348, includes/admin/forms/class-metabox-form-data.php:391, includes/admin/forms/class-metabox-form-data.php:429, includes/admin/settings/class-settings-advanced.php:76, includes/admin/settings/class-settings-display.php:63, includes/admin/settings/class-settings-display.php:75, includes/admin/settings/class-settings-display.php:87, includes/admin/settings/class-settings-display.php:118, includes/admin/settings/class-settings-display.php:129, includes/admin/settings/class-settings-display.php:140, includes/admin/settings/class-settings-display.php:151, includes/admin/settings/class-settings-display.php:170, includes/admin/settings/class-settings-display.php:201, includes/admin/settings/class-settings-display.php:212, includes/admin/settings/class-settings-display.php:243, includes/admin/settings/class-settings-email.php:150, includes/admin/settings/class-settings-gateways.php:86, includes/admin/settings/class-settings-gateways.php:97, includes/admin/settings/class-settings-gateways.php:129, includes/admin/settings/class-settings-gateways.php:188, includes/admin/settings/class-settings-general.php:75, includes/admin/tools/views/html-admin-page-system-info.php:421, includes/admin/tools/views/html-admin-page-system-info.php:494, includes/admin/tools/views/html-admin-page-system-info.php:499, includes/admin/tools/views/html-admin-page-system-info.php:514, includes/admin/tools/views/html-admin-page-system-info.php:519, includes/admin/tools/views/html-admin-page-system-info.php:540, includes/admin/tools/views/html-admin-page-system-info.php:545, includes/gateways/offline-donations.php:326
|
1337 |
msgid "Disabled"
|
1338 |
msgstr ""
|
1339 |
|
1453 |
msgid "Select the <a href=\"%s\" target=\"_blank\">floating labels</a> setting for this Give form. Be aware that if you have the \"Disable CSS\" option enabled, you will need to style the floating labels yourself."
|
1454 |
msgstr ""
|
1455 |
|
1456 |
+
#: includes/admin/forms/class-metabox-form-data.php:313, includes/admin/forms/class-metabox-form-data.php:479, includes/forms/widget.php:184, includes/gateways/offline-donations.php:311
|
1457 |
msgid "Global Option"
|
1458 |
msgstr ""
|
1459 |
|
1561 |
msgid "Do you want to require the donor to accept terms prior to being able to complete their donation?"
|
1562 |
msgstr ""
|
1563 |
|
1564 |
+
#: includes/admin/forms/class-metabox-form-data.php:480, includes/gateways/offline-donations.php:312
|
1565 |
msgid "Customize"
|
1566 |
msgstr ""
|
1567 |
|
1568 |
+
#: includes/admin/forms/class-metabox-form-data.php:481, includes/gateways/offline-donations.php:313
|
1569 |
msgid "Disable"
|
1570 |
msgstr ""
|
1571 |
|
1653 |
msgid "Error creating new donor."
|
1654 |
msgstr ""
|
1655 |
|
1656 |
+
#: includes/admin/payments/class-payments-table.php:145
|
1657 |
msgid "Start Date:"
|
1658 |
msgstr ""
|
1659 |
|
1660 |
+
#: includes/admin/payments/class-payments-table.php:148
|
1661 |
msgid "End Date:"
|
1662 |
msgstr ""
|
1663 |
|
1664 |
+
#: includes/admin/payments/class-payments-table.php:151, includes/admin/reporting/logs.php:135
|
1665 |
msgid "Apply"
|
1666 |
msgstr ""
|
1667 |
|
1668 |
+
#: includes/admin/payments/class-payments-table.php:158
|
1669 |
msgid "Clear Filter"
|
1670 |
msgstr ""
|
1671 |
|
1672 |
+
#: includes/admin/payments/class-payments-table.php:160, includes/admin/reporting/logs.php:83, includes/admin/reporting/reports.php:277
|
1673 |
msgid "Search"
|
1674 |
msgstr ""
|
1675 |
|
1676 |
+
#: includes/admin/payments/class-payments-table.php:232, includes/admin/reporting/class-sales-logs-list-table.php:307, includes/class-give-html-elements.php:395
|
1677 |
msgid "All"
|
1678 |
msgstr ""
|
1679 |
|
1680 |
+
#: includes/admin/payments/class-payments-table.php:236
|
1681 |
msgid "Completed"
|
1682 |
msgstr ""
|
1683 |
|
1684 |
+
#: includes/admin/payments/class-payments-table.php:240, includes/payments/functions.php:654
|
1685 |
msgid "Pending"
|
1686 |
msgstr ""
|
1687 |
|
1688 |
+
#: includes/admin/payments/class-payments-table.php:244, includes/payments/functions.php:656, includes/post-types.php:300
|
1689 |
msgid "Refunded"
|
1690 |
msgstr ""
|
1691 |
|
1692 |
+
#: includes/admin/payments/class-payments-table.php:248, includes/payments/functions.php:662, includes/post-types.php:316
|
1693 |
msgid "Revoked"
|
1694 |
msgstr ""
|
1695 |
|
1696 |
+
#: includes/admin/payments/class-payments-table.php:252, includes/payments/functions.php:657, includes/post-types.php:308
|
1697 |
msgid "Failed"
|
1698 |
msgstr ""
|
1699 |
|
1700 |
+
#: includes/admin/payments/class-payments-table.php:256, includes/payments/functions.php:658, includes/post-types.php:324
|
1701 |
msgid "Cancelled"
|
1702 |
msgstr ""
|
1703 |
|
1704 |
+
#: includes/admin/payments/class-payments-table.php:260, includes/payments/functions.php:659, includes/post-types.php:332
|
1705 |
msgid "Abandoned"
|
1706 |
msgstr ""
|
1707 |
|
1708 |
+
#: includes/admin/payments/class-payments-table.php:277, includes/admin/shortcodes/shortcode-give-form.php:27, includes/admin/shortcodes/shortcode-give-form.php:28, includes/post-types.php:54
|
1709 |
msgid "Donation Form"
|
1710 |
msgstr ""
|
1711 |
|
1712 |
+
#: includes/admin/payments/class-payments-table.php:281, includes/admin/reporting/class-gateway-error-logs-list-table.php:132, templates/history-donations.php:35
|
1713 |
msgid "Details"
|
1714 |
msgstr ""
|
1715 |
|
1716 |
+
#: includes/admin/payments/class-payments-table.php:339, includes/admin/payments/class-payments-table.php:377
|
1717 |
msgid "View Donat
|