add a check and a warning if the ownClodu server is not able to establish http connections to the internet. The reason is that users complained that external filesystem support, the update checker, downloading of new apps or the nowledgebase don´t work and don´t know why.

This commit is contained in:
Frank Karlitschek 2012-11-08 18:08:44 +01:00
parent 8396c0478e
commit 55f75c6d8e
4 changed files with 43 additions and 0 deletions

View File

@ -584,6 +584,33 @@ class OC_Util {
}
}
/**
* Check if the ownCloud server can connect to the internet
*/
public static function isinternetconnectionworking() {
// try to connect to owncloud.org to see if http connections to the internet are possible.
$connected = @fsockopen("www.owncloud.org", 80);
if ($connected){
fclose($connected);
return true;
}else{
// second try in case one server is down
$connected = @fsockopen("apps.owncloud.com", 80);
if ($connected){
fclose($connected);
return true;
}else{
return false;
}
}
}
/**
* @brief Generates a cryptographical secure pseudorandom string
* @param Int with the length of the random string

View File

@ -29,6 +29,7 @@ $tmpl->assign('loglevel', OC_Config::getValue( "loglevel", 2 ));
$tmpl->assign('entries', $entries);
$tmpl->assign('entriesremain', $entriesremain);
$tmpl->assign('htaccessworking', $htaccessworking);
$tmpl->assign('internetconnectionworking', OC_Util::isinternetconnectionworking());
$tmpl->assign('backgroundjobs_mode', OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax'));
$tmpl->assign('shareAPIEnabled', OC_Appconfig::getValue('core', 'shareapi_enabled', 'yes'));
$tmpl->assign('allowLinks', OC_Appconfig::getValue('core', 'shareapi_allow_links', 'yes'));

View File

@ -65,5 +65,6 @@ span.version { margin-left:1em; margin-right:1em; color:#555; }
/* ADMIN */
span.securitywarning {color:#C33; font-weight:bold; }
span.connectionwarning {color:#933; font-weight:bold; }
input[type=radio] { width:1em; }
table.shareAPI td { padding-bottom: 0.8em; }

View File

@ -22,6 +22,20 @@ if(!$_['htaccessworking']) {
}
?>
<?php
if(!$_['internetconnectionworking']) {
?>
<fieldset class="personalblock">
<legend><strong><?php echo $l->t('Internet connection not working');?></strong></legend>
<span class="connectionwarning">
<?php echo $l->t('This ownCloud server has no working internet connection. This means that some of the features like mounting of external storage, notifications about updates or installation of 3rd party apps don´t work. Accessing files from remote and sending of notification emails might also not work. We suggest to enable internet connection for this server if you want to have all features of ownCloud.'); ?>
</span>
</fieldset>
<?php
}
?>
<?php foreach($_['forms'] as $form) {
echo $form;