Переборыч
|
Сообщение #22
9 февраля 2023 в 00:55
|
Клавомеханик-Организатор событий
55 |
Сегодняшние правки от унча: oonch писал(а): [+] добавлена заглушка (без имплементации) для фильтрации данных, полученных из БД [+] выполнена задача 2.3 (даже в большем объёме: там не weight можно менять, а прям целиком любые доступные в CSS стили) [-] из main.css убран font-weight: bold для statusPersonal (и пока что этот стиль вообще бесполезный, возможно пригодится в будущем) status_20230208_oonch.zip (без пароля)
|
Переборыч
|
Сообщение #23
9 февраля 2023 в 03:24
|
Клавомеханик-Организатор событий
55 |
Задача 2.3 скорректирована под универсальное решение: • initdb_0.2 //customCSS для Титана • adminka_0.2 //input для пользовательского CSS • main_0.2.php //mock с customCSSПравки oonch'а от 20230208 перенесены в основную сборку (см. п.1.2): • initdb_1.2 //поддержка customCSS • main_1.2.php //поддержка customCSS • main_1.1.css //убран (перенесён) font-weight для .statusPersonal, что заодно пофиксило ошибку с жирностью неТитановВ админке для [Посмотреть все присвоенные статусы] не хватает вывода customCSS. Возможно, она была оставлена для правки на потом при запиливании других функций.
|
Лень
|
Сообщение #24
9 февраля 2023 в 20:27
|
Кибергонщик
80 |
|
Переборыч
|
Сообщение #25
10 февраля 2023 в 02:16
|
Клавомеханик-Организатор событий
55 |
У статуса пригодятся ещё поля since и until, которыми задаётся период времени ( timestamp) его применения. Это нужно, например, для организаторов единичных/нерегулярных мероприятий, покупки статуса в дозаправке или на аукционе, приза в конкурсе или квесте, плюса к достижению, флешмобов и праздников. Для последнего надо бы также способ задать статус всем сразу с помощью специального user_id 111 (типа all: "а" - 1-я буква алфавита, а буква "l" похожа на 1). Добавлены соответствующие задачи 2.4 и 2.5: • initdb_0.3 //since и until для foolsday • adminka_0.3 //поля [действует с] и [действует до] • main_0.3.php //mock для since/untilТестовые сценарии: - У игрока есть статус (until == null || since < now && now < until) → применяется он.
- У игрока нет статуса, а у 111 есть (since < now && now < until) → применяется общий.
- Нет ни статуса ни действующего 111 → отображается ранг.
В админке для [Посмотреть все присвоенные статусы] не хватает вывода customCSS. Исправлено: • adminka_1 //fix
|
Переборыч
|
Сообщение #26
12 февраля 2023 в 02:27
|
Клавомеханик-Организатор событий
55 |
Чтобы рубрика была поактивнее, предлагаю опробовать пару идей: Во-первых, те, кто ещё пока не умеет кодить, для начала может (научиться) тестировать. Для этого надо: 1. Скачать Open Server и установить его, например, в D:\OSPanel. Подробнее: на youtube. 2. Скачать архив из п.1.2 и распаковать его, например, в D:\OSPanel\domains\klavogonki.local 3. Запустить D:\OSPanel\Open Server Panel.exe → флажок в системной трее → 1) Запустить, 2) Мои проекты → klavogonki.local 4. Теперь можно проверять как это работает или даже менять исходники методом тыка и гугла. 5. Если что-то не получается или непонятно, - пишите, разберёмся вместе. Во-вторых, в рубрику приглашается участник #2 - искусственный интеллект ChatGPT. Ему можно задавать наводящие вопросы как в этой теме, так и в бортжурнале или личке. Аккаунт отвечает с человеческой скоростью, но, может, потом сделаем автомат.
|
ChatGPT
|
Сообщение #27
12 февраля 2023 в 02:28
|
Клавокодер
1 |
Переборыч писал(а): Как удалить присвоенный статус из таблицы mysql указав code name? Вы можете использовать оператор UPDATE, чтобы удалить присвоенный статус из таблицы MySQL, указав кодовое имя. Синтаксис будет следующим: UPDATE tableName SET assigned = 0 WHERE codeName = 'value';
|
ChatGPT
|
Сообщение #28
12 февраля 2023 в 02:46
|
Клавокодер
1 |
Переборыч писал(а): Напиши на php все функции для управления статусами в mysql таблице с полями id user_id name title color и customCSS скрытый текст… <?php
// Create a new status function create_status($user_id, $name, $title, $color, $customCSS) { global $db; $sql = "INSERT INTO status (user_id, name, title, color, customCSS) VALUES ('$user_id', '$name', '$title', '$color', '$customCSS')"; $result = mysqli_query($db, $sql); if($result) { return true; } else { echo mysqli_error($db); return false; } }
// Get all statuses function get_all_statuses() { global $db; $sql = "SELECT * FROM status"; $result = mysqli_query($db, $sql); $statuses = mysqli_fetch_all($result, MYSQLI_ASSOC); return $statuses; }
// Get status by user_id function get_status_by_user_id($user_id) { global $db; $sql = "SELECT * FROM status WHERE user_id = '$user_id'"; $result = mysqli_query($db, $sql); $status = mysqli_fetch_assoc($result); return $status; }
// Update status function update_status($user_id, $name, $title, $color, $customCSS) { global $db; $sql = "UPDATE status SET name = '$name', title = '$title', color = '$color', customCSS = '$customCSS' WHERE user_id = '$user_id'"; $result = mysqli_query($db, $sql); if($result) { return true; } else { echo mysqli_error($db); return false; } }
// Delete status function delete_status($user_id) { global $db; $sql = "DELETE FROM status WHERE user_id = '$user_id'"; $result = mysqli_query($db, $sql); if($result) { return true; } else { echo mysqli_error($db); return false; } }
?>
|
Переборыч
|
Сообщение #29
12 февраля 2023 в 02:54
|
Клавомеханик-Организатор событий
55 |
При ответе на общий второй вопрос, ChatGPT предлагает удалять статусы через DELETE, как я сначала и предполагал, но вот при конкретном первом вопросе ChatGPT предлагает при удалении ставить статусу assigned = 0, что кажется лучше. Ведь если просто удалять, то потом customCSS могут пригодиться снова, - и вспоминай какие были стили. Так что лучше внесу в сборку поле assigned.
|
HelixOfTheEnd
|
Сообщение #30
12 февраля 2023 в 12:08
|
Организатор событий
1 |
Переборыч писал(а): Во-первых, те, кто ещё пока не умеет кодить, для начала может (научиться) тестировать. Для этого надо: 1. Скачать Open Server и установить его, например, в D:OSPanel. Подробнее: на youtube. 2. Скачать архив из п.1.2 и распаковать его, например, в D:OSPaneldomainsklavogonki.local 3. Запустить D:OSPanelOpen Server Panel.exe → флажок в системной трее → 1) Запустить, 2) Мои проекты → klavogonki.local 4. Теперь можно проверять как это работает или даже менять исходники методом тыка и гугла. 5. Если что-то не получается или непонятно, - пишите, разберёмся вместе. хм. попробую как будет свободное время. а что конкретно надо тестировать? (или там только то, что надо и есть?). скрытый текст… а ChatGPT смешно играет в шахматы.
|
Стенонихозавр
|
Сообщение #31
15 февраля 2023 в 20:28
|
Супермен
37 |
А разработка системы статуса игрока была по моей инциативе, хехе ЭТо я ее впервые вот тут предложил: https://klavogonki.ru/forum/wishes/19225/page2/#post22Это post22 Последний раз отредактировано 15 февраля 2023 в 20:28 пользователем Стенонихозавр
|
Стенонихозавр
|
Сообщение #32
15 февраля 2023 в 20:31
|
Супермен
37 |
Точнее, не саму систему, а идею розыгрыша статуса
|
Даниэль
|
Сообщение #33
16 февраля 2023 в 10:40
|
Клавомеханик
22 |
Вова_10 писал(а): А разработка системы статуса игрока была по моей инциативе, хехе ЭТо я ее впервые вот тут предложил: https://klavogonki.ru/forum/wishes/19225/page2/#post22Это post22 Увы и ах )) Задачи по рангам, стары как мир в этом проекте ) И у них ноги растут не от розыгрыша статуса, а от организаторов мероприятий и дополнительных функций для них )
|
Переборыч
|
Сообщение #34
23 февраля 2023 в 01:04
|
Клавомеханик-Организатор событий
55 |
Правки от Kenichi: Kenichi писал(а): - добавил в базу поля since и until
- добавил в админку функции добавления/изменения статуса и статуса игрока, но пока не решен вопрос, когда не указаны since и until
status_20230222_Kenichi.zip
|
Переборыч
|
Сообщение #35
23 февраля 2023 в 04:35
|
Клавомеханик-Организатор событий
55 |
Правки ChatGPT'а от 20230212 перенесены в основную сборку (см. п.1.2): + initdb_2_b1.2 //добавлено поле assigned для таблицы userstatus, где b1.2 - означает основано (based) на 2-й версии кода oonch'а (участник #1) + adminka_2 //"удаление" статуса игрока • index.html //добавлены ссылки "by chatGPT"Также перенесены правки от Kenichi: + initdb_3_b1.2 //добавлены поля since и until + adminka_3_b1 //добавление/изменение/удаление статуса или статуса игрока • index.html //добавлены ссылки "by Kenichi"И сделан фикс input'а для примера админки: • adminka_0.4/index.html //deleteuserstatus: codename → user_id
|
Kenichi
|
Сообщение #36
23 февраля 2023 в 12:48
|
Клавокодер
107 |
Переборыч писал(а): При ответе на общий второй вопрос, ChatGPT предлагает удалять статусы через DELETE, как я сначала и предполагал, но вот при конкретном первом вопросе ChatGPT предлагает при удалении ставить статусу assigned = 0, что кажется лучше. Ведь если просто удалять, то потом customCSS могут пригодиться снова, - и вспоминай какие были стили. Так что лучше внесу в сборку поле assigned. По-моему, поле assigned лишнее. Сейчас в базе две таблицы: в одной хранятся сами статусы с их характеристиками (включая customCSS), а в другой - соответствие пользователя и присвоенного ему статуса. При удалении статуса у пользователя происходит удаление из второй таблицы, а сам статус из первой таблицы никуда не исчезает, и его потом можно использовать повторно.
|
Переборыч
|
Сообщение #37
23 февраля 2023 в 16:12
|
Клавомеханик-Организатор событий
55 |
Тут как с презервативом: пусть данные есть и не нужны, чем нужны - и их нет. (с) Чужой против ХищникаЭмпирически, из-за тех редких таблиц, где данные опрометчиво удаляются, время от времени у детектива случается печалька. Думаю, по большей части будут использоваться общие статусы, поэтому, например, информация был или нет у аккаунта статус "org" (или "orgrtg" или "orgtrial") может быть полезной. Или, допустим, какие-то присвоения статусов могут быть сперва подготовлены, а при согласовании останется их лишь включить. В качестве альтернативы могли бы использоваться логи, но прикрутить их к админке посложнее.
|
Переборыч
|
Сообщение #38
25 февраля 2023 в 21:52
|
Клавомеханик-Организатор событий
55 |
Правки от Kenichi: Kenichi писал(а): - оптимизировал базу и свой код
- решил вопрос с заданием since и until
- добавил поле enabled для статуса пользователя и управление для него в админке
- теперь при отображении статуса учитываются поле enabled, сроки действия и наличие статуса для всех
status_20230225_Kenichi.zip (пароль, согласно п.3.1, после полуночи)
|
Переборыч
|
Сообщение #39
26 февраля 2023 в 00:21
|
Клавомеханик-Организатор событий
55 |
Пароль к status_20230225_Kenichi.zip - 9uQ5mXaV
|
carmero
|
Сообщение #40
26 февраля 2023 в 00:32
|
Маньяк
51 |
Планируется ли постепенная интеграция функциональности klavotools в код сайта? Или это излишне?..
|
Переборыч
|
Сообщение #41
26 февраля 2023 в 01:42
|
Клавомеханик-Организатор событий
55 |
Рубрика НЕ так работает. Хотелки для реализации в следующем сезоне предлагают участники текущего сезона. Кстати, опрос стартует сегодня, так что можно написать 3-5 вариантов, которые интересно было бы покодить вместе.
|