Skip to content

Commit 84d2419

Browse files
committed
Use stripos instead of regex, wee performance difference
1 parent 97612a2 commit 84d2419

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

src/app/code/community/Zendesk/Zendesk/Model/Observer.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,8 @@ public function saveConfig(Varien_Event_Observer $observer)
101101
// If the zendesk domain is not found in the web widget snippet (wrapped with quotes), generate it again
102102
$zDomain = Mage::getStoreConfig('zendesk/general/domain', $storeCode);
103103
$widgetSnippet = Mage::getStoreConfig('zendesk/frontend_features/web_widget_code_snippet', $storeCode);
104-
$escapedDomain = str_replace('.', '\.', $zDomain);
105-
$pattern = "/['\"]{$escapedDomain}['\"]/isu";
106-
if(preg_match($pattern, $widgetSnippet) < 1) {
104+
// Case insensitive search with single and double quotes, still better performance than 1 regexp search
105+
if(stripos($widgetSnippet, "'{$zDomain}'") === false && stripos($widgetSnippet, '"'.$zDomain.'"') === false) {
107106
$webWidgetSnippet=<<<EOJS
108107
<!-- Start of Zendesk Widget script -->
109108
<script>/*<![CDATA[*/window.zEmbed||function(e,t){var n,o,d,i,s,a=[],r=document.createElement("iframe");window.zEmbed=function(){a.push(arguments)},window.zE=window.zE||window.zEmbed,r.src="javascript:false",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="display: none",d=document.getElementsByTagName("script"),d=d[d.length-1],d.parentNode.insertBefore(r,d),i=r.contentWindow,s=i.document;try{o=s}catch(c){n=document.domain,r.src='javascript:var d=document.open();d.domain="'+n+'";void(0);',o=s}o.open()._l=function(){var o=this.createElement("script");n&&(this.domain=n),o.id="js-iframe-async",o.src=e,this.t=+new Date,this.zendeskHost=t,this.zEQueue=a,this.body.appendChild(o)},o.write('<body onload="document._l();">'),o.close()}("//assets.zendesk.com/embeddable_framework/main.js","{$zDomain}");/*]]>*/</script>

0 commit comments

Comments
 (0)