|
// +---------------------------------------------------------------------------+
// $Id$
function environmentOk()
{
if (SGL_Install_Common::errorsExist()) {
return false;
} else {
// cleanup data for storage
$oTask = $GLOBALS['_SGL']['runner'];
$aSummary = array();
foreach ($oTask->aTasks as $oTask) {
$aSummary[$oTask->key] = $oTask->aData;
}
$serialized = serialize($aSummary);
@file_put_contents(SGL_VAR_DIR . '/env.php', $serialized);
return true;
}
}
/**
* @package Install
*/
class WizardDetectEnv extends HTML_QuickForm_Page
{
function buildForm()
{
$this->_formBuilt = true;
$this->setDefaults(array(
'detectEnv' => 1,
));
$this->setDefaults(SGL_Install_Common::overrideDefaultInstallSettings());
$this->addElement('header', null, 'Detect Environment: page 3 of 6');
$runner = new SGL_TaskRunner();
$runner->addTask(new SGL_Task_GetLoadedModules());
$runner->addTask(new SGL_Task_GetPhpEnv());
$runner->addTask(new SGL_Task_GetPhpIniValues());
$runner->addTask(new SGL_Task_GetFilesystemInfo());
if (!SGL::isMinimalInstall()) {
$runner->addTask(new SGL_Task_GetPearInfo());
}
$html = $runner->main();
// store global copy for error callback
$GLOBALS['_SGL']['runner'] = $runner;
$this->addElement('checkbox', 'detectEnv', 'Detect Env?', 'Yes');
$this->addElement('static', 'colourKey', 'Legend', 'Errors are displayed in '.
'red, recommendations in '.
'yellow and success in '.
'green');
$this->registerRule('environmentOk','function','environmentOk');
$this->addRule('detectEnv', 'please fix the listed errors', 'environmentOk');
$this->addElement('static', 'env', null, $html);
// submit
$prevnext[] =& $this->createElement('submit', $this->getButtonName('back'), '<< Back');
$prevnext[] =& $this->createElement('submit', $this->getButtonName('next'), 'Next >>');
$this->addGroup($prevnext, null, '', ' ', false);
$this->setDefaultAction('next');
}
}
?>