Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

(CSI/IPS/MODULE) Информационное сообщение в редакторе

Featured Replies

Posted

(CSI/IPS/MODULE) Информационное сообщение в редакторе


Небольшое предисловие…

Уфф… Ведь просишь же пользователей: «Загружайте все изображения и остальные файлы к НАМ на форум! Нет же, заливают на какую-нибудь бесплатную файлопомойку!» — вам не приходилось так думать, удаляя изображения, залитые пользователем на бесплатный хостинг картинок? При это ещё выдавая ему предупреждение за то, что он как всегда не прочитал правила форума! :) И вот, поняв что нужно именно ткнуть носом, я решил сделать hook, который бы выполнял очень простую задачу — выводил предупреждающее сообщение прямо в редакторе! Встречаем!

Специальное информационное сообщение, которое появляется в редакторе для уведомления пользователей о каких-либо правилах или порядках, установленных на форуме.

Основные возможности:

  • включение / отключение модификации через Админцентр;
  • выбор групп пользователей, для которых не будет отображаться сообщение;
  • выбор форумов, в которых не будет отображаться сообщение;
  • переключение цветовых режимов сообщения (поясняющее / предупреждающее сообщение).


 

  • Author

Fedya, согласен. Идея была взята с твоего быстрого ответа :D

Твоя оранжевая полоска на столько мне понравилась! И как это я сразу не догадался повесить объявление в самом редакторе! Ведь это же элементарно!  :gamer:

Решил сразу сделать хук!

 

Так что, давай не ленись. Жми пасибу. :D

Если указать форумы, то не хочет взлетать.
 

    $setForums = in_array($this->request['f'], explode(',', $this->settings['csnIPB3_editorMsg_forums']));

$this->request из воздуха взялось? :)

 

TODO: Добавить сообщение в форму расширенного редактора

  • Author

LvsF, эм... сообщение показывается везде. Неужели я залил старую версию? Оо


Ну и чего вы мне впариваете? Всё везде работает. Оо


Перезалил.

 

Если указать форумы, то не хочет взлетать.

 

Всё работает.

 

 

TODO: Добавить сообщение в форму расширенного редактора

 

post-12405-0-14377200-1395841391_thumb.p

 

Вы ТОТ хук смотрите или какой то левый?

Прежде чем выкладывать, я несколько раз перепроверяю всё.



$this->request из воздуха взялось?

 

А чего неправильного?

Обычное условие на форум. Разве нет? Или я туплю? Оо


На всякий случай перезалил файл.


Сейчас проверил на полностью новой установке ИПБ. Чистый ИПБ 3.4.6, только что установленный. Установил хук, проверил все параметры. Всё работает.

Не, у тебя лажа какая-то,

$setForums 

эта переменаная всегда будет false потому что

$this->request['f']

такого нет (ничего не выводит), следовательно и в массиве тоже нет

 

p.s. у меня нигде не выводит на тестовом форуме

    if (!$setInclude || $setUserGroups || !$setForums) {
      return;
    }

на этом условие наверняка все заканчивается

  • Author

Fedya, хрень какая то. Но у меня почему то выводит. Оо


Fedya, посмотри модуль (SOS34) Tags Required, у него там такая фигня:

<?php

 	/**
	 * (SOS34) Tags Required 1.0.0
	 *
	 * @access	private
	 * @return	void		[Outputs to screen]
	 */	

class tagsMandatory extends (~extends~)
{
	public function addTopic()
	{
		if ( in_array( $this->request['f'], explode( ',', $this->settings['tagsMandatory_forums'] ) ) AND IPSMember::isInGroup( $this->memberData, explode( ',', $this->settings['tagsMandatory_groups'] ) ) )
		{
			if ( !$this->request['ipsTags'] )
			{
				$this->setPostError( 'no_tag' );
			}
		}

		return parent::addTopic();
	}
}

Может я туплю по страшному? Оо


Ну и чего вы мне впариваете? Всё везде работает. Оо
Я тут ничего не впариваю. Вы, как автор, должны быть готовы к любым вопросам/предложениям/замечаниям.


Всё работает.
Не работает у меня.


Вы ТОТ хук смотрите или какой то левый?

То, что загрузили, то и смотрю.

Прежде чем выкладывать, я несколько раз перепроверяю всё.

Отлично. Только речи об этом не было.


А чего неправильного?

$this->request из воздуха взялось?


Обычное условие на форум. Разве нет? Или я туплю? Оо


На всякий случай перезалил файл.
Тот же самый файл.

 

По поводу расширенного ответа. Извиняюсь, все есть. Проверял при выборе форумов, поэтому и не было видно.

  • Author

Я тут ничего не впариваю. Вы, как автор, должны быть готовы к любым вопросам/предложениям/замечаниям.

 

А я не готов что ли? У меня ДВЕ чистых установке ИПБ, у меня проблема НЕ воспроизводится.

Я могу быть готовым к любым вопросам, если бы здесь бОльшая часть прокупала лицензии или юзала стили под ИХ текущую версию, а не гавнонуль перехаченного ИПБ 3.4.5 и стиль 3.2-чего-то-там. Оо

Поэтому я перепроверяю всё у себя. Оо

Проверял при выборе форумов, поэтому и не было видно.

Когда ты форум выбираешь - плоска пропадает? Так что ли?

На всякий случай в описании настройки сказано:

Выберите форумы, в которых запрещено видеть сообщение в редакторе.

 


Когда ты форум выбираешь - плоска пропадает? Так что ли?
Да. Причем для всех форумов, не зависимо от выбора.

Пример.

Есть 2 форума: форум А и форум Б

Действие №1:

Не выбираю форумы в настройках.

Итог:

Сообщение видно везде.

 

Действие №2:

Выбираю форум А в настройках.

Итог:

Сообщение не видно ни в одном из имеющихся форумов.

 

Действие 2 можно проделать с форумом Б. Итог тот же.

 


На всякий случай в описании настройки сказано:
Ознакомился внимательно при изменении настройки.
  • Author


Да. Причем для всех форумов, не зависимо от выбора. Пример. Есть 2 форума: форум А и форум Б Действие №1: Не выбираю форумы в настройках. Итог: Сообщение видно везде.   Действие №2: Выбираю форум А в настройках. Итог: Сообщение не видно ни в одном из имеющихся форумов.   Действие 2 можно проделать с форумом Б. Итог тот же.

Ааа!!!!

Вот оно что! Дело в том что у меня только один форум. И, указав его, сообщение исчезло. А, видимо, оно в других тоже пропадает. Федька прав. Всё понятно.

Затестю как будет время.

Пока что я залил версию 1.0.1 с регрессией: удаление функции выбора форумов.

Переделаю эту функцию по другому.

  • Author

Fedya, может вообще сделать через шаблоны?

__community.invisionpower.com/topic/286115-questions/?p=1813878

<if test="$this->request['f'] == X"></if>

Это должно работать везде. Проверял. Хотя опять таки у меня всего один форум ))

Всё, также убегаю. И да, буду поздно ))

  • Author

Версия 1.0.2

  • Логика перенесена в шаблон.
  • Вернулась функция выбора форума.

Версия 1.0.3

  • Немного откорректирована логика. Так будет, имхо, более правильно.

ЗЫ. Как я рассеянный. :D 

  • 6 месяцев спустя...

, Возможно ли доработать и выложить как другой хук? В общем, что бы можно было транслировать с определённого раздела названия открытых тем, сменной строкой.

Цель такая: раздел о потери вещей, документов и др. Создали тему "потерял документы на улице Трамвайной" и эта тема транслируется всем пишущим сообщения на форуме.  

Цель такая: раздел о потери вещей, документов и др. Создали тему "потерял документы на улице Трамвайной" и эта тема транслируется всем пишущим сообщения на форуме.  

Можно иначе сделать, есть хук который типа выводит глобальное сообщение на JQuery вернее определенные темы с определённых разделов и он транслируется на форуме, но помойму только на морде, но опять таки же модифицировать если то можно и по всему форуму.

Можно иначе сделать, есть хук который типа выводит глобальное сообщение на JQuery вернее определенные темы с определённых разделов и он транслируется на форуме, но помойму только на морде, но опять таки же модифицировать если то можно и по всему форуму.

Нашёл для главной из того, что себе представлял хук> jQuery Recent Topics Ticker, но там нельзя указать раздел транслируемых тем. Может знаете такой хук "с перламутровыми пуговицами"?

Нашёл для главной из того, что себе представлял хук> jQuery Recent Topics Ticker, но там нельзя указать раздел транслируемых тем. Может знаете такой хук "с перламутровыми пуговицами"?

Я тебе про него как раз таки и говорил ))) про данный хук, неа похожего нет больше, только дорабатывать.

  • 5 месяцев спустя...
  • Author

Обновление дополнения.

Ребрендинг и небольшие косметические изменения в коде.

 

Старую версию дополнение необходимо удалить перед установкой новой.

  • 3 месяца спустя...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.