source: trunk/export.php@ 61

Last change on this file since 61 was 61, checked in by george, 16 years ago
  • Přidáno: Export překladů do českého WoW Addonu.
  • Upraveno: Export souborů se nyní ukládá samostatně do složek dle jmen uživatelů.
  • Přidáno: Zobrazování chyb dle konfigurace.
File size: 2.8 KB
Line 
1<?php
2
3function Export($Setting)
4{
5 global $Database, $Config, $TranslationTree;
6
7 $AnoNe = array('Ne', 'Ano');
8 if($_SESSION['UserID'] != '')
9 {
10 $DbResult = $Database->SQLCommand("SELECT user FROM `user` WHERE ID=".$_SESSION['UserID']);
11 $User = mysql_fetch_assoc($DbResult);
12 } else $User = array('user' => 'Neznámý');
13
14 $WhereLang = '';
15 if($Setting['language-cz']) $WhereLang .= " OR (Language = 1)";
16 if($Setting['language-sk']) $WhereLang .= " OR (Language = 2)";
17 if($Setting['language-other']) $WhereLang .= " OR (Language = 3)";
18 if($WhereLang == '') $WhereLang = 1;
19 else $WhereLang = '('.substr($WhereLang, 4).')';
20
21 $SelectedUsers = '';
22 foreach($Setting['users-selection'] as $Item)
23 $SelectedUsers .= ','.$Item;
24 $SelectedUsers = substr($SelectedUsers, 1);
25
26 $DbResult = $Database->SQLCommand("SELECT user FROM `user` WHERE ID IN (".$SelectedUsers.')');
27 while($DbRow = mysql_fetch_assoc($DbResult))
28 $UserNames .= ','.$DbRow['user'];
29 $UserNames = substr($UserNames, 1);
30
31 if($SelectedUsers == '') $WhereUsers = 1;
32 else $WhereUsers = '(User IN ('.$SelectedUsers.'))';
33
34 $Buffer =
35 "-- Generováno projektem wowpreklad.zdechov.net\n".
36 "-- ===========================================\n".
37 "--\n".
38 "-- Web projektu: ".$Config['Web']['BaseURL']."\n".
39 "-- Datum exportu: ".date("j.n.Y H:i:s")."\n".
40 "-- Znaková sada: ".$Config['Database']['Charset']." / ".$Config['Web']['Charset']."\n".
41 "-- Diakritika: ".$AnoNe[$Setting['Diacritics']]."\n".
42 "-- Vygeneroval uživatel: ".$User['user']."\n".
43 "-- Vzato od uživatelů: ".$UserNames."\n".
44 "-- Generované tabulky: ";
45 foreach($TranslationTree as $Group)
46 if($Group['MangosTable'] != '')
47 if(in_array($Group['Id'], $Setting['groups']))
48 $Buffer .= $Group['MangosTable'].', ';
49 $Buffer .= "\n\n";
50
51 foreach($TranslationTree as $Group)
52 if(($Group['TablePrefix'] != '') and (in_array($Group['Id'], $Setting['groups'])))
53 {
54 $Query = 'SELECT * FROM (SELECT * FROM '.$Group['TablePrefix'].' WHERE (Complete = 1) AND '.$WhereLang.' AND '.$WhereUsers.' ORDER BY FIELD(User, '.$SelectedUsers.')) AS T GROUP BY T.entry';
55 //echo($Query);
56 $Buffer .= "\n\n-- ".$Group['Name']."\n\n";
57 $ID = $Database->SQLCommand($Query);
58 while($Line = mysql_fetch_array($ID))
59 {
60 $Values = '';
61 foreach($Group['Items'] as $GroupItem)
62 if($GroupItem['MangosColumn'] != '')
63 $Values .= ', `'.$GroupItem['MangosColumn'].'`="'.addslashes($Line[$GroupItem['Column']]).'"';
64 $Values = substr($Values, 2);
65 $Buffer .= 'UPDATE `'.$Group['MangosTable'].'` SET '.$Values.' WHERE `'.$Group['MangosTableIndex'].'` = '.$Line['entry'].';'."\n";
66 }
67 }
68 if($Setting['Diacritics'] != 1) $Buffer = utf2ascii($Buffer);
69 return($Buffer);
70}
71
72
73?>
Note: See TracBrowser for help on using the repository browser.