Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/joomla4/ |
| [Home] [System Details] [Kill Me] |
google_products.php000064400000052372151157241570010475 0ustar00<?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 plgHikashopGoogle_products extends JPlugin {
function onHikashopCronTrigger(&$messages) {
if(!hikashop_level(1))
return;
$pluginsClass = hikashop_get('class.plugins');
$plugin =
$pluginsClass->getByName('hikashop','google_products');
if( empty($plugin->params['enable_auto_update']) &&
empty($plugin->params['local_path'])){
return true;
}
if(empty($plugin->params['frequency'])){
$plugin->params['frequency'] = 86400;
}
if(!empty($plugin->params['last_cron_update']) &&
$plugin->params['last_cron_update']+$plugin->params['frequency']>time()){
return true;
}
$plugin->params['last_cron_update']=time();
$pluginsClass->save($plugin);
$pluginsClass->loadParams($plugin);
$xml = $this->generateXML();
if(empty($xml))
return;
$app = JFactory::getApplication();
if(!empty($plugin->params['local_path'])) {
$path=$this->_getRelativePath($plugin->params['local_path']);
jimport('joomla.filesystem.file');
if(!JFile::write(JPATH_ROOT.DS.$path,$xml)){
$message = 'Could not write Google Merchant file to
'.JPATH_ROOT.DS.$path;
}else{
$message = 'Google Merchant file written to
'.JPATH_ROOT.DS.$path;
}
$messages[] = $message;
$app->enqueueMessage($message);
}
if(empty($plugin->params['enable_auto_update']))
return true;
if(empty($plugin->params['google_password']) ||
empty($plugin->params['user_name']) ||
empty($plugin->params['file_name']))
return true;
$pwd = $plugin->params['google_password'];
$user = $plugin->params['user_name'];
$name = $plugin->params['file_name'];
$message = $this->_connectionToGoogleDB($user,$pwd, $xml, $plugin,
$name);
if($message === true) {
$message = 'Products information sent to Google Merchant';
}
$messages[] = $message;
$app->enqueueMessage($message);
}
function _getRelativePath($path) {
$relativePath=str_replace(JPATH_ROOT.DS,'',$path);
return $relativePath;
}
function downloadXML(){
if(!hikashop_level(1))
return;
$xml = $this->generateXML();
@ob_clean();
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0,
pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment;
filename=Google_data_feed_".time().".xml;");
header("Content-Transfer-Encoding: binary");
header('Content-Length: '.strlen($xml));
echo $xml;
exit;
}
function generateXML() {
if(!hikashop_level(1))
return '';
$app = JFactory::getApplication();
$db = JFactory::getDBO();
$pluginsClass = hikashop_get('class.plugins');
$plugin =
$pluginsClass->getByName('hikashop','google_products');
if(empty($plugin->params['condition'])){
$plugin->params['condition'] = "new";
}
if(@$plugin->params['increase_perf']){
$memory = '128M';
$max_execution = '120';
if($plugin->params['increase_perf'] == 2){
$memory = '512M';
$max_execution = '600';
}elseif($plugin->params['increase_perf'] == 3){
$memory = '1024M';
$max_execution = '6000';
}elseif($plugin->params['increase_perf'] == 10){
$memory = '4096M';
$max_execution = '0';
}
ini_set('memory_limit',$memory);
ini_set('max_execution_timeout',$max_execution);
}
$query = 'SELECT * FROM
'.hikashop_table('product').' WHERE
product_access=\'all\' AND product_published=1 AND
product_type=\'main\'';
if(!empty($plugin->params['in_stock_only'])){
$query .= ' AND product_quantity!=0';
}
$db->setQuery($query);
$products = $db->loadObjectList();
if(empty($products)){
return true;
}
$ids = array();
foreach($products as $key => $row){
$ids[] = (int)$row->product_id;
$products[$key]->alias =
JFilterOutput::stringURLSafe($row->product_name);
}
$queryCategoryId = 'SELECT * FROM
'.hikashop_table('product_category').' WHERE product_id
IN ('.implode(',',$ids).')';
$db->setQuery($queryCategoryId);
$categoriesId = $db->loadObjectList();
foreach($products as $k => $row){
foreach($categoriesId as $catId){
if($row->product_id == $catId->product_id){
$products[$k]->categories_id[] = $catId->category_id;
}
}
}
$usedCat=array();
$catList="";
foreach($products as $product){
if(!empty($product->categories_id)){
foreach($product->categories_id as $catId){
if(!isset($usedCat[$catId])){
$usedCat[$catId] = $catId;
$catList .= $catId.',';
}
}
}
}
$catList = substr($catList,0,-1);
$parentCatId = 'product';
$categoryClass = hikashop_get('class.category');
$categoryClass->getMainElement($parentCatId);
$query = 'SELECT DISTINCT b.* FROM
'.hikashop_table('category').' AS a LEFT JOIN '.
hikashop_table('category').' AS b ON a.category_left
>= b.category_left WHERE '.
'b.category_right >= a.category_right AND a.category_id IN
('.$catList.') AND a.category_published=1 AND
a.category_type=\'product\' AND
b.category_id!='.$parentCatId.' '.
'ORDER BY b.category_left';
$db->setQuery($query);
$categories = $db->loadObjectList();
$category_path=array();
$discard_products_without_valid_categories = array();
foreach($products as $k => $product){
if(empty($product->categories_id)){
$discard_products_without_valid_categories[] = $k;
}else{
$path = array();
$at_least_a_category_valid = false;
foreach($categories as $category){
foreach($product->categories_id as $catID){
if( $catID == $category->category_id){
$at_least_a_category_valid = true;
if( !isset($category_path[$catID])){
$category_path[$catID] = $this->_getCategoryParent($category,
$categories, $path, $parentCatId);
}
}
}
}
if(!$at_least_a_category_valid){
$discard_products_without_valid_categories[] = $k;
}
}
}
if(!empty($discard_products_without_valid_categories)){
foreach($discard_products_without_valid_categories as $k){
unset($products[$k]);
}
}
foreach($category_path as $id => $mainCat){
$path='';
for($i=count($mainCat);$i>0;$i--){
$path .= $mainCat[$i-1]->category_name.' > ';
}
$category_path[$id]['path'] = substr($path,0,-3);
}
$queryImage = 'SELECT * FROM
'.hikashop_table('file').' WHERE file_ref_id IN
('.implode(',',$ids).') AND
file_type=\'product\' ORDER BY file_ordering ASC, file_id
ASC';
$db->setQuery($queryImage);
$images = $db->loadObjectList();
foreach($products as $k => $row){
$products[$k]->images = array();
$i=0;
foreach($images as $image){
if($row->product_id == $image->file_ref_id){
$products[$k]->images[$i] = new stdClass();
foreach(get_object_vars($image) as $key => $name){
$products[$k]->images[$i]->$key = $name;
}
}
$i++;
}
}
$db->setQuery('SELECT * FROM
'.hikashop_table('variant').' WHERE variant_product_id
IN ('.implode(',',$ids).')');
$variants = $db->loadObjectList();
if(!empty($variants)){
foreach($products as $k => $product){
foreach($variants as $variant){
if($product->product_id == $variant->variant_product_id){
$products[$k]->has_options = true;
break;
}
}
}
}
$currencyClass = hikashop_get('class.currency');
$config =& hikashop_config();
$main_currency = (int)$config->get('main_currency',1);
if(empty($plugin->params['price_displayed']))
$plugin->params['price_displayed'] = 'cheapest';
if($plugin->params['price_displayed'] ==
'average'){
$currencyClass->getProductsPrices($products,
array('currency_id' => $main_currency,
'price_display_type' => 'range',
'no_discount' =>
(int)@$plugin->params['no_discount']));
$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]);
}
}
}
}
}else{
$currencyClass->getProductsPrices($products,
array('currency_id' => $main_currency,
'price_display_type' =>
$plugin->params['price_displayed'], 'no_discount'
=> (int)@$plugin->params['no_discount']));
}
if(!empty($plugin->params['use_brand'])){
$parentCatId = 'manufacturer';
$categoryClass->getMainElement($parentCatId);
$query = 'SELECT DISTINCT * FROM
'.hikashop_table('category').' AS a WHERE
a.category_published=1 AND a.category_type=\'manufacturer\' AND
a.category_parent_id='.$parentCatId;
$db->setQuery($query);
$brands = $db->loadObjectList('category_id');
}
$config =& hikashop_config();
$uploadFolder =
ltrim(JPath::clean(html_entity_decode($config->get('uploadfolder'))),DS);
$uploadFolder = rtrim($uploadFolder,DS).DS;
$this->uploadFolder_url =
str_replace(DS,'/',$uploadFolder);
$this->uploadFolder = JPATH_ROOT.DS.$uploadFolder;
$app = JFactory::getApplication();
$this->thumbnail = $config->get('thumbnail',1);
$this->thumbnail_x = $config->get('thumbnail_x',100);
$this->thumbnail_y = $config->get('thumbnail_y',100);
$this->main_thumbnail_x = $this->thumbnail_x;
$this->main_thumbnail_y = $this->thumbnail_y;
$this->main_uploadFolder_url = $this->uploadFolder_url;
$this->main_uploadFolder = $this->uploadFolder;
$conf = JFactory::getConfig();
if(!HIKASHOP_J30) {
$siteName = $conf->getValue('config.sitename');
$siteDesc = $conf->getValue('config.MetaDesc');
} else {
$siteName = $conf->get('sitename');
$siteDesc = $conf->get('MetaDesc');
}
if(!empty($plugin->params['channel_description'])) {
$siteDesc = $plugin->params['channel_description'];
}
$siteAddress = JURI::base();
$siteAddress =
str_replace('administrator/','',$siteAddress);
$xml = '<?xml version="1.0" encoding="UTF-8"
?>'."\n".
'<rss version="2.0"
xmlns:g="http://base.google.com/ns/1.0">'."\n".
"\t".'<channel>'."\n".
"\t\t".'<title><![CDATA[
'.$siteName.' ]]></title>'."\n".
"\t\t".'<description><![CDATA[
'.$siteDesc.' ]]></description>'."\n".
"\t\t".'<link><![CDATA[
'.$siteAddress.'
]]></link>'."\n"."\n";
$productClass = hikashop_get('class.product');
$volumeHelper = hikashop_get('helper.volume');
$weightHelper = hikashop_get('helper.weight');
foreach($products as $product) {
if(isset($product->prices[0]->price_value)){
$price_name = 'price_value';
if(!empty($plugin->params['taxed_price'])){
$price_name = 'price_value_with_tax';
}
if(empty($product->product_min_per_order)){
$price = round($product->prices[0]->$price_name, 2);
}
else{
$price = round($product->prices[0]->$price_name,
2)*$product->product_min_per_order;
}
$currencies = array();
$currencyClass = hikashop_get('class.currency');
$ids[$product->prices[0]->price_currency_id] =
$product->prices[0]->price_currency_id;
$currencies =
$currencyClass->getCurrencies($ids[$product->prices[0]->price_currency_id],$currencies);
$currency = reset($currencies);
$xml .= '<item>'."\n";
$productClass->addAlias($product);
if(in_array($product->product_weight_unit, array('mg',
'kg'))) {
$product->product_weight =
$weightHelper->convert($product->product_weight,
$product->product_weight_unit, 'g');
$product->product_weight_unit = 'g';
}
if(in_array($product->product_weight_unit, array('ozt')))
{
$product->product_weight =
$weightHelper->convert($product->product_weight,
$product->product_weight_unit, 'oz');
$product->product_weight_unit = 'oz';
}
if(in_array($product->product_dimension_unit, array('m',
'dm', 'mm'))) {
$product->product_length =
$volumeHelper->convert($product->product_length,
$product->product_dimension_unit, 'cm',
'dimension');
$product->product_width =
$volumeHelper->convert($product->product_width,
$product->product_dimension_unit, 'cm',
'dimension');
$product->product_height =
$volumeHelper->convert($product->product_height,
$product->product_dimension_unit, 'cm',
'dimension');
$product->product_dimension_unit = 'cm';
}
if(in_array($product->product_dimension_unit, array('ft',
'yd'))) {
$product->product_length =
$volumeHelper->convert($product->product_length,
$product->product_dimension_unit, 'in',
'dimension');
$product->product_width =
$volumeHelper->convert($product->product_width,
$product->product_dimension_unit, 'in',
'dimension');
$product->product_height =
$volumeHelper->convert($product->product_height,
$product->product_dimension_unit, 'in',
'dimension');
$product->product_dimension_unit = 'in';
}
$xml .=
"\t".'<g:id>'.$product->product_id.'</g:id>'."\n";
$xml .= "\t".'<title><![CDATA[
'.substr($product->product_name, 0 ,150).'
]]></title>'."\n";
$itemID = '';
if(!empty($plugin->params['item_id'])){
$itemID =
'&Itemid='.$plugin->params['item_id'];
}
if(!empty($product->product_canonical)){
$xml .= "\t".'<g:link><![CDATA[
'.str_replace('/administrator/','/',hikashop_cleanURL($product->product_canonical)).'
]]></g:link>'."\n";
}else{
$xml .= "\t".'<g:link><![CDATA[
'.$siteAddress.'index.php?option=com_hikashop&ctrl=product&task=show&cid='.$product->product_id.'&name='.$product->alias.$itemID.'
]]></g:link>'."\n";
}
$xml .= "\t".'<g:price>'.$price.'
'.$currency->currency_code.'</g:price>'."\n";
if(@$plugin->params['preview'] == 'meta') {
$xml .= "\t".'<g:description><![CDATA[
'.substr(strip_tags($product->product_meta_description),0,5000).'
]]></g:description>'."\n";
} elseif(!empty($product->product_description)){
if(@$plugin->params['preview']) {
$xml .= "\t".'<g:description><![CDATA[
'.substr(strip_tags(preg_replace('#<hr
*id="system-readmore"
*/>.*#is','',$product->product_description)),0,5000).'
]]></g:description>'."\n";
} else {
$xml .= "\t".'<g:description><![CDATA[
'.substr(strip_tags($product->product_description),0,5000).'
]]></g:description>'."\n";
}
}elseif(!empty($plugin->params['message'])){
$xml .= "\t".'<g:description><![CDATA[
'.substr($plugin->params['message'], 0 ,5000).'
]]></g:description>'."\n";
}else{
$xml .= "\t".'<g:description>No
description</g:description>'."\n";
}
$xml .=
$this->_additionalParameter($product,$plugin,'condition','condition');
$xml .=
$this->_additionalParameter($product,$plugin,'gender','gender');
$column = @$plugin->params['identifier_exists'];
if(!empty($column) && ($column == 'TRUE' ||
(!empty($product->$column) && $product->$column ==
'TRUE')))
$xml .=
$this->_additionalParameter($product,$plugin,'gtin','gtin');
$xml .=
$this->_additionalParameter($product,$plugin,'age_group','age_group');
$xml .=
$this->_additionalParameter($product,$plugin,'size','size');
$xml .=
$this->_additionalParameter($product,$plugin,'color','color');
$xml .=
$this->_additionalParameter($product,$plugin,'identifier_exists','identifier_exists');
$xml .= $this->_addShipping($product,$plugin);
if(!empty($plugin->params['use_brand']) &&
!empty($brands[$product->product_manufacturer_id]->category_name)){
$xml .= "\t".'<g:brand><![CDATA[
'.$brands[$product->product_manufacturer_id]->category_name.'
]]></g:brand>'."\n";
}else{
$xml .=
$this->_additionalParameter($product,$plugin,'brand','brand');
}
$xml .=
$this->_additionalParameter($product,$plugin,'category','google_product_category');
if($plugin->params['add_code']){
$xml .= "\t".'<g:mpn><![CDATA[
'.str_replace(array('
','-'),array('',''),$product->product_code).'
]]></g:mpn>'."\n";
}else {
$xml .=
$this->_additionalParameter($product,$plugin,'mpn','mpn');
}
if(isset($product->images) && count($product->images)){
$i = 0;
$name = "image_link";
foreach($product->images as $image){
if($i < 10){
$xml .=
"\t".'<g:'.$name.'>'.htmlspecialchars($siteAddress.$this->main_uploadFolder_url.$image->file_path).'</g:'.$name.'>'."\n";
$name = "additional_image_link";
$i++;
}
}
}
$type='';
foreach($product->categories_id as $catID){
foreach($category_path as $id=>$catPath){
if($id == $catID){
if(strlen($type.str_replace(',', ' ',
$catPath['path']).',') > 750) continue;
$type .= str_replace(',', ' ',
$catPath['path']).',';
}
}
}
if(!empty($type)){
$type = substr($type,0,-1);
$xml .= "\t".'<g:product_type><![CDATA[
'.$type.' ]]></g:product_type>'."\n";
}
if($product->product_quantity != -1){
$xml .=
"\t".'<g:quantity>'.$product->product_quantity.'</g:quantity>'."\n";
}
if($product->product_quantity == 0){
$xml .= "\t".'<g:availability>out of
stock</g:availability>'."\n";
}
else{
$xml .= "\t".'<g:availability>in
stock</g:availability>'."\n";
}
if( $product->product_weight > 0 &&
(($product->product_weight < 1000000 &&
$product->product_weight_unit == 'g')
|| ($product->product_weight < 2000000 &&
$product->product_weight_unit == 'lb' )))
$xml .=
"\t".'<g:shipping_weight>'.ceil($product->product_weight).'
'.$product->product_weight_unit.'</g:shipping_weight>'."\n";
if( (
$product->product_length > 0 &&
$product->product_width > 0 &&
$product->product_height > 0 &&
$product->product_length < 400 &&
$product->product_width < 1000 &&
$product->product_height < 1000 &&
$product->product_dimension_unit == 'cm')
|| (
$product->product_length > 0 &&
$product->product_width > 0 &&
$product->product_height > 0 &&
$product->product_length < 150 &&
$product->product_width < 1000 &&
$product->product_height < 1000 &&
$product->product_dimension_unit == 'in')) {
$xml .=
"\t".'<g:shipping_length>'.ceil($product->product_length).'
'.$product->product_dimension_unit.'</g:shipping_length>'."\n";
$xml .=
"\t".'<g:shipping_width>'.ceil($product->product_width).'
'.$product->product_dimension_unit.'</g:shipping_width>'."\n";
$xml .=
"\t".'<g:shipping_height>'.ceil($product->product_height).'
'.$product->product_dimension_unit.'</g:shipping_height>'."\n";
}
$xml .= '</item>'."\n";
}
}
$xml .=
'</channel>'."\n".'</rss>'."\n";
return $xml;
}
function _addShipping(&$product,&$plugin){
$xml = '';
if(empty($plugin->params['shipping'])){
return $xml;
}
$column = $plugin->params['shipping'];
if(isset($product->$column)){
if(empty($product->$column)) return $xml;
$text = $product->$column;
}else{
$text = $column;
}
$shipping_methods = explode(',',$text);
foreach($shipping_methods as $shipping_method){
$shipping_data = explode(':',$shipping_method);
if(count($shipping_data)!=4) continue;
$xml.="\t".'<g:shipping>'."\n";
$xml.="\t\t".'<g:country>'.$shipping_data[0].'</g:country>'."\n";
if(!empty($shipping_data[1]))
$xml.="\t\t".'<g:region>'.$shipping_data[1].'</g:region>'."\n";
if(!empty($shipping_data[2]))
$xml.="\t\t".'<g:service>'.$shipping_data[2].'</g:service>'."\n";
$xml.="\t\t".'<g:price>'.$shipping_data[3].'</g:price>'."\n";
$xml.="\t".'</g:shipping>'."\n";
}
return $xml;
}
function
_additionalParameter(&$product,&$plugin,$param,$attribute){
$xml = '';
if(!empty($plugin->params[$param])){
$column = $plugin->params[$param];
if(isset($product->$column)){
if(empty($product->$column)) return $xml;
$text = $product->$column;
} else {
$text = $column;
}
$xml="\t".'<g:'.$attribute.'><![CDATA[
'.$text.'
]]></g:'.$attribute.'>'."\n";
}
return $xml;
}
function _connectionToGoogleDB($login, $pwd, $xml, $plugin, $name){
jimport('joomla.client.ftp');
$ftp = new JFTP();
$conn_id=$ftp->connect("uploads.google.com");
if(!$conn_id)
return "Could not connect to uploads.google.com. Please contact
hosting support about that.";
if(!$ftp->login($login, $pwd))
return "Could not login to uploads.google.com. Please check the FTP
credentials in the google products plugin settings.";
$ftp->write($name, $xml);
return true;
}
function _getCategoryParent($theCat, &$categories, $path,
$parentCatId){
if($theCat->category_parent_id==$parentCatId){
$path[]=$theCat;
return $path;
}
foreach($categories as $category){
if($category->category_id==$theCat->category_parent_id){
$path[]=$theCat;
$path=$this->_getCategoryParent($category,$categories,$path,
$parentCatId);
}
}
return $path;
}
}
google_products.xml000064400000026566151157241570010514 0ustar00<?xml
version="1.0" encoding="utf-8"?>
<extension type="plugin" version="1.5"
method="upgrade" group="hikashop">
<name>Hikashop Google Products Plugin</name>
<creationDate>12 février 2021</creationDate>
<version>4.4.1</version>
<author>Hikashop</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-2.0.html
GNU/GPL</license>
<description>This plugin enables you to get a Google Product
feed</description>
<files>
<filename
plugin="google_products">google_products.php</filename>
</files>
<params addpath="/components/com_hikashop/params">
<param name="enable_auto_update" type="radio"
default="0" label="HIKA_ENABLE_AUTO_UPDATE"
description="ENABLE_AUTO_UPDATE">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</param>
<param name="user_name" type="text"
size="50" default=""
label="GOOGLE_FTP_USER_NAME"
description="GOOGLE_FTP_USER_NAME_DESC" />
<param name="google_password" type="password"
size="50" default=""
label="GOOGLE_FTP_PASSWORD"
description="GOOGLE_FTP_PASSWORD_DESC" />
<param name="file_name" type="text"
size="50" default="" label="FILE_NAME"
description="GOOGLE_FILE_NAME" />
<param name="local_path" type="text"
size="50" default=""
label="HIKA_LOCAL_XML_FILE_PATH"
description="LOCAL_XML_FILE_PATH" />
<param name="frequency" type="text"
size="50" default="86400" label="FREQUENCY"
description="GOOGLE_FREQUENCY" />
<param name="last_cron_update" type="text"
size="50" default="1274903175"
label="HIKA_LAST_UPDATE" description="LAST_UPDATE"
/>
<param name="increase_perf" type="list"
default="" label="HIKA_INCREASE_PERFORMANCES"
description="INCREASE_PERFORMANCES">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
<option
value="2">INCREASE_PERFORMANCES_A_LOT</option>
<option
value="3">INCREASE_PERFORMANCES_A_LOT_MORE</option>
<option
value="10">INCREASE_PERFORMANCES_NO_LIMIT</option>
</param>
<param name="channel_description" type="text"
size="50" default=""
label="CHANNEL_DESCRIPTION"
description="CHANNEL_DESCRIPTION_DESC" />
<param name="use_brand" type="list"
default="1" label="HIKA_USE_PRODUCTS_BRAND"
description="USE_PRODUCTS_BRAND">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</param>
<param name="brand" type="text"
size="50" default=""
label="HIKA_BRAND_OVERRIDE"
description="BRAND_OVERRIDE" />
<param name="category" type="text"
size="50" default="" label="CATEGORY"
description="GOOGLE_PRODUCTS_CATEGORY" />
<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>
<param name="taxed_price" type="radio"
default="0" label="HIKA_TAXED_PRICES"
description="TAXED_PRICES">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</param>
<param name="no_discount" type="list"
default="0" label="NO_DISCOUNT"
description="NO_DISCOUNT">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</param>
<param name="condition" type="text"
size="50" default=""
label="HIKA_PRODUCT_CONDITION"
description="PRODUCT_CONDITION" />
<param name="preview" type="radio"
default="0" label="HIKA_SHORT_DESCRIPTION"
description="SHORT_DESCRIPTION">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
<option
value="meta">USE_META_DESCRIPTION</option>
</param>
<param name="message" type="text"
size="50" default="No description"
label="HIKA_MESSAGE_IF_NO_DEDSCRIPTION"
description="MESSAGE_IF_NO_DEDSCRIPTION" />
<param name="item_id" type="text"
size="50" default="" label="HIKA_ITEM_ID"
description="GOOGLE_PRODUCTS_ITEMID" />
<param name="add_code" type="radio"
default="0" label="ADD_PRODUCT_CODE_MPN"
description="ADD_PRODUCT_CODE">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</param>
<param name="mpn" type="text" size="50"
default="" label="MPN"
description="GOOGLE_PRODUCTS_MPN"/>
<param name="gtin" type="text" size="50"
default="" label="GTIN"
description="GOOGLE_PRODUCTS_GTIN" />
<param name="in_stock_only" type="radio"
default="0" label="HIKA_IN_STOCK_PRODUCTS_ONLY"
description="IN_STOCK_PRODUCTS_ONLY">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</param>
<param name="identifier_exists" type="text"
size="50" default=""
label="HIKA_IDENTIFIER_EXISTS"
description="IDENTIFIER_EXISTS" />
<param name="age_group" type="text"
size="50" default="" label="AGE_GROUP"
description="GOOGLE_PRODUCTS_AGE_GROUP" />
<param name="gender" type="text"
size="50" default="" label="GENDER"
description="GOOGLE_PRODUCTS_GENDER" />
<param name="size" type="text" size="50"
default="" label="PRODUCT_SIZE"
description="GOOGLE_PRODUCTS_SIZE" />
<param name="color" type="text"
size="50" default="" label="PRODUCT_COLOR"
description="GOOGLE_PRODUCTS_COLOR" />
<param name="shipping" type="textarea"
cols="40" rows="2" default=""
label="SHIPPING" description="GOOGLE_PRODUCTS_SHIPPING"
/>
<param name="download" type="plugintrigger"
default="downloadXML" label="DOWNLOAD_NOW"
description="GOOGLE_PRODUCTS_DOWNLOAD_XML_FILE" />
</params>
<config>
<fields name="params"
addfieldpath="/components/com_hikashop/fields">
<fieldset name="basic">
<field name="enable_auto_update" type="radio"
default="0" label="HIKA_ENABLE_AUTO_UPDATE"
description="ENABLE_AUTO_UPDATE" class="btn-group
btn-group-yesno">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</field>
<field
name="user_name"
type="text"
label="FTP_USER_NAME"
size="50"
default=""
description="GOOGLE_FTP_USER_NAME"
showon="enable_auto_update:1" />
<field
name="google_password"
type="password"
label="FTP_PASSWORD"
size="50"
default=""
description="GOOGLE_FTP_PASSWORD"
showon="enable_auto_update:1" />
<field
name="file_name"
type="text"
label="FILE_NAME"
size="50"
default=""
description="GOOGLE_FILE_NAME"
showon="enable_auto_update:1" />
<field
name="local_path"
type="text"
size="50"
default=""
label="HIKA_LOCAL_XML_FILE_PATH"
description="LOCAL_XML_FILE_PATH" />
<field
name="frequency"
type="text"
label="FREQUENCY"
size="50"
default="86400"
description="GOOGLE_FREQUENCY"
showon="enable_auto_update:1" />
<field
name="last_cron_update"
type="text"
label="HIKA_LAST_UPDATE"
size="50"
default="1274903175"
description="LAST_UPDATE"
showon="enable_auto_update:1" />
<field
name="increase_perf"
type="list"
default=""
label="HIKA_INCREASE_PERFORMANCES"
description="INCREASE_PERFORMANCES">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
<option
value="2">INCREASE_PERFORMANCES_A_LOT</option>
<option
value="3">INCREASE_PERFORMANCES_A_LOT_MORE</option>
<option
value="10">INCREASE_PERFORMANCES_NO_LIMIT</option>
</field>
<field name="channel_description" type="text"
size="50" default=""
label="CHANNEL_DESCRIPTION"
description="CHANNEL_DESCRIPTION_DESC" />
<field name="use_brand" type="list"
default="1" label="HIKA_USE_PRODUCTS_BRAND"
description="USE_PRODUCTS_BRAND">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</field>
<field name="brand" type="text"
size="50" default=""
label="HIKA_BRAND_OVERRIDE"
description="BRAND_OVERRIDE" />
<field name="category" type="text"
size="50" default=""
label="GOOGLE_PRODUCT_CATEGORY"
description="GOOGLE_PRODUCTS_CATEGORY" />
<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>
<field name="taxed_price" type="radio"
default="0" label="HIKA_TAXED_PRICES"
description="TAXED_PRICES" class="btn-group
btn-group-yesno">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</field>
<field name="no_discount" type="list"
default="0" label="NO_DISCOUNT"
description="NO_DISCOUNT">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</field>
<field
name="condition"
type="text"
label="HIKA_PRODUCT_CONDITION"
size="50"
default=""
description="PRODUCT_CONDITION" />
<field name="preview" type="radio"
default="0" label="HIKA_SHORT_DESCRIPTION"
description="SHORT_DESCRIPTION" class="btn-group
btn-group-yesno">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
<option
value="meta">USE_META_DESCRIPTION</option>
</field>
<field name="message" type="text"
size="50" default="No description"
label="HIKA_MESSAGE_IF_NO_DEDSCRIPTION"
description="MESSAGE_IF_NO_DEDSCRIPTION" />
<field name="item_id" type="text"
size="50" default="" label="HIKA_ITEM_ID"
description="GOOGLE_PRODUCTS_ITEMID" />
<field name="add_code" type="radio"
default="0" label="ADD_PRODUCT_CODE_MPN"
description="ADD_PRODUCT_CODE" class="btn-group
btn-group-yesno">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</field>
<field name="mpn" type="text"
size="50" default="" label="MPN"
description="GOOGLE_PRODUCTS_MPN"
showon="add_code:0"/>
<field name="gtin" type="text"
size="50" default="" label="GTIN"
description="GOOGLE_PRODUCTS_GTIN" />
<field name="in_stock_only" type="radio"
default="0" label="HIKA_IN_STOCK_PRODUCTS_ONLY"
description="IN_STOCK_PRODUCTS_ONLY" class="btn-group
btn-group-yesno">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</field>
<field name="identifier_exists" type="text"
size="50" default=""
label="HIKA_IDENTIFIER_EXISTS"
description="IDENTIFIER_EXISTS" />
<field name="age_group" type="text"
size="50" default="" label="AGE_GROUP"
description="GOOGLE_PRODUCTS_AGE_GROUP" />
<field name="gender" type="text"
size="50" default="" label="GENDER"
description="GOOGLE_PRODUCTS_GENDER" />
<field name="size" type="text"
size="50" default="" label="PRODUCT_SIZE"
description="GOOGLE_PRODUCTS_SIZE" />
<field name="color" type="text"
size="50" default="" label="PRODUCT_COLOR"
description="GOOGLE_PRODUCTS_COLOR" />
<field name="shipping" type="textarea"
cols="40" rows="2" default=""
label="SHIPPING" description="GOOGLE_PRODUCTS_SHIPPING"
/>
<field
name="download"
type="plugintrigger"
default="downloadXML"
label="DOWNLOAD_NOW"
description="GOOGLE_PRODUCTS_DOWNLOAD_XML_FILE" />
</fieldset>
</fields>
</config>
</extension>
index.html000064400000000054151157241570006550 0ustar00<html><body
bgcolor="#FFFFFF"></body></html>