03-16-2013, 07:11 PM
Приветствую всех жителей этого форума! Прошу помочь с решением проблемы.
Знающие люди подскажите как подкорректировать SQL запрос регистрации аккаунта с JAVA на PTS
Вот рабочий SQL запрос регистрации аккаунта для JAVA сервера (MySql)
Знающие люди подскажите как подкорректировать SQL запрос регистрации аккаунта с JAVA на PTS
Вот рабочий SQL запрос регистрации аккаунта для JAVA сервера (MySql)
PHP код:
<?php
// no direct access
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.model');
JTable::addIncludePath( JPATH_COMPONENT . DS . 'tables' );
class JusersModelJregister extends JModel {
private $_UserID, $_jAccounts;
// Constructor
function __construct() {
parent::__construct();
}
// Get User ID
public function _UserID() {
$user =& JFactory::getUser();
// if User not Guest
if (!$user->guest) {
$this->_UserID = $user->id;
return $this->_UserID;
// if User Guest
} else {
return false;
}
}
// Get accounts
public function getjAccounts() {
if (empty($this->_jAccounts))
{
$db = &$this->getDBO();
$UserID = $this->_UserID();
$query = 'SELECT * FROM '.$db->nameQuote('#__jaccounts').' WHERE `user_id`= '.$UserID;
$db->setQuery($query);
$this->_jAccounts = $db->loadObjectList();
return $this->_jAccounts;
}
}
// Get count user acc
public function getjUserCountAcc() {
if (empty($this->_jUserCountAcc))
{
$db = &$this->getDBO();
$UserID = $this->_UserID();
$query = 'SELECT COUNT(*) FROM '.$db->nameQuote('#__jaccounts').' WHERE `user_id`= '.$UserID;
$db->setQuery($query);
$this->_jUserCountAcc = $db->loadResult();
return $this->_jUserCountAcc;
}
}
// EOF
//
public function save($post) {
global $mainframe;
$table = &$this->getTable();
//// Input Data ////
$jLogin = $post ['login'];
$jPassword = $post ['password'];
$jPassword1 = $post['password1'];
$jEmail = $post ['email'];
$jComments = $post['comments'];
$jPattern = '[^a-z,^A-Z,^0-9]';
$jDB = &JFactory::getJDbo();
$DB = &JFactory::getDBO();
//// Check Empty Input Data ////
//// Check Empty Login ////
if (empty($jLogin)) {
JError::raiseNotice( '', 'JREGISTRATION_EMPTY_LOGIN' );
return false;
}
//// Check Empty Password ////
if (empty($jPassword)) {
JError::raiseNotice( '', 'JREGISTRATION_EMPTY_PASS' );
return false;
}
//// Check Empty Password ////
if (empty($jPassword1)) {
JError::raiseNotice( '', 'JREGISTRATION_EMPTY_PASS1' );
return false;
}
/// Check reEnter Password ///
if ($jPassword <> $jPassword1) {
JError::raiseNotice( '', 'JREGISTRATION_NOT_PASS2' );
return false;
}
//// Check Special Symbols in Input Data ////
/* if (preg_match($jPattern, $jLogin)) {
JError::raiseNotice( '', 'J INCORRECT SYMBOLS LOGIN' );
return false;
}
if (preg_match($jPattern, $jPassword)) {
JError::raiseNotice( '', 'J INCORRECT SYMBOLS PASS' );
return false;
}*/
//// Check Login in DB ////
if ($jLogin) {
//// Server DB ////
$querys = 'SELECT count(`login`) FROM #__accounts WHERE login = '.$jDB->Quote($jLogin);
$jDB->setQuery($querys);
if ($jDB->loadResult()) {
JError::raiseNotice( '', 'JREGISTRATION_ALREADY_REGISTRED_ON_SERVER' );
return false; /// STOP if Login in use ///
} else {
//// Joomla DB ////
$query = 'SELECT count(`login`) FROM #__jaccounts WHERE `login`= '.$db->Quote($jLogin);
$db->setQuery($query);
if ($db->loadResult()) {
JError::raiseNotice( '', 'JREGISTRATION_ALREADY_REGISTRED' );
return false; /// STOP if Login in use ///
}
/// IF LOGIN NOT IN USE in Joomla DB and Server DB ///
/// WRITE DATA in Server DB ///
$jPassCode = base64_encode(pack('H*', sha1($jPassword)));
$query = 'INSERT INTO accounts (login, password, access_level)
VALUES ('.$jDB->Quote($post ['login']).', '.$jDB->Quote($jPassCode).', 0)';
$jDB->setQuery($query);
if (!$jDB->query()) { /// STOP if error ///
JError::raiseError( 500, $jDB->stderr() );
return false;
}
}
}
// привязываем поля формы к таблице
if (!$table->bind($post)) {
$this->setError($table->getError());
return false;
}
// проверяем данные
if ($table->check($post)) {
if (!$table->store($post)) {
$this->setError($table->getError());
return false;
}
} else {
$this->setError($table->getError());
return false;
}
return true;
}
}
?>
Где:
$jDB - база MSSQL сервера
$DB- база MySql сайта
Нужно поправить запрос для регистрации аккаунта в базы данных lin2db MSSQL таблице user_auth