Имя: Пароль:
LIFE
Жизнь форума
OFF: Обсуждение нового движка форума
0 Злопчинский
 
10.11.23
19:40
1. Прошу роль Здравомыслящий 38% (3)
2. А как теперь сделать вот так? 25% (2)
3. Другое 25% (2)
4. Есть предложение по движку... 13% (1)
5. Просто верните как было... 0% (0)
6. Оставьте уже как есть... 0% (0)
7. Где личные скрипты? 0% (0)
8. Когда будет толковое описание нового движка? 0% (0)
9. Верните список читателей ветки!!11.. 0% (0)
10. А что случилось?... 0% (0)
Всего мнений: 8

Продолжение OFF: ТехИнфо: новый движок форума

Update от Волшебник
Прикрутил многофункциональную голосовалку к ветке.

Роль "Здравомыслящий" даёт доступ к новым фичам форума (картинки, форматирование сообщений).

Примеры личных скриптов
https://1cers.ru/help/skins.html
Книга знаний: Скрипты для Волшебного форума
1 Злопчинский
 
06.10.23
00:26
А как увеличить количество тем в списке на главной?
2 Волшебник
 
06.10.23
07:29
(1) В прошлой ветке было в (12)

Количество веток можно увеличить параметром:
https://1cers.ru/?rows=40
3 DirectorGora
 
06.10.23
07:32
(2) В в ник worker-good как можно восстановить пароль? Доступ к почте имею
4 Волшебник
 
06.10.23
07:36
(3) Напишите мне письмо с адреса из лички
5 DirectorGora
 
06.10.23
07:37
(2) кнопки "Восстановить пароль" больше нет?
6 Волшебник
 
06.10.23
07:39
(5) Это в разработке. Обычно люди обращаются ко мне и я помогаю. Проверяю, кто такой. Дальше возможны варианты: сбрасываю пароль или "Давай, до свидания!"
7 DirectorGora
 
06.10.23
07:41
(6) Написал, заранее спасибо)
8 Волшебник
 
06.10.23
08:27
(7) Ответил в почту. На тот ник выданы права для доступа к новым функциям движка форума. Теперь тот ник обладает большей ценностью по сравнению с остальными
9 worker-good
 
06.10.23
08:31
(8) Большое спасибо, Волшебник за оперативную помощь. Буду стараться в продвижении форума Миста.
10 YFedor
 
06.10.23
08:33
Верните "кнопочку" наверх
11 Волшебник
 
06.10.23
08:34
12 worker-good
 
06.10.23
08:43
(8) Не могу поменять свои данные в нике: "worker-good". При сохранении пишет ошибку: "Ник на такой e-mail уже зарегистрирован: Владыка 1С"

Свой емайл на нике: "worker-good" не менял, оставил такой же: [email protected]
13 Волшебник
 
06.10.23
08:45
(12) Он ещё и Владыка... 🤦
Сбросил e-mail для владыки.
14 worker-good
 
06.10.23
08:47
(13) И снова спасибо за еще более оперативную помощь, все получилось)
15 yurikmellon2
 
06.10.23
14:20
(13) я так понимаю, сейчас почта это уникальный идентификатор и одна и та же почта на разных аккаунтах не допускается?
А можно объединить несколько учёток в одну? Создавал давным-давно из-за того, что пароли забывал.
Yurikmellon Yurikmellon1 и yurikmellon2
16 Волшебник
 
06.10.23
08:57
(15) У Вас всё нормально. Основной yurikmellon2
17 worker-good
 
06.10.23
09:29
Проба новых функций Форума Миста. Надо
дорожить
новыми
Подробности
функциями
,
а то забанят
👍и все: из князей обратно в грязи🔥
18 mikecool
 
06.10.23
09:30
(13) товарищ умеет повеселить )))
19 Волшебник
 
06.10.23
09:34
(17) 🔥
20 worker-good
 
06.10.23
09:36
(8) Как часто можно пользоваться раскрасками и прикреплением рисунков (новыми функциями для избранных пользователей)?
21 Asmody
 
06.10.23
09:40
(20) как можно реже
22 Волшебник
 
06.10.23
09:40
(20) Добродетельному человеку можно всё. Сократ
23 Хряк
 
06.10.23
10:41
(2) Нифига не понятно как увеличить кол. строк на странице, поподробнее, пожалуйста, для тупых. Спасибо.
24 Волшебник
 
06.10.23
11:01
(23) в URL надо добавить GET-параметр "rows=40"
Параметры отделяются от основного адреса знаком вопроса: ?
25 worker-good
 
06.10.23
11:29
(23) Для удобства сохрани в закладках своего браузера страничку https://1cers.ru/?rows=40 и всегда заходи с этой ссылки на форум Миста
26 worker-good
 
06.10.23
11:37
(23) Причем по-другому никак не настроишь, даже CSS и JavaScript не помогут. Стоит по умолчанию 20 строк и у всех стоит по ссылке https://1cers.ru/
27 Волшебник
 
06.10.23
11:42
(26) Я думаю, JavaScript всё может
28 worker-good
 
06.10.23
11:45
(27) Вполне возможно, но данная функция не описана в типовых скриптах Мисты Книга знаний: Скрипты для Волшебного форума
29 worker-good
 
06.10.23
11:49
(27) Но меня вполне устраивает и 20 строк как раньше, так что прошу не менять текущее состояние дел
30 Волшебник
 
06.10.23
11:54
Вот тут есть примеры обработки URI из JavaScript
https://stackoverflow.com/questions/5999118/how-can-i-add-or-update-a-query-string-parameter

Может кому будет интересно реализовать скрипт, который добавляет в адресную строку нужный параметр.
Только есть риск реализовать бесконечный цикл.
31 Злопчинский
 
06.10.23
11:56
Лучше чтобы была возможность кол-во строк задать через личные скрипты.
32 Волшебник
 
06.10.23
12:00
(31) Да, было бы здорово
33 Злопчинский
 
06.10.23
12:04
(32) а можно за заслуги перед отечеством или в счет будущих заслуг перед отечеством - темы и топики ника Злоп перевести на ник Злопчинский..?
34 Злопчинский
 
06.10.23
12:11
(32) обоснуяю: через параметр в адресе - не катит, ибо при при переходе из темы на главную страницу по ссылке "форум" (или кнопке) - страница списка открывается в режиме без параметра... со значением по умолчанию...
35 Волшебник
 
06.10.23
12:12
(33) Готово.
36 Волшебник
 
06.10.23
12:14
(34) Значит скрипт должен прокидывать параметр "rows" в ссылку "Форум".

Кроме того, при открытии главной страницы без параметра "rows" скрипт должен его задавать и переоткрывать уже с параметром.
37 Злопчинский
 
06.10.23
12:15
... и как сделать афоризм, который на желтом поле - чтобы желтое поле было более длинное?
38 Злопчинский
 
06.10.23
12:15
(35) спсб!
39 Злопчинский
 
06.10.23
12:16
(35) в профиле в разделе История счетчики не поменялись, но это несущественно...
40 Злопчинский
 
06.10.23
12:19
/* Ссылка "Форум" справа от кнопки "Обновить" для возврата к списку веток. */ /* с параметром ?rows */
$('#buttonRefreshTopic').after('<a href="/?rows=25" class="sendbutton" style="margin-right:15px; margin-left:5px; background-color:#EEE; border: 1px solid #666; height:30px; font-size:68%;">Форум</a>');
41 Волшебник
 
06.10.23
12:26
(37) Делаем афоризм на жёлтом поле длиннее:

.index .advice, .index .advert,
.topic .advice, .topic .advert {
   width: unset;
   max-width: 800px;
}
42 Волшебник
 
06.10.23
12:30
(39) Исправлено
43 Злопчинский
 
06.10.23
12:32
(41) вставил в CSS, не работает, без изменений отображается? ctrlF5 делал
44 Волшебник
 
06.10.23
12:33
(43) У меня всё работает
45 Злопчинский
 
06.10.23
12:49
(44) убрал из CSS и JS всё, оставил только эту настроку - так работает.
что-то мешает из других настроек...
46 Злопчинский
 
06.10.23
12:51
(45) JS тут не при чем...
47 Злопчинский
 
06.10.23
12:54
что может мешать..?

мой CSS-скрипт
.
.user-role {
    display: block;
    float: right;
    clear: right;
    font-size: 70%;
    font-weight: normal;
    font-family: Arial, Helvetica, sans-serif;
    color: #666;
    margin-top: -2px;
}

@media (orientation: portrait) {
    body {
        font-family: 'Noto Sans', sans-serif;
        max-width: 100vw;
        color: #212121;
    }

    img {
        max-width: 100vw;
    }

    .hide_mobile {
        display: none !important;
    }

    #nav .knowledge,
    #nav .sections,
    #nav .job,
    #nav .about {
        display: none;
    }

    #quick-search-form {
        display: none;
    }

    #top-banners {
        display: none;
    }

   .plus {width: 10px; }
   .replies {width: 20px; }
   .topic {width: 100%; }
   .arena { display:none; }
   .section { display:none; }
   .author { display:none; }
   .updated { display:none; }

   .topicTable col.left {
       width: 170px;
   }

}

.btnDown {
  color: red;
  font-weight: bold;
  position: fixed;
  z-index: 999;
  top: 10px;
  right: 30px;
}

.btnUp {
  color: red;
  font-weight: bold;
  position: fixed;
  z-index: 999;
  top: 10px;
  right: 10px;
}

div.message-date { display:inline-block; }
div.message-time { display:inline-block; clear: none; }

.topicTable col.left { width: 200px; }

#topicsList tr[data-author-id="1"] { /* здесь надо указать ID пользователя */
   background-color: #EEFFEE; /* цвет фона */
}

#topicsList tr[data-author-id="1"]>td.topic>a.topic-link { /* здесь надо указать ID пользователя */
   color: #005500; /* цвет ссылки */
}

/* размер текстовых полей настроек CSS и JS */
#personalCSS, #personalJS { height: 680px; }

/* увеличить ссылки на страницы в списке тем */
#paginator { height: 40px; font-size: 22pt; }

body {
    background-color: #EEE;
    background-image: none;
}


#topicsList {
table-layout: fixed;
width: 99%;
}

#topicsList .plus    {  width: 30px; }
#topicsList .replies {  width: 50px; }
#topicsList .topic   {  width: 100%; } /* занимает оставшееся место */
#topicsList .arena   {  width: 60px; }
#topicsList .section {  width: 150px; }
#topicsList .author  {  width: 200px; }
#topicsList .updated {  width: 250px; }
#topicsList td.topic a { text-decoration:none; }
#topicsList td.topic { padding: 2px; }
#topicsList tr:hover { background-color: #EEF; }
.topicTable td.message { padding: 2px; }
}

.index .advice, .index .advert,
.topic .advice, .topic .advert {
   width: unset;
   max-width: 1500px;
}
48 Волшебник
 
06.10.23
12:57
(47) ну попробуйте так:

.index .advice, .index .advert,
.topic .advice, .topic .advert {
   width: 1000px;
   max-width: 1000px;
}
49 Злопчинский
 
06.10.23
13:10
(48) не работает...
50 Волшебник
 
06.10.23
13:13
(49) Пуля из ствола вылетела? Вылетела. Проблема на Вашей стороне.
51 Злопчинский
 
06.10.23
13:16
(50) ниче подобного. скрипты вашей объектной моделью оперируют ;-)
если оставить только (48) - то работает, вместе с приведенными выше - не работают...
52 Злопчинский
 
06.10.23
13:16
не, можно конечно методом половинного тыка вычислить... но это же неспортивно...
53 Волшебник
 
06.10.23
13:20
(51) Не надо этих громких слов "объектная модель", а то ведь я могу вспомнить Гради Буча
Самолет - это совокупность деталей каждая из которых сама по себе стремится упасть на землю. Но благодаря своим непрерывным совместным усилиям они преодолевают эту тенденцию.
54 Злопчинский
 
