Annotation of parser3/src/www/htdocs/index.html, revision 1.228
1.222 parser 1: @USE
2: dtformat.p
3: input_date.p
4:
1.223 parser 5: @href[href zzz;title xxxx;ставить]
6: ^if($ставить){y;n}
7:
1.228 ! parser 8:
! 9: @call[name][method]
! 10: $method[$$name]
! 11: ^if(def $method){^method[]}
! 12:
! 13: @test1[]
! 14: test1 result
! 15:
1.212 parser 16: @main[]
1.228 ! parser 17: ^call[test1]
! 18: <hr>
1.227 parser 19: $input_date:input_date_auto_test
1.226 parser 20: <hr>
21: #$string:z[1]
22: #<hr>
1.224 parser 23: $path[/news/tululu/]
24: $pieces[^path.lsplit[/]]
25: $pieces{^count[]: ^menu{{$piece}}[,].}
26: <hr>
1.223 parser 27: ^href[href;title](1<2)
28:
29: <hr>
30: $stat[^file:stat[test.zip]]
31: $stat{
32: ^$size=$size<br>
33: adate=^long_date_format[$adate]<br>
34: mdate=^long_date_format[$mdate]<br>
35: cdate=^long_date_format[$cdate]<br>
36: }
37: <hr>
1.222 parser 38: $дата[^input_date:parse[9.7.2001]]
39: ^long_date_format[$дата]
40: <hr>
41: $дата[^parse_date[9.7.2001]]
42: ^long_date_format[$дата]
43: <hr>
1.221 parser 44: $сегодня[^date:now[]]
45: $недельный_календарь[^table:calendar[rus]($сегодня.year;$сегодня.month;$сегодня.day)]
46: <TT>
47: $недельный_календарь{^menu{
48: $year $month $day $weekday<BR>
49: }}
50: </TT>
51: <hr>
52: $сегодня[^date:now[]]
53: $месячный_календарь[^table:calendar[rus;$сегодня.year;$сегодня.month]]
54: <TT>
55: ^месячный_календарь.menu{^for[i;0;6]{
56: $day[$месячный_календарь.$i]
57: ^if($day){$day}{ ^; ^;}
58: }<BR>}
59: </TT>
60: <hr>
1.220 parser 61: before $время[^date:now[]]^время.string[]<br>
62: year+^время.roll[year](1)^время.string[]<br>
63: month+^время.roll[month](1)^время.string[]<br>
64: year-^время.roll[year](-1)^время.string[]<br>
65: month-^время.roll[month](-1)^время.string[]<br>
66: day+^время.roll[day](1)^время.string[]<br>
67: day-^время.roll[day](-1)^время.string[]<br>
68: <hr>
69: $русский_день_недели[
70: $0[Воскресенье]
71: $1[Понедельник]
72: $2[Вторник]
73: $3[Среда]
74: $4[Четверг]
75: $5[Пятница]
76: $6[Суббота]
77: ]
78:
79: $время[^date:set(0;1;1;3;30;4)]
80: $время{
81: ^string[]<br>
82: ${year}.${month}.${day} ${hour}:${minute}:${second}
83: }
84: <hr>
85: $время[^date:set(1.5)]
86: ^время.string[]
87: <hr>
88: $сейчас[^date:now[]]
89: ^^сейчас.string[]=^сейчас.string[] $день_недели($сейчас.weekday) $русский_день_недели.$день_недели<br>
90: $floatdays($сейчас) ^floatdays.format{%.20f}<br>
91: ^eval(^math:frac($floatdays)*24)<br>
92: ^eval(^math:frac($floatdays*24)*60)<br>
93: ^eval(^math:frac($floatdays*24*60)*60)
94: <hr>
95:
1.219 parser 96: PI=^math:PI.format{%.40f}
97: <hr>
1.218 parser 98: ^math:random(10)
99: <hr>
100: ^math:sqrt(16)
101: <hr>
1.216 parser 102: $люди[
103: $2федя[
104: $рост[176]
105: ]
106: $1василий[
107: $возраст[5]
108: ]
109: ]
110:
111: $имена[^люди.keys[]]
112: $имена{
113: ^sort{$key}
114: ^menu{$key}[,].
115: }
116: <hr>
117:
1.215 parser 118: $таблица[^table:set{a b
119: 1 2
120: }]
121: $колонки[^таблица.columns[]]
122: $колонки{
1.217 parser 123: ^menu{$column}[,].
1.215 parser 124: }
125:
126: <hr>
127:
1.214 parser 128: ^if($form:id ne 'z"'){
129: ne
130: }{
131: eq
132: }
133: <hr>
134:
135:
136: ^rem{
1.212 parser 137: $one(1)
138: $z(0)
1.214 parser 139: ^eval(^one.int[]%0)
1.212 parser 140: <hr>
1.214 parser 141: }
1.212 parser 142:
143: $form:id:
144: <hr>
145:
146: ^switch(2){
147: ^case(1;4;3){143}
148: ^case[DEFAULT]{default}
149: }
150: <hr>
151: ^switch(2){
152: ^case(1;2;3){143}
153: ^case[DEFAULT]{default}
154: }
155: <hr>
156: ^switch(2){
157: ^case(1;5;3){143}
158: }
159:
160: <hr>
161: ^switch(2){
162: ^case(2){2}
163: }
164:
165: <hr>
166: ^switch[2]{
167: ^case(2){![2]}
168: }
169: <hr>
170:
171:
172: $hash[$a[1]]
173: ^hash.default[0]
174: ^rem{
175: $target[targetval]
176: $form_admin[formadminval]
177: ^if(def $target){<head><base target=$target^if(def $form_admin){_a}></head>}
178: ^if(def $target){<head><base target=${target}^if(def $form_admin){_a}></head>}
179:
180: если $target и $form_admin defined получаем
181: <head><base target={_a}></head>
182: <hr>
183: }
184:
185: #$string:a(1)
186: #<hr>
187: #^if(^log(11)){y}{n}
188: #<hr>
189:
190: #@my_func[arg;z]
191: #2
192:
193: #@z[]
194: #^exp(^log(10))
195: #<hr>
196: #$a[^table:load[a<b]]
197: ^rem{
198: ^mail:send[
199: $from[paf@design.ru]
200: $to[paf@design.ru]
201: $subject[test]
202: $body[here]
203: ]
204: <hr>
205: }
206: -^eol[]-
207: <hr>
208: ^if(1<2){$a[1]}
209: ^$a=$a
210: <hr>
211:
212: <form method=post>
213: <input type=hidden name=a value=123>
214: <table border=1 width=250><tr><td>$form:name</td></tr></table>
215: <textarea name=name rows=5 cols=40>^untaint[html]{^default[$form:name;Пробный текст: А.Ф._Петросян <<Жизнь в Аду>>
216: нажми Submit]}</textarea><BR>
217: <input type=submit>
218: </form>
219: <hr>
220:
221: #^main[]
222: #^use[$form:file]
223:
224: $строка[вася ЗдЕсЬ]
225: ^^строка.upper[]=^строка.upper[]<br>
226: ^^строка.lower[]=^строка.lower[]<br>
227: <hr>
228:
1.211 parser 229:
1.212 parser 230: $a[12]
231: ^a.int[]
232:
233: <hr>
234:
235:
236: $t[^table:set{key value
237: 1 v1
238: 2 v2}]
239: $h[^t.hash[key]]
240:
241: ^sql_test[$SQL.connect-string]
242: #^sql_test[mysql://test:test@localhost/test/cp1251_koi8]
243:
244: <HR>
245: $abc{}
246: $tn[^table:set[nameless]{a1 b1
247: a2 b2
248: }]
249: $x[^tn.locate[0;a2]]
250: ^$tn.1=$tn.1
251: <hr>
252: $t0[^table:set{key a b
253: 1 a1
254: 2 a2 b2
255: }]
256: ^if(^t0.locate[key;2] && "a" ne "b"){y;n}
257: <hr>
258: $currentFolder[/a/b]
259: $path[^currentFolder.lsplit[/]]
260: ^path.flip[]
261: $path{
262: ^menu{$0}{,}
263: }
264: <hr>
265: $t1[^table:set{key value
266: 1 v1
267: 2 v2}]
268: $h1[^t1.hash[key]]
269: ^h1.default[$value[nothing]]
270: ^$h1.2.value=$h1.2.value<br>
271: ^$h1.2x.value=$h1.2x.value<br>
272: <hr>
273: $t2[^table:set{key a b
274: 1 a1
275: 2 a2 b2
276: }]
277: t2 ^if(^t2.empty[]){empty}{not empty}<br>
278: ^t2.offset(1)
279: $t2.b
280: $r[^t2.record[]]
281: <hr>
282: $th[^t2.hash[b]]
283: ^$th.b2.a=$th.b2.a<br>
284: <hr>
285: $th[^t2.hash[key;a]]
286: ^$th.2.a=$th.2.a<br>
287: <hr>
288: #^OP:eval(1<2)
289:
290: $filelist[^table:dir[.]]
291: <hr>
292: $t2[^table:set{dir title
293: /here Here
294: }]
295: $t2{^menu{${dir}-$title}[,]}
296: <HR>
297: $dir[news]
298: $list[^table:dir[$dir]]
299: ^list.menu{
300: $subdir[$dir/$list.name]
301: $sublist[^table:dir[$subdir]]
302: ${list.name}/ $sublist{^menu{$name}[,]}<br>
303: }
304: <HR>
305: ^if(in "/otherdeeper"){y;n}
306: <HR>
307:
308: ^^table:dir[/]:<BR>
309: $d[^table:dir[/]]
310: $d{^menu{$name  ^; ^; ^; ^;^if(-f $name){-f} ^if(-d $name){-d};<BR>}}
311: <HR>
312:
313: $files[^table:set{name}]
314: $d{^menu{
315: ^if(-d "$name"){
316: ^:files.append{$name}
317: }
318: }}
319:
320: $files{^menu{$name}[,]}
321: <HR>
322:
323: @exception[origin;source;comment;type;code][i;j]
324: <body bgcolor=black>
325: <font color=white>
326: ERROR:
327: ^if(def $source){$origin '$source'}
328: ${comment}.
329: ^if(def $type){type=$type}
330: ^if(def $code){code=$code}
331:
332: @auto_test[]
333: ^BASE.auto_test[]
334: <li>${request:uri}!
335: @end
336:
337:
338: @sql_test[connect-string]
339: #^rem{
340: #^for[i](1;2){
341: ^connect[$connect-string]{
342: $shit[^taint[our's]]
343: # $paf[^table:sql{insert into paf (name, age) values ('$shit', ^random:generate(10000))}]
344: ^void:sql{update paf set age=age+1}
345: $paf[^table:sql{select * from paf order by id desc}(5)]
346: $paf{
347: ^if(^empty[]){query result is empty}{
348: <table border=1>
349: <tr><td>id</td><td>name</td><td>age</td></tr>
350: ^menu{<tr><td>$id</td><td>$name</td><td>$age</td></tr>}
1.211 parser 351: </table>
1.212 parser 352: }}
1.228 ! parser 353: # ^^string:sql{select name from paf where id=1}=^string:sql{select name from paf where id=1}{n/a}<br>
! 354: # ^^int:sql{select age from paf where id=1}=^int:sql{select age from paf where id=1}(111)<br>
! 355: # ^^double:sql{select age from paf where id=1}=^double:sql{select age from paf where id=1}(222)<br>
1.212 parser 356:
357: $paf[^hash:sql{select id,age from paf}]
358: ^$paf.2.age=$paf.2.age<br>
359: }
360: #}
361: #}
362:
363: @eol[]
364: eol
365:
366: @default[test;def]
367: $result[^if(^test.length[]){$test}{$def}]
E-mail: