Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/joomla4/ |
| [Home] [System Details] [Kill Me] |
PK�%�[d�����
common.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
jimport( 'joomla.plugin.helper' );
class plgHikashoppaymentCommon extends hikashopPaymentPlugin
{
var $multiple = true;
var $name = 'common';
function loadCurrentPlugin($id,$name){
static $plugins = array();
if(!isset($plugins[$id])){
$plugins[$id] = hikashop_import('payment',$name);
$plugins[$id]->params=&$this;
JPluginHelper::importPlugin('payment');
$plugin = JPluginHelper::getPlugin('payment', $name);
if(is_object($plugin))$plugin->params =
json_encode($this->payment_params);
}
return $plugins[$id];
}
function get($property, $default = NULL){
if(isset($this->payment_params->$property)) return
$this->payment_params->$property;
return $default;
}
function onAfterOrderConfirm(&$order,&$methods,$method_id) {
parent::onAfterOrderConfirm($order, $methods, $method_id);
$plugin =
$this->loadCurrentPlugin($order->order_payment_id,$this->payment_params->common_payment_plugin);
if(!is_object($plugin) ||
!method_exists($plugin,'onTP_GetHTML')) return '';
echo $plugin->onTP_GetHTML($this->_loadVars($order));
}
function _loadVars(&$order){
$notify_url =
HIKASHOP_LIVE.'index.php?option=com_hikashop&ctrl=checkout&task=notify¬if_payment='.$this->name.'&name='.$this->payment_params->common_payment_plugin.'&order_id='.$order->order_id
.'&tmpl=component&lang='.$this->locale .
$this->url_itemid;
$return_url =
HIKASHOP_LIVE.'index.php?option=com_hikashop&ctrl=checkout&task=after_end&order_id='.$order->order_id
. $this->url_itemid;
$cancel_url =
HIKASHOP_LIVE.'index.php?option=com_hikashop&ctrl=order&task=cancel_order&order_id='.$order->order_id
. $this->url_itemid;
if($this->currency->currency_locale['int_frac_digits']
> 2)
$this->currency->currency_locale['int_frac_digits'] =
2;
if(isset($order->cart->full_total->prices[0]->price_value_with_tax)){
$price =
$order->cart->full_total->prices[0]->price_value_with_tax;
}else{
$price = $dbOrder->order_full_price;
}
$vars = new stdClass();
$vars->order_id = $order->order_id;
$vars->amount =
round($order->cart->full_total->prices[0]->price_value_with_tax,
(int)$this->currency->currency_locale['int_frac_digits']);
$vars->currency_code = $this->currency->currency_code;
$vars->user_id = $this->user->user_cms_id;
$vars->email = $this->user->user_email;
$vars->user_email = $this->user->user_email;
$vars->country_code =
@$order->cart->billing_address->address_country->zone_code_2;
$vars->item_name = JText::_('CART_PRODUCT_TOTAL_PRICE');
$vars->return = $notify_url;
$vars->cancel_return = $cancel_url;
$vars->notify_url = $notify_url;
$vars->url = $notify_url;
$vars->submiturl =
$notify_url.'&payment_submit_mode=1';
$vars->is_recurring = 0;
return $vars;
}
function onPaymentNotification(&$statuses){
$plugin = $this->loadCurrentPlugin(0,@$_REQUEST['name']);
$function = 'onTP_Processpayment';
if(!empty($_REQUEST['payment_submit_mode'])) $function =
'onTP_ProcessSubmit';
if(!is_object($plugin) || !method_exists($plugin,$function)) return
true;
$dbOrder = $this->getOrder((int)@$_REQUEST['order_id']);
$this->loadPaymentParams($dbOrder);
if(empty($this->payment_params))
return false;
$this->loadOrderData($dbOrder);
foreach($this->payment_params as $k => $v){
$plugin->params->set($k,$v);
}
ob_start();
$result = $plugin->$function($_POST,$this->_loadVars($dbOrder));
$data = ob_get_clean();
$statuses =
array('C'=>$this->payment_params->verified_status,'P'=>$this->payment_params->pending_status);
$url = HIKASHOP_LIVE .
'administrator/index.php?option=com_hikashop&ctrl=order&task=edit&order_id='
. $result['order_id'];
$order_text = "\r\n" .
JText::sprintf('NOTIFICATION_OF_ORDER_ON_WEBSITE',
$dbOrder->order_number, HIKASHOP_LIVE);
$order_text .= "\r\n" . str_replace('<br/>',
"\r\n", JText::sprintf('ACCESS_ORDER_WITH_LINK',
$url));
$email = new stdClass();
$status = @$statuses[$result['status']];
$email->subject =
JText::sprintf('PAYMENT_NOTIFICATION_FOR_ORDER',$_REQUEST['name'],$status,$dbOrder->order_number);
if(!empty($statuses[$result['status']])){
$status = $statuses[$result['status']];
$email->body =
str_replace('<br/>',"\r\n",JText::sprintf('PAYMENT_NOTIFICATION_STATUS',$_REQUEST['name'],$status)).'
'.JText::sprintf('ORDER_STATUS_CHANGED',$status)."\r\n\r\n".$order_text;
$history = new stdClass();
$history->notified = 0;
if($status=='confirmed') $history->notified = 1;
$history->data = $data;
if(!empty($result['transaction_id'])) $history->data =
'Transaction id: '.$result['transaction_id'] .
"\r\n\r\n".$history->data;
$this->modifyOrder($result['order_id'], $status, $history,
$email);
}else{
$email->body =
str_replace('<br/>',"\r\n",@$result['error']['desc']."\r\n\r\n".$order_text);
$o = false;
$this->modifyOrder($o, null, null, $email);
}
if(!empty($result['return'])){
$this->app->redirect($result['return']);
}
}
function onAfterHikaPluginConfigurationSelectionListing($type,
&$plugins, &$parent){
if($type!='payment') return true;
$query='SELECT extension_id as id, enabled as published,name,element
FROM '.hikashop_table('extensions',false).' WHERE
folder=\'payment\' AND type=\'plugin\' ORDER BY
ordering ASC';
$database = JFactory::getDBO();
$database->setQuery($query);
$payments = $database->loadObjectList();
foreach($payments as $k => $payment){
$payments[$k]->element =
'common&element='.$payments[$k]->element;
}
foreach($plugins as $k => $plugin){
if($plugin->element == 'common'){
unset($plugins[$k]);
}
}
$plugins = array_merge($plugins,$payments);
return true;
}
}
PK�%�[W��|
common.xmlnu�[���<?xml version="1.0"
encoding="utf-8"?>
<extension type="plugin" version="2.5"
method="upgrade" group="hikashoppayment">
<name>Hikashop Common Joomla Payment API integration</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 allows the ue of Common Joomla Payment API
plugins</description>
<files>
<filename plugin="common">common.php</filename>
</files>
<params addpath="/components/com_hikashop/params">
</params>
<config>
</config>
</extension>
PK�%�[���(GGcommon_configuration.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
if(empty($this->element->payment_params->common_payment_plugin)){
$this->element->payment_params->common_payment_plugin =
hikaInput::get()->getCmd('element', '');
}
$lang = JFactory::getLanguage();
$lang->load('plg_payment_'.$this->element->payment_params->common_payment_plugin,
rtrim(JPATH_ADMINISTRATOR,DS).DS, $lang->getTag());
$path = JPATH_PLUGINS
.DS.'payment'.DS.$this->element->payment_params->common_payment_plugin.DS.$this->element->payment_params->common_payment_plugin.'.xml';
$data = file_get_contents($path);
$form_def = '<?xml version="1.0"
encoding="utf-8"?>'.preg_replace('#</config>.*#is','</form>',preg_replace('#(<\?xml
version="1\.(1|0)"
encoding="utf-8"\?>).*<config#is','<form',$data));
$form = JForm::getInstance('myform', $form_def);
$this->element->params = $this->element->payment_params;
$form->bind($this->element);
?>
<?php foreach ($form->getFieldsets('params') as $fieldsets
=> $fieldset){
foreach($form->getFieldset($fieldset->name) as $field){
if ($field->hidden){
echo $field->input;
}else{
?>
<tr>
<td class="key">
<?php echo $field->label; ?>
</td>
<td class="hikashop_override_backend_css" <?php echo
($field->type == 'Editor' || $field->type ==
'Textarea') ? ' style="clear: both; margin:
0;"' : ''?>>
<?php echo
str_replace('name="params[','name="data[payment][payment_params][',$field->input);
?>
</td>
</tr>
<?php
}
}
}
?>
<tr>
<td class="key">
<label
for="data[payment][payment_params][return_url]"><?php
echo JText::_('RETURN_URL');
?></label>
</td>
<td>
<input type="text"
name="data[payment][payment_params][return_url]"
value="<?php echo
$this->escape(@$this->element->payment_params->return_url);
?>" />
</td>
</tr>
<tr>
<td class="key">
<label
for="data[payment][payment_params][pending_status]"><?php
echo JText::_('PENDING_STATUS');
?></label>
</td>
<td><?php
echo
$this->data['order_statuses']->display("data[payment][payment_params][pending_status]",
@$this->element->payment_params->pending_status);
?></td>
</tr>
<tr>
<td class="key">
<label
for="data[payment][payment_params][verified_status]"><?php
echo JText::_('VERIFIED_STATUS');
?></label>
</td>
<td><?php
echo
$this->data['order_statuses']->display("data[payment][payment_params][verified_status]",
@$this->element->payment_params->verified_status);
?></td>
</tr>
<input type="hidden"
name="data[payment][payment_params][common_payment_plugin]"
value="<?php echo
$this->element->payment_params->common_payment_plugin; ?>"
/>
PK�%�[�#o,,
index.htmlnu�[���<html><body
bgcolor="#FFFFFF"></body></html>PK�%�[d�����
common.phpnu�[���PK�%�[W��|
�common.xmlnu�[���PK�%�[���(GG(common_configuration.phpnu�[���PK�%�[�#o,,
�&index.htmlnu�[���PK6'