Annotation of parser3/www/htdocs/auto.p, revision 1.18
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:
! 213: @musage[comment][v;now;prefix;message;line;usec]
! 214: $v[$status:memory]
! 215: $now[^date::now[]]
! 216: $prefix[[^now.sql-string[]] $env:REMOTE_ADDR: $comment]
! 217: $message[$v.used $v.free $v.ever_allocated_since_compact $v.ever_allocated_since_start $request:uri]
! 218: $line[$prefix $message ^#0A]
! 219: ^line.save[append;/../data/musage.log]
! 220: $result[]
! 221:
! 222: #################################################################################################
! 223: # этот метод выведет статистику, собранную экземпляром класса $MAIN:pSQL
! 224: @getStat[]
! 225: ^if(def $MAIN:pSQL && $MAIN:pSQL.debug){
! 226: $result[^MAIN:pSQL.getStatistics[/../data/sql.txt]]
! 227: }{
! 228: $result[]
! 229: }
! 230: #end @getStat[]
! 231:
! 232:
! 233: #################################################################################################
! 234: @getNewsCategory[]
! 235: $result[^table::sql{
! 236: SELECT
! 237: news_category_id AS id,
! 238: name,
! 239: name_ukr,
! 240: name_eng,
! 241: path
! 242: FROM
! 243: news_category
! 244: WHERE
! 245: is_published = 1
! 246: ORDER BY
! 247: sort_order
! 248: }]
! 249: #end @getNewsCategory[]
! 250:
! 251:
! 252: #################################################################################################
! 253: @sendSubscribeMail[type;from;pass;lang][charset]
! 254: $charset[^MAIN:byLang[koi8-r;windows-1251;windows-1251]]
! 255: ^mail:send[
! 256: $.to[$form:email]
! 257: $.from[$from]
! 258: $.charset[$charset]
! 259: $.content-type[
! 260: $.value[text/plain]
! 261: $.charset[$charset]
! 262: ]
! 263: $.subject[^if($type eq "insert"){aval subscribe}{aval update subscription}]
! 264: $.body[^if($type eq "insert"){^MAIN:byLang[Адрес "$form:email" был внесен в список рассылки новостей
! 265: сайта банка
! 266: Аваль
! 267:
! 268: Чтобы сделать подписку активной и/или изменить ее параметры, достаточно зайти на страницу:
! 269: http://${env:SERVER_NAME}/rus/press/subscribe/edit/?email=$form:email&code=$pass
! 270:
! 271: Если подписка не будет подтверждена в течение 30 дней с момента
! 272: отправки данного сообщения, ваш адрес будет автоматически удален из
! 273: базы данных.
! 274:
! 275: С уважением,
! 276: пресс-служба банка "Аваль"
! 277: http://${env:SERVER_NAME}/rus/
! 278: ;Your e-mail "$form:email" was listed in the news mailing list of Aval bank website.
! 279:
! 280: For activization of subscription and/or change of subscription parameters you should visit our webpage:
! 281: http://${env:SERVER_NAME}/eng/press/subscribe/edit/?email=$form:email&code=$pass
! 282:
! 283: If you will not confirm subscription within 30 days after receiving this
! 284: message your address will be automatically removed from mailing database.
! 285:
! 286: Best regards,
! 287: Press service of Aval bank
! 288: http://${env:SERVER_NAME}/eng/
! 289: ;Адреса "$form:email" була внесена в список розсилання новин сайта банку Аваль
! 290:
! 291: Щоб зробити пiдписку активної i/або зм_нити її параметри, досить зайти на сторiнку:
! 292: http://${env:SERVER_NAME}/press/subscribe/edit/?email=$form:email&code=$pass
! 293:
! 294: Якщо пiдписка не буде пiдтверджена протягом 30 днiв з моменту
! 295: вiдправлення даного повiдомлення, ваша адреса буде автоматично вилучений з
! 296: бази даних.
! 297:
! 298: З повагою,
! 299: прес-служба банку "Аваль"
! 300: http://${env:SERVER_NAME}/
! 301: ;$lang]}{^MAIN:byLang[Чтобы изменить параметры подписки, достаточно зайти на страницу:
! 302: http://${env:SERVER_NAME}/rus/press/subscribe/edit/?email=$form:email&code=$pass
! 303:
! 304: С уважением,
! 305: пресс-служба банка "Аваль"
! 306: http://${env:SERVER_NAME}/rus/
! 307:
! 308:
! 309: ;For change of subscription parameters you should visit our webpage:
! 310: http://${env:SERVER_NAME}/eng/press/subscribe/edit/?email=$form:email&code=$pass
! 311:
! 312: Best regards,
! 313: Press service of Aval bank
! 314: http://${env:SERVER_NAME}/eng/
! 315:
! 316: ;Щоб змiнити параметри пiдписки, досить зайти на сторiнку:
! 317: http://${env:SERVER_NAME}/press/subscribe/edit/?email=$form:email&code=$pass
! 318:
! 319: З повагою,
! 320: прес-служба банку "Аваль"
! 321: http://${env:SERVER_NAME}/
! 322:
! 323: ;$lang]}
! 324: ]]
! 325: #end @sendSubscribeMail[]
E-mail: