anton_slim

webasyst google_analytics.php

Dec 4th, 2012
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 11.43 KB | None | 0 0
  1. <?php
  2. // source published/SC/html/scripts/modules/abstract/_methods/google_analytics.php
  3. $smarty = &$Register->get(VAR_SMARTY);
  4. /*@var $smarty Smarty*/
  5. if(!defined('GOOGLE_ANALYTICS_ENABLE') || !GOOGLE_ANALYTICS_ENABLE){
  6.     $smarty->assign('GOOGLE_ANALYTICS_CODE','');
  7.     return ;
  8. }
  9.  
  10. $Register = &Register::getInstance();
  11. /*@var $Register Register*/
  12. $GetVars = &$Register->get(VAR_GET);
  13.  
  14. $is_last_checkout_step = false;
  15. if(isset($GetVars['step']) && $GetVars['step']=='success'){
  16.  
  17.     $divisionCheckout = &DivisionModule::getDivisionByUnicKey('checkout');
  18.     $currentDivision = &$Register->get(VAR_CURRENTDIVISION);
  19.     /*@var $currentDivision Division*/
  20.     $is_last_checkout_step = $divisionCheckout->getID() == $currentDivision->getID() && isset($GetVars['orderID']);
  21. }
  22. /**
  23.  * step=success&orderID=
  24.  */
  25.  
  26. $GOOGLE_ANALYTICS_ECOMMERCE_FORM = '';
  27.  
  28. if($is_last_checkout_step){
  29.  
  30.     $orderID = $GetVars['orderID'];
  31.     $Order = ordGetOrder($orderID);
  32.     $OrderContent = ordGetOrderContent($orderID);
  33.     //  $smarty->assign('GOOGLE_ANALYTICS_SET_TRANS',' onLoad="javascript:__utmSetTrans()"');
  34.  
  35. /*
  36. _gaq.push(['_addTrans',
  37. '1234', // Номер заказа (Обязательно)
  38. 'Acme Clothing', // Название магазина
  39. '11.99', // Общая стоимость заказа (Обязательно)
  40. '1.29', // Налоги
  41. '5', // Доставка
  42. 'San Jose', // Город
  43. 'California', // Регион
  44. 'USA' // Страна
  45. ]);
  46. */
  47.     //$GOOGLE_ANALYTICS_ECOMMERCE_FORM =    'pageTracker._addTrans('.
  48.     $GOOGLE_ANALYTICS_ECOMMERCE_FORM =  "\n\n" . "_gaq.push(['_addTrans',".
  49.     /*Order ID      */ '"'.str_replace('"','\"',CONF_ORDERID_PREFIX.$Order['orderID']).'",'.
  50.     /*Affiliation   */ '"'.str_replace('"','\"',CONF_SHOP_NAME).'",'.
  51.     /*Total         */ '"'.RoundFloatValueStr(virtualModule::_convertCurrency($Order['order_amount'],0,GOOGLE_ANALYTICS_USD_CURRENCY)).'",'.
  52.     /*Tax           */ '"'.RoundFloatValueStr(virtualModule::_convertCurrency($Tax, 0, GOOGLE_ANALYTICS_USD_CURRENCY)).'",'.
  53.     /*Shipping      */ '"'.RoundFloatValueStr(virtualModule::_convertCurrency($Order['shipping_cost'],0,GOOGLE_ANALYTICS_USD_CURRENCY)).'",'.
  54.     /*City          */ '"'.str_replace('"','\"',$Order['shipping_city']).'",'.
  55.     /*State         */ '"'.str_replace('"','\"',$Order['shipping_state']).'",'.
  56.     /*Country       */ '"'.str_replace('"','\"',$Order['shipping_country']).'"'.
  57.  //');'."\n";
  58.     ']);'."\n";
  59.  
  60.     $TC = count($OrderContent);
  61.     $Tax = 0;
  62.     for ($j=0;$j<$TC;$j++){
  63.            
  64.         $ProductInfo = GetProduct(GetProductIdByItemId($OrderContent[$j]['itemID']));
  65.         $CategoryInfo = catGetCategoryById($ProductInfo['categoryID']);
  66.         $Tax += $OrderContent[$j]['Price']*$OrderContent[$j]['tax']/100;
  67. /*
  68. _gaq.push(['_addItem',
  69. '1234', // Номер заказа (Обязательно)
  70. 'DD44', // Артикул
  71. 'T-Shirt', // Название продукта
  72. 'Green Medium', // Категория или версия
  73. '11.99', // Цена товара (Обязательно)
  74. '1' // Количество (Обязательно)
  75. ]);
  76. */
  77.         //$GOOGLE_ANALYTICS_ECOMMERCE_FORM .=   'pageTracker._addItem('.
  78.         $GOOGLE_ANALYTICS_ECOMMERCE_FORM .= "_gaq.push(['_addItem',".
  79.         // Order ID
  80.         '"'.CONF_ORDERID_PREFIX.$Order['orderID'].'",'.
  81.         // SKU
  82.         '"'.str_replace('"','\"',$ProductInfo['product_code']).'",'.
  83.         // Product Name
  84.         '"'.str_replace('"','\"',$ProductInfo['name']).'",'.
  85.         // Category
  86.         '"'.str_replace('"','\"',$CategoryInfo['name']).'",'.
  87.         // Price
  88.         '"'.RoundFloatValueStr(virtualModule::_convertCurrency($OrderContent[$j]['Price'],0,GOOGLE_ANALYTICS_USD_CURRENCY)).'",'.
  89.         // Quantity
  90.         '"'.$OrderContent[$j]['Quantity'].
  91.         //'");'."\n";
  92.         '"]);'."\n";
  93.     }
  94.  
  95.     //$GOOGLE_ANALYTICS_ECOMMERCE_FORM .='pageTracker._trackTrans();'."\n";
  96.     $GOOGLE_ANALYTICS_ECOMMERCE_FORM .="_gaq.push(['_trackTrans']);\n";
  97.     //</script>';
  98.  //$smarty->assign('GOOGLE_ANALYTICS_ECOMMERCE_FORM',$GOOGLE_ANALYTICS_ECOMMERCE_FORM);
  99.  
  100.  
  101. }
  102. //pageTracker._addOrganic("name_of_searchengine","qvar");
  103.  
  104. $java_src = (URL::isHttps()? 'https://ssl.' : 'http://www.').'google-analytics.com/ga.js';
  105. $java_include ='<script type="text/javascript" src = "'.$java_src.'"></script>';
  106. $ga_account = 'UA-'.str_replace('UA-','',GOOGLE_ANALYTICS_ACCOUNT);
  107.  
  108. //LanguagesManager::getLanguages()
  109.  
  110. $smarty->assign('GOOGLE_ANALYTICS_CODE',
  111. /* path by SLIM, async google analytics code */
  112.  
  113. /*
  114. '
  115. <script type="text/javascript" src = "'.$java_src.'"></script>
  116. <script type="text/javascript">
  117. var pageTracker = _gat._getTracker("'.$ga_account.'");
  118. '.*/
  119. "
  120. <script type=\"text/javascript\">
  121.  
  122.  var _gaq = _gaq || [];
  123.  _gaq.push(['_setAccount', '".$ga_account."']);
  124.  _gaq.push(['_trackPageview']);
  125. ".
  126. /* end patch */
  127. (defined('GOOGLE_ANALYTICS_CUSTOM_SE')?constant('GOOGLE_ANALYTICS_CUSTOM_SE'):"
  128. // Google EMEA Image domains
  129. _gaq.push(['_addOrganic', 'images.google.co.uk','q']);
  130. _gaq.push(['_addOrganic', 'images.google.es','q']);
  131. _gaq.push(['_addOrganic', 'images.google.pt','q']);
  132. _gaq.push(['_addOrganic', 'images.google.it','q']);
  133. _gaq.push(['_addOrganic', 'images.google.fr','q']);
  134. _gaq.push(['_addOrganic', 'images.google.nl','q']);
  135. _gaq.push(['_addOrganic', 'images.google.be','q']);
  136. _gaq.push(['_addOrganic', 'images.google.de','q']);
  137. _gaq.push(['_addOrganic', 'images.google.no','q']);
  138. _gaq.push(['_addOrganic', 'images.google.se','q']);
  139. _gaq.push(['_addOrganic', 'images.google.dk','q']);
  140. _gaq.push(['_addOrganic', 'images.google.fi','q']);
  141. _gaq.push(['_addOrganic', 'images.google.ch','q']);
  142. _gaq.push(['_addOrganic', 'images.google.at','q']);
  143. _gaq.push(['_addOrganic', 'images.google.ie','q']);
  144. _gaq.push(['_addOrganic', 'images.google.ru','q']);
  145. _gaq.push(['_addOrganic', 'images.google.pl','q']);
  146.  
  147. // Other Google Image search
  148. _gaq.push(['_addOrganic', 'images.google.com','q']);
  149. _gaq.push(['_addOrganic', 'images.google.ca','q']);
  150. _gaq.push(['_addOrganic', 'images.google.com.au','q']);
  151. _gaq.push(['_addOrganic', 'images.google','q']);
  152.  
  153. // Blogsearch
  154. _gaq.push(['_addOrganic', 'blogsearch.google','q']);
  155.  
  156. // Google EMEA Domains
  157. _gaq.push(['_addOrganic', 'google.co.uk','q']);
  158. _gaq.push(['_addOrganic', 'google.es','q']);
  159. _gaq.push(['_addOrganic', 'google.pt','q']);
  160. _gaq.push(['_addOrganic', 'google.it','q']);
  161. _gaq.push(['_addOrganic', 'google.fr','q']);
  162. _gaq.push(['_addOrganic', 'google.nl','q']);
  163. _gaq.push(['_addOrganic', 'google.be','q']);
  164. _gaq.push(['_addOrganic', 'google.de','q']);
  165. _gaq.push(['_addOrganic', 'google.no','q']);
  166. _gaq.push(['_addOrganic', 'google.se','q']);
  167. _gaq.push(['_addOrganic', 'google.dk','q']);
  168. _gaq.push(['_addOrganic', 'google.fi','q']);
  169. _gaq.push(['_addOrganic', 'google.ch','q']);
  170. _gaq.push(['_addOrganic', 'google.at','q']);
  171. _gaq.push(['_addOrganic', 'google.ie','q']);
  172. _gaq.push(['_addOrganic', 'google.ru','q']);
  173. _gaq.push(['_addOrganic', 'google.pl','q']);
  174.  
  175. // Yahoo EMEA Domains
  176. _gaq.push(['_addOrganic', 'uk.yahoo.com','p']);
  177. _gaq.push(['_addOrganic', 'es.yahoo.com','p']);
  178. _gaq.push(['_addOrganic', 'pt.yahoo.com','p']);
  179. _gaq.push(['_addOrganic', 'it.yahoo.com','p']);
  180. _gaq.push(['_addOrganic', 'fr.yahoo.com','p']);
  181. _gaq.push(['_addOrganic', 'nl.yahoo.com','p']);
  182. _gaq.push(['_addOrganic', 'be.yahoo.com','p']);
  183. _gaq.push(['_addOrganic', 'de.yahoo.com','p']);
  184. _gaq.push(['_addOrganic', 'no.yahoo.com','p']);
  185. _gaq.push(['_addOrganic', 'se.yahoo.com','p']);
  186. _gaq.push(['_addOrganic', 'dk.yahoo.com','p']);
  187. _gaq.push(['_addOrganic', 'fi.yahoo.com','p']);
  188. _gaq.push(['_addOrganic', 'ch.yahoo.com','p']);
  189. _gaq.push(['_addOrganic', 'at.yahoo.com','p']);
  190. _gaq.push(['_addOrganic', 'ie.yahoo.com','p']);
  191. _gaq.push(['_addOrganic', 'ru.yahoo.com','p']);
  192. _gaq.push(['_addOrganic', 'pl.yahoo.com','p']);
  193.  
  194. // UK specific
  195. _gaq.push(['_addOrganic', 'hotbot.co.uk','query']);
  196. _gaq.push(['_addOrganic', 'excite.co.uk','q']);
  197. _gaq.push(['_addOrganic', 'bbc','q']);
  198. _gaq.push(['_addOrganic', 'tiscali','query']);
  199. _gaq.push(['_addOrganic', 'uk.ask.com','q']);
  200. _gaq.push(['_addOrganic', 'blueyonder','q']);
  201. _gaq.push(['_addOrganic', 'search.aol.co.uk','query']);
  202. _gaq.push(['_addOrganic', 'ntlworld','q']);
  203. _gaq.push(['_addOrganic', 'tesco.net','q']);
  204. _gaq.push(['_addOrganic', 'orange.co.uk','q']);
  205. _gaq.push(['_addOrganic', 'mywebsearch.com','searchfor']);
  206. _gaq.push(['_addOrganic', 'uk.myway.com','searchfor']);
  207. _gaq.push(['_addOrganic', 'searchy.co.uk','search_term']);
  208. _gaq.push(['_addOrganic', 'msn.co.uk','q']);
  209. _gaq.push(['_addOrganic', 'uk.altavista.com','q']);
  210. _gaq.push(['_addOrganic', 'lycos.co.uk','query']);
  211.  
  212. // NL specific
  213. _gaq.push(['_addOrganic', 'chello.nl','q1']);
  214. _gaq.push(['_addOrganic', 'home.nl','q']);
  215. _gaq.push(['_addOrganic', 'planet.nl','googleq=q']);
  216. _gaq.push(['_addOrganic', 'search.ilse.nl','search_for']);
  217. _gaq.push(['_addOrganic', 'search-dyn.tiscali.nl','key']);
  218. _gaq.push(['_addOrganic', 'startgoogle.startpagina.nl','q']);
  219. _gaq.push(['_addOrganic', 'vinden.nl','q']);
  220. _gaq.push(['_addOrganic', 'vindex.nl','search_for']);
  221. _gaq.push(['_addOrganic', 'zoeken.nl','query']);
  222. _gaq.push(['_addOrganic', 'zoeken.track.nl','qr']);
  223. _gaq.push(['_addOrganic', 'zoeknu.nl','Keywords']);
  224.  
  225. // Extras
  226. _gaq.push(['_addOrganic', 'alltheweb','q']);
  227. _gaq.push(['_addOrganic', 'ananzi','qt']);
  228. _gaq.push(['_addOrganic', 'anzwers','search']);
  229. _gaq.push(['_addOrganic', 'araby.com','q']);
  230. _gaq.push(['_addOrganic', 'dogpile','q']);
  231. _gaq.push(['_addOrganic', 'elmundo.es','q']);
  232. _gaq.push(['_addOrganic', 'ezilon.com','q']);
  233. _gaq.push(['_addOrganic', 'hotbot','query']);
  234. _gaq.push(['_addOrganic', 'indiatimes.com','query']);
  235. _gaq.push(['_addOrganic', 'iafrica.funnel.co.za','q']);
  236. _gaq.push(['_addOrganic', 'mywebsearch.com','searchfor']);
  237. _gaq.push(['_addOrganic', 'search.aol.com','encquery']);
  238. _gaq.push(['_addOrganic', 'search.indiatimes.com','query']);
  239. _gaq.push(['_addOrganic', 'searcheurope.com','query']);
  240. _gaq.push(['_addOrganic', 'suche.web.de','su']);
  241. _gaq.push(['_addOrganic', 'terra.es','query']);
  242. _gaq.push(['_addOrganic', 'voila.fr','kw']);
  243.  
  244. // Extras RU
  245. _gaq.push(['_addOrganic', 'mail.ru','q']);
  246. _gaq.push(['_addOrganic', 'rambler.ru','words']);
  247. _gaq.push(['_addOrganic', 'nigma.ru','s']);
  248. _gaq.push(['_addOrganic', 'blogs.yandex.ru','text']);
  249. _gaq.push(['_addOrganic', 'yandex.ru','text']);
  250. _gaq.push(['_addOrganic', 'webalta.ru','q']);
  251. _gaq.push(['_addOrganic', 'aport.ru','r']);
  252. _gaq.push(['_addOrganic', 'poisk.ru','text']);
  253. _gaq.push(['_addOrganic', 'km.ru','sq']);
  254. _gaq.push(['_addOrganic', 'liveinternet.ru','ask']);
  255. _gaq.push(['_addOrganic', 'gogo.ru','q']);
  256. _gaq.push(['_addOrganic', 'gde.ru','keywords']);
  257. _gaq.push(['_addOrganic', 'quintura.ru','request']);
  258. _gaq.push(['_addOrganic', 'price.ru','pnam']);
  259. _gaq.push(['_addOrganic', 'torg.mail.ru','q']);
  260.  
  261.  
  262. // Extras BY
  263. _gaq.push(['_addOrganic', 'akavita.by','z']);
  264. _gaq.push(['_addOrganic', 'tut.by','query']);
  265. _gaq.push(['_addOrganic', 'all.by','query']);
  266.  
  267.  
  268. // Extras UA
  269. _gaq.push(['_addOrganic', 'meta.ua','q']);
  270. _gaq.push(['_addOrganic', 'bigmir.net','q']);
  271. _gaq.push(['_addOrganic', 'i.ua','q']);
  272. _gaq.push(['_addOrganic', 'online.ua','q']);
  273. _gaq.push(['_addOrganic', 'a.ua','s']);
  274. _gaq.push(['_addOrganic', 'ukr.net','search_query']);
  275. _gaq.push(['_addOrganic', 'search.com.ua','q']);
  276. _gaq.push(['_addOrganic', 'search.ua','query']);")
  277. .
  278. $GOOGLE_ANALYTICS_ECOMMERCE_FORM
  279. ."
  280.  
  281.  (function() {
  282.    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  283.    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  284.    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  285.  })();
  286. ".
  287. '
  288. </script>
  289. ');
  290. ?>
Add Comment
Please, Sign In to add comment