PCCS MySQLDatabase Admin Tool version 1.3.4


/installscript/ -> mysqldb_phpinstallscript.php

1  <?php
2  /////////////////////////////////////////////////////////////////////////////////////
3  // coder: cthorn
4  // mysqldb_admin.php
5  //
6  /************************************************************************
7  PCCS MySQLDatabase Admin Tool
8  Copyright (C) 1999 Chauncey Thorn
9 
10  This program is free software; you can redistribute it and/or
11  modify it under the terms of the GNU General Public License
12  as published by the Free Software Foundation; either version 2
13  of the License, or (at your option) any later version.
14 
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with this program; if not, write to the Free Software
22  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA , USA.
23  **************************************************************************/
24 
25  // updated 10-23-2000
26  // -- moving to a single file for global include files
27    
28     require('../mysqldb_app_includes.php');
29     
30     common_header($_title);
31     pageTop("PCCS MySQLAdmin Tool: CREATE PHP INSTALLSCRIPTS","600");
32 
33  $link_array = array(
34  "$str_mainMenu" => "../",
35  "$str_installscriptlink" => "mysqldb_installscript.php",
36  "LOGOUT" => "logout.php"
37  );
38    
39   print "<BR>";
40   print "<CENTER>";
41   navBar($link_array);
42   print "</CENTER>";
43   print "<BR>";
44 
45     
46  if($action == "start") {
47 
48 
49  print "
50  <H3 align=center>PHP Application Install Script Creator</H3>
51  <center>
52 
53  PHP developer / Web Hosting Admin.<br>
54  Using this script you can create an PHP application Install Script<P>\n
55 
56  ";
57 
58  print "
59 
60  <FORM ACTION=mysqldb_phpinstallscript.php?action=create_script
61  METHOD=POST>
62  <p><BR>
63  <table>
64  <tr>
65  <td><font face=\"Verdana\" size=\"2\">Application Name:</font></td>
66  <td><INPUT TYPE=\"text\" NAME=\"installapptitle\"></td>
67  </tr>
68  <tr>
69  <td><font face=\"Verdana\" size=\"2\">Your Email Address:</font> </td>
70  <td><INPUT TYPE=\"text\" NAME=\"installemail\"></td>
71  </tr>
72  <tr>
73  <td><font face=\"Verdana\" size=\"2\">Application Web Site Address:</font></td>
74  <td><INPUT TYPE=\"text\" NAME=\"installwebsite\"></td>
75  </tr>
76  <tr>
77  <td><font face=\"Verdana\" size=\"2\">Application Install Help:</font></td>
78  <td><INPUT TYPE=\"text\" NAME=\"installwebsitehelp\"><br>
79  </tr>
80  <tr>
81  <td><font face=\"Verdana\" size=\"2\">Application Database Name:</font></td>
82  <td>
83  <SELECT NAME=installappdbname SINGLE>";
84 
85                  $qry = "SHOW DATABASES";
86                  $res = mysqlquery("mysql",$qry) or die("Error running query");
87                   for ($i = 0; $i < mysql_numrows($res); $i++):
88                   $db_output = mysql_result($res,$i,"Database");
89 
90                   print "<OPTION VALUE=\"$db_output\">$db_output</OPTION>";
91                   endfor;
92 
93  print "
94  </SELECT>
95  </td>
96  </tr>
97  <tr>
98  <td><font face=\"Verdana\" size=\"2\">Application Database UserName:</font> </td>
99  <td><INPUT TYPE=\"text\" NAME=\"installappdbuser\"></td>
100  </tr>
101  <tr>
102  <td><font face=\"Verdana\" size=\"2\">Application Database User Password:</font> </td>
103  <td><INPUT TYPE=\"text\" NAME=\"installappdbpassword\"></td>
104  </tr>
105  <tr>
106  <td colspan=2><INPUT TYPE=submit VALUE=\"CREATE SCRIPT\"></td>
107  </tr>
108  </table>
109  </FORM>
110 
111  ";
112 
113  $nav_links = array(
114  "Main Menu" => "../",
115  "Database" => "../mysqldb_admin.php"
116  );
117 
118    navBar($nav_links);
119 
120   print "</center>";
121  }
122 
123  if($action == "create_script") {
124 
125  $scriptdir = $app_dir . "installscript";
126 
127  /* Install Filename */
128  $install_filename="install.php";
129 
130  $f = fopen($install_filename,"w");
131  fputs($f,"<?php\n//** Generated by PCCS-MyAppGen $today\n");
132   
133  fputs($f,"/////////////////////////////////////////////////////////////////////////////////////\n");
134  fputs($f,"// Initial Install Script Coded: Chauncey Thorn (cthorn)\n");
135  fputs($f,"//\n");
136  fputs($f,"// Sunday, July 30, 2000 - John B. Abela (support)");
137  fputs($f,"// Upgdate to PHP4, Total Rework of Variable Settings,\n");
138  fputs($f,"// Addition of INPUT fields for end-user, & author credit.\n");
139  fputs($f,"//\n");
140 
141  fputs($f,"\$install_apptitle = \"$installapptitle\"; // Your Application Name\n");
142  fputs($f,"\$install_email = \"$installemail\"; // Your Email Address\n");
143  fputs($f,"\$install_website = \"$installwebsite/\"; // Your Application Web Site Address\n");
144  fputs($f,"\$install_websitehelp = \"$installwebsitehelp\"; // Application Install Help (if it exists)");
145  fputs($f,"\$install_db_name = \"$installappdbname\"; // ** Set This if your script requires a Hard-Coded Database Name!! **\n");
146 
147  fputs($f,"\$install_mysql_dump = \"visitlog.mysql\"; // Replace with your mysqldump file\n");
148  fputs($f,"\$install_index_file = \"index.php\"; // Main File to your application\n");
149  fputs($f,"\$install_mysql_exec = \"-u root\"; // Execute mysql client as this\n");
150 
151  fputs($f,"/////////////////////////////////////////////////////////////////////////////////////\n");
152  fputs($f,"// No Need To Edit Anything Below Here!\n");
153  fputs($f,"/////////////////////////////////////////////////////////////////////////////////////\n");
154  fputs($f,"?>\n");
155  fputs($f,"\n");
156  fputs($f,"<HTML><HEAD>\n");
157  fputs($f,"<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=ISO-8859-1\">\n");
158  fputs($f,"<TITLE><?php echo \$install_apptitle ?> Installation Script</TITLE></HEAD>\n");
159  fputs($f,"<BODY BGCOLOR=\"#EEEEEE\" text=\"black\" link=\"blue\" vlink=\"blue\">\n");
160  fputs($f,"\n");
161  fputs($f,"<center><br><font face=\"Verdana\" color=\"black\" size=\"+2\"><?php echo \$install_apptitle; ?> Installation Script</font>\n");
162  fputs($f,"<br><font face=\"Verdana\" color=\"blue\" size=\"1\"><a href=\"<?php echo \$install_websitehelp; ?>\" target=\"\$install_websitehelp\">Installation Help</a> | </font>\n");
163  fputs($f,"<font face=\"Verdana\" color=\"blue\" size=\"1\"><a href=\"<?php echo \$install_website; ?>\" target=\"_blank\"><?php echo \$install_apptitle;?> Web Site</a></font>\n");
164  fputs($f,"<P>\n");
165  fputs($f,"<?php if(\$argv[0] == \"\"):?>\n");
166  fputs($f,"<CENTER>\n");
167  fputs($f,"<FORM ACTION=$install_filename?action=install METHOD=POST>\n");
168  fputs($f,"<p><BR>\n");
169  fputs($f,"<font face=\"Verdana\" size=\"2\">MySQL Server:</font> <INPUT TYPE=\"text\" NAME=\"install_mysql_server\" VALUE=\"localhost\"><br>\n");
170  fputs($f,"<font face=\"Verdana\" size=\"2\">MySQL UserName:</font> <INPUT TYPE=\"text\" NAME=\"install_mysql_user\" VALUE=\"root\"><br>\n");
171  fputs($f,"<font face=\"Verdana\" size=\"2\">MySQL Password:</font> <INPUT TYPE=\"text\" NAME=\"install_mysql_passwd\"><br>\n");
172  fputs($f,"<font face=\"Verdana\" size=\"2\">MySQL Location:</font> <INPUT TYPE=\"text\" NAME=\"install_mysql_location\" VALUE=\"/usr/local/bin/mysql\"><br>\n");
173  fputs($f,"<font face=\"Verdana\" size=\"2\">Database Name:</font> <INPUT TYPE=\"text\" NAME=\"install_db_name\" VALUE=\"$install_db_name\"><br>\n");
174  fputs($f,"<font face=\"Verdana\" size=\"2\">Database UserName:</font> <INPUT TYPE=\"text\" NAME=\"install_db_user\"><br>\n");
175  fputs($f,"<font face=\"Verdana\" size=\"2\">Database User Password:</font> <INPUT TYPE=\"text\" NAME=\"install_db_password\"><p>\n");
176  fputs($f,"<INPUT TYPE=submit VALUE=\"Install <?php echo \$install_apptitle; ?>\">\n");
177  fputs($f,"</FORM>\n");
178  fputs($f,"</CENTER>\n");
179  fputs($f,"<?php endif; ?>\n");
180 
181  fputs($f,"<center><br><font face=\"Verdana\" color=\"black\" size=\"1\">\n");
182  fputs($f,"Installation Script by: <a href=\"http://www.4cm.com/\" target=\"_blank\">www.4cm.com</a>\n");
183  fputs($f," & <a href=\"mailto:cthorn\\">Chauncey Thorn</a></font></center></BODY></HTML>\n");
184 
185  fputs($f,"<?php \n");
186  fputs($f," if(\$action == \"install\"): \n");
187  fputs($f," \$mysql_server =\"localhost\"; // mysql server \n");
188  fputs($f," \$mysql_user =\"install_mysql_user\"; // mysql user name\n");
189  fputs($f," \$mysql_passwd = \"install_mysql_passwd\"; // mysql password\n");
190  fputs($f," \$db_name = \"$installappdbname\"; // db database name\n");
191  fputs($f," \$db_user = \"installappdbpassword\"; // db user name\n");
192  fputs($f," \$db_password = \"install_db_password\"; // db user passwd\n");
193  fputs($f," \$mysql_location = \"install_mysql_location\"; // Location of mysql client\n");
194  fputs($f," \$mysql_exec = \"\$install_mysql_exec\"; // Execute mysql client as\n");
195  fputs($f," \$mysql_dump = \"\$install_mysql_dump\"; // mysqldump \n");
196  fputs($f," \$index_file = \"\$install_index_file\"; // Main Index File (something.php)\n");
197  fputs($f,"/////////////////////////////////////////////////////////////////////////////////\n");
198  fputs($f,"// Connect to Database\n");
199  fputs($f,"\n");
200  fputs($f," function connectDB() {\n");
201  fputs($f," global \$mysql_server, \$mysql_user, \$mysql_passwd;\n");
202  fputs($f," mysql_pconnect(\$db_name, \$mysql_user, \$mysql_passwd);\n");
203  fputs($f," }\n");
204  fputs($f," connectDB();\n");
205  fputs($f,"\n");
206  fputs($f," \$create_webdb = \"CREATE DATABASE \$db_name\";\n");
207  fputs($f," \$cwebdb = mysql_query(\$create_webdb);\n");
208  fputs($f," if (!empty(\$cwebdb)) {\n");
209  fputs($f," // Do Nothing \n");
210  fputs($f," } else {\n");
211  fputs($f," echo mysql_error().\"<BR>\n\";\n");
212  fputs($f," }\n");
213  fputs($f,"\n");
214  fputs($f," \$create_webuser = \"GRANT SELECT,INSERT,UPDATE,DELETE on \$db_name.* \n");
215  fputs($f," TO \$db_user@\$mysql_server \n");
216  fputs($f," IDENTIFIED by \'\$db_password\'\";\n");
217  fputs($f," \$cwebuser = mysql_query(\$create_webuser);\n");
218  fputs($f," if (!empty(\$cwebuser)) {\n");
219  fputs($f," // Do Nothing \n");
220  fputs($f," } else {\n");
221  fputs($f," echo mysql_error().\"<BR>\n\";\n");
222  fputs($f," }\n");
223  fputs($f,"\n");
224  fputs($f," \$create_tbl = \"\$mysql_location \$mysql_exec \$db_name < \$mysql_dump\";\n");
225  fputs($f," exec(\$create_tbl);\n");
226  fputs($f,"/////////////////////////////////////////////////////////////////////////////////\n");
227  fputs($f," print \"\$install_apptitle has been installed.\";\n");
228  fputs($f," print \" Click <a href=./\$index_file>here</a> to test it out\";\n");
229  fputs($f," print \"<BR>Please Email Any Bugs and Comments to: <a href=mailto:\$install_email>\$install_email</a>.\";\n");
230  fputs($f,"/////////////////////////////////////////////////////////////////////////////////\n");
231  fputs($f,"endif;\n");
232  fputs($f,"?>\n");
233  fclose($f);
234 
235 
236  $backup_filename="backup.php";
237 
238  $fb = fopen($backup_filename,"w");
239  fputs($fb,"<?php\n//** Generated by PCCS-MyAppGen $today\n");
240  fputs($fb,"/////////////////////////////////////////////////////////////////////////////////////\n");
241  fputs($fb,"// coder: cthorn\n");
242  fputs($fb,"////////////////////////////////////////////////////////////////////////////\n");
243  fputs($fb,"//\n");
244  fputs($fb,"//\n");
245  fputs($fb,"if (\$argv[0] ==\"\"):\n");
246  fputs($fb," print \"<CENTER>\";\n");
247  fputs($fb," print \"This Page allows you to make a backup of your database App\";\n");
248  fputs($fb," print \"<br>\";\n");
249  fputs($fb," print \"<A HREF=$backup_filename?action=backup>BACKUP APPLICATION</A>\";\n");
250  fputs($fb," print \"</CENTER>\";\n");
251  fputs($fb," \n");
252  fputs($fb,"\n");
253  fputs($fb,"endif;\n");
254 
255 
256  fputs($fb,"\$dbname = \"$installappdbname\"; //your Application Database Name\n");
257 
258  fputs($fb,"\$_time = date(\"His\");\n");
259  fputs($fb,"\$_date = date(\"Ymd\");\n");
260  fputs($fb,"\$dump_filename = \"\$_date\$_time_\$dbname.sql\";\n");
261  fputs($fb,"\$_admtool = \"/usr/local/bin/mysqldump\";\n");
262  fputs($fb,"\$_gzip = \"/bin/tar\";\n");
263  fputs($fb,"\$dump_filename = \"\$_date\$_time_\$dbname.sql\";\n");
264  fputs($fb,"//\n");
265  fputs($fb,"// Below are the paramaters for mysqldump\n");
266  fputs($fb,"\$par1 = '--opt';\n");
267  fputs($fb,"\$par2 = '-uroot';\n");
268  fputs($fb,"\$db_dump = \"\$_admtool \$par1 \$par2 \$dbname > ./\$dump_filename\";\n");
269  fputs($fb,"\$gz_dump = \"\$_gzip -czf ./\$dump_filename.tar.gz ./\$dump_filename\";\n");
270  fputs($fb,"\n");
271  fputs($fb,"if (\$action == \"backup\"):\n");
272  fputs($fb,"\t\theader(\"Content-type: application/gzip\");\n");
273  fputs($fb,"\t\theader(\"Content-Disposition: attachment; filename=\$dump_filename.tar.gz\");\n");
274  fputs($fb,"\n");
275 
276  fputs($fb,"\t\texec(\"\$db_dump\");\n");
277  fputs($fb,"\t\texec(\"\$gz_dump\");\n");
278 
279  fputs($fb,"\t\treadfile(\"\$dump_filename.tar.gz\");\n");
280  fputs($fb,"\t\tunlink(\"\$dump_filename.tar.gz\");\n");
281  fputs($fb,"endif;\n");
282  fputs($fb,"\n");
283 
284  fputs($fb,"//\n");
285  fputs($fb,"//////////////////////////////////////////////////////////////////////////\n");
286   fputs($fb,"?>\n");
287  fclose($fb);
288 
289 
290 
291 
292 
293 
294  $dumpdir = $app_dir . "installscript";
295 
296  $dumpdb = "/usr/local/bin/mysqldump --opt -u$db_user $installappdbname > $dumpdir/$installappdbname.mysql";
297  $dumpdbpw = "/usr/local/bin/mysqldump --opt -u$db_user -p$db_password $installappdbname > $dumpdir/$installappdbname.mysql";
298 
299  if($db_password == "") {
300          passthru($dumpdb,$result);
301  } else {
302          passthru($dumpdbpw,$result);
303  }
304 
305  echo "A PHP Install Script has been created for" . $install_apptitle . "!<BR><BR>\n";
306  echo "The install script code is saved as <A HREF=$install_filename><B>$install_filename</B></A> <BR><BR>\n";
307  echo "The backup script code is saved as <A HREF=$backup_filename><B>$backup_filename</B></A> <BR><BR>\n";
308  echo "The SQL Dump is saved as <A HREF=$installappdbname.mysql><B>$installappdbname.mysql</B></A> <BR><BR>\n";
309  echo "<A HREF=$app_url>Back to Main</a>";
310  }
311 
312          // footer();
313 
314  pageBottom();
315  ?>
316 


Generated: Sat Jan 27 15:40:36 2001 Generated by PHPXref 0.1.2
PCCS-Linux.COM ::ource Advocate Articles catalogue
2000 2002