Diff for /parser3/src/www/htdocs/Attic/index.html between versions 1.421 and 1.507

version 1.421, 2001/10/22 13:52:20 version 1.507, 2001/12/19 16:24:07
Line 1 Line 1
   @USE
   t.p
   
 @main[]  @main[]
 ^hashfile[]  ^eval(100/6)[%.2f]
   $request:charset[windows-1251]
   $response:charset[windows-1251]
   #^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)<br>
   #^tform[]
   #^formattest[]
   #^filelist[]
   #^connect[mysql://user:pass@host]{ }
   #^безнадёжна_попытка_поправить_непоправимое[]
   #^tcache[]
   #^thashfileexp[]
   #^tcounter[]
   #^tablehash[]
   #j^hashfile[]
 #^formclass[]  #^formclass[]
 #^hren[]  #^hren[]
 #^domedit[]  #^domedit[]
Line 38 Line 81
 #^xslt[]  #^xslt[]
 #^xml[]  #^xml[]
 #^header[]  #^header[]
   <hr>
 OK  OK
   
   @tupper[]
   $t[abcABCабвАБВ]
   $t<br>
   ^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<br>
   $cache[^file:list[.;\.cache^$]]
   ^file:delete[$cache_key]deleted($cache.name)<br>
   
   
   
   @xslt2[]
   $xdoc[^xdoc::set{<?xml version="1.0" encoding="windows-1251" ?>
   <document><block><p>hi</p></block></document>
   }]
   #^show-xdoc2[$xdoc]
   ^show-xdoc2[^xdoc.transform[templates/_document.xslt]]
   <hr>
   
   
   @tcache2[]
   ^cache[$DB_HOME/keyключ](2){
           ^math:random(100)
   }
   
   @ttaintuntaint[]
   <!-- некий панковский заголовок с буковкой C в круглых скобках -->^taint[html][
   
   ]zz
   <hr>
   ^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}<hr>
   
   }
   <hr>
   
   
   ^rem{
   $news[^table::sql{select description from news}[$.limit(3)]]
   ^news.menu{
           ^untaint{$news.description}<hr>
   
   }
   <hr>
   }
   
   $tables[^table::sql{select table_name from user_tables}]
   ^tables.menu{
   $tables.table_name<br>
   }
   
   }
   <hr>
   $env:PATH
   
   @badconstructors[]
   $bred[^string::length[]]
   $bred[^response::clear[]]
   $bred[^int::int[]]
   
   
   @xloadwrongtable[]
   $constr[^xdoc::load[wrongtable.xml]]
   
   @xsetwrongtable[]
   $constr[^xdoc::set{<?xml version="1.0" encoding="windows-1251z" ?>
   <block-list>^untaint[as-is]{$constructor}</block-list>}]
   
   
   @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]]=<br>
   =$cookie:clientType=<br>
   
   
   @tableset[]
   $a[^table::set{a
   1
   2}]
   ^eval(100\$a)
   
   
   
   @zzz[]
   
   
   $constructor[
   <block1 name="main_srvr" type="0" label="Основное тело" />
   <block2 name="main_srvr2" type="0" label="Основное тело" />
   ]
   
   $constr[^xdoc::set{<?xml version="1.0" encoding="windows-1251" ?>
   <block-list>^untaint[as-is]{$constructor}</block-list>}]
   
   $children[$constr.documentElement.childNodes]
   ^if($children){
   ^for[i](1;^children._count[]){
           $node[$children.$i]
           $node.nodeName<br>
   }
   }
      
   
   @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<br>
   }
   
   @thashdelete[]
   $h[$.a[1] $.b[2]]
   was:<br>
   count=^h._count[] <br>
   b='$h.b' <br>
   
   ^h.delete[b] 
   
   now:<br>
   count=^h._count[] <br>
   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}
   <form method="post" enctype="multipart/form-data">
   <input type="file" name="new_file" />
   <input type=submit>
   </input>
   
   @formattest[]
   $size(15.124)
   
   ^size.format{%.2f}
   
   @filelist[]
   $html[^file:list[.;\.html^$]]
   ^html.menu{
           $html.name<br>
   }
   <hr>
   
   @безнадёжна_попытка_поправить_непоправимое[]
   $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
   <hr>
   ^hf.foreach[key;value]{
           $key=$value<br>
   }
   <hr>
   $hash[^hf.hash[]]
   =$hash.paf=
   <hr>
   
   @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
   }
   <hr>
   ^rem{
   $hash[^counter.hash[]]
   =$hash.value=
   <hr>
   }
   
   @tablehash[]
   $productList[^table::set{id     name
   1       носки
   2       валенки
   3       ушанка
   }]
   
   #скажем, у первого дилера
   $firstPriceList[^table::set{id  price
   1       0.3
   3       1000
   }]
   
   $firstPriceHash[^firstPriceList.hash[id]]
   
   ^productList.menu{
       продукт "$productList.name" | цена у first: $firstPriceHash.[$productList.id].price<br>
   }
   
   
 @hashfile[]  @hashfile[]
 $hf[^hashfile::assign[hashfile]]  $hf[^hashfile::assign[hashfile]]
 $hf.paf[krut2]  #$hf.paf[крут5]
 paf=$hf.paf  paf=$hf.paf
   
 @formclass[]  @formclass[]
