mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
Merge pull request #324 from halkyon/installer_fixes
MINOR: Fix install not loading because of Zend/Translate.php dependency in i18n.php
This commit is contained in:
commit
7a4392ca03
@ -286,16 +286,8 @@ Debug::loadErrorHandlers();
|
||||
// HELPER FUNCTIONS
|
||||
|
||||
function getSysTempDir() {
|
||||
if(function_exists('sys_get_temp_dir')) {
|
||||
$sysTmp = sys_get_temp_dir();
|
||||
} elseif(isset($_ENV['TMP'])) {
|
||||
$sysTmp = $_ENV['TMP'];
|
||||
} else {
|
||||
$tmpFile = tempnam('adfadsfdas','');
|
||||
unlink($tmpFile);
|
||||
$sysTmp = dirname($tmpFile);
|
||||
}
|
||||
return $sysTmp;
|
||||
Deprecation::notice(3.0, 'Please use PHP function get_sys_temp_dir() instead.');
|
||||
return sys_get_temp_dir();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -319,7 +311,7 @@ function getTempFolder($base = null) {
|
||||
return $ssTmp;
|
||||
}
|
||||
|
||||
$sysTmp = getSysTempDir();
|
||||
$sysTmp = sys_get_temp_dir();
|
||||
$worked = true;
|
||||
$ssTmp = "$sysTmp/$cachefolder";
|
||||
|
||||
@ -336,9 +328,11 @@ function getTempFolder($base = null) {
|
||||
}
|
||||
|
||||
if(!$worked) {
|
||||
user_error("Permission problem gaining access to a temp folder. " .
|
||||
"Please create a folder named silverstripe-cache in the base folder " .
|
||||
"of the installation and ensure it has the correct permissions", E_USER_ERROR);
|
||||
throw new Exception(
|
||||
'Permission problem gaining access to a temp folder. ' .
|
||||
'Please create a folder named silverstripe-cache in the base folder ' .
|
||||
'of the installation and ensure it has the correct permissions'
|
||||
);
|
||||
}
|
||||
|
||||
return $ssTmp;
|
||||
@ -416,7 +410,7 @@ function increase_memory_limit_to($memoryLimit = -1) {
|
||||
// Increase the memory limit if it's too low
|
||||
if($memoryLimit == -1 || translate_memstring($memoryLimit) > translate_memstring($curLimit)) {
|
||||
ini_set('memory_limit', $memoryLimit);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -45,8 +45,8 @@
|
||||
</div>
|
||||
<?php } else if($req->hasWarnings()) { ?>
|
||||
<div class="message warning">
|
||||
<p>There are some issues that we recommend you look at before installing, however, you are still able to install the software. Please see below for details.<br>
|
||||
If you are having problems meeting the requirements, see the <a href="http://doc.silverstripe.org/sapphire/en/installation/server-requirements">server requirements</a>.</p>
|
||||
<p>There are some issues that we recommend you look at before installing, however, you are still able to install the software.
|
||||
<br>Please see below for details. If you are having problems meeting the requirements, see the <a href="http://doc.silverstripe.org/sapphire/en/installation/server-requirements">server requirements</a>.</p>
|
||||
</div>
|
||||
<?php } else if(!$dbReq->hasErrors() && !$adminReq->hasErrors()) { ?>
|
||||
<div class="message goodInstall"><p>You're ready to install! Please confirm the configuration options below. <a href="#install">Install SilverStripe</a></p>
|
||||
|
@ -19,7 +19,6 @@ ini_set('mysql.connect_timeout', 5);
|
||||
|
||||
ini_set('max_execution_time', 0);
|
||||
|
||||
// enable the highest level of error reporting during installation (same as Core.php in framework)
|
||||
error_reporting(E_ALL | E_STRICT);
|
||||
|
||||
// Include environment files
|
||||
@ -43,24 +42,95 @@ if($envFileExists) {
|
||||
}
|
||||
}
|
||||
|
||||
include_once(FRAMEWORK_NAME . '/core/Object.php');
|
||||
include_once(FRAMEWORK_NAME . '/view/TemplateGlobalProvider.php');
|
||||
include_once(FRAMEWORK_NAME . '/i18n/i18n.php');
|
||||
include_once(FRAMEWORK_NAME . '/dev/install/DatabaseConfigurationHelper.php');
|
||||
include_once(FRAMEWORK_NAME . '/dev/install/DatabaseAdapterRegistry.php');
|
||||
require_once FRAMEWORK_NAME . '/dev/install/DatabaseConfigurationHelper.php';
|
||||
require_once FRAMEWORK_NAME . '/dev/install/DatabaseAdapterRegistry.php';
|
||||
|
||||
// Set default locale, but try and sniff from the user agent
|
||||
$locales = i18n::$common_locales;
|
||||
$defaultLocale = i18n::get_locale();
|
||||
if(isset($_SERVER['HTTP_USER_AGENT'])) {
|
||||
foreach($locales as $code => $details) {
|
||||
$bits = explode('_', $code);
|
||||
if(preg_match("/{$bits[0]}.{$bits[1]}/", $_SERVER['HTTP_USER_AGENT'])) {
|
||||
$defaultLocale = $code;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
$defaultLocale = 'en_US';
|
||||
$locales = array(
|
||||
'af_ZA' => array('Afrikaans', 'Afrikaans'),
|
||||
'sq_AL' => array('Albanian', 'shqip'),
|
||||
'ar_EG' => array('Arabic', 'العربية'),
|
||||
'eu_ES' => array('Basque', 'euskera'),
|
||||
'be_BY' => array('Belarusian', 'Беларуская мова'),
|
||||
'bn_BD' => array('Bengali', 'বাংলা'),
|
||||
'bg_BG' => array('Bulgarian', 'български'),
|
||||
'ca_ES' => array('Catalan', 'català'),
|
||||
'zh_yue' => array('Chinese (Cantonese)', '廣東話 [广东话]'),
|
||||
'zh_cmn' => array('Chinese (Mandarin)', '普通話 [普通话]'),
|
||||
'hr_HR' => array('Croatian', 'Hrvatski'),
|
||||
'cs_CZ' => array('Czech', 'čeština'),
|
||||
'cy_GB' => array('Welsh', 'Welsh/Cymraeg'),
|
||||
'da_DK' => array('Danish', 'dansk'),
|
||||
'nl_NL' => array('Dutch', 'Nederlands'),
|
||||
'en_NZ' => array('English (NZ)', 'English (NZ)'),
|
||||
'en_US' => array('English (US)', 'English (US)'),
|
||||
'en_GB' => array('English (UK)', 'English (UK)'),
|
||||
'eo_XX' => array('Esperanto', 'Esperanto'),
|
||||
'et_EE' => array('Estonian', 'eesti keel'),
|
||||
'fo_FO' => array('Faroese', 'Føroyska'),
|
||||
'fi_FI' => array('Finnish', 'suomi'),
|
||||
'fr_FR' => array('French', 'français'),
|
||||
'gd_GB' => array('Gaelic', 'Gaeilge'),
|
||||
'gl_ES' => array('Galician', 'Galego'),
|
||||
'de_DE' => array('German', 'Deutsch'),
|
||||
'el_GR' => array('Greek', 'ελληνικά'),
|
||||
'gu_IN' => array('Gujarati', 'ગુજરાતી'),
|
||||
'ha_NG' => array('Hausa', 'حَوْسَ'),
|
||||
'he_IL' => array('Hebrew', 'עברית'),
|
||||
'hi_IN' => array('Hindi', 'हिन्दी'),
|
||||
'hu_HU' => array('Hungarian', 'magyar'),
|
||||
'is_IS' => array('Icelandic', 'Íslenska'),
|
||||
'id_ID' => array('Indonesian', 'Bahasa Indonesia'),
|
||||
'ga_IE' => array('Irish', 'Irish'),
|
||||
'it_IT' => array('Italian', 'italiano'),
|
||||
'ja_JP' => array('Japanese', '日本語'),
|
||||
'jv_ID' => array('Javanese', 'basa Jawa'),
|
||||
'ko_KR' => array('Korean', '한국어 [韓國語]'),
|
||||
'ku_IQ' => array('Kurdish', 'Kurdí'),
|
||||
'lv_LV' => array('Latvian', 'latviešu'),
|
||||
'lt_LT' => array('Lithuanian', 'lietuviškai'),
|
||||
'mk_MK' => array('Macedonian', 'македонски'),
|
||||
'mi_NZ' => array('Maori', 'Maori'),
|
||||
'ms_MY' => array('Malay', 'Bahasa melayu'),
|
||||
'mt_MT' => array('Maltese', 'Malti'),
|
||||
'mr_IN' => array('Marathi', 'मराठी'),
|
||||
'ne_NP' => array('Nepali', 'नेपाली'),
|
||||
'nb_NO' => array('Norwegian', 'Norsk'),
|
||||
'om_ET' => array('Oromo', 'Afaan Oromo'),
|
||||
'fa_IR' => array('Persian', 'فارسى'),
|
||||
'pl_PL' => array('Polish', 'polski'),
|
||||
'pt_PT' => array('Portuguese (Portugal)', 'português (Portugal)'),
|
||||
'pt_BR' => array('Portuguese (Brazil)', 'português (Brazil)'),
|
||||
'pa_IN' => array('Punjabi', 'ਪੰਜਾਬੀ'),
|
||||
'qu_PE' => array('Quechua', 'Quechua'),
|
||||
'rm_CH' => array('Romansh', 'rumantsch'),
|
||||
'ro_RO' => array('Romanian', 'român'),
|
||||
'ru_RU' => array('Russian', 'Русский'),
|
||||
'sco_SCO' => array('Scots', 'Scoats leid, Lallans'),
|
||||
'sr_RS' => array('Serbian', 'српски'),
|
||||
'sk_SK' => array('Slovak', 'slovenčina'),
|
||||
'sl_SI' => array('Slovenian', 'slovenščina'),
|
||||
'es_ES' => array('Spanish', 'español'),
|
||||
'sv_SE' => array('Swedish', 'Svenska'),
|
||||
'tl_PH' => array('Tagalog', 'Tagalog'),
|
||||
'ta_IN' => array('Tamil', 'தமிழ்'),
|
||||
'te_IN' => array('Telugu', 'తెలుగు'),
|
||||
'to_TO' => array('Tonga', 'chiTonga'),
|
||||
'ts_ZA' => array('Tsonga', 'xiTshonga'),
|
||||
'tn_ZA' => array('Tswana', 'seTswana'),
|
||||
'tr_TR' => array('Turkish', 'Türkçe'),
|
||||
'tk_TM' => array('Turkmen', 'түркmенче'),
|
||||
'tw_GH' => array('Twi', 'twi'),
|
||||
'uk_UA' => array('Ukrainian', 'Українська'),
|
||||
'ur_PK' => array('Urdu', 'اردو'),
|
||||
'uz_UZ' => array('Uzbek', 'ўзбек'),
|
||||
've_ZA' => array('Venda', 'tshiVenḓa'),
|
||||
'vi_VN' => array('Vietnamese', 'tiếng việt'),
|
||||
'wo_SN' => array('Wolof', 'Wollof'),
|
||||
'xh_ZA' => array('Xhosa', 'isiXhosa'),
|
||||
'zu_ZA' => array('Zulu', 'isiZulu'),
|
||||
);
|
||||
|
||||
// Discover which databases are available
|
||||
DatabaseAdapterRegistry::autodiscover();
|
||||
@ -655,37 +725,25 @@ class InstallRequirements {
|
||||
}
|
||||
|
||||
function getTempFolder() {
|
||||
if (defined('TEMP_FOLDER')) {
|
||||
$sysTmp = TEMP_FOLDER;
|
||||
} elseif(file_exists($this->getBaseDir() . 'silverstripe-cache')) {
|
||||
$sysTmp = $this->getBaseDir();
|
||||
} elseif(function_exists('sys_get_temp_dir')) {
|
||||
$sysTmp = sys_get_temp_dir();
|
||||
} elseif(isset($_ENV['TMP'])) {
|
||||
$sysTmp = $_ENV['TMP'];
|
||||
} else {
|
||||
@$tmpFile = tempnam('adfadsfdas', '');
|
||||
@unlink($tmpFile);
|
||||
$sysTmp = dirname($tmpFile);
|
||||
}
|
||||
|
||||
$worked = true;
|
||||
$ssTmp = $sysTmp . DIRECTORY_SEPARATOR . 'silverstripe-cache';
|
||||
$sysTmp = sys_get_temp_dir();
|
||||
$worked = true;
|
||||
$ssTmp = "$sysTmp/silverstripe-cache";
|
||||
|
||||
if(!@file_exists($ssTmp)) {
|
||||
@$worked = mkdir($ssTmp);
|
||||
}
|
||||
|
||||
if(!$worked) {
|
||||
$ssTmp = dirname($_SERVER['SCRIPT_FILENAME']) . DIRECTORY_SEPARATOR . 'silverstripe-cache';
|
||||
$worked = true;
|
||||
if(!@file_exists($ssTmp)) {
|
||||
@$worked = mkdir($ssTmp);
|
||||
}
|
||||
if(!$worked) {
|
||||
$ssTmp = dirname($_SERVER['SCRIPT_FILENAME']) . '/silverstripe-cache';
|
||||
$worked = true;
|
||||
if(!@file_exists($ssTmp)) {
|
||||
@$worked = mkdir($ssTmp);
|
||||
}
|
||||
}
|
||||
|
||||
if($worked) return $ssTmp;
|
||||
else return false;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function requireTempFolder($testDetails) {
|
||||
@ -695,9 +753,9 @@ class InstallRequirements {
|
||||
if(!$tempFolder) {
|
||||
$testDetails[2] = "Permission problem gaining access to a temp directory. " .
|
||||
"Please create a folder named silverstripe-cache in the base directory " .
|
||||
"of the installation and ensure it has the adequate permissions";
|
||||
"of the installation and ensure it has the adequate permissions.";
|
||||
$this->error($testDetails);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function requireApacheModule($moduleName, $testDetails) {
|
||||
@ -997,6 +1055,7 @@ class Installer extends InstallRequirements {
|
||||
$locale = isset($_POST['locale']) ? $_POST['locale'] : 'en_US';
|
||||
$type = $config['db']['type'];
|
||||
$dbConfig = $config['db'][$type];
|
||||
if(!isset($dbConfig['path'])) $dbConfig['path'] = '';
|
||||
if(!$dbConfig) {
|
||||
echo "<p style=\"color: red\">Bad config submitted</p><pre>";
|
||||
print_r($config);
|
||||
@ -1103,10 +1162,10 @@ PHP
|
||||
// Show errors as if you're in development mode
|
||||
$_SESSION['isDev'] = 1;
|
||||
|
||||
require_once('core/Core.php');
|
||||
|
||||
$this->statusMessage("Building database schema...");
|
||||
|
||||
require_once 'core/Core.php';
|
||||
|
||||
// Build database
|
||||
$con = new Controller();
|
||||
$con->pushCurrent();
|
||||
@ -1126,16 +1185,25 @@ PHP
|
||||
$adminMember->Password = $config['admin']['password'];
|
||||
$adminMember->PasswordEncryption = Security::get_password_encryption_algorithm();
|
||||
|
||||
// @todo Exception thrown if database with admin already exists with same Email
|
||||
try {
|
||||
$this->statusMessage('Creating default admin account...');
|
||||
$this->statusMessage('Creating default CMS admin account...');
|
||||
$adminMember->write();
|
||||
} catch(Exception $e) {
|
||||
$this->statusMessage('Admin account could not be created.');
|
||||
$this->statusMessage(
|
||||
sprintf('Warning: Default CMS admin account could not be created (error: %s)', $e->getMessage())
|
||||
);
|
||||
}
|
||||
|
||||
// Syncing filesystem (so /assets/Uploads is available instantly, see ticket #2266)
|
||||
Filesystem::sync();
|
||||
// show a warning if there was a problem doing so
|
||||
try {
|
||||
$this->statusMessage('Creating initial filesystem assets...');
|
||||
Filesystem::sync();
|
||||
} catch(Exception $e) {
|
||||
$this->statusMessage(
|
||||
sprintf('Warning: Creating initial filesystem assets failed (error: %s)', $e->getMessage())
|
||||
);
|
||||
}
|
||||
|
||||
$_SESSION['username'] = $config['admin']['username'];
|
||||
$_SESSION['password'] = $config['admin']['password'];
|
||||
|
@ -20,26 +20,26 @@ class CoreTest extends SapphireTest {
|
||||
$this->assertEquals(getTempFolder(), $this->tempPath);
|
||||
} else {
|
||||
// A typical Windows location for where sites are stored on IIS
|
||||
$this->assertEquals(getTempFolder('C:\\inetpub\\wwwroot\\silverstripe-test-project'), getSysTempDir() . '/silverstripe-cacheC--inetpub-wwwroot-silverstripe-test-project');
|
||||
$this->assertEquals(getTempFolder('C:\\inetpub\\wwwroot\\silverstripe-test-project'), sys_get_temp_dir() . '/silverstripe-cacheC--inetpub-wwwroot-silverstripe-test-project');
|
||||
|
||||
// A typical Mac OS X location for where sites are stored
|
||||
$this->assertEquals(getTempFolder('/Users/joebloggs/Sites/silverstripe-test-project'), getSysTempDir() . '/silverstripe-cache-Users-joebloggs-Sites-silverstripe-test-project');
|
||||
$this->assertEquals(getTempFolder('/Users/joebloggs/Sites/silverstripe-test-project'), sys_get_temp_dir() . '/silverstripe-cache-Users-joebloggs-Sites-silverstripe-test-project');
|
||||
|
||||
// A typical Linux location for where sites are stored
|
||||
$this->assertEquals(getTempFolder('/var/www/silverstripe-test-project'), getSysTempDir() . '/silverstripe-cache-var-www-silverstripe-test-project');
|
||||
$this->assertEquals(getTempFolder('/var/www/silverstripe-test-project'), sys_get_temp_dir() . '/silverstripe-cache-var-www-silverstripe-test-project');
|
||||
}
|
||||
}
|
||||
|
||||
public function tearDown() {
|
||||
parent::tearDown();
|
||||
if(file_exists(getSysTempDir() . '/silverstripe-cacheC--inetpub-wwwroot-silverstripe-test-project')) {
|
||||
rmdir(getSysTempDir() . '/silverstripe-cacheC--inetpub-wwwroot-silverstripe-test-project');
|
||||
if(file_exists(sys_get_temp_dir() . '/silverstripe-cacheC--inetpub-wwwroot-silverstripe-test-project')) {
|
||||
rmdir(sys_get_temp_dir() . '/silverstripe-cacheC--inetpub-wwwroot-silverstripe-test-project');
|
||||
}
|
||||
if(file_exists(getSysTempDir() . '/silverstripe-cache-Users-joebloggs-Sites-silverstripe-test-project')) {
|
||||
rmdir(getSysTempDir() . '/silverstripe-cache-Users-joebloggs-Sites-silverstripe-test-project');
|
||||
if(file_exists(sys_get_temp_dir() . '/silverstripe-cache-Users-joebloggs-Sites-silverstripe-test-project')) {
|
||||
rmdir(sys_get_temp_dir() . '/silverstripe-cache-Users-joebloggs-Sites-silverstripe-test-project');
|
||||
}
|
||||
if(file_exists(getSysTempDir() . '/silverstripe-cache-var-www-silverstripe-test-project')) {
|
||||
rmdir(getSysTempDir() . '/silverstripe-cache-var-www-silverstripe-test-project');
|
||||
if(file_exists(sys_get_temp_dir() . '/silverstripe-cache-var-www-silverstripe-test-project')) {
|
||||
rmdir(sys_get_temp_dir() . '/silverstripe-cache-var-www-silverstripe-test-project');
|
||||
}
|
||||
}
|
||||
|
||||
|
19
thirdparty/tinymce/tiny_mce_gzip.php
vendored
19
thirdparty/tinymce/tiny_mce_gzip.php
vendored
@ -9,29 +9,12 @@
|
||||
* Contributing: http://tinymce.moxiecode.com/contributing
|
||||
*/
|
||||
|
||||
// CUSTOM SilverStripe: Copied from Core.php
|
||||
if(!function_exists('getSysTempDir')) {
|
||||
function getSysTempDir() {
|
||||
if(function_exists('sys_get_temp_dir')) {
|
||||
$sysTmp = sys_get_temp_dir();
|
||||
} elseif(isset($_ENV['TMP'])) {
|
||||
$sysTmp = $_ENV['TMP'];
|
||||
} else {
|
||||
$tmpFile = tempnam('adfadsfdas','');
|
||||
unlink($tmpFile);
|
||||
$sysTmp = dirname($tmpFile);
|
||||
}
|
||||
return $sysTmp;
|
||||
}
|
||||
}
|
||||
// CUSTOM END
|
||||
|
||||
// Handle incoming request if it's a script call
|
||||
if (TinyMCE_Compressor::getParam("js")) {
|
||||
// Default settings
|
||||
$tinyMCECompressor = new TinyMCE_Compressor(array(
|
||||
// CUSTOM SilverStripe
|
||||
'cache_dir' => getSysTempDir()
|
||||
'cache_dir' => sys_get_temp_dir()
|
||||
// CUSTOM END
|
||||
));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user