add some output why some of the external filesystems might not work

This commit is contained in:
Frank Karlitschek 2012-12-10 21:10:28 +01:00
parent a444999a8c
commit f3bd6d14ee
4 changed files with 35 additions and 1 deletions

View File

@ -394,4 +394,35 @@ class OC_Mount_Config {
return true;
}
/**
* check if smbclient is installed
*/
public static function checksmbclient() {
$output=shell_exec('which smbclient');
return (empty($output)?false:true);
}
/**
* check if php-ftp is installed
*/
public static function checkphpftp() {
if(function_exists('ftp_login')) {
return(true);
}else{
return(false);
}
}
/**
* check dependencies
*/
public static function checkDependencies() {
$l= new OC_L10N;
$txt='';
if(!OC_Mount_Config::checksmbclient()) $txt.=$l->t('<b>Warning:</b> "smbclient" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it.').'<br />';
if(!OC_Mount_Config::checkphpftp()) $txt.=$l->t('<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it.').'<br />';
return($txt);
}
}

View File

@ -29,5 +29,6 @@ $tmpl = new OCP\Template('files_external', 'settings');
$tmpl->assign('isAdminPage', false, false);
$tmpl->assign('mounts', OC_Mount_Config::getPersonalMountPoints());
$tmpl->assign('certs', OC_Mount_Config::getCertificates());
$tmpl->assign('dependencies', OC_Mount_Config::checkDependencies(),false);
$tmpl->assign('backends', $backends);
return $tmpl->fetchPage();

View File

@ -30,5 +30,6 @@ $tmpl->assign('mounts', OC_Mount_Config::getSystemMountPoints());
$tmpl->assign('backends', OC_Mount_Config::getBackends());
$tmpl->assign('groups', OC_Group::getGroups());
$tmpl->assign('users', OCP\User::getUsers());
$tmpl->assign('dependencies', OC_Mount_Config::checkDependencies(),false);
$tmpl->assign('allowUserMounting', OCP\Config::getAppValue('files_external', 'allow_user_mounting', 'yes'));
return $tmpl->fetchPage();

View File

@ -1,6 +1,7 @@
<form id="files_external">
<fieldset class="personalblock">
<legend><strong><?php echo $l->t('External Storage'); ?></strong></legend>
<?php if (isset($_['dependencies']) and ($_['dependencies']<>'')) echo ''.$_['dependencies'].''; ?>
<table id="externalStorage" data-admin='<?php echo json_encode($_['isAdminPage']); ?>'>
<thead>
<tr>
@ -157,4 +158,4 @@
<input type="submit" name="cert_import" value="<?php echo $l->t('Import Root Certificate'); ?>" />
<?php endif; ?>
</fieldset>
</form>
</form>