@main[]
#^formclass[]
#^hren[]
^domedit[]
^domxslt[]
#^lsplit2[]
#^faceesize[]
#^imageresize[]
#^ifassignhash[]
#^tintdefault[]
#$response:status[404]
#^ifpasshash[]
#^movedir[]
#^replace[]
#^set[]
#^hash[]<hr>
#$t[^methresult[]] ->$t
#^terror[]
#^ssave[]
#^calendar[]
#^thash[]
#^tdef[]
#^ford[]
#^tif[]
#^image[]
#^mail2[]
#^cookie[]
#^response[]
#^regexp2[]
#^ttablerem[]
#^pcre[]
#^regexp[]<hr>
#^mail[]
#^exec[]
#^fori[]
#^tconnect[]
#^xslt[]
#^xml[]
#^header[]
OK
@formclass[]
^$form:CLASS.a=$form:CLASS.a
@domdata[]
^hren[]
$xdoc[^xdoc::create[doc]]
$doc[$xdoc.documentElement]
$name[^doc.appendChild[^xdoc.createElement[name]]]
$text[^name.appendChild[^xdoc.createTextNode[петросян petrosian]]]
@domedit[]
^domdata[]
#$paf.nodeName<br>
#$doc.documentElement.nodeName<br>
^show-xnode1[$xdoc.documentElement;0;1]
<hr>
^show-xdoc2[$xdoc]
<hr>
@domxslt[]
^domdata[]
^show-xdoc2[^xdoc.transform[global.xsl;$.param1[123/]]]
<hr>
@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^; !
}]
@set[]
^setdata[]
^a.add[$b]
add:$a.3<br>
^setdata[]
^a.sub[$b]
sub2:$a.2<br>
sub1:$a.1<br>
^setdata[]
$c[^a.union[$b]]
union3:$c.3<br>
union2:$c.2<br>
^setdata[]
$c[^a.intersection[$b]]
intersection3:$c.3<br>
intersection2:$c.2<br>
^setdata[]
intersects:^if(^a.intersects[$b]){y;n}<br>
intersects2:^if(^a.intersects[ ]){y;n}<br>
<hr>
@setdata[]
$a[$.1[a1] $.2[a2]]
$b[ $.2[b2] $.3[b3]]
@hash[]
$h[^hash::create[$._default[123]]]
$h.paf[not kretin]
$h.paf<br>
=$h.that=<br>
@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:<br>
$week_days[^date:calendar[rus](2001;11)]
<pre>
^week_days.menu{^for[wday](0;7){^if($week_days.$wday){$week_days.$wday; ^; ^;} }<br>}
</pre>
@thash[]
$table[^table::set{id name age
1 paf 278
2 пиф 234
}]
$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}<br>
if def 0=^if(def $s){y}{}<br>
<hr>
@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[Александр Петросян <paf@design.ru>]
$.to[Александр Петросян <paf@design.ru>]
$.subject[проверка]
$.body[проверка]
]
@cookie[]
$env:HTTP_COOKIE<br>
#$cookie:переменная[test тест ТЕСТ2]
=$cookie:переменная=<br>
#$cookie:переменная2[test тест ТЕСТ3]
=$cookie:переменная2=<br>
=$cookie:CLASS.переменная2=<br>
@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]<br>
}
}
@pcre[]
$s[1 2]
^s.match[\s;ig]{!}
#^s.match[\d;ig]{!}
@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<hr>
@fori[][i]
^for[i](1;3){... =$i= ...}
@xdata[]
#$response:content-type[$.value[text/html] $.charset[windows-1251]]
$xdoc[^xdoc::load[input.xml]]
@xml[]
^xdata[]
^show-xdoc2[$xdoc]<hr>
#^show-xnode1[$xdoc]<hr>
$people[^xdoc.select[*/man]]
#^show1[]
^show-xnodes1[$people]<hr>
#^people.0.owner.hren[]
^show-xnode1[^xdoc.selectSingle[*/man[2]/name];0;1]<hr>
by id:
^show-xnode1[^xdoc.getElementById[1];0;1]
<hr>
@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
}
<br>
}
@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}<br>
^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>^;<br>
}
}
@show-xdoc2[xdoc]
^xdoc.save[save.xml;
# $.encoding[windows-1251]
$.method[xml]
]
$file[^xdoc.file[
# $.encoding[windows-1251]
$.method[html]
]]
^file.save[text;save_file.html]
<pre>^taint[^xdoc.string[]]
# $.encoding[windows-1251]
# $.method[html]
#]]
</pre>
@exception[origin;source;comment;type;code;stack]
<title>CGIBIN_ERROR</title>
<body zbgcolor=white>
<font color=black>
^if(def $source){$origin<br>
<pre>$source</pre>
}
${comment}.
^if(def $type){type=$type}
^if(def $code){code=$code}
^if($stack){
<hr>
stack backtrace:<br>
^stack.menu{
$stack.origin: $stack.name<br>
}
}
E-mail: