assign( 'next_step',$step );
/**
* simple_set_value
*/
function simple_set_value( $package, $feature ) {
global $_REQUEST, $gBitSystem, $gBitSmarty;
if( isset( $_REQUEST[$feature] ) ) {
$gBitSystem->storeConfig( $feature, $_REQUEST[$feature], $package );
$gBitSmarty->assign( $feature, $_REQUEST[$feature] );
}
}
// pass all package data to template
$gBitSmarty->assign( 'schema', $gBitInstaller->mPackages );
// settings that aren't just toggles
$formInstallValues = [
'bit_index' => 'kernel',
'kernel_server_name' => 'kernel',
'site_title' => 'kernel',
'site_slogan' => 'kernel',
'bitlanguage' => 'languages',
];
$processors = [];
if( extension_loaded( 'gd' ) ) {
$processors['gd'] = 'GD Library [php-gd]';
}
if( extension_loaded( 'imagick' ) ) {
$processors['imagick'] = 'Image Magick [php-imagick] - recommended';
}
if( count( $processors ) > 0 ) {
$gBitSmarty->assign( 'processors', $processors );
$formInstallValues['image_processor'] = 'liberty';
}
// list of available site styles
$subDirs = [ 'style_info', 'alternate' ];
$stylesList = $gBitThemes->getStylesList( '', TRUE, $subDirs );
$gBitSmarty->assign( "stylesList", $stylesList );
// get list of available languages
$languages = [];
$languages = $gBitLanguage->listLanguages();
$gBitSmarty->assign("languages",$languages );
// process form
if( isset( $_REQUEST['bit_settings'] ) ) {
foreach( $formInstallValues as $item => $package) {
simple_set_value( $package, $item );
}
if( empty( $_REQUEST['bitlanguage'] ) ) {
$_REQUEST['bitlanguage'] = 'en';
}
if( !empty( $_REQUEST["site_style"] ) ) {
$gBitSystem->storeConfig( 'style', $_REQUEST["site_style"], THEMES_PKG_NAME );
};
if( !array_key_exists( $_REQUEST['bitlanguage'], $languages ) ) {
$languages[$_REQUEST['bitlanguage']] = '';
}
$gBitLanguage->setLanguage( $_REQUEST['bitlanguage'] );
$gBitSmarty->assign( "siteLanguage",$languages[$_REQUEST['bitlanguage']] );
// advance a step in the installer
$app = '_done';
$gBitSmarty->assign( 'next_step',$step + 1 );
} elseif( isset( $_REQUEST['skip'] ) ) {
$goto = $step + 1;
header( "Location: ".INSTALL_PKG_URL."install.php?step=$goto" );
}
// get list of foreign packages that are ready to be installed
// @TODO this isn't working yet, since the info stuff isn't read from schema_inc.php on this page
$foreign_packages = [];
foreach( $gBitSystem->mPackages as $package ) {
if( isset( $package['info']['install'] ) ) {
$foreign_packages[] = $package;
}
}
$gBitSmarty->assign( "foreign_packages", $foreign_packages );