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