Diff for /parser3/www/htdocs/Attic/index.html between versions 1.139 and 1.195

version 1.139, 2002/09/16 15:21:36 version 1.195, 2002/12/04 11:26:26
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[]
   #^docsamplehttpfileload[]
   #^datecreatecolon[]
   #^exifdocsample[]
   #^rusagetv[]
   ^varmethnameconflict[]
   
   @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<br>
       Время съемки: ^exif.DateTimeOriginal.sql-string[]<br>
       Выдержка: $exif.ExposureTime секунды<br>
       Диафрагма: F$exif.FNumber<br>
       Использовалась вспышка: ^if(def $exif.Flash){^if($exif.Flash){да;нет};неизвестно}<br>
   }{
       нет EXIF информации<br>
   }
   
   @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
   <hr>
   <pre>$file.text</pre>
   
   @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?^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)]
   
   <hr>
   <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 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:<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 960  $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 1075  $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 2103  $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 2571  $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 2581  $xdoc[^xdoc::set{^process{<?xml version=
             <name>ПИФ^taint[&]</name>              <name>ПИФ^taint[&]</name>
                 </man>                  </man>
 </people>  </people>
 }}]  }]
   
 @xml[]  @xml[]
 ^xdata[]  ^xdata[]

Removed from v.1.139  
changed lines
  Added in v.1.195


E-mail: