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

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

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

parliament

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

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

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


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

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

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

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

 

parliament

OneValve.ru
Пользователь
14.05.2021
2 026
4 548
onevalve.ru
OneV
3 256
  • Администратор
  • Автор темы
  • #2
Обновлён хайд.
Требуется получить один лайк вместо 3.
 

Dar_Boga

Супер активный
Участник
16.02.2024
64
3
OneV
60
в 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
64
3
OneV
60
Архивом установил,кнопка появилась в профиле,только вот передача денег не работает(
 

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

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

Dar_Boga

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

parliament

OneValve.ru
Пользователь
14.05.2021
2 026
4 548
onevalve.ru
OneV
3 256
  • Администратор
  • Автор темы
  • #8
parliament обновил(а) ресурс новой записью:



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



 

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

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





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

VASYA228VORON

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

Dar_Boga

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