亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? viewer.pm

?? 1. 記錄每個帖子的訪問人情況
?? PM
字號:
# Copyright 2001-2005 Six Apart.# SCRiPTMAFiA 2005 - THE DiRTY HANDS ON YOUR SCRiPTS## $Id: Viewer.pm 10197 2005-03-09 00:27:57Z ezra $package MT::App::Viewer;use strict;use MT::App;@MT::App::Viewer::ISA = qw( MT::App );use MT::Entry;use MT::Template;use MT::Template::Context;use MT::Promise qw(delay);use constant INDEX => 'Main Index';sub init {    my $app = shift;    $app->SUPER::init(@_) or return;    $app->add_methods(main => \&view);    $app->{default_mode} = 'main';    $app;}sub view {    my $app = shift;    return $app->error("This is an experimental feature; turn off SafeMode (in mt.cfg) in order to use it.")        if $app->{cfg}->SafeMode;    my $R = MT::Request->instance;    $R->stash('live_view', 1);    ## Process the path info.    my $uri = $app->path_info;    unless ($uri =~ s!^/(\d+)!!) {        return $app->error("No blog_id");    }    my $blog_id = $1;    ## Check ExcludeBlogs and IncludeBlogs to see if this blog is    ## private or not.    my $cfg = $app->{cfg};    my %okay;    for my $type (qw( IncludeBlogs ExcludeBlogs )) {        if (my $list = $cfg->$type()) {            $okay{$type} = { map { $_ => 1 } split /\s*,\s*/, $list };        }    }    if (keys %{ $okay{IncludeBlogs} }) {        return $app->error("Not allowed to view blog $blog_id")            unless $okay{IncludeBlogs}{$blog_id};    }    if (keys %{ $okay{ExcludeBlogs} }) {        return $app->error("Not allowed to view blog $blog_id")            if $okay{ExcludeBlogs}{$blog_id};    }    $app->{__blog_id} = $blog_id;    require MT::Blog;    my $blog = $app->{__blog} = MT::Blog->load($blog_id)        or return $app->error("Loading blog with ID $blog_id failed");    if (!$uri || $uri eq '/') {        return $app->_view_index;    } elsif ($uri =~ m!^/archives/(.*)$!) {        return $app->_view_date_archive($1);    } elsif ($uri =~ m!^/entry/(\d+)(?:/([^/]+))?/?$!) {        return $app->_view_entry($1, $2);    } elsif ($uri =~ m!^/section/(\d+)/?$!) {        return $app->_view_section($1);    } else {        return $app->_view_index($uri);    }}my %MimeTypes = (    css => 'text/css',    txt => 'text/plain',    rdf => 'text/xml',    rss => 'text/xml',    xml => 'text/xml',);sub _view_index {    my $app = shift;    my($uri) = @_;    my $q = $app->{query};    my $tmpl;    if ($uri) {        $uri =~ s!^/!!;        my $iter = MT::Template->load_iter({ blog_id => $app->{__blog_id} });        while (my $t = $iter->()) {            $tmpl = $t, last                if $t->type eq 'index' && $t->outfile eq $uri;        }    } else {        $tmpl = MT::Template->load({ blog_id => $app->{__blog_id},                                     name => INDEX });    }## xxx 404?    return $app->error("Can't load '@{[ $uri || INDEX ]}' template.")        unless $tmpl;    my($limit, $offset) = map $q->param($_), qw( limit offset );    my $ctx = MT::Template::Context->new;    if ($limit || $offset) {        $limit ||= 20;        my %arg = (            'sort' => 'created_on',            direction => 'descend',            limit => $limit,            ($offset ? (offset => $offset) : ()),        );        my @entries = MT::Entry->load({ blog_id => $app->{__blog_id},            status => MT::Entry::RELEASE() }, \%arg);        $ctx->stash('entries', delay(sub{\@entries}));    }    my $out = $tmpl->build($ctx)        or return $app->error("Building template failed: " . $tmpl->errstr);    (my $ext = $tmpl->outfile) =~ s/.*\.//;    my $mime = $MimeTypes{$ext} || 'text/html';    $app->send_http_header($mime);    $app->print($out);    $app->{no_print_body} = 1;    1;}sub _view_date_archive {    my $app = shift;    my($spec) = @_;    my($start, $end, $at);    my $ctx = MT::Template::Context->new;    if ($spec =~ m!^(\d{4})/(\d{2})/(\d{2})!) {        my($y, $m, $d) = ($1, $2, $3);        ($start, $end) = ($y . $m . $d . '000000', $y . $m . $d . '235959');        $at = $ctx->{current_archive_type} = 'Daily';    } elsif ($spec =~ m!^(\d{4})/(\d{2})!) {        my($y, $m) = ($1, $2);        my $days = MT::Util::days_in($m, $y);        ($start, $end) = ($1 . $2 . '01000000', $1 . $2 . $days . '235959');        $at = $ctx->{current_archive_type} = 'Monthly';    } elsif ($spec =~ m!^week/(\d{4})/(\d{2})/(\d{2})!) {        my($y, $m, $d) = ($1, $2, $3);        ($start, $end) = MT::Util::start_end_week("$1$2${3}000000", $app->{__blog});        $at = $ctx->{current_archive_type} = 'Weekly';    } else {        return $app->error("Invalid date spec");    }    $ctx->{current_timestamp} = $start;    $ctx->{current_timestamp_end} = $end;    my @entries = MT::Entry->load({ created_on => [ $start, $end ],                                    blog_id => $app->{__blog_id},                                    status => MT::Entry::RELEASE() },                                  { range => { created_on => 1 } });    $ctx->stash('entries', delay(sub{\@entries})) ;    require MT::TemplateMap;    my $map = MT::TemplateMap->load({ archive_type => $at,                                      blog_id => $app->{__blog_id},                                      is_preferred => 1 });    my $tmpl = MT::Template->load($map->template_id)        or return $app->error("Can't load template " . $map->template_id);    my $out = $tmpl->build($ctx)        or return $app->error("Building archive failed: " . $tmpl->errstr);    $out;}sub _view_entry {    my $app = shift;    my($entry_id, $template) = @_;    my $entry = MT::Entry->load($entry_id)        or return $app->error("Invalid entry ID $entry_id");    return $app->error("Entry $entry_id is not published")        unless $entry->status == MT::Entry::RELEASE();    my $ctx = MT::Template::Context->new;    $ctx->{current_archive_type} = 'Individual';    $ctx->{current_timestamp} = $entry->created_on;    $ctx->stash('entry', $entry);    my %cond = (        EntryIfAllowComments => $entry->allow_comments,        EntryIfCommentsOpen => $entry->allow_comments eq '1',        EntryIfAllowPings => $entry->allow_pings,        EntryIfExtended => $entry->text_more ? 1 : 0,    );    require MT::TemplateMap;    my $tmpl;    if($template) {        $tmpl = MT::Template->load({ name => $template,                                     blog_id => $app->{__blog_id} })            or return $app->error("Can't load template " . $template);    } else {        my $map = MT::TemplateMap->load({ archive_type => 'Individual',                                          blog_id => $app->{__blog_id},                                          is_preferred => 1 });        $tmpl = MT::Template->load($map->template_id)            or return $app->error("Can't load template " . $map->template_id);    }    my $out = $tmpl->build($ctx, \%cond)        or return $app->error("Building archive failed: " . $tmpl->errstr);    $out;}sub _view_section {    my $app = shift;    my($cat_id) = @_;    require MT::Category;    my $cat = MT::Category->load($cat_id)        or return $app->error("Invalid category ID '$cat_id'");    my($start, $end, $at);    my $ctx = MT::Template::Context->new;    $ctx->stash('archive_category', $cat);    $ctx->{current_archive_type} = 'Category';    require MT::Placement;    my @entries = MT::Entry->load({ blog_id => $app->{__blog_id},                                    status => MT::Entry::RELEASE() },                     { 'join' => [ 'MT::Placement', 'entry_id',                                 { category_id => $cat_id } ] });    $ctx->stash('entries', delay(sub{\@entries}));    require MT::TemplateMap;    my $map = MT::TemplateMap->load({ archive_type => 'Category',                                      blog_id => $app->{__blog_id},                                      is_preferred => 1 });    my $tmpl = MT::Template->load($map->template_id)        or return $app->error("Can't load template " . $map->template_id);    my $out = $tmpl->build($ctx)        or return $app->error("Building archive failed: " . $tmpl->errstr);    $out;}1;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区精品久久av| 91国在线观看| 久久精品视频网| 蜜芽一区二区三区| 精品欧美乱码久久久久久 | 欧美日韩一区二区在线观看| 夜夜操天天操亚洲| 欧美日韩亚洲综合一区二区三区 | 日本不卡中文字幕| 精品国产乱码久久久久久闺蜜 | 日韩福利视频网| 精品少妇一区二区三区日产乱码 | 欧美午夜寂寞影院| 人人超碰91尤物精品国产| 精品电影一区二区| 97久久超碰国产精品电影| 亚洲日本一区二区| 欧美一区二区三区视频免费播放| 精品伊人久久久久7777人| 国产精品蜜臀在线观看| 欧美婷婷六月丁香综合色| 日韩成人一区二区三区在线观看| 2024国产精品| 色偷偷久久人人79超碰人人澡| 亚洲va在线va天堂| 久久九九全国免费| 欧美在线制服丝袜| 韩国三级中文字幕hd久久精品| 国产精品久久久99| 91精品婷婷国产综合久久性色| 粉嫩av一区二区三区在线播放 | 国产精品成人一区二区三区夜夜夜 | 日本一区二区高清| 欧美日韩国产首页| 国产宾馆实践打屁股91| 亚洲午夜av在线| 国产亚洲欧美日韩日本| 在线视频国内一区二区| 国产一区二区成人久久免费影院| 亚洲乱码日产精品bd| 久久日一线二线三线suv| 在线观看日韩av先锋影音电影院| 寂寞少妇一区二区三区| 亚洲午夜精品17c| 欧美激情一区二区三区全黄| 91精品国产欧美一区二区18| 91麻豆视频网站| 国产乱码一区二区三区| 日韩国产欧美视频| 一个色妞综合视频在线观看| 久久久精品tv| 8v天堂国产在线一区二区| av在线一区二区| 国产精品羞羞答答xxdd| 奇米影视7777精品一区二区| 洋洋av久久久久久久一区| 国产精品乱码一区二区三区软件 | 色婷婷av一区二区三区软件 | 亚洲电影一级片| √…a在线天堂一区| 久久久99免费| 欧美mv和日韩mv国产网站| 91精品国产综合久久精品图片| 色婷婷综合久色| 91免费视频网址| 99re热视频这里只精品| 成人一区在线观看| 床上的激情91.| 国产精品亚洲成人| 国产成人aaa| 成人午夜视频免费看| 国产米奇在线777精品观看| 久久精品国产第一区二区三区| 日韩精品91亚洲二区在线观看| 一区二区三区高清在线| 一区2区3区在线看| 亚洲一级在线观看| 一区二区三区在线视频播放| 亚洲人妖av一区二区| 亚洲欧美激情插| 一区二区三区在线免费观看| 一区二区国产视频| 亚洲国产精品天堂| 天堂精品中文字幕在线| 蜜臀精品久久久久久蜜臀| 日本视频免费一区| 久久99深爱久久99精品| 狠狠色丁香九九婷婷综合五月| 国内成人免费视频| 丰满放荡岳乱妇91ww| 色婷婷久久综合| 欧美日韩精品一区二区三区| 4438成人网| 久久综合久久久久88| 中文字幕不卡在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲午夜久久久久久久久电影院| 视频一区欧美精品| 久久99九九99精品| 成人国产亚洲欧美成人综合网 | 国产精品毛片久久久久久久| 亚洲人成影院在线观看| 日韩经典中文字幕一区| 国产专区综合网| 99国内精品久久| 51精品久久久久久久蜜臀| 久久综合丝袜日本网| 亚洲色图制服诱惑| 日本特黄久久久高潮| 丁香激情综合五月| 欧美日韩精品福利| 久久蜜桃av一区精品变态类天堂| 国产精品网曝门| 丝袜诱惑制服诱惑色一区在线观看 | 成人一区在线观看| 欧美三级韩国三级日本一级| 日韩午夜av一区| 1区2区3区国产精品| 日韩中文欧美在线| a级高清视频欧美日韩| 91精品国产综合久久久久| 日本一区二区综合亚洲| 香蕉乱码成人久久天堂爱免费| 精品一区二区三区免费| 日本精品免费观看高清观看| 欧美成人精精品一区二区频| 亚洲啪啪综合av一区二区三区| 美腿丝袜亚洲三区| 日本道精品一区二区三区| 日韩精品专区在线影院重磅| 亚洲日本护士毛茸茸| 国产精品香蕉一区二区三区| 欧美日韩一区 二区 三区 久久精品| 久久久久久麻豆| 日本aⅴ亚洲精品中文乱码| 91老师片黄在线观看| 精品国产一区二区精华| 亚洲一二三区不卡| 91最新地址在线播放| 久久精品夜夜夜夜久久| 婷婷国产在线综合| 日本高清视频一区二区| 国产精品美女久久福利网站| 国产一区二区三区在线观看免费 | 日本韩国精品一区二区在线观看| 久久久91精品国产一区二区三区| 蜜桃视频第一区免费观看| 精品1区2区3区| 成人欧美一区二区三区小说 | 国内精品自线一区二区三区视频| 欧美色综合网站| 最新国产成人在线观看| 大美女一区二区三区| 久久天天做天天爱综合色| 麻豆久久一区二区| 欧美一区二区视频观看视频| 亚洲国产精品一区二区www在线 | 成人a区在线观看| 久久久久久久网| 激情六月婷婷综合| 日韩免费电影一区| 蜜臀va亚洲va欧美va天堂 | 日本精品一区二区三区高清 | 欧洲av在线精品| 亚洲精品菠萝久久久久久久| a在线播放不卡| 亚洲另类在线制服丝袜| 色中色一区二区| 亚洲日本va午夜在线影院| 色综合中文字幕| 亚洲精品国产成人久久av盗摄 | 麻豆精品在线播放| 欧美一区二区三区四区在线观看| 日韩精品一级二级| 91精品国产福利在线观看| 免费成人在线播放| 337p粉嫩大胆噜噜噜噜噜91av| 久久精品国产色蜜蜜麻豆| 久久天天做天天爱综合色| 懂色av一区二区在线播放| 国产精品你懂的在线欣赏| 成人激情小说乱人伦| 亚洲欧美色图小说| 欧美日韩免费一区二区三区| 日本一不卡视频| 精品国产制服丝袜高跟| 成人激情动漫在线观看| 亚洲精品美国一| 欧美狂野另类xxxxoooo| 看电视剧不卡顿的网站| 日本一区二区三区四区在线视频| 成人a免费在线看| 亚洲地区一二三色| 欧美日韩国产三级| 韩国一区二区三区| 亚洲三级小视频| 在线不卡的av| 国产精品77777| 亚洲色大成网站www久久九九| 制服丝袜亚洲播放|