Everything posted by soka
- Тв онлайн на форуме
-
Как очистить логи с форума?
Это скорее всего был сарказм - какой вопрос такой и ответ. А вот ваш ответ ничуть не лучше. ТС просил как удалить ип адреса пользователей, а не как очистить логи авторизации в админцентре. Сессии как раз использует больше информации о текущем состоянии пользователя, хотя и является кротко живущая. Форум действительно логи посещения как таковые не ведет, логированием запросов занимается вебсервер, но он хранит ип адреса регистрации пользователей наряду с ип сообщений, а также некоторые логи в других приложениях - downloads. Вопрос в другом, что автору это ничего не даст, его база нафиг никому не нужна, это относительная "анонимность" для самоуспокоения которая имеет мало общего с настоящей анонимностью, а если система скомпрометирована настолько что можно слить бд с тем же успехом можно будет выявить и настоящие ип адреса заинтересовавших пользователей. На этот счет хороший ответ дал ритсука - ipbskins.ru/forum/topic8726.html
-
Переход с IPB 3.4.6 Null на IPB 4.0
Видно у вас поверхностные предоставления о работе 3.x, и дальше бд своих клиентов с кодом форума вы не знакомы. Вы запутались между ТРЕБУЕТ и НЕ ТРЕБУЕТ и строите свои выводы с точки зрения пользователя - требует форум чего-то или нет. Разница между ними в том, что когда по вашему "требует" - чекаются таблицы на соответствие кодировке, другой этого "не требует" но де-факто в коде предполагается что данные в utf-8, а что находится не в этой кодировке конвертируется в html сущности. Я еще ни у кого не встречал чтобы 3x работал нормально с кирилицей на чистом windows-1251 (кодировка бд, кодировка соединения, заголовки сервера) без никаких проблем. Если что-то подобное есть, то там либо смесь кодировок, либо все в html-сущностях и половина функции работает криво - кирилица в json и тд. То, что вы лично что-то встречали так я тоже лично встречал когда одна кодировка записывалась в бд как другая при этом форум внешне работал нормально. Это ни разу не говорит о том, что "таблицы не в utf-8". У нормальных людей тройка работает в utf8. Если смотреть на код пресловутого "Get Ready for IPS Community Suite 4.0" которого вы здесь приводите, то там для проверки используется кодировка вместе со способ сравнения - utf8_unicode_ci if ( substr( $tableName, 0, 5 ) !== 'orig_' and $column['Collation'] and !in_array( $column['Collation'], array( 'utf8_unicode_ci', 'utf8mb4_unicode_ci' ) ) ) { $utf8 = FALSE; $utf8Info = "{$tableName}.{$column['Field']} is {$column['Collation']}"; break 2; } Этот инструмент выдаст, что кодировка неправильная если способ сравнения отличный от unicode даже если кодировка utf8 (utf8_general_ci). Может быть поэтому кажется что таблицы не в utf8?.. Если смотреть на код чекера форума при обновлении, то там проверяется только кодировка if( isset( $definition['collation'] ) AND mb_strtolower( mb_substr( $definition['collation'], 0, 4 ) !== 'utf8' ) ) { $convert = TRUE; break; } Но так как в драйвере \IPS\Db $collation жестко задан как utf8_unicode_ci, то если способ сравнения general лучше конвертировать его в unicode чтобы потом не получить Illegal mix of collation. /* Text types specify a character set and collation */ if( in_array( \strtoupper( $data['type'] ), array( 'CHAR', 'VARCHAR', 'TINYTEXT', 'TEXT', 'MEDIUMTEXT', 'LONGTEXT', 'ENUM', 'SET' ) ) ) { $definition .= "CHARACTER SET {$this->charset} COLLATE {$this->collation} "; } Резюмируя сказанное: - тройка по умолчанию работает в UTF-8 - конвертировать есть смысл, но не потому что "таблицы не UTF-8" а чтобы поменять способ сравнения (collate) на unicode.
-
Переход с IPB 3.4.6 Null на IPB 4.0
Таблицы создаются в той кодировке, которая указана при создании базы данных (если она задана, в противном случае также будет использоваться кодировка в которой работает сервер), а вот кодировка соединения (set names) по умолчанию отсутствует в конфиге форума, и при соединение с сервером используется дефолтная кодировка mysql сервера. Если mysql сервер работает не в utf8 при установке IPB с кириллическими буквами начинается каша.
-
Переход с IPB 3.4.6 Null на IPB 4.0
Бред как раз пишите вы говоря о том, что тройка не в utf8. Если ваш клиент умудрился установить форум с кривой кодировкой то это является исключением, а не правило. И то, там скорее всего смесь кодировок - utf8 конвертировался записывался в бд как cp1251, и при извлечение в cp1251 utf8 становился снова нормальным. Конвертер перекодирует тип сравнения, потому что в четверка требует unicode, хотя при желании можно поставить и на general. Вы похоже сами не разобрались в его предназначении а учите тут других.
-
Альтернатива Hide
или $return = "<span style='display: block; font-weight: normal; clear: none; color: #f00;'>" . implode( '<br />', $error ) . ( ( ! $this->memberData['member_id'] ) ? "<br /><a href='" . $this->registry->output->buildUrl( 'app=core&module=global&section=login', 'publicNoSession' ) . "' title='Войти' id='sign_in'>Войти</a> или <a href='" . $this->registry->output->buildUrl( 'app=core&module=global&section=register', 'publicNoSession' ) . "' title='Регистрация' id='register_link'>Зарегистрироваться</a>." : "" ) . "</span>";
-
В выдаче Яндекса Заголовок не соответствует ссылке
ipbskins.ru/forum/topic13679.html
-
Альтернатива Hide
$error[] = "Скрытый текст доступен только зарегестрированным пользователям.". " Войти или Зарегистрироваться."; И соответственно убрать из $return $return = "" . implode( ' ', $error ) .""; html отработал $error[] = 'Скрытый текст доступен только зарегестрированным пользователям.'." Войти или Зарегистрироваться."; [/code] [code] $return = "" . implode( ' ', $error ) . ""; [/code] нда, парсер в 4x полный г $error[] = 'Скрытый текст доступен только зарегестрированным пользователям.'."<br /><a href='" . $this->registry->output->buildUrl( 'app=core&module=global&section=login', 'publicNoSession' ) . "' title='Войти' id='sign_in'>Войти</a> или <a href='" . $this->registry->output->buildUrl( 'app=core&module=global&section=register', 'publicNoSession' ) . "' title='Регистрация' id='register_link'>Зарегистрироваться</a>."; $return = "<span style='display: block; font-weight: normal; clear: none; color: #f00;'>" . implode( '<br />', $error ) . "</span>";
-
Переход с IPB 3.4.6 Null на IPB 4.0
>>>Надо, ибо таблицы не в UTF-8 Sanshalay, а в чем они? 3.x по умолчанию работает в utf8, людей не вводите в заблуждения. Вы путаете способ сравнения - unicode и general. newmanew, обновляться лучше на локалхосте.
- Условие - показывать, если автор поста - пользователь
-
Стиль + SMTP
Да он самый - адрес для исходящих писем. Укажите тот же адрес на mail.ru
-
Стиль + SMTP
К сожалению я тоже не врубаюсь в четвертой версии. В тройке это было где-то в настройках почты администратора.
-
Отображение модераторов на главной
Причина в хуке который заточен под шаблон дефолтного скина. Сегодня на ipbskins.ru видел аналогичную тему по поводу этого хука и решения проблемы (копипастить без разрешения автора не хочу).
-
Альтернатива Hide
Хоть код немного кривоват можно допилить и этот бб-код, добавить как минимум поддержку постов. Замену в данном случае лучше всего делать по коллбэк функции. if ( $this->memberData['member_id'] ) { $txt = preg_replace("/\[{$_tag}\](?s)(.*?)\[\/{$_tag}\]/i", "$1", $txt); } else { $txt = preg_replace("/\[{$_tag}\](?s)(.*?)\[\/{$_tag}\]/i", "<span style='display: block; font-weight: normal; clear: none; color: #f00;'>Содержание видно только зарегистрированным пользователям.<br /><a href='/index.php?app=core&module=global&section=login' title='Войти' id='sign_in'>Войти</a> или <a href='/index.php?app=core&module=global&section=register' title='Регистрация' id='register_link'>Зарегистрироваться</a>.</span>", $txt); } Заменить на $txt = preg_replace_callback( "/\[{$_tag}(=\d+)?\](.*?)\[\/{$_tag}\]/i", array( $this, '_callback' ), $txt ); И добавить новый метод protected function _callback( $m ) { $args = trim( ltrim( $m[1], '=' ) ); $error = array(); if( $args ) { if( $this->memberData['posts'] < $args ) { $error[] = 'You need '. intval( $args ) . ' posts for view this content.'; } } else { if( ! $this->memberData['member_id'] ) { $error[] = 'You need register for view this content.'; } } if( count( $error ) ) { $return = "<span style='display: block; font-weight: normal; clear: none; color: #f00;'>" . implode( '<br />', $error ) . "<br /><a href='" . $this->registry->output->buildUrl( 'app=core&module=global&section=login', 'publicNoSession' ) . "' title='Войти' id='sign_in'>Войти</a> или <a href='" . $this->registry->output->buildUrl( 'app=core&module=global&section=register', 'publicNoSession' ) . "' title='Регистрация' id='register_link'>Зарегистрироваться</a>.</span>"; } else { $return = $m[2]; } return $return; } Можно будет юзать как просто [hide] для зарегистрированных пользователей так и [hide=3] для количество сообщений. При желании и небольшой модификации можно добавить поддержку полноценных опции для валидации всевозможных условий. Проблема ббкода только в том, что он кешируется. Чтоб он хайд работал нормально скорее всего придется отключать кеш постов. Поэтому и был написан модуль скрытого текста который используется совсем другой принцип работы.
-
Стиль + SMTP
Служебный емайл "Отправитель" в настройках форума какой указан? Это должен быть тот же самый адрес. Хорошо бы взглянуть на заголовки письма.
-
mod_revrite и новый компонент
"friendly": "", "real": "app=amxbans&module=amxbans&controller=view"
-
mod_revrite и новый компонент
В ЧПУ friendly разве пишется не без домена? В \IPS\Http\Url::internal попробуйте указать app=amxbans&module=amxbans&controller=view
-
Ошибка с базой.
REPAIR TABLE content_cache_posts
-
Стиль + SMTP
Из FAQ а значит SMTP-сервер нужно писать как tls://smtp.mail.ru
-
IPS 4.0.7 исходник(не нулл)
Естественно не может если у ТС'а лицензия не активна. Даже если вы каким-то образом установите original 4.x без активной лицензии, форум отправит запрос на IPS что вы установили эту версию, а это является нарушением лицензии и вы рискуете ее потерять. В вашем скриншоте как раз об этом и говорится - без активной лицензии вы не имеете доступ к обновлениям и новым версиям форума. Вы имеете права устанавливать только те версии которые были доступны на момент активности лицензии.
- Проблема с кодировкой Mysql
-
Появилась глобальная проблема с файлами
Напишите в ЛС, поможем. То, что проблема решилась каким-то образом не факт что у вас таким же образом решится. Параметр MaxRequestLen служит для fast-cgi (mod_fcgid).
-
IP.Nexus gateway для Украины
Все охринительно просто?.. Что-то я сомневаюсь что вы сами написали. Расскажите нам, каким образом вы формируете контрольную подпись со всеми параметрами формы, когда IP.Nexus генерирует свои служебные параметры которые тоже участвуют в WMI_SIGNATURE?
-
Joomla + IPB общий Robots Есть вопрос!
Нахрена вы дублируете два раза одни и те же правила для яндекса? Откуда такая дурная привычка взялась дублировать для каждого бота те же самые запреты, я понимаю когда они разные... В хост протокол нужно указывать только если используется https.
-
Недопустимое расширение файла
Дело не в формате а в расширение. Формат это то, что представляет из себя файл, а расширение это символы добавляемые после имени файла для определения формата. Ипб оперирует расширением файла, определение формата слишком ресурсоемкая операция (хотя, если обобщить, формат изображения можно определить по начальным байтам файла). В АЦ есть настройка для допустимых расширений инлайн изображений. Если очистить эту настройку, в img можно вставлять любые ссылки, или наоборот - задать только разрешенные расширения.