siv1987
Пользователи
-
В сети
-
Количество сообщений
278 -
Reputation
98 siv1987's Reputation
Everything posted by siv1987
-
Код ошибки ex0
Извините, я могу указать только на ошибку, а куда тыкать мышкой и какой кнопкой нажать я не знаю. Вам должно быть виднее что у вас находится на форуме. Все данные чтобы разобраться у вас есть.
-
Код ошибки ex0
Отсутсвует группа с id 9. Кто-то на форуме, очевидно в сайдбаре, пытается ее загрузить а функция выбрасывает исключение. И видимо проблема связана с виджетом whosOnline.php
- Плагин HIDE с правилами
-
Плагин HIDE с правилами
Какой формат опций предпочитаете: Только [hide=10,2,3] Только [hide p=10 r=2 d=3] Нужна поддержка обоих форматов.
-
Плагин HIDE с правилами
Если дойдут руки до него. На что я сейчас готов это просто переписать его под нормальный формат 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; } } При оценки пользователь сможет удалить или изменить реакцию. После обновления страницы - нет.
-
Плагин HIDE с правилами
Автор этого плагина просто напросто отбитый наркоман, а в 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
-
Evoplayze
Поле с типом mediumtext в mysql может хранить 16,777,215 символов (если учесть что шаблоны это однобайтовые ASCII символы, то это примерно ~16 мб). Вопрос, каким образом можно было перейти это значение, если сам файл целиком со всеми шаблонами весит всего лишь 0,38 мб? Вы что-то путаете и причина по которой не можете отредактировать шаблон явно не в размере поле mysql.
-
Парсинг и подмена постов в зависимости от языка
Я же написал, первые два символа {lang=uk}Привіт{/lang} Заголовок темы принято называть тайтлом (title). Пишите конкретнее чтобы было понятно. С тайтлами сложнее, там генерируется чпу и нет определенного метода для его вывода.
-
Парсинг и подмена постов в зависимости от языка
Нужно смотреть локаль языка (Короткая запись) в настройках, название атрибута соответствует первым двум символам. Заголовок чего?
-
Исчезают правки в js
В uploads это кеш. "Рабочий" js находится в базе данных core_javascript.
-
Ограничение ответа в теме.
На удивление сделать это не сложно. В \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 и тд. Плагин получился очень простым, единственный недостаток что сообщения парсятся "на лету", но как правило сейчас уже все используют этот метод. Hide Content By Lang.xml
-
редирект с /forum/index.php?/topic/658... на /forums/topic/...
Некропост mode Очень просто сделать такой редирект через мод_реврайт В .htaccess корне сайте site.ru/.htaccess добавить RewriteEngine On RewriteRule ^forum/index\.php(/.*)$ /forums$1 [R=301,L] RewriteRule ^forum/(index\.php)? /forums/ [R=301,L]
-
Links Directory
В файлах /applications/links/sources/Link/Comment.php /applications/links/sources/Link/Link.php /applications/links/sources/Link/Review.php Найти и удалить \IPS\Content\ReportCenter, А вообще странно что на одном форуме не работает, по идее он не должен работать на всех 4.3, по крайней мере частично. И обновится все таки желательно, версия уже старая бог знает что там еще изменилось в 3x.
-
Links Directory
В логах. Если ошибка сервера в логах php, если форума то в \uploads\logs (или через АЦ)
-
индексация страниц tags
Есть еще вариант с правкой шаблона 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}}
-
Links Directory
В логах что пишет?
-
индексация страниц tags
Теги относятся к модулю поиска, а результаты поиска по умолчанию закрыты для индексации. Открыть \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 }
-
Проблема с ником
Есть мнение что вы не правильно редактируете файл или , но это не точно, так как лог ошибок вы показали. Увы, по этой бесполезной картинки я ничего не могу подсказать.
-
EX0
Ага, ну как же. https://invisioncommunity.com/forums/topic/428730-introduction-notice/
-
Скрытое поле при регистрации для защиты от спамеров
Отчет как то пустовато получился. Не очень объективно, учитывая сколько у вас там средств защиты от ботов. Нужно как минимум взять все ип адреса регистрации с момента установки этой модификации и проверить по спамбазе. Потом взять такой же промежуток времени до установки этого поле и также проверить ип по базе. Понятное дело что некоторые ип на момент регистрации могут быть чистыми, но такое как правило бывает редко. Прочие факторы должны быть равны, чтобы не искажали результат.
-
Проблема с ником
Это конечно шляпа, текст должен заменятся между начальным и конечным тегом, а не просто по ббкоду. Такого даже в тройке небыло. Отключить эти ббкоды можно правкой кода в файле 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' ) ) ); Через редактор оформление этих ббкодов по прежнему будет доступно.
-
Вопрос к группам
Боюсь спросить, вы точно xml файл устанавливаете а не архив? Не перепутали плагин с приложениями? Другие плагины при этом устанавливаются нормально? Это ошибка говорит о том, что не удается прочитать xml файл и она не связана с плагином. Последняя актуальная бесплатная версия отлично устанавливается и прекрасно работает на IPS 4.3.