public static function getUserId() { if (!self::$userId) { self::$userId = self::generateRandUserId(); } return self::$userId; }
function _createRootUser($options) { // Get a database object. try { $db = JInstallationHelperDatabase::getDBO($options->db_type, $options->db_host, $options->db_user, $options->db_pass, $options->db_name, $options->db_prefix); } catch (RuntimeException $e) { $this->setError(JText::sprintf('INSTL_ERROR_CONNECT_DB', $e->getMessage())); } // Create random salt/password for the admin user $salt = JUserHelper::genRandomPassword(32); $crypt = JUserHelper::getCryptedPassword($options->admin_password, $salt); $cryptpass = $crypt . ':' . $salt; // take the admin user id JLoader::register('JInstallationModelDatabase', JPATH_INSTALLATION . '/models/database.php'); $userId = JInstallationModelDatabase::getUserId(); //we don't need anymore the randUserId in the session, let's remove it JInstallationModelDatabase::resetRandUserId(); // create the admin user date_default_timezone_set('UTC'); $installdate = date('Y-m-d H:i:s'); $nullDate = $db->getNullDate(); //sqlsrv change $query = $db->getQuery(true); $query->select('id'); $query->from('#__users'); $query->where('id = ' . $db->quote($userId)); $db->setQuery($query); if ($db->loadResult()) { $query = $db->getQuery(true); $query->update('#__users'); $query->set('name = ' . $db->quote('Super User')); $query->set('username = '******'email = ' . $db->quote($options->admin_email)); $query->set('password = '******'usertype = ' . $db->quote('deprecated')); $query->set('block = 0'); $query->set('sendEmail = 1'); $query->set('registerDate = ' . $db->quote($installdate)); $query->set('lastvisitDate = ' . $db->quote($nullDate)); $query->set('activation = ' . $db->quote('0')); $query->set('params = ' . $db->quote('')); $query->where('id = ' . $db->quote($userId)); } else { $query = $db->getQuery(true); $columns = array($db->quoteName('id'), $db->quoteName('name'), $db->quoteName('username'), $db->quoteName('email'), $db->quoteName('password'), $db->quoteName('usertype'), $db->quoteName('block'), $db->quoteName('sendEmail'), $db->quoteName('registerDate'), $db->quoteName('lastvisitDate'), $db->quoteName('activation'), $db->quoteName('params')); $query->insert('#__users', true); $query->columns($columns); $query->values($db->quote($userId) . ', ' . $db->quote('Super User') . ', ' . $db->quote($options->admin_user) . ', ' . $db->quote($options->admin_email) . ', ' . $db->quote($cryptpass) . ', ' . $db->quote('deprecated') . ', ' . $db->quote('0') . ', ' . $db->quote('1') . ', ' . $db->quote($installdate) . ', ' . $db->quote($nullDate) . ', ' . $db->quote('0') . ', ' . $db->quote('')); } $db->setQuery($query); try { $db->execute(); } catch (RuntimeException $e) { $this->setError($e->getMessage()); return false; } // Map the super admin to the Super Admin Group $query = $db->getQuery(true); $query->select('user_id'); $query->from('#__user_usergroup_map'); $query->where('user_id = ' . $db->quote($userId)); $db->setQuery($query); if ($db->loadResult()) { $query = $db->getQuery(true); $query->update('#__user_usergroup_map'); $query->set('user_id = ' . $db->quote($userId)); $query->set('group_id = 8'); } else { $query = $db->getQuery(true); $query->insert('#__user_usergroup_map', false); $query->columns(array($db->quoteName('user_id'), $db->quoteName('group_id'))); $query->values($userId . ', ' . '8'); } $db->setQuery($query); try { $db->execute(); } catch (RuntimeException $e) { $this->setError($e->getMessage()); return false; } return true; }
require_once JPATH_LIBRARIES . '/joomla/import.php'; require_once JPATH_LIBRARIES . '/joomla/error/error.php'; require_once JPATH_LIBRARIES . '/joomla/base/object.php'; require_once JPATH_LIBRARIES . '/joomla/database/database.php'; require_once JPATH_INSTALLATION . '/models/database.php'; // jUpgrade class require_once JPATH_BASE . '/jupgrade.class.php'; // jUpgrade class $jupgrade = new jUpgrade(); // Getting the component parameter with global settings $params = $jupgrade->getParams(); // getting config $jconfig = new JConfig(); $config = array(); $config['dbo'] =& JInstallationHelperDatabase::getDBO('mysql', $jconfig->host, $jconfig->user, $jconfig->password, $jconfig->db, 'j16_'); // getting helper $installHelper = new JInstallationModelDatabase($config); // installing global database $schema = JPATH_INSTALLATION . '/sql/mysql/joomla.sql'; if (!$installHelper->populateDatabase($config['dbo'], $schema) > 0) { return 1; exit; } // installing Molajo database if ($params->mode == 1) { $schema = JPATH_INSTALLATION . '/sql/mysql/joomla2.sql'; if (!$installHelper->populateDatabase($config['dbo'], $schema) > 0) { return 1; exit; } }