Diff for /parser3/www/htdocs/Attic/index.html between versions 1.175 and 1.206

version 1.175, 2002/10/31 15:01:58 version 1.206, 2002/12/24 08:31:31
Line 6 Line 6
 $selffilespec[$filespec]  $selffilespec[$filespec]
 #$form:here  #$form:here
 #$request:charset[UTF-8]  #$request:charset[UTF-8]
 ##$request:charset[windows-1251]  $request:charset[windows-1251]
 ##$response:charset[windows-1251]  $response:charset[windows-1251]
 #$response:charset[UTF-8]  #$response:charset[UTF-8]
 #$response:charset[empty]  #$response:charset[empty]
 #$response:content-type[$.value[text/html]$.charset[$response:charset]]  #$response:content-type[$.value[text/html]$.charset[$response:charset]]
Line 20  $body Line 20  $body
 OK  OK
   
 @main[]  @main[]
   #$form:a=
 #$a(123)  #$a(123)
 #^a.format[%.10u]  #^a.format[%.10u]
 #$result[111]  #$result[111]
Line 289  OK Line 290  OK
 #$response:Content-TypE[bad]  #$response:Content-TypE[bad]
 #^emailhead2[]  #^emailhead2[]
 #^includet2overridedynamic[]  #^includet2overridedynamic[]
 ^includet2overridestatic[]  #^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[]
   #^strangewrite[]
   #^badexceptiontype[]
   ^coookieexpirestest[]
   
   @coookieexpirestest[]
   $cookie:test1[
           $.value[1]
           $.expires[session]
   ]
   
   $cookie:test1=
   
   
   @badexceptiontype[]
   ^connect[mysql://mdm:4b833ljq@db-mysql/mdm]{
   ^void:sql{b}
   }
   
   
   @strangewrite[]
   $a[$form:a]
   $ax.b[2]
   $ax.b=
   
   @manyto[]
   ^mail:send[
           $.from[paf@design.ru]
           $.to[паф <paf@design.ru>, паф дома <pafhome@design.ru>]
   #       $.bcc[pafhome@design.ru]
   #       $.cc[pafhome@design.ru]
           $.subject[проверка два в to]
           $.text[привет]
   ]
   
   @manyto[]
   ^mail:send[
           $.from[paf@design.ru]
           $.to[паф <paf@design.ru>]
           $.bcc[паф дома <pafhome@design.ru>]
   #       $.cc[pafhome@design.ru]
           $.subject[проверка to,bcc]
           $.text[привет]
   ]
   
   @manyto[]
   ^mail:send[
           $.from[paf@design.ru]
           $.to[паф <paf@design.ru>]
   #       $.bcc[паф дома <pafhome@design.ru>]
           $.cc[паф дома <pafhome@design.ru>]
           $.subject[проверка to,cc]
           $.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<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[]
   includet2overridedynamic:<br>
   shold say 'hello in some.p'<br>
   <hr>
 $derived[^derived::create[]]  $derived[^derived::create[]]
 ^derived.includet2override[]  ^derived.includet2override[]
   
 @includet2overridestatic[]  @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[]  ^derived:includet2override[]
   
 @emailhead2[]  @emailhead2[]

Removed from v.1.175  
changed lines
  Added in v.1.206


E-mail: