public static function create_proceed() { jimport('joomla.application.application'); jimport('joomla.user.helper'); jimport('joomla.utilities.utility'); JPluginHelper::importPlugin('user'); jimport('joomla.environment.request'); JRequest::checkToken() or die('Invalid Token'); //JSession::checkToken() or die( 'Invalid Token' ); $session = JFactory::getSession(); $db = JFactory::getDBO(); $user = clone JFactory::getUser(); $usersConfig = JComponentHelper::getParams('com_users'); $session_me = $session->get('user_details', ''); $myparams = JComponentHelper::getParams('com_fbconnct'); $mainframe = JFactory::getApplication(); $redirAfterReg = $myparams->get('redirect-after-reg'); $postToFB = $myparams->get('post-to-facebook'); $UserFBmsg = $myparams->get('facebook-message'); if (!$user->get('guest')) { die($user->name . JText::_('COM_FBCONNCT_ALREADY_LOGGED_IN')); } $uid = $session_me['id']; $username = JRequest::getVar('username', ''); $username = fbconnctController::clean_username($username); $createUser_url = JRoute::_('index.php?task=create&option=com_fbconnct&format=raw'); $user_allow_post = JRequest::getVar('fbpost', ''); if (strlen($username) < 5) { $fb_error = array('<div class="error">' . JText::_('COM_FBCONNCT_USERNAMETOOSHORT') . '</div>'); $session->set('fb_custom_error', $fb_error); $mainframe->redirect($createUser_url); exit; } if (fbconnctController::count_jusername($username) > 0) { $fb_error = array('<div class="error">' . JText::_('COM_FBCONNCT_USERNAMEINUSE') . '</div>'); $session->set('fb_custom_error', $fb_error); $mainframe->redirect($createUser_url); exit; } //proceed to creating user $session_me = $session->get('user_details', ''); $pathway = $mainframe->getPathway(); $newUsertype = $usersConfig->get('new_usertype', 2); if (!$newUsertype) { $newUsertype = 'Registered'; } $authorize = JFactory::getACL(); $document = JFactory::getDocument(); $fullname = $session_me['name']; $email = $session_me['email']; $randomepass = JUserHelper::genRandomPassword(5); $intdatetime = time(); //email data $emailData = array(); $emailData['name'] = $fullname; $emailData['username'] = $username; $emailData['email'] = $email; $emailData['temp_pass'] = $randomepass; $emailData['fbid'] = $uid; // binding process $userData = array(); $userData['name'] = $fullname; $userData['username'] = $username; $userData['email'] = $email; $userData['password'] = $randomepass; $userData['password2'] = $randomepass; $userData['sendEmail'] = 0; if (!$user->bind($userData, 'usertype')) { $fb_error = array('<div class="error">' . $user->getError() . '</div>'); $session->set('fb_custom_error', $fb_error); $mainframe->redirect($createUser_url); exit; } $user->set('groups', array($newUsertype)); $user->set('id', 0); $date = JFactory::getDate(); //j3 change $user->set('registerDate', $date->toSql()); //j3 change if ($user->save()) { $jomuserid = $user->get('id'); if (fbconnctController::count_fb_user($uid) >= 1) { $fbinsertquary = "UPDATE #__facebook_joomla_connect SET joomla_userid={$jomuserid},joined_date={$intdatetime} WHERE facebook_userid={$uid}"; } else { $fbinsertquary = "INSERT INTO #__facebook_joomla_connect(joomla_userid,facebook_userid,joined_date,linked) VALUES ({$jomuserid},{$uid},{$intdatetime},1)"; } $db->setQuery($fbinsertquary); $result = $db->query(); if ($result) { $options = array(); $options['action'] = 'core.login.site'; $response = new stdClass(); $response->username = $username; $response->password = $randomepass; $result = $mainframe->triggerEvent('onUserLogin', array((array) $response, $options)); fbconnctController::emailUsers($emailData); fbconnctController::displayMessage(JText::_('COM_FBCONNCT_YOUR_MSG'), JText::_('COM_FBCONNCT_REGSUCCESS'), $redirAfterReg); } else { fbconnctController::emailUsers($emailData); fbconnctController::displayMessage(JText::_('COM_FBCONNCT_YOUR_MSG'), JText::_('COM_FBCONNCT_REGSUCCESS'), $redirAfterReg); } if ($postToFB && $user_allow_post) { fbconnctController::post_to_facebook($UserFBmsg, $emailData); } } }
public static function create_proceed() { jimport('joomla.application.application'); jimport('joomla.user.helper'); jimport('joomla.utilities.utility'); JPluginHelper::importPlugin('user'); jimport('joomla.environment.request'); JRequest::checkToken() or die('Invalid Token'); //JSession::checkToken() or die( 'Invalid Token' ); $session = JFactory::getSession(); $db = JFactory::getDBO(); $user = clone JFactory::getUser(); $usersConfig = JComponentHelper::getParams('com_cvnusers'); $session_me = $session->get('user_details', ''); $myparams = JComponentHelper::getParams('com_fbconnct'); if (fbconnctController::isJ16()) { $mainframe = JFactory::getApplication(); $redirAfterReg = $myparams->getValue('data.params.redirect-after-reg'); } else { global $mainframe; $redirAfterReg = $myparams->get('redirect-after-reg'); } if (!$user->get('guest')) { die($user->name . ' already logged in !'); } $uid = $session_me['id']; $username = JRequest::getVar('username', ''); $username = fbconnctController::clean_username($username); $createUser_url = JRoute::_('index.php?task=create&option=com_fbconnct&format=raw'); //code by khanglq //$logtest =array(); //jimport('joomla.log.log'); //JLog::addLogger(array()); //JLog::add(JText::_('$username = '******'<div class="error">' . JText::_('COM_FBCONNCT_USERNAMETOOSHORT') . '</div>'); $session->set('fb_custom_error', $fb_error); $mainframe->redirect($createUser_url); exit; } if (fbconnctController::count_jusername($username) > 0) { $fb_error = array('<div class="error">' . JText::_('COM_FBCONNCT_USERNAMEINUSE') . '</div>'); $session->set('fb_custom_error', $fb_error); $mainframe->redirect($createUser_url); exit; } //proceed to creating user $session_me = $session->get('user_details', ''); $pathway = $mainframe->getPathway(); $newUsertype = $usersConfig->get('new_usertype', 2); if (!fbconnctController::isJ16()) { if (!$newUsertype) { $newUsertype = 'Registered'; } } $authorize = JFactory::getACL(); $document = JFactory::getDocument(); $fullname = $session_me['name']; $email = $session_me['email']; $randomepass = JUserHelper::genRandomPassword(5); $intdatetime = time(); //email data $emailData = array(); $emailData['name'] = $fullname; $emailData['username'] = $username; $emailData['email'] = $email; $emailData['temp_pass'] = $randomepass; $emailData['fbid'] = $uid; // binding process $userData = array(); $userData['name'] = $fullname; $userData['username'] = $username; $userData['email'] = $email; $userData['password'] = $randomepass; $userData['password2'] = $randomepass; $userData['sendEmail'] = 0; if (!$user->bind($userData, 'usertype')) { $fb_error = array('<div class="error">' . $user->getError() . '</div>'); $session->set('fb_custom_error', $fb_error); $mainframe->redirect($createUser_url); exit; } if (fbconnctController::isJ16()) { $user->set('groups', array($newUsertype)); } else { $user->set('usertype', $newUsertype); $user->set('gid', '18'); } $user->set('id', 0); $date = JFactory::getDate(); $user->set('registerDate', $date->toSql()); if ($user->save()) { //Save additional data for player (user of chessvn) // Trong đây là add thêm các cột userid lấy từ bảng user, coin là tạo = 10000000; JLog::add(JText::_('khanglq:---facebook register -- begin go here to Save additional data for player '), JLog::INFO); global $newUserCoin, $defaultAvatar, $chessTypeChess, $ratingTypeStandard, $initELO; // Phan tao folder va copy file $registerDate = JFactory::getDate(); $mediaplayer = '/mediaplayer/' . $registerDate->format('Y/Ym/Ymd/') . $user->id . '_' . $user->username; $path = JPATH_ROOT . '/media/media_chessvn' . $mediaplayer; if (JFolder::create($path)) { if (JFolder::create($path . '/images')) { //tạo thư mục images JLog::add(JText::_('khanglq111:--- Create folders sucess'), JLog::INFO); $src = JPATH_ROOT . '/media/media_chessvn/images/no-avatar.jpg'; $dest = $path . '/images/no-avatar.jpg'; if (JFile::copy($src, $dest, null, true)) { $defaultAvatar = '/images/no-avatar.jpg'; JLog::add(JText::_('khanglq1421111:--- Copy file ok'), JLog::INFO); } else { JLog::add(JText::_('khanglq1421111:--- Copy file failed'), JLog::INFO); } } } else { JLog::add(JText::_('khanglq1111421:--- Create folder failed'), JLog::INFO); } $query = $db->getQuery(true); $columns = array('userid', 'coin', 'avatar', 'mediaplayer'); $values = array($user->id, $newUserCoin, $db->quote($defaultAvatar), $db->quote($mediaplayer)); $query->insert($db->quoteName('#__player'))->columns($db->quoteName($columns))->values(implode(',', $values)); $db->setQuery($query); $db->execute(); // Save additional data for rating (user for chessvn) $playerId = $db->insertid(); $query = $db->getQuery(true); $columns = array('playerid', 'chesstype', 'ratingtype', 'ratingpoint'); $values = array($playerId, $chessTypeChess, $db->quote($ratingTypeStandard), $initELO); $query->insert($db->quoteName('#__rating'))->columns($db->quoteName($columns))->values(implode(',', $values)); $db->setQuery($query); $db->execute(); JLog::add(JText::_('khanglq1111:--- Additional data saved. $newUserCoin = ' . $newUserCoin), JLog::INFO); //================================================ $jomuserid = $user->get('id'); if (fbconnctController::count_fb_user($uid) >= 1) { $fbinsertquery = "UPDATE #__facebook_joomla_connect SET joomla_userid={$jomuserid},joined_date={$intdatetime} WHERE facebook_userid={$uid}"; } else { $fbinsertquery = "INSERT INTO #__facebook_joomla_connect(joomla_userid,facebook_userid,joined_date,linked) VALUES ({$jomuserid},{$uid},{$intdatetime},1)"; } $db->setQuery($fbinsertquery); $result = $db->query(); // if ($result) { $options = array(); $options['action'] = 'core.login.site'; $response = new stdClass(); $response->username = $username; if (fbconnctController::isJ16()) { $result = $mainframe->triggerEvent('onUserLogin', array((array) $response, $options)); } else { $result = $mainframe->triggerEvent('onLoginUser', array((array) $response, $options)); } fbconnctController::emailUsers($emailData); fbconnctController::displayMessage(JText::_('COM_FBCONNCT_YOUR_MSG'), JText::_('COM_FBCONNCT_REGSUCCESS'), $redirAfterReg); } else { fbconnctController::emailUsers($emailData); fbconnctController::displayMessage(JText::_('COM_FBCONNCT_YOUR_MSG'), JText::_('COM_FBCONNCT_REGSUCCESS'), $redirAfterReg); } } }