[20920] improvement: Configurable adodb/pdo database abstraction

Sigurd Nes <[email protected]>
Newsgroups gmane.comp.web.phpgroupware.cvs
Message-ID <[email protected]>
Revision: 20920
          http://svn.sv.gnu.org/viewvc/?view=rev&root=phpgroupware&revision=20920
Author:   sigurdne
Date:     2010-01-05 21:10:57 +0000 (Tue, 05 Jan 2010)
Log Message:
-----------
improvement: Configurable adodb/pdo database abstraction

Modified Paths:
--------------
    people/sigurdne/modules/setup/trunk/manageheader.php
    people/sigurdne/modules/setup/trunk/templates/base/manageheader.tpl

Modified: people/sigurdne/modules/setup/trunk/manageheader.php
===================================================================
--- people/sigurdne/modules/setup/trunk/manageheader.php	2010-01-05 21:09:37 UTC (rev 20919)
+++ people/sigurdne/modules/setup/trunk/manageheader.php	2010-01-05 21:10:57 UTC (rev 20920)
@@ -317,6 +317,19 @@
 				$detected .= lang('No ODBC/SAPDB support found. Disabling') . '<br>' . "\n";
 			}
 			*/
+
+			$supported_db_abstraction = array('adodb');
+			if (extension_loaded('pdo_pgsql'))
+			{
+				$detected .= '<li>' . lang('You appear to have PDO support enabled') . "</li>\n";
+				array_unshift($supported_db_abstraction, 'pdo');
+			}
+			else
+			{
+				$detected .= '<li class="warn">' . lang('No PDO support found. Disabling') . "</li>\n";
+			}
+
+
 			if ( !count($supported_db) )
 			{
 				$lang_nodb = lang('Did not find any valid DB support!');
@@ -467,7 +480,29 @@
 						}
 
 						$setup_tpl->set_var('dbtype_options', $dbtype_options);
+//---------
+						$selected = '';
+						$db_abstraction_options = '';
+						$found_dbtype = False;
+						foreach ( $supported_db_abstraction as $db_abstraction )
+						{
+							if ( $db_abstraction == $GLOBALS['phpgw_domain'][$key]['db_abstraction'] )
+							{
+								$selected = ' selected';
+								$found_db_abstraction = true;
+							}
+							else
+							{
+								$selected = '';
+							}
+							$db_abstraction_options .= <<<HTML
+								<option{$selected} value="{$db_abstraction}">$db_abstraction</option>
 
+HTML;
+						}
+						$setup_tpl->set_var('db_abstraction_options', $db_abstraction_options);
+//----------
+
 						$setup_tpl->parse('domains','domain', true);
 					}
 					$setup_tpl->set_var('domain','');
@@ -652,6 +687,8 @@
 			$setup_tpl->set_var('lang_dbpassdescr',lang('Password of db user'));
 			$setup_tpl->set_var('lang_dbtype',lang('DB Type'));
 			$setup_tpl->set_var('lang_whichdb',lang('Which database type do you want to use with phpGroupWare?'));
+			$setup_tpl->set_var('lang_db_abstraction',lang('Database abstraction'));
+			$setup_tpl->set_var('lang_whichdb_abstraction',lang('Which abstraction type do you want to use with phpGroupWare?'));
 			$setup_tpl->set_var('lang_configpass',lang('Configuration Password'));
 			$setup_tpl->set_var('lang_passforconfig',lang('Password needed for configuration'));
 			$setup_tpl->set_var('lang_persist',lang('Persistent connections'));

Modified: people/sigurdne/modules/setup/trunk/templates/base/manageheader.tpl
===================================================================
--- people/sigurdne/modules/setup/trunk/templates/base/manageheader.tpl	2010-01-05 21:09:37 UTC (rev 20919)
+++ people/sigurdne/modules/setup/trunk/templates/base/manageheader.tpl	2010-01-05 21:10:57 UTC (rev 20920)
@@ -120,6 +120,14 @@
     <td>{lang_whichdb}</td>
   </tr>
   <tr>
+    <td><b>{lang_db_abstraction}</b><br>
+      <select name="settings[{db_domain}][db_abstraction]">
+{db_abstraction_options}
+      </select>
+    </td>
+    <td>{lang_whichdb_abstraction}</td>
+  </tr>
+  <tr>
     <td><b>{lang_configpass}</b><br><input type="text" name="settings[{db_domain}][config_pass]" value="{config_pass}"></td>
     <td>{lang_passforconfig}</td>
   </tr>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.