yura3d |
Отправлено: 21 июля 2009 — 21:48 • Тема: Дополнительные моды • Форум: Обсуждение |
Ответов: 240 Просмотров: 174141
 |
Defenderyk
Ничего не пропустил, вариант с кешированием я пока не выкладывал, т.к. пока не до конца проработал механизм управления кешированными превью-копиями внешних изображений |
yura3d |
Отправлено: 21 июля 2009 — 21:43 • Тема: Перенос тем, постов, пользователей с другого форума • Форум: Решение проблем |
Ответов: 15 Просмотров: 10625
 |
Amid пишет:А где эти файлы? и что в них менять?
Объясню на примере даты регистрации пользователей. Для каждого зарегистрированного пользователя создаётся файл профиля в папке members. Имя файла профиля в этой папке имеет вид N.php, где N - номер (id) пользователя. Открывая этот файл, Вы можете найти в нём дату регистрации пользователя (элемент сериализованного массива joined), вот фрагмент:
CODE:s:6:"joined";i:1246377863;
В этом фрагменте число 1246377863 - это и есть дата регистрации пользователя в формате Unix Timestamp. Теперь создайте в папке форума файл time.php следующего содержания:
CODE:<?php
echo mktime(часы, минуты, секунды, месяц, день, год);
?>
Вместо слов часы, минуты, секунды, месяц, день, год необходимо подставить числовые значения, для которых Вы хотите получить дату. Например, для получения даты 21 июля 2009 года 23:00:00 скрипт time.php будет иметь содержание:
CODE:<?php
echo mktime(23, 0, 0, 7, 21, 2009);
?>
Далее запустите этот скрипт по адресу http://ваш_сайт.ру/форум/time.php и полученную дату в формате Unix пропишите в файл профиля пользователя вместо исходной даты, после чего сохраните файл профиля и обратно закачайте его на сервер
Эту операцию необходимо повторить для каждого пользователя, после чего не забыть удалить скрипт time.php из папки с форумом |
yura3d |
Отправлено: 21 июля 2009 — 21:28 • Тема: Глубиномер с чего начинать? • Форум: Обсуждаем |
Ответов: 20 Просмотров: 18223
 |
Victor пишет:вот сейчас я в форуме и что мне нужно сделать чтоб попасть на страницу exbb.org ? вот и получается сайт отдельно форум отдельно...
yura3d пишет:возможно, ссылки на сайт в шапке форума будет достаточно? |
yura3d |
Отправлено: 21 июля 2009 — 21:26 • Тема: Перенос тем, постов, пользователей с другого форума • Форум: Решение проблем |
Ответов: 15 Просмотров: 10625
 |
Amid пишет:можно администрировать только с админ панели
Имееются ввиду бесплатные сервисы форумов?
Amid пишет:С пользователями проблем нет, можно самому зарегистрировать их всех, и отправить на их ящики новые пароли, а вот как быть с темами и датами регистрации пользователей, как сделать так чтобы перенести такие данные как дата регистрации пользователя, дата создания темы, дата публикации сообщений?
Ведь наверняка это можно где то прописать?
Если форум небольшой, то можно сделать это вручную. Впоследствие даты регистрации, тем и сообщений можно будет также изменить вручную в файлах базы данных ExBB. Если же форум объёмный, то необходимо писать конвертер, который будет автоматически переносить данные с Вашего старого форума |
yura3d |
Отправлено: 21 июля 2009 — 21:18 • Тема: Дополнительные моды • Форум: Обсуждение |
Ответов: 240 Просмотров: 174141
 |
Victor пишет:почему считаете что канал до пользователя не играет роли?
Я не считаю, это констатация факта (технической особенности реализации). Пользователь лишь отправляет Вашему серверу запрос на открытие темы, всю дальнейшую работу (включая подгрузку внеших изрображений) выполняет скрипт на Вашем сервере. Браузер пользователя никакой подгрузкой внешних изображений не занимается (это очень важная особенность, именно в этом и заключается смысл создания превью-копий внешних изображений, чтобы экономить пользователям траффик, ведь превью-копии редко превышают объём 5 Кб), следовательно и никакого влияния качество Интернета пользователей не оказаывает на работу данной функции
Victor пишет:как показала практика он играет значение, я ведь реально просил пользователей заходить и отписываться, так вот у многих открывались изображения у других нет
Возможно, в тот момент, когда загрузка изображений не осуществлялась, Ваш или внешний серверы (или промежуточные узлы, связывающие их) испытывали повышенную нагрузку, что и вылилось в уменьшении скорости работы, и, как результат, непреодолении тайм аута |
yura3d |
Отправлено: 21 июля 2009 — 20:55 • Тема: Дополнительные моды • Форум: Обсуждение |
Ответов: 240 Просмотров: 174141
 |
Victor пишет:yura3d я на своем ресурсе просто запретил сначала использование реально тормознутых фотобанков, но это не решение поскольку для пользователя А это один трасер, для пользователя Б это совсем другой... насчет тайм аута на исполнеие рнр скриптов я знаю потому и написал что идея не очень удачная...
Пользовательский tracert не имеет никакого отношения к удалённым соединениям PHP, загрузку изображений и отдачу их уменьшенных копий пользователям осуществляет Ваш сервер, и только tracert от Вашего сервера до внешнего имеет значение (хотя и не определяющее, если тормозит сам внешний сервер) |
yura3d |
Отправлено: 21 июля 2009 — 20:49 • Тема: Поиск сообщения по имени файла из папки UPLOADS • Форум: Обсуждаем |
Ответов: 10 Просмотров: 9464
 |
Victor пишет:в общем то с конвертацией понятно хотя для платных хостингов разница объемов незначительна... другое дело быстрота работы скрипта с этой самой базой
В MySQL в некоторых случаях объём БД (именно БД, а не хранимых данных) может увеличиваться в геометрической прогрессии. Простой пример, для поля текста сообщений в таблице сообщений мы отводим 65536 символов (стандартный тип text, именно он применяется для хранения текстов сообщений в подавляющем большистве случаев), но абсолютное большинство сообщений имеют значительно меньшую длину, и в результате получаем огромный массив на жёстком диске никак не используемого, и при этом занятого пространства. Я согласен, что статическая типизация позволяет быстрее организовать выборку и поиск, но с другой стороны объёмы файлов, в которых хранятся таблицы, также играют не последнюю роль в скорости работы (особенно когда такие файлы сильно фрагментируются на жёстком диске) |
yura3d |
Отправлено: 21 июля 2009 — 20:38 • Тема: Глубиномер с чего начинать? • Форум: Обсуждаем |
Ответов: 20 Просмотров: 18223
 |
Victor
Я подумаю над этой возможностью, косвенным её недостатком служит некоторое усложнение шаблонов (я стараюсь максимально отделять код от шаблона, и по минимуму использовать PHP в файлах скинов). В будущем планируется реализовать шаблонизатор, поэтому я думаю данная проблема будет минимизирована
(Добавление)
С другой стороны, я ни на одном форуме такой возможности не видел, возможно, ссылки на сайт в шапке форума будет достаточно? |
yura3d |
Отправлено: 21 июля 2009 — 20:30 • Тема: Мод: Чат на форуме (Beta) • Форум: Модификации и дополнения |
Ответов: 252 Просмотров: 191673
 |
electron пишет:еще не плохо было б для слабопонимающих в пхп (себя имею в виду) прояснить ситуацию вставки информера в низ форума ниже строки "кто онлайн". lisiycat мучается, и если често, я тож туда пробовал поставить, но у меня не получилось сдвинуть его к левому краю, он постоянно стоял посередине. в итоге загнал в шапку форума.
Так по-моему lisiycat уже отмучался , по крайней мере на его форуме информер как раз там и размещается со вчерашнего вечера
А вообще разместить информер рядом со списком он-лайн пользователей форума просто, для этого в файле templates/ваш_скин/board_body.tpl нужно найти строку:
CODE:<a href="tools.php?action=online" title="{$fm->LANG['ViewFullList']}">{$fm->LANG['WhoOnline']}</a>
Эта строка по сути является ссылкой Кто в on-line?, под ней мы и размещаем информер:
CODE:<br />{$chat_informer}
Разумеется, нужно не забыть убрать информер с места предыдущего размещения в этом же файле |
yura3d |
Отправлено: 21 июля 2009 — 20:23 • Тема: Глубиномер с чего начинать? • Форум: Обсуждаем |
Ответов: 20 Просмотров: 18223
 |
