0
|
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 |
|