diff --git a/ChangeLog b/ChangeLog index 0b0979cd7..105e180c1 100755 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,8 @@ $Source$ 2004-02-11 Marc Delisle * server_privileges.php: bug 818654, password not copied + * read_dump.php, libraries/display_tbl.lib.php, /bookmark.lib.php: + bug 879005: execute stored bookmarks when user is different 2004-02-08 Marc Delisle * lang/spanish: Updated, thanks to Daniel Hinostroza (hinostroza). diff --git a/libraries/bookmark.lib.php b/libraries/bookmark.lib.php index d5ee9caa4..970f74afd 100644 --- a/libraries/bookmark.lib.php +++ b/libraries/bookmark.lib.php @@ -82,12 +82,13 @@ function PMA_listBookmarks($db, $cfgBookmark) * @param array the bookmark parameters for the current user * @param mixed the id of the bookmark to get * @param string which field to look up the $id + * @param boolean TRUE: get all bookmarks regardless of the owning user * * @return string the sql query * * @access public */ -function PMA_queryBookmarks($db, $cfgBookmark, $id, $id_field = 'id') +function PMA_queryBookmarks($db, $cfgBookmark, $id, $id_field = 'id', $action_bookmark_all = FALSE) { global $dbh; @@ -97,8 +98,8 @@ function PMA_queryBookmarks($db, $cfgBookmark, $id, $id_field = 'id') $query = 'SELECT query FROM ' . PMA_backquote($cfgBookmark['db']) . '.' . PMA_backquote($cfgBookmark['table']) . ' WHERE dbase = \'' . PMA_sqlAddslashes($db) . '\'' - . ' AND (user = \'' . PMA_sqlAddslashes($cfgBookmark['user']) . '\'' - . ' OR user = \'\')' + . ($action_bookmark_all? '' : ' AND (user = \'' . PMA_sqlAddslashes($cfgBookmark['user']) . '\'' + . ' OR user = \'\')' ) . ' AND ' . PMA_backquote($id_field) . ' = ' . $id; $result = PMA_DBI_try_query($query, $dbh); list($bookmark_query) = PMA_DBI_fetch_row($result) or array(FALSE); diff --git a/libraries/display_tbl.lib.php b/libraries/display_tbl.lib.php index 0c225f0d5..0b1d2e81e 100644 --- a/libraries/display_tbl.lib.php +++ b/libraries/display_tbl.lib.php @@ -1145,6 +1145,7 @@ function PMA_displayTableBody(&$dt_result, &$is_display, $map, $analyzed_sql) . PMA_generate_common_url($row['dbase'], '') . '&id_bookmark=' . $row['id'] . '&action_bookmark=0' + . '&action_bookmark_all=1' . '&SQL=' . $GLOBALS['strExecuteBookmarked'] .' " title="' . $GLOBALS['strExecuteBookmarked'] . '">'; diff --git a/read_dump.php b/read_dump.php index aa5a18e53..08267ac4e 100644 --- a/read_dump.php +++ b/read_dump.php @@ -52,7 +52,7 @@ if (!empty($id_bookmark)) { require_once('./libraries/bookmark.lib.php'); switch ($action_bookmark) { case 0: // bookmarked query that have to be run - $sql_query = PMA_queryBookmarks($db, $cfg['Bookmark'], $id_bookmark); + $sql_query = PMA_queryBookmarks($db, $cfg['Bookmark'], $id_bookmark,'id', (isset($action_bookmark_all) ? TRUE : FALSE)); if (isset($bookmark_variable) && !empty($bookmark_variable)) { $sql_query = preg_replace('|/\*(.*)\[VARIABLE\](.*)\*/|imsU', '${1}' . PMA_sqlAddslashes($bookmark_variable) . '${2}', $sql_query); }