06.10.23
13:29
(53) кто эти люди?! я других слов не знаю.. ;-)
ладно, будем как обычно, поборюсь по системе "витязь" ;-)
55 worker-good
 
06.10.23
13:39
(54) Я раньше пугался и путался в абревиатурах: CSS, JavaScript, а теперь я за 2 дня научился на них писать, и это даже не: "Hello world", а намного, намного круче)
56 worker-good
 
06.10.23
13:43
(53) Я уже могу добавить в свое резюме строчку: "Опыт работы web-программистом: пишу на CSS и JavaScript"?)
57 Волшебник
 
06.10.23
15:26
(55) Вот что Волшебный форум животворящий делает! Даёшь стране больше веб-программистов!
58 Злопчинский
 
06.10.23
15:26
Действительно, Волешбный! ;-)
59 Волшебник
 
06.10.23
15:27
(54) Что за система "витязь"?

Я знаю систему "пионер": флаг в руки, барабан на шею и паровоз на встречу.
Ещё знаю шаманскую систему "танцы с бубном".

"Витязь" не знаю...
60 Злопчинский
 
06.10.23
15:27
(55) Время когда меня перло от новых технологий - давно прошло ;-) Везде те же грабли в разных видах ;-)
61 Волшебник
 
06.10.23
15:28
(58) Нет смысла обыгрывать мои опечатки, потому что я их исправляю через редактирование сообщений достаточно быстро.
62 Злопчинский
 
06.10.23
15:29
(59) по системе "Витязь" часто работают менеджеры в связке со складом:
Система "Витязь": сделал я, а вы еб...сь!
.
я надеюсь, тут люди с чувством юмора (я там выше специально смайлик влепил), а то еще забанят нафиг... Тут сейчас на форуме и чихнуть страшно...
63 Волшебник
 
06.10.23
15:30
(62)
Система "Витязь": сделал я, а вы еб...сь!


О... Это в перлы
64 Злопчинский
 
06.10.23
15:31
(61) ну уже и поржать нельзя что ли?! ;-)
что еще остается в жизни? серьезными будем - сопъемся раньше времени!
.
ладно, завязали оффтопить...
65 Волшебник
 
06.10.23
15:31
(64) Конечно, можно. Жизнь — это игра, а миста — это игра в игре, массовая MMORPG с прокачкой персонажа.
66 worker-good
 
06.10.23
15:38
Проверка эмодзи 👻
67 worker-good
 
06.10.23
15:45
🫵🍁🗽🌦️🧻💵 Прошу сообщить кто видит какие изображения в данном сообщении?
68 yurikmellon2
 
06.10.23
15:49
(67)
69 Волшебник
 
06.10.23
15:51
(68) Вот так хорошо
70 worker-good
 
06.10.23
15:52
(68) Шутник)))
71 Злопчинский
 
06.10.23
22:32
А почему сейчас желтый адвертисинг не показывается? только в рабочее время показывается?
72 vi0
 
07.10.23
04:45
Для телефона лучше, когда номер сообщения прижат вправо, а не в лево,т.к. увеличиваешь текст и смотришь правую часть экрана. Номер сообщения скрывается.
73 Волшебник
 
07.10.23
09:12
(72) Хорошо, что скрывается. Зачем его читать?

Но если очень хочется, то можно перенести его вправо:
.topicTable a.message-n {
   float: right;
   margin-left: 8px;
}
74 vi0
 
07.10.23
11:16
(73) Встречный вопрос - если его не нужно читать, то для чего выводить?
75 Волшебник
 
07.10.23
11:38
(74) Чтобы писать ответы
76 vi0
 
07.10.23
11:50
(75) Ну вот, первая причина. А вторая - можно видеть на что отвечали, по номерам в ответах.
77 Волшебник
 
07.10.23
11:51
(76) ОК, перенесите вправо. Скрипт в (73)
78 Волшебник
 
07.10.23
11:54
(71) Таких условий нет. Должен показываться
79 Злопчинский
 
07.10.23
12:36
(78) у меня не показывается... чёй-то пуля у вас не той системы ;-)
80 Злопчинский
 
07.10.23
12:46
И, кстати, массив адвертисингов (буду их так называть) маловат, часто повторяются, приедается. "Поширшее" бы сделать, побольше афоризмов/итд в массиве исходном.
.
я когда на ЗеБат! сидел - там есть возможность в настройках указать файл "девизов" и прилепить в любое место шаблона письма случайный девиз (я в подвал после подписи прилепил). А у меня файл таких девизов здоровенный был, я их специально сам собирал.
.
так почти постоянно получалось как бухия пришлет по почте какой вопрос, я сделаю, напишу ответ - случайно прилепляется девиз, причем почти всегда такой попадался, как будто я специально этим девизом бухгалтерию унижаю... ;-)
81 Волшебник
 
07.10.23
12:57
(80) Пришлите нам этот файл, мы прикрутим.
82 Злопчинский
 
07.10.23
13:07
(81) ууу, это сильное колдунство... ок, если не забуду и доберусь как-нить до десктопа, может и найду где-нить в своих файлопомойках/завалах, постараюсь, но не факт что сохранился...
83 Злопчинский
 
07.10.23
13:25
А на главной странице если ветка оформлена зачеркнутым шрифтом - это значит что автор ветки забанен?
84 Волшебник
 
07.10.23
14:30
(83) Это значит, что ветка удалена, скрыта для обычных пользователей
85 Волшебник
 
07.10.23
14:30
(79) Модераторам не показывается
86 AlvlSpb
 
07.10.23
15:06
Всегда для себя отмечал замечательную фишку форума - Заметный , на первом плане список пользователей в теме. Хочешь дискуссии - видишь есть ли оппонент. Можно вести живую беседу/обсуждение/спор. Видно, есть смысл ждать ответа или занимайся своими делами и изредка заглядывай в тему. Сейчас этого явно не хватает.
87 John83
 
18.10.23
10:06
почему не могу создать новую тему?
Нажимаю "отправить" и ничего не происходит.
88 Волшебник
 
18.10.23
10:08
(87) Вы уже создали целых 2 темы
89 Bigbro
 
18.10.23
10:20
с утра форум был недоступен уже дважды.
это новый движок виноват или не связанный процесс?
90 John83
 
18.10.23
10:20
(88) о_О
видать после "отправить" надо сразу обновить
спасибо
91 Волшебник
 
18.10.23
10:28
(89) Ничего не делали. Вчера вот nginx не стартовал, потерял свою папку /var/run/nginx
Непонятные глюки
92 Волшебник
 
18.10.23
15:16
(89) Лучше сообщайте мне лично в Телеграм https://t.me/staswiz
93 Волшебник
 
18.10.23
15:18
(90) Добавлена проверка типа "Дубль темы". Костыльное решение, но я не понимаю, что там происходит с вашими браузерами. У меня всё работает, ошибка не воспроизводится. Если Вы выйдете на онлайн-связь по ссылке выше, мы можем попытаться найти суть проблемы и решение.
94 Волшебник
 
18.10.23
15:20
(86) Это было нарушение приватности. Нельзя такое делать.
95 H A D G E H O G s
 
18.10.23
16:11
Чисто ради интереса - а сколько строк и объем данных в самых больших таблицах?
96 Волшебник
 
18.10.23
16:15
(95) Не больше 3 Гб в сжатом виде
97 CepeLLlka
 
18.10.23
16:38
Ребят, а у нас сайт написан на PHP? Или на чём? Сорри за тупой вопрос если что..
98 Asmody
 
18.10.23
17:09
99 Asmody
 
18.10.23
17:15
(96)+ в разжатом сильно больше:

MariaDB [mista]> select table_name as `table_name`, round(((data_length + index_length)/1024/1024), 2) as `Size_MB` from
 information_schema.tables where table_schema = 'mista' order by data_length+index_length desc;
+------------------------+---------+
| table_name             | Size_MB |
+------------------------+---------+
| archive_messages       | 8186.17 |
| forum_messages         | 6687.42 |
| archive_topics         |  364.08 |
| forum_mytopics         |  203.78 |
| archive_mytopics       |  149.69 |
| forum_log              |  143.30 |
| forum_topics           |  116.45 |
100 Asmody
 
18.10.23
17:24
В archive_messages 9+ млн.строк
в forum_messages 10+ млн.строк

Таблицы типа forum_messages и др. партиционированы по годам, поэтому, когда эту штуку включили, отпала надобность переносить строки в archive_*
101 Волшебник
 
18.10.23
17:32
(100) archive_messages тоже партицирована по годам на всякий случай
102 Волшебник
 
18.10.23
18:09
(97) Да. PHP 8.2 + ещё несколько языков: JavaScript, CSS, SQL и по мелочи Perl и всё такое.
103 Злопчинский
 
18.10.23
22:12
А что такое "твинки" в профиле?
104 Asmody
 
19.10.23
09:13
(103) это чтобы свинок проще вычислять. возможные дубли ников
105 Злопчинский
 
19.10.23
11:22
А может все-таки в страницу конкретного поста если не писать просматривающих тему, то хотя бы количество человек просто указать? хоть какой-то индикатор активности в теме...
106 Гена
 
19.10.23
11:40
(105) Скорее всего это трудно реализуемо технически.
107 Волшебник
 
19.10.23
11:42
(105) В прошлый раз мы с этого начинали.
108 Злопчинский
 
19.10.23
11:47
(107) Что я могу сказать... Знакомая дорога короче!
109 Волшебник
 
19.10.23
11:57
(108) Вот дорога:

⚡️Добавляем статистику "Сейчас в ветке N человек"
👨‍👩‍👦‍👦Народ начинает спрашивать, кто все эти люди. Нам важно знать автор в теме или нет. Как считается.
⚡️Расшифровываем по никам.
👨‍👩‍👦‍👦Народ начинает спрашивать, кто все эти люди. Почему я только зашёл и моё имя уже светится.
⚡️Добавляем настройку (личным скриптом каким-то), чтобы была возможность себя скрыть.
👨‍👩‍👦‍👦Народ начинает спрашивать, почему не все люди выводятся в списке.
И так далее по кругу...
110 Irbis
 
19.10.23
11:55
(105) Наличие ветки на первой странице и есть лучший индикатор активности
111 Волшебник
 
19.10.23
11:59
В ветке присутствуют люди, которые пишут. Это левая колонка. Всех остальных в ветке нет.
112 Волшебник
 
19.10.23
12:01
(110) 👍 Истинная правда!
113 Волшебник
 
19.10.23
12:02
Мы тут лайки прикрутили вообще-то. У сообщения (110) справа светится лайк из (112).
Никто не заценил
114 Гена
 
19.10.23
12:04
Можно бы рассмотреть золотую середину.
Ветку просматривают: ТС, здравомыслящих - 3, участников - 2, гостей - 12
115 DJ Anthon
 
19.10.23
12:05
(113) а как его поставить?
116 Волшебник
 
19.10.23
12:47
Вот так: (115) 👍
117 Волшебник
 
19.10.23
12:07
(114) Дискриминация по цвету штанов. Зачётно
118 Волшебник
 
19.10.23
12:09
(114) А ещё "В ветку подглядывают: 6 хард-модераторов". Ну чтобы не расслаблялись
119 Гена
 
19.10.23
12:13
(118) Думал об этом. Но тут лучше их анонимность.
120 Волшебник
 
19.10.23
12:13
У модераторов есть инструмент "Поток". Модератор видит все сообщения из всех веток сплошняком и даже может их редактировать. Он в них присутствует? Нет, конечно. Или да?
121 Irbis
 
19.10.23
12:15
(118) Это должен быть pop-up при входе и перед отправкой каждого поста у того, кто просит "огласить весь список", "в нагрузку" так сказать
122 Волшебник
 
19.10.23
12:18
(121) Давайте не будем усложнять хороший простой движок форума. Любая доп.информация при открытии ветки требует дополнительного запроса или левого внешнего соединения, препятствует кэшированию. Особенно, если там начинаются различия по правам/ролям.

