--- parser3/src/www/htdocs/Attic/index.html 2001/04/10 07:47:41 1.129 +++ parser3/src/www/htdocs/Attic/index.html 2002/01/23 13:07:53 1.533 @@ -1,362 +1,829 @@ @auto[] -$html-typo[^table:set{user html comment -<< «^; длинные user вперёд ->> »^; -\n\n

!эти есть в таблице по умолчанию -\n
!но т.к. заменяем, надо повторить. -< <^; !можно этим воспользоваться, -> >^; !и что-то сделать ДО обычных замен -" "^; !например из << и >> -& &^; !сделать ёлочки-кавычки. -_  ^; -^#AB «^; windows коды ёлочек -^#BB »^; windows коды ёлочек -(c) ©^; -^#A9 ©^; windows (c) +$request:charset[windows-1251] +$response:charset[windows-1251] +$response:content-type[$.value[text/html]$.charset[$response:charset]] + +@main[] +$a[123456789012345678901234567890] +$b(^a.double[]) +^b.format{%.20E} + + +#^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[] +#^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 + +@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 +} -@dump[t] -^t.menu{$n
} -
-@func[n] -$n -@twop[a;b] -($a,$b) - -@Zpost-process[data] -#(
$data)
-^data.match[1][g]{X} -@mt[s;m] -$m ^if(^s.match[$:m;i]){matches}{does not match} $s
+@ttablesetlang[] +$a-tab-b[a b +1 2] -@main[] -^mail:send[ - $to[paf@design.ru] - $subject[test] - $body[test] -] -
+$t[^table::set{$a-tab-b}] +=$t.a= +
-$e[^file:cgi[env.pl;$t[1]]] -$e.text -
- -^rem{^mail:send[ - $to[paf@design.ru] - $from[paf@design.ru] - $body[ - $1[ - $content-type[ - $value[text/plain] - $charset[windows-1251] - ] - $body[привет, PAF. +$t[^table::set[nameless]{^taint[$a-tab-b]}] +=$t.0= +
-sincerily yours, -PAF -] +$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[проверка] ] - $attach[ - $value[^file:load[test.zip]] - $type[uue] - $file-name[retest.zip] + $.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) } -^rem{^mail:send[ - $content-type[ - $value[text/plain] - $charset[windows-1251] - ] - $to[paf@design.ru] - $from[paf@design.ru] - $body[привет, PAF. +@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}
+ +} +
-sincerily yours, -PAF + +^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 + +@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=
+ + +@tableset[] +$a[^table::set{a +1 +2}] +^eval(100\$a) + + + +@zzz[] + + +$constructor[ + + +] + +$constr[^xdoc::set{ +^untaint[as-is]{$constructor}}] + +$children[$constr.documentElement.childNodes] +^if($children){ +^for[i](1;^children._count[]){ + $node[$children.$i] + $node.nodeName
+} +} + + +@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
} -^rem{^mail:send[ - $to[paf@design.ru] - $from[paf@design.ru] - $body[ - $2[ - $content-type[$value[message/rfc822] $name[letter.eml]] - $body[to: paul -from: paf -subject: 2 - -2.body - ] - ] - $1[ - $to[paul] - $from[paf] - $subject[1] - $content-type[text/plain] - $body[image] - ] - ] -]} - - -^^table:dir[/]:
-$d[^table:dir[/]] -^d.menu{$name;
} -
- -^^table:dir[/;html^$]
-$d[^table:dir[/;html^$]] -^d.menu{$name;
} -
+@thashdelete[] +$h[$.a[1] $.b[2]] +was:
+count=^h._count[]
+b='$h.b'
+ +^h.delete[b] + +now:
+count=^h._count[]
+b='$h.b' + +@sappend[] +$test[123] +^test.save[test] +^test.save[append;test] + +@tappend[] +$test[^table::set{a b +a1 b1}] +^test.save[test] +$test[^table::set{a b +a2 b2}] +^test.save[append;test] + + +@tform[] +^if(def $form:new_file){y}{n} +
+ + + -^connect[$SQL.connect-string]{ - $shit[^taint[our's]] -# $paf[^table:sql{insert into paf (name, age) values ('$shit', ^random:generate(10000))}] - $paf[^table:sql{select * from paf order by id desc}(5)] - $paf{ - ^empty{query result is empty}{ - - - ^menu{} -
idnameage
$id$name$age
- }} -} - -
- -$with-cr[^table:set{a b -^taint[<1 -2>] 3 -}] -"$with-cr.a"
-
-^if(def $form:s){ - $form:s
- ^form:s.match[!][g]{!}
-
-} - -$r[1223] -^^"$r".match[2][]{(^$match)}=^r.match[2][]{($match)}
-^^"$r".match[2][i]{(^$match)}=^r.match[2][i]{($match)}
-^^"$r".match[2][g]{(^$match)}=^r.match[2][g]{($match)}
-^^"$r".match[2+][g]{(^$match)}=^r.match[2+][g]{($match)}
-
-$s[abcЯ] -$sm[^s.match[(.)][g]] -^^"$s".match[(.)][g]:
-^sm.menu{ - ^line[]:
- ^$pre-match=$pre-match
- ^$match=$match
- ^$post-match=$post-match
- ^$1=$1
-} -
-$sm[^s.match[(.)][]] -^^"$s".match[(.)][]:
-^sm.menu{ - ^line[]:
- ^$pre-match=$pre-match
- ^$match=$match
- ^$post-match=$post-match
- ^$1=$1
-} -
-^mt[$s;я] -^mt[$s;Я] -^mt[$s;b] -^mt[$s;^^b] -^mt[$s;^^a] -^mt[$s;x] - -
- -$dest[^table:set[nameless]{ -$form:d11 d12 d13 -d21 d22 d23 -}] -$src[^table:set{a b c d +@formattest[] +$size(15.124) + +^size.format{%.2f} + +@filelist[] +$html[^file:list[.;\.html^$]] +^html.menu{ + $html.name
+} +
+ +@безнадёжна_попытка_поправить_непоправимое[] +$dom_from_disk[^xdoc::load[input.xml]] +$dom_created_in_air[^xdoc::create[doc]] +^dom_created_in_air.documentElement.appendChild[^dom_from_disk.documentElement.cloneNode(1)] +^show-xdoc2[$dom_created_in_air] + + +@tcache[] +#^hashfile:clear[cache] +$code[^hashfile::open[$DB_HOME;cache]] +^code.cache[key](2){ + ^math:random(100) +# ^code.delete[] +} + +@thashfileexp[] +$hf[^hashfile::open[$DB_HOME;hashfile]] +$hf.paf[$.value[крут] $.expires(3)] +paf=$hf.paf +
+^hf.foreach[key;value]{ + $key=$value
+} +
+$hash[^hf.hash[]] +=$hash.paf= +
-s1 s2 s3 s4 +@tcounter[] +^tcounterone[$DB_HOME] +other root: +^tcounterone[${DB_HOME}2] +again, first: +^tcounterone[$DB_HOME] + +@tcounterone[DB_HOME] +$counter[^hashfile::open[$DB_HOME;counter]] +#^counter.clear[] +^counter.transaction{ +# $counter.value(10) + $counter.value($counter.value+1) +# ^counter.delete[value] + $counter.value +} +
+^rem{ +$hash[^counter.hash[]] +=$hash.value= +
+} + +@tablehash[] +$productList[^table::set{id name +1 носки +2 валенки +3 ушанка }] -1:
^dest.menu{$0!$1!$2!$3!
} -^dest.join[$src] -2:
^dest.menu{$0!$1!$2!$3!
} - -
-$dest[^table:set{a b c -d11 d12 d13 -d21 d22 d23 + +#скажем, у первого дилера +$firstPriceList[^table::set{id price +1 0.3 +3 1000 }] -$src[^table:set{a b c d -s1 s2 s3 s4 + +$firstPriceHash[^firstPriceList.hash[id]] + +^productList.menu{ + продукт "$productList.name" | цена у first: $firstPriceHash.[$productList.id].price
+} + + +@hashfile[] +$hf[^hashfile::assign[hashfile]] +#$hf.paf[крут5] +paf=$hf.paf + +@formclass[] +^$form:CLASS.a=$form:CLASS.a + +@domdata[] +^if(1){ +# $a{^hren[]} +} +$a +$xdoc[^xdoc::create[doc]] +$doc[$xdoc.documentElement] +$name[^doc.appendChild[^xdoc.createElement[name]]] +$text[^name.appendChild[^xdoc.createTextNode[петросян&coz]]] +^untaint[as-is]{=$text.nodeValue=} + +@domedit[] +^domdata[] +#$paf.nodeName
+#$doc.documentElement.nodeName
+ +^show-xnode1[$xdoc.documentElement;0;1] +
+^show-xdoc2[$xdoc] +
+ +@domxslt[] +^domdata[] +^show-xdoc2[^xdoc.transform[global.xsl;$.param1[123/]]] +
+ +@lsplit2[] +$path[/optics/] +$pathTable[^path.lsplit[/]] +^pathTable.menu{ + ^if(def $pathTable.piece){ + =$pathTable.piece= + } +} + + +@faceesize[] +$k(2) +$pict[^image::load[paf.gif]] +$small[^image::create($pict.width/$k;$pict.height/$k)] +^small.copy[$pict](0;0;$pict.width;$pict.height;0;0;$small.width;$small.height;250) +$response:body[^small.gif[]] + +@imageresize[] +$k(2) +$pict[^image::create(400*$k;200*$k)] +$pict.line-width(2) +^pict.arc($pict.width/2;$pict.height/2;$pict.width-1;$pict.height-1;0;360;0x000000) +^pict.arc($pict.width/2;$pict.height/2;$pict.width-20;$pict.height-20;0+20;360-20;0xff0000) +#^pict.arc($pict.width/2;$pict.height/2;$pict.width;$pict.height;0;360;0xff0000) +^pict.circle($pict.width/2;$pict.height/2;$pict.height/2-20;0x0000ff) +^pict.arc($pict.width/2;$pict.height/2;$pict.height-26;$pict.height-26;0+20;360-20;0xff0000) +$response:body[^pict.gif[]] + +#$small[^image::create($pict.width/$k;$pict.height/$k)] +#^small.copy[$pict](0;0;$pict.width;$pict.height;0;0) +#^small.copy[$pict](0;0;$pict.width;$pict.height;0;0;$small.width;$small.height;0) + +#$response:body[^small.gif[]] + + +@tintdefault[] +#$abc[abc] +$abc[33] +^abc.int[z] +#^abc.int(123) + +@ifassignhash[] +$h[^if(1){$.a(1);$.a(2)}] +$h.a + +@ifpasshash[] +$a[$.e[a]] +$b[$.e[b]] +^ifpasshashdest[^if(1){$a;$b}] +#$x[^if(1){$a}{$b}] +#^ifpasshashdest[$x] + +@ifpasshashdest[p] +$p.e + +@movedir[] +^file:move[a;deeper/a] + +@replace[] +$a[12^;3] +^a.replace[^table::set{from to +2^; ! }] -^dest.join[$src] -^dest.menu{$a!$b!$c!
} -
-^^random:generate(10)=^random:generate(10)
+ +@set[] +^setdata[] +^a.add[$b] +add:$a.3
+ +^setdata[] +^a.sub[$b] +sub2:$a.2
+sub1:$a.1
+ +^setdata[] +$c[^a.union[$b]] +union3:$c.3
+union2:$c.2
+ +^setdata[] +$c[^a.intersection[$b]] +intersection3:$c.3
+intersection2:$c.2
+ +^setdata[] +intersects:^if(^a.intersects[$b]){y;n}
+intersects2:^if(^a.intersects[ ]){y;n}
-
-$t[^table:load[/test.cfg]] -$t{ -^menu{$a!$b!$c
} -
-^append{x y z} -^menu{$a!$b!$c
} -
-^flip[] -^menu{$0!$1!$2!$3
} -
-} - -$a[vasya,fedya,kolya] -^^"$a".lsplit[,]=$as[^a.lsplit[,]]$as.0|$as.1|$as.2|$as.3
-^^"$a".rsplit[,]=$as[^a.rsplit[,]]$as.0|$as.1|$as.2|$as.3
-^^a.pos(sy]="^a.pos[sy]"
-^^a.pos[zsy]="^a.pos[zsy]"
-^^a.left(3)="^a.left(3)"
-^^a.right(3)="^a.right(3)"
-^^a.mid(1;3)="^a.mid(1;3)"
-
-^^twop[a;]=^twop[a;]
-^$request:browser.type=$request:browser.type
-^$request:browser.version=$request:browser.version
- -$tf[^file:load[test.zip;abc.zip]] -#$response:body[$tf] - -^$tf.name=$tf.name
-^$tf.size=$tf.size
-^$tf.mime-type=$tf.mime-type
-^$tf.text:
-$tf.text
-
-^file:find[test.cfg]
-^file:find[tes.cfg]{not found}
-
- -$t[^table:set{n -3 -01.3 -1.2 -2 +
+ +@setdata[] +$a[$.1[a1] $.2[a2]] +$b[ $.2[b2] $.3[b3]] + + +@hash[] +$h[^hash::create[$._default[123]]] +$h.paf[not kretin] +$h.paf
+=$h.that=
+ +@methresult[] +$result[^table::set{1}] + +@terror[] +^error[method z must be called with z] + +@syntax1[] +#^a[^b] + +@syntax2[] +#^a[ + +@ssave[] +$abc[abc] +^abc.save[abc] + +@calendar[] +2001;11:
+$week_days[^date:calendar[rus](2001;11)] +
+^week_days.menu{^for[wday](0;7){^if($week_days.$wday){$week_days.$wday; ^; ^;} }
} +
+ +@thash[] +$table[^table::set{id name age +1 paf 278 +2 пиф 234 }] -$t{^locate[n;2z]^found{$n}{not found}}
-$t{^locate[n;3]^found{found:$n}{not found}}
-^$t:
-^dump[$t] -^t.sort($n) -^^t.sort(^$n):
-^dump[$t] -^t.sort{^:func($n)} -^^t.sort{^^:func(^$n)}:
-^dump[$t] -^t.sort{$n} -^^t.sort{^$n}:
-^dump[$t] -^t.sort{$n}[desc] -^^t.sort{^$n}[desc]:
-^dump[$t] -
- -^if(-f index.html){y}{n}
-^taint[html-typo;не знаю -я ничего - -<<слово длинное>> - -(c) by Я -]
-$t[^table:load[/test.cfg]] -^process[@b[] -f +$hash[^table.hash[id;^table::set[nameless]{id +name}]] +$hash.2.id $hash.2.name $hash.2.age + +@tdef[] +$s[0] +if 0=^if($s){}{n}
+if def 0=^if(def $s){y}{}
+
+ +@ford[] +^for[i](0;5){$i}{($i)} + +@tif[] +^if[def]{y;n} + +@image[] +$pict[^image::create(400;200)] +^pict.arc($pict.width/2;$pict.height/2;$pict.width-1;$pict.height-1;0;360;0x000000) +^pict.arc($pict.width/2;$pict.height/2;$pict.width-10;$pict.height-10;0+10;360-10;0xff0000) +#^pict.arc($pict.width/2;$pict.height/2;$pict.width;$pict.height;0;360;0xff0000) +^pict.circle($pict.width/2;$pict.height/2;$pict.height/2-10;0x0000ff) +^pict.arc($pict.width/2;$pict.height/2;$pict.height-26;$pict.height-26;0+10;360-10;0xff0000) +$response:body[^pict.gif[]] + + + +@mail2[] +^mail:send[ + $.content-type[$.value[text/plain] $.charset[windows-1251]] + $.from[Александр Петросян ] + $.to[Александр Петросян ] + $.subject[проверка] + $.body[проверка] ] -^b[]
-^$t.a=$t.a
-^t.offset[2] -#$r[^t.record[]] -#^$r.a=$r.a
- -^$request:uri=$request:uri
-^$env:PATH_INFO=$env:PATH_INFO
-^$env:REMOTE_ADDR=$env:REMOTE_ADDR
+@cookie[] +$env:HTTP_COOKIE
-^rem{ -$response:body[] -$response:location[http://parser3/123] +#$cookie:переменная[test тест ТЕСТ2] +=$cookie:переменная=
+#$cookie:переменная2[test тест ТЕСТ3] +=$cookie:переменная2=
+=$cookie:CLASS.переменная2=
+ +@response[] +#^if($form:reload){ + $response:refresh[$.value[0] $.url[./t.html?uri=$env:SERVER_NAME]] +#} + +@xslt[] +^xdata[] +$transformed[^xdoc.transform[global.xsl;$.param1[123/]]] +^show-xdoc2[$transformed] + +@regexp2[] +$s[ select] +$s[^s.match[^^\s*][]{!}] +$s + +@header[] +$response:refresh[ + $.value[0] + $.url[http://design.ru?a=^taint[123]] +] + +@ttablerem[] +$table[^table::load[a.cfg]] +^table.menu{$table.a} + +@tconnect[] +^connect[mysql://test:test@paf/test?charset=cp1251_koi8&compress=1&timeout=1&named_pipe=1]{ +$tables[^table::sql{show tables}] +#$cols[^tables.columns[]] +#$cols.column +^tables.menu{ + $tables.[Tables_in_test]
+} } +@pcre[] +$s[1 2] +^s.match[\s;ig]{!} +#^s.match[\d;ig]{!} -
-^^auto_test[]:
-
    -^auto_test[] -
-
- -^${cookie:вот}=${cookie:вот}?
-^${cookie:вот}=${cookie:вот}?
-^$request:query=$request:query
-^$request:uri=$request:uri
- - -
$form:name
-
- - -
-$свойства_когда_пьян[ - $цвет_глаз[красный] -] -$вася[ - $свойства[$свойства_когда_пьян] +@regexp[] +$s[abcАБВ] +^if(^s.match[б][i]){y}{n} + +@mail[] +#$ORIGINS(1) +^mail:send[ + $.from[paf@design.ru] + $.to[paf@design.ru] + $.body[1 + + 2 + + + 3] ] -$кусок_имени_поля[ства] -^$кусок_имени_поля=$кусок_имени_поля
-^$вася.свой^$кусок_имени_поля.цвет_глаз=$вася.свой$кусок_имени_поля.цвет_глаз -
-
- - -
+@exec[] +$a[^file::exec[fc.exe;;a;b]] +$a.status|$a.stderr
+ +@fori[][i] +^for[i](1;3){... =$i= ...} + +@xdata0[] +#$response:content-type[$.value[text/html] $.charset[windows-1251]] +$xdoc[^xdoc::set{ + + + + P«^;AF B + + + ПИФ^taint[&] + + +}] + +@xdata[] +#$response:content-type[$.value[text/html] $.charset[windows-1251]] +$xdoc[^xdoc::set{^process{ + + + + P«^;AF B + + + ПИФ^taint[&] + + +}}] + +@xml[] +^xdata[] + +^show-xdoc2[$xdoc]
+#^show-xnode1[$xdoc]
+$people[^xdoc.select[*/man]] +#^show1[] +^show-xnodes1[$people]
+#^people.0.owner.hren[] + +^show-xnode1[^xdoc.selectSingle[*/man[2]/name];0;1]
+ +by id: +^show-xnode1[^xdoc.getElementById[1];0;1]
-^if($form:photo){ -
-	^$form:photo.name='$form:photo.name'
-	^$form:photo.size='$form:photo.size'
-	^$form:photo.text='$form:photo.text'
-	^form:photo.save[paf.txt]
-	
-} - -#todo proper! untaint $response:refresh[$value[2] $content[url=http://design.ru]] - - -@default[test;def] -$result[^if(^test.length[]){$test}{$def}] - -@exception[origin;source;comment;type;code] - - -ERROR: -^if(def $source){$origin '$source'} -${comment}. -^if(def $type){type=$type} -^if(def $code){code=$code} - -@auto_test[] -^BASE.auto_test[] -
  • ${request:uri}! \ No newline at end of file + +@show1[array] +^for[i](0;^array._count[]-1){ + $x[$array.$i] + $x.firstChild.nodeValue: + $pattributes[$x.parentNode.attributes] + ^if(^pattributes._count[]){ + $pattributes.id.name=$pattributes.id.nodeValue + } +
    +} + +@show-xnodes1[array][i] +^for[i](0;^array._count[]-1){ + ^show-xnode1[$array.$i;0;1] +} + +@show-xnode1[x;level;single][l] +^if(def $x){ + ^for[l](0;$level-1){ ^; ^; ^; ^;} + ^if($x.nodeType == $xnode:ELEMENT_NODE){ + <^;$x.nodeName + $pairs[$x.attributes] + ^if(def $pairs){ + $names[^pairs._keys[]] + ^names.menu{ $names.key="$pairs.[$names.key].nodeValue"} + } + >^; + }{ + [$x.nodeType] + } + + ^if(def $x.nodeValue){$x.nodeValue}
    + ^show-xnode1[$x.firstChild]($level+1) + ^if(!$single){ + ^show-xnode1[$x.nextSibling]($level) + } + + ^if($x.nodeType == $xnode:ELEMENT_NODE){ + ^for[l](0;$level-1){ ^; ^; ^; ^;}<^;/$x.nodeName>^;
    + } +} + +@show-xdoc2[xdoc] +^xdoc.save[out/save.xml; +# $.encoding[utf-8] + $.method[xml] +] +$file[^xdoc.file[ + $.encoding[utf-8] + $.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]
    +]]
    +