--- parser3/src/www/htdocs/Attic/index.html 2001/11/12 12:19:05 1.472 +++ parser3/src/www/htdocs/Attic/index.html 2002/01/21 17:06:35 1.528 @@ -1,5 +1,34 @@ +@auto[] +$request:charset[windows-1251] +$response:charset[windows-1251] +$response:content-type[$.value[text/html]$.charset[$response:charset]] + @main[] -^if($form:test){y}{n} +передаетсЯ +index1.html?cost=252333.22 + +принимаетсЯ +^form:cost.double[] + + +#^xpath[] +#^ttablesetlang[] +#^mail3[] +#^ttime[] +#^tupper[] +#^treplace[] +^xslt2[] +#^tcache2[] +#$ORIGINS(1) +#$t[^table::set{a b} ^table::set{c d}] +#^ttaintuntaint[] +#^tappend2[] +#^badvsnprintf[] +#^badoracequoting[] +#^badconstructors[] +#^xloadwrongtable[] +#^xsetwrongtable[] +#^if($form:test){y}{n} #^tablecolumnerror[] #^roll[] #^cookie2[] @@ -62,8 +91,170 @@ #^xslt[] #^xml[] #^header[] +
OK +@xpath[] +$xdoc[^xdoc::set{ +

привет

+}] +#^show-xdoc2[$xdoc] +$node[^xdoc.selectSingle[/document/block/p]] +^if(def $node){ + ^if($node is string){ + $node + }{ + ^if($node is hash){ + ^node._count[] + }{ + $node.nodeType + } + } +#$node.firstChild.nodeValue +}{ + node not found +} + + +@ttablesetlang[] +$a-tab-b[a b +1 2] + +$t[^table::set{$a-tab-b}] +=$t.a= +
+ +$t[^table::set[nameless]{^taint[$a-tab-b]}] +=$t.0= +
+ +$t[^table::set{^untaint{^taint[$a-tab-b]}}] +=$t.a= + +#^t.append{1 2} + +@mail3[] +^mail:send[ + $.from[Александр Петросян ] + $.to[Александр Петросян ] + $.subject[проверка4] + $.body[ + $.text[ + $.content-type[$.value[text/plain] $.charset[windows-1251]] + $.body[проверка] + ] + $.attachment[ + $.value[^file::load[text;index.html]] + $.file-name[привет всем.html] + ] + ] +] + + +@ttime[] +$now[^date::now[]] +$now.hour:$now.minute + +@tupper[] +$t[abcABCабвАБВ] +$t
+^t.upper[] + +@treplace[] +$copy-paste-clean[^table::set{a b +. _ +, _ ++ _ +& _ +? _ += _}] + +$cache_key[^taint[в.а,с+я]&был?тут=недавно.cache] +# почему-то этот replace роняет апач в 500 ошибку :( +#^cache_key.replace[$copy-paste-clean] +$test[abc] +^test.save[$cache_key]saved
+$cache[^file:list[.;\.cache^$]] +^file:delete[$cache_key]deleted($cache.name)
+ + + +@xslt2[] +$xdoc[^xdoc::set{ +

привет

+}] +^show-xdoc2[$xdoc] +^show-xdoc2[^xdoc.transform[templates/_document.xslt]] +
+ + +@tcache2[] +^cache[$DB_HOME/keyключ](2){ + ^math:random(100) +} + +@ttaintuntaint[] +^taint[html][ + +]zz +
+^untaint[html]{1^taint[ ]2 3} + + +@tappend2[] +$t[^table::set{a b}]^t.append{1 2}$t.a + +@badvsnprintf[] +^connect[zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz]{ +} + + +@badoracequoting[] +$SQL.connect-string[oracle://webspb:webpwd@mts?NLS_LANG=RUSSIAN_AMERICA.CL8MSWIN1251&NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS] +^connect[$SQL.connect-string]{ +^void:sql{delete from paf} +^void:sql{insert into paf values (1, '$form:text')} +$paf[^table::sql{select * from paf}] +^paf.menu{ + $paf.id: ^untaint{$paf.block}
+ +} +
+ + +^rem{ +$news[^table::sql{select description from news}[$.limit(3)]] +^news.menu{ + ^untaint{$news.description}
+ +} +
+} + +$tables[^table::sql{select table_name from user_tables}] +^tables.menu{ +$tables.table_name
+} + +} +
+$env:PATH + +@badconstructors[] +$bred[^string::length[]] +$bred[^response::clear[]] +$bred[^int::int[]] + + +@xloadwrongtable[] +$constr[^xdoc::load[wrongtable.xml]] +^show-xdoc2[$constr] + +@xsetwrongtable[] +$constr[^xdoc::set{ +^untaint[as-is]{$constructor}}] + + @tablecolumnerror[] $t[^table::set{a}] $t.$a @@ -199,7 +390,6 @@ $code[^hashfile::open[$DB_HOME;cache]] # ^code.delete[] } - @thashfileexp[] $hf[^hashfile::open[$DB_HOME;hashfile]] $hf.paf[$.value[крут] $.expires(3)] @@ -271,8 +461,8 @@ paf=$hf.paf $a $xdoc[^xdoc::create[doc]] $doc[$xdoc.documentElement] -$name[^doc.appendChild[^xdoc.createElement{name}]] -$text[^name.appendChild[^xdoc.createTextNode{петросян ^;co}]] +$name[^doc.appendChild[^xdoc.createElement[name]]] +$text[^name.appendChild[^xdoc.createTextNode[петросян&coz]]] ^untaint[as-is]{=$text.nodeValue=} @domedit[] @@ -531,11 +721,10 @@ $a.status|$a.stderr
@fori[][i] ^for[i](1;3){... =$i= ...} -@xdata[] +@xdata0[] #$response:content-type[$.value[text/html] $.charset[windows-1251]] $xdoc[^xdoc::set{ - P«^;AF B @@ -546,6 +735,20 @@ $xdoc[^xdoc::set{ }] +@xdata[] +#$response:content-type[$.value[text/html] $.charset[windows-1251]] +$xdoc[^xdoc::set{^process{ + + + + P«^;AF B + + + ПИФ^taint[&] + + +}}] + @xml[] ^xdata[] @@ -605,18 +808,24 @@ by id: } @show-xdoc2[xdoc] -^xdoc.save[save.xml; -# $.encoding[windows-1251] +^xdoc.save[out/save.xml; +# $.encoding[utf-8] $.method[xml] ] $file[^xdoc.file[ -# $.encoding[windows-1251] + $.encoding[utf-8] $.method[html] ]] -^file.save[text;save_file.html] -
^taint[^xdoc.string[]]
-#	$.encoding[windows-1251]
-#	$.method[html]
-#]]
+^file.save[text;out/save_file.html]
+#$response:body[^xdoc.file[	$.media-type[text/paf]  ]]
+
^taint[html][^xdoc.string[
+	$.method[html]
+#	$.encoding[utF-8]
+#  	$.omit-xml-declaration[yes]
+#	$.standalone[no]
+#	-$.doctype-public[-//W3C//DTD XHTML]
+#	-$.doctype-system[/a/b/c/]
+#	$.indent[yes]
+#	$.media-type[text/paf]
+]]
 
-