inst-resources/mysql.nsh
changeset 0 67e1cc6cd929
child 10 014d58335b6d
equal deleted inserted replaced
-1:000000000000 0:67e1cc6cd929
       
     1 /**
       
     2  * Verify credentials for a MySQL database. Assumes we are connecting to BitNami's DB.
       
     3  * @param string Username
       
     4  * @param string Password
       
     5  * @return int 0 if successful, >0 on error. Will push an error string to the stack if >0.
       
     6  */
       
     7 
       
     8 Function mysql_connect
       
     9   Pop $R1 ; Password
       
    10   Pop $R0 ; Username
       
    11 
       
    12   SetOutPath $PLUGINSDIR
       
    13   File "inst-resources\mysqlutil.php"
       
    14 
       
    15   nsExec::ExecToLog '"$stack_instdir\php\php.exe" "$PLUGINSDIR\mysqlutil.php" $db_port "$R0" "$R1"'
       
    16   Delete "$PLUGINSDIR\mysqlutil.php"
       
    17   ; just be done; nsExec's result is on the top of the stack.
       
    18 FunctionEnd
       
    19 
       
    20 /**
       
    21  * Create a MySQL database and grant privileges on it to the given user.
       
    22  * @param string User to connect with
       
    23  * @param string Password to connect with
       
    24  * @param string Database name
       
    25  * @param string New user
       
    26  * @param string New user's password
       
    27  */
       
    28 
       
    29 Function mysql_create_db
       
    30   Pop $R5 ; Password
       
    31   Pop $R4 ; User
       
    32   Pop $R3 ; Database
       
    33   Pop $R1 ; Password
       
    34   Pop $R0 ; Username
       
    35   
       
    36   ReadINIStr $R2 "$stack_instdir\properties.ini" "MySQL" "mysql_root_directory"
       
    37   IfFileExists "$R2\data\$R3" 0 DatabaseDoesNotExist
       
    38     MessageBox MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON2 "The database $\"$R3$\" already exists. Do you want to delete and recreate it?$\n$\nIf you choose No, Setup will not alter MySQL's permissions, and you may need to set up permissions manually." IDYES +2
       
    39       Return
       
    40     
       
    41   DatabaseDoesNotExist:
       
    42   
       
    43   SetOutPath $PLUGINSDIR
       
    44   File "inst-resources\mysqlutil.php"
       
    45   
       
    46   nsExec::ExecToLog '"$stack_instdir\php\php.exe" "$PLUGINSDIR\mysqlutil.php" $db_port "$R0" "$R1" \
       
    47                      "DROP DATABASE IF EXISTS `$R3`; \
       
    48                       CREATE DATABASE `$R3`; \
       
    49                       GRANT ALL PRIVILEGES ON `$R3`.* TO `$R4`@localhost \
       
    50                         IDENTIFIED BY $\'$R5$\' WITH GRANT OPTION;"'
       
    51   Delete "$PLUGINSDIR\mysqlutil.php"
       
    52 FunctionEnd
       
    53