True, 'noheader' => True, 'nonavbar' => True, 'currentapp' => 'home', 'noapi' => True ); include('./inc/functions.inc.php'); $GLOBALS['phpgw_info']['server']['versions']['current_header'] = $setup_info['phpgwapi']['versions']['current_header']; $GLOBALS['phpgw_info']['server']['versions']['phpgwapi'] = $setup_info['phpgwapi']['version']; unset($setup_info); #include('../version.inc.php'); $adddomain = get_var('adddomain',Array('POST')); if(@$adddomain) { } function check_form_values() { $errors = ''; $domains = get_var('domains',Array('POST')); @reset($domains); while(list($k,$v) = @each($domains)) { $deletedomain = get_var('deletedomain',Array('POST')); if(isset($deletedomain[$k])) { continue; } $dom = get_var('setting_'.$k,Array('POST')); if(!$dom['config_pass']) { $errors .= '
' . lang("You didn't enter a config password for domain %1",$v); } } $setting = get_var('setting',Array('POST')); if(!$setting['HEADER_ADMIN_PASSWORD']) { $errors .= '
' . lang("You didn't enter a header admin password"); } if($errors) { $GLOBALS['phpgw_setup']->html->show_header('Error',True); echo $errors; echo '

'; exit; } } /* authentication phase */ $GLOBALS['phpgw_info']['setup']['stage']['header'] = $GLOBALS['phpgw_setup']->detection->check_header(); // added these to let the app work, need to templatize still $tpl_root = $GLOBALS['phpgw_setup']->html->setup_tpl_dir('setup'); $setup_tpl = CreateObject('setup.Template',$tpl_root); $setup_tpl->set_file(array( 'T_head' => 'head.tpl', 'T_footer' => 'footer.tpl', 'T_alert_msg' => 'msg_alert_msg.tpl', 'T_login_main' => 'login_main.tpl', 'T_login_stage_header' => 'login_stage_header.tpl', 'T_setup_manage' => 'manageheader.tpl' )); $setup_tpl->set_block('T_login_stage_header','B_multi_domain','V_multi_domain'); $setup_tpl->set_block('T_login_stage_header','B_single_domain','V_single_domain'); $setup_tpl->set_block('T_setup_manage','manageheader','manageheader'); $setup_tpl->set_block('T_setup_manage','domain','domain'); /* Detect current mode */ switch($GLOBALS['phpgw_info']['setup']['stage']['header']) { case '1': $GLOBALS['phpgw_info']['setup']['HeaderFormMSG'] = lang('Create your header.inc.php'); $GLOBALS['phpgw_info']['setup']['PageMSG'] = lang('You have not created your header.inc.php yet!
You can create it now.'); break; case '2': $GLOBALS['phpgw_info']['setup']['HeaderFormMSG'] = lang('Your header admin password is NOT set. Please set it now!'); $GLOBALS['phpgw_info']['setup']['PageMSG'] = lang('Your header admin password is NOT set. Please set it now!'); break; case '3': $GLOBALS['phpgw_info']['setup']['HeaderFormMSG'] = lang('Your header.inc.php needs upgrading.'); $GLOBALS['phpgw_info']['setup']['PageMSG'] = lang('Your header.inc.php needs upgrading.
WARNING!
MAKE BACKUPS!'); $GLOBALS['phpgw_info']['setup']['HeaderLoginMSG'] = lang('Your header.inc.php needs upgrading.'); if (!$GLOBALS['phpgw_setup']->auth('Header')) { $GLOBALS['phpgw_setup']->html->show_header('Please login',True); $GLOBALS['phpgw_setup']->html->login_form(); $GLOBALS['phpgw_setup']->html->show_footer(); exit; } break; case '10': if (!$GLOBALS['phpgw_setup']->auth('Header')) { $GLOBALS['phpgw_setup']->html->show_header('Please login',True); $GLOBALS['phpgw_setup']->html->login_form(); $GLOBALS['phpgw_setup']->html->show_footer(); exit; } $GLOBALS['phpgw_info']['setup']['HeaderFormMSG'] = lang('Edit your header.inc.php'); $GLOBALS['phpgw_info']['setup']['PageMSG'] = lang('Edit your existing header.inc.php'); break; } $action = @get_var('action',Array('POST')); list($action) = @each($action); switch($action) { case 'download': check_form_values(); $header_template = CreateObject('setup.Template','../'); $b = CreateObject('phpgwapi.browser'); $b->content_header('header.inc.php','application/octet-stream'); /* header('Content-disposition: attachment; filename="header.inc.php"'); header('Content-type: application/octet-stream'); header('Pragma: no-cache'); header('Expires: 0'); */ $newheader = $GLOBALS['phpgw_setup']->html->generate_header(); echo $newheader; break; case 'view': check_form_values(); $header_template = CreateObject('setup.Template','../'); $GLOBALS['phpgw_setup']->html->show_header('Generated header.inc.php', False, 'header'); echo '
'; echo '
' . lang('Save this text as contents of your header.inc.php') . '

