author | Dan Fuhry <dan@enanocms.org> |
Sat, 21 Aug 2010 18:19:58 -0400 | |
changeset 10 | 014d58335b6d |
parent 0 | 67e1cc6cd929 |
permissions | -rw-r--r-- |
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" |
|
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:
0
diff
changeset
|
37 |
; IfFileExists "$R2\data\$R3" 0 DatabaseDoesNotExist |
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:
0
diff
changeset
|
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 |
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:
0
diff
changeset
|
39 |
; Return |
0 | 40 |
|
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:
0
diff
changeset
|
41 |
; DatabaseDoesNotExist: |
0 | 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 |