Мне было очень сложно совместить кэширование ветки и кнопку-карандаш для редактирования своих сообщений.
123 Irbis
 
19.10.23
12:24
(122) Я всегда за простоту и лень. Даже получив задачу всегда спрашиваю что мне будет, если не сделаю, или сделаю не вовремя. Часто задачу назад забирают, на подумать над стимулом (морковкой с заду).
В (121) был сарказм, не стоило так серьёзно к подобному предложению относиться.
124 Волшебник
 
19.10.23
12:31
(123) Всё верно. Пока получается, что лучше ничего не делать, чем делать как было.

У меня есть карта функционала старого и нового движка. По этой карте 90% функционала реализовано, что позволило запустить новый движок в продакшн.
125 Волшебник
 
19.10.23
12:41
(103) Не очень доверяйте этому списку. Там работает искусственный интеллект. Там может быть правда, а может быть ложь. Информация без гарантий.
126 Kigo_Kigo
 
20.10.23
10:22
Интересно почему не подчеркиваются слова с ошибками и нет варинтов замены на правильное написание?
Очень не хватает, да я двоечник по правописанию и русскому, даже больше скажу, себе сам бы кол поствал :)))
127 Звездец
 
20.10.23
10:25
(124) этот пост подсказал идею. Если прикреплено несколько изображений, то неплохо было бы сделать возможность пролистывания после их открытия
128 dmt
 
20.10.23
10:38
(127) 🔥

(116) 💖 круто, но для этого приходится писать лишнее сообщение, а это флуд

лайк должен следовать сразу за ссылкой на пост
129 dmt
 
20.10.23
10:40
(116) 💖лайки в отредактированных постах работают, мультилайки работают
131 Kigo_Kigo
 
20.10.23
10:42
(130) 🔥
132 бегинер
 
20.10.23
10:51
(131) 👍
133 Kigo_Kigo
 
20.10.23
11:02
Тест цвета
кстати не хвататет пару эмодзи, это широкой улыбки и ржачь со слезами
134 ChMikle
 
20.10.23
11:10
раньше видно было наверху кто в ветке сидит . А сейчас нет
135 worker-good
 
20.10.23
11:20
(134) Об этом баге ему минимум по 8 раз в день сообщают. Но главный говорит, что это устаревшие технологии, в новых технологиях не видно кто сидит в ветках, а он за новые технологии
136 Kigo_Kigo
 
20.10.23
11:25
(135) Не выворачивайте, он говорит, что это нарушение приватности или что то типа того
137 yurikmellon2
 
20.10.23
11:33
а что у нас с голосованием? А то вдруг проснётся многолетний организатор сисечных новогодних мероприятий, а на форуме голосовалки нет...

а, не, пардон, всё в норме
138 Смотрящий
 
20.10.23
11:31
(133) Не хватает главного эмодзи - бодающего стену
139 Звездец
 
20.10.23
11:51
а может еще стоит прикрутить уведомление на почту при ответе на сообщение?
140 worker-good
 
20.10.23
11:59
(139) Еще смс на телефон и уведомление на Госуслуги
141 dedmoroz777
 
20.10.23
12:01
(140) Лучше открытку отсылать Почтой России
142 Звездец
 
20.10.23
12:05
(140) ну если серьезно, то подписку на уведомления в некоторых темах иногда хотелось бы
143 worker-good
 
20.10.23
12:36
(142) Тогда уж значок рядом с профилем, что есть непрочитанные сообщения со ссылкой на сообщения, только как это отслеживать, шишь знаешь
144 Irbis
 
20.10.23
12:52
(139) Не стоит, иногда бывает по нескольку сотен сообщений в час в ветку сыпется.
(143) Есть такая фича, на медленных форумах полезная штука (темы с непрочитанными сообщениями), а здесь я бы подумал.
145 dmt
 
23.10.23
09:22
не будет, видимо, новой версии миста-скрипта от А.Ситникова и других героев, поэтому пришлось самому ваять тултипы

Скрипт для тултипов

$(document).ready(function(){
	prepareTooltips();
	postRefresh();
});

$( document ).ajaxSuccess(function( event, xhr, settings ) {
	prepareTooltips();
	postRefresh();
});

function postRefresh() {
	console.log('postRefresh');

	// выделить ветки с моим участием
	$a = $('a.mylast');
	$a.closest('tr').css({"background":"#bdecb6"});

	// это ветка
	if (typeof JS_TOPIC_ID !== 'undefined') {
		// подсветить сообщения автора ветки
		$tr0 = $('tr.message-row[data-key="' + JS_TOPIC_ID + '#0"]');
		ts = $tr0.find("a.message-user").data("user-id");
		$a = $('a.message-user[data-user-id="' + ts + '"]');
		$a.closest('td').css({"background":"#bdecb6"}); // цвет
		
		// подсветить свои сообщения
		$a = $('a.message-user[data-user-id="'+JS_ENTERED_USER_ID +'"]');
		$a.closest('td').css({"background":"#f2e8c9"}); // цвет
		
		// скрыть все сообщения указанных пользователей (игнор-лист)
		hideNames = ["Масянька"]; // имена пользователей
		for (var k in hideNames) {
			$a = $('a.message-user[data-user-name="' + hideNames[k] + '"]');
			$a.closest('tr').css({"display":"none"});
		};
		
		// по умолчанию включить оформление нового сообщения
		$("#decor").prop("checked",true);
		$('div.decor-panel').show();
   };
   
};

function prepareTooltips(){
	
	console.log('prepareTooltips');
	
	// при клике в любом месте документа спрячем все подсказки
	$('body').click(function(){
		$('div.tooltip').hide();
	});
	
	// вывод подсказок (тултипов, в т.ч. вложенных) для ссылок на посты, например: (0)
	// работает, если вызывается из $(document).ready
	$a_outlink = $('a.outlink');
	defineTooltipsForLinks($a_outlink);

	$a_inlink = $('a.inlink');
	defineTooltipsForLinks($a_inlink);
		
}

function defineTooltipsForLinks($a_xlink){
	
	$a_xlink.css({"background":"#ffeeee"}); // сигнализирует о работе скрипта
	
	$a_xlink.hover(function(){
		
		// получим содержимое подсказки по ссылке
		linkedPostId = $(this).attr('href').slice(1);
		$linkedPost = $('#m' + linkedPostId);
		
		linkedPostHTML = $linkedPost.html();
		linkedPostAuthor = $linkedPost.closest('tr').find('a.message-user').attr('data-user-name');
		linkedPostHeader = `#${linkedPostId} - ${linkedPostAuthor}`;
		
		// получим id элемента подсказки
		if (this.className == 'outlink')
			thisPostId = this.closest('div').id;
		else // inlink
			thisPostId = this.closest('td').id.replace('inLinks', 'm');
		tooltipId = `ttp_${thisPostId}_${linkedPostId}`;
		
		
		// проверим, существует ли элемент подсказки, если нет - создадим 
		tooltipElement = $('#' + tooltipId);
		if (!tooltipElement.length) { // элемент не найден по id, создадим
			//		окно
			//			position:absolute - абсолютные координаты
			//			border - рамка
			//			margin - отступ внешний
			//			padding - отступ внутренний (поля текста)
			//			box-sizing: border-box - внутренний отступ НЕ увеличивает ширину
			newDivHTML = `<div id="${tooltipId}" class="tooltip" 
					style="position:absolute; 	
									background:#eeeeee; 
									border: 1px solid;	
									margin: 10px;
									padding-left: 5px;
									padding-right: 5px;
									padding-top: 0;
									padding-bottom: 5px;
									box-sizing: border-box; 	
									width:800px;">
						<span class='tooltipHeader' 
							style="font-size: 70%;
										color: #555555;
										padding: 0">
							${linkedPostHeader}
						</span>
						<br>
					${linkedPostHTML}
				</div>`;
			$tooltipElement = $(newDivHTML);
		
			// расположим по месту текущей ссылки
			thisOffset = $(this).offset();
			if (this.className == 'outlink'){
				leftPos = thisOffset.left;
				topPos = thisOffset.top;
			}
			else { // inlink
				leftPos = thisOffset.left - $tooltipElement.width() - 20;
				topPos = thisOffset.top;
			};
			
			$tooltipElement.css({
				'left': leftPos + 'px', 
				'top': topPos + 'px'
				});
			//console.log($tooltipElement); // отладка
			
			// добавим события
			$tooltipElement.click(function(){
				$(this).hide();
			});
			
			$tooltipElement.mouseleave(function(){
				$(this).hide();
			});
			
			// добавим готовый элемент в документ
			$('body').append($tooltipElement);
			
			// для подчиненных ссылок на посты - вызовем этот обработчик
			$children_a_outlinks = $('#' + tooltipId).find('a.outlink');
			defineTooltipsForLinks($children_a_outlinks);
		}
		else { // элемент уже есть, покажем
			tooltipElement.show();
		};
		
	},
	function(){
		
	});
}

// добавить вспомогательные кнопки Вверх, Список тем
$('#buttonBookmarkTopic').before('<a href="#0" class="sendbutton" style="margin-right:15px; margin-left:20px; background-color:#EEE; border: 1px solid #666; height:30px; font-size:78%;">Вверх</a>');
$('#buttonBookmarkTopic').before('<a href="/" class="sendbutton" style="margin-right:30px; margin-left:5px; background-color:#EEE; border: 1px solid #666; height:30px; font-size:78%;">Список тем</a>');

// разместить вспомогательные кнопки слева, "Совет дня" - справа
$('#topicAssistButtons').css({
	'float': 'left',
	'margin-left': '10px'
});
$('div.advice').css({
	'float': 'right',
	'margin-left': '10px',
	'margin-right': '10px',
	'border-left': '1px solid #8f8116',
	'border-right': '0',
	'border-radius': '10px 0 0 10px'
});
// отделим плавающие элементы от поля ввода сообщения
$('form#replyForm').before('<div style="clear:both"></div>');
146 dmt
 
23.10.23
08:23
Комплекс скриптов со следующим функционалом

//	Для списка тем
// выделить ветки с моим участием

// 	Для ветки
// подсветить сообщения автора ветки
// подсветить свои сообщения
// скрыть все сообщения указанных пользователей (игнор-лист)
// по умолчанию включить оформление нового сообщения
// !! вывод подсказок (тултипов, в т.ч. вложенных) для ссылок на посты, например: (0)
// добавить внизу вспомогательные кнопки Вверх, Список тем 
// разместить вспомогательные кнопки слева, а "Совет дня" - справа
147 dmt
 
24.10.23
15:17
Коллеги, кто разбирается в js, есть вопрос: как можно в браузере (в инструментах разработчика) перейти к функции, назначенной для события onclick? Или хотя бы определить, в каком из подключаемых скриптов она находится?
148 dmt
 
24.10.23
15:25
ответ: на закладке Отладчик, на левой панели, на закладке Поиск - поискать по названию
149 Волшебник
 
24.10.23
15:26
(147) (148) Главное не мешать человеку! 👍
150 dmt
 
24.10.23
15:31
(149) 🤦 кстати, есть баг: при нажатии кнопки оформления "ну как так" выводится женское эмодзи, хотя на кнопке - мужское
151 Волшебник
 
24.10.23
15:39
(150) На кнопке зафиксированная картинка, а выводится многобайтный символ, который в каждом браузере свой.
152 dmt
 
24.10.23
15:46
(150) 🤦 хром
153 dmt
 
24.10.23
15:48
🤦 яндекс-браузер

в трех браузерах одинаковая - женская (FF, chrome, Y)
154 Волшебник
 
24.10.23
16:00
(153) Вы не понимаете. Это другое...
155 dmt
 
24.10.23
16:02
вот что пишут в интернетах:

Юникод (полностью квалифицированный)    🤦‍♂️ U+1F926 U+200D U+2642 U+FE0F
Юникод (минимально квалифицированный)    🤦‍♂ U+1F926 U+200D U+2642
Сделано из    U+1F926 🤦 Человек, закрывающий лицо рукой
U+2642 U+FE0F ♂️ Мужской знак
156 dmt
 
24.10.23
16:14
в общем, надо заменить в insertSmile()
String.fromCharCode(55358, 56614)

на
'\ud83e\udd26\u200d\u2642\ufe0f'
157 Гена
 
24.10.23
16:22
Дожили... радуга под запретом, голубой цвет не упоминай... теперь и пол у эмодзи не нравится...

Куда мир катится?
158 Новиков
 
24.10.23
16:33
(157) 🤦
159 Гена
 
24.10.23
16:36
(158) )))))
160 SleepyHead
 
24.10.23
17:06
(145) Да за что ж её так..
161 Волшебник
 
24.10.23
20:22
(158) Кстати, этот эмоджи выпросил Новиков. Ему спасибо скажите
162 Pprog151713
 
25.10.23
06:32
А как смайлики то ставить. Это прикольный рука лицо. Если не копированием?
163 Pprog151713
 
25.10.23
06:33
Код смайлика как-то подставлять?
164 Kigo_Kigo
 
25.10.23
08:58
(162) Вот сюда написать заявку на доступ к фичам форума
Доступ к новым фичам форума (роль Здравомыслящий)
(154) что насчет  (126) ?
165 Pprog151713
 
25.10.23
09:11
А вижу галочка оформление. 👍
166 Волшебник
 
25.10.23
09:15
(165) 🤦
167 Stepashkin
 
25.10.23
09:17
(166) 🔥
168 Pprog151713
 
25.10.23
09:19
Сердечко там есть, а смайлика нету...... Не плохо бы добавить.
169 Волшебник
 
25.10.23
09:23
(168) Неплохо бы писать "неплохо" слитно.
170 Волшебник
 
25.10.23
09:24
Кнопки со смайликами мы потом заменим на одну кнопку с выпадающим меню.
171 Pprog151713
 
25.10.23
09:25
(170) 👍
172 dmt
 
25.10.23
09:25
(161)🤦‍♂️ постановка задачи видимо была неполной

переопределить фейспалм на нормальный можно таким скриптом:
$('#facepalm')[0].onclick = NaN;
$('#facepalm').off('click'); 
$('#facepalm').click(function(){insertTags(this, '\ud83e\udd26\u200d\u2642\ufe0f', '')});
173 dmt
 
25.10.23
09:26
(170) 🔥 и чтобы в пользовательском скрипте можно было список эмодзи расширить
174 Гена
 
25.10.23
09:37
Может не будем превращать форум в филиал женского типа Мамочек, где няшки, мимишки и рюшечки?
Мужской форум должен быть груб, вонюч и волосат.
175 Новиков
 
25.10.23
09:49
(174) т.е. ты против эмодзи в виде единорожика, блюющего красивой розовой радугой, я правильно понял?
176 Irbis
 
25.10.23
09:55
(175) Я вообще против этих недоухмылочек. Если кто с текста отношения не понимает, тому и эмодзи не помогут.
177 dmt
 
25.10.23
09:57
(174) 🤦‍♂️ в пользовательских скриптах можешь подменять все лайки  на странице на 🤮, а огонь на 💩, получая удовлетворение от развернувшейся картины
178 Гена
 
25.10.23
09:59
(175) 😏
179 Злопчинский
 
25.10.23
23:58
(145) в списке тем ветки с "Моим" участием подсвеичваются зеленым = ок. Но внутри ветки мои сообщения подсвечиваются (в левом столбце) кирпичным - почему...???
.
если в скрипте поменять наоборот цвета подсветки "свои" и "автора ветки" - ставновится правильно. Даже если я = автор ветки
180 dmt
 
26.10.23
09:36
(179) цвета можно настроить как удобно, но логика была такая:
зеленым выделяется важная информация. В списке тем это интересные мне ветки, а внутри темы - посты автора (интересны они тем, что там есть уточнения задачи, ход решения и результат). А мои посты внутри темы мне не особо интересны
181 Злопчинский
 
26.10.23
13:04
(180) норм, но получается немного криво, когда я - автор ветки. Интересные мне темы (!Я! участвую внутри ветки) - отмечены зеленым, а внутри ветки если Я=автор - кирпично... получается бяка. А так как выше написал - все что интересно мне (список тем где внутри веток я участвую = зеленым, и внутри ветки где я участвую в топике ветки - тоже зеленым, даже если я = автор ветки). а вот если я - не автор ветки - то ветки выделяются зеленым и внутри ветки я = зелным, а автор - кирпичнеым. и получается ок.
182 Злопчинский
 
26.10.23
13:06
(145) есть какой-то дискомфорт с тултипами. Как японял они закрываются если мышь проходит поверх их? можно как-то сделать чтобы их можно было закрывать по кнопочке в уголке тултипа?
183 Злопчинский
 
26.10.23
13:13
Волшебник
В карточке профиля указан емайл текстом, а хотелось бы чтобы было "ссылкой" - жмакнул - открылся почтовый клиент чтобы с заполненным полем Кому...
184 dmt
 
26.10.23
13:17
(182) чтобы тултип не закрывался при сходе с него указателя мыши, надо закомментировать одну строчку вот здесь:
			$tooltipElement.mouseleave(function(){
				//$(this).hide();
			});


тогда останется 2 способа закрыть тултип: кликнуть по нему, либо кликнуть в любое место на странице (тогда закроются все открытые тултипы)
185 Злопчинский
 
26.10.23
14:35
(184) во, клик по ТТ д. Б. Норм!
186 Волшебник
 
26.10.23
15:51
(183) Скопируйте и вставьте
187 Волшебник
 
26.10.23
15:52
(183) "почтовый клиент"... Все пользуются веб-почтой, а Злоп ещё сидит в TheBat! наверное
188 Kigo_Kigo
 
26.10.23
16:13
(187) У него собственный ексчендж и аутглюк👍🔥
189 Arbuz
 
26.10.23
17:16
(184) Вот спасибо тебе, мил человек!
А можно сделать чтобы по клику на конкретном тултипе закрывался только именно он, а не все?

ЗЫ: Не стал особо разбираться просто закостылил:

$('body').click(function(){
на
$('table').click(function(){
190 Новиков
 
26.10.23
17:23
(187) Злоп ещё сидит в TheBat! наверное

Надо с более простых проблематик начать: какая ОС у Злопа? Допускаю, что он еще даже не все сервис-паки на XP свою накатил.
191 Arbuz
 
26.10.23
17:35
(190) Изначально это не проблематика, а другая парадигма (про почту). Я, например, тоже пользуюсь почтовиком (thunderbird). Мне удобно, что почта есть локально, не нужно тягать одно и то же с сервака(ов) при каждом открытии письма, не зависишь от функционала вебсервиса(ов) и его безумных дизайнеров.
192 Злопчинский
 
26.10.23
18:09
(190) Вот не надо меня унижать. Можете меня унижать только деньгами, причем желательно сильно унижать большими деньгами ;-)
.
лично я сижу на Вин10.
.
по почтовику (браузерные не люблю фейсы, этоесли на выезде).
Штатный виндявый - уж сильно простой, фильтров в нем нет и прочих вкусностей. Текущий Тандерберд - тупит, работаю пока с ним преимущественно. ХЗ что с ним/со мной не так - но часть фильтров работает автоматом, часть не работает, только запуск вручную. Причем сам Тандерболт какой-то немногопоточный - задумывается на операциях...
.
С Аутглюуом у меня изначально не сложилось, когда он и ЗеБат были молодыми, ЗеБат умел держать почтовый ящик на дискете, Аутглюк такой возможности штатно не имел. Да и мне как программисту (я им еще в то время был, а не таким тупым 1Сником как сейчас) ЗеБат был логичнее и понятнее. Аутглюк просто чемто бесил, и я в нем тупил регулярно. ЗеБат у меня купленный официально, просто в одно время продлевать не стал когда треволнения всякие пошли, сейчас вернусь домой, подыму лицензию и продлю/куплю ЗеБат.
193 Злопчинский
 
26.10.23
18:09
(186) "Молчать, господа гусары!"
194 Злопчинский
 
26.10.23
18:13
(184) сделал, работает! уже лучше! а как сделать чтобы по клику на ТТ закрывался только тот по которому жмакнули?
195 Злопчинский
 
26.10.23
18:17
(190) я, кстати, люблю накатывать обновления. ну вот такой бзик у меня, что должны стоять все обновления. На домашнем ноуте/компе - так и делаю, на конторском(их) политикой обновлений рулит сисадмин.
.
кстати, накатывая обновления операционки, столкнулся с тем, что обновления не проходят, откладывал на потому, гуглил. Потом поборол так - надо обновить драйвера железа (ноут Acуc), я их обычно не обновляю...
196 Злопчинский
 
26.10.23
18:21
(190) в тех же вебмордах (а основная почта у меня на майл he с хз каких времен и облако там на 1ТБ) на майл.ру - количество фильтров ограничено.
197 Волшебник
 
26.10.23
19:12
(192) >> подыму лицензию и продлю/куплю ЗеБат.

Не купишь. Они ушли из России
198 Злопчинский
 
26.10.23
20:08
(197) хм.. а как они ушли если принимают платежи по Мир, СБП, СберПэй, ВТБ...?
199 Злопчинский
 
26.10.23
20:53
(145) еще бы сделать:
есть ссылка на картинку или тумбнаил картинки - при жмаке на нем чтобы открывалось дочернее окошко (оно и сейчас открывается) подогнанное под размер картинки, если картинка больше размера окошка - то окошко максимального размера (влазит в окошко браузера) и картинка подогнана под размер окошка.
200 Волшебник
 
26.10.23
20:54
(198) Значит это уже не они.
201 Djelf
 
26.10.23
21:11
(198) Они коварные. Платеж примут, а потом твой винт хрясь и все.
Слушей Волшебника, и больше никому не верь!
Мне тоже можно (где тут смайлик миленькая морда?)
202 Новиков
 
26.10.23
21:37
(201) 🤦
203 Злопчинский
 
27.10.23
12:58
подыму по 199...
204 Arbuz
 
27.10.23
13:37
(194) см (189)
205 dmt
 
27.10.23
13:46
(199) есть ощущение, что сейчас реализован какой-то временный вариант отображения картинок и он будет дорабатываться. Так что адекватное окно с картинкой и переход к след/пред картинке - это админу в пожелания
206 dmt
 
27.10.23
13:48
(194) закомментировать одну строчку вот здесь, тогда каждый тултип придется прокликать, чтоб закрыть
	
	$('body').click(function(){
		//$('div.tooltip').hide();
	});
207 Волшебник
 
27.10.23
13:50
(205) Принято
208 RomanYS
 
27.10.23
20:57
А что форум теперь съедает переносы.
Тест:
первая строка
вторая строка
(209) третья строка

Здесь норм, а в ветках съедало пару точно.
209 Волшебник
 
27.10.23
20:56
(208) Съел?
210 Волшебник
 
27.10.23
20:57
Нехуй сюда ботов прикручивать... Извините
211 Злопчинский
 
28.10.23
16:13
А как в настройках получить из виндов размер шрифта ОС (в процентах), чтобы от этого значения устанавливать для разных масштабов - разное колво строк в списке на главной странице?
212 Волшебник
 
28.10.23
16:20
(211) Обычно скрипт в браузере не имеет доступа к ОС. Если есть способы, то мне тоже интересно.
213 Злопчинский
 
28.10.23
17:05
.. может можно какими-то другими параметрами определить, которые доступны браузеру...
или сделать как-то чтобы колов строк на экране в главном списке тем считалось автоматом так, чтобы влазил список тем с кнопкой "НОВАЯ ТЕМА"
214 Волшебник
 
28.10.23
17:13
(213) Нет
215 Волшебник
 
28.10.23
17:15
(213) Зато можно скриптом перекинуть кнопку "Новая тема" в удобное место
216 worker-good
 
29.10.23
10:31
(215) Я резюме свое отправил рекламодателю Газпрома. Я помогаю зарабатывать деньги на хостинг. Я помогаю развитию форума.  Прошу восстановить мне права "Здравомыслящего"
217 Волшебник
 
29.10.23
12:30
(216) Отказ
218 mikecool
 
29.10.23
13:58
(216) смешной ты
219 Злопчинский
 
29.10.23
23:50
Как сделать чтобы окошко редактирования (э пенсил) было пошире?
220 Волшебник
 
30.10.23
09:10
(219)  сделать окошко редактирования пошире

CSS
.editMessageForm textarea.message-text {
   width:800px;
}
221 Хранимая Процедура
 
30.10.23
09:45
Новый движок форума должен быть заново написан на этом языке!

https://dtf.ru/howto/2226770-python-proshchay-v-seti-poyavilsya-yazyk-programmirovaniya-drevnih-rusov
222 Волшебник
 
30.10.23
10:12
(221) Это не язык, а смешные синонимы
223 Arbuz
 
30.10.23
16:05
(221) На си_два_плюс писать движки сайтов — такое себе извращение.
224 Злопчинский
 
05.11.23
03:43
А меняли в движке недавно что-нибудь меняли?
На тлф в портретной ориентации всë съехало, ширина колонок неадекватная
225 Волшебник
 
05.11.23
09:53
(224) Ничего не трогали, ничего не меняли
226 Хранимая Процедура
 
05.11.23
11:20
(225) но Солнце продолжает заходить на 10 минут раньше обычного.
227 Волшебник
 
05.11.23
11:48
(226) Забористая трава
228 Злопчинский
 
05.11.23
19:59
скрипт для мобильного

@media (orientation: portrait) {
    body {
        font-family: 'Noto Sans', sans-serif;
        max-width: 100vw;
        color: #212121;
    }

    img {
        max-width: 100vw;
    }

    .hide_mobile {
        display: none !important;
    }

    #nav .knowledge,
    #nav .sections,
    #nav .job,
    #nav .about {
        display: none;
    }

    #quick-search-form {
        display: none;
    }

    #top-banners {
        display: none;
    }

   .plus {width: 10px; }
   .replies {width: 20px; }
   .topic {width: 100%; }
   .arena { display:none; }
   .section { display:none; }
   .author { display:none; }
   .updated { display:none; }

   .topicTable col.left {
       width: 170px;
   }

}

