Spade

Mini Shell

Directory:~$ /home/lmsyaran/public_html/joomla4/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ /home/lmsyaran/public_html/joomla4/hikashopremarketing.zip

PK��[j��E77hikashopremarketing.phpnu�[���<?php
/**
 * @package	HikaShop for Joomla!
 * @version	4.4.1
 * @author	hikashop.com
 * @copyright	(C) 2010-2021 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php
class plgSystemHikashopremarketing extends JPlugin
{
	public function __construct(&$subject, $config) {
		parent::__construct($subject, $config);
		if(isset($this->params))
			return;

		$plugin = JPluginHelper::getPlugin('system',
'hikashopremarketing');
		$this->params = new JRegistry($plugin->params);
	}

	public function onAfterRender() {
		$adwords_id = $this->params->get('adwordsid', 0);
		if (empty($adwords_id) || $adwords_id == 0)
			return true;

		$app = JFactory::getApplication();
		if(version_compare(JVERSION,'4.0','>=') &&
$app->isClient('administrator'))
			return true;
		if(version_compare(JVERSION,'4.0','<') &&
$app->isAdmin())
			return true;

		if(version_compare(JVERSION,'3.0','>=')) {
			$layout = $app->input->getString('layout');
		} else {
			$layout = JRequest::getString('layout');
		}

		if ($layout == 'edit')
			return true;

		if(class_exists('JResponse'))
			$body = JResponse::getBody();
		$alternate_body = false;
		if(empty($body)) {
			$body = $app->getBody();
			$alternate_body = true;
		}

		if (!preg_match_all('#\<input (.*)\/\>#Uis', $body,
$matches))
			return true;

		$para = array();
		$matches = $matches[1];
		$nbtag = count($matches);
		for ($i = 0; $i < $nbtag; $i++) {
			if (preg_match_all('#name="product_id"#Uis',
$matches[$i], $pattern) &&
preg_match_all('#value="(.*)"#Uis', $matches[$i],
$tag)) {
				$para[ (int)$tag[1][0] ] = (int)$tag[1][0];
			}
		}

		if (count($para) == 0)
			return true;

		if(!defined('DS'))
			define('DS', DIRECTORY_SEPARATOR);
		if(!include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikashop'.DS.'helpers'.DS.'helper.php'))
			return true;

		$db = JFactory::getDBO();
		$tags = array();

		$product_query = 'SELECT * FROM ' .
hikashop_table('product') .
			' WHERE product_id IN (' . implode(',', $para) .
') AND product_access = '.$db->Quote('all').'
AND product_published = 1 AND product_type =
'.$db->Quote('main');
		$db->setQuery($product_query);
		$products = $db->loadObjectList('product_id');
		foreach($products as $k => $product) {
			$val =
$this->_additionalParameter($product,'ecomm_prodid');
			if($val)
				$tags[(int)$product->product_id] = $val;
		}

		if (count($tags) == 0)
			return true;

		$params = array('ecomm_prodid:
[\''.implode('\',\'', $tags)
.'\']', 'ecomm_pagetype: \'product\'');

		$zone_id = hikashop_getZone();
		$currencyClass = hikashop_get('class.currency');
		$config =& hikashop_config();
		$main_currency = (int)$config->get('main_currency',1);
		$price_displayed =
$this->params->get('price_displayed');
		switch($price_displayed){
			case 'expensive':
				$currencyClass->getListingPrices($products,$zone_id,$main_currency,'range');
				$tmpPrice = 0;
				foreach($products as $product){
					if(isset($product->prices[0]->price_value)){
						if(count($product->prices)>1){
							for($i=0;$i<count($product->prices);$i++){
								if($product->prices[$i]->price_value > $tmpPrice){
									$tmpPrice = $product->prices[$i]->price_value;
									$key = $i;
								}
							}
							$product->prices[0] = $product->prices[$key];
							for($i=1;$i<count($product->prices);$i++){
								unset($product->prices[$i]);
							}
						}
					}
				}
				break;
			case 'average':
				$currencyClass->getListingPrices($products,$zone_id,$main_currency,'range');
				$tmpPrice = 0;
				$tmpTaxPrice = 0;
				foreach($products as $product){
					if(isset($product->prices[0]->price_value)){
						if(count($product->prices) > 1){
							for($i=0;$i<count($product->prices);$i++){
								if($product->prices[$i]->price_value > $tmpPrice){
									$tmpPrice += $product->prices[$i]->price_value;
									$tmpTaxPrice +=
@$product->prices[$i]->price_value_with_tax;
								}
							}
							$product->prices[0]->price_value =
$tmpPrice/count($product->prices);
							$product->prices[0]->price_value_with_tax =
$tmpTaxPrice/count($product->prices);
							for($i=1;$i<count($product->prices);$i++){
								unset($product->prices[$i]);
							}
						}
					}
				}
				break;
			case 'unit':
			case 'cheapest':
			default:
				$currencyClass->getListingPrices($products,$zone_id,$main_currency,$price_displayed);
				break;
		}
		$colum = 'price_value';
		if($config->get('price_with_tax')){
			$colum = 'price_value_with_tax';
		}
		foreach($products as $product){
			if(!empty($product->prices) && count($product->prices)){
				$params[]='ecomm_totalvalue:
'.round($product->prices[0]->$colum,2);
				break;
			}
		}

		$id = trim($this->params->get('adwordsid'));
		$extraJS = '';
		if($id != (int)$id){
			$extraJS = 'alert(\'You have configured the remarketing plugin
of HikaShop with a wrong Adword ID. It should be a number. Please edit it
via the Joomla plugins manager and correct it.\');';
		}

		$js = '<!-- Google code for remarketingtag -->
<script type="text/javascript">

var google_tag_params = {'.implode(', ',$params).' };
var google_conversion_id = '.(int)$id.';
var google_custom_params = window.google_tag_params;
var google_remarketing_only = true;
'.$extraJS.'

</script>
<script type="text/javascript"
src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1"
style="border-style:none;" alt=""
src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/'.(int)$id.'/?value=0&guid=ON&script=0"/>
</div>
</noscript>
';
		$body = preg_replace('#\<\/body\>#',
$js.'</body>', $body, 1);

		if($alternate_body) {
			$app->setBody($body);
		} else {
			JResponse::setBody($body);
		}
	}

	function _additionalParameter(&$product, $param) {
		static $fields = false;

		if($fields === false) {
			$fieldsClass = hikashop_get('class.field');
			$data = null;
			$fields = $fieldsClass->getFields('all', $data,
'product');
		}

		if(empty($this->params[$param])) {
			$this->params[$param] = 'product_code';
		}

		$column = $this->params[$param];

		if(empty($product->$column))
			return false;
		return $product->$column;
	}
}
PK��[�/Ȝ�hikashopremarketing.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<extension type="plugin" version="2.5"
method="upgrade" group="system">
	<name>HikaShop Google Dynamic Remarketing (conversion
tracking)</name>
	<creationDate>12 février 2021</creationDate>
	<version>4.4.1</version>
	<author>Hikari Software</author>
	<authorEmail>dev@hikashop.com</authorEmail>
	<authorUrl>http://www.hikashop.com</authorUrl>
	<copyright>(C) 2010-2021 HIKARI SOFTWARE. All rights
reserved.</copyright>
	<license>http://www.gnu.org/licenses/gpl-3.0.html
GNU/GPL</license>
	<description>Hikashop Google remarketing (conversion tracking)
plugin</description>
	<files>
		<filename
plugin="hikashopremarketing">hikashopremarketing.php</filename>
	</files>
	<params addpath="/components/com_hikashop/params">
		<param name="adwordsid" type="text"
default="" label="HIKA_ADWORDS_ID"
description="ADWORDS_ID" />
		<param name="ecomm_prodid" type="text"
size="50" default="product_code"
label="ECOMM_PRODID_LABEL"
description="ECOMM_PRODID_DESC" />
		<param name="price_displayed" type="list"
default="0" label="HIKA_PRICE_DISPLAYED"
description="PRICE_DISPLAYED">
			<option
value="cheapest">CHEAPEST_PRICE_DISPLAYED</option>
			<option
value="average">AVERAGE_PRICE_DISPLAYED</option>
			<option
value="expensive">MOST_EXPENSIVE_PRICE_DISPLAYED</option>
			<option
value="unit">UNIT_PRICE_DISPLAYED</option>
		</param>
	</params>
	<config>
		<fields name="params"
addfieldpath="/components/com_hikashop/fields">
			<fieldset name="basic">
				<field name="adwordsid" type="text"
default="" label="HIKA_ADWORDS_ID"
description="ADWORDS_ID" />
				<field name="ecomm_prodid" type="text"
size="50" default="product_code"
label="ECOMM_PRODID_LABEL"
description="ECOMM_PRODID_DESC" />
				<field name="price_displayed" type="list"
default="0" label="HIKA_PRICE_DISPLAYED"
description="PRICE_DISPLAYED">
					<option
value="cheapest">CHEAPEST_PRICE_DISPLAYED</option>
					<option
value="average">AVERAGE_PRICE_DISPLAYED</option>
					<option
value="expensive">MOST_EXPENSIVE_PRICE_DISPLAYED</option>
					<option
value="unit">UNIT_PRICE_DISPLAYED</option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK��[�#o,,
index.htmlnu�[���<html><body
bgcolor="#FFFFFF"></body></html>PK��[j��E77hikashopremarketing.phpnu�[���PK��[�/Ȝ�~hikashopremarketing.xmlnu�[���PK��[�#o,,
a"index.htmlnu�[���PK��"