'; $newheader = $GLOBALS['phpgw_setup']->html->generate_header(); echo '
';
			echo htmlentities($newheader);
			echo '

'; echo '
'; echo '
' . lang('After retrieving the file, put it into place as the header.inc.php. Then, click "continue".') . '
'; echo ''; echo ''; echo '
'; echo '
'; $GLOBALS['phpgw_setup']->html->show_footer(); break; case 'write': check_form_values(); $header_template = CreateObject('setup.Template','../'); if(is_writeable('../header.inc.php') || (!file_exists('../header.inc.php') && is_writeable('../'))) { $newheader = $GLOBALS['phpgw_setup']->html->generate_header(); $fsetup = fopen('../header.inc.php','wb'); fwrite($fsetup,$newheader); fclose($fsetup); $GLOBALS['phpgw_setup']->html->show_header('Saved header.inc.php', False, 'header'); echo '
'; echo '
Created header.inc.php! '; echo ''; echo ''; echo '
'; echo ''; break; } else { $GLOBALS['phpgw_setup']->html->show_header('Error generating header.inc.php', False, 'header'); echo lang('Could not open header.inc.php for writing!') . '
' . "\n"; echo lang('Please check read/write permissions on directories, or back up and use another option.') . '
'; echo ''; } break; default: $GLOBALS['phpgw_setup']->html->show_header($GLOBALS['phpgw_info']['setup']['HeaderFormMSG'], False, 'header'); $detected = ''; if (!get_var('ConfigLang',array('POST','COOKIE'))) { $detected .= '
Please Select your language '.lang_select(True,'en')."
\n"; } $detected .= '' . "\n"; $detected .= ''; $manual = ''.lang('phpGroupWare Administration Manual').''; $detected .= ''. "\n"; $detected .= '

' . $GLOBALS['phpgw_info']['setup']['PageMSG'] . '
 

'.lang('Please consult the %1.',$manual).'
 

' . lang('Analysis') . '
'. "\n"; $supported_db = array(); if (extension_loaded('mysql') || function_exists('mysql_connect')) { $detected .= lang('You appear to have MySQL support enabled') . '
' . "\n"; $supported_db[] = 'mysql'; } else { $detected .= lang('No MySQL support found. Disabling') . '
' . "\n"; } if (extension_loaded('pgsql') || function_exists('pg_connect')) { $detected .= lang('You appear to have Postgres-DB support enabled') . '
' . "\n"; $supported_db[] = 'pgsql'; } else { $detected .= lang('No Postgres-DB support found. Disabling') . '
' . "\n"; } if (extension_loaded('mssql') || function_exists('mssql_connect')) { $detected .= lang('You appear to have Microsoft SQL Server support enabled') . '
' . "\n"; $supported_db[] = 'mssql'; } else { $detected .= lang('No Microsoft SQL Server support found. Disabling') . '
' . "\n"; } if (extension_loaded('oci8')) { $detected .= lang('You appear to have Oracle V8 (OCI) support enabled') . '
' . "\n"; $supported_db[] = 'oracle'; } else { if(extension_loaded('oracle')) { $detected .= lang('You appear to have Oracle support enabled') . '
' . "\n"; $supported_db[] = 'oracle'; } else { $detected .= lang('No Oracle-DB support found. Disabling') . '
' . "\n"; } } if(!count($supported_db)) { $detected .= '