Line 50  paf=$hf.paf Line 384  paf=$hf.paf
   
 @domdata[]  @domdata[]
 ^if(1){  ^if(1){
         $a{^hren[]}  #       $a{^hren[]}
 }  }
 $a  $a
 $xdoc[^xdoc::create[doc]]  $xdoc[^xdoc::create[doc]]
 $doc[$xdoc.documentElement]  $doc[$xdoc.documentElement]
 $name[^doc.appendChild[^xdoc.createElement[name]]]  $name[^doc.appendChild[^xdoc.createElement[name]]]
 $text[^name.appendChild[^xdoc.createTextNode[петросян petrosian]]]  $text[^name.appendChild[^xdoc.createTextNode[петросян&coz]]]
   ^untaint[as-is]{=$text.nodeValue=}
   
 @domedit[]  @domedit[]
 ^domdata[]  ^domdata[]
Line 99  $pict.line-width(2) Line 434  $pict.line-width(2)
 #^pict.arc($pict.width/2;$pict.height/2;$pict.width;$pict.height;0;360;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.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)  ^pict.arc($pict.width/2;$pict.height/2;$pict.height-26;$pict.height-26;0+20;360-20;0xff0000)
 #$response:body[^pict.gif[]]  $response:body[^pict.gif[]]
   
 $small[^image::create($pict.width/$k;$pict.height/$k)]  #$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.copy[$pict](0;0;$pict.width;$pict.height;0;0;$small.width;$small.height;0)  #^small.copy[$pict](0;0;$pict.width;$pict.height;0;0;$small.width;$small.height;0)
   
 $response:body[^small.gif[]]  #$response:body[^small.gif[]]
   
   
 @tintdefault[]  @tintdefault[]
Line 314  $a.status|$a.stderr<hr> Line 649  $a.status|$a.stderr<hr>
 @fori[][i]  @fori[][i]
 ^for[i](1;3){... =$i= ...}  ^for[i](1;3){... =$i= ...}
   
   @xdata0[]
   #$response:content-type[$.value[text/html] $.charset[windows-1251]]
   $xdoc[^xdoc::set{<?xml version="1.0" encoding="windows-1251"?>
   <!--DOCTYPE people SYSTEM "D:\Y\parser3project\parser3\src\www\htdocs\people.dtd"-->
   <people>
           <man id="1" имя="word слово">
                   <name>P&#171^;AF        B</name>
           </man>
                   <man id="2">
                           <name>ПИФ^taint[&]</name>
                   </man>
   </people>
   }]
   
 @xdata[]  @xdata[]
 #$response:content-type[$.value[text/html] $.charset[windows-1251]]  #$response:content-type[$.value[text/html] $.charset[windows-1251]]
 $xdoc[^xdoc::load[input.xml]]  $xdoc[^xdoc::set{^process{<?xml version="1.0" encoding="windows-1251"?>
   <!--DOCTYPE people SYSTEM "D:\Y\parser3project\parser3\src\www\htdocs\people.dtd"-->
   <people>
           <man id="1" имя="word слово">
                   <name>P&#171^;AF        B</name>
           </man>
                   <man id="2">
               <name>ПИФ^taint[&]</name>
                   </man>
   </people>
   }}]
   
 @xml[]  @xml[]
 ^xdata[]  ^xdata[]
Line 377  by id: Line 736  by id:
 }  }
   
 @show-xdoc2[xdoc]  @show-xdoc2[xdoc]
 ^xdoc.save[save.xml;  ^xdoc.save[out/save.xml;
 #       $.encoding[windows-1251]  #       $.encoding[windows-1251]
         $.method[xml]          $.method[xml]
 ]  ]
Line 385  $file[^xdoc.file[ Line 744  $file[^xdoc.file[
 #       $.encoding[windows-1251]  #       $.encoding[windows-1251]
         $.method[html]          $.method[html]
 ]]  ]]
 ^file.save[text;save_file.html]  ^file.save[text;out/save_file.html]
 <pre>^taint[^xdoc.string[]]  #$response:body[^xdoc.file[     $.media-type[text/paf]  ]]
 #       $.encoding[windows-1251]  <pre>^taint[html][^xdoc.string[
 #       $.method[html]  #       $.method[html]
 #]]  #       $.version[1.0]
   #       $.encoding[utf-8]
   #       $.omit-xml-declaration[yes]
   #       $.standalone[yes]
   #       $.doctype-public[-//W3C//DTD XHTML]
   #       $.doctype-system[/a/b/c/]
   #       $.indent[no]
           $.media-type[text/paf]
   ]]
 </pre>  </pre>
   

Removed from v.1.421  
changed lines
  Added in v.1.507


E-mail: