Execute the post setup check after finishing the setup

This commit is contained in:
Bart Visscher 2013-02-06 17:54:20 +01:00
parent 1adcc5fd23
commit 3582f7bd09
4 changed files with 25 additions and 23 deletions

View File

@ -6,6 +6,10 @@
* See the COPYING-README file.
*/
// Post installation check
$this->create('post_setup_check', '/post-setup-check')
->action('OC_Setup', 'postSetupCheck');
// Core ajax actions
// Search
$this->create('search_ajax_search', '/search/ajax/search.php')

View File

@ -43,7 +43,7 @@ if(isset($_POST['install']) AND $_POST['install']=='true') {
OC_Template::printGuestPage("", "installation", $options);
}
else {
header("Location: ".OC::$WEBROOT.'/');
header( 'Location: '.OC_Helper::linkToRoute( 'post_setup_check' ));
exit();
}
}

View File

@ -547,28 +547,6 @@ class OC {
exit();
}
// post installation checks
if (!OC_Config::getValue("post-installation-checked", false)) {
// setup was successful -> webdav testing now
$request = OC_Request::getPathInfo();
if(substr($request, -4) !== '.css' and substr($request, -3) !== '.js' and substr($request, -5) !== '.json') {
if (OC_Util::isWebDAVWorking()) {
OC_Config::setValue("post-installation-checked", true);
} else {
$l=OC_L10N::get('lib');
$error = $l->t('Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken.');
$hint = $l->t('Please double check the <a href=\'%s\'>installation guides</a>.', 'http://doc.owncloud.org/server/5.0/admin_manual/installation.html');
$tmpl = new OC_Template('', 'error', 'guest');
$tmpl->assign('errors', array(1 => array('error' => $error, 'hint' => $hint)), false);
$tmpl->printPage();
exit();
}
}
}
$request = OC_Request::getPathInfo();
if(substr($request, -3) !== '.js'){// we need these files during the upgrade
self::checkMaintenanceMode();

View File

@ -610,4 +610,24 @@ class OC_Setup {
file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/.htaccess', $content);
file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/index.html', '');
}
/**
* @brief Post installation checks
*/
public static function postSetupCheck($params) {
// setup was successful -> webdav testing now
if (OC_Util::isWebDAVWorking()) {
header("Location: ".OC::$WEBROOT.'/');
} else {
$l=OC_L10N::get('lib');
$error = $l->t('Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken.');
$hint = $l->t('Please double check the <a href=\'%s\'>installation guides</a>.', 'http://doc.owncloud.org/server/5.0/admin_manual/installation.html');
$tmpl = new OC_Template('', 'error', 'guest');
$tmpl->assign('errors', array(1 => array('error' => $error, 'hint' => $hint)), false);
$tmpl->printPage();
exit();
}
}
}