gomer1726: Простой счётчик лайков можно применять как дополнение к таблице, чтобы не считать количество при каждой выдаче страницы. Но без отдельной таблицы и регистрации пользователей защититься от накрутки не получится.
gomer1726: Нажал на лайк, перезагрузил страницу - все классы вернулись на место (сервер ведь не знает, нажимал я или нет). Нажал на лайк ещё раз.
Открыл панель разработки, нажал на лайк, посмотрел запрос, вставил его в скрипт, выдал 100500 лайков.
Денис Баронс: А это уже вам виднее, какое именно из значений `idate` сгруппированных строк вы хотите получить. Минимальное - MIN, максимальное - MAX и т.д.
Ну и гарантировать, что будет браться то же самое значение, что и с выключенным ONLY_FULL_GROUP_BY, никто не сможет, порядок перебора строк в MySQL зависит от используемых индексов.
evgeniy_lm: Это вы не подумав написали. Для значения 100 из двух интервалов [99; 100] и [98; 101] ваш запрос не выберет ни одного, так как MIN(END-START) = 1 у первого интервала, а MIN(START-value) = -2 у второго.
apptimeru: Под характеристики, чаще всего, заводится достаточно сложная структура.
Первая таблица - это список возможных характеристик (id_характеристики, название, тип, единица_измерения), где тип - 'строка', 'число', 'вариант' или 'мультивариант'.
Вторая - варианты характеристик для типов 'вариант' и 'мультивариант' (id_характеристики, id_варианта, название).
Третья таблица - применимость характеристик (id_характеристики, id_группы_товаров, обязательная).
И, собственно, таблица характеристик (id_товара, id_характеристики, значение), где значение может быть, в том числе, и списком вариантов.
За счёт сложности структуры можно потом строить сложные фильтры для поиска по характеристикам.
apptimeru: Просто в коде выводить не просто дату, а если `estimation` == 'month', то писать 'декабрь 2016', если 'quarter', то '4 квартал 2016', 'year' - '2016 год'.
dozent: За нескольких. В каждом сеансе пользователь может запустить несколько копий 1С, для этого ему достаточно одной лицензии. Но для каждого сеанса лицензия должна быть своя.
qqignatqq: Потому что созданные вами div.busy были уничтожены при смене месяца, а на созданных при обратной смене обработчик не стоит. Вместо $('.busy').click(...) используйте $('.flatpickr').on('click', '.busy', ...)
dozent: Ключи непосредственно на терминальных серверах. На каждом стоят серверный и клиентский ключи (фиолетовый и красный, ЕМНИП). Из терминальных сеансов эти ключи напрямую не видны, но если раздать их по сети прямо с того же сервера, то всё прекрасно работает.
Работало с 1С 7.7, 8.1, 8.2, сейчас с 8.3.
Maxla93: И что? Получить хэш исходных данных - не проблема, надо только знать алгоритм формирования входного потока. Однозначно восстановить входной поток по хэшу - невозможно из-за коллизий. Подобрать данные, дающие нужный хэш - возможно, но в общем случае только брутфорсом, в отдельных специальных случаях есть ускоренные алгоритмы.
karibskii_koks: Скорее всего да. Для SIP надо пропустить порт сигнального протокола, обычно 5060, и порты для RTP-трафика, по умолчанию UDP от 10000 до 20000.
Как вариант, на входном шлюзе можно настроить, чтобы все пакеты с сервера SIP-провайдера шли на Asterisk.
karibskii_koks: Timeout but no rule 't' or 'e' in context
Значит Asterisk не услышал цифры, а при отсутствии экстеншинов t или e не знает куда передать управление.
Попробуйте поиграть с параметром dtmfmode в настройках SIP-канала