VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Проблема: необходимо синхронизировать базы пользователей цмс (самодельная) и воблы.
Похожие теме читал, все немного не то. Фактически мне надо сделать в файле register.php проверку на существование имени пользователся в бд цмс. Тут нужна информация о классе ошибок, как вывести сообщение что такой пользователь уже существует. сначала думал что что это происходит в functions_user но до туда управление не доходит, а в регистр не могу найти. Подскажите кто знает.
P.S. есть ли еще описание классов в вобле кроме как при работе с мускулом?
includes/class_dm_user.php
class vB_DataManager_User extends vB_DataManager
function verify_username(&$username)
не получается правда пока это вытащить в другое место
Добавлено через 3 часа 33 минуты
может сейчас кто подскажет при попытке вытащить этот класс в другой файл через require_once получается такая вот ошибка Call to a member function on a non-object in.
Last edited by Bexalas : 03-12-2008 at 10:23 PM.
Reason: Добавлено сообщение
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,711
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 7723
1
нужно в файле в который подключаешь, объявить этот класс
PHP Code:
$my = new vB_MyClass();
$code = $my->MyFunction($some_code);
@Bexalas
Простоузер
Join Date: Mar 2008
Posts: 9
Reputation:
Novice 0
Репутация в разделе: 0
0
Warning: Missing argument 1 for vb_datamanager_user() in \includes\class_dm_user.php on line 172
Fatal error: Registry object is not an object in \includes\class_dm.php on line 177
PHP Code:
require_once('includes/class_dm_user.php'); $cms=new vB_DataManager_User(); $username = htmlspecialchars_uni($vbulletin->GPC['username']); if($db->num_rows(mysql_query("select id from `usercms` where username='$username'"))!=0){ $cms->error('usernametaken', $username, $cms->registry->session->vars['sessionurl']); }
пробовал подключить \includes\class_dm.php и снова объявить registry не получается, выдает все время такую ошибку. Подскажете?
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,711
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 7723
0
попробуй просто вот так:
PHP Code:
$cms=new vB_DataManager();
@Bexalas
Простоузер
Join Date: Mar 2008
Posts: 9
Reputation:
Novice 0
Репутация в разделе: 0
0
Warning: Missing argument 1 for vb_datamanager() in \includes\class_dm.php on line 155
Fatal error: Direct Instantiation of vB_DataManager class prohibited. in \includes\class_dm.php on line 159
не прет. попробую свой класс отдельно написать и уже его вкладывать в существующие.
@Passord
Простоузер
Join Date: Jul 2006
Posts: 3
Reputation:
Novice 1
Репутация в разделе: 1
1
У dm конструктор
PHP Code:
/**
* Constructor - checks that the registry object has been passed correctly.
*
* @param vB_Registry Instance of the vBulletin data registry object - expected to have the database object as one of its $this->db member.
* @param integer One of the ERRTYPE_x constants
*/
т.е. при создании ему надо указывать ссылку на объект класса $vbulletin
его можно получить из global.php
Примерный код будет:
PHP Code:
require_once ("global.php");
include ("includes/class_dm.php");
include ("includes/class_dm_user.php");
$cms = new vB_DataManager_User(&$vbulletin,ERRTYPE_SILENT);
$uname = "Bexalas";
$res = $cms->verify_username($uname);
print $res == FALSE ? "Taken" : "Not taken";
@Bexalas
Простоузер
Join Date: Mar 2008
Posts: 9
Reputation:
Novice 0
Репутация в разделе: 0
0
работает только тип ошибки не
PHP Code:
ERRTYPE_SILENT
, а
PHP Code:
ERRTYPE_STANDART
либо
PHP Code:
ERRTYPE_CP
(по идее последнее, но пока что при таком типе выдается ошибка что функция не найдена). А при стандарте указывается только одна ошибка сообщением.