Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Обновление версии SMF до 2.1

Автор RawonaM, июля 3, 2022, 21:25

0 Пользователи и 1 гость просматривают эту тему.

Bhudh

Во-первых, мне в отличие от Вандриена доступа к коду никто не давал и вообще я PHP не сильно знаю.
Во-вторых, спроси у Мнаше, делал я что-то для кода или нет, если сам не знаешь или не помнишь.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

RawonaM

Кстати, основное количество функциональности можно делать через JS, так даже предпочительнее. Вот @Bhudh тебе задание, воплотить вот это:

Цитата: RawonaM от июля  6, 2022, 14:19
Цитата: Python от июля  6, 2022, 14:16А куда кликать, чтобы @RawonaM вставить — только ручным набором с собакой (что, судя по всплывающему списку при наборе, работает)? Раньше клик по имени пользователя вставлял имя в сообщение, но сейчас там только ссылка на профиль.
Тоже моя модификация :dayatakoy:

Пока такого нет. Казалось бы все нежизненноважные улучшения, но реально неудобно.

Функнция addText() добавляет строку в текстарею, это не нужно заново писать. Надо просто прицепиться к элементу с именем и по клику вставлять имя, довольно тривиально. Еще нужно куда-то перекинуть ссылку на профиль, например на кружок онлайн/оффлайн, сейчас он ведет на личное сообщение, но там снизу есть еще кнопка для личного сообщения, т.е. лишнее.

Bhudh

Цитата: RawonaM от июля  7, 2022, 01:55Функция addText() добавляет строку в текстарею, это не нужно заново писать.
А это нативная функция нового движка или унаследованная от старого? Я что-то подобное, помнится, писал.

Цитата: RawonaM от июля  7, 2022, 01:55Надо просто прицепиться к элементу с именем и по клику вставлять имя, довольно тривиально.
Тривиально, но поскольку элемент с именем, во-первых, ссылка, во-вторых, у него даже нет класса типа class="username", довольно муторно:
$('.poster > h4 a:nth-child(2)').click(function(){
  addText('[url='+this.dataset.link+']@'+this.textContent+'[/url]');
}).each(function(idx, el){
  el.dataset.link = el.href;
  el.href = '';
});

Цитата: RawonaM от июля  7, 2022, 01:55Еще нужно куда-то перекинуть ссылку на профиль, например на кружок онлайн/оффлайн, сейчас он ведет на личное сообщение, но там снизу есть еще кнопка для личного сообщения, т.е. лишнее.
Внизу в строчке с иконками под числом сообщений поставить самой первой ссылкой и дать ей class="main_icons members" (иконка человечка, как у «Сводки» в верхнем дропменю).
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

RawonaM

Цитата: Bhudh от июля  7, 2022, 03:24А это нативная функция нового движка или унаследованная от старого? Я что-то подобное, помнится, писал.
Моя функция, для квикквота писалась.

Цитата: Bhudh от июля  7, 2022, 03:24него даже нет класса типа class="username", довольно муторно:
$('.poster > h4 a:nth-child(2)').click(function(){
  addText('[url='+this.dataset.link+']@'+this.textContent+'[/url]');
}).each(function(idx, el){
  el.dataset.link = el.href;
  el.href = '';
});
Спасибо! Подправил чуть-чуть и упростил, а то перезагружало страничку:

$('.poster > h4 a:nth-child(2)').each(function(idx, el){
  el.href = 'javascript:addText("@'+el.textContent+' ")';
});

И убрал ссылку на профиль, меншн сам ее оформляет.

RawonaM

Цитата: Bhudh от июля  7, 2022, 03:24Внизу в строчке с иконками под числом сообщений поставить самой первой ссылкой и дать ей class="main_icons members" (иконка человечка, как у «Сводки» в верхнем дропменю).
Вот, используя твой же селектор:
$('.poster > h4 a:nth-child(1)').each(function(idx, el){
  el.href = el.href.replace("action=pm", "action=profile");
});

Все, можно ставить в продакшн. Без всяких мучений с ПХП :)

RawonaM

Аватарка тоже ведет на профиль, легче попасть на нее. Но на мобильном ее не видно, так что через кружочек надо тоже.

А вот квикквот для мобильника не получается пофиксить.

RawonaM

Еще я очень хотел бы сделать выпадающий список с поиском разделов. С таким количеством разделов искать мышкой и глазами их и кликать вообще никакого смысла. Я бы набрал мат- и попал в математику сразу.

