Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/joomla4/ |
| [Home] [System Details] [Kill Me] |
cartnotify.php000064400000015601151157023700007443 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 plgHikashopCartnotify extends JPlugin
{
public function __construct(&$subject, $config) {
parent::__construct($subject, $config);
if(isset($this->params))
return;
$plugin = JPluginHelper::getPlugin('hikashop',
'cartnotify');
$this->params = new JRegistry(@$plugin->params);
}
public function onBeforeCompileHead() {
$app = JFactory::getApplication();
if(version_compare(JVERSION,'4.0','<')) {
if($app->isAdmin())
return;
} else {
if($app->isClient('administrator'))
return;
}
$reference = $this->params->get('notification_reference',
'global');
if($reference == 'popup')
return $this->initVex();
$this->initCartNotificationScript();
}
protected function initCartNotificationScript() {
$app = JFactory::getApplication();
$doc = JFactory::getDocument();
$base = (hikashop_isClient('administrator')) ? '..' :
JURI::base(true);
hikashop_loadJslib('notify');
$doc->addScript($base.'/plugins/hikashop/cartnotify/media/notify.js');
$reference = $this->params->get('notification_reference',
'global');
$default_position =
$this->params->get('notification_position', 'top
right');
if(!in_array($default_position, array('top right', 'top
left', 'top center', 'right', 'bottom
right', 'bottom left', 'bottom center',
'left')))
$default_position = 'top right';
$params = array(
'arrowShow' => false,
'globalPosition' => $default_position,
'elementPosition' => $default_position,
'clickToHide' => true
);
$delay = (int)$this->params->get('delay', 5000);
if($delay > 0) {
$params['autoHideDelay'] = (int)$delay;
$params['autoHide'] = true;
} else {
$params['autoHide'] = false;
}
$url = '';
if($this->params->get('auto_redirect',
'no_redirect') == 'on_success') {
$menusClass = hikashop_get('class.menus');
$url = $menusClass->getCheckoutURL();
}
$cartNotifyParams = array(
'reference' => $reference,
'img_url' =>
HIKASHOP_IMAGES.'icons/icon-32-newproduct.png',
'redirect_url' => $url,
'redirect_delay' =>
$this->params->get('auto_redirect_delay', 4000),
'title' => JText::_('PRODUCT_ADDED_TO_CART'),
'text' =>
JText::_('PRODUCT_SUCCESSFULLY_ADDED_TO_CART'),
'wishlist_title' =>
JText::_('PRODUCT_ADDED_TO_WISHLIST'),
'wishlist_text' =>
JText::_('PRODUCT_SUCCESSFULLY_ADDED_TO_WISHLIST'),
'list_title' =>
JText::_('PRODUCTS_ADDED_TO_CART'),
'list_text' =>
JText::_('PRODUCTS_SUCCESSFULLY_ADDED_TO_CART'),
'list_wishlist_title' =>
JText::_('PRODUCTS_ADDED_TO_WISHLIST'),
'list_wishlist_text' =>
JText::_('PRODUCTS_SUCCESSFULLY_ADDED_TO_WISHLIST'),
'err_title' =>
JText::_('PRODUCT_NOT_ADDED_TO_CART'),
'err_text' =>
JText::_('PRODUCT_UNSUCCESSFULLY_ADDED_TO_CART'),
'err_wishlist_title' =>
JText::_('PRODUCT_NOT_ADDED_TO_WISHLIST'),
'err_wishlist_text' =>
JText::_('PRODUCT_UNSUCCESSFULLY_ADDED_TO_WISHLIST')
);
if($this->params->get('guest_wishlist_redirect',
'0') == '1') {
$user = JFactory::getUser();
if($user->guest) {
global $Itemid;
$url = '';
if(!empty($Itemid))
$url = '&Itemid='.$Itemid;
$url = 'index.php?option=com_users&view=login'.$url;
$cartNotifyParams['err_wishlist_guest'] =
JRoute::_($url.'&return='.urlencode(base64_encode(hikashop_currentUrl('',
false))));
}
}
$js = '
jQuery.notify.defaults('.json_encode($params).');
window.cartNotifyParams = '.json_encode($cartNotifyParams).';
';
if($this->params->get('notification_click_to_checkout',
'0') == '1') {
$menusClass = hikashop_get('class.menus');
$url = $menusClass->getCheckoutURL();
$js.= '
jQuery(document).on("click", ".notifyjs-hidable",
function(e) {
if(e.currentTarget.querySelector(\'.notifyjs-metro-info\'))
window.location=\''.$url.'\';
});
';
}
$doc->addScriptDeclaration($js);
}
protected function initVex() {
hikashop_loadJslib('vex');
$app = JFactory::getApplication();
$doc = JFactory::getDocument();
$base = (hikashop_isClient('administrator')) ? '..' :
JURI::base(true);
$doc->addScript($base.'/plugins/hikashop/cartnotify/media/notify-vex.js');
$doc->addStyleSheet($base.'/media/com_hikashop/css/notify-metro.css');
$menusClass = hikashop_get('class.menus');
$url_checkout = $menusClass->getCheckoutURL(true);
$link_to_checkout =
(int)$this->params->get('checkout_button', 1);
$link_continue = $this->params->get('continue_url',
'');
$link_continue = hikashop_translate($link_continue);
$continue_js = '';
if(!empty($link_continue)){
$continue_js =
'window.location="'.$link_continue.'";';
}
$extra_data = array();
if($link_to_checkout) {
$extra_data[] = '
window.cartNotifyParams.cart_params = {buttons:[
{text:"'.JText::_('PROCEED_TO_CHECKOUT',
true).'",type:"button",className:"vex-dialog-button-primary",click:function
proceedClick(){window.location="'.$url_checkout.'";}},
{text:"'.JText::_('CONTINUE_SHOPPING',
true).'",type:"submit",className:"vex-dialog-button-primary",click:function
continueClick(){'.$continue_js.'}}
]};';
}
$cartNotifyParams = array(
'img_url' =>
HIKASHOP_IMAGES.'icons/icon-32-newproduct.png',
'title' => JText::_('PRODUCT_ADDED_TO_CART'),
'text' =>
JText::_('PRODUCT_SUCCESSFULLY_ADDED_TO_CART'),
'wishlist_title' =>
JText::_('PRODUCT_ADDED_TO_WISHLIST'),
'wishlist_text' =>
JText::_('PRODUCT_SUCCESSFULLY_ADDED_TO_WISHLIST'),
'list_title' =>
JText::_('PRODUCTS_ADDED_TO_CART'),
'list_text' =>
JText::_('PRODUCTS_SUCCESSFULLY_ADDED_TO_CART'),
'list_wishlist_title' =>
JText::_('PRODUCTS_ADDED_TO_WISHLIST'),
'list_wishlist_text' =>
JText::_('PRODUCTS_SUCCESSFULLY_ADDED_TO_WISHLIST'),
'err_title' =>
JText::_('PRODUCT_NOT_ADDED_TO_CART'),
'err_text' =>
JText::_('PRODUCT_UNSUCCESSFULLY_ADDED_TO_CART'),
'err_wishlist_title' =>
JText::_('PRODUCT_NOT_ADDED_TO_WISHLIST'),
'err_wishlist_text' =>
JText::_('PRODUCT_UNSUCCESSFULLY_ADDED_TO_WISHLIST')
);
if($this->params->get('guest_wishlist_redirect',
'0') == '1') {
$user = JFactory::getUser();
if($user->guest) {
global $Itemid;
$url = '';
if(!empty($Itemid))
$url = '&Itemid='.$Itemid;
$url = 'index.php?option=com_users&view=login'.$url;
$cartNotifyParams['err_wishlist_guest'] =
JRoute::_($url.'&return='.urlencode(base64_encode(hikashop_currentUrl('',
false))));
}
}
$js = '
if(window.Oby) {
vex.defaultOptions.className = "vex-theme-default";
vex.dialog.buttons.YES.text = "'.JText::_('HIKA_OK',
true).'";
window.cartNotifyParams =
'.json_encode($cartNotifyParams).';'.implode('',$extra_data).'
}
';
$doc->addScriptDeclaration($js);
}
}
cartnotify.xml000064400000014110151157023700007446 0ustar00<?xml
version="1.0" encoding="utf-8"?>
<extension type="plugin" version="2.5"
method="upgrade" group="hikashop">
<name>Hikashop Add to Cart notification Plugin</name>
<creationDate>12 février 2021</creationDate>
<version>4.4.1</version>
<author>Obsidev</author>
<authorEmail>dev@hikashop.com</authorEmail>
<authorUrl>http://www.hikashop.com</authorUrl>
<copyright>(C) 2011-2021 OBSIDEV. All rights
reserved.</copyright>
<license>http://www.gnu.org/licenses/gpl-2.0.html
GNU/GPL</license>
<description>This plugin display notifications when a product is
added to the cart</description>
<files>
<filename
plugin="cartnotify">cartnotify.php</filename>
<folder>media</folder>
</files>
<params addpath="/components/com_hikashop/params">
<param name="notification_reference" type="list"
default="global"
label="HIKA_CARTNOTIFICATION_REFERENCE_LBL"
description="HIKA_CARTNOTIFICATION_REFERENCE_DESC">
<option
value="global">HIKA_CARTNOTIF_REF_GLOBAL</option>
<option
value="button">HIKA_CARTNOTIF_REF_BUTTON</option>
<option
value="popup">HIKA_CARTNOTIF_REF_POPUP</option>
</param>
<param name="continue_url" type="text"
size="50" default=""
label="HIKA_CARTNOTIFICATION_CONTINUE_URL_LBL"
description="HIKA_CARTNOTIFICATION_CONTINUE_URL_DESC" />
<param name="notification_position" type="list"
default="top right"
label="HIKA_CARTNOTIFICATION_POSITION_LBL"
description="HIKA_CARTNOTIFICATION_POSITION_DESC">
<option value="top
right">HIKA_CARTNOTIF_POS_TOPRIGHT</option>
<option value="top
center">HIKA_CARTNOTIF_POS_TOPCENTER</option>
<option value="top
left">HIKA_CARTNOTIF_POS_TOPLEFT</option>
<option
value="right">HIKA_CARTNOTIF_POS_RIGHT</option>
<option value="bottom
right">HIKA_CARTNOTIF_POS_BOTTOMRIGHT</option>
<option value="bottom
center">HIKA_CARTNOTIF_POS_BOTTOMCENTER</option>
<option value="bottom
left">HIKA_CARTNOTIF_POS_BOTTOMLEFT</option>
<option
value="left">HIKA_CARTNOTIF_POS_LEFT</option>
</param>
<param name="notification_click_to_checkout"
type="list" default="1"
label="HIKA_CARTNOTIFICATION_NOTIFICATION_CLICK_TO_CHECKOUT"
description="HIKA_CARTNOTIFICATION_NOTIFICATION_CLICK_TO_CHECKOUT_DESC">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</param>
<param name="delay" type="text"
size="50" default="5000"
label="HIKA_CARTNOTIFICATION_DELAY_LBL"
description="HIKA_CARTNOTIFICATION_DELAY_DESC"/>
<param name="auto_redirect" type="list"
default="on_success"
label="HIKA_CARTNOTIFICATION_REDIRECT"
description="HIKA_CARTNOTIFICATION_REDIRECT_DESC">
<option
value="on_success">HIKA_CARTNOTIFICATION_ON_SUCCESS</option>
<option
value="no_redirect">HIKA_CARTNOTIFICATION_NO_REDIRECT</option>
</param>
<param name="auto_redirect_delay" type="text"
size="50" default="5000"
label="HIKA_CARTNOTIFICATION_REDIRECT_DELAY_LBL"
description="HIKA_CARTNOTIFICATION_REDIRECT_DELAY_DESC" />
<param name="guest_wishlist_redirect" type="list"
default="0"
label="HIKA_CARTNOTIFICATION_GUEST_WISHLIST_REDIRECT"
description="HIKA_CARTNOTIFICATION_GUEST_WISHLIST_REDIRECT_DESC">
<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="notification_reference" type="list"
default="global"
label="HIKA_CARTNOTIFICATION_REFERENCE_LBL"
description="HIKA_CARTNOTIFICATION_REFERENCE_DESC">
<option
value="global">HIKA_CARTNOTIF_REF_GLOBAL</option>
<option
value="button">HIKA_CARTNOTIF_REF_BUTTON</option>
<option
value="popup">HIKA_CARTNOTIF_REF_POPUP</option>
</field>
<field name="continue_url" type="url"
size="50" default=""
showon="notification_reference:popup"
label="HIKA_CARTNOTIFICATION_CONTINUE_URL_LBL"
description="HIKA_CARTNOTIFICATION_CONTINUE_URL_DESC" />
<field name="notification_position" type="list"
default="top right"
showon="notification_reference!:popup"
label="HIKA_CARTNOTIFICATION_POSITION"
description="HIKA_CARTNOTIFICATION_POSITION_DESC">
<option value="top
right">HIKA_CARTNOTIF_POS_TOPRIGHT</option>
<option value="top
center">HIKA_CARTNOTIF_POS_TOPCENTER</option>
<option value="top
left">HIKA_CARTNOTIF_POS_TOPLEFT</option>
<option
value="right">HIKA_CARTNOTIF_POS_RIGHT</option>
<option value="bottom
right">HIKA_CARTNOTIF_POS_BOTTOMRIGHT</option>
<option value="bottom
center">HIKA_CARTNOTIF_POS_BOTTOMCENTER</option>
<option value="bottom
left">HIKA_CARTNOTIF_POS_BOTTOMLEFT</option>
<option
value="left">HIKA_CARTNOTIF_POS_LEFT</option>
</field>
<field name="notification_click_to_checkout"
type="list" default="1"
showon="notification_reference!:popup"
label="HIKA_CARTNOTIFICATION_NOTIFICATION_CLICK_TO_CHECKOUT"
description="HIKA_CARTNOTIFICATION_NOTIFICATION_CLICK_TO_CHECKOUT_DESC">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</field>
<field name="delay" type="text"
size="50" default="5000"
showon="notification_reference!:popup"
label="HIKA_CARTNOTIFICATION_DELAY_LBL"
description="HIKA_CARTNOTIFICATION_DELAY_DESC" />
<field name="auto_redirect" type="list"
default="on_success"
showon="notification_reference!:popup"
label="HIKA_CARTNOTIFICATION_REDIRECT"
description="HIKA_CARTNOTIFICATION_REDIRECT_DESC">
<option
value="on_success">HIKA_CARTNOTIFICATION_ON_SUCCESS</option>
<option
value="no_redirect">HIKA_CARTNOTIFICATION_NO_REDIRECT</option>
</field>
<field name="auto_redirect_delay" type="text"
size="50" default="4000"
showon="auto_redirect:on_success[AND]notification_reference!:popup"
label="HIKA_CARTNOTIFICATION_REDIRECT_DELAY_LBL"
description="HIKA_CARTNOTIFICATION_REDIRECT_DELAY_DESC" />
<field name="guest_wishlist_redirect"
type="list" default="0"
label="HIKA_CARTNOTIFICATION_GUEST_WISHLIST_REDIRECT"
description="HIKA_CARTNOTIFICATION_GUEST_WISHLIST_REDIRECT_DESC">
<option value="0">HIKASHOP_NO</option>
<option value="1">HIKASHOP_YES</option>
</field>
</fieldset>
</fields>
</config>
</extension>
index.html000064400000000054151157023700006541 0ustar00<html><body
bgcolor="#FFFFFF"></body></html>media/index.html000064400000000054151157023700007620
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>media/notify-metro.css000064400000001674151157023700011002
0ustar00.notifyjs-metro-base,
.notifyjs-metro-lite-base{
position: relative;
min-height: 52px;
color:#444;
}
.notifyjs-metro-base .image {
display: table;
position: absolute;
height: auto;
width: auto;
left: 25px;
top: 50%;
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.notifyjs-metro-base .text-wrapper,
.notifyjs-metro-lite-base .text-wrapper {
display: inline-block;
vertical-align: top;
text-align: left;
clear: both;
font-family: 'Segoe UI';
}
.notifyjs-metro-base .text-wrapper {
margin: 10px 10px 10px 52px;
}
.notifyjs-metro-base .title,
.notifyjs-metro-lite-base .title {
font-size: 15px;
font-weight: bold;
}
.notifyjs-metro-base .text,
.notifyjs-metro-lite-base .text {
font-size: 12px;
font-weight: normal;
vertical-align: middle;
}
.notifyjs-container {
min-width:250px;
}media/notify-vex.js000064400000003716151157023700010301
0ustar00if(window.Oby) {
window.Oby.registerAjax(["cart.updated","wishlist.updated"],function(params){
var cart = (params.type == "cart"),
p = window.cartNotifyParams,
img_url = p.img_url,
title = cart ? p.title : p.wishlist_title,
text = cart ? p.text : p.wishlist_text,
class_name = "info";
if(params.notify === false)
return;
if(params.resp.ret == 0) {
class_name = "warning";
title = cart ? p.err_title : p.err_wishlist_title;
text = cart ? p.err_text : p.err_wishlist_text;
if(!cart && params.resp.err_wishlist_guest &&
p.err_wishlist_guest) {
p.redirect_url = p.err_wishlist_guest;
}
}else if(params.product_id == 'list' &&
!params.resp.product_name){
title = cart ? p.list_title : p.list_wishlist_title;
text = cart ? p.list_text : p.list_wishlist_text;
}
if(params.resp.image)
img_url = params.resp.image;
if(params.resp.product_name)
title = params.resp.product_name;
if(params.resp.message)
text = params.resp.message;
var content = "";
if(img_url == null) {
content = "<div
class=\"notifyjs-metro-lite-base\"><div
class=\"text-wrapper\"><div
class=\"title\">"+title+"</div><div
class=\"text\">"+text+"</div></div></div>";
} else {
content = "<div
class=\"notifyjs-metro-base\"><div
class=\"image\"><img
src=\""+img_url+"\" width=\"50\"
height=\"50\" alt=\"\"/></div><div
class=\"text-wrapper\"><div
class=\"title\">"+title+"</div><div
class=\"text\">"+text+"</div></div></div>";
}
var vex_params = {message: content},
params_key = params.type + (params.resp.ret == 0 ? '_err' :
'') + '_params';
if(p[params_key]) {
if(Object && Object.assign)
vex_params = Object.assign(vex_params, p[params_key]);
else
vex_params = jQuery.extend(true, vex_params, p[params_key]);
}
vex.dialog.alert(vex_params);
if(p.redirect_url) {
if(!p.redirect_delay)
p.redirect_delay = 4000;
setTimeout(function(){ window.location = p.redirect_url; },
p.redirect_delay);
}
return true;
});
}media/notify.js000064400000004327151157023700007500
0ustar00window.cartNotifyParams = {
img_url: null,
title:"Product added to cart",
text:"Product successfully added to the cart",
wishlist_title:"Product added to wishlist",
wishlist_text:"Product successfully added to the wishlist",
err_title:"Error",
err_text:"The product cannot be added to the cart",
err_wishlist_title:"Error",
err_wishlist_text:"The product cannot be added to the wishlist"
};
if(window.Oby) {
window.Oby.registerAjax(["cart.updated","wishlist.updated"],function(params){
var cart = (params.type == "cart"),
p = window.cartNotifyParams,
img_url = p.img_url,
title = cart ? p.title : p.wishlist_title,
text = cart ? p.text : p.wishlist_text,
class_name = "info", success = true;
if(params.notify === false)
return;
console.log(params.resp.ret);
if(params.resp.ret == 0) {
class_name = "warning";
title = cart ? p.err_title : p.err_wishlist_title;
text = cart ? p.err_text : p.err_wishlist_text;
success = false;
if(!cart && params.resp.err_wishlist_guest &&
p.err_wishlist_guest) {
p.redirect_url = p.err_wishlist_guest;
success = true;
}
}else if(params.product_id == 'list' &&
!params.resp.product_name){
title = cart ? p.list_title : p.list_wishlist_title;
text = cart ? p.list_text : p.list_wishlist_text;
}
if(params.resp.image)
img_url = params.resp.image;
if(params.resp.product_name)
title = params.resp.product_name;
if(params.resp.message)
text = params.resp.message;
if(params.resp.messages && params.resp.messages[0] &&
params.resp.messages[0].type)
class_name = params.resp.messages[0].type;
if(p && p.reference && p.reference == 'button'
&& params.el) {
jQuery(params.el).notify({title:title,text:text,image:"<img
src=\""+img_url+"\" width=\"50\"
height=\"50\"
alt=\"\"/>"},{style:"metro",className:class_name,arrowShow:true});
}else if(img_url == null) {
jQuery.notify({title:title,text:text},{style:"metro-lite",className:class_name});
} else {
jQuery.notify({title:title,text:text,image:"<img
src=\""+img_url+"\"
alt=\"\"/>"},{style:"metro",className:class_name});
}
if(success && p.redirect_url) {
if(!p.redirect_delay)
p.redirect_delay = 4000;
setTimeout(function(){ window.location = p.redirect_url; },
p.redirect_delay);
}
return true;
});
}