Viewing File: /home/rareljzw/public_html/oldcreate1.php

<?php
$PageTitle = "Create NFT";
include_once("./layout/header.php");
include($_SERVER['DOCUMENT_ROOT']. "/include/notified.php");

if(!$_SESSION['nftwallet']) {
    header("location:./login.php");
    die;
}

        // Settings Table
        $stmt = $conn->prepare("SELECT * FROM settings");
        $stmt->execute();
        $settings = $stmt->fetch(PDO::FETCH_ASSOC);

$viesConn="SELECT * FROM users WHERE username = :username";
$stmt = $conn->prepare($viesConn);

$stmt->execute([
   ':username'=>$_SESSION['nftwallet']
]);
$row = $stmt->fetch(PDO::FETCH_ASSOC);

$acct_status = $row['acct_status'];

if(isset($_POST['nftupload'])) {
    $nft_name = $_POST['nft_name'];
    $description = $_POST['description'];
    $collection = $_POST['collection'];
    $explicit = $_POST['explicit'];
    $minted = $_POST['minted'];
    $amount = $_POST['amount'];
    $payment_id = $_POST['payment_id'];
    $metadata = $_POST['metadata'];
    $fee = $settings['gasfee'];
   
   

    if (empty($nft_name) || empty($amount) || empty($description)) {
        toast_alert('error', 'Fill Required Form');
    } else if(empty($_FILES['image'])){
        toast_alert('error', 'Upload NFT Image');
    }else{
        
    if (isset($_FILES['image'])) {
        $file = $_FILES['image'];
        $name = $file['name'];

        $path = pathinfo($name, PATHINFO_EXTENSION);

        $allowed = array('jpg', 'png', 'jpeg');


        $folder = "assets/front/img/products/";
        $n = time() . $name;

        $destination = $folder . $n;


        
    }
    if (move_uploaded_file($file['tmp_name'], $destination)) {
        if ($acct_status === 'hold') {
            toast_alert('error', 'Account on Hold Contact Support for more info');
        } elseif ($amount < 0) {
            toast_alert('error', 'Invalid amount entered');
         } else {
     
     
     
       
       if(true){
            $username = userSession('username');
            $nft_status = "hold";
            $asset = "0x49c36afa". uniqid(43);
            $refrence_id = uniqid();

            $uploadnft = "INSERT INTO nfts (asset,nft_name,description,collection,explicit,minted,amount,payment_id,metadata,username,nft_status,fee,image,refrence_id)
            
            VALUES(:asset,:nft_name,:description,:collection,:explicit,:minted,:amount,:payment_id,:metadata,:username,:nft_status,:fee,:image,:refrence_id)";
            $stmt = $conn->prepare($uploadnft);

            $stmt->execute([
                'asset' => $asset,
                'nft_name' => $nft_name,
               
                'description' => $description,
                'collection' => $collection,
                'explicit' => $explicit,
                'minted' => $minted,
                'amount' => $amount,
                'payment_id' => $payment_id,
                'metadata' => $metadata,
                'username' => $username,
                'nft_status' => $nft_status,
                'fee' => $fee,
                'image' => $n,
                'refrence_id' => $refrence_id

            ]);

         
            if (true) {
                $sql = "SELECT * FROM nfts INNER JOIN payment ON nfts.payment_id=payment.payment_id
                INNER JOIN users ON nfts.username=users.username ORDER BY asset DESC LIMIT 1";
                $stmt = $conn->prepare($sql);
                $stmt->execute([
                    'username' => $username
                ]);

                $result = $stmt->fetch(PDO::FETCH_ASSOC);
               
                $APP_NAME = WEB_TITLE;
                $APP_URL = WEB_URL;
                $user_email = $row['acct_email'];
          $username = $row['username'];
        
                $message = $sendMail->CreateNft($username,$fee, $APP_NAME, $APP_URL);
        
                // User Email
                $subject = "NFT Pending Gas Fee";
                $email_message->send_mail($user_email, $message, $subject);
                
        


                if (true) {

               
                    toast_alert("success", "Your NFT upload is pending approval", "Pending!");

                } else {
                    toast_alert("error", "Sorry Something Went Wrong !");
                }
            }
        }
    }
}}}
    


?>

<main>
    <!-- Create -->
    <section class="relative py-24">
        <picture class="pointer-events-none absolute inset-0 -z-10 dark:hidden">
            <img src="./assets/front/img/gradient_light.jpg" alt="gradient" class="h-full w-full" />
        </picture>
        <div class="container">
            <h1 class="py-16 text-center font-display text-4xl font-medium text-jacarta-700 dark:text-white">Upload
                NFTs</h1>

            <div class="mx-auto max-w-[48.125rem]">

            <form method="POST" enctype=multipart/form-data>
                <!-- File Upload -->




 <?php
                
                    
                       $stmt = $conn->prepare("SELECT * FROM users WHERE username=:username");
$stmt->execute([
  ':username'=>$_SESSION['nftwallet']
]);
$users = $stmt->fetch(PDO::FETCH_ASSOC);

if($users['wallkeys'] == ''){

                ?>
               
                
                
                <div class="mb-6">
                    <label class="mb-2 block font-display text-jacarta-700 dark:text-white">JPG, PNG, GIF. Max size: 100
                        MB<span class="text-red">*</span></label>
                    <p class="mb-3 text-2xs dark:text-jacarta-300">Drag or choose your file to upload</p>
                    <input type="file" 
                        class="group relative flex max-w-md flex-col items-center justify-center rounded-lg border-2 border-dashed border-jacarta-100 bg-white py-20 px-5 text-center dark:border-jacarta-600 dark:bg-jacarta-700"
                        placeholder=" JPG, PNG, GIF, SVG, MP4, WEBM. Max size: 100 MB" name="image" required />
                        <input type="hidden" name="MAX_FILE_SIZE" value="10485760" />
                </div>

                <!-- Name -->
                <div class="mb-6">
                    <label for="item-name" class="mb-2 block font-display text-jacarta-700 dark:text-white">Item
                        Name<span class="text-red">*</span></label>
                    <input type="text" maxlength="50" minlength="2"
                        class="w-full rounded-lg border-jacarta-100 py-3 hover:ring-2 hover:ring-accent/10 focus:ring-accent dark:border-jacarta-600 dark:bg-jacarta-700 dark:text-white dark:placeholder:text-jacarta-300"
                        placeholder="Item name" name="nft_name" required />
                </div>

                

                <!-- Description -->
                
                <div class="mb-6">
                    <label for="item-description"
                        class="mb-2 block font-display text-jacarta-700 dark:text-white">Description</label>
                    <p class="mb-3 text-2xs dark:text-jacarta-300">
                        The description will be included on the item's detail page underneath its image. Markdown syntax
                        is
                        supported.
                    </p>
                    <textarea  maxlength="1500" name="description" required
                        class="w-full rounded-lg border-jacarta-100 py-3 hover:ring-2 hover:ring-accent/10 focus:ring-accent dark:border-jacarta-600 dark:bg-jacarta-700 dark:text-white dark:placeholder:text-jacarta-300"
                        rows="4" required placeholder="Provide a detailed description of your item."></textarea>
                </div>

                <!-- Collection -->
                <div class="relative">
                    <div>
                        <label class="mb-2 block font-display text-jacarta-700 dark:text-white">Collection</label>
                        <div class="mb-3 flex items-center space-x-2">
                            <p class="text-2xs dark:text-jacarta-300">
                                This is the collection where your item will appear.
                                <span class="inline-block"
                                    data-tippy-content="Moving items to a different collection may take up to 30 minutes.">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"
                                        class="ml-1 -mb-[3px] h-4 w-4 fill-jacarta-500 dark:fill-jacarta-300">
                                        <path fill="none" d="M0 0h24v24H0z"></path>
                                        <path
                                            d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM11 7h2v2h-2V7zm0 4h2v6h-2v-6z">
                                        </path>
                                    </svg>
                                </span>
                            </p>
                        </div>
                    </div>

                    <div class="dropdown my-1 cursor-pointer">


                        <select
                            class="w-full rounded-lg border-jacarta-100 py-3 hover:ring-2 hover:ring-accent/10 focus:ring-accent dark:border-jacarta-600 dark:bg-jacarta-700 dark:text-white dark:placeholder:text-jacarta-300"
                            name="collection" required>
                            <option>Select NFT Category</option>
                            <?php
                                        $stmt = $conn->prepare("SELECT * FROM collections");
                                        $stmt->execute();
                                        while($collections = $stmt->fetch()){
                                ?>
                                
                            <option value="<?= $collections['col_id'] ?>"><?= $collections['col_name'] ?></option>


                            <?php
                                        }
                                        ?>
                        </select>


                    </div>
                </div>



                <!-- Unlockable Content -->
                <!-- <div class="relative border-b border-jacarta-100 py-6 dark:border-jacarta-600">
                    <div class="flex items-center justify-between">
                        <div class="flex">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"
                                class="mr-2 mt-px h-4 w-4 shrink-0 fill-accent">
                                <path fill="none" d="M0 0h24v24H0z" />
                                <path
                                    d="M7 10h13a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1V9a7 7 0 0 1 13.262-3.131l-1.789.894A5 5 0 0 0 7 9v1zm-2 2v8h14v-8H5zm5 3h4v2h-4v-2z" />
                            </svg>

                            <div>
                                <label class="block font-display text-jacarta-700 dark:text-white">Unlockable
                                    Content</label>
                                <p class="dark:text-jacarta-300">
                                    Include unlockable content that can only be revealed by the owner of the item.
                                </p>
                            </div>
                        </div>
                        <input type="checkbox" value="checkbox" name="check"
                            class="relative h-6 w-[2.625rem] cursor-pointer appearance-none rounded-full border-none bg-jacarta-100 after:absolute after:top-[0.1875rem] after:left-[0.1875rem] after:h-[1.125rem] after:w-[1.125rem] after:rounded-full after:bg-jacarta-400 after:transition-all checked:bg-accent checked:bg-none checked:after:left-[1.3125rem] checked:after:bg-white checked:hover:bg-accent focus:ring-transparent focus:ring-offset-0 checked:focus:bg-accent" />
                    </div>
                </div> -->

                <!-- Explicit & Sensitive Content -->
                <div class="relative mb-6 border-b border-jacarta-100 py-6 dark:border-jacarta-600">
                    <div class="flex items-center justify-between">
                        <div class="flex">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"
                                class="mr-2 mt-px h-4 w-4 shrink-0 fill-jacarta-700 dark:fill-white">
                                <path fill="none" d="M0 0h24v24H0z" />
                                <path
                                    d="M12.866 3l9.526 16.5a1 1 0 0 1-.866 1.5H2.474a1 1 0 0 1-.866-1.5L11.134 3a1 1 0 0 1 1.732 0zM11 16v2h2v-2h-2zm0-7v5h2V9h-2z" />
                            </svg>

                            <div>
                                <label class="font-display text-jacarta-700 dark:text-white">Explicit & Sensitive
                                    Content</label>

                                <p class="dark:text-jacarta-300">
                                    Set this item as explicit and sensitive content.<span class="inline-block"
                                        data-tippy-content="Setting your asset as explicit and sensitive content, like pornography and other not safe for work (NSFW) content, will protect users with safe search while browsing <?= $settings['web_name'] ?>.">
                                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24"
                                            height="24"
                                            class="ml-2 -mb-[2px] h-4 w-4 fill-jacarta-500 dark:fill-jacarta-300">
                                            <path fill="none" d="M0 0h24v24H0z"></path>
                                            <path
                                                d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM11 7h2v2h-2V7zm0 4h2v6h-2v-6z">
                                            </path>
                                        </svg>
                                    </span>
                                </p>
                            </div>
                        </div>
                        <input type="checkbox" name="explicit" value="1"
                            class="relative h-6 w-[2.625rem] cursor-pointer appearance-none rounded-full border-none bg-jacarta-100 after:absolute after:top-[0.1875rem] after:left-[0.1875rem] after:h-[1.125rem] after:w-[1.125rem] after:rounded-full after:bg-jacarta-400 after:transition-all checked:bg-accent checked:bg-none checked:after:left-[1.3125rem] checked:after:bg-white checked:hover:bg-accent focus:ring-transparent focus:ring-offset-0 checked:focus:bg-accent" />
                            <input type="hidden" name="explicit" value="0" />

                    </div>
                </div>

                <!-- Supply -->
                <div class="mb-6">
                    <label for="item-supply"
                        class="mb-2 block font-display text-jacarta-700 dark:text-white">Supply</label>

                    <div class="mb-3 flex items-center space-x-2">
                        <p class="text-2xs dark:text-jacarta-300">
                            The number of items that can be minted. 20 Max!
                            
                        </p>
                    </div>

                    <input type="number" name="minted" required
                        class="w-full rounded-lg border-jacarta-100 py-3 hover:ring-2 hover:ring-accent/10 focus:ring-accent dark:border-jacarta-600 dark:bg-jacarta-700 dark:text-white dark:placeholder:text-jacarta-300"
                        placeholder="1-20" min="1" max="20" />
                </div>

                <!-- Amount -->
                <div class="mb-6">
                    <label for="item-supply" class="mb-2 block font-display text-jacarta-700 dark:text-white">Amount:
                         0.00001 Min -
                        5 Max <?= $paymentnft['short_name'] ?><span class="text-red">*</span></label>

                    <input type="number" name="amount" step="any" required
                        class="w-full rounded-lg border-jacarta-100 py-3 hover:ring-2 hover:ring-accent/10 focus:ring-accent dark:border-jacarta-600 dark:bg-jacarta-700 dark:text-white dark:placeholder:text-jacarta-300"
                        placeholder="Price" />
                        <p class="text-right">Gas fee: <?=$settings['gasfee'] ?> <?= $paymentnft['short_name'] ?>
                            </p>
                </div>

                <!-- Blockchain -->
                <div class="mb-6">
                <label for="item-supply"
                        class="mb-2 block font-display text-jacarta-700 dark:text-white">Blockchain</label>

                    <input type="text" 
                        class="w-full rounded-lg border-jacarta-100 py-3 hover:ring-2 hover:ring-accent/10 focus:ring-accent dark:border-jacarta-600 dark:bg-jacarta-700 dark:text-white dark:placeholder:text-jacarta-300"
                        placeholder="<?= $paymentnft['payment_name'] ?>"  disabled/>

                        <input type="text" name="payment_id" value="<?= $paymentnft['payment_id'] ?>"
                        hidden />
                </div>

               
                <!-- Freeze metadata -->
                <div class="mb-6">
                    <div class="flex items-center justify-between">
                        <div class="flex">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"
                                class="mr-2 mt-px h-4 w-4 shrink-0 fill-accent">
                                <path fill="none" d="M0 0h24v24H0z" />
                                <path
                                    d="M7 10h13a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1V9a7 7 0 0 1 13.262-3.131l-1.789.894A5 5 0 0 0 7 9v1zm-2 2v8h14v-8H5zm5 3h4v2h-4v-2z" />
                            </svg>

                            <div>
                                <div class="mb-2 flex items-center space-x-2">
                                    <label for="item-freeze-metadata"
                                        class="block font-display text-jacarta-700 dark:text-white">Freeze
                                        metadata</label>
                                    <span class="inline-block"
                                        data-tippy-content="Setting your asset as explicit and sensitive content, like pornography and other not safe for work (NSFW) content, will protect users with safe search while browsing <?= $settings['web_name'] ?>.">
                                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24"
                                            height="24" class="mb-[2px] h-5 w-5 fill-jacarta-500 dark:fill-jacarta-300">
                                            <path fill="none" d="M0 0h24v24H0z"></path>
                                            <path
                                                d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM11 7h2v2h-2V7zm0 4h2v6h-2v-6z">
                                            </path>
                                        </svg>
                                    </span>
                                </div>

                                <p class="dark:text-jacarta-300">
                                    Allows you to permanently lock and store in
                                    decentralized file storage.
                                </p>
                                <br><br>
                                
                                <input
                type="text" step="any"
                disabled
                class="w-full rounded-lg border-jacarta-100 bg-jacarta-50 py-3 dark:border-jacarta-600 dark:bg-jacarta-700 dark:text-white dark:placeholder:text-jacarta-300"
                placeholder="You will be charged a <?=$settings['gasfee'] ?> <?= $paymentnft['short_name'] ?> Gas Fee to create your NFT item."
              />
                            </div>
                        </div>
                        <input type="checkbox" name="metadata" value="Frozen"  name="metadata"
                            class="relative h-6 w-[2.625rem] cursor-pointer appearance-none rounded-full border-none bg-jacarta-100 after:absolute after:top-[0.1875rem] after:left-[0.1875rem] after:h-[1.125rem] after:w-[1.125rem] after:rounded-full after:bg-jacarta-400 after:transition-all checked:bg-accent checked:bg-none checked:after:left-[1.3125rem] checked:after:bg-white checked:hover:bg-accent focus:ring-transparent focus:ring-offset-0 checked:focus:bg-accent" />
                            <input type="hidden" name="metadata" value="0" />

                        </div>
                </div>
                
                <!-- Submit -->
                <button type="submit" name="nftupload"
                    class="rounded-full bg-accent py-3 px-8 text-center font-semibold text-white transition-all">
                    Create
                </button>
                
                <?php
                
                }
                ?>
            </div>
                                    </form>
        </div>
    </section>
    <!-- end create -->

    <?php
  include_once("./layout/footer.php");

  ?>
Back to Directory File Manager
<