3
* Web based SQLite management
5
* check if the database is Ok
6
* @package SQLiteManager
7
* @author Fr�d�ric HENNINOT
8
* @version $Id: add_database.php,v 1.31 2006/04/17 09:06:46 freddy78 Exp $ $Revision: 1.31 $
11
$tempError = error_reporting();
12
error_reporting(E_ALL & ~(E_ERROR | E_WARNING | E_PARSE | E_NOTICE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE));
15
if($action == 'saveDb'){
16
if(!empty($_POST['dbname']) && !empty($_POST['dbpath'])){
17
if(isset($_POST['dbpath'])) $dbFilename = stripslashes($_POST['dbpath']);
18
if ($_POST['uploadDB']){
19
if(is_dir(DEFAULT_DB_PATH) && is_writable(DEFAULT_DB_PATH)){
20
if(move_uploaded_file($_FILES['dbRealpath']['tmp_name'], DEFAULT_DB_PATH.$_FILES['dbRealpath']['name'])) $dbFilename = DEFAULT_DB_PATH.$_FILES['dbRealpath']['name'];
23
$message = '<li><span style="color: red; font-size: 11px;">'.$GLOBALS['traduct']->get(144).'</span></li>';
26
if(DEMO_MODE && $_POST['dbname'] != ':memory:') $dbFilename = DEFAULT_DB_PATH.basename(str_replace("\\", '/', $dbFilename));
27
$tempDir = dirname($dbFilename);
28
if($tempDir == '.') $dbFile = DEFAULT_DB_PATH . $dbFilename;
29
else $dbFile = $dbFilename;
31
if(isset($_POST['dbVersion']) && $_POST['dbVersion'] && !file_exists($dbFile)) {
32
$newDb = $SQLiteFactory->sqliteGetInstance($dbFile, $_POST['dbVersion']);
33
$newDb->query("CREATE TABLE tempFred (id integer);");
34
$newDb->query("DROP TABLE tempFred;");
36
$newDb = $SQLiteFactory->sqliteGetInstance($dbFile);
39
if($newDb->dbVersion == 2) $newDb->close();
41
$query = 'INSERT INTO database (name, location) VALUES ('.quotes(stripslashes($_POST['dbname'])).', '.quotes($dbFilename).')';
42
if(!$db->query($query)) {
44
$message .= '<li><span style="color: red; font-size: 11px;">'.$GLOBALS['traduct']->get(100).'</span></li>';
46
if(DEBUG) $dbsel = $db->last_insert_id();
47
else $dbsel = @$db->last_insert_id();
52
$message .= '<li><span style="color: red; font-size: 11px;">'.$GLOBALS['traduct']->get(101).'</span></li>';
56
$message .= '<li><span style="color: red; font-size: 11px;">'.$GLOBALS['traduct']->get(102).'</span></li>';
59
error_reporting($tempError);
60
if(!READ_ONLY && (!WITH_AUTH || (isset($SQLiteManagerAuth) && $SQLiteManagerAuth->getAccess('properties')))) {
61
if(empty($action) || ($action=='passwd') || $error){
62
if(!isset($_POST['dbname'])) $_POST['dbname'] = '';
63
if(!isset($_POST['dbpath'])) $_POST['dbpath'] = '';
64
if(!isset($_POST['dbFilename'])) $_POST['dbFilename'] = '';
65
echo ' <form name="database" action="main.php" enctype="multipart/form-data" method="POST" onSubmit="checkPath();" target="main">
67
<tr><td colspan="2" align="center">'.$GLOBALS['traduct']->get(103).'</td></tr>';
68
if($error) echo '<tr><td colspan="2" align="center">'.$GLOBALS['traduct']->get(9).' : '.((isset($message))? $message : 'unknown' ).'</td></tr>';
71
if(isset($_POST['dbVersion'])) $forceDbVersion = $_POST['dbVersion'];
72
if(count($sqliteVersionAvailable) == 1) {
73
if(!isset($_POST['dbVersion'])) $forceDbVersion = $sqliteVersionAvailable[0];
74
if($sqliteVersionAvailable[0] == 2) {
80
if(!isset($_POST['dbVersion'])) $forceDbVersion = 2;
82
echo ' <tr><td align="right">'.$GLOBALS['traduct']->get(19).' : </td><td><input type="text" class="text" name="dbname" value="'.$_POST['dbname'].'" size="20"></td></tr>
83
<tr><td align="right">'.$GLOBALS['traduct']->get(229).': </td>
85
'2 :<input type="radio" name="dbVersion" value="2"'.(($forceDbVersion == 2)? ' checked' : '' ).(($disabled == 2)? ' disabled' : '' ).'> '.
86
str_repeat(' ', 5).
87
'3 :<input type="radio" name="dbVersion" value="3"'.(($forceDbVersion == 3)? ' checked' : '' ).(($disabled == 3)? ' disabled' : '' ).'>
88
<span style="font-size: 10px">'.$GLOBALS['traduct']->get(230).'</span></td></tr>
89
<tr><td align="center" colspan="2"><hr width="80%"</td></tr>
90
<tr><td align="right" rowspan="3" style="white-space: nowrap; vertical-align: middle;">'.$GLOBALS['traduct']->get(104).' : </td><td><input type="file" class="file" name="dbRealpath" value="'.$_POST['dbpath'].'" size="20" onChange="checkPath();"></td></tr>
91
<tr><td><input type="checkbox" name="uploadDB" value=1> '.$GLOBALS['traduct']->get(143).'</td></tr>
92
<tr><td><input type="text" class="text" name="dbpath" value="'.$dbFilename.'" size="40"></td></tr>
93
<tr><td colspan="2" align="center"><input class="button" type="submit" value="'.$GLOBALS['traduct']->get(51).'"></td></tr>
95
<input type="hidden" name="action" value="saveDb">
98
if(!$noDb) echo "<script type=\"text/javascript\">parent.main.location='main.php?dbsel=$dbsel'; parent.left.location='left.php?dbsel=$dbsel';</script>";
99
else echo "<script type=\"text/javascript\">parent.location='index.php?dbsel=$dbsel';</script>";