Annotation of parser3/www/htdocs/auto.p, revision 1.18.2.1
1.18 paf 1: @USE
2: common/lib.p
3: common/layout.p
4: common/implode.p
5: date/dtf.p
6: mysql.p
7: rotabanner_aval.p
8:
9:
10:
11: #################################################################################################
1.17 paf 12: @auto[]
1.18 paf 13: # id объекта с 404 ошибкой
14: $MAIN:error404ObjectId(15)
15: # id объекта, где лежат глобальные данные о сайте
16: $MAIN:siteDataObjectId(94)
17: # id объекта, где хранится все о карте украины (карта, image-map)
18: $MAIN:branchesObjectId(62)
19: # id объекта, где хранится все о банкоматах украины (карта, image-map)
20: $MAIN:cashObjectId(63)
21: $MAIN:pSQL[^mysql::init[$SQL.connect-string;^if(^env:QUERY_STRING.pos[mode=debug] >= 0){debug}]]
22:
23: ^detectBrowser[]
24: ^getLang[]
25: # это идентификаторы типов объектов для подписки/рассылки
26: $MAIN:objIdNews(1)
27: $MAIN:objIdPubs(2)
28: $MAIN:objIdDigest(3)
29: $MAIN:objIdVacancy(4)
30: # $MAIN:objIdInfo(5)
31: $MAIN:SYS_PATH_PRODUCTSIMAGE[/i/products]
32: $MAIN:SYS_PATH_PRODUCTSDOC[/off-line/products]
33:
34: $MAIN:objIdPartners(6)
35:
36: $MAIN:SYS_PATH_PARTNERSFOOTERSIMAGE[/i/pfooters]
37: $MAIN:SYS_PATH_NEWSIMAGE[/i/pnews]
38:
39: #end @auto[]
40:
41:
42:
43: #################################################################################################
44: @getLang[][qs;found]
45: $qs[$env:QUERY_STRING]
46: $found[^qs.match[(^^|&)lang=([^^&]+)]]
47: ^if($found){
48: $MAIN:lang[^found.2.lower[]]
49: }{
50: $MAIN:lang[]
51: }
52:
53: $MAIN:langs[^table::create{lang_id name prefix sort_order charset
54: 1 Русский rus 1 windows-1251
55: 2 Украинский 2 windows-1251
56: 3 Английский eng 3 windows-1251}]
57: $MAIN:lang_id(^if(^MAIN:langs.locate[prefix;$MAIN:lang]){$MAIN:langs.lang_id}{2})
58:
59: $result[]
60: #end @getLang[]
61:
62:
63:
64: #################################################################################################
65: @byLang[rus;eng;ukr;lang_id]
66: ^switch[^if(def $lang_id){$lang_id}{$MAIN:lang_id}]{
67: ^case[1]{$result[$rus]}
68: ^case[2]{$result[$ukr]}
69: ^case[3]{$result[$eng]}
70: ^case[DEFAULT]{$result[]}
71: }
72:
73:
74:
75: #################################################################################################
76: # возвращает строку с размером файла
77: @file_size[file;names;divider][f;size]
78: ^if(!$names){$names[$.b[bytes]^if($MAIN:lang eq "eng"){$.kb[Kb]$.mb[Mb]}{$.kb[КБ]$.mb[МБ]}]}
79: ^if(-f $file){
80: $f[^file::stat[$file]]
81: ^if($f.size < 1000){
82: $tmp[$f.size $names.b]
83: }{
84: ^if($f.size < 1000000){
85: $size($f.size/1024)
86: $tmp[^size.format{%.1f} $names.kb]
87: }{
88: $size($f.size/1048576)
89: $tmp[^size.format{%.2f} $names.mb]
90: }
91: }
92: $result[^if(def $divider){^tmp.match[\.][]{$divider}}{$tmp}]
93: }{
94: $result[]
95: }
96: #end @file_size[]
97:
98:
99: #################################################################################################
100: @error404[][err_lang]
101: $err_lang[^MAIN:byLang[/rus/;/eng/;/^if(def $cookie:lang && $cookie:lang ne "ukr"){${cookie:lang}/}]]
102: #^location[http://${env:SERVER_NAME}${err_lang}404/]
103: ^location[${err_lang}404/]
104: #end @error404[]
105:
106:
107:
108: #################################################################################################
109: @pageHeader[header]
110: $header
111: #end @pageHeader[]
112:
113:
114:
115: #################################################################################################
116: @pageFooter[]
117: footer
118: #end @pageFooter[]
119:
120:
121:
122: #################################################################################################
123: @body[content]
124: <body bgcolor="#F4F4F4" text="#000000" link="#0000C4" alink="#0000C4" vlink="#073683" marginheight="0"
125: marginwidth="0"
126: topmargin="0" leftmargin="0" rightmargin="0" onLoad="init()">
127: $content
128: </body>
129: #end @body[]
130:
131:
132:
133: #################################################################################################
134: @html[header;content]
135: <!-- Copyright (c) Art. Lebedev Studio | http://www.design.ru/ -->
136: <html>
137: <head>
138: <base target="_top">
139: <link rel="stylesheet" type="text/css" href="/main.css"></link>
140: <title>AB.LV^if(def $header){ | ^taint[as-is][$header] }</title>
141: </head>
142: ^body{
143: <table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#ffffff">
144: ^pageHeader[]
145: $content
146: ^pageFooter[]
147: </table>
148: }
149: <html>
150: #end @html[]
151:
152:
153: #################################################################################################
154: @main[]
155: ^pSQL.server{
156: <html>
157: <head>
158: ^if(def $prepare){^prepare[]}
159: </head>
160: ^body{
161: ^content[]
162: }
163: </html>
164: }
165: # @main[]
166:
167:
168:
169: #################################################################################################
170: @postprocess[body][repl]
171: #^if($USE_GC){^memory:compact[] ^memory:compact[]}
172: ^if($MAIN:browser eq "nn" && $MAIN:browser_ver < 5){
173: $repl[^table::create{a b
174: &hellip^; …^;
175: &rdquo^; ”^;
176: &ldquo^; “^;
177: &mdash^; —^;
178: &ndash^; –^;
179: &bull^; •^;}]
180: $result[^if(def $body){^body.replace[$repl]}]
181: }{
182: $result[$body]
183: }
184: $banner[^rotabanner_aval::init[aval;^if(def $form:lang){$form:lang}{ukr}_uho;$.disableCache(1)]]
185: $result[^result.match[\[(parser)\](.+?)\[/\1\]][gi]{^taint[as-is][^process{$match.2}]}]
186: # а это мы добавляем статистику к страничке. если она не нужна в страничке - то просто вызываем:
187: ^getStat[]
188: ^rusage[@end]
189: # а это мы можем вывести список макросов, которые outdated, но которые вызывались...
190: # ^printOutdatedMacro[]
191: #end @postprocess[body]
192:
193:
194:
195: #################################################################################################
196: @rusage[when]
197: #^musage[before]
198: #^memory:compact[]
199: #^musage[after]
200: ^if(!in "/admin/"){
201: $rusage[$status:rusage]
202: ^if($rusage){
203: $m[
204: ^if($USE_GC){$status:memory;$.nothing[]}
205: ]
206: $now[^date::now[]]
207: $s[[^now.sql-string[]] $rusage.utime $rusage.stime $rusage.maxrss $rusage.ixrss $rusage.idrss $rusage.isrss $request:uri $env:REMOTE_ADDR [$m.used/$m.free/$m.since_compact/$m.process] [$when]
208: ]
209: ^s.save[append;/../data/rusage.log]
210: }}
211: #end @rusage[]
212:
1.18.2.1! paf 213: @rusage[xxx]
! 214:
! 215:
1.18 paf 216: @musage[comment][v;now;prefix;message;line;usec]
217: $v[$status:memory]
218: $now[^date::now[]]
219: $prefix[[^now.sql-string[]] $env:REMOTE_ADDR: $comment]
220: $message[$v.used $v.free $v.ever_allocated_since_compact $v.ever_allocated_since_start $request:uri]
221: $line[$prefix $message ^#0A]
222: ^line.save[append;/../data/musage.log]
223: $result[]
224:
225: #################################################################################################
226: # этот метод выведет статистику, собранную экземпляром класса $MAIN:pSQL
227: @getStat[]
228: ^if(def $MAIN:pSQL && $MAIN:pSQL.debug){
229: $result[^MAIN:pSQL.getStatistics[/../data/sql.txt]]
230: }{
231: $result[]
232: }
233: #end @getStat[]
234:
235:
236: #################################################################################################
237: @getNewsCategory[]
238: $result[^table::sql{
239: SELECT
240: news_category_id AS id,
241: name,
242: name_ukr,
243: name_eng,
244: path
245: FROM
246: news_category
247: WHERE
248: is_published = 1
249: ORDER BY
250: sort_order
251: }]
252: #end @getNewsCategory[]
253:
254:
255: #################################################################################################
256: @sendSubscribeMail[type;from;pass;lang][charset]
257: $charset[^MAIN:byLang[koi8-r;windows-1251;windows-1251]]
258: ^mail:send[
259: $.to[$form:email]
260: $.from[$from]
261: $.charset[$charset]
262: $.content-type[
263: $.value[text/plain]
264: $.charset[$charset]
265: ]
266: $.subject[^if($type eq "insert"){aval subscribe}{aval update subscription}]
267: $.body[^if($type eq "insert"){^MAIN:byLang[Адрес "$form:email" был внесен в список рассылки новостей
268: сайта банка
269: Аваль
270:
271: Чтобы сделать подписку активной и/или изменить ее параметры, достаточно зайти на страницу:
272: http://${env:SERVER_NAME}/rus/press/subscribe/edit/?email=$form:email&code=$pass
273:
274: Если подписка не будет подтверждена в течение 30 дней с момента
275: отправки данного сообщения, ваш адрес будет автоматически удален из
276: базы данных.
277:
278: С уважением,
279: пресс-служба банка "Аваль"
280: http://${env:SERVER_NAME}/rus/
281: ;Your e-mail "$form:email" was listed in the news mailing list of Aval bank website.
282:
283: For activization of subscription and/or change of subscription parameters you should visit our webpage:
284: http://${env:SERVER_NAME}/eng/press/subscribe/edit/?email=$form:email&code=$pass
285:
286: If you will not confirm subscription within 30 days after receiving this
287: message your address will be automatically removed from mailing database.
288:
289: Best regards,
290: Press service of Aval bank
291: http://${env:SERVER_NAME}/eng/
292: ;Адреса "$form:email" була внесена в список розсилання новин сайта банку Аваль
293:
294: Щоб зробити пiдписку активної i/або зм_нити її параметри, досить зайти на сторiнку:
295: http://${env:SERVER_NAME}/press/subscribe/edit/?email=$form:email&code=$pass
296:
297: Якщо пiдписка не буде пiдтверджена протягом 30 днiв з моменту
298: вiдправлення даного повiдомлення, ваша адреса буде автоматично вилучений з
299: бази даних.
300:
301: З повагою,
302: прес-служба банку "Аваль"
303: http://${env:SERVER_NAME}/
304: ;$lang]}{^MAIN:byLang[Чтобы изменить параметры подписки, достаточно зайти на страницу:
305: http://${env:SERVER_NAME}/rus/press/subscribe/edit/?email=$form:email&code=$pass
306:
307: С уважением,
308: пресс-служба банка "Аваль"
309: http://${env:SERVER_NAME}/rus/
310:
311:
312: ;For change of subscription parameters you should visit our webpage:
313: http://${env:SERVER_NAME}/eng/press/subscribe/edit/?email=$form:email&code=$pass
314:
315: Best regards,
316: Press service of Aval bank
317: http://${env:SERVER_NAME}/eng/
318:
319: ;Щоб змiнити параметри пiдписки, досить зайти на сторiнку:
320: http://${env:SERVER_NAME}/press/subscribe/edit/?email=$form:email&code=$pass
321:
322: З повагою,
323: прес-служба банку "Аваль"
324: http://${env:SERVER_NAME}/
325:
326: ;$lang]}
327: ]]
328: #end @sendSubscribeMail[]
E-mail: