mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-22 06:30:59 +01:00
Allow to change the where VFS stores the content of files:
1. filesystem (default) 2. database (problems with files > 1mb) 3. custome set via filemanager/cli.php mount --> If you can only access the docroot, you can use 2. AND set the files directory to the path for temp. files
This commit is contained in:
parent
8d7c57e253
commit
9e3281799f
@ -1,207 +1,244 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare *
|
||||
* http://www.egroupware.org *
|
||||
* Written by Miles Lott <milos@groupwhere.org> *
|
||||
* ------------------------------------------------------------------------ *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU General Public License as published by the *
|
||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
/**
|
||||
* Setup
|
||||
*
|
||||
* @link http://www.egroupware.org
|
||||
* @package setup
|
||||
* @author Miles Lott <milos@groupwhere.org>
|
||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
function encryptalgo($config)
|
||||
/**
|
||||
* Get the options for vfs_storage_mode, select the right one depending on vfs_fstab
|
||||
*
|
||||
* @param array $config
|
||||
* @return string
|
||||
*/
|
||||
function vfs_storage_mode_options($config)
|
||||
{
|
||||
if (!isset($config['vfs_fstab']) || $config['vfs_fstab'] == serialize(array(
|
||||
'/' => 'sqlfs://$host/',
|
||||
'/apps' => 'links://$host/apps',
|
||||
)))
|
||||
{
|
||||
if(@function_exists('mcrypt_list_algorithms'))
|
||||
$config['vfs_storage_mode'] = 'fs';
|
||||
}
|
||||
elseif($config['vfs_fstab'] == serialize(array(
|
||||
'/' => 'sqlfs://$host/?storage=db',
|
||||
'/apps' => 'links://$host/apps?storage=db',
|
||||
)))
|
||||
{
|
||||
$config['vfs_storage_mode'] = 'db';
|
||||
}
|
||||
else
|
||||
{
|
||||
$config['vfs_storage_mode'] = 'custom';
|
||||
}
|
||||
//_debug_array(array_intersect_key($config,array('vfs_fstab'=>1,'vfs_storage_mode'=>1)));
|
||||
foreach(array(
|
||||
'fs' => lang('Filesystem (default)'),
|
||||
'db' => lang('Database').' (problems with files > 1MB)',
|
||||
'custom' => lang('Custom set via %1','filemanager/cli.php mount'),
|
||||
) as $name => $label)
|
||||
{
|
||||
$options .= '<option value="'.$name.($name === $config['vfs_storage_mode'] ? '" selected="selected' : '').
|
||||
'">'.htmlspecialchars($label)."</options>\n";
|
||||
}
|
||||
//echo "<pre>".htmlspecialchars($options)."</pre>\n";
|
||||
return $options;
|
||||
}
|
||||
|
||||
function encryptalgo($config)
|
||||
{
|
||||
if(@function_exists('mcrypt_list_algorithms'))
|
||||
{
|
||||
$listed = array();
|
||||
if(!isset($config['mcrypt_algo']))
|
||||
{
|
||||
$listed = array();
|
||||
if(!isset($config['mcrypt_algo']))
|
||||
{
|
||||
$config['mcrypt_algo'] = 'tripledes'; /* MCRYPT_TRIPLEDES */
|
||||
}
|
||||
$algos = @mcrypt_list_algorithms();
|
||||
$found = False;
|
||||
$config['mcrypt_algo'] = 'tripledes'; /* MCRYPT_TRIPLEDES */
|
||||
}
|
||||
$algos = @mcrypt_list_algorithms();
|
||||
$found = False;
|
||||
|
||||
$out = '';
|
||||
while(list($key,$value) = each($algos))
|
||||
$out = '';
|
||||
while(list($key,$value) = each($algos))
|
||||
{
|
||||
$found = True;
|
||||
/* Only show each once - seems this is a problem in some installs */
|
||||
if(!in_array($value,$listed))
|
||||
{
|
||||
$found = True;
|
||||
/* Only show each once - seems this is a problem in some installs */
|
||||
if(!in_array($value,$listed))
|
||||
if($config['mcrypt_algo'] == $value)
|
||||
{
|
||||
if($config['mcrypt_algo'] == $value)
|
||||
{
|
||||
$selected = ' selected="selected"';
|
||||
}
|
||||
else
|
||||
{
|
||||
$selected = '';
|
||||
}
|
||||
$descr = strtoupper($value);
|
||||
|
||||
$out .= '<option value="' . $value . '"' . $selected . '>' . $descr . '</option>' . "\n";
|
||||
$listed[] = $value;
|
||||
$selected = ' selected="selected"';
|
||||
}
|
||||
else
|
||||
{
|
||||
$selected = '';
|
||||
}
|
||||
$descr = strtoupper($value);
|
||||
|
||||
$out .= '<option value="' . $value . '"' . $selected . '>' . $descr . '</option>' . "\n";
|
||||
$listed[] = $value;
|
||||
}
|
||||
if(!$found)
|
||||
}
|
||||
if(!$found)
|
||||
{
|
||||
/* Something is wrong with their mcrypt install or php.ini */
|
||||
$out = '<option value="">' . lang('no algorithms available') . '</option>' . "\n";;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$out = '<option value="tripledes">TRIPLEDES</option>' . "\n";;
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
|
||||
function encryptmode($config)
|
||||
{
|
||||
if(@function_exists('mcrypt_list_modes'))
|
||||
{
|
||||
$listed = array();
|
||||
if(!isset($config['mcrypt_mode']))
|
||||
{
|
||||
$config['mcrypt_mode'] = 'cbc'; /* MCRYPT_MODE_CBC */
|
||||
}
|
||||
$modes = @mcrypt_list_modes();
|
||||
$found = False;
|
||||
|
||||
$out = '';
|
||||
while(list($key,$value) = each($modes))
|
||||
{
|
||||
$found = True;
|
||||
/* Only show each once - seems this is a problem in some installs */
|
||||
if(!in_array($value,$listed))
|
||||
{
|
||||
/* Something is wrong with their mcrypt install or php.ini */
|
||||
$out = '<option value="">' . lang('no algorithms available') . '</option>' . "\n";;
|
||||
if($config['mcrypt_mode'] == $value)
|
||||
{
|
||||
$selected = ' selected="selected"';
|
||||
}
|
||||
else
|
||||
{
|
||||
$selected = '';
|
||||
}
|
||||
$descr = strtoupper($value);
|
||||
|
||||
$out .= '<option value="' . $value . '"' . $selected . '>' . $descr . '</option>' . "\n";
|
||||
$listed[] = $value;
|
||||
}
|
||||
}
|
||||
if(!$found)
|
||||
{
|
||||
/* Something is wrong with their mcrypt install or php.ini */
|
||||
$out = '<option value="" selected="selected">' . lang('no modes available') . '</option>' . "\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$out = '<option value="cbc" selected="selected">CBC</option>' . "\n";
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
|
||||
function passwdhashes($config)
|
||||
{
|
||||
$hashes = array(
|
||||
'des' => 'des',
|
||||
'md5' => 'md5'
|
||||
);
|
||||
if(@function_exists('mhash'))
|
||||
{
|
||||
$hashes += array(
|
||||
'smd5' => 'smd5',
|
||||
'sha' => 'sha',
|
||||
'ssha' => 'ssha'
|
||||
);
|
||||
}
|
||||
$hashes += array(
|
||||
'plain' => 'plain',
|
||||
);
|
||||
/* Check for available crypt methods based on what is defined by php */
|
||||
if(@defined('CRYPT_BLOWFISH') && CRYPT_BLOWFISH == 1)
|
||||
{
|
||||
$hashes['blowish_crypt'] = 'blowish_crypt';
|
||||
}
|
||||
if(@defined('CRYPT_MD5') && CRYPT_MD5 == 1)
|
||||
{
|
||||
$hashes['md5_crypt'] = 'md5_crypt';
|
||||
}
|
||||
if(@defined('CRYPT_EXT_DES') && CRYPT_EXT_DES == 1)
|
||||
{
|
||||
$hashes['ext_crypt'] = 'ext_crypt';
|
||||
}
|
||||
|
||||
while(list($key, $value) = each($hashes))
|
||||
{
|
||||
if($config['ldap_encryption_type'] == $value)
|
||||
{
|
||||
$selected = ' selected="selected"';
|
||||
}
|
||||
else
|
||||
{
|
||||
$out = '<option value="tripledes">TRIPLEDES</option>' . "\n";;
|
||||
$selected = '';
|
||||
}
|
||||
return $out;
|
||||
$descr = strtoupper($value);
|
||||
|
||||
$out .= '<option value="' . $value . '"' . $selected . '>' . $descr . '</option>' . "\n";
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
|
||||
function sql_passwdhashes($config)
|
||||
{
|
||||
$hashes = array(
|
||||
'md5' => 'md5'
|
||||
);
|
||||
|
||||
/* Check for available crypt methods based on what is defined by php */
|
||||
if(@defined('CRYPT_BLOWFISH') && CRYPT_BLOWFISH == 1)
|
||||
{
|
||||
$hashes['blowish_crypt'] = 'blowish_crypt';
|
||||
}
|
||||
if(@defined('CRYPT_MD5') && CRYPT_MD5 == 1)
|
||||
{
|
||||
$hashes['md5_crypt'] = 'md5_crypt';
|
||||
}
|
||||
if(@defined('CRYPT_EXT_DES') && CRYPT_EXT_DES == 1)
|
||||
{
|
||||
$hashes['ext_crypt'] = 'ext_crypt';
|
||||
}
|
||||
if(@defined('CRYPT_STD_DES') && CRYPT_STD_DES == 1)
|
||||
{
|
||||
$hashes['crypt'] = 'crypt';
|
||||
}
|
||||
|
||||
function encryptmode($config)
|
||||
if(@function_exists('mhash'))
|
||||
{
|
||||
if(@function_exists('mcrypt_list_modes'))
|
||||
$hashes += array(
|
||||
'smd5' => 'smd5',
|
||||
'sha' => 'sha',
|
||||
'ssha' => 'ssha'
|
||||
);
|
||||
}
|
||||
$hashes += array(
|
||||
'plain' => 'plain',
|
||||
);
|
||||
|
||||
while(list($key, $value) = each($hashes))
|
||||
{
|
||||
if($config['sql_encryption_type'] == $value)
|
||||
{
|
||||
$listed = array();
|
||||
if(!isset($config['mcrypt_mode']))
|
||||
{
|
||||
$config['mcrypt_mode'] = 'cbc'; /* MCRYPT_MODE_CBC */
|
||||
}
|
||||
$modes = @mcrypt_list_modes();
|
||||
$found = False;
|
||||
|
||||
$out = '';
|
||||
while(list($key,$value) = each($modes))
|
||||
{
|
||||
$found = True;
|
||||
/* Only show each once - seems this is a problem in some installs */
|
||||
if(!in_array($value,$listed))
|
||||
{
|
||||
if($config['mcrypt_mode'] == $value)
|
||||
{
|
||||
$selected = ' selected="selected"';
|
||||
}
|
||||
else
|
||||
{
|
||||
$selected = '';
|
||||
}
|
||||
$descr = strtoupper($value);
|
||||
|
||||
$out .= '<option value="' . $value . '"' . $selected . '>' . $descr . '</option>' . "\n";
|
||||
$listed[] = $value;
|
||||
}
|
||||
}
|
||||
if(!$found)
|
||||
{
|
||||
/* Something is wrong with their mcrypt install or php.ini */
|
||||
$out = '<option value="" selected="selected">' . lang('no modes available') . '</option>' . "\n";
|
||||
}
|
||||
$selected = ' selected="selected"';
|
||||
}
|
||||
else
|
||||
{
|
||||
$out = '<option value="cbc" selected="selected">CBC</option>' . "\n";
|
||||
$selected = '';
|
||||
}
|
||||
return $out;
|
||||
$descr = strtoupper($value);
|
||||
|
||||
$out .= '<option value="' . $value . '"' . $selected . '>' . $descr . '</option>' . "\n";
|
||||
}
|
||||
|
||||
function passwdhashes($config)
|
||||
{
|
||||
$hashes = array(
|
||||
'des' => 'des',
|
||||
'md5' => 'md5'
|
||||
);
|
||||
if(@function_exists('mhash'))
|
||||
{
|
||||
$hashes += array(
|
||||
'smd5' => 'smd5',
|
||||
'sha' => 'sha',
|
||||
'ssha' => 'ssha'
|
||||
);
|
||||
}
|
||||
$hashes += array(
|
||||
'plain' => 'plain',
|
||||
);
|
||||
/* Check for available crypt methods based on what is defined by php */
|
||||
if(@defined('CRYPT_BLOWFISH') && CRYPT_BLOWFISH == 1)
|
||||
{
|
||||
$hashes['blowish_crypt'] = 'blowish_crypt';
|
||||
}
|
||||
if(@defined('CRYPT_MD5') && CRYPT_MD5 == 1)
|
||||
{
|
||||
$hashes['md5_crypt'] = 'md5_crypt';
|
||||
}
|
||||
if(@defined('CRYPT_EXT_DES') && CRYPT_EXT_DES == 1)
|
||||
{
|
||||
$hashes['ext_crypt'] = 'ext_crypt';
|
||||
}
|
||||
|
||||
while(list($key, $value) = each($hashes))
|
||||
{
|
||||
if($config['ldap_encryption_type'] == $value)
|
||||
{
|
||||
$selected = ' selected="selected"';
|
||||
}
|
||||
else
|
||||
{
|
||||
$selected = '';
|
||||
}
|
||||
$descr = strtoupper($value);
|
||||
|
||||
$out .= '<option value="' . $value . '"' . $selected . '>' . $descr . '</option>' . "\n";
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
|
||||
function sql_passwdhashes($config)
|
||||
{
|
||||
$hashes = array(
|
||||
'md5' => 'md5'
|
||||
);
|
||||
|
||||
/* Check for available crypt methods based on what is defined by php */
|
||||
if(@defined('CRYPT_BLOWFISH') && CRYPT_BLOWFISH == 1)
|
||||
{
|
||||
$hashes['blowish_crypt'] = 'blowish_crypt';
|
||||
}
|
||||
if(@defined('CRYPT_MD5') && CRYPT_MD5 == 1)
|
||||
{
|
||||
$hashes['md5_crypt'] = 'md5_crypt';
|
||||
}
|
||||
if(@defined('CRYPT_EXT_DES') && CRYPT_EXT_DES == 1)
|
||||
{
|
||||
$hashes['ext_crypt'] = 'ext_crypt';
|
||||
}
|
||||
if(@defined('CRYPT_STD_DES') && CRYPT_STD_DES == 1)
|
||||
{
|
||||
$hashes['crypt'] = 'crypt';
|
||||
}
|
||||
|
||||
if(@function_exists('mhash'))
|
||||
{
|
||||
$hashes += array(
|
||||
'smd5' => 'smd5',
|
||||
'sha' => 'sha',
|
||||
'ssha' => 'ssha'
|
||||
);
|
||||
}
|
||||
$hashes += array(
|
||||
'plain' => 'plain',
|
||||
);
|
||||
|
||||
while(list($key, $value) = each($hashes))
|
||||
{
|
||||
if($config['sql_encryption_type'] == $value)
|
||||
{
|
||||
$selected = ' selected="selected"';
|
||||
}
|
||||
else
|
||||
{
|
||||
$selected = '';
|
||||
}
|
||||
$descr = strtoupper($value);
|
||||
|
||||
$out .= '<option value="' . $value . '"' . $selected . '>' . $descr . '</option>' . "\n";
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
?>
|
||||
return $out;
|
||||
}
|
||||
|
@ -1,163 +1,182 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare *
|
||||
* http://www.egroupware.org *
|
||||
* Written by Miles Lott <milos@groupwhere.org> *
|
||||
* ------------------------------------------------------------------------ *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU General Public License as published by the *
|
||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
/**
|
||||
* Setup
|
||||
*
|
||||
* @link http://www.egroupware.org
|
||||
* @package setup
|
||||
* @author Miles Lott <milos@groupwhere.org>
|
||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/* $Id$ */
|
||||
/*
|
||||
Set a global flag to indicate this file was found by setup/config.php.
|
||||
config.php will unset it after parsing the form values.
|
||||
*/
|
||||
$GLOBALS['egw_info']['server']['found_validation_hook'] = True;
|
||||
|
||||
/*
|
||||
Set a global flag to indicate this file was found by setup/config.php.
|
||||
config.php will unset it after parsing the form values.
|
||||
*/
|
||||
$GLOBALS['egw_info']['server']['found_validation_hook'] = True;
|
||||
|
||||
function mail_server($settings)
|
||||
/**
|
||||
* Set vfs_fstab depending from what the user selected for vfs_storage_mode
|
||||
*
|
||||
* @param array $settings
|
||||
*/
|
||||
function vfs_storage_mode($settings)
|
||||
{
|
||||
switch($settings['vfs_storage_mode'])
|
||||
{
|
||||
if (!$settings['mail_server'] || !$settings['mail_server_type'] || !$settings['smtp_server'])
|
||||
case 'fs':
|
||||
config::save_value('vfs_fstab','','phpgwapi');
|
||||
break;
|
||||
case 'db':
|
||||
config::save_value('vfs_fstab',serialize(array(
|
||||
'/' => 'sqlfs://$host/?storage=db',
|
||||
'/apps' => 'links://$host/apps?storage=db',
|
||||
)),'phpgwapi');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function mail_server($settings)
|
||||
{
|
||||
if (!$settings['mail_server'] || !$settings['mail_server_type'] || !$settings['smtp_server'])
|
||||
{
|
||||
$GLOBALS['config_error'] = lang('Missing or uncomplete mailserver configuration');
|
||||
}
|
||||
if (@file_exists('../emailadmin/inc/class.emailadmin_bo.inc.php') && $GLOBALS['egw_setup']->table_exist(array('egw_emailadmin')) || true)
|
||||
{
|
||||
$emailadmin = new emailadmin_bo(-1,false); // false=no session stuff
|
||||
if (is_object($emailadmin))
|
||||
{
|
||||
$GLOBALS['config_error'] = lang('Missing or uncomplete mailserver configuration');
|
||||
}
|
||||
if (@file_exists('../emailadmin/inc/class.emailadmin_bo.inc.php') && $GLOBALS['egw_setup']->table_exist(array('egw_emailadmin')) || true)
|
||||
{
|
||||
$emailadmin = new emailadmin_bo(-1,false); // false=no session stuff
|
||||
if (is_object($emailadmin))
|
||||
{
|
||||
$emailadmin->setDefaultProfile($settings);
|
||||
}
|
||||
$emailadmin->setDefaultProfile($settings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function temp_dir($settings)
|
||||
function temp_dir($settings)
|
||||
{
|
||||
if (!setup_detection::check_dir($settings['temp_dir'],$error_msg))
|
||||
{
|
||||
if (!setup_detection::check_dir($settings['temp_dir'],$error_msg))
|
||||
{
|
||||
$GLOBALS['config_error'] = lang("Your temporary directory '%1' %2",$settings['temp_dir'],$error_msg);
|
||||
}
|
||||
$GLOBALS['config_error'] = lang("Your temporary directory '%1' %2",$settings['temp_dir'],$error_msg);
|
||||
}
|
||||
}
|
||||
|
||||
function files_dir($settings)
|
||||
function files_dir($settings)
|
||||
{
|
||||
if ($settings['file_repository'] == 'sql' && $settings['file_store_contents'] == 'filesystem' &&
|
||||
!setup_detection::check_dir($settings['files_dir'],$error_msg,true))
|
||||
{
|
||||
if ($settings['file_repository'] == 'sql' && $settings['file_store_contents'] == 'filesystem' &&
|
||||
!setup_detection::check_dir($settings['files_dir'],$error_msg,true))
|
||||
{
|
||||
$GLOBALS['config_error'] = lang("Your files directory '%1' %2",$settings['files_dir'],$error_msg);
|
||||
}
|
||||
$GLOBALS['config_error'] = lang("Your files directory '%1' %2",$settings['files_dir'],$error_msg);
|
||||
}
|
||||
}
|
||||
|
||||
function backup_dir(&$settings)
|
||||
function backup_dir(&$settings)
|
||||
{
|
||||
if (@is_writeable($settings['files_dir']) && !$settings['backup_dir'] && $settings['file_store_contents'] == 'filesystem')
|
||||
{
|
||||
if (@is_writeable($settings['files_dir']) && !$settings['backup_dir'] && $settings['file_store_contents'] == 'filesystem')
|
||||
{
|
||||
$settings['backup_dir'] = $settings['files_dir'].'/db_backup';
|
||||
}
|
||||
if (!setup_detection::check_dir($settings['backup_dir'],$error_msg,true))
|
||||
{
|
||||
$GLOBALS['config_error'] = lang("Your backup directory '%1' %2",$settings['backup_dir'],$error_msg);
|
||||
}
|
||||
$settings['backup_dir'] = $settings['files_dir'].'/db_backup';
|
||||
}
|
||||
|
||||
function _mcrypt_test_module_mode($module,$mode)
|
||||
if (!setup_detection::check_dir($settings['backup_dir'],$error_msg,true))
|
||||
{
|
||||
/* Data */
|
||||
$key = 'this is a very long key, even too long for the cipher';
|
||||
$plain_text = 'very important data';
|
||||
$GLOBALS['config_error'] = lang("Your backup directory '%1' %2",$settings['backup_dir'],$error_msg);
|
||||
}
|
||||
}
|
||||
|
||||
/* Open module, and create IV */
|
||||
if(!$GLOBALS['td'] = @mcrypt_module_open($module, '',$mode, ''))
|
||||
{
|
||||
@mcrypt_module_close($GLOBALS['td']);
|
||||
return False;
|
||||
}
|
||||
function _mcrypt_test_module_mode($module,$mode)
|
||||
{
|
||||
/* Data */
|
||||
$key = 'this is a very long key, even too long for the cipher';
|
||||
$plain_text = 'very important data';
|
||||
|
||||
/* Open module, and create IV */
|
||||
if(!$GLOBALS['td'] = @mcrypt_module_open($module, '',$mode, ''))
|
||||
{
|
||||
@mcrypt_module_close($GLOBALS['td']);
|
||||
return False;
|
||||
}
|
||||
$key = substr($key, 0, mcrypt_enc_get_key_size($GLOBALS['td']));
|
||||
$iv_size = mcrypt_enc_get_iv_size($GLOBALS['td']);
|
||||
$iv = @mcrypt_create_iv($iv_size, MCRYPT_RAND);
|
||||
|
||||
/* Initialize encryption handle */
|
||||
if(mcrypt_generic_init($GLOBALS['td'], $key, $iv) != -1)
|
||||
{
|
||||
/* Encrypt data */
|
||||
$c_t = mcrypt_generic($GLOBALS['td'], $plain_text);
|
||||
mcrypt_generic_deinit($GLOBALS['td']);
|
||||
|
||||
// close the module
|
||||
mcrypt_module_close($GLOBALS['td']);
|
||||
|
||||
/* Reinitialize buffers for decryption */
|
||||
/* Open module */
|
||||
$GLOBALS['td'] = mcrypt_module_open($module, '', $mode, '');
|
||||
$key = substr($key, 0, mcrypt_enc_get_key_size($GLOBALS['td']));
|
||||
$iv_size = mcrypt_enc_get_iv_size($GLOBALS['td']);
|
||||
$iv = @mcrypt_create_iv($iv_size, MCRYPT_RAND);
|
||||
|
||||
/* Initialize encryption handle */
|
||||
if(mcrypt_generic_init($GLOBALS['td'], $key, $iv) != -1)
|
||||
{
|
||||
/* Encrypt data */
|
||||
$c_t = mcrypt_generic($GLOBALS['td'], $plain_text);
|
||||
mcrypt_generic_deinit($GLOBALS['td']);
|
||||
mcrypt_generic_init($GLOBALS['td'], $key, $iv);
|
||||
$p_t = mdecrypt_generic($GLOBALS['td'], $c_t);
|
||||
|
||||
// close the module
|
||||
mcrypt_module_close($GLOBALS['td']);
|
||||
|
||||
/* Reinitialize buffers for decryption */
|
||||
/* Open module */
|
||||
$GLOBALS['td'] = mcrypt_module_open($module, '', $mode, '');
|
||||
$key = substr($key, 0, mcrypt_enc_get_key_size($GLOBALS['td']));
|
||||
|
||||
mcrypt_generic_init($GLOBALS['td'], $key, $iv);
|
||||
$p_t = mdecrypt_generic($GLOBALS['td'], $c_t);
|
||||
|
||||
/* Clean up */
|
||||
mcrypt_generic_deinit($GLOBALS['td']);
|
||||
mcrypt_module_close($GLOBALS['td']);
|
||||
}
|
||||
else
|
||||
{
|
||||
@mcrypt_module_close($GLOBALS['td']);
|
||||
}
|
||||
return rtrim($p_t) === $plain_text;
|
||||
/* Clean up */
|
||||
mcrypt_generic_deinit($GLOBALS['td']);
|
||||
mcrypt_module_close($GLOBALS['td']);
|
||||
}
|
||||
|
||||
/* run a self-test through every listed cipher and mode - from robert at peakepro dot com (php.net manual) */
|
||||
function mcrypt_check_sanity()
|
||||
else
|
||||
{
|
||||
$modes = mcrypt_list_modes();
|
||||
$algorithms = mcrypt_list_algorithms();
|
||||
@mcrypt_module_close($GLOBALS['td']);
|
||||
}
|
||||
return rtrim($p_t) === $plain_text;
|
||||
}
|
||||
|
||||
foreach($algorithms as $cipher)
|
||||
/* run a self-test through every listed cipher and mode - from robert at peakepro dot com (php.net manual) */
|
||||
function mcrypt_check_sanity()
|
||||
{
|
||||
$modes = mcrypt_list_modes();
|
||||
$algorithms = mcrypt_list_algorithms();
|
||||
|
||||
foreach($algorithms as $cipher)
|
||||
{
|
||||
if(mcrypt_module_self_test($cipher))
|
||||
{
|
||||
if(mcrypt_module_self_test($cipher))
|
||||
$GLOBALS['ciphers'][$cipher] = array();
|
||||
foreach($modes as $mode)
|
||||
{
|
||||
$GLOBALS['ciphers'][$cipher] = array();
|
||||
foreach($modes as $mode)
|
||||
if(_mcrypt_test_module_mode($cipher,$mode))
|
||||
{
|
||||
if(_mcrypt_test_module_mode($cipher,$mode))
|
||||
{
|
||||
$result = True;
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = False;
|
||||
}
|
||||
@$GLOBALS['ciphers'][$cipher][$mode] = $result;
|
||||
$result = True;
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = False;
|
||||
}
|
||||
@$GLOBALS['ciphers'][$cipher][$mode] = $result;
|
||||
}
|
||||
}
|
||||
ksort($GLOBALS['ciphers']);
|
||||
/* _debug_array($GLOBALS['ciphers']); */
|
||||
}
|
||||
ksort($GLOBALS['ciphers']);
|
||||
/* _debug_array($GLOBALS['ciphers']); */
|
||||
}
|
||||
|
||||
function mcrypt_algo($settings)
|
||||
function mcrypt_algo($settings)
|
||||
{
|
||||
/* _debug_array($settings);exit; */
|
||||
if(@function_exists('mcrypt_list_modes'))
|
||||
{
|
||||
/* _debug_array($settings);exit; */
|
||||
if(@function_exists('mcrypt_list_modes'))
|
||||
mcrypt_check_sanity();
|
||||
if(!@$GLOBALS['ciphers'][$settings['mcrypt_algo']][$settings['mcrypt_mode']])
|
||||
{
|
||||
mcrypt_check_sanity();
|
||||
if(!@$GLOBALS['ciphers'][$settings['mcrypt_algo']][$settings['mcrypt_mode']])
|
||||
{
|
||||
$GLOBALS['config_error'] = lang('Invalid Mcrypt Algorithm/Mode combination');
|
||||
}
|
||||
$GLOBALS['config_error'] = lang('Invalid Mcrypt Algorithm/Mode combination');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add bracket around the ldap_search_filter, if admin forgot it
|
||||
*
|
||||
* @param array $settings
|
||||
*/
|
||||
function ldap_search_filter(&$settings)
|
||||
{
|
||||
$filter =& $settings['ldap_search_filter'];
|
||||
/**
|
||||
* Add bracket around the ldap_search_filter, if admin forgot it
|
||||
*
|
||||
* @param array $settings
|
||||
*/
|
||||
function ldap_search_filter(&$settings)
|
||||
{
|
||||
$filter =& $settings['ldap_search_filter'];
|
||||
|
||||
if ($filter && $filter{0} != '(') $filter = '('.$filter.')';
|
||||
}
|
||||
if ($filter && $filter{0} != '(') $filter = '('.$filter.')';
|
||||
}
|
||||
|
@ -169,6 +169,7 @@ current system-charset setup de Aktueller Systemzeichensatz
|
||||
current system-charset is %1. setup de Aktueller Systemzeichensatz ist %1.
|
||||
current version setup de Gegenwärtige Version
|
||||
currently installed languages: %1 <br /> setup de Gegenwärtig installierte Sprachen: %1 <br />
|
||||
custom set via %1 setup de Benutzerdefiniert über "%1" gesetzt
|
||||
cyrus imap: admin user,password setup de Cyrus IMAP: Adminbenutzer,Passwort
|
||||
database setup de Datenbank
|
||||
database instance (egw domain) setup de Datenbankinstanz (eGW Domain)
|
||||
@ -212,6 +213,7 @@ domain(all),[config user(admin)],password,[file-name(default: backup-dir/db_back
|
||||
domain(default),[config user(admin)],password,[backup to install],[charset(default depends on language)] setup de Domain(default),[Konfigurationsbenutzer(admin)],Passwort,[Backupdatei],[Zeichensatz(Vorgabe sprachabhänig)]
|
||||
domain(default),[config user(admin)],password,[name=value,...] sets config values beside: setup de Domain(default),[Konfigurationsbenutzer(admin)],Passwort,[Name=Wert,...] setzt Konfigurationswerte neben:
|
||||
domain-name setup de Domainname
|
||||
don't change, if you already stored files! you will loose them! setup de Nicht ändern, wenn Sie bereits Dateien gespeichert haben! Sie werden Sie verlieren!
|
||||
dont touch my data setup de Meine Daten nicht verändern
|
||||
download setup de Herunterladen
|
||||
edit current configuration setup de Gegenwärtige Konfiguration überarbeiten
|
||||
@ -257,6 +259,7 @@ file type, size, version, etc. setup de Dateityp, Größe, Version usw.
|
||||
file uploads are switched off: you can not use any of the filemanagers, nor can you attach files in several applications! setup de Dateiuploads sind ausgeschaltet. Sie können keinen der Dateimanager verwenden, noch können Sie in verschiedenen Anwendungen Dateien anhängen!
|
||||
filename setup de Dateiname
|
||||
filesystem setup de Dateisystem
|
||||
filesystem (default) setup de Dateisystem (Vorgabe)
|
||||
force selectbox setup de Auswahl erzwingen
|
||||
found existing configuration file. loading settings from the file... setup de Existierende Konfigurationsdatei gefunden. Lade Einstellungen von der Datei ...
|
||||
give admin access to all installed apps setup de Admin Zugang zu allen installierten Anwendungen geben
|
||||
@ -291,6 +294,7 @@ if the application has no defined tables, selecting upgrade should remedy the pr
|
||||
if using ads (active directory) authentication setup de Wenn Sie ADS (Active Directory) Authentifizierung benutzen
|
||||
if using ldap setup de Wenn Sie LDAP verwenden
|
||||
if using ldap, do you want to manage homedirectory and loginshell attributes? setup de Wenn Sie LDAP verwenden, wollen Sie Benutzerverzeichnisse und Komandointerpreter verwalten ?
|
||||
if you can only access the docroot choose <b>database</b> for where to store the file content and use same path as for temporäry files. setup de Wenn Sie nur die Documentroot erreichen können, wählen Sie bei Inhalt von Dateien speichern <b>Datenbank</b> UND benutzern Sie hier den Pfad für temporäre Dateien.
|
||||
if you did not receive any errors, your applications have been setup de Wenn Sie keine Fehlermeldungen erhalten, wurden Ihre Anwendungen
|
||||
if you did not receive any errors, your tables have been setup de Wenn Sie keine Fehlermeldungen erhalten, wurden Ihre Tabellen
|
||||
if you running this the first time, don't forget to manualy %1 !!! setup de Wenn Sie das zum ersten Mal ausführen, vergessen Sie nicht manuell die %1 !!!
|
||||
@ -441,7 +445,6 @@ re-enter password setup de Passworteingabe wiederholen
|
||||
read translations from setup de Lese Übersetzungen von
|
||||
readable by the webserver setup de lesebar durch den Webserver
|
||||
really uninstall all applications setup de WIRKLICH alle Anwendungen deinstallieren
|
||||
recommended: filesystem setup de Empfohlen: Dateisystem
|
||||
register_globals is turned on, egroupware does not require it and it's generaly more secure to have it turned off setup de register_globals ist eingeschaltet (On), eGroupWare benötigt das NICHT und es ist generell sicherer es auszuschalten (Off)
|
||||
registered setup de registriert
|
||||
rejected lines setup de Zurückgewiesende Zeilen
|
||||
@ -470,8 +473,6 @@ select one... setup de Einen auswählen...
|
||||
select the default applications to which your users will have access setup de Wählen Sie die voreingestellten Anwendungen, zu denen Ihre Benutzer Zugriff haben werden
|
||||
select the desired action(s) from the available choices setup de Wählen Sie die verlangten Aktion(en) aus der verfügbaren Auswahl
|
||||
select to download file setup de Auswähle um die Datei herunterzuladen
|
||||
select where you want to store/retrieve file contents setup de Wählen Sie aus wo Sie Dateiinhalte speichern/lesen wollen
|
||||
select where you want to store/retrieve filesystem information setup de Wo wollen Sie Datei Informationen ablegen/lesen
|
||||
select where you want to store/retrieve user accounts setup de Wo wollen Sie die Benutzerkonten speichern
|
||||
select which group(s) will be exported setup de Wählen Sie die zu exportierende(n) Gruppe(n)
|
||||
select which group(s) will be imported (group membership will be maintained) setup de Wählen Sie die zu importierende(n) Gruppe(n) (Gruppenmitgliedschaft wird erhalten)
|
||||
@ -603,6 +604,7 @@ validation errors setup de Fehler bei der Prüfung der Eingaben
|
||||
version setup de Version
|
||||
version mismatch setup de Versionen passen nicht zueinander
|
||||
view setup de Anzeigen
|
||||
virtual filesystem setup de Virtuelles Dateisystem
|
||||
virtual mail manager (login-name includes domain) setup de Virtual Mail Manager (Loginname enthalten Domain)
|
||||
warning! setup de Warnung!
|
||||
we can proceed setup de Wir können fortfahren
|
||||
@ -611,6 +613,7 @@ we will automatically update your tables/records to %1 setup de Wir werden Ihre
|
||||
we will now run a series of tests, which may take a few minutes. click the link below to proceed. setup de Wir werden jetzt eine Serie von Tests durchführen. Das kann ein paar Minuten dauern. Klicken sie auf den folgenden Link um Fortzufahren.
|
||||
welcome to the egroupware installation setup de Herzlich willkommen zur eGroupWare Installation
|
||||
what type of sessions management do you want to use (php session management may perform better)? setup de Welches Session-Management wollen Sie verwenden (PHP Session-Management hat eine bessere Performanz)?
|
||||
where should egroupware store file content setup de Wo soll eGroupware den Inhalt von Dateien speichern
|
||||
which database type do you want to use with egroupware? setup de Welchen Datenbanktyp wollen Sie mit eGroupWare verwenden?
|
||||
world readable setup de lesbar von jedem (world readable)
|
||||
world writable setup de schreibbar von jedem (world writeable)
|
||||
|
@ -169,6 +169,7 @@ current system-charset setup en Current system-charset
|
||||
current system-charset is %1. setup en Current system-charset is %1.
|
||||
current version setup en Current Version
|
||||
currently installed languages: %1 <br /> setup en Currently installed languages: %1 <br />
|
||||
custom set via %1 setup en Custom set via %1
|
||||
cyrus imap: admin user,password setup en Cyrus IMAP: Admin user,Password
|
||||
database setup en Database
|
||||
database instance (egw domain) setup en Database instance (eGW domain)
|
||||
@ -212,6 +213,7 @@ domain(all),[config user(admin)],password,[file-name(default: backup-dir/db_back
|
||||
domain(default),[config user(admin)],password,[backup to install],[charset(default depends on language)] setup en domain(default),[config user(admin)],password,[backup to install],[charset(default depends on language)]
|
||||
domain(default),[config user(admin)],password,[name=value,...] sets config values beside: setup en domain(default),[config user(admin)],password,[name=value,...] sets config values beside:
|
||||
domain-name setup en domain-name
|
||||
don't change, if you already stored files! you will loose them! setup en Don't change, if you already stored files! You will loose them!
|
||||
dont touch my data setup en Dont touch my data
|
||||
download setup en Download
|
||||
edit current configuration setup en Edit Current Configuration
|
||||
@ -255,6 +257,7 @@ file type, size, version, etc. setup en file type, size, version, etc.
|
||||
file uploads are switched off: you can not use any of the filemanagers, nor can you attach files in several applications! setup en File uploads are switched off: You can NOT use any of the filemanagers, nor can you attach files in several applications!
|
||||
filename setup en filename
|
||||
filesystem setup en Filesystem
|
||||
filesystem (default) setup en Filesystem (default)
|
||||
force selectbox setup en Force Selectbox
|
||||
found existing configuration file. loading settings from the file... setup en Found existing configuration file. Loading settings from the file...
|
||||
give admin access to all installed apps setup en Give admin access to all installed apps
|
||||
@ -289,6 +292,7 @@ if the application has no defined tables, selecting upgrade should remedy the pr
|
||||
if using ads (active directory) authentication setup en If using ADS (Active Directory) authentication
|
||||
if using ldap setup en If using LDAP
|
||||
if using ldap, do you want to manage homedirectory and loginshell attributes? setup en If using LDAP, do you want to manage homedirectory and loginshell attributes?
|
||||
if you can only access the docroot choose <b>database</b> for where to store the file content and use same path as for temporäry files. setup en If you can only access the docroot choose <b>Database</b> for where to store the file content AND use same path as for temporäry files.
|
||||
if you did not receive any errors, your applications have been setup en If you did not receive any errors, your applications have been
|
||||
if you did not receive any errors, your tables have been setup en If you did not receive any errors, your tables have been
|
||||
if you running this the first time, don't forget to manualy %1 !!! setup en If you running this the first time, don't forget to manualy %1 !!!
|
||||
@ -439,7 +443,6 @@ re-enter password setup en Re-enter password
|
||||
read translations from setup en Read translations from
|
||||
readable by the webserver setup en readable by the webserver
|
||||
really uninstall all applications setup en REALLY Uninstall all applications
|
||||
recommended: filesystem setup en Recommended: Filesystem
|
||||
register_globals is turned on, egroupware does not require it and it's generaly more secure to have it turned off setup en register_globals is turned On, eGroupWare does NOT require it and it's generaly more secure to have it turned Off
|
||||
registered setup en registered
|
||||
rejected lines setup en Rejected lines
|
||||
@ -468,8 +471,6 @@ select one... setup en select one...
|
||||
select the default applications to which your users will have access setup en Select the default applications to which your users will have access
|
||||
select the desired action(s) from the available choices setup en Select the desired action(s) from the available choices
|
||||
select to download file setup en Select to download file
|
||||
select where you want to store/retrieve file contents setup en Select where you want to store/retrieve file contents
|
||||
select where you want to store/retrieve filesystem information setup en Select where you want to store/retrieve filesystem information
|
||||
select where you want to store/retrieve user accounts setup en Select where you want to store/retrieve user accounts
|
||||
select which group(s) will be exported setup en Select which group(s) will be exported
|
||||
select which group(s) will be imported (group membership will be maintained) setup en Select which group(s) will be imported (group membership will be maintained)
|
||||
@ -601,6 +602,7 @@ validation errors setup en Validation errors
|
||||
version setup en version
|
||||
version mismatch setup en Version Mismatch
|
||||
view setup en View
|
||||
virtual filesystem setup en Virtual filesystem
|
||||
virtual mail manager (login-name includes domain) setup en Virtual mail manager (login-name includes domain)
|
||||
warning! setup en Warning!
|
||||
we can proceed setup en We can proceed
|
||||
@ -609,6 +611,7 @@ we will automatically update your tables/records to %1 setup en We will automati
|
||||
we will now run a series of tests, which may take a few minutes. click the link below to proceed. setup en We will now run a series of tests, which may take a few minutes. Click the link below to proceed.
|
||||
welcome to the egroupware installation setup en Welcome to the eGroupWare Installation
|
||||
what type of sessions management do you want to use (php session management may perform better)? setup en What type of sessions management do you want to use (PHP session management may perform better)?
|
||||
where should egroupware store file content setup en Where should eGroupware store file content
|
||||
which database type do you want to use with egroupware? setup en Which database type do you want to use with eGroupWare?
|
||||
world readable setup en world readable
|
||||
world writable setup en world writable
|
||||
|
@ -12,30 +12,54 @@
|
||||
|
||||
<!-- BEGIN body -->
|
||||
<tr class="th">
|
||||
<td colspan="2"><b>{lang_Path_information}</b></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row_off">
|
||||
<td>{lang_Enter_the_full_path_for_temporary_files.<br />Examples:_/tmp,_C:\TEMP}:</td>
|
||||
<td><input name="newsettings[temp_dir]" value="{value_temp_dir}" size="40" /></td>
|
||||
<td colspan="2"><b>{lang_Path_information}, {lang_Virtual_filesystem}</b></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row_on">
|
||||
<td>{lang_Enter_the_full_path_for_users_and_group_files.<br />Examples:_/files,_E:\FILES}:<br /><b>{lang_This_has_to_be_outside_the_webservers_document-root!!!}</b><br />{lang_or_http://webdav.domain.com_(WebDAV)}:</td>
|
||||
<td>{lang_Where_should_eGroupware_store_file_content}:</td>
|
||||
<td>
|
||||
<select name="newsettings[vfs_storage_mode]">
|
||||
{hook_vfs_storage_mode_options}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="row_off">
|
||||
<td colspan="2"><b>{lang_Don't_change,_if_you_already_stored_files!_You_will_loose_them!}</b> There's currently no migration avaliable.</td>
|
||||
</tr>
|
||||
|
||||
<tr class="row_on">
|
||||
<td>{lang_Enter_the_full_path_for_users_and_group_files.<br />Examples:_/files,_E:\FILES}</td>
|
||||
<td><input name="newsettings[files_dir]" value="{value_files_dir}" size="40" /></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row_off">
|
||||
<td>{lang_Enter_the_full_path_to_the_backup_directory.<br />if_empty:_files_directory}/db_backup:<br /><b>{lang_This_has_to_be_outside_the_webservers_document-root!!!}</b></td>
|
||||
<td><input name="newsettings[backup_dir]" value="{value_backup_dir}" size="40" /></td>
|
||||
<td colspan="2">
|
||||
<b>{lang_This_has_to_be_outside_the_webservers_document-root!!!}</b><br />
|
||||
{lang_If_you_can_only_access_the_docroot_choose_<b>Database</b>_for_where_to_store_the_file_content_AND_use_same_path_as_for_temporäry_files.}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="row_on">
|
||||
<td>{lang_Enter_the_full_path_to_the_backup_directory.<br />if_empty:_files_directory}/db_backup:</td>
|
||||
<td><input name="newsettings[backup_dir]" value="{value_backup_dir}" size="40" /></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row_off">
|
||||
<td colspan="2"><b>{lang_This_has_to_be_outside_the_webservers_document-root!!!}</b></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row_on">
|
||||
<td>{lang_Enter_the_full_path_for_temporary_files.<br />Examples:_/tmp,_C:\TEMP}:</td>
|
||||
<td><input name="newsettings[temp_dir]" value="{value_temp_dir}" size="40" /></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row_off">
|
||||
<td>{lang_Enter_the_location_of_eGroupWare's_URL.<br />Example:_http://www.domain.com/egroupware_ _or_ _/egroupware<br /><b>No_trailing_slash</b>}:</td>
|
||||
<td><input name="newsettings[webserver_url]" value="{value_webserver_url}" size="40" /></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row_off">
|
||||
<tr class="row_ono">
|
||||
<td>{lang_Image_type_selection_order}:</td>
|
||||
<td>
|
||||
<select name="newsettings[image_type]">
|
||||
@ -450,7 +474,7 @@
|
||||
<tr class="row_off">
|
||||
<td colspan="2"> </td>
|
||||
</tr>
|
||||
|
||||
<!--
|
||||
<tr class="th">
|
||||
<td colspan="2"><b>{lang_Mcrypt_settings_(requires_mcrypt_PHP_extension)}</b></td>
|
||||
</tr>
|
||||
@ -481,40 +505,7 @@
|
||||
<tr class="row_off">
|
||||
<td colspan="2"> </td>
|
||||
</tr>
|
||||
<tr class="th">
|
||||
<td colspan="2"><b>{lang_Additional_settings}</b></td>
|
||||
</tr>
|
||||
<tr class="row_on">
|
||||
<td>
|
||||
{lang_Select_where_you_want_to_store/retrieve_filesystem_information}:
|
||||
<br />
|
||||
({lang_file_type,_size,_version,_etc.})
|
||||
</td>
|
||||
<td>
|
||||
<select name="newsettings[file_repository]">
|
||||
<option value="sql"{selected_file_repository_sql}>SQL ({lang_default})</option>
|
||||
<option value="dav"{selected_file_repository_dav}>WebDAV</option>
|
||||
<option value="sql2"{selected_file_repository_sql2}>SQL version 2 (EXPERIMENTAL, required and works only with FilesCenter)</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row_off">
|
||||
<td>
|
||||
{lang_Select_where_you_want_to_store/retrieve_file_contents}:
|
||||
<br />
|
||||
({lang_Recommended:_Filesystem})
|
||||
</td>
|
||||
<td>
|
||||
<select name="newsettings[file_store_contents]">
|
||||
<option value="filesystem"{selected_file_store_contents_filesystem}>{lang_Filesystem}</option>
|
||||
<option value="sql"{selected_file_store_contents_sql}>SQL</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row_on">
|
||||
<td colspan="2"> </td>
|
||||
</tr>
|
||||
|
||||
-->
|
||||
<!-- end from admin -->
|
||||
|
||||
<!-- END body -->
|
||||
|
Loading…
Reference in New Issue
Block a user