--- parser3/www/htdocs/Attic/index.html 2002/10/15 10:58:34 1.164
+++ parser3/www/htdocs/Attic/index.html 2002/12/05 12:53:48 1.200
@@ -12,11 +12,15 @@ $response:charset[windows-1251]
#$response:charset[empty]
#$response:content-type[$.value[text/html]$.charset[$response:charset]]
-#@postprocess[body]
+@postprocess[body]
#$body
#$result[123]
+$body
+
+OK
@main[]
+#$form:a=
#$a(123)
#^a.format[%.10u]
#$result[111]
@@ -266,7 +270,370 @@ $response:charset[windows-1251]
#^includet[]
#^derived:includet[]
#^fortestsep[]
-^derived:inclass_process_test[]
+#^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]
+#^file:fullpath[/abs/a.gif]
+#$form:a/$form:image-map=
+#^foreachform[]
+#^selectSingleoct[]
+#^compilebug[]
+#^badhashcreate[]
+#^badsendmail[]
+#^keygenedhash[]
+#
[$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[]
+#^docsamplehttpfileload[]
+#^datecreatecolon[]
+#^exifdocsample[]
+#^rusagetv[]
+#^varmethnameconflict[]
+#^mimeold[]
+#^mimenew[]
+#^doctableclonesample[]
+^manyto[]
+
+@manyto[]
+^mail:send[
+ $.from[paf@design.ru]
+ $.to[паф , паф дома ]
+ $.subject[проверка,тут]
+ $.text[привет]
+]
+
+@doctableclonesample[]
+$orig[^table::create{name
+Вася
+Коля
+Лена
+Маша
+}]
+
+#сдвигает текущую запись таблицы from на <Коля>
+^orig.offset(1)
+
+#копирует начиная стекущей записи во from, 10 записей максимум
+$copy[^table::create[$orig;
+ $.offset[cur]
+ $.limit(10)
+]]
+
+^copy.menu{$copy.name}[,]
+
+@mimeold[]
+^mail:send[
+ $.from[paf@design.ru]
+ $.to[paf@design.ru]
+ $.text[1
+
+ 2
+
+
+ 3]
+]
+
+@mimenew[]
+^mail:send[
+ $.from[paf@design.ru]
+ $.to[paf@design.ru]
+ $.body[1
+
+ 2
+
+
+ 3]
+]
+
+@varmethnameconflict[]
+$varmethnameconflict[1]
+^varmethnameconflict.format[%03d]
+
+@rusagetv[]
+$s[$status:rusage]
+^s.tv_sec.format[%.0f].^s.tv_usec.format[%06.0f]
+
+@exifdocsample[]
+$image[^image::measure[jpg/DSC00003.JPG]]
+$exif[$image.exif]
+^if($exif){
+ Производитель фотоаппарата, модель: $exif.Make $exif.Model
+ Время съемки: ^exif.DateTimeOriginal.sql-string[]
+ Выдержка: $exif.ExposureTime секунды
+ Диафрагма: F$exif.FNumber
+ Использовалась вспышка: ^if(def $exif.Flash){^if($exif.Flash){да;нет};неизвестно}
+}{
+ нет EXIF информации
+}
+
+@exif_value[value][i]
+^if($value is date){
+ ^value.sql-string[]
+}{
+ ^if($value is hash){
+ ^for[i](0;$value-1){$value.$i}[,]
+ }{
+ $value
+ }
+}
+
+
+
+
+@datecreatecolon[]
+#$date[^date::create[2002-12-02 14:30]]
+#$date[^date::create[2002-12-02]]
+#$date[^date::create[2002:12:02 13:30]]
+$date[^date::create[2002:12:02]]
+#$date[^date::create[12:02]]
+^date.sql-string[]
+
+@docsamplehttpfileload[]
+$file[^file::load[text;http://parser.ru/]]
+Программное обеспечение сервера: $file.SERVER
+
+$file.text
+
+@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
+$alph[ ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя0123456789-+=!\"%:,.^;<>?@()^[^]'&*/]
+^^alph.length[]=^alph.length[]
+^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?^taint[сегодня];
+ $.headers[
+ $.user-agent[ПАФ]
+ $.accept-test[$.value[значение]$.with-option[опция]]
+ ]
+]]
+На ^xdoc.selectString[string(/ValCurs/@Date)]
+курс валюты
+$USD_node[^xdoc.selectSingle[/ValCurs/Valute[CharCode='USD']]]
+"^USD_node.selectString[string(Name)]" равен ^USD_node.selectString[string(Value)]
+
+
+^taint[^xdoc.string[]]
+
+@http_prefix_table[]
+$table[^table::load[nameless;http://www.artlebedev.ru;$.USER-AGENT[paf]]]
+^table.count[]
+
+$table.0
+
+@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
+$file.status
+
+$file.text
+
+@test_exif[dir]
+$file[^file:list[$dir;\.(jpe?g|JPE?G)^$]]
+
+^file.menu{
+
+ $image[^image::measure[$dir/$file.name]]
+ | ^image.html[$.width(100)$.height(100)] |
+
+ $file.name
+ $exif[$image.exif]
+ ^if($exif){
+ $keys[^exif._keys[]] ^keys.sort{$keys.key}
+ ^keys.menu{
+ $key[$keys.key]
+ $value[$exif.$key]
+
+ ${key}: ^show_exif_value[$value]
+ }
+ }{
+ no EXIF info
+ }
+ |
+
+}
+
+
+@show_exif_value[value][i]
+^if($value is date){
+ ^value.sql-string[]
+}{
+ ^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:
+shold say 'hello in some.p'
+
+$derived[^derived::create[]]
+^derived.includet2override[]
+
+@includet2overridestatic[]
+includet2overridestatic:
+shold say 'hello in derived.p'
+because in static classes there's no way to determine derived class (no virtual mech becase of no virtual table)
+
+^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[]
+one
+two
+
+^form:fields.foreach[key;value]{
+ $key -- $value
+}[
]
+
+$nameless[$form:tables.nameless]
+^if(def $nameless){
+ nameless table -- ^nameless.menu{$nameless.field}[,]
+}
+^if(def $form:imap){
+
+ 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}
+^if(def $if){defined;not defined}
+
+@domorigint[]
+$xdoc[^xdoc::create[вася]]
+^xdoc.firstChild.setAttribute[name;значение]
+$var[$xdoc.firstChild.nodeName]
+^throw[paf;$var]
+
@fortestsep[][i]
^for[i](1;3){$i}[,]