PK

ADDRLIN : /home/questend/public_html/domains/evami.in/app/library/
FLL :
Current File : /home/questend/public_html/domains/evami.in/app/library/CartShoping-org.php

<?php
namespace app\library;

class CartShopingORG
{
    protected $cartName;

    // Maximum cart can added to cart, 0 = Unlimited
    protected $cartLimit = 0;
    
    // Maximum item can added to cart, 0 = Unlimited
    protected $cartMaxItem = 0;

    // Maximum quantity of a item can be added to cart, 0 = Unlimited
    protected $itemMaxQuantity = 0;

    // Do not use cookie, cart items will gone after browser closed
    protected $useCookie = false;

    private $items = [];

    /*private $required = ['pid', 'name', 'salePrice','quantity'];
    if (count(array_intersect_key(array_flip($required), $data)) === count($required)) {
    // All required keys exist!
    }*/
    
    public function __construct($options = []){
        if (!session_id()) {
            session_start();
        }

        if (isset($options['cartLimit']) && preg_match('/^\d+$/', $options['cartLimit'])) {
            $this->cartLimit = $options['cartLimit'];
        }

        if (isset($options['cartMaxItem']) && preg_match('/^\d+$/', $options['cartMaxItem'])) {
            $this->cartMaxItem = $options['cartMaxItem'];
        }

        if (isset($options['itemMaxQuantity']) && preg_match('/^\d+$/', $options['itemMaxQuantity'])) {
            $this->itemMaxQuantity = $options['itemMaxQuantity'];
        }

        if (isset($options['useCookie']) && $options['useCookie']) {
            $this->useCookie = true;
        }

        $this->cartName = md5((isset($_SERVER['HTTP_HOST'])) ? $_SERVER['HTTP_HOST'] : 'SimpleCart') . '_baklol';
        $this->loadCart();        
    }

    private function saveCart(){
        if ($this->useCookie) {
            setcookie($this->cartName,  json_encode($this->items), time() + 604800);
        } else {
            $_SESSION[$this->cartName] =  json_encode($this->items);
        }
    }        
    
    private function loadCart(){
        $this->items = ($this->useCookie) ? json_decode((isset($_COOKIE[$this->cartName])) ? $_COOKIE[$this->cartName] : '[]', true) : json_decode((isset($_SESSION[$this->cartName])) ? $_SESSION[$this->cartName] : '[]', true);
    } 
    
    //private function ItemArray($prid,$cid,$scid,$schid,$pid,$name,$salePrice,$quantity,$taxPrice,$regulerPrice,$weight,$variant,$finish,$brand,$model,$notes,$description,$washcare,$image){
    private function ItemArray($data=[]){
         
        $array=[
            "cartId"=>(isset($data["cartId"]))?$data["cartId"]:md5(date('mdYhis',time())),
            //"cartTime"=>(date('mdYhis', time())),
            "pid"=>(isset($data["pid"]))?$data["pid"]:"",
            "name"=>(isset($data["name"]))?$data["name"]:"",
            "salePrice"=>(isset($data["salePrice"]))?$data["salePrice"]:0,            
            "quantity"=>(isset($data["quantity"]))?$data["quantity"]:0,
            "component"=>[
                "prid"=>(isset($data["prid"]))?$data["prid"]:"",
                "cid"=>(isset($data["cid"]))?$data["cid"]:"",
                "scid"=>(isset($data["scid"]))?$data["scid"]:"",
                "schid"=>(isset($data["schid"]))?$data["schid"]:"",
                "sizeid"=>(isset($data["sizeid"]))?$data["sizeid"]:"",
                "colorid"=>(isset($data["colorid"]))?$data["colorid"]:"",
            ],
            "option"=>[
                "taxPrice"=>(isset($data["taxPrice"]))?$data["taxPrice"]:0,
                "regulerPrice"=>(isset($data["regulerPrice"]))?$data["regulerPrice"]:0,
                //"weight"=>(isset($data["weight"]))?$data["weight"]:"",
                "variant"=>(isset($data["variant"]))?$data["variant"]:"",
                // "finish"=>(isset($data["finish"]))?$data["finish"]:"",
                // "brand"=>(isset($data["brand"]))?$data["brand"]:"",
                // "model"=>(isset($data["model"]))?$data["model"]:"",
                "notes"=>(isset($data["notes"]))?$data["notes"]:"",
                // "description"=>(isset($data["description"]))?$data["description"]:"",
                // "washcare"=>(isset($data["washcare"]))?$data["washcare"]:""
            ],
            "slider"=>[
                "image"=>(isset($data["image"]))?$data["image"]:"",
                //"image2"=>(isset($data["image2"]))?$data["image2"]:""
            ],
            "total"=>($data["salePrice"]*$data["quantity"])
        ];
        
        return $array;
    }
    
