| Server IP : 188.114.97.2 / Your IP : 104.23.243.201 Web Server : Apache/2.4.59 (Debian) System : Linux EDL-STRETCH 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64 User : edlftp ( 1002) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/edlftp-preprod/wp-content/plugins/ |
Upload File : |
<?php
/*
Plugin Name: CodeIgniter Hybrid
Plugin URI: https://codes.solutions/
Description: CI shop integration
Author: Aernout Guillaume [codes.solutions]
Version: 1.0
Author URI: https://codes.solutions/
*/
session_start();
//session_destroy();
ob_start();
function add_cors_http_header(){
header("Access-Control-Allow-Origin: https://sms.ecoledelangues.be");
header('Access-Control-Allow-Headers: x-requested-with');
}
function rewrite_param() {
add_rewrite_rule('^shop/filter/([^/]+)/?$', 'index.php?pagename=shop&filter=$matches[1]', 'top');
}
function display_ci_content(){
$match = array();
if($_SERVER["REQUEST_URI"] == "/shop/"){
echo ajax_Call('hybrid','filters','all');
}
else if(preg_match('/\/shop\/\?[0-9,]+$/', $_SERVER["REQUEST_URI"], $match)){
$param = substr($match[0],(strpos($match[0],"?")+1));
echo ajax_Call('hybrid','filters',$param);
}
else if($_SERVER["REQUEST_URI"] == "/shop/?filter"){
ob_end_clean();
//echo "filter";
//var_dump($_POST);
var_dump($_GET);
$param = implode(',',$_POST['param']);
$data = ajax_Call('loadData','filters',$param);
echo $data;
ob_start();
add_action("wp_footer", "clean_footer");
//ob_start();
}
else if($_SERVER["REQUEST_URI"] == "/shop/?add"){
ob_end_clean();
//echo "cs add debug shop";
//var_dump($_POST);
$product_id = $_POST['param']['product'];
$product_qty = $_POST['param']['quantity'];
$product = ajax_Call('getProduct','product',$product_id);
$sessionCart = $_SESSION['cart'];
if($sessionCart != NULL && array_key_exists($product_id,$sessionCart)){
$prevQty = $sessionCart[$product_id]['qty'];
$sessionCart[$product_id]['data'] = json_decode($product,true);
$sessionCart[$product_id]['qty'] = $prevQty + $product_qty;
}
else {
$product_item = array(
'data' => json_decode($product,true),
'qty' => $product_qty,
'option' => null,
);
$sessionCart[$product_id]= $product_item;
}
echo json_encode($sessionCart);
$_SESSION['cart'] = $sessionCart;
ob_start();
add_action("wp_footer", "clean_footer");
}
else if($_SERVER["REQUEST_URI"] == "/shop/?cart"){
ob_end_clean();
$sessionCart = $_SESSION['cart'];
$qty = 0;
$total = 0;
//var_dump($_SESSION);
foreach ($sessionCart as $key => $product) {
// var_dump($product['data'][0]['Course_Price']);
$qty = $qty + $product['qty'];
$price = $product['data'][0]['Course_Price'];
$total = $total + ($price * $qty);
}
$data = array(
"cart_qty" => $qty,
"cart_total" => $total,
"cart" => $sessionCart
);
echo json_encode($data);
ob_start();
add_action("wp_footer", "clean_footer");
}
else if(preg_match('/\/shop\/\?filter=+([0-9,])/',$_SERVER["REQUEST_URI"],$matches)){
ob_end_clean();
$filter = $matches[1];
if(strpos($filter,",")>-1){
$param = implode(',',$filter);
}else{
$param = $filter;
}
$data = ajax_Call('loadData','filters',$param);
echo $data;
ob_start();
add_action("wp_footer", "clean_footer");
}
else{
echo "debug";
//
}
}
function display_ci_header(){
if($_SERVER["REQUEST_URI"] == "/shop/" or preg_match('/\/shop\/\?[0-9,]+$/', $_SERVER["REQUEST_URI"], $match)){
echo'<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>';
echo'<script src="https://sms.ecoledelangues.be/assets/js/shop/home_wp.js"></script>';
echo'<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">';
echo'<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>';
echo'<link rel="stylesheet" href="https://sms.ecoledelangues.be/assets/css/shop/home-wp.css">';
echo'<link rel="stylesheet" href="http://preprod.ecoledelangues.be/wp-content/plugins/ci-hybrid/entypo.css">';
}
}
function display_ci_cart(){
$cart = <<<EOD
<div id="ci-banner" class="fixed-banner col-sm-12" style="position:absolute;top:102px;"><span class="float-left">EcoleDeLanguesShop</span>
<span class="text-right left-content-banner float-left">
<ul class="top-list">
<li onclick="window.location.replace('http://sms.ecoledelangues.be/login');">Login <i class="entypo-user"></i></li>
<li onclick="checkoutBtn();">Cart<i class="entypo-basket"></i><span id="cart-qty"></span><form id="cart_form" method="post" action="https://sms.ecoledelangues.be/shop/setCart"><input type="hidden" name="cart" id="cart" value="{}"></form></li>
</ul>
</span>
</div>
EOD;
if($_SERVER["REQUEST_URI"] == "/shop/" or preg_match('/\/shop\/\?[0-9,]+$/', $_SERVER["REQUEST_URI"], $match)){
echo $cart;
}
}
function clean_footer(){
ob_end_clean();
}
function ajax_Call($function,$param_name,$param){
$url = "https://sms.ecoledelangues.be/shop/".$function."/";
if($param != ''){
$postdata = http_build_query(
array($param_name=>$param)
);
}
else{
$postdata = '';
}
$opts = array(
'http' =>
array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => $postdata
),
'ssl' =>
array(
'verify_peer'=>false,
'verify_peer_name'=>false,
),
);
//var_dump($url);
//var_dump($opts);
return file_get_contents($url, false, stream_context_create($opts));
//var_dump($data);
}
add_action('init','add_cors_http_header');
add_action("ci_header","display_ci_header");
//add_action('init', 'rewrite_param', 10, 0);
add_action("after_fusion_header","display_ci_cart");
add_action("after_main", "display_ci_content");
//ob_end_clean();