[Linpha-cvs] SF.net SVN: linpha: [4880] trunk/linpha2
Status: Inactive
Brought to you by:
bzrudi
From: <fan...@us...> - 2008-02-17 22:50:19
|
Revision: 4880 http://linpha.svn.sourceforge.net/linpha/?rev=4880&view=rev Author: fangehrn Date: 2008-02-17 14:50:14 -0800 (Sun, 17 Feb 2008) Log Message: ----------- 2008-02-17 flo * implemented adodb datadict - mysql works - sqlite works - fixed plugin tables creation - fixed reset_database.php * changed mysql to utf8 - database creation - table creation - database connection Modified Paths: -------------- trunk/linpha2/ChangeLog trunk/linpha2/admin/maintenance_db.php trunk/linpha2/admin/settings_plugins.php trunk/linpha2/install/footer.php trunk/linpha2/install/header_html.php trunk/linpha2/install/manual_install.php trunk/linpha2/install/step4_selectdirectories.php trunk/linpha2/install/step5_getlogin.php trunk/linpha2/install/step7_selectprefix.php trunk/linpha2/install/step8_testing.php trunk/linpha2/install/step9_createtables.php trunk/linpha2/lib/classes/adodb-errorhandler.inc.php trunk/linpha2/lib/classes/linpha.sql.class.php trunk/linpha2/lib/include/sql/sql.tables.php trunk/linpha2/lib/plugins/example/sql/sql.data.php trunk/linpha2/lib/plugins/maps/sql/sql.data.php trunk/linpha2/reset_database.php Added Paths: ----------- trunk/linpha2/lib/adodb/datadict/datadict-sqlite.inc.php trunk/linpha2/lib/include/sql/sql.tablesconfig.php Removed Paths: ------------- trunk/linpha2/lib/include/sql/sql.info.txt trunk/linpha2/lib/include/sql/sql.mysql.php trunk/linpha2/lib/include/sql/sql.oci8po.php trunk/linpha2/lib/include/sql/sql.postgres.php trunk/linpha2/lib/include/sql/sql.sqlite.php trunk/linpha2/lib/plugins/example/sql/sql.mysql.php trunk/linpha2/lib/plugins/example/sql/sql.oci8po.php trunk/linpha2/lib/plugins/example/sql/sql.postgres.php trunk/linpha2/lib/plugins/example/sql/sql.sqlite.php trunk/linpha2/lib/plugins/maps/sql/sql.mysql.php trunk/linpha2/lib/plugins/maps/sql/sql.oci8po.php trunk/linpha2/lib/plugins/maps/sql/sql.postgres.php trunk/linpha2/lib/plugins/maps/sql/sql.sqlite.php Modified: trunk/linpha2/ChangeLog =================================================================== --- trunk/linpha2/ChangeLog 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/ChangeLog 2008-02-17 22:50:14 UTC (rev 4880) @@ -1,4 +1,16 @@ +2008-02-17 flo + * implemented adodb datadict + - mysql works + - sqlite works + - fixed plugin tables creation + - fixed reset_database.php + + * changed mysql to utf8 + - database creation + - table creation + - database connection + 2008-02-13 flo * moved not needed files to the misc folder * updated adodb to version 504 Modified: trunk/linpha2/admin/maintenance_db.php =================================================================== --- trunk/linpha2/admin/maintenance_db.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/admin/maintenance_db.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -323,7 +323,7 @@ else { echo '<font color="red">'.i18n("failed").'</font><br />'; - echo i18n("Please check the database, these entry is missing!").'<br />'; + echo i18n("Please check the database, this entry is missing!").'<br />'; } echo '<br />'; } Modified: trunk/linpha2/admin/settings_plugins.php =================================================================== --- trunk/linpha2/admin/settings_plugins.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/admin/settings_plugins.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -11,77 +11,90 @@ /** * save settings before showing menu */ - if($cat3=='enable' && isset($_POST['cmd']) && $_POST['cmd']=='saveconfig') - { - foreach($arrPlugins as $value) - { - $arrPluginsFullName[] = 'plugins_'.$value.'_enable'; - } - - /** - * create database tables and insert config data if necessary - */ - foreach($arrPlugins as $value) // go through all plugins - { - // only if we enabled the plugin now and it didn't existed before - if( isset($_POST['plugins_'.$value.'_enable']) - && $_POST['plugins_'.$value.'_enable']=='1' - && !isset($LinAdmin->option_value_system['plugins_'.$value.'_enable']) ) - { - $str1 = i18n("Enabling plugin \"%s\""); - linSysLog( sprintf($str1,$LinAdmin->description_array['plugins_'.$value]) ); - - /** - * create database tables - */ - $includeFile = LINPHA_DIR.'/lib/plugins/'.$value.'/sql/sql.'.LIN_DB_TYPE.'.php'; - if( file_exists($includeFile) ) - { - $sql_tables = array(); - include($includeFile); + if($cat3=='enable' && isset($_POST['cmd']) && $_POST['cmd']=='saveconfig') + { + $GLOBALS['LINPHA_DISABLE_ERROR_DIRECT_OUTPUT'] = true; + + foreach($arrPlugins as $value) + { + $arrPluginsFullName[] = 'plugins_'.$value.'_enable'; + } + + /** + * create database tables and insert config data if necessary + */ + foreach($arrPlugins as $value) // go through all plugins + { + // only if we enabled the plugin now and it didn't existed before + if( isset($_POST['plugins_'.$value.'_enable']) + && $_POST['plugins_'.$value.'_enable']=='1' + && !isset($LinAdmin->option_value_system['plugins_'.$value.'_enable']) ) + { + $str1 = i18n("Enabling plugin \"%s\""); + linSysLog( sprintf($str1,$LinAdmin->description_array['plugins_'.$value]) ); + + + $taboptarray = array(); + require_once(LINPHA_DIR.'/lib/include/sql/sql.tablesconfig.php'); + + $includeFile = LINPHA_DIR.'/lib/plugins/'.$value.'/sql/sql.data.php'; + if( file_exists($includeFile) ) // this file always exists (it wouldnt be a plugin otherwise) + { + $sql_queries = array(); + $linpha_tables = array(); + include_once($includeFile); + + /** + * create database tables + */ + if (LIN_DB_TYPE=='sqlite') { + $dict = &NewDataDictionary($linpha->db,'sqlite'); // force use of sqlite datadict file + } else { + $dict = &NewDataDictionary($linpha->db); + } + //$dict->debug = true; + + foreach($linpha_tables as $table_name => $table_flds) + { + $sqlarray = $dict->CreateTableSQL($table_name, $table_flds, $taboptarray); + + /** + * if the table already exists, we get automatically a nice message like + * "Table 'linpha2_plugins_maps_markers' already exists" + */ + if ($dict->ExecuteSQLArray($sqlarray, $continue_on_error = false) != 2) { + /** + * RETURNS: 0 if failed, 1 if executed all but with errors, 2 if executed successfully + * $sqlarray: an array of strings with sql code (no semicolon at the end of string) + * $contOnError: if true, then continue executing even if error occurs + */ + + linSysLog($linpha->db->ErrorMsg()); + } + } + + /** + * insert config data + */ + linSysLog(i18n("Insert config data")); + foreach($sql_queries as $sqlStr) + { + $result = $linpha->db->Execute($sqlStr); + + if(!$result) { + linSysLog($linpha->db->ErrorMsg()); + } + } + + } + } + } + unset($GLOBALS['LINPHA_DISABLE_ERROR_DIRECT_OUTPUT']); + + // set plugins_*_enable to '1' + $LinAdmin->saveConfig($arrPluginsFullName); + } - linSysLog(i18n("Creating tables")); - foreach($sql_tables as $sqlStr) - { - $result = $linpha->db->Execute($sqlStr); - - // it the table already exists, we get automatically a nice message like - // "Table 'linpha2_plugins_maps_markers' already exists" - if(!$result) { - linSysLog($linpha->db->ErrorMsg()); - } - } - } - - /** - * insert config data - */ - $includeFile = LINPHA_DIR.'/lib/plugins/'.$value.'/sql/sql.data.php'; - if( file_exists($includeFile) ) // this file always exists (it wouldnt be a plugin otherwise) - { - $sql_queries = array(); - include($includeFile); - - linSysLog(i18n("Insert config data")); - foreach($sql_queries as $sqlStr) - { - $result = $linpha->db->Execute($sqlStr); - - // it the table already exists, we get automatically a nice message like - // "Table 'linpha2_plugins_maps_markers' already exists" - if(!$result) { - linSysLog($linpha->db->ErrorMsg()); - } - } - } - - } - } - - // set plugins_*_enable to '1' - $LinAdmin->saveConfig($arrPluginsFullName); - } - /** * show menu */ Modified: trunk/linpha2/install/footer.php =================================================================== --- trunk/linpha2/install/footer.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/install/footer.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -31,12 +31,19 @@ </div> </form> +<script language="JavaScript" type='text/javascript'> +<!-- <?php -if(isset($do_javascript_disable_button)) +if (isset($do_javascript_disable_backbutton)) { + ?> + document.back_form.submit_button.disabled = true; + <?php +} + +if (isset($do_javascript_disable_button)) +{ ?> -<script language="JavaScript" type='text/javascript'> -<!-- document.install_form.next_button.disabled = true; function checkForm() @@ -81,11 +88,13 @@ // run at startup to enable text fields if values are preentered checkForm(); -//--> -</script> <?php } ?> +//--> +</script> + + </div> </div> </body> Modified: trunk/linpha2/install/header_html.php =================================================================== --- trunk/linpha2/install/header_html.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/install/header_html.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -77,7 +77,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> -<title><?php echo i18n_install("LinPHA2 Install Wizzard"); ?></title> +<title><?php echo i18n_install("LinPHA 2 Installation Wizzard"); ?></title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <link rel="stylesheet" type="text/css" href="layout.css" /> @@ -91,7 +91,7 @@ <img class='header_icons' src='./graphics/start.png' /> </div> <div class="header_right"> - <h1 class="header_title"><?php echo i18n_install("Linpha 2 Installation Wizzard"); ?></h1> + <h1 class="header_title"><?php echo i18n_install("LinPHA 2 Installation Wizzard"); ?></h1> <p class='header_subinfo'><?php echo $strStep; ?></p> </div> </div> Modified: trunk/linpha2/install/manual_install.php =================================================================== --- trunk/linpha2/install/manual_install.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/install/manual_install.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -39,7 +39,7 @@ 'sql_prefix' => 'linpha_' ); - foreach($array AS $key=>$value) + foreach($array as $key=>$value) { if(isset($_POST[$key])) { @@ -54,19 +54,40 @@ /** * define variables manually */ - $_SESSION['sql_hostname'] = "localhost"; - $_SESSION['sql_username'] = "root"; - $_SESSION['sql_password'] = ""; - $_SESSION['sql_dbname'] = "linpha"; - $_SESSION['sql_dbport'] = "3306"; - $_SESSION['hash_secret'] = ""; - - define('LIN_PREFIX', $_SESSION['sql_prefix']); define('LIN_DB_TYPE', $_SESSION['sql_dbtype']); + $_SESSION['sql_hostname'] = "localhost"; + $_SESSION['sql_username'] = "root"; + $_SESSION['sql_password'] = ""; + $_SESSION['sql_dbname'] = "linpha"; + $_SESSION['hash_secret'] = ""; + switch(LIN_DB_TYPE) + { + case 'mysql': + $_SESSION['sql_dbport'] = "3306"; + break; + case 'sqlite': + $_SESSION['sql_hostname'] = ""; + $_SESSION['sql_username'] = ""; + $_SESSION['sql_password'] = ""; + $_SESSION['sql_dbname'] = "sqlite.db"; + $_SESSION['sql_dbport'] = ""; + break; + case 'postgres': + $_SESSION['sql_dbport'] = "5432"; + break; + case 'oci8po': + $_SESSION['sql_dbport'] = "1521"; + break; + default: + $_SESSION['sql_dbport'] = ""; + break; + } + + echo "<h2>".i18n_install("LinPHA Manual Install")."</h2>"; ?> <br /> @@ -82,29 +103,26 @@ /** * create tables */ - /** - * get table names and add prefix - */ - include_once(LINPHA_DIR.'/lib/include/sql/sql.tables.php'); - foreach($linpha_tables AS $key=>$value) - { - $linpha_tables[$key] = LIN_PREFIX.$value; - } - - /** - * include sql strings - */ - include_once(LINPHA_DIR."/lib/include/sql/sql.".LIN_DB_TYPE.".php"); - - /** - * finally create tables - */ - $str_query = ""; - while( list($key,$query) = each($sql_tables) ) - { - $str_query .= $query.";\n"; - } + require_once(LINPHA_DIR.'/lib/adodb/adodb.inc.php'); + require_once(LINPHA_DIR.'/lib/include/sql/sql.tables.php'); + + $taboptarray = array(); + require_once(LINPHA_DIR.'/lib/include/sql/sql.tablesconfig.php'); + + $db = ADONewConnection(LIN_DB_TYPE); + $dict = NewDataDictionary($db,LIN_DB_TYPE); + + $str_query = ""; + foreach($linpha_tables as $table_name => $table_flds) + { + $sqlarray = $dict->CreateTableSQL($table_name, $table_flds, $taboptarray); + foreach($sqlarray as $query) + { + $str_query .= $query.";\n"; + } + } + /** * insert data */ @@ -155,11 +173,11 @@ * sql config file */ $comment[1] = $donotchange; -$comment[2] = $changeme; $comment[3] = $changeme; $comment[4] = $changeme; $comment[5] = $changeme; -$comment[6] = $donotchange; -$comment[7] = $changeme; +$comment[2] = $changeme; $comment[3] = $changeme; $comment[4] = $changeme; $comment[5] = $changeme; $comment[6] = $changeme; +$comment[7] = $donotchange; $comment[8] = $changeme; +$str = ''; include_once(LINPHA_DIR.'/lib/include/sql/config.sql.php'); ?> <br /><br /> @@ -169,6 +187,8 @@ <br /><br /> +<b><?php echo i18n_install("Please make sure all these database, databases tables, folders and files exist before continuing."); ?></b> + <form method="POST" action="<?php echo $next_file; ?>"> <?php include_once(LINPHA_DIR.'/install/footer.php'); Modified: trunk/linpha2/install/step4_selectdirectories.php =================================================================== --- trunk/linpha2/install/step4_selectdirectories.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/install/step4_selectdirectories.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -51,23 +51,7 @@ $_SESSION['install_mode'] = $_POST['install_mode']; } -/** - * sqlite doesn't know anyhting about username, password, hostname and - * databasename -> skip the following pages - */ - if(isset($_SESSION['sql_dbtype']) && $_SESSION['sql_dbtype'] == "sqlite") - { - $_SESSION['sql_username'] = ''; - $_SESSION['sql_password'] = ''; - $_SESSION['sql_hostname'] = ''; - $_SESSION['sql_dbname'] = 'database.sqlite'; - $_SESSION['sql_prefix'] = 'linpha_'; - - $next_file = "step7_selectprefix.php"; - } - - include_once(LINPHA_DIR.'/install/header_html.php'); echo i18n_install("For security reasons folders were named random.").' '; Modified: trunk/linpha2/install/step5_getlogin.php =================================================================== --- trunk/linpha2/install/step5_getlogin.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/install/step5_getlogin.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -64,9 +64,12 @@ header("Location: manual_install.php"); exit(); } - } +if ($_SESSION['sql_dbtype']=='sqlite') +{ + $next_file = 'step7_selectprefix.php'; +} include_once(LINPHA_DIR.'/install/header_html.php'); if(isset($_POST['cmd_step4'])) @@ -81,72 +84,82 @@ exit(); } } -?> - -<h1><?php echo $title_str[$key]; ?></h1> -<hr /> -<br /> -<?php -if($_SESSION['sql_dbtype'] == 'mysql') -{ - echo i18n_install("NOTE: If you have setup a root Password for your MySQL Database please login using your root account."); - echo "<br /><br />"; - $_SESSION['sql_dbport'] = '3306'; -} -elseif($_SESSION['sql_dbtype'] == 'postgres') +elseif ($_SESSION['sql_dbtype']=='sqlite') { - echo i18n_install("NOTE: There is currently now way to let LinPHA create the required Database, so you have to create a new Database using \"createdb\" from commandline before you proceed."); - echo "<br /><br />"; - $_SESSION['sql_dbport'] = '5432'; + // show at least one message + echo i18n_install("Directories already created."); } -elseif($_SESSION['sql_dbtype'] == 'oci8po') + +if ($_SESSION['sql_dbtype'] != 'sqlite') { - echo i18n_install("NOTE: Oracle support is only testet on XE the \"Free\" Edition. If you get things running using a \"real\" Oracle Database please drop us a note!"); - echo "<br /><br />"; - $_SESSION['sql_dbport'] = '1521'; + ?> + + <h1><?php echo $title_str[$key]; ?></h1> + <hr /> + <br /> + <?php + + if($_SESSION['sql_dbtype'] == 'mysql') + { + echo i18n_install("NOTE: If you have setup a root Password for your MySQL Database please login using your root account."); + echo "<br /><br />"; + $_SESSION['sql_dbport'] = '3306'; + } + elseif($_SESSION['sql_dbtype'] == 'postgres') + { + echo i18n_install("NOTE: There is currently now way to let LinPHA create the required Database, so you have to create a new Database using \"createdb\" from commandline before you proceed."); + echo "<br /><br />"; + $_SESSION['sql_dbport'] = '5432'; + } + elseif($_SESSION['sql_dbtype'] == 'oci8po') + { + echo i18n_install("NOTE: Oracle support is only testet on XE the \"Free\" Edition. If you get things running using a \"real\" Oracle Database please drop us a note!"); + echo "<br /><br />"; + $_SESSION['sql_dbport'] = '1521'; + } + ?> + + <div class="boxalign"> + <?php echo i18n_install("Username").":"; ?> + <input class="boxalignelement" type="text" id="check01" onKeyup="checkForm()" + name="sql_username" value="<?php echo isset($_SESSION['sql_username']) ? $_SESSION['sql_username'] : 'root' ; ?>"> + <br /> + </div> + + <div class="boxalign"> + <?php echo i18n_install("Password").":"; ?> + <input class="boxalignelement" type="password" id="check02" + onKeyup="checkForm()" name="sql_password"> + <br /> + </div> + + <div class="boxalign"> + <?php echo i18n_install("Hostname").":"; ?> + <input class="boxalignelement" type="text" id="check03" onKeyup="checkForm()" + name="sql_hostname" value="<?php echo isset($_SESSION['sql_hostname']) ? + $_SESSION['sql_hostname'] : 'localhost' ; ?>"> + </div> + + <div class="boxalign"> + <?php echo i18n_install("Port").":"; ?> + <input class="boxalignelement" type="text" id="check04" onKeyup="checkForm()" + name="sql_dbport" value="<?php echo isset($_SESSION['sql_dbport']) ? + $_SESSION['sql_dbport'] : '3306' ; ?>"> + </div> + + + <?php + + $array_check = array( + 'check01' => 'text', + //'check02' => 'text', + 'check03' => 'text', + 'check04' => 'text' + ); + + $do_javascript_disable_button = true; } -?> - -<div class="boxalign"> -<?php echo i18n_install("Username").":"; ?> -<input class="boxalignelement" type="text" id="check01" onKeyup="checkForm()" - name="sql_username" value="<?php echo isset($_SESSION['sql_username']) ? $_SESSION['sql_username'] : 'root' ; ?>"> -<br /> -</div> - -<div class="boxalign"> -<?php echo i18n_install("Password").":"; ?> -<input class="boxalignelement" type="password" id="check02" - onKeyup="checkForm()" name="sql_password"> -<br /> -</div> - -<div class="boxalign"> -<?php echo i18n_install("Hostname").":"; ?> -<input class="boxalignelement" type="text" id="check03" onKeyup="checkForm()" - name="sql_hostname" value="<?php echo isset($_SESSION['sql_hostname']) ? - $_SESSION['sql_hostname'] : 'localhost' ; ?>"> -</div> - -<div class="boxalign"> -<?php echo i18n_install("Port").":"; ?> -<input class="boxalignelement" type="text" id="check04" onKeyup="checkForm()" - name="sql_dbport" value="<?php echo isset($_SESSION['sql_dbport']) ? - $_SESSION['sql_dbport'] : '3306' ; ?>"> -</div> - - -<?php - -$array_check = array( - 'check01' => 'text', - //'check02' => 'text', - 'check03' => 'text', - 'check04' => 'text' -); - -$do_javascript_disable_button = true; include_once(LINPHA_DIR.'/install/footer.php'); /* vi: set ts=4 sw=4 sts=4 */ -?> +?> \ No newline at end of file Modified: trunk/linpha2/install/step7_selectprefix.php =================================================================== --- trunk/linpha2/install/step7_selectprefix.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/install/step7_selectprefix.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -28,11 +28,17 @@ /** - * sqlite go back stuff + * sqlite go back and validation stuff */ if(isset($_SESSION['sql_dbtype']) && $_SESSION['sql_dbtype'] == "sqlite") { - $back_file = "step4_selectdirectories.php"; + $back_file = "step5_getlogin.php"; + + $_SESSION['sql_username'] = ''; + $_SESSION['sql_password'] = ''; + $_SESSION['sql_hostname'] = ''; + $_SESSION['sql_dbname'] = 'database.sqlite'; + $_SESSION['sql_prefix'] = 'linpha_'; } include_once(LINPHA_DIR.'/install/header_html.php'); @@ -130,24 +136,6 @@ break; case "sqlite": - /** - * checking album, sql, cache and tmp directory - */ - if(isset($_POST['cmd_step4'])) - { - /** - * checking album, sql, cache and tmp directory - */ - $dirs = initSessionValues(); - if(initInitialDirectories($dirs) != true) - { - $show_next_button = false; - include_once(LINPHA_DIR.'/install/footer.php'); - exit(); - } - } - - if (isset($_SESSION['sqlite_db_created']) && $_SESSION['sqlite_db_created']==$_SESSION['sql_dir']) { echo i18n_install("Sqlite database already created, please continue to next step."); Modified: trunk/linpha2/install/step8_testing.php =================================================================== --- trunk/linpha2/install/step8_testing.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/install/step8_testing.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -72,8 +72,6 @@ echo success_msg(); - - echo '<br />'; /** @@ -81,29 +79,24 @@ */ if($_SESSION['sql_dbtype'] != "sqlite") { - ?> - <?php echo i18n_install("Checking For Existing Tables...").' '; ?> - <?php - $array_tables = $linpha->db->MetaTables(); + echo i18n_install("Checking For Existing Tables...").' '; + + $array_tables = $linpha->db->MetaTables(); - if (! isset($array_tables) OR ! is_array($array_tables)) + if (!isset($array_tables) OR !is_array($array_tables)) { echo failed_msg(); - echo "<br />".i18n_install("Cannot Read Tables").": ".mysql_error(); + echo "<br />".i18n_install("Error: Cannot read tables from database."); + echo $linpha->db->ErrorMsg().'<br />'; + $error_nr = 2; } else { - include_once(LINPHA_DIR.'/lib/include/sql/sql.tables.php'); + $linpha_tables = array(); + require_once(LINPHA_DIR.'/lib/include/sql/sql.tables.php'); + $linpha_tables = array_keys($linpha_tables); - /** - * add prefix - */ - foreach($linpha_tables as $key=>$value) - { - $linpha_tables[$key] = $_SESSION['sql_prefix'].$value; - } - $result = array_intersect ($linpha_tables, $array_tables); if(isset($result) && is_array($result) && (count($result) > 0) ) @@ -127,7 +120,7 @@ * try to create a new db user */ $n_runs = 1; -if($_SESSION['sql_dbtype'] == "mysql") +if ( $_SESSION['sql_dbtype'] == "mysql" && !isset($_SESSION['no_create_new_user']) ) // no_create_new_user is set later when we are already successfully running the new user (and of course have no permission to create another one) { echo i18n_install("Trying To Create New LinPHA Database User...").' '; $random_pass = installRandomString(10); @@ -292,22 +285,19 @@ } } -/** - * new user failed, use old connection - */ - if(isset($use_other_conn)) - { - echo "<br /><br /><b>".i18n_install("New User Tests Failed, Falling Back...")."</b>"; - $linpha->db = $orig_conn; // @TODO flo: i don't think that this makes any sense... - } - elseif($n_runs == 2) - { - $_SESSION['sql_username'] = $random_user; - $_SESSION['sql_password'] = $random_pass; - } +if(isset($use_other_conn)) +{ + echo "<br /><br /><b>".i18n_install("New User Tests Failed, Falling Back...")."</b>"; +} +elseif($n_runs == 2) +{ + $_SESSION['sql_username'] = $random_user; + $_SESSION['sql_password'] = $random_pass; + $_SESSION['no_create_new_user'] = true; // set this variable to prevent create another user if we later press the back button +} echo '<br /><br />'; include_once(LINPHA_DIR.'/install/footer.php'); /* vi: set ts=4 sw=4 sts=4 */ -?> +?> \ No newline at end of file Modified: trunk/linpha2/install/step9_createtables.php =================================================================== --- trunk/linpha2/install/step9_createtables.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/install/step9_createtables.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -23,106 +23,56 @@ * linpha installer * @package Installation */ -include_once(LINPHA_DIR.'/lib/include/common.php'); -include_once(LINPHA_DIR.'/install/header.php'); +require_once(LINPHA_DIR.'/lib/include/common.php'); +require_once(LINPHA_DIR.'/install/header.php'); +require_once(LINPHA_DIR.'/install/header_html.php'); +require_once(LINPHA_DIR.'/lib/classes/linpha.class.php'); -/** - * now, it is too late to go back... - */ -$show_back_button = false; - -include_once(LINPHA_DIR.'/install/header_html.php'); -include_once(LINPHA_DIR.'/lib/classes/linpha.class.php'); - $linpha = new Linpha(); $linpha->sql->dbConnect(); /** * create tables */ - /** - * get table names and add prefix - */ - include_once(LINPHA_DIR.'/lib/include/sql/sql.tables.php'); - - // append LIN_PREFIX before each table - // but we also could do this directly in the sql.mysql.php file!? - foreach($linpha_tables as $key=>$value) - { - $linpha_tables[$key] = LIN_PREFIX.$value; - } - - /** - * include sql strings - */ - include_once(LINPHA_DIR.'/lib/include/sql/sql.'.LIN_DB_TYPE.'.php'); - - /** - * finally create tables - */ - echo i18n_install("Creating Tables...").' '; - - $translation_array = array_keys($linpha_tables); // only used in error case - while( list($key,$query) = each($sql_tables) ) - { - $result = $linpha->db->Execute($query); - if(!$result) - { - echo LIN_PREFIX.$translation_array[$key].' '; - echo failed_msg(); - echo ' '.$linpha->db->ErrorMsg().'<br />'; - $error_nr = 1; - } - } - /** - * take care of oracle sequences and triggers - */ - if($_SESSION['sql_dbtype'] == 'oci8po') - { - echo i18n_install("Creating Sequences...")."<br /> "; - - /** - * create sequences - */ - while( list($key, $query) = each($sql_sequence) ) - { - $result = $linpha->db->Execute($query); - if(!$result) - { - echo failed_msg(); - echo sprintf( i18n_install("Failed To Create Sequence for [%s]",$key) ); - echo ' '.$linpha->db->ErrorMsg().'<br />'; - $error_nr = 1; - } - } - - /** - * create triggers - */ - echo i18n_install("Creating Triggers...")."<br /> "; - while( list($key, $query) = each($sql_trigger) ) - { - $result = $linpha->db->Execute($query); - if(!$result) - { - echo failed_msg(); - echo sprintf( i18n_install("Failed To Create Trigger for [%s]",$key) ); - echo ' '.$linpha->db->ErrorMsg().'<br />'; - $error_nr = 1; - } - } - } + echo i18n_install("Creating Tables...").' '; + + require_once(LINPHA_DIR.'/lib/include/sql/sql.tables.php'); + + $taboptarray = array(); + require_once(LINPHA_DIR.'/lib/include/sql/sql.tablesconfig.php'); + + if (LIN_DB_TYPE=='sqlite') { + $dict = &NewDataDictionary($linpha->db,'sqlite'); // force use of sqlite datadict file + } else { + $dict = &NewDataDictionary($linpha->db); + } + //$dict->debug = true; + + foreach($linpha_tables as $table_name => $table_flds) + { + $sqlarray = $dict->CreateTableSQL($table_name, $table_flds, $taboptarray); + + if ($dict->ExecuteSQLArray($sqlarray, $continue_on_error = false) != 2) { + /** + * RETURNS: 0 if failed, 1 if executed all but with errors, 2 if executed successfully + * $sqlarray: an array of strings with sql code (no semicolon at the end of string) + * $contOnError: if true, then continue executing even if error occurs + */ + $error_nr = 1; + } + } - if(!isset($error_nr)) - { - echo success_msg(); - } - else - { - $show_next_button = false; - include_once(LINPHA_DIR.'/install/footer.php'); - exit(1); - } + if(!isset($error_nr)) + { + echo success_msg(); + } + else + { + echo failed_msg(); + $show_next_button = false; + include_once(LINPHA_DIR.'/install/footer.php'); + exit(1); + } /** * insert data @@ -158,8 +108,8 @@ * create cache directories */ echo "<br />".i18n_install("Creating Cache Directories...").' '; - mkdir(installGetFullPath( $_SESSION['cache_dir'] ).'/img', 0700); - mkdir(installGetFullPath( $_SESSION['cache_dir'] ).'/thumb', 0700); + @mkdir(installGetFullPath( $_SESSION['cache_dir'] ).'/img', 0700); + @mkdir(installGetFullPath( $_SESSION['cache_dir'] ).'/thumb', 0700); echo success_msg(); @@ -237,7 +187,8 @@ exit(1); } +$do_javascript_disable_backbutton = true; include_once(LINPHA_DIR.'/install/footer.php'); /* vi: set ts=4 sw=4 sts=4 */ -?> +?> \ No newline at end of file Added: trunk/linpha2/lib/adodb/datadict/datadict-sqlite.inc.php =================================================================== --- trunk/linpha2/lib/adodb/datadict/datadict-sqlite.inc.php (rev 0) +++ trunk/linpha2/lib/adodb/datadict/datadict-sqlite.inc.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -0,0 +1,82 @@ +<?php + +/** + V4.64 20 June 2005 (c) 2000-2005 John Lim (jl...@na...). All rights reserved. + Released under both BSD license and Lesser GPL library license. + Whenever there is any discrepancy between the two licenses, + the BSD license will take precedence. + + Set tabs to 4 for best viewing. + +*/ + +// security - hide paths +if (!defined('ADODB_DIR')) die(); + +class ADODB2_sqlite extends ADODB_DataDict { + + var $databaseType = 'sqlite'; + var $seqField = false; + + + function MetaType($t,$len=-1,$fieldobj=false) + { + if (is_object($t)) { + $fieldobj = $t; + $t = $fieldobj->type; + $len = $fieldobj->max_length; + } + switch (strtoupper($t)) { + case 'TEXT': + return 'X'; + case 'FLOAT': + case 'DOUBLE': + return 'F'; + } + return parent::MetaType($t,$len,$fieldobj); + } + + function ActualType($meta) + { + switch($meta) { + case 'C': return 'VARCHAR'; + case 'XL': return 'TEXT'; + case 'X': return 'TEXT'; + + case 'C2': return 'VARCHAR'; + case 'X2': return 'TEXT'; + + case 'B': return 'BLOB'; + + case 'D': return 'DATE'; + case 'T': return 'DATE'; + + case 'L': return 'BOOLEAN'; + case 'I': return 'INTEGER'; + case 'I1': return 'INTEGER'; + case 'I2': return 'INTEGER'; + case 'I4': return 'INTEGER'; + case 'I8': return 'INTEGER'; + + case 'F': return 'FLOAT'; + case 'N': return 'DECIMAL'; + default: + return $meta; + } + } + + function AlterColumnSQL($tabname, $flds, $tableflds='',$tableoptions='') + { + if ($this->debug) ADOConnection::outp("AlterColumnSQL not supported"); + return array(); + } + + + function DropColumnSQL($tabname, $flds, $tableflds='',$tableoptions='') + { + if ($this->debug) ADOConnection::outp("DropColumnSQL not supported"); + return array(); + } +} + +?> \ No newline at end of file Modified: trunk/linpha2/lib/classes/adodb-errorhandler.inc.php =================================================================== --- trunk/linpha2/lib/classes/adodb-errorhandler.inc.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/lib/classes/adodb-errorhandler.inc.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -83,7 +83,10 @@ * -> no need anymore for : * if(!$create) { echo $GLOBALS['db']->ErrorMsg().'<br />'; } */ - echo $s.'<br />'; + if (!isset($GLOBALS['LINPHA_DISABLE_ERROR_DIRECT_OUTPUT'])) + { + linSysLog($s.'<br />'); + } linLog(LOG_TYPE_DB, LOG_ERR, 'adodb', $s); } ?> \ No newline at end of file Modified: trunk/linpha2/lib/classes/linpha.sql.class.php =================================================================== --- trunk/linpha2/lib/classes/linpha.sql.class.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/lib/classes/linpha.sql.class.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -43,10 +43,11 @@ */ function dbConnect() { - + error_reporting(E_ALL); // | E_STRICT error_reporting is turned off by make_release.sh + include_once(LINPHA_DIR.'/lib/classes/adodb-errorhandler.inc.php'); + if(isset($_SESSION['installmode1'])) { - include_once(LINPHA_DIR.'/lib/classes/adodb-errorhandler.inc.php'); $db_type = $_SESSION['sql_dbtype']; $db_hostname = $_SESSION['sql_hostname']; $db_username = $_SESSION['sql_username']; @@ -57,8 +58,6 @@ } else { - error_reporting(E_ALL); // | E_STRICT error_reporting is turned off by make_release.sh - include_once(LINPHA_DIR.'/lib/classes/adodb-errorhandler.inc.php'); /** * if we can keep the "_once" at those include files it would be @@ -130,6 +129,13 @@ break; case "mysql": $GLOBALS['linpha']->db->Connect("$db_hostname:$db_port", $db_username, $db_password, $db_name); + $GLOBALS['linpha']->db->Execute('SET NAMES "UTF8"'); + $GLOBALS['linpha']->db->Execute("SET collation_connection='utf8_general_ci'"); + $GLOBALS['linpha']->db->Execute("SET collation_server='utf8_general_ci'"); + $GLOBALS['linpha']->db->Execute("SET character_set_client='utf8'"); + $GLOBALS['linpha']->db->Execute("SET character_set_connection='utf8'"); + $GLOBALS['linpha']->db->Execute("SET character_set_results='utf8'"); + $GLOBALS['linpha']->db->Execute("SET character_set_server='utf8'"); break; case "postgres": if(isset($db_password)) Deleted: trunk/linpha2/lib/include/sql/sql.info.txt =================================================================== --- trunk/linpha2/lib/include/sql/sql.info.txt 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/lib/include/sql/sql.info.txt 2008-02-17 22:50:14 UTC (rev 4880) @@ -1,7 +0,0 @@ - - - -- only use lower case table and column names - -missing: utf8 explanations -missing: sample table for each database driver \ No newline at end of file Deleted: trunk/linpha2/lib/include/sql/sql.mysql.php =================================================================== --- trunk/linpha2/lib/include/sql/sql.mysql.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/lib/include/sql/sql.mysql.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -1,150 +0,0 @@ -<?php -/* -* Copyright (c) 2005 Heiko Rutenbeck <bz...@tu...> -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/** - * linpha installer - */ - -$sql_tables = array( - "CREATE TABLE ".$linpha_tables['config']." ( ". - "id INT NOT NULL AUTO_INCREMENT, " . - "option_name VARCHAR(255) NOT NULL default '', " . - "option_value VARCHAR(255) NOT NULL default '', " . - "user_id INT default '0', " . - "override SMALLINT default '0', " . - "PRIMARY KEY (id) " . - ")", - "CREATE TABLE ".$linpha_tables['users']." ( ". - "id INT NOT NULL AUTO_INCREMENT , " . - "username VARCHAR(255) NOT NULL default '' , " . - "password VARCHAR(255) NOT NULL default '' , " . - "user_email VARCHAR(255) NOT NULL default '' , " . - "display_name VARCHAR(255) NOT NULL default '' , " . - "stats_downloads INT default '0', " . - "stats_downloads_size INT default '0', " . - "PRIMARY KEY (id) " . - ")", - "CREATE TABLE ".$linpha_tables['groups']." ( ". - "id INT NOT NULL AUTO_INCREMENT, " . - "group_name VARCHAR(255) NOT NULL default '', " . - "PRIMARY KEY (id) " . - ")", - "CREATE TABLE ".$linpha_tables['user_group']." ( ". - "id INT NOT NULL AUTO_INCREMENT, " . - "group_id INT NOT NULL default '0', " . - "user_id INT NOT NULL default '0', " . - "PRIMARY KEY (id) " . - ")", - "CREATE TABLE ".$linpha_tables['permissions']." ( ". - "id INT NOT NULL AUTO_INCREMENT, " . - "photos_id INT NOT NULL default '0', " . - "perm_type VARCHAR(255) NOT NULL default '0', " . - "permission VARCHAR(255) NOT NULL default '', " . - "PRIMARY KEY (id) " . - ")", - "CREATE TABLE ".$linpha_tables['photos']." ( ". - "id INT NOT NULL AUTO_INCREMENT, " . - "parent_id INT NOT NULL default '0', " . - "img_type INT NOT NULL default '0', " . - "name VARCHAR(255) NOT NULL default '', " . - "md5sum VARCHAR(32) NOT NULL default '', " . - "width INT NOT NULL default '0', " . - "height INT NOT NULL default '0', " . - "filesize INT NOT NULL default '0', " . - "time_add INT NOT NULL default '0', " . - "time_mod INT NOT NULL default '0', " . - "time_exif INT NOT NULL default '0', " . - "rotate INT NOT NULL default '0', " . - "stats_numbers INT NOT NULL default '0', " . - "stats_views INT NOT NULL default '0', " . - "stats_downloads INT NOT NULL default '0', " . - "geodata INT(1) default '0', " . - "PRIMARY KEY (id) " . - ")", - "CREATE TABLE ".$linpha_tables['photos_cache']." ( ". - "id INT NOT NULL AUTO_INCREMENT, " . - "photo_id INT NOT NULL default '0', " . - "img_width SMALLINT NOT NULL default '0', " . - "img_height SMALLINT NOT NULL default '0', " . - "img_quality SMALLINT NOT NULL default '0', " . - "img_size INT NOT NULL default '0', " . - "is_rotated SMALLINT NOT NULL default '0', " . - "has_watermark SMALLINT NOT NULL default '0', " . - "time_add INT NOT NULL default '0', " . - "time_use INT NOT NULL default '0', " . - "time_creating INT NOT NULL default '0', " . - "hits INT NOT NULL default '0', " . - "PRIMARY KEY (id) " . - ")", - "CREATE TABLE ".$linpha_tables['meta_fields']." ( ". - "id INT NOT NULL AUTO_INCREMENT, " . - "name VARCHAR(255) NOT NULL default '', " . - "field_type SMALLINT NOT NULL default '0', " . - "flags SMALLINT NOT NULL default '0', " . - "PRIMARY KEY (id) " . - ")", - "CREATE TABLE ".$linpha_tables['meta_category']." ( ". - "id INT NOT NULL AUTO_INCREMENT, " . - "field_id INT NOT NULL default '0', " . - "name VARCHAR(255) NOT NULL default '', " . - "isprivate SMALLINT default NULL, " . - "PRIMARY KEY (id) " . - ")", - "CREATE TABLE ".$linpha_tables['meta_exif']." ( ". - "md5sum VARCHAR(32) NOT NULL default '', " . - "datetimeoriginal VARCHAR(255) default NULL, " . - "make VARCHAR(255) default NULL, " . - "model VARCHAR(255) default NULL, " . - "artist VARCHAR(255) default NULL, " . - "copyright VARCHAR(255) default NULL, " . - "aperturevalue VARCHAR(255) default NULL, " . - "shutterspeedvalue VARCHAR(255) default NULL, " . - "exposuretime VARCHAR(255) default NULL, " . -// "isospeedratings VARCHAR(255) default NULL, " . - "flash VARCHAR(255) default NULL, " . - "focallength VARCHAR(255) default NULL, " . - "fnumber VARCHAR(255) default NULL, " . -// "jpegcomment VARCHAR(255) default NULL, " . - "PRIMARY KEY (md5sum) " . - ")", - "CREATE TABLE ".$linpha_tables['meta_iptc']." ( ". - "md5sum VARCHAR(32) NOT NULL default '', " . - "PRIMARY KEY (md5sum) " . - ")", - "CREATE TABLE ".$linpha_tables['meta_xmp']." ( ". - "md5sum VARCHAR(32) NOT NULL default '', " . - "PRIMARY KEY (md5sum) " . - ")", - "CREATE TABLE ".$linpha_tables['meta_comments']." ( ". - "id INT NOT NULL AUTO_INCREMENT, " . - "md5sum VARCHAR(32) NOT NULL default '', " . - "meta_time INT NOT NULL default '0', " . - "meta_author VARCHAR(255) NOT NULL default '', " . - "meta_comment text NOT NULL, " . - " PRIMARY KEY (id) " . - ")", - "CREATE TABLE ".$linpha_tables['meta_data']." ( ". - "id INT NOT NULL AUTO_INCREMENT, " . - "field_id INT NOT NULL default '0', " . - "md5sum VARCHAR(32) NOT NULL default '', " . - "meta_data VARCHAR(255) NOT NULL default '', " . - "PRIMARY KEY (id) " . - ")", -); -?> Deleted: trunk/linpha2/lib/include/sql/sql.oci8po.php =================================================================== --- trunk/linpha2/lib/include/sql/sql.oci8po.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/lib/include/sql/sql.oci8po.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -1,248 +0,0 @@ -<?php -/* -* Copyright (c) 2005 Heiko Rutenbeck <bz...@tu...> -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/** - * linpha installer - */ - -$sql_tables = array( - "CREATE TABLE ".$linpha_tables['config']." ( ". - "id NUMBER PRIMARY KEY, " . - "option_name VARCHAR2(255) NOT NULL, " . - "option_value VARCHAR2(255), " . - "user_id NUMBER(10) DEFAULT '0', " . - "override NUMBER(6) DEFAULT '0'" . - ")", - "CREATE TABLE ".$linpha_tables['users']." ( ". - "id NUMBER PRIMARY KEY, " . - "username VARCHAR2(255) NOT NULL, " . - "password VARCHAR2(255) NOT NULL, " . - "user_email VARCHAR2(255) NOT NULL, " . - "display_name VARCHAR2(255), " . - "stats_downloads NUMBER(10) DEFAULT '0', " . - "stats_downloads_size NUMBER(10) DEFAULT '0' " . - ")", - "CREATE TABLE ".$linpha_tables['groups']." ( ". - "id NUMBER PRIMARY KEY, " . - "group_name VARCHAR2(255) NOT NULL " . - ")", - "CREATE TABLE ".$linpha_tables['user_group']." ( ". - "id NUMBER PRIMARY KEY, " . - "group_id NUMBER(10), " . - "user_id NUMBER(10)" . - ")", - "CREATE TABLE ".$linpha_tables['permissions']." ( ". - "id NUMBER PRIMARY KEY, " . - "photos_id NUMBER DEFAULT '0', " . - "perm_type VARCHAR2(255), " . - "permission VARCHAR2(255)" . - ")", - "CREATE TABLE ".$linpha_tables['photos']." ( ". - "id NUMBER PRIMARY KEY, " . - "parent_id NUMBER DEFAULT '0', " . - "img_type NUMBER(10) DEFAULT '0', " . - "name VARCHAR2(255) NOT NULL, " . - "md5sum VARCHAR2(32), " . - "width NUMBER(10) default '0', " . - "height NUMBER(10) default '0', " . - "filesize NUMBER(10) default '0', " . - "time_add NUMBER(12) DEFAULT '0', " . - "time_mod NUMBER(12) DEFAULT '0', " . - "time_exif NUMBER(12) DEFAULT '0', " . - "rotate NUMBER(12) DEFAULT '0', " . - "stats_numbers NUMBER(10) DEFAULT '0', " . - "stats_views NUMBER(10) DEFAULT '0', " . - "stats_downloads NUMBER(10) DEFAULT '0'" . - "geodata NUMBER(1) default '0' " . - ")", - "CREATE TABLE ".$linpha_tables['photos_cache']." ( ". - "id NUMBER PRIMARY KEY, " . - "photo_id NUMBER DEFAULT '0', " . - "img_width NUMBER(6) DEFAULT '0', " . - "img_height NUMBER(6) DEFAULT '0', " . - "img_quality NUMBER(6) DEFAULT '0', " . - "img_size NUMBER(10) DEFAULT '0', " . - "is_rotated NUMBER(2) DEFAULT '0', " . - "has_watermark NUMBER(2) DEFAULT '0', " . - "time_add NUMBER(12) DEFAULT '0', " . - "time_use NUMBER(12) DEFAULT '0', " . - "time_creating NUMBER(12) DEFAULT '0', " . - "hits NUMBER(10) DEFAULT '0'" . - ")", - "CREATE TABLE ".$linpha_tables['meta_fields']." ( ". - "id NUMBER PRIMARY KEY, " . - "name VARCHAR2(255) NOT NULL, " . - "field_type NUMBER(12) DEFAULT '0', " . - "flags NUMBER(6) DEFAULT '0' " . - ")", - "CREATE TABLE ".$linpha_tables['meta_category']." ( ". - "id NUMBER PRIMARY KEY, " . - "field_id NUMBER(12) DEFAULT '0', " . - "name VARCHAR2(255), " . - "isprivate NUMBER(6) DEFAULT '0' " . - ")", - "CREATE TABLE ".$linpha_tables['meta_exif']." ( ". - "md5sum VARCHAR2(32) NOT NULL, " . - "datetimeoriginal VARCHAR2(255) DEFAULT NULL, " . - "make VARCHAR2(255) DEFAULT NULL, " . - "model VARCHAR2(255) DEFAULT NULL, " . - "artist VARCHAR2(255) DEFAULT NULL, " . - "copyright VARCHAR2(255) DEFAULT NULL, " . - "aperturevalue VARCHAR2(255) DEFAULT NULL, " . - "shutterspeedvalue VARCHAR2(255) DEFAULT NULL, " . - "exposuretime VARCHAR2(255) DEFAULT NULL, " . -// "isospeedratings VARCHAR2(255) DEFAULT NULL, " . - "flash VARCHAR2(255) DEFAULT NULL, " . - "focallength VARCHAR2(255) DEFAULT NULL, " . - "fnumber VARCHAR2(255) DEFAULT NULL " . -// "jpegcomment VARCHAR2(255) DEFAULT NULL " . - ")", - "CREATE TABLE ".$linpha_tables['meta_iptc']." ( ". - "md5sum VARCHAR2(32) NOT NULL" . - ")", - "CREATE TABLE ".$linpha_tables['meta_xmp']." ( ". - "md5sum VARCHAR2(32) NOT NULL" . - ")", - "CREATE TABLE ".$linpha_tables['meta_comments']." ( ". - "id NUMBER PRIMARY KEY, " . - "md5sum VARCHAR2(32) NOT NULL, " . - "meta_time NUMBER(12) DEFAULT '0', " . - "meta_author VARCHAR2(255), " . - "meta_comment CLOB " . - ")", - "CREATE TABLE ".$linpha_tables['meta_data']." ( ". - "id NUMBER PRIMARY KEY, " . - "field_id NUMBER DEFAULT '0', " . - "md5sum VARCHAR2(32) NOT NULL, " . - "meta_data VARCHAR2(255)" . - ")" -); - -/** - * autoincrement the oracle way ;-) - */ -$sql_sequence[] = "CREATE SEQUENCE config_seq START WITH 1"; -$sql_sequence[] = "CREATE SEQUENCE users_seq START WITH 1"; -$sql_sequence[] = "CREATE SEQUENCE groups_seq START WITH 1"; -$sql_sequence[] = "CREATE SEQUENCE user_group_seq START WITH 1"; -$sql_sequence[] = "CREATE SEQUENCE permissions_seq START WITH 1"; -$sql_sequence[] = "CREATE SEQUENCE photos_seq START WITH 1"; -$sql_sequence[] = "CREATE SEQUENCE photos_cache_seq START WITH 1"; -$sql_sequence[] = "CREATE SEQUENCE meta_fields_seq START WITH 1"; -$sql_sequence[] = "CREATE SEQUENCE meta_category_seq START WITH 1"; -//$sql_sequence[] = "CREATE SEQUENCE meta_exif_seq START WITH 1"; -//$sql_sequence[] = "CREATE SEQUENCE meta_iptc_seq START WITH 1"; -$sql_sequence[] = "CREATE SEQUENCE meta_comments_seq START WITH 1"; -$sql_sequence[] = "CREATE SEQUENCE meta_data_seq START WITH 1"; - -$sql_trigger[] = "CREATE OR REPLACE TRIGGER config_trig " . - "BEFORE INSERT ON ".$linpha_tables['config']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT config_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; -$sql_trigger[] = "CREATE OR REPLACE TRIGGER users_trig " . - "BEFORE INSERT ON ".$linpha_tables['users']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT users_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; -$sql_trigger[] = "CREATE OR REPLACE TRIGGER groups_trig " . - "BEFORE INSERT ON ".$linpha_tables['groups']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT groups_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; -$sql_trigger[] = "CREATE OR REPLACE TRIGGER user_group_trig " . - "BEFORE INSERT ON ".$linpha_tables['user_group']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT user_group_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; -$sql_trigger[] = "CREATE OR REPLACE TRIGGER permissions_trig " . - "BEFORE INSERT ON ".$linpha_tables['permissions']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT permissions_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; -$sql_trigger[] = "CREATE OR REPLACE TRIGGER photos_trig " . - "BEFORE INSERT ON ".$linpha_tables['photos']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT photos_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; -$sql_trigger[] = "CREATE OR REPLACE TRIGGER photos_cache_trig " . - "BEFORE INSERT ON ".$linpha_tables['photos_cache']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT photos_cache_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; -$sql_trigger[] = "CREATE OR REPLACE TRIGGER meta_fields_trig " . - "BEFORE INSERT ON ".$linpha_tables['meta_fields']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT meta_fields_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; -$sql_trigger[] = "CREATE OR REPLACE TRIGGER meta_category_trig " . - "BEFORE INSERT ON ".$linpha_tables['meta_category']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT meta_category_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; -/*$sql_trigger[] = "CREATE OR REPLACE TRIGGER meta_exif_trig " . - "BEFORE INSERT ON ".$linpha_tables['meta_exif']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT meta_exif_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; - -$sql_trigger[] = "CREATE OR REPLACE TRIGGER meta_iptc_trig " . - "BEFORE INSERT ON ".$linpha_tables['meta_iptc']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT meta_iptc_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; -*/ -$sql_trigger[] = "CREATE OR REPLACE TRIGGER meta_comments_trig " . - "BEFORE INSERT ON ".$linpha_tables['meta_comments']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT meta_comments_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; -$sql_trigger[] = "CREATE OR REPLACE TRIGGER meta_data_trig " . - "BEFORE INSERT ON ".$linpha_tables['meta_data']." " . - "REFERENCING NEW AS NEW " . - "FOR EACH ROW " . - "BEGIN " . - "SELECT meta_data_seq.nextval INTO :new.id FROM DUAL; " . - "END; "; -?> - \ No newline at end of file Deleted: trunk/linpha2/lib/include/sql/sql.postgres.php =================================================================== --- trunk/linpha2/lib/include/sql/sql.postgres.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/lib/include/sql/sql.postgres.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -1,153 +0,0 @@ -<?php -/* -* Copyright (c) 2005 Heiko Rutenbeck <bz...@tu...> -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/** - * linpha installer - */ - -$sql_tables = array( - "CREATE TABLE ".$linpha_tables['config']." ( ". - "id SERIAL PRIMARY KEY, " . - "option_name VARCHAR(255) NOT NULL default '', " . - "option_value VARCHAR(255) NOT NULL default '', " . - "user_id INT default '0', " . - "override SMALLINT default '0' " . - ")", - "CREATE TABLE ".$linpha_tables['users']." ( ". - "id SERIAL PRIMARY KEY, " . - "username VARCHAR(255) NOT NULL default '' , " . - "password VARCHAR(255) NOT NULL default '' , " . - "user_email VARCHAR(255) NOT NULL default '' , " . - "display_name VARCHAR(255) NOT NULL default '' , " . - "stats_downloads INT NOT NULL default 0 , " . - "stats_downloads_size INT NOT NULL default 0 " . - ")", - "CREATE TABLE ".$linpha_tables['groups']." ( ". - "id SERIAL PRIMARY KEY, " . - "group_name VARCHAR(255) NOT NULL default '' " . - ")", - "CREATE TABLE ".$linpha_tables['user_group']." ( ". - "id SERIAL PRIMARY KEY, " . - "group_id INT NOT NULL default 0, " . - "user_id INT NOT NULL default 0" . - ")", - "CREATE TABLE ".$linpha_tables['permissions']." ( ". - "id SERIAL PRIMARY KEY, " . - "photos_id INT NOT NULL default '0', " . - "perm_type VARCHAR(255) NOT NULL default '0', " . - "permission VARCHAR(255) NOT NULL default '' " . - ")", - "CREATE TABLE ".$linpha_tables['photos']." ( ". - "id SERIAL PRIMARY KEY, " . - "parent_id INT NOT NULL default '0', " . - "img_type INT NOT NULL default '0', " . - "name VARCHAR(255) NOT NULL, " . - "md5sum VARCHAR(32) NOT NULL default '', " . - "width INT NOT NULL default '0', " . - "height INT NOT NULL default '0', " . - "filesize INT NOT NULL default '0', " . - "time_add INT NOT NULL default '0', " . - "time_mod INT NOT NULL default '0', " . - "time_exif INT NOT NULL default '0', " . - "rotate INT NOT NULL default '0', " . - "stats_numbers INT NOT NULL default '0', " . - "stats_views INT NOT NULL default '0', " . - "stats_downloads INT NOT NULL default '0', " . - "geodata INT default '0' " . - ")", - "CREATE TABLE ".$linpha_tables['photos_cache']." ( ". - "id SERIAL PRIMARY KEY, " . - "photo_id INT NOT NULL default '0', " . - "img_width SMALLINT NOT NULL default '0', " . - "img_height SMALLINT NOT NULL default '0', " . - "img_quality SMALLINT NOT NULL default '0', " . - "img_size INT NOT NULL default '0', " . - "is_rotated SMALLINT NOT NULL default '0', " . - "has_watermark SMALLINT NOT NULL default '0', " . - "time_add INT NOT NULL default '0', " . - "time_use INT NOT NULL default '0', " . - "time_creating INT NOT NULL default '0', " . - "hits INT NOT NULL default '0' " . - ")", - "CREATE TABLE ".$linpha_tables['meta_fields']." ( ". - "id SERIAL PRIMARY KEY, " . - "name VARCHAR(255) NOT NULL default '', " . - "field_type SMALLINT NOT NULL default '0', " . - "flags SMALLINT NOT NULL default '0' " . - ")", - "CREATE TABLE ".$linpha_tables['meta_category']." ( ". - "id SERIAL PRIMARY KEY, " . - "field_id INT NOT NULL default '0', " . - "name VARCHAR(255) NOT NULL default '', " . - "isprivate SMALLINT default NULL " . - ")", - "CREATE TABLE ".$linpha_tables['meta_exif']." ( ". - "md5sum VARCHAR(32) NOT NULL default '', " . - "datetimeoriginal VARCHAR(255) default NULL, " . - "make VARCHAR(255) default NULL, " . - "model VARCHAR(255) default NULL, " . - "artist VARCHAR(255) default NULL, " . - "copyright VARCHAR(255) default NULL, " . - "aperturevalue VARCHAR(255) default NULL, " . - "shutterspeedvalue VARCHAR(255) default NULL, " . - "exposuretime VARCHAR(255) default NULL, " . -// "isospeedratings VARCHAR(255) default NULL, " . - "flash VARCHAR(255) default NULL, " . - "focallength VARCHAR(255) default NULL, " . - "fnumber VARCHAR(255) default NULL " . -// "jpegcomment VARCHAR(255) default NULL " . - ")", - "CREATE TABLE ".$linpha_tables['meta_iptc']." ( ". - "md5sum VARCHAR(32) NOT NULL default '' " . - ")", - "CREATE TABLE ".$linpha_tables['meta_xmp']." ( ". - "md5sum VARCHAR(32) NOT NULL default '' " . - ")", - "CREATE TABLE ".$linpha_tables['meta_comments']." ( ". - "id SERIAL PRIMARY KEY, " . - "md5sum VARCHAR(32) NOT NULL default '', " . - "meta_time INT NOT NULL default '0', " . - "meta_author VARCHAR(255) NOT NULL default '', " . - "meta_comment TEXT NOT NULL " . - ")", - "CREATE TABLE ".$linpha_tables['meta_data']." ( ". - "id SERIAL PRIMARY KEY, " . - "field_id INT NOT NULL default '0', " . - "md5sum VARCHAR(32) NOT NULL default '', " . - "meta_data VARCHAR(255) NOT NULL default '' " . - ")" -); - -/** - * make md5sum UNIQUE in postgres DB (linpha_meta_iptc and linpha_meta_exif) - * + add important indexes - * @todo - add required indexes! -$sql_tables[] = "CREATE UNIQUE INDEX md5index_iptc ON ".$linpha_tables['meta_iptc']." USING btree (md5sum)"; -$sql_tables[] = "CREATE UNIQUE INDEX md5index_exif ON ".$linpha_tables['meta_exif']." USING btree (md5sum)"; - -$sql_tables[] = "CREATE INDEX prev_path ON ".$linpha_tables['photos']." USING btree (prev_path)"; -$sql_tables[] = "CREATE INDEX date ON ".$linpha_tables['photos']." USING btree (date)"; -$sql_tables[] = "CREATE INDEX name ON ".$linpha_tables['photos']." USING btree (name)"; -$sql_tables[] = "CREATE INDEX filename ON ".$linpha_tables['photos']." USING btree (filename)"; -$sql_tables[] = "CREATE INDEX md5sum ON ".$linpha_tables['photos']." USING btree (md5sum)"; - -$sql_tables[] = "CREATE INDEX filename_cache ON ".$linpha_tables['photo_cache']." USING btree (filename)"; -*/ -?> - \ No newline at end of file Deleted: trunk/linpha2/lib/include/sql/sql.sqlite.php =================================================================== --- trunk/linpha2/lib/include/sql/sql.sqlite.php 2008-02-13 22:02:33 UTC (rev 4879) +++ trunk/linpha2/lib/include/sql/sql.sqlite.php 2008-02-17 22:50:14 UTC (rev 4880) @@ -1,136 +0,0 @@ -<?php -/* -* Copyright (c) 2005 Heiko Rutenbeck <bz...@tu...> -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/** - * linpha installer - */ - -$sql_tables = array( - "CREATE TABLE ".$linpha_tables['config']." ( ". - "id INTEGER PRIMARY KEY, " . - "option_name VARCHAR(255) NOT NULL default '', " . - "option_value VARCHAR(255) NOT NULL default '', " . - "user_id INTEGER default '0', " . - "override SMALLINT default '0' " . - ")", - "CREATE TABLE ".$linpha_tables['users']." ( ". - "id INTEGER PRIMARY KEY, " . - "username VARCHAR(255) NOT NULL default '' , " . - "password VARCHAR(255) NOT NULL default '' , " . - "user_email VARCHAR(255) NOT NULL default '' , " . - "display_name VARCHAR(255) NOT NULL default '' , " . - "stats_downloads INTEGER NOT NULL default '0' , " . - "stats_downloads_size INTE... [truncated message content] |