    //public function addItemToCart($prid,$cid,$scid,$schid,$pid,$name,$salePrice,$quantity,$taxPrice,$regulerPrice,$weight,$variant,$finish,$brand,$model,$notes,$description,$washcare,$image) {           
    public function addItemToCart($data=[]){           
        $quantity = (preg_match('/^\d+$/', $data["quantity"])) ? $data["quantity"] : 1;
        $pid = $data["pid"];
        $sizeid = $data["sizeid"];

        if(is_numeric($pid) && is_numeric($quantity)){
            $cartList = $this->items;
            foreach ($cartList as $key => $value) {
                if ($cartList[$key]['pid'] == $pid && $cartList[$key]['component']['sizeid'] == $sizeid)
                {
                    // p($cartList[$key]['component']);
                    // echo"\nCART: ".$cartList[$key]['component']['sizeid'];
                    // echo"\ADD: ".$sizeid;
                    // exit;
                    $this->items[$key]["quantity"]=$quantity; // add one count
                    $this->saveCart();
                    return true;
                }
            }
            //$item = $this->ItemArray($prid,$cid,$scid,$schid,$pid,$name,$salePrice,$quantity,$taxPrice,$regulerPrice,$weight,$variant,$finish,$brand,$model,$notes,$description,$washcare,$image);
            if(!empty($this->cartLimit) && $this->cartLimit<=count($cartList)){
                return false;
            }else{
                $item = $this->ItemArray($data);            
                array_push($this->items, $item);           
                $this->saveCart();
                return true; 
            }
            
        }
        return false;
    }

    public function plusItemToCart($pid,$sizeid,$quantity=1){
        $quantity = (preg_match('/^\d+$/', $quantity)) ? $quantity : 1;
        if(is_numeric($pid) && is_numeric($quantity)){         
            $cartList = $this->items;
            foreach ($cartList as $key => $value) {
                if ($cartList[$key]['pid'] == $pid && $cartList[$key]['component']['sizeid'] == $sizeid) {
                    $this->items[$key]["quantity"] +=$quantity; // add multiple count
                    //($this->items[$key]["quantity"] > $this->itemMaxQuantity) ? $this->itemMaxQuantity : $this->items[$key]["quantity"];
                    break;
                }
            }
            $this->saveCart();
            return true;
        }
        return false;
    }

    public function setCountForItem($pid,$sizeid,$quantity=1){
        $quantity = (preg_match('/^\d+$/', $quantity)) ? $quantity : 1;
        if(is_numeric($pid) && is_numeric($quantity)){
            $cartList = $this->items;
            foreach ($cartList as $key => $value){
                if ($cartList[$key]['pid'] == $pid && $cartList[$key]['component']['sizeid'] == $sizeid){
                    $this->items[$key]["quantity"] =$quantity; // add one count
                    break;
                }
            }
            $this->saveCart();
            return true;
        }
        return false;
    }

