1 | <?php
|
---|
2 |
|
---|
3 | include('includes/global.php');
|
---|
4 |
|
---|
5 | ShowPage();
|
---|
6 |
|
---|
7 | // Ochrana proti neoprávněnému přístupu
|
---|
8 | // if($User->Licence(LICENCE_USER) == false) die('Nemáte přístup do této sekce! Je nutné se přihásit.');
|
---|
9 |
|
---|
10 | $GroupId = LoadGroupIdParameter();
|
---|
11 | $Table = $TranslationTree[$GroupId]['TablePrefix'];
|
---|
12 | if(array_key_exists('entry', $_POST) and $User->Licence(LICENCE_USER))
|
---|
13 | {
|
---|
14 | $Entry = $_POST['entry'] * 1; // Make numeric
|
---|
15 | $TextID = $_POST['ID'] * 1;
|
---|
16 | $Language = $_POST['Language'] * 1;
|
---|
17 | if(array_key_exists('End', $_POST)) $Complete = 1;
|
---|
18 | else $complete = 0;
|
---|
19 |
|
---|
20 | $DbResult = $Database->SQLCommand('SELECT * FROM `'.$Table.'` WHERE (`Language` = 0) AND (`Entry` = '.$Entry.')');
|
---|
21 | if(mysql_num_rows($DbResult) == 0) ErrorMessage('Neznámé Id položky');
|
---|
22 | $LineAJ = mysql_fetch_array($DbResult);
|
---|
23 | $LineTake = mysql_fetch_array($Database->SQLCommand('SELECT `VersionEnd`, `VersionStart` FROM `'.$Table.'` WHERE `ID` = '.$TextID));
|
---|
24 | if(mysql_num_rows($DbResult) == 0) ErrorMessage('Neznámé Id položky');
|
---|
25 | $DbResult = $Database->SQLCommand('SELECT * FROM `'.$Table.'` WHERE (`User`='.$User->Id.') AND (`Entry` = '.$Entry.') AND (`VersionStart` = '.$LineTake['VersionStart'].') AND (`VersionEnd` = '.$LineTake['VersionEnd'].')');
|
---|
26 | $Line = mysql_fetch_array($DbResult);
|
---|
27 | if(!$Line)
|
---|
28 | {
|
---|
29 | $Columns = '`Language` , `User` , `Complete` , `Take` , `VersionStart` , `VersionEnd`';
|
---|
30 | $Values = $Language.','.$User->Id.','.$Complete.','.$TextID.','.$LineTake['VersionStart'].','.$LineTake['VersionEnd'];
|
---|
31 | foreach($TranslationTree[$GroupId]['Items'] as $GroupItem)
|
---|
32 | {
|
---|
33 | if(array_key_exists($GroupItem['Column'], $_POST))
|
---|
34 | {
|
---|
35 | if (($GroupItem['Column'] <> 'ShortCut') and ($GroupItem['Column'] <> 'Rank'))
|
---|
36 | {
|
---|
37 | $Columns .= ', `'.$GroupItem['Column'].'`';
|
---|
38 | $Values .= ', "'.@$_POST[$GroupItem['Column']].'"';
|
---|
39 | }
|
---|
40 | }
|
---|
41 | }
|
---|
42 | //echo('INSERT INTO `'.$Table.'` ('.$Columns.') VALUES ('.$Values.')');
|
---|
43 | // $Database->SQLCommand('INSERT INTO `'.$Table.'` (`Entry`, '.$Columns.') VALUES ('.$Entry.','.$Values.')');
|
---|
44 | // $LastID = mysql_insert_id();
|
---|
45 |
|
---|
46 | // Kontrolování stejných textů
|
---|
47 | $Where = 'Language = 0';
|
---|
48 | foreach($TranslationTree[$GroupId]['Items'] as $GroupItem)
|
---|
49 | {
|
---|
50 | if(($GroupItem['Column'] <> 'ShortCut') and ($GroupItem['Column'] <> 'Rank'))
|
---|
51 | {
|
---|
52 | if(array_key_exists($GroupItem['Column'], $_POST))
|
---|
53 | $Where .= ' AND `'.$GroupItem['Column'].'` = "'.addslashes($LineAJ[$GroupItem['Column']]).'"';
|
---|
54 | else $Where .= ' AND `'.$GroupItem['Column'].'` = ""';
|
---|
55 | }
|
---|
56 | if($GroupItem['Column'] == 'Rank')
|
---|
57 | {
|
---|
58 | if(array_key_exists('Rank', $_POST))
|
---|
59 | {
|
---|
60 | $Rank = substr($_POST['Rank'],0 ,strpos($_POST['Rank'],' '));
|
---|
61 | if(strlen($Rank) <= 2)
|
---|
62 | $Rank = substr($_POST['Rank'], strpos($_POST['Rank'],' ') + 1);
|
---|
63 | } else $Rank = 'Úroveň';
|
---|
64 | }
|
---|
65 | }
|
---|
66 |
|
---|
67 | $SameTranID = $Database->SQLCommand('SELECT * FROM '.$Table.' WHERE '.$Where);
|
---|
68 | while($SameTranLine = mysql_fetch_assoc($SameTranID))
|
---|
69 | {
|
---|
70 | $Line = mysql_fetch_array($Database->SQLCommand('SELECT * FROM `'.$Table.'` WHERE (`User`='.$User->Id.') AND (`Entry` = '.$SameTranLine['Entry'].') AND (`VersionStart` = '.$LineTake['VersionStart'].') AND (`VersionEnd` = '.$LineTake['VersionEnd'].')'));
|
---|
71 | if(!$Line)
|
---|
72 | {
|
---|
73 | if($GroupItem['Column'] <> 'ShortCut')
|
---|
74 | {
|
---|
75 | if(isset($Rank))
|
---|
76 | {
|
---|
77 | $Rank_number = substr($SameTranLine['Rank'], strpos($SameTranLine['Rank'],' ') + 1);
|
---|
78 | if($Rank_number <> '') $Rank_cur = $Rank.' '.$Rank_number;
|
---|
79 | else $Rank_cur = $SameTranLine['Rank'];
|
---|
80 | $Database->SQLCommand('INSERT INTO `'.$Table.'` (`Entry`, '.$Columns.', `Rank`) VALUES ('.$SameTranLine['Entry'].','.$Values.',"'.$Rank_cur.'")');
|
---|
81 | } else
|
---|
82 | {
|
---|
83 | $Database->SQLCommand('INSERT INTO `'.$Table.'` (`Entry`, '.$Columns.') VALUES ('.$SameTranLine['Entry'].','.$Values.')');
|
---|
84 | }
|
---|
85 | } else
|
---|
86 | {
|
---|
87 | $Database->SQLCommand('INSERT INTO `'.$Table.'` (`Entry`, '.$Columns.', `ShortCut`) VALUES ('.$SameTranLine['Entry'].','.$Values.',"'.$SameTranLine['ShortCut'].'")');
|
---|
88 | }
|
---|
89 | $LastIDs[] = mysql_insert_id();
|
---|
90 | }
|
---|
91 | }
|
---|
92 |
|
---|
93 | // Konec kontrolování stejných textů
|
---|
94 |
|
---|
95 | echo('Překlad <a href="form.php?group='.$GroupId.'&ID='.$TextID.'">'.$TextID.'</a> ('.$Entry.') uložen!<br />');
|
---|
96 | foreach($LastIDs as $LastID)
|
---|
97 | {
|
---|
98 | if(count($LastIDs) > 1) echo('Nalezen stejný překlad, systémově přeložen: <a href="form.php?group='.$GroupId.'&ID='.$LastID.'">'.$LastID.'</a> Převzat z: <a href="form.php?group='.$GroupId.'&ID='.$TextID.'">'.$TextID.'</a><br />');
|
---|
99 | WriteLog('Text <a href="form.php?group='.$GroupId.'&ID='.$LastID.'">'.$LastID.'</a> ze skupiny <a href="TranslationList.php?group='.$GroupId.'&action=filter">'.$TranslationTree[$GroupId]['Name'].'</a> uložen! Převzat z <a href="form.php?group='.$GroupId.'&ID='.$TextID.'">'.$TextID.'</a>.', LOG_TYPE_TRANSLATION);
|
---|
100 | }
|
---|
101 | } else
|
---|
102 | {
|
---|
103 | $sql = 'UPDATE '.$Table.' SET `Complete` = '.$Complete;
|
---|
104 | foreach($TranslationTree[$GroupId]['Items'] as $GroupItem)
|
---|
105 | if(array_key_exists($GroupItem['Column'], $_POST))
|
---|
106 | $sql .= ', `'.$GroupItem['Column'].'`="'.$_POST[$GroupItem['Column']].'"';
|
---|
107 | $sql .= ', `Language` = '.$Language.' WHERE `ID` = '.$TextID.' AND `Language` <> 0';
|
---|
108 | //echo($sql);
|
---|
109 | $Database->SQLCommand($sql);
|
---|
110 | // echo $sql.'<br />';
|
---|
111 | echo('Změny v překladu <a href="form.php?group='.$GroupId.'&ID='.$TextID.'">'.$TextID.'</a> ('.$Entry.') uloženy!<br />');
|
---|
112 | WriteLog('Změny v překladu <a href="form.php?group='.$GroupId.'&ID='.$TextID.'">'.$TextID.'</a> ('.$Entry.') uloženy!', LOG_TYPE_TRANSLATION);
|
---|
113 | }
|
---|
114 | // Address and redirecting
|
---|
115 | echo('<br />Překládat: <a href="TranslationList.php?group='.$GroupId.'&action=notran">Nepřeložené</a> ');
|
---|
116 |
|
---|
117 | $prev = FollowingTran($TextID, $Table, $GroupId, True);
|
---|
118 | $next = FollowingTran($TextID, $Table, $GroupId);
|
---|
119 | echo('<br /><br />');
|
---|
120 | $redirecting = mysql_fetch_assoc($Database->SQLCommand('SELECT `Redirecting` FROM `User` WHERE `ID`='.$User->Id));
|
---|
121 |
|
---|
122 | switch($redirecting['Redirecting'])
|
---|
123 | {
|
---|
124 | case 1:
|
---|
125 | echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
---|
126 | 'setTimeout("parent.location.href=\''.htmlspecialchars_decode('TranslationList.php?group='.$GroupId.'&action=notran').'\'", 1500)'.
|
---|
127 | '</script>');
|
---|
128 | break;
|
---|
129 | case 2:
|
---|
130 | if($next <> '')
|
---|
131 | echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
---|
132 | 'setTimeout("parent.location.href=\''.htmlspecialchars_decode($next).'\'", 1500)'.
|
---|
133 | '</script>');
|
---|
134 | break;
|
---|
135 | case 3:
|
---|
136 | if($prev <> '')
|
---|
137 | echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
|
---|
138 | 'setTimeout("parent.location.href=\''.htmlspecialchars_decode($prev).'\'", 1500)'.
|
---|
139 | '</script>');
|
---|
140 | break;
|
---|
141 | }
|
---|
142 |
|
---|
143 | echo ('Z této stránky můžete být automaticky přesměrování. Nastavit kam chcete být přesměrování si můžete v <a href="'.$Config['Web']['BaseURL'].'Options.php" Title = "Nastavení uživatele">Nastavení</a>');
|
---|
144 |
|
---|
145 | // Aktualizace informace o nutnosti načíst XP
|
---|
146 | $Database->SQLCommand('UPDATE `User` SET `NeedUpdate` = 1 WHERE `ID` = '.$User->Id);
|
---|
147 | } else
|
---|
148 | {
|
---|
149 | if(array_key_exists('entry', $_POST))
|
---|
150 | {
|
---|
151 | echo('Byli jste automaticky odhlášeni. Pro <strong>Uložení překladu</strong> se musíte přihlásit zde:<br /><br />');
|
---|
152 | echo('<form action="save.php?group='.$GroupId.'" method="post"><div>');
|
---|
153 | echo('<input type="hidden" name="entry" value="'.$_POST['entry'].'" />'.
|
---|
154 | '<input type="hidden" name="user" value="'.$_POST['user'].'" />'.
|
---|
155 | '<input type="hidden" name="ID" value="'.$_POST['ID'].'" />'.
|
---|
156 | '<input type="hidden" name="Language" value="'.$_POST['Language'].'" />');
|
---|
157 |
|
---|
158 | foreach($TranslationTree[$GroupId]['Items'] as $Index => $TextItem)
|
---|
159 | {
|
---|
160 | if(array_key_exists($TextItem['Column'], $_POST)) $Value = $_POST[$TextItem['Column']]; else $Value = '';
|
---|
161 | echo('<input id="'.$TextItem['Column'].'" name="'.$TextItem['Column'].'" type="hidden" value="'.htmlspecialchars($Value).'" />');
|
---|
162 | }
|
---|
163 | echo('<table>'.
|
---|
164 | '<tr>'.
|
---|
165 | '<td>Jméno: <input type="text" name="LoginUser" size="13" /></td>'.
|
---|
166 | '</tr><tr>'.
|
---|
167 | '<td>Heslo: <input type="password" name="LoginPass" size="13" /></td>'.
|
---|
168 | '</tr><tr>'.
|
---|
169 | '<th><input type="submit" value="Přihlásit a uložit překlad" /></th>'.
|
---|
170 | '</tr>'.
|
---|
171 | '</table>');
|
---|
172 | } else echo('Na tuto stránku nelze vstoupit přímo.');
|
---|
173 | }
|
---|
174 |
|
---|
175 | ShowFooter();
|
---|
176 |
|
---|
177 | ?>
|
---|