diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2015-02-23 22:41:10 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2015-02-23 22:41:10 +0100 |
commit | e87ada86d16043402f64ae45d75995a6cffb7c51 (patch) | |
tree | 2fbdc0b131e0b2e992d1e85acf0630e631f8d622 /lib/private | |
parent | 66e3211fd8a57b0fb296d1dcc980272721e9f99d (diff) | |
parent | 0a9b8242eeffa16eba84b59603be967d0bcc5bae (diff) | |
download | nextcloud-server-e87ada86d16043402f64ae45d75995a6cffb7c51.tar.gz nextcloud-server-e87ada86d16043402f64ae45d75995a6cffb7c51.zip |
Merge pull request #14416 from owncloud/setup-command
Setup command
Diffstat (limited to 'lib/private')
-rw-r--r-- | lib/private/appframework/http/request.php | 2 | ||||
-rw-r--r-- | lib/private/setup.php | 51 | ||||
-rw-r--r-- | lib/private/updater.php | 2 | ||||
-rw-r--r-- | lib/private/user.php | 2 | ||||
-rw-r--r-- | lib/private/util.php | 2 |
5 files changed, 34 insertions, 25 deletions
diff --git a/lib/private/appframework/http/request.php b/lib/private/appframework/http/request.php index dad5cb050ca..959ea273280 100644 --- a/lib/private/appframework/http/request.php +++ b/lib/private/appframework/http/request.php @@ -625,7 +625,7 @@ class Request implements \ArrayAccess, \Countable, IRequest { * @return string Server host */ public function getInsecureServerHost() { - $host = null; + $host = 'localhost'; if (isset($this->server['HTTP_X_FORWARDED_HOST'])) { if (strpos($this->server['HTTP_X_FORWARDED_HOST'], ',') !== false) { $parts = explode(',', $this->server['HTTP_X_FORWARDED_HOST']); diff --git a/lib/private/setup.php b/lib/private/setup.php index 8a1c0815a2e..92463576845 100644 --- a/lib/private/setup.php +++ b/lib/private/setup.php @@ -33,9 +33,14 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ + +namespace OC; + +use Exception; +use OC_L10N; use OCP\IConfig; -class OC_Setup { +class Setup { /** @var IConfig */ protected $config; @@ -156,7 +161,7 @@ class OC_Setup { $error[] = $l->t('Set an admin password.'); } if(empty($options['directory'])) { - $options['directory'] = OC::$SERVERROOT."/data"; + $options['directory'] = \OC::$SERVERROOT."/data"; } if (!isset(self::$dbSetupClasses[$dbType])) { @@ -194,7 +199,7 @@ class OC_Setup { $trustedDomains = [$request->getInsecureServerHost()]; } - if (OC_Util::runningOnWindows()) { + if (\OC_Util::runningOnWindows()) { $dataDir = rtrim(realpath($dataDir), '\\'); } @@ -214,9 +219,9 @@ class OC_Setup { 'secret' => $secret, 'trusted_domains' => $trustedDomains, 'datadirectory' => $dataDir, - 'overwrite.cli.url' => $request->getServerProtocol() . '://' . $request->getInsecureServerHost() . OC::$WEBROOT, + 'overwrite.cli.url' => $request->getServerProtocol() . '://' . $request->getInsecureServerHost() . \OC::$WEBROOT, 'dbtype' => $dbType, - 'version' => implode('.', OC_Util::getVersion()), + 'version' => implode('.', \OC_Util::getVersion()), ]); try { @@ -237,27 +242,31 @@ class OC_Setup { } //create the user and group + $user = null; try { - OC_User::createUser($username, $password); + $user = \OC::$server->getUserManager()->createUser($username, $password); + if (!$user) { + $error[] = "User <$username> could not be created."; + } } catch(Exception $exception) { $error[] = $exception->getMessage(); } if(count($error) == 0) { - $appConfig = \OC::$server->getAppConfig(); - $appConfig->setValue('core', 'installedat', microtime(true)); - $appConfig->setValue('core', 'lastupdatedat', microtime(true)); + $config = \OC::$server->getConfig(); + $config->setAppValue('core', 'installedat', microtime(true)); + $config->setAppValue('core', 'lastupdatedat', microtime(true)); - OC_Group::createGroup('admin'); - OC_Group::addToGroup($username, 'admin'); - OC_User::login($username, $password); + $group =\OC::$server->getGroupManager()->createGroup('admin'); + $group->addUser($user); + \OC_User::login($username, $password); //guess what this does - OC_Installer::installShippedApps(); + \OC_Installer::installShippedApps(); // create empty file in data dir, so we can later find // out that this is indeed an ownCloud data directory - file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/.ocdata', ''); + file_put_contents($config->getSystemValue('datadirectory', \OC::$SERVERROOT.'/data').'/.ocdata', ''); // Update htaccess files for apache hosts if (isset($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache')) { @@ -266,7 +275,7 @@ class OC_Setup { } //and we are done - OC_Config::setValue('installed', true); + $config->setSystemValue('installed', true); } return $error; @@ -276,7 +285,7 @@ class OC_Setup { * @return string Absolute path to htaccess */ private function pathToHtaccess() { - return OC::$SERVERROOT.'/.htaccess'; + return \OC::$SERVERROOT.'/.htaccess'; } /** @@ -300,14 +309,14 @@ class OC_Setup { * @throws \OC\HintException If .htaccess does not include the current version */ public static function updateHtaccess() { - $setupHelper = new OC_Setup(\OC::$server->getConfig()); + $setupHelper = new \OC\Setup(\OC::$server->getConfig()); if(!$setupHelper->isCurrentHtaccess()) { throw new \OC\HintException('.htaccess file has the wrong version. Please upload the correct version. Maybe you forgot to replace it after updating?'); } $content = "\n"; - $content.= "ErrorDocument 403 ".OC::$WEBROOT."/core/templates/403.php\n";//custom 403 error page - $content.= "ErrorDocument 404 ".OC::$WEBROOT."/core/templates/404.php";//custom 404 error page + $content.= "ErrorDocument 403 ".\OC::$WEBROOT."/core/templates/403.php\n";//custom 403 error page + $content.= "ErrorDocument 404 ".\OC::$WEBROOT."/core/templates/404.php";//custom 404 error page @file_put_contents($setupHelper->pathToHtaccess(), $content, FILE_APPEND); //suppress errors in case we don't have permissions for it } @@ -326,7 +335,7 @@ class OC_Setup { $content.= "</ifModule>\n\n"; $content.= "# section for Apache 2.2 and 2.4\n"; $content.= "IndexIgnore *\n"; - file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/.htaccess', $content); - file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/index.html', ''); + file_put_contents(\OC_Config::getValue('datadirectory', \OC::$SERVERROOT.'/data').'/.htaccess', $content); + file_put_contents(\OC_Config::getValue('datadirectory', \OC::$SERVERROOT.'/data').'/index.html', ''); } } diff --git a/lib/private/updater.php b/lib/private/updater.php index c3de319ce97..f76630d411d 100644 --- a/lib/private/updater.php +++ b/lib/private/updater.php @@ -211,7 +211,7 @@ class Updater extends BasicEmitter { // Update htaccess files for apache hosts if (isset($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache')) { try { - \OC_Setup::updateHtaccess(); + \OC\Setup::updateHtaccess(); } catch (\Exception $e) { throw new \Exception($e->getMessage()); } diff --git a/lib/private/user.php b/lib/private/user.php index 5d3152247ec..bd8f3f72db4 100644 --- a/lib/private/user.php +++ b/lib/private/user.php @@ -187,7 +187,7 @@ class OC_User { * itself, not in its subclasses. * * Allowed characters in the username are: "a-z", "A-Z", "0-9" and "_.@-" - * @deprecated Use \OC::$server->getUserManager->createUser($uid, $password) + * @deprecated Use \OC::$server->getUserManager()->createUser($uid, $password) */ public static function createUser($uid, $password) { return self::getManager()->createUser($uid, $password); diff --git a/lib/private/util.php b/lib/private/util.php index 37e68df9a7f..8ffb9e35bad 100644 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -550,7 +550,7 @@ class OC_Util { } $webServerRestart = false; - $setup = new OC_Setup($config); + $setup = new OC\Setup($config); $availableDatabases = $setup->getSupportedDatabases(); if (empty($availableDatabases)) { $errors[] = array( |