I now have this code based on some of the answers below.
Is this the most elegant, clean, fast and effective code to have?
<?php
/**
* The default template for displaying Google Analytics
*
* @package WordPress
* @subpackage News_Template
* @since News Template 1.0
*/
$googleanalyticscode="<script type='text/javascript'> var _gaq = _gaq || []; _gaq.push(['_setAccount', '%s']); _gaq.push(['_setDomainName', '%s']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script>";
$analyticsurlgoogle=array(
'domain-a.com' => 'UA-25133-2',
'domain-b.com' => 'UA-25133',
'domain-c.com' => 'UA-2699-2',
'domain-d.com' => 'UA-3021-2',
'domain-e.com' => 'UA-25537-2',
'domain-f.com' => 'UA-7213-2',
'domain-g.com' => 'UA-7214-2',
'domain-h.com' => 'UA-150-2',
'domain-i.com' => 'UA-150-2'
);
// --- /Configuration ---
// Get the Domain URL
$analyticsurl = get_site_url();
$namegoogle = substr($analyticsurl,7);
//create code
if (isset($analyticsurlgoogle[$namegoogle])) $code=sprintf($googleanalyticscode,$analyticsurlgoogle[$namegoogle],$namegoogle);
else $code='';
echo $code; ?>
------ Previous Code ------
I have written the following if statement in PHP. What would be the most elegant, effective and cleanest way of writing this code?
The purpose of the code is to check the domain name of the site. If the site have google analytics defined it should match the defined "Google Analytics" code for the domain and then print the script to the page.
If the Google Analytics code is not defined it should show nothing!
<?php
// Get the Domain URL
$analyticsurl = get_site_url();
// Check if domain is defined
if ($analyticsurl == 'http://domain-a.com') {$analyticcode = 'UA-25133920-1'; $analyticsurlname = 'domain-a.com';} // domain-a.com
if ($analyticsurl == 'http://domain-b.com') {$analyticcode = 'UA-25133920-1'; $analyticsurlname = 'domain-b.com';} // domain-b.com
if ($analyticsurl == 'http://domain-c.com') {$analyticcode = 'UA-26990264-1'; $analyticsurlname = 'domain-c.com';} // domain-c.com
if ($analyticsurl == 'http://domain-d.com') {$analyticcode = 'UA-30217571-1'; $analyticsurlname = 'domain-d.com';} // domain-d.com
if ($analyticsurl == 'http://domain-e.com') {$analyticcode = 'UA-25537388-1'; $analyticsurlname = 'domain-e.com';} // domain-e.com
// if domain is defined create Google Analytics Code and insert variables
$analyticscode_1 = "<script type='text/javascript'>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '".$analyticcode."']);
_gaq.push(['_setDomainName', '".$analyticsurlname."']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>";
// if URL does not match write nothing
if ($analyticcode == '') {$analyticscode = '';}
// if URL exists set the Google Analytics Code
if ($analyticcode != '') {$analyticscode = $analyticscode_1;}
?>
<?php // write the Analytics code to the page
echo $analyticscode ?>
ifon same variable. Also even yourifsshould have beenif/elseif/elseif/elseto be slightly more efficient.