' . lang('Did not find any valid DB support!') . "
\n" . lang('Try to configure your php to support one of the above mentioned DBMS, or install phpGroupWare by hand.') . '

'; echo $detected; exit; } if (!function_exists('version_compare')) { $detected .= '

' . lang('You appear to be using PHP earlier than 4.1.0. phpGroupWare now requires 4.1.0 or later'). "\n" . '

'; echo $detected; exit; } else { $detected .= lang('You appear to be using PHP4. Enabling PHP4 sessions support') . '
' . "\n"; $supported_sessions_type[] = 'db'; $supported_sessions_type[] = 'php4'; } /* if (extension_loaded('xml') || function_exists('xml_parser_create')) { $detected .= lang('You appear to have XML support enabled') . '
' . "\n"; $xml_enabled = 'True'; } else { $detected .= lang('No XML support found. Disabling') . '
' . "\n"; } */ $no_guess = False; if(file_exists('../header.inc.php') && is_file('../header.inc.php') && is_readable('../header.inc.php')) { $detected .= lang('Found existing configuration file. Loading settings from the file...') . '
' . "\n"; $GLOBALS['phpgw_info']['flags']['noapi'] = True; $no_guess = true; /* This code makes sure the newer multi-domain supporting header.inc.php is being used */ if(!isset($GLOBALS['phpgw_domain'])) { $detected .= lang("You're using an old configuration file format...") . '
' . "\n"; $detected .= lang('Importing old settings into the new format....') . '
' . "\n"; } else { if(@$GLOBALS['phpgw_info']['server']['header_version'] != @$GLOBALS['phpgw_info']['server']['current_header_version']) { $detected .= lang("You're using an old header.inc.php version...") . '
' . "\n"; $detected .= lang('Importing old settings into the new format....') . '
' . "\n"; } reset($GLOBALS['phpgw_domain']); $default_domain = each($GLOBALS['phpgw_domain']); $GLOBALS['phpgw_info']['server']['default_domain'] = $default_domain[0]; unset($default_domain); // we kill this for security reasons $GLOBALS['phpgw_info']['server']['config_passwd'] = $GLOBALS['phpgw_domain'][$GLOBALS['phpgw_info']['server']['default_domain']]['config_passwd']; if(@$adddomain) { $GLOBALS['phpgw_domain'][lang('new')] = array(); } reset($GLOBALS['phpgw_domain']); while(list($key,$val) = each($GLOBALS['phpgw_domain'])) { $setup_tpl->set_var('lang_domain',lang('Domain')); $setup_tpl->set_var('lang_delete',lang('Delete')); $setup_tpl->set_var('db_domain',$key); $setup_tpl->set_var('db_host',$GLOBALS['phpgw_domain'][$key]['db_host']); $setup_tpl->set_var('db_name',$GLOBALS['phpgw_domain'][$key]['db_name']); $setup_tpl->set_var('db_user',$GLOBALS['phpgw_domain'][$key]['db_user']); $setup_tpl->set_var('db_pass',$GLOBALS['phpgw_domain'][$key]['db_pass']); $setup_tpl->set_var('db_type',$GLOBALS['phpgw_domain'][$key]['db_type']); $setup_tpl->set_var('config_pass',$GLOBALS['phpgw_domain'][$key]['config_passwd']); $selected = ''; $dbtype_options = ''; $found_dbtype = False; @reset($supported_db); while(list($k,$v) = @each($supported_db)) { if($v == $GLOBALS['phpgw_domain'][$key]['db_type']) { $selected = ' selected '; $found_dbtype = true; } else { $selected = ''; } $dbtype_options .= '