--- parser3/www/htdocs/Attic/index.html 2002/04/30 10:40:58 1.56
+++ parser3/www/htdocs/Attic/index.html 2002/08/06 12:48:15 1.87
@@ -1,21 +1,28 @@
-@USE
-t.p
+#@USE
+#t.p
-@autoz[]
-$request:charset[windows-1251]
-$response:charset[windows-1251]
-$response:content-type[$.value[text/html]$.charset[$response:charset]]
-
-@postprocess[body]
-#=$env:HTTP_TEST=
-#=$env:REDIRECT_HTTP_TEST=
-#
-$body
-
-OK
+@auto[filespec]
+$selffilespec[$filespec]
+#$form:here
+#$request:charset[UTF-8]
+#$response:charset[windows-1251]
+#$response:content-type[$.value[text/html]$.charset[$response:charset]]
+
+#@postprocess[body]
+#$body
+#$result[123]
@main[]
-#^sqldefaults[]
+#$a(123)
+#^a.format[%.10u]
+#$result[111]
+#^f[a]
+^connect[mysql://mdm:4b833ljq@db-mysql/mdm]{
+ ^int: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}]
+}
#^eval(2)
#^tcrashlocaljunctionsv2[]
#^tcrashlocaljunctions[]
@@ -124,7 +131,6 @@ OK
#$t[^methresult[]] ->$t
#^terror[]
#^ssave[]
-#^calendar[]
#^thash[]
#^tdef[]
#^ford[]
@@ -145,11 +151,481 @@ OK
#^xml[]
#^header[]
#^tablehasht[]
-
#^datecreatestring[]
#^mssqltypes1[]
#^badthrows[]
-^xmlspace[]
+#^xmlspace[]
+#^counter[main.counter]
+#^xpath2[]
+#^callindirect[]
+#^junctionprob[]
+#^datecreatestring2[]
+#^tstoredproc[]
+#^tstoredproc2[]
+#^forkeys[]
+#^pngsize[]
+#^checkList[]
+#^datetest[]
+#^tserge[]
+#^envt[]
+#^selectt[]
+#^select2[]
+#^selectSingle2[]
+#^selectString2[]
+#^selectNumber2[]
+#^selectBool2[]
+#^xdoccreate[]
+#^xdoccreatetag[]
+#^xdocload[]
+#^xdocstring[]
+#^xdocsave[]
+#^div[]
+#^datecreatestring3[]
+#^tfilespec[]
+#^tcrypt[]
+#^cryptdocsample[]
+#^sendtests[]
+#^tnormalize[]
+#^xmltransformbyxdoc[]
+#^sergestrandef[]
+#^tstdin[]
+#^tfind[]
+#^calendar[]
+#^mimet[]
+^cgit[]
+
+OK
+
+@cgit[]
+$f[^file::cgi[showenv.cmd]]
+$f.HELLO=
+$f.CONTENT-TYPE=
+$f.content-type=
+
+
+@mimet[]
+$f[^file::stat[a.GIF]]
+$f.content-type
+
+
+@tfind[]
+^file:find[index.html]
+
+@tstdin[]
+$f[^file::exec[test.pl;$.stdin[проверка stdin потока]]]
+$f.text
+
+@sergestrandef[]
+$sQuantity[ ]
+^sQuantity.int(10)
+
+@xmltransformbyxdoc[]
+$xdoc[^xdoc::set{^process{
+
+
+
+ 1 2
+
+
+}}]
+$sheet[^xdoc::create{
+
+
+
+
+
+
+defparam1
+defparam2
+
+
+
+ param1=
+ param2=
+
+ test return
+
+
+
+ test return3
+
+
+
+
+ z
+ para1=
+
+
+
+
+
+
+
+
+
+
+}]
+
+
+$xdoc[^xdoc.transform[$sheet]]
+$string[^xdoc.string[$.method[html]]]
+^string.save[a]
+^untaint[html]{$string}
+
+
+
+@tnormalize[]
+#s состоит из 1000 фрагментов
+$s[^for[i](0;999){фрагмент }]
+#это займет много ресурсов
+^s.match[фраг][g]{перга}
+#это займет меньше ресурсов
+#$normalized[^s.normalize[]]
+#^normalized.match[фраг][g]{перга}
+
+@sendtests[]
+#^text[]
+#^html[]
+#^text-n-html[]
+#^file[]
+#^text-n-file[]
+^text-n-html-n-file[]
+#^backwardcomp[]
+
+@backwardcomp[]
+^mail:send[
+ $.from[paf]
+ $.to[paf]
+ $.body[this is text value]
+]
+
+@text[]
+^mail:send[
+ $.from[paf]
+ $.to[paf]
+ $.text[
+ $.value[this is text value]
+ ]
+]
+
+@html[]
+^mail:send[
+ $.from[paf]
+ $.to[paf]
+ $.html{this is html value ^taint[<] 10}
+]
+
+@text-n-html[]
+^mail:send[
+ $.from[paf]
+ $.to[paf]
+ $.text[
+ $.value[this is text value]
+ ]
+ $.html[
+ $.value{this is html value ^taint[<] 10}
+ ]
+]
+
+@file[]
+^mail:send[
+ $.from[paf]
+ $.to[paf]
+ $.file[^file::load[binary;image.jpg]]
+]
+
+@text-n-file[]
+^mail:send[
+ $.from[paf]
+ $.to[paf]
+ $.text[
+ $.value[this is text value]
+ ]
+ $.file[^file::load[binary;image.jpg]]
+]
+
+@text-n-html-n-file[]
+^mail:send[
+ $.from[paf]
+ $.to[paf]
+ $.text[
+ $.value[this is text value]
+ ]
+ $.html[
+ $.COntent-type[$.value[text/html]$.charset[windows-1251xx]]
+ $.value{this is html value ^taint[<] 10}
+ ]
+ $.file[^file::load[binary;image.jpg]]
+]
+
+
+
+@md5salt[]
+1234
+
+@cryptdocsample[]
+$users[^table::create{name password
+alice ***
+bob ***
+}]
+
+$htpasswd[^table::create[nameless]{}]
+^users.menu{
+ ^htpasswd.append{$users.name:^math:crypt[$users.password;^$apr1^$^md5salt[]]}
+}
+
+^htpasswd.save[nameless;.htpasswd-parser-test]
+
+
+@tcrypt[]
+#^math:crypt[123;^$apr1^$1234567890abcdef]
+^math:crypt[123;^$apr1^$]
+
+@tfilespec[]
+src=$selffilespec
+dirname=^file:dirname[$selffilespec]
+basename=^file:basename[$selffilespec]
+justname=^file:justname[$selffilespec]
+justext=^file:justext[$selffilespec]
+
+@datecreatestring3[]
+$new_after[^date::now(-3)]
+$articles[^table::create{id title last_update
+1 привет 2002-07-03}]
+^articles.menu{
+ $last_update[^date::create[$articles.last_update]]
+ $articles.title
+ ^if($last_update > $new_after){новая}
+
+}
+
+@div[]
+$var(5)
+^var.inc(7)
+^var.dec(3)
+^var.div(4)
+^var.mul(2)
+$var
+
+
+@xdocsave[]
+$document[^xdoc::create{
+
+строка1
+строка2
+}]
+^document.save[test.xml]
+
+@xdocstring[]
+$document[^xdoc::create{
+
+строка1
+строка2
+}]
+^document.string[
+ $.method[html]
+]
+
+
+@xdocload[]
+$document[^xdoc::load[article.xml]]
+$response:body[^document.file[$.media-type[text/xml]]]
+
+
+@xdoccreatetag[]
+$document[^xdoc::create[document]]
+$paraNode[^document.createElement[para]]
+$dummy[^document.documentElement.appendChild[$paraNode]]
+$response:body[^document.file[$.media-type[text/xml]]]
+
+
+@xdoccreate[]
+$document[^xdoc::create{
+
+текст
+}]
+$response:body[^document.file[$.media-type[text/xml]]]
+
+@selectBool2[]
+$d[^xdoc::set{
+}]
+^if(^d.selectBool[/t/@n > 10]){
+ /t/@n больше 10
+}{
+ не больше
+}
+
+
+@selectNumber2[]
+$d[^xdoc::set{
+}]
+^d.selectNumber[number(/t/@n)+1]
+^d.selectNumber[2*2]
+
+
+@selectString2[]
+$d[^xdoc::set{
+}]
+# результат=привет
+^d.selectString[string(t/@attr)]
+
+
+@selectSingle2[]
+$d[^xdoc::set{
+}]
+# результат=один элемент "t"
+$element[^d.selectSingle[t]]
+# результат=2 (количество атрибутов )
+Количество атрибутов: ^element.attributes._count[]
+# результат=не существует (нет )
+^if(^d.select[x]){
+ x существует
+}{
+ x не существует
+}
+
+@select2[]
+$d[^xdoc::set{}]
+# результат: список из одного элемента "t"
+$list[^d.select[t]]
+# результат: 2 = количество атрибутов
+^list.0.attributes._count[]
+^for[i](0;$list-1){
+ $attr[$list.$i]
+ $attr.nodeName = $attr.nodeType
+}
+
+
+@selectt[]
+$d[^xdoc::set{}]
+$list[^d.select[t]]
+^list.0.attributes._count[]
+
+@envt[]
+$f[^file::exec[showenv.cmd;
+ $.bad[value]
+ $.CGI_good[value]
+]]
+$f.status
+$f.stderr
+$f.text
+
+
+@tserge[]
+^if(" 09 "){y}
+
+@datetest[]
+ $f[^file::stat[some.zip]]
+Размер в байтах: $f.size
+Год создания: $f.cdate.year
+$now[^date::now[]]
+$DAYS_CONSIDERED_NEW(3)
+Статус: ^if($f.mdate >= $now-$DAYS_CONSIDERED_NEW){новый;старый}
+
+
+@checkList[]
+...^oneOf[a;a,b,c]...
+#...^oneOf[a;ax,b,c]...
+...^oneWord[word]...
+#...^oneWord[wo rd]...
+
+
+@oneOf[s;list][t] выдаёт строку, если строка она есть в списке(разделенном запятыми)
+$t[^list.lsplit[,]]
+^if(!^t.locate[piece;$s]){^throw[user;$s;unknown]}
+$result[$s]
+
+@oneWord[s]
+^if(^s.match[\W]){^throw[user.data;$s;not word]}{$s}
+
+@pngsize[]
+$i[^image::measure[test.png]]
+^i.html[]
+
+
+@forkeys[]
+$text[^form:fields.foreach[key;val]{$key=$val
+}]
+^text.save[ttt.txt]
+=$text=
+
+
+@tstoredproc2[]
+^connect[odbc://DSN=nestle^;UID=nestle^;PWD=mbm32]{
+ ^void:sql{exec pafvoid}
+}
+
+@tstoredproc[]
+^connect[odbc://DSN=nestle^;UID=nestle^;PWD=mbm32]{
+ $t[^table::sql{exec pafproc}]
+# $t[^table::sql{{call pafproc}}]
+ $c[^t.columns[]]
+ ^c.menu{$c.column}[
]
+}
+
+@datecreatestring2[]
+
+^datecreatestring2show[2000]
+^datecreatestring2show[2000-02]
+^datecreatestring2show[2000-2-03]
+^datecreatestring2show[2000-02-03 15]
+^datecreatestring2show[2000-02-03 15:30]
+^datecreatestring2show[2000-02-03 15:30:04]
+^datecreatestring2show[2000-02-03 15:30:04 hren]
+^datecreatestring2show[15:30]
+^datecreatestring2show[15:30:05]
+^datecreatestring2show[15:30:05 hren]
+
+
+@datecreatestring2show[s]
+$date[^date::create[$s]]
+
+| $s | ^date.sql-string[] |
+
+
+
+@junctionprob[][l]
+$l[123]
+$a{$l}
+^junctionprobnested[$a]
+@junctionprobnested[p]
+$p
+
+
+@callindirecttarget[]
+callindirecttarget called
+@callindirect[]
+$f[$callindirecttarget]
+^f[]
+
+@xpath2[]
+$xdoc[^xdoc::create{
+
+
+
+
+
+
+}]
+
+#^xdoc.string[]
+
+$fieldList[^xdoc.selectSingle[/doc/field-list]]
+#^fieldList.childNodes._count[]
+$fields[^fieldList.select[field]]
+#^fields._count[]
+^fields.foreach[k;node]{
+ $node.nodeName
+}
+@counter[filespec][f;s]
+^file:lock[$filespec]{
+ $f[^file::load[text;$filespec]]
+ $s[^eval($f.text+1)]
+ ^s.save[$filespec]
+}
+$s
@xmlspace[]
$xdoc[^xdoc::set{^process{
@@ -206,6 +682,10 @@ $h[^t.hash[p]]
^int: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}]
}
+=======
+
+OK
+>>>>>>> 1.50
@tcrashlocaljunctionsv2[]
$a[
@@ -1132,10 +1612,12 @@ $abc[abc]
^abc.save[abc]
@calendar[]
-2001;11:
-$week_days[^date:calendar[rus](2001;11)]
+$year(2002)
+$month(8)
+${year}-${month}:
+$week_days[^date:calendar[rus]($year;$month)]
-^week_days.menu{^for[wday](0;7){^if($week_days.$wday){$week_days.$wday; ^; ^;} }
}
+^week_days.menu{^for[wday](0;6){^if($week_days.$wday){$week_days.$wday; ^; ^;} }=$week_days.week=
}
@thash[]