| Server IP : 54.36.91.62 / Your IP : 216.73.217.117 Web Server : Apache System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : coopiak ( 151928) PHP Version : 8.3.23 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/coopiak/amisdesseniors-fr/brest/plugins/hikashoppayment/creditcard/ |
Upload File : |
<?php
/**
* @package HikaShop for Joomla!
* @version 6.1.0
* @author hikashop.com
* @copyright (C) 2010-2025 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 plgHikashoppaymentCreditcard extends hikashopPaymentPlugin
{
var $multiple = true;
var $name = 'creditcard';
var $pluginConfig = array(
'order_status' => array('ORDER_STATUS', 'orderstatus'),
'status_notif_email' => array('ORDER_STATUS_NOTIFICATION', 'boolean','0'),
'ask_ccv' => array('CARD_VALIDATION_CODE', 'boolean','1'),
'ask_owner' => array('CREDIT_CARD_OWNER', 'boolean','0'),
'ask_cctype' => array('CARD_TYPE', 'big-textarea'),
'information' => array('CREDITCARD_INFORMATION', 'wysiwyg'),
'return_url' => array('RETURN_URL', 'input'),
);
function needCC(&$method) {
if(@$_GET['option']=='com_hikashop'&&@$_GET['ctrl']=='order'&&@$_GET['task']=='pay') return false;
$method->ask_cc=true;
$method->ask_ccv = @$method->payment_params->ask_ccv;
$method->ask_owner = @$method->payment_params->ask_owner;
$method->ask_cctype = @$method->payment_params->ask_cctype;
if(!empty($method->ask_cctype)){
$types = explode(',',$method->ask_cctype);
$method->ask_cctype = array();
foreach($types as $type){
$method->ask_cctype[$type]=$type;
}
}
return true;
}
function onBeforeOrderCreate(&$order,&$do){
if(parent::onBeforeOrderCreate($order, $do) === true)
return true;
$this->ccLoad();
if($order->order_payment_method=='creditcard'){
$order->credit_card_info = $this;
$obj = new stdClass();
$obj->cc_number=substr($this->cc_number,0,8);
$obj->cc_month=$this->cc_month;
$obj->cc_year=$this->cc_year;
$obj->cc_type=@$this->cc_type;
$history = new stdClass();
$history->type = 'credit card';
$history->notified = 0;
$history->data = base64_encode(serialize($obj));
$this->modifyOrder($order,$this->payment_params->order_status,$history,false);
}
}
function onHistoryDisplay(&$histories){
foreach($histories as $k => $history){
if($history->history_payment_method == $this->name && !empty($history->history_data)){
$data = hikashop_unserialize(base64_decode($history->history_data));
$string='';
if(!empty($data->cc_type)){
$string.= JText::_('CARD_TYPE').': '.$data->cc_type.'<br />';
}
$string.= JText::_('DATE').': '.$data->cc_month.'/'.$data->cc_year.'<br />';
$string.= JText::_('BEGINNING_OF_CREDIT_CARD_NUMBER').': '.$data->cc_number.'<br />';
$string.='<a href="'.hikashop_completeLink('order&task=remove_history_data&history_id='.$history->history_id).'"><img src="'.HIKASHOP_IMAGES.'delete.png" /></a>';
$histories[$k]->history_data = $string;
static $done = false;
if(!$done){
$done = true;
$app = JFactory::getApplication();
$app->enqueueMessage(JText::_('CREDITCARD_WARNING'));
}
}
}
}
function onAfterOrderConfirm(&$order,&$methods,$method_id){
$method =& $methods[$method_id];
if($order->order_status != $method->payment_params->order_status)
$this->modifyOrder($order->order_id, $method->payment_params->order_status, @$method->payment_params->status_notif_email, false);
$this->removeCart = true;
$this->order = $order;
$this->information = $method->payment_params->information;
if(preg_match('#^[a-z0-9_]*$#i',$this->information)){
$this->information = JText::_($this->information);
}
return $this->showPage('end');
}
function getPaymentDefaultValues(&$element) {
$element->payment_name='Credit card';
$element->payment_description='You can pay by credit card.';
$element->payment_images='MasterCard,VISA,Credit_card,American_Express';
$element->payment_params->information='We will now process the credit card transaction and contact you when completed.';
$element->payment_params->order_status='created';
$element->payment_params->ask_ccv = true;
$element->payment_params->ask_owner = false;
$element->payment_params->ask_cctype = '';
}
}