Журнал пользователя движка phpFOX 3

Вчера, поздним вечером, начал исправлять пункт из планов: "Исправить глюк с отправкой формы коммента (Если открыта форма ответа на коммент, и отправляется другая форма обсуждаемого объекта, то после отправки форма виснет)". Только что закончил работу с этим глюком, заодно исправил проблему с BBcode (Былая доработка, сам же и допустил ошибку).

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

Журнал пользователя движка phpFOX 3
Нашел непонятный для чего мне код... Из за которого, как мне показалось и был глюк с лентой новостей, после удаления канала. В общем, открываю файл: "module/feed/include/component/ajax/ajax.class.php", в методе delete нахожу и удаляю код:
			if (phpfox::getParam('feed.refresh_activity_feed') > 0)
			{
				$rows = phpfox::getService('feed')->get(null, null, 0);
				$feed = array_pop($rows);

				$this->template()->assign([
						'aFeed' => $feed	
					]
				);

				$this->template()->getTemplate('feed.block.entry');
				$id   = 'js_item_feed_' . $feed['feed_id'];			
				$html = '<div class="js_feed_view_more_entry_holder">' . $this->getContent(true) . '</div>';

				$this->call("$('#feed_view_more').before('" . $html . "');");
			}

После чего глюка больше не замечал.

Считаю, что еще один пункт своего плана выполнил.
Заметил, что некоторые пользователи переходят с результатов поиска ПС, на адреса без слеша в конце... Решил это исправить, добавил код:
		// Добавление слеша в конце URL, если его там нет
		if (substr($url, -1) != PHPFOX_DS)
		{
			$bool = true;
			$url  = $url . PHPFOX_DS;
		} // Добавление слеша в конце URL, если его там нет End

В прежде написаною мной функцию correctUrl. Теперь слеш в конце URL есть всегда.
Сделал вывод парента для всех и всего. Парент (Родитель) - название страницы рядом с автором канала, в случае, если он не является владельцем страницы.

Изначально разработчики сделали вывод парента только для статуса, коммента страницы и ссылки.
Журнал пользователя движка phpFOX 3
Я немного перековырял код и сделал вывод парента для всего. Теперь, если автор канала не является владельцем/админом страницы, в ленте новостей (Кроме страницы (Модуль PAGES)) будет выведен парент.

В своих планах (Журнал пользователя движка phpFOX 3 (Сообщение: #5486)), я писал: Сделать возможность редактировать статусы пользователей. И вот, буквально 20 минут назад закончил работу над редактором статусов. Выглядит это так:
Журнал пользователя движка phpFOX 3
Яндекс сообщил Одинаковые заголовки и описания страниц и дал пример страниц: "https://danfa.net/humor/" и "https://danfa.net/pages/4/". На самом деле это одна и таже страница, просто в первом случаи страница открывается по указанному URL, что придумал администратор страницы. Во втором случае страница открывается по ID самой страницы. То есть при создании собственного URL страницы, страница будет доступна под двум адресам... Но, это неправильно...

Я это исправляю так: открываю: "module/pages/include/component/controller/view.class.php", нахожу:
		if (!($page = phpfox::getService('pages')->getForView($id)))
		{
			return phpfox_error::display(phpfox::getPhrase('pages.the_page_you_are_looking_for_cannot_be_found'));
		}

Ниже добавляю:
		if (isset($page['vanity_url']) && $id != 0)
		{
			header('Location: ' . $page['link'], true, 301);
			exit;
		}

Теперь если у страницы есть vanity_url, то она откроется только по этой странице. Если страницу открывать по ID, сценарий переадресует на URL, что указал администратор страницы.

В отдельной теме: Одна и таже страница открывается по разным адресам.
Добавлено: Журнал продвижения интернет сайта.
Продолжил работу над сплывающей подсказкой с краткой информацией о пользователе (Или странице (Группе)). На этот раз я работал над позицией самой подсказки, то есть в каком месте ей появиться. Дело в том, что, подсказка всегда появляется под ссылкой, и если ссылка будет находиться очень низко над нижней границей окна, то пользователь не увидит инфу, расположенную на всплывашке.

Я поправил файл "user_info.js", таким образом, что теперь если для всплывашки не хватает места под ссылкой, она появится над ссылкой. Так же сделал, если подсказке не хватает места в правой стороне, она появится с левой.
Журнал пользователя движка phpFOX 3
Продолжаю экспериментировать. На этот раз я экспериментирую в мобильной версии сайта. Я убрал аватарки в комментах.
Вложение записи
Сделал вывод сообщения при потере соединения интернета.
Как я это сделал, рассказал в теме: Как выводить сообщение на сайте при отсутствии интернета.
Добавил в BBcode MEDIA возможность вставлять записи с Телеграм:
[media]https://t.me/telegram/83[/media]


Как это сделал рассказал в теме: Как сообщения из Telegram публиковать на своём сайте.

ИКС вырос еще 10, теперь он 130.
Ранее, для мобильной версии, я убрал аватарки пользователей из комментариев. Вчера тоже самое сделал и в полной версии сайта, в качестве эксперимента. Я задал вопрос "Какой вид комментариев на Ваш взгляд лучше?" нескольким людям, каждый из них ответил, что без аватарок гораздо лучше.
Журнал пользователя движка phpFOX 3
У ответов на комментарий, с левой стороны расположен бордюр, толщиной 1 пиксель. Сделал это, чтобы комментарии и ответы на них отличались визуально.

Решение убрать аватарки у комментов, было принято, чтобы убрать пустоту, что находится под аватаркой. На мой взгляд, блок комментов без аватарок, выглядит красивее, чем с ними.
Изменил форму загрузки фотографии, что находится в ленте новостей. Сейчас она выглядит так:

Журнал пользователя движка phpFOX 3

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

Все мои варианты сценария вывода информации, при потери интернета, а так же объяснение, почему вариант не очень, приведены в теме: Как выводить сообщение на сайте при отсутствии интернета.
Начал делать блок с выводом ссылок на различные страницы/сайты. Блок предназначен для главной страницы (Модуль "pages"). Выглядит это так:
Журнал пользователя движка phpFOX 3

Для добавления или удаления ссылок, в менеджер страницы, добавил пункт Ссылки. Там, через специальную форму добавляется ссылка. Картинка, описание и анкор "хватается" автоматически:
Журнал пользователя движка phpFOX 3
Сегодня, загрузил скриншот более 2000 пикселей в ширину. Сценарий сделал копию данной картинки шириной 500 пикселей, для вывода в ленте новостей. Картинка, мне показалось, что в ленте, нечеткая, так как сжата в ~ четыре раза. Она выглядит нечетко, даже в открывшемся слое... Я решил дать возможность пользователям, просматривать оригинальный размер, прямо в ленте новостей, и для этого добавил ссылку на оригинальный размер картинки, на стене, под картинкой:
Журнал пользователя движка phpFOX 3
Это эксперимент, возможно, от этого я скоро откажусь и уберу ссылку (Еще думаю). А делается это просто: открываем: "module/photo/include/service/callback.class.php", в функции "getActivityFeed" находим:
			'feed_title'        => $row['title'],
			'feed_image'        => (count($listPhotos) ? $listPhotos : $img),

И добавляем ниже:
			'feed_image_original' => phpfox::getParam('photo.url_photo') . str_replace('%s', '', $row['destination']),

Затем открываем: "module/feed/template/default/block/content.html.php", находим:
                {/if}
            </div> 			
            {/if}

			{if !empty($aFeed.feed_custom_html)}

И перед эти вставляем:
					{if $aFeed.type_id == 'photo' && !phpfox::isMobile()}<a href="{$aFeed.feed_image_original}" class="thickbox">{$aFeed.custom_data_cache.width} × {$aFeed.custom_data_cache.height}</a>{/if}

Чистим кэш движка. Готово. Теперь пользователи могут видеть оригинальный размер картинки:
Журнал пользователя движка phpFOX 3

ВНИМАНИЕ: Мои переменные и код в целом может отличаться от Вашего, так как код моего движка переписан.
Перешел на PHP 8.1.6. Исправил устаревший код.
Продолжаю искать возможные ошибки.
Обновил библиотеку jQuery до последней версии, а так же плагины к ней.
Немного пришлось исправлять код, в некоторых файлах движка, после обновления.
Несколько дней подряд поисковые системы получали 500 Internal Server Error, а я и не знал, потому что сайт работал без каких либо проблем. Немного подробнее тут: Яндекс и Google натыкаются на ошибку 500 на рабочем сайте. Проблему удалось решить, но, осталось "следствие" в виде нулевой посещаемости и потеря позиций в поисковиках.
С "завода" движок одарен несколькими темами сайта, которые могут выбирать пользователи. К тому же движок, с "завода" позволяет пользователям создавать свое оформление. Пользовательское оформление я вырезал давно, ну, ни к чему оно, я считаю. Так же, я считаю, что у сайта должна быть всего одна тема. И сегодня я вырезал все темы движка, оставил одну "Nabela". Теперь файлы темы полной версии сайта находятся в папке "theme/full". Модуль "theme" тоже удалил, за ненадобностью.