-
Постов
278 -
Зарегистрирован
-
Посещение
-
Победитель дней
27
Тип контента
Профили
Загрузки
База знаний IPS Community Suite 4
База знаний IP.Board 3.x
Форумы
События
Магазин
Совместные покупки
Сообщения, опубликованные siv1987
-
-
- andros0789, FoLez, Evols и 4 других
- 7
-
Какой формат опций предпочитаете:
Только [hide=10,2,3]
Только [hide p=10 r=2 d=3]
Нужна поддержка обоих форматов. -
В 22.01.2019 в 00:47, Derbrent сказал:
Может вам собрать нормальны
плагин
Если дойдут руки до него. На что я сейчас готов это просто переписать его под нормальный формат IPS с поддержкой лэнгов и добавлением опции с условием группы и спасибо за пост.
А пока выслушаю ваши предложения по формату плагина. Как вы себе представляете работу тега, какой функционал в нем не хватает. -
\system\Content\Reactable.php
найти/* React to own content */ if ( !\IPS\Settings::i()->reputation_can_self_vote AND $this->author()->member_id == $member->member_id ) { return FALSE; }
Ниже добавить
if( $this instanceof \IPS\forums\Topic\Post ) { if( $member->member_id AND isset( $this->_reactions[ $member->member_id ] ) ) { return FALSE; } }
При оценки пользователь сможет удалить или изменить реакцию.
После обновления страницы - нет. -
Автор этого плагина просто напросто отбитый наркоман, а в IPS он проездом.
Весь этот наркоманский код
$seuchas = time(); $nado_reg = strtotime($regis)+(60*60*24*$treg); $date = $nado_reg; $sec=$date - time(); $days=floor(($date - time()) /86400); $h1=floor(($date - time()) /3600); $m1=floor(($date - time()) /60); $hour=floor($sec/60/60 - $days*24); $hours=floor($sec/60/60); $min=floor($sec/60 - $hours*60); switch(substr($days, -1)){ case 1: $o='Остался'; break; case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 0: $o='Осталось'; break;} switch(substr($days, -2)){ case 1: $d='день'; break; case 2: case 3: case 4: $d='дня'; break; default: $d='дней'; } switch(substr($hour, -2)) { case 1: $h='час'; break; case 2: case 3: case 4: $h='часа'; break; default: $h='часов'; } switch(substr($min, -2)) { case 1: $m='минута'; break; case 2: case 3: case 4: $m='минуты'; break; default:$m='минут'; } if ($sec>0) $timer .='<strong>'.$o.':</strong> '; if ($days>0) $timer .= $days.' '.$d; if ($h1>0) $timer .= ' '.$hour.' '.$h; if ($m1>0) $timer .= ' '.$min.' '.$m; if ($sec<0) $timer = "";
можно уместить в несколько строчек
$have = ''; $need = \IPS\DateTime::create()->sub( new \DateInterval( 'P'.$treg.'D' ) ); if( $need < \IPS\Member::loggedIn()->joined ){ $have = 'Вам осталось ' . \IPS\DateTime::formatInterval( $need->diff( \IPS\Member::loggedIn()->joined ), 2 ); } $msg .= 'Вы должны быть зарегестированы не менее '.$treg .' дней. '.$have;
Или что-то типа
$msg .= 'Вы должны быть зарегестированы не менее '.$treg .' дней.' . ( \IPS\Member::loggedIn()->member_id ? 'Вы провели на форуме ' . \IPS\DateTime::formatInterval( \IPS\DateTime::create()->diff( \IPS\Member::loggedIn()->joined ), 2 ) : '' );
Почему бы не сделать необязательные параметры - [hide], [hide=1], [hide=1,2] и тд.
Почему бы не добавить именные параметры чтобы не путаться с расположением [hide p=1 d=3 r=2] как это было в тройке. Распарсить эти параметры нет ничего сложного обычным explode.
Почему не добавить для времени регистрации префикс с указанием типа m - месяц, y - годы.
Плагин сырой и не доделанный, а автор еще умудряется за это деньги клянчить.Перенос строки в теге не работает потому что вы регулярном выражение его не учитывается.
Нужно'!\[hide=([0-9,]+)\](.+?)\[\/hide\]!i'
Заменить на
'!\[hide=([0-9,]+)\](.+?)\[\/hide\]!is'
-
Что с хешами паролей? Таблица core_members
-
В 17.01.2019 в 11:29, omni сказал:
На сколько я понял, глобал не отредактировать из-за типа столбца "template_content" т.к слишком большой объем кода. И стиль к сожалению не проредактировать, есть выход сменить тип столбца с mediumtext на largetext.
Поле с типом mediumtext в mysql может хранить 16,777,215 символов (если учесть что шаблоны это однобайтовые ASCII символы, то это примерно ~16 мб). Вопрос, каким образом можно было перейти это значение, если сам файл целиком со всеми шаблонами весит всего лишь 0,38 мб? Вы что-то путаете и причина по которой не можете отредактировать шаблон явно не в размере поле mysql.
-
Цитата
{lang=uk_UA}Привіт{/lang}
Я же написал, первые два символа {lang=uk}Привіт{/lang}
1 час назад, Duncan сказал:И можно ли как-то такое делать с заголовками?
Заголовок темы принято называть тайтлом (title). Пишите конкретнее чтобы было понятно.
С тайтлами сложнее, там генерируется чпу и нет определенного метода для его вывода. -
Нужно смотреть локаль языка (Короткая запись) в настройках, название атрибута соответствует первым двум символам.
Заголовок чего?
-
-
3 часа назад, Derbrent сказал:
То что хочу реализовано на форуме WT, юзер заходит в раздел создает тему. При этом другие юзеры могут только читать, но отвечать в теме имеет право только сам автор, ну соответственно администрация сайта.
На удивление сделать это не сложно. В \IPS\forums\Topic есть такой метод как canComment, который отвечает за право пользователя комментировать.
Открыть
\applications\forums\sources\Topic\Topic.php
Найти
public function canComment( $member=NULL ) {
Ниже добавить
if( !$member AND in_array( $this->forum_id, array( ид_раздела ) ) AND ( \IPS\Member::loggedIn()->member_id != $this->starter_id AND !\IPS\Member::loggedIn()->isAdmin() ) ) { return FALSE; }
ид_раздела - ид форума где право отвечать имеет только топик стартер.
-
В принципе нет ничего сложного сделать такой плагин с заменой по регулярному выражению. Можно использовать метод \IPS\forums\Topic\Post::content() который выводит содержимое сущности. В качестве атрибутов языка используются первые две буквы локали языка. ru_RU - ru, en_US - en и тд.
Плагин получился очень простым, единственный недостаток что сообщения парсятся "на лету", но как правило сейчас уже все используют этот метод.
-
-
В файлах
/applications/links/sources/Link/Comment.php
/applications/links/sources/Link/Link.php
/applications/links/sources/Link/Review.php
Найти и удалить\IPS\Content\ReportCenter,
А вообще странно что на одном форуме не работает, по идее он не должен работать на всех 4.3, по крайней мере частично. И обновится все таки желательно, версия уже старая бог знает что там еще изменилось в 3x. -
В логах.
Если ошибка сервера в логах php, если форума то в \uploads\logs (или через АЦ) -
Есть еще вариант с правкой шаблона
Customization -> %Тема% -> core -> global -> global -> includeMeta
Найти{{foreach \IPS\Output::i()->metaTags as $name => $content}}
Ниже добавить
{{if $name == 'robots' AND request.app == 'core' AND request.module == 'search' AND request.tags}} {{continue;}} {{endif}}
-
В 23.12.2018 в 12:05, Горан Рабцевич сказал:
А на втором(основном) форум падает с 500 ((((
В логах что пишет?
-
Теги относятся к модулю поиска, а результаты поиска по умолчанию закрыты для индексации.
Открыть \applications\core\modules\front\search\search.php
Найти
\IPS\Output::i()->metaTags['robots'] = 'noindex'; // Tell search engines not to index search pages
Заменить на
if( !\IPS\Request::i()->tags ) { \IPS\Output::i()->metaTags['robots'] = 'noindex'; // Tell search engines not to index search pages }
-
Есть мнение что вы не правильно редактируете файл или , но это не точно, так как лог ошибок вы показали.
Увы, по этой бесполезной картинки я ничего не могу подсказать. -
2 часа назад, Otto_River2 сказал:
да
Ага, ну как же.
https://invisioncommunity.com/forums/topic/428730-introduction-notice/ -
2 часа назад, Catalo сказал:
мое средство работает, боты регаться перестали
Отчет как то пустовато получился. Не очень объективно, учитывая сколько у вас там средств защиты от ботов. Нужно как минимум взять все ип адреса регистрации с момента установки этой модификации и проверить по спамбазе. Потом взять такой же промежуток времени до установки этого поле и также проверить ип по базе. Понятное дело что некоторые ип на момент регистрации могут быть чистыми, но такое как правило бывает редко. Прочие факторы должны быть равны, чтобы не искажали результат.
-
Это конечно шляпа, текст должен заменятся между начальным и конечным тегом, а не просто по ббкоду. Такого даже в тройке небыло.
Отключить эти ббкоды можно правкой кода в файле system\Text\Parser.php
Найти
foreach ( \IPS\Application::allExtensions( 'core', 'BBCode', $member ) as $key => $bbcode ) { if ( $bbcode->permissionCheck( $member, $area ) ) { list( $app, $tag ) = explode( '_', $key ); $return[ $tag ] = $bbcode->getConfiguration(); } }
Ниже добавить
$return = array_diff_key( $return, array_flip( array( 'u', 's', 'i', 'b' ) ) );
Через редактор оформление этих ббкодов по прежнему будет доступно.
-
1 час назад, Dusty сказал:
2C145/D Загруженный файл является недопустимым
Боюсь спросить, вы точно xml файл устанавливаете а не архив? Не перепутали плагин с приложениями? Другие плагины при этом устанавливаются нормально? Это ошибка говорит о том, что не удается прочитать xml файл и она не связана с плагином.
Последняя актуальная бесплатная версия отлично устанавливается и прекрасно работает на IPS 4.3. -
20 часов назад, Dusty сказал:
Может плагин есть такой который разрешает опред группе группе выдовать оперед группы?
(DF41) Front Change Group
Код ошибки ex0
в Техническая поддержка Invision Community
Опубликовано
Отсутсвует группа с id 9.
Кто-то на форуме, очевидно в сайдбаре, пытается ее загрузить а функция выбрасывает исключение. И видимо проблема связана с виджетом whosOnline.php