source: trunk/Modules/Translation/LoadNames.php

Last change on this file was 900, checked in by chronos, 9 months ago
  • Fixed: More form input fields validation.
  • Modified: Code cleanup.
File size: 5.0 KB
Line 
1<?php
2
3class PageLoadNames extends Page
4{
5 function ReplaceTranslated($orig, $tran, $Text, $ID, $Group)
6 {
7 $tran_replace = str_replace(' ','&nbsp;',htmlspecialchars($tran));
8 $orig_replace = str_replace(' ','&nbsp;',htmlspecialchars($orig));
9
10 // if (strlen($orig) < strlen($Text)-1) {
11 if ($Group <> '')
12 {
13 $Text = str_replace(' '.$orig,' <span Title="Přelož jako:&nbsp;'.$tran_replace.
14 '" class="edit"><a class="edit" target="_NEW2" href="'.$this->System->Link('/form.php?group='.$Group.'&amp;ID='.$ID).'">'.$orig_replace.'</a></span>',$Text);
15 } else {
16 $Text = str_replace(' '.$orig,' <span Title="Přelož jako:&nbsp;'.$tran_replace.
17 '" class="edit"><a class="edit" target="_NEW2" href="'.$this->System->Link('/'.T('dictionary', 'URL').'/?search='.$tran).'">'.$orig_replace.'</a></span>',$Text);
18 }
19 // }
20 return $Text;
21 }
22
23 function ReplaceNotTranslated($orig, $tran, $Text, $ID, $Group)
24 {
25 $orig_replace = str_replace(' ','&nbsp;',htmlspecialchars($orig));
26
27 $Text = str_replace(' '.$orig,' <span title="Kliknutím přeložíš" class="needtran"><a class="needtran" target="_NEW2" href="'.
28 $this->System->Link('/form.php?group='.$Group.'&amp;ID='.$ID).'">'.$orig_replace.'</a></span>',$Text);
29 return $Text;
30 }
31
32 function ColorNames($Text, $names)
33 {
34 $Text = ' '.$Text;
35 $Text = str_replace('$B$B','$B$B ',$Text);
36
37 $Text = str_replace('$B','<span Title="Znamená odřádkování, překladu zachovej na stejné pozici." class="edit">$B</span>',$Text);
38 $Text = str_replace('$N','<span Title="Znamená jméno hráče, překladu zachovej na stejné pozici." class="edit">$N</span>',$Text);
39 $Text = str_replace('$R','<span Title="Znamená rasu hráče, překladu zachovej na stejné pozici." class="edit">$R</span>',$Text);
40 $Text = str_replace('$C','<span Title="Znamená povolání hráče, překladu zachovej na stejné pozici." class="edit">$C</span>',$Text);
41 $Text = str_replace('$G','<span Title="Vybere oslovení podle pohlaví hráče, překladu zachovej na stejné pozici." class="edit">$G</span>',$Text);
42 $Text = str_replace('$b','<span Title="Znamená odřádkování, překladu zachovej na stejné pozici." class="edit">$B</span>',$Text);
43 $Text = str_replace('$n','<span Title="Znamená jméno hráče, překladu zachovej na stejné pozici." class="edit">$N</span>',$Text);
44 $Text = str_replace('$c','<span Title="Znamená povolání hráče, překladu zachovej na stejné pozici." class="edit">$c</span>',$Text);
45 $Text = str_replace('$r','<span Title="Znamená rasu hráče, překladu zachovej na stejné pozici." class="edit">$R</span>',$Text);
46 $Text = str_replace('$g','<span Title="Vybere oslovení podle pohlaví hráče, překladu zachovej na stejné pozici." class="edit">$G</span>',$Text);
47 foreach ($names as $Line)
48 {
49 if (($_GET['ID'] <> $Line[0]) or ($Line[1] <> $_GET['GroupId']))
50 {
51 if ($Line[3] <> '')
52 {
53 $Text = $this->ReplaceTranslated($Line[2],$Line[3],$Text,$Line[0],$Line[1]);
54 } else
55 {
56 $Text = $this->ReplaceNotTranslated($Line[2],$Line[3],$Text,$Line[0],$Line[1]);
57 }
58 }
59 }
60 return $Text;
61 }
62
63 function LoadNames()
64 {
65 $User = ModuleUser::Cast($this->System->GetModule('User'))->User;
66 $TranslationTree = $this->System->ModuleManager->Modules['Translation']->GetTranslationTree();
67
68 $Output = '';
69 if (array_key_exists('GroupId', $_GET)) $GroupId = $_GET['GroupId'];
70 else return ShowMessage(T('GroupId not specified'), MESSAGE_CRITICAL);
71 if (!array_key_exists('ID', $_GET)) return ShowMessage(T('ID not specified'), MESSAGE_CRITICAL);
72 if (!array_key_exists('Column', $_GET)) return ShowMessage(T('Column not specified'), MESSAGE_CRITICAL);
73 $Table = $TranslationTree[$GroupId]['TablePrefix'];
74 $DbResult = $this->System->Database->query('SELECT * FROM `'.$Table.'` WHERE `ID` = '.$_GET['ID'].' LIMIT 1');
75 $LineAJ = $DbResult->fetch_assoc();
76 $Column = $_GET['Column'];
77 //$Text = $LineAJ[$TranslationTree[$GroupId]['Items'][$_GET['Item']]];
78 $Text = $LineAJ[$Column];
79 $names = array();
80 if ($User->Licence(LICENCE_USER))
81 if (($GroupId < 4) or ($GroupId == 10) or ($GroupId == 11))
82 {
83 //<span class="edit">barvou.</span>
84 $names = GetTranslatNames($Text, 0, GetTranslatNamesArray());
85 } else
86 {
87 if (($GroupId == 13))
88 {
89 $names = GetTranslatNames($Text, 0, array('Dictionary' => 'Text',
90 'TextGlobalString' => 'Text', 'TextArea' => 'Name',
91 'TextItemSubClass' => 'Name', 'TextCharacterRace' => 'Name1',), false);
92 } else
93 {
94 $names = GetTranslatNames($Text, 0, GetTranslatNamesArray());
95 }
96 }
97 //$LineAJ[$Column]
98 return $this->ColorNames(htmlspecialchars($Text), $names);
99 }
100
101 function Show(): string
102 {
103 $this->RawPage = true;
104 return str_replace("\n", '<br/>', $this->LoadNames());
105 }
106}
Note: See TracBrowser for help on using the repository browser.