Перевод баланса [donate]

GameCMS Перевод баланса [donate] 1.4

Нет прав для скачивания

parliament

OneValve.ru
Команда форума
Гл.Администратор
14.05.2021
2 093
4 679
onevalve.ru
  • Администратор
  • #1
Совместимость
  1. Лицензия
  2. Пиратская [Null]
parliament добавил(а) новый ресурс:

- Модуль донатов от пользователю к пользователю!

Модуль донатов от пользователю к пользователю!
Имеется настройка в actions.php для вывода сообщения в чат от указанного ID профиля. Например, от созданного Вами аккаунта.


Посмотреть вложение 2240

Посмотреть вложение 2241

Посмотреть вложение 2239

Посмотреть вложение 2238

 

parliament

OneValve.ru
Команда форума
Гл.Администратор
14.05.2021
2 093
4 679
onevalve.ru
  • Администратор
  • Автор темы
  • #2
Обновлён хайд.
Требуется получить один лайк вместо 3.
 

Dar_Boga

Супер активный
Участник
16.02.2024
61
3
в actions.php самому нужно вписывать это?
<?php
include_once "../../../inc/start.php";
include_once "../../../inc/protect.php";
if(empty($_POST['phpaction'])) {
log_error("Прямой вызов инклуда | actions.php");
exit(json_encode(['status' => '2']));
}
if($conf->token == 1 && ($_SESSION['token'] != clean($_POST['token'], null))) {
log_error("Неверный токен | actions.php");
exit(json_encode(['status' => '2']));
}

if (isset($_POST['donate_money'])) {
$id = checkJs($_POST['id'],"int");
$money = checkJs($_POST['money'],"float");

if (empty($id)) {
exit (json_encode(array('status' => '1', 'res' => "ID пользователя не указан!")));
}

if (empty($money)) {
exit (json_encode(array('status' => '2')));
}

$STH = $pdo->prepare("SELECT `id`,`login`,`shilings`,`multi_account` FROM `users` WHERE `id`=:id LIMIT 1"); $STH->setFetchMode(PDO::FETCH_OBJ);
$STH->execute(array( ':id' => $_SESSION['id'] ));
$row = $STH->fetch();

// Проверка хватает ли денег донатеру
if ($row->shilings < $money){
exit (json_encode(array('status' => '1', 'res' => "У вас не хватает денюшек для столь большого доната.")));
}

// Проверка скидывает ли пользователь сам себе
if ($_SESSION['id'] == $id){
exit (json_encode(array('status' => '1', 'res' => "Зачем ты это делаешь??.")));
}

// Проверка на минимальную сумму доната
if ($money < 5){
exit (json_encode(array('status' => '1', 'res' => "Минимальная сумма доната 5 руб.")));
}

// Проверяем есть ли у донатера мультиаккаунты и если он скидывает на свой же акк то посылаем его
if($row->multi_account != 0) {
$multi_accounts = explode(';', $row->multi_account);
for ($i = 0; $i < count($multi_accounts); $i++) {
$multi_accounts[$i] = explode(':', $multi_accounts[$i]);

if($id == $multi_accounts[$i][0]) {
exit (json_encode(array('status' => '1', 'res' => "<[<a href=" " target="_blank">OneValve.ru</a>] Донатить деньги на свои же аккаунты запрещенно.")));
}
}
}


$STH = $pdo->prepare("SELECT `id`,`shilings`,`login` FROM `users` WHERE `id`=:id LIMIT 1"); $STH->setFetchMode(PDO::FETCH_OBJ);
$STH->execute(array( ':id' => $id ));
$rows = $STH->fetch();

if(empty($rows->id)){
exit (json_encode(array('status' => '1', 'res' => "Аккаунта не существует!")));
}

$login = $rows->login;
$us_id = $rows->id;
$res = $rows->shilings+$money;
$money_stay = $row->shilings-$money;

// Добавляем бабки пацану
$STH = $pdo->prepare("UPDATE users SET shilings=:shilings WHERE id='$id' LIMIT 1");
$STH->execute(array( 'shilings' => $rows->shilings+$money ));

// Снятие бабок с донатера
$STH = $pdo->prepare("UPDATE users SET shilings=:shilings WHERE id=:id LIMIT 1");
$STH->execute(array( 'shilings' => $row->shilings-$money, 'id' => $_SESSION['id'] ));

// Записываем что это был донат и минус деньги нам
$STH = $pdo->prepare("INSERT INTO money__actions (date,shilings,author,type,gave_out) values :)date, :shilings, :author, :type, :gave_out)");
$STH->execute(array( 'date' => date("Y-m-d H:i:s"),'shilings' => "-$money",'author' => $_SESSION['id'],'type' => '23','gave_out' => $id ));
// Записываем что это был донат и плюс деньги тому кому донатили
$STH = $pdo->prepare("INSERT INTO money__actions (date,shilings,author,type,gave_out) values :)date, :shilings, :author, :type, :gave_out)");
$STH->execute(array( 'date' => date("Y-m-d H:i:s"),'shilings' => $money, 'author' => $id, 'type' => '23','gave_out' => $_SESSION['id'] ));

// Ниже две строчки создания сообщения в чате оповещение о том что один пользователь задонатил другому.
// Если же вы желаете такое то потребуется лишний аккаунт берем его ID и вписываем там где проиходит execute в author => ID

//$STH = $pdo->prepare("INSERT INTO chat (message_date,message_text,user_id) values :)date, :message_text, :author)");
//$STH->execute(array( 'date' => date("Y-m-d H:i:s"),'message_text' => "Пользователь $row->login задонатил $money руб. пользователю $login",'author' => 120 ));

$STH = $pdo->prepare("INSERT INTO notifications (date,message,user_id) values :)date, :message, :author)");
$STH->execute(array( 'date' => date("Y-m-d H:i:s"),'message' => "Вы задонатили $money руб. пользователю $login",'author' => "$row->id" ));
$STH = $pdo->prepare("INSERT INTO notifications (date,message,user_id) values :)date, :message, :author)");
$STH->execute(array( 'date' => date("Y-m-d H:i:s"),'message' => "Пользователь $row->login задонатил вам $money руб.",'author' => "$us_id" ));

exit (json_encode(array('status' => '1', 'res' => "Вы успешно задонатили $money руб. пользователю $login у вас осталось $money_stay руб.")));
}
/*[<a href=" " target="_blank">OneValve.ru</a>] */
 

Dar_Boga

Супер активный
Участник
16.02.2024
61
3
Архивом установил,кнопка появилась в профиле,только вот передача денег не работает(
 

Алексей Бантюков

Новенький
Участник
19.12.2024
15
3
Подтверждаю. Визуально отображается всё правильно. Нажатие на кнопку всплывает сообщение, где надо заполнить сумму денег. Но деньги не приходят пользователю. Баланс не меняется
 

Dar_Boga

Супер активный
Участник
16.02.2024
61
3
Подтверждаю. Визуально отображается всё правильно. Нажатие на кнопку всплывает сообщение, где надо заполнить сумму денег. Но деньги не приходят пользователю. Баланс не меняется
вчера снова пробовал разобраться,но никак что то
 

parliament

OneValve.ru
Команда форума
Гл.Администратор
14.05.2021
2 093
4 679
onevalve.ru
  • Администратор
  • Автор темы
  • #8
parliament обновил(а) ресурс новой записью:



Работоспособность на поздних версиях движка: 3.662+, некоторые другие правки.
Установка через ZIP!



 

Алексей Бантюков

Новенький
Участник
19.12.2024
15
3
parliament обновил(а) ресурс новой записью:





Работает. Спасибо
 

VASYA228VORON

Новенький
Premium
16.12.2024
4
1
Советую делать проверку чтобы нельзя было деньги с activity rewards переводить ) А то ботов наплодят, а потом начнут переливать
 

parliament

OneValve.ru
Команда форума
Гл.Администратор
14.05.2021
2 093
4 679
onevalve.ru
  • Администратор
  • Автор темы
  • #11
@VASYA228VORON, какая-никакая мульт. система есть в движке.
 

parliament

OneValve.ru
Команда форума
Гл.Администратор
14.05.2021
2 093
4 679
onevalve.ru
  • Администратор
  • Автор темы
  • #13
@VASYA228VORON, Ну это уже пожелания личные.
Не вижу в этом ничего масштабного.
 

Dar_Boga

Супер активный
Участник
16.02.2024
61
3
Тут модуль по флагам работает?Почему то я могу донатить норм,а другие пользователи не могут
 

Hagen

Новенький
Premium
17.01.2023
5
1
У меня также, у меня есть кнопка, у других нету
 
Сверху Снизу