Конвертер лайков форума smf212 на мод Say Thanks
Мод Say Thanks, сделал для него конвертер, чтобы отключить встроенные лайки и работать с
-
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2195
Создано тем: 317
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3580
Был: 2024-11-18 08:59
Лайков: 202
Мод Say Thanks, сделал для него конвертер, чтобы отключить встроенные лайки и работать с этим модом.
Скопируйте текст и вставьте в текстовый документ, расширение поставьте .php
Работать с конвертером просто - данные базы данных и пароль вставляете свой и на локалке запускаете, работает на PHP_7.0 - PHP_7.4<?php echo "<head> <style> body {max-width:1224px; margin:auto;border:1px solid green; border-radius:10px;} .column {padding: 10px;} .head{text-align:center; background-color: blue; color:white; border-radius:10px 10px 0 0; height: 65px;} .bottom{text-align:center; background-color: blue; color:white; border-radius:0 0 10px 10px; height: 65px;} .bott{color:red;} </style></head> <body> <div class ='head'>Конвертер лайков форума smf212 на мод Say Thanks<br><br> (Пожалуйста, проявите терпение, некоторые действия могут быть весьма долгими)</div> <div class ='bott'>сделано для сайта <a href="https://wylek.ru">WYLEK.ru</a><br></div> <div class='column'> //-------------------------- $dblocation1 = "localhost";//сервер базы данных $dbsmf = "smf211";//имя базы smf $dbuser1 = "1234";//имя пользователя $dbpasswd1 = "1234";//пароль от базы данных $prefixsmf = "smf";//префикс таблиц SMF //конект к базе $dbcnx = mysqli_connect($dblocation1,$dbuser1,$dbpasswd1); if(!$dbcnx) { exit("Сервер базы данных $dbsmf сейчас недоступен. Повторите попытку позже."); } $db_select = mysqli_select_db($dbcnx, $dbsmf); if(!$db_select) { exit("База данных $dbsmf недоступна. Обратитесь к администратору для решения проблемы."); } echo ('<br>'); echo "Соединение с базой $dbsmf установлено!" . PHP_EOL; echo ('<br>'); echo "Информация о сервере: " . mysqli_get_host_info($dbcnx) . PHP_EOL; echo ('<br>*******************************************<br>'); echo'<a href=?step27>1. Лайки</a> --><a href=?step28>2. Пересчёт</a><br><br>'; //лайки---------------------------------------------------------------------------------- if(isset($_GET['step27'])) { $i = 0; mysqli_set_charset($dbcnx, "utf8"); //очистка $query = "TRUNCATE TABLE {$prefixsmf}_messages_thanks"; $result = mysqli_query($dbcnx, $query); if(!$result) { echo ("<br><br><font color=red>mysql вернула ошибку <br><textarea style='width: 300px; height: 200px'>".mysqli_error($dbcnx)."</textarea><br> в коде <br><textarea style='width: 300px; height: 200px'>{$query}</textarea><br><br></font>");} else echo "<br><br>Таблица успешно очищена<br>"; //очистка //создаем столбцы $sql = mysqli_query($dbcnx, "ALTER TABLE {$prefixsmf}_messages_thanks ADD COLUMN id_member_to TEXT AFTER id_member"); $sql = mysqli_query($dbcnx, "ALTER TABLE {$prefixsmf}_messages_thanks ADD COLUMN id_msg5 TEXT AFTER id_msg"); //вытягиваем данные из таблицы smf_user_likes $post = mysqli_query($dbcnx, "SELECT * FROM {$prefixsmf}_user_likes WHERE content_type='msg'"); while ($news = mysqli_fetch_array($post)) { $id_member=$news['id_member']; $like_time=$news['like_time']; $content_id=$news['content_id']; $i++; $query = "INSERT INTO `{$prefixsmf}_messages_thanks` (`id_msg`, `id_member`, `date_thanked`) VALUES ('$content_id', '$id_member', '$like_time');"; if (mysqli_query($dbcnx, $query)) { echo ""; } else { echo "<br><br>Error: " . $query . "<br><br>" . mysqli_error($dbcnx); } } //заполняем столбец единицей $sql = mysqli_query($dbcnx, "UPDATE {$prefixsmf}_messages_thanks SET id_msg5=1");// //перекидываем ID кому лайкнули $sql = mysqli_query($dbcnx, "UPDATE {$prefixsmf}_messages_thanks, {$prefixsmf}_messages " . "SET {$prefixsmf}_messages_thanks.id_member_to = {$prefixsmf}_messages.id_member " . "where {$prefixsmf}_messages_thanks.id_msg = {$prefixsmf}_messages.id_msg"); mysqli_close($dbcnx); echo "<br /><span style='color: green;'>Перенос завершён!</span><br />"; echo "<span style='color: green;'>Всего конвертировано $i лайков</span><br>"; echo "<br><div style='text-align:center;'><a href='/convert_likes/smf-art.php'><button>Продолжить</button></a></div></div><div class ='bottom'></body></div>"; } //============================================================================================== //пересчет if(isset($_GET['step28'])) { $i = 0; mysqli_set_charset($dbcnx, "utf8"); //очистка $query = "TRUNCATE TABLE {$prefixsmf}_messages_thanks_stats"; $result = mysqli_query($dbcnx, $query); if(!$result) { echo ("<br><br><font color=red>mysql вернула ошибку <br><textarea style='width: 300px; height: 200px'>".mysqli_error($dbcnx)."</textarea><br> в коде <br><textarea style='width: 300px; height: 200px'>{$query}</textarea><br><br></font>");} else echo "<br><br>Таблица успешно очищена<br>"; //очистка //вытягиваем данные из таблицы smf_messages $post = mysqli_query($dbcnx, "SELECT * FROM {$prefixsmf}_messages where likes>0"); while ($news = mysqli_fetch_array($post)) { $id_member=$news['id_member']; $i++; $query = "REPLACE INTO `{$prefixsmf}_messages_thanks_stats` (`id_member`) VALUES ('$id_member');"; if (mysqli_query($dbcnx, $query)) { echo ""; } else { echo "<br><br>Error: " . $query . "<br><br>" . mysqli_error($dbcnx); } } //вставляем колличество лайков юзакам $sql = mysqli_query($dbcnx, "UPDATE {$prefixsmf}_messages_thanks_stats {$prefixsmf}_messages_thanks_stats_ SET thanks_count = ( SELECT sum(id_msg5) FROM {$prefixsmf}_messages_thanks WHERE id_member_to={$prefixsmf}_messages_thanks_stats_.id_member)"); // удаляем временные столбцы $sql = mysqli_query($dbcnx, "ALTER TABLE {$prefixsmf}_messages_thanks drop COLUMN id_member_to"); $sql = mysqli_query($dbcnx, "ALTER TABLE {$prefixsmf}_messages_thanks drop COLUMN id_msg5"); mysqli_close($dbcnx); echo "<br /><span style='color: green;'>Перенос завершён!</span><br />"; echo "<br><div style='text-align:center;'><a href='/convert_likes/smf-art.php'><button>Продолжить</button></a></div></div><div class ='bottom'></body></div>"; } ?>
Сообщение отредактировал WYLEK 29 января 2023 - 13:2221 мая 2022 - 12:57 / #1
Статистика форума, пользователей онлайн: 1 (за последние 20 минут)
- Создано тем
- 1197
- Всего сообщений
- 15762
- Пользователей
- 18014
- Новый участник
- Markhabayev