Subversion Repositories personal-webbase

Rev

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

Rev Author Line No. Line
12 daniel-mar 1
<?php
2
 
14 daniel-mar 3
if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgef&uuml;hrt werden.');
12 daniel-mar 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
?>