Add download ability from the history window
authorJehan-Guillaume (ioguix) de Rorthais <jgdr@dalibo.com>
Wed, 1 Jun 2011 20:13:03 +0000 (22:13 +0200)
committerJehan-Guillaume (ioguix) de Rorthais <jgdr@dalibo.com>
Wed, 1 Jun 2011 20:13:03 +0000 (22:13 +0200)
history.php

index 285cb24ca73e9b3ba816dbe4ec51f983f61a7d5e..4aea0842951c988858bf1c3c5d25722217b45385 100644 (file)
@@ -72,7 +72,8 @@
                if (isset($_SESSION['history'][$_REQUEST['server']][$_REQUEST['database']]) 
                                && count($_SESSION['history'][$_REQUEST['server']][$_REQUEST['database']]))
                        echo "\t<li><a href=\"history.php?action=confclearhistory&amp;{$misc->href}\">{$lang['strclearhistory']}</a></li>\n";
-               echo "\t<li><a href=\"history.php?action=history&amp;{$misc->href}\">{$lang['strrefresh']}</a></li>\n</ul>\n";
+               echo "\t<li><a href=\"history.php?action=history&amp;{$misc->href}\">{$lang['strrefresh']}</a></li>\n";
+               echo "\t<li><a href=\"history.php?action=download&amp;{$misc->href}\">{$lang['strdownload']}</a></li>\n</ul>\n";
        }
 
        function doDelHistory($qid, $confirm) {
                else
                        unset($_SESSION['history'][$_REQUEST['server']][$_REQUEST['database']]);
        }
-                                                                                                                                                                                                                                                                                                                       
+
+       function doDownloadHistory() {
+               header('Content-Type: application/download');
+               $datetime = date('YmdHis');
+               header("Content-Disposition: attachment; filename=history{$datetime}.sql");
+
+               foreach ($_SESSION['history'][$_REQUEST['server']][$_REQUEST['database']] as $queries) {
+                       $query = rtrim($queries['query']);
+                       echo $query;
+                       if (substr($query, -1) != ';')
+                               echo ';';
+                       echo "\n";
+               }
+
+               exit;
+       }
        
        switch ($action) {
                case 'confdelhistory':
                        if (isset($_POST['yes'])) doClearHistory(false);
                        doDefault();
                        break;
+               case 'download':
+                       doDownloadHistory();
+                       break;
                default:
                        doDefault();
        }