ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList

Страниц (13): В начало « ... 4 5 6 7 [8] 9 10 11 12 ... » В конец

> Найдено сообщений: 186
Flat Отправлено: 5 октября 2018 — 08:07 • Тема: Размышлизмы о движке • Форум: О жизни

Ответов: 64
Просмотров: 33341
1Bot
Действительно многого. Может это и не нужно на определённом этапе, но будем иметь в виду на будущее..
Flat Отправлено: 5 октября 2018 — 08:05 • Тема: Обрезаются ссылки • Форум: Решение проблем

Ответов: 2
Просмотров: 2450
Попробуйте в файле post.php найти строчки:
CODE:
/* Отправка всем подписавшимся на тему */
if (count($emailers) !== 0 && $PostAdded === TRUE) {
$email = sprintf($fm->LANG['NewPostNotify'],
$forumname,
$fm->exbb['boardname'],
$fm->user['name'],
date("d-m-Y H:i:s",$fm->_Nowtime),
$fm->input['inpost'],
$fm->exbb['boardurl'].'/topic.php?forum='.$forum_id.'&topic='.$topic_id.'&postid='.$last_key,
$fm->exbb['boardurl'],
$forum_id,
$topic_id);
$fm->_Mail($fm->exbb['boardname'],$fm->exbb['adminemail'],$emailers,$fm->LANG['NotifyNewPost'].$forumname,$email);
unset($emailers); }

затем в этих строчках найти строку:
CODE:
$fm->exbb['boardurl'].'/topic.php?forum='.$forum_id.'&topic='.$topic_id.'&postid='.$last_key

и замените её на:
CODE:
$fm->exbb['boardurl'].'/topic.php?forum='.$forum_id.'&topic='.$topic_id.'&postid='.$last_key.'#'.$last_key

Сам я не тестировал, но должно сработать.
Flat Отправлено: 1 октября 2018 — 13:36 • Тема: Отправить письмо администратору сайта • Форум: Обсуждение

Ответов: 61
Просмотров: 26378
Guyver пишет:
А с регой пользователей и неполучением ими письма для подтверждения - это тоже эта же самая проблема?

Кстати да - это тоже не работает.
Flat Отправлено: 1 октября 2018 — 09:20 • Тема: Отправить письмо администратору сайта • Форум: Обсуждение

Ответов: 61
Просмотров: 26378
Gmail.com и yandex работают через smtp по протоколу ssl, а форум написан с учётом того, что протокол ssl не используется. Протокол ssl использует совсем другие порты, чем просто smtp. Время у же ушло вперёд. В сети нагуглил класс для работы по ssl. Попробую как-нибудь вставить его в существующий код.
Flat Отправлено: 1 октября 2018 — 08:53 • Тема: Отправить письмо администратору сайта • Форум: Обсуждение

Ответов: 61
Просмотров: 26378
NordWest пишет:
Посмотрите вот тут.
Возможно это как раз и есть решение вашей проблемы?

Изменил код по вашей ссылке. Теперь на mail.ru стало доходить, а на yandex через раз. На gmail.com по прежнему не доходит. Чудеса..
Flat Отправлено: 30 сентября 2018 — 13:51 • Тема: Отправить письмо администратору сайта • Форум: Обсуждение

Ответов: 61
Просмотров: 26378
Так, сегодня установил новый форум. Залогинился под админом и под юзером из двух разных браузеров. Протестировал отправку на три почтовых ящика: yandex.ru, mail.ru, gmail.com.
На yandex почта доходит. На mail.ru не доходит и на gmail.com не доходит. Пока тестировал на неизменённом движке. Вот такие пироги.. И дело тут скорее всего не в движке, а в политике некоторых компаний..
Flat Отправлено: 29 сентября 2018 — 13:36 • Тема: Отправить письмо администратору сайта • Форум: Обсуждение

Ответов: 61
Просмотров: 26378
Parapsixolog пишет:
Только сперва проверьте на чистом форуме, без ваших добавлений,

Верно. Так и сделаю.
Flat Отправлено: 29 сентября 2018 — 13:35 • Тема: Размышлизмы о движке • Форум: О жизни

Ответов: 64
Просмотров: 33341
То есть в движке должна существовать некая имунная система самовосстановления и самолечению, некий контролёр здоровья..
Flat Отправлено: 29 сентября 2018 — 12:06 • Тема: Размышлизмы о движке • Форум: О жизни

Ответов: 64
Просмотров: 33341
1Bot пишет:
Система вполне может сама о себе знать.

Под системой я подразумевал движок форума, а не php фреймворк. То есть движок должен сам о себе всё знать, и если что - сам себя чинить!
Flat Отправлено: 29 сентября 2018 — 12:03 • Тема: Отправить письмо администратору сайта • Форум: Обсуждение

Ответов: 61
Просмотров: 26378
Parapsixolog пишет:
Кстати Flat , вы сами проверяли, письма доходят у вас, или нет?

хотел проверить на хостинге скопировав туда папку с форумом, но filezilla что-то не качает файлы: 6 файлов закачивает, а потом тормозит, выходит из лимита сервера. Буду переустанавливать. Что-то видимо случилось когда откатывал систему. Потом сообщу как всё происходит в реальных полевых условиях на чистом rc1.
Flat Отправлено: 28 сентября 2018 — 04:17 • Тема: Размышлизмы о движке • Форум: О жизни

Ответов: 64
Просмотров: 33341
Также интересен подход, который исповедует новая парадигма дата-ориентированного программирования, то есть ориентированного на данные, которые первичны в её понимании. http://gamesfromwithin.com/data-oriented-design
Данные это знание о том что существует в мире, а не просто сами данные. В движке нам нужно знать не только о том, что существует информация о пользователе, но и о том, что существуют сами функции движка. Нужен некий реестр всех функций в системе, то бишь знание о их существовании.. Тогда возможно менять их только через этот реестр. Нужен реестр модулей системы, чтобы их добавлять, подменять или удалять.. Всё группируется вокруг данных, данные это - всё. Например функция вывода главной страницы обращается к реестру блоков главной страницы и выводит их в соответствии этому списку. В список можно добавить блок, можно его удалить, можно перетасовать блоки в реестре и выводить их в другом порядке. Таким образом можно легко, к примеру, добавить рекламный блок или что-либо другое.. Таким образом система становится "умнее" так как "знает" про себя всё необходимое..
Flat Отправлено: 28 сентября 2018 — 03:04 • Тема: Размышлизмы о движке • Форум: О жизни

Ответов: 64
Просмотров: 33341
1Bot пишет:
но для других областей чрезмерно усложнена.

Чем сложнее задача, тем легче её решить в автоматном стиле.
1Bot пишет:
Например как выделить состояния форума при отправке поста пользователем или его редактировании/просмотре и т.д.?

По предыдущим состояниям действий пользователя. Есть же сессии, хотя можно и без них. Можно даже вести историю действий пользователя.
1Bot пишет:
Т.е. для форума это очень притянуто.

В некоторых моментах не обойтись. Например в режиме регистрации пользователя необходимо отслеживать его ввод для того, чтобы при ошибке ввода какого-то поля, отправлять пользователю новую форму с уже введёнными им правильными полями, чтобы пользователю не нужно было повторно вводить правильно-заполненные поля. Кстати, в данном движке это отсутствует. Это легко сделать в том же структурном стиле? Проще применить автомат, который позволяет отследить все состояния регистрации, в том числе откуда юзер пришёл на страницу регистрации. Также и по другим формам ввода.
1Bot пишет:
К понятию класса приходишь постепенно, если много пишешь на процедурном языке.

В программировании постоянно твердят, что глобальные переменные зло, во всяком случае когда их слишком много. Функции жёстко на них завязаны, поэтому они не расширяемы, не могут использоваться другими компонентами системы. А от этого система начинает распухать, жиреть.. В классе то же самое: там есть свои глобальные переменные, и функции-методы, которые на них жёстко завязаны.. Просто теперь этих клеток стало очень много, - целая тюрьма.. Данные и функции-обработчики это разные звери. Данные статичны, методы динамичны. Мы взяли и поместили их в одну клетку-класс, и нам кажется, что мы достигли этим инкапсуляции. Однако инкапсуляция тем больше, чем больше других компонентов можно вставить в уже существующий класс. По моему об этом писал Скотт Мейерс в статье "Как функции, не являющиеся методами, улучшают инкапсуляцию". То есть практика показывает, что мы многое потеряли.. А тут ещё наследование.. "Проблема с ОО-языками заключается в том, что они тянут за собой всё своё окружение. Вы хотели всего лишь банан, но в результате получаете гориллу, держащую этот банан, и все джунгли в придачу." Это не я сказал, Джо Армстронг создатель языка Erlang.
Я раньше увлекался таким языком программирования как Fort. Почитывал Лео Броуди. так вот он считал ооп сырой идеей и больше склонялся к компонентной модели. Программа делится на маленькие компоненты, каждый из которых выполняет свою работу. Более крупные компоненты пользуются услугами более мелких. Так растёт дерево программы: от корней к кроне, от низа до верха. Принцип взаимосотрудничества компонентов. А в ООП каждый класс воюет с другим классом, как буд-то они какие-то враги друг другу. Но они же представляют из себя одну и туже программу! Это единый организм, каждый орган которого выполняет свою функцию, и все вместе образуют слаженную систему. А в ООП система состоит из отдельных организмов, враждующих с друг другом и общающихся с друг другом посредством "сообщений".. Один обьект посылает сообщение другому с просьбой: вымой-ка посуду, дружище, а другой в этот момент занят: я читаю газету, отстань от меня, попозже как-нибудь вымою.. Это вот такие сейчас программы. Там теперь не отдают чёткие приказы, что делать, а теперь любезно просят сторонний обьект соблаговолить отложить свои дела и заняться этим..
Parapsixolog пишет:
Прочитал Flat вашу статью, и полностью вас поддерживаю

Ну, эту статью не я писал, просто привёл ссылку на отличное видение проблемы.
Parapsixolog пишет:
Вот например мозила феервокс на днях сожрала у меня 7 гигов оперативки!

Так практически во всех браузерах. Программисты не заморачиваясь просто запускают на каждую вкладку по отдельному экземпляру браузера, который работает в своём процессе-потоке, отсюда разбухание. Это в корне неверно, но так делают для собственного удобства, быстроты программирования. Страдает потребитель..
Flat Отправлено: 28 сентября 2018 — 02:14 • Тема: Отправить письмо администратору сайта • Форум: Обсуждение

Ответов: 61
Просмотров: 26378
Parapsixolog пишет:
я сейчас ещё раз сделал правки, и покрутил настройки в гостях мода группа. И вроде бы заработало это дополнение!

Очень за вас рад!
Parapsixolog пишет:
На мой взгляд весьма нужное дополнение к любому сайту.

Да, нужное. Я кстати так и оставил это у себя, пусть будет.
Parapsixolog пишет:
Стандартная кнопка не пойдёт.

Естественно. Вот тут есть из чего выбрать: https://yandex.ru/images/search?...2&source=wiz
Можно, конечно, свой дизайн сделать в какой-нибудь программе-редакторе графики, например в paint Net, но это требует усилий и времени.
Flat Отправлено: 27 сентября 2018 — 10:46 • Тема: Размышлизмы о движке • Форум: О жизни

Ответов: 64
Просмотров: 33341
1Bot пишет:
Используем объектно-ориентированное программирование, а именно полиморфизм как механизм преодоления архитектурных границ.

Ну, архитектурные границы можно преодолеть и простым пространством имён, или соглашениями. ООП вводит много ненужных ограничений.
1Bot пишет:
Используем функциональное программирование для наложения ограничений на местоположение данных и порядок доступа к ним.

Концепция функционального программирования ещё довольно далека от реальной жизни. "Всё есть функция" - не правильный постулат.
1Bot пишет:
Используем структурное программирование как алгоритмическую основу для наших модулей.

Это уже ближе к реальности. Однако и оно имеет свои ограничения. Приходится постоянно изобретать новые костыли чтобы влезть в прокрустово ложе "структурности".
1Bot пишет:
Структурное программирование накладывает ограничение на прямую передачу управления.
Объектно-ориентированное программирование накладывает ограничение на косвенную передачу управления.
Функциональное программирование накладывает ограничение на присваивание.

Вы слышали об автоматном программировании? Про разработки профессора, доктора технических наук, Анатолия Шалыто - https://ru.wikipedia.org/wiki/Ша...атолий_Абрамович? Он преподаёт компьютерные технологии на кафедре в ИТМО. Я читал его книгу "Автоматное программирование", а также много чего на его сайте. Также слушал его лекцию на ю-тьюбе. На мой взгляд за этим будущее. Некоторые вещи я пытаюсь делать применяя эту методологию.
1Bot пишет:
Поддержка полиморфизма дает абсолютный контроль над всеми зависимостями в исходном коде.

Полиморфизм может быть и без ООП. в php нет указателей на функции, как в си или с++, но возможно сделать нечто подобное.
1Bot пишет:
Это позволяет создать архитектуру со сменными модулями (плагинами), в которой модули верхнего уровня не зависят от модулей нижнего уровня.

Согласен. Это то, что я и хочу видеть в новом движке.
Flat Отправлено: 27 сентября 2018 — 08:27 • Тема: Размышлизмы о движке • Форум: О жизни

Ответов: 64
Просмотров: 33341
Переделал всё обратно. Действительно - так лучше. Это кстати соответствует одной из концепций MVC. Здесь также можно менять шаблоны путём переключения функций.
index файл сделал. Подключение модулей в нём работает. Подключаю тестовый модуль, в сё в порядке. Все папки с модулями, шаблонами и языками распределил, всё работает. То есть основную структуру сделал. Теперь можно спокойно заниматься наворачиванием модулей по ходу их тестируя почти готовым ядром.

Страниц (13): В начало « ... 4 5 6 7 [8] 9 10 11 12 ... » В конец

Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0355]     [ ]