Set the default umask automatically upon install

This commit is contained in:
Kijin Sung 2016-07-03 21:48:09 +09:00
parent f0e6b818af
commit 63b6ac9e37
4 changed files with 12 additions and 7 deletions

View file

@ -5,6 +5,7 @@ namespace Rhymix\Framework\Parsers;
use Rhymix\Framework\Config;
use Rhymix\Framework\DateTime;
use Rhymix\Framework\Security;
use Rhymix\Framework\Storage;
/**
* Config parser class for XE compatibility.
@ -242,6 +243,7 @@ class ConfigParser
}
// Convert miscellaneous configuration.
$config['file']['umask'] = Storage::recommendUmask();
$config['mobile']['enabled'] = $db_info->use_mobile_view === 'N' ? false : true;
$config['use_prepared_statements'] = $db_info->use_prepared_statements === 'Y' ? true : false;
$config['use_rewrite'] = $db_info->use_rewrite === 'Y' ? true : false;

View file

@ -738,7 +738,7 @@ class Storage
// On Windows, set the umask to 0000.
if (strncasecmp(\PHP_OS, 'Win', 3) === 0)
{
return 0000;
return '0000';
}
// Get the UID of the owner of the current file.
@ -770,13 +770,13 @@ class Storage
// If both UIDs are the same, set the umask to 0022.
if ($file_uid == $php_uid)
{
return 0022;
return '0022';
}
// Otherwise, set the umask to 0000.
else
{
return 0000;
return '0000';
}
}
}

View file

@ -195,6 +195,9 @@ class installController extends install
// Set the default URL.
$config['url']['default'] = Context::getRequestUri();
// Set the default umask.
$config['file']['umask'] = Rhymix\Framework\Storage::recommendUmask();
// Load the new configuration.
Rhymix\Framework\Config::setAll($config);
Context::loadDBInfo($config);

View file

@ -333,16 +333,16 @@ class StorageTest extends \Codeception\TestCase\Test
{
if (get_current_user() === exec('whoami'))
{
$this->assertEquals(0022, $umask);
$this->assertEquals('0022', $umask);
}
else
{
$this->assertEquals(0, $umask);
$this->assertEquals('0000', $umask);
}
}
else
{
$this->assertEquals(0, $umask);
$this->assertEquals('0000', $umask);
}
$this->assertFalse(file_exists(\RX_BASEDIR . 'files/cache/uidcheck'));