Spade

Mini Shell

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

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

PK�,�[���%%datafeed.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 plgHikashopDatafeed extends JPlugin {
	var $message = '';

	function __construct(&$subject, $config) {
		parent::__construct($subject, $config);
	}

	function onHikashopCronTrigger(&$messages) {
		$pluginsClass = hikashop_get('class.plugins');
		$plugin = $pluginsClass->getByName('hikashop',
'datafeed');

		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;
		}

		if(empty($plugin->params['path'])) {
			$messages[] = 'No file path specified';
			return true;
		}

		$path = $plugin->params['path'];

		$column = null;
		if(!empty($plugin->params['column_name']))
			$column = $plugin->params['column_name'];

		$url = preg_match('#^(https?|ftp)://#', $path);
		if(!$url) {

			$check = strtolower(substr($path, -3));
			if($check != 'csv') {
				$messages[] = 'The file specified is not a CSV file:
'.$path;
				return true;
			}

			$path = $this->_getRelativePath($path);
			jimport('joomla.filesystem.file');
			if(!JFile::exists(JPATH_ROOT.DS.$path)) {
				$messages[] = 'Could not find the file
'.JPATH_ROOT.DS.$path;
				return true;
			}

			$path = JURI::base() . $path;
			$path = str_replace('administrator', '', $path);

			$os = strtolower(substr(PHP_OS, 0, 3));
			if($os == 'win')
				$path = str_replace('\\','/',$path);
		}

		$importHelper = hikashop_get('helper.import');

		$tab = null;
		if(!empty($column)) {
			$tab = array();
			$entries = explode(';', $column);
			$i = 0;
			foreach($entries as $entry) {
				$var = explode(':', $entry);
				$tab[$var[0]] = $var[1];
				if(function_exists('mb_strtolower')) {
					$columnName = mb_strtolower(trim($var[0], '" '));
				} else {
					$columnName = strtolower(trim($var[0], '" '));
				}
				$tab[$columnName] = $var[1];
				$i++;
			}
		}

		if(!empty($plugin->params['charset']))
			$importHelper->charsetConvert =
$plugin->params['charset'];

		if(!empty($plugin->params['fee']))
			$importHelper->price_fee =
(float)$plugin->params['fee'];

		$importHelper->columnNamesConversionTable = $tab;
		$importHelper->createCategories = true;
		$importHelper->overwrite = true;
		$importHelper->header_errors = false;
		$importHelper->store_files_locally = true;
		if(isset($plugin->params['force_published']) &&
empty($plugin->params['force_published']))
			$importHelper->force_published = false;
		if(empty($plugin->params['delete']))
			$importHelper->keep_other_variants = true;

		if(isset($plugin->params['store_files_locally']))
			$importHelper->store_files_locally =
$plugin->params['store_files_locally'];

		$contentFile = file_get_contents($path);
		if(empty($contentFile)) {
			$messages[] = 'Could not retrieve the CSV file '. $path;
			return true;
		}

		if(!$importHelper->handleContent($contentFile)) {
			return false;
		}

		if(!empty($plugin->params['delete']) &&
!empty($importHelper->codes)) {
			$ids = array();
			foreach($importHelper->codes as $product) {
				$ids[] = (int)@$product->product_id;
			}

			$query = 'SELECT product_id FROM
'.hikashop_table('product').' WHERE product_id NOT IN
('.implode(',',$ids).') AND product_type =
\'main\';';
			$db = JFactory::getDBO();
			$db->setQuery($query);

			$todelete = $db->loadColumn();

			$productClass = hikashop_get('class.product');
			$productClass->delete($todelete);
		}

		if(!$url && !empty($plugin->params['deletefile'])){
			unlink($path);
		}

		return true;
	}

	function writeToLog($data) {
		if($data === null) {
			$dbg = ob_get_clean();
		} else {
			$dbg = $data;
		}
		if(!empty($dbg)) {
			$dbg = '-- ' . date('m.d.y H:i:s') . ' --'
. "\r\n" . $dbg;

			$config = hikashop_config();
			jimport('joomla.filesystem.file');
			$file = $config->get('payment_log_file', '');
			$file = rtrim(JPath::clean(html_entity_decode($file)), DS . '
');
			if(!preg_match('#^([A-Z]:)?/.*#',$file)){
				if(!$file[0] == '/' || !file_exists($file)) {
					$file = JPath::clean(HIKASHOP_ROOT . DS . trim($file, DS . '
'));
				}
			}
			if(!empty($file) && defined('FILE_APPEND')) {
				if(!file_exists(dirname($file))) {
					jimport('joomla.filesystem.folder');
					JFolder::create(dirname($file));
				}
				file_put_contents($file, $dbg, FILE_APPEND);
			}
		}
		if($data === null) {
			ob_start();
		}
	}

	function _getRelativePath($path) {
		$pathClean = null;
		if(!preg_match('#^([A-Z]:)?/.*#',$path) && ($path[0] !=
'/' || !is_file($path))) {
			$pathClean = JPath::clean(HIKASHOP_ROOT.DS.trim($path, DS.'
'));
		}

		if(!empty($pathClean))
			return str_replace(JPATH_ROOT.DS, '', $pathClean);
		return str_replace(JPATH_ROOT.DS, '', $path);
	}
}
PK�,�[��BBdatafeed.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<extension type="plugin" version="2.5"
method="upgrade" group="hikashop">
	<name>Hikashop - Product Cron Update</name>
	<creationDate>12 février 2021</creationDate>
	<version>4.4.1</version>
	<author>HikaShop Team</author>
	<authorEmail>team@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 update products with a CSV
file using a cron</description>
	<files>
		<filename
plugin="datafeed">datafeed.php</filename>
	</files>
		<params addpath="/components/com_hikashop/params">
		<param name="path" type="text" size="50"
default="" label="HIKA_FILE"
description="CSV_FILE" />
		<param name="column_name" type="text"
size="50" default=""
label="HIKA_COLUMN_NAMES" description="COLUMN_NAMES"
/>
		<param name="charset" type="list"
default="UTF-8" label="CHARSET"
description="CSV_CHARSET">
			<option value="BIG5">BIG5</option>
			<option value="ISO-8859-1">ISO-8859-1</option>
			<option value="ISO-8859-2">ISO-8859-2</option>
			<option value="ISO-8859-3">ISO-8859-3</option>
			<option value="ISO-8859-4">ISO-8859-4</option>
			<option value="ISO-8859-5">ISO-8859-5</option>
			<option value="ISO-8859-6">ISO-8859-6</option>
			<option value="ISO-8859-7">ISO-8859-7</option>
			<option value="ISO-8859-8">ISO-8859-8</option>
			<option value="ISO-8859-9">ISO-8859-9</option>
			<option value="ISO-8859-10">ISO-8859-10</option>
			<option value="ISO-8859-13">ISO-8859-13</option>
			<option value="ISO-8859-14">ISO-8859-14</option>
			<option value="ISO-8859-15">ISO-8859-15</option>
			<option value="ISO-2022-JP">ISO-2022-JP</option>
			<option value="US-ASCII">US-ASCII</option>
			<option value="UTF-7">UTF-7</option>
			<option value="UTF-8">UTF-8</option>
			<option
value="Windows-1250">Windows-1250</option>
			<option
value="Windows-1251">Windows-1251</option>
			<option
value="Windows-1252">Windows-1252</option>
		</param>
		<param name="frequency" type="text"
size="50" default="86400" label="FREQUENCY"
description="CSV_FREQUENCY" />
		<param name="last_cron_update" type="text"
size="50" default="1274903175"
label="HIKA_LAST_UPDATE" description="LAST_UPDATE"
/>
		<param name="fee" type="text" size="50"
default="" label="PRICES_FEE"
description="FEED_PRICES_FEE" />
		<param name="delete" type="radio"
default="0" label="DELETE_PRODUCTS_NOT_IN_CSV"
description="DELETE_PRODUCTS_NOT_IN_CSV">
			<option value="0">HIKASHOP_NO</option>
			<option value="1">HIKASHOP_YES</option>
		</param>
		<param name="force_published" type="radio"
default="1" label="Auto publish new products"
description="Auto publish new products">
			<option value="0">HIKASHOP_NO</option>
			<option value="1">HIKASHOP_YES</option>
		</param>
		<param name="deletefile" type="radio"
default="0" label="DELETE_FILE_AFTER_IMPORT"
description="DELETE_FILE_AFTER_IMPORT">
			<option value="0">HIKASHOP_NO</option>
			<option value="1">HIKASHOP_YES</option>
		</param>
		<param name="store_files_locally" type="radio"
default="1" label="STORE_FILES_LOCALLY"
description="STORE_FILES_LOCALLY">
			<option value="0">HIKASHOP_NO</option>
			<option value="1">HIKASHOP_YES</option>
		</param>
	</params>
	<config>
		<fields name="params"
addfieldpath="/components/com_hikashop/fields">
			<fieldset name="basic">
				<field
					name="path"
					type="text"
					label="HIKA_FILE"
					size="50"
					default=""
					description="CSV_FILE" />
				<field
					name="column_name"
					type="text"
					label="HIKA_COLUMN_NAMES"
					size="50"
					default=""
					description="COLUMN_NAMES" />
				<field name="charset" type="list"
default="UTF-8" label="CHARSET"
description="CSV_CHARSET">
					<option value="BIG5">BIG5</option>
					<option value="ISO-8859-1">ISO-8859-1</option>
					<option value="ISO-8859-2">ISO-8859-2</option>
					<option value="ISO-8859-3">ISO-8859-3</option>
					<option value="ISO-8859-4">ISO-8859-4</option>
					<option value="ISO-8859-5">ISO-8859-5</option>
					<option value="ISO-8859-6">ISO-8859-6</option>
					<option value="ISO-8859-7">ISO-8859-7</option>
					<option value="ISO-8859-8">ISO-8859-8</option>
					<option value="ISO-8859-9">ISO-8859-9</option>
					<option
value="ISO-8859-10">ISO-8859-10</option>
					<option
value="ISO-8859-13">ISO-8859-13</option>
					<option
value="ISO-8859-14">ISO-8859-14</option>
					<option
value="ISO-8859-15">ISO-8859-15</option>
					<option
value="ISO-2022-JP">ISO-2022-JP</option>
					<option value="US-ASCII">US-ASCII</option>
					<option value="UTF-7">UTF-7</option>
					<option value="UTF-8">UTF-8</option>
					<option
value="Windows-1250">Windows-1250</option>
					<option
value="Windows-1251">Windows-1251</option>
					<option
value="Windows-1252">Windows-1252</option>
				</field>
				<field
					name="frequency"
					type="text"
					label="FREQUENCY"
					size="50"
					default="86400"
					description="CSV_FREQUENCY" />
				<field
					name="last_cron_update"
					type="text"
					label="HIKA_LAST_UPDATE"
					size="50"
					default="1274903175"
					description="LAST_UPDATE" />
				<field name="fee" type="text"
size="50" default="" label="PRICES_FEE"
description="FEED_PRICES_FEE" />
				<field name="delete" type="radio"
default="0" label="DELETE_PRODUCTS_NOT_IN_CSV"
description="DELETE_PRODUCTS_NOT_IN_CSV" class="btn-group
btn-group-yesno">
					<option value="0">HIKASHOP_NO</option>
					<option value="1">HIKASHOP_YES</option>
				</field>
				<field name="force_published" type="radio"
default="1" label="Auto publish new products"
description="Auto publish new products">
					<option value="0">HIKASHOP_NO</option>
					<option value="1">HIKASHOP_YES</option>
				</field>
				<field name="deletefile" type="radio"
default="0" label="DELETE_FILE_AFTER_IMPORT"
description="DELETE_FILE_AFTER_IMPORT">
					<option value="0">HIKASHOP_NO</option>
					<option value="1">HIKASHOP_YES</option>
				</field>
				<field name="store_files_locally" type="radio"
default="1" label="STORE_FILES_LOCALLY"
description="STORE_FILES_LOCALLY">
					<option value="0">HIKASHOP_NO</option>
					<option value="1">HIKASHOP_YES</option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK�,�[�#o,,
index.htmlnu�[���<html><body
bgcolor="#FFFFFF"></body></html>PK�,�[���%%datafeed.phpnu�[���PK�,�[��BBadatafeed.xmlnu�[���PK�,�[�#o,,
�-index.htmlnu�[���PK�E.