Projekt

Obecné

Profil

Stáhnout (6.66 KB) Statistiky
| Větev: | Tag: | Revize:
1
<?
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
7

    
8
<html>
9
<head>
10
	<title>Pokus c.6</title>
11
</head>
12

    
13
<body bgcolor="Silver">
14
<?
15

    
16

    
17
function chyba()
18
	{
19
	 global $radek;	
20

    
21
	 printf("\n<BR>Pri zpracovani radku  %s  se vyskytla chyba!!!!!\n<BR>",$radek);
22
	 echo "</body></html>";
23
	 exit();
24
	}
25

    
26
function zpracuj_heslo()
27
	{
28
	  global $heslo;
29
	  global $pocet_hesel;
30
	  global $slovnik;
31
	  global $radek2;
32
			 
33
	  $pocet_hesel++;
34

    
35
	$heslo2=" ";
36
	  $ignoruj=Array("&lt;D:&gt;","&lt;B:&gt;" );  //slova pro ignorovani
37
	  printf("\n<BR>Puvodni heslo je :  %s",$heslo);
38

    
39
	  $delka=strlen($heslo);
40
	  for ($k=0;$k<$delka;$k++)
41
		{
42
		   if(($heslo[$k]=='[')||($heslo[$k]==']')||($heslo[$k]=='�')||($heslo[$k]=='�')) continue;
43
		   $heslo2.=$heslo[$k];
44
		}
45
 
46
	  for ($k=0;$k<Count($ignoruj);$k++):
47
  	$delka2=strlen($heslo2);
48
		$pomocny="";
49
//		echo "<BR> Hledam: ".$ignoruj[$k];
50
	
51
		if (($pos=StrPos($heslo2,$ignoruj[$k]))||(($heslo2[0]==$ignoruj[$k][0])&&($heslo2[1]==$ignoruj[$k][1])))
52
    	 {
53
//		  echo " nalezeno na pozici: ".$pos;
54
		  $t=strlen($ignoruj[$k]);					
55
		  if ($pos==0)
56
			{
57
			  for ($t;$t<=$delka2;$t++) { $pomocny.=$heslo2[$t];}
58
			}
59
  		  else
60
			{
61
   			  for ($s=0;$s<$pos;$s++)	{ $pomocny.=$heslo2[$s];}
62
			  for ($pos+$t;$pos+$t<$delka2;$pos++) {$pomocny.=$heslo2[$pos+$t];}
63
			}
64
		  $heslo2=$pomocny;
65
		  $k--;
66
    	 }	
67
// 	    else	echo " Nenalezeno";
68
	  endfor;
69

    
70
 	  printf("\n<BR>Upravene heslo je :  %s ",$heslo2);
71
// 	  echo "<BR>Hledam v : ".$slovnik[$heslo2];
72

    
73
    $radek2.=" ";
74
	  if (IsSet($slovnik[$heslo2]))
75
		{
76
		 $radek2.=odkaz1;
77
		 $pokus = ($slovnik[$heslo2][1]);
78

    
79

    
80
		 $pokus = rtrim($pokus);
81
		 $pokus = urlencode($pokus);
82
		 $radek2.=$pokus;
83
		 $radek2.=odkaz2;
84
		 $radek2.=$heslo;
85
		 $radek2.=odkaz3;
86

    
87
		 reset($slovnik[$heslo2]);
88
		 while (next($slovnik[$heslo2]))
89
			{
90
			  $radek2.=" ";
91
			  $radek2.=odkaz1;
92
			  $radek2.=current($slovnik[$heslo2]);
93
	          $radek2.=odkaz2;
94
	          $radek2.=odkaz4;
95
			  $radek2.=key($slovnik[$heslo2]);
96
	          $radek2.=odkaz5;
97
			  $radek2.=odkaz3;
98
			}
99
	 
100
//	     printf ("\n<BR><FONT  color=\"Green\">Nalezeno!<HR></FONT>");
101
		}
102
	  else	
103
		{
104
		 $radek2.=$heslo;
105
//	  	 printf ("\n<BR><FONT  color=\"Red\" >Nenalezeno!<HR></FONT>");
106
		}
107

    
108
	  $heslo="";
109
	  $heslo2="";
110
  return;
111
}
112

    
113

    
114

    
115
function zpracuj_radek()
116
	{
117
		global $radek;
118
		global $heslo;
119

    
120
		$i=0;
121
		$d=strlen($radek);
122
		$stav=0;
123
		printf("\n<BR>Radka je\n<BR> %s\n<BR>",$radek);
124

    
125
		while ($i<$d)
126
			{
127
				 $c=$radek[$i];
128
				 $i++;
129
				 switch($stav)
130
				   {
131
				    case 0: if($c=='<') {$stav=1;break;}
132
						    if($c==' ') break;
133
						    else {$stav=9;$heslo.=$c;$j=1;break;}
134

    
135
				    case 1: if(($c=='a')||($c=='A')) {$stav=2;}
136
	    					else chyba();
137
						    break;
138

    
139
				    case 2: if($c=='>') {$stav=3;}
140
						    break;
141

    
142
				    case 3: if($c=='<')	{$stav=4;}
143
						    else  {$heslo.=$c;}
144
						    break;
145

    
146
				    case 4: if (($c=='b')||($c=='B')) {$stav=5;break;}
147
						    if ($c=='/'){$stav=7;zpracuj_heslo();}
148
						    else chyba();
149
					 	    break;
150

    
151
				    case 5: if((($c=='a')||($c=='A'))&&($radek[$i-2]=='/')) $stav=6;
152
						    break;
153

    
154
				    case 6: if ($c=='>') {$stav=0;}
155
						    else chyba();
156
						    break;
157

    
158
				    case 7: if(($c=='a')||($c=='A')) $stav=8;
159
						    else chyba();
160
						    break;
161

    
162
				    case 8: if($c=='>') {$stav=0;}
163
						    else chyba();
164
						    break;
165

    
166
				    case 9: if ($c==' ') {zpracuj_heslo(); $stav=0;}
167
						    else {$heslo.=$c;}
168
						    break;
169

    
170
				    default: break;
171
				   }
172
			}
173

    
174
  		if ($stav==9) {zpracuj_heslo();}
175
		if (($stav==9)||($stav==0)) /*printf("\n<BR>Probehlo to OK!")*/;
176
		else chyba();
177

    
178
	return;
179
	}
