1

Тема: Українська соціальна мережа.

Треба допомога в розробці сайту а саме, на сайті є подарунки, потрібно зробити так щоб при отримані подарунків вартість подарунка подала на рахунок людині яка отримала цей подарунок. Поки працюе тільки списання коштів за подарунок.

сам файл з кодом https://drive.google.com/file/d/189hZ4z … share_link

2

Re: Українська соціальна мережа.

GPT-3.5 написав:

Щоб зробити так, щоб вартість подарунка подавалася на рахунок людині, яка отримала цей подарунок, потрібно додати код для оновлення балансу користувача. Нижче наведено код класу "gift" з внесеними змінами:

<?php

/*!
 * ifsoft.co.uk
 *
 * http://ifsoft.com.ua, https://ifsoft.co.uk, https://raccoonsquare.com
 * raccoonsquare@gmail.com
 *
 * Copyright 2012-2020 Demyanchuk Dmitry (raccoonsquare@gmail.com)
 */

if (!defined("APP_SIGNATURE")) {

    header("Location: /");
    exit;
}

class gift extends db_connect
{
    private $requestFrom = 0;
    private $language = 'en';

    public function __construct($dbo = NULL)
    {
        parent::__construct($dbo);
    }

    public function getAllCount()
    {
        $stmt = $this->db->prepare("SELECT count(*) FROM photos");
        $stmt->execute();

        return $number_of_rows = $stmt->fetchColumn();
    }

    public function db_getMaxId()
    {
        $stmt = $this->db->prepare("SELECT MAX(id) FROM gifts_data");
        $stmt->execute();

        return $number_of_rows = $stmt->fetchColumn();
    }

    public function getMaxId()
    {
        $stmt = $this->db->prepare("SELECT MAX(id) FROM gifts");
        $stmt->execute();

        return $number_of_rows = $stmt->fetchColumn();
    }

    public function count()
    {
        $stmt = $this->db->prepare("SELECT count(*) FROM gifts WHERE giftTo = (:giftTo) AND removeAt = 0");
        $stmt->bindParam(":giftTo", $this->requestFrom, PDO::PARAM_INT);
        $stmt->execute();

        return $number_of_rows = $stmt->fetchColumn();
    }

    public function db_add($cost, $category, $imgUrl = "")
    {
        $result = array("error" => true,
                        "error_code" => ERROR_UNKNOWN);

        if (strlen($imgUrl) == 0) {

            return $result;
        }

        $currentTime = time();

        $stmt = $this->db->prepare("INSERT INTO gifts_data (cost, category, imgUrl, createAt) value (:cost, :category, :imgUrl, :createAt)");
        $stmt->bindParam(":cost", $cost, PDO::PARAM_INT);
        $stmt->bindParam(":category", $category, PDO::PARAM_INT);
        $stmt->bindParam(":imgUrl", $imgUrl, PDO::PARAM_STR);
        $stmt->bindParam(":createAt", $currentTime, PDO::PARAM_INT);

        if ($stmt->execute()) {

            $result = array("error" => false,
                            "error_code" => ERROR_SUCCESS,
                            "giftId" => $this->db->lastInsertId(),
                            "gift" => $this->db_info($this->db->lastInsertId()));
        }

        return $result;
    }

    public function send($giftId, $giftTo, $message, $giftAnonymous = 0)
    {
        $result = array(
            "error" => true,
            "error_code" => ERROR_UNKNOWN
        );

        if ($giftId == 0) {

            return $result;
        }

        $spam = new

Якщо ID подарунку дорівнює нулю, функція send() повертає результат з помилкою. Також у функції з'являється об'єкт spam, який використовується для перевірки кількості відправлених подарунків.

Якщо ID подарунку не дорівнює нулю, функція використовує об'єкт spam для перевірки кількості відправлених подарунків.