Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#26 2010-09-19 05:20:05

artoodetoo
Admin by chance
Зарегистрирован: 2008-09-09
Сообщений: 887
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

выглядит ужасно smile


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Offline

#27 2010-09-19 08:24:18

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Ни чего не понимаю sad
Хочу разделить ячейки цветовой таблицы пустым пространстром в 1 пиксел.
Выходит либо вообще без пустого пространства, либо 2 пиксела.
При включеном border-collapse:collapse; вообще разделительные границы исчезают.

--------
UP
Разобрался.

Вот:
73d5367bf26c.gif

Редактировался Visman (2010-09-19 09:08:37)

Offline

#28 2010-09-19 15:16:32

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

А вот и смайлы:
c69b5f7ab56a.gif

Осталось только набить кучу новых смайлов для провеки отображения большого их числа wink

--------
UP
Какое преобразование бб-кодов и имен файлов для смайлов нужно делать до их размешщение в массивы, чтобы не было глюков?
Пример текущих массивов в яваскрипте

    var bbcode_sm_img = new Array('smile.png','neutral.png','sad.png','big_smile.png','yikes.png','wink.png','hmm.png','tongue.png','lol.png','mad.png','roll.png','cool.png');
    var bbcode_sm_txt = new Array(':)',':|',':(',':D',':o',';)',':/',':P',':lol:',':mad:',':rolleyes:',':cool:');

Offline

#29 2010-09-24 13:27:48

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Наблюдаю у себя странность при цитировании.
Курсор после цитирования встает не после [ /quote], а на столько символов левее ], сколько строк процитировано.
Что за глюк?
Работает этот код:

...
    // Moz support
    else if (msgfield.selectionStart || msgfield.selectionStart == '0')
    {
        var startPos = msgfield.selectionStart;
        var endPos = msgfield.selectionEnd;
        msgfield.value = msgfield.value.substring(0, startPos) + open + msgfield.value.substring(startPos, endPos) + close + msgfield.value.substring(endPos, msgfield.value.length);
        if (startPos == endPos && open == '')
        {
            msgfield.selectionStart = startPos + close.length;
            msgfield.selectionEnd = endPos + close.length;
        }
        else
        {
            msgfield.selectionStart = startPos + open.length;
            msgfield.selectionEnd = endPos + open.length;
        }
        msgfield.focus();
    }
...

P.S. Если текст выделен в окне ответа, то он остается выделенным правильно.

------
Хм.
Глюк только в Опере sad

Offline

#30 2010-09-25 09:24:04

artoodetoo
Admin by chance
Зарегистрирован: 2008-09-09
Сообщений: 887
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

хз. но видимо это зависит от *.selection*. попробуй вывести алертом эти значения в опере и в фэйрфоксе. в чем разница?


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Offline

#31 2010-10-25 11:41:58

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Почему сделано так:
Когда один пользователь другому отправляет письмо через форум в поле From указываются реквизиты форума, а поле Reply-To реальные данные юзера, которые и позволяют ответить отправителю напрямую?
Хитрый план!?

Offline

#32 2010-10-28 10:47:27

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Заметил, что в версии 1.4 в отличие от 1.2 смайлы выравниваются со строкой по верхнему краю, а не по низу.
Как исправить?
d83bdf5b4747.gif

Offline

#33 2010-11-03 16:41:45

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Обнаружил, что моя реализация вывода окошек с цветами и смайлами в IE6 глючит sad
Они позицируются относительно начала документа.

Offline

#34 2010-11-03 17:41:18

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Почему селект просвечивает сквозь div-слой?
5d010ebb7895.gif
У дива - style="z-index: 101;"

---------
Глюк наблюдается в IE6 tongue

Редактировался Visman (2010-11-03 17:52:12)

Offline

#35 2010-11-04 07:41:48

artoodetoo
Admin by chance
Зарегистрирован: 2008-09-09
Сообщений: 887
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

обе проблемы широко известны. первая решается добавление position: relative куда надо, вторая не решается никак.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Offline

#36 2010-11-04 16:16:24

hcs
Administrator
Зарегистрирован: 2008-09-05
Сообщений: 85

Re: Вопрос по применению javascript и другие вопросы от меня

вторая вроде решается, где-то видел

Offline

#37 2010-11-05 07:10:30

artoodetoo
Admin by chance
Зарегистрирован: 2008-09-09
Сообщений: 887
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Решают, заменяя стандартный селект на эмуляцию. Это же капец, а не решение.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Offline

#38 2010-11-05 09:59:15

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Первую проблему решал добавлением кода для IE (окошки у меня позицировались изначально скриптом):

function getposOffset(overlay, offsettype)
{
    if (document.selection && document.selection.createRange)
    {
        var box = overlay.getBoundingClientRect();
        var body = document.body;
        var docElem = document.documentElement;

        var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop;
        var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft;
        var clientTop = docElem.clientTop || body.clientTop || 0;
        var clientLeft = docElem.clientLeft || body.clientLeft || 0;

        var top  = box.top +  scrollTop - clientTop;
        var left = box.left + scrollLeft - clientLeft;

        return (offsettype=='left')? Math.round(left) : Math.round(top);
    } else
    {
        var totaloffset=(offsettype=='left')? overlay.offsetLeft : overlay.offsetTop;
        var parentEl=overlay.offsetParent;
        totaloffset=(offsettype=='left')? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        return totaloffset;
    }
}

На IE6 работает, на 7, 8, 9 - не знаю sad

По второй проблеме нашел такое предложение:

1. прячем select
Самое простое решение — поставить селектам (всем или пересекающимся с дивом) css свойство visibility: hidden;
Разумеется искать все селекты и ставить каждому из них свойство не нужно. Достаточно определить css класс:

.noselect select { visibility: hidden; }

и добавить этот класс к области над которыми окажется див.
Стиль display: none; в этом случае не подходит — может «поползти» верстка страницы.

Но логика работы его мне не понятна smile
Не ясно мне, как это может скрывать селекты при открытом диве и проявлять их при его закрытии.

Offline

#39 2010-11-09 19:13:02

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Вопрос:
На сколько операция замены подстроки в базе ресурсозатратна?

UPDATE table SET field = REPLACE(field, 'что_меняем', 'на_что_меняем')

Offline

#40 2010-11-09 19:46:41

Freeman
Участник
Из Санкт-Петербург
Зарегистрирован: 2010-07-31
Сообщений: 128
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Visman, затратна. Лучше написать кучу вложенных replace, чтобы сделать одним update-ом.

Offline

#41 2010-11-13 18:27:34

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Вопрос по кэшированию:
Имеет ли смысл кэшировать цензурируемые слова, чтобы убрать один запрос к базе?

Offline

#42 2010-11-14 05:54:01

artoodetoo
Admin by chance
Зарегистрирован: 2008-09-09
Сообщений: 887
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Эээ. Они же сейчас в файле?


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Offline

#43 2010-11-14 06:05:12

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

artoodetoo, где? wink

function censor_words($text)
{
    global $db;
    static $search_for, $replace_with;

    // If not already built in a previous call, build an array of censor words and their replacement text
    if (!isset($search_for))
    {
        $result = $db->query('SELECT search_for, replace_with FROM '.$db->prefix.'censoring') or error('Unable to fetch censor word list', __FILE__, __LINE__, $db->error());
        $num_words = $db->num_rows($result);

        $search_for = array();
        for ($i = 0; $i < $num_words; ++$i)
        {
            list($search_for[$i], $replace_with[$i]) = $db->fetch_row($result);
            $search_for[$i] = '/(?<=\W)('.str_replace('\*', '\w*?', preg_quote($search_for[$i], '/')).')(?=\W)/i';

        }
    }

    if (!empty($search_for))
        $text = substr(preg_replace($search_for, $replace_with, ' '.$text.' '), 1, -1);

    return $text;
}

Offline

#44 2010-11-14 07:25:06

hcs
Administrator
Зарегистрирован: 2008-09-05
Сообщений: 85

Re: Вопрос по применению javascript и другие вопросы от меня

На этом хостинге, например, нагрузка на БД лимитириуется, а на дисковые операции нет. Поэтому снижение нагрузки на БД всегда смысл. Главное, чтобы этот кеш подключался только когда он нужен.

Offline

#45 2010-11-14 07:59:26

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

hcs, если цензура включена, то ф-ия работает при каждом запросе к страницам форума (темы и сообщения).

Между прочем в PunBB 1.3 кэширование применено wink

Offline

#46 2010-11-14 08:10:03

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

По кэшированию цензурируемых слов нужно вопрос поднять на fluxbb.org.

Offline

#47 2010-11-14 17:59:26

artoodetoo
Admin by chance
Зарегистрирован: 2008-09-09
Сообщений: 887
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Visman, надо же smile


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Offline

#48 2010-11-22 17:39:14

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Народ, у меня склероз, не помню куда стрелка должна показывать при сортировке списка.
Так правильно по убыванию кол-ва сообщений?
ddd.gif

Offline

#49 2010-11-22 18:46:49

Scaf
Участник
Зарегистрирован: 2010-11-03
Сообщений: 60

Re: Вопрос по применению javascript и другие вопросы от меня

Offline

#50 2010-11-26 08:48:33

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Вопрос по применению javascript и другие вопросы от меня

Кто-нибудь пробовал включить подробный вывод по запросам в базе?
Добавляю в коммон строку define('PUN_SHOW_QUERIES', 1);
Результата нема sad

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens