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.

soka

Актив
  • Регистрация

  • В сети

Everything posted by soka

  1. В IPB есть такая штука как синхронизация пользователей (MemberSync), она выполняется при определенных событий on%Event% и имеет в своем классе большинство событий для полноценной синхронизации пользователя с удаленной базой данных - onCreateAccount, onLogin, onDelete, onProfileUpdate и тд. Этот инструмент дает больше возможностей для управления. Правда, с паролем там небольшие проблемы, так как есть только изменяемые поля, но нету "чистого" пароля. Можно и с методом авторизации синхронизировать, с костылями для хеширования пароля, регистрация аккаунта на примере выше это получилось так WoW External Auth.xml WoW External Auth.xml
  2. Я и не собираюсь, этого еще мне хватало. Если бы мне нужно было им пользоваться я бы не стал его обсирать в качестве объективной критики. Автор темы/сообщения тоже меняется одним запросом, ну для обновления статистики и прочей херни можно дополнительно понаписать коду. Проверка пароля тоже делается одной строчки кода, да и не нужна она в принципе, лучше подключить ядро форума и проверять права администратора (только не говорите что вы искали и не нашли). ТС, вы же сами знаете что код унылый, и дело не в том что я могу написать лучше или хуже, или не нравится не пользуйся, а в том что это говнокод, пусть и для себя но который нужно писать нормально. Это уже прогресс. Критика пошла на пользу. Для будущего развития можно рассмотреть подобные варианты <?php require_once 'init.php'; \IPS\Dispatcher\Build::i(); foreach( \IPS\Db::i()->select('tid', 'forums_topics', array( 'topic_open_time > 0 AND topic_open_time <= ? AND approved = -1', time())) as $tid ) { $topic = \IPS\forums\Topic::load( $tid ); $topic->approved = 1; $topic->state = 'open'; $topic->topic_open_time = ; $topic->save(); $topic->resyncLastComment(); $topic->resyncLastReview(); if( $container = $topic->containerWrapper() ) { $container->setLastComment(); $container->setLastReview(); $container->save(); } } или одним sql запросом <?php require_once 'init.php'; \IPS\Dispatcher\Build::i(); \IPS\Db::i()->update( 'forums_topics', array('approved' => 1, 'state' => 'open', 'topic_open_time' => ), array( 'topic_open_time > 0 AND topic_open_time <= ? AND approved = -1', time() ) );
  3. Нда, предыдущие работы полное уныние. По смене даты сообщения вообще не понимаю как можно было умудрится написать столько кода, да еще корявого, он меняется одним sql запросом с пару left join (запрос есть на ипбскинс). REST API для обновления темы POST /forums/topics/{id} locked=0 hidden=0
  4. Темы создаются из PHP файла? Всю статистику и связи обновляете запросами? Апи форума для создания не рассматривали? Структура темы для постинга.
  5. Ну вы же рассматривали наверное несколько вариантов перед созданием модификации - нативный код, плагин, крон сервера, крон форума. Прикидывали как лучше, какой способ легче, и выбрали один из них как самый оптимальный по времени создания и функциональности. Ведь наверняка в процессе создания некоторые аспекты пришлось рассмотреть, и наверное сделать по другому. Об этом хотелось бы услышать.
  6. Вы используйте русскую локализацию на английский вариант базы данных. Для требуются два поле vk_uid и vk_token ALTER TABLE members ADD COLUMN vk_uid bigint(20) unsigned NOT NULL default '0', ADD COLUMN vk_token TEXT NULL
  7. Интересует, но не код а способ его реализации и какие плюсы в выбранном методе.
  8. Дич, но тогда перевод этого языка лэнга (word key: site) должно быть без закрывающих </a></li> Site</a></li> <li><a href='/' target='_blank'><i class='fa fa-question-circle'></i> Link
  9. UPDATE profile_portal SET avatar_location=NULL, avatar_size=0, avatar_type=NULL, pp_main_photo='', pp_main_width=0, pp_main_height=0, pp_thumb_photo='', pp_thumb_width=0, pp_thumb_height='', pp_photo_type=''
  10. Очевидно что темы не правильно были удалены. В бд темы состоят из двух главных таблиц - topics и posts. В первой таблице хранится информация о теме и ее название, во второй сами сообщения. Кроме этих двух дополнительно идут таблицы аттачей, опросов, кеша сообщений. Чтобы удалить тему, удалять как минимум нужно из таблиц topics и posts: DELETE t, p FROM topics t LEFT JOIN posts p ON p.topic_id=t.tid WHERE t.tid = ид темы Если из таблиц тем тема был удалена, нужно удалить сообщения из таблицы сообщений DELETE FROM posts WHERE topic_id = ид темы
  11. Где ошибка? Где логи ошибки? Начать топик надо всегда с текстом ошибки, без него здесь делать нечего.
  12. Удалить следующие лэнги. Но это костыль а не решение, не в этих, так в других может отвалится парсер если в переводе что-то изменится. Array ( [Russian (RU) - All Applications.xml] => Array ( [0] => coppa_form_intro [1] => coppa_form_phone [2] => coppa_form_date [3] => coppa_form_sig [4] => coppa_form_privacy [5] => coppa_form_mail [6] => coppa_form_fax [7] => delta_upgrade_download_full [8] => delta_upgrade_go_to_clientarea [9] => delta_upgrade_manual_footer [10] => theme_custom_setting_type [11] => theme_custom_setting_type_other [12] => editor_skin_nowrite [13] => htaccess_mod_rewrite [14] => task_method_cron_warning [15] => dashboard_tasks_web_broken_desc [16] => field_display_custom [17] => field_display_display_json_custom [18] => field_display_display_json_custom_desc [19] => field_display_listing_json_badge [20] => field_display_listing_json_custom [21] => field_display_listing_json_custom_desc [22] => cms_field_no_type_warning [23] => invoice_timeline_generate_event [24] => invoice_timeline_generate_time [25] => invoice_timeline_invoice_exp_time [26] => err_no_shipping_methods [27] => f_blurb_maxmind_riskyemail_y [28] => p_stock_price_dynamic_desc [29] => easypost_address_default_desc ) [Russian (RU) - Commerce.xml] => Array ( [0] => paymethod_countries_desc [1] => invoice_timeline_grace_time [2] => invoice_timeline_grace_event [3] => invoice_timeline_invoice_exp_event [4] => fraud_rule_conflict [5] => p_stock_price_dynamic_desc [6] => email_transaction_waiting [7] => task__billingAgreements ) [Russian (RU) - Pages.xml] => Array ( [0] => field_display_display_json_custom [1] => field_display_display_json_custom_desc [2] => field_display_listing_json_custom_desc [3] => cms_field_no_type_warning [4] => field_display_opts_title [5] => field_display_opts_content ) [Russian (RU) - System.xml] => Array ( [0] => delta_upgrade_manual_footer [1] => delta_upgrade_mismatch_versions [2] => no_phar_extension [3] => gbw_delete_attachments [4] => gbw_delete_attachments_desc [5] => captcha_type_recaptcha2 [6] => editor_plugin_folder [7] => editor_plugin_folder_desc [8] => htaccess_mod_rewrite [9] => htaccess_mod_rewrite_desc [10] => plugin_settings_keys [11] => plugin_settings_code [12] => plugin_settings_code_desc [13] => dashboard_tasks_not_enough_desc ) )
  13. Достаточно это сколько? Два дня?
  14. https://en.wikipedia.org/wiki/Unicode_and_email#Unicode_support_in_message_header Кодирование заголовка трогать нельзя. Настройка которая носит в себе потенциальный баг не должна быть ни опционально, ни в отключенном виде по умолчанию. Если хочется угодить spamassasin'у с его непонятной логикой в правиле "FROM EXCESS BASE64" используйте условие на "non-ASCII" символы, которое, кстати, в этом же месте используется чуть ниже с помощью регулярного выражение. Из функций можно использовать mb_check_encoding. $this->headers['From'] = ( $this->fromName ) ? ( !mb_check_encoding( $this->fromName, 'ASCII' ) ? '=?UTF-8?B?' . base64_encode( $this->fromName ) . "?= <{$this->from}>" : $this->fromName . " <{$this->from}>" ) : "<{$this->from}>"; Но в php есть специальная функция для кодирования email заголовка в случае если он не соответствует требованиям RFC. Она тоже используется в коде для кодирования заголовков, поэтому не понятно почему IPS заговнокодили здесь ручным кодированием. $this->headers['From'] = ( $this->fromName ) ? ( mb_encode_mimeheader( $this->fromName ) . " <{$this->from}>" ) : "<{$this->from}>";
  15. {$l2cfg["forum"]["prefix"]}topics заменить на {$l2cfg["forum"]["prefix"]}forums_topics
  16. Некрофилы, хватит использовать использовать CGI. Это устаревший протокол заре интернета у которого низкая производительность и проблемы с безопасностью. Никакое отношение через какой интерфейс работает php к этой проблеме не имеет. XMLReader аналогично дает сбой и на apache2handler при том, что simplexml разбирает файл без ошибок. ТС, пишите баг репорт или даунгрейдите версию php.
  17. Это не трактовка RFC, и никаких "моих" я не давал, это аналог "принудительного приведения типа". В нее нет необходимости потому что она как минимум бесполезна. Это не более чем ваша очередная фантазия на тему, что имеет значение закодированная строка в заголовке "чистый" ASCII или utf-8. Кстати, а тесты проводились на двух закодированных строк в разных кодировках? Может быть фильтр был настроен таким образом, чтобы он просто срабатывал на кодированную строку в From. Spamassassin это ПО с набором правил, его результат во многом зависит от того, каким образом он был настроен и сколько "баллов" указанно для того или иного правило. Что действительно реально играет роль для спамфильтра это подписи DKIM и SPF.
  18. Пишите тогда багрепорт разработчикам. У вменяемых сервисов с этим проблем нету. По хорошему возможно и надо было, хотя лично я считаю что это не обязательно - в данном случае работает правило "принудительного кодирования", но у вас также никакой проверки нету, а вот не закодированной заголовок в utf-8 действительно является ошибкой которая может доставить неприятности, учитывая то, что у 90% пользователей русского пространство название форума содержит кириллицу. Изменение в этом случае не только бесполезное, но еще и вредное, тем более что вы советуете его и другим пользователям.
  19. Нет никакого излишнего кодирования заголовков. Согласно RFC, символы из не диапазона ASCII должны кодироваться. Отсутствия кодирования в заголовке From как минимум приведет к крокозябрам в поле отправителя, а в худшем случае может нарушить структуру заголовка.
  20. IPB_Firewall это вирус которым заражали тройку. Откройте conf_global.php и удалите этот класс, там должны остаться только настройки форума.
  21. То же самое я могу сказать о вас. Но ведь этого не говорю, потому что мне не известен уровень ваших знаний, интересно каким образом вы определили мой чтобы называть меня профаном? Пока я могу сказать, что вы явно не хотите слушать и упорно пытаетесь доказать свой тезис с пеной у рта, не обращая никакого внимания на реальные доводы которые вам приводят, будто не дай бог это окажется правдой. Ясно, на словах вас не переубедить и никакой информации не донести, тут явный блок - "профан что-то мне втирает". Не хотите слушать, ваше дело, проверьте тогда сами свои утверждения, докажите несостоятельность моих, и не ссылкой на какой-то код в котором вы не разбираетесь. Проведите опыты - скачайте лэнгпак и попробуйте прочитать файлы xmlreader'ом. Отключите вывод ошибок из libxml_use_internal_errors и попробуйте снова. Мне ничего доказывать не нужно, докажите себе.
  22. Как вы там говорили - вы можете предполагать что угодно, на деле же все обстоит иначе. Зачем вы мне втираете эту дичь, возьмите, напишите пару строчек кода и проверьте. Для документации незачем лазить в эту степь, достаточно посмотреть описание метода read() http://php.net/manual/ru/xmlreader.read.php и возвращаемого значения - FALSE в случае ошибки. http://php.net/manual/ru/xmlreader.read.php#114248 Вы спорите не предположениях что не может, а вам приводят доводы на практике и результате такого костыля - язык не импортируется (скорее всего только частично если посмотреть в бд). С каких пор варнинги не могут прекратить работу какой-то функции?
  23. http://ipbmafia.ru/topic/10597-ru4-urls-transliteration/?page=3#comment-102184
  24. Я сейчас не о ips говорю. Вы подавляете ошибку чтобы не прекратить работу форума выбросом варнинга, но xmlreader все равно не будет дальше разбирать документ и импорт каждого файла закончится до первой ошибки в нем. О чем ТС и говорит, что перевод у него не полный.

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.