|
|
| version 1.2, 2002/01/31 12:40:35 | version 1.19, 2003/09/26 09:06:21 |
|---|---|
| Line 2 | Line 2 |
| common/lib.p | common/lib.p |
| common/layout.p | common/layout.p |
| common/implode.p | common/implode.p |
| common/graph.p | |
| date/dtf.p | date/dtf.p |
| engine_mdm.p | |
| mysql.p | mysql.p |
| ################################################################################################# | |
| @auto[] | @auto[] |
| ^if(in "/admin/"){ | $now[^date::now[]] |
| ^use[admin.p] | |
| } | # id объекта с 404 ошибкой: |
| $MAIN:pSQL[^mysql::init[$SQL.connect-string]] | $MAIN:error404ObjectId(23) |
| # id объекта, где лежат глобальные данные о сайте: | |
| $MAIN:siteDataObjectId(21) | |
| # id корневого объекта раздела вопросы и ответы | |
| $MAIN:faq_category_root_id(3) | |
| $MAIN:pSQL[^mysql::init[$SQL.connect-string;^if(^env:QUERY_STRING.pos[mode=debug] >= 0){debug}{500}]] | |
| ^detectBrowser[] | ^detectBrowser[] |
| $MAIN:newsfileDir[/i/news/] | |
| #end | |
| # константа для новостей | |
| $MAIN:objIdNews(1) | |
| @exception[origin;source;comment;type;code;stack][i;j] | # эта табличка нужна для очистки всякой фигни от ентитей/тегов |
| <body> | $repl[^table::create{a b |
| <font color="black"> |  ^; |
| ^if(def $source){$origin '$source'} | &hellip^; ... |
| ${comment}. | &rdquo^; " |
| ^if(def $type){type=$type} | &ldquo^; " |
| ^if(def $code){code=$code} | »^; " |
| ^if($stack){ | «^; " |
| <hr> | &mdash^; - |
| stack backtrace:<br /> | &ndash^; - |
| ^stack.menu{ | №^; № |
| $stack.origin: $stack.name<br /> | &bull^; }] |
| } | |
| } | $MAIN:user_images_dir[/i/users] |
| #end | #end @auto[] |
| ################################################################################################# | ################################################################################################# |
| @error404[] | @error404[][err_lang] |
| ^location[http://$env:SERVER_NAME/404/] | ^location[/404/] |
| #end @error404[] | #end @error404[] |
| Line 93 footer | Line 101 footer |
| <head> | <head> |
| ^if(def $prepare){^prepare[]} | ^if(def $prepare){^prepare[]} |
| </head> | </head> |
| ^body{ | ^body{^content[]} |
| ^content[] | |
| } | |
| </html> | </html> |
| } | } |
| # @main[] | # @main[] |
| Line 103 footer | Line 109 footer |
| ################################################################################################# | ################################################################################################# |
| @postprocess[body][repl] | @postprocess[body][repl;tmp] |
| ^if($MAIN:browser eq "nn" && $MAIN:browser_ver < 5){ | ^if(def $body){ |
| $repl[^table::set{a b | ^if($MAIN:browser eq "nn" && $MAIN:browser_ver < 5){ |
| $repl[^table::create{a b | |
| &hellip^; …^; | &hellip^; …^; |
| &rdquo^; ”^; | &rdquo^; ”^; |
| &ldquo^; “^; | &ldquo^; “^; |
| &mdash^; —^; | &mdash^; —^; |
| &ndash^; –^; | &ndash^; –^; |
| &bull^; •^;}] | &bull^; •^;}] |
| $result[^if(def $body){^body.replace[$repl]}] | $result[^body.replace[$repl]] |
| }{ | |
| $result[$body] | |
| } | |
| $not_optimized_space[^taint[as-is][ ]] | |
| $not_optimized_tab[^taint[as-is][^#09]] | |
| $not_optimized_enter[^taint[as-is][^#0A]] | |
| $result[^result.match[прОбЭл][g]{$not_optimized_space}] | |
| $result[^result.match[тАб][g]{$not_optimized_tab}] | |
| $result[^result.match[энтЕр][g]{$not_optimized_enter}] | |
| }{ | }{ |
| $result[$body] | $result[] |
| } | } |
| ^getStat[] | |
| ^rusage[] | |
| # а это мы можем вывести список макросов, которые outdated, но которые вызывались... | |
| # ^printOutdatedMacro[] | |
| #end @postprocess[body] | #end @postprocess[body] |
| ################################################################################################# | ################################################################################################# |
| @getNewsType[] | @rusage[msg][rusage] |
| $result[^table::sql{ | ^if(!in "/admin/"){ |
| SELECT | $rusage[$status:rusage] |
| news_type_id AS id, | $now[^date::now[]] |
| name, | $s[[^now.sql-string[]] $rusage.utime $rusage.stime $rusage.maxrss $rusage.ixrss $rusage.idrss $rusage.isrss [$status:memory.used/$status:memory.free/$status:memory.since_compact/$status:memory.process] $env:REMOTE_ADDR $request:uri^if(def $msg){ $msg}^#0A] |
| path | ^s.save[append;/../data/rusage.log] |
| FROM | } |
| news_type | #end @rusage[] |
| WHERE | |
| is_published = '1' | |
| ORDER BY | |
| sort_order | ################################################################################################# |
| }] | # этот метод выведет статистику, собранную экземпляром класса $MAIN:pSQL |
| @getStat[] | |
| ^if(def $MAIN:pSQL && $MAIN:pSQL.debug){ | |
| $result[^MAIN:pSQL.getStatistics[/../data/sql.txt]] | |
| }{ | |
| $result[] | |
| } | |
| #end @stat[] | |
| ################################################################################################# | ################################################################################################# |
| @sendSubscribeMail[type;from;pass] | # метод достает названия методов с комментариями у указаного файла и показывает их |
| ^mail:send[ | @getComments[f][file;fd;t;comments] |
| $.to[$form:email] | $file[^if(def $f){$f}{/../data/classes/engine.p}] |
| $.from[$from] | ^if(-f $file){ |
| $.charset[KOI8-R] | $fd[^file::load[text;$file]] |
| $.content-type[ | |
| $.value[text/plain] | $t[$fd.text] |
| $.charset[KOI8-R] | $t[^t.match[^^##[^^#]*^$][mg]{}] |
| ] | $t[^t.match[(\n){3,}][g]{${match.1}$match.1}] |
| $.subject[^if($type eq "insert"){mdm subscribe}{mdm update subscription}] | $comments[^t.match[(#{5,}\n#\s.*?\n@.+?\^])][g]] |
| $.body[^if($type eq "insert"){Адрес "$form:email" был внесен в список рассылки новостей сайта МДМ | |
| $result[^taint[as-is][^comments.menu{$comments.1^#0A^#0A^#0A}]] | |
| Чтобы сделать подписку активной и/или изменить ее параметры, достаточно зайти на страницу: | } |
| http://${env:SERVER_NAME}/press/subscribe/edit/?email=$form:email&code=$pass | #end @getComments[] |
| Если подписка не будет подтверждена в течение 30 дней с момента | |
| отправки данного сообщения, ваш адрес будет автоматически удален из | |
| базы данных | |
| С уважением, | |
| Служба новостей МДМ | |
| http://${env:SERVER_NAME}/ | |
| }{Чтобы изменить параметры подписки, достаточно зайти на страницу: | |
| http://${env:SERVER_NAME}/press/subscribe/edit/?email=$form:email&code=$pass | |
| С уважением, | |
| Служба новостей МДМ | |
| http://${env:SERVER_NAME}/}] | |
| ] | |
| #end @sendMail[] | |
| ################################################################################################# | |
| @log404[][str] | |
| $str[^now.sql-string[] $request:uri $env:HTTP_REFERER $env:REMOTE_ADDR^#0A] | |
| ^str.save[append;/../data/missing_url.txt] | |
| #end @log404[] | |