|
// +---------------------------------------------------------------------------+
// $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');
    }
}
?>