VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Только начал что-то понимать, решил все-таки спросить у знающих. Авось пнут куда надо.
В общем проблема такая. Мой любимый хак "Уведомление спасибок" никак не хочет нормально функционировать. Установился он отлично, спасибки в уведомлениях приходят, но когда кто-то из юзеров хочет попасть в опции свой егобинета происходит это:
Quote:
Сайт https://сайт.ru/ пока не может обработать этот запрос. HTTP ERROR 500
В логах я нашел это:
Quote:
PHP Fatal error: Uncaught Error: Call to undefined function mysql_num_rows() in
/home/f/f92109ad/saphoe/public_html/profile.php(1906) : eval()'d code:2\nStack trace:\n#0
/home/f/f92109ad/saphoe/public_html/profile.php(1906): eval()\n#1 {main}\n thrown in
/home/f/f92109ad/saphoe/public_html/profile.php(1906) : eval()'d code on line 2, referer https://сайт.ru/usercp.php
При этом когда выключаю хак, все нормально. Включаю - снова ошибка ТОЛЬКО в опциях Моего Кабинета.
Хак был установлен как в инструкции, более я в нем ничего не менял. У меня vb 3.8.4 patch 5, однако я ставил этот хак и на другие версии, совершенно пустые форумы и он выдает точно такую же ошибку. Вот к примеру я его ставил на vb 3.7.6 и 3.8.10. Покуда я в первую очередь подумал, что возможно хак конфликтует с чем-то, я отключал попеременно хаки и смотрел. А потом уже додумался поставить на чистый буллетин.
Так вот, проблему я не решил. И даже примерно не знаю что не так.
Ребята, подскажите куда копать. Платно не предлагать, хочу сам разобраться.
найдите все модули на хуке "profile_editoptions_start" в админке (продукты/модули) - поиск по странице в браузере
и смотрите код этих модулей
если код модуля ссылается на какой то файл (в последнее время все чаще встречается именно такой вариант и это правильно, если размер кода, более 2-3 кб), то ищите в коде файла на серваке
там и найдете ошибку
в вашем случае, скорей всего используется нативная функция PHP, а не API движка
т.е. по простому
ошибка указывает на функцию "mysql_num_rows()", вернее, на ее отсутствие
в новых версиях PHP эта функция считается устаревшей
и в конфиге воблы вы указывали, что именно использовать mysql или mysqli
====
да, лучше бы вы написали в теме самого хака/продукта (если он есть на саппорте)
@Лис
Эксперт
Join Date: Sep 2017
Location: Питер, Россия
Posts: 1,852
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1382
Репутация в разделе: 320
-0.33
Quote:
Originally Posted by kerk
да, лучше бы вы написали в теме самого хака/продукта (если он есть на саппорте)
Я там писал уже.
НО спасибо, я попробую разобраться.
Kaarme добавил 15.12.2019 в 19:41 kerk, большое вам спасибо) Пнули куда надо. Я нашел ошибку.
В файле модуля Recent Thanks - UserCP Field Part2 mysql исправил на mysqli и все заработало)))
Last edited by Лис : 12-15-2019 at 11:41 PM.
Reason: Добавлено сообщение
и в конфиге воблы вы указывали, что именно использовать mysql или mysqli
Quote:
Originally Posted by Kaarme
vb 3.8.4 patch 5
В моей сборке я полностью выпилил класс mysql, так как заметил тов. kerk он давно устарел и выпилен из PHP. И в конфиге можно указывать хоть mysql, хоть mysqli.
А вообще странно, что в хаке используется функция mysql_num_rows, а не метод num_rows ДБшного класса воблы..
@Лис
Эксперт
Join Date: Sep 2017
Location: Питер, Россия
Posts: 1,852
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1382
Репутация в разделе: 320
0
@YURSHAT, я новичок еще. Разберусь, может тоже выпилю.
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,712
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
2
когда я говорил про API воблы, имелось ввиду это...
у вас в коде модуля
PHP Code:
$isthere = mysql_num_rows($db->query_read("SELECT recent_thankact FROM " . TABLE_PREFIX . "user WHERE userid = ".$vbulletin->userinfo['userid']." AND recent_thankact=1"));
вы заменили mysql_num_rows на mysqli_num_rows, что не совсем "по-феншую" (применительно к коду воблы и/или к хакам написанным для воблы)
но вообще, тот, кто писал хак, должен был использовать метод класса воблы, т.е. примерно так
PHP Code:
$res_sql = $db->query_read("SELECT recent_thankact FROM " . TABLE_PREFIX . "user WHERE userid = ".$vbulletin->userinfo['userid']." AND recent_thankact=1"); $isthere = $db->num_rows($res_sql);
и вы даже не узнали бы об этой ошибке
@Лис
Эксперт
Join Date: Sep 2017
Location: Питер, Россия
Posts: 1,852
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1382
Репутация в разделе: 320
0
Quote:
Originally Posted by kerk
но вообще, тот, кто писал хак, должен был использовать метод класса воблы
А разве его писали не разрабы воблы?
Kaarme добавил 16.12.2019 в 15:30
Спасибо всем, кто пинал, багром по спине бил.
Кажется начал понимать.
Иду дальше изучать.
За отрицательный рейтинг тоже спасибо. Мотивирует)))
Last edited by Лис : 12-16-2019 at 07:30 PM.
Reason: Добавлено сообщение
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,712
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
1
Quote:
Originally Posted by Kaarme
разве его писали не разрабы воблы?
разумеется, нет...
хаки пишут в основном сами же юзеры ("счастливые обладатели" лицензии воблы) и выкладывают на форуме поддержки vBulletin (или на других форумах по вобло-тематике)
иногда, хаки пишут конторы, типа дбтех, у этих все ок со знанием API, но хаки получаются монструозные