You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
(29) |
May
(39) |
Jun
(14) |
Jul
(46) |
Aug
(26) |
Sep
(73) |
Oct
(34) |
Nov
(28) |
Dec
(93) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(171) |
Feb
(58) |
Mar
(149) |
Apr
(160) |
May
(230) |
Jun
(49) |
Jul
(46) |
Aug
(123) |
Sep
(120) |
Oct
(91) |
Nov
(66) |
Dec
(82) |
2004 |
Jan
(40) |
Feb
(72) |
Mar
(36) |
Apr
(31) |
May
(141) |
Jun
(86) |
Jul
(136) |
Aug
(58) |
Sep
(41) |
Oct
(9) |
Nov
(55) |
Dec
(24) |
2005 |
Jan
(29) |
Feb
(74) |
Mar
(112) |
Apr
(45) |
May
(49) |
Jun
(95) |
Jul
(48) |
Aug
(57) |
Sep
(21) |
Oct
(52) |
Nov
(73) |
Dec
(40) |
2006 |
Jan
(16) |
Feb
|
Mar
(4) |
Apr
(9) |
May
(18) |
Jun
(43) |
Jul
(5) |
Aug
(30) |
Sep
(13) |
Oct
(8) |
Nov
(13) |
Dec
(28) |
2007 |
Jan
(65) |
Feb
(10) |
Mar
(29) |
Apr
(96) |
May
(41) |
Jun
(26) |
Jul
(49) |
Aug
(7) |
Sep
(61) |
Oct
(45) |
Nov
(40) |
Dec
(66) |
2008 |
Jan
(24) |
Feb
(33) |
Mar
(12) |
Apr
(8) |
May
|
Jun
(3) |
Jul
(13) |
Aug
(10) |
Sep
(3) |
Oct
(10) |
Nov
(7) |
Dec
(15) |
2009 |
Jan
(1) |
Feb
(7) |
Mar
(10) |
Apr
(6) |
May
(2) |
Jun
(4) |
Jul
(8) |
Aug
(1) |
Sep
(4) |
Oct
(12) |
Nov
(3) |
Dec
|
2010 |
Jan
(5) |
Feb
(1) |
Mar
(12) |
Apr
(7) |
May
(11) |
Jun
(6) |
Jul
(8) |
Aug
(9) |
Sep
(31) |
Oct
(5) |
Nov
(21) |
Dec
(13) |
2011 |
Jan
(7) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(1) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(3) |
Dec
|
2013 |
Jan
|
Feb
|
Mar
(7) |
Apr
(12) |
May
(11) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(10) |
Dec
(1) |
2014 |
Jan
(1) |
Feb
|
Mar
(5) |
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2015 |
Jan
(5) |
Feb
(10) |
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
(18) |
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(10) |
Aug
|
Sep
(8) |
Oct
(8) |
Nov
|
Dec
(7) |
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(12) |
Nov
(5) |
Dec
(1) |
2021 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: Ray H. <shu...@us...> - 2002-07-25 13:14:34
|
Update of /cvsroot/phppgadmin/webdb/classes/database In directory usw-pr-cvs1:/tmp/cvs-serv30674/webdb/classes/database Modified Files: Postgres71.php Log Message: Added Sequence data. Index: Postgres71.php =================================================================== RCS file: /cvsroot/phppgadmin/webdb/classes/database/Postgres71.php,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Postgres71.php 11 Jul 2002 06:02:57 -0000 1.9 --- Postgres71.php 25 Jul 2002 13:14:31 -0000 1.10 *************** *** 439,442 **** --- 439,450 ---- */ + function &getSequences() + { + $sql = "SELECT relname FROM pg_class WHERE NOT relname ~ 'pg_.*' AND relkind ='S' ORDER BY relname"; + return $this->selectSet( $sql ); + } + + + // View functions *************** *** 646,650 **** return $this->execute($sql); } ! // Capabilities function hasTables() { return true; } --- 654,659 ---- return $this->execute($sql); } ! ! // Capabilities function hasTables() { return true; } *************** *** 661,663 **** } ! ?> \ No newline at end of file --- 670,675 ---- } ! ! ! ! ?> |
From: Ray H. <shu...@us...> - 2002-07-25 13:14:34
|
Update of /cvsroot/phppgadmin/webdb/lang In directory usw-pr-cvs1:/tmp/cvs-serv30674/webdb/lang Modified Files: template.php Log Message: Added Sequence data. Index: template.php =================================================================== RCS file: /cvsroot/phppgadmin/webdb/lang/template.php,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** template.php 11 Jul 2002 06:02:07 -0000 1.7 --- template.php 25 Jul 2002 13:14:31 -0000 1.8 *************** *** 41,44 **** $strViewNeedsName = 'You must give a name for your view.'; $strViewNeedsDef = 'You must give a definition for your view.'; ! ! ?> \ No newline at end of file --- 41,48 ---- $strViewNeedsName = 'You must give a name for your view.'; $strViewNeedsDef = 'You must give a definition for your view.'; ! ! // Sequences ! $strNoSequences = 'No sequences found.'; ! ! ! ?> |
From: Steven G. <gre...@us...> - 2002-07-23 09:30:41
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv8956 Modified Files: tbl_create.php Log Message: Default values are quoted if the type requires it. Note this is almost identical code to that in tbl_replace, so it would make sense to refactor it into its own function somewhere else. Index: tbl_create.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/tbl_create.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** tbl_create.php 15 May 2002 03:29:55 -0000 1.4 --- tbl_create.php 23 Jul 2002 09:30:37 -0000 1.5 *************** *** 17,21 **** } if (!empty($field_default[$i]) && !eregi("SERIAL", $field_type[$i])) { ! $query .= " DEFAULT ".stripslashes($field_default[$i]); } if (!empty($fk_field[$i])) { --- 17,24 ---- } if (!empty($field_default[$i]) && !eregi("SERIAL", $field_type[$i])) { ! if (eregi("char|date|bool|time|inet|text|cidr", $field_type[$i])) { ! $strValDelim = "'"; ! } ! $query .= " DEFAULT " . $strValDelim . stripslashes($field_default[$i]) . $strValDelim; } if (!empty($fk_field[$i])) { |
From: Dan W. <kil...@us...> - 2002-07-22 05:02:57
|
Quoting Christopher Kings-Lynne <ch...@fa...>: > I don't know if it's stored in the catalogs or not, or if it can be > inferred. I was going to at least declare a class array for each version of > postgres to do it. > > However, what's wrong with just quoting everything? Good point... I guess in PostgreSQL it doesn't matter, but in other RMDBs it does. Some will croak if you feed it a quoted value when it expects numeric. We should probably try to avoid functionality that is pgsql specific as much as possible. I think if we build a function that requires implimentation to grab an array of quote-required types, then it's a much better implimentation. Regardless of whether that function returns a hand coded array of types or something dynamically grabed from the catalogs, it's better. -Dan |
From: Christopher Kings-L. <ch...@fa...> - 2002-07-22 04:56:40
|
I don't know if it's stored in the catalogs or not, or if it can be inferred. I was going to at least declare a class array for each version of postgres to do it. However, what's wrong with just quoting everything? Chris > -----Original Message----- > From: php...@li... > [mailto:php...@li...]On Behalf Of Dan > Wilson > Sent: Monday, 22 July 2002 1:01 PM > To: php...@li... > Subject: Re: [ppa-cvs] CVS: phpPgAdmin tbl_replace.php,1.13,1.14 > > > We need to figure out a much better way of doing this for webdb. > Is it stored > somewhere in the system catalogs that a type is quoted or not? > If so, we can > pull all the ones that are quoted into an array and check in there. > > -Dan > > Quoting Dan Wilson <kil...@us...>: > > > Update of /cvsroot/phppgadmin/phpPgAdmin > > In directory usw-pr-cvs1:/tmp/cvs-serv15689 > > > > Modified Files: > > tbl_replace.php > > Log Message: > > fixed non-quoting of cidr > > > > Index: tbl_replace.php > > =================================================================== > > RCS file: /cvsroot/phppgadmin/phpPgAdmin/tbl_replace.php,v > > retrieving revision 1.13 > > retrieving revision 1.14 > > diff -C2 -d -r1.13 -r1.14 > > *** tbl_replace.php 13 Jun 2002 02:08:44 -0000 1.13 > > --- tbl_replace.php 22 Jul 2002 04:41:20 -0000 1.14 > > *************** > > *** 14,18 **** > > while (list($key, $val) = each($fields)) { > > if (!eregi("^'[[:alnum:][:punct:][:cntrl:][:space:]]*'$", > $val) && > > empty($funcs[$key])) { > > ! if (eregi("char|date|bool|time|inet|text", > $field_type > [$key])) { > > $strValDelim = "'"; > > } > > --- 14,18 ---- > > while (list($key, $val) = each($fields)) { > > if (!eregi("^'[[:alnum:][:punct:][:cntrl:][:space:]]*'$", > $val) && > > empty($funcs[$key])) { > > ! if (eregi("char|date|bool|time|inet|text|cidr", > $field_type[$key])) { > > $strValDelim = "'"; > > } > > *************** > > *** 44,48 **** > > // Check to see if there are already single quotes > and are not > a > > function > > if (!eregi("^'[[:alnum:][:punct:][:cntrl:][:space:]]*'$", > $val) && > > empty($funcs[$key])) { > > ! if (eregi("char|date|bool|time|inet|text", > $field_type > [$key])) { > > $strValDelim = "'"; > > } > > --- 44,48 ---- > > // Check to see if there are already single quotes > and are not > a > > function > > if (!eregi("^'[[:alnum:][:punct:][:cntrl:][:space:]]*'$", > $val) && > > empty($funcs[$key])) { > > ! if (eregi("char|date|bool|time|inet|text|cidr", > $field_type[$key])) { > > $strValDelim = "'"; > > } > > > > > > > > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > Welcome to geek heaven. > > http://thinkgeek.com/sf > > _______________________________________________ > > phpPgAdmin-cvs mailing list > > php...@li... > > https://lists.sourceforge.net/lists/listinfo/phppgadmin-cvs > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > phpPgAdmin-cvs mailing list > php...@li... > https://lists.sourceforge.net/lists/listinfo/phppgadmin-cvs > |
From: Dan W. <kil...@us...> - 2002-07-22 04:53:18
|
We need to figure out a much better way of doing this for webdb. Is it stored somewhere in the system catalogs that a type is quoted or not? If so, we can pull all the ones that are quoted into an array and check in there. -Dan Quoting Dan Wilson <kil...@us...>: > Update of /cvsroot/phppgadmin/phpPgAdmin > In directory usw-pr-cvs1:/tmp/cvs-serv15689 > > Modified Files: > tbl_replace.php > Log Message: > fixed non-quoting of cidr > > Index: tbl_replace.php > =================================================================== > RCS file: /cvsroot/phppgadmin/phpPgAdmin/tbl_replace.php,v > retrieving revision 1.13 > retrieving revision 1.14 > diff -C2 -d -r1.13 -r1.14 > *** tbl_replace.php 13 Jun 2002 02:08:44 -0000 1.13 > --- tbl_replace.php 22 Jul 2002 04:41:20 -0000 1.14 > *************** > *** 14,18 **** > while (list($key, $val) = each($fields)) { > if (!eregi("^'[[:alnum:][:punct:][:cntrl:][:space:]]*'$", $val) && > empty($funcs[$key])) { > ! if (eregi("char|date|bool|time|inet|text", $field_type [$key])) { > $strValDelim = "'"; > } > --- 14,18 ---- > while (list($key, $val) = each($fields)) { > if (!eregi("^'[[:alnum:][:punct:][:cntrl:][:space:]]*'$", $val) && > empty($funcs[$key])) { > ! if (eregi("char|date|bool|time|inet|text|cidr", $field_type[$key])) { > $strValDelim = "'"; > } > *************** > *** 44,48 **** > // Check to see if there are already single quotes and are not a > function > if (!eregi("^'[[:alnum:][:punct:][:cntrl:][:space:]]*'$", $val) && > empty($funcs[$key])) { > ! if (eregi("char|date|bool|time|inet|text", $field_type [$key])) { > $strValDelim = "'"; > } > --- 44,48 ---- > // Check to see if there are already single quotes and are not a > function > if (!eregi("^'[[:alnum:][:punct:][:cntrl:][:space:]]*'$", $val) && > empty($funcs[$key])) { > ! if (eregi("char|date|bool|time|inet|text|cidr", $field_type[$key])) { > $strValDelim = "'"; > } > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > phpPgAdmin-cvs mailing list > php...@li... > https://lists.sourceforge.net/lists/listinfo/phppgadmin-cvs |
From: Dan W. <kil...@us...> - 2002-07-22 04:41:23
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv15689 Modified Files: tbl_replace.php Log Message: fixed non-quoting of cidr Index: tbl_replace.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/tbl_replace.php,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** tbl_replace.php 13 Jun 2002 02:08:44 -0000 1.13 --- tbl_replace.php 22 Jul 2002 04:41:20 -0000 1.14 *************** *** 14,18 **** while (list($key, $val) = each($fields)) { if (!eregi("^'[[:alnum:][:punct:][:cntrl:][:space:]]*'$", $val) && empty($funcs[$key])) { ! if (eregi("char|date|bool|time|inet|text", $field_type[$key])) { $strValDelim = "'"; } --- 14,18 ---- while (list($key, $val) = each($fields)) { if (!eregi("^'[[:alnum:][:punct:][:cntrl:][:space:]]*'$", $val) && empty($funcs[$key])) { ! if (eregi("char|date|bool|time|inet|text|cidr", $field_type[$key])) { $strValDelim = "'"; } *************** *** 44,48 **** // Check to see if there are already single quotes and are not a function if (!eregi("^'[[:alnum:][:punct:][:cntrl:][:space:]]*'$", $val) && empty($funcs[$key])) { ! if (eregi("char|date|bool|time|inet|text", $field_type[$key])) { $strValDelim = "'"; } --- 44,48 ---- // Check to see if there are already single quotes and are not a function if (!eregi("^'[[:alnum:][:punct:][:cntrl:][:space:]]*'$", $val) && empty($funcs[$key])) { ! if (eregi("char|date|bool|time|inet|text|cidr", $field_type[$key])) { $strValDelim = "'"; } |
From: Dan W. <kil...@us...> - 2002-07-18 17:19:23
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv12653 Modified Files: lib.inc.php Log Message: Added ability to view full text in columns limited by 'More' Index: lib.inc.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/lib.inc.php,v retrieving revision 1.71 retrieving revision 1.72 diff -C2 -d -r1.71 -r1.72 *** lib.inc.php 12 Jul 2002 21:53:46 -0000 1.71 --- lib.inc.php 18 Jul 2002 17:19:20 -0000 1.72 *************** *** 350,354 **** global $cfgBorder, $cfgBgcolorOne, $cfgBgcolorTwo, $cfgMaxRows, $pos, $server, $link, $db, $table, $sql_query, $sql_order, $cfgOrder, $cfgShowBlob; global $strShowingRecords,$strTotal,$strEdit,$strPrevious,$strNext,$strAction,$strDelete,$strDeleted,$strPos1,$strEnd,$pri_keys,$goto; ! global $cfgQuotes, $cfgMaxPages, $strMore, $cfgMaxText, $link; if (!isset($pos)) --- 350,354 ---- global $cfgBorder, $cfgBgcolorOne, $cfgBgcolorTwo, $cfgMaxRows, $pos, $server, $link, $db, $table, $sql_query, $sql_order, $cfgOrder, $cfgShowBlob; global $strShowingRecords,$strTotal,$strEdit,$strPrevious,$strNext,$strAction,$strDelete,$strDeleted,$strPos1,$strEnd,$pri_keys,$goto; ! global $cfgQuotes, $cfgMaxPages, $strMore, $cfgMaxText, $link, $show_full; if (!isset($pos)) *************** *** 443,452 **** echo $strNavigation; echo "<table border=$cfgBorder><tr>"; for ($i_field = 0; $i_field < $num_fields; $i_field++) { $field_name = pg_fieldname($dt_result, $i_field); ! if (@pg_numrows($dt_result) > 1) { ! $sort_order = urlencode(" ORDER BY $cfgQuotes$field_name$cfgQuotes $cfgOrder"); ! echo "<th><A HREF=\"sql.php?server=$server&db=$db&pos=$pos&sql_query=".urlencode($sql_query)."&sql_order=$sort_order&table=$table&goto=$goto\">$field_name</a></th>\n"; } else { echo "<th>$field_name</th>"; --- 443,453 ---- echo $strNavigation; echo "<table border=$cfgBorder><tr>"; + $q_string = "server=$server&db=$db&pos=$pos&sql_query=".urlencode($sql_query)."&table=$table&goto=$goto"; for ($i_field = 0; $i_field < $num_fields; $i_field++) { $field_name = pg_fieldname($dt_result, $i_field); ! if (@pg_numrows($dt_result) > 1) { ! $sort_order = urlencode(" ORDER BY $cfgQuotes$field_name$cfgQuotes $cfgOrder"); ! echo "<th><A HREF=\"sql.php?$q_string&sql_order=$sort_order\">$field_name</a></th>\n"; } else { echo "<th>$field_name</th>"; *************** *** 477,482 **** } elseif (eregi("text|char", $field_type)) { // If the text is longer than $cfgMaxText characters, let's cut it short ! if (strlen($row[$i_field]) > $cfgMaxText && !empty($cfgMaxText)) { ! $strLgText = nl2br(htmlspecialchars(substr($row[$i_field], 0, $cfgMaxText))) . " <br><b>... $strMore ...</b>"; } else { $strLgText = nl2br(htmlspecialchars($row[$i_field])); --- 478,483 ---- } elseif (eregi("text|char", $field_type)) { // If the text is longer than $cfgMaxText characters, let's cut it short ! if ((strlen($row[$i_field]) > $cfgMaxText) && !empty($cfgMaxText) && empty($show_full)) { ! $strLgText = nl2br(htmlspecialchars(substr($row[$i_field], 0, $cfgMaxText))) . " <br><b>... <a href=\"$PHP_SELF?$q_string&sql_order=$sql_order&show_full=1\">$strMore</a> ...</b>"; } else { $strLgText = nl2br(htmlspecialchars($row[$i_field])); |
From: Robert T. <xz...@us...> - 2002-07-17 21:38:29
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv4682 Modified Files: sql.php Log Message: Only display messages in queries that have both a SELECT and FROM. (Ignores select function() or select 2+2) Index: sql.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/sql.php,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** sql.php 12 Jul 2002 17:29:59 -0000 1.21 --- sql.php 17 Jul 2002 21:38:26 -0000 1.22 *************** *** 101,105 **** } } ! } elseif (eregi("^[[:space:]]*SELECT[[:space:]]+", $sql_query)) { echo "<p class=\"generic\">No table detected... unable to retrieve primary or unique keys for edit/delete</p>"; } --- 101,105 ---- } } ! } elseif ( (eregi("^[[:space:]]*SELECT[[:space:]]+", $sql_query)) && eregi("[[:space:]]*FROM[[:space:]]+", $sql_query) ) { echo "<p class=\"generic\">No table detected... unable to retrieve primary or unique keys for edit/delete</p>"; } |
From: Robert T. <xz...@us...> - 2002-07-12 22:02:35
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv30548 Modified Files: func_edit.php Log Message: oops! forgot to remove a debugging statement. :) Index: func_edit.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/func_edit.php,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** func_edit.php 12 Jul 2002 21:57:58 -0000 1.14 --- func_edit.php 12 Jul 2002 22:02:32 -0000 1.15 *************** *** 75,79 **** if ($common_ver > 7.1) { - echo "<h1>$func[source]</h1>"; $func[source] = str_replace("'","''",$func[source]); } --- 75,78 ---- |
From: Robert T. <xz...@us...> - 2002-07-12 21:58:01
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv28125 Modified Files: func_edit.php func_properties.php Log Message: Initial attempt at allowing version of postgres greater than 7.1 to use CREATE OR REPLACE FUNCTION rather than DROP/CREATE. I also fixed a bug where function porperties are not getting quoted properly. As I don't remember having the problem back in 7.0.x, I've made it only for post 7.2.x and higher. Perhaps someone can verify if its needed in all versions and adjust accordingly? Index: func_edit.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/func_edit.php,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** func_edit.php 17 Feb 2002 21:04:25 -0000 1.13 --- func_edit.php 12 Jul 2002 21:57:58 -0000 1.14 *************** *** 71,74 **** --- 71,82 ---- $res_props = pg_exec($link, pre_query($sql_func_props)) or pg_die(pg_errormessage(), $sql_func_props, __FILE__, __LINE__); $func = @pg_fetch_array($res_props, 0); + + // This Might Be Needed For Other Version, But For Now I'm Making It For 7.2+ // + if ($common_ver > 7.1) + { + echo "<h1>$func[source]</h1>"; + $func[source] = str_replace("'","''",$func[source]); + } + $strSubmitAction = $strSave; $strResetBtn = "<input type=reset value=\"$strReset\">"; *************** *** 198,202 **** // $source = stripslashes($source); if (!empty($orig_function)) { ! $sql_query = "DROP FUNCTION $cfgQuotes$orig_function$cfgQuotes($orig_arglist);\n"; $strZeroRows = "$strFunction $orig_function($orig_arglist) $strHasBeenAltered"; } else { --- 206,213 ---- // $source = stripslashes($source); if (!empty($orig_function)) { ! if ($common_ver < 7.2) ! { ! $sql_query = "DROP FUNCTION $cfgQuotes$orig_function$cfgQuotes($orig_arglist);\n"; ! } $strZeroRows = "$strFunction $orig_function($orig_arglist) $strHasBeenAltered"; } else { *************** *** 207,211 **** } ! $sql_query .= "CREATE FUNCTION $cfgQuotes$function$cfgQuotes($arglist) RETURNS $returns AS '$source' LANGUAGE '$language'"; echo $strDoYouReally . "<br>" . stripslashes(nl2br($sql_query)); --- 218,231 ---- } ! if ($common_ver < 7.2) ! { ! $sql_query .= "CREATE FUNCTION "; ! } ! else ! { ! $sql_query = "CREATE OR REPLACE FUNCTION "; ! } ! ! $sql_query .= "$cfgQuotes$function$cfgQuotes($arglist) RETURNS $returns AS '$source' LANGUAGE '$language'"; echo $strDoYouReally . "<br>" . stripslashes(nl2br($sql_query)); Index: func_properties.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/func_properties.php,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** func_properties.php 17 Feb 2002 21:04:25 -0000 1.12 --- func_properties.php 12 Jul 2002 21:57:58 -0000 1.13 *************** *** 77,80 **** --- 77,86 ---- } + + // Adding this here untill it is tested in version less than 7.2.x + if ($common_ver > 7.1) { + $row[source] = str_replace("'","''",$row[source]); + } + if (!ereg("-", $row[binary]) && !empty($row[binary])) { $row[source] = $row[binary]; |
From: Robert T. <xz...@us...> - 2002-07-12 21:53:49
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv27360 Modified Files: Documentation.html db_dump.php lib.inc.php tbl_dump.php user_admin.php Log Message: In honor of a recent big thread on the pgsql-general mailing list, I've changed all the postgres references to PostgreSQL Index: Documentation.html =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/Documentation.html,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Documentation.html 2 Jul 2002 23:24:01 -0000 1.10 --- Documentation.html 12 Jul 2002 21:53:46 -0000 1.11 *************** *** 77,81 **** <p><b>$cfgSuperUser</b> string<br> ! Set the $cfgSuperUser to be the user you used to install postgres. This is just used to filter out the system functions/tables when listing --- 77,81 ---- <p><b>$cfgSuperUser</b> string<br> ! Set the $cfgSuperUser to be the user you used to install PostgreSQL. This is just used to filter out the system functions/tables when listing *************** *** 168,172 **** </ul> <p><b>I can't reload the schema I got from the "view dump" utility, how can I back up my database?</b><br> ! There are known issues with the view dump utility such as version conflicts and some problems with advanced features like functions and/or triggers. While it should be useful for everyday work, we don't recommend it's use for system back ups, migrations, or other mission critical tasks. In those cases it is strongly recommended you use the pg_dump program that is distributed with postgres. <p><b>I would like to help out with the development of phpPgAdmin. How should I proceed?<br> </b> --- 168,172 ---- </ul> <p><b>I can't reload the schema I got from the "view dump" utility, how can I back up my database?</b><br> ! There are known issues with the view dump utility such as version conflicts and some problems with advanced features like functions and/or triggers. While it should be useful for everyday work, we don't recommend it's use for system back ups, migrations, or other mission critical tasks. In those cases it is strongly recommended you use the pg_dump program that is distributed with PostgreSQL. <p><b>I would like to help out with the development of phpPgAdmin. How should I proceed?<br> </b> *************** *** 185,189 **** <p><b>What's the preferred way of making phpPgAdmin secure against evil access?<br> </b> ! This depends on your system. If you're running a server which cannot be accessed by other people, it's sufficient to use the directory protection bundled with your webserver (with Apache you can use .htaccess files, for example). If other people have telnet access to your server, it's not a good idea to store the PostgreSQL password in clear text in your config.inc.php file. You should use phpPgAdmin's advanced authentification feature in this case. Please be aware that phpPgAdmin's security is only as good as your databases security itself. If you have an open configuration of the database (like using trusted connections) phpPgAdmin's security features probably won't help you. For more information on this see the postgresql documentation. </body> </html> --- 185,189 ---- <p><b>What's the preferred way of making phpPgAdmin secure against evil access?<br> </b> ! This depends on your system. If you're running a server which cannot be accessed by other people, it's sufficient to use the directory protection bundled with your webserver (with Apache you can use .htaccess files, for example). If other people have telnet access to your server, it's not a good idea to store the PostgreSQL password in clear text in your config.inc.php file. You should use phpPgAdmin's advanced authentification feature in this case. Please be aware that phpPgAdmin's security is only as good as your databases security itself. If you have an open configuration of the database (like using trusted connections) phpPgAdmin's security features probably won't help you. For more information on this see the PostgreSQL documentation. </body> </html> Index: db_dump.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/db_dump.php,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** db_dump.php 12 Jul 2002 17:32:55 -0000 1.21 --- db_dump.php 12 Jul 2002 21:53:46 -0000 1.22 *************** *** 49,53 **** print " system back ups, migrations, or other mission critical $crlf"; print " tasks. In those cases it is strongly recommended you use $crlf"; ! print " the pg_dump program that is distributed with postgres. $crlf"; print "---------------------------------------------------------------- */ $crlf"; --- 49,53 ---- print " system back ups, migrations, or other mission critical $crlf"; print " tasks. In those cases it is strongly recommended you use $crlf"; ! print " the pg_dump program that is distributed with PostgreSQL. $crlf"; print "---------------------------------------------------------------- */ $crlf"; Index: lib.inc.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/lib.inc.php,v retrieving revision 1.70 retrieving revision 1.71 diff -C2 -d -r1.70 -r1.71 *** lib.inc.php 12 Jul 2002 19:25:20 -0000 1.70 --- lib.inc.php 12 Jul 2002 21:53:46 -0000 1.71 *************** *** 53,58 **** if (!function_exists("pg_connect")) { ! echo "You do not have postgresql support built into your PHP Web Server.<BR>"; ! echo "phpPgAdmin requires postgresql support to function properly!<BR>"; echo "Please check the PHP documentation for corrective action."; exit; --- 53,58 ---- if (!function_exists("pg_connect")) { ! echo "You do not have PostgreSQL support built into your PHP Web Server.<BR>"; ! echo "phpPgAdmin requires PostgreSQL support to function properly!<BR>"; echo "Please check the PHP documentation for corrective action."; exit; Index: tbl_dump.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/tbl_dump.php,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** tbl_dump.php 12 Jul 2002 17:32:55 -0000 1.7 --- tbl_dump.php 12 Jul 2002 21:53:46 -0000 1.8 *************** *** 64,68 **** print " system back ups, migrations, or other mission critical $crlf"; print " tasks. In those cases it is strongly recommended you use $crlf"; ! print " the pg_dump program that is distributed with postgres. $crlf"; print "---------------------------------------------------------------- */ $crlf$crlf"; --- 64,68 ---- print " system back ups, migrations, or other mission critical $crlf"; print " tasks. In those cases it is strongly recommended you use $crlf"; ! print " the pg_dump program that is distributed with PostgreSQL. $crlf"; print "---------------------------------------------------------------- */ $crlf$crlf"; Index: user_admin.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/user_admin.php,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** user_admin.php 28 May 2002 22:48:35 -0000 1.6 --- user_admin.php 12 Jul 2002 21:53:46 -0000 1.7 *************** *** 1,5 **** <?php // File: user_admin.php ! // Purpose: Administration of postgres users // Date: 21 May 2000 --- 1,5 ---- <?php // File: user_admin.php ! // Purpose: Administration of PostgreSQL users // Date: 21 May 2000 |
From: Dan W. <kil...@us...> - 2002-07-12 19:25:24
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv19775 Modified Files: lib.inc.php Log Message: Ok... I'm smoking beer... this one really does work Index: lib.inc.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/lib.inc.php,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -d -r1.69 -r1.70 *** lib.inc.php 12 Jul 2002 19:15:19 -0000 1.69 --- lib.inc.php 12 Jul 2002 19:25:20 -0000 1.70 *************** *** 630,634 **** } ! if (!empty($row[rowdefault]) && $row[rowdefault] != null) { if (eregi("text|name|char|date|time|bool", $row[type])) { //$delim = "'"; --- 630,634 ---- } ! if ($row[rowdefault] != null) { if (eregi("text|name|char|date|time|bool", $row[type])) { //$delim = "'"; |
From: Dan W. <kil...@us...> - 2002-07-12 19:15:22
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv16946 Modified Files: lib.inc.php Log Message: Flawed logic... should be the other way Index: lib.inc.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/lib.inc.php,v retrieving revision 1.68 retrieving revision 1.69 diff -C2 -d -r1.68 -r1.69 *** lib.inc.php 12 Jul 2002 19:01:01 -0000 1.68 --- lib.inc.php 12 Jul 2002 19:15:19 -0000 1.69 *************** *** 630,634 **** } ! if (!empty($row[rowdefault]) || $row[rowdefault] != null) { if (eregi("text|name|char|date|time|bool", $row[type])) { //$delim = "'"; --- 630,634 ---- } ! if (!empty($row[rowdefault]) && $row[rowdefault] != null) { if (eregi("text|name|char|date|time|bool", $row[type])) { //$delim = "'"; |
From: Dan W. <kil...@us...> - 2002-07-12 19:09:40
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv15270 Modified Files: ChangeLog Log Message: Added a few entries Index: ChangeLog =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/ChangeLog,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** ChangeLog 8 Jul 2002 16:41:36 -0000 1.26 --- ChangeLog 12 Jul 2002 19:09:37 -0000 1.27 *************** *** 1,3 **** --- 1,8 ---- phpPgAdmin - ChangeLog + v 2.4.3 - 08/00/2002 + + BugFix: Fixed bug which didn't allow dumping of default of 0 + + BugFix: Don't display "no table detected" message if it's a CREATE VIEW statement + + Document: Added warning to dump output that it's not production level dump + v 2.4.2 - 07/08/2002 + Lang: Added hungarian translation - Vizi Tibor [vi...@br...] |
From: Dan W. <kil...@us...> - 2002-07-12 19:01:04
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv12613 Modified Files: lib.inc.php Log Message: Fixed bug #579068 ... allow row default of 0 Index: lib.inc.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/lib.inc.php,v retrieving revision 1.67 retrieving revision 1.68 diff -C2 -d -r1.67 -r1.68 *** lib.inc.php 12 Jul 2002 17:32:11 -0000 1.67 --- lib.inc.php 12 Jul 2002 19:01:01 -0000 1.68 *************** *** 630,634 **** } ! if (!empty($row[rowdefault])) { if (eregi("text|name|char|date|time|bool", $row[type])) { //$delim = "'"; --- 630,634 ---- } ! if (!empty($row[rowdefault]) || $row[rowdefault] != null) { if (eregi("text|name|char|date|time|bool", $row[type])) { //$delim = "'"; |
From: Dan W. <kil...@us...> - 2002-07-12 17:32:58
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv16050 Modified Files: tbl_dump.php db_dump.php Log Message: Added warning right into dump that it has issues Index: tbl_dump.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/tbl_dump.php,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** tbl_dump.php 4 Feb 2002 16:08:11 -0000 1.6 --- tbl_dump.php 12 Jul 2002 17:32:55 -0000 1.7 *************** *** 57,61 **** print " $rel_text : $cfgQuotes$table$cfgQuotes $crlf"; print " " . date("Y-m-d H:m:i") . $crlf; ! print "-------------------------------------------------------- */ $crlf $crlf"; if ($rel_type == "table") { --- 57,69 ---- print " $rel_text : $cfgQuotes$table$cfgQuotes $crlf"; print " " . date("Y-m-d H:m:i") . $crlf; ! print $crlf; ! print " WARNING: There are known issues with the view dump utility $crlf"; ! print " such as version conflicts and some problems with advanced $crlf"; ! print " features like functions and/or triggers. While it should be $crlf"; ! print " useful for everyday work, we don't recommend it's use for $crlf"; ! print " system back ups, migrations, or other mission critical $crlf"; ! print " tasks. In those cases it is strongly recommended you use $crlf"; ! print " the pg_dump program that is distributed with postgres. $crlf"; ! print "---------------------------------------------------------------- */ $crlf$crlf"; if ($rel_type == "table") { Index: db_dump.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/db_dump.php,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** db_dump.php 27 Jun 2002 18:16:23 -0000 1.20 --- db_dump.php 12 Jul 2002 17:32:55 -0000 1.21 *************** *** 31,35 **** } ! print "$crlf/* -------------------------------------------------------- $crlf"; print " $cfgProgName $cfgVersion DB Dump$crlf"; print " http://sourceforge.net/projects/phppgadmin/$crlf"; --- 31,36 ---- } ! print "$crlf"; ! print "/* ------------------------------------------------------------- $crlf"; print " $cfgProgName $cfgVersion DB Dump$crlf"; print " http://sourceforge.net/projects/phppgadmin/$crlf"; *************** *** 41,45 **** print "$crlf $strDatabase : $cfgQuotes$db$cfgQuotes$crlf"; print " " . date("Y-m-d H:m:i") . $crlf; ! print "-------------------------------------------------------- */ $crlf"; $get_seq_sql = " --- 42,54 ---- print "$crlf $strDatabase : $cfgQuotes$db$cfgQuotes$crlf"; print " " . date("Y-m-d H:m:i") . $crlf; ! print $crlf; ! print " WARNING: There are known issues with the view dump utility $crlf"; ! print " such as version conflicts and some problems with advanced $crlf"; ! print " features like functions and/or triggers. While it should be $crlf"; ! print " useful for everyday work, we don't recommend it's use for $crlf"; ! print " system back ups, migrations, or other mission critical $crlf"; ! print " tasks. In those cases it is strongly recommended you use $crlf"; ! print " the pg_dump program that is distributed with postgres. $crlf"; ! print "---------------------------------------------------------------- */ $crlf"; $get_seq_sql = " |
From: Dan W. <kil...@us...> - 2002-07-12 17:32:14
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv15719 Modified Files: lib.inc.php Log Message: Updaed ACL dump for 7.2 and allow for underscores in group name [bug# 579967] Index: lib.inc.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/lib.inc.php,v retrieving revision 1.66 retrieving revision 1.67 diff -C2 -d -r1.66 -r1.67 *** lib.inc.php 12 Jul 2002 16:27:22 -0000 1.66 --- lib.inc.php 12 Jul 2002 17:32:11 -0000 1.67 *************** *** 753,757 **** } else { if (eregi("^group", $aryUser[0])) { ! $user = eregi_replace("^group ([[:alnum:]]+)", "GROUP $cfgQuotes\\1$cfgQuotes", $aryUser[0]); } else { $user = "$cfgQuotes$aryUser[0]$cfgQuotes"; --- 753,757 ---- } else { if (eregi("^group", $aryUser[0])) { ! $user = eregi_replace("^group ([[:alnum:]_]+)", "GROUP $cfgQuotes\\1$cfgQuotes", $aryUser[0]); } else { $user = "$cfgQuotes$aryUser[0]$cfgQuotes"; *************** *** 767,779 **** } if (strchr($privileges, "w")) { ! $acl_priv .= "UPDATE,DELETE,"; } if (strchr($privileges, "R")) { $acl_priv .= "RULE,"; } $acl_priv = ereg_replace(",$", "", $acl_priv); ! if ($acl_priv == "INSERT,SELECT,UPDATE,DELETE,RULE") { $acl_priv = "ALL"; } --- 767,788 ---- } if (strchr($privileges, "w")) { ! $acl_priv .= "UPDATE,"; ! } ! if (strchr($privileges, "d")) { ! $acl_priv .= "DELETE,"; } if (strchr($privileges, "R")) { $acl_priv .= "RULE,"; } + if (strchr($privileges, "x")) { + $acl_priv .= "REFERENCES,"; + } + if (strchr($privileges, "t")) { + $acl_priv .= "TRIGGER,"; + } $acl_priv = ereg_replace(",$", "", $acl_priv); ! if ($acl_priv == "INSERT,SELECT,UPDATE,DELETE,RULE,REFERENCES,TRIGGER") { $acl_priv = "ALL"; } |
From: Dan W. <kil...@us...> - 2002-07-12 17:30:04
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv14337 Modified Files: sql.php Log Message: Only display message when the SELECT is at the beginning of the query... don't flag CREATE VIEW statements Index: sql.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/sql.php,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** sql.php 8 Jul 2002 16:19:46 -0000 1.20 --- sql.php 12 Jul 2002 17:29:59 -0000 1.21 *************** *** 101,105 **** } } ! } elseif (eregi("SELECT[[:space:]]+", $sql_query)) { echo "<p class=\"generic\">No table detected... unable to retrieve primary or unique keys for edit/delete</p>"; } --- 101,105 ---- } } ! } elseif (eregi("^[[:space:]]*SELECT[[:space:]]+", $sql_query)) { echo "<p class=\"generic\">No table detected... unable to retrieve primary or unique keys for edit/delete</p>"; } |
From: Dan W. <kil...@us...> - 2002-07-12 17:28:54
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv13852 Modified Files: tbl_properties.php Log Message: Style changes Index: tbl_properties.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/tbl_properties.php,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** tbl_properties.php 28 May 2002 22:48:35 -0000 1.11 --- tbl_properties.php 12 Jul 2002 17:28:50 -0000 1.12 *************** *** 43,47 **** --- 43,49 ---- $row = pg_fetch_array($res_viewdef, 0); //echo "<b>$strView $strDefinition:</b><br>", ereg_replace("\"", "", $row[definition]), "<p>\n"; + echo "<div class=\"generic\" align=\"left\">"; echo "<b>$strView $strDefinition:</b><br>", $row[definition], "<p>\n"; + echo "</div>"; } $rel_type = "view"; |
From: Dan W. <kil...@us...> - 2002-07-12 16:27:26
|
Update of /cvsroot/phppgadmin/phpPgAdmin In directory usw-pr-cvs1:/tmp/cvs-serv28606 Modified Files: lib.inc.php Log Message: Fixed bug #579959 [host setting on local connection] and added some debug output Index: lib.inc.php =================================================================== RCS file: /cvsroot/phppgadmin/phpPgAdmin/lib.inc.php,v retrieving revision 1.65 retrieving revision 1.66 diff -C2 -d -r1.65 -r1.66 *** lib.inc.php 17 Jun 2002 22:12:12 -0000 1.65 --- lib.inc.php 12 Jul 2002 16:27:22 -0000 1.66 *************** *** 71,75 **** function build_connstr($settings) { ! $conn['host'] = $GLOBALS['cfgServer']['host']; // Even if it's a local connection, we need this so it doesn't use $PGHOST env-var if (!empty($GLOBALS['cfgServer']['port'])) $conn['port'] = $GLOBALS['cfgServer']['port']; $conn['dbname'] = $settings['dbname']; --- 71,76 ---- function build_connstr($settings) { ! // Even if it's a local connection, we need this so it doesn't use $PGHOST env-var ! $conn['host'] = empty($GLOBALS['cfgServer']['host']) ? "localhost" : $GLOBALS['cfgServer']['host']; if (!empty($GLOBALS['cfgServer']['port'])) $conn['port'] = $GLOBALS['cfgServer']['port']; $conn['dbname'] = $settings['dbname']; *************** *** 272,275 **** --- 273,277 ---- } else { $strMsg = $strWrongUser; + if ($cfgDebug) $strMsg .= "<br>DEBUG: $conn_str"; $no_include = true; include("header.inc.php"); *************** *** 289,292 **** --- 291,296 ---- $PHP_PGADMIN_USER = $cfgServer['user']; $PHP_PGADMIN_PW = $cfgServer['password']; + } else { + if ($cfgDebug) $strMsg .= "<br>DEBUG: $conn_str"; } } *************** *** 295,298 **** --- 299,303 ---- if ($cfgServer['adv_auth']) { $strMsg = $strWrongUser; + if ($cfgDebug) $strMsg .= "<br>DEBUG: $conn_str"; $no_include = true; include("header.inc.php"); |
From: Christopher Kings-L. <ch...@us...> - 2002-07-11 06:02:59
|
Update of /cvsroot/phppgadmin/webdb/public_html In directory usw-pr-cvs1:/tmp/cvs-serv22032/public_html Modified Files: browser.php Log Message: initial schema support. backwards compatible with non-schema databases. still has a few little kinks in that user-defined schemas don't seem to appear... Index: browser.php =================================================================== RCS file: /cvsroot/phppgadmin/webdb/public_html/browser.php,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** browser.php 15 May 2002 09:57:55 -0000 1.6 --- browser.php 11 Jul 2002 06:02:57 -0000 1.7 *************** *** 29,50 **** $node = $tree->add_folder($root, htmlspecialchars($databases->f[$data->dbFields['dbname']]), 'database.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! if ($data->hasTables()) ! $tree->add_document($node, $strTables, 'tables.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]), "../images/themes/{$guiTheme}/tables.gif"); ! if ($data->hasViews()) ! $tree->add_document($node, $strViews, 'views.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]), "../images/themes/{$guiTheme}/views.gif"); ! /* if ($data->hasTriggers()) ! $tree->add_document($node, $strTriggers, 'triggers.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! if ($data->hasRules()) ! $tree->add_document($node, $strRules, 'rules.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]));*/ ! if ($data->hasSequences()) ! $tree->add_document($node, $strSequences, 'sequences.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]), "../images/themes/{$guiTheme}/sequences.gif"); ! if ($data->hasFunctions()) ! $tree->add_document($node, $strFunctions, 'functions.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]), "../images/themes/{$guiTheme}/functions.gif"); ! if ($data->hasOperators()) ! $tree->add_document($node, $strOperators, 'operators.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! if ($data->hasTypes()) ! $tree->add_document($node, $strTypes, 'types.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! if ($data->hasAggregates()) ! $tree->add_document($node, $strAggregates, 'aggregates.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); $databases->moveNext(); } --- 29,80 ---- $node = $tree->add_folder($root, htmlspecialchars($databases->f[$data->dbFields['dbname']]), 'database.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! if ($data->hasSchemas()) { ! $schemas = &$data->getSchemas(); ! while (!$schemas->EOF) { ! $schemanode = $tree->add_folder($node, htmlspecialchars($schemas->f[$data->nspFields['nspname']]), ! 'schema.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]) . '&schema=' . ! urlencode($schemas->f[$data->nspFields['nspname']])); ! if ($data->hasTables()) ! $tree->add_document($schemanode, $strTables, 'tables.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]), "../images/themes/{$guiTheme}/tables.gif"); ! if ($data->hasViews()) ! $tree->add_document($schemanode, $strViews, 'views.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]), "../images/themes/{$guiTheme}/views.gif"); ! /* if ($data->hasTriggers()) ! $tree->add_document($node, $strTriggers, 'triggers.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! if ($data->hasRules()) ! $tree->add_document($node, $strRules, 'rules.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]));*/ ! if ($data->hasSequences()) ! $tree->add_document($schemanode, $strSequences, 'sequences.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]), "../images/themes/{$guiTheme}/sequences.gif"); ! if ($data->hasFunctions()) ! $tree->add_document($schemanode, $strFunctions, 'functions.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]), "../images/themes/{$guiTheme}/functions.gif"); ! if ($data->hasOperators()) ! $tree->add_document($schemanode, $strOperators, 'operators.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! if ($data->hasTypes()) ! $tree->add_document($schemanode, $strTypes, 'types.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! if ($data->hasAggregates()) ! $tree->add_document($schemanode, $strAggregates, 'aggregates.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! $schemas->moveNext(); ! } ! } ! // Database doesn't support schemas ! else { ! if ($data->hasTables()) ! $tree->add_document($node, $strTables, 'tables.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]), "../images/themes/{$guiTheme}/tables.gif"); ! if ($data->hasViews()) ! $tree->add_document($node, $strViews, 'views.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]), "../images/themes/{$guiTheme}/views.gif"); ! /* if ($data->hasTriggers()) ! $tree->add_document($node, $strTriggers, 'triggers.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! if ($data->hasRules()) ! $tree->add_document($node, $strRules, 'rules.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]));*/ ! if ($data->hasSequences()) ! $tree->add_document($node, $strSequences, 'sequences.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]), "../images/themes/{$guiTheme}/sequences.gif"); ! if ($data->hasFunctions()) ! $tree->add_document($node, $strFunctions, 'functions.php?database=' . urlencode($databases->f[$data->dbFields['dbname']]), "../images/themes/{$guiTheme}/functions.gif"); ! if ($data->hasOperators()) ! $tree->add_document($node, $strOperators, 'operators.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! if ($data->hasTypes()) ! $tree->add_document($node, $strTypes, 'types.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! if ($data->hasAggregates()) ! $tree->add_document($node, $strAggregates, 'aggregates.php?database=' . urlencode($databases->f[$data->dbFields['dbname']])); ! } $databases->moveNext(); } |
From: Christopher Kings-L. <ch...@us...> - 2002-07-11 06:02:59
|
Update of /cvsroot/phppgadmin/webdb/classes/database In directory usw-pr-cvs1:/tmp/cvs-serv22032/classes/database Modified Files: Postgres71.php Added Files: Postgres73.php Log Message: initial schema support. backwards compatible with non-schema databases. still has a few little kinks in that user-defined schemas don't seem to appear... --- NEW FILE: Postgres73.php --- <?php /** * A class that implements the DB interface for Postgres * Note: This class uses ADODB and returns RecordSets. * * $Id: Postgres73.php,v 1.1 2002/07/11 06:02:57 chriskl Exp $ */ // @@@ THOUGHT: What about inherits? ie. use of ONLY??? include_once('../classes/database/Postgres71.php'); class Postgres73 extends Postgres71 { var $nspFields = array('nspname' => 'nspname', 'nspowner' => 'nspowner'); // Store the current schema var $_schema = 'public'; // @@ Should we bother querying for this? var $_lastSystemOID = 16568; function Postgres73($host, $port, $database, $user, $password) { $this->Postgres71($host, $port, $database, $user, $password); } // Schema functions /** * Sets the current schema search path * @param $path An array of schemas in required search order * @return 0 success * @return -1 Array not passed * @return -2 Array must contain at least one item */ function setSearchPath($paths) { if (!is_array($paths)) return -1; elseif (sizeof($paths) == 0) return -2; $this->arrayClean($paths); $sql = 'SET SEARCH_PATH="' . implode('"', $paths) . '"'; return $this->execute($sql); } /** * Return all schemas in the current database * @return All schemas, sorted alphabetically - but with PUBLIC first (if it exists) */ function &getSchemas() { if (!$this->_showSystem) $and = "AND nspname NOT LIKE 'pg_%' "; else $and = ''; $sql = "SELECT nspname, nspowner FROM pg_namespace WHERE nspname = 'public' UNION ALL SELECT nspname, nspowner FROM pg_namespace WHERE nspname != 'public' {$and}ORDER BY nspname"; return $this->selectSet($sql); } /** * Return all information relating to a schema * @param $schema The name of the schema * @return Schema information */ function &getSchemaByName($schema) { $this->clean($schema); $sql = "SELECT * FROM pg_namespace WHERE nspname='{$schema}'"; return $this->selectRow($sql); } /** * Creates a new schema. * @param $schemaname The name of the schema to create * @param $authorization (optional) The username to create the schema for. * @param $authorization (optional) If omitted, defaults to current user. * @return 0 success */ function createSchema($schemaname, $authorization = '') { $this->clean($schemaname); $this->clean($authorization); $sql = "CREATE SCHEMA \"{$schemaname}\""; if ($authorization != '') $sql .= " AUTHORIZATION \"{$authorization}\""; return $this->execute($sql); } /** * Drops a schema. * @param $schemaname The name of the schema to drop * @return 0 success */ function dropSchema($schemaname) { $this->clean($schemaname); $sql = "DROP SCHEMA \"{$schemaname}\""; return $this->execute($sql); } // Table functions /** * Return all tables in current database * @return All tables, sorted alphabetically */ function &getTables() { $sql = "SELECT tablename, tableowner FROM pg_tables ORDER BY tablename"; return $this->selectSet($sql); } /** * Return all information relating to a table * @param $table The name of the table * @return Table information */ function &getTableByName($table) { $this->clean($table); $sql = "SELECT * FROM pg_class WHERE relname='{$table}'"; return $this->selectRow($sql); } /** * Sets whether or not a column can contain NULLs * @param $table The table that contains the column * @param $column The column to alter * @param $state True to set null, false to set not null * @return 0 success * @return -1 attempt to set not null, but column contains nulls * @return -2 transaction error * @return -3 lock error * @return -4 update error */ function setColumnNull($table, $column, $state) { $this->clean($table); $this->clean($column); $sql = "ALTER TABLE \"{$table}\" ALTER COLUMN \"{$column}\" " . (($state) ? 'DROP' : 'SET') . " NOT NULL"; return $this->execute($sql); } // View functions /** * Returns a list of all views in the database * @return All views */ function getViews() { if (!$this->_showSystem) $where = "WHERE viewname NOT LIKE 'pg_%'"; else $where = ''; $sql = "SELECT viewname, viewowner FROM pg_views {$where} ORDER BY viewname"; return $this->selectSet($sql); } // Operator functions /** * Returns a list of all operators in the database * @return All operators */ function getOperators() { if (!$this->_showSystem) $where = "WHERE po.oid > '{$this->_lastSystemOID}'::oid"; else $where = ''; $sql = " SELECT po.oid, po.oprname, (SELECT typname FROM pg_type pt WHERE pt.oid=po.oprleft) AS oprleftname, (SELECT typname FROM pg_type pt WHERE pt.oid=po.oprright) AS oprrightname, (SELECT typname FROM pg_type pt WHERE pt.oid=po.oprresult) AS resultname FROM pg_operator po {$where} ORDER BY po.oprname, po.oid "; return $this->selectSet($sql); } // Capabilities function hasSchemas() { return true; } } ?> Index: Postgres71.php =================================================================== RCS file: /cvsroot/phppgadmin/webdb/classes/database/Postgres71.php,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Postgres71.php 1 May 2002 09:37:30 -0000 1.8 --- Postgres71.php 11 Jul 2002 06:02:57 -0000 1.9 *************** *** 657,660 **** --- 657,661 ---- function hasAggregates() { return true; } function hasRules() { return true; } + function hasSchemas() { return false; } } |
From: Christopher Kings-L. <ch...@us...> - 2002-07-11 06:02:09
|
Update of /cvsroot/phppgadmin/webdb/lang In directory usw-pr-cvs1:/tmp/cvs-serv21862/lang Modified Files: template.php Log Message: error messages for views Index: template.php =================================================================== RCS file: /cvsroot/phppgadmin/webdb/lang/template.php,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** template.php 1 May 2002 09:37:30 -0000 1.6 --- template.php 11 Jul 2002 06:02:07 -0000 1.7 *************** *** 38,40 **** --- 38,44 ---- $strNoUsers = 'No users found.'; + // Views + $strViewNeedsName = 'You must give a name for your view.'; + $strViewNeedsDef = 'You must give a definition for your view.'; + ?> |
From: Christopher Kings-L. <ch...@us...> - 2002-07-11 06:01:17
|
Update of /cvsroot/phppgadmin/webdb/public_html In directory usw-pr-cvs1:/tmp/cvs-serv21668/public_html Modified Files: views.php Log Message: Works in a register_globals = off env Index: views.php =================================================================== RCS file: /cvsroot/phppgadmin/webdb/public_html/views.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** views.php 15 May 2002 09:57:55 -0000 1.3 --- views.php 11 Jul 2002 06:01:14 -0000 1.4 *************** *** 18,24 **** */ function doSaveEdit() { ! global $localData, $view, $formDefinition; ! $status = $localData->setView($view, $formDefinition); if ($status == 0) doProperties('View updated.'); --- 18,24 ---- */ function doSaveEdit() { ! global $localData; ! $status = $localData->setView($_POST['view'], $_POST['formDefinition']); if ($status == 0) doProperties('View updated.'); *************** *** 31,41 **** */ function doEdit($msg = '') { ! global $data, $localData, $misc, $database, $view; global $PHP_SELF, $strName, $strDefinition; ! echo "<h2>", htmlspecialchars($database), ": Views: ", htmlspecialchars($view), ": Edit</h2>\n"; $misc->printMsg($msg); ! $viewdata = &$localData->getView($view); if ($viewdata->recordCount() > 0) { --- 31,41 ---- */ function doEdit($msg = '') { ! global $data, $localData, $misc; global $PHP_SELF, $strName, $strDefinition; ! echo "<h2>", htmlspecialchars($_REQUEST['database']), ": Views: ", htmlspecialchars($_REQUEST['view']), ": Edit</h2>\n"; $misc->printMsg($msg); ! $viewdata = &$localData->getView($_REQUEST['view']); if ($viewdata->recordCount() > 0) { *************** *** 49,54 **** echo "</table>\n"; echo "<input type=hidden name=action value=save_edit>\n"; ! echo "<input type=hidden name=view value=\"", htmlspecialchars($view), "\">\n"; ! echo "<input type=hidden name=database value=\"", htmlspecialchars($database), "\">\n"; echo "<input type=submit value=Save> <input type=reset>\n"; echo "</form>\n"; --- 49,54 ---- echo "</table>\n"; echo "<input type=hidden name=action value=save_edit>\n"; ! echo "<input type=hidden name=view value=\"", htmlspecialchars($_REQUEST['view']), "\">\n"; ! echo "<input type=hidden name=database value=\"", htmlspecialchars($_REQUEST['database']), "\">\n"; echo "<input type=submit value=Save> <input type=reset>\n"; echo "</form>\n"; *************** *** 56,62 **** else echo "<p>No data.</p>\n"; ! echo "<p><a class=navlink href=\"$PHP_SELF?database=", urlencode($database), "\">Show All Views</a> |\n"; ! echo "<a class=navlink href=\"$PHP_SELF?action=properties&database=", urlencode($database), "&view=", ! urlencode($view), "\">Properties</a></p>\n"; } --- 56,62 ---- else echo "<p>No data.</p>\n"; ! echo "<p><a class=navlink href=\"$PHP_SELF?database=", urlencode($_REQUEST['database']), "\">Show All Views</a> |\n"; ! echo "<a class=navlink href=\"$PHP_SELF?action=properties&database=", urlencode($_REQUEST['database']), "&view=", ! urlencode($_REQUEST['view']), "\">Properties</a></p>\n"; } *************** *** 65,75 **** */ function doProperties($msg = '') { ! global $data, $localData, $misc, $database, $view; global $PHP_SELF, $strName, $strDefinition; ! echo "<h2>", htmlspecialchars($database), ": Views: ", htmlspecialchars($view), ": Properties</h2>\n"; $misc->printMsg($msg); ! $viewdata = &$localData->getView($view); if ($viewdata->recordCount() > 0) { --- 65,75 ---- */ function doProperties($msg = '') { ! global $data, $localData, $misc; global $PHP_SELF, $strName, $strDefinition; ! echo "<h2>", htmlspecialchars($_REQUEST['database']), ": Views: ", htmlspecialchars($_REQUEST['view']), ": Properties</h2>\n"; $misc->printMsg($msg); ! $viewdata = &$localData->getView($_REQUEST['view']); if ($viewdata->recordCount() > 0) { *************** *** 83,89 **** else echo "<p>No data.</p>\n"; ! echo "<p><a class=navlink href=\"$PHP_SELF?database=", urlencode($database), "\">Show All Views</a> |\n"; ! echo "<a class=navlink href=\"$PHP_SELF?action=edit&database=", urlencode($database), "&view=", ! urlencode($view), "\">Edit</a></p>\n"; } --- 83,89 ---- else echo "<p>No data.</p>\n"; ! echo "<p><a class=navlink href=\"$PHP_SELF?database=", urlencode($_REQUEST['database']), "\">Show All Views</a> |\n"; ! echo "<a class=navlink href=\"$PHP_SELF?action=edit&database=", urlencode($_REQUEST['database']), "&view=", ! urlencode($_REQUEST['view']), "\">Edit</a></p>\n"; } *************** *** 92,112 **** */ function doDrop($confirm) { ! global $localData, $database, $view; global $PHP_SELF; if ($confirm) { ! echo "<h2>", htmlspecialchars($database), ": Views: ", htmlspecialchars($view), ": Drop</h2>\n"; ! echo "<p>Are you sure you want to drop the view \"", htmlspecialchars($view), "\"?</p>\n"; echo "<form action=\"$PHP_SELF\" method=\"post\">\n"; echo "<input type=hidden name=action value=drop>\n"; ! echo "<input type=hidden name=view value=\"", htmlspecialchars($view), "\">\n"; ! echo "<input type=hidden name=database value=\"", htmlspecialchars($database), "\">\n"; echo "<input type=submit name=choice value=\"Yes\"> <input type=submit name=choice value=\"No\">\n"; echo "</form>\n"; } else { ! $status = $localData->dropView($view); if ($status == 0) doDefault('View dropped.'); --- 92,112 ---- */ function doDrop($confirm) { ! global $localData, $database; global $PHP_SELF; if ($confirm) { ! echo "<h2>", htmlspecialchars($_REQUEST['database']), ": Views: ", htmlspecialchars($_REQUEST['view']), ": Drop</h2>\n"; ! echo "<p>Are you sure you want to drop the view \"", htmlspecialchars($_REQUEST['view']), "\"?</p>\n"; echo "<form action=\"$PHP_SELF\" method=\"post\">\n"; echo "<input type=hidden name=action value=drop>\n"; ! echo "<input type=hidden name=view value=\"", htmlspecialchars($_REQUEST['view']), "\">\n"; ! echo "<input type=hidden name=database value=\"", htmlspecialchars($_REQUEST['database']), "\">\n"; echo "<input type=submit name=choice value=\"Yes\"> <input type=submit name=choice value=\"No\">\n"; echo "</form>\n"; } else { ! $status = $localData->dropView($_POST['view']); if ($status == 0) doDefault('View dropped.'); *************** *** 121,132 **** */ function doCreate($msg = '') { ! global $data, $localData, $misc, $database, $view; global $PHP_SELF, $strName, $strDefinition; - global $formView, $formDefinition; ! if (!isset($formView)) $formView = ''; ! if (!isset($formDefinition)) $formDefinition = ''; ! echo "<h2>", htmlspecialchars($database), ": Views: Create View</h2>\n"; $misc->printMsg($msg); --- 121,131 ---- */ function doCreate($msg = '') { ! global $data, $localData, $misc; global $PHP_SELF, $strName, $strDefinition; ! if (!isset($_POST['formView'])) $_POST['formView'] = ''; ! if (!isset($_POST['formDefinition'])) $_POST['formDefinition'] = ''; ! echo "<h2>", htmlspecialchars($_REQUEST['database']), ": Views: Create View</h2>\n"; $misc->printMsg($msg); *************** *** 135,149 **** echo "<tr><th class=data>{$strName}</th></tr>\n"; echo "<tr><td class=data1><input name=formView size={$data->_maxNameLen} maxlength={$data->_maxNameLen} value=\"", ! htmlspecialchars($formView), "\"></td></tr>\n"; echo "<tr><th class=data>{$strDefinition}</th></tr>\n"; echo "<tr><td class=data1><textarea style=\"width:100%;\" rows=20 cols=50 name=formDefinition wrap=virtual>", ! htmlspecialchars($formDefinition), "</textarea></td></tr>\n"; echo "</table>\n"; echo "<input type=hidden name=action value=save_create>\n"; ! echo "<input type=hidden name=database value=\"", htmlspecialchars($database), "\">\n"; echo "<input type=submit value=Save> <input type=reset>\n"; echo "</form>\n"; ! echo "<p><a class=navlink href=\"$PHP_SELF?database=", urlencode($database), "\">Show All Views</a></p>\n"; } --- 134,148 ---- echo "<tr><th class=data>{$strName}</th></tr>\n"; echo "<tr><td class=data1><input name=formView size={$data->_maxNameLen} maxlength={$data->_maxNameLen} value=\"", ! htmlspecialchars($_POST['formView']), "\"></td></tr>\n"; echo "<tr><th class=data>{$strDefinition}</th></tr>\n"; echo "<tr><td class=data1><textarea style=\"width:100%;\" rows=20 cols=50 name=formDefinition wrap=virtual>", ! htmlspecialchars($_POST['formDefinition']), "</textarea></td></tr>\n"; echo "</table>\n"; echo "<input type=hidden name=action value=save_create>\n"; ! echo "<input type=hidden name=database value=\"", htmlspecialchars($_REQUEST['database']), "\">\n"; echo "<input type=submit value=Save> <input type=reset>\n"; echo "</form>\n"; ! echo "<p><a class=navlink href=\"$PHP_SELF?database=", urlencode($_REQUEST['database']), "\">Show All Views</a></p>\n"; } *************** *** 152,162 **** */ function doSaveCreate() { ! global $localData, $formView, $formDefinition; ! $status = $localData->createView($formView, $formDefinition); ! if ($status == 0) ! doDefault('View created.'); ! else ! doCreate('View creation failed.'); } --- 151,166 ---- */ function doSaveCreate() { ! global $localData, $strViewNeedsName, $strViewNeedsDef; ! // Check that they've given a name and a definition ! if ($_POST['formView'] == '') doCreate($strViewNeedsName); ! elseif ($_POST['formDefinition'] == '') doCreate($strViewNeedsDef); ! else { ! $status = $localData->createView($_POST['formView'], $_POST['formDefinition']); ! if ($status == 0) ! doDefault('View created.'); ! else ! doCreate('View creation failed.'); ! } } *************** *** 168,172 **** global $PHP_SELF, $strView, $strOwner, $strActions, $strNoViews; ! echo "<h2>", htmlspecialchars($database), ": Views</h2>\n"; $misc->printMsg($msg); --- 172,176 ---- global $PHP_SELF, $strView, $strOwner, $strActions, $strNoViews; ! echo "<h2>", htmlspecialchars($_REQUEST['database']), ": Views</h2>\n"; $misc->printMsg($msg); *************** *** 182,191 **** echo "<td class=data{$id}>", htmlspecialchars($views->f[$data->vwFields['vwowner']]), "</td>\n"; echo "<td class=opbutton{$id}><a href=\"$PHP_SELF?action=browse&offset=0&limit=30&database=", ! htmlspecialchars($database), "&table=", urlencode($views->f[$data->vwFields['vwname']]), "\">Browse</a></td>\n"; echo "<td class=opbutton{$id}>Select</td>\n"; echo "<td class=opbutton{$id}><a href=\"$PHP_SELF?action=properties&database=", ! htmlspecialchars($database), "&view=", urlencode($views->f[$data->vwFields['vwname']]), "\">Properties</a></td>\n"; echo "<td class=opbutton{$id}><a href=\"$PHP_SELF?action=confirm_drop&database=", ! htmlspecialchars($database), "&view=", urlencode($views->f[$data->vwFields['vwname']]), "\">Drop</a></td>\n"; echo "</tr>\n"; $views->moveNext(); --- 186,195 ---- echo "<td class=data{$id}>", htmlspecialchars($views->f[$data->vwFields['vwowner']]), "</td>\n"; echo "<td class=opbutton{$id}><a href=\"$PHP_SELF?action=browse&offset=0&limit=30&database=", ! htmlspecialchars($_REQUEST['database']), "&view=", urlencode($views->f[$data->vwFields['vwname']]), "\">Browse</a></td>\n"; echo "<td class=opbutton{$id}>Select</td>\n"; echo "<td class=opbutton{$id}><a href=\"$PHP_SELF?action=properties&database=", ! htmlspecialchars($_REQUEST['database']), "&view=", urlencode($views->f[$data->vwFields['vwname']]), "\">Properties</a></td>\n"; echo "<td class=opbutton{$id}><a href=\"$PHP_SELF?action=confirm_drop&database=", ! htmlspecialchars($_REQUEST['database']), "&view=", urlencode($views->f[$data->vwFields['vwname']]), "\">Drop</a></td>\n"; echo "</tr>\n"; $views->moveNext(); *************** *** 198,202 **** } ! echo "<p><a class=navlink href=\"$PHP_SELF?action=create&database=", urlencode($database), "\">Create View</a></p>\n"; } --- 202,206 ---- } ! echo "<p><a class=navlink href=\"$PHP_SELF?action=create&database=", urlencode($_REQUEST['database']), "\">Create View</a></p>\n"; } *************** *** 213,217 **** break; case 'drop': ! if ($choice == 'Yes') doDrop(false); else doDefault(); break; --- 217,221 ---- break; case 'drop': ! if ($_POST['choice'] == 'Yes') doDrop(false); else doDefault(); break; |