Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/joomla4/ |
| [Home] [System Details] [Kill Me] |
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�,�[��BBdatafeed.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�,�[��BBadatafeed.xmlnu�[���PK�,�[�#o,,
�-index.htmlnu�[���PK�E.