pages/StackSelect.nsi
author Dan Fuhry <dan@enanocms.org>
Sat, 21 Aug 2010 18:19:58 -0400
changeset 10 014d58335b6d
parent 5 85800cb04cc5
permissions -rwxr-xr-x
Changed behavior of the entire database selection process. A real "upgrade"/"don't touch the database" option was added, and the old options unconditionally delete the database.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     1
Page custom StackSelectCreate StackSelectLeave " - Select stack"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     3
Function StackSelectCreate
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     4
  ; Only show this page if both WAMPStack and WAPPStack are installed.
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     5
  StrCmp $wampstack_installed 0 "" +3
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     6
    Call StackSelectLeave
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     7
    Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     8
  StrCmp $wappstack_installed 0 "" +3
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
     9
    Call StackSelectLeave
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    10
    Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    11
  StrCmp $XPUI_ABORTED 1 "" +2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    12
    Abort
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    13
    
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    14
  !insertmacro XPUI_INSTALLOPTIONS_EXTRACT_AS "pages\StackSelect.ini" "StackSelect.ini"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    15
  !insertmacro XPUI_HEADER_TEXT "Select server stack" "Choose which BitNami stack installation you want to use to run $(^Name)."
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    16
  !insertmacro XPUI_INSTALLOPTIONS_DISPLAY "StackSelect.ini"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    17
FunctionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    18
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    19
Function StackSelectLeave
5
85800cb04cc5 Moved around some ExperienceUI directives; fixed missing $XPUI_ABORTED check in StackSelectLeave
Dan
parents: 3
diff changeset
    20
  StrCmp $XPUI_ABORTED 1 0 +2
85800cb04cc5 Moved around some ExperienceUI directives; fixed missing $XPUI_ABORTED check in StackSelectLeave
Dan
parents: 3
diff changeset
    21
    Return
85800cb04cc5 Moved around some ExperienceUI directives; fixed missing $XPUI_ABORTED check in StackSelectLeave
Dan
parents: 3
diff changeset
    22
  
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    23
  ; Here is where we make the final decision on which stack will be used.
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    24
  IfFileExists "$PLUGINSDIR\StackSelect.ini" "" OnlyOneStackInstalled
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    25
  
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    26
    !macro ConfigCheck
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    27
      IfFileExists "$stack_instdir\apps\${PRODUCT_SHORTNAME}\htdocs\config.php" 0 +3
10
014d58335b6d Changed behavior of the entire database selection process. A real "upgrade"/"don't touch the database" option was added, and the old options unconditionally delete the database.
Dan Fuhry <dan@enanocms.org>
parents: 5
diff changeset
    28
        MessageBox MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON2 \
014d58335b6d Changed behavior of the entire database selection process. A real "upgrade"/"don't touch the database" option was added, and the old options unconditionally delete the database.
Dan Fuhry <dan@enanocms.org>
parents: 5
diff changeset
    29
            "Setup has found that $(^Name) is already installed on this stack. If you continue and you do not want to delete your existing site, \
014d58335b6d Changed behavior of the entire database selection process. A real "upgrade"/"don't touch the database" option was added, and the old options unconditionally delete the database.
Dan Fuhry <dan@enanocms.org>
parents: 5
diff changeset
    30
             you must select $\"Upgrade or configure database manually$\" on the next page. Otherwise, the existing installation's configuration \
014d58335b6d Changed behavior of the entire database selection process. A real "upgrade"/"don't touch the database" option was added, and the old options unconditionally delete the database.
Dan Fuhry <dan@enanocms.org>
parents: 5
diff changeset
    31
             file and database will be deleted and your existing website will be replaced with a fresh one.$\n\
014d58335b6d Changed behavior of the entire database selection process. A real "upgrade"/"don't touch the database" option was added, and the old options unconditionally delete the database.
Dan Fuhry <dan@enanocms.org>
parents: 5
diff changeset
    32
             $\n\
014d58335b6d Changed behavior of the entire database selection process. A real "upgrade"/"don't touch the database" option was added, and the old options unconditionally delete the database.
Dan Fuhry <dan@enanocms.org>
parents: 5
diff changeset
    33
             If you are upgrading $(^Name), you can safely click Yes below, and select $\"Upgrade or configure database manually.$\"$\n\
014d58335b6d Changed behavior of the entire database selection process. A real "upgrade"/"don't touch the database" option was added, and the old options unconditionally delete the database.
Dan Fuhry <dan@enanocms.org>
parents: 5
diff changeset
    34
             $\n\
014d58335b6d Changed behavior of the entire database selection process. A real "upgrade"/"don't touch the database" option was added, and the old options unconditionally delete the database.
Dan Fuhry <dan@enanocms.org>
parents: 5
diff changeset
    35
             Do you want to continue?" IDYES +2
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    36
          Abort
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    37
    !macroend
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    38
  
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    39
    ; Both stacks are installed; decide based on user selection
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    40
    ReadINIStr $0 "$PLUGINSDIR\StackSelect.ini" "Field 1" "State"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    41
    StrCmp $0 1 "" UserSelectedWAPP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    42
      ; User selected WAMP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    43
      Call BNSetVarsForWAMP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    44
      !insertmacro ConfigCheck
2
0c0d5dadfca3 Added LockWindow calls to all custom page exit paths to smooth transitions
Dan
parents: 0
diff changeset
    45
      LockWindow on
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    46
      Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    47
      
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    48
    UserSelectedWAPP:
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    49
      ; User selected WAPP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    50
      Call BNSetVarsForWAPP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    51
      !insertmacro ConfigCheck
2
0c0d5dadfca3 Added LockWindow calls to all custom page exit paths to smooth transitions
Dan
parents: 0
diff changeset
    52
      LockWindow on
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    53
      Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    54
  
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    55
  OnlyOneStackInstalled:
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    56
  StrCmp $wampstack_installed 0 +3
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    57
    ; MySQL
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    58
    Call BNSetVarsForWAMP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    59
    !insertmacro ConfigCheck
2
0c0d5dadfca3 Added LockWindow calls to all custom page exit paths to smooth transitions
Dan
parents: 0
diff changeset
    60
    LockWindow on
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    61
    Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    62
    
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    63
    ; PostgreSQL
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    64
    Call BNSetVarsForWAPP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    65
    !insertmacro ConfigCheck
2
0c0d5dadfca3 Added LockWindow calls to all custom page exit paths to smooth transitions
Dan
parents: 0
diff changeset
    66
    LockWindow on
0
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    67
    Return
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    68
FunctionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    69
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    70
Function BNSetVarsForWAMP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    71
  StrCpy $stack_type "WAMP"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    72
  StrCpy $stack_instdir "$wampstack_installed"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    73
  StrCpy $db_driver "mysql"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    74
  StrCpy $db_dbmsname "MySQL"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    75
  StrCpy $db_rootuser "root"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    76
  ReadINIStr $db_port "$stack_instdir\properties.ini" "MySQL" "mysql_port"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    77
  
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    78
  StrCpy $stack_portbit ""
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    79
  ReadINIStr $0 "$stack_instdir\properties.ini" "Apache" "apache_server_port"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    80
  StrCmp $0 "80" +2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    81
    StrCpy $stack_portbit ":$0"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    82
FunctionEnd
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    83
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    84
Function BNSetVarsForWAPP
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    85
  StrCpy $stack_type "WAPP"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    86
  StrCpy $stack_instdir "$wappstack_installed"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    87
  StrCpy $db_driver "postgresql"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    88
  StrCpy $db_dbmsname "PostgreSQL"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    89
  StrCpy $db_rootuser "postgres"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    90
  ; NOTE: WAPPStack doesn't record the port of PostgreSQL - we have to assume the default
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    91
  StrCpy $db_port 5432
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    92
  
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    93
  StrCpy $stack_portbit ""
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    94
  ReadINIStr $0 "$stack_instdir\properties.ini" "Apache" "apache_server_port"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    95
  StrCmp $0 "80" +2
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    96
    StrCpy $stack_portbit ":$0"
67e1cc6cd929 First commit. It's working!
Dan
parents:
diff changeset
    97
FunctionEnd