на смартфоне в ландшафтной ориентации
вот такая хрень https://wdfiles.ru/1rYfx
229 Злопчинский
 
05.11.23
20:00
полагаю что для ландшафта следует скопипастить код, поменять
orientation: portrait - на что? landscape..?
230 Злопчинский
 
05.11.23
20:02
попробовал сделать дубль секции @media и ориентацию задать landscape - не работает/не получилось...
231 Злопчинский
 
05.11.23
20:04
сейчас вот так:
@media (orientation: portrait) {
    body {
        font-family: 'Noto Sans', sans-serif;
        max-width: 100vw;
        color: #212121;
    }

    img {
        max-width: 100vw;
    }

    .hide_mobile {
        display: none !important;
    }

    #nav .knowledge,
    #nav .sections,
    #nav .job,
    #nav .about {
        display: none;
    }

    #quick-search-form {
        display: none;
    }

    #top-banners {
        display: none;
    }

   .plus {width: 10px; }
   .replies {width: 20px; }
   .topic {width: 100%; }
   .arena { display:none; }
   .section { display:none; }
   .author { display:none; }
   .updated { display:none; }

   .topicTable col.left {
       width: 170px;
   }

}

@media (orientation: landscape) {
    body {
        font-family: 'Noto Sans', sans-serif;
        max-width: 100vw;
        color: #212121;
    }

    img {
        max-width: 100vw;
    }

    .hide_mobile {
        display: none !important;
    }

    #nav .knowledge,
    #nav .sections,
    #nav .job,
    #nav .about {
        display: none;
    }

    #quick-search-form {
        display: none;
    }

    #top-banners {
        display: none;
    }

   .plus {width: 10px; }
   .replies {width: 20px; }
   .topic {width: 100%; }
   .arena { display:none; }
   .section { display:none; }
   .author { display:none; }
   .updated { display:none; }

   .topicTable col.left {
       width: 170px;
   }

}
232 Злопчинский
 
05.11.23
20:05
т.е. отображение должно быть аналогичным в обеих ориентациях экрана, но в портрете норм, а в ландшафте - осталось как и было
233 Волшебник
 
05.11.23
20:06
Вы испортили себе скриптом внешний вид форума. На этот случай надо почистить куки, чтобы сбросить флаг "Применить скрипты". Затем надо зайти в настройки и исправить скрипт.

Ориентацию "ландшафт" не ставьте, не советую
234 Злопчинский
 
05.11.23
20:43
(233) что я испортил? Ландскайп я вкорячивпл после обнаружения кривизны
235 Злопчинский
 
05.11.23
20:43
Ну, попробую почистит  Кеши и куки
236 Злопчинский
 
05.11.23
20:49
Попробовал другой браузер - норм. Значит в основном надо почистить
237 notatall
 
05.11.23
21:45
Куда пропала кнопка-стрелка прокрутки в начало? Хотелось бы ее обратно.
238 Злопчинский
 
05.11.23
22:08
Пробовал в глхром на тлф почистить куки и прочее, почистил что сообразил - но вот без изменений...
239 vi0
 
09.11.23
05:56
верните разбиение темы на страницы
240 Волшебник
 
09.11.23
07:10
(239) Не требуется и мешает кэшированию.
241 Волшебник
 
09.11.23
07:09
242 notatall
 
09.11.23
07:14
(241) О, то что надо. Благодарю.
243 vi0
 
09.11.23
08:14
(240) кому не требуется?
244 vi0
 
09.11.23
08:15
(240) не баг, а фича?)
245 CepeLLlka
 
09.11.23
08:31
Мне кажется что-то случилось с полосками около никнейма. Такое ощущение что почти у всех они длинные по максимуму, а короткие только вот у тех кто почти только-что зарегался. Пропала разница например между 10 лет стажа на форуме и 2 годика. Хотя может быть её и не было никогда, может мне показалось прост..
246 Волшебник
 
09.11.23
08:56
(245) После 1 года на форуме полоска становится максимальной длины
247 Гена
 
09.11.23
09:02
(245) Можно звёзды ввести как у футбольных клубов... одна маленькая - год, большая - 5 лет...
Например, у Вас три больших и одна маленькая.
248 Волшебник
 
09.11.23
09:03
(247) У нас уже были звёзды. Это уже проходили
249 notatall
 
09.11.23
18:19
(243) Без страниц стало лучше, я сразу это заметил. Нет перескакивания с одной страницы на другую когда тыкаешь на номера сообщений в ответах.
250 Волшебник
 
09.11.23
18:23
(249) 👍
251 Злопчинский
 
09.11.23
18:25
хочется чтобы в скрипт для мобильного дивайса была КНОПКА "форум" (переход на главную со списком веток) возле "закладка,обновить"
252 notatall
 
09.11.23
18:36
(250)👍
253 notatall
 
09.11.23
18:36
О, не знал что так можно!
254 Волшебник
 
09.11.23
19:48
(253) 🤦
255 Волшебник
 
12.11.23
00:08
(251) Блин, это же так просто...
Книга знаний: Скрипты для Волшебного форума

Кнопка "Список" справа от кнопки "Обновить" для перехода к списку тем

JavaScript:
$('#buttonRefreshTopic').after('<a href="/" class="sendbutton" style="margin-right:15px; margin-left:5px; background-color:#EEE; border: 1px solid #666; height:30px; font-size:78%;">Список</a>');
256 Волшебник
 
09.11.23
19:55
(255) Ладно, я шучу про |просто|. Тут сразу пачка технологий: JavaScript, jQuery, CSS, HTML.
Ну извините...
257 Волшебник
 
09.11.23
21:11
(253) Список лайков утверждается председателем совета президентов консилиума разработчиков мисты, то есть мной.
258 Злопчинский
 
09.11.23
21:48
(255) правильно так:
...after('<a href="/?rows=25" class="sendbutton"...
если надо указать кол-во тем, отличное от умолчания
259 Злопчинский
 
09.11.23
21:50
(255) это не работает (кнопарь не отображается), если смотреть на смартфоне, в (251) про мобильный дивайс упомянуто
260 notatall
 
09.11.23
21:55
(257) Огласите весь список, пожалуйста.
261 notatall
 
09.11.23
21:59
Я понял фишку. Так как форум программистов, то каждый сам себе добавляет фичи по вкусу.
262 Asmody
 
09.11.23
23:06
(261) одной из идей была оставить только API. и каждый сам себе пишет клиента.
но мы ж не линуксоиды красноглазые, а вполне себе человеколюбивые одинесники (на самом деле нет)
263 Волшебник
 
09.11.23
23:22
(261) Вы угадали. Я провёл системный анализ личных настроек и понял, что 90% из них обрабатывает клиент, а на сервере можно сделать мощное кэширование.

Я провёл системный анализ всех личных настроек старого движка и они все оказались реализуемы личными скриптами. Чтобы не засорять программный код разными условиями с раскрасками, всё было почищено. Теперь всё скриптами. Более того, разметка страницы подготовлена к этому.


OFF: ТехИнфо: новый движок форума#239
264 notatall
 
10.11.23
00:26
(263) 👍🏼
265 Bigbro
 
10.11.23
16:23
подлагивает последние минут 10.
266 Волшебник
 
10.11.23
16:24
(265) Это мы переводим движок форума на 1С ERP. Ожидайте, пожалуйста.
267 Волшебник
 
10.11.23
19:50
Прикрутил многофункциональную голосовалку.
268 Злопчинский
 
10.11.23
20:12
А (256)...?

А как теперь сделать вот так?
269 notatall
 
10.11.23
20:50
Хочу посмотреть что это

Прошу роль Здравомыслящий
270 Волшебник
 
10.11.23
20:53
(269) Права даны
271 Волшебник
 
10.11.23
20:54
(268) Грамотнее формулируйте вопросы. В (256) комментарий по поводу решения (255) на проблему (251)
272 notatall
 
10.11.23
20:56
(270) Вижу разницу! :))) Спасибо!
273 Волшебник
 
10.11.23
20:57
(272) Мне будет интересно получить обратную связь. Жгите! 🔥
274 notatall
 
10.11.23
20:59
(273) 👍🏿
275 Волшебник
 
10.11.23
21:00
(274)👍 Хм... Какой-то странный лайк, явно не из панели оформления.
276 notatall
 
10.11.23
21:07
(275) Если нажать на клавиатуре ⊞ + . то будет панель с такими лайками и смайлами. Можно менять цвет кожи под негров, китайцев, индейцев, и прочих.
277 Волшебник
 
10.11.23
21:19
(276) Это не наше. Не надо так делать. Пользуйтесь флажком "Оформление" и одобренными лайками согласно (257)
278 Волшебник
 
10.11.23
21:27
Между "одобренными мною" и "дикими" лайками/(эмоциями реакций) есть разница:

✔ "Одобренные мною" отражаются справа от сообщения.
➖ "Дикие лайки" просто проникают в базу по праву Юникода. Их видно в ВАШЕМ сообщении, но их не видно справа от адресного.
279 notatall
 
10.11.23
21:23
(277) Без проблем.
Я как тестировщик, нашел "как не надо делать".
280 notatall
 
10.11.23
21:27
(278) Точно, я поставил негритянский лайк, а к сообщению прикрепился обычный желтый. В принципе, все логично, это не баг.
281 Волшебник
 
10.11.23
21:29
(279) Это особый талант тестировщика. Его даже иногда указывают в резюме.
Для админов есть ещё магический софт-скил "Подхожу и сразу работает".
Эту магию не изучает наука, хотя уже указывают в резюме.
282 notatall
 