Bhudh

Цитата: RawonaM от июля  7, 2022, 09:08а то перезагружало страничку
Именно для этого я приравнивал адрес пустой строке.
Но, видимо, новейшие не-Оперы не дотумкивают, что по пустому hrefʼу не надо переходить...
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

RawonaM

Цитата: Bhudh от июля  7, 2022, 13:32
Цитата: RawonaM от июля  7, 2022, 09:08а то перезагружало страничку
Именно для этого я приравнивал адрес пустой строке.
Но, видимо, новейшие не-Оперы не дотумкивают, что по пустому hrefʼу не надо переходить...
Но ведь это противоречит стандарту :)

Bhudh

Стандарт предлагает открывать пустое окно/вкладку?
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Andrey Lukyanov

Цитата: Bhudh от июля  7, 2022, 14:37Стандарт предлагает открывать пустое окно/вкладку?
Предлагает открывать текущий документ.

Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

ta criqt

С предпросмотром ни у кого трудностей не имеется?

RawonaM

Цитата: ta criqt от июля  7, 2022, 17:12С предпросмотром ни у кого трудностей не имеется?
А какие трудности?

RawonaM

Добавил гугл транслейт вот таким хитрым образом.

Цитировать$('.post > .inner')
    .wrap(function(i) {
        return '<div class="goog-trans-section" id="gt_' + this.id + '"></div>'
    })
    .after('<div class="goog-trans-control"></div>');

function googleSectionalElementInit() {
    new google.translate.SectionalElement({
    sectionalNodeClassName: 'goog-trans-section',
    controlNodeClassName: 'goog-trans-control',
  }, 'google_sectional_element');
}

var lindex = document.cookie.indexOf("lang=");
var lang = lindex < 0 ? 'en' : document.cookie.slice(lindex + 5, lindex + 7);

jQuery.getScript('//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl='; + lang)

$('.goog-trans-control').css('float', 'right');

setTimeout(() => $('.goog-te-sectional-gadget-link-text').css('font-weight', 'normal'), 100);


RawonaM

На украинский с русского переводит вполне сносно. Хотя Python возможно имеет другое мнение :)

ta criqt

   
ЦитироватьС предпросмотром ни у кого трудностей не имеется?

А какие трудности?
— То не даёт просмотр, то даёт с огромной текстокодовой вставкою.

Bhudh

Цитата: RawonaM от июля  7, 2022, 23:22Добавил гугл транслейт вот таким хитрым образом.

Цитировать(() =>...
То-то он у меня и не появляется.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

RawonaM

Цитата: Bhudh от июля  8, 2022, 01:19
Цитата: RawonaM от июля  7, 2022, 23:22Добавил гугл транслейт вот таким хитрым образом.

Цитировать(() =>...
То-то он у меня и не появляется.
Так эта строка только стиль добавляет.

Andrey Lukyanov


RawonaM

Улучшил быструю цитату, теперь нет проблем с выделением и работает на мобильнике. Если будут какие-то глюки, пишите.
Также в отличие от предыдущей версии нажатие на быструю цитату под сообщением разрешает цитирование только с этого сообщения, остальной текст обрежется.

RawonaM

Моя собственная быстрая цитата все равно была лучше, она умела авторов вложенных цитат тоже оформлять, эта не умеет, еще надо допиливать. :(

RawonaM

В меню профиля добавил кастомный шрифт и язык для гугл-транслейта. К сожалению приципиться было сложно и я сделал 500 мс задержку, если меню не придет с сервера позже, то оно перезапишет эти элементы и придется перегрузить страницу. Думаю не такая большая проблема, сложности с интернетом сейчас редко возникают.

mnashe

Цитата: RawonaM от июля  9, 2022, 21:29В меню профиля добавил кастомный шрифт и язык для гугл-транслейта.
Ой, а где это? Я не нашёл...
А ещё, оказывается, пропали наши дополнительные кнопки над формой ответа...
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

mnashe

Цитата: RawonaM от июля  9, 2022, 13:41Моя собственная быстрая цитата все равно была лучше, она умела авторов вложенных цитат тоже оформлять, эта не умеет, еще надо допиливать. :(
Помнится, это был один из самых сложных модов, к тому же разбросанный по нескольким местам нескольких файлов. Я уже когда восстанавливал твои моды после взлома, вписал его не полностью: дата у вложенных цитат в быстрой цитате терялась. В твоём исходном моде не терялось ничего, но дата как-то особенно сложно реализовывалась.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр