--- parser3/src/www/htdocs/Attic/index.html 2001/09/17 14:26:56 1.296.2.9
+++ parser3/src/www/htdocs/Attic/index.html 2002/01/25 13:48:56 1.541
@@ -1,1994 +1,855 @@
+@USE
+t.p
+@auto[]
+$request:charset[windows-1251]
+$response:charset[windows-1251]
+$response:content-type[$.value[text/html]$.charset[$response:charset]]
+
@main[]
-^subnameinexpr3[]
-#^subnameinexpr2[]
-#^subnameinexpr[]
-#^statictest[]
-#^istable[]
-#^line[]
-#^emptyprotocol[]
-#^emptytableisnotdef[]
-#^autoconvemptystring[]
-#^tdupleform[]
-#^tvoiddefault[]
-#^testdom0[]
-#^testlocal[0]
-#^thashdefault2[]
-#^tcase2[]
-#^tlsplit2[]
-#^tconnect[]
-#^timghtmlyu[]
-#^timghtml[]
-#^tresult[]
-#^voidtest[]
-#^ttext[]
-#^tdoubledefault[]
-#^tintdefault[]
-#^t3partycookie[]
-#^t3partycookie[]
-#^tcookie[]
-#^tfilemove[]
+^exec2[]
+#^tlock[]
+#^xmloutattrwithoutvalue[]
+#^precisionProblem[]
+#^xpath[]
+#^ttablesetlang[]
+#^mail3[]
+#^ttime[]
+#^tupper[]
#^treplace[]
-#^measuretest[]
-#^savetest[]
-#^oratestinsert[]
-#^oratestread[]
-#^process_check[]
-#^ffcheck[]^[xxx]
+#^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[]
+#^tableset[]
+#^math:PI.format{%.30f}
+#^xchildren[]
+#^thashforeach3[]
+#^thashforeach2[]
+#^thashforeach[]
+#^thashdelete[]
+#^connect[mysql://user:pass@cd.rinet.ru/db]{^void:sql{z} }
+#^tappend[]
+#^sappend[]
+#^eval(10\3)
+#^tform[]
+#^formattest[]
+#^filelist[]
+#^connect[mysql://user:pass@host]{ }
+#^безнадёжна_попытка_поправить_непоправимое[]
+#^tcache[]
+#^thashfileexp[]
+#^tcounter[]
+#^tablehash[]
+#j^hashfile[]
+#^formclass[]
+#^hren[]
+#^domedit[]
+#^domxslt[]
+#^lsplit2[]
+#^faceesize[]
+#^imageresize[]
+#^ifassignhash[]
+#^tintdefault[]
+#$response:status[404]
+#^ifpasshash[]
+#^movedir[]
+#^replace[]
+#^set[]
+#^hash[]
+#$t[^methresult[]] ->$t
+#^terror[]
+#^ssave[]
+#^calendar[]
+#^thash[]
+#^tdef[]
+#^ford[]
+#^tif[]
+#^image[]
+#^mail2[]
+#^cookie[]
+#^response[]
+#^regexp2[]
+#^ttablerem[]
+#^pcre[]
+#^regexp[]
+#^mail[]
+#^exec[]
+#^fori[]
+#^tconnect[]
+#^xslt[]
+#^xml[]
+#^header[]
+
+OK
+
+@exec2[]
+$a[^file::exec[bin/t.cmd]]
+^taint[$a.text]
|$a.status|$a.stderr
+
+@tlock[]
+^file:lock[lockfile]{
+ code
+}
+
+@xmloutattrwithoutvalue[]
#$ORIGINS(1)
-#^list[]
-#^tests[]
-#^func(0)
-
-
-@subnameinexpr3[]
-^use[/chart.p]
-$test[^chart::init[1;2;$.zz[]]]
-
-@subnameinexpr2[]
-^use[/test.p]
-$test[^test::subnameinexpr2[]]
-$test.c
-
-@subnameinexpr[]
-$hash[
- $.a[1]
- $.b[2]
+$doc[^xdoc::set{zz}]
+$doc[^doc.transform[global.xsl]]
+=^taint[html][^doc.string[$.method[html]]]=
+
+
+
+@precisionProblem[]
+$a[123456789012345678901234567890]
+$b(^a.double[])
+^b.format{%.20E}
+
+^eval(2*2)
+
+@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]
+ ]
+ ]
]
-$c($CLASS.hash.a+$hash.b)
-$c
-@statictest[]
-^use[/test.p]
-$test[^test::create[]]
-@istable[]
-^istable_nested[^table::set{hren}]
-@istable_nested[param]
-^if($param is table){y2;n2}
+@ttime[]
+$now[^date::now[]]
+$now.hour:$now.minute
+
+@tupper[]
+$t[abcABCабвАБВ]
+$t
+^t.upper[]
-@line[]
-$картинка[^image::create(200;200)]
-$картинка.line-width(2)
-^картинка.line(0;0;$картинка.width;$картинка.height;0)[**** * ]
-$response:body[^картинка.gif[]]
+@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)
-@emptyprotocol[]
-^connect[]{zz}
-@emptytableisnotdef[]
-$table[^table::set[nameless]{}]
-^if(def $table){y;n}
+@xslt2[]
+$xdoc[^xdoc::set{
+привет
+}]
+^show-xdoc2[$xdoc]
+^show-xdoc2[^xdoc.transform[templates/_document.xslt]]
+
-@autoconvemptystring[]
-^if($form:v){y}{n}
+@tcache2[]
+^cache[$DB_HOME/keyключ](2){
+ ^math:random(100)
+}
+
+@ttaintuntaint[]
+^taint[html][
-@tdupleform[]
-#$form:fields.a
-#$c[^form:tables.a.columns[]]
-#^c.menu{$c.column}[,]
-$atable[$form:tables.a]
-^atable.menu{a=$atable.field}[,]
+]zz
+
+^untaint[html]{1^taint[ ]2 3}
-@tvoiddefault[]
-$var[$form:element]
-^var.int(2)
+@tappend2[]
+$t[^table::set{a b}]^t.append{1 2}$t.a
+
+@badvsnprintf[]
+^connect[zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz]{
+}
-@testdom0[]
-$dom[^dom::load[a.xml]]
+@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}
-@testlocal[level][local]
-$local($level)
-before($level):$local
-^if($level<10){
- ^testlocal($level+1)
}
-after($level):$local
+
-@thashdefault2[]
-$hash[
- $.a[1]
- $.b[2]
- $._default[xx]
-]
-$hash.c
-@tcase2[]
-$hash[
- $.1{^load[code1]}
- $.2{code2}
-]
-$hash.1
+^rem{
+$news[^table::sql{select description from news}[$.limit(3)]]
+^news.menu{
+ ^untaint{$news.description}
-@tlsplit2[]
-$splitURI[^request:uri.mid(1;^request:uri.length[]-1).lsplit[/]]
-OK
+}
+
+}
-@tconnect[]
-#^connect[mysql://hren:pwd@hren/zz]{hren}
-^connect[mysql://]{^void:sql{show tables}}
+$tables[^table::sql{select table_name from user_tables}]
+^tables.menu{
+$tables.table_name
+}
+}
+
+$env:PATH
-@timghtmlyu[]
-^img[/i/commons_22_prev.gif][$.vspace(100)]
-@img[filename;params]
-^if(-f $filename){$thisImage[^image::measure[$filename]]^thisImage.html[$params]}
+@badconstructors[]
+$bred[^string::length[]]
+$bred[^response::clear[]]
+$bred[^int::int[]]
-@timghtml[]
-$картинка[^image::measure[i/commons_22_prev.gif]]
-#$hash[$.alt[222]]
-#^timghtml-nested[$hash]
-^timghtml-nested[$.alt[222]]
-@timghtml-nested[params]
-^картинка.html[$params]
+@xloadwrongtable[]
+$constr[^xdoc::load[wrongtable.xml]]
+^show-xdoc2[$constr]
-@tresult[]
-44
-$result[]
+@xsetwrongtable[]
+$constr[^xdoc::set{
+^untaint[as-is]{$constructor}}]
-@voidtest[]
-#$var[123x]
-^var.int(4)
-@ttext[]
-$картинка[^image::load[background.gif]]
-^картинка.font[ ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя0123456789-+=!\"%:,.^^^;<>?@()[]'&*/^$;font.gif](5)
+@tablecolumnerror[]
+$t[^table::set{a}]
+$t.$a
-^картинка.text(10;10)[ ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkl]
-^картинка.text(10;30)[mnopqrstuvwxyzАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ]
-^картинка.text(10;50)[абвгдежзийклмнопрстуфхцчшщъыьэюя0123456789]
-^картинка.text(10;70)[!-+=!\"%:,.^^^;<>?@()[]'&*/^$!]
+@roll[]
+#$date[^date::set(1970;1;2)]
+#^date.roll[month](-1)
+$date[^date::set(2038;1;1)]
+^date.roll[month](+1)
+$date.year $date.month $date.day
+@cookie2[]
+#=$cookie:clientType[$.value[test]]=
+=$cookie:clientType=
-$response:body[^картинка.gif[]]
-@tdoubledefault[]
-$a[123.6x]
-#^a.double[]
-^a.double(999)
+@tableset[]
+$a[^table::set{a
+1
+2}]
+^eval(100\$a)
-@tintdefault[]
-$a[123x]
-#^a.int[]
-^a.int(999)
-
-@t3partycookie2[]
-#z
z
-z
z
-
-@t3partycookie[]
-z
z
-
-@tcookie[]
-$response:P3P[policyref="http://parser3/w3c/paf.xml"]
-$cookie:test[$form:x^math:random(100)]
-$env:HTTP_COOKIE
-get:$cookie:test
-#
-@tfilemove[]
-^file:move[a/a;b/b]
+@zzz[]
-@treplace[]
-$шило-на-мыло[^table::set{a b
-шило мыло
-}]
-$строка[бывает шило в задице]
-^строка.replace[$шило-на-мыло]
-@measuretest[]
-$im[^image::measure[mm3.gif]]
-x:y=${im.width}:${im.height}
-
-@savetest[]
-$file[^file::load[text;index.html]]
-^file.save[binary;/some/dir/here.dat]
-OK
-
-@oratestinsert[]
-^connect[oracle://mts_admin:admin_pwd@ORACLE.PAF.OFFICE.DESIGN.RU]{
-#^void:sql{create table lobtest(test clob)}
-^void:sql{insert into lobtest values (/**test**/'бу''квы')}
-$table[^table::sql{select * from lobtest}]
-^table.menu{^table.line[] }
-}
+$constructor[
+
+
+]
-@oratestread[]
-^connect[oracle://mts_admin:admin_pwd@ORACLE.PAF.OFFICE.DESIGN.RU]{
-^rem{
-$tables[^table::sql{select table_name from user_tables}]
-^tables.menu{
- $tables.table_name
-}
-
-}
-$news[^table::sql{select * from news}[$.limit(2)]]
-^rem{
-news columns:
-$news_columns[^news.columns[]]
-^news_columns.menu{
- $news_columns.column
+$constr[^xdoc::set{
+^untaint[as-is]{$constructor}}]
+
+$children[$constr.documentElement.childNodes]
+^if($children){
+^for[i](1;^children._count[]){
+ $node[$children.$i]
+ $node.nodeName
}
-
}
-news description:
-^news.menu{
-
- $news.description
+
+
+@thashforeach3[]
+$h[
+ $.a[1]
+ $.b[2]
+]
+$c[^table::set{a
+^h.foreach[key;value]{$value
+}}]
+$c.a
+
+@thashforeach2[]
+$h[
+ $.a[1]
+ $.b[2]
+]
+$c[
+^h.foreach[key;value]{
+ $.$key[$value]
}
+]
+$c.b
+
+@thashforeach[]
+$h[
+ $.a[1]
+ $.b[2]
+]
+^h.foreach[key;value]{
+ $key=$value
}
-@process_check[]
-$f[^file::load[text;process.tpl]]
-^process[$f.text]
+@thashdelete[]
+$h[$.a[1] $.b[2]]
+was:
+count=^h._count[]
+b='$h.b'
-@ffcheck[]
-^file:find[bug/index.html]{not found}
+^h.delete[b]
-@list[]
-$list[^file:list[.;.*\.html^$]]
-^list.menu{$list.name
}
-#^list.count[]
+now:
+count=^h._count[]
+b='$h.b'
-@func[param]
-#[local]
-$local(0)
-^local.inc(1)
-#$local($local+1)
-^if($param<10){^func($param+1)}
-=$local=
+@sappend[]
+$test[123]
+^test.save[test]
+^test.save[append;test]
-@bannerSSI[][code]
-$code[^file::cgi[/../cgi-bin/bbssi.pl;
- $.QUERY_STRING[d=1&H=ad1.lbe.ru&pubid=91033&pg=1&vbn=26&num=1&w=-1&h=-1&r=ssi&i=http://go.bb.ru/images/onerror/bb.gif&g=http://www.bb.ru&before=&after=&bafter=]
-]]
-$result[^untaint[as-is]{$code.text}]
+@tappend[]
+$test[^table::set{a b
+a1 b1}]
+^test.save[test]
+$test[^table::set{a b
+a2 b2}]
+^test.save[append;test]
-@bannerJS[]
-
-
-
-
-@tests[]
-$ab(123)
-${[ab]}=
-
-$хэш[$.возраст(88)] $достать[$.поле[возраст]] ^хэш.[$достать.поле].format{%05d}
-
-
-$люди[
- $.вася[
- $.возраст(45)
- ]
-]
-$человек[
- $.поле[возраст]
-]
-$люди.вася.[$человек.поле]
-^люди.вася.[$человек.поле].format{%010d}
+@tform[]
+^if(def $form:new_file){y}{n}
+