X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=install%2Findex.php;h=fc27f03038097a200e43db1cb57bf2ddf46d6ae2;hb=44abddfd180ec27cbd889f4c8c8f8271f6d6d19d;hp=a02fb38e762667ac0fac2f23b35c11867be4c6d7;hpb=c09be0dad6b05131e240349a375af7a4b7bf3444;p=fa-stable.git diff --git a/install/index.php b/install/index.php index a02fb38e..fc27f030 100644 --- a/install/index.php +++ b/install/index.php @@ -1,306 +1,408 @@ . +***********************************************************************/ +$page_security = 'SA_OPEN'; +$path_to_root=".."; + +if (file_exists($path_to_root.'/config_db.php')) + header("Location: $path_to_root/index.php"); + +include($path_to_root . "/install/isession.inc"); + +page(_("FrontAccouting ERP Installation Wizard"), true, false, "", '', false, 'stylesheet.css'); + +include($path_to_root . "/includes/ui.inc"); +include($path_to_root . "/includes/system_tests.inc"); +include($path_to_root . "/admin/db/maintenance_db.inc"); +include($path_to_root . "/includes/packages.inc"); +if (file_exists($path_to_root . "/installed_extensions.php")) + include($path_to_root . "/installed_extensions.php"); +//------------------------------------------------------------------------------------------------- + +function subpage_title($txt) { - session_name('ba_session_id'); - session_start(); - define('SESSION_STARTED', true); + global $path_to_root; + + echo '
Logo +
'; + + $page = @$_POST['Page'] ? $_POST['Page'] : 1; + + display_heading( + $page == 6 ? $txt : + _("FrontAccouting ERP Installation Wizard").'
' + . sprintf(_('Step %d: %s'), $page , $txt)); + br(); } -// Check if the page has been reloaded -if(!isset($_GET['sessions_checked']) || $_GET['sessions_checked'] != 'true') +function display_coas() { - // Set session variable - $_SESSION['session_support'] = 'Enabled'; - // Reload page - header('Location: index.php?sessions_checked=true'); - exit(0); + start_table(TABLESTYLE); + $th = array(_("Chart of accounts"), _("Encoding"), _("Description"), _("Install")); + table_header($th); + + $k = 0; + $charts = get_charts_list(); + + foreach($charts as $pkg_name => $coa) + { + $available = @$coa['available']; + $installed = @$coa['version']; + $id = @$coa['local_id']; + + alt_table_row_color($k); + label_cell($coa['name']); + label_cell($coa['encoding']); + label_cell(is_array($coa['Descr']) ? implode('
', $coa['Descr']) : $coa['Descr']); + label_cell($installed ? + _("Installed") : checkbox(null, 'coas['.$coa['package'].']'), "align='center'"); + + end_row(); + } + end_table(1); } -else + +function display_langs() { - // Check if session variable has been saved after reload - if(isset($_SESSION['session_support'])) + start_table(TABLESTYLE); + $th = array(_("Language"), _("Encoding"), _("Description"), _("Install")); + table_header($th); + + $k = 0; + $langs = get_languages_list(); + + foreach($langs as $pkg_name => $lang) { - $session_support = $_SESSION['session_support']; + $available = @$lang['available']; + $installed = @$lang['version']; + $id = @$lang['local_id']; + if (!$available) continue; + + alt_table_row_color($k); + label_cell($lang['name']); + label_cell($lang['encoding']); + label_cell(is_array($lang['Descr']) ? implode('
', $lang['Descr']) : $lang['Descr']); + label_cell($installed ? + _("Installed") : checkbox(null, 'langs['.$lang['package'].']'), "align='center'"); + end_row(); } - else - { - $session_support = 'Disabled'; + end_table(1); +} + +function instlang_list_row($label, $name, $value=null) { + + global $inst_langs; + + $langs = array(); + foreach ($inst_langs as $n => $lang) + $langs[$n] = $lang['name']; + + echo "$label\n" . "\n" + .array_selector($name, $value, $langs, + array( + 'select_submit' => true, + 'async' => true + )) . "\n"; +} + +function install_connect_db() { + + global $db; + + $conn = $_SESSION['inst_set']; + + $db = db_create_db($conn); + if (!$db) { + display_error(_("Cannot connect to database. User or password is invalid or you have no permittions to create database.")); } + return $db; } -$path_to_root = ".."; -//include_once($path_to_root.'/config.php'); -$comp_path = $path_to_root."/company"; -?> - - - -FrontAccounting Installation Wizard - - - - - - - - - -
- FrontAccounting - Installation Wizard -
- -
- - - - - - - - - -
-

Welcome to the FrontAccounting Installation Wizard.

-
- Logo -
- - -
Error:
$_POST['coa'], + 'pass' => $_POST['pass'], + 'name' => $_POST['name'], + 'admin' => $_POST['admin'], + )); + if (do_install()) { + $_POST['Page'] = 6; } - ?> - - - - - Enabled') { ?> - - - - - - - - - - - - -

Step 1

