Subversion Repositories personal-webbase

Rev

Rev 12 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. <?php
  2.  
  3. if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgef&uuml;hrt werden.');
  4.  
  5. if (!headers_sent()) header("Pragma: public");
  6. if (!headers_sent()) header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  7. if (!headers_sent()) header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  8. if (!headers_sent()) header("Cache-Control: private",false);
  9. if (!headers_sent()) header("Content-type: application/octet-stream");
  10. if (!headers_sent()) header("Content-Disposition: attachment; filename=\"Dump.ibd\"");
  11. if (!headers_sent()) header("Content-Transfer-Encoding: binary");
  12.  
  13. // Kleinsten Datensatz finden, um Exportdatei übersichtlich zu halten (kleinster Wert bekommt id=1)
  14.  
  15. $min = 'x';
  16. foreach ($tabellen as $m1 => $m2)
  17. {
  18.   $rs = db_query("SELECT MIN(`id`) AS `mi` FROM `".$mysql_zugangsdaten['praefix'].db_escape($m2)."`");
  19.   $rw = db_fetch($rs);
  20.   if ((($rw['mi'] < $min) || ($min == 'x')) && ($rw['mi'] != ''))
  21.     $min = $rw['mi'];
  22. }
  23. unset($m1);
  24. unset($m2);
  25. if ($min == 'x') $min = 0;
  26.  
  27. // Exportieren
  28.  
  29. $ende = 'IRONBASE#1;';
  30.  
  31. foreach ($tabellen as $n1 => $n2)
  32. {
  33.   if (isset($datenbanktabellen[$mysql_zugangsdaten['praefix'].$n2]['user']))
  34.   {
  35.     $v = '';
  36.     $res = db_query("SELECT * FROM `".$mysql_zugangsdaten['praefix']."$n2` WHERE `user` = '".$benutzer['id']."'");
  37.     while ($row = db_fetch($res))
  38.     {
  39.       $i = 0;
  40.       $v .= base64_encode($n2).'*';
  41.       foreach($row as $m1 => $m2)
  42.       {
  43.         $i++;
  44.         if ($i % 2 == 0)
  45.         {
  46.           if ($m1 != 'user')
  47.           {
  48.             if ($m1 == 'id')
  49.             {
  50.               $v .= base64_encode($m1).'~'.base64_encode($m2-$min+1).',';
  51.             }
  52.             else
  53.             {
  54.               if (($m1 == 'folder') && ($m2 != '0'))
  55.                 $v .= base64_encode($m1).'~'.base64_encode($m2-$min+1).',';
  56.               else
  57.                 $v .= base64_encode($m1).'~'.base64_encode($m2).',';
  58.             }
  59.           }
  60.         }
  61.       }
  62.  
  63.       unset($m1);
  64.           unset($m2);
  65.  
  66.       $v = substr($v, 0, strlen($v)-1).";";
  67.     }
  68.     $ende .= $v;
  69.   }
  70. }
  71.  
  72. for ($i=0; $i<=(strlen($ende)/100); $i++)
  73. {
  74.   echo substr($ende, $i*100, 100)."\r\n";
  75. }
  76.  
  77. ?>
  78.