10.11.23
21:31
💖
283 Злопчинский
 
10.11.23
21:42
(271) Сформулирую еще раз для разработчиков, оторванных от реальности (прям как 1С) ;-)
.
В личных скриптах у меня настроено в соответствии с рекомендациями в книге знаний по "Кнопка "Список" справа от кнопки "Обновить" для перехода к списку тем".
.
Также в личных скриптах в соответствии с рекомендациями из книги знаний настроена секция @mobile
.
В браузерах на десктопе (ноутбук) кнопка "Список" отображается и работает.
.
в браузерах на смартфоне кнопка "Список" - не отображается.
.
Вопрос: как сделать кнопку "Список" на мобильном устройстве?
284 notatall
 
11.11.23
05:30
(247)
Вот звезды:
(async () => {
    const userDatesStr = localStorage.getItem('userDates')
    const cachedUserDates = userDatesStr === null ? {} : JSON.parse(userDatesStr)
    const cachedUserIds = Object.keys(cachedUserDates)

    const userNodes = Array.from(document.getElementsByClassName('message-user'))
    const allUserIds = userNodes.map(userNode => userNode.dataset.userId)
    const uniqueUserIds = allUserIds.filter((val, i, arr) => arr.indexOf(val) === i)

    const uncachedUserIds = uniqueUserIds.filter(x => !cachedUserIds.includes(x))

    const userDatesPromises = uncachedUserIds.map(async userId => {
        const responseText = await (await fetch(`/user/${userId}`)).text()
        const doc = new DOMParser().parseFromString(responseText, 'text/html')
        const regString = doc.querySelector('.registered .right').innerText.trim().substring(0, 10)
        const dateParts = regString.split('.')
        const regDate = new Date(+dateParts[2], +dateParts[1] - 1, +dateParts[0])

        return [ userId, (Date.now() - regDate) / 31536000000 ]
    })

    const additionalUserDates = Object.fromEntries(await Promise.all(userDatesPromises))
    const mergedUserDates = { ...additionalUserDates, ...cachedUserDates }
    localStorage.setItem('userDates', JSON.stringify(mergedUserDates))

    userNodes.forEach(userNode => {
        const userId = userNode.dataset.userId
        const years = mergedUserDates[userId]
        const bigStarsCount = Math.floor(years / 5)
        const smallStarsCount = Math.floor(years % 5)
        const newUserLine = document.createElement('div')
        newUserLine.className = 'user-line'
        newUserLine.innerHTML = '★'.repeat(bigStarsCount) + '<span style="font-size: small;">' + '★'.repeat(smallStarsCount) + '</span>'
        newUserLine.style.width = '250px'
        newUserLine.style.backgroundImage = 'unset'
        userNode.nextElementSibling.replaceWith(newUserLine)
    }, undefined)
})()




285 MyNick
 
11.11.23
04:30
Обсуждение нового движка...
А где он, этот новый движок?
286 notatall
 
11.11.23
04:48
(251) Кнопка "форум" и так есть слева внизу. Зачем тебе еще одна?
287 worker-good
 
11.11.23
05:43

Прошу роль Здравомыслящий
288 dmt
 
11.11.23
08:12
(284) 🔥
289 Волшебник
 
11.11.23
09:39
(287) У Вас в октябре уже 2 бана было, а ноябрь только начался. Подождём пока
290 Злопчинский
 
11.11.23
14:22
(286) 1. там не кнопка, а ссылка 2. на мобиле тыкать в мелкошрифтовую ссылку - целиться надо, кнопка как на десктопе - удобнее
291 vi0
 
11.11.23
14:28
(249) согласен так то, мотать портянки что ни есть а движение мышцами, полезно для здоровья
292 Злопчинский
 
11.11.23
16:10
- На что жалуетесь?
- Доктор, меня все игнорируют!
- Следующий!
293 Волшебник
 
11.11.23
16:41
(283) Вы опять играетесь с личными скриптами? Забыли, что было в прошлый раз? Вы так доиграетесь...
294 Волшебник
 
11.11.23
16:52
(283) >> в браузерах на смартфоне кнопка "Список" - не отображается.

Это какая-то чушь. У меня всё работает
295 Волшебник
 
11.11.23
16:55
Вот скриншот с мобильника
https://ibb.co/wc0PvW8
296 Злопчинский
 
11.11.23
19:02
(295) на то ты и волшебник, а мне, орку, что делать...?
297 Волшебник
 
11.11.23
19:06
(296) Используйте Яндекс.Браузер
298 trad
 
11.11.23
23:59
(296) в скрипте (255) есть ошибка - перевод строки перед margin-left
Удали его и будет работать
299 Волшебник
 
12.11.23
00:08
(298) Что за глупый язык, который нервничает из-за невидимых символов ..
300 trad
 
12.11.23
00:20
(299) язык 1с, например, такой же нервный
301 Волшебник
 
12.11.23
00:21
(300) Ага, скоро перейдём на 1С ERP. Ожидайте
302 Злопчинский
 
12.11.23
01:58
(298) спасибо, работает!
вот кто настоящий мэджиканин!
303 notatall
 