    public function getSelectedCount($pid,$sizeid){
        $cartList = $this->items;
        foreach ($cartList as $key => $value){
            if ($cartList[$key]['pid'] == $pid && $cartList[$key]['component']['sizeid'] == $sizeid){
                return ($cartList[$key]["quantity"])?$cartList[$key]["quantity"]:0;
                break;
            }
            return 0;
        }
    }

    public function removeItemFromCart($pid,$sizeid){
        $cartList = $this->items;
        foreach ($cartList as $key => $value){
            if ($cartList[$key]['pid'] == $pid && $cartList[$key]['component']['sizeid'] == $sizeid){
                $this->items[$key]["quantity"]--;
                if($cartList[$key]["quantity"]<1){
                    unset($this->items[$key]);
                    //array_splice($this->items, array_search($pid, $this->items), 1);
                }
                break;
            }
        }
        $this->saveCart();
        return true;
    }
       
    public function removeItemFromCartAll($pid,$sizeid){
        $cartList = $this->items;
        foreach ($cartList as $key => $value){
            if ($cartList[$key]['pid'] == $pid && $cartList[$key]['component']['sizeid'] == $sizeid){
                unset($this->items[$key]);
                //array_splice($cartList, array_search($pid, $cartList), 1);               
                break;
            }
        }
        $this->saveCart();
        return true;
    }

    public function clearCart(){
        $this->items = [];
        if ($this->useCookie) {
            setcookie($this->cartName, '', -1);
        } else {
            unset($_SESSION[$this->cartName]);
        }
        $this->saveCart();
        return true;
    }

    public function cartlItem(){        
        
        $cartList = $this->items; 
        /*$flags= $output= []; $l = count($cartList); $i=0;
        for ($i=0; $i < $l ; $i++) { 
                if(@$flags[$cartList[$i]["pid"]]) continue;
                $flags[$cartList[$i]["pid"]] =true;
                array_push($output,$cartList[$i]["pid"]);
            
        }*/
        $cartListCount = count($cartList);
        return ($cartListCount!=0)?$cartListCount:0;
    }
    /*public function getCartCount(){        
        
        $cartList = $this->items; 
        $flags= $output= []; $l = count($cartList); $i=0;
        for ($i=0; $i < $l ; $i++) { 
            if(@$flags[$cartList[$i]["pid"]]) continue;
            $flags[$cartList[$i]["pid"]] =true;
            array_push($output,$cartList[$i]["pid"]);
        }
        $cartListCount = count($output);
        return ($cartListCount!=0)?$cartListCount:0;
    }*/
   
    public function countCart(){
        $cartList = $this->items; 
        $totalCount =0;
        foreach ($cartList as $key => $value){
            $totalCount +=$cartList[$key]["quantity"];
        }
        return $totalCount;
    }
   
    public function totalCart(){

        $cartList = $this->items; 
        $totalCost =0;
        foreach ($cartList as $key => $value){
            $totalCost +=($cartList[$key]["salePrice"]*$cartList[$key]["quantity"]);
        }
        return $totalCost;
    }

    public function listCart($type=false){
        $cartCopy = [];
        $cartList = $this->items; 
        foreach ($cartList as $key => $value){
            $item = $cartList[$key];
            $itemCopy =[];
            foreach($item as $iKey =>$iValue) {
                $itemCopy[$iKey] = $item[$iKey];
            }
            $itemCopy["total"]=number_format(($cartList[$key]["salePrice"]*$cartList[$key]["quantity"]),2,",","."); 
            array_push($cartCopy,$itemCopy);
        }
        return($type)?json_encode($cartCopy):$cartCopy;
    }
    
    public function getItems(){
        return $this->items;
    }
    
    public function p($q)
    {
        echo"<pre>";
        print_r($q);
        echo"</pre>";
    }

}



PK 99
E-SHOP || DASHBOARD
404

Page Not Found

It looks like you found a glitch in the matrix...

← Back to Home