Please check the following requirements are met before continuing...
Please note: PHP Session Support may appear disabled if your browser does not support cookies.
PHP Version > 4.1.0 - 4.1) { - ?>YesNo - PHP Session SupportPHP Safe Mode - EnabledDisabled -
- - - - - - - - - - - - - - - - -

Step 2

Please check the following files/folders are writeable before continuing...
config_db.phpWriteable'; } elseif(!file_exists($path_to_root.'/config_db.php')) { echo 'File Not Found'; } else { echo 'Unwriteable'; } ?>modules/Writeable'; } elseif(!file_exists($path_to_root.'/lang/')) { echo 'Directory Not Found'; } else { echo 'Unwriteable'; } ?>
lang/Writeable'; } elseif(!file_exists($path_to_root.'/lang/')) { echo 'Directory Not Found'; } else { echo 'Unwriteable'; } ?>Writeable'; } elseif(!file_exists($comp_path)) { - echo 'Directory Not Found'; } else { echo 'Unwriteable'; } ?>
- - - - - - - - -

Step 3

Please check your path settings...
- Absolute URL: - - - -
- - - - - - - - - -

Step 4

Please specify your operating system information below...
- Server Operating System: - - /> - Linux/Unix based -
- /> - Windows -
-
- /> - -
- (Please note: this is only recommended for testing environments) -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please enter your MySQL database server details below...
Host Name: - -  Username: - -
Database Name: - -  Password: - /> -
Table Prefix: - -   - /> - -
      - (Please note: May remove existing tables and data)

Step 5

Please enter the training company name below (you can create your own company later)...
Company Name: - -

Step 6

Please enter your Administrator account details below...
Username: - admin - -  Password: - /> -
Email: - /> -  Re-Password: - /> -

 

- - - - - -
Please note:   - FrontAccounting is released under the - GNU General Public License -
- By clicking install, you are accepting the license. -
-
- -
- -
- -
- - - - - -
- - FrontAccounting - is released under the - GNU General Public License - -
- - - \ No newline at end of file + } +} + +if (list_updated('inst_lang')) { + $_SESSION['inst_set']['inst_lang'] = get_post('inst_lang'); + $Ajax->setEncoding($inst_langs[get_post('inst_lang')]['encoding']); + $Ajax->activate('welcome'); +} + +start_form(); + switch(@$_POST['Page']) { + default: +// include ('../install.html'); +// submit_center('continue', _('Continue >>')); +// break; + case '1': + div_start('welcome'); + subpage_title(_('System Diagnostics')); + start_table(); + instlang_list_row(_("Select install wizard language:"), 'inst_lang', + $_SESSION['inst_set']['inst_lang']); + end_table(1); + $_POST['Tests'] = display_system_tests(true); + br(); + if (@$_POST['Tests']) { + display_notification(_('All application preliminary requirements seems to be correct. Please press Continue button below.')); + submit_center('continue', _('Continue >>')); + } else { + display_error(_('Application cannot be installed. Please fix problems listed below in red, and press Refresh button.')); + submit_center('refresh', _('Refresh')); + } + div_end(); + break; + + case '2': + if (!isset($_POST['host'])) { + foreach($_SESSION['inst_set'] as $name => $val) + $_POST[$name] = $val; + } + subpage_title(_('Database Server Settings')); + start_table(TABLESTYLE); + text_row_ex(_("Server Host:"), 'host', 30, 60); + text_row_ex(_("Database User:"), 'dbuser', 30); + text_row_ex(_("Database Password:"), 'dbpassword', 30); + text_row_ex(_("Database Name:"), 'dbname', 30); + yesno_list_row(_("Use '0_' Table Prefix:"), 'tbpref', 1, _('Yes'), _('No'), false); + check_row(_("Install Additional Language Packs from FA Repository:"), 'sel_langs'); + check_row(_("Install Additional COAs from FA Repository:"), 'sel_coas'); + end_table(1); + display_note(_('Use table prefix if you share selected database for more than one FA company.')); + display_note(_("Do not select additional langs nor COAs if you have no working internet connection right now. You can install them later.")); + submit_center_first('back', _('<< Back')); + submit_center_last('db_test', _('Continue >>')); + break; + + case '3': // select langauges + subpage_title(_('User Interface Languages Selection')); + display_langs(); + submit_center_first('back', _('<< Back')); + submit_center_last('install_langs', _('Continue >>')); + break; + + case '4': // select COA + subpage_title(_('Charts of Accounts Selection')); + display_coas(); + submit_center_first('back', _('<< Back')); + submit_center_last('install_coas', _('Continue >>')); + break; + + case '5': + if (!isset($_POST['name'])) { + foreach($_SESSION['inst_set'] as $name => $val) + $_POST[$name] = $val; + set_focus('name'); + } + if (!isset($installed_extensions)) { + $installed_extensions = array(); + update_extensions($installed_extensions); + } + + subpage_title(_('Company Settings')); + start_table(TABLESTYLE); + text_row_ex(_("Company Name:"), 'name', 30); + text_row_ex(_("Admin Login:"), 'admin', 30); + password_row(_("Admin Password:"), 'pass', @$_POST['pass']); + password_row(_("Reenter Password:"), 'repass', @$_POST['repass']); + coa_list_row(_("Select Chart of Accounts:"), 'coa'); + languages_list_row(_("Select Default Language:"), 'lang'); + end_table(1); + submit_center_first('back', _('<< Back')); + submit_center_last('set_admin', _('Continue >>')); + break; + + case '6': // final screen + subpage_title(_('FrontAccounting ERP has been installed successsfully.')); + display_note(_('Please do not forget to remove install wizard folder.')); + session_unset(); + session_destroy(); + hyperlink_no_params($path_to_root.'/index.php', _('Click here to start.')); + break; + + } + + hidden('Tests'); + hidden('Page'); +end_form(1); + +end_page(false, false, true); + +?>