|
|
| version 1.139, 2002/09/16 15:21:36 | version 1.188, 2002/11/28 12:23:39 |
|---|---|
| Line 1 | Line 1 |
| @USE | @USE |
| /derived.p | /derived.p |
| /operators.p | |
| @auto[filespec] | @auto[filespec] |
| $selffilespec[$filespec] | $selffilespec[$filespec] |
| Line 11 $response:charset[windows-1251] | Line 12 $response:charset[windows-1251] |
| #$response:charset[empty] | #$response:charset[empty] |
| #$response:content-type[$.value[text/html]$.charset[$response:charset]] | #$response:content-type[$.value[text/html]$.charset[$response:charset]] |
| #@postprocess[body] | @postprocess[body] |
| #<b>$body</b> | #<b>$body</b> |
| #$result[123] | #$result[123] |
| $body | |
| <hr> | |
| OK | |
| @main[] | @main[] |
| #$a(123) | #$a(123) |
| Line 22 $response:charset[windows-1251] | Line 26 $response:charset[windows-1251] |
| #^f[a] | #^f[a] |
| #^connect[mysql://mdm:4b833ljq@db-mysql/mdm]{ | #^connect[mysql://mdm:4b833ljq@db-mysql/mdm]{ |
| # ^int:sql{select news_id from news where news_id=-1}[ | # ^int:sql{select news_id from news where news_id=-1}[ |
| ## $.default{2} | # $.default{2} |
| # ]<br> | # ]<br> |
| # ^hash::sql{bad} | # ^hash::sql{bad} |
| # ^string:sql{select news_id from news where news_id=-1}[$.default{2}] | # ^string:sql{select news_id from news where news_id=-1}[$.default{2}] |
| Line 101 $response:charset[windows-1251] | Line 105 $response:charset[windows-1251] |
| #^if($form:test){y}{n} | #^if($form:test){y}{n} |
| #^tablecolumnerror[] | #^tablecolumnerror[] |
| #^roll[] | #^roll[] |
| #^cookie2[] | |
| #^tableset[] | #^tableset[] |
| #^math:PI.format{%.30f} | #^math:PI.format{%.30f} |
| #^xchildren[] | #^xchildren[] |
| Line 155 $response:charset[windows-1251] | Line 158 $response:charset[windows-1251] |
| #^fori[] | #^fori[] |
| #^tconnect[] | #^tconnect[] |
| #^xslt[] | #^xslt[] |
| #^xml[] | |
| #^header[] | #^header[] |
| #^tablehasht[] | #^tablehasht[] |
| #^datecreatestring[] | #^datecreatestring[] |
| Line 205 $response:charset[windows-1251] | Line 207 $response:charset[windows-1251] |
| #^badpos[] | #^badpos[] |
| #^processtest[] | #^processtest[] |
| #^mail3[] | #^mail3[] |
| #^mail4[] | |
| #^datesaving[] | #^datesaving[] |
| #^badconstructor[] | #^badconstructor[] |
| #^calendar[] | #^calendar[] |
| Line 219 $response:charset[windows-1251] | Line 220 $response:charset[windows-1251] |
| #^cookieexpirestest[] | #^cookieexpirestest[] |
| #^postest[] | #^postest[] |
| #^voidpostest[] | #^voidpostest[] |
| #^virtualtest[] | |
| #^badcolumntest[] | #^badcolumntest[] |
| #^delimiters[] | #^delimiters[] |
| #^новый-split[] | #^новый-split[] |
| Line 235 $response:charset[windows-1251] | Line 235 $response:charset[windows-1251] |
| #^newxor[] | #^newxor[] |
| #^mail2[] | #^mail2[] |
| #^exec[] | #^exec[] |
| ^passpost[] | #^passpost[] |
| #^fordelim[] | |
| #^duplicatetable2hashkey[] | |
| #^duplicatehashsqlkey[] | |
| #^longlreplace[] | |
| #^table2hash_onecolumn[] | |
| #^crossopvars[] | |
| #^three[] | |
| #^badLangAfterCatch[] | |
| #^zeroinstdin[] | |
| #^shifts[] | |
| #^jspace[] | |
| #^hashselfmodification[] | |
| #^emptyTransformResult[] | |
| #^badxdoccreate[] | |
| #^if(-d "CVS"){y}{n} | |
| #^badjunctioncall[] | |
| #^russianindex[] | |
| #^virtualtest[] | |
| #^xml[] | |
| #^mail4[] | |
| #^voidconstructorpass[] | |
| #^$form:CLASS.a=$form:CLASS.a<br> | |
| #^cookie2[] | |
| #^menudelim[] | |
| #^touchittest[] | |
| #^touchittest2[] | |
| #^opauto[] | |
| #^trycontextt[] | |
| #^tfor[] | |
| #^user-foreach-test[] | |
| #^includet[] | |
| #^derived:includet[] | |
| #^fortestsep[] | |
| #^derived:inclass_process_test[] | |
| #$derived[^derived::create[]]^derived.inclass_process_test[] | |
| #^domorigint[] | |
| #^junctiontest2[] | |
| #^junctionselftest[] | |
| #^bad-compiletosystem[] | |
| #^steppedfor[i](1;10;2){$i } | |
| #^file:fullpath[a.gif]<br> | |
| #^file:fullpath[/abs/a.gif]<br> | |
| #$form:a/$form:image-map= | |
| #^foreachform[] | |
| #^selectSingleoct[] | |
| #^compilebug[] | |
| #^badhashcreate[] | |
| #^badsendmail[] | |
| #^keygenedhash[]<br> | |
| #<hr>[$env:HTTP_REFERER] | |
| #$response:Content-TypE[bad] | |
| #^emailhead2[] | |
| #^includet2overridedynamic[] | |
| #^includet2overridestatic[] | |
| #^virtualtest2[] | |
| #^message-id-test[] | |
| #^test_exif[jpg] | |
| #^http_prefix[] | |
| #^http_prefix_table[] | |
| #^http_prefix_xml[] | |
| ^imagefont[] | |
| #^downloadtest[] | |
| #^cachebug[] | |
| #^quickregexatend[] | |
| @quickregexatend[] | |
| #$subject[xxxabcd] | |
| #^if(^subject.match[^(?>.*)(?<=abcd)]){y;n} | |
| $subject[^for[i](0;1000){xxxxxyyyyy} ] | |
| ^for[j](0;1000){ | |
| #$trimmed[^subject.match[\s+^$][]{}] | |
| #$table[^subject.match[^(.*\S)\s+^$]] | |
| $table[^subject.match[^(.*\S)\s+^$]] | |
| $trimmed[$table.1] | |
| } | |
| ^untaint[html]{"$trimmed"} | |
| #$table[^subject.match[^(.*?)\s+^$]] | |
| #^untaint[html]{"$table.1"} | |
| @cachebug[] | |
| ^cache[test](10){body} | |
| @downloadtest[] | |
| $response:body[^file::load[binary;index.html]] | |
| @imagefont[] | |
| $image[^image::create(200;30;0x00FFFF)] | |
| height(font)=1950<br> | |
| $alph[ ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя0123456789-+=!\"%:,.^;<>?@()^[^]'&*/] | |
| ^^alph.length[]=^alph.length[]<br> | |
| ^eval(1950/^alph.length[])[%.10f] | |
| ^image.font[$alph;font.gif](20) | |
| $text[AПривет*] | |
| ^image.text(0;0)[$text] | |
| $length[^image.length[$text]] | |
| #^image.rectangle(0;50)(2;2)(0x000000) | |
| ^image.rectangle(0;0)($length-1;5)(0x000000) | |
| $response:body[^image.gif[]] | |
| @http_prefix_xml[] | |
| $xdoc[^xdoc::load[http://www.cbr.ru/scripts/XML_daily.asp?date_req=02/03/2002; | |
| # $.method[HEAD] | |
| $.headers[ | |
| $.user-agent[1] | |
| ] | |
| ]] | |
| <pre>^taint[^xdoc.string[]]</pre> | |
| @http_prefix_table[] | |
| $table[^table::load[nameless;http://www.artlebedev.ru;$.USER-AGENT[paf]]] | |
| ^table.count[] | |
| <hr> | |
| <pre>$table.0</pre> | |
| @http_prefix[] | |
| #$file[^file::load[text;http://www.artlebedev.ru]] | |
| #$file[^file::load[text;http://www.artlebedev.ru;alt]] | |
| #$file[^file::load[text;http://parser3/exif.html; | |
| $file[^file::load[text;http://parser3/none; | |
| $.headers[ | |
| $.USER-AGENT[paf] | |
| ] | |
| ]] | |
| server: $file.SERVER<br> | |
| $file.status | |
| <hr> | |
| <pre>$file.text</pre> | |
| @test_exif[dir] | |
| $file[^file:list[$dir;\.(jpe?g|JPE?G)^$]] | |
| <table border=1> | |
| ^file.menu{ | |
| <tr valign=top> | |
| $image[^image::measure[$dir/$file.name]] | |
| <td>^image.html[$.width(100)$.height(100)]</td> | |
| <td> | |
| $file.name<hr> | |
| $exif[$image.exif] | |
| ^if($exif){ | |
| $keys[^exif._keys[]] ^keys.sort{$keys.key} | |
| ^keys.menu{ | |
| $key[$keys.key] | |
| $value[$exif.$key] | |
| ${key}: <b>^show_exif_value[$value]</b><br> | |
| } | |
| }{ | |
| no EXIF info<br> | |
| } | |
| </td> | |
| </tr> | |
| } | |
| </table> | |
| @show_exif_value[value][i] | |
| ^if($value is hash){ | |
| ^for[i](0;$value-1){$value.$i}[,] | |
| }{ | |
| $value | |
| } | |
| @message-id-test[] | |
| ^mail:send[ | |
| $.from[paf@mail] | |
| $.to[paf@mail] | |
| $.subject[test] | |
| # $.message-id[<1@parser.ru>] | |
| $.Message-id[<2@parser.ru>] | |
| $.subject[проверка] | |
| $.text[мычит!] | |
| ] | |
| @virtualtest2[] | |
| $derived[^derived::create[]] | |
| ^derived.first[] | |
| @includet2overridedynamic[] | |
| includet2overridedynamic:<br> | |
| shold say 'hello in some.p'<br> | |
| <hr> | |
| $derived[^derived::create[]] | |
| ^derived.includet2override[] | |
| @includet2overridestatic[] | |
| includet2overridestatic:<br> | |
| shold say 'hello in derived.p'<br> | |
| because in static classes there's no way to determine derived class (no virtual mech becase of no virtual table)<br> | |
| <hr> | |
| ^derived:includet2override[] | |
| @emailhead2[] | |
| ^mail:send[ | |
| $.charset[koi8-r] | |
| $.from[paf@design.ru] | |
| $.to[paf@mail] | |
| # $.reply-to[^taint[agat] <^taint[ag_7k@mail.ru]>] | |
| $user[^taint[agat]] | |
| $email[^taint[ag_7k@mail.ru]] | |
| $.reply-to[$user $email] | |
| $.subject[test2] | |
| ] | |
| @keygenedhash[] | |
| $table[^table::create{key value | |
| 1 a | |
| 2 b | |
| }] | |
| $hash[^table.hash($table.key*2)] | |
| '$hash.4.value' must be 'b' | |
| @badsendmail[] | |
| ^mail:send[ | |
| $.from[hren < paf@design.ru | |
| >] | |
| $.to[paf@design.ru] | |
| $.subject[test] | |
| ] | |
| @badhashcreate[] | |
| $hash[ | |
| $.ok[1] | |
| ] | |
| $.bad[1] | |
| @compilebug[] | |
| ^a[]^#31= | |
| @selectSingleoct[] | |
| $d[^xdoc::create[doc]] | |
| $element[^d.selectSingle[$nothing]] | |
| @foreachform[] | |
| <a href=index.cgihtml?one&a=1&two&b=2&three?1,2>one</a><br> | |
| <a href=index.cgihtml?one&a=1&two&b=2&three?shit>two</a><br> | |
| ^form:fields.foreach[key;value]{ | |
| $key -- $value | |
| }[<br>] | |
| <hr> | |
| $nameless[$form:tables.nameless] | |
| ^if(def $nameless){ | |
| nameless table -- ^nameless.menu{$nameless.field}[,] | |
| } | |
| ^if(def $form:imap){ | |
| <hr> | |
| IMAP $form:imap.x : $form:imap.y | |
| } | |
| @steppedfor[name;from;to;step;code] | |
| $caller.$name($from) | |
| ^while($caller.$name<=$to){ | |
| $code | |
| ^caller.$name.inc($step) | |
| } | |
| @bad-compiletosystem[] | |
| ^process[$string:CLASS]{@a[] | |
| } | |
| @junctionselftest[] | |
| $derived[^derived::create[]]^derived.explodejunction{$tomain[tomainOK]} | |
| ^$tomain=$tomain | |
| @junctiontest2[] | |
| ^if($if is junction){is junction;not junction}<br> | |
| ^if(def $if){defined;not defined}<br> | |
| @domorigint[] | |
| $xdoc[^xdoc::create[вася]] | |
| ^xdoc.firstChild.setAttribute[name;значение] | |
| $var[$xdoc.firstChild.nodeName] | |
| ^throw[paf;$var] | |
| @fortestsep[][i] | |
| ^for[i](1;3){$i}[,] | |
| @includet[] | |
| ^include[some.p] | |
| ^included_method[2] | |
| @user-foreach-test[][key;value] | |
| ^user-foreach[key;value]{$key=$value<br>} | |
| @user-foreach[key;value;code] | |
| ^for[i](1;10){ | |
| $caller.$key($i) | |
| $caller.$value($i*2) | |
| $code | |
| } | |
| @tfor[][i] | |
| ^for[i](1;10){ | |
| $i | |
| } | |
| @trycontextt[] | |
| ^try{ | |
| ^trycontexttsub[] | |
| }{ | |
| $exception.handled(0) | |
| } | |
| @trycontexttsub[] | |
| ^bad[] | |
| @opauto[] | |
| ^reada[] | |
| @rusage2[] | |
| <hr> | <hr> |
| OK | OK |
| @rusage2[] | |
| $s[$status:rusage] | |
| ^s.tv_sec.format[%.0f].^s.tv_usec.format[%06.0f] | |
| @voidconstructorpass[] | |
| $a[$form:a] | |
| =^form:a.int(1)= | |
| =^a.int(1)= | |
| @russianindex[] | |
| #dir with files with russian-lang names | |
| $where[dir] | |
| $dir[^file:list[$where;\.txt^$]] | |
| ^dir.menu{ | |
| <a href=$where/^untaint[uri]{$dir.name}>$dir.name</a><br> | |
| } | |
| @badjunctioncall[] | |
| ^badjunctioncallinside{code} | |
| @badjunctioncallinside[code] | |
| xx^code[] | |
| @badxdoccreate[] | |
| $xdoc[^xdoc::create[вася]] | |
| #$xdoc[^xdoc::create{<?xml version="1.0" encoding="$request:charset"?><doc>вася</doc>}] | |
| ^xdoc.firstChild.setAttribute[name;значение] | |
| ^xdoc.string[] | |
| @emptyTransformResult[] | |
| $input[^xdoc::create[docBad]] | |
| $sheet[^xdoc::create{<?xml version="1.0"?> | |
| <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> | |
| <xsl:template match="doc"> | |
| output | |
| </xsl:template> | |
| </xsl:stylesheet> | |
| }] | |
| $output[^input.transform[$sheet]] | |
| $response:body[^output.file[]] | |
| @hashselfmodification[] | |
| $hash[ | |
| $.a[1] | |
| $.b[2] | |
| ] | |
| ^hash.foreach[key;value]{ | |
| # $hash.c[1] | |
| $hash.a[1] | |
| } | |
| @touchittest[][i] | |
| $i[before] | |
| ^touchit[] | |
| $i | |
| @touchittest2[] | |
| $i[before] | |
| ^touchit[] | |
| $i | |
| @jspace[] | |
| $a(1) | |
| ^jspace_call{^eval($a*2)} | |
| #$a(2) | |
| #$junction | |
| @jspace_call[param][a] | |
| $a[unrelcfgdfgated] | |
| $junction<br> | |
| $junction.a(2) | |
| $junction<br> | |
| @shifts[] | |
| ^eval(1<<3)<br> | |
| ^eval(8>>2)<br> | |
| #^if(1=1){y;n}<br> | |
| @zeroinstdin[] | |
| #$f[^file::exec[a.pl;$.stdin[$.shit[]]]] | |
| $f[^file::exec[a.pl;$.stdin[^file::load[binary;1z2.txt]]]] | |
| =$f.text= | |
| ^f.save[binary;1z2.out] | |
| @badLangAfterCatch[] | |
| ^try{ | |
| $a[ | |
| тут язык сменился на pass_appended | |
| ^throw[user;test] | |
| и улетело с не тем языком | |
| ] | |
| }{ | |
| $exception.handled(1) | |
| } | |
| 1 2 | |
| @crossopvars[] | |
| #^one[]<hr> | |
| ^two[]<hr> | |
| @table2hash_onecolumn[] | |
| $t[^table::create{a | |
| 1 | |
| 1 | |
| }] | |
| #^t.hash[a] | |
| #^t.hash[a;b] | |
| $h[^t.hash[a][$.distinct(1)]] | |
| $h.1.a | |
| @longlreplace[] | |
| $str1[ мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла мыла ] | |
| $str2[ела] | |
| $str[Мама $str1 раму] | |
| ^str.replace[^table::create[nameless]{мыла $str2}] | |
| @duplicatehashsqlkey[] | |
| ^connect[mysql://mdm:4b833ljq@db-mysql/mdm]{ | |
| $t[^table::sql{select * from news}] | |
| $c[^t.columns[]] | |
| ^c.menu{$c.column}[,] | |
| $h[^hash::sql{select news_type_id, name from news}[$.distinct(1)]] | |
| } | |
| @duplicatetable2hashkey[] | |
| $t[^table::create{a b | |
| 1 2 | |
| 1 3 | |
| }] | |
| #^t.hash[a] | |
| #^t.hash[a;b] | |
| ^t.hash[a][$.distinct[1]] | |
| @menudelim[] | |
| $t[^table::create{a | |
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| }] | |
| ^t.menu{^if($t.a<3){}{$t.a}}[,] | |
| @fordelim[] | |
| ^for[a](0;6){^if($a<3){}{$a}}[,] | |
| @passpost[] | @passpost[] |
| <form method=post name="test" id="test"> | <form method=post name="test" id="test"> |
| <textarea name="text" cols=20 rows =6>^taint[html][1 | <textarea name="text" cols=20 rows =6>^taint[html][1 |
| Line 419 $date.yearday | Line 898 $date.yearday |
| ^mail:send[ | ^mail:send[ |
| $.from[paf@mail.design.ru] | $.from[paf@mail.design.ru] |
| $.to[paf@mail.design.ru] | $.to[paf@mail.design.ru] |
| $.subject[^taint[uri][москва]=2] | $.subject[^taint[uri][москва=E0_+ ]=2] |
| $.text[^taint[uri][москва]=] | $.text[^taint[uri][москва]=] |
| $.html{<a href=http://there.ru/?city=^taint[uri][Москва]>link</a>} | $.html{<a href=http://there.ru/?city=^taint[uri][Москва]>link</a>} |
| ] | ] |
| Line 534 $sheet[^xdoc::create{<?xml version="1.0" | Line 1013 $sheet[^xdoc::create{<?xml version="1.0" |
| <xsl:template match="people"> | <xsl:template match="people"> |
| <html> | <html> |
| <head>z</head> | <head> |
| <link type='text/xml' rel='alternate' href='/Default.vsdisco'/> | |
| z</head> | |
| para1=<xsl:copy-of select="^$param1"/> | para1=<xsl:copy-of select="^$param1"/> |
| <xsl:apply-templates/> | <xsl:apply-templates/> |
| <hr/> | <hr/> |
| Line 1560 $date.year $date.month $date.day | Line 2041 $date.year $date.month $date.day |
| @cookie2[] | @cookie2[] |
| #=$cookie:clientType[$.value[test]]=<br> | #=$cookie:clientType[$.value[test]]=<br> |
| =$cookie:clientType=<br> | =$cookie:CLASS.clientType=<br> |
| @tableset[] | @tableset[] |
| Line 2028 $xdoc[^xdoc::set{<?xml version="1.0" enc | Line 2509 $xdoc[^xdoc::set{<?xml version="1.0" enc |
| @xdata[] | @xdata[] |
| #$response:content-type[$.value[text/html] $.charset[windows-1251]] | #$response:content-type[$.value[text/html] $.charset[windows-1251]] |
| $xdoc[^xdoc::set{^process{<?xml version="1.0" encoding="windows-1251"?> | $xdoc[^xdoc::create{<?xml version="1.0" encoding="windows-1251"?> |
| <!--DOCTYPE people SYSTEM "D:\Y\parser3project\parser3\src\www\htdocs\people.dtd"--> | <!--DOCTYPE people SYSTEM "D:\Y\parser3project\parser3\src\www\htdocs\people.dtd"--> |
| <people> | <people> |
| <man id="1" имя="word слово"> | <man id="1" имя="word слово"> |
| Line 2038 $xdoc[^xdoc::set{^process{<?xml version= | Line 2519 $xdoc[^xdoc::set{^process{<?xml version= |
| <name>ПИФ^taint[&]</name> | <name>ПИФ^taint[&]</name> |
| </man> | </man> |
| </people> | </people> |
| }}] | }] |
| @xml[] | @xml[] |
| ^xdata[] | ^xdata[] |