1 |
6daefa8c
|
Petr Lukašík
|
<?
|
2 |
|
|
Header("Pragma: no-cache");
|
3 |
|
|
Header("Cache-Control: no-cache");
|
4 |
|
|
Header("Expires: ".GMDate("D, d M Y H:i:s")." GMT");
|
5 |
|
|
?>
|
6 |
|
|
<html>
|
7 |
|
|
<head>
|
8 |
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
9 |
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
10 |
|
|
<title>Update tabulky dictrefer</title>
|
11 |
|
|
</head>
|
12 |
|
|
|
13 |
|
|
<body bgcolor="Silver">
|
14 |
|
|
<CENTER><H2>Update tabulky DICTREFER</H2></CENTER>
|
15 |
|
|
|
16 |
|
|
<?
|
17 |
|
|
|
18 |
|
|
function vrat_slovo()
|
19 |
|
|
{
|
20 |
|
|
|
21 |
|
|
static $ignoruj=Array("{","}","[","]","⌈","⌉"); //slova pro ignorovani
|
22 |
|
|
static $Zacatek="<";
|
23 |
|
|
static $Konec="#";
|
24 |
|
|
global $radek;
|
25 |
|
|
global $slovo;
|
26 |
|
|
static $i=0;
|
27 |
|
|
$pom1="";
|
28 |
|
|
$slovo="";
|
29 |
|
|
|
30 |
|
|
for($i;$i<=strlen($radek);$i++):
|
31 |
|
|
if (($radek[$i]==" ")||($i==strlen($radek)))
|
32 |
|
|
{
|
33 |
|
|
if (strlen($slovo)<(strlen($Zacatek))+(strlen($Konec)+1))
|
34 |
|
|
{
|
35 |
|
|
$slovo="";
|
36 |
|
|
continue;
|
37 |
|
|
}
|
38 |
|
|
|
39 |
|
|
for($p=0;$p<strlen($Zacatek);$p++)
|
40 |
|
|
{
|
41 |
|
|
if ($Zacatek[$p]!=$slovo[$p]) {$slovo="";break;}
|
42 |
|
|
}
|
43 |
|
|
|
44 |
|
|
if ($slovo=="") continue;
|
45 |
|
|
|
46 |
|
|
for($p=(strlen($slovo)-strlen($Konec)),$q=0;$p<strlen($slovo);$p++,$q++)
|
47 |
|
|
{
|
48 |
|
|
if ($Konec[$q]!=$slovo[$p]) {$slovo="";break;}
|
49 |
|
|
}
|
50 |
|
|
if ($slovo=="") continue;
|
51 |
|
|
|
52 |
|
|
$slovo=" ".$slovo;
|
53 |
|
|
for ($k=0;$k<Count($ignoruj);$k++):
|
54 |
|
|
$delka2=strlen($slovo);
|
55 |
|
|
$pomocny="";
|
56 |
|
|
|
57 |
|
|
if ($pos=StrPos($slovo,$ignoruj[$k]))
|
58 |
|
|
{
|
59 |
|
|
// echo " nalezeno na pozici: ".$pos;
|
60 |
|
|
$t=strlen($ignoruj[$k]);
|
61 |
|
|
if ($pos==0)
|
62 |
|
|
{
|
63 |
|
|
for ($t;$t<=$delka2;$t++) { $pomocny.=$slovo[$t];}
|
64 |
|
|
}
|
65 |
|
|
else
|
66 |
|
|
{
|
67 |
|
|
for ($s=0;$s<$pos;$s++) { $pomocny.=$slovo[$s];}
|
68 |
|
|
for ($pos+$t;$pos+$t<$delka2;$pos++) {$pomocny.=$slovo[$pos+$t];}
|
69 |
|
|
}
|
70 |
|
|
$slovo=$pomocny;
|
71 |
|
|
$k--;
|
72 |
|
|
}
|
73 |
|
|
// else echo " Nenalezeno";
|
74 |
|
|
endfor;
|
75 |
|
|
|
76 |
|
|
$i++;
|
77 |
|
|
|
78 |
|
|
return(1);
|
79 |
|
|
}
|
80 |
|
|
else $slovo.=$radek[$i];
|
81 |
|
|
|
82 |
|
|
endfor;
|
83 |
|
|
|
84 |
|
|
return(0);
|
85 |
|
|
|
86 |
|
|
}
|
87 |
|
|
|
88 |
|
|
static $slovo="";
|
89 |
|
|
static $radek="";
|
90 |
|
|
static $pocitadlo_novych_radku=0;
|
91 |
|
|
static $pocitadlo_update=0;
|
92 |
|
|
|
93 |
|
|
@$spojeni = Pg_Connect("user=dbowner dbname=klinopis");
|
94 |
|
|
if (!$spojeni):
|
95 |
|
|
echo "Nepodarilo se pripojit k PostgreSQL.<BR>\n";
|
96 |
|
|
die ("</body></html>");
|
97 |
|
|
endif;
|
98 |
|
|
|
99 |
|
|
@$vysledek1 = Pg_Exec($spojeni, "SELECT item,text1 FROM obdict WHERE zmena = 1 order by item");
|
100 |
|
|
if (!$vysledek1):
|
101 |
|
|
echo "Doslo k chybe pri zpracovani dotazu v tabulce OBDICT.<BR>\n";
|
102 |
|
|
die ("</body></html>");
|
103 |
|
|
endif;
|
104 |
|
|
echo "<b>V tabulce OBDICT je nastavena ZMENA pro <FONT color=\"Green\">".Pg_NumRows($vysledek1)." </FONT>radek/radku.</b> <BR>\n";
|
105 |
|
|
|
106 |
|
|
if (Pg_NumRows($vysledek1)==0):
|
107 |
|
|
echo "<b>Neni treba updatovat zadne tabulky.<BR>\n</b>";
|
108 |
|
|
die ("</body></html>");
|
109 |
|
|
endif;
|
110 |
|
|
|
111 |
|
|
for ($m=0; $m < Pg_NumRows($vysledek1); $m++):
|
112 |
|
|
$zaznam1 = Pg_Fetch_Array($vysledek1, $m);
|
113 |
|
|
if ($m%500==0) echo "\n<BR>Zpracovano radku: ".$m;
|
114 |
|
|
$radek = $zaznam1["text1"];
|
115 |
|
|
// echo "<br><b><FONT FACE=\"Arial Unicode MS\">Zpracovavam radek: </b>".$radek."<BR>";
|
116 |
|
|
$pom_item=$zaznam1["item"];
|
117 |
|
|
|
118 |
|
|
while(vrat_slovo()):
|
119 |
|
|
@$vysledek2 = Pg_Exec($spojeni, "SELECT item1,refer1 FROM dictrefer WHERE refer1 = '$slovo' AND AND item1='$pom_item' ");
|
120 |
|
|
echo "<br>Hledam refer1=".$slovo." a taky item1=".$zaznam1["item"];
|
121 |
|
|
// echo "<BR>Nalezeno v poctu :".Pg_NumRows($vysledek2);
|
122 |
|
|
if (!$vysledek2)
|
123 |
|
|
{
|
124 |
|
|
$vysledek4 = Pg_Exec($spojeni,"INSERT INTO dictrefer(item1,refer1) VALUES ('$pom_item','$slovo')" );
|
125 |
|
|
die ("</body></html>");
|
126 |
|
|
|
127 |
|
|
}
|
128 |
|
|
elseif (Pg_NumRows($vysledek2)==0)
|
129 |
|
|
{
|
130 |
|
|
//slovicko nenalezeno v OBDICT
|
131 |
|
|
$item1_pom=$zaznam1["item"];
|
132 |
|
|
$vysledek3 = Pg_Exec($spojeni,"INSERT INTO dictrefer(item1,refer1) VALUES ('$item1_pom','$slovo')" );
|
133 |
|
|
if (!$vysledek3)
|
134 |
|
|
{
|
135 |
|
|
echo "Doslo k chybe pri insertu slovicka do tabulky DICTREFER.<BR>\n";
|
136 |
|
|
echo "<FONT FACE=\"Arial Unicode MS\">\nINSERT INTO dictrefer(item1,refer1) VALUES ('".$zaznam1["item"]."',' ".$slovo."')\n<HR></FONT>";
|
137 |
|
|
die ("</body></html>");
|
138 |
|
|
}
|
139 |
|
|
else {
|
140 |
|
|
echo "\n<HR><BR><FONT color=\"green\"><b>Nova radka v tabulce DICTREFER ulozena!!! </b></font><br>";
|
141 |
|
|
echo "<FONT FACE=\"Arial Unicode MS\">\nINSERT INTO dictrefer(item1,refer1) VALUES ('".$zaznam1["item"]."',' ".$slovo."')\n<HR></FONT>";
|
142 |
|
|
$pocitadlo_novych_radku++;
|
143 |
|
|
}
|
144 |
|
|
}
|
145 |
|
|
else { //slovicko nalezeno
|
146 |
|
|
echo "\n<HR><BR><FONT color=\"red\"><b>Zaznam jiz nalezen!!</b></font><BR> ";
|
147 |
|
|
echo "refer1 = '".$slovo."' & item1 = '".$zaznam1["item"]."'";
|
148 |
|
|
echo "\n<HR>";
|
149 |
|
|
continue;
|
150 |
|
|
}
|
151 |
|
|
endwhile;
|
152 |
|
|
|
153 |
|
|
$item_pom=$zaznam1["item"];
|
154 |
|
|
$text1_pom=$zaznam1["text1"];
|
155 |
|
|
@$vysledek4 = Pg_Exec($spojeni,"UPDATE obdict SET zmena = '0' WHERE ((item='$item_pom') AND (text1='$text1_pom'))");
|
156 |
|
|
if (!$vysledek4)
|
157 |
|
|
{
|
158 |
|
|
echo "Doslo k chybe pri updatu polozky zmena v tabulce OBDICT.<BR>\n";
|
159 |
|
|
die ("</body></html>");
|
160 |
|
|
}
|
161 |
|
|
else
|
162 |
|
|
{
|
163 |
|
|
$pocitadlo_update+=1;
|
164 |
|
|
// echo "<HR><B> <FONT color=\"green\"> Zmena 1 -> 0 - uspesne ulozeno!!!</b></font>";
|
165 |
|
|
}
|
166 |
|
|
endfor;
|
167 |
|
|
echo "\n<BR><HR><b>Zpracovano <FONT color=\"green\">".$pocitadlo_update."</font> radek/radku.</b></FONT>";
|
168 |
|
|
echo "\n<BR><b>Do tabulky DICTREFER bylo ulozeno <FONT color=\"green\">".$pocitadlo_novych_radku."</font> novych radek/radku.</b></FONT>";
|
169 |
|
|
?>
|
170 |
|
|
</body>
|
171 |
|
|
</html>
|