180

    
181

    
182
static $heslo ="";
183
static $heslo2 ="";
184
static $radek ="";
185
static $radek2 ="";
186
static $pocet_hesel=0;
187
static $pocet_zmen=0;
188
static $slovnik;
189

    
190
define("odkaz1","<A HREF=\"http://www.klinopis.cz/utf/s.php?chain=");
191
define("odkaz2","\">");
192
define("odkaz3","</A>");
193
define("odkaz4","<b><SUP>");
194
define("odkaz5","</SUP></b>");
195

    
196
@$spojeni = Pg_Connect("user=dbowner dbname=klinopis");
197
	if (!$spojeni):
198
		echo "Nepodarilo se pripojit k PostgreSQL.<BR>\n";
199
		die ("</body></html>");
200
	endif;
201

    
202
@$vysledek = Pg_Exec($spojeni, "SELECT item1,refer1 FROM dictrefer order by item1,refer1");
203
	if (!$vysledek):
204
		echo "Doslo k chybe pri zpracovani dotazu v databazi slovicek.<BR>\n";
205
		die ("</body></html>");
206
	endif;
207
	echo "V tabulce dictrefer je <FONT  color=\"Green\"><b>".Pg_NumRows($vysledek)."</b> </FONT>slovicek.<BR>\n";
208

    
209
	for ($m=0; $m < Pg_NumRows($vysledek); $m++):
210
	    $zaznam = Pg_Fetch_Array($vysledek, $m);
211
		if (IsSet($slovnik[$zaznam["refer1"]]))	
212
			   {
213
			     end ($slovnik[$zaznam["refer1"]]);	
214
			     $d=key($slovnik[$zaznam["refer1"]]);
215
			     $d+=1;
216
			   }
217
		else  $d=1;
218
		$slovnik[$zaznam["refer1"]][$d]=$zaznam["item1"];
219

    
220
	endfor;
221

    
222

    
223
// Vypis slovniku0
224
/*
225
reset ($slovnik);
226
do
227
{
228
  $ukazatel=key($slovnik);
229
  reset ($slovnik[$ukazatel]);
230
  echo "<HR><BR>".$ukazatel."<BR>";
231
   do
232
    {
233
     echo key($slovnik[$ukazatel])."<BR>";
234
     echo current($slovnik[$ukazatel])."<BR>";
235
    }while (next($slovnik[$ukazatel]));
236

    
237
}while (next($slovnik));
238

    
239
*/
240

    
241
@$vysledek = Pg_Exec($spojeni, "SELECT * FROM obtexts");
242
	if (!$vysledek):
243
		echo "Doslo k chybe pri zpracovani dotazu v databazi.<BR>\n";
244
		die ("</body></html>");
245
	endif;
246
	echo "V tabulce obtexts je <FONT  color=\"Green\"><b>".Pg_NumRows($vysledek)."</b></FONT> radku.<BR>\n";
247

    
248
	for ($m=0; $m < Pg_NumRows($vysledek); $m++):
249
	    $zaznam = Pg_Fetch_Array($vysledek, $m);
250
//	    echo $zaznam["bookandchapter"]." ".$zaznam["paragraph"]." ".$zaznam["transliteration"]."<BR>\n";
251
        $radek=$zaznam["transliteration"];
252
		$radek2="";
253
		zpracuj_radek();
254
		$radek2.=" ";
255
		if(strcmp($radek,$radek2)==0)
256
		 {
257
			echo "<BR>Radek: <BR>".$radek;
258
		 }
259
		else
260
		 {
261
		   		$pocet_zmen++;	
262
		   	  echo "<b><FONT  color=\"Red\" >Zmena!</FONT></b>";
263
		   		echo "<BR>Puvodni radek: <BR>".$radek;
264
		   echo "<BR>Opraveny radek: <BR>".$radek2;
265
//			echo $zaznam["bookandchapter"];
266
				$bookandchapter = $zaznam["bookandchapter"];
267
				$paragraph = $zaznam["paragraph"];
268
				$podminka = "(bookandchapter = '$bookandchapter' AND paragraph = '$paragraph')";
269
//				echo $podminka;
270
		   $vysledek2 = Pg_Exec($spojeni,"UPDATE obtexts SET transliteration = '$radek2' 
271
		   						WHERE $podminka");
272

    
273

    
274
		    if (!$vysledek2){
275
					echo "Doslo k chybe pri updatu databaze.<BR>\n";
276
					die ("</body></html>");
277
				}
278
				else	
279
					{
280
						echo "<BR>Ulozen!!!";
281
					}	
282
		
283
         }
284
		 echo "<HR>";
285
	endfor;
286
 
287
  echo "\n<BR>Text obsahuje <FONT  color=\"Green\"><b>".$pocet_hesel."</b></FONT> hesel. <BR>";
288
  echo "\n<BR>Bylo zmeneno <FONT  color=\"Green\"><b>".$pocet_zmen."</b></FONT> radku. <BR>";
289

    
290
?>
291
</body>
292
</html>
(58-58/135)