12.11.23
05:52
(300) В 1С эта проблема лечится через использование |
В JS лечится через `
304 notatall
 
13.11.23
07:24
Отображение Ролей пользователей под ником.

Скрипт тут
(async () => {
    const storageName = 'usersData'
    const storageStr = localStorage.getItem(storageName)
    const storageData = storageStr === null ? { v: 1, data: {} } : JSON.parse(storageStr)
    const cachedUsersData = storageData.data
    const cachedUserIds = Object.keys(cachedUsersData)

    const userNodes = Array.from(document.getElementsByClassName('message-user'))
    const allUserIds = userNodes.map(userNode => userNode.dataset.userId)
    const uniqueUserIds = allUserIds.filter((val, i, arr) => arr.indexOf(val) === i)

    const uncachedUserIds = uniqueUserIds.filter(x => !cachedUserIds.includes(x))

    const userPromises = uncachedUserIds.map(async userId => {
        const responseText = await (await fetch(`/user/${userId}`)).text()
        const doc = new DOMParser().parseFromString(responseText, 'text/html')

        const regString = doc.querySelector('.registered .right').innerText.trim().substring(0, 10)
        const dateParts = regString.split('.')
        const regDate = new Date(+dateParts[2], +dateParts[1] - 1, +dateParts[0])

        const statusElem = doc.getElementById(`statusForUser${userId}`)
        const status = statusElem.getElementsByTagName('span').item(0)?.className ?? 'normal'

        const roleElem = doc.getElementsByClassName('role').item(0)
        const role = roleElem.getElementsByClassName('right').item(0).innerText.trim()

        return [ userId, { years: (Date.now() - regDate) / 31536000000, status, role } ]
    })

    const additionalUsersData = Object.fromEntries(await Promise.all(userPromises))
    const mergedUsersData = { ...additionalUsersData, ...cachedUsersData }
    localStorage.setItem(storageName, JSON.stringify({ v: 1, data: mergedUsersData }))

    userNodes.forEach(userNode => {
        const userId = userNode.dataset.userId
        const userData = mergedUsersData[userId]
        const { role } = userData
        const userRoleElem = userNode.parentElement.getElementsByClassName('user-role').item(0)
        userRoleElem.innerHTML = role
    })
})()



Выглядит так:

305 Волшебник
 
13.11.23
07:24
(284)(304) Судя по той фигне, которую Вы программируете, на форуме уже ВСЁ ЕСТЬ. 😉
306 Pprog151713
 
13.11.23
07:28
Прикольно. (304) 👍
307 notatall
 
13.11.23
07:28
(305) У меня почему-то не отображалась роль, хотя место для нее предусмотрено.
И забаненные не подсвечиваются.
308 Волшебник
 
модератор
13.11.23
07:39
(307) Там выводится роль, если модер её захотел показать
309 notatall
 
13.11.23
07:44
(308) 👍
Вот как.
310 Pprog151713
 
13.11.23
07:47
Прикольно было бы, как мне кажется, чтоб уведомление можно было включить. если тебе в чате ответили. ) Типа не прочитанного.
311 Звездец
 
13.11.23
14:32
на форуме появилась роль джун/бот?
312 KJlag
 
13.11.23
15:02
(311) старая роль
несколько месяцев точно уже есть

(308) а на форуме есть восстановление логопасов?
а то коллега решил зайти, а логин и пароль свои забыл.
не увидели где можно восстановить хотя бы по почте.
впрочем ему не сильно важно было

Прошу роль Здравомыслящий
313 Arbuz
 
13.11.23
16:20
Вот теперь, когда месяцок прошёл, шок спал, проя́снилось — теперь все те люди, что истерили-просили вернуть взад, теперь то, что думаете?
314 Волшебник
 
13.11.23
16:22
(313) Да-да. Ещё обзывали меня земляным червяком.
315 Arbuz
 
13.11.23
16:25
(304) О! А как так вставлять картинку не в файлбар, а в сообщение?
316 Волшебник
 
13.11.23
19:28
(315) Чтобы встроить картинку в текст сообщения, в самом тексте сообщения должно быть [IMG_N]  (без пробелов), где N - номер картинки по порядку из файлбара, например, [IMG_2].
Кстати, после добавления картинки в файлбар кнопка с номером картинки именно это и делает.



317 MWWRuza
 
13.11.23
16:44
+(315) Ага... Присоединяюсь. Было-бы интересно, если можно такое реализовать.

Ааа... Пока писал, в (316) ответили. Спасибо!
318 notatall
 
13.11.23
16:44
(313) Как ты сделал звезды? У меня без скрипта не отображаются.
И есть на форуме встроенная возможность подсвечивать юзеров со статусом (забаненный, предупреждение, и т.п.) ? Или только скриптом?
319 notatall
 
13.11.23
16:47
(317) Настоящий профессионал обязательно поинтересовался бы, что это за кнопка с цифрой после прикрепления файла.
320 Волшебник
 
13.11.23
16:49
(318) Они подсвечиваются для модеров. Но имейте в виду, это мешает кэшированию, так что у модеров всё тормозит.
321 MWWRuza
 
13.11.23
16:51
Проба картинки в тексте:



Вот...
Работает! Супер, спасибо :-)
322 Звездец
 
13.11.23
16:53
(320) звезды - этоо аналог радужных полосок?
323 Волшебник
 
13.11.23
16:55
(322) Это спросите у автора (284) или гляньте по тексту программы, что они обозначают.

const bigStarsCount = Math.floor(years / 5)
const smallStarsCount = Math.floor(years % 5)
324 notatall
 
13.11.23
17:34
Раз все теперь работает на скриптах, было бы неплохо иметь возможность смотреть чужие скрипты в профилях пользователей, и делиться своими.

Есть предложение по движку...
325 Волшебник
 
13.11.23
18:11
(324) Ну так они под Id пользователя в той же папке
https://1cers.ru/users/users_css/1.css
https://1cers.ru/users/users_js/1.js
326 Волшебник
 
13.11.23
18:20
(312) Для восстановления пароля, надо прислать мне письмо с адреса из личной карточки

Роль выдана
327 notatall
 
13.11.23
18:16
(325) 🔥💖👍
328 notatall
 
13.11.23
18:33
Отображение Ролей + Звезд + Банов пользователей под ником. Три в одном.





Скрипт тут
const getUsersData = async () => {
    const v = 2
    const defaultData = {}
    const storageName = 'usersData'
    const storageStr = localStorage.getItem(storageName)
    const storageData = storageStr === null ? { v, data: defaultData } : JSON.parse(storageStr)
    const isNeedUpdate = storageData.v < v
    const cachedUsersData = isNeedUpdate ? defaultData : storageData.data
    const cachedUserIds = Object.keys(cachedUsersData)

    const userNodes = Array.from(document.getElementsByClassName('message-user'))
    const allUserIds = userNodes.map(userNode => userNode.dataset.userId)
    const uniqueUserIds = allUserIds.filter((val, i, arr) => arr.indexOf(val) === i)

    const uncachedUserIds = uniqueUserIds.filter(x => !cachedUserIds.includes(x))

    const userPromises = uncachedUserIds.map(async userId => {
        const responseText = await (await fetch(`/user/${userId}`)).text()
        const doc = new DOMParser().parseFromString(responseText, 'text/html')

        const regString = doc.querySelector('.registered .right').innerText.trim().substring(0, 10)
        const dateParts = regString.split('.')
        const regDate = new Date(+dateParts[2], +dateParts[1] - 1, +dateParts[0])

        const statusElem = doc.getElementById(`statusForUser${userId}`)
        const status = statusElem.getElementsByTagName('span').item(0)?.className ?? ''

        const roleElem = doc.getElementsByClassName('role').item(0)
        const role = roleElem.getElementsByClassName('right').item(0).innerText.trim()

        return [ userId, { years: (Date.now() - regDate) / 31536000000, status, role } ]
    })

    const additionalUsersData = Object.fromEntries(await Promise.all(userPromises))
    const mergedUsersData = { ...additionalUsersData, ...cachedUsersData }
    localStorage.setItem(storageName, JSON.stringify({ v, data: mergedUsersData }))

    return { usersData: mergedUsersData, userNodes }
}

(async () => {
    const { usersData, userNodes } = await getUsersData()

    userNodes.forEach(userNode => {
        const userId = userNode.dataset.userId
        const userData = usersData[userId]
        const { role, status, years } = userData

        //  Bans
        if (status !== '') userNode.classList.add(status)

        //  Roles
        const userRoleElem = userNode.parentElement.getElementsByClassName('user-role').item(0)
        userRoleElem.innerHTML = role

        //  Stars
        const bigStarsCount = Math.floor(years / 5)
        const smallStarsCount = Math.floor(years % 5)
        const dotsCount = bigStarsCount + smallStarsCount === 0 ? Math.floor(years % 1 * 12) : 0

        const newUserLine = document.createElement('div')
        newUserLine.className = 'user-line'
        newUserLine.innerHTML = '★'.repeat(bigStarsCount) + '<span style="font-size: small;">' + '★'.repeat(smallStarsCount) + '•'.repeat(dotsCount) + '</span>'
        newUserLine.style.backgroundImage = 'unset'
        newUserLine.style.maxHeight = 'unset'
        newUserLine.style.height = '9px'
        newUserLine.style.lineHeight = '9px'
        userNode.nextElementSibling.replaceWith(newUserLine)
    })
})()

329 Волшебник
 
13.11.23
18:59
(328)
Добрый вечер, уважаемые пассажиры Боинга компании "МИСТА Авиалинии"!
На первом этаже под ником Вас ждут звёзды экспертов, потом роль участника, кнопки редактирования сообщений, при этом сам ник раскрашивается по статусу.
А теперь со всем этим барахлом мы попытаемся взлететь...
330 Волшебник
 
13.11.23
19:03
(328) Если что-то добавить в исходный текст ветки (тэг разметки или данные), Вы не стесняйтесь, предлагайте. Можем подкинуть скрытое поле, чтобы не пришлось парсить личные карточки...
331 Волшебник
 
13.11.23
19:20
(328) Мы тут с коллегами посоветовались и подняли приоритет у задачи "API нового движка мисты".
332 notatall
 
13.11.23
19:25
(330) Было бы замечательно! Если это не сильно увеличит нагрузку. Сейчас скрипт все кеширует, так что не должен сильно замедлять что-либо.

Можно, пожалуйста, такие скрытые поля?

data-user-role - роль
data-user-status - класс CSS, который добавляется забаненным и прочим в карточке пользователя там где статус, например, "ban"
data-user-registered - дата регистрации

(329) 🔥
333 Волшебник
 
13.11.23
20:02
(332) Я думал, что "дата регистрации" хватит всем. Видимо, я чувствовал себя Биллом Гейтсом, который думал, что 640 Кб памяти хватит всем.

Конечно, добавим поля по пользователю. Нам это легко как программистам, просто прикрутить LEFT JOIN, но это требует дополнительной нагрузки на сервер.

Могли бы мы прийти к компромиссу и добавлять эти поля по условию? Что Вы готовы предложить? Нам нужен какой-то параметр, что к нам заходит пользователь с важными обогащёнными скриптами, которому мы доверяем и даём дополнительный контент сейчас и сразу.
334 Волшебник
 
13.11.23
20:05
(333) Может роль "Здравомыслящий"? Скрипты здравомыслящих получают новый контент? Токены?
335 notatall
 
13.11.23
20:35
(333) Лучше какой-нибудь API, который будет запрашиваться скриптом только по мере необходимости. Например, запросить свойства пользователей по списку id, пачкой, одним запросом.

В ответ сервер отправляет JSON со всеми нужными свойствами пользователей, а скрипт кеширует их на стороне клиента.

Тогда не придется в больших темах добавлять к каждому сообщению данные пользователей. Сообщений в одной теме может быть сотни, уникальных пользователей десятки, а незакешированных лишь единицы.
336 notatall
 
13.11.23
20:37
(334) В этом случае пришлось бы разделять скрипты для разных групп пользователей. Одни скрипты работают для всех, другие только для здравомыслящих, это не очень удобно, когда делишься своими скриптами с другими.
337 notatall
 
13.11.23
20:50
(333) Сейчас разве нет LEFT JOIN сообщений с пользователями? Как-то же имя пользователя выводится в сообщениях. Оно хранится вместе с сообщением?

Скрипт мог бы устанавливать какую-нибудь куки, а сервер ее проверять и присылать в ответ данные пользователей в скрытых полях, как изначально предлагали.
например: script_get_user_props=1
338 Волшебник
 
13.11.23
21:05
(337) >> Оно хранится вместе с сообщением?

Да
339 Волшебник
 
13.11.23
21:06
Профессионалы могут нарушать третью нормальную форму БД, чтобы ускорять запросы. Мы профессионалы.
340 Злопчинский
 
13.11.23
22:13
Со звездочками прикольно.
и роль тоже полезно.
сразу ясно кто в малиновых штанах
341 Волшебник
 
13.11.23
22:13
(340) дурдом
342 Злопчинский
 
13.11.23
22:14
А можно - чтобы посмотреть/попробовать - как в посте номера ответов (которые справа от сообщения, в конце) поставить аналогично, но перед сообщением слева..?
343 Волшебник
 
13.11.23
22:15
А здесь есть кнопка включения остальных ролей? Может полей добавить?
344 Злопчинский
 
13.11.23
22:15
(341) ну, в дурдоме - кто первый халат надел тот и главврач...
345 Злопчинский
 
13.11.23
22:16
(328) кстати, звездочки и роли не отрисовываются в добавляемых сообщениях в ветке, только после рефреша
346 Волшебник
 
13.11.23
22:25
(345) главврач намекает?
347 Pprog151713
 
14.11.23
07:00
(328) Звездочки это перебор. А в какой проге ты трассируешь это все?
348 yurikmellon2
 
14.11.23
08:20
мне, всё таки, не хватает аватарки под ником, удобная была фича

А как теперь сделать вот так?
349 Волшебник
 
14.11.23
08:26
(348) Это портит текстовый дизайн форума
350 yurikmellon2
 
14.11.23
08:31
(349) так и не надо по умолчанию аватарки выводить, пусть будет текстовый. Скрипт бы для этой фичи. Кому надо - с автарками, кому нет - текстовый.
351 notatall
 
14.11.23
17:18
(347) В Микрософт Эдж и в Яндекс Браузер. Там есть консоль, трассировщик, и другие инструменты разработчика.

Звездочки можно убрать самостоятельно, комментарий стоит в том месте где звездочки добавляются. Нужно удалить этот блок.
352 withoutname
 
14.11.23
19:06
Еще не предлагали сделать закругленные края у основного полотна? )
Или это можно сделать через CSS?
353 Волшебник
 
14.11.23
20:07
(352) через CSS можно сделать любое оформление. Разметка страниц в новом движке ориентирована на CSS. Добавлены теги и все дела. Персональный CSS применяется дважды: в начале и в конце, чтоб наверняка.
354 Волшебник
 
14.11.23
20:12
(332) Я помню. Осмысляю...
355 Волшебник
 
14.11.23
20:48
(287) Отказ до декабря 2023
356 notatall
 
14.11.23
20:55
(354) Ждал, не напоминал.

Предложу еще один вариант для размышлений: внутри html добавить скрытое поле с данными уникальных пользователей без повторений, присутствующих на странице (при условии передачи параметра, как уже говорили).

Это может быть, например, скрипт, определяющий глобальную константу, доступную в юзер-скриптах:

<script>
const usersDataGlobal = [
	{
		id: 1,
		role: 'администратор',
		status: '',
		registered: '03.11.2003'
	},
	{
		id: 37324,
		role: 'здравомыслящий',
		status: 'ban',
		registered: '26.03.2008'
	},
.....................
]
</script>

Или скрытый элемент с текстом JSON. Так, наверное, даже проще.
357 Волшебник
 
14.11.23
21:01
(356) О, новые требования! Ваша задача становится интереснее и перевешивается на второй гвоздь.
Конечно, можем. Придётся добавить LEFT JOIN в запрос. Никогда такого не было, потому что мы профессионалы, но ради вас постараемся. Кстати, кого вас? Вы вообще кто? Мы знакомы?
358 notatall
 
14.11.23
21:47
(357) Я думал, вы уже меня узнали! Но если нет, то это я, Гагарин.
359 Злопчинский
 
14.11.23
22:28
(351) вместо звездочем можно квадратики большие/маленькие типа U+25A0
360 Злопчинский
 
14.11.23
22:29
(352) в опере (если "полотно" то что я думаю) это и так закругленные
361 notatall
 
14.11.23
23:05
(359) Да, пожалуйста, хоть смайлики. В скрипте хорошо видно где находятся звездочки, можно менять на все что вздумается.
362 Волшебник
 
15.11.23
00:44
(358) Первый космонавт? Здравствуйте, Юра! Мы всё просрали...
363 Злопчинский
 
15.11.23
00:08
(361) Сделал себе "квадратики"
Это канонически ближе к "шрифтовому" стилю форума чем зорачки
364 Злопчинский
 
15.11.23
00:17
Хочу (типа как невменяемый бухгалтер, который не отдает себе отчет)
1. скрипт, который бы рядом с кнопкам вверх/вниз (в правом верхнем углу, сделаны скриптом), положил бы "кнопарик", при жмаке по которому текущая ветка "фильтровалась" так, чтобы показывались только мои посты
2. ну и сделать нормальное окошко (автомасштабируемое) для просмотра картинки из поста onclick=clickThumb(Thus), а то сейчас серый холст на все окно, и в уголке прилепилась картиночка, описывал ранее
365 Волшебник
 
15.11.23
00:31
(364) А можно я тоже добавлю?
Я хочу:
1. Вставка картинки из буфера обмена
2. Страница Описание
3. Книга знаний, переделать на новый движок, оформление.
Если 3 сложно, то хотя бы починить логин
4. Флажки рядом с никами и чтобы было актуально
5.  Плохо распознаются ссылки на wiki после редактирования: wiki:Бритва_Хитченса
Не проходит редактирование туда-обратно
6. скрипт sitemap поправить под новые адреса
7. На странице новичков нет IP-адреса (можно с флажком)
8. Плохо распознаёт ссылки типа: OFF: ТехИнфо: новый движок форума/tail#F
9. Восстановление паролей
10. И чтобы не дёргали, пока я всё это буду делать
366 Волшебник
 
15.11.23
00:50
У меня вот тоже впечатление, что мы восстанавливаем цивилизацию по кускам, по битам, даже по винтикам...
Собираю сервер, там диск вываливается из RAID. Переподключаю SATA-разъём, уже нормально.
Но чудес-то не бывает. Уж я понимаю по должности...
На очереди ZPOOL / ZFS с новыми дисками Trancsend. Если трансценденция не сработает, то не знаю...
367 Злопчинский
 
15.11.23
02:49
(365) Это я, девелопер - "хочу", а программист - делает! ;-)
368 Pprog151713
 
15.11.23
07:06
(365) Так еще прогера возьмите. Вон Нототал он вам подделает. Ну, а так- то в целом все и так хорошо. Мне нравится.  И движок быстрее. И лучше. 👍 Даже смайлики есть. Все остальное можно, но не обязательно.
369 Волшебник
 
15.11.23
07:10
(367) Хорошо себя поставили...
Возьмите себе прогера, как советуют в (368)
370 Pprog151713
 
15.11.23
07:27
(351) Так Microsoft Edge это браузер какой-то. А в яндексе ну есть у меня веб страница, и что как там проверять f12 ну вижу я код. А как мне нормально дописать что -то окромя как в текстовичке?
371 notatall
 
15.11.23
21:19
(362) Не все еще просрали. Новые разработки в сфере космонавтики в будущем дадут преимущества перед конкурентами.
372 Волшебник
 
15.11.23
21:21
(371) Юра, не надо... Мы уже поняли, что надо восстанавливать советскую цивилизацию с нуля. См. (366)
373 notatall
 
15.11.23
21:28
(370) Яндекс - это не только веб-страница, но и браузер.

По F12 есть консоль, как я уже писал.
Копируешь туда скрипт, нажимаешь Enter, и он запускается. Отладчиком пользоваться тебе пока рано, сперва попробуй позапускать.

Пользовательский скрипт - это текст, его правят в текстовичке. А запускают в браузере.
374 notatall
 
15.11.23
21:30
(372) И результаты положительные. Стало лучше чем было, но хуже чем будет.
375 Волшебник
 
15.11.23
21:31
(374) 👍
376 Злопчинский
 
15.11.23
22:21
Пиктограммы оформления (справа от поля сообщения) прям ностальжи... кондовые посконные как в конце 90-ых...
377 Волшебник
 
15.11.23
22:25
(376) Предлагайте свой набор. Я вообще хочу заменить на единую кнопку с выпадающим меню. Я ожидал, что будут предложения от неравнодушных типа Вас.
Вас ждали и Вы припёрлись...
378 Mort
 
15.11.23
22:52
Не читал всю ветку, может уже обсуждалось. Я захожу на форум и у меня половина экрана жёлтые, снизу начинается список тем. Может нужно что-то обновить?
379 Mort
 
15.11.23
22:54
380 Злопчинский
 
15.11.23
23:38
(377) вот кнопку с выпадающим меню - ну вот точно не надо
тест
381 Волшебник
 
16.11.23
07:08
(378) Это что-то у вас. Почистите куки и кэш, замените браузер. Там ещё где-то должен быть баннер
382 Pprog151713
 
16.11.23
08:54
(373) А есть там какая-нибудь инструкция. Как этой консолью рулить?Учебник или сайт? У меня есть свой сайт в одну страницу. Но хотелось бы по- интереснее сделать.
383 Лирик
 
16.11.23
09:33
Хотелось бы какой ни будь признак того, что ТС (именно ТС) видел сообщение.
Объяснюсь. Приватность - это хорошо, но ТС выходит сюда с вопросом, ты ему отвечаешь и ни какой реакции. То ли не видел, то ли не посчитал нужным отреагировать. Иногда тратишь свое время и не понятен результат. Демотивирует. )

Другое
384 Волшебник
 
16.11.23
10:05
(383) Нет, так нельзя.
385 Kigo_Kigo
 
16.11.23
10:12
О, сделали проверку правописания, вообще отлично!🔥👍
386 Волшебник
 
16.11.23
10:12
(385) Не делали. Это Ваш браузер сам проверяет
387 Злопчинский
 
16.11.23
12:08
(383) я вообще предлагаю таких банить. Задал вопрос, тебе ответили - в три дня отклика нет - бан на недельки две/месяц.
388 Гена
 
16.11.23
12:29
Суров.


389 RomanYS
 
16.11.23
13:10
(387) может ещё при регистрации SLA подписывать))?
390 notatall
 
16.11.23
16:59
Скрипт вставки картинки из буфера обмена. При первой вставке появляется окно выбора файла, его нужно закрыть. Если сильно раздражает, можно раскомментировать костыль в скрипте, который убирает этот диалог.

Подробности
document.onpaste = async event => {
    const item = Array.from(event.clipboardData.items).filter(item => item.kind === 'file')[0]
    if (item === undefined) return
    // document.querySelector('form .filebar').dataset.filesCount = 1   //  отключить диалог выбора файла
    showFileBar(document.getElementById('buttonShowFilebar'))
    const fakeInput = document.createElement('span')
    fakeInput.files = [ item.getAsFile() ]

    const slot = document.querySelector('.slot.empty') ?? await new Promise(resolve => {
        const observer = new MutationObserver(record => {
            observer.disconnect()
            resolve(record[0].addedNodes[0])
        })

        const fileBar = document.querySelector('form .filebar')
        observer.observe(fileBar, { childList: true, subtree: true })
    })

    slot.append(fakeInput)
    fileSelected(fakeInput)
}
391 Злопчинский
 
16.11.23
17:27
(389) может быть все.
Прибежать, спросить и не поблагодарить - это неуважение и работа на врага! Таким образом ципсошные боты могут сюда накидать кучу вопросов, отвлекая сообщество от работы на Родину...
392 Злопчинский
 
16.11.23
17:29
Тест вставки из буфера
393 Злопчинский
 
16.11.23
17:30
Еще тест
394 Злопчинский
 
16.11.23
17:32
(390) набрал текст в окне ввода
жму кнопки вставки из буфера
открывается окно выбора файла - закрываю его (фу, убрать надо бы) - появляется вставленное изображение
395 notatall
 
16.11.23
17:33
(394) Поздравляю
396 Злопчинский
 
16.11.23
17:33
тест вставки
при этом получается вот так
397 Злопчинский
 
16.11.23
17:35
При этом если вставить несколько картинок, и не отправляя сообщенйи удалить крестиком, то получается вот так, это явно что-то недоработано
398 notatall
 
16.11.23
17:47
(397) Может так и было задумано
399 Волшебник
 
16.11.23
18:10
(397) (398) Так и было задумано, потому что на соседние картинки могли быть уже теги в тексте сообщения, их номера не должны измениться
400 notatall
 
16.11.23
18:13
Относительное время обновления тем на главной странице, вместо абсолютного.




Подробности
Array.from(document.querySelectorAll('td.updated')).forEach(td => {
    const [ moscowUpdatedTime, ...userParts ] = td.innerText.trim().split(' ')
    const user = userParts.join(' ')
    const [ moscowDate ] = new Date().toLocaleString('en-US', { timeZone: 'Europe/Moscow' }).split(' ')
    const universalUpdatedTime = new Date(`${moscowDate}, ${moscowUpdatedTime} GMT+0300`)
    if (universalUpdatedTime.toString() === 'Invalid Date')
        return
    const deltaSecondsTotal = (Date.now() - universalUpdatedTime) / 1000
    const deltaHours = Math.floor(deltaSecondsTotal / 3600)
    const deltaMinutes = String(Math.floor(deltaSecondsTotal % 3600 / 60)).padStart(2, '0')
    td.innerText = `-${deltaHours}:${deltaMinutes} ${user}`
})
401 tabarigen
 
16.11.23
19:30
Почему нельзя сделать все на нормальном технологическом стеке и с нуля..
Тем более, что легаси наверное оч много в коде.
Хотя вам видней на месте, конечно, но мне как юзеру хотелось бы красивый и удобный UI с адаптивом под мобилку.

Другое
402 Злопчинский
 
16.11.23
19:41
относительное относительно чего? времени заглавного сообщения темы? или время последнего поста в теме? вангую что последний пост в теме
403 Волшебник
 
16.11.23
19:46
(401) Шалом! Поздравляем с выходом из анабиоза! Я зачеркнул весь старый движок с легаси-кодом ("закопал стюардессу") и написал новый. В этой ветке и предыдущих мы как раз обсуждаем НОВЫЙ ДВИЖОК, где Вы сейчас и находитесь.
404 Волшебник
 
16.11.23
19:44
(402) Проанализируйте скрипт и найдёте ответ на свой вопрос.
405 Злопчинский
 
16.11.23
19:49
хочу на главной странице (как инструмент модератора) кнопку (справа от верхнего заглавного меню типа) которая вКл/вЫкл режима показ убитых модераторами веток
406 Злопчинский
 
16.11.23
19:50
(400) включил себе, прикольно, норм!
407 notatall
 
16.11.23
19:51
(402) Относительно "сейчас"
408 lodger
 
16.11.23
19:56
(403) в анекдоте после "закопал" идёт "Пора прекратить этот разврат - откопали "
409 Волшебник
 
16.11.23
20:21
(408) Да, я в теме. Старый движок ещё где-то закопан. Если новый не взлетит, то откопаем стюардессу.
Ну вроде уже взлетело. Уже пишут скрипты-дополнения.

Поверьте, на новом движке мисте будет круче. Это же полноценное ООП наконец пришло в наш дом! То, о чём так долго говорил Гради Буч, теперь под капотом и работает!

p.s. База одна
410 Волшебник
 
16.11.23
20:36
(405) Вы свои хотелки сопровождайте ценником, например, 120 тыс руб. Меньше сотки не рассматриваем.
411 Злопчинский
 
16.11.23
21:18
(410) вы меня не путайте! я написал "хочу", а не "плачУ"! ;-)
412 Волшебник
 
16.11.23
21:24
(411) Вы ещё ударение не указали. Вы платите или плачете?
413 Гена
 
16.11.23
21:43
414 Волшебник
 
16.11.23
22:05
(413) Зловеще... Но давайте ближе к сабжу. Просто новый движок для форума. Никого не убивал, пытался всем понравиться.
415 Злопчинский
 
16.11.23
23:50
(412) ударение = в слове из строчных букв прописная...
416 Злопчинский
 
16.11.23
23:50
Сейчас, когда поднапихали скриптов - уже почти нормально, за мелкими недокуртками...
417 lodger
 
17.11.23
00:49
(414) а можно встроенный плеер ютубов приделать?
418 Волшебник
 
17.11.23
07:45
(417) Ютуб надо наоборот запрещать
419 Pprog151713
 
17.11.23
08:16
(390) 👍
420 lodger
 
17.11.23
10:48
(418) ладно.
а так? https://rutube.ru/info/embed/
421 Волшебник
 
17.11.23
10:54
Хватит встраивать всякую фигню, а то получится как в метро:
422 Новиков
 
17.11.23
11:19
(416) когда поднапихали скриптов - уже почти нормально

И все дойдет до того, что скоро будет цениться аккаунт без единого скрипта - вечное сияние чистой мисты.
423 picom
 
17.11.23
11:35
Нужно затемнение не относящихся к цепочке сообщений
Например, рядом с номером упомятого сообщения или при сообщения не из цепочки переписки должны затемниться.
424 Волшебник
 
17.11.23
14:32
(423) Приступаю...
425 Valdis2007
 
17.11.23
15:22
(387)  "в три дня отклика нет - бан на недельки две/месяц"....ты както очень лоялен...высшею меру сразу выносить)))
426 Злопчинский
 
17.11.23
22:10
для чела который пришел, вякнул и ушел не попращавшись - бан на две недели - ничто...
427 Злопчинский
 
18.11.23
00:18
Кстати, с относительным временем - весьма удобно оказалось, автору - уважуха! 👍🔥
428 Волшебник
 
18.11.23
16:34
(427) Товарищ жжёт неподецки
429 notatall
 
18.11.23
22:32
Спасибо что оценили. Мне больше доставляет удовольствие создавать и настраивать, нежели использовать.
430 Волшебник
 
18.11.23
22:39
(429) Создайте свою личную страничку.
431 Злопчинский
 
18.11.23
22:42
(429) жто ты в 1с тогда по адресу пришёл...