|
1 ; Now we're going to put the kickstart code into a separate file and try to keep it |
|
2 ; as clean and human-readable as possible. |
|
3 |
|
4 !macro kickstart_var Var Value |
|
5 ${str_replace} $1 "$$" "\$$" "${Value}" |
|
6 FileWrite $0 "$$${Var} = <<<EOF$\r$\n$1$\r$\nEOF;$\r$\n$\r$\n" |
|
7 !macroend |
|
8 !macro kickstart_int Var Value |
|
9 FileWrite $0 "$$${Var} = ${Value};$\r$\n" |
|
10 !macroend |
|
11 !define "kickstart_var" "!insertmacro kickstart_var" |
|
12 !define "kickstart_int" "!insertmacro kickstart_int" |
|
13 |
|
14 Function enano_write_kickstart_script |
|
15 CreateDirectory "$INSTDIR\apps\enanocms\scripts" |
|
16 ClearErrors |
|
17 FileOpen $0 "$INSTDIR\apps\enanocms\scripts\kickstart.php" "w" |
|
18 IfErrors 0 +4 |
|
19 Push "open the kickstart file" |
|
20 Call ks_error |
|
21 Return |
|
22 |
|
23 FileWrite $0 "<?php$\r$\n// Automatically generated kickstart script.$\r$\n$\r$\n" |
|
24 |
|
25 ${kickstart_int} "silent" "true" |
|
26 ${kickstart_var} "lang_id" "eng" |
|
27 ${kickstart_var} "scriptpath" "/${PRODUCT_SHORTNAME}" |
|
28 |
|
29 ${kickstart_var} "driver" "$db_driver" |
|
30 ${kickstart_var} "dbhost" "localhost" |
|
31 ${kickstart_int} "dbport" "$db_port" |
|
32 ${kickstart_var} "dbuser" "$db_user" |
|
33 ${kickstart_var} "dbpasswd" "$db_password" |
|
34 ${kickstart_var} "dbname" "$db_name" |
|
35 ${kickstart_var} "db_prefix" "enano_" |
|
36 ${kickstart_var} "user" "$enano_user" |
|
37 ${kickstart_var} "pass" "$enano_password" |
|
38 ${kickstart_var} "email" "$admin_email" |
|
39 ${kickstart_var} "sitename" "$site_name" |
|
40 ${kickstart_var} "sitedesc" "$site_desc" |
|
41 ${kickstart_var} "copyright" "$site_copyright" |
|
42 ${kickstart_var} "urlscheme" "$url_scheme" |
|
43 ${kickstart_var} "start_with" "$start_with" |
|
44 |
|
45 FileWrite $0 "$\r$\nrequire(dirname(__FILE__) . '/../htdocs/install/includes/cli-core.php');" |
|
46 FileClose $0 |
|
47 |
|
48 FunctionEnd |
|
49 |
|
50 Function enano_run_kickstart_script |
|
51 ; Debug :) |
|
52 ; ExecWait '"$SYSDIR\notepad.exe" "$INSTDIR\apps\enanocms\scripts\kickstart.php"' |
|
53 DetailPrint "Installing $(^Name) database" |
|
54 nsExec::ExecToLog '"$INSTDIR\php\php.exe" "$INSTDIR\apps\enanocms\scripts\kickstart.php"' |
|
55 FunctionEnd |
|
56 |
|
57 Function ks_error |
|
58 Pop $0 |
|
59 MessageBox MB_OK|MB_ICONEXCLAMATION "Setup failed to $0. You will need to install $(^Name) manually. To do this, navigate to:$\r$\n$\r$\n http://localhost/apps/${PRODUCT_SHORTNAME}/$\r$\n$\r$\nYou will be presented with a screen that will allow you to continue the $(^Name) installation.$\r$\n$\r$\nYour database information is:$\r$\n$\r$\n Server type: $db_dbmsname$\r$\n Hostname: localhost$\r$\n Port: $db_port$\r$\n Database name: $db_name$\r$\n Database user: $db_user$\r$\n Database password: $db_password" |
|
60 Abort "Could not $0!" |
|
61 FunctionEnd |