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