Forum Replies Created

Viewing 15 replies - 1 through 15 (of 15 total)
  • Thread Starter DigitalWavez

    (@digitalwavez)

    Thanks for the update @jamesosborne .. I’ve reinstalled on another site, running it through its paces and so far so good. Will update my rating accordingly.

    Thread Starter DigitalWavez

    (@digitalwavez)

    Appreciate the feedback @jamesosborne. Yes, I will revisit the plugin in the future, after a few more releases. Thank you!

    Thread Starter DigitalWavez

    (@digitalwavez)

    Ran another test and admin get’s email ticket is created but demo user doesn’t get email (see log below) and the token [message_content] does’t work. Email addresses obfuscated for privacy…

    [05/Mar/2017:21:00:41] ajax_frontend_tickets_insert End
    [05/Mar/2017:21:00:41] bwhd_controllers_notifications_sendemail All done.
    [05/Mar/2017:21:00:41] bwhd_controllers_notifications_sendemail Email Sent Result: true
    [05/Mar/2017:21:00:41] bwhd_controllers_notifications_sendemail Email Sent BODY:
    A new Support Ticket was created:

    Name: David W

    Message: [message_content]

    Subject: Testing tic #7

    Ticket Number: 7

    [05/Mar/2017:21:00:41] bwhd_controllers_notifications_sendemail Email Sent SUBJECT: Ticket: #7 – New Ticket Created
    [05/Mar/2017:21:00:41] bwhd_controllers_notifications_sendemail Email Sent TO: xxxxxxxx@gmail.com
    [05/Mar/2017:21:00:41] bwhd_controllers_notifications_sendemail Email Sent FROM: xxxxxxxx@gmail.com
    [05/Mar/2017:21:00:41] bwhd_controllers_tickets_getforsendingnotification Start
    [05/Mar/2017:21:00:41] bwhd_controllers_notifications_sendemail Function was called
    [05/Mar/2017:21:00:41] bwhd_controllers_tickets_insert Ticket ID generated: 7
    [05/Mar/2017:21:00:41] bwhd_controllers_tickets_insert Insert Query: INSERT INTO wpmc_bw_helpdesk_tickets ( ticket_title, ticket_problem, category_id, priority_id, department_id, customer_contract_id, status_id, ticket_is_closed, ticket_created_date, ticket_created_userid, ticket_assigned_userid, ticket_customer_userid, ticket_customer_fullname, ticket_customer_email, ticket_closed_date, ticket_sla_resp_before, ticket_sla_solv_before, ticket_sla_resp_date, ticket_sla_solv_date, woocommerce_product_id, ticket_creation_mode ) VALUES ( ‘Testing tic #7’, ‘Submitting ticket not logged in, testing email replies’, 1, 0, 0, 0, 1, 0, ‘2017-03-05 21:00:41’, 0, 0, 0, ‘David W’, ‘xxxxxxxx@gmail.com’, null , null , null , ”, null, 0, ‘frontend’ )
    [05/Mar/2017:21:00:41] bwhd_controllers_tickets_insert Start
    [05/Mar/2017:21:00:41] ajax_frontend_tickets_insert Start
    [05/Mar/2017:21:00:41] ajax_frontend_tickets_insert Start
    [05/Mar/2017:21:00:41] ajaxhandler LoadMode: full
    [05/Mar/2017:21:00:41] ajaxhandler Function Received: ajax_frontend_tickets_insert

    Need help figuring this out. Please advise…

    Thread Starter DigitalWavez

    (@digitalwavez)

    Thank you for the reply. While I was working on optimizing site, I ran P3 Plugin Profiler and it came back with this error (obfuscated my info for privacy),

    “A fatal error occurred during profiling: Cannot redeclare bwhd_registration_redirect() (previously declared in /home/xxxxxxxxxxxxxx/public_html/wp-content/plugins/bravowp-helpdesk/pages/frontend.php:9) in file /home/xxxxxxxxxxxxxx/public_html/wp-content/plugins/bravowp-helpdesk/pages/frontend.php on line 9”

    Don’t know what this means, thought you should now. I’ve made a few adjustments to my WP install and about to try another round of testing. Will get back to you shortly. Thank you!

    Not my website, that is S2’s website. However, I figured out why my site is not popping the window for Stripe, may help someone else that is having the same issue. My theme has an element builder (ThemeFusion “Avada”) and I was adding S2’s shortcode for updating billing in an element called “tabs”.

    Apparently shortcode doesn’t work in the “tabs” shortcode because once I added shortcode in WP editor, it worked. Basically it looks like you can’t embed a shortcode inside another shortcode. Live and learn, I’ll have to get creative another way..

    And this once clicked in Chrome’s developer ..

    };$$=function(cls){var el,reg,_i,_len,_ref,_results;if(typeof document.getElementsByClassName==="function"){return document.getElementsByClassName(cls)}else if(typeof document.querySelectorAll==="function"){return document.querySelectorAll("."+cls)}else{reg=new RegExp("(^|\\s)"+cls+"(\\s|$)");_ref=document.getElementsByTagName("*");_results=[];for(_i=0,_len=_ref.length;_i<_len;_i++){el=_ref[_i];if(reg.test(el.className)){_results.push(el)}}return _results}};hasAttr=function(element,attr){var node;if(typeof element.hasAttribute==="function"){return element.hasAttribute(attr)}else{node=element.getAttributeNode(attr);return!!(node&&(node.specified||node.nodeValue))}};trigger=function(element,name,data,bubble){if(data==null){data={}}if(bubble==null){bubble=true}if(window.jQuery){return jQuery(element).trigger(name,data)}};addClass=function(element,name){return element.className+=" "+name};hasClass=function(element,name){return __indexOf.call(element.className.split(" "),name)>=0};css=function(element,css){return element.style.cssText+=";"+css};insertBefore=function(element,child){return element.parentNode.insertBefore(child,element)};insertAfter=function(element,child){return element.parentNode.insertBefore(child,element.nextSibling)};append=function(element,child){return element.appendChild(child)};remove=function(element){var _ref;return(_ref=element.parentNode)!=null?_ref.removeChild(element):void 0};parents=function(node){var ancestors;ancestors=[];while((node=node.parentNode)&&node!==document&&__indexOf.call(ancestors,node)<0){ancestors.push(node)}return ancestors};resolve=function(url){var parser;parser=document.createElement("a");parser.href=url;return""+parser.href};text=function(element,value){if("innerText"in element){element.innerText=value}else{element.textContent=value}return value};module.exports={$:$,$$:$$,hasAttr:hasAttr,trigger:trigger,addClass:addClass,hasClass:hasClass,css:css,insertBefore:insertBefore,insertAfter:insertAfter,append:append,remove:remove,parents:parents,resolve:resolve,text:text}}).call(this)}});StripeCheckout.require.define({"outer/controllers/app":function(exports,require,module){(function(){var App,Checkout,RPC,TokenCallback,tracker,utils,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};Checkout=require("outer/controllers/checkout");TokenCallback=require("outer/controllers/tokenCallback");RPC=require("lib/rpc");tracker=require("lib/tracker");utils=require("outer/lib/utils");App=function(){function App(options){var _ref,_ref1;if(options==null){options={}}this.setHost=__bind(this.setHost,this);this.configure=__bind(this.configure,this);this.close=__bind(this.close,this);this.open=__bind(this.open,this);this.configurations={};this.checkouts={};this.host="https://checkout.stripe.com";this.timeLoaded=Math.floor((new Date).getTime()/1e3);this.totalButtons=0;if(((_ref=window.Prototype)!=null?(_ref1=_ref.Version)!=null?_ref1.indexOf("1.6"):void 0:void 0)===0){console.error("Stripe Checkout is not compatible with your version of Prototype.js. Please upgrade to version 1.7 or greater.")}}App.prototype.open=function(options,buttonId){var checkout,k,mergedOptions,v,_ref;if(buttonId==null){buttonId=null}mergedOptions={referrer:document.referrer,url:document.URL,timeLoaded:this.timeLoaded};if(buttonId&&this.configurations[buttonId]){_ref=this.configurations[buttonId];for(k in _ref){v=_ref[k];mergedOptions[k]=v}}for(k in options){v=options[k];mergedOptions[k]=v}if(mergedOptions.image){mergedOptions.image=utils.resolve(mergedOptions.image)}this.validateOptions(options,"open");if(buttonId){checkout=this.checkouts[buttonId];if(options.token!=null||options.onToken!=null){checkout.setOnToken(new TokenCallback(options))}}else{checkout=new Checkout(new TokenCallback(options),this.host)}this.trackOpen(checkout,mergedOptions);return checkout.open(mergedOptions)};App.prototype.close=function(buttonId){var _ref;return(_ref=this.checkouts[buttonId])!=null?_ref.close():void 0};App.prototype.configure=function(buttonId,options){if(options==null){options={}}if(buttonId instanceof Object){options=buttonId;buttonId="button"+this.totalButtons++}if(options.image){options.image=utils.resolve(options.image)}this.validateOptions(options,"configure");this.configurations[buttonId]=options;this.checkouts[buttonId]=new Checkout(new TokenCallback(options),this.host);this.checkouts[buttonId].preload(options);return{open:function(_this){return function(options){return _this.open(options,buttonId)}}(this),close:function(_this){return function(){return _this.close(buttonId)}}(this)}};App.prototype.validateOptions=function(options,which){var url;try{return JSON.stringify(options)}catch(_error){url="https://stripe.com/docs/checkout#integration-custom";throw new Error("Stripe Checkout was unable to serialize the options passed to StripeCheckout."+which+"(). Please consult the doumentation to confirm that you're supplying values of the expected type: "+url)}};App.prototype.setHost=function(host){return this.host=host};App.prototype.trackOpen=function(checkout,options){tracker.setEnabled(!options.notrack);return tracker.track.outerOpen({key:options.key,lsid:"NA",cid:"NA"})};return App}();module.exports=App}).call(this)}});StripeCheckout.require.define({"outer/controllers/button":function(exports,require,module){(function(){var $$,Button,addClass,append,hasAttr,hasClass,helpers,insertAfter,parents,text,trigger,_ref,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};_ref=require("outer/lib/utils"),$$=_ref.$$,hasClass=_ref.hasClass,addClass=_ref.addClass,trigger=_ref.trigger,append=_ref.append,text=_ref.text,parents=_ref.parents,insertAfter=_ref.insertAfter,hasAttr=_ref.hasAttr;helpers=require("lib/helpers");Button=function(){Button.totalButtonId=0;Button.load=function(app){var button,el,element;element=$$("stripe-button");element=function(){var _i,_len,_results;_results=[];for(_i=0,_len=element.length;_i<_len;_i++){el=element[_i];if(!hasClass(el,"active")){_results.push(el)}}return _results}();element=element[element.length-1];if(!element){return}addClass(element,"active");button=new Button(element,app);return button.append()};function Button(scriptEl,app){this.parseOptions=__bind(this.parseOptions,this);this.parentHead=__bind(this.parentHead,this);this.parentForm=__bind(this.parentForm,this);this.onToken=__bind(this.onToken,this);this.open=__bind(this.open,this);this.submit=__bind(this.submit,this);this.append=__bind(this.append,this);this.render=__bind(this.render,this);var _base;this.scriptEl=scriptEl;this.app=app;this.document=this.scriptEl.ownerDocument;this.nostyle=helpers.isFallback();this.options=this.parseOptions();(_base=this.options).label||(_base.label="Pay with Card");this.options.token=this.onToken;this.$el=document.createElement("button");this.$el.setAttribute("type","submit");this.$el.className="stripe-button-el";helpers.bind(this.$el,"click",this.submit);helpers.bind(this.$el,"touchstart",function(){});this.render()}Button.prototype.render=function(){this.$el.innerHTML="";this.$span=document.createElement("span");text(this.$span,this.options.label);if(!this.nostyle){this.$el.style.visibility="hidden";this.$span.style.display="block";this.$span.style.minHeight="30px"}this.$style=document.createElement("link");this.$style.setAttribute("type","text/css");this.$style.setAttribute("rel","stylesheet");this.$style.setAttribute("href",this.app.host+"/v3/checkout/button-qpwW2WfkB0oGWVWIASjIOQ.css");return append(this.$el,this.$span)};Button.prototype.append=function(){var head;if(this.scriptEl){insertAfter(this.scriptEl,this.$el)}if(!this.nostyle){head=this.parentHead();if(head){append(head,this.$style)}}if(this.$form=this.parentForm()){helpers.unbind(this.$form,"submit",this.submit);helpers.bind(this.$form,"submit",this.submit)}if(!this.nostyle){setTimeout(function(_this){return function(){return _this.$el.style.visibility="visible"}}(this),1e3)}this.app.setHost(helpers.host(this.scriptEl.src));return this.appHandler=this.app.configure(this.options,{form:this.$form})};Button.prototype.disable=function(){return this.$el.setAttribute("disabled",true)};Button.prototype.enable=function(){return this.$el.removeAttribute("disabled")};Button.prototype.isDisabled=function(){return hasAttr(this.$el,"disabled")};Button.prototype.submit=function(e){if(typeof e.preventDefault==="function"){e.preventDefault()}if(!this.isDisabled()){this.open()}return false};Button.prototype.open=function(){return this.appHandler.open(this.options)};Button.prototype.onToken=function(token,args){var $input,$tokenInput,$tokenTypeInput,key,value;trigger(this.scriptEl,"token",token);if(this.$form){$tokenInput=this.renderInput("stripeToken",token.id);append(this.$form,$tokenInput);$tokenTypeInput=this.renderInput("stripeTokenType",token.type);append(this.$form,$tokenTypeInput);if(token.email){append(this.$form,this.renderInput("stripeEmail",token.email))}if(args){for(key in args){value=args[key];$input=this.renderInput(this.formatKey(key),value);append(this.$form,$input)}}this.$form.submit()}return this.disable()};Button.prototype.formatKey=function(key){var arg,args,_i,_len;args=key.split("_");key="";for(_i=0,_len=args.length;_i<_len;_i++){arg=args[_i];if(arg.length>0){key=key+arg.substr(0,1).toUpperCase()+arg.substr(1).toLowerCase()}}return"stripe"+key};Button.prototype.renderInput=function(name,value){var input;input=document.createElement("input");input.type="hidden";input.name=name;input.value=value;return input};Button.prototype.parentForm=function(){var el,elements,_i,_len,_ref1;elements=parents(this.$el);for(_i=0,_len=elements.length;_i<_len;_i++){el=elements[_i];if(((_ref1=el.tagName)!=null?_ref1.toLowerCase():void 0)==="form"){return el}}return null};Button.prototype.parentHead=function(){var _ref1,_ref2;return((_ref1=this.document)!=null?_ref1.head:void 0)||((_ref2=this.document)!=null?_ref2.getElementsByTagName("head")[0]:void 0)||this.document.body};Button.prototype.parseOptions=function(){var attr,match,options,_i,_len,_ref1;options={};_ref1=this.scriptEl.attributes;for(_i=0,_len=_ref1.length;_i<_len;_i++){attr=_ref1[_i];match=attr.name.match(/^data-(.+)$/);if(match!=null?match[1]:void 0){options[match[1]]=attr.value}}return options};return Button}();module.exports=Button}).call(this)}});StripeCheckout.require.define({"outer/controllers/checkout":function(exports,require,module){(function(){var Checkout,FallbackView,IframeView,TabView,helpers,tracker,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};helpers=require("lib/helpers");IframeView=require("outer/views/iframeView");TabView=require("outer/views/tabView");FallbackView=require("outer/views/fallbackView");tracker=require("lib/tracker");Checkout=function(){Checkout.activeView=null;function Checkout(tokenCallback,host){this.onTokenCallback=__bind(this.onTokenCallback,this);this.preload=__bind(this.preload,this);this.open=__bind(this.open,this);this.setOnToken=__bind(this.setOnToken,this);var path,shouldPopup,viewClass;this.host=host;this.setOnToken(tokenCallback);if(helpers.isFallback()){viewClass=FallbackView;path="/v3/fallback/w9vsHUOUhE6WvsZgCKA.html"}else{path="/v3/O8Z3oWHgK1NyPDPdt5pqIg.html";if(Math.random()<.5){path="/v3/var-jAQyvkUMPWg4YehrCZj3JQ.html"}shouldPopup=helpers.isSupportedMobileOS()&&!(helpers.isNativeWebContainer()||helpers.isAndroidWebapp()||helpers.isiOSWebView()||helpers.isiOSBroken());if(shouldPopup){viewClass=TabView}else{viewClass=IframeView}}path=""+path+"?distinct_id="+tracker.getDistinctID();this.view=new viewClass(this.onToken,this.host,path)}Checkout.prototype.setOnToken=function(tokenCallback){var _ref;this.tokenCallback=tokenCallback;this.onToken=function(_this){return function(data){return tokenCallback.trigger(data.token,data.args,_this.onTokenCallback)}}(this);return(_ref=this.view)!=null?_ref.onToken=this.onToken:void 0};Checkout.prototype.open=function(options){var iframeFallback;if(options==null){options={}}if(Checkout.activeView&&Checkout.activeView!==this.view){Checkout.activeView.close()}Checkout.activeView=this.view;options.supportsTokenCallback=this.tokenCallback.supportsTokenCallback();iframeFallback=function(){if(!(this.view instanceof TabView)){return}this.view=new IframeView(this.onToken,this.host,"/v3/O8Z3oWHgK1NyPDPdt5pqIg.html");return this.open(options)};if(helpers.isiOSChrome()&&!helpers.isUserGesture()){return iframeFallback()}return this.view.open(options,function(_this){return function(status){if(!status){return iframeFallback()}}}(this))};Checkout.prototype.close=function(){var _ref;return(_ref=this.view)!=null?_ref.close():void 0};Checkout.prototype.preload=function(options){return this.view.preload(options)};Checkout.prototype.onTokenCallback=function(){return this.view.triggerTokenCallback.apply(this.view,arguments)};return Checkout}();module.exports=Checkout}).call(this)}});StripeCheckout.require.define({"outer/controllers/tokenCallback":function(exports,require,module){(function(){var TokenCallback,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};TokenCallback=function(){function TokenCallback(options){this.supportsTokenCallback=__bind(this.supportsTokenCallback,this);this.trigger=__bind(this.trigger,this);if(options.token){this.fn=options.token;this.version=1}else if(options.onToken){this.fn=options.onToken;this.version=2}}TokenCallback.prototype.trigger=function(token,addresses,callback){var data,k,shipping,v;if(this.version===2){data={token:token};shipping=null;for(k in addresses){v=addresses[k];if(/^shipping_/.test(k)){if(shipping==null){shipping={}}shipping[k.replace(/^shipping_/,"")]=v}}if(shipping!=null){data.shipping=shipping}return this.fn(data,callback)}else{return this.fn(token,addresses)}};TokenCallback.prototype.supportsTokenCallback=function(){return this.version>1};return TokenCallback}();module.exports=TokenCallback}).call(this)}});StripeCheckout.require.define({"outer/views/fallbackView":function(exports,require,module){(function(){var FallbackRPC,FallbackView,View,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}},__hasProp={}.hasOwnProperty,__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};FallbackRPC=require("outer/lib/fallbackRpc");View=require("outer/views/view");FallbackView=function(_super){__extends(FallbackView,_super);function FallbackView(){this.triggerTokenCallback=__bind(this.triggerTokenCallback,this);this.close=__bind(this.close,this);this.open=__bind(this.open,this);FallbackView.__super__.constructor.apply(this,arguments)}FallbackView.prototype.open=function(options,callback){var message,url;FallbackView.__super__.open.apply(this,arguments);url=this.host+this.path;this.frame=window.open(url,"stripe_checkout_app","width=400,height=400,location=yes,resizable=yes,scrollbars=yes");if(this.frame==null){alert("Disable your popup blocker to proceed with checkout.");url="https://stripe.com/docs/checkout#integration-more-runloop";throw new Error("To learn how to prevent the Stripe Checkout popup from being blocked, please visit "+url)}this.rpc=new FallbackRPC(this.frame,url);this.rpc.receiveMessage(function(_this){return function(e){var data;try{data=JSON.parse(e.data)}catch(_error){return}return _this.onToken(data)}}(this));message=JSON.stringify(this.options);this.rpc.invokeTarget(message);return callback(true)};FallbackView.prototype.close=function(){var _ref;return(_ref=this.frame)!=null?_ref.close():void 0};FallbackView.prototype.triggerTokenCallback=function(err){if(err){return alert(err)}};return FallbackView}(View);module.exports=FallbackView}).call(this)}});StripeCheckout.require.define({"outer/views/iframeView":function(exports,require,module){(function(){var IframeView,RPC,View,helpers,ready,utils,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}},__hasProp={}.hasOwnProperty,__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};utils=require("outer/lib/utils");helpers=require("lib/helpers");RPC=require("lib/rpc");View=require("outer/views/view");ready=require("vendor/ready");IframeView=function(_super){__extends(IframeView,_super);function IframeView(){this.configure=__bind(this.configure,this);this.removeFrame=__bind(this.removeFrame,this);this.removeTouchOverlay=__bind(this.removeTouchOverlay,this);this.showTouchOverlay=__bind(this.showTouchOverlay,this);this.attachIframe=__bind(this.attachIframe,this);this.setToken=__bind(this.setToken,this);this.closed=__bind(this.closed,this);this.close=__bind(this.close,this);this.preload=__bind(this.preload,this);this.open=__bind(this.open,this);return IframeView.__super__.constructor.apply(this,arguments)}IframeView.prototype.open=function(options,callback){IframeView.__super__.open.apply(this,arguments);return ready(function(_this){return function(){var left,loaded,_ref;_this.originalOverflowValue=document.body.style.overflow;if(_this.frame==null){_this.configure()}if(typeof $!=="undefined"&&$!==null?(_ref=$.fn)!=null?_ref.modal:void 0:void 0){$(document).off("focusin.bs.modal").off("focusin.modal")}_this.frame.style.display="block";if(_this.shouldShowTouchOverlay()){_this.showTouchOverlay();_this.frame.style.top=(window.scrollY||window.pageYOffset)+"px";left=(window.scrollX||window.pageXOffset)+(window.innerWidth-_this.iframeWidth())/2;left=Math.min(window.innerWidth-_this.iframeWidth(),Math.max(0,left));left=Math.max(0,left);_this.frame.style.left=left+"px"}loaded=false;setTimeout(function(){if(loaded){return}loaded=true;callback(false);return _this.removeFrame()},8e3);return _this.rpc.ready(function(){if(loaded){return}loaded=true;callback(true);_this.rpc.invoke("render","","iframe",_this.options);document.body.style.overflow="hidden";return _this.rpc.invoke("open",{timeLoaded:_this.options.timeLoaded},function(success){var _base;if(success){return typeof(_base=_this.options).opened==="function"?_base.opened():void 0}})})}}(this))};IframeView.prototype.preload=function(options){return ready(function(_this){return function(){_this.configure();return _this.rpc.invoke("preload",options)}}(this))};IframeView.prototype.iframeWidth=function(){if(helpers.isSmallScreen()){return 328}else{return 380}};IframeView.prototype.close=function(){return this.rpc.invoke("close")};IframeView.prototype.closed=function(e){var _base;document.body.style.overflow=this.originalOverflowValue;this.removeFrame();clearTimeout(this.tokenTimeout);if(this.token!=null){this.onToken(this.token)}this.token=null;if(typeof(_base=this.options).closed==="function"){_base.closed()}if((e!=null?e.type:void 0)==="error.close"){alert(e.message)}else{this.preload(this.options)}return true};IframeView.prototype.setToken=function(data){this.token=data;return this.tokenTimeout!=null?this.tokenTimeout:this.tokenTimeout=setTimeout(function(_this){return function(){_this.onToken(_this.token);_this.tokenTimeout=null;return _this.token=null}}(this),3e3)};IframeView.prototype.attachIframe=function(){var cssText,iframe;iframe=document.createElement("iframe");iframe.setAttribute("frameBorder","0");iframe.setAttribute("allowtransparency","true");cssText="z-index: 9999;\ndisplay: none;\nbackground: transparent;\nbackground: rgba(0,0,0,0.005);\nborder: 0px none transparent;\noverflow-x: hidden;\noverflow-y: auto;\nvisibility: hidden;\nmargin: 0;\npadding: 0;\n-webkit-tap-highlight-color: transparent;\n-webkit-touch-callout: none;";if(this.shouldShowTouchOverlay()){cssText+="position: absolute;\nwidth: "+this.iframeWidth()+"px;\nheight: 100%;"}else{cssText+="position: fixed;\nleft: 0;\ntop: 0;\nwidth: 100%;\nheight: 100%;"}iframe.style.cssText=cssText;helpers.bind(iframe,"load",function(){return iframe.style.visibility="visible"});iframe.src=this.host+this.path;iframe.className=iframe.name="stripe_checkout_app";utils.append(document.body,iframe);return iframe};IframeView.prototype.showTouchOverlay=function(){var toRepaint;if(this.overlay){return}this.overlay=document.createElement("div");this.overlay.style.cssText="z-index: 9998;\nbackground: #000;\nopacity: 0;\nborder: 0px none transparent;\noverflow: none;\nmargin: 0;\npadding: 0;\n-webkit-tap-highlight-color: transparent;\n-webkit-touch-callout: none;\nposition: fixed;\nleft: 0;\ntop: 0;\nwidth: 200%;\nheight: 200%;\ntransition: opacity 320ms ease;\n-webkit-transition: opacity 320ms ease;\n-moz-transition: opacity 320ms ease;\n-ms-transition: opacity 320ms ease;";utils.append(document.body,this.overlay);toRepaint=this.overlay.offsetHeight;return this.overlay.style.opacity="0.5"};IframeView.prototype.removeTouchOverlay=function(){var overlay;if(!this.overlay){return}overlay=this.overlay;overlay.style.opacity="0";setTimeout(function(){return utils.remove(overlay)},400);return this.overlay=null};IframeView.prototype.removeFrame=function(){var frame;if(this.shouldShowTouchOverlay()){this.removeTouchOverlay()}frame=this.frame;setTimeout(function(){return utils.remove(frame)},500);return this.frame=null};IframeView.prototype.configure=function(){if(this.frame!=null){this.removeFrame()}this.frame=this.attachIframe();this.rpc=new RPC(this.frame.contentWindow,{host:this.host});this.rpc.methods.closed=this.closed;return this.rpc.methods.setToken=this.setToken};IframeView.prototype.shouldShowTouchOverlay=function(){return helpers.isSupportedMobileOS()};return IframeView}(View);module.exports=IframeView}).call(this)}});StripeCheckout.require.define({"outer/views/tabView":function(exports,require,module){(function(){var RPC,TabView,View,helpers,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}},__hasProp={}.hasOwnProperty,__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};RPC=require("lib/rpc");helpers=require("lib/helpers");View=require("outer/views/view");TabView=function(_super){__extends(TabView,_super);function TabView(){this.closed=__bind(this.closed,this);this.checkForClosedTab=__bind(this.checkForClosedTab,this);this.setToken=__bind(this.setToken,this);this.fullPath=__bind(this.fullPath,this);this.close=__bind(this.close,this);this.open=__bind(this.open,this);TabView.__super__.constructor.apply(this,arguments);this.closedTabInterval=null;this.color=null;this.colorSet=false}TabView.prototype.open=function(options,callback){var targetName,url,_base,_ref,_ref1;TabView.__super__.open.apply(this,arguments);try{if((_ref=this.frame)!=null){_ref.close()}}catch(_error){}if(window.name==="stripe_checkout_tabview"){window.name=""}if(helpers.isiOSChrome()){targetName="_blank"}else{targetName="stripe_checkout_tabview"}this.frame=window.open(this.fullPath(),targetName);if(!this.frame&&((_ref1=this.options.key)!=null?_ref1.indexOf("test"):void 0)!==-1){url="https://stripe.com/docs/checkout#integration-more-runloop";console.error("Stripe Checkout was unable to open a new window, possibly due to a popup blocker.\nTo provide the best experience for your users, follow the guide at "+url+".\nThis message will only appear when using a test publishable key.")}if(!this.frame||this.frame===window){this.close();callback(false);return}if(typeof(_base=this.frame).focus==="function"){_base.focus()}this.rpc=new RPC(this.frame,{host:this.host});this.rpc.methods.setToken=this.setToken;this.rpc.methods.closed=this.closed;return this.rpc.ready(function(_this){return function(){var _base1;callback(true);_this.rpc.invoke("render","","tab",_this.options);_this.rpc.invoke("open");if(typeof(_base1=_this.options).opened==="function"){_base1.opened()}return _this.checkForClosedTab()}}(this))};TabView.prototype.close=function(){if(this.frame&&this.frame!==window){return this.frame.close()}};TabView.prototype.fullPath=function(){return this.host+this.path};TabView.prototype.setToken=function(data){this.token=data;return this.tokenTimeout!=null?this.tokenTimeout:this.tokenTimeout=setTimeout(function(_this){return function(){_this.onToken(_this.token);_this.tokenTimeout=null;return _this.token=null}}(this),3e3)};TabView.prototype.checkForClosedTab=function(){if(this.closedTabInterval){clearInterval(this.closedTabInterval)}return this.closedTabInterval=setInterval(function(_this){return function(){if(!_this.frame||!_this.frame.postMessage||_this.frame.closed){return _this.closed()}}}(this),100)};TabView.prototype.closed=function(){var _base;clearInterval(this.closedTabInterval);clearTimeout(this.tokenTimeout);if(this.token!=null){this.onToken(this.token)}return typeof(_base=this.options).closed==="function"?_base.closed():void 0};return TabView}(View);module.exports=TabView}).call(this)}});StripeCheckout.require.define({"outer/views/view":function(exports,require,module){(function(){var View,__bind=function(fn,me){return function(){return fn.apply(me,arguments)}},__slice=[].slice;View=function(){function View(onToken,host,path){this.triggerTokenCallback=__bind(this.triggerTokenCallback,this);this.open=__bind(this.open,this);this.onToken=onToken;this.host=host;this.path=path}View.prototype.open=function(options,callback){return this.options=options};View.prototype.close=function(){};View.prototype.preload=function(options){};View.prototype.triggerTokenCallback=function(){var args;args=arguments;return this.rpc.ready(function(_this){return function(){var _ref;return(_ref=_this.rpc).invoke.apply(_ref,["tokenCallback"].concat(__slice.call(args)))}}(this))};return View}();module.exports=View}).call(this)}});(function(){var App,Button,app,require,_ref,_ref1;require=require||this.StripeCheckout.require;Button=require("outer/controllers/button");App=require("outer/controllers/app");if(((_ref=this.StripeCheckout)!=null?_ref.__app:void 0)==null){this.StripeCheckout||(this.StripeCheckout={});this.StripeCheckout.__app=app=new App;this.StripeCheckout.open=app.open;this.StripeCheckout.configure=app.configure;this.StripeButton=this.StripeCheckout;if(((_ref1=this.StripeCheckout)!=null?_ref1.__host:void 0)&&this.StripeCheckout.__host!==""){app.setHost(this.StripeCheckout.__host)}}Button.load(this.StripeCheckout.__app)}).call(this);

    This from S2’s own page, loaded in Chrome…

    Mixed Content: The page at ‘https://s2member.com/extend/?s2-ssl=yes#s2p-form&#8217; was loaded over HTTPS, but requested an insecure script ‘http://s2member.com/wp-includes/js/wp-emoji-release.min.js?ver=4.2.2&#8217;. This request has been blocked; the content must be served over HTTPS.e @ s2member.com/:23
    checkout.js:2 Uncaught TypeError: Cannot read property ‘token’ of undefined

    Having this very same issue .. only in Chrome. Even tried this in my S2 account, after logging in and trying to “extend” support, I click add billing method and it doesn’t pop the window. Bug?

    Disabling javascript is not the answer..

    Thread Starter DigitalWavez

    (@digitalwavez)

    I am using a plugin “Search in Place” .. wondering if this is the culprit. The specific page I’m having trouble with doesn’t have any links other than theme navigation.

    I’m not linking to any file, media or otherwise. As expressed earlier I stripped this page down to just text and S2 form. It may very well be the search “form” this plugin generates in place of a standard search with search results on a different, dedicated page. Didn’t think to go full width on the page, knocking out the side bar and search form.

    I’m working with a different theme now, removing plugins this new theme has built in via shortcodes. Fingers crossed it get’s resolved. At any rate it was a great learning experience for me so thank you a ton for helping out .. very much appreciated KTS915!!

    Thread Starter DigitalWavez

    (@digitalwavez)

    So I deactivated all plugins except S2, activated 2015 WP theme and was still getting mixed content. Header link back to homepage was showing unsecured.

    I then went to general settings and swapped out http: for https: on WordPress and Site address, still unsecured. I then visited the wordpress install, updated site address to https: and now all secure.

    Beginning to think the type of SSL cert I bought is limited, meaning whole site must be secured, just can’t secure individual pages. Thoughts?

    Thread Starter DigitalWavez

    (@digitalwavez)

    I did notice one thing .. when I’m on the secured page, my footer credit URL links back to main site (shows unsecured). I remove the footer credit and still get mixed content. However, I have one footer widget containing links to legal pages and they are unsecured.

    When I log into my S2 account (unsecured) and then click the link to “extend” support (purchase), it lands on a secured page (same as what I’m trying to do .. ?s2-ssl=yes). If I run my mouse over their footer links all show https:, this is not the case with my footer links. It seems all site links, or “external” links on the secured page are not converting to https:, yet scripts, css, theme links are all converted to https:.

    I got a sneaky feeling it’s the theme I’m using. May try and use one of the recommended themes from S2 or default WP themes just to see if it is. Thanks KTS915..

    Thread Starter DigitalWavez

    (@digitalwavez)

    In any event, I think the answer is probably quite simple. You need to install the Disable Emojis plugin.

    Works great! Thanks .. still have the second problem though..

    Mixed Content: The page at ‘https://www.mywebsite.com/upgrade/?s2-ssl=yes&#8217; was loaded over a secure connection, but contains a form which targets an insecure endpoint ‘http://www.mywebsite.com/&#8217;. This endpoint should be made available over a secure connection.

    Guess’n I’m stuck .. if it’s not an S2 issue, but an SSL issue, yet Comodo has no compatibility issues with Chrome, what am I missing? I removed all images from the page yet still have mixed content, maybe it’s the WP template I’m using? I am missing something and it’s probably very simple. Thanks for the help KTS915.

    Thread Starter DigitalWavez

    (@digitalwavez)

    You will need to use the Console in either Firefox or Chrome to locate the problematic javascript. I find FF easier to use, so would turn off the SSL insecure fixer plugin.

    So I turned off SSL Content Fixer and have the original problem and one I fixed with plugin…

    Mixed Content: The page at ‘https://www.mywebsite.com/upgrade/?s2-ssl=yes&#8217; was loaded over HTTPS, but requested an insecure script ‘http://www.mywebsite.com/wp-includes/js/wp-emoji-release.min.js?ver=4.2.1&#8217;. This request has been blocked; the content must be served over HTTPS.e @ http://www.mywebsite.com/:39

    Problem I’m trying to fix…

    http://www.mywebsite.com/:651 Mixed Content: The page at ‘https://www.mywebsite.com/upgrade/?s2-ssl=yes&#8217; was loaded over a secure connection, but contains a form which targets an insecure endpoint ‘http://www.mywebsite.com/&#8217;. This endpoint should be made available over a secure connection.

    Very frustrating .. not wanting to secure the entire site, just a few pages and Chrome is being difficult. Might be time to submit a support ticket with S2Member to resolve this issue. Thank you for all your help!!

    Thread Starter DigitalWavez

    (@digitalwavez)

    Not sure how I would use a protocol-relative link since images are being inserted via the media library. Maybe a lil’ help understanding this.

    As an experiment I removed all images from the page I’m trying to secure, including the site logo. All that’s left is text, S2’s form and secure badge and still getting mixed content in Chrome.

    Answer to your last question, I uploaded images prior to installing SSL cert. Maybe a little more info on my setup may help. Ran S2’s ServerScanner .. all green including https:. Here’s the breakdown:

    # IS MULTISITE : No

    # THEME | VERSION : customizr-pro | v1.1.6# WP VERSION : 4.2.1
    # PERMALINK STRUCTURE : /%postname%/

    # ACTIVE PLUGINS :
    Add Categories to Pages.: 1.0
    Admin Costum Login: 1.3
    Affiliate Royale MemberPress Edition: 1.4.0
    Childify Me: 1.0.8
    Cognito Forms: 1.1.3
    Email Users: 4.7.2
    Global Hide Toolbar: 1.6.1
    Limit Login Attempts: 1.7.1
    Nav Menu Roles: 1.6.5
    Page-list: 5.0
    Peanut Butter Bar (smooth version): 1.2.1
    s2Member Framework: 150311
    Search In Place: 1.0.5
    SeedProd Coming Soon Pro: 4.0.7
    SEO Redirection: 2.8
    SSL Insecure Content Fixer: 1.8.0
    Thrive Visual Editor: 1.85
    Ultimate Posts Widget: 2.0.3
    Wp Cleanup Optimizer Lite Edition: 2.0.35
    WR MegaMenu: 1.1.0

    PHP Version: 5.3.28
    MySQL Version: 5.5.42-cll
    Web Server Info: LiteSpeed

    WordPress Memory Limit: 64MB
    PHP Safe Mode: No
    PHP Memory Limit: 256M
    PHP Upload Max Size: 80M
    PHP Post Max Size: 80M
    PHP Upload Max Filesize: 80M
    PHP Time Limit: 120
    PHP Max Input Vars: 1000
    PHP Arg Separator: &
    PHP Allow URL File Open: Yes
    WP_DEBUG: Disabled

    I’m running SSL insecure fixer because I’m also getting js error over ssl and this plugin fixes it. Your help is much appreciated. Thank you!

    Thread Starter DigitalWavez

    (@digitalwavez)

    Thank you for the reply. Regarding..

    1. Is the “insecure endpoint” on another installation?
    No

    2. Are you loading any images on this page?
    Yes, logo and banner.

    “It’s a standard issue with SSL.”

    If this is the case, not sure I’m understanding why it would say secure in FF & IE but not Chrome. SSL cert I’m using is from Comodo. Any known issues with this SSL vendor and Chrome? Thanks again for any help..

Viewing 15 replies - 1 through 15 (of 15 total)