Victor
Под "глубиномером" понимается строка навигации:
Цитата:ExBB Community » Файловый ExBB » Обсуждаем ?
Victor пишет:по мере спуска внутрь, он увеличивается, но есть вопрос если форум установлен не в корневой каталог, нельзя ли начинать ли с Главная страница (Home) что бы каждый мог уйти с форума снова на первую страницу, даже на этом форуме нужно лезть в адресную строку, что не совсем удобно и тем более не представляет трудностей в разработке...
В файлах шаблона можно добавить ссылку на страницу сайта, не вижу, в чём здесь может быть проблема |
yura3d |
Отправлено: 21 июля 2009 — 20:19 • Тема: Поиск сообщения по имени файла из папки UPLOADS • Форум: Обсуждаем |
Ответов: 10 Просмотров: 9464
 |
Victor
Уже говорил выше, нельзя хранить базу данных одним файлом (единым списком). Когда такая база дорастёт хотя бы до 2 Мб (а это не более сотни-двух файлов в базе), Вы уже получите солидное подтормаживание при её чтении и обработке, а после 20 - 30 Мб скрипт перестанет укладываться в отведённые стандартные 30 сек. для выполнения. К сожелению, тут всё не так просто, как в случае с таблицами в MySQL. PHP обрабатывает файлы (да и вообще любые большие объёмы данных) в сотни и даже тысячи раз медленнее Си (на котором, к слову, и написаны MySQL и PHP). Ключ к быстрой работе этого форума кроется в том, что большие массивы данных по возможности разбиваются на небольшие файлы-фрагменты, и при очередном запуске скрипта всякий раз обрабатываются не все данные, а только небольшая их часть. С поиском (особенно текстовым) по файлам всё тоже далеко не так просто, хотя создание индексных файлов (по аналогии с индексами для полей в MySQL) в большей степени решает проблему. Является ли описанная выше концепция разбиения данных по небольшим файлом идеальным подходом? Конечно же, нет! Но такая концепция позволяет, жертвуя некоторыми возможностями и функциями, достичь высокой скорости выполнения скриптов и минимального размера текстовой базы данных форума. Уже где-то приводил пример, после конвертации форума ExBB (база которого занимала 28 Мб, с учётом поискового индекса) на IPB 1.3 база стала занимать 71 Мб |
yura3d |
Отправлено: 21 июля 2009 — 19:51 • Тема: Готовится к выходу ExBB FM 1.0 RC2 • Форум: Новости |
Ответов: 283 Просмотров: 226678
 |
vipraskrutka пишет:И совсем ее забросишь?
Нет. Посмотрим в дальнейшем по ситуации, т.к. одному мне тянуть 2 ветки будет сложно по причине вечного отсутствия свободного времени. Возможно, будет другой человек или даже отдельная команда для работы над файловой версией. Но это перспектива на ближайшие год-два
electron пишет:не хочу мускул.
Все мы рано или поздно будем на мускуле, это лишь вопрос времени. Безусловно, у файловой платформы есть свои плюсы, но реализация некоторых функций на файлах сложна и неразумна с точки зрения производительности, а отказываться от реализации ряда возможностей лишь из-за ограниченности файловой платформы нельзя, ибо у ExBB не будет многих конкуретных преимуществ перед другими движками (хотя в последнее время я стараюсь поддерживать файловую версию на уровне и сокращать отрыв от других движков, в результате по ряду пунктов мы обходим конкурентов) |
yura3d |
Отправлено: 21 июля 2009 — 19:19 • Тема: Дополнительные моды • Форум: Обсуждение |
Ответов: 240 Просмотров: 174141
 |
Victor пишет:yura3d интересный момент с выводом вместо изображения кода 404, это не столько проблема заррета (я ак тоже думал ошибочно) сколько качество скорости самого инета и загруженности хостинга, время выделенное на формирование страницы, а в перспективе и страниц (ведь на форуме не один человек) истекает и изображение не загружается выдается ошибка 404.. тут нужно проверять скорость соединения с инетом или нагрузку на хостинг.. плюс конечно можно глянуть на сам ресурс где размещены фото...
но есть факты: 1. эти изображения открывались у других пользователей (больше чем у двух-трех) и 2. открылись у меня при пустом форуме и не загруженном канале...
Совершенно верно, есть определённый тайм аут, по истечении которого (если изображения не успевают подгрузиться), функция обработки изображения выводит ошибку (в данном случае иконку 404)
Victor пишет:такое явление не хватка времени наблюдается и на других скриптах, особенно заметно при низкоскоростном инете...
вот увеличить это время было бы решением, хотя и не удачным...
Так я никак не ограничиваю это время, тайм аут и прочие параметры интерпретатора PHP определяются Вашим хостером. Вообще необходимость такого тайм-аута появилась неспроста, т.к. внешние серверы время от времени имеют свойство подтормаживать, и если загрузки каждого изображения мы будет ждать по 5-10 сек, то представьте что будет с открытием темы, содержащей сотню-другую внешних изображений с такого сервера  |
yura3d |
Отправлено: 21 июля 2009 — 18:55 • Тема: Мод: Чат на форуме (Beta) • Форум: Модификации и дополнения |
Ответов: 252 Просмотров: 191673
 |
lisiycat пишет:Теперь переменные местами поменять как нужно
В скрипте информера modules/chat/javascript/informer.js предусмотрено 3 варианта вывода информации:- Когда в чате никого нет:
CODE:result = ChatLang.ChatEmpty + '<br /><a href="#" onClick="update_informer(); return false;">' + ChatLang.ChatUpdate + '</a>';
- Первичная загрузка (без вывода имён пользователей):
CODE:result = ChatLang.ChatNow + ' <b>' + data.now + '</b><br /><a href="#" onClick="update_informer(); return false;">' + ChatLang.ChatOnline + '</a>';
- Полная загрузка (с выводом имён пользователей):
CODE:result = ChatLang.ChatNow + ' <b>' + data.now + '</b> [<a href="#" onClick="update_informer(); return false;">' + ChatLang.ChatUpdate + '</a>]' + '<br />' + data.online;
Все эти строки состоят из переменных (по сути используются 2 переменные - массивы data и ChatLang) и литералов (последовательности символов, заключённых в одинарные кавычки, которые никак не преобразуются и сохраняются в строку как есть). Массив data содержит 2 элемента, это кол-во сидящих в чате data.now и список имён сидящих в чате data.online. Массив ChatLang содержит языковые переменные, узнать подробнее об элементах этого массива можно из инструкции по установке информера
Для объединения переменных и литералов в строку пользуются операцией объединения (конкатенации) строк, объединение строк в JS выполняет оператор + (плюс). Вот пара простых примеров:- Шаблон: Сейчас в чате: <b>кол-во</b> (имена)<br />Обновить список
CODE:result = ChatLang.ChatNow + ' <b>' + data.now + '</b> (' + data.online + ')<br /><a href="#" onClick="update_informer();">' + ChatLang.ChatUpdate + '</a>';
- Шаблон: Сейчас в чате: имена
CODE:var result = ChatLang.ChatNow + ' ' + data.online;
Если вопросы по формированию строк всё-таки останутся, рекомендую обратиться к Гуглу, хотя на мой взгяд тут ничего сложно нет |
yura3d |
Отправлено: 21 июля 2009 — 18:05 • Тема: Готовится к выходу ExBB FM 1.0 RC2 • Форум: Новости |
Ответов: 283 Просмотров: 226678
 |
vipraskrutka пишет:yura3d, так может выложил бы уже наработанное и стабильное, чтоб не собирать по частям с разных тем исправления RC1, а чат с фотогалереей на RC3 перенести...
Если выпускать сейчас релиз, то придётся все имеющиеся скины и локализации под него адаптировать. Лучше это сделать один раз, чем размазывать по нескольку с небольшими изменениями. Тем более никаких RC3 и выше не планируется, я предполагаю, что этап расширения базовой функциональности и исправления ошибок завершится выходом Final версии, которая будет представлять собой отлаженный вариант RC2. Да и честно говоря, я уже планировал к концу этого года завершить работу над файловой версией и полностью переключиться на работу